Changeset 8471
- Timestamp:
- 2017-08-29T18:12:42+02:00 (7 years ago)
- Location:
- branches/2017/nemo_v3_6_STABLE_trdtrc/NEMOGCM
- Files:
-
- 1 added
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2017/nemo_v3_6_STABLE_trdtrc/NEMOGCM/CONFIG/SHARED/field_def.xml
r8353 r8471 1 1 <!-- 2 < GO6.0 version of the XIOS namelist > 3 < XIOS2 version namelist > 4 2 5 <?xml version="1.0"?> 3 6 --> … … 1001 1004 <field id="CFC11" long_name="CFC-11 Concentration" unit="umol/m3" /> 1002 1005 <field id="CFC11_E3T" long_name="CFC11 * E3T" unit="umol/m2" > CFC11 * e3t </field > 1006 <!-- CFC12 : variables available with key_cfc --> 1003 1007 <field id="CFC12" long_name="CFC-12 Concentration" unit="umol/m3" /> 1004 1008 <field id="CFC12_E3T" long_name="CFC12 * E3T" unit="umol/m2" > CFC12 * e3t </field > 1009 <!-- SF6 : variables available with key_cfc --> 1005 1010 <field id="SF6" long_name="SF6 Concentration" unit="umol/m3" /> 1006 1011 <field id="SF6_E3T" long_name="SF6 * E3T" unit="umol/m2" > SF6 * e3t </field > … … 1140 1145 <field id="qint_C14b" long_name="Cumulative air-sea flux of Bomb C14" unit="mol/m2" /> 1141 1146 <field id="fdecay" long_name="Radiactive decay of Bomb C14" unit="mol/m3" grid_ref="grid_T_3D" /> 1147 1148 </field_group> 1149 1150 1151 <field_group id="ptrd_T" grid_ref="grid_T_3D"> <!-- key_trdtrc || key_trdmlx_trc --> 1152 <!-- CFC11 : variables available with key_cfc --> 1153 <field id="XAD_CFC11" long_name="CFC-11 Concentration" unit="umol/m3/s" /> 1154 <field id="YAD_CFC11" long_name="CFC-11 Concentration" unit="umol/m3/s" /> 1155 <field id="ZAD_CFC11" long_name="CFC-11 Concentration" unit="umol/m3/s" /> 1156 <field id="TAD_CFC11" long_name="CFC-11 Concentration" unit="umol/m3/s" /> 1157 <field id="TAD_CFC11_E3T" long_name="TAD_CFC11 * E3T" unit="umol/m2/s" > TAD_CFC11 * e3t </field> 1158 <field id="LDF_CFC11" long_name="CFC-11 Concentration" unit="umol/m3/s" /> 1159 <field id="BBL_CFC11" long_name="CFC-11 Concentration" unit="umol/m3/s" /> 1160 <field id="FOR_CFC11" long_name="CFC-11 Concentration" unit="umol/m3/s" /> 1161 <field id="ZDF_CFC11" long_name="CFC-11 Concentration" unit="umol/m3/s" /> 1162 <field id="ZDP_CFC11" long_name="CFC-11 Concentration" unit="umol/m3/s" /> 1163 <field id="DMP_CFC11" long_name="CFC-11 Concentration" unit="umol/m3/s" /> 1164 <field id="SMS_CFC11" long_name="CFC-11 Concentration" unit="umol/m3/s" /> 1165 <field id="SMS_CFC11_E3T" long_name="SMS_CFC11 * E3T" unit="umol/m2/s" > SMS_CFC11 * e3t </field> 1166 <field id="ATF_CFC11" long_name="CFC-11 Concentration" unit="umol/m3/s" /> 1167 <field id="RDB_CFC11" long_name="CFC-11 Concentration" unit="umol/m3/s" /> 1168 <field id="RDN_CFC11" long_name="CFC-11 Concentration" unit="umol/m3/s" /> 1169 <field id="TOT_CFC11" long_name="CFC-11 Concentration" unit="umol/m3/s" /> 1170 <field id="TOT_CFC11_E3T" long_name="TOT_CFC11 * E3T" unit="umol/m2/s" > TOT_CFC11 * e3t </field> 1171 <field id="ISO_CFC11" long_name="CFC-11 Concentration" unit="umol/m3/s" > LDF_CFC11 + ZDF_CFC11 - ZDP_CFC11 </field> 1172 <!-- CFC12 : variables available with key_cfc --> 1173 <field id="XAD_CFC12" long_name="CFC-12 Concentration" unit="umol/m3/s" /> 1174 <field id="YAD_CFC12" long_name="CFC-12 Concentration" unit="umol/m3/s" /> 1175 <field id="ZAD_CFC12" long_name="CFC-12 Concentration" unit="umol/m3/s" /> 1176 <field id="TAD_CFC12" long_name="CFC-12 Concentration" unit="umol/m3/s" /> 1177 <field id="TAD_CFC12_E3T" long_name="TAD_CFC12 * E3T" unit="umol/m2/s" > TAD_CFC12 * e3t </field> 1178 <field id="LDF_CFC12" long_name="CFC-12 Concentration" unit="umol/m3/s" /> 1179 <field id="BBL_CFC12" long_name="CFC-12 Concentration" unit="umol/m3/s" /> 1180 <field id="FOR_CFC12" long_name="CFC-12 Concentration" unit="umol/m3/s" /> 1181 <field id="ZDF_CFC12" long_name="CFC-12 Concentration" unit="umol/m3/s" /> 1182 <field id="ZDP_CFC12" long_name="CFC-12 Concentration" unit="umol/m3/s" /> 1183 <field id="DMP_CFC12" long_name="CFC-12 Concentration" unit="umol/m3/s" /> 1184 <field id="SMS_CFC12" long_name="CFC-12 Concentration" unit="umol/m3/s" /> 1185 <field id="SMS_CFC12_E3T" long_name="SMS_CFC12 * E3T" unit="umol/m2/s" > SMS_CFC12 * e3t </field> 1186 <field id="ATF_CFC12" long_name="CFC-12 Concentration" unit="umol/m3/s" /> 1187 <field id="RDB_CFC12" long_name="CFC-12 Concentration" unit="umol/m3/s" /> 1188 <field id="RDN_CFC12" long_name="CFC-12 Concentration" unit="umol/m3/s" /> 1189 <field id="TOT_CFC12" long_name="CFC-12 Concentration" unit="umol/m3/s" /> 1190 <field id="TOT_CFC12_E3T" long_name="TOT_CFC12 * E3T" unit="umol/m2/s" > TOT_CFC12 * e3t </field> 1191 <field id="ISO_CFC12" long_name="CFC-12 Concentration" unit="umol/m3/s" > LDF_CFC12 + ZDF_CFC12 - ZDP_CFC12 </field> 1192 <!-- SF6 : variables available with key_cfc --> 1193 <field id="XAD_SF6" long_name="SF6 Concentration" unit="umol/m3/s" /> 1194 <field id="YAD_SF6" long_name="SF6 Concentration" unit="umol/m3/s" /> 1195 <field id="ZAD_SF6" long_name="SF6 Concentration" unit="umol/m3/s" /> 1196 <field id="TAD_SF6" long_name="SF6 Concentration" unit="umol/m3/s" /> 1197 <field id="TAD_SF6_E3T" long_name="TAD_SF6 * E3T" unit="umol/m2/s" > TAD_SF6 * e3t </field> 1198 <field id="LDF_SF6" long_name="SF6 Concentration" unit="umol/m3/s" /> 1199 <field id="BBL_SF6" long_name="SF6 Concentration" unit="umol/m3/s" /> 1200 <field id="FOR_SF6" long_name="SF6 Concentration" unit="umol/m3/s" /> 1201 <field id="ZDF_SF6" long_name="SF6 Concentration" unit="umol/m3/s" /> 1202 <field id="ZDP_SF6" long_name="SF6 Concentration" unit="umol/m3/s" /> 1203 <field id="DMP_SF6" long_name="SF6 Concentration" unit="umol/m3/s" /> 1204 <field id="SMS_SF6" long_name="SF6 Concentration" unit="umol/m3/s" /> 1205 <field id="SMS_SF6_E3T" long_name="SMS_SF6 * E3T" unit="umol/m2/s" > SMS_SF6 * e3t </field> 1206 <field id="ATF_SF6" long_name="SF6 Concentration" unit="umol/m3/s" /> 1207 <field id="RDB_SF6" long_name="SF6 Concentration" unit="umol/m3/s" /> 1208 <field id="RDN_SF6" long_name="SF6 Concentration" unit="umol/m3/s" /> 1209 <field id="TOT_SF6" long_name="SF6 Concentration" unit="umol/m3/s" /> 1210 <field id="TOT_SF6_E3T" long_name="TOT_SF6 * E3T" unit="umol/m2/s" > TOT_SF6 * e3t </field> 1211 <field id="ISO_SF6" long_name="SF6 Concentration" unit="umol/m3/s" > LDF_SF6 + ZDF_SF6 - ZDP_SF6 </field> 1212 <!-- Bomb C14 : variables available with key_c14b --> 1213 <field id="XAD_C14B" long_name="Bomb C14 Concentration" unit="1/s" /> 1214 <field id="YAD_C14B" long_name="Bomb C14 Concentration" unit="1/s" /> 1215 <field id="ZAD_C14B" long_name="Bomb C14 Concentration" unit="1/s" /> 1216 <field id="TAD_C14B" long_name="Bomb C14 Concentration" unit="1/s" /> 1217 <field id="TAD_C14B_E3T" long_name="TAD_C14B * E3T" unit="1/s" > TAD_C14B * e3t </field> 1218 <field id="LDF_C14B" long_name="Bomb C14 Concentration" unit="1/s" /> 1219 <field id="BBL_C14B" long_name="Bomb C14 Concentration" unit="1/s" /> 1220 <field id="FOR_C14B" long_name="Bomb C14 Concentration" unit="1/s" /> 1221 <field id="ZDF_C14B" long_name="Bomb C14 Concentration" unit="1/s" /> 1222 <field id="ZDP_C14B" long_name="Bomb C14 Concentration" unit="1/s" /> 1223 <field id="DMP_C14B" long_name="Bomb C14 Concentration" unit="1/s" /> 1224 <field id="SMS_C14B" long_name="Bomb C14 Concentration" unit="1/s" /> 1225 <field id="SMS_C14B_E3T" long_name="SMS_C14B * E3T" unit="1/s" > SMS_C14B * e3t </field> 1226 <field id="ATF_C14B" long_name="Bomb C14 Concentration" unit="1/s" /> 1227 <field id="RDB_C14B" long_name="Bomb C14 Concentration" unit="1/s" /> 1228 <field id="RDN_C14B" long_name="Bomb C14 Concentration" unit="1/s" /> 1229 <field id="TOT_C14B" long_name="Bomb C14 Concentration" unit="1/s" /> 1230 <field id="TOT_C14B_E3T" long_name="TOT_C14B * E3T" unit="1/s" > TOT_C14B * e3t </field> 1231 <field id="ISO_C14B" long_name="Bomb C14 Concentration" unit="1/s" > LDF_C14B + ZDF_C14B - ZDP_C14B </field> 1232 <!-- AGE : variables available with key_age --> 1233 <field id="XAD_Age" long_name="Sea Water Age Since Surface contact" standard_name="sea_water_age_since_surface_contact" unit="yr/s" /> 1234 <field id="YAD_Age" long_name="Sea Water Age Since Surface contact" standard_name="sea_water_age_since_surface_contact" unit="yr/s" /> 1235 <field id="ZAD_Age" long_name="Sea Water Age Since Surface contact" standard_name="sea_water_age_since_surface_contact" unit="yr/s" /> 1236 <field id="TAD_Age" long_name="Sea Water Age Since Surface contact" standard_name="sea_water_age_since_surface_contact" unit="yr/s" /> 1237 <field id="TAD_Age_E3T" long_name="TAD_Age * E3T" unit="yr/s" > TAD_Age * e3t </field> 1238 <field id="LDF_Age" long_name="Sea Water Age Since Surface contact" standard_name="sea_water_age_since_surface_contact" unit="yr/s" /> 1239 <field id="BBL_Age" long_name="Sea Water Age Since Surface contact" standard_name="sea_water_age_since_surface_contact" unit="yr/s" /> 1240 <field id="FOR_Age" long_name="Sea Water Age Since Surface contact" standard_name="sea_water_age_since_surface_contact" unit="yr/s" /> 1241 <field id="ZDF_Age" long_name="Sea Water Age Since Surface contact" standard_name="sea_water_age_since_surface_contact" unit="yr/s" /> 1242 <field id="ZDP_Age" long_name="Sea Water Age Since Surface contact" standard_name="sea_water_age_since_surface_contact" unit="yr/s" /> 1243 <field id="DMP_Age" long_name="Sea Water Age Since Surface contact" standard_name="sea_water_age_since_surface_contact" unit="yr/s" /> 1244 <field id="SMS_Age" long_name="Sea Water Age Since Surface contact" standard_name="sea_water_age_since_surface_contact" unit="yr/s" /> 1245 <field id="SMS_Age_E3T" long_name="SMS_Age * E3T" unit="yr/s" > SMS_Age * e3t </field> 1246 <field id="ATF_Age" long_name="Sea Water Age Since Surface contact" standard_name="sea_water_age_since_surface_contact" unit="yr/s" /> 1247 <field id="RDB_Age" long_name="Sea Water Age Since Surface contact" standard_name="sea_water_age_since_surface_contact" unit="yr/s" /> 1248 <field id="RDN_Age" long_name="Sea Water Age Since Surface contact" standard_name="sea_water_age_since_surface_contact" unit="yr/s" /> 1249 <field id="TOT_Age" long_name="Sea Water Age Since Surface contact" standard_name="sea_water_age_since_surface_contact" unit="yr/s" /> 1250 <field id="TOT_Age_E3T" long_name="TOT_Age * E3T" unit="yr/s" > TOT_Age * e3t </field> 1251 <field id="ISO_Age" long_name="Sea Water Age Since Surface contact" standard_name="sea_water_age_since_surface_contact" unit="yr/s" > LDF_Age + ZDF_Age - ZDP_Age </field> 1142 1252 </field_group> 1143 1253 … … 1162 1272 --> 1163 1273 1164 <field_group id="TRD" > 1165 <field field_ref="ttrd_totad_li" name="opottempadvect" /> 1166 <field field_ref="ttrd_iso_li" name="opottemppmdiff" /> 1167 <field field_ref="ttrd_zdfp_li" name="opottempdiff" /> 1168 <field field_ref="ttrd_evd_li" name="opottempevd" /> 1169 <field field_ref="strd_evd_li" name="osaltevd" /> 1170 <field field_ref="ttrd_qns_li" name="opottempqns" /> 1171 <field field_ref="ttrd_qsr_li" name="rsdoabsorb" operation="accumulate" /> 1172 <field field_ref="strd_totad_li" name="osaltadvect" /> 1173 <field field_ref="strd_iso_li" name="osaltpmdiff" /> 1174 <field field_ref="strd_zdfp_li" name="osaltdiff" /> 1274 <field_group id="groupCFC" > 1275 <field field_ref="CFC11" name="CFC11" /> 1276 <field field_ref="CFC11_E3T" name="CFC11_E3T" /> 1277 <field field_ref="CFC12" name="CFC12" /> 1278 <field field_ref="CFC12_E3T" name="CFC12_E3T" /> 1279 <field field_ref="SF6" name="SF6" /> 1280 <field field_ref="SF6_E3T" name="SF6_E3T" /> 1175 1281 </field_group> 1176 1282 1283 <field_group id="groupCFC_dia" > 1284 <field field_ref="qtrCFC11" name="qtrCFC11" /> 1285 <field field_ref="qintCFC11" name="qintCFC11" /> 1286 <field field_ref="qtrCFC12" name="qtrCFC12" /> 1287 <field field_ref="qintCFC12" name="qintCFC12" /> 1288 <field field_ref="qtrSF6" name="qtrSF6" /> 1289 <field field_ref="qintSF6" name="qintSF6" /> 1290 </field_group> 1291 1292 <field_group id="groupAGE" > 1293 <field field_ref="Age" name="Age" /> 1294 </field_group> 1295 1296 <field_group id="trendCFC11" > 1297 <!-- cfc11 --> 1298 <field field_ref="TOT_CFC11" name="TOT_CFC11" standard_name="CFC-11_Concentration" /> 1299 <field field_ref="TOT_CFC11_E3T" name="TOT_CFC11_E3T" standard_name="CFC-11_Concentration" /> 1300 <field field_ref="XAD_CFC11" name="XAD_CFC11" standard_name="CFC-11_Concentration" /> 1301 <field field_ref="YAD_CFC11" name="YAD_CFC11" standard_name="CFC-11_Concentration" /> 1302 <field field_ref="ZAD_CFC11" name="ZAD_CFC11" standard_name="CFC-11_Concentration" /> 1303 <field field_ref="TAD_CFC11" name="TAD_CFC11" standard_name="CFC-11_Concentration" /> 1304 <field field_ref="TAD_CFC11_E3T" name="TAD_CFC11_E3T" standard_name="CFC-11_Concentration" /> 1305 <field field_ref="LDF_CFC11" name="LDF_CFC11" standard_name="CFC-11_Concentration" /> 1306 <field field_ref="BBL_CFC11" name="BBL_CFC11" standard_name="CFC-11_Concentration" /> 1307 <field field_ref="FOR_CFC11" name="FOR_CFC11" standard_name="CFC-11_Concentration" /> 1308 <field field_ref="ZDF_CFC11" name="ZDF_CFC11" standard_name="CFC-11_Concentration" /> 1309 <field field_ref="ZDP_CFC11" name="ZDP_CFC11" standard_name="CFC-11_Concentration" /> 1310 <field field_ref="DMP_CFC11" name="DMP_CFC11" standard_name="CFC-11_Concentration" /> 1311 <field field_ref="SMS_CFC11" name="SMS_CFC11" standard_name="CFC-11_Concentration" /> 1312 <field field_ref="SMS_CFC11_E3T" name="SMS_CFC11_E3T" standard_name="CFC-11_Concentration" /> 1313 <field field_ref="ATF_CFC11" name="ATF_CFC11" standard_name="CFC-11_Concentration" /> 1314 <field field_ref="ISO_CFC11" name="ISO_CFC11" standard_name="CFC-11_Concentration" /> 1315 </field_group> 1316 1317 <field_group id="trendCFC12" > 1318 <!-- cfc12 --> 1319 <field field_ref="TOT_CFC12" name="TOT_CFC12" standard_name="CFC-12_Concentration" /> 1320 <field field_ref="TOT_CFC12_E3T" name="TOT_CFC12_E3T" standard_name="CFC-12_Concentration" /> 1321 <field field_ref="XAD_CFC12" name="XAD_CFC12" standard_name="CFC-12_Concentration" /> 1322 <field field_ref="YAD_CFC12" name="YAD_CFC12" standard_name="CFC-12_Concentration" /> 1323 <field field_ref="ZAD_CFC12" name="ZAD_CFC12" standard_name="CFC-12_Concentration" /> 1324 <field field_ref="TAD_CFC12" name="TAD_CFC12" standard_name="CFC-12_Concentration" /> 1325 <field field_ref="TAD_CFC12_E3T" name="TAD_CFC12_E3T" standard_name="CFC-12_Concentration" /> 1326 <field field_ref="LDF_CFC12" name="LDF_CFC12" standard_name="CFC-12_Concentration" /> 1327 <field field_ref="BBL_CFC12" name="BBL_CFC12" standard_name="CFC-12_Concentration" /> 1328 <field field_ref="FOR_CFC12" name="FOR_CFC12" standard_name="CFC-12_Concentration" /> 1329 <field field_ref="ZDF_CFC12" name="ZDF_CFC12" standard_name="CFC-12_Concentration" /> 1330 <field field_ref="ZDP_CFC12" name="ZDP_CFC12" standard_name="CFC-12_Concentration" /> 1331 <field field_ref="DMP_CFC12" name="DMP_CFC12" standard_name="CFC-12_Concentration" /> 1332 <field field_ref="SMS_CFC12" name="SMS_CFC12" standard_name="CFC-12_Concentration" /> 1333 <field field_ref="SMS_CFC12_E3T" name="SMS_CFC12_E3T" standard_name="CFC-12_Concentration" /> 1334 <field field_ref="ATF_CFC12" name="ATF_CFC12" standard_name="CFC-12_Concentration" /> 1335 <field field_ref="ISO_CFC12" name="ISO_CFC12" standard_name="CFC-12_Concentration" /> 1336 </field_group> 1337 1338 <field_group id="trendSF6" > 1339 <!-- sf6 --> 1340 <field field_ref="TOT_SF6" name="TOT_SF6" standard_name="SF6_Concentration" /> 1341 <field field_ref="TOT_SF6_E3T" name="TOT_SF6_E3T" standard_name="SF6_Concentration" /> 1342 <field field_ref="XAD_SF6" name="XAD_SF6" standard_name="SF6_Concentration" /> 1343 <field field_ref="YAD_SF6" name="YAD_SF6" standard_name="SF6_Concentration" /> 1344 <field field_ref="ZAD_SF6" name="ZAD_SF6" standard_name="SF6_Concentration" /> 1345 <field field_ref="TAD_SF6" name="TAD_SF6" standard_name="SF6_Concentration" /> 1346 <field field_ref="TAD_SF6_E3T" name="TAD_SF6_E3T" standard_name="SF6_Concentration" /> 1347 <field field_ref="LDF_SF6" name="LDF_SF6" standard_name="SF6_Concentration" /> 1348 <field field_ref="BBL_SF6" name="BBL_SF6" standard_name="SF6_Concentration" /> 1349 <field field_ref="FOR_SF6" name="FOR_SF6" standard_name="SF6_Concentration" /> 1350 <field field_ref="ZDF_SF6" name="ZDF_SF6" standard_name="SF6_Concentration" /> 1351 <field field_ref="ZDP_SF6" name="ZDP_SF6" standard_name="SF6_Concentration" /> 1352 <field field_ref="DMP_SF6" name="DMP_SF6" standard_name="SF6_Concentration" /> 1353 <field field_ref="SMS_SF6" name="SMS_SF6" standard_name="SF6_Concentration" /> 1354 <field field_ref="SMS_SF6_E3T" name="SMS_SF6_E3T" standard_name="SF6_Concentration" /> 1355 <field field_ref="ATF_SF6" name="ATF_SF6" standard_name="SF6_Concentration" /> 1356 <field field_ref="ISO_SF6" name="ISO_SF6" standard_name="SF6_Concentration" /> 1357 </field_group> 1358 1359 <field_group id="trendAGE" > 1360 <!-- age --> 1361 <field field_ref="TOT_Age" name="TOT_Age" standard_name="sea_water_age_since_surface_contact" /> 1362 <field field_ref="TOT_Age_E3T" name="TOT_Age_E3T" standard_name="sea_water_age_since_surface_contact" /> 1363 <field field_ref="XAD_Age" name="XAD_Age" standard_name="sea_water_age_since_surface_contact" /> 1364 <field field_ref="YAD_Age" name="YAD_Age" standard_name="sea_water_age_since_surface_contact" /> 1365 <field field_ref="ZAD_Age" name="ZAD_Age" standard_name="sea_water_age_since_surface_contact" /> 1366 <field field_ref="TAD_Age" name="TAD_Age" standard_name="sea_water_age_since_surface_contact" /> 1367 <field field_ref="TAD_Age_E3T" name="TAD_Age_E3T" standard_name="sea_water_age_since_surface_contact" /> 1368 <field field_ref="LDF_Age" name="LDF_Age" standard_name="sea_water_age_since_surface_contact" /> 1369 <field field_ref="BBL_Age" name="BBL_Age" standard_name="sea_water_age_since_surface_contact" /> 1370 <field field_ref="FOR_Age" name="FOR_Age" standard_name="sea_water_age_since_surface_contact" /> 1371 <field field_ref="ZDF_Age" name="ZDF_Age" standard_name="sea_water_age_since_surface_contact" /> 1372 <field field_ref="ZDP_Age" name="ZDP_Age" standard_name="sea_water_age_since_surface_contact" /> 1373 <field field_ref="DMP_Age" name="DMP_Age" standard_name="sea_water_age_since_surface_contact" /> 1374 <field field_ref="SMS_Age" name="SMS_Age" standard_name="sea_water_age_since_surface_contact" /> 1375 <field field_ref="SMS_Age_E3T" name="SMS_Age_E3T" standard_name="sea_water_age_since_surface_contact" /> 1376 <field field_ref="ATF_Age" name="ATF_Age" standard_name="sea_water_age_since_surface_contact" /> 1377 <field field_ref="ISO_Age" name="ISO_Age" standard_name="sea_water_age_since_surface_contact" /> 1378 </field_group> 1379 1380 <field_group id="trendC14B" > 1381 <!-- c14 bomb --> 1382 <field field_ref="TOT_C14B" name="TOT_C14B" standard_name="C14b_Concentration" /> 1383 <field field_ref="TOT_C14B_E3T" name="TOT_C14B_E3T" standard_name="C14b_Concentration" /> 1384 <field field_ref="XAD_C14B" name="XAD_C14B" standard_name="C14b_Concentration" /> 1385 <field field_ref="YAD_C14B" name="YAD_C14B" standard_name="C14b_Concentration" /> 1386 <field field_ref="ZAD_C14B" name="ZAD_C14B" standard_name="C14b_Concentration" /> 1387 <field field_ref="TAD_C14B" name="TAD_C14B" standard_name="C14b_Concentration" /> 1388 <field field_ref="TAD_C14B_E3T" name="TAD_C14B_E3T" standard_name="C14b_Concentration" /> 1389 <field field_ref="LDF_C14B" name="LDF_C14B" standard_name="C14b_Concentration" /> 1390 <field field_ref="BBL_C14B" name="BBL_C14B" standard_name="C14b_Concentration" /> 1391 <field field_ref="FOR_C14B" name="FOR_C14B" standard_name="C14b_Concentration" /> 1392 <field field_ref="ZDF_C14B" name="ZDF_C14B" standard_name="C14b_Concentration" /> 1393 <field field_ref="ZDP_C14B" name="ZDP_C14B" standard_name="C14b_Concentration" /> 1394 <field field_ref="DMP_C14B" name="DMP_C14B" standard_name="C14b_Concentration" /> 1395 <field field_ref="SMS_C14B" name="SMS_C14B" standard_name="C14b_Concentration" /> 1396 <field field_ref="SMS_C14B_E3T" name="SMS_C14B_E3T" standard_name="C14b_Concentration" /> 1397 <field field_ref="ATF_C14B" name="ATF_C14B" standard_name="C14b_Concentration" /> 1398 <field field_ref="ISO_C14B" name="ISO_C14B" standard_name="C14b_Concentration" /> 1399 </field_group> 1400 1401 <field_group id="trendCFC11_short" > 1402 <!-- cfc11 --> 1403 <field field_ref="TOT_CFC11" name="TOT_CFC11" standard_name="CFC-11_Concentration" /> 1404 <field field_ref="TOT_CFC11_E3T" name="TOT_CFC11_E3T" standard_name="CFC-11_Concentration" /> 1405 <field field_ref="TAD_CFC11" name="TAD_CFC11" standard_name="CFC-11_Concentration" /> 1406 <field field_ref="TAD_CFC11_E3T" name="TAD_CFC11_E3T" standard_name="CFC-11_Concentration" /> 1407 <field field_ref="SMS_CFC11" name="SMS_CFC11" standard_name="CFC-11_Concentration" /> 1408 <field field_ref="SMS_CFC11_E3T" name="SMS_CFC11_E3T" standard_name="CFC-11_Concentration" /> 1409 </field_group> 1410 1411 <field_group id="trendCFC12_short" > 1412 <!-- cfc12 --> 1413 <field field_ref="TOT_CFC12" name="TOT_CFC12" standard_name="CFC-12_Concentration" /> 1414 <field field_ref="TOT_CFC12_E3T" name="TOT_CFC12_E3T" standard_name="CFC-12_Concentration" /> 1415 <field field_ref="TAD_CFC12" name="TAD_CFC12" standard_name="CFC-12_Concentration" /> 1416 <field field_ref="TAD_CFC12_E3T" name="TAD_CFC12_E3T" standard_name="CFC-12_Concentration" /> 1417 <field field_ref="SMS_CFC12" name="SMS_CFC12" standard_name="CFC-12_Concentration" /> 1418 <field field_ref="SMS_CFC12_E3T" name="SMS_CFC12_E3T" standard_name="CFC-12_Concentration" /> 1419 </field_group> 1420 1421 <field_group id="trendSF6_short" > 1422 <!-- sf6 --> 1423 <field field_ref="TOT_SF6" name="TOT_SF6" standard_name="SF6_Concentration" /> 1424 <field field_ref="TOT_SF6_E3T" name="TOT_SF6_E3T" standard_name="SF6_Concentration" /> 1425 <field field_ref="TAD_SF6" name="TAD_SF6" standard_name="SF6_Concentration" /> 1426 <field field_ref="TAD_SF6_E3T" name="TAD_SF6_E3T" standard_name="SF6_Concentration" /> 1427 <field field_ref="SMS_SF6" name="SMS_SF6" standard_name="SF6_Concentration" /> 1428 <field field_ref="SMS_SF6_E3T" name="SMS_SF6_E3T" standard_name="SF6_Concentration" /> 1429 </field_group> 1430 1431 <field_group id="trendAGE_short" > 1432 <!-- age --> 1433 <field field_ref="TOT_Age" name="TOT_Age" standard_name="sea_water_age_since_surface_contact" /> 1434 <field field_ref="TOT_Age_E3T" name="TOT_Age_E3T" standard_name="sea_water_age_since_surface_contact" /> 1435 <field field_ref="TAD_Age" name="TAD_Age" standard_name="sea_water_age_since_surface_contact" /> 1436 <field field_ref="TAD_Age_E3T" name="TAD_Age_E3T" standard_name="sea_water_age_since_surface_contact" /> 1437 <field field_ref="SMS_Age" name="SMS_Age" standard_name="sea_water_age_since_surface_contact" /> 1438 <field field_ref="SMS_Age_E3T" name="SMS_Age_E3T" standard_name="sea_water_age_since_surface_contact" /> 1439 </field_group> 1440 1441 <field_group id="trendC14B_short" > 1442 <!-- c14 bomb --> 1443 <field field_ref="TOT_C14B" name="TOT_C14B" standard_name="C14b_Concentration" /> 1444 <field field_ref="TOT_C14B_E3T" name="TOT_C14B_E3T" standard_name="C14b_Concentration" /> 1445 <field field_ref="TAD_C14B" name="TAD_C14B" standard_name="C14b_Concentration" /> 1446 <field field_ref="TAD_C14B_E3T" name="TAD_C14B_E3T" standard_name="C14b_Concentration" /> 1447 <field field_ref="SMS_C14B" name="SMS_C14B" standard_name="C14b_Concentration" /> 1448 <field field_ref="SMS_C14B_E3T" name="SMS_C14B_E3T" standard_name="C14b_Concentration" /> 1449 </field_group> 1450 1451 1177 1452 <field_group id="mooring" > 1178 1453 <field field_ref="toce" name="thetao" long_name="sea_water_potential_temperature" /> -
branches/2017/nemo_v3_6_STABLE_trdtrc/NEMOGCM/CONFIG/SHARED/namelist_top_ref
r6312 r8471 98 98 nn_ctls_trc = 0 ! control surface type in mixed-layer trends (0,1 or n<jpk) 99 99 rn_ucf_trc = 1 ! unit conversion factor (=1 -> /seconds ; =86400. -> /day) 100 ln_trdm ld_trc_restart = .false. ! restart for ML diagnostics101 ln_trdm ld_trc_instant = .true. ! flag to diagnose trends of instantantaneous or mean ML T/S100 ln_trdmxl_trc_restart = .false. ! restart for ML diagnostics 101 ln_trdmxl_trc_instant = .true. ! flag to diagnose trends of instantantaneous or mean ML T/S 102 102 ln_trdtrc(1) = .true. 103 103 ln_trdtrc(2) = .true. -
branches/2017/nemo_v3_6_STABLE_trdtrc/NEMOGCM/NEMO/OPA_SRC/TRD/trdtra.F90
r8102 r8471 20 20 USE trd_oce ! trends: ocean variables 21 21 USE trdtrc ! ocean passive mixed layer tracers trends 22 USE trc, ONLY: tra ! tracer definitions (trn, trb, tra, etc.) 22 23 USE trdglo ! trends: global domain averaged 23 24 USE trdpen ! trends: Potential ENergy … … 170 171 CASE( jptra_yad ) ; CALL trd_tra_adv( ptrd , pun , ptra, 'Y', ztrds ) 171 172 CASE( jptra_zad ) ; CALL trd_tra_adv( ptrd , pun , ptra, 'Z', ztrds ) 173 CASE( jptra_zdfp ) ! diagnose the "PURE" Kz trend (here: just before the swap) 174 ! ! iso-neutral diffusion case otherwise 175 ! jptra_zdf is "PURE" 176 CALL wrk_alloc( jpi, jpj, jpk, zws ) 177 ! 178 zws(:,:, 1 ) = 0._wp ! vertical diffusive fluxes 179 zws(:,:,jpk) = 0._wp 180 DO jk = 2, jpk 181 zws(:,:,jk) = avt(:,:,jk) * (tra(:,:,jk-1,ktra) - tra(:,:,jk,ktra) ) / fse3w(:,:,jk) * tmask(:,:,jk) 182 END DO 183 ! 184 ztrds(:,:,jpk) = 0._wp 185 DO jk = 1, jpkm1 186 ztrds(:,:,jk) = ( zws(:,:,jk) - zws(:,:,jk+1) ) / fse3t(:,:,jk) 187 END DO 188 CALL wrk_dealloc( jpi, jpj, jpk, zws ) 189 ! 172 190 CASE DEFAULT ! other trends: just masked 173 191 ztrds(:,:,:) = ptrd(:,:,:) * tmask(:,:,:) -
branches/2017/nemo_v3_6_STABLE_trdtrc/NEMOGCM/NEMO/TOP_SRC/TRP/trcnxt.F90
r8398 r8471 27 27 !!---------------------------------------------------------------------- 28 28 USE oce_trc ! ocean dynamics and tracers variables 29 USE domvvl ! variable volume 29 30 USE trc ! ocean passive tracers variables 30 31 USE lbclnk ! ocean lateral boundary conditions (or mpp link) 31 32 USE prtctl_trc ! Print control for debbuging 33 USE trcnam_trp ! passive tracers transport namelist variables 32 34 USE trd_oce 33 35 USE trdtra … … 129 131 IF( l_trdtrc ) THEN 130 132 CALL wrk_alloc( jpi, jpj, jpk, jptra, ztrdt ) !* store now fields before applying the Asselin filter 131 ztrdt(:,:,:,:) = trn(:,:,:,:) 133 ztrdt(:,:,jpk,:) = 0._wp 134 IF( ln_trcldf_iso ) THEN ! diagnose the "pure" Kz diffusive trend 135 DO jn = 1, jptra 136 CALL trd_tra( kt, 'TRC', jn, jptra_zdfp, ztrdt(:,:,:,jn) ) 137 ENDDO 138 ENDIF 139 ! total trend for the non-time-filtered variables. 140 ! G Nurser 23 Mar 2017. Recalculate trend as Delta(e3t*T)/e3tn; e3tn 141 ! cancel from tsn terms 142 IF( lk_vvl ) THEN 143 DO jn = 1, jptra 144 DO jk = 1, jpkm1 145 zfact = 1.0 / rdttrc(jk) 146 ztrdt(:,:,jk,jn) = ( tra(:,:,jk,jn)*fse3t_a(:,:,jk) / fse3t_n(:,:,jk) - & 147 trn(:,:,jk,jn) ) * zfact 148 END DO 149 END DO 150 ELSE 151 DO jn = 1, jptra 152 DO jk = 1, jpkm1 153 zfact = 1.0 / rdttrc(jk) 154 ztrdt(:,:,jk,jn) = ( tra(:,:,jk,jn) - trn(:,:,jk,jn) ) * zfact 155 END DO 156 END DO 157 END IF 158 DO jn = 1, jptra 159 CALL trd_tra( kt, 'TRC', jn, jptra_tot, ztrdt(:,:,:,jn) ) 160 ENDDO 161 IF( .NOT.lk_vvl ) THEN 162 ! Store now fields before applying the Asselin filter 163 ! in order to calculate Asselin filter trend later. 164 ztrdt(:,:,:,:) = trn(:,:,:,:) 165 ENDIF 132 166 ENDIF 133 167 ! Leap-Frog + Asselin filter time stepping … … 137 171 DO jk = 1, jpkm1 138 172 trn(:,:,jk,jn) = tra(:,:,jk,jn) 139 trb(:,:,jk,jn) = trn(:,:,jk,jn)140 173 END DO 141 174 END DO 175 IF (l_trdtrc.AND.lk_vvl) THEN ! Zero Asselin filter contribution 176 ! must be explicitly written out since for vvl 177 ! Asselin filter is output by 178 ! tra_nxt_vvl that is not called on 179 ! this time step 180 ztrdt(:,:,:,:) = 0._wp 181 DO jn = 1, jptra 182 CALL trd_tra( kt, 'TRC', jn, jptra_atf, ztrdt(:,:,:,jn) ) 183 ENDDO 184 END IF 185 142 186 ! 143 187 ELSE … … 153 197 154 198 ! trends computation 155 IF( l_trdtrc 199 IF( l_trdtrc.AND..NOT.lk_vvl) THEN ! trends 156 200 DO jn = 1, jptra 157 201 DO jk = 1, jpkm1 158 202 zfact = 1.e0 / r2dt(jk) 159 203 ztrdt(:,:,jk,jn) = ( trb(:,:,jk,jn) - ztrdt(:,:,jk,jn) ) * zfact 160 CALL trd_tra( kt, 'TRC', jn, jptra_atf, ztrdt )161 END DO204 END DO 205 CALL trd_tra( kt, 'TRC', jn, jptra_atf, ztrdt(:,:,:,jn) ) 162 206 END DO 163 CALL wrk_dealloc( jpi, jpj, jpk, jptra, ztrdt )164 207 END IF 208 ! 209 IF( l_trdtrc) CALL wrk_dealloc( jpi, jpj, jpk, jptra, ztrdt ) 165 210 ! 166 211 IF(ln_ctl) THEN ! print mean trends (used for debugging) -
branches/2017/nemo_v3_6_STABLE_trdtrc/NEMOGCM/NEMO/TOP_SRC/TRP/trczdf.F90
r5385 r8471 15 15 !!---------------------------------------------------------------------- 16 16 USE oce_trc ! ocean dynamics and active tracers 17 USE domvvl ! variable volume 17 18 USE trc ! ocean passive tracers variables 18 19 USE trcnam_trp ! passive tracers transport namelist variables … … 98 99 99 100 IF( l_trdtrc ) THEN ! save the vertical diffusive trends for further diagnostics 101 !! JPALM -- 18-08-2017 -- vvl case, do as done by G Nurser in trazdf 102 IF( lk_vvl ) THEN 103 DO jn = 1, jptra 104 DO jk = 1, jpkm1 105 ztrtrd(:,:,jk,jn) = ( ( tra(:,:,jk,jn)*fse3t_a(:,:,jk) - & 106 trn(:,:,jk,jn)*fse3t_b(:,:,jk) ) & 107 / (fse3t_n(:,:,jk)*r2dtra(jk)) ) - ztrtrd(:,:,jk,jn) 108 END DO 109 END DO 110 ELSE 111 DO jn = 1, jptra 112 DO jk = 1, jpkm1 113 ztrtrd(:,:,jk,jn) = ( ( tra(:,:,jk,jn) - trb(:,:,jk,jn) ) / r2dt(jk) ) - ztrtrd(:,:,jk,jn) 114 END DO 115 END DO 116 ENDIF 100 117 DO jn = 1, jptra 101 DO jk = 1, jpkm1102 ztrtrd(:,:,jk,jn) = ( ( tra(:,:,jk,jn) - trb(:,:,jk,jn) ) / r2dt(jk) ) - ztrtrd(:,:,jk,jn)103 END DO104 118 CALL trd_tra( kt, 'TRC', jn, jptra_zdf, ztrtrd(:,:,:,jn) ) 105 119 END DO -
branches/2017/nemo_v3_6_STABLE_trdtrc/NEMOGCM/NEMO/TOP_SRC/TRP/trdtrc.F90
r5215 r8471 19 19 USE trdmxl_trc ! Mixed layer trends diag. 20 20 USE iom ! I/O library 21 # if defined key_debug_medusa 22 USE trcstat, ONLY: trc_rst_dia_stat 23 # endif 21 24 22 25 IMPLICIT NONE … … 86 89 87 90 IF( lk_trdtrc .AND. ln_trdtrc( kjn ) ) THEN 88 ! 91 !! JPALM -- 17-08-2017 -- modif following trd_tra_iom as suggested by Georges 92 !! -- add jptra_tot; jptra_totad; jptra_zdfp 93 !! -- shange to output trends every 2 time-step, except tot. 94 !! -- move cltra and iomput inside the select case 95 !! So if an non-wanted case arrives here it will not go 96 !! through cltra (without value) and break iomput. 97 !! -- Add iom_use in prevision of not using All trends 98 !! for All passive tracers (will create a HUGE 3D file otherwise -- 99 !! might be interested in very few of them : SMS and TOT probably) 100 ! 101 SELECT CASE( ktrd ) 102 !! tot - output every time-step: 103 CASE( jptra_tot ) ; WRITE (cltra,'("TOT_",4a)') 104 cltra = TRIM(cltra)//TRIM(ctrcnm(kjn)) 105 CALL trd_trc_iomput( cltra, ptrtrd, kjn, kt ) 106 END SELECT 107 ! 108 IF( MOD( kt, 2 ) == 0 ) THEN 89 109 SELECT CASE( ktrd ) 90 110 CASE( jptra_xad ) ; WRITE (cltra,'("XAD_",4a)') 111 cltra = TRIM(cltra)//TRIM(ctrcnm(kjn)) 112 CALL trd_trc_iomput( cltra, ptrtrd, kjn, kt ) 91 113 CASE( jptra_yad ) ; WRITE (cltra,'("YAD_",4a)') 92 CASE( jptra_zad ) ; WRITE (cltra,'("ZAD_",4a)') 114 cltra = TRIM(cltra)//TRIM(ctrcnm(kjn)) 115 CALL trd_trc_iomput( cltra, ptrtrd, kjn, kt ) 116 CASE( jptra_zad ) ; WRITE (cltra,'("ZAD_",4a)') !! care vvl case 117 cltra = TRIM(cltra)//TRIM(ctrcnm(kjn)) 118 CALL trd_trc_iomput( cltra, ptrtrd, kjn, kt ) 119 CASE( jptra_totad ) ; WRITE (cltra,'("TAD_",4a)') !! total adv 120 cltra = TRIM(cltra)//TRIM(ctrcnm(kjn)) 121 CALL trd_trc_iomput( cltra, ptrtrd, kjn, kt ) 93 122 CASE( jptra_ldf ) ; WRITE (cltra,'("LDF_",4a)') 123 cltra = TRIM(cltra)//TRIM(ctrcnm(kjn)) 124 CALL trd_trc_iomput( cltra, ptrtrd, kjn, kt ) 94 125 CASE( jptra_bbl ) ; WRITE (cltra,'("BBL_",4a)') 126 cltra = TRIM(cltra)//TRIM(ctrcnm(kjn)) 127 CALL trd_trc_iomput( cltra, ptrtrd, kjn, kt ) 95 128 CASE( jptra_nsr ) ; WRITE (cltra,'("FOR_",4a)') 129 cltra = TRIM(cltra)//TRIM(ctrcnm(kjn)) 130 CALL trd_trc_iomput( cltra, ptrtrd, kjn, kt ) 96 131 CASE( jptra_zdf ) ; WRITE (cltra,'("ZDF_",4a)') 132 cltra = TRIM(cltra)//TRIM(ctrcnm(kjn)) 133 CALL trd_trc_iomput( cltra, ptrtrd, kjn, kt ) 134 CASE( jptra_zdfp ) ; WRITE (cltra,'("ZDP_",4a)') 135 cltra = TRIM(cltra)//TRIM(ctrcnm(kjn)) 136 CALL trd_trc_iomput( cltra, ptrtrd, kjn, kt ) 97 137 CASE( jptra_dmp ) ; WRITE (cltra,'("DMP_",4a)') 138 cltra = TRIM(cltra)//TRIM(ctrcnm(kjn)) 139 CALL trd_trc_iomput( cltra, ptrtrd, kjn, kt ) 98 140 CASE( jptra_sms ) ; WRITE (cltra,'("SMS_",4a)') 141 cltra = TRIM(cltra)//TRIM(ctrcnm(kjn)) 142 CALL trd_trc_iomput( cltra, ptrtrd, kjn, kt ) 143 CASE( jptra_radb ) ; WRITE (cltra,'("RDB_",4a)') 144 cltra = TRIM(cltra)//TRIM(ctrcnm(kjn)) 145 CALL trd_trc_iomput( cltra, ptrtrd, kjn, kt ) 146 CASE( jptra_radn ) ; WRITE (cltra,'("RDN_",4a)') 147 cltra = TRIM(cltra)//TRIM(ctrcnm(kjn)) 148 CALL trd_trc_iomput( cltra, ptrtrd, kjn, kt ) 149 END SELECT 150 ELSE IF( MOD( kt, 2 ) == 1 ) THEN 151 SELECT CASE( ktrd ) 99 152 CASE( jptra_atf ) ; WRITE (cltra,'("ATF_",4a)') 100 CASE( jptra_radb ) ; WRITE (cltra,'("RDB_",4a)') 101 CASE( jptra_radn ) ; WRITE (cltra,'("RDN_",4a)') 102 END SELECT 103 cltra = TRIM(cltra)//TRIM(ctrcnm(kjn)) 104 CALL iom_put( cltra, ptrtrd(:,:,:) ) 153 cltra = TRIM(cltra)//TRIM(ctrcnm(kjn)) 154 CALL trd_trc_iomput( cltra, ptrtrd, kjn, kt ) 155 END SELECT 156 END IF 105 157 ! 106 158 END IF … … 123 175 124 176 END SUBROUTINE trd_trc_bio 177 178 SUBROUTINE trd_trc_iomput( cltra, ptrtrd, kjn, kt ) 179 !!---------------------------------------------------------------------- 180 !! *** ROUTINE trd_trc_iomput *** 181 !!---------------------------------------------------------------------- 182 INTEGER, INTENT( in ) :: kt ! timestep 183 INTEGER, INTENT( in ) :: kjn ! biotrend index 184 REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT( inout ) :: ptrtrd ! var trend 185 CHARACTER (len=*),INTENT( in ) :: cltra ! trend name 186 !!---------------------------------------------------------------------- 187 188 189 IF (iom_use(cltra)) THEN 190 # if defined key_debug_medusa 191 IF(lwp) WRITE(numout,*) ' TREND stats (min, max,sum) kt = ',kt ,' jn = ',kjn 192 CALL trc_rst_dia_stat( ptrtrd(:,:,1), cltra) 193 # endif 194 CALL iom_put( cltra, ptrtrd(:,:,:) ) 195 # if defined key_debug_medusa 196 ELSE 197 IF(lwp) WRITE(numout,*) & 198 ' TREND -- No output asked for ',cltra,' kt = ',kt,' jn = ',kjn 199 CALL trc_rst_dia_stat( ptrtrd(:,:,1), cltra) 200 # endif 201 ENDIF 202 203 END SUBROUTINE trd_trc_iomput 204 205 125 206 #else 126 207 !!---------------------------------------------------------------------- -
branches/2017/nemo_v3_6_STABLE_trdtrc/NEMOGCM/NEMO/TOP_SRC/trcnam.F90
r8353 r8471 55 55 !! ** Method : - read passive tracer namelist 56 56 !! - read namelist of each defined SMS model 57 !! ( (PISCES, CFC, MY_TRC ) 58 !!--------------------------------------------------------------------- 59 INTEGER :: jn ! dummy loop indice 57 !! ( (PISCES, CFC, MY_TRC, MEDUSA, IDTRA, Age ) 58 !!--------------------------------------------------------------------- 59 INTEGER :: ierr 60 #if defined key_trdmxl_trc || defined key_trdtrc 61 NAMELIST/namtrc_trd/ nn_trd_trc, nn_ctls_trc, rn_ucf_trc, & 62 & ln_trdmxl_trc_restart, ln_trdmxl_trc_instant, & 63 & cn_trdrst_trc_in, cn_trdrst_trc_out, ln_trdtrc 64 #endif 65 66 INTEGER :: jn, jk ! dummy loop indice 67 INTEGER :: ios ! Local integer output status for namelist read 68 !!--------------------------------------------------------------------- 69 70 60 71 ! ! Parameters of the run 61 72 IF( .NOT. lk_offline ) CALL trc_nam_run … … 145 156 ENDIF 146 157 147 !148 END SUBROUTINE trc_nam149 150 SUBROUTINE trc_nam_run151 !!---------------------------------------------------------------------152 !! *** ROUTINE trc_nam ***153 !!154 !! ** Purpose : read options for the passive tracer run (namelist)155 !!156 !!---------------------------------------------------------------------157 NAMELIST/namtrc_run/ nn_dttrc, nn_writetrc, ln_rsttr, nn_rsttr, ln_top_euler, &158 & cn_trcrst_indir, cn_trcrst_outdir, cn_trcrst_in, cn_trcrst_out159 160 161 INTEGER :: ios ! Local integer output status for namelist read162 163 !!---------------------------------------------------------------------164 165 166 IF(lwp) WRITE(numout,*) 'trc_nam : read the passive tracer namelists'167 IF(lwp) WRITE(numout,*) '~~~~~~~'168 169 CALL ctl_opn( numnat_ref, 'namelist_top_ref' , 'OLD' , 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. )170 CALL ctl_opn( numnat_cfg, 'namelist_top_cfg' , 'OLD' , 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. )171 IF(lwm) CALL ctl_opn( numont, 'output.namelist.top', 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE., 1 )172 173 REWIND( numnat_ref ) ! Namelist namtrc in reference namelist : Passive tracer variables174 READ ( numnat_ref, namtrc_run, IOSTAT = ios, ERR = 901)175 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc in reference namelist', lwp )176 177 REWIND( numnat_cfg ) ! Namelist namtrc in configuration namelist : Passive tracer variables178 READ ( numnat_cfg, namtrc_run, IOSTAT = ios, ERR = 902 )179 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc in configuration namelist', lwp )180 IF(lwm) WRITE ( numont, namtrc_run )181 182 ! computes the first time step of tracer model183 nittrc000 = nit000 + nn_dttrc - 1184 185 IF(lwp) THEN ! control print186 WRITE(numout,*)187 WRITE(numout,*) ' Namelist : namtrc_run'188 WRITE(numout,*) ' time step freq. for passive tracer nn_dttrc = ', nn_dttrc189 WRITE(numout,*) ' restart for passive tracer ln_rsttr = ', ln_rsttr190 WRITE(numout,*) ' control of time step for passive tracer nn_rsttr = ', nn_rsttr191 WRITE(numout,*) ' first time step for pass. trac. nittrc000 = ', nittrc000192 WRITE(numout,*) ' frequency of outputs for passive tracers nn_writetrc = ', nn_writetrc193 WRITE(numout,*) ' Use euler integration for TRC (y/n) ln_top_euler = ', ln_top_euler194 WRITE(numout,*) ' '195 ENDIF196 !197 END SUBROUTINE trc_nam_run198 199 SUBROUTINE trc_nam_ice200 !!---------------------------------------------------------------------201 !! *** ROUTINE trc_nam_ice ***202 !!203 !! ** Purpose : Read the namelist for the ice effect on tracers204 !!205 !! ** Method : -206 !!207 !!---------------------------------------------------------------------208 ! --- Variable declarations --- !209 INTEGER :: jn ! dummy loop indices210 INTEGER :: ios ! Local integer output status for namelist read211 212 ! --- Namelist declarations --- !213 TYPE(TRC_I_NML), DIMENSION(jptra) :: sn_tri_tracer214 NAMELIST/namtrc_ice/ nn_ice_tr, sn_tri_tracer215 216 IF(lwp) THEN217 WRITE(numout,*)218 WRITE(numout,*) 'trc_nam_ice : Read the namelist for trc_ice'219 WRITE(numout,*) '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'220 ENDIF221 222 IF( nn_timing == 1 ) CALL timing_start('trc_nam_ice')223 224 !225 REWIND( numnat_ref ) ! Namelist namtrc_ice in reference namelist : Passive tracer input data226 READ ( numnat_ref, namtrc_ice, IOSTAT = ios, ERR = 901)227 901 IF( ios /= 0 ) CALL ctl_nam ( ios , ' namtrc_ice in reference namelist ', lwp )228 229 REWIND( numnat_cfg ) ! Namelist namtrc_ice in configuration namelist : Pisces external sources of nutrients230 READ ( numnat_cfg, namtrc_ice, IOSTAT = ios, ERR = 902 )231 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc_ice in configuration namelist', lwp )232 233 IF( lwp ) THEN234 WRITE(numout,*) ' '235 WRITE(numout,*) ' Sea ice tracers option (nn_ice_tr) : ', nn_ice_tr236 WRITE(numout,*) ' '237 ENDIF238 239 ! Assign namelist stuff240 DO jn = 1, jptra241 trc_ice_ratio(jn) = sn_tri_tracer(jn)%trc_ratio242 trc_ice_prescr(jn) = sn_tri_tracer(jn)%trc_prescr243 cn_trc_o (jn) = sn_tri_tracer(jn)%ctrc_o244 END DO245 246 IF( nn_timing == 1 ) CALL timing_stop('trc_nam_ice')247 !248 END SUBROUTINE trc_nam_ice249 250 SUBROUTINE trc_nam_trc251 !!---------------------------------------------------------------------252 !! *** ROUTINE trc_nam ***253 !!254 !! ** Purpose : read options for the passive tracer run (namelist)255 !!256 !!---------------------------------------------------------------------257 TYPE(PTRACER), DIMENSION(jptra) :: sn_tracer ! type of tracer for saving if not key_iomput258 !!259 NAMELIST/namtrc/ sn_tracer, ln_trcdta,ln_trcdmp, ln_trcdmp_clo260 261 INTEGER :: ios ! Local integer output status for namelist read262 INTEGER :: jn ! dummy loop indice263 !!---------------------------------------------------------------------264 IF(lwp) WRITE(numout,*)265 IF(lwp) WRITE(numout,*) 'trc_nam : read the passive tracer namelists'266 IF(lwp) WRITE(numout,*) '~~~~~~~'267 268 269 REWIND( numnat_ref ) ! Namelist namtrc in reference namelist : Passive tracer variables270 READ ( numnat_ref, namtrc, IOSTAT = ios, ERR = 901)271 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc in reference namelist', lwp )272 273 REWIND( numnat_cfg ) ! Namelist namtrc in configuration namelist : Passive tracer variables274 READ ( numnat_cfg, namtrc, IOSTAT = ios, ERR = 902 )275 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc in configuration namelist', lwp )276 IF(lwm) WRITE ( numont, namtrc )277 278 DO jn = 1, jptra279 ctrcnm (jn) = TRIM( sn_tracer(jn)%clsname )280 ctrcln (jn) = TRIM( sn_tracer(jn)%cllname )281 ctrcun (jn) = TRIM( sn_tracer(jn)%clunit )282 ln_trc_ini(jn) = sn_tracer(jn)%llinit283 ln_trc_wri(jn) = sn_tracer(jn)%llsave284 END DO285 286 END SUBROUTINE trc_nam_trc287 288 289 SUBROUTINE trc_nam_dia290 !!---------------------------------------------------------------------291 !! *** ROUTINE trc_nam_dia ***292 !!293 !! ** Purpose : read options for the passive tracer diagnostics294 !!295 !! ** Method : - read passive tracer namelist296 !! - read namelist of each defined SMS model297 !! ( (PISCES, CFC, MY_TRC )298 !!---------------------------------------------------------------------299 INTEGER :: ierr300 #if defined key_trdmxl_trc || defined key_trdtrc301 NAMELIST/namtrc_trd/ nn_trd_trc, nn_ctls_trc, rn_ucf_trc, &302 & ln_trdmxl_trc_restart, ln_trdmxl_trc_instant, &303 & cn_trdrst_trc_in, cn_trdrst_trc_out, ln_trdtrc304 #endif305 NAMELIST/namtrc_dia/ ln_diatrc, ln_diabio, nn_writedia, nn_writebio306 307 INTEGER :: jn308 INTEGER :: ios ! Local integer output status for namelist read309 !!---------------------------------------------------------------------310 311 IF(lwp) WRITE(numout,*)312 IF(lwp) WRITE(numout,*) 'trc_nam_dia : read the passive tracer diagnostics options'313 IF(lwp) WRITE(numout,*) '~~~~~~~'314 315 IF(lwp) WRITE(numout,*)316 IF(lwp) WRITE(numout,*) 'trc_nam_dia : read the passive tracer diagnostics options'317 IF(lwp) WRITE(numout,*) '~~~~~~~'318 319 REWIND( numnat_ref ) ! Namelist namtrc_dia in reference namelist : Passive tracer diagnostics320 READ ( numnat_ref, namtrc_dia, IOSTAT = ios, ERR = 903)321 903 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc_dia in reference namelist', lwp )322 323 REWIND( numnat_cfg ) ! Namelist namtrc_dia in configuration namelist : Passive tracer diagnostics324 READ ( numnat_cfg, namtrc_dia, IOSTAT = ios, ERR = 904 )325 904 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc_dia in configuration namelist', lwp )326 IF(lwm) WRITE ( numont, namtrc_dia )327 328 IF(lwp) THEN329 WRITE(numout,*)330 WRITE(numout,*)331 WRITE(numout,*) ' Namelist : namtrc_dia'332 WRITE(numout,*) ' save additionnal diagnostics arrays ln_diatrc = ', ln_diatrc333 WRITE(numout,*) ' save additionnal biology diagnostics arrays ln_diabio = ', ln_diabio334 WRITE(numout,*) ' frequency of outputs for additional arrays nn_writedia = ', nn_writedia335 WRITE(numout,*) ' frequency of outputs for biological trends nn_writebio = ', nn_writebio336 WRITE(numout,*) ' '337 ENDIF338 339 IF( ln_diatrc ) THEN340 ALLOCATE( trc2d(jpi,jpj,jpdia2d), trc3d(jpi,jpj,jpk,jpdia3d), &341 & ctrc2d(jpdia2d), ctrc2l(jpdia2d), ctrc2u(jpdia2d) , &342 & ctrc3d(jpdia3d), ctrc3l(jpdia3d), ctrc3u(jpdia3d) , STAT = ierr )343 IF( ierr > 0 ) CALL ctl_stop( 'STOP', 'trcnam: unable to allocate add. diag. array' )344 !345 trc2d(:,:,: ) = 0._wp ; ctrc2d(:) = ' ' ; ctrc2l(:) = ' ' ; ctrc2u(:) = ' '346 trc3d(:,:,:,:) = 0._wp ; ctrc3d(:) = ' ' ; ctrc3l(:) = ' ' ; ctrc3u(:) = ' '347 !348 ENDIF349 350 IF( ln_diabio .OR. l_trdtrc ) THEN351 ALLOCATE( trbio (jpi,jpj,jpk,jpdiabio) , &352 & ctrbio(jpdiabio), ctrbil(jpdiabio), ctrbiu(jpdiabio), STAT = ierr )353 IF( ierr > 0 ) CALL ctl_stop( 'STOP', 'trcnam: unable to allocate bio. diag. array' )354 !355 trbio(:,:,:,:) = 0._wp ; ctrbio(:) = ' ' ; ctrbil(:) = ' ' ; ctrbiu(:) = ' '356 !357 ENDIF358 158 359 159 #if defined key_trdmxl_trc || defined key_trdtrc … … 384 184 #endif 385 185 ! 186 END SUBROUTINE trc_nam 187 188 SUBROUTINE trc_nam_run 189 !!--------------------------------------------------------------------- 190 !! *** ROUTINE trc_nam *** 191 !! 192 !! ** Purpose : read options for the passive tracer run (namelist) 193 !! 194 !!--------------------------------------------------------------------- 195 NAMELIST/namtrc_run/ nn_dttrc, nn_writetrc, ln_rsttr, nn_rsttr, ln_top_euler, & 196 & cn_trcrst_indir, cn_trcrst_outdir, cn_trcrst_in, cn_trcrst_out 197 198 199 INTEGER :: ios ! Local integer output status for namelist read 200 201 !!--------------------------------------------------------------------- 202 203 204 IF(lwp) WRITE(numout,*) 'trc_nam : read the passive tracer namelists' 205 IF(lwp) WRITE(numout,*) '~~~~~~~' 206 207 CALL ctl_opn( numnat_ref, 'namelist_top_ref' , 'OLD' , 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. ) 208 CALL ctl_opn( numnat_cfg, 'namelist_top_cfg' , 'OLD' , 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. ) 209 IF(lwm) CALL ctl_opn( numont, 'output.namelist.top', 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE., 1 ) 210 211 REWIND( numnat_ref ) ! Namelist namtrc in reference namelist : Passive tracer variables 212 READ ( numnat_ref, namtrc_run, IOSTAT = ios, ERR = 901) 213 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc in reference namelist', lwp ) 214 215 REWIND( numnat_cfg ) ! Namelist namtrc in configuration namelist : Passive tracer variables 216 READ ( numnat_cfg, namtrc_run, IOSTAT = ios, ERR = 902 ) 217 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc in configuration namelist', lwp ) 218 IF(lwm) WRITE ( numont, namtrc_run ) 219 220 ! computes the first time step of tracer model 221 nittrc000 = nit000 + nn_dttrc - 1 222 223 IF(lwp) THEN ! control print 224 WRITE(numout,*) 225 WRITE(numout,*) ' Namelist : namtrc_run' 226 WRITE(numout,*) ' time step freq. for passive tracer nn_dttrc = ', nn_dttrc 227 WRITE(numout,*) ' restart for passive tracer ln_rsttr = ', ln_rsttr 228 WRITE(numout,*) ' control of time step for passive tracer nn_rsttr = ', nn_rsttr 229 WRITE(numout,*) ' first time step for pass. trac. nittrc000 = ', nittrc000 230 WRITE(numout,*) ' frequency of outputs for passive tracers nn_writetrc = ', nn_writetrc 231 WRITE(numout,*) ' Use euler integration for TRC (y/n) ln_top_euler = ', ln_top_euler 232 WRITE(numout,*) ' ' 233 ENDIF 234 ! 235 END SUBROUTINE trc_nam_run 236 237 SUBROUTINE trc_nam_ice 238 !!--------------------------------------------------------------------- 239 !! *** ROUTINE trc_nam_ice *** 240 !! 241 !! ** Purpose : Read the namelist for the ice effect on tracers 242 !! 243 !! ** Method : - 244 !! 245 !!--------------------------------------------------------------------- 246 ! --- Variable declarations --- ! 247 INTEGER :: jn ! dummy loop indices 248 INTEGER :: ios ! Local integer output status for namelist read 249 250 ! --- Namelist declarations --- ! 251 TYPE(TRC_I_NML), DIMENSION(jptra) :: sn_tri_tracer 252 NAMELIST/namtrc_ice/ nn_ice_tr, sn_tri_tracer 253 254 IF(lwp) THEN 255 WRITE(numout,*) 256 WRITE(numout,*) 'trc_nam_ice : Read the namelist for trc_ice' 257 WRITE(numout,*) '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~' 258 ENDIF 259 260 IF( nn_timing == 1 ) CALL timing_start('trc_nam_ice') 261 262 ! 263 REWIND( numnat_ref ) ! Namelist namtrc_ice in reference namelist : Passive tracer input data 264 READ ( numnat_ref, namtrc_ice, IOSTAT = ios, ERR = 901) 265 901 IF( ios /= 0 ) CALL ctl_nam ( ios , ' namtrc_ice in reference namelist ', lwp ) 266 267 REWIND( numnat_cfg ) ! Namelist namtrc_ice in configuration namelist : Pisces external sources of nutrients 268 READ ( numnat_cfg, namtrc_ice, IOSTAT = ios, ERR = 902 ) 269 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc_ice in configuration namelist', lwp ) 270 271 IF( lwp ) THEN 272 WRITE(numout,*) ' ' 273 WRITE(numout,*) ' Sea ice tracers option (nn_ice_tr) : ', nn_ice_tr 274 WRITE(numout,*) ' ' 275 ENDIF 276 277 ! Assign namelist stuff 278 DO jn = 1, jptra 279 trc_ice_ratio(jn) = sn_tri_tracer(jn)%trc_ratio 280 trc_ice_prescr(jn) = sn_tri_tracer(jn)%trc_prescr 281 cn_trc_o (jn) = sn_tri_tracer(jn)%ctrc_o 282 END DO 283 284 IF( nn_timing == 1 ) CALL timing_stop('trc_nam_ice') 285 ! 286 END SUBROUTINE trc_nam_ice 287 288 SUBROUTINE trc_nam_trc 289 !!--------------------------------------------------------------------- 290 !! *** ROUTINE trc_nam *** 291 !! 292 !! ** Purpose : read options for the passive tracer run (namelist) 293 !! 294 !!--------------------------------------------------------------------- 295 TYPE(PTRACER), DIMENSION(jptra) :: sn_tracer ! type of tracer for saving if not key_iomput 296 !! 297 NAMELIST/namtrc/ sn_tracer, ln_trcdta,ln_trcdmp, ln_trcdmp_clo 298 299 INTEGER :: ios ! Local integer output status for namelist read 300 INTEGER :: jn ! dummy loop indice 301 !!--------------------------------------------------------------------- 302 IF(lwp) WRITE(numout,*) 303 IF(lwp) WRITE(numout,*) 'trc_nam : read the passive tracer namelists' 304 IF(lwp) WRITE(numout,*) '~~~~~~~' 305 306 307 REWIND( numnat_ref ) ! Namelist namtrc in reference namelist : Passive tracer variables 308 READ ( numnat_ref, namtrc, IOSTAT = ios, ERR = 901) 309 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc in reference namelist', lwp ) 310 311 REWIND( numnat_cfg ) ! Namelist namtrc in configuration namelist : Passive tracer variables 312 READ ( numnat_cfg, namtrc, IOSTAT = ios, ERR = 902 ) 313 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc in configuration namelist', lwp ) 314 IF(lwm) WRITE ( numont, namtrc ) 315 316 DO jn = 1, jptra 317 ctrcnm (jn) = TRIM( sn_tracer(jn)%clsname ) 318 ctrcln (jn) = TRIM( sn_tracer(jn)%cllname ) 319 ctrcun (jn) = TRIM( sn_tracer(jn)%clunit ) 320 ln_trc_ini(jn) = sn_tracer(jn)%llinit 321 ln_trc_wri(jn) = sn_tracer(jn)%llsave 322 END DO 323 324 END SUBROUTINE trc_nam_trc 325 326 327 SUBROUTINE trc_nam_dia 328 !!--------------------------------------------------------------------- 329 !! *** ROUTINE trc_nam_dia *** 330 !! 331 !! ** Purpose : read options for the passive tracer diagnostics 332 !! 333 !! ** Method : - read passive tracer namelist 334 !! - read namelist of each defined SMS model 335 !! ( (PISCES, CFC, MY_TRC ) 336 !!--------------------------------------------------------------------- 337 INTEGER :: ierr 338 #if defined key_trdmxl_trc || defined key_trdtrc 339 NAMELIST/namtrc_trd/ nn_trd_trc, nn_ctls_trc, rn_ucf_trc, & 340 & ln_trdmxl_trc_restart, ln_trdmxl_trc_instant, & 341 & cn_trdrst_trc_in, cn_trdrst_trc_out, ln_trdtrc 342 #endif 343 NAMELIST/namtrc_dia/ ln_diatrc, ln_diabio, nn_writedia, nn_writebio 344 345 INTEGER :: ios ! Local integer output status for namelist read 346 !!--------------------------------------------------------------------- 347 348 IF(lwp) WRITE(numout,*) 349 IF(lwp) WRITE(numout,*) 'trc_nam_dia : read the passive tracer diagnostics options' 350 IF(lwp) WRITE(numout,*) '~~~~~~~' 351 352 IF(lwp) WRITE(numout,*) 353 IF(lwp) WRITE(numout,*) 'trc_nam_dia : read the passive tracer diagnostics options' 354 IF(lwp) WRITE(numout,*) '~~~~~~~' 355 356 REWIND( numnat_ref ) ! Namelist namtrc_dia in reference namelist : Passive tracer diagnostics 357 READ ( numnat_ref, namtrc_dia, IOSTAT = ios, ERR = 903) 358 903 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc_dia in reference namelist', lwp ) 359 360 REWIND( numnat_cfg ) ! Namelist namtrc_dia in configuration namelist : Passive tracer diagnostics 361 READ ( numnat_cfg, namtrc_dia, IOSTAT = ios, ERR = 904 ) 362 904 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc_dia in configuration namelist', lwp ) 363 IF(lwm) WRITE ( numont, namtrc_dia ) 364 365 IF(lwp) THEN 366 WRITE(numout,*) 367 WRITE(numout,*) 368 WRITE(numout,*) ' Namelist : namtrc_dia' 369 WRITE(numout,*) ' save additionnal diagnostics arrays ln_diatrc = ', ln_diatrc 370 WRITE(numout,*) ' save additionnal biology diagnostics arrays ln_diabio = ', ln_diabio 371 WRITE(numout,*) ' frequency of outputs for additional arrays nn_writedia = ', nn_writedia 372 WRITE(numout,*) ' frequency of outputs for biological trends nn_writebio = ', nn_writebio 373 WRITE(numout,*) ' ' 374 ENDIF 375 376 IF( ln_diatrc ) THEN 377 ALLOCATE( trc2d(jpi,jpj,jpdia2d), trc3d(jpi,jpj,jpk,jpdia3d), & 378 & ctrc2d(jpdia2d), ctrc2l(jpdia2d), ctrc2u(jpdia2d) , & 379 & ctrc3d(jpdia3d), ctrc3l(jpdia3d), ctrc3u(jpdia3d) , STAT = ierr ) 380 IF( ierr > 0 ) CALL ctl_stop( 'STOP', 'trcnam: unable to allocate add. diag. array' ) 381 ! 382 trc2d(:,:,: ) = 0._wp ; ctrc2d(:) = ' ' ; ctrc2l(:) = ' ' ; ctrc2u(:) = ' ' 383 trc3d(:,:,:,:) = 0._wp ; ctrc3d(:) = ' ' ; ctrc3l(:) = ' ' ; ctrc3u(:) = ' ' 384 ! 385 ENDIF 386 387 IF( ln_diabio .OR. l_trdtrc ) THEN 388 ALLOCATE( trbio (jpi,jpj,jpk,jpdiabio) , & 389 & ctrbio(jpdiabio), ctrbil(jpdiabio), ctrbiu(jpdiabio), STAT = ierr ) 390 IF( ierr > 0 ) CALL ctl_stop( 'STOP', 'trcnam: unable to allocate bio. diag. array' ) 391 ! 392 trbio(:,:,:,:) = 0._wp ; ctrbio(:) = ' ' ; ctrbil(:) = ' ' ; ctrbiu(:) = ' ' 393 ! 394 ENDIF 395 ! 386 396 END SUBROUTINE trc_nam_dia 387 397
Note: See TracChangeset
for help on using the changeset viewer.