Changeset 10729 for branches/UKMO
- Timestamp:
- 2019-02-28T13:16:49+01:00 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/dev_r5518_obs_oper_update/NEMOGCM/NEMO/OPA_SRC/OBS/diaobs.F90
r10388 r10729 908 908 USE par_fabm ! FABM parameters 909 909 USE fabm, ONLY: & 910 & fabm_get_ bulk_diagnostic_data910 & fabm_get_interior_diagnostic_data 911 911 #endif 912 912 #if defined key_spm … … 996 996 #elif defined key_fabm 997 997 ! Add all chlorophyll groups from ERSEM 998 zprofvar(:,:,:,1) = trn(:,:,:,jp_fabm_ chl1) + trn(:,:,:,jp_fabm_chl2) + &999 & trn(:,:,:,jp_fabm_ chl3) + trn(:,:,:,jp_fabm_chl4)998 zprofvar(:,:,:,1) = trn(:,:,:,jp_fabm_m1+jp_fabm_chl1) + trn(:,:,:,jp_fabm_m1+jp_fabm_chl2) + & 999 & trn(:,:,:,jp_fabm_m1+jp_fabm_chl3) + trn(:,:,:,jp_fabm_m1+jp_fabm_chl4) 1000 1000 #else 1001 1001 CALL ctl_stop( ' Trying to run plchltot observation operator', & … … 1034 1034 #elif defined key_fabm 1035 1035 ! Add all chlorophyll groups from ERSEM 1036 zprofvar(:,:,:,1) = trn(:,:,:,jp_fabm_ chl1) + trn(:,:,:,jp_fabm_chl2) + &1037 & trn(:,:,:,jp_fabm_ chl3) + trn(:,:,:,jp_fabm_chl4)1036 zprofvar(:,:,:,1) = trn(:,:,:,jp_fabm_m1+jp_fabm_chl1) + trn(:,:,:,jp_fabm_m1+jp_fabm_chl2) + & 1037 & trn(:,:,:,jp_fabm_m1+jp_fabm_chl3) + trn(:,:,:,jp_fabm_m1+jp_fabm_chl4) 1038 1038 #else 1039 1039 CALL ctl_stop( ' Trying to run pchltot observation operator', & … … 1050 1050 #elif defined key_fabm 1051 1051 ! Nitrate from ERSEM 1052 zprofvar(:,:,:,1) = trn(:,:,:,jp_fabm_ n3n)1052 zprofvar(:,:,:,1) = trn(:,:,:,jp_fabm_m1+jp_fabm_n3n) 1053 1053 #else 1054 1054 CALL ctl_stop( ' Trying to run pno3 observation operator', & … … 1065 1065 #elif defined key_fabm 1066 1066 ! Silicate from ERSEM 1067 zprofvar(:,:,:,1) = trn(:,:,:,jp_fabm_ n5s)1067 zprofvar(:,:,:,1) = trn(:,:,:,jp_fabm_m1+jp_fabm_n5s) 1068 1068 #else 1069 1069 CALL ctl_stop( ' Trying to run psi4 observation operator', & … … 1080 1080 #elif defined key_fabm 1081 1081 ! Phosphate from ERSEM 1082 zprofvar(:,:,:,1) = trn(:,:,:,jp_fabm_ n1p)1082 zprofvar(:,:,:,1) = trn(:,:,:,jp_fabm_m1+jp_fabm_n1p) 1083 1083 #else 1084 1084 CALL ctl_stop( ' Trying to run ppo4 observation operator', & … … 1095 1095 #elif defined key_fabm 1096 1096 ! Dissolved inorganic carbon from ERSEM 1097 zprofvar(:,:,:,1) = trn(:,:,:,jp_fabm_ o3c)1097 zprofvar(:,:,:,1) = trn(:,:,:,jp_fabm_m1+jp_fabm_o3c) 1098 1098 #else 1099 1099 CALL ctl_stop( ' Trying to run pdic observation operator', & … … 1110 1110 #elif defined key_fabm 1111 1111 ! Alkalinity from ERSEM 1112 zprofvar(:,:,:,1) = trn(:,:,:,jp_fabm_o3a)1112 zprofvar(:,:,:,1) = fabm_get_interior_diagnostic_data(model, jp_fabm_o3ta) 1113 1113 #else 1114 1114 CALL ctl_stop( ' Trying to run palk observation operator', & … … 1125 1125 #elif defined key_fabm 1126 1126 ! pH from ERSEM 1127 zprofvar(:,:,:,1) = trn(:,:,:,jp_fabm_ o3ph)1127 zprofvar(:,:,:,1) = trn(:,:,:,jp_fabm_m1+jp_fabm_o3ph) 1128 1128 #else 1129 1129 CALL ctl_stop( ' Trying to run pph observation operator', & … … 1140 1140 #elif defined key_fabm 1141 1141 ! Oxygen from ERSEM 1142 zprofvar(:,:,:,1) = trn(:,:,:,jp_fabm_ o2o)1142 zprofvar(:,:,:,1) = trn(:,:,:,jp_fabm_m1+jp_fabm_o2o) 1143 1143 #else 1144 1144 CALL ctl_stop( ' Trying to run po2 observation operator', & … … 1176 1176 CALL wrk_alloc( jpi, jpj, zsurfvar ) 1177 1177 CALL wrk_alloc( jpi, jpj, zsurfmask ) 1178 #if defined key_fabm 1179 CALL wrk_alloc( jpi, jpj, jpk, pco2_3d ) 1180 #endif 1178 1181 1179 1182 DO jtype = 1, nsurftypes … … 1221 1224 #elif defined key_fabm 1222 1225 ! Add all surface chlorophyll groups from ERSEM 1223 zsurfvar(:,:) = trn(:,:,1,jp_fabm_ chl1) + trn(:,:,1,jp_fabm_chl2) + &1224 & trn(:,:,1,jp_fabm_ chl3) + trn(:,:,1,jp_fabm_chl4)1226 zsurfvar(:,:) = trn(:,:,1,jp_fabm_m1+jp_fabm_chl1) + trn(:,:,1,jp_fabm_m1+jp_fabm_chl2) + & 1227 & trn(:,:,1,jp_fabm_m1+jp_fabm_chl3) + trn(:,:,1,jp_fabm_m1+jp_fabm_chl4) 1225 1228 #else 1226 1229 CALL ctl_stop( ' Trying to run slchltot observation operator', & … … 1238 1241 #elif defined key_fabm 1239 1242 ! Diatom surface chlorophyll from ERSEM 1240 zsurfvar(:,:) = trn(:,:,1,jp_fabm_ chl1)1243 zsurfvar(:,:) = trn(:,:,1,jp_fabm_m1+jp_fabm_chl1) 1241 1244 #else 1242 1245 CALL ctl_stop( ' Trying to run slchldia observation operator', & … … 1254 1257 #elif defined key_fabm 1255 1258 ! Add all non-diatom surface chlorophyll groups from ERSEM 1256 zsurfvar(:,:) = trn(:,:,1,jp_fabm_ chl2) + &1257 & trn(:,:,1,jp_fabm_ chl3) + trn(:,:,1,jp_fabm_chl4)1259 zsurfvar(:,:) = trn(:,:,1,jp_fabm_m1+jp_fabm_chl2) + & 1260 & trn(:,:,1,jp_fabm_m1+jp_fabm_chl3) + trn(:,:,1,jp_fabm_m1+jp_fabm_chl4) 1258 1261 #else 1259 1262 CALL ctl_stop( ' Trying to run slchlnon observation operator', & … … 1271 1274 #elif defined key_fabm 1272 1275 ! Dinoflagellate surface chlorophyll from ERSEM 1273 zsurfvar(:,:) = trn(:,:,1,jp_fabm_ chl4)1276 zsurfvar(:,:) = trn(:,:,1,jp_fabm_m1+jp_fabm_chl4) 1274 1277 #else 1275 1278 CALL ctl_stop( ' Trying to run slchldin observation operator', & … … 1287 1290 #elif defined key_fabm 1288 1291 ! Add diatom and dinoflagellate surface chlorophyll from ERSEM 1289 zsurfvar(:,:) = trn(:,:,1,jp_fabm_ chl1) + trn(:,:,1,jp_fabm_chl4)1292 zsurfvar(:,:) = trn(:,:,1,jp_fabm_m1+jp_fabm_chl1) + trn(:,:,1,jp_fabm_m1+jp_fabm_chl4) 1290 1293 #else 1291 1294 CALL ctl_stop( ' Trying to run slchlmic observation operator', & … … 1303 1306 #elif defined key_fabm 1304 1307 ! Nanophytoplankton surface chlorophyll from ERSEM 1305 zsurfvar(:,:) = trn(:,:,1,jp_fabm_ chl2)1308 zsurfvar(:,:) = trn(:,:,1,jp_fabm_m1+jp_fabm_chl2) 1306 1309 #else 1307 1310 CALL ctl_stop( ' Trying to run slchlnan observation operator', & … … 1319 1322 #elif defined key_fabm 1320 1323 ! Picophytoplankton surface chlorophyll from ERSEM 1321 zsurfvar(:,:) = trn(:,:,1,jp_fabm_ chl3)1324 zsurfvar(:,:) = trn(:,:,1,jp_fabm_m1+jp_fabm_chl3) 1322 1325 #else 1323 1326 CALL ctl_stop( ' Trying to run slchlpic observation operator', & … … 1335 1338 #elif defined key_fabm 1336 1339 ! Add all surface chlorophyll groups from ERSEM 1337 zsurfvar(:,:) = trn(:,:,1,jp_fabm_ chl1) + trn(:,:,1,jp_fabm_chl2) + &1338 & trn(:,:,1,jp_fabm_ chl3) + trn(:,:,1,jp_fabm_chl4)1340 zsurfvar(:,:) = trn(:,:,1,jp_fabm_m1+jp_fabm_chl1) + trn(:,:,1,jp_fabm_m1+jp_fabm_chl2) + & 1341 & trn(:,:,1,jp_fabm_m1+jp_fabm_chl3) + trn(:,:,1,jp_fabm_m1+jp_fabm_chl4) 1339 1342 #else 1340 1343 CALL ctl_stop( ' Trying to run schltot observation operator', & … … 1352 1355 #elif defined key_fabm 1353 1356 ! Add all surface phytoplankton carbon groups from ERSEM 1354 zsurfvar(:,:) = trn(:,:,1,jp_fabm_ p1c) + trn(:,:,1,jp_fabm_p2c) + &1355 & trn(:,:,1,jp_fabm_ p3c) + trn(:,:,1,jp_fabm_p4c)1357 zsurfvar(:,:) = trn(:,:,1,jp_fabm_m1+jp_fabm_p1c) + trn(:,:,1,jp_fabm_m1+jp_fabm_p2c) + & 1358 & trn(:,:,1,jp_fabm_m1+jp_fabm_p3c) + trn(:,:,1,jp_fabm_m1+jp_fabm_p4c) 1356 1359 #else 1357 1360 CALL ctl_stop( ' Trying to run slphytot observation operator', & … … 1369 1372 #elif defined key_fabm 1370 1373 ! Diatom surface phytoplankton carbon from ERSEM 1371 zsurfvar(:,:) = trn(:,:,1,jp_fabm_ p1c)1374 zsurfvar(:,:) = trn(:,:,1,jp_fabm_m1+jp_fabm_p1c) 1372 1375 #else 1373 1376 CALL ctl_stop( ' Trying to run slphydia observation operator', & … … 1385 1388 #elif defined key_fabm 1386 1389 ! Add all non-diatom surface phytoplankton carbon groups from ERSEM 1387 zsurfvar(:,:) = trn(:,:,1,jp_fabm_ p2c) + &1388 & trn(:,:,1,jp_fabm_ p3c) + trn(:,:,1,jp_fabm_p4c)1390 zsurfvar(:,:) = trn(:,:,1,jp_fabm_m1+jp_fabm_p2c) + & 1391 & trn(:,:,1,jp_fabm_m1+jp_fabm_p3c) + trn(:,:,1,jp_fabm_m1+jp_fabm_p4c) 1389 1392 #else 1390 1393 CALL ctl_stop( ' Trying to run slphynon observation operator', & … … 1418 1421 #elif defined key_fabm 1419 1422 ! First, get pCO2 from FABM 1420 pco2_3d(:,:,:) = fabm_get_ bulk_diagnostic_data(model, jp_fabm_o3pc)1423 pco2_3d(:,:,:) = fabm_get_interior_diagnostic_data(model, jp_fabm_o3pc) 1421 1424 zsurfvar(:,:) = pco2_3d(:,:,1) 1422 1425 ! Now, convert pCO2 to fCO2, based on SST in K. This follows the standard methodology of: … … 1457 1460 zsurfvar(:,:) = f2_pco2w(:,:) 1458 1461 #elif defined key_fabm 1459 pco2_3d(:,:,:) = fabm_get_ bulk_diagnostic_data(model, jp_fabm_o3pc)1462 pco2_3d(:,:,:) = fabm_get_interior_diagnostic_data(model, jp_fabm_o3pc) 1460 1463 zsurfvar(:,:) = pco2_3d(:,:,1) 1461 1464 #else … … 1491 1494 CALL wrk_dealloc( jpi, jpj, zsurfvar ) 1492 1495 CALL wrk_dealloc( jpi, jpj, zsurfmask ) 1496 #if defined key_fabm 1497 CALL wrk_dealloc( jpi, jpj, jpk, pco2_3d ) 1498 #endif 1493 1499 1494 1500 ENDIF
Note: See TracChangeset
for help on using the changeset viewer.