Changeset 7224
- Timestamp:
- 2016-11-14T16:47:26+01:00 (8 years ago)
- Location:
- branches/NERC/dev_r5518_NOC_MEDUSA_Stable/NEMOGCM
- Files:
-
- 1 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/NERC/dev_r5518_NOC_MEDUSA_Stable/NEMOGCM/CONFIG/SHARED/field_def_bgc.xml
r7075 r7224 75 75 <field id="CHD" long_name="Chl-a concentration in diatom phytoplankton" unit="mg Chl/m3" /> 76 76 <field id="PHN" long_name="non-diatom phytoplankton" unit="mmol-N/m3" /> 77 <field id="PHD" long_name="diatom phytoplankton"unit="mmol-N/m3" />77 <field id="PHD" long_name="diatom phytoplankton" unit="mmol-N/m3" /> 78 78 <field id="ZMI" long_name="micro zooplankton" unit="mmol-N/m3" /> 79 79 <field id="ZME" long_name="meso zooplankton" unit="mmol-N/m3" /> 80 80 <field id="DIN" long_name="dissolved inorganic nitrogen" unit="mmol-N/m3" /> 81 <field id="SIL" long_name=" silicate"unit="mmolSi/m3" />81 <field id="SIL" long_name="dissolved silicic acid" unit="mmolSi/m3" /> 82 82 <field id="FER" long_name="dissolved iron" unit="mmolFe/m3" /> 83 83 <field id="DET" long_name="detrital nitrogen" unit="mmol-N/m3" /> … … 407 407 <field id= "GMIDC" long_name="Microzoo grazing on detritus, carbon" unit="mmolC/m2/d" /> 408 408 <field id= "GMEDC" long_name="Mesozoo grazing on detritus, carbon" unit="mmolC/m2/d" /> 409 <field id= "BASIN_01" long_name="Non-diatom primary production, 150m" unit="mmolN/m2/d" />410 <field id= "BASIN_02" long_name="Non-diatom linear loss, 150m" unit="mmolN/m2/d" />411 <field id= "BASIN_03" long_name="Non-diatom non-linear loss, 150m" unit="mmolN/m2/d" />412 <field id= "BASIN_04" long_name="Non-diatom loss to microzoo, 150m" unit="mmolN/m2/d" />413 <field id= "BASIN_05" long_name="Non-diatom loss to mesozoo, 150m" unit="mmolN/m2/d" />414 <field id= "BASIN_06" long_name="Diatom primary production, 150m" unit="mmolN/m2/d" />415 <field id= "BASIN_07" long_name="Diatom linear loss, 150m" unit="mmolN/m2/d" />416 <field id= "BASIN_08" long_name="Diatom non-linear loss, 150m" unit="mmolN/m2/d" />417 <field id= "BASIN_09" long_name="Diatom loss to mesozoo, 150m" unit="mmolN/m2/d" />418 <field id= "BASIN_10" long_name="Microzoo grazing on slow detritus N, 150m" unit="mmolN/m2/d" />419 <field id= "BASIN_11" long_name="Microzoo grazing on slow detritus C, 150m" unit="mmolC/m2/d" />420 <field id= "BASIN_12" long_name="Microzoo messy feeding loss to N, 150m" unit="mmolN/m2/d" />421 <field id= "BASIN_13" long_name="Microzoo messy feeding loss to D, 150m" unit="mmolC/m2/d" />422 <field id= "BASIN_14" long_name="Microzoo messy feeding loss to C, 150m" unit="mmolN/m2/d" />423 <field id= "BASIN_15" long_name="Microzoo messy feeding loss to Dc, 150m" unit="mmolC/m2/d" />424 <field id= "BASIN_16" long_name="Microzoo excretion, 150m" unit="mmolN/m2/d" />425 <field id= "BASIN_17" long_name="Microzoo respiration, 150m" unit="mmolC/m2/d" />426 <field id= "BASIN_18" long_name="Microzoo growth, 150m" unit="mmolN/m2/d" />427 <field id= "BASIN_19" long_name="Microzoo linear loss, 150m" unit="mmolN/m2/d" />428 <field id= "BASIN_20" long_name="Microzoo non-linear loss, 150m" unit="mmolN/m2/d" />429 <field id= "BASIN_21" long_name="Microzoo grazing loss to mesozoo, 150m" unit="mmolN/m2/d" />430 <field id= "BASIN_22" long_name="Mesozoo grazing on slow detritus N, 150m" unit="mmolN/m2/d" />431 <field id= "BASIN_23" long_name="Mesozoo grazing on slow detritus C, 150m" unit="mmolC/m2/d" />432 <field id= "BASIN_24" long_name="Mesozoo messy feeding loss to N, 150m" unit="mmolN/m2/d" />433 <field id= "BASIN_25" long_name="Mesozoo messy feeding loss to D, 150m" unit="mmolC/m2/d" />434 <field id= "BASIN_26" long_name="Mesozoo messy feeding loss to C, 150m" unit="mmolN/m2/d" />435 <field id= "BASIN_27" long_name="Mesozoo messy feeding loss to Dc, 150m" unit="mmolC/m2/d" />436 <field id= "BASIN_28" long_name="Mesozoo excretion, 150m" unit="mmolN/m2/d" />437 <field id= "BASIN_29" long_name="Mesozoo respiration, 150m" unit="mmolC/m2/d" />438 <field id= "BASIN_30" long_name="Mesozoo growth, 150m" unit="mmolN/m2/d" />439 <field id= "BASIN_31" long_name="Mesozoo linear loss, 150m" unit="mmolN/m2/d" />440 <field id= "BASIN_32" long_name="Mesozoo non-linear loss, 150m" unit="mmolN/m2/d" />441 <field id= "BASIN_33" long_name="Slow detritus production, N, 150m" unit="mmolN/m2/d" />442 <field id= "BASIN_34" long_name="Slow detritus remineralisation, N, 150m" unit="mmolN/m2/d" />443 <field id= "BASIN_35" long_name="Slow detritus production, C, 150m" unit="mmolC/m2/d" />444 <field id= "BASIN_36" long_name="Slow detritus remineralisation, C, 150m" unit="mmolC/m2/d" />445 <field id= "BASIN_37" long_name="Fast detritus production, N, 150m" unit="mmolN/m2/d" />446 <field id= "BASIN_38" long_name="Fast detritus remineralisation, N, 150m" unit="mmolN/m2/d" />447 <field id= "BASIN_39" long_name="Fast detritus production, C, 150m" unit="mmolC/m2/d" />448 <field id= "BASIN_40" long_name="Fast detritus remineralisation, C, 150m" unit="mmolC/m2/d" />449 <field id= "BASIN_41" long_name="Fast detritus remineralisation, C, 150m" unit="mmolC/m2/d" />450 <field id= "BASIN_42" long_name="Slow detritus sinking flux, N, 150m" unit="mmolN/m2/d" />451 <field id= "BASIN_43" long_name="Slow detritus sinking flux, C, 150m" unit="mmolC/m2/d" />452 <field id= "BASIN_44" long_name="Fast detritus sinking flux, N, 150m" unit="mmolN/m2/d" />453 <field id= "BASIN_45" long_name="Fast detritus sinking flux, C, 150m" unit="mmolC/m2/d" />454 409 <field id= "INT_ZMI" long_name="Vertically integrated Zmi" unit="mmolN/m2" /> 455 410 <field id= "INT_ZME" long_name="Vertically integrated Zme" unit="mmolN/m2" /> … … 462 417 <field id= "DMS_HALL" long_name="DMS Surface Concentration, Halloran" unit="nmol/L" /> 463 418 419 <!-- AXY (08/11/16): add new 2D CMIP6 diagnostics --> 420 <field id= "epC100" long_name="Downward Flux of Particle Organic Carbon" unit="mmolC/m2/d" /> 421 <field id= "epCALC100" long_name="Downward Flux of Calcite" unit="mmolC/m2/d" /> 422 <field id= "epN100" long_name="Downward Flux of Particulate Nitrogen" unit="mmolN/m2/d" /> 423 <field id= "epSI100" long_name="Downward Flux of Particulate Silica" unit="mmolSi/m2/d" /> 424 <field id= "FGCO2" long_name="Surface Downward CO2 Flux" unit="kg/m2/s" /> 425 <field id= "INTDISSIC" long_name="Dissolved Inorganic Carbon Content" unit="mmolC/m2" /> 426 <field id= "INTDISSIN" long_name="Dissolved Inorganic Nitrogen Content" unit="mmolN/m2" /> 427 <field id= "INTDISSISI" long_name="Dissolved Inorganic Silicon Content" unit="mmolSi/m2" /> 428 <field id= "INTALK" long_name="Dissolved Alkalinity Content" unit="meq/m2" /> 429 <field id= "O2min" long_name="Oxygen Minimum Concentration" unit="mmolO2/m3" /> 430 <field id= "ZO2min" long_name="Depth of Oxygen Minimum Concentration" unit="m" /> 431 464 432 <field id= "TPP3" long_name="Total primary production 3D" unit="mmolN/m3/d" grid_ref="grid_T_3D" /> 465 433 <field id= "DETFLUX3" long_name="Total detrital flux 3D" unit="mmolN/m3/d" grid_ref="grid_T_3D" /> … … 467 435 <field id= "PH3" long_name="Ocean pH 3D" unit="-" grid_ref="grid_T_3D" /> 468 436 <field id= "OM_CAL3" long_name="Omega calcite 3D" unit="-" grid_ref="grid_T_3D" /> 437 438 <!-- AXY (08/11/16): add new 3D CMIP6 diagnostics --> 439 <field id= "TPPD3" long_name="Diatom primary production 3D" unit="mmolN/m3/d" grid_ref="grid_T_3D" /> 440 <field id= "BDDTALK3" long_name="Change of Alkalinity due to Biology" unit="meq/m3/d" grid_ref="grid_T_3D" /> 441 <field id= "BDDTDIC3" long_name="Change of DI Carbon due to Biology" unit="mmolC/m3/d" grid_ref="grid_T_3D" /> 442 <field id= "BDDTIFE3" long_name="Change of DI Iron due to Biology" unit="mmolFe/m3/d" grid_ref="grid_T_3D" /> 443 <field id= "BDDTDIN3" long_name="Change of DI Nitrogen due to Biology" unit="mmolN/m3/d" grid_ref="grid_T_3D" /> 444 <field id= "BDDTDISI3" long_name="Change of DI Silicon due to Biology" unit="mmolSi/m3/d" grid_ref="grid_T_3D" /> 445 <field id= "FD_NIT3" long_name="Fast sinking detrital nitrogen" unit="mmolN/m2/d" grid_ref="grid_T_3D" /> 446 <field id= "FD_SIL3" long_name="Fast sinking detrital silicon" unit="mmolSi/m2/d" grid_ref="grid_T_3D" /> 447 <field id= "FD_CAR3" long_name="Fast sinking detrital carbon" unit="mmolC/m2/d" grid_ref="grid_T_3D" /> 448 <field id= "FD_CAL3" long_name="Fast sinking detrital calcium carbonate" unit="mmolC/m2/d" grid_ref="grid_T_3D" /> 449 <field id= "CO33" long_name="Carbonate ion concentration" unit="mmolC/m3" grid_ref="grid_T_3D" /> 450 <field id= "CO3SATARG3" long_name="Carbonate aragonite saturation conc" unit="mmolC/m3" grid_ref="grid_T_3D" /> 451 <field id= "CO3SATCAL3" long_name="Carbonate calcite saturation conc" unit="mmolC/m3" grid_ref="grid_T_3D" /> 452 <field id= "DCALC3" long_name="Calcite dissolution" unit="mmolC/m3/d" grid_ref="grid_T_3D" /> 453 <field id= "FEDISS3" long_name="Particle Source of Dissolved Iron" unit="mmolFe/m3/d" grid_ref="grid_T_3D" /> 454 <field id= "FESCAV3" long_name="Nonbiogenic Iron Scavenging" unit="mmolFe/m3/d" grid_ref="grid_T_3D" /> 455 <field id= "MIGRAZP3" long_name="Microzooplankton grazing on phytoplankton" unit="mmolC/m3/d" grid_ref="grid_T_3D" /> 456 <field id= "MIGRAZD3" long_name="Microzooplankton grazing on detritus" unit="mmolC/m3/d" grid_ref="grid_T_3D" /> 457 <field id= "MEGRAZP3" long_name="Mesozooplankton grazing on phytoplankton" unit="mmolC/m3/d" grid_ref="grid_T_3D" /> 458 <field id= "MEGRAZD3" long_name="Mesozooplankton grazing on detritus" unit="mmolC/m3/d" grid_ref="grid_T_3D" /> 459 <field id= "MEGRAZZ3" long_name="Mesozooplankton grazing on microzoop" unit="mmolC/m3/d" grid_ref="grid_T_3D" /> 460 <field id= "O2SAT3" long_name="Dissolved Oxygen Saturation Concentration" unit="mmolO2/m3" grid_ref="grid_T_3D" /> 461 <field id= "PBSI3" long_name="Biogenic Silica Production" unit="mmolSi/m3/d" grid_ref="grid_T_3D" /> 462 <field id= "PCAL3" long_name="Biogenic Calcite Production" unit="mmolC/m3/d" grid_ref="grid_T_3D" /> 463 <field id= "REMOC3" long_name="Remineralization of Organic Carbon" unit="mmolC/m3/d" grid_ref="grid_T_3D" /> 464 <field id= "PNLIMJ3" long_name="Irradiance limitation of non-diatoms" unit="-" grid_ref="grid_T_3D" /> 465 <field id= "PNLIMN3" long_name="Nitrogen limitation of non-diatoms" unit="-" grid_ref="grid_T_3D" /> 466 <field id= "PNLIMFE3" long_name="Iron limitation of non-diatoms" unit="-" grid_ref="grid_T_3D" /> 467 <field id= "PDLIMJ3" long_name="Irradiance limitation of diatoms" unit="-" grid_ref="grid_T_3D" /> 468 <field id= "PDLIMN3" long_name="Nitrogen limitation of diatoms" unit="-" grid_ref="grid_T_3D" /> 469 <field id= "PDLIMFE3" long_name="Iron limitation of diatoms" unit="-" grid_ref="grid_T_3D" /> 470 <field id= "PDLIMSI3" long_name="Silicon limitation of diatoms" unit="-" grid_ref="grid_T_3D" /> 469 471 470 472 </field_group> … … 724 726 </field_group> 725 727 726 <field_group id="groupMEDUSA_bas" > 727 <field field_ref= "BASIN_01" name= "BASIN_01" /> 728 <field field_ref= "BASIN_02" name= "BASIN_02" /> 729 <field field_ref= "BASIN_03" name= "BASIN_03" /> 730 <field field_ref= "BASIN_04" name= "BASIN_04" /> 731 <field field_ref= "BASIN_05" name= "BASIN_05" /> 732 <field field_ref= "BASIN_06" name= "BASIN_06" /> 733 <field field_ref= "BASIN_07" name= "BASIN_07" /> 734 <field field_ref= "BASIN_08" name= "BASIN_08" /> 735 <field field_ref= "BASIN_09" name= "BASIN_09" /> 736 <field field_ref= "BASIN_10" name= "BASIN_10" /> 737 <field field_ref= "BASIN_11" name= "BASIN_11" /> 738 <field field_ref= "BASIN_12" name= "BASIN_12" /> 739 <field field_ref= "BASIN_13" name= "BASIN_13" /> 740 <field field_ref= "BASIN_14" name= "BASIN_14" /> 741 <field field_ref= "BASIN_15" name= "BASIN_15" /> 742 <field field_ref= "BASIN_16" name= "BASIN_16" /> 743 <field field_ref= "BASIN_17" name= "BASIN_17" /> 744 <field field_ref= "BASIN_18" name= "BASIN_18" /> 745 <field field_ref= "BASIN_19" name= "BASIN_19" /> 746 <field field_ref= "BASIN_20" name= "BASIN_20" /> 747 <field field_ref= "BASIN_21" name= "BASIN_21" /> 748 <field field_ref= "BASIN_22" name= "BASIN_22" /> 749 <field field_ref= "BASIN_23" name= "BASIN_23" /> 750 <field field_ref= "BASIN_24" name= "BASIN_24" /> 751 <field field_ref= "BASIN_25" name= "BASIN_25" /> 752 <field field_ref= "BASIN_26" name= "BASIN_26" /> 753 <field field_ref= "BASIN_27" name= "BASIN_27" /> 754 <field field_ref= "BASIN_28" name= "BASIN_28" /> 755 <field field_ref= "BASIN_29" name= "BASIN_29" /> 756 <field field_ref= "BASIN_30" name= "BASIN_30" /> 757 <field field_ref= "BASIN_31" name= "BASIN_31" /> 758 <field field_ref= "BASIN_32" name= "BASIN_32" /> 759 <field field_ref= "BASIN_33" name= "BASIN_33" /> 760 <field field_ref= "BASIN_34" name= "BASIN_34" /> 761 <field field_ref= "BASIN_35" name= "BASIN_35" /> 762 <field field_ref= "BASIN_36" name= "BASIN_36" /> 763 <field field_ref= "BASIN_37" name= "BASIN_37" /> 764 <field field_ref= "BASIN_38" name= "BASIN_38" /> 765 <field field_ref= "BASIN_39" name= "BASIN_39" /> 766 <field field_ref= "BASIN_40" name= "BASIN_40" /> 767 <field field_ref= "BASIN_41" name= "BASIN_41" /> 768 <field field_ref= "BASIN_42" name= "BASIN_42" /> 769 <field field_ref= "BASIN_43" name= "BASIN_43" /> 770 <field field_ref= "BASIN_44" name= "BASIN_44" /> 771 <field field_ref= "BASIN_45" name= "BASIN_45" /> 772 </field_group> 773 728 <field_group id="groupMEDUSA_cmip6" > 729 <field field_ref= "epC100" name="epC100" /> 730 <field field_ref= "epCALC100" name="epCALC100" /> 731 <field field_ref= "epN100" name="epN100" /> 732 <field field_ref= "epSI100" name="epSI100" /> 733 <field field_ref= "FGCO2" name="FGCO2" /> 734 <field field_ref= "INTDISSIC" name="INTDISSIC" /> 735 <field field_ref= "INTDISSIN" name="INTDISSIN" /> 736 <field field_ref= "INTDISSISI" name="INTDISSISI" /> 737 <field field_ref= "INTALK" name="INTALK" /> 738 <field field_ref= "O2min" name="O2min" /> 739 <field field_ref= "ZO2min" name="ZO2min" /> 740 <field field_ref= "TPPD3" name="TPPD3" /> 741 <field field_ref= "BDDTALK3" name="BDDTALK3" /> 742 <field field_ref= "BDDTDIC3" name="BDDTDIC3" /> 743 <field field_ref= "BDDTIFE3" name="BDDTIFE3" /> 744 <field field_ref= "BDDTDIN3" name="BDDTDIN3" /> 745 <field field_ref= "BDDTDISI3" name="BDDTDISI3" /> 746 <field field_ref= "FD_NIT3" name="FD_NIT3" /> 747 <field field_ref= "FD_SIL3" name="FD_SIL3" /> 748 <field field_ref= "FD_CAR3" name="FD_CAR3" /> 749 <field field_ref= "FD_CAL3" name="FD_CAL3" /> 750 <field field_ref= "CO33" name="CO33" /> 751 <field field_ref= "CO3SATARG3" name="CO3SATARG3" /> 752 <field field_ref= "CO3SATCAL3" name="CO3SATCAL3" /> 753 <field field_ref= "DCALC3" name="DCALC3" /> 754 <field field_ref= "FEDISS3" name="FEDISS3" /> 755 <field field_ref= "FESCAV3" name="FESCAV3" /> 756 <field field_ref= "MIGRAZP3" name="MIGRAZP3" /> 757 <field field_ref= "MIGRAZD3" name="MIGRAZD3" /> 758 <field field_ref= "MEGRAZP3" name="MEGRAZP3" /> 759 <field field_ref= "MEGRAZD3" name="MEGRAZD3" /> 760 <field field_ref= "MEGRAZZ3" name="MEGRAZZ3" /> 761 <field field_ref= "O2SAT3" name="O2SAT3" /> 762 <field field_ref= "PBSI3" name="PBSI3" /> 763 <field field_ref= "PCAL3" name="PCAL3" /> 764 <field field_ref= "REMOC3" name="REMOC3" /> 765 <field field_ref= "PNLIMJ3" name="PNLIMJ3" /> 766 <field field_ref= "PNLIMN3" name="PNLIMN3" /> 767 <field field_ref= "PNLIMFE3" name="PNLIMFE3" /> 768 <field field_ref= "PDLIMJ3" name="PDLIMJ3" /> 769 <field field_ref= "PDLIMN3" name="PDLIMN3" /> 770 <field field_ref= "PDLIMFE3" name="PDLIMFE3" /> 771 <field field_ref= "PDLIMSI3" name="PDLIMSI3" /> 772 </field_group> 774 773 775 774 </field_definition> 776 -
branches/NERC/dev_r5518_NOC_MEDUSA_Stable/NEMOGCM/NEMO/TOP_SRC/MEDUSA/trcbio_medusa.F90
r7156 r7224 19 19 !! - ! 2015-07 (A. Yool) Update for rolling averages 20 20 !! - ! 2015-10 (J. Palm) Update for diag outputs through iom_use 21 !! - ! 2016-11 (A. Yool) Updated diags for CMIP6 21 22 !!---------------------------------------------------------------------- 22 23 !! … … 299 300 REAL(wp) :: f_TDIC, f_TALK, f_dcf, f_henry 300 301 REAL(wp) :: f_uwind, f_vwind, f_pp0 301 REAL(wp) :: f_kw660, f_o2flux, f_o2sat 302 REAL(wp) :: f_kw660, f_o2flux, f_o2sat, f_o2sat3 302 303 REAL(wp), DIMENSION(jpi,jpj) :: f_omcal, f_omarg 303 304 !! … … 305 306 REAL(wp) :: f_fco2w, f_BetaD, f_rhosw, f_opres, f_insitut, f_pco2atm, f_fco2atm 306 307 REAL(wp) :: f_schmidtco2, f_kwco2, f_K0, f_co2starair, f_dpco2, f_kwo2 307 !! jpalm 14-07-2016: convert CO2flux diag from mmol-C/m2/s to kg-CO2/m2/s 308 REAL, PARAMETER :: CO2flux_conv = 44.0095 * 1.e-6 !! CO2 weight per mol (kg/mmol) 308 !! jpalm 14-07-2016: convert CO2flux diag from mmol/m2/d to kg/m2/s 309 REAL, PARAMETER :: weight_CO2_mol = 44.0095 !! g / mol 310 REAL, PARAMETER :: secs_in_day = 86400.0 !! s / d 311 REAL, PARAMETER :: CO2flux_conv = (1.e-6 * weight_CO2_mol) / secs_in_day 312 309 313 !! 310 314 INTEGER :: iters … … 368 372 REAL(wp), POINTER, DIMENSION(:,: ) :: oben_fe2d, oben_c2d, oben_si2d, oben_ca2d, sfr_ocal2d 369 373 REAL(wp), POINTER, DIMENSION(:,: ) :: sfr_oarg2d, lyso_ca2d 370 371 # endif 372 !! 2D var for diagnostics.374 # endif 375 !! 376 !! 3D var for diagnostics. 373 377 REAL(wp), POINTER, DIMENSION(:,:,:) :: tpp3d, detflux3d, remin3dn 378 !! 379 # if defined key_roam 380 !! AXY (04/11/16) 381 !! 2D var for new CMIP6 diagnostics (behind a key_roam ifdef for simplicity) 382 REAL(wp), POINTER, DIMENSION(:,: ) :: epc100, epcalc100, epn100, epsi100 383 REAL(wp), POINTER, DIMENSION(:,: ) :: fgco2, intdissic, intdissin, intdissisi, inttalk, o2min, zo2min 384 !! 385 !! 3D var for new CMIP6 diagnostics 386 REAL(wp), POINTER, DIMENSION(:,:,:) :: tppd3 387 REAL(wp), POINTER, DIMENSION(:,:,:) :: bddtalk3, bddtdic3, bddtdife3, bddtdin3, bddtdisi3 388 REAL(wp), POINTER, DIMENSION(:,:,:) :: fd_nit3, fd_sil3, fd_car3, fd_cal3 389 REAL(wp), POINTER, DIMENSION(:,:,:) :: co33, co3satarag3, co3satcalc3, dcalc3 390 REAL(wp), POINTER, DIMENSION(:,:,:) :: expc3, expn3, expcalc3, expsi3 391 REAL(wp), POINTER, DIMENSION(:,:,:) :: fediss3, fescav3 392 REAL(wp), POINTER, DIMENSION(:,:,:) :: migrazp3, migrazd3, megrazp3, migrazd3, migrazz3 393 REAL(wp), POINTER, DIMENSION(:,:,:) :: o2sat3, pbsi3, pcal3, remoc3 394 REAL(wp), POINTER, DIMENSION(:,:,:) :: pnlimj3, pnlimn3, pnlimfe3, pdlimj3, pdlimn3, pdlimfe3, pdlimsi3 395 # endif 374 396 !!--------------------------------------------------------------------- 375 397 … … 543 565 !! ----------------------------- 544 566 !! Juju :: add kt condition !! 545 IF( lk_iomput .AND. .NOT. ln_diatrc ) THEN 546 !! 547 if ( kt == nittrc000 ) CALL trc_nam_iom_medusa !! initialise iom_use test 548 !! 549 CALL wrk_alloc( jpi, jpj, zw2d ) 550 zw2d(:,:) = 0.0 !! 551 IF ( med_diag%PRN%dgsave ) THEN 552 CALL wrk_alloc( jpi, jpj, fprn2d ) 553 fprn2d(:,:) = 0.0 !! 554 ENDIF 555 IF ( med_diag%MPN%dgsave ) THEN 556 CALL wrk_alloc( jpi, jpj, fdpn2d ) 557 fdpn2d(:,:) = 0.0 !! 558 ENDIF 559 IF ( med_diag%PRD%dgsave ) THEN 560 CALL wrk_alloc( jpi, jpj, fprd2d ) 561 fprd2d(:,:) = 0.0 !! 562 ENDIF 563 IF( med_diag%MPD%dgsave ) THEN 564 CALL wrk_alloc( jpi, jpj, fdpd2d ) 565 fdpd2d(:,:) = 0.0 !! 566 ENDIF 567 IF( med_diag%OPAL%dgsave ) THEN 568 CALL wrk_alloc( jpi, jpj, fprds2d ) 569 fprds2d(:,:) = 0.0 !! 570 ENDIF 571 IF( med_diag%OPALDISS%dgsave ) THEN 572 CALL wrk_alloc( jpi, jpj, fsdiss2d ) 573 fsdiss2d(:,:) = 0.0 !! 574 ENDIF 575 IF( med_diag%GMIPn%dgsave ) THEN 576 CALL wrk_alloc( jpi, jpj, fgmipn2d ) 577 fgmipn2d(:,:) = 0.0 !! 578 ENDIF 579 IF( med_diag%GMID%dgsave ) THEN 580 CALL wrk_alloc( jpi, jpj, fgmid2d ) 581 fgmid2d(:,:) = 0.0 !! 582 ENDIF 583 IF( med_diag%MZMI%dgsave ) THEN 584 CALL wrk_alloc( jpi, jpj, fdzmi2d ) 585 fdzmi2d(:,:) = 0.0 !! 586 ENDIF 587 IF( med_diag%GMEPN%dgsave ) THEN 588 CALL wrk_alloc( jpi, jpj, fgmepn2d ) 589 fgmepn2d(:,:) = 0.0 !! 590 ENDIF 591 IF( med_diag%GMEPD%dgsave ) THEN 592 CALL wrk_alloc( jpi, jpj, fgmepd2d ) 593 fgmepd2d(:,:) = 0.0 !! 594 ENDIF 595 IF( med_diag%GMEZMI%dgsave ) THEN 596 CALL wrk_alloc( jpi, jpj, fgmezmi2d ) 597 fgmezmi2d(:,:) = 0.0 !! 598 ENDIF 599 IF( med_diag%GMED%dgsave ) THEN 600 CALL wrk_alloc( jpi, jpj, fgmed2d ) 601 fgmed2d(:,:) = 0.0 !! 602 ENDIF 603 IF( med_diag%MZME%dgsave ) THEN 604 CALL wrk_alloc( jpi, jpj, fdzme2d ) 605 fdzme2d(:,:) = 0.0 !! 606 ENDIF 607 IF( med_diag%DETN%dgsave ) THEN 608 CALL wrk_alloc( jpi, jpj, fslown2d ) 609 fslown2d(:,:) = 0.0 !! 610 ENDIF 611 IF( med_diag%MDET%dgsave ) THEN 612 CALL wrk_alloc( jpi, jpj, fdd2d ) 613 fdd2d(:,:) = 0.0 !! 614 ENDIF 615 IF( med_diag%AEOLIAN%dgsave ) THEN 616 CALL wrk_alloc( jpi, jpj, ffetop2d ) 617 ffetop2d(:,:) = 0.0 !! 618 ENDIF 619 IF( med_diag%BENTHIC%dgsave ) THEN 620 CALL wrk_alloc( jpi, jpj, ffebot2d ) 621 ffebot2d(:,:) = 0.0 !! 622 ENDIF 623 IF( med_diag%SCAVENGE%dgsave ) THEN 624 CALL wrk_alloc( jpi, jpj, ffescav2d ) 625 ffescav2d(:,:) = 0.0 !! 626 ENDIF 627 IF( med_diag%PN_JLIM%dgsave ) THEN 628 CALL wrk_alloc( jpi, jpj, fjln2d ) 629 fjln2d(:,:) = 0.0 !! 630 ENDIF 631 IF( med_diag%PN_NLIM%dgsave ) THEN 632 CALL wrk_alloc( jpi, jpj, fnln2d ) 633 fnln2d(:,:) = 0.0 !! 634 ENDIF 635 IF( med_diag%PN_FELIM%dgsave ) THEN 636 CALL wrk_alloc( jpi, jpj, ffln2d ) 637 ffln2d(:,:) = 0.0 !! 638 ENDIF 639 IF( med_diag%PD_JLIM%dgsave ) THEN 640 CALL wrk_alloc( jpi, jpj, fjld2d ) 641 fjld2d(:,:) = 0.0 !! 642 ENDIF 643 IF( med_diag%PD_NLIM%dgsave ) THEN 644 CALL wrk_alloc( jpi, jpj, fnld2d ) 645 fnld2d(:,:) = 0.0 !! 646 ENDIF 647 IF( med_diag%PD_FELIM%dgsave ) THEN 648 CALL wrk_alloc( jpi, jpj, ffld2d ) 649 ffld2d(:,:) = 0.0 !! 650 ENDIF 651 IF( med_diag%PD_SILIM%dgsave ) THEN 652 CALL wrk_alloc( jpi, jpj, fsld2d2 ) 653 fsld2d2(:,:) = 0.0 !! 654 ENDIF 655 IF( med_diag%PDSILIM2%dgsave ) THEN 656 CALL wrk_alloc( jpi, jpj, fsld2d ) 657 fsld2d(:,:) = 0.0 !! 658 ENDIF 659 !! 660 IF( med_diag%TOTREG_N%dgsave ) THEN 661 CALL wrk_alloc( jpi, jpj, fregen2d ) 662 fregen2d(:,:) = 0.0 !! 663 ENDIF 664 IF( med_diag%TOTRG_SI%dgsave ) THEN 665 CALL wrk_alloc( jpi, jpj, fregensi2d ) 666 fregensi2d(:,:) = 0.0 !! 667 ENDIF 668 !! 669 IF( med_diag%FASTN%dgsave ) THEN 670 CALL wrk_alloc( jpi, jpj, ftempn2d ) 671 ftempn2d(:,:) = 0.0 !! 672 ENDIF 673 IF( med_diag%FASTSI%dgsave ) THEN 674 CALL wrk_alloc( jpi, jpj, ftempsi2d ) 675 ftempsi2d(:,:) = 0.0 !! 676 ENDIF 677 IF( med_diag%FASTFE%dgsave ) THEN 678 CALL wrk_alloc( jpi, jpj, ftempfe2d ) 679 ftempfe2d(:,:) = 0.0 !! 680 ENDIF 681 IF( med_diag%FASTC%dgsave ) THEN 682 CALL wrk_alloc( jpi, jpj, ftempc2d ) 683 ftempc2d(:,:) = 0.0 !! 684 ENDIF 685 IF( med_diag%FASTCA%dgsave ) THEN 686 CALL wrk_alloc( jpi, jpj, ftempca2d ) 687 ftempca2d(:,:) = 0.0 !! 688 ENDIF 689 !! 690 IF( med_diag%REMINN%dgsave ) THEN 691 CALL wrk_alloc( jpi, jpj, freminn2d ) 692 freminn2d(:,:) = 0.0 !! 693 ENDIF 694 IF( med_diag%REMINSI%dgsave ) THEN 695 CALL wrk_alloc( jpi, jpj, freminsi2d ) 696 freminsi2d(:,:) = 0.0 !! 697 ENDIF 698 IF( med_diag%REMINFE%dgsave ) THEN 699 CALL wrk_alloc( jpi, jpj, freminfe2d ) 700 freminfe2d(:,:) = 0.0 !! 701 ENDIF 702 IF( med_diag%REMINC%dgsave ) THEN 703 CALL wrk_alloc( jpi, jpj, freminc2d ) 704 freminc2d(:,:) = 0.0 !! 705 ENDIF 706 IF( med_diag%REMINCA%dgsave ) THEN 707 CALL wrk_alloc( jpi, jpj, freminca2d ) 708 freminca2d(:,:) = 0.0 !! 709 ENDIF 710 # if defined key_roam 711 IF( med_diag%RR_0100%dgsave ) THEN 712 CALL wrk_alloc( jpi, jpj, ffastca2d ) 713 ffastca2d(:,:) = 0.0 !! 714 ENDIF 715 IF( med_diag%RIV_N%dgsave ) THEN 716 CALL wrk_alloc( jpi, jpj, rivn2d ) 717 rivn2d(:,:) = 0.0 !! 718 ENDIF 719 IF( med_diag%RIV_SI%dgsave ) THEN 720 CALL wrk_alloc( jpi, jpj, rivsi2d ) 721 rivsi2d(:,:) = 0.0 !! 722 ENDIF 723 IF( med_diag%RIV_C%dgsave ) THEN 724 CALL wrk_alloc( jpi, jpj, rivc2d ) 725 rivc2d(:,:) = 0.0 !! 726 ENDIF 727 IF( med_diag%RIV_ALK%dgsave ) THEN 728 CALL wrk_alloc( jpi, jpj, rivalk2d ) 729 rivalk2d(:,:) = 0.0 !! 730 ENDIF 731 IF( med_diag%DETC%dgsave ) THEN 732 CALL wrk_alloc( jpi, jpj, fslowc2d ) 733 fslowc2d(:,:) = 0.0 !! 734 ENDIF 735 IF( med_diag%PN_LLOSS%dgsave ) THEN 736 CALL wrk_alloc( jpi, jpj, fdpn22d ) 737 fdpn22d(:,:) = 0.0 !! 738 ENDIF 739 IF( med_diag%PD_LLOSS%dgsave ) THEN 740 CALL wrk_alloc( jpi, jpj, fdpd22d ) 741 fdpd22d(:,:) = 0.0 !! 742 ENDIF 743 IF( med_diag%ZI_LLOSS%dgsave ) THEN 744 CALL wrk_alloc( jpi, jpj, fdzmi22d ) 745 fdzmi22d(:,:) = 0.0 !! 746 ENDIF 747 IF( med_diag%ZE_LLOSS%dgsave ) THEN 748 CALL wrk_alloc( jpi, jpj, fdzme22d ) 749 fdzme22d(:,:) = 0.0 !! 750 ENDIF 751 IF( med_diag%ZI_MES_N%dgsave ) THEN 752 CALL wrk_alloc( jpi, jpj, zimesn2d ) 753 zimesn2d(:,:) = 0.0 !! 754 ENDIF 755 IF( med_diag%ZI_MES_D%dgsave ) THEN 756 CALL wrk_alloc( jpi, jpj, zimesd2d ) 757 zimesd2d(:,:) = 0.0 !! 758 ENDIF 759 IF( med_diag%ZI_MES_C%dgsave ) THEN 760 CALL wrk_alloc( jpi, jpj, zimesc2d ) 761 zimesc2d(:,:) = 0.0 !! 762 ENDIF 763 IF( med_diag%ZI_MESDC%dgsave ) THEN 764 CALL wrk_alloc( jpi, jpj, zimesdc2d ) 765 zimesdc2d(:,:) = 0.0 !! 766 ENDIF 767 IF( med_diag%ZI_EXCR%dgsave ) THEN 768 CALL wrk_alloc( jpi, jpj, ziexcr2d ) 769 ziexcr2d(:,:) = 0.0 !! 770 ENDIF 771 IF( med_diag%ZI_RESP%dgsave ) THEN 772 CALL wrk_alloc( jpi, jpj, ziresp2d ) 773 ziresp2d(:,:) = 0.0 !! 774 ENDIF 775 IF( med_diag%ZI_GROW%dgsave ) THEN 776 CALL wrk_alloc( jpi, jpj, zigrow2d ) 777 zigrow2d(:,:) = 0.0 !! 778 ENDIF 779 IF( med_diag%ZE_MES_N%dgsave ) THEN 780 CALL wrk_alloc( jpi, jpj, zemesn2d ) 781 zemesn2d(:,:) = 0.0 !! 782 ENDIF 783 IF( med_diag%ZE_MES_D%dgsave ) THEN 784 CALL wrk_alloc( jpi, jpj, zemesd2d ) 785 zemesd2d(:,:) = 0.0 !! 786 ENDIF 787 IF( med_diag%ZE_MES_C%dgsave ) THEN 788 CALL wrk_alloc( jpi, jpj, zemesc2d ) 789 zemesc2d(:,:) = 0.0 !! 790 ENDIF 791 IF( med_diag%ZE_MESDC%dgsave ) THEN 792 CALL wrk_alloc( jpi, jpj, zemesdc2d ) 793 zemesdc2d(:,:) = 0.0 !! 794 ENDIF 795 IF( med_diag%ZE_EXCR%dgsave ) THEN 796 CALL wrk_alloc( jpi, jpj, zeexcr2d ) 797 zeexcr2d(:,:) = 0.0 !! 798 ENDIF 799 IF( med_diag%ZE_RESP%dgsave ) THEN 800 CALL wrk_alloc( jpi, jpj, zeresp2d ) 801 zeresp2d(:,:) = 0.0 !! 802 ENDIF 803 IF( med_diag%ZE_GROW%dgsave ) THEN 804 CALL wrk_alloc( jpi, jpj, zegrow2d ) 805 zegrow2d(:,:) = 0.0 !! 806 ENDIF 807 IF( med_diag%MDETC%dgsave ) THEN 808 CALL wrk_alloc( jpi, jpj, mdetc2d ) 809 mdetc2d(:,:) = 0.0 !! 810 ENDIF 811 IF( med_diag%GMIDC%dgsave ) THEN 812 CALL wrk_alloc( jpi, jpj, gmidc2d ) 813 gmidc2d(:,:) = 0.0 !! 814 ENDIF 815 IF( med_diag%GMEDC%dgsave ) THEN 816 CALL wrk_alloc( jpi, jpj, gmedc2d ) 817 gmedc2d(:,:) = 0.0 !! 818 ENDIF 819 IF( med_diag%ATM_PCO2%dgsave ) THEN 820 CALL wrk_alloc( jpi, jpj, f_pco2a2d ) 821 f_pco2a2d(:,:) = 0.0 !! 822 ENDIF 823 IF( med_diag%OCN_PCO2%dgsave ) THEN 824 CALL wrk_alloc( jpi, jpj, f_pco2w2d ) 825 f_pco2w2d(:,:) = 0.0 !! 826 ENDIF 827 IF( med_diag%CO2FLUX%dgsave ) THEN 828 CALL wrk_alloc( jpi, jpj, f_co2flux2d ) 829 f_co2flux2d(:,:) = 0.0 !! 830 ENDIF 831 IF( med_diag%TCO2%dgsave ) THEN 832 CALL wrk_alloc( jpi, jpj, f_TDIC2d ) 833 f_TDIC2d(:,:) = 0.0 !! 834 ENDIF 835 IF( med_diag%TALK%dgsave ) THEN 836 CALL wrk_alloc( jpi, jpj, f_TALK2d ) 837 f_TALK2d(:,:) = 0.0 !! 838 ENDIF 839 IF( med_diag%KW660%dgsave ) THEN 840 CALL wrk_alloc( jpi, jpj, f_kw6602d ) 841 f_kw6602d(:,:) = 0.0 !! 842 ENDIF 843 IF( med_diag%ATM_PP0%dgsave ) THEN 844 CALL wrk_alloc( jpi, jpj, f_pp02d ) 845 f_pp02d(:,:) = 0.0 !! 846 ENDIF 847 IF( med_diag%O2FLUX%dgsave ) THEN 848 CALL wrk_alloc( jpi, jpj, f_o2flux2d ) 849 f_o2flux2d(:,:) = 0.0 !! 850 ENDIF 851 IF( med_diag%O2SAT%dgsave ) THEN 852 CALL wrk_alloc( jpi, jpj, f_o2sat2d ) 853 f_o2sat2d(:,:) = 0.0 !! 854 ENDIF 855 !! 856 IF( med_diag%IBEN_N%dgsave ) THEN 857 CALL wrk_alloc( jpi, jpj, iben_n2d ) 858 iben_n2d(:,:) = 0.0 !! 859 ENDIF 860 IF( med_diag%IBEN_FE%dgsave ) THEN 861 CALL wrk_alloc( jpi, jpj, iben_fe2d ) 862 iben_fe2d(:,:) = 0.0 !! 863 ENDIF 864 IF( med_diag%IBEN_C%dgsave ) THEN 865 CALL wrk_alloc( jpi, jpj, iben_c2d ) 866 iben_c2d(:,:) = 0.0 !! 867 ENDIF 868 IF( med_diag%IBEN_SI%dgsave ) THEN 869 CALL wrk_alloc( jpi, jpj, iben_si2d ) 870 iben_si2d(:,:) = 0.0 !! 871 ENDIF 872 IF( med_diag%IBEN_CA%dgsave ) THEN 873 CALL wrk_alloc( jpi, jpj, iben_ca2d ) 874 iben_ca2d(:,:) = 0.0 !! 875 ENDIF 876 IF( med_diag%OBEN_N%dgsave ) THEN 877 CALL wrk_alloc( jpi, jpj, oben_n2d ) 878 oben_n2d(:,:) = 0.0 !! 879 ENDIF 880 IF( med_diag%OBEN_FE%dgsave ) THEN 881 CALL wrk_alloc( jpi, jpj, oben_fe2d ) 882 oben_fe2d(:,:) = 0.0 !! 883 ENDIF 884 IF( med_diag%OBEN_C%dgsave ) THEN 885 CALL wrk_alloc( jpi, jpj, oben_c2d ) 886 oben_c2d(:,:) = 0.0 !! 887 ENDIF 888 IF( med_diag%OBEN_SI%dgsave ) THEN 889 CALL wrk_alloc( jpi, jpj, oben_si2d ) 890 oben_si2d(:,:) = 0.0 !! 891 ENDIF 892 IF( med_diag%OBEN_CA%dgsave ) THEN 893 CALL wrk_alloc( jpi, jpj, oben_ca2d ) 894 oben_ca2d(:,:) = 0.0 !! 895 ENDIF 896 IF( med_diag%SFR_OCAL%dgsave ) THEN 897 CALL wrk_alloc( jpi, jpj, sfr_ocal2d ) 898 sfr_ocal2d(:,:) = 0.0 !! 899 ENDIF 900 IF( med_diag%SFR_OARG%dgsave ) THEN 901 CALL wrk_alloc( jpi, jpj, sfr_oarg2d ) 902 sfr_oarg2d(:,:) = 0.0 !! 903 ENDIF 904 IF( med_diag%LYSO_CA%dgsave ) THEN 905 CALL wrk_alloc( jpi, jpj, lyso_ca2d ) 906 lyso_ca2d(:,:) = 0.0 !! 907 ENDIF 908 !! 909 IF (jdms .eq. 1) THEN 910 IF( med_diag%DMS_SURF%dgsave ) THEN 911 CALL wrk_alloc( jpi, jpj, dms_surf2d ) 912 dms_surf2d(:,:) = 0.0 !! 913 ENDIF 914 IF( med_diag%DMS_ANDR%dgsave ) THEN 915 CALL wrk_alloc( jpi, jpj, dms_andr2d ) 916 dms_andr2d(:,:) = 0.0 !! 917 ENDIF 918 IF( med_diag%DMS_SIMO%dgsave ) THEN 919 CALL wrk_alloc( jpi, jpj, dms_simo2d ) 920 dms_simo2d(:,:) = 0.0 !! 921 ENDIF 922 IF( med_diag%DMS_ARAN%dgsave ) THEN 923 CALL wrk_alloc( jpi, jpj, dms_aran2d ) 924 dms_aran2d(:,:) = 0.0 !! 925 ENDIF 926 IF( med_diag%DMS_HALL%dgsave ) THEN 927 CALL wrk_alloc( jpi, jpj, dms_hall2d ) 928 dms_hall2d(:,:) = 0.0 !! 929 ENDIF 930 ENDIF 567 IF ( lk_iomput .AND. .NOT. ln_diatrc ) THEN 568 !! 569 if ( kt == nittrc000 ) CALL trc_nam_iom_medusa !! initialise iom_use test 570 !! 571 CALL wrk_alloc( jpi, jpj, zw2d ) 572 zw2d(:,:) = 0.0 !! 573 IF ( med_diag%PRN%dgsave ) THEN 574 CALL wrk_alloc( jpi, jpj, fprn2d ) 575 fprn2d(:,:) = 0.0 !! 576 ENDIF 577 IF ( med_diag%MPN%dgsave ) THEN 578 CALL wrk_alloc( jpi, jpj, fdpn2d ) 579 fdpn2d(:,:) = 0.0 !! 580 ENDIF 581 IF ( med_diag%PRD%dgsave ) THEN 582 CALL wrk_alloc( jpi, jpj, fprd2d ) 583 fprd2d(:,:) = 0.0 !! 584 ENDIF 585 IF( med_diag%MPD%dgsave ) THEN 586 CALL wrk_alloc( jpi, jpj, fdpd2d ) 587 fdpd2d(:,:) = 0.0 !! 588 ENDIF 589 IF( med_diag%OPAL%dgsave ) THEN 590 CALL wrk_alloc( jpi, jpj, fprds2d ) 591 fprds2d(:,:) = 0.0 !! 592 ENDIF 593 IF( med_diag%OPALDISS%dgsave ) THEN 594 CALL wrk_alloc( jpi, jpj, fsdiss2d ) 595 fsdiss2d(:,:) = 0.0 !! 596 ENDIF 597 IF( med_diag%GMIPn%dgsave ) THEN 598 CALL wrk_alloc( jpi, jpj, fgmipn2d ) 599 fgmipn2d(:,:) = 0.0 !! 600 ENDIF 601 IF( med_diag%GMID%dgsave ) THEN 602 CALL wrk_alloc( jpi, jpj, fgmid2d ) 603 fgmid2d(:,:) = 0.0 !! 604 ENDIF 605 IF( med_diag%MZMI%dgsave ) THEN 606 CALL wrk_alloc( jpi, jpj, fdzmi2d ) 607 fdzmi2d(:,:) = 0.0 !! 608 ENDIF 609 IF( med_diag%GMEPN%dgsave ) THEN 610 CALL wrk_alloc( jpi, jpj, fgmepn2d ) 611 fgmepn2d(:,:) = 0.0 !! 612 ENDIF 613 IF( med_diag%GMEPD%dgsave ) THEN 614 CALL wrk_alloc( jpi, jpj, fgmepd2d ) 615 fgmepd2d(:,:) = 0.0 !! 616 ENDIF 617 IF( med_diag%GMEZMI%dgsave ) THEN 618 CALL wrk_alloc( jpi, jpj, fgmezmi2d ) 619 fgmezmi2d(:,:) = 0.0 !! 620 ENDIF 621 IF( med_diag%GMED%dgsave ) THEN 622 CALL wrk_alloc( jpi, jpj, fgmed2d ) 623 fgmed2d(:,:) = 0.0 !! 624 ENDIF 625 IF( med_diag%MZME%dgsave ) THEN 626 CALL wrk_alloc( jpi, jpj, fdzme2d ) 627 fdzme2d(:,:) = 0.0 !! 628 ENDIF 629 IF( med_diag%DETN%dgsave ) THEN 630 CALL wrk_alloc( jpi, jpj, fslown2d ) 631 fslown2d(:,:) = 0.0 !! 632 ENDIF 633 IF( med_diag%MDET%dgsave ) THEN 634 CALL wrk_alloc( jpi, jpj, fdd2d ) 635 fdd2d(:,:) = 0.0 !! 636 ENDIF 637 IF( med_diag%AEOLIAN%dgsave ) THEN 638 CALL wrk_alloc( jpi, jpj, ffetop2d ) 639 ffetop2d(:,:) = 0.0 !! 640 ENDIF 641 IF( med_diag%BENTHIC%dgsave ) THEN 642 CALL wrk_alloc( jpi, jpj, ffebot2d ) 643 ffebot2d(:,:) = 0.0 !! 644 ENDIF 645 IF( med_diag%SCAVENGE%dgsave ) THEN 646 CALL wrk_alloc( jpi, jpj, ffescav2d ) 647 ffescav2d(:,:) = 0.0 !! 648 ENDIF 649 IF( med_diag%PN_JLIM%dgsave ) THEN 650 CALL wrk_alloc( jpi, jpj, fjln2d ) 651 fjln2d(:,:) = 0.0 !! 652 ENDIF 653 IF( med_diag%PN_NLIM%dgsave ) THEN 654 CALL wrk_alloc( jpi, jpj, fnln2d ) 655 fnln2d(:,:) = 0.0 !! 656 ENDIF 657 IF( med_diag%PN_FELIM%dgsave ) THEN 658 CALL wrk_alloc( jpi, jpj, ffln2d ) 659 ffln2d(:,:) = 0.0 !! 660 ENDIF 661 IF( med_diag%PD_JLIM%dgsave ) THEN 662 CALL wrk_alloc( jpi, jpj, fjld2d ) 663 fjld2d(:,:) = 0.0 !! 664 ENDIF 665 IF( med_diag%PD_NLIM%dgsave ) THEN 666 CALL wrk_alloc( jpi, jpj, fnld2d ) 667 fnld2d(:,:) = 0.0 !! 668 ENDIF 669 IF( med_diag%PD_FELIM%dgsave ) THEN 670 CALL wrk_alloc( jpi, jpj, ffld2d ) 671 ffld2d(:,:) = 0.0 !! 672 ENDIF 673 IF( med_diag%PD_SILIM%dgsave ) THEN 674 CALL wrk_alloc( jpi, jpj, fsld2d2 ) 675 fsld2d2(:,:) = 0.0 !! 676 ENDIF 677 IF( med_diag%PDSILIM2%dgsave ) THEN 678 CALL wrk_alloc( jpi, jpj, fsld2d ) 679 fsld2d(:,:) = 0.0 !! 680 ENDIF 681 !! 682 !! skip SDT_XXXX diagnostics here 683 !! 684 IF( med_diag%TOTREG_N%dgsave ) THEN 685 CALL wrk_alloc( jpi, jpj, fregen2d ) 686 fregen2d(:,:) = 0.0 !! 687 ENDIF 688 IF( med_diag%TOTRG_SI%dgsave ) THEN 689 CALL wrk_alloc( jpi, jpj, fregensi2d ) 690 fregensi2d(:,:) = 0.0 !! 691 ENDIF 692 !! 693 !! skip REG_XXXX diagnostics here 694 !! 695 IF( med_diag%FASTN%dgsave ) THEN 696 CALL wrk_alloc( jpi, jpj, ftempn2d ) 697 ftempn2d(:,:) = 0.0 !! 698 ENDIF 699 IF( med_diag%FASTSI%dgsave ) THEN 700 CALL wrk_alloc( jpi, jpj, ftempsi2d ) 701 ftempsi2d(:,:) = 0.0 !! 702 ENDIF 703 IF( med_diag%FASTFE%dgsave ) THEN 704 CALL wrk_alloc( jpi, jpj, ftempfe2d ) 705 ftempfe2d(:,:) = 0.0 !! 706 ENDIF 707 IF( med_diag%FASTC%dgsave ) THEN 708 CALL wrk_alloc( jpi, jpj, ftempc2d ) 709 ftempc2d(:,:) = 0.0 !! 710 ENDIF 711 IF( med_diag%FASTCA%dgsave ) THEN 712 CALL wrk_alloc( jpi, jpj, ftempca2d ) 713 ftempca2d(:,:) = 0.0 !! 714 ENDIF 715 !! 716 !! skip FDT_XXXX, RG_XXXXF, FDS_XXXX, RGSXXXXF diagnostics here 717 !! 718 IF( med_diag%REMINN%dgsave ) THEN 719 CALL wrk_alloc( jpi, jpj, freminn2d ) 720 freminn2d(:,:) = 0.0 !! 721 ENDIF 722 IF( med_diag%REMINSI%dgsave ) THEN 723 CALL wrk_alloc( jpi, jpj, freminsi2d ) 724 freminsi2d(:,:) = 0.0 !! 725 ENDIF 726 IF( med_diag%REMINFE%dgsave ) THEN 727 CALL wrk_alloc( jpi, jpj, freminfe2d ) 728 freminfe2d(:,:) = 0.0 !! 729 ENDIF 730 IF( med_diag%REMINC%dgsave ) THEN 731 CALL wrk_alloc( jpi, jpj, freminc2d ) 732 freminc2d(:,:) = 0.0 !! 733 ENDIF 734 IF( med_diag%REMINCA%dgsave ) THEN 735 CALL wrk_alloc( jpi, jpj, freminca2d ) 736 freminca2d(:,:) = 0.0 !! 737 ENDIF 738 # if defined key_roam 739 !! 740 !! skip SEAFLRXX, MED_XXXX, INTFLX_XX, INT_XX, ML_XXX, OCAL_XXX, FE_XXXX, MED_XZE, WIND diagnostics here 741 !! 742 IF( med_diag%ATM_PCO2%dgsave ) THEN 743 CALL wrk_alloc( jpi, jpj, f_pco2a2d ) 744 f_pco2a2d(:,:) = 0.0 !! 745 ENDIF 746 !! 747 !! skip OCN_PH diagnostic here 748 !! 749 IF( med_diag%OCN_PCO2%dgsave ) THEN 750 CALL wrk_alloc( jpi, jpj, f_pco2w2d ) 751 f_pco2w2d(:,:) = 0.0 !! 752 ENDIF 753 !! 754 !! skip OCNH2CO3, OCN_HCO3, OCN_CO3 diagnostics here 755 !! 756 IF( med_diag%CO2FLUX%dgsave ) THEN 757 CALL wrk_alloc( jpi, jpj, f_co2flux2d ) 758 f_co2flux2d(:,:) = 0.0 !! 759 ENDIF 760 !! 761 !! skip OM_XXX diagnostics here 762 !! 763 IF( med_diag%TCO2%dgsave ) THEN 764 CALL wrk_alloc( jpi, jpj, f_TDIC2d ) 765 f_TDIC2d(:,:) = 0.0 !! 766 ENDIF 767 IF( med_diag%TALK%dgsave ) THEN 768 CALL wrk_alloc( jpi, jpj, f_TALK2d ) 769 f_TALK2d(:,:) = 0.0 !! 770 ENDIF 771 IF( med_diag%KW660%dgsave ) THEN 772 CALL wrk_alloc( jpi, jpj, f_kw6602d ) 773 f_kw6602d(:,:) = 0.0 !! 774 ENDIF 775 IF( med_diag%ATM_PP0%dgsave ) THEN 776 CALL wrk_alloc( jpi, jpj, f_pp02d ) 777 f_pp02d(:,:) = 0.0 !! 778 ENDIF 779 IF( med_diag%O2FLUX%dgsave ) THEN 780 CALL wrk_alloc( jpi, jpj, f_o2flux2d ) 781 f_o2flux2d(:,:) = 0.0 !! 782 ENDIF 783 IF( med_diag%O2SAT%dgsave ) THEN 784 CALL wrk_alloc( jpi, jpj, f_o2sat2d ) 785 f_o2sat2d(:,:) = 0.0 !! 786 ENDIF 787 !! 788 !! skip XXX_CCD diagnostics here 789 !! 790 IF( med_diag%SFR_OCAL%dgsave ) THEN 791 CALL wrk_alloc( jpi, jpj, sfr_ocal2d ) 792 sfr_ocal2d(:,:) = 0.0 !! 793 ENDIF 794 IF( med_diag%SFR_OARG%dgsave ) THEN 795 CALL wrk_alloc( jpi, jpj, sfr_oarg2d ) 796 sfr_oarg2d(:,:) = 0.0 !! 797 ENDIF 798 !! 799 !! skip XX_PROD, XX_CONS, O2_ANOX, RR_XXXX diagnostics here 800 !! 801 IF( med_diag%IBEN_N%dgsave ) THEN 802 CALL wrk_alloc( jpi, jpj, iben_n2d ) 803 iben_n2d(:,:) = 0.0 !! 804 ENDIF 805 IF( med_diag%IBEN_FE%dgsave ) THEN 806 CALL wrk_alloc( jpi, jpj, iben_fe2d ) 807 iben_fe2d(:,:) = 0.0 !! 808 ENDIF 809 IF( med_diag%IBEN_C%dgsave ) THEN 810 CALL wrk_alloc( jpi, jpj, iben_c2d ) 811 iben_c2d(:,:) = 0.0 !! 812 ENDIF 813 IF( med_diag%IBEN_SI%dgsave ) THEN 814 CALL wrk_alloc( jpi, jpj, iben_si2d ) 815 iben_si2d(:,:) = 0.0 !! 816 ENDIF 817 IF( med_diag%IBEN_CA%dgsave ) THEN 818 CALL wrk_alloc( jpi, jpj, iben_ca2d ) 819 iben_ca2d(:,:) = 0.0 !! 820 ENDIF 821 IF( med_diag%OBEN_N%dgsave ) THEN 822 CALL wrk_alloc( jpi, jpj, oben_n2d ) 823 oben_n2d(:,:) = 0.0 !! 824 ENDIF 825 IF( med_diag%OBEN_FE%dgsave ) THEN 826 CALL wrk_alloc( jpi, jpj, oben_fe2d ) 827 oben_fe2d(:,:) = 0.0 !! 828 ENDIF 829 IF( med_diag%OBEN_C%dgsave ) THEN 830 CALL wrk_alloc( jpi, jpj, oben_c2d ) 831 oben_c2d(:,:) = 0.0 !! 832 ENDIF 833 IF( med_diag%OBEN_SI%dgsave ) THEN 834 CALL wrk_alloc( jpi, jpj, oben_si2d ) 835 oben_si2d(:,:) = 0.0 !! 836 ENDIF 837 IF( med_diag%OBEN_CA%dgsave ) THEN 838 CALL wrk_alloc( jpi, jpj, oben_ca2d ) 839 oben_ca2d(:,:) = 0.0 !! 840 ENDIF 841 !! 842 !! skip BEN_XX diagnostics here 843 !! 844 IF( med_diag%RIV_N%dgsave ) THEN 845 CALL wrk_alloc( jpi, jpj, rivn2d ) 846 rivn2d(:,:) = 0.0 !! 847 ENDIF 848 IF( med_diag%RIV_SI%dgsave ) THEN 849 CALL wrk_alloc( jpi, jpj, rivsi2d ) 850 rivsi2d(:,:) = 0.0 !! 851 ENDIF 852 IF( med_diag%RIV_C%dgsave ) THEN 853 CALL wrk_alloc( jpi, jpj, rivc2d ) 854 rivc2d(:,:) = 0.0 !! 855 ENDIF 856 IF( med_diag%RIV_ALK%dgsave ) THEN 857 CALL wrk_alloc( jpi, jpj, rivalk2d ) 858 rivalk2d(:,:) = 0.0 !! 859 ENDIF 860 IF( med_diag%DETC%dgsave ) THEN 861 CALL wrk_alloc( jpi, jpj, fslowc2d ) 862 fslowc2d(:,:) = 0.0 !! 863 ENDIF 864 !! 865 !! skip SDC_XXXX, INVTXXX diagnostics here 866 !! 867 IF( med_diag%LYSO_CA%dgsave ) THEN 868 CALL wrk_alloc( jpi, jpj, lyso_ca2d ) 869 lyso_ca2d(:,:) = 0.0 !! 870 ENDIF 871 !! 872 !! skip COM_RESP diagnostic here 873 !! 874 IF( med_diag%PN_LLOSS%dgsave ) THEN 875 CALL wrk_alloc( jpi, jpj, fdpn22d ) 876 fdpn22d(:,:) = 0.0 !! 877 ENDIF 878 IF( med_diag%PD_LLOSS%dgsave ) THEN 879 CALL wrk_alloc( jpi, jpj, fdpd22d ) 880 fdpd22d(:,:) = 0.0 !! 881 ENDIF 882 IF( med_diag%ZI_LLOSS%dgsave ) THEN 883 CALL wrk_alloc( jpi, jpj, fdzmi22d ) 884 fdzmi22d(:,:) = 0.0 !! 885 ENDIF 886 IF( med_diag%ZE_LLOSS%dgsave ) THEN 887 CALL wrk_alloc( jpi, jpj, fdzme22d ) 888 fdzme22d(:,:) = 0.0 !! 889 ENDIF 890 IF( med_diag%ZI_MES_N%dgsave ) THEN 891 CALL wrk_alloc( jpi, jpj, zimesn2d ) 892 zimesn2d(:,:) = 0.0 !! 893 ENDIF 894 IF( med_diag%ZI_MES_D%dgsave ) THEN 895 CALL wrk_alloc( jpi, jpj, zimesd2d ) 896 zimesd2d(:,:) = 0.0 !! 897 ENDIF 898 IF( med_diag%ZI_MES_C%dgsave ) THEN 899 CALL wrk_alloc( jpi, jpj, zimesc2d ) 900 zimesc2d(:,:) = 0.0 !! 901 ENDIF 902 IF( med_diag%ZI_MESDC%dgsave ) THEN 903 CALL wrk_alloc( jpi, jpj, zimesdc2d ) 904 zimesdc2d(:,:) = 0.0 !! 905 ENDIF 906 IF( med_diag%ZI_EXCR%dgsave ) THEN 907 CALL wrk_alloc( jpi, jpj, ziexcr2d ) 908 ziexcr2d(:,:) = 0.0 !! 909 ENDIF 910 IF( med_diag%ZI_RESP%dgsave ) THEN 911 CALL wrk_alloc( jpi, jpj, ziresp2d ) 912 ziresp2d(:,:) = 0.0 !! 913 ENDIF 914 IF( med_diag%ZI_GROW%dgsave ) THEN 915 CALL wrk_alloc( jpi, jpj, zigrow2d ) 916 zigrow2d(:,:) = 0.0 !! 917 ENDIF 918 IF( med_diag%ZE_MES_N%dgsave ) THEN 919 CALL wrk_alloc( jpi, jpj, zemesn2d ) 920 zemesn2d(:,:) = 0.0 !! 921 ENDIF 922 IF( med_diag%ZE_MES_D%dgsave ) THEN 923 CALL wrk_alloc( jpi, jpj, zemesd2d ) 924 zemesd2d(:,:) = 0.0 !! 925 ENDIF 926 IF( med_diag%ZE_MES_C%dgsave ) THEN 927 CALL wrk_alloc( jpi, jpj, zemesc2d ) 928 zemesc2d(:,:) = 0.0 !! 929 ENDIF 930 IF( med_diag%ZE_MESDC%dgsave ) THEN 931 CALL wrk_alloc( jpi, jpj, zemesdc2d ) 932 zemesdc2d(:,:) = 0.0 !! 933 ENDIF 934 IF( med_diag%ZE_EXCR%dgsave ) THEN 935 CALL wrk_alloc( jpi, jpj, zeexcr2d ) 936 zeexcr2d(:,:) = 0.0 !! 937 ENDIF 938 IF( med_diag%ZE_RESP%dgsave ) THEN 939 CALL wrk_alloc( jpi, jpj, zeresp2d ) 940 zeresp2d(:,:) = 0.0 !! 941 ENDIF 942 IF( med_diag%ZE_GROW%dgsave ) THEN 943 CALL wrk_alloc( jpi, jpj, zegrow2d ) 944 zegrow2d(:,:) = 0.0 !! 945 ENDIF 946 IF( med_diag%MDETC%dgsave ) THEN 947 CALL wrk_alloc( jpi, jpj, mdetc2d ) 948 mdetc2d(:,:) = 0.0 !! 949 ENDIF 950 IF( med_diag%GMIDC%dgsave ) THEN 951 CALL wrk_alloc( jpi, jpj, gmidc2d ) 952 gmidc2d(:,:) = 0.0 !! 953 ENDIF 954 IF( med_diag%GMEDC%dgsave ) THEN 955 CALL wrk_alloc( jpi, jpj, gmedc2d ) 956 gmedc2d(:,:) = 0.0 !! 957 ENDIF 958 !! 959 !! skip INT_XXX diagnostics here 960 !! 961 IF (jdms .eq. 1) THEN 962 IF( med_diag%DMS_SURF%dgsave ) THEN 963 CALL wrk_alloc( jpi, jpj, dms_surf2d ) 964 dms_surf2d(:,:) = 0.0 !! 965 ENDIF 966 IF( med_diag%DMS_ANDR%dgsave ) THEN 967 CALL wrk_alloc( jpi, jpj, dms_andr2d ) 968 dms_andr2d(:,:) = 0.0 !! 969 ENDIF 970 IF( med_diag%DMS_SIMO%dgsave ) THEN 971 CALL wrk_alloc( jpi, jpj, dms_simo2d ) 972 dms_simo2d(:,:) = 0.0 !! 973 ENDIF 974 IF( med_diag%DMS_ARAN%dgsave ) THEN 975 CALL wrk_alloc( jpi, jpj, dms_aran2d ) 976 dms_aran2d(:,:) = 0.0 !! 977 ENDIF 978 IF( med_diag%DMS_HALL%dgsave ) THEN 979 CALL wrk_alloc( jpi, jpj, dms_hall2d ) 980 dms_hall2d(:,:) = 0.0 !! 981 ENDIF 982 ENDIF 931 983 # endif 932 984 IF( med_diag%TPP3%dgsave ) THEN 933 934 tpp3d(:,:,:) = 0.0!!985 CALL wrk_alloc( jpi, jpj, jpk, tpp3d ) 986 tpp3d(:,:,:) = 0.0 !! 935 987 ENDIF 936 988 IF( med_diag%DETFLUX3%dgsave ) THEN 937 938 detflux3d(:,:,:) = 0.0!!939 ENDIF 940 989 CALL wrk_alloc( jpi, jpj, jpk, detflux3d ) 990 detflux3d(:,:,:) = 0.0 !! 991 ENDIF 992 IF( med_diag%REMIN3N%dgsave ) THEN 941 993 CALL wrk_alloc( jpi, jpj, jpk, remin3dn ) 942 remin3dn(:,:,:) = 0.0 !! 943 ENDIF 944 ENDIF 945 !! lk_iomput 946 !! 994 remin3dn(:,:,:) = 0.0 !! 995 ENDIF 996 !! 997 !! AXY (10/11/16): CMIP6 diagnostics, 2D 998 IF( med_diag%EPC100%dgsave ) THEN 999 CALL wrk_alloc( jpi, jpj, epc100 ) 1000 epc100(:,:) = 0.0 !! 1001 ENDIF 1002 IF( med_diag%EPCALC100%dgsave ) THEN 1003 CALL wrk_alloc( jpi, jpj, epcalc100 ) 1004 epcalc100(:,:) = 0.0 !! 1005 ENDIF 1006 IF( med_diag%EPN100%dgsave ) THEN 1007 CALL wrk_alloc( jpi, jpj, epn100 ) 1008 epn100(:,:) = 0.0 !! 1009 ENDIF 1010 IF( med_diag%EPSI100%dgsave ) THEN 1011 CALL wrk_alloc( jpi, jpj, epsi100 ) 1012 epsi100(:,:) = 0.0 !! 1013 ENDIF 1014 IF( med_diag%FGCO2%dgsave ) THEN 1015 CALL wrk_alloc( jpi, jpj, fgco2 ) 1016 fgco2(:,:) = 0.0 !! 1017 ENDIF 1018 IF( med_diag%INTDISSIC%dgsave ) THEN 1019 CALL wrk_alloc( jpi, jpj, intdissic ) 1020 intdissic(:,:) = 0.0 !! 1021 ENDIF 1022 IF( med_diag%INTDISSIN%dgsave ) THEN 1023 CALL wrk_alloc( jpi, jpj, intdissin ) 1024 intdissin(:,:) = 0.0 !! 1025 ENDIF 1026 IF( med_diag%INTDISSISI%dgsave ) THEN 1027 CALL wrk_alloc( jpi, jpj, intdissisi ) 1028 intdissisi(:,:) = 0.0 !! 1029 ENDIF 1030 IF( med_diag%INTTALK%dgsave ) THEN 1031 CALL wrk_alloc( jpi, jpj, inttalk ) 1032 inttalk(:,:) = 0.0 !! 1033 ENDIF 1034 IF( med_diag%O2min%dgsave ) THEN 1035 CALL wrk_alloc( jpi, jpj, o2min ) 1036 o2min(:,:) = 1.e6 !! set to high value as we're looking for min(o2) 1037 ENDIF 1038 IF( med_diag%ZO2min%dgsave ) THEN 1039 CALL wrk_alloc( jpi, jpj, zo2min ) 1040 zo2min(:,:) = 0.0 !! 1041 ENDIF 1042 !! 1043 !! AXY (10/11/16): CMIP6 diagnostics, 3D 1044 IF( med_diag%TPPD3%dgsave ) THEN 1045 CALL wrk_alloc( jpi, jpj, jpk, tppd3 ) 1046 tppd3(:,:,:) = 0.0 !! 1047 ENDIF 1048 IF( med_diag%BDDTALK3%dgsave ) THEN 1049 CALL wrk_alloc( jpi, jpj, jpk, bddtalk3 ) 1050 bddtalk3(:,:,:) = 0.0 !! 1051 ENDIF 1052 IF( med_diag%BDDTDIC3%dgsave ) THEN 1053 CALL wrk_alloc( jpi, jpj, jpk, bddtdic3 ) 1054 bddtdic3(:,:,:) = 0.0 !! 1055 ENDIF 1056 IF( med_diag%BDDTDIFE3%dgsave ) THEN 1057 CALL wrk_alloc( jpi, jpj, jpk, bddtdife3 ) 1058 bddtdife3(:,:,:) = 0.0 !! 1059 ENDIF 1060 IF( med_diag%BDDTDIN3%dgsave ) THEN 1061 CALL wrk_alloc( jpi, jpj, jpk, bddtdin3 ) 1062 bddtdin3(:,:,:) = 0.0 !! 1063 ENDIF 1064 IF( med_diag%BDDTDISI3%dgsave ) THEN 1065 CALL wrk_alloc( jpi, jpj, jpk, bddtdisi3 ) 1066 bddtdisi3(:,:,:) = 0.0 !! 1067 ENDIF 1068 IF( med_diag%FD_NIT3%dgsave ) THEN 1069 CALL wrk_alloc( jpi, jpj, jpk, fd_nit3 ) 1070 fd_nit3(:,:,:) = 0.0 !! 1071 ENDIF 1072 IF( med_diag%FD_SIL3%dgsave ) THEN 1073 CALL wrk_alloc( jpi, jpj, jpk, fd_sil3 ) 1074 fd_sil3(:,:,:) = 0.0 !! 1075 ENDIF 1076 IF( med_diag%FD_CAR3%dgsave ) THEN 1077 CALL wrk_alloc( jpi, jpj, jpk, fd_car3 ) 1078 fd_car3(:,:,:) = 0.0 !! 1079 ENDIF 1080 IF( med_diag%FD_CAL3%dgsave ) THEN 1081 CALL wrk_alloc( jpi, jpj, jpk, fd_cal3 ) 1082 fd_cal3(:,:,:) = 0.0 !! 1083 ENDIF 1084 IF( med_diag%DCALC3%dgsave ) THEN 1085 CALL wrk_alloc( jpi, jpj, jpk, dcalc3 ) 1086 dcalc3(:,:,: ) = 0.0 !! 1087 ENDIF 1088 IF( med_diag%FEDISS3%dgsave ) THEN 1089 CALL wrk_alloc( jpi, jpj, jpk, fediss3 ) 1090 fediss3(:,:,: ) = 0.0 !! 1091 ENDIF 1092 IF( med_diag%FESCAV3%dgsave ) THEN 1093 CALL wrk_alloc( jpi, jpj, jpk, fescav3 ) 1094 fescav3(:,:,: ) = 0.0 !! 1095 ENDIF 1096 IF( med_diag%MIGRAZP3%dgsave ) THEN 1097 CALL wrk_alloc( jpi, jpj, jpk, migrazp3 ) 1098 migrazp3(:,:,: ) = 0.0 !! 1099 ENDIF 1100 IF( med_diag%MIGRAZD3%dgsave ) THEN 1101 CALL wrk_alloc( jpi, jpj, jpk, migrazd3 ) 1102 migrazd3(:,:,: ) = 0.0 !! 1103 ENDIF 1104 IF( med_diag%MEGRAZP3%dgsave ) THEN 1105 CALL wrk_alloc( jpi, jpj, jpk, megrazp3 ) 1106 megrazp3(:,:,: ) = 0.0 !! 1107 ENDIF 1108 IF( med_diag%MEGRAZD3%dgsave ) THEN 1109 CALL wrk_alloc( jpi, jpj, jpk, megrazd3 ) 1110 megrazd3(:,:,: ) = 0.0 !! 1111 ENDIF 1112 IF( med_diag%MEGRAZZ3%dgsave ) THEN 1113 CALL wrk_alloc( jpi, jpj, jpk, megrazz3 ) 1114 megrazz3(:,:,: ) = 0.0 !! 1115 ENDIF 1116 IF( med_diag%O2SAT3%dgsave ) THEN 1117 CALL wrk_alloc( jpi, jpj, jpk, o2sat3 ) 1118 o2sat3(:,:,: ) = 0.0 !! 1119 ENDIF 1120 IF( med_diag%PBSI3%dgsave ) THEN 1121 CALL wrk_alloc( jpi, jpj, jpk, pbsi3 ) 1122 pbsi3(:,:,: ) = 0.0 !! 1123 ENDIF 1124 IF( med_diag%PCAL3%dgsave ) THEN 1125 CALL wrk_alloc( jpi, jpj, jpk, pcal3 ) 1126 pcal3(:,:,: ) = 0.0 !! 1127 ENDIF 1128 IF( med_diag%REMOC3%dgsave ) THEN 1129 CALL wrk_alloc( jpi, jpj, jpk, remoc3 ) 1130 remoc3(:,:,: ) = 0.0 !! 1131 ENDIF 1132 IF( med_diag%PNLIMJ3%dgsave ) THEN 1133 CALL wrk_alloc( jpi, jpj, jpk, pnlimj3 ) 1134 pnlimj3(:,:,: ) = 0.0 !! 1135 ENDIF 1136 IF( med_diag%PNLIMN3%dgsave ) THEN 1137 CALL wrk_alloc( jpi, jpj, jpk, pnlimn3 ) 1138 pnlimn3(:,:,: ) = 0.0 !! 1139 ENDIF 1140 IF( med_diag%PNLIMFE3%dgsave ) THEN 1141 CALL wrk_alloc( jpi, jpj, jpk, pnlimfe3 ) 1142 pnlimfe3(:,:,: ) = 0.0 !! 1143 ENDIF 1144 IF( med_diag%PDLIMJ3%dgsave ) THEN 1145 CALL wrk_alloc( jpi, jpj, jpk, pdlimj3 ) 1146 pdlimj3(:,:,: ) = 0.0 !! 1147 ENDIF 1148 IF( med_diag%PDLIMN3%dgsave ) THEN 1149 CALL wrk_alloc( jpi, jpj, jpk, pdlimn3 ) 1150 pdlimn3(:,:,: ) = 0.0 !! 1151 ENDIF 1152 IF( med_diag%PDLIMFE3%dgsave ) THEN 1153 CALL wrk_alloc( jpi, jpj, jpk, pdlimfe3 ) 1154 pdlimfe3(:,:,: ) = 0.0 !! 1155 ENDIF 1156 IF( med_diag%PDLIMSI3%dgsave ) THEN 1157 CALL wrk_alloc( jpi, jpj, jpk, pdlimsi3 ) 1158 pdlimsi3(:,:,: ) = 0.0 !! 1159 ENDIF 1160 1161 ENDIF 1162 !! lk_iomput 1163 !! 947 1164 # if defined key_axy_nancheck 948 DO jn = 1,jptra949 !! fq0 = MINVAL(trn(:,:,:,jn))950 !! fq1 = MAXVAL(trn(:,:,:,jn))951 fq2 = SUM(trn(:,:,:,jn))952 !! if (lwp) write (numout,'(a,2i6,3(1x,1pe15.5))') 'NAN-CHECK', &953 !! & kt, jn, fq0, fq1, fq2954 !! AXY (30/01/14): much to our surprise, the next line doesn't work on HECTOR955 !! and has been replaced here with a specialist routine956 !! if (fq2 /= fq2 ) then957 if ( ieee_is_nan( fq2 ) ) then958 !! there's a NaN here959 if (lwp) write(numout,*) 'NAN detected in field', jn, 'at time', kt, 'at position:'960 DO jk = 1,jpk961 DO jj = 1,jpj962 DO ji = 1,jpi963 !! AXY (30/01/14): "isnan" problem on HECTOR964 !! if (trn(ji,jj,jk,jn) /= trn(ji,jj,jk,jn)) then965 if ( ieee_is_nan( trn(ji,jj,jk,jn) ) ) then966 if (lwp) write (numout,'(a,1pe12.2,4i6)') 'NAN-CHECK', &967 & tmask(ji,jj,jk), ji, jj, jk, jn968 endif969 enddo970 enddo971 enddo972 973 endif974 ENDDO975 CALL flush(numout)1165 DO jn = 1,jptra 1166 !! fq0 = MINVAL(trn(:,:,:,jn)) 1167 !! fq1 = MAXVAL(trn(:,:,:,jn)) 1168 fq2 = SUM(trn(:,:,:,jn)) 1169 !! if (lwp) write (numout,'(a,2i6,3(1x,1pe15.5))') 'NAN-CHECK', & 1170 !! & kt, jn, fq0, fq1, fq2 1171 !! AXY (30/01/14): much to our surprise, the next line doesn't work on HECTOR 1172 !! and has been replaced here with a specialist routine 1173 !! if (fq2 /= fq2 ) then 1174 if ( ieee_is_nan( fq2 ) ) then 1175 !! there's a NaN here 1176 if (lwp) write(numout,*) 'NAN detected in field', jn, 'at time', kt, 'at position:' 1177 DO jk = 1,jpk 1178 DO jj = 1,jpj 1179 DO ji = 1,jpi 1180 !! AXY (30/01/14): "isnan" problem on HECTOR 1181 !! if (trn(ji,jj,jk,jn) /= trn(ji,jj,jk,jn)) then 1182 if ( ieee_is_nan( trn(ji,jj,jk,jn) ) ) then 1183 if (lwp) write (numout,'(a,1pe12.2,4i6)') 'NAN-CHECK', & 1184 & tmask(ji,jj,jk), ji, jj, jk, jn 1185 endif 1186 enddo 1187 enddo 1188 enddo 1189 CALL ctl_stop( 'trcbio_medusa, NAN in incoming tracer field' ) 1190 endif 1191 ENDDO 1192 CALL flush(numout) 976 1193 # endif 977 1194 … … 1369 1586 ftot_o2(ji,jj) = ftot_o2(ji,jj) + (fthk * ( zoxy ) ) 1370 1587 ENDIF 1588 !! 1589 !! AXY (10/11/16): CMIP6 diagnostics 1590 IF ( med_diag%INTDISSIC%dgsave ) THEN 1591 intdissic(ji,jj) = intdissic(ji,jj) + (fthk * zdic) 1592 ENDIF 1593 IF ( med_diag%INTDISSIN%dgsave ) THEN 1594 intdissin(ji,jj) = intdissin(ji,jj) + (fthk * zdin) 1595 ENDIF 1596 IF ( med_diag%INTDISSISI%dgsave ) THEN 1597 intdissisi(ji,jj) = intdissisi(ji,jj) + (fthk * zsil) 1598 ENDIF 1599 IF ( med_diag%INTTALK%dgsave ) THEN 1600 inttalk(ji,jj) = inttalk(ji,jj) + (fthk * zalk) 1601 ENDIF 1602 IF ( med_diag%O2min%dgsave ) THEN 1603 if ( zoxy < o2min(ji,jj) ) then 1604 o2min(ji,jj) = zoxy 1605 IF ( med_diag%ZO2min%dgsave ) THEN 1606 zo2min(ji,jj) = (fdep + fdep1) / 2. !! layer midpoint 1607 ENDIF 1608 endif 1609 ENDIF 1371 1610 # endif 1372 1611 ENDIF … … 1495 1734 f_dpco2 = 0. 1496 1735 # endif 1497 !!1498 !! JPALM -- 28-10-2016 -- save co2flux in mmol/m2/s in 2D field1499 !! before it is converted to mmol/m3/d1500 IF ( lk_iomput ) THEN1501 IF( med_diag%CO2FLUX%dgsave ) THEN1502 f_co2flux2d(ji,jj) = f_co2flux1503 ENDIF1504 ENDIF1505 1736 !! 1506 1737 !! mmol/m2/s -> mmol/m3/d; correct for sea-ice; divide through by layer thickness … … 1574 1805 ENDIF 1575 1806 # if defined key_debug_medusa 1576 IF (lwp) write (numout,*) 'trc_bio_medusa: fin nish calculating dms'1807 IF (lwp) write (numout,*) 'trc_bio_medusa: finish calculating dms' 1577 1808 CALL flush(numout) 1578 1809 # endif … … 1583 1814 !! 1584 1815 !! store 2D outputs 1585 !! JPALM -- 28-10-2016 -- removed co2flux from the list below1586 !! it is now a little bit above, because a1587 !! conversion is done in between.1588 1816 IF ( lk_iomput ) THEN 1589 1817 IF( med_diag%ATM_PCO2%dgsave ) THEN … … 1592 1820 IF( med_diag%OCN_PCO2%dgsave ) THEN 1593 1821 f_pco2w2d(ji,jj) = f_pco2w 1822 ENDIF 1823 IF( med_diag%CO2FLUX%dgsave ) THEN 1824 f_co2flux2d(ji,jj) = f_co2flux * fthk !! mmol/m3/d -> mmol/m2/d 1825 ENDIF 1826 !! AXY (10/11/16): CMIP6 equivalent 1827 IF( med_diag%FGCO2%dgsave ) THEN 1828 !! convert from mol/m2/day to kg/m2/s 1829 fgco2(ji,jj) = f_co2flux * fthk * CO2flux_conv !! mmol-C/m3/d -> kg-CO2/m2/s 1594 1830 ENDIF 1595 1831 IF( med_diag%TCO2%dgsave ) THEN … … 1615 1851 endif 1616 1852 !! End jk = 1 loop within ROAM key 1853 1854 !! AXY (11/11/16): CMIP6 oxygen saturation 3D diagnostic 1855 IF ( med_diag%O2SAT3%dgsave ) THEN 1856 oxy_sato( ztmp, zsal, f_o2sat3 ) 1857 o2sat3(ji, jj, jk) = f_o2sat3 1858 ENDIF 1859 1617 1860 # endif 1618 1861 … … 3560 3803 endif 3561 3804 3805 !! AXY (09/11/16): CMIP6 diagnostics 3806 IF( med_diag%BDDTALK3%dgsave ) THEN 3807 bddtalk3(ji,jj,jk) = btra(jpalk) 3808 ENDIF 3809 IF( med_diag%BDDTDIC3%dgsave ) THEN 3810 bddtdic3(ji,jj,jk) = btra(jpdic) 3811 ENDIF 3812 IF( med_diag%BDDTDIFE3%dgsave ) THEN 3813 bddtdife3(ji,jj,jk) = btra(jpfer) 3814 ENDIF 3815 IF( med_diag%BDDTDIN3%dgsave ) THEN 3816 bddtdin3(ji,jj,jk) = btra(jpdin) 3817 ENDIF 3818 IF( med_diag%BDDTDISI3%dgsave ) THEN 3819 bddtdisi3(ji,jj,jk) = btra(jpsil) 3820 ENDIF 3821 3562 3822 # if defined key_debug_medusa 3563 3823 IF (lwp) write (numout,*) '------' … … 3650 3910 !! ** 2D diagnostics 3651 3911 # if defined key_debug_medusa 3652 3653 3912 IF (lwp) write (numout,*) 'trc_bio_medusa: diag in ij-jj-jk loop' 3913 CALL flush(numout) 3654 3914 # endif 3655 3915 IF ( med_diag%PRN%dgsave ) THEN … … 3665 3925 fdpd2d(ji,jj) = fdpd2d(ji,jj) + (fdpd * fthk) 3666 3926 ENDIF 3667 ! IF( med_diag%DSED%dgsave ) THEN3668 ! CALL iom_put( "DSED" , ftot_n )3669 ! ENDIF3927 ! IF( med_diag%DSED%dgsave ) THEN 3928 ! CALL iom_put( "DSED" , ftot_n ) 3929 ! ENDIF 3670 3930 IF( med_diag%OPAL%dgsave ) THEN 3671 3931 fprds2d(ji,jj) = fprds2d(ji,jj) + (fprds * zpds * fthk) … … 3698 3958 fdzme2d(ji,jj) = fdzme2d(ji,jj) + (fdzme * fthk) 3699 3959 ENDIF 3700 ! IF( med_diag%DEXP%dgsave ) THEN3701 ! CALL iom_put( "DEXP" , ftot_n )3702 ! ENDIF3960 ! IF( med_diag%DEXP%dgsave ) THEN 3961 ! CALL iom_put( "DEXP" , ftot_n ) 3962 ! ENDIF 3703 3963 IF( med_diag%DETN%dgsave ) THEN 3704 3964 fslown2d(ji,jj) = fslown2d(ji,jj) + (fslown * fthk) … … 3740 4000 fsld2d(ji,jj) = fsld2d(ji,jj) + (fsld * zphd * fthk) 3741 4001 ENDIF 3742 !!4002 !! 3743 4003 IF( med_diag%TOTREG_N%dgsave ) THEN 3744 4004 fregen2d(ji,jj) = fregen2d(ji,jj) + fregen … … 3747 4007 fregensi2d(ji,jj) = fregensi2d(ji,jj) + fregensi 3748 4008 ENDIF 3749 !!4009 !! 3750 4010 IF( med_diag%FASTN%dgsave ) THEN 3751 4011 ftempn2d(ji,jj) = ftempn2d(ji,jj) + (ftempn * fthk) … … 3763 4023 ftempca2d(ji,jj) = ftempca2d(ji,jj) + (ftempca * fthk) 3764 4024 ENDIF 3765 !!4025 !! 3766 4026 IF( med_diag%REMINN%dgsave ) THEN 3767 4027 freminn2d(ji,jj) = freminn2d(ji,jj) + (freminn * fthk) … … 3779 4039 freminca2d(ji,jj) = freminca2d(ji,jj) + (freminca * fthk) 3780 4040 ENDIF 3781 !! 3782 !! 3783 !! 3784 !! 3785 !! 3786 !! 3787 !! 3788 !! 3789 !! 3790 # if defined key_roam 3791 IF (jk.eq.i0100) THEN 4041 !! 4042 # if defined key_roam 4043 !! 4044 !! AXY (09/11/16): CMIP6 diagnostics 4045 IF( med_diag%FD_NIT3%dgsave ) THEN 4046 fd_nit3(ji,jj,jk) = ffastn(ji,jj) 4047 ENDIF 4048 IF( med_diag%FD_SIL3%dgsave ) THEN 4049 fd_sil3(ji,jj,jk) = ffastsi(ji,jj) 4050 ENDIF 4051 IF( med_diag%FD_CAR3%dgsave ) THEN 4052 fd_car3(ji,jj,jk) = ffastc(ji,jj) 4053 ENDIF 4054 IF( med_diag%FD_CAL3%dgsave ) THEN 4055 fd_cal3(ji,jj,jk) = ffastca(ji,jj) 4056 ENDIF 4057 !! 4058 IF (jk.eq.i0100) THEN 3792 4059 IF( med_diag%RR_0100%dgsave ) THEN 3793 3794 4060 ffastca2d(ji,jj) = & 4061 ffastca(ji,jj)/MAX(ffastc(ji,jj), rsmall) 3795 4062 ENDIF 3796 ELSE IF (jk.eq.i0500) THEN4063 ELSE IF (jk.eq.i0500) THEN 3797 4064 IF( med_diag%RR_0500%dgsave ) THEN 3798 3799 4065 ffastca2d(ji,jj) = & 4066 ffastca(ji,jj)/MAX(ffastc(ji,jj), rsmall) 3800 4067 ENDIF 3801 ELSE IF (jk.eq.i1000) THEN4068 ELSE IF (jk.eq.i1000) THEN 3802 4069 IF( med_diag%RR_1000%dgsave ) THEN 3803 3804 3805 ENDIF 3806 ELSE IF (jk.eq.(mbathy(ji,jj)-1)) THEN4070 ffastca2d(ji,jj) = & 4071 ffastca(ji,jj)/MAX(ffastc(ji,jj), rsmall) 4072 ENDIF 4073 ELSE IF (jk.eq.(mbathy(ji,jj)-1)) THEN 3807 4074 IF( med_diag%IBEN_N%dgsave ) THEN 3808 4075 iben_n2d(ji,jj) = f_sbenin_n(ji,jj) + f_fbenin_n(ji,jj) 3809 4076 ENDIF 3810 4077 IF( med_diag%IBEN_FE%dgsave ) THEN 3811 4078 iben_fe2d(ji,jj) = f_sbenin_fe(ji,jj) + f_fbenin_fe(ji,jj) 3812 4079 ENDIF 3813 4080 IF( med_diag%IBEN_C%dgsave ) THEN 3814 4081 iben_c2d(ji,jj) = f_sbenin_c(ji,jj) + f_fbenin_c(ji,jj) 3815 4082 ENDIF 3816 4083 IF( med_diag%IBEN_SI%dgsave ) THEN 3817 4084 iben_si2d(ji,jj) = f_fbenin_si(ji,jj) 3818 4085 ENDIF 3819 4086 IF( med_diag%IBEN_CA%dgsave ) THEN 3820 4087 iben_ca2d(ji,jj) = f_fbenin_ca(ji,jj) 3821 4088 ENDIF 3822 4089 IF( med_diag%OBEN_N%dgsave ) THEN 3823 4090 oben_n2d(ji,jj) = f_benout_n(ji,jj) 3824 4091 ENDIF 3825 4092 IF( med_diag%OBEN_FE%dgsave ) THEN 3826 4093 oben_fe2d(ji,jj) = f_benout_fe(ji,jj) 3827 4094 ENDIF 3828 4095 IF( med_diag%OBEN_C%dgsave ) THEN 3829 4096 oben_c2d(ji,jj) = f_benout_c(ji,jj) 3830 4097 ENDIF 3831 4098 IF( med_diag%OBEN_SI%dgsave ) THEN 3832 4099 oben_si2d(ji,jj) = f_benout_si(ji,jj) 3833 4100 ENDIF 3834 4101 IF( med_diag%OBEN_CA%dgsave ) THEN 3835 4102 oben_ca2d(ji,jj) = f_benout_ca(ji,jj) 3836 4103 ENDIF 3837 4104 IF( med_diag%SFR_OCAL%dgsave ) THEN 3838 4105 sfr_ocal2d(ji,jj) = f3_omcal(ji,jj,jk) 3839 4106 ENDIF 3840 4107 IF( med_diag%SFR_OARG%dgsave ) THEN 3841 4108 sfr_oarg2d(ji,jj) = f3_omarg(ji,jj,jk) 3842 4109 ENDIF 3843 4110 IF( med_diag%LYSO_CA%dgsave ) THEN 3844 3845 ENDIF 3846 ENDIF3847 !!!! end bathy-1 diags3848 !!4111 lyso_ca2d(ji,jj) = f_benout_lyso_ca(ji,jj) 4112 ENDIF 4113 ENDIF 4114 !! end bathy-1 diags 4115 !! 3849 4116 IF( med_diag%RIV_N%dgsave ) THEN 3850 4117 rivn2d(ji,jj) = rivn2d(ji,jj) + (f_riv_loc_n * fthk) 3851 4118 ENDIF 3852 4119 IF( med_diag%RIV_SI%dgsave ) THEN 3853 4120 rivsi2d(ji,jj) = rivsi2d(ji,jj) + (f_riv_loc_si * fthk) 3854 4121 ENDIF 3855 4122 IF( med_diag%RIV_C%dgsave ) THEN 3856 4123 rivc2d(ji,jj) = rivc2d(ji,jj) + (f_riv_loc_c * fthk) 3857 4124 ENDIF 3858 4125 IF( med_diag%RIV_ALK%dgsave ) THEN 3859 4126 rivalk2d(ji,jj) = rivalk2d(ji,jj) + (f_riv_loc_alk * fthk) 3860 4127 ENDIF 3861 4128 IF( med_diag%DETC%dgsave ) THEN 3862 3863 ENDIF 3864 !!3865 !!3866 !!4129 fslowc2d(ji,jj) = fslowc2d(ji,jj) + (fslowc * fthk) 4130 ENDIF 4131 !! 4132 !! 4133 !! 3867 4134 IF( med_diag%PN_LLOSS%dgsave ) THEN 3868 4135 fdpn22d(ji,jj) = fdpn22d(ji,jj) + (fdpn2 * fthk) 3869 4136 ENDIF 3870 4137 IF( med_diag%PD_LLOSS%dgsave ) THEN 3871 4138 fdpd22d(ji,jj) = fdpd22d(ji,jj) + (fdpd2 * fthk) 3872 4139 ENDIF 3873 4140 IF( med_diag%ZI_LLOSS%dgsave ) THEN 3874 4141 fdzmi22d(ji,jj) = fdzmi22d(ji,jj) + (fdzmi2 * fthk) 3875 4142 ENDIF 3876 4143 IF( med_diag%ZE_LLOSS%dgsave ) THEN 3877 4144 fdzme22d(ji,jj) = fdzme22d(ji,jj) + (fdzme2 * fthk) 3878 4145 ENDIF 3879 4146 IF( med_diag%ZI_MES_N%dgsave ) THEN 3880 3881 4147 zimesn2d(ji,jj) = zimesn2d(ji,jj) + & 4148 (xphi * (fgmipn + fgmid) * fthk) 3882 4149 ENDIF 3883 4150 IF( med_diag%ZI_MES_D%dgsave ) THEN 3884 3885 4151 zimesd2d(ji,jj) = zimesd2d(ji,jj) + & 4152 ((1. - xbetan) * finmi * fthk) 3886 4153 ENDIF 3887 4154 IF( med_diag%ZI_MES_C%dgsave ) THEN 3888 3889 4155 zimesc2d(ji,jj) = zimesc2d(ji,jj) + & 4156 (xphi * ((xthetapn * fgmipn) + fgmidc) * fthk) 3890 4157 ENDIF 3891 4158 IF( med_diag%ZI_MESDC%dgsave ) THEN 3892 3893 4159 zimesdc2d(ji,jj) = zimesdc2d(ji,jj) + & 4160 ((1. - xbetac) * ficmi * fthk) 3894 4161 ENDIF 3895 4162 IF( med_diag%ZI_EXCR%dgsave ) THEN 3896 4163 ziexcr2d(ji,jj) = ziexcr2d(ji,jj) + (fmiexcr * fthk) 3897 4164 ENDIF 3898 4165 IF( med_diag%ZI_RESP%dgsave ) THEN 3899 4166 ziresp2d(ji,jj) = ziresp2d(ji,jj) + (fmiresp * fthk) 3900 4167 ENDIF 3901 4168 IF( med_diag%ZI_GROW%dgsave ) THEN 3902 4169 zigrow2d(ji,jj) = zigrow2d(ji,jj) + (fmigrow * fthk) 3903 4170 ENDIF 3904 4171 IF( med_diag%ZE_MES_N%dgsave ) THEN 3905 3906 4172 zemesn2d(ji,jj) = zemesn2d(ji,jj) + & 4173 (xphi * (fgmepn + fgmepd + fgmezmi + fgmed) * fthk) 3907 4174 ENDIF 3908 4175 IF( med_diag%ZE_MES_D%dgsave ) THEN 3909 3910 4176 zemesd2d(ji,jj) = zemesd2d(ji,jj) + & 4177 ((1. - xbetan) * finme * fthk) 3911 4178 ENDIF 3912 4179 IF( med_diag%ZE_MES_C%dgsave ) THEN 3913 3914 3915 4180 zemesc2d(ji,jj) = zemesc2d(ji,jj) + & 4181 (xphi * ((xthetapn * fgmepn) + (xthetapd * fgmepd) + & 4182 (xthetazmi * fgmezmi) + fgmedc) * fthk) 3916 4183 ENDIF 3917 4184 IF( med_diag%ZE_MESDC%dgsave ) THEN 3918 3919 4185 zemesdc2d(ji,jj) = zemesdc2d(ji,jj) + & 4186 ((1. - xbetac) * ficme * fthk) 3920 4187 ENDIF 3921 4188 IF( med_diag%ZE_EXCR%dgsave ) THEN 3922 4189 zeexcr2d(ji,jj) = zeexcr2d(ji,jj) + (fmeexcr * fthk) 3923 4190 ENDIF 3924 4191 IF( med_diag%ZE_RESP%dgsave ) THEN 3925 4192 zeresp2d(ji,jj) = zeresp2d(ji,jj) + (fmeresp * fthk) 3926 4193 ENDIF 3927 4194 IF( med_diag%ZE_GROW%dgsave ) THEN 3928 4195 zegrow2d(ji,jj) = zegrow2d(ji,jj) + (fmegrow * fthk) 3929 4196 ENDIF 3930 4197 IF( med_diag%MDETC%dgsave ) THEN 3931 4198 mdetc2d(ji,jj) = mdetc2d(ji,jj) + (fddc * fthk) 3932 4199 ENDIF 3933 4200 IF( med_diag%GMIDC%dgsave ) THEN 3934 4201 gmidc2d(ji,jj) = gmidc2d(ji,jj) + (fgmidc * fthk) 3935 4202 ENDIF 3936 4203 IF( med_diag%GMEDC%dgsave ) THEN 3937 gmedc2d(ji,jj) = gmedc2d(ji,jj) + (fgmedc * fthk) 3938 ENDIF 4204 gmedc2d(ji,jj) = gmedc2d(ji,jj) + (fgmedc * fthk) 4205 ENDIF 4206 !! 3939 4207 # endif 3940 !! 3941 !! 3942 !! 3943 !! 3944 !! 3945 !! ** 3D diagnostics 4208 !! 4209 !! ** 3D diagnostics 3946 4210 IF( med_diag%TPP3%dgsave ) THEN 3947 tpp3d(ji,jj,jk) = (fprn + fprd) * zphn 3948 !CALL iom_put( "TPP3" , tpp3d ) 3949 ENDIF 3950 4211 tpp3d(ji,jj,jk) = (fprn * zphn) + (fprd * zphd) 4212 !CALL iom_put( "TPP3" , tpp3d ) 4213 ENDIF 4214 IF( med_diag%TPPD3%dgsave ) THEN 4215 tppd3(ji,jj,jk) = (fprd * zphd) 4216 ENDIF 4217 3951 4218 IF( med_diag%REMIN3N%dgsave ) THEN 3952 remin3dn(ji,jj,jk) = fregen + (freminn * fthk)!! remineralisation3953 4219 remin3dn(ji,jj,jk) = fregen + (freminn * fthk) !! remineralisation 4220 !CALL iom_put( "REMIN3N" , remin3dn ) 3954 4221 ENDIF 3955 4222 !! IF( med_diag%PH3%dgsave ) THEN … … 3959 4226 !! CALL iom_put( "OM_CAL3" , f3_omcal ) 3960 4227 !! ENDIF 3961 !! 3962 !! 3963 !! ** Without using iom_use 4228 !! 4229 !! AXY (09/11/16): CMIP6 diagnostics 4230 IF ( med_diag%DCALC3%dgsave ) THEN 4231 dcalc3(ji,jj,jk) = freminca 4232 ENDIF 4233 IF ( med_diag%FEDISS3%dgsave ) THEN 4234 fescav3(ji,jj,jk) = ffetop 4235 ENDIF 4236 IF ( med_diag%FESCAV3%dgsave ) THEN 4237 fescav3(ji,jj,jk) = ffescav 4238 ENDIF 4239 IF ( med_diag%MIGRAZP3%dgsave ) THEN 4240 migrazp3(ji,jj,jk) = fgmipn * xthetapn 4241 ENDIF 4242 IF ( med_diag%MIGRAZD3%dgsave ) THEN 4243 migrazd3(ji,jj,jk) = fgmidc 4244 ENDIF 4245 IF ( med_diag%MEGRAZP3%dgsave ) THEN 4246 megrazp3(ji,jj,jk) = (fgmepn * xthetapn) + (fgmepd * xthetapd) 4247 ENDIF 4248 IF ( med_diag%MEGRAZD3%dgsave ) THEN 4249 megrazd3(ji,jj,jk) = fgmedc 4250 ENDIF 4251 IF ( med_diag%MEGRAZZ3%dgsave ) THEN 4252 megrazz3(ji,jj,jk) = (fgmezmi * xthetazmi) 4253 ENDIF 4254 IF ( med_diag%PBSI3%dgsave ) THEN 4255 pbsi3(ji,jj,jk) = (fprds * zpds) 4256 ENDIF 4257 IF ( med_diag%PCAL3%dgsave ) THEN 4258 pcal3(ji,jj,jk) = ftempca 4259 ENDIF 4260 IF ( med_diag%REMOC3%dgsave ) THEN 4261 remoc3(ji,jj,jk) = freminc 4262 ENDIF 4263 IF ( med_diag%PNLIMJ3%dgsave ) THEN 4264 pnlimj3(ji,jj,jk) = fjln 4265 ENDIF 4266 IF ( med_diag%PNLIMN3%dgsave ) THEN 4267 pnlimn3(ji,jj,jk) = fnln 4268 ENDIF 4269 IF ( med_diag%PNLIMFE3%dgsave ) THEN 4270 pnlimfe3(ji,jj,jk) = ffln 4271 ENDIF 4272 IF ( med_diag%PDLIMJ3%dgsave ) THEN 4273 pdlimj3(ji,jj,jk) = fjld 4274 ENDIF 4275 IF ( med_diag%PDLIMN3%dgsave ) THEN 4276 pdlimn3(ji,jj,jk) = fnld 4277 ENDIF 4278 IF ( med_diag%PDLIMFE3%dgsave ) THEN 4279 pdlimfe3(ji,jj,jk) = ffld 4280 ENDIF 4281 IF ( med_diag%PDLIMSI3%dgsave ) THEN 4282 pdlimsi3(ji,jj,jk) = fsld2 4283 ENDIF 4284 !! 4285 !! ** Without using iom_use 3964 4286 ELSE IF( ln_diatrc ) THEN 3965 4287 # if defined key_debug_medusa … … 4360 4682 ENDIF 4361 4683 IF( med_diag%OCN_PCO2%dgsave ) THEN 4362 4363 4684 CALL iom_put( "OCN_PCO2" , f_pco2w2d ) 4685 CALL wrk_dealloc( jpi, jpj, f_pco2w2d ) 4364 4686 ENDIF 4365 4687 IF( med_diag%OCNH2CO3%dgsave ) THEN … … 4376 4698 ENDIF 4377 4699 IF( med_diag%CO2FLUX%dgsave ) THEN 4378 !! convert from mmol-C/m2/s to kg-CO2/m2/s 4379 f_co2flux2d(:,:) = CO2flux_conv * f_co2flux2d(:,:) 4380 CALL lbc_lnk(f_co2flux2d(:,:),'T',1. ) 4381 CALL iom_put( "CO2FLUX" , f_co2flux2d ) 4700 CALL iom_put( "CO2FLUX" , f_co2flux2d ) 4701 CALL wrk_dealloc( jpi, jpj, f_co2flux2d ) 4702 ENDIF 4703 !! 4704 !! AXY (10/11/16): repeat CO2 flux diagnostic in UKMO/CMIP6 units; this 4705 !! both outputs the CO2 flux in specified units and 4706 !! sends the resulting field to the coupler 4707 IF( med_diag%FGCO2%dgsave ) THEN 4708 CALL lbc_lnk( fgco2(:,:),'T',1. ) 4709 CALL iom_put( "FGCO2" , fgco2 ) 4382 4710 zb_co2_flx = zn_co2_flx 4383 zn_co2_flx = f _co2flux2d4711 zn_co2_flx = fgco2 4384 4712 IF (lk_oasis) THEN 4385 4713 CO2Flux_out_cpl = zn_co2_flx 4386 4714 ENDIF 4387 CALL wrk_dealloc( jpi, jpj, f _co2flux2d)4715 CALL wrk_dealloc( jpi, jpj, fgco2 ) 4388 4716 ENDIF 4389 4717 IF( med_diag%OM_CAL%dgsave ) THEN … … 4490 4818 CALL flush(numout) 4491 4819 # endif 4492 IF( med_diag%BASIN_01%dgsave ) THEN4493 CALL iom_put( "BASIN_01" , fprn2d )4494 ENDIF4495 IF( med_diag%BASIN_02%dgsave ) THEN4496 CALL iom_put( "BASIN_02" , fdpn22d )4497 ENDIF4498 IF( med_diag%BASIN_03%dgsave ) THEN4499 CALL iom_put( "BASIN_03" , fdpn2d )4500 ENDIF4501 IF( med_diag%BASIN_04%dgsave ) THEN4502 CALL iom_put( "BASIN_04" , fgmipn2d )4503 ENDIF4504 IF( med_diag%BASIN_05%dgsave ) THEN4505 CALL iom_put( "BASIN_05" , fgmepn2d )4506 ENDIF4507 IF( med_diag%BASIN_06%dgsave ) THEN4508 CALL iom_put( "BASIN_06" , fprd2d )4509 ENDIF4510 IF( med_diag%BASIN_07%dgsave ) THEN4511 CALL iom_put( "BASIN_07" , fdpd22d )4512 ENDIF4513 IF( med_diag%BASIN_08%dgsave ) THEN4514 CALL iom_put( "BASIN_08" , fdpd2d )4515 ENDIF4516 IF( med_diag%BASIN_09%dgsave ) THEN4517 CALL iom_put( "BASIN_09" , fgmepd2d )4518 ENDIF4519 IF( med_diag%BASIN_10%dgsave ) THEN4520 CALL iom_put( "BASIN_10" , fgmid2d )4521 ENDIF4522 IF( med_diag%BASIN_11%dgsave ) THEN4523 CALL iom_put( "BASIN_11" , gmidc2d )4524 ENDIF4525 IF( med_diag%BASIN_12%dgsave ) THEN4526 CALL iom_put( "BASIN_12" , zimesn2d )4527 ENDIF4528 IF( med_diag%BASIN_13%dgsave ) THEN4529 CALL iom_put( "BASIN_13" , zimesd2d )4530 ENDIF4531 IF( med_diag%BASIN_14%dgsave ) THEN4532 CALL iom_put( "BASIN_14" , zimesc2d )4533 ENDIF4534 IF( med_diag%BASIN_15%dgsave ) THEN4535 CALL iom_put( "BASIN_15" , zimesdc2d )4536 ENDIF4537 IF( med_diag%BASIN_16%dgsave ) THEN4538 CALL iom_put( "BASIN_16" , ziexcr2d )4539 ENDIF4540 IF( med_diag%BASIN_17%dgsave ) THEN4541 CALL iom_put( "BASIN_17" , ziresp2d )4542 ENDIF4543 IF( med_diag%BASIN_18%dgsave ) THEN4544 CALL iom_put( "BASIN_18" , zigrow2d )4545 ENDIF4546 IF( med_diag%BASIN_19%dgsave ) THEN4547 CALL iom_put( "BASIN_19" , fdzmi22d )4548 ENDIF4549 IF( med_diag%BASIN_20%dgsave ) THEN4550 CALL iom_put( "BASIN_20" , fdzmi2d )4551 ENDIF4552 IF( med_diag%BASIN_21%dgsave ) THEN4553 CALL iom_put( "BASIN_21" , fgmezmi2d )4554 ENDIF4555 IF( med_diag%BASIN_22%dgsave ) THEN4556 CALL iom_put( "BASIN_22" , fgmed2d )4557 ENDIF4558 IF( med_diag%BASIN_23%dgsave ) THEN4559 CALL iom_put( "BASIN_23" , gmedc2d )4560 ENDIF4561 IF( med_diag%BASIN_24%dgsave ) THEN4562 CALL iom_put( "BASIN_24" , zemesn2d )4563 ENDIF4564 IF( med_diag%BASIN_25%dgsave ) THEN4565 CALL iom_put( "BASIN_25" , zemesd2d )4566 ENDIF4567 IF( med_diag%BASIN_26%dgsave ) THEN4568 CALL iom_put( "BASIN_26" , zemesc2d )4569 ENDIF4570 IF( med_diag%BASIN_27%dgsave ) THEN4571 CALL iom_put( "BASIN_27" , zemesdc2d )4572 ENDIF4573 IF( med_diag%BASIN_28%dgsave ) THEN4574 CALL iom_put( "BASIN_28" , zeexcr2d )4575 ENDIF4576 IF( med_diag%BASIN_29%dgsave ) THEN4577 CALL iom_put( "BASIN_29" , zeresp2d )4578 ENDIF4579 IF( med_diag%BASIN_30%dgsave ) THEN4580 CALL iom_put( "BASIN_30" , zegrow2d )4581 ENDIF4582 IF( med_diag%BASIN_31%dgsave ) THEN4583 CALL iom_put( "BASIN_30" , fdzme22d )4584 ENDIF4585 IF( med_diag%BASIN_32%dgsave ) THEN4586 CALL iom_put( "BASIN_32" , fdzme2d )4587 ENDIF4588 IF( med_diag%BASIN_33%dgsave ) THEN4589 CALL iom_put( "BASIN_33" , fslown2d )4590 ENDIF4591 IF( med_diag%BASIN_34%dgsave ) THEN4592 CALL iom_put( "BASIN_34" , fdd2d )4593 ENDIF4594 IF( med_diag%BASIN_35%dgsave ) THEN4595 CALL iom_put( "BASIN_35" , fslowc2d )4596 ENDIF4597 IF( med_diag%BASIN_36%dgsave ) THEN4598 CALL iom_put( "BASIN_36" , mdetc2d )4599 ENDIF4600 IF( med_diag%BASIN_37%dgsave ) THEN4601 CALL iom_put( "BASIN_37" , ftempn2d )4602 ENDIF4603 IF( med_diag%BASIN_38%dgsave ) THEN4604 CALL iom_put( "BASIN_38" , freminn2d )4605 ENDIF4606 IF( med_diag%BASIN_39%dgsave ) THEN4607 CALL iom_put( "BASIN_39" , ftempc2d )4608 ENDIF4609 IF( med_diag%BASIN_40%dgsave ) THEN4610 CALL iom_put( "BASIN_40" , freminc2d )4611 ENDIF4612 IF( med_diag%BASIN_41%dgsave ) THEN4613 CALL iom_put( "BASIN_41" , fcomm_resp )4614 ENDIF4615 IF( med_diag%BASIN_42%dgsave ) THEN4616 CALL iom_put( "BASIN_42" , fslownflux )4617 ENDIF4618 IF( med_diag%BASIN_43%dgsave ) THEN4619 CALL iom_put( "BASIN_43" , fslowcflux )4620 ENDIF4621 IF( med_diag%BASIN_44%dgsave ) THEN4622 CALL iom_put( "BASIN_44" , ffastn )4623 ENDIF4624 IF( med_diag%BASIN_45%dgsave ) THEN4625 CALL iom_put( "BASIN_45" , ffastc )4626 ENDIF4627 4820 # endif 4628 4821 ELSE IF (jk.eq.i0200) THEN … … 5047 5240 DO jj = 2,jpjm1 5048 5241 DO ji = 2,jpim1 5049 5050 5051 fjln2d(ji,jj) = fjln2d(ji,jj)/ MAX(ftot_pn(ji,jj), rsmall)5052 5053 5054 fnln2d(ji,jj) = fnln2d(ji,jj)/ MAX(ftot_pn(ji,jj), rsmall)5055 5056 5057 ffln2d(ji,jj) = ffln2d(ji,jj)/ MAX(ftot_pn(ji,jj), rsmall)5058 5059 5060 fjld2d(ji,jj) = fjld2d(ji,jj)/ MAX(ftot_pd(ji,jj), rsmall)5061 5062 5063 fnld2d(ji,jj) = fnld2d(ji,jj)/ MAX(ftot_pd(ji,jj), rsmall)5064 5065 5066 ffld2d(ji,jj) = ffld2d(ji,jj)/ MAX(ftot_pd(ji,jj), rsmall)5067 5068 5069 fsld2d2(ji,jj) = fsld2d2(ji,jj)/ MAX(ftot_pd(ji,jj), rsmall)5070 5071 5072 fsld2d(ji,jj) = fsld2d(ji,jj)/ MAX(ftot_pd(ji,jj), rsmall)5073 5242 !! 5243 IF( med_diag%PN_JLIM%dgsave ) THEN 5244 fjln2d(ji,jj) = fjln2d(ji,jj) / MAX(ftot_pn(ji,jj), rsmall) 5245 ENDIF 5246 IF( med_diag%PN_NLIM%dgsave ) THEN 5247 fnln2d(ji,jj) = fnln2d(ji,jj) / MAX(ftot_pn(ji,jj), rsmall) 5248 ENDIF 5249 IF( med_diag%PN_FELIM%dgsave ) THEN 5250 ffln2d(ji,jj) = ffln2d(ji,jj) / MAX(ftot_pn(ji,jj), rsmall) 5251 ENDIF 5252 IF( med_diag%PD_JLIM%dgsave ) THEN 5253 fjld2d(ji,jj) = fjld2d(ji,jj) / MAX(ftot_pd(ji,jj), rsmall) 5254 ENDIF 5255 IF( med_diag%PD_NLIM%dgsave ) THEN 5256 fnld2d(ji,jj) = fnld2d(ji,jj) / MAX(ftot_pd(ji,jj), rsmall) 5257 ENDIF 5258 IF( med_diag%PD_FELIM%dgsave ) THEN 5259 ffld2d(ji,jj) = ffld2d(ji,jj) / MAX(ftot_pd(ji,jj), rsmall) 5260 ENDIF 5261 IF( med_diag%PD_SILIM%dgsave ) THEN 5262 fsld2d2(ji,jj) = fsld2d2(ji,jj) / MAX(ftot_pd(ji,jj), rsmall) 5263 ENDIF 5264 IF( med_diag%PDSILIM2%dgsave ) THEN 5265 fsld2d(ji,jj) = fsld2d(ji,jj) / MAX(ftot_pd(ji,jj), rsmall) 5266 ENDIF 5074 5267 ENDDO 5075 5268 ENDDO … … 5084 5277 # endif 5085 5278 IF ( med_diag%INVTN%dgsave ) THEN 5086 5279 CALL iom_put( "INVTN" , ftot_n ) 5087 5280 ENDIF 5088 5281 IF ( med_diag%INVTSI%dgsave ) THEN 5089 5282 CALL iom_put( "INVTSI" , ftot_si ) 5090 5283 ENDIF 5091 5284 IF ( med_diag%INVTFE%dgsave ) THEN 5092 5285 CALL iom_put( "INVTFE" , ftot_fe ) 5093 5286 ENDIF 5094 5287 IF ( med_diag%ML_PRN%dgsave ) THEN 5095 5288 CALL iom_put( "ML_PRN" , fprn_ml ) 5096 5289 ENDIF 5097 5290 IF ( med_diag%ML_PRD%dgsave ) THEN 5098 5291 CALL iom_put( "ML_PRD" , fprd_ml ) 5099 5292 ENDIF 5100 5293 IF ( med_diag%OCAL_LVL%dgsave ) THEN 5101 5294 CALL iom_put( "OCAL_LVL" , fccd ) 5102 5295 ENDIF 5103 5296 IF ( med_diag%PN_JLIM%dgsave ) THEN 5104 5105 5297 CALL iom_put( "PN_JLIM" , fjln2d ) 5298 CALL wrk_dealloc( jpi, jpj, fjln2d ) 5106 5299 ENDIF 5107 5300 IF ( med_diag%PN_NLIM%dgsave ) THEN 5108 5109 5301 CALL iom_put( "PN_NLIM" , fnln2d ) 5302 CALL wrk_dealloc( jpi, jpj, fnln2d ) 5110 5303 ENDIF 5111 5304 IF ( med_diag%PN_FELIM%dgsave ) THEN 5112 5113 5305 CALL iom_put( "PN_FELIM" , ffln2d ) 5306 CALL wrk_dealloc( jpi, jpj, ffln2d ) 5114 5307 ENDIF 5115 5308 IF ( med_diag%PD_JLIM%dgsave ) THEN 5116 5117 5309 CALL iom_put( "PD_JLIM" , fjld2d ) 5310 CALL wrk_dealloc( jpi, jpj, fjld2d ) 5118 5311 ENDIF 5119 5312 IF ( med_diag%PD_NLIM%dgsave ) THEN 5120 5121 5313 CALL iom_put( "PD_NLIM" , fnld2d ) 5314 CALL wrk_dealloc( jpi, jpj, fnld2d ) 5122 5315 ENDIF 5123 5316 IF ( med_diag%PD_FELIM%dgsave ) THEN 5124 5125 5317 CALL iom_put( "PD_FELIM" , ffld2d ) 5318 CALL wrk_dealloc( jpi, jpj, ffld2d ) 5126 5319 ENDIF 5127 5320 IF ( med_diag%PD_SILIM%dgsave ) THEN 5128 5129 5321 CALL iom_put( "PD_SILIM" , fsld2d2 ) 5322 CALL wrk_dealloc( jpi, jpj, fsld2d2 ) 5130 5323 ENDIF 5131 5324 IF ( med_diag%PDSILIM2%dgsave ) THEN 5132 5133 5325 CALL iom_put( "PDSILIM2" , fsld2d ) 5326 CALL wrk_dealloc( jpi, jpj, fsld2d ) 5134 5327 ENDIF 5135 5328 IF ( med_diag%INTFLX_N%dgsave ) THEN 5136 5329 CALL iom_put( "INTFLX_N" , fflx_n ) 5137 5330 ENDIF 5138 5331 IF ( med_diag%INTFLX_SI%dgsave ) THEN 5139 5332 CALL iom_put( "INTFLX_SI" , fflx_si ) 5140 5333 ENDIF 5141 5334 IF ( med_diag%INTFLX_FE%dgsave ) THEN 5142 5335 CALL iom_put( "INTFLX_FE" , fflx_fe ) 5143 5336 ENDIF 5144 5337 IF ( med_diag%INT_PN%dgsave ) THEN 5145 5338 CALL iom_put( "INT_PN" , ftot_pn ) 5146 5339 ENDIF 5147 5340 IF ( med_diag%INT_PD%dgsave ) THEN 5148 5341 CALL iom_put( "INT_PD" , ftot_pd ) 5149 5342 ENDIF 5150 5343 IF ( med_diag%INT_ZMI%dgsave ) THEN 5151 5344 CALL iom_put( "INT_ZMI" , ftot_zmi ) 5152 5345 ENDIF 5153 5346 IF ( med_diag%INT_ZME%dgsave ) THEN 5154 5347 CALL iom_put( "INT_ZME" , ftot_zme ) 5155 5348 ENDIF 5156 5349 IF ( med_diag%INT_DET%dgsave ) THEN 5157 5350 CALL iom_put( "INT_DET" , ftot_det ) 5158 5351 ENDIF 5159 5352 IF ( med_diag%INT_DTC%dgsave ) THEN 5160 5353 CALL iom_put( "INT_DTC" , ftot_dtc ) 5161 5354 ENDIF 5162 5355 IF ( med_diag%BEN_N%dgsave ) THEN 5163 5356 CALL iom_put( "BEN_N" , za_sed_n ) 5164 5357 ENDIF 5165 5358 IF ( med_diag%BEN_FE%dgsave ) THEN 5166 5359 CALL iom_put( "BEN_FE" , za_sed_fe ) 5167 5360 ENDIF 5168 5361 IF ( med_diag%BEN_C%dgsave ) THEN 5169 5362 CALL iom_put( "BEN_C" , za_sed_c ) 5170 5363 ENDIF 5171 5364 IF ( med_diag%BEN_SI%dgsave ) THEN 5172 5365 CALL iom_put( "BEN_SI" , za_sed_si ) 5173 5366 ENDIF 5174 5367 IF ( med_diag%BEN_CA%dgsave ) THEN 5175 5368 CALL iom_put( "BEN_CA" , za_sed_ca ) 5176 5369 ENDIF 5177 5370 IF ( med_diag%RUNOFF%dgsave ) THEN 5178 5371 CALL iom_put( "RUNOFF" , f_runoff ) 5179 5372 ENDIF 5180 5373 # if defined key_roam 5181 5374 IF ( med_diag%N_PROD%dgsave ) THEN 5182 5375 CALL iom_put( "N_PROD" , fnit_prod ) 5183 5376 ENDIF 5184 5377 IF ( med_diag%N_CONS%dgsave ) THEN 5185 5378 CALL iom_put( "N_CONS" , fnit_cons ) 5186 5379 ENDIF 5187 5380 IF ( med_diag%C_PROD%dgsave ) THEN 5188 5381 CALL iom_put( "C_PROD" , fcar_prod ) 5189 5382 ENDIF 5190 5383 IF ( med_diag%C_CONS%dgsave ) THEN 5191 5384 CALL iom_put( "C_CONS" , fcar_cons ) 5192 5385 ENDIF 5193 5386 IF ( med_diag%O2_PROD%dgsave ) THEN 5194 5387 CALL iom_put( "O2_PROD" , foxy_prod ) 5195 5388 ENDIF 5196 5389 IF ( med_diag%O2_CONS%dgsave ) THEN 5197 5390 CALL iom_put( "O2_CONS" , foxy_cons ) 5198 5391 ENDIF 5199 5392 IF ( med_diag%O2_ANOX%dgsave ) THEN 5200 5393 CALL iom_put( "O2_ANOX" , foxy_anox ) 5201 5394 ENDIF 5202 5395 IF ( med_diag%INVTC%dgsave ) THEN 5203 5396 CALL iom_put( "INVTC" , ftot_c ) 5204 5397 ENDIF 5205 5398 IF ( med_diag%INVTALK%dgsave ) THEN 5206 5399 CALL iom_put( "INVTALK" , ftot_a ) 5207 5400 ENDIF 5208 5401 IF ( med_diag%INVTO2%dgsave ) THEN … … 5210 5403 ENDIF 5211 5404 IF ( med_diag%COM_RESP%dgsave ) THEN 5212 5405 CALL iom_put( "COM_RESP" , fcomm_resp ) 5213 5406 ENDIF 5214 5407 # endif … … 5216 5409 !! diagnostic filled in the i-j-k main loop 5217 5410 !!-------------------------------------------- 5218 IF ( med_diag%PRN%dgsave ) THEN5411 IF ( med_diag%PRN%dgsave ) THEN 5219 5412 CALL iom_put( "PRN" , fprn2d ) 5220 5413 CALL wrk_dealloc( jpi, jpj, fprn2d ) 5221 ENDIF5222 IF ( med_diag%MPN%dgsave ) THEN5414 ENDIF 5415 IF ( med_diag%MPN%dgsave ) THEN 5223 5416 CALL iom_put( "MPN" ,fdpn2d ) 5224 5417 CALL wrk_dealloc( jpi, jpj, fdpn2d ) 5225 ENDIF5226 IF ( med_diag%PRD%dgsave ) THEN5418 ENDIF 5419 IF ( med_diag%PRD%dgsave ) THEN 5227 5420 CALL iom_put( "PRD" ,fprd2d ) 5228 5421 CALL wrk_dealloc( jpi, jpj, fprd2d ) 5229 ENDIF5230 IF( med_diag%MPD%dgsave ) THEN5422 ENDIF 5423 IF( med_diag%MPD%dgsave ) THEN 5231 5424 CALL iom_put( "MPD" , fdpd2d ) 5232 5425 CALL wrk_dealloc( jpi, jpj, fdpd2d ) 5233 ENDIF5234 ! IF( med_diag%DSED%dgsave ) THEN5235 ! CALL iom_put( "DSED" , ftot_n )5236 ! ENDIF5237 IF( med_diag%OPAL%dgsave ) THEN5426 ENDIF 5427 ! IF( med_diag%DSED%dgsave ) THEN 5428 ! CALL iom_put( "DSED" , ftot_n ) 5429 ! ENDIF 5430 IF( med_diag%OPAL%dgsave ) THEN 5238 5431 CALL iom_put( "OPAL" , fprds2d ) 5239 5432 CALL wrk_dealloc( jpi, jpj, fprds2d ) 5240 ENDIF5241 IF( med_diag%OPALDISS%dgsave ) THEN5433 ENDIF 5434 IF( med_diag%OPALDISS%dgsave ) THEN 5242 5435 CALL iom_put( "OPALDISS" , fsdiss2d ) 5243 5436 CALL wrk_dealloc( jpi, jpj, fsdiss2d ) 5244 ENDIF5245 IF( med_diag%GMIPn%dgsave ) THEN5437 ENDIF 5438 IF( med_diag%GMIPn%dgsave ) THEN 5246 5439 CALL iom_put( "GMIPn" , fgmipn2d ) 5247 5440 CALL wrk_dealloc( jpi, jpj, fgmipn2d ) 5248 ENDIF5249 IF( med_diag%GMID%dgsave ) THEN5441 ENDIF 5442 IF( med_diag%GMID%dgsave ) THEN 5250 5443 CALL iom_put( "GMID" , fgmid2d ) 5251 5444 CALL wrk_dealloc( jpi, jpj, fgmid2d ) 5252 ENDIF5253 IF( med_diag%MZMI%dgsave ) THEN5445 ENDIF 5446 IF( med_diag%MZMI%dgsave ) THEN 5254 5447 CALL iom_put( "MZMI" , fdzmi2d ) 5255 5448 CALL wrk_dealloc( jpi, jpj, fdzmi2d ) 5256 ENDIF5257 IF( med_diag%GMEPN%dgsave ) THEN5449 ENDIF 5450 IF( med_diag%GMEPN%dgsave ) THEN 5258 5451 CALL iom_put( "GMEPN" , fgmepn2d ) 5259 5452 CALL wrk_dealloc( jpi, jpj, fgmepn2d ) 5260 ENDIF5261 IF( med_diag%GMEPD%dgsave ) THEN5453 ENDIF 5454 IF( med_diag%GMEPD%dgsave ) THEN 5262 5455 CALL iom_put( "GMEPD" , fgmepd2d ) 5263 5456 CALL wrk_dealloc( jpi, jpj, fgmepd2d ) 5264 ENDIF5265 IF( med_diag%GMEZMI%dgsave ) THEN5457 ENDIF 5458 IF( med_diag%GMEZMI%dgsave ) THEN 5266 5459 CALL iom_put( "GMEZMI" , fgmezmi2d ) 5267 5460 CALL wrk_dealloc( jpi, jpj, fgmezmi2d ) 5268 ENDIF5269 IF( med_diag%GMED%dgsave ) THEN5461 ENDIF 5462 IF( med_diag%GMED%dgsave ) THEN 5270 5463 CALL iom_put( "GMED" , fgmed2d ) 5271 5464 CALL wrk_dealloc( jpi, jpj, fgmed2d ) 5272 ENDIF5273 IF( med_diag%MZME%dgsave ) THEN5465 ENDIF 5466 IF( med_diag%MZME%dgsave ) THEN 5274 5467 CALL iom_put( "MZME" , fdzme2d ) 5275 5468 CALL wrk_dealloc( jpi, jpj, fdzme2d ) 5276 ENDIF5277 ! IF( med_diag%DEXP%dgsave ) THEN5278 ! CALL iom_put( "DEXP" , ftot_n )5279 ! ENDIF5280 IF( med_diag%DETN%dgsave ) THEN5469 ENDIF 5470 ! IF( med_diag%DEXP%dgsave ) THEN 5471 ! CALL iom_put( "DEXP" , ftot_n ) 5472 ! ENDIF 5473 IF( med_diag%DETN%dgsave ) THEN 5281 5474 CALL iom_put( "DETN" , fslown2d ) 5282 5475 CALL wrk_dealloc( jpi, jpj, fslown2d ) 5283 ENDIF5284 IF( med_diag%MDET%dgsave ) THEN5476 ENDIF 5477 IF( med_diag%MDET%dgsave ) THEN 5285 5478 CALL iom_put( "MDET" , fdd2d ) 5286 5479 CALL wrk_dealloc( jpi, jpj, fdd2d ) 5287 ENDIF5288 IF( med_diag%AEOLIAN%dgsave ) THEN5480 ENDIF 5481 IF( med_diag%AEOLIAN%dgsave ) THEN 5289 5482 CALL iom_put( "AEOLIAN" , ffetop2d ) 5290 5483 CALL wrk_dealloc( jpi, jpj, ffetop2d ) 5291 ENDIF5292 IF( med_diag%BENTHIC%dgsave ) THEN5484 ENDIF 5485 IF( med_diag%BENTHIC%dgsave ) THEN 5293 5486 CALL iom_put( "BENTHIC" , ffebot2d ) 5294 5487 CALL wrk_dealloc( jpi, jpj, ffebot2d ) 5295 ENDIF5296 IF( med_diag%SCAVENGE%dgsave ) THEN5488 ENDIF 5489 IF( med_diag%SCAVENGE%dgsave ) THEN 5297 5490 CALL iom_put( "SCAVENGE" , ffescav2d ) 5298 5491 CALL wrk_dealloc( jpi, jpj, ffescav2d ) 5299 ENDIF5300 !!5301 IF( med_diag%TOTREG_N%dgsave ) THEN5492 ENDIF 5493 !! 5494 IF( med_diag%TOTREG_N%dgsave ) THEN 5302 5495 CALL iom_put( "TOTREG_N" , fregen2d ) 5303 5496 CALL wrk_dealloc( jpi, jpj, fregen2d ) 5304 ENDIF5305 IF( med_diag%TOTRG_SI%dgsave ) THEN5497 ENDIF 5498 IF( med_diag%TOTRG_SI%dgsave ) THEN 5306 5499 CALL iom_put( "TOTRG_SI" , fregensi2d ) 5307 5500 CALL wrk_dealloc( jpi, jpj, fregensi2d ) 5308 ENDIF5309 !!5310 IF( med_diag%FASTN%dgsave ) THEN5501 ENDIF 5502 !! 5503 IF( med_diag%FASTN%dgsave ) THEN 5311 5504 CALL iom_put( "FASTN" , ftempn2d ) 5312 5505 CALL wrk_dealloc( jpi, jpj, ftempn2d ) 5313 ENDIF5314 IF( med_diag%FASTSI%dgsave ) THEN5506 ENDIF 5507 IF( med_diag%FASTSI%dgsave ) THEN 5315 5508 CALL iom_put( "FASTSI" , ftempsi2d ) 5316 5509 CALL wrk_dealloc( jpi, jpj, ftempsi2d ) 5317 ENDIF5318 IF( med_diag%FASTFE%dgsave ) THEN5510 ENDIF 5511 IF( med_diag%FASTFE%dgsave ) THEN 5319 5512 CALL iom_put( "FASTFE" , ftempfe2d ) 5320 5513 CALL wrk_dealloc( jpi, jpj, ftempfe2d ) 5321 ENDIF5322 IF( med_diag%FASTC%dgsave ) THEN5514 ENDIF 5515 IF( med_diag%FASTC%dgsave ) THEN 5323 5516 CALL iom_put( "FASTC" , ftempc2d ) 5324 5517 CALL wrk_dealloc( jpi, jpj, ftempc2d ) 5325 ENDIF5326 IF( med_diag%FASTCA%dgsave ) THEN5518 ENDIF 5519 IF( med_diag%FASTCA%dgsave ) THEN 5327 5520 CALL iom_put( "FASTCA" , ftempca2d ) 5328 CALL wrk_dealloc( jpi, jpj, ftempca2d )5329 ENDIF5330 !!5331 IF( med_diag%REMINN%dgsave ) THEN5521 CALL wrk_dealloc( jpi, jpj, ftempca2d ) 5522 ENDIF 5523 !! 5524 IF( med_diag%REMINN%dgsave ) THEN 5332 5525 CALL iom_put( "REMINN" , freminn2d ) 5333 5526 CALL wrk_dealloc( jpi, jpj, freminn2d ) 5334 ENDIF5335 IF( med_diag%REMINSI%dgsave ) THEN5527 ENDIF 5528 IF( med_diag%REMINSI%dgsave ) THEN 5336 5529 CALL iom_put( "REMINSI" , freminsi2d ) 5337 5530 CALL wrk_dealloc( jpi, jpj, freminsi2d ) 5338 ENDIF5339 IF( med_diag%REMINFE%dgsave ) THEN5531 ENDIF 5532 IF( med_diag%REMINFE%dgsave ) THEN 5340 5533 CALL iom_put( "REMINFE" , freminfe2d ) 5341 5534 CALL wrk_dealloc( jpi, jpj, freminfe2d ) 5342 ENDIF5343 IF( med_diag%REMINC%dgsave ) THEN5535 ENDIF 5536 IF( med_diag%REMINC%dgsave ) THEN 5344 5537 CALL iom_put( "REMINC" , freminc2d ) 5345 5538 CALL wrk_dealloc( jpi, jpj, freminc2d ) 5346 ENDIF5347 IF( med_diag%REMINCA%dgsave ) THEN5539 ENDIF 5540 IF( med_diag%REMINCA%dgsave ) THEN 5348 5541 CALL iom_put( "REMINCA" , freminca2d ) 5349 5350 ENDIF5351 IF( med_diag%SEAFLRN%dgsave ) THEN5542 CALL wrk_dealloc( jpi, jpj, freminca2d ) 5543 ENDIF 5544 IF( med_diag%SEAFLRN%dgsave ) THEN 5352 5545 CALL iom_put( "SEAFLRN" , fsedn ) 5353 ENDIF5354 IF( med_diag%SEAFLRSI%dgsave ) THEN5546 ENDIF 5547 IF( med_diag%SEAFLRSI%dgsave ) THEN 5355 5548 CALL iom_put( "SEAFLRSI" , fsedsi ) 5356 ENDIF5357 IF( med_diag%SEAFLRFE%dgsave ) THEN5549 ENDIF 5550 IF( med_diag%SEAFLRFE%dgsave ) THEN 5358 5551 CALL iom_put( "SEAFLRFE" , fsedfe ) 5359 ENDIF5360 IF( med_diag%SEAFLRC%dgsave ) THEN5552 ENDIF 5553 IF( med_diag%SEAFLRC%dgsave ) THEN 5361 5554 CALL iom_put( "SEAFLRC" , fsedc ) 5362 ENDIF5363 IF( med_diag%SEAFLRCA%dgsave ) THEN5555 ENDIF 5556 IF( med_diag%SEAFLRCA%dgsave ) THEN 5364 5557 CALL iom_put( "SEAFLRCA" , fsedca ) 5365 ENDIF 5366 5367 !! 5368 !! 5369 !! 5370 !! 5371 !! 5372 !! 5373 !! 5374 !! 5375 !! 5558 ENDIF 5559 !! 5376 5560 # if defined key_roam 5377 !! 5378 !! 5379 IF( med_diag%RIV_N%dgsave ) THEN 5561 !! 5562 IF( med_diag%RIV_N%dgsave ) THEN 5380 5563 CALL iom_put( "RIV_N" , rivn2d ) 5381 5382 ENDIF5383 IF( med_diag%RIV_SI%dgsave ) THEN5564 CALL wrk_dealloc( jpi, jpj, rivn2d ) 5565 ENDIF 5566 IF( med_diag%RIV_SI%dgsave ) THEN 5384 5567 CALL iom_put( "RIV_SI" , rivsi2d ) 5385 5386 ENDIF5387 IF( med_diag%RIV_C%dgsave ) THEN5568 CALL wrk_dealloc( jpi, jpj, rivsi2d ) 5569 ENDIF 5570 IF( med_diag%RIV_C%dgsave ) THEN 5388 5571 CALL iom_put( "RIV_C" , rivc2d ) 5389 5390 ENDIF5391 IF( med_diag%RIV_ALK%dgsave ) THEN5572 CALL wrk_dealloc( jpi, jpj, rivc2d ) 5573 ENDIF 5574 IF( med_diag%RIV_ALK%dgsave ) THEN 5392 5575 CALL iom_put( "RIV_ALK" , rivalk2d ) 5393 5394 ENDIF5395 IF( med_diag%DETC%dgsave ) THEN5576 CALL wrk_dealloc( jpi, jpj, rivalk2d ) 5577 ENDIF 5578 IF( med_diag%DETC%dgsave ) THEN 5396 5579 CALL iom_put( "DETC" , fslowc2d ) 5397 CALL wrk_dealloc( jpi, jpj, fslowc2d ) 5398 ENDIF 5399 !! 5400 !! 5401 !! 5402 IF( med_diag%PN_LLOSS%dgsave ) THEN 5580 CALL wrk_dealloc( jpi, jpj, fslowc2d ) 5581 ENDIF 5582 !! 5583 IF( med_diag%PN_LLOSS%dgsave ) THEN 5403 5584 CALL iom_put( "PN_LLOSS" , fdpn22d ) 5404 5405 ENDIF5406 IF( med_diag%PD_LLOSS%dgsave ) THEN5585 CALL wrk_dealloc( jpi, jpj, fdpn22d ) 5586 ENDIF 5587 IF( med_diag%PD_LLOSS%dgsave ) THEN 5407 5588 CALL iom_put( "PD_LLOSS" , fdpd22d ) 5408 5409 ENDIF5410 IF( med_diag%ZI_LLOSS%dgsave ) THEN5589 CALL wrk_dealloc( jpi, jpj, fdpd22d ) 5590 ENDIF 5591 IF( med_diag%ZI_LLOSS%dgsave ) THEN 5411 5592 CALL iom_put( "ZI_LLOSS" , fdzmi22d ) 5412 5593 CALL wrk_dealloc( jpi, jpj, fdzmi22d ) 5413 ENDIF5414 IF( med_diag%ZE_LLOSS%dgsave ) THEN5415 CALL iom_put( "ZE_LLOSS" , fdzme22d )5594 ENDIF 5595 IF( med_diag%ZE_LLOSS%dgsave ) THEN 5596 CALL iom_put( "ZE_LLOSS" , fdzme22d ) 5416 5597 CALL wrk_dealloc( jpi, jpj, fdzme22d ) 5417 ENDIF5418 IF( med_diag%ZI_MES_N%dgsave ) THEN5419 CALL iom_put( "ZI_MES_N" , zimesn2d )5598 ENDIF 5599 IF( med_diag%ZI_MES_N%dgsave ) THEN 5600 CALL iom_put( "ZI_MES_N" , zimesn2d ) 5420 5601 CALL wrk_dealloc( jpi, jpj, zimesn2d ) 5421 ENDIF5422 IF( med_diag%ZI_MES_D%dgsave ) THEN5423 CALL iom_put( "ZI_MES_D" , zimesd2d )5602 ENDIF 5603 IF( med_diag%ZI_MES_D%dgsave ) THEN 5604 CALL iom_put( "ZI_MES_D" , zimesd2d ) 5424 5605 CALL wrk_dealloc( jpi, jpj, zimesd2d ) 5425 ENDIF5426 IF( med_diag%ZI_MES_C%dgsave ) THEN5427 CALL iom_put( "ZI_MES_C" , zimesc2d )5606 ENDIF 5607 IF( med_diag%ZI_MES_C%dgsave ) THEN 5608 CALL iom_put( "ZI_MES_C" , zimesc2d ) 5428 5609 CALL wrk_dealloc( jpi, jpj, zimesc2d ) 5429 ENDIF5430 IF( med_diag%ZI_MESDC%dgsave ) THEN5431 CALL iom_put( "ZI_MESDC" ,zimesdc2d )5610 ENDIF 5611 IF( med_diag%ZI_MESDC%dgsave ) THEN 5612 CALL iom_put( "ZI_MESDC" ,zimesdc2d ) 5432 5613 CALL wrk_dealloc( jpi, jpj, zimesdc2d ) 5433 ENDIF5434 IF( med_diag%ZI_EXCR%dgsave ) THEN5435 CALL iom_put( "ZI_EXCR" , ziexcr2d )5614 ENDIF 5615 IF( med_diag%ZI_EXCR%dgsave ) THEN 5616 CALL iom_put( "ZI_EXCR" , ziexcr2d ) 5436 5617 CALL wrk_dealloc( jpi, jpj, ziexcr2d ) 5437 ENDIF5438 IF( med_diag%ZI_RESP%dgsave ) THEN5439 CALL iom_put( "ZI_RESP" , ziresp2d )5618 ENDIF 5619 IF( med_diag%ZI_RESP%dgsave ) THEN 5620 CALL iom_put( "ZI_RESP" , ziresp2d ) 5440 5621 CALL wrk_dealloc( jpi, jpj, ziresp2d ) 5441 ENDIF5442 IF( med_diag%ZI_GROW%dgsave ) THEN5443 CALL iom_put( "ZI_GROW" , zigrow2d )5622 ENDIF 5623 IF( med_diag%ZI_GROW%dgsave ) THEN 5624 CALL iom_put( "ZI_GROW" , zigrow2d ) 5444 5625 CALL wrk_dealloc( jpi, jpj, zigrow2d ) 5445 ENDIF5446 IF( med_diag%ZE_MES_N%dgsave ) THEN5447 CALL iom_put( "ZE_MES_N" , zemesn2d )5626 ENDIF 5627 IF( med_diag%ZE_MES_N%dgsave ) THEN 5628 CALL iom_put( "ZE_MES_N" , zemesn2d ) 5448 5629 CALL wrk_dealloc( jpi, jpj, zemesn2d ) 5449 ENDIF5450 IF( med_diag%ZE_MES_D%dgsave ) THEN5451 CALL iom_put( "ZE_MES_D" , zemesd2d )5630 ENDIF 5631 IF( med_diag%ZE_MES_D%dgsave ) THEN 5632 CALL iom_put( "ZE_MES_D" , zemesd2d ) 5452 5633 CALL wrk_dealloc( jpi, jpj, zemesd2d ) 5453 ENDIF5454 IF( med_diag%ZE_MES_C%dgsave ) THEN5455 CALL iom_put( "ZE_MES_C" , zemesc2d )5634 ENDIF 5635 IF( med_diag%ZE_MES_C%dgsave ) THEN 5636 CALL iom_put( "ZE_MES_C" , zemesc2d ) 5456 5637 CALL wrk_dealloc( jpi, jpj, zemesc2d ) 5457 ENDIF5458 IF( med_diag%ZE_MESDC%dgsave ) THEN5459 CALL iom_put( "ZE_MESDC" , zemesdc2d )5638 ENDIF 5639 IF( med_diag%ZE_MESDC%dgsave ) THEN 5640 CALL iom_put( "ZE_MESDC" , zemesdc2d ) 5460 5641 CALL wrk_dealloc( jpi, jpj, zemesdc2d ) 5461 ENDIF5462 IF( med_diag%ZE_EXCR%dgsave ) THEN5463 CALL iom_put( "ZE_EXCR" , zeexcr2d )5642 ENDIF 5643 IF( med_diag%ZE_EXCR%dgsave ) THEN 5644 CALL iom_put( "ZE_EXCR" , zeexcr2d ) 5464 5645 CALL wrk_dealloc( jpi, jpj, zeexcr2d ) 5465 ENDIF5466 IF( med_diag%ZE_RESP%dgsave ) THEN5467 CALL iom_put( "ZE_RESP" , zeresp2d )5646 ENDIF 5647 IF( med_diag%ZE_RESP%dgsave ) THEN 5648 CALL iom_put( "ZE_RESP" , zeresp2d ) 5468 5649 CALL wrk_dealloc( jpi, jpj, zeresp2d ) 5469 ENDIF5470 IF( med_diag%ZE_GROW%dgsave ) THEN5471 CALL iom_put( "ZE_GROW" , zegrow2d )5650 ENDIF 5651 IF( med_diag%ZE_GROW%dgsave ) THEN 5652 CALL iom_put( "ZE_GROW" , zegrow2d ) 5472 5653 CALL wrk_dealloc( jpi, jpj, zegrow2d ) 5473 ENDIF5474 IF( med_diag%MDETC%dgsave ) THEN5475 CALL iom_put( "MDETC" , mdetc2d )5654 ENDIF 5655 IF( med_diag%MDETC%dgsave ) THEN 5656 CALL iom_put( "MDETC" , mdetc2d ) 5476 5657 CALL wrk_dealloc( jpi, jpj, mdetc2d ) 5477 ENDIF5478 IF( med_diag%GMIDC%dgsave ) THEN5479 CALL iom_put( "GMIDC" , gmidc2d )5658 ENDIF 5659 IF( med_diag%GMIDC%dgsave ) THEN 5660 CALL iom_put( "GMIDC" , gmidc2d ) 5480 5661 CALL wrk_dealloc( jpi, jpj, gmidc2d ) 5481 ENDIF5482 IF( med_diag%GMEDC%dgsave ) THEN5483 CALL iom_put( "GMEDC" , gmedc2d )5662 ENDIF 5663 IF( med_diag%GMEDC%dgsave ) THEN 5664 CALL iom_put( "GMEDC" , gmedc2d ) 5484 5665 CALL wrk_dealloc( jpi, jpj, gmedc2d ) 5485 ENDIF5486 IF( med_diag%IBEN_N%dgsave ) THEN5487 CALL iom_put( "IBEN_N" , iben_n2d )5666 ENDIF 5667 IF( med_diag%IBEN_N%dgsave ) THEN 5668 CALL iom_put( "IBEN_N" , iben_n2d ) 5488 5669 CALL wrk_dealloc( jpi, jpj, iben_n2d ) 5489 ENDIF5490 IF( med_diag%IBEN_FE%dgsave ) THEN5491 CALL iom_put( "IBEN_FE" , iben_fe2d )5670 ENDIF 5671 IF( med_diag%IBEN_FE%dgsave ) THEN 5672 CALL iom_put( "IBEN_FE" , iben_fe2d ) 5492 5673 CALL wrk_dealloc( jpi, jpj, iben_fe2d ) 5493 ENDIF5494 IF( med_diag%IBEN_C%dgsave ) THEN5495 CALL iom_put( "IBEN_C" , iben_c2d )5674 ENDIF 5675 IF( med_diag%IBEN_C%dgsave ) THEN 5676 CALL iom_put( "IBEN_C" , iben_c2d ) 5496 5677 CALL wrk_dealloc( jpi, jpj, iben_c2d ) 5497 ENDIF5498 IF( med_diag%IBEN_SI%dgsave ) THEN5499 CALL iom_put( "IBEN_SI" , iben_si2d )5678 ENDIF 5679 IF( med_diag%IBEN_SI%dgsave ) THEN 5680 CALL iom_put( "IBEN_SI" , iben_si2d ) 5500 5681 CALL wrk_dealloc( jpi, jpj, iben_si2d ) 5501 ENDIF5502 IF( med_diag%IBEN_CA%dgsave ) THEN5503 CALL iom_put( "IBEN_CA" , iben_ca2d )5682 ENDIF 5683 IF( med_diag%IBEN_CA%dgsave ) THEN 5684 CALL iom_put( "IBEN_CA" , iben_ca2d ) 5504 5685 CALL wrk_dealloc( jpi, jpj, iben_ca2d ) 5505 ENDIF5506 IF( med_diag%OBEN_N%dgsave ) THEN5507 CALL iom_put( "OBEN_N" , oben_n2d )5686 ENDIF 5687 IF( med_diag%OBEN_N%dgsave ) THEN 5688 CALL iom_put( "OBEN_N" , oben_n2d ) 5508 5689 CALL wrk_dealloc( jpi, jpj, oben_n2d ) 5509 ENDIF5510 IF( med_diag%OBEN_FE%dgsave ) THEN5511 CALL iom_put( "OBEN_FE" , oben_fe2d )5690 ENDIF 5691 IF( med_diag%OBEN_FE%dgsave ) THEN 5692 CALL iom_put( "OBEN_FE" , oben_fe2d ) 5512 5693 CALL wrk_dealloc( jpi, jpj, oben_fe2d ) 5513 ENDIF5514 IF( med_diag%OBEN_C%dgsave ) THEN5515 CALL iom_put( "OBEN_C" , oben_c2d )5694 ENDIF 5695 IF( med_diag%OBEN_C%dgsave ) THEN 5696 CALL iom_put( "OBEN_C" , oben_c2d ) 5516 5697 CALL wrk_dealloc( jpi, jpj, oben_c2d ) 5517 ENDIF5518 IF( med_diag%OBEN_SI%dgsave ) THEN5519 CALL iom_put( "OBEN_SI" , oben_si2d )5698 ENDIF 5699 IF( med_diag%OBEN_SI%dgsave ) THEN 5700 CALL iom_put( "OBEN_SI" , oben_si2d ) 5520 5701 CALL wrk_dealloc( jpi, jpj, oben_si2d ) 5521 ENDIF5522 IF( med_diag%OBEN_CA%dgsave ) THEN5523 CALL iom_put( "OBEN_CA" , oben_ca2d )5702 ENDIF 5703 IF( med_diag%OBEN_CA%dgsave ) THEN 5704 CALL iom_put( "OBEN_CA" , oben_ca2d ) 5524 5705 CALL wrk_dealloc( jpi, jpj, oben_ca2d ) 5525 ENDIF5526 IF( med_diag%SFR_OCAL%dgsave ) THEN5527 CALL iom_put( "SFR_OCAL" , sfr_ocal2d )5706 ENDIF 5707 IF( med_diag%SFR_OCAL%dgsave ) THEN 5708 CALL iom_put( "SFR_OCAL" , sfr_ocal2d ) 5528 5709 CALL wrk_dealloc( jpi, jpj, sfr_ocal2d ) 5529 ENDIF5530 IF( med_diag%SFR_OARG%dgsave ) THEN5531 CALL iom_put( "SFR_OARG" , sfr_oarg2d )5710 ENDIF 5711 IF( med_diag%SFR_OARG%dgsave ) THEN 5712 CALL iom_put( "SFR_OARG" , sfr_oarg2d ) 5532 5713 CALL wrk_dealloc( jpi, jpj, sfr_oarg2d ) 5533 ENDIF5534 IF( med_diag%LYSO_CA%dgsave ) THEN5535 CALL iom_put( "LYSO_CA" , lyso_ca2d )5714 ENDIF 5715 IF( med_diag%LYSO_CA%dgsave ) THEN 5716 CALL iom_put( "LYSO_CA" , lyso_ca2d ) 5536 5717 CALL wrk_dealloc( jpi, jpj, lyso_ca2d ) 5537 ENDIF5718 ENDIF 5538 5719 # endif 5539 !! 5540 !! 5541 !! ** 3D diagnostics 5542 IF( med_diag%TPP3%dgsave ) THEN 5720 !! 5721 !! ** 3D diagnostics 5722 IF( med_diag%TPP3%dgsave ) THEN 5543 5723 CALL iom_put( "TPP3" , tpp3d ) 5544 5545 ENDIF5546 IF( med_diag%DETFLUX3%dgsave ) THEN5724 CALL wrk_dealloc( jpi, jpj, jpk, tpp3d ) 5725 ENDIF 5726 IF( med_diag%DETFLUX3%dgsave ) THEN 5547 5727 CALL iom_put( "DETFLUX3" , detflux3d ) 5548 5549 ENDIF5728 CALL wrk_dealloc( jpi, jpj, jpk, detflux3d ) 5729 ENDIF 5550 5730 IF( med_diag%REMIN3N%dgsave ) THEN 5551 5731 CALL iom_put( "REMIN3N" , remin3dn ) … … 5554 5734 # if defined key_roam 5555 5735 IF( med_diag%PH3%dgsave ) THEN 5556 5736 CALL iom_put( "PH3" , f3_pH ) 5557 5737 ENDIF 5558 5738 IF( med_diag%OM_CAL3%dgsave ) THEN 5559 CALL iom_put( "OM_CAL3" , f3_omcal ) 5560 ENDIF 5739 CALL iom_put( "OM_CAL3" , f3_omcal ) 5740 ENDIF 5741 !! 5742 !! AXY (09/11/16): 2D CMIP6 diagnostics 5743 IF( med_diag%INTDISSIC%dgsave ) THEN 5744 CALL iom_put( "INTDISSIC" , intdissic ) 5745 CALL wrk_dealloc( jpi, jpj, jpk, intdissic ) 5746 ENDIF 5747 IF( med_diag%INTDISSIN%dgsave ) THEN 5748 CALL iom_put( "INTDISSIN" , intdissin ) 5749 CALL wrk_dealloc( jpi, jpj, jpk, intdissin ) 5750 ENDIF 5751 IF( med_diag%INTDISSISI%dgsave ) THEN 5752 CALL iom_put( "INTDISSISI" , intdissisi ) 5753 CALL wrk_dealloc( jpi, jpj, jpk, intdissisi ) 5754 ENDIF 5755 IF( med_diag%INTTALK%dgsave ) THEN 5756 CALL iom_put( "INTTALK" , inttalk ) 5757 CALL wrk_dealloc( jpi, jpj, jpk, inttalk ) 5758 ENDIF 5759 IF( med_diag%O2min%dgsave ) THEN 5760 CALL iom_put( "O2min" , o2min ) 5761 CALL wrk_dealloc( jpi, jpj, jpk, o2min ) 5762 ENDIF 5763 IF( med_diag%ZO2min%dgsave ) THEN 5764 CALL iom_put( "ZO2min" , zo2min ) 5765 CALL wrk_dealloc( jpi, jpj, jpk, zo2min ) 5766 ENDIF 5767 !! 5768 !! AXY (09/11/16): 3D CMIP6 diagnostics 5769 IF( med_diag%BDDTALK3%dgsave ) THEN 5770 CALL iom_put( "BDDTALK3" , bddtalk3 ) 5771 CALL wrk_dealloc( jpi, jpj, jpk, bddtalk3 ) 5772 ENDIF 5773 IF( med_diag%BDDTDIC3%dgsave ) THEN 5774 CALL iom_put( "BDDTDIC3" , bddtdic3 ) 5775 CALL wrk_dealloc( jpi, jpj, jpk, bddtdic3 ) 5776 ENDIF 5777 IF( med_diag%BDDTDIFE3%dgsave ) THEN 5778 CALL iom_put( "BDDTDIFE3" , bddtdife3 ) 5779 CALL wrk_dealloc( jpi, jpj, jpk, bddtdife3 ) 5780 ENDIF 5781 IF( med_diag%BDDTDIN3%dgsave ) THEN 5782 CALL iom_put( "BDDTDIN3" , bddtdin3 ) 5783 CALL wrk_dealloc( jpi, jpj, jpk, bddtdin3 ) 5784 ENDIF 5785 IF( med_diag%BDDTDISI3%dgsave ) THEN 5786 CALL iom_put( "BDDTDISI3" , bddtdisi3 ) 5787 CALL wrk_dealloc( jpi, jpj, jpk, bddtdisi3 ) 5788 ENDIF 5789 IF( med_diag%FD_NIT3%dgsave ) THEN 5790 CALL iom_put( "FD_NIT3" , fd_nit3 ) 5791 CALL wrk_dealloc( jpi, jpj, jpk, fd_nit3 ) 5792 ENDIF 5793 IF( med_diag%FD_SIL3%dgsave ) THEN 5794 CALL iom_put( "FD_SIL3" , fd_sil3 ) 5795 CALL wrk_dealloc( jpi, jpj, jpk, fd_sil3 ) 5796 ENDIF 5797 IF( med_diag%FD_CAL3%dgsave ) THEN 5798 CALL iom_put( "FD_CAL3" , fd_cal3 ) 5799 CALL wrk_dealloc( jpi, jpj, jpk, fd_cal3 ) 5800 ENDIF 5801 IF( med_diag%FD_CAR3%dgsave ) THEN 5802 CALL iom_put( "FD_CAR3" , fd_car3 ) 5803 CALL wrk_dealloc( jpi, jpj, jpk, fd_car3 ) 5804 ENDIF 5805 IF( med_diag%CO33%dgsave ) THEN 5806 CALL iom_put( "CO33" , f3_co3 ) 5807 ENDIF 5808 IF( med_diag%CO3SATARAG3%dgsave ) THEN 5809 CALL iom_put( "CO3SATARAG3" , f3_omarg ) 5810 ENDIF 5811 IF( med_diag%CO3SATCALC3%dgsave ) THEN 5812 CALL iom_put( "CO3SATCALC3" , f3_omcal ) 5813 ENDIF 5814 IF( med_diag%DCALC3%dgsave ) THEN 5815 CALL iom_put( "DCALC3" , dcalc3 ) 5816 CALL wrk_dealloc( jpi, jpj, jpk, dcalc3 ) 5817 ENDIF 5818 IF( med_diag%FEDISS3%dgsave ) THEN 5819 CALL iom_put( "FEDISS3" , fediss3 ) 5820 CALL wrk_dealloc( jpi, jpj, jpk, fediss3 ) 5821 ENDIF 5822 IF( med_diag%FESCAV3%dgsave ) THEN 5823 CALL iom_put( "FESCAV3" , fescav3 ) 5824 CALL wrk_dealloc( jpi, jpj, jpk, fescav3 ) 5825 ENDIF 5826 IF( med_diag%MIGRAZP3%dgsave ) THEN 5827 CALL iom_put( "MIGRAZP3" , migrazp3 ) 5828 CALL wrk_dealloc( jpi, jpj, jpk, migrazp3 ) 5829 ENDIF 5830 IF( med_diag%MIGRAZD3%dgsave ) THEN 5831 CALL iom_put( "MIGRAZD3" , migrazd3 ) 5832 CALL wrk_dealloc( jpi, jpj, jpk, migrazd3 ) 5833 ENDIF 5834 IF( med_diag%MEGRAZP3%dgsave ) THEN 5835 CALL iom_put( "MEGRAZP3" , megrazp3 ) 5836 CALL wrk_dealloc( jpi, jpj, jpk, megrazp3 ) 5837 ENDIF 5838 IF( med_diag%MEGRAZD3%dgsave ) THEN 5839 CALL iom_put( "MEGRAZD3" , megrazd3 ) 5840 CALL wrk_dealloc( jpi, jpj, jpk, megrazd3 ) 5841 ENDIF 5842 IF( med_diag%MEGRAZZ3%dgsave ) THEN 5843 CALL iom_put( "MEGRAZZ3" , megrazz3 ) 5844 CALL wrk_dealloc( jpi, jpj, jpk, megrazz3 ) 5845 ENDIF 5846 IF( med_diag%O2SAT3%dgsave ) THEN 5847 CALL iom_put( "O2SAT3" , o2sat3 ) 5848 CALL wrk_dealloc( jpi, jpj, jpk, o2sat3 ) 5849 ENDIF 5850 IF( med_diag%PBSI3%dgsave ) THEN 5851 CALL iom_put( "PBSI3" , pbsi3 ) 5852 CALL wrk_dealloc( jpi, jpj, jpk, pbsi3 ) 5853 ENDIF 5854 IF( med_diag%PCAL3%dgsave ) THEN 5855 CALL iom_put( "PCAL3" , pcal3 ) 5856 CALL wrk_dealloc( jpi, jpj, jpk, pcal3 ) 5857 ENDIF 5858 IF( med_diag%REMOC3%dgsave ) THEN 5859 CALL iom_put( "REMOC3" , remoc3 ) 5860 CALL wrk_dealloc( jpi, jpj, jpk, remoc3 ) 5861 ENDIF 5862 IF( med_diag%PNLIMJ3%dgsave ) THEN 5863 CALL iom_put( "PNLIMJ3" , pnlimj3 ) 5864 CALL wrk_dealloc( jpi, jpj, jpk, pnlimj3 ) 5865 ENDIF 5866 IF( med_diag%PNLIMN3%dgsave ) THEN 5867 CALL iom_put( "PNLIMN3" , pnlimn3 ) 5868 CALL wrk_dealloc( jpi, jpj, jpk, pnlimn3 ) 5869 ENDIF 5870 IF( med_diag%PNLIMFE3%dgsave ) THEN 5871 CALL iom_put( "PNLIMFE3" , pnlimfe3 ) 5872 CALL wrk_dealloc( jpi, jpj, jpk, pnlimfe3 ) 5873 ENDIF 5874 IF( med_diag%PDLIMJ3%dgsave ) THEN 5875 CALL iom_put( "PDLIMJ3" , pdlimj3 ) 5876 CALL wrk_dealloc( jpi, jpj, jpk, pdlimj3 ) 5877 ENDIF 5878 IF( med_diag%PDLIMN3%dgsave ) THEN 5879 CALL iom_put( "PDLIMN3" , pdlimn3 ) 5880 CALL wrk_dealloc( jpi, jpj, jpk, pdlimn3 ) 5881 ENDIF 5882 IF( med_diag%PDLIMFE3%dgsave ) THEN 5883 CALL iom_put( "PDLIMFE3" , pdlimfe3 ) 5884 CALL wrk_dealloc( jpi, jpj, jpk, pdlimfe3 ) 5885 ENDIF 5886 IF( med_diag%PDLIMSI3%dgsave ) THEN 5887 CALL iom_put( "PDLIMSI3" , pdlimsi3 ) 5888 CALL wrk_dealloc( jpi, jpj, jpk, pdlimsi3 ) 5889 ENDIF 5890 5561 5891 # endif 5562 5892 5563 CALL wrk_dealloc( jpi, jpj, zw2d )5564 5565 ENDIF! end of ln_diatrc option5893 CALL wrk_dealloc( jpi, jpj, zw2d ) 5894 5895 ENDIF ! end of ln_diatrc option 5566 5896 5567 5897 # if defined key_trc_diabio 5568 !! Lateral boundary conditions on trcbio5569 DO jn=1,jp_medusa_trd5898 !! Lateral boundary conditions on trcbio 5899 DO jn=1,jp_medusa_trd 5570 5900 CALL lbc_lnk(trbio(:,:,1,jn),'T',1. ) 5571 ENDDO5901 ENDDO 5572 5902 # endif 5573 5903 5574 5904 # if defined key_debug_medusa 5575 IF(lwp) WRITE(numout,*) ' MEDUSA exiting trc_bio_medusa at kt =', kt5576 CALL flush(numout)5905 IF(lwp) WRITE(numout,*) ' MEDUSA exiting trc_bio_medusa at kt =', kt 5906 CALL flush(numout) 5577 5907 # endif 5578 5908 -
branches/NERC/dev_r5518_NOC_MEDUSA_Stable/NEMOGCM/NEMO/TOP_SRC/MEDUSA/trcnam_medusa.F90
r6715 r7224 10 10 !! - ! 2011-04 (A. Yool) updated for ROAM project 11 11 !! - ! 2013-05 (A. Yool) renamed (from trclsm) for v3.5 12 !! - ! 2015-11 (J. Palmieri) added iom_use for diags 13 !! - ! 2016-11 (A. Yool) updated diags for CMIP6 12 14 !!---------------------------------------------------------------------- 13 15 #if defined key_medusa … … 1180 1182 1181 1183 SUBROUTINE trc_nam_iom_medusa 1182 !!---------------------------------------------------------------------1184 !!--------------------------------------------------------------------- 1183 1185 !! *** ROUTINE trc_nam_iom_medusa *** 1184 1186 !! … … 2051 2053 med_diag%GMEDC%dgsave = .FALSE. 2052 2054 ENDIF 2053 IF (iom_use("BASIN_01")) THEN2054 med_diag%BASIN_01%dgsave = .TRUE.2055 ELSE2056 med_diag%BASIN_01%dgsave = .FALSE.2057 ENDIF2058 IF (iom_use("BASIN_02")) THEN2059 med_diag%BASIN_02%dgsave = .TRUE.2060 ELSE2061 med_diag%BASIN_02%dgsave = .FALSE.2062 ENDIF2063 IF (iom_use("BASIN_03")) THEN2064 med_diag%BASIN_03%dgsave = .TRUE.2065 ELSE2066 med_diag%BASIN_03%dgsave = .FALSE.2067 ENDIF2068 IF (iom_use("BASIN_04")) THEN2069 med_diag%BASIN_04%dgsave = .TRUE.2070 ELSE2071 med_diag%BASIN_04%dgsave = .FALSE.2072 ENDIF2073 IF (iom_use("BASIN_05")) THEN2074 med_diag%BASIN_05%dgsave = .TRUE.2075 ELSE2076 med_diag%BASIN_05%dgsave = .FALSE.2077 ENDIF2078 IF (iom_use("BASIN_06")) THEN2079 med_diag%BASIN_06%dgsave = .TRUE.2080 ELSE2081 med_diag%BASIN_06%dgsave = .FALSE.2082 ENDIF2083 IF (iom_use("BASIN_07")) THEN2084 med_diag%BASIN_07%dgsave = .TRUE.2085 ELSE2086 med_diag%BASIN_07%dgsave = .FALSE.2087 ENDIF2088 IF (iom_use("BASIN_08")) THEN2089 med_diag%BASIN_08%dgsave = .TRUE.2090 ELSE2091 med_diag%BASIN_08%dgsave = .FALSE.2092 ENDIF2093 IF (iom_use("BASIN_09")) THEN2094 med_diag%BASIN_09%dgsave = .TRUE.2095 ELSE2096 med_diag%BASIN_09%dgsave = .FALSE.2097 ENDIF2098 IF (iom_use("BASIN_10")) THEN2099 med_diag%BASIN_10%dgsave = .TRUE.2100 ELSE2101 med_diag%BASIN_10%dgsave = .FALSE.2102 ENDIF2103 IF (iom_use("BASIN_11")) THEN2104 med_diag%BASIN_11%dgsave = .TRUE.2105 ELSE2106 med_diag%BASIN_11%dgsave = .FALSE.2107 ENDIF2108 IF (iom_use("BASIN_12")) THEN2109 med_diag%BASIN_12%dgsave = .TRUE.2110 ELSE2111 med_diag%BASIN_12%dgsave = .FALSE.2112 ENDIF2113 IF (iom_use("BASIN_13")) THEN2114 med_diag%BASIN_13%dgsave = .TRUE.2115 ELSE2116 med_diag%BASIN_13%dgsave = .FALSE.2117 ENDIF2118 IF (iom_use("BASIN_14")) THEN2119 med_diag%BASIN_14%dgsave = .TRUE.2120 ELSE2121 med_diag%BASIN_14%dgsave = .FALSE.2122 ENDIF2123 IF (iom_use("BASIN_15")) THEN2124 med_diag%BASIN_15%dgsave = .TRUE.2125 ELSE2126 med_diag%BASIN_15%dgsave = .FALSE.2127 ENDIF2128 IF (iom_use("BASIN_16")) THEN2129 med_diag%BASIN_16%dgsave = .TRUE.2130 ELSE2131 med_diag%BASIN_16%dgsave = .FALSE.2132 ENDIF2133 IF (iom_use("BASIN_17")) THEN2134 med_diag%BASIN_17%dgsave = .TRUE.2135 ELSE2136 med_diag%BASIN_17%dgsave = .FALSE.2137 ENDIF2138 IF (iom_use("BASIN_18")) THEN2139 med_diag%BASIN_18%dgsave = .TRUE.2140 ELSE2141 med_diag%BASIN_18%dgsave = .FALSE.2142 ENDIF2143 IF (iom_use("BASIN_19")) THEN2144 med_diag%BASIN_19%dgsave = .TRUE.2145 ELSE2146 med_diag%BASIN_19%dgsave = .FALSE.2147 ENDIF2148 IF (iom_use("BASIN_20")) THEN2149 med_diag%BASIN_20%dgsave = .TRUE.2150 ELSE2151 med_diag%BASIN_20%dgsave = .FALSE.2152 ENDIF2153 IF (iom_use("BASIN_21")) THEN2154 med_diag%BASIN_21%dgsave = .TRUE.2155 ELSE2156 med_diag%BASIN_21%dgsave = .FALSE.2157 ENDIF2158 IF (iom_use("BASIN_22")) THEN2159 med_diag%BASIN_22%dgsave = .TRUE.2160 ELSE2161 med_diag%BASIN_22%dgsave = .FALSE.2162 ENDIF2163 IF (iom_use("BASIN_23")) THEN2164 med_diag%BASIN_23%dgsave = .TRUE.2165 ELSE2166 med_diag%BASIN_23%dgsave = .FALSE.2167 ENDIF2168 IF (iom_use("BASIN_24")) THEN2169 med_diag%BASIN_24%dgsave = .TRUE.2170 ELSE2171 med_diag%BASIN_24%dgsave = .FALSE.2172 ENDIF2173 IF (iom_use("BASIN_25")) THEN2174 med_diag%BASIN_25%dgsave = .TRUE.2175 ELSE2176 med_diag%BASIN_25%dgsave = .FALSE.2177 ENDIF2178 IF (iom_use("BASIN_26")) THEN2179 med_diag%BASIN_26%dgsave = .TRUE.2180 ELSE2181 med_diag%BASIN_26%dgsave = .FALSE.2182 ENDIF2183 IF (iom_use("BASIN_27")) THEN2184 med_diag%BASIN_27%dgsave = .TRUE.2185 ELSE2186 med_diag%BASIN_27%dgsave = .FALSE.2187 ENDIF2188 IF (iom_use("BASIN_28")) THEN2189 med_diag%BASIN_28%dgsave = .TRUE.2190 ELSE2191 med_diag%BASIN_28%dgsave = .FALSE.2192 ENDIF2193 IF (iom_use("BASIN_29")) THEN2194 med_diag%BASIN_29%dgsave = .TRUE.2195 ELSE2196 med_diag%BASIN_29%dgsave = .FALSE.2197 ENDIF2198 IF (iom_use("BASIN_30")) THEN2199 med_diag%BASIN_30%dgsave = .TRUE.2200 ELSE2201 med_diag%BASIN_30%dgsave = .FALSE.2202 ENDIF2203 IF (iom_use("BASIN_31")) THEN2204 med_diag%BASIN_31%dgsave = .TRUE.2205 ELSE2206 med_diag%BASIN_31%dgsave = .FALSE.2207 ENDIF2208 IF (iom_use("BASIN_32")) THEN2209 med_diag%BASIN_32%dgsave = .TRUE.2210 ELSE2211 med_diag%BASIN_32%dgsave = .FALSE.2212 ENDIF2213 IF (iom_use("BASIN_33")) THEN2214 med_diag%BASIN_33%dgsave = .TRUE.2215 ELSE2216 med_diag%BASIN_33%dgsave = .FALSE.2217 ENDIF2218 IF (iom_use("BASIN_34")) THEN2219 med_diag%BASIN_34%dgsave = .TRUE.2220 ELSE2221 med_diag%BASIN_34%dgsave = .FALSE.2222 ENDIF2223 IF (iom_use("BASIN_35")) THEN2224 med_diag%BASIN_35%dgsave = .TRUE.2225 ELSE2226 med_diag%BASIN_35%dgsave = .FALSE.2227 ENDIF2228 IF (iom_use("BASIN_36")) THEN2229 med_diag%BASIN_36%dgsave = .TRUE.2230 ELSE2231 med_diag%BASIN_36%dgsave = .FALSE.2232 ENDIF2233 IF (iom_use("BASIN_37")) THEN2234 med_diag%BASIN_37%dgsave = .TRUE.2235 ELSE2236 med_diag%BASIN_37%dgsave = .FALSE.2237 ENDIF2238 IF (iom_use("BASIN_38")) THEN2239 med_diag%BASIN_38%dgsave = .TRUE.2240 ELSE2241 med_diag%BASIN_38%dgsave = .FALSE.2242 ENDIF2243 IF (iom_use("BASIN_39")) THEN2244 med_diag%BASIN_39%dgsave = .TRUE.2245 ELSE2246 med_diag%BASIN_39%dgsave = .FALSE.2247 ENDIF2248 IF (iom_use("BASIN_40")) THEN2249 med_diag%BASIN_40%dgsave = .TRUE.2250 ELSE2251 med_diag%BASIN_40%dgsave = .FALSE.2252 ENDIF2253 IF (iom_use("BASIN_41")) THEN2254 med_diag%BASIN_41%dgsave = .TRUE.2255 ELSE2256 med_diag%BASIN_41%dgsave = .FALSE.2257 ENDIF2258 IF (iom_use("BASIN_42")) THEN2259 med_diag%BASIN_42%dgsave = .TRUE.2260 ELSE2261 med_diag%BASIN_42%dgsave = .FALSE.2262 ENDIF2263 IF (iom_use("BASIN_43")) THEN2264 med_diag%BASIN_43%dgsave = .TRUE.2265 ELSE2266 med_diag%BASIN_43%dgsave = .FALSE.2267 ENDIF2268 IF (iom_use("BASIN_44")) THEN2269 med_diag%BASIN_44%dgsave = .TRUE.2270 ELSE2271 med_diag%BASIN_44%dgsave = .FALSE.2272 ENDIF2273 IF (iom_use("BASIN_45")) THEN2274 med_diag%BASIN_45%dgsave = .TRUE.2275 ELSE2276 med_diag%BASIN_45%dgsave = .FALSE.2277 ENDIF2278 2055 IF (iom_use("INT_ZMI")) THEN 2279 2056 med_diag%INT_ZMI%dgsave = .TRUE. … … 2347 2124 ENDIF 2348 2125 !! 2126 !!---------------------------------------------------------------------- 2127 !! AXY (03/11/16): add in additional CMIP6 diagnostics 2128 !!---------------------------------------------------------------------- 2349 2129 !! 2130 !! 2D fields 2131 IF (iom_use("epC100")) THEN 2132 med_diag%epC100%dgsave = .TRUE. 2133 ELSE 2134 med_diag%epC100%dgsave = .FALSE. 2135 ENDIF 2136 IF (iom_use("epCALC100")) THEN 2137 med_diag%epCALC100%dgsave = .TRUE. 2138 ELSE 2139 med_diag%epCALC100%dgsave = .FALSE. 2140 ENDIF 2141 IF (iom_use("epN100")) THEN 2142 med_diag%epN100%dgsave = .TRUE. 2143 ELSE 2144 med_diag%epN100%dgsave = .FALSE. 2145 ENDIF 2146 IF (iom_use("epSI100")) THEN 2147 med_diag%epSI100%dgsave = .TRUE. 2148 ELSE 2149 med_diag%epSI100%dgsave = .FALSE. 2150 ENDIF 2151 IF (iom_use("FGCO2")) THEN 2152 med_diag%FGCO2%dgsave = .TRUE. 2153 ELSE 2154 med_diag%FGCO2%dgsave = .FALSE. 2155 ENDIF 2156 IF (iom_use("INTDISSIC")) THEN 2157 med_diag%INTDISSIC%dgsave = .TRUE. 2158 ELSE 2159 med_diag%INTDISSIC%dgsave = .FALSE. 2160 ENDIF 2161 IF (iom_use("INTDISSIN")) THEN 2162 med_diag%INTDISSIN%dgsave = .TRUE. 2163 ELSE 2164 med_diag%INTDISSIN%dgsave = .FALSE. 2165 ENDIF 2166 IF (iom_use("INTDISSISI")) THEN 2167 med_diag%INTDISSISI%dgsave = .TRUE. 2168 ELSE 2169 med_diag%INTDISSISI%dgsave = .FALSE. 2170 ENDIF 2171 IF (iom_use("INTTALK")) THEN 2172 med_diag%INTTALK%dgsave = .TRUE. 2173 ELSE 2174 med_diag%INTTALK%dgsave = .FALSE. 2175 ENDIF 2176 IF (iom_use("O2min")) THEN 2177 med_diag%O2min%dgsave = .TRUE. 2178 ELSE 2179 med_diag%O2min%dgsave = .FALSE. 2180 ENDIF 2181 IF (iom_use("ZO2min")) THEN 2182 med_diag%ZO2min%dgsave = .TRUE. 2183 ELSE 2184 med_diag%ZO2min%dgsave = .FALSE. 2185 ENDIF 2186 !! 2187 !! 3D 2188 IF (iom_use("TPPD3")) THEN 2189 med_diag%TPPD3%dgsave = .TRUE. 2190 ELSE 2191 med_diag%TPPD3%dgsave = .FALSE. 2192 ENDIF 2193 IF (iom_use("BDDTALK3")) THEN 2194 med_diag%BDDTALK3%dgsave = .TRUE. 2195 ELSE 2196 med_diag%BDDTALK3%dgsave = .FALSE. 2197 ENDIF 2198 IF (iom_use("BDDTDIC3")) THEN 2199 med_diag%BDDTDIC3%dgsave = .TRUE. 2200 ELSE 2201 med_diag%BDDTDIC3%dgsave = .FALSE. 2202 ENDIF 2203 IF (iom_use("BDDTDIFE3")) THEN 2204 med_diag%BDDTDIFE3%dgsave = .TRUE. 2205 ELSE 2206 med_diag%BDDTDIFE3%dgsave = .FALSE. 2207 ENDIF 2208 IF (iom_use("BDDTDISI3")) THEN 2209 med_diag%BDDTDISI3%dgsave = .TRUE. 2210 ELSE 2211 med_diag%BDDTDISI3%dgsave = .FALSE. 2212 ENDIF 2213 IF (iom_use("FD_NIT3")) THEN 2214 med_diag%FD_NIT3%dgsave = .TRUE. 2215 ELSE 2216 med_diag%FD_NIT3%dgsave = .FALSE. 2217 ENDIF 2218 IF (iom_use("FD_SIL3")) THEN 2219 med_diag%FD_SIL3%dgsave = .TRUE. 2220 ELSE 2221 med_diag%FD_SIL3%dgsave = .FALSE. 2222 ENDIF 2223 IF (iom_use("FD_CAR3")) THEN 2224 med_diag%FD_CAR3%dgsave = .TRUE. 2225 ELSE 2226 med_diag%FD_CAR3%dgsave = .FALSE. 2227 ENDIF 2228 IF (iom_use("FD_CAL3")) THEN 2229 med_diag%FD_CAL3%dgsave = .TRUE. 2230 ELSE 2231 med_diag%FD_CAL3%dgsave = .FALSE. 2232 ENDIF 2233 IF (iom_use("CO33")) THEN 2234 med_diag%CO33%dgsave = .TRUE. 2235 ELSE 2236 med_diag%CO33%dgsave = .FALSE. 2237 ENDIF 2238 IF (iom_use("CO3SATARAG3")) THEN 2239 med_diag%CO3SATARAG3%dgsave = .TRUE. 2240 ELSE 2241 med_diag%CO3SATARAG3%dgsave = .FALSE. 2242 ENDIF 2243 IF (iom_use("CO3SATCALC3")) THEN 2244 med_diag%CO3SATCALC3%dgsave = .TRUE. 2245 ELSE 2246 med_diag%CO3SATCALC3%dgsave = .FALSE. 2247 ENDIF 2248 IF (iom_use("DCALC3")) THEN 2249 med_diag%DCALC3%dgsave = .TRUE. 2250 ELSE 2251 med_diag%DCALC3%dgsave = .FALSE. 2252 ENDIF 2253 IF (iom_use("EXPC3")) THEN 2254 med_diag%EXPC3%dgsave = .TRUE. 2255 ELSE 2256 med_diag%EXPC3%dgsave = .FALSE. 2257 ENDIF 2258 IF (iom_use("EXPN3")) THEN 2259 med_diag%EXPN3%dgsave = .TRUE. 2260 ELSE 2261 med_diag%EXPN3%dgsave = .FALSE. 2262 ENDIF 2263 IF (iom_use("EXPCALC3")) THEN 2264 med_diag%EXPCALC3%dgsave = .TRUE. 2265 ELSE 2266 med_diag%EXPCALC3%dgsave = .FALSE. 2267 ENDIF 2268 IF (iom_use("EXPSI3")) THEN 2269 med_diag%EXPSI3%dgsave = .TRUE. 2270 ELSE 2271 med_diag%EXPSI3%dgsave = .FALSE. 2272 ENDIF 2273 IF (iom_use("FEDISS3")) THEN 2274 med_diag%FEDISS3%dgsave = .TRUE. 2275 ELSE 2276 med_diag%FEDISS3%dgsave = .FALSE. 2277 ENDIF 2278 IF (iom_use("FESCAV3")) THEN 2279 med_diag%FESCAV3%dgsave = .TRUE. 2280 ELSE 2281 med_diag%FESCAV3%dgsave = .FALSE. 2282 ENDIF 2283 IF (iom_use("MIGRAZP3")) THEN 2284 med_diag%MIGRAZP3%dgsave = .TRUE. 2285 ELSE 2286 med_diag%MIGRAZP3%dgsave = .FALSE. 2287 ENDIF 2288 IF (iom_use("MIGRAZD3")) THEN 2289 med_diag%MIGRAZD3%dgsave = .TRUE. 2290 ELSE 2291 med_diag%MIGRAZD3%dgsave = .FALSE. 2292 ENDIF 2293 IF (iom_use("MEGRAZP3")) THEN 2294 med_diag%MEGRAZP3%dgsave = .TRUE. 2295 ELSE 2296 med_diag%MEGRAZP3%dgsave = .FALSE. 2297 ENDIF 2298 IF (iom_use("MEGRAZD3")) THEN 2299 med_diag%MEGRAZD3%dgsave = .TRUE. 2300 ELSE 2301 med_diag%MEGRAZD3%dgsave = .FALSE. 2302 ENDIF 2303 IF (iom_use("MEGRAZZ3")) THEN 2304 med_diag%MEGRAZZ3%dgsave = .TRUE. 2305 ELSE 2306 med_diag%MEGRAZZ3%dgsave = .FALSE. 2307 ENDIF 2308 IF (iom_use("O2SAT3")) THEN 2309 med_diag%O2SAT3%dgsave = .TRUE. 2310 ELSE 2311 med_diag%O2SAT3%dgsave = .FALSE. 2312 ENDIF 2313 IF (iom_use("PBSI3")) THEN 2314 med_diag%PBSI3%dgsave = .TRUE. 2315 ELSE 2316 med_diag%PBSI3%dgsave = .FALSE. 2317 ENDIF 2318 IF (iom_use("PCAL3")) THEN 2319 med_diag%PCAL3%dgsave = .TRUE. 2320 ELSE 2321 med_diag%PCAL3%dgsave = .FALSE. 2322 ENDIF 2323 IF (iom_use("REMOC3")) THEN 2324 med_diag%REMOC3%dgsave = .TRUE. 2325 ELSE 2326 med_diag%REMOC3%dgsave = .FALSE. 2327 ENDIF 2328 IF (iom_use("PNLIMJ3")) THEN 2329 med_diag%PNLIMJ3%dgsave = .TRUE. 2330 ELSE 2331 med_diag%PNLIMJ3%dgsave = .FALSE. 2332 ENDIF 2333 IF (iom_use("PNLIMN3")) THEN 2334 med_diag%PNLIMN3%dgsave = .TRUE. 2335 ELSE 2336 med_diag%PNLIMN3%dgsave = .FALSE. 2337 ENDIF 2338 IF (iom_use("PNLIFEJ3")) THEN 2339 med_diag%PNLIMFE3%dgsave = .TRUE. 2340 ELSE 2341 med_diag%PNLIMFE3%dgsave = .FALSE. 2342 ENDIF 2343 IF (iom_use("PDLIMJ3")) THEN 2344 med_diag%PDLIMJ3%dgsave = .TRUE. 2345 ELSE 2346 med_diag%PDLIMJ3%dgsave = .FALSE. 2347 ENDIF 2348 IF (iom_use("PDLIMN3")) THEN 2349 med_diag%PDLIMN3%dgsave = .TRUE. 2350 ELSE 2351 med_diag%PDLIMN3%dgsave = .FALSE. 2352 ENDIF 2353 IF (iom_use("PDLIMFE3")) THEN 2354 med_diag%PDLIMFE3%dgsave = .TRUE. 2355 ELSE 2356 med_diag%PDLIMFE3%dgsave = .FALSE. 2357 ENDIF 2358 IF (iom_use("PDLIMSI3")) THEN 2359 med_diag%PDLIMSI3%dgsave = .TRUE. 2360 ELSE 2361 med_diag%PDLIMSI3%dgsave = .FALSE. 2362 ENDIF 2363 2350 2364 END SUBROUTINE trc_nam_iom_medusa 2351 2365 -
branches/NERC/dev_r5518_NOC_MEDUSA_Stable/NEMOGCM/NEMO/TOP_SRC/trc.F90
r5937 r7224 7 7 !! - ! 2000-04 (O. Aumont, M.A. Foujols) HAMOCC3 and P3ZD 8 8 !! NEMO 1.0 ! 2004-03 (C. Ethe) Free form and module 9 !! 3.6 ! 2016-11 (A. Yool) Updated diags for CMIP6 9 10 !!---------------------------------------------------------------------- 10 11 #if defined key_top … … 110 111 111 112 TYPE, PUBLIC :: DIAG_IOM 112 TYPE(BDIAG) INVTN, INVTSI, INVTFE, PRN, MPN, PRD, MPD, DSED, OPAL, OPALDISS, GMIPn, &113 GMID, MZMI, GMEPN, GMEPD, GMEZMI, GMED, MZME, DEXP, DETN, MDET, AEOLIAN, BENTHIC, &114 SCAVENGE, PN_JLIM, PN_NLIM, PN_FELIM, PD_JLIM, PD_NLIM, PD_FELIM, PD_SILIM, &115 PDSILIM2, SDT__100, SDT__200, SDT__500, SDT_1000, TOTREG_N, TOTRG_SI, REG__100, &116 REG__200, REG__500, REG_1000, FASTN, FASTSI, FASTFE, FASTC, FASTCA, FDT__100, &117 FDT__200, FDT__500, FDT_1000, RG__100F, RG__200F, RG__500F, RG_1000F, FDS__100, &118 FDS__200, FDS__500, FDS_1000, RGS_100F, RGS_200F, RGS_500F, RGS1000F, REMINN, &113 TYPE(BDIAG) INVTN, INVTSI, INVTFE, PRN, MPN, PRD, MPD, DSED, OPAL, OPALDISS, GMIPn, & 114 GMID, MZMI, GMEPN, GMEPD, GMEZMI, GMED, MZME, DEXP, DETN, MDET, AEOLIAN, BENTHIC, & 115 SCAVENGE, PN_JLIM, PN_NLIM, PN_FELIM, PD_JLIM, PD_NLIM, PD_FELIM, PD_SILIM, & 116 PDSILIM2, SDT__100, SDT__200, SDT__500, SDT_1000, TOTREG_N, TOTRG_SI, REG__100, & 117 REG__200, REG__500, REG_1000, FASTN, FASTSI, FASTFE, FASTC, FASTCA, FDT__100, & 118 FDT__200, FDT__500, FDT_1000, RG__100F, RG__200F, RG__500F, RG_1000F, FDS__100, & 119 FDS__200, FDS__500, FDS_1000, RGS_100F, RGS_200F, RGS_500F, RGS1000F, REMINN, & 119 120 REMINSI, REMINFE, REMINC, REMINCA, SEAFLRN, SEAFLRSI, SEAFLRFE, SEAFLRC, SEAFLRCA, & 120 121 MED_QSR, MED_XPAR, INTFLX_N, INTFLX_SI, INTFLX_FE, INT_PN, INT_PD, ML_PRN, ML_PRD, & 121 OCAL_CCD, OCAL_LVL, FE_0000, FE_0100, FE_0200, FE_0500, FE_1000, MED_XZE, WIND, & 122 ATM_PCO2, OCN_PH, OCN_PCO2, OCNH2CO3, OCN_HCO3, OCN_CO3, CO2FLUX, OM_CAL, OM_ARG, & 123 TCO2, TALK, KW660, ATM_PP0, O2FLUX, O2SAT, CAL_CCD, ARG_CCD, SFR_OCAL, SFR_OARG, & 124 N_PROD, N_CONS, C_PROD, C_CONS, O2_PROD, O2_CONS, O2_ANOX, RR_0100, RR_0500, & 125 RR_1000, IBEN_N, IBEN_FE, IBEN_C, IBEN_SI, IBEN_CA, OBEN_N, OBEN_FE, OBEN_C, & 126 OBEN_SI, OBEN_CA, BEN_N, BEN_FE, BEN_C, BEN_SI, BEN_CA, RUNOFF, RIV_N, RIV_SI, & 127 RIV_C, RIV_ALK, DETC, SDC__100, SDC__200, SDC__500, SDC_1000, INVTC, INVTALK, & 128 INVTO2, LYSO_CA, COM_RESP, PN_LLOSS, PD_LLOSS, ZI_LLOSS, ZE_LLOSS, ZI_MES_N, & 129 ZI_MES_D, ZI_MES_C, ZI_MESDC, ZI_EXCR, ZI_RESP, ZI_GROW, ZE_MES_N, ZE_MES_D, & 130 ZE_MES_C, ZE_MESDC, ZE_EXCR, ZE_RESP, ZE_GROW, MDETC, GMIDC, GMEDC, & 131 BASIN_01, BASIN_02, BASIN_03, BASIN_04, BASIN_05, BASIN_06, BASIN_07, BASIN_08, & 132 BASIN_09, BASIN_10, BASIN_11, BASIN_12, BASIN_13, BASIN_14, BASIN_15, BASIN_16, & 133 BASIN_17, BASIN_18, BASIN_19, BASIN_20, BASIN_21, BASIN_22, BASIN_23, BASIN_24, & 134 BASIN_25, BASIN_26, BASIN_27, BASIN_28, BASIN_29, BASIN_30, BASIN_31, BASIN_32, & 135 BASIN_33, BASIN_34, BASIN_35, BASIN_36, BASIN_37, BASIN_38, BASIN_39, BASIN_40, & 136 BASIN_41, BASIN_42, BASIN_43, BASIN_44, BASIN_45, & 137 INT_ZMI, INT_ZME, INT_DET, INT_DTC, DMS_SURF, DMS_ANDR, DMS_SIMO, DMS_ARAN, & 138 DMS_HALL, & 139 TPP3, DETFLUX3, REMIN3N, PH3, OM_CAL3 122 OCAL_CCD, OCAL_LVL, FE_0000, FE_0100, FE_0200, FE_0500, FE_1000, MED_XZE, WIND, & 123 ATM_PCO2, OCN_PH, OCN_PCO2, OCNH2CO3, OCN_HCO3, OCN_CO3, CO2FLUX, OM_CAL, OM_ARG, & 124 TCO2, TALK, KW660, ATM_PP0, O2FLUX, O2SAT, CAL_CCD, ARG_CCD, SFR_OCAL, SFR_OARG, & 125 N_PROD, N_CONS, C_PROD, C_CONS, O2_PROD, O2_CONS, O2_ANOX, RR_0100, RR_0500, & 126 RR_1000, IBEN_N, IBEN_FE, IBEN_C, IBEN_SI, IBEN_CA, OBEN_N, OBEN_FE, OBEN_C, & 127 OBEN_SI, OBEN_CA, BEN_N, BEN_FE, BEN_C, BEN_SI, BEN_CA, RUNOFF, RIV_N, RIV_SI, & 128 RIV_C, RIV_ALK, DETC, SDC__100, SDC__200, SDC__500, SDC_1000, INVTC, INVTALK, & 129 INVTO2, LYSO_CA, COM_RESP, PN_LLOSS, PD_LLOSS, ZI_LLOSS, ZE_LLOSS, ZI_MES_N, & 130 ZI_MES_D, ZI_MES_C, ZI_MESDC, ZI_EXCR, ZI_RESP, ZI_GROW, ZE_MES_N, ZE_MES_D, & 131 ZE_MES_C, ZE_MESDC, ZE_EXCR, ZE_RESP, ZE_GROW, MDETC, GMIDC, GMEDC, & 132 INT_ZMI, INT_ZME, INT_DET, INT_DTC, DMS_SURF, DMS_ANDR, DMS_SIMO, DMS_ARAN, & 133 DMS_HALL, & ! end of regular 2D 134 TPP3, DETFLUX3, REMIN3N, PH3, OM_CAL3, & ! end of regular 3D 135 ! AXY (11/11/16): additional CMIP6 2D diagnostics 136 epC100, epCALC100, epN100, epSI100, & 137 FGCO2, INTDISSIC, INTDISSIN, INTDISSISI, INTTALK, O2min, ZO2min, & 138 ! AXY (11/11/16): additional CMIP6 3D diagnostics 139 TPPD3, & 140 BDDTALK3, BDDTDIC3, BDDTDIFE3, BDDTDIN3, BDDTDISI3, & 141 FD_NIT3, FD_SIL3, FD_CAR3, FD_CAL3, & 142 CO33, CO3SATARAG3, CO3SATCALC3, DCALC3, & 143 EXPC3, EXPN3, EXPCALC3, EXPSI3, & 144 FEDISS3, FESCAV3, & 145 MIGRAZP3, MIGRAZD3, MEGRAZP3, MEGRAZD3, MEGRAZZ3, & 146 O2SAT3, PBSI3, PCAL3, REMOC3, & 147 PNLIMJ3, PNLIMN3, PNLIMFE3, PDLIMJ3, PDLIMN3, PDLIMFE3, PDLIMSI3 148 !! 140 149 !! list of all MEDUSA diagnostics that could be called by iom_use 141 150 END TYPE DIAG_IOM
Note: See TracChangeset
for help on using the changeset viewer.