New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 7224 for branches/NERC – NEMO

Changeset 7224 for branches/NERC


Ignore:
Timestamp:
2016-11-14T16:47:26+01:00 (7 years ago)
Author:
jpalmier
Message:

JPALM --14-11-2015 -- add MEDUSA CMIP6 diags

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  
    7575       <field id="CHD"      long_name="Chl-a concentration in     diatom phytoplankton"   unit="mg Chl/m3" /> 
    7676       <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" /> 
    7878       <field id="ZMI"      long_name="micro zooplankton"                                 unit="mmol-N/m3" /> 
    7979       <field id="ZME"      long_name="meso  zooplankton"                                 unit="mmol-N/m3" /> 
    8080       <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" /> 
    8282       <field id="FER"      long_name="dissolved iron"                                    unit="mmolFe/m3" /> 
    8383       <field id="DET"      long_name="detrital nitrogen"                                 unit="mmol-N/m3" /> 
     
    407407       <field id= "GMIDC"      long_name="Microzoo grazing on detritus, carbon"      unit="mmolC/m2/d"  /> 
    408408       <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"  /> 
    454409       <field id= "INT_ZMI"    long_name="Vertically integrated Zmi"                 unit="mmolN/m2"    /> 
    455410       <field id= "INT_ZME"    long_name="Vertically integrated Zme"                 unit="mmolN/m2"    /> 
     
    462417       <field id= "DMS_HALL"   long_name="DMS Surface Concentration, Halloran"       unit="nmol/L"      /> 
    463418 
     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 
    464432       <field id= "TPP3"       long_name="Total primary production 3D"               unit="mmolN/m3/d"    grid_ref="grid_T_3D"  /> 
    465433       <field id= "DETFLUX3"   long_name="Total detrital flux 3D"                    unit="mmolN/m3/d"    grid_ref="grid_T_3D"  /> 
     
    467435       <field id= "PH3"        long_name="Ocean pH 3D"                               unit="-"             grid_ref="grid_T_3D"  /> 
    468436       <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"  /> 
    469471 
    470472     </field_group> 
     
    724726    </field_group> 
    725727 
    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> 
    774773 
    775774</field_definition> 
    776  
  • branches/NERC/dev_r5518_NOC_MEDUSA_Stable/NEMOGCM/NEMO/TOP_SRC/MEDUSA/trcbio_medusa.F90

    r7156 r7224  
    1919   !!  -   !  2015-07  (A. Yool)              Update for rolling averages 
    2020   !!  -   !  2015-10  (J. Palm)              Update for diag outputs through iom_use   
     21   !!  -   !  2016-11  (A. Yool)              Updated diags for CMIP6 
    2122   !!---------------------------------------------------------------------- 
    2223   !! 
     
    299300      REAL(wp) ::    f_TDIC, f_TALK, f_dcf, f_henry 
    300301      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 
    302303      REAL(wp), DIMENSION(jpi,jpj) ::    f_omcal, f_omarg 
    303304      !! 
     
    305306      REAL(wp) ::    f_fco2w, f_BetaD, f_rhosw, f_opres, f_insitut, f_pco2atm, f_fco2atm 
    306307      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 
    309313      !! 
    310314      INTEGER  ::    iters 
     
    368372      REAL(wp), POINTER, DIMENSION(:,:  ) :: oben_fe2d, oben_c2d, oben_si2d, oben_ca2d, sfr_ocal2d 
    369373      REAL(wp), POINTER, DIMENSION(:,:  ) :: sfr_oarg2d, lyso_ca2d  
    370  
    371 # endif 
    372       !! 2D var for diagnostics. 
     374# endif 
     375      !! 
     376      !! 3D var for diagnostics. 
    373377      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 
    374396      !!--------------------------------------------------------------------- 
    375397 
     
    543565      !! ----------------------------- 
    544566      !! 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    
    931983# endif   
    932984         IF( med_diag%TPP3%dgsave ) THEN 
    933              CALL wrk_alloc( jpi, jpj, jpk,       tpp3d ) 
    934              tpp3d(:,:,:)      = 0.0 !!  
     985            CALL wrk_alloc( jpi, jpj, jpk,       tpp3d ) 
     986            tpp3d(:,:,:)      = 0.0 !!  
    935987         ENDIF 
    936988         IF( med_diag%DETFLUX3%dgsave ) THEN 
    937              CALL wrk_alloc( jpi, jpj, jpk,        detflux3d ) 
    938              detflux3d(:,:,:)      = 0.0 !!  
    939          ENDIF 
    940           IF( med_diag%REMIN3N%dgsave ) THEN 
     989            CALL wrk_alloc( jpi, jpj, jpk,        detflux3d ) 
     990            detflux3d(:,:,:)      = 0.0 !!  
     991         ENDIF 
     992         IF( med_diag%REMIN3N%dgsave ) THEN 
    941993             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       !! 
    9471164# if defined key_axy_nancheck 
    948       DO jn = 1,jptra 
    949          !! 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, fq2 
    954          !! AXY (30/01/14): much to our surprise, the next line doesn't work on HECTOR 
    955          !!                 and has been replaced here with a specialist routine 
    956          !! if (fq2 /= fq2 ) then 
    957          if ( ieee_is_nan( fq2 ) ) then 
    958             !! there's a NaN here 
    959             if (lwp) write(numout,*) 'NAN detected in field', jn, 'at time', kt, 'at position:' 
    960             DO jk = 1,jpk 
    961                DO jj = 1,jpj 
    962                   DO ji = 1,jpi 
    963                      !! AXY (30/01/14): "isnan" problem on HECTOR 
    964                      !! if (trn(ji,jj,jk,jn) /= trn(ji,jj,jk,jn)) then 
    965                      if ( ieee_is_nan( trn(ji,jj,jk,jn) ) ) then 
    966                         if (lwp) write (numout,'(a,1pe12.2,4i6)') 'NAN-CHECK', & 
    967                         &        tmask(ji,jj,jk), ji, jj, jk, jn 
    968                      endif 
    969                   enddo 
    970                enddo 
    971             enddo 
    972        CALL ctl_stop( 'trcbio_medusa, NAN in incoming tracer field' ) 
    973          endif 
    974       ENDDO 
    975       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) 
    9761193# endif 
    9771194 
     
    13691586                     ftot_o2(ji,jj) = ftot_o2(ji,jj) + (fthk * ( zoxy ) ) 
    13701587                  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 
    13711610# endif 
    13721611               ENDIF 
     
    14951734                  f_dpco2        = 0. 
    14961735#  endif 
    1497                   !! 
    1498                   !! JPALM -- 28-10-2016 -- save co2flux in mmol/m2/s in 2D field 
    1499                   !!                     before it is converted to mmol/m3/d 
    1500                   IF ( lk_iomput ) THEN 
    1501                       IF( med_diag%CO2FLUX%dgsave ) THEN 
    1502                          f_co2flux2d(ji,jj) = f_co2flux 
    1503                       ENDIF 
    1504                   ENDIF 
    15051736                  !! 
    15061737                  !! mmol/m2/s -> mmol/m3/d; correct for sea-ice; divide through by layer thickness 
     
    15741805                       ENDIF 
    15751806#   if defined key_debug_medusa 
    1576                        IF (lwp) write (numout,*) 'trc_bio_medusa: finnish calculating dms' 
     1807                       IF (lwp) write (numout,*) 'trc_bio_medusa: finish calculating dms' 
    15771808                     CALL flush(numout) 
    15781809#   endif  
     
    15831814                  !! 
    15841815                  !! store 2D outputs 
    1585                   !! JPALM -- 28-10-2016 -- removed co2flux from the list below 
    1586                   !!                     it is now a little bit above, because a  
    1587                   !!                     conversion is done in between. 
    15881816                  IF ( lk_iomput ) THEN 
    15891817                      IF( med_diag%ATM_PCO2%dgsave ) THEN 
     
    15921820                      IF( med_diag%OCN_PCO2%dgsave ) THEN 
    15931821                         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 
    15941830                      ENDIF 
    15951831                      IF( med_diag%TCO2%dgsave ) THEN 
     
    16151851               endif 
    16161852               !! 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 
    16171860# endif 
    16181861 
     
    35603803               endif                
    35613804 
     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 
    35623822#   if defined key_debug_medusa 
    35633823               IF (lwp) write (numout,*) '------' 
     
    36503910         !! ** 2D diagnostics 
    36513911#   if defined key_debug_medusa 
    3652                      IF (lwp) write (numout,*) 'trc_bio_medusa: diag in ij-jj-jk loop' 
    3653                      CALL flush(numout) 
     3912                  IF (lwp) write (numout,*) 'trc_bio_medusa: diag in ij-jj-jk loop' 
     3913                  CALL flush(numout) 
    36543914#   endif 
    36553915                  IF ( med_diag%PRN%dgsave ) THEN 
     
    36653925                      fdpd2d(ji,jj) = fdpd2d(ji,jj) + (fdpd         * fthk)  
    36663926                  ENDIF 
    3667                 !  IF( med_diag%DSED%dgsave ) THEN 
    3668                 !      CALL iom_put( "DSED"  , ftot_n ) 
    3669                 !  ENDIF 
     3927                  !  IF( med_diag%DSED%dgsave ) THEN 
     3928                  !      CALL iom_put( "DSED"  , ftot_n ) 
     3929                  !  ENDIF 
    36703930                  IF( med_diag%OPAL%dgsave ) THEN 
    36713931                      fprds2d(ji,jj) = fprds2d(ji,jj) + (fprds * zpds * fthk)  
     
    36983958                      fdzme2d(ji,jj) = fdzme2d(ji,jj) + (fdzme   * fthk)  
    36993959                  ENDIF 
    3700                 !  IF( med_diag%DEXP%dgsave ) THEN 
    3701                 !      CALL iom_put( "DEXP"  , ftot_n ) 
    3702                 !  ENDIF 
     3960                  !  IF( med_diag%DEXP%dgsave ) THEN 
     3961                  !      CALL iom_put( "DEXP"  , ftot_n ) 
     3962                  !  ENDIF 
    37033963                  IF( med_diag%DETN%dgsave ) THEN 
    37043964                      fslown2d(ji,jj) = fslown2d(ji,jj) + (fslown  * fthk)   
     
    37404000                      fsld2d(ji,jj) = fsld2d(ji,jj) + (fsld  * zphd * fthk) 
    37414001                  ENDIF 
    3742                 !!  
     4002                  !!  
    37434003                  IF( med_diag%TOTREG_N%dgsave ) THEN 
    37444004                      fregen2d(ji,jj) = fregen2d(ji,jj) + fregen 
     
    37474007                      fregensi2d(ji,jj) = fregensi2d(ji,jj) + fregensi 
    37484008                  ENDIF 
    3749                 !!  
     4009                  !!  
    37504010                  IF( med_diag%FASTN%dgsave ) THEN 
    37514011                      ftempn2d(ji,jj) = ftempn2d(ji,jj) + (ftempn  * fthk) 
     
    37634023                      ftempca2d(ji,jj) = ftempca2d(ji,jj) + (ftempca * fthk) 
    37644024                  ENDIF 
    3765                 !!  
     4025                  !!  
    37664026                  IF( med_diag%REMINN%dgsave ) THEN 
    37674027                      freminn2d(ji,jj) = freminn2d(ji,jj) + (freminn  * fthk) 
     
    37794039                      freminca2d(ji,jj) = freminca2d(ji,jj) + (freminca * fthk)  
    37804040                  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 
    37924059                     IF( med_diag%RR_0100%dgsave ) THEN 
    3793                          ffastca2d(ji,jj) =   & 
    3794                             ffastca(ji,jj)/MAX(ffastc(ji,jj), rsmall) 
     4060                        ffastca2d(ji,jj) =   & 
     4061                        ffastca(ji,jj)/MAX(ffastc(ji,jj), rsmall) 
    37954062                     ENDIF                      
    3796                  ELSE IF (jk.eq.i0500) THEN  
     4063                  ELSE IF (jk.eq.i0500) THEN  
    37974064                     IF( med_diag%RR_0500%dgsave ) THEN 
    3798                          ffastca2d(ji,jj) =   & 
    3799                             ffastca(ji,jj)/MAX(ffastc(ji,jj), rsmall) 
     4065                        ffastca2d(ji,jj) =   & 
     4066                        ffastca(ji,jj)/MAX(ffastc(ji,jj), rsmall) 
    38004067                     ENDIF                         
    3801                  ELSE IF (jk.eq.i1000) THEN 
     4068                  ELSE IF (jk.eq.i1000) THEN 
    38024069                     IF( med_diag%RR_1000%dgsave ) THEN 
    3803                          ffastca2d(ji,jj) =   & 
    3804                             ffastca(ji,jj)/MAX(ffastc(ji,jj), rsmall) 
    3805                      ENDIF 
    3806                  ELSE IF (jk.eq.(mbathy(ji,jj)-1)) THEN 
     4070                        ffastca2d(ji,jj) =   & 
     4071                        ffastca(ji,jj)/MAX(ffastc(ji,jj), rsmall) 
     4072                     ENDIF 
     4073                  ELSE IF (jk.eq.(mbathy(ji,jj)-1)) THEN 
    38074074                     IF( med_diag%IBEN_N%dgsave ) THEN 
    3808                          iben_n2d(ji,jj) = f_sbenin_n(ji,jj)  + f_fbenin_n(ji,jj) 
     4075                        iben_n2d(ji,jj) = f_sbenin_n(ji,jj)  + f_fbenin_n(ji,jj) 
    38094076                     ENDIF 
    38104077                     IF( med_diag%IBEN_FE%dgsave ) THEN 
    3811                          iben_fe2d(ji,jj) = f_sbenin_fe(ji,jj) + f_fbenin_fe(ji,jj) 
     4078                        iben_fe2d(ji,jj) = f_sbenin_fe(ji,jj) + f_fbenin_fe(ji,jj) 
    38124079                     ENDIF 
    38134080                     IF( med_diag%IBEN_C%dgsave ) THEN 
    3814                          iben_c2d(ji,jj) = f_sbenin_c(ji,jj)  + f_fbenin_c(ji,jj) 
     4081                        iben_c2d(ji,jj) = f_sbenin_c(ji,jj)  + f_fbenin_c(ji,jj) 
    38154082                     ENDIF 
    38164083                     IF( med_diag%IBEN_SI%dgsave ) THEN 
    3817                          iben_si2d(ji,jj) = f_fbenin_si(ji,jj) 
     4084                        iben_si2d(ji,jj) = f_fbenin_si(ji,jj) 
    38184085                     ENDIF 
    38194086                     IF( med_diag%IBEN_CA%dgsave ) THEN 
    3820                          iben_ca2d(ji,jj) = f_fbenin_ca(ji,jj) 
     4087                        iben_ca2d(ji,jj) = f_fbenin_ca(ji,jj) 
    38214088                     ENDIF 
    38224089                     IF( med_diag%OBEN_N%dgsave ) THEN 
    3823                          oben_n2d(ji,jj) = f_benout_n(ji,jj) 
     4090                        oben_n2d(ji,jj) = f_benout_n(ji,jj) 
    38244091                     ENDIF 
    38254092                     IF( med_diag%OBEN_FE%dgsave ) THEN 
    3826                          oben_fe2d(ji,jj) = f_benout_fe(ji,jj) 
     4093                        oben_fe2d(ji,jj) = f_benout_fe(ji,jj) 
    38274094                     ENDIF 
    38284095                     IF( med_diag%OBEN_C%dgsave ) THEN 
    3829                          oben_c2d(ji,jj) = f_benout_c(ji,jj) 
     4096                        oben_c2d(ji,jj) = f_benout_c(ji,jj) 
    38304097                     ENDIF 
    38314098                     IF( med_diag%OBEN_SI%dgsave ) THEN 
    3832                          oben_si2d(ji,jj) = f_benout_si(ji,jj) 
     4099                        oben_si2d(ji,jj) = f_benout_si(ji,jj) 
    38334100                     ENDIF 
    38344101                     IF( med_diag%OBEN_CA%dgsave ) THEN 
    3835                          oben_ca2d(ji,jj) = f_benout_ca(ji,jj) 
     4102                        oben_ca2d(ji,jj) = f_benout_ca(ji,jj) 
    38364103                     ENDIF 
    38374104                     IF( med_diag%SFR_OCAL%dgsave ) THEN 
    3838                          sfr_ocal2d(ji,jj) = f3_omcal(ji,jj,jk) 
     4105                        sfr_ocal2d(ji,jj) = f3_omcal(ji,jj,jk) 
    38394106                     ENDIF 
    38404107                     IF( med_diag%SFR_OARG%dgsave ) THEN 
    3841                          sfr_oarg2d(ji,jj) =  f3_omarg(ji,jj,jk) 
     4108                        sfr_oarg2d(ji,jj) =  f3_omarg(ji,jj,jk) 
    38424109                     ENDIF 
    38434110                     IF( med_diag%LYSO_CA%dgsave ) THEN 
    3844                          lyso_ca2d(ji,jj) = f_benout_lyso_ca(ji,jj) 
    3845                      ENDIF 
    3846                  ENDIF 
    3847                 !! !! end bathy-1 diags 
    3848                 !! 
     4111                        lyso_ca2d(ji,jj) = f_benout_lyso_ca(ji,jj) 
     4112                     ENDIF 
     4113                  ENDIF 
     4114                  !! end bathy-1 diags 
     4115                  !! 
    38494116                  IF( med_diag%RIV_N%dgsave ) THEN 
    3850                       rivn2d(ji,jj) = rivn2d(ji,jj) +  (f_riv_loc_n * fthk) 
     4117                     rivn2d(ji,jj) = rivn2d(ji,jj) +  (f_riv_loc_n * fthk) 
    38514118                  ENDIF 
    38524119                  IF( med_diag%RIV_SI%dgsave ) THEN 
    3853                       rivsi2d(ji,jj) = rivsi2d(ji,jj) +  (f_riv_loc_si * fthk) 
     4120                     rivsi2d(ji,jj) = rivsi2d(ji,jj) +  (f_riv_loc_si * fthk) 
    38544121                  ENDIF 
    38554122                  IF( med_diag%RIV_C%dgsave ) THEN 
    3856                       rivc2d(ji,jj) = rivc2d(ji,jj) +  (f_riv_loc_c * fthk) 
     4123                     rivc2d(ji,jj) = rivc2d(ji,jj) +  (f_riv_loc_c * fthk) 
    38574124                  ENDIF 
    38584125                  IF( med_diag%RIV_ALK%dgsave ) THEN 
    3859                       rivalk2d(ji,jj) = rivalk2d(ji,jj) +  (f_riv_loc_alk * fthk) 
     4126                     rivalk2d(ji,jj) = rivalk2d(ji,jj) +  (f_riv_loc_alk * fthk) 
    38604127                  ENDIF 
    38614128                  IF( med_diag%DETC%dgsave ) THEN 
    3862                       fslowc2d(ji,jj) = fslowc2d(ji,jj) + (fslowc  * fthk)    
    3863                   ENDIF 
    3864                 !!  
    3865                 !!               
    3866                 !! 
     4129                     fslowc2d(ji,jj) = fslowc2d(ji,jj) + (fslowc  * fthk)    
     4130                  ENDIF 
     4131                  !!  
     4132                  !!               
     4133                  !! 
    38674134                  IF( med_diag%PN_LLOSS%dgsave ) THEN 
    3868                       fdpn22d(ji,jj) = fdpn22d(ji,jj) + (fdpn2  * fthk) 
     4135                     fdpn22d(ji,jj) = fdpn22d(ji,jj) + (fdpn2  * fthk) 
    38694136                  ENDIF 
    38704137                  IF( med_diag%PD_LLOSS%dgsave ) THEN 
    3871                       fdpd22d(ji,jj) = fdpd22d(ji,jj) + (fdpd2  * fthk) 
     4138                     fdpd22d(ji,jj) = fdpd22d(ji,jj) + (fdpd2  * fthk) 
    38724139                  ENDIF 
    38734140                  IF( med_diag%ZI_LLOSS%dgsave ) THEN 
    3874                       fdzmi22d(ji,jj) = fdzmi22d(ji,jj) + (fdzmi2 * fthk) 
     4141                     fdzmi22d(ji,jj) = fdzmi22d(ji,jj) + (fdzmi2 * fthk) 
    38754142                  ENDIF 
    38764143                  IF( med_diag%ZE_LLOSS%dgsave ) THEN 
    3877                       fdzme22d(ji,jj) = fdzme22d(ji,jj) + (fdzme2 * fthk) 
     4144                     fdzme22d(ji,jj) = fdzme22d(ji,jj) + (fdzme2 * fthk) 
    38784145                  ENDIF 
    38794146                  IF( med_diag%ZI_MES_N%dgsave ) THEN 
    3880                       zimesn2d(ji,jj) = zimesn2d(ji,jj) +  & 
    3881                                       (xphi * (fgmipn + fgmid) * fthk) 
     4147                     zimesn2d(ji,jj) = zimesn2d(ji,jj) +  & 
     4148                     (xphi * (fgmipn + fgmid) * fthk) 
    38824149                  ENDIF 
    38834150                  IF( med_diag%ZI_MES_D%dgsave ) THEN 
    3884                       zimesd2d(ji,jj) = zimesd2d(ji,jj) + &  
    3885                                       ((1. - xbetan) * finmi * fthk) 
     4151                     zimesd2d(ji,jj) = zimesd2d(ji,jj) + &  
     4152                     ((1. - xbetan) * finmi * fthk) 
    38864153                  ENDIF 
    38874154                  IF( med_diag%ZI_MES_C%dgsave ) THEN 
    3888                       zimesc2d(ji,jj) = zimesc2d(ji,jj) + & 
    3889                              (xphi * ((xthetapn * fgmipn) + fgmidc) * fthk) 
     4155                     zimesc2d(ji,jj) = zimesc2d(ji,jj) + & 
     4156                     (xphi * ((xthetapn * fgmipn) + fgmidc) * fthk) 
    38904157                  ENDIF 
    38914158                  IF( med_diag%ZI_MESDC%dgsave ) THEN 
    3892                       zimesdc2d(ji,jj) = zimesdc2d(ji,jj) + & 
    3893                                        ((1. - xbetac) * ficmi * fthk) 
     4159                     zimesdc2d(ji,jj) = zimesdc2d(ji,jj) + & 
     4160                     ((1. - xbetac) * ficmi * fthk) 
    38944161                  ENDIF 
    38954162                  IF( med_diag%ZI_EXCR%dgsave ) THEN 
    3896                       ziexcr2d(ji,jj) = ziexcr2d(ji,jj) +  (fmiexcr * fthk) 
     4163                     ziexcr2d(ji,jj) = ziexcr2d(ji,jj) +  (fmiexcr * fthk) 
    38974164                  ENDIF 
    38984165                  IF( med_diag%ZI_RESP%dgsave ) THEN 
    3899                       ziresp2d(ji,jj) = ziresp2d(ji,jj) +  (fmiresp * fthk) 
     4166                     ziresp2d(ji,jj) = ziresp2d(ji,jj) +  (fmiresp * fthk) 
    39004167                  ENDIF 
    39014168                  IF( med_diag%ZI_GROW%dgsave ) THEN 
    3902                       zigrow2d(ji,jj) = zigrow2d(ji,jj) + (fmigrow * fthk) 
     4169                     zigrow2d(ji,jj) = zigrow2d(ji,jj) + (fmigrow * fthk) 
    39034170                  ENDIF 
    39044171                  IF( med_diag%ZE_MES_N%dgsave ) THEN 
    3905                       zemesn2d(ji,jj) = zemesn2d(ji,jj) + & 
    3906                           (xphi * (fgmepn + fgmepd + fgmezmi + fgmed) * fthk) 
     4172                     zemesn2d(ji,jj) = zemesn2d(ji,jj) + & 
     4173                     (xphi * (fgmepn + fgmepd + fgmezmi + fgmed) * fthk) 
    39074174                  ENDIF 
    39084175                  IF( med_diag%ZE_MES_D%dgsave ) THEN 
    3909                       zemesd2d(ji,jj) = zemesd2d(ji,jj) + & 
    3910                                       ((1. - xbetan) * finme * fthk) 
     4176                     zemesd2d(ji,jj) = zemesd2d(ji,jj) + & 
     4177                     ((1. - xbetan) * finme * fthk) 
    39114178                  ENDIF 
    39124179                  IF( med_diag%ZE_MES_C%dgsave ) THEN 
    3913                       zemesc2d(ji,jj) = zemesc2d(ji,jj) +                         &  
    3914                             (xphi * ((xthetapn * fgmepn) + (xthetapd * fgmepd) +  & 
    3915                             (xthetazmi * fgmezmi) + fgmedc) * fthk) 
     4180                     zemesc2d(ji,jj) = zemesc2d(ji,jj) +                         &  
     4181                     (xphi * ((xthetapn * fgmepn) + (xthetapd * fgmepd) +  & 
     4182                     (xthetazmi * fgmezmi) + fgmedc) * fthk) 
    39164183                  ENDIF 
    39174184                  IF( med_diag%ZE_MESDC%dgsave ) THEN 
    3918                       zemesdc2d(ji,jj) = zemesdc2d(ji,jj) +  & 
    3919                                        ((1. - xbetac) * ficme * fthk) 
     4185                     zemesdc2d(ji,jj) = zemesdc2d(ji,jj) +  & 
     4186                     ((1. - xbetac) * ficme * fthk) 
    39204187                  ENDIF 
    39214188                  IF( med_diag%ZE_EXCR%dgsave ) THEN 
    3922                       zeexcr2d(ji,jj) = zeexcr2d(ji,jj) + (fmeexcr * fthk) 
     4189                     zeexcr2d(ji,jj) = zeexcr2d(ji,jj) + (fmeexcr * fthk) 
    39234190                  ENDIF 
    39244191                  IF( med_diag%ZE_RESP%dgsave ) THEN 
    3925                       zeresp2d(ji,jj) = zeresp2d(ji,jj) + (fmeresp * fthk) 
     4192                     zeresp2d(ji,jj) = zeresp2d(ji,jj) + (fmeresp * fthk) 
    39264193                  ENDIF 
    39274194                  IF( med_diag%ZE_GROW%dgsave ) THEN 
    3928                       zegrow2d(ji,jj) = zegrow2d(ji,jj) + (fmegrow * fthk) 
     4195                     zegrow2d(ji,jj) = zegrow2d(ji,jj) + (fmegrow * fthk) 
    39294196                  ENDIF 
    39304197                  IF( med_diag%MDETC%dgsave ) THEN 
    3931                       mdetc2d(ji,jj) = mdetc2d(ji,jj) + (fddc * fthk) 
     4198                     mdetc2d(ji,jj) = mdetc2d(ji,jj) + (fddc * fthk) 
    39324199                  ENDIF 
    39334200                  IF( med_diag%GMIDC%dgsave ) THEN 
    3934                       gmidc2d(ji,jj) = gmidc2d(ji,jj) + (fgmidc * fthk) 
     4201                     gmidc2d(ji,jj) = gmidc2d(ji,jj) + (fgmidc * fthk) 
    39354202                  ENDIF 
    39364203                  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                  !! 
    39394207# endif                    
    3940                 !!  
    3941          !! 
    3942          !! 
    3943          !! 
    3944          !! 
    3945          !! ** 3D diagnostics 
     4208                  !! 
     4209                  !! ** 3D diagnostics 
    39464210                  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                   
    39514218                  IF( med_diag%REMIN3N%dgsave ) THEN 
    3952                       remin3dn(ji,jj,jk) = fregen + (freminn * fthk) !! remineralisation 
    3953                       !CALL iom_put( "REMIN3N"  , remin3dn ) 
     4219                     remin3dn(ji,jj,jk) = fregen + (freminn * fthk) !! remineralisation 
     4220                     !CALL iom_put( "REMIN3N"  , remin3dn ) 
    39544221                  ENDIF 
    39554222                  !! IF( med_diag%PH3%dgsave ) THEN 
     
    39594226                  !!     CALL iom_put( "OM_CAL3"  , f3_omcal ) 
    39604227                  !! 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 
    39644286               ELSE IF( ln_diatrc ) THEN 
    39654287#   if defined key_debug_medusa 
     
    43604682                     ENDIF 
    43614683                     IF( med_diag%OCN_PCO2%dgsave ) THEN 
    4362                          CALL iom_put( "OCN_PCO2"  , f_pco2w2d ) 
    4363                           CALL wrk_dealloc( jpi, jpj,   f_pco2w2d   ) 
     4684                        CALL iom_put( "OCN_PCO2"  , f_pco2w2d ) 
     4685                        CALL wrk_dealloc( jpi, jpj,   f_pco2w2d   ) 
    43644686                     ENDIF 
    43654687                     IF( med_diag%OCNH2CO3%dgsave ) THEN 
     
    43764698                     ENDIF 
    43774699                     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 ) 
    43824710                         zb_co2_flx = zn_co2_flx 
    4383                          zn_co2_flx = f_co2flux2d 
     4711                         zn_co2_flx = fgco2 
    43844712                         IF (lk_oasis) THEN 
    43854713                            CO2Flux_out_cpl = zn_co2_flx 
    43864714                         ENDIF 
    4387                          CALL wrk_dealloc( jpi, jpj,   f_co2flux2d   ) 
     4715                         CALL wrk_dealloc( jpi, jpj,   fgco2   ) 
    43884716                     ENDIF 
    43894717                     IF( med_diag%OM_CAL%dgsave ) THEN 
     
    44904818                     CALL flush(numout) 
    44914819#   endif 
    4492                      IF( med_diag%BASIN_01%dgsave ) THEN 
    4493                          CALL iom_put( "BASIN_01"  , fprn2d ) 
    4494                      ENDIF 
    4495                      IF( med_diag%BASIN_02%dgsave ) THEN 
    4496                          CALL iom_put( "BASIN_02"  , fdpn22d ) 
    4497                      ENDIF 
    4498                      IF( med_diag%BASIN_03%dgsave ) THEN 
    4499                          CALL iom_put( "BASIN_03"  , fdpn2d ) 
    4500                      ENDIF 
    4501                      IF( med_diag%BASIN_04%dgsave ) THEN 
    4502                          CALL iom_put( "BASIN_04"  , fgmipn2d ) 
    4503                      ENDIF 
    4504                      IF( med_diag%BASIN_05%dgsave ) THEN 
    4505                          CALL iom_put( "BASIN_05"  , fgmepn2d ) 
    4506                      ENDIF 
    4507                      IF( med_diag%BASIN_06%dgsave ) THEN 
    4508                          CALL iom_put( "BASIN_06"  , fprd2d ) 
    4509                      ENDIF 
    4510                      IF( med_diag%BASIN_07%dgsave ) THEN 
    4511                          CALL iom_put( "BASIN_07"  , fdpd22d ) 
    4512                      ENDIF 
    4513                      IF( med_diag%BASIN_08%dgsave ) THEN 
    4514                          CALL iom_put( "BASIN_08"  , fdpd2d ) 
    4515                      ENDIF 
    4516                      IF( med_diag%BASIN_09%dgsave ) THEN 
    4517                          CALL iom_put( "BASIN_09"  , fgmepd2d ) 
    4518                      ENDIF 
    4519                      IF( med_diag%BASIN_10%dgsave ) THEN 
    4520                          CALL iom_put( "BASIN_10"  , fgmid2d ) 
    4521                      ENDIF 
    4522                      IF( med_diag%BASIN_11%dgsave ) THEN 
    4523                          CALL iom_put( "BASIN_11"  , gmidc2d ) 
    4524                      ENDIF 
    4525                      IF( med_diag%BASIN_12%dgsave ) THEN 
    4526                          CALL iom_put( "BASIN_12"  , zimesn2d ) 
    4527                      ENDIF 
    4528                      IF( med_diag%BASIN_13%dgsave ) THEN 
    4529                          CALL iom_put( "BASIN_13"  , zimesd2d ) 
    4530                      ENDIF 
    4531                      IF( med_diag%BASIN_14%dgsave ) THEN 
    4532                          CALL iom_put( "BASIN_14"  , zimesc2d ) 
    4533                      ENDIF 
    4534                      IF( med_diag%BASIN_15%dgsave ) THEN 
    4535                          CALL iom_put( "BASIN_15"  , zimesdc2d ) 
    4536                      ENDIF 
    4537                      IF( med_diag%BASIN_16%dgsave ) THEN 
    4538                          CALL iom_put( "BASIN_16"  , ziexcr2d ) 
    4539                      ENDIF 
    4540                      IF( med_diag%BASIN_17%dgsave ) THEN 
    4541                          CALL iom_put( "BASIN_17"  , ziresp2d ) 
    4542                      ENDIF 
    4543                      IF( med_diag%BASIN_18%dgsave ) THEN 
    4544                          CALL iom_put( "BASIN_18"  , zigrow2d ) 
    4545                      ENDIF 
    4546                      IF( med_diag%BASIN_19%dgsave ) THEN 
    4547                          CALL iom_put( "BASIN_19"  , fdzmi22d ) 
    4548                      ENDIF 
    4549                      IF( med_diag%BASIN_20%dgsave ) THEN 
    4550                          CALL iom_put( "BASIN_20"  , fdzmi2d ) 
    4551                      ENDIF 
    4552                      IF( med_diag%BASIN_21%dgsave ) THEN 
    4553                          CALL iom_put( "BASIN_21"  , fgmezmi2d ) 
    4554                      ENDIF 
    4555                      IF( med_diag%BASIN_22%dgsave ) THEN 
    4556                          CALL iom_put( "BASIN_22"  , fgmed2d ) 
    4557                      ENDIF 
    4558                      IF( med_diag%BASIN_23%dgsave ) THEN 
    4559                          CALL iom_put( "BASIN_23"  , gmedc2d ) 
    4560                      ENDIF 
    4561                      IF( med_diag%BASIN_24%dgsave ) THEN 
    4562                          CALL iom_put( "BASIN_24"  , zemesn2d ) 
    4563                      ENDIF   
    4564                      IF( med_diag%BASIN_25%dgsave ) THEN 
    4565                          CALL iom_put( "BASIN_25"  , zemesd2d ) 
    4566                      ENDIF 
    4567                      IF( med_diag%BASIN_26%dgsave ) THEN 
    4568                          CALL iom_put( "BASIN_26"  , zemesc2d ) 
    4569                      ENDIF 
    4570                      IF( med_diag%BASIN_27%dgsave ) THEN 
    4571                          CALL iom_put( "BASIN_27"  , zemesdc2d ) 
    4572                      ENDIF 
    4573                      IF( med_diag%BASIN_28%dgsave ) THEN 
    4574                          CALL iom_put( "BASIN_28"  , zeexcr2d ) 
    4575                      ENDIF 
    4576                      IF( med_diag%BASIN_29%dgsave ) THEN 
    4577                          CALL iom_put( "BASIN_29"  , zeresp2d ) 
    4578                      ENDIF 
    4579                      IF( med_diag%BASIN_30%dgsave ) THEN 
    4580                          CALL iom_put( "BASIN_30"  , zegrow2d ) 
    4581                      ENDIF 
    4582                      IF( med_diag%BASIN_31%dgsave ) THEN 
    4583                          CALL iom_put( "BASIN_30"  , fdzme22d ) 
    4584                      ENDIF 
    4585                      IF( med_diag%BASIN_32%dgsave ) THEN 
    4586                          CALL iom_put( "BASIN_32"  , fdzme2d ) 
    4587                      ENDIF 
    4588                      IF( med_diag%BASIN_33%dgsave ) THEN 
    4589                          CALL iom_put( "BASIN_33"  , fslown2d ) 
    4590                      ENDIF 
    4591                      IF( med_diag%BASIN_34%dgsave ) THEN 
    4592                          CALL iom_put( "BASIN_34"  , fdd2d ) 
    4593                      ENDIF 
    4594                      IF( med_diag%BASIN_35%dgsave ) THEN 
    4595                          CALL iom_put( "BASIN_35"  , fslowc2d ) 
    4596                      ENDIF 
    4597                      IF( med_diag%BASIN_36%dgsave ) THEN 
    4598                          CALL iom_put( "BASIN_36"  , mdetc2d ) 
    4599                      ENDIF 
    4600                      IF( med_diag%BASIN_37%dgsave ) THEN 
    4601                          CALL iom_put( "BASIN_37"  , ftempn2d ) 
    4602                      ENDIF 
    4603                      IF( med_diag%BASIN_38%dgsave ) THEN 
    4604                          CALL iom_put( "BASIN_38"  , freminn2d ) 
    4605                      ENDIF 
    4606                      IF( med_diag%BASIN_39%dgsave ) THEN 
    4607                          CALL iom_put( "BASIN_39"  , ftempc2d ) 
    4608                      ENDIF 
    4609                      IF( med_diag%BASIN_40%dgsave ) THEN 
    4610                          CALL iom_put( "BASIN_40"  , freminc2d ) 
    4611                      ENDIF 
    4612                      IF( med_diag%BASIN_41%dgsave ) THEN 
    4613                          CALL iom_put( "BASIN_41"  , fcomm_resp ) 
    4614                      ENDIF                   
    4615                      IF( med_diag%BASIN_42%dgsave ) THEN 
    4616                          CALL iom_put( "BASIN_42"  , fslownflux ) 
    4617                      ENDIF 
    4618                      IF( med_diag%BASIN_43%dgsave ) THEN 
    4619                          CALL iom_put( "BASIN_43"  , fslowcflux ) 
    4620                      ENDIF 
    4621                      IF( med_diag%BASIN_44%dgsave ) THEN 
    4622                          CALL iom_put( "BASIN_44"  , ffastn ) 
    4623                      ENDIF 
    4624                      IF( med_diag%BASIN_45%dgsave ) THEN 
    4625                          CALL iom_put( "BASIN_45"  , ffastc ) 
    4626                      ENDIF 
    46274820# endif                      
    46284821                 ELSE IF (jk.eq.i0200) THEN 
     
    50475240         DO jj = 2,jpjm1 
    50485241            DO ji = 2,jpim1 
    5049                 !!          
    5050                 IF( med_diag%PN_JLIM%dgsave ) THEN 
    5051                     fjln2d(ji,jj) = fjln2d(ji,jj)  / MAX(ftot_pn(ji,jj), rsmall) 
    5052                 ENDIF 
    5053                 IF( med_diag%PN_NLIM%dgsave ) THEN 
    5054                     fnln2d(ji,jj) = fnln2d(ji,jj)  / MAX(ftot_pn(ji,jj), rsmall) 
    5055                 ENDIF 
    5056                 IF( med_diag%PN_FELIM%dgsave ) THEN 
    5057                     ffln2d(ji,jj) = ffln2d(ji,jj)  / MAX(ftot_pn(ji,jj), rsmall) 
    5058                 ENDIF 
    5059                 IF( med_diag%PD_JLIM%dgsave ) THEN 
    5060                     fjld2d(ji,jj) = fjld2d(ji,jj)  / MAX(ftot_pd(ji,jj), rsmall) 
    5061                 ENDIF 
    5062                 IF( med_diag%PD_NLIM%dgsave ) THEN 
    5063                     fnld2d(ji,jj) = fnld2d(ji,jj)  / MAX(ftot_pd(ji,jj), rsmall) 
    5064                 ENDIF 
    5065                 IF( med_diag%PD_FELIM%dgsave ) THEN 
    5066                     ffld2d(ji,jj) = ffld2d(ji,jj)  / MAX(ftot_pd(ji,jj), rsmall) 
    5067                 ENDIF 
    5068                 IF( med_diag%PD_SILIM%dgsave ) THEN 
    5069                     fsld2d2(ji,jj) = fsld2d2(ji,jj) / MAX(ftot_pd(ji,jj), rsmall) 
    5070                 ENDIF 
    5071                 IF( med_diag%PDSILIM2%dgsave ) THEN 
    5072                     fsld2d(ji,jj) = fsld2d(ji,jj)  / MAX(ftot_pd(ji,jj), rsmall) 
    5073                 ENDIF 
     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 
    50745267            ENDDO 
    50755268         ENDDO 
     
    50845277#   endif 
    50855278         IF ( med_diag%INVTN%dgsave ) THEN 
    5086              CALL iom_put( "INVTN"  , ftot_n ) 
     5279            CALL iom_put( "INVTN"  , ftot_n ) 
    50875280         ENDIF 
    50885281         IF ( med_diag%INVTSI%dgsave ) THEN 
    5089              CALL iom_put( "INVTSI"  , ftot_si ) 
     5282            CALL iom_put( "INVTSI"  , ftot_si ) 
    50905283         ENDIF 
    50915284         IF ( med_diag%INVTFE%dgsave ) THEN 
    5092              CALL iom_put( "INVTFE"  , ftot_fe ) 
     5285            CALL iom_put( "INVTFE"  , ftot_fe ) 
    50935286         ENDIF                            
    50945287         IF ( med_diag%ML_PRN%dgsave ) THEN 
    5095              CALL iom_put( "ML_PRN"  , fprn_ml ) 
     5288            CALL iom_put( "ML_PRN"  , fprn_ml ) 
    50965289         ENDIF 
    50975290         IF ( med_diag%ML_PRD%dgsave ) THEN 
    5098              CALL iom_put( "ML_PRD"  , fprd_ml ) 
     5291            CALL iom_put( "ML_PRD"  , fprd_ml ) 
    50995292         ENDIF 
    51005293         IF ( med_diag%OCAL_LVL%dgsave ) THEN 
    5101              CALL iom_put( "OCAL_LVL"  , fccd ) 
     5294            CALL iom_put( "OCAL_LVL"  , fccd ) 
    51025295         ENDIF 
    51035296         IF ( med_diag%PN_JLIM%dgsave ) THEN 
    5104              CALL iom_put( "PN_JLIM"  , fjln2d ) 
    5105              CALL wrk_dealloc( jpi, jpj,   fjln2d   ) 
     5297            CALL iom_put( "PN_JLIM"  , fjln2d ) 
     5298            CALL wrk_dealloc( jpi, jpj,   fjln2d   ) 
    51065299         ENDIF 
    51075300         IF ( med_diag%PN_NLIM%dgsave ) THEN 
    5108              CALL iom_put( "PN_NLIM"  , fnln2d ) 
    5109              CALL wrk_dealloc( jpi, jpj,   fnln2d   ) 
     5301            CALL iom_put( "PN_NLIM"  , fnln2d ) 
     5302            CALL wrk_dealloc( jpi, jpj,   fnln2d   ) 
    51105303         ENDIF 
    51115304         IF ( med_diag%PN_FELIM%dgsave ) THEN 
    5112              CALL iom_put( "PN_FELIM"  , ffln2d ) 
    5113              CALL wrk_dealloc( jpi, jpj,   ffln2d   ) 
     5305            CALL iom_put( "PN_FELIM"  , ffln2d ) 
     5306            CALL wrk_dealloc( jpi, jpj,   ffln2d   ) 
    51145307         ENDIF 
    51155308         IF ( med_diag%PD_JLIM%dgsave ) THEN 
    5116              CALL iom_put( "PD_JLIM"  , fjld2d ) 
    5117              CALL wrk_dealloc( jpi, jpj,  fjld2d    ) 
     5309            CALL iom_put( "PD_JLIM"  , fjld2d ) 
     5310            CALL wrk_dealloc( jpi, jpj,  fjld2d    ) 
    51185311         ENDIF 
    51195312         IF ( med_diag%PD_NLIM%dgsave ) THEN 
    5120              CALL iom_put( "PD_NLIM"  , fnld2d ) 
    5121              CALL wrk_dealloc( jpi, jpj,   fnld2d  ) 
     5313            CALL iom_put( "PD_NLIM"  , fnld2d ) 
     5314            CALL wrk_dealloc( jpi, jpj,   fnld2d  ) 
    51225315         ENDIF 
    51235316         IF ( med_diag%PD_FELIM%dgsave ) THEN 
    5124              CALL iom_put( "PD_FELIM"  , ffld2d ) 
    5125              CALL wrk_dealloc( jpi, jpj,  ffld2d    ) 
     5317            CALL iom_put( "PD_FELIM"  , ffld2d ) 
     5318            CALL wrk_dealloc( jpi, jpj,  ffld2d    ) 
    51265319         ENDIF 
    51275320         IF ( med_diag%PD_SILIM%dgsave ) THEN 
    5128              CALL iom_put( "PD_SILIM"  , fsld2d2 ) 
    5129              CALL wrk_dealloc( jpi, jpj,   fsld2d2   ) 
     5321            CALL iom_put( "PD_SILIM"  , fsld2d2 ) 
     5322            CALL wrk_dealloc( jpi, jpj,   fsld2d2   ) 
    51305323         ENDIF 
    51315324         IF ( med_diag%PDSILIM2%dgsave ) THEN 
    5132              CALL iom_put( "PDSILIM2"  , fsld2d ) 
    5133              CALL wrk_dealloc( jpi, jpj,   fsld2d   ) 
     5325            CALL iom_put( "PDSILIM2"  , fsld2d ) 
     5326            CALL wrk_dealloc( jpi, jpj,   fsld2d   ) 
    51345327         ENDIF 
    51355328         IF ( med_diag%INTFLX_N%dgsave ) THEN 
    5136              CALL iom_put( "INTFLX_N"  , fflx_n ) 
     5329            CALL iom_put( "INTFLX_N"  , fflx_n ) 
    51375330         ENDIF 
    51385331         IF ( med_diag%INTFLX_SI%dgsave ) THEN 
    5139              CALL iom_put( "INTFLX_SI"  , fflx_si ) 
     5332            CALL iom_put( "INTFLX_SI"  , fflx_si ) 
    51405333         ENDIF 
    51415334         IF ( med_diag%INTFLX_FE%dgsave ) THEN 
    5142              CALL iom_put( "INTFLX_FE"  , fflx_fe ) 
     5335            CALL iom_put( "INTFLX_FE"  , fflx_fe ) 
    51435336         ENDIF         
    51445337         IF ( med_diag%INT_PN%dgsave ) THEN 
    5145              CALL iom_put( "INT_PN"  , ftot_pn ) 
     5338            CALL iom_put( "INT_PN"  , ftot_pn ) 
    51465339         ENDIF 
    51475340         IF ( med_diag%INT_PD%dgsave ) THEN 
    5148              CALL iom_put( "INT_PD"  , ftot_pd ) 
     5341            CALL iom_put( "INT_PD"  , ftot_pd ) 
    51495342         ENDIF          
    51505343         IF ( med_diag%INT_ZMI%dgsave ) THEN 
    5151              CALL iom_put( "INT_ZMI"  , ftot_zmi ) 
     5344            CALL iom_put( "INT_ZMI"  , ftot_zmi ) 
    51525345         ENDIF 
    51535346         IF ( med_diag%INT_ZME%dgsave ) THEN 
    5154              CALL iom_put( "INT_ZME"  , ftot_zme ) 
     5347            CALL iom_put( "INT_ZME"  , ftot_zme ) 
    51555348         ENDIF 
    51565349         IF ( med_diag%INT_DET%dgsave ) THEN 
    5157              CALL iom_put( "INT_DET"  , ftot_det ) 
     5350            CALL iom_put( "INT_DET"  , ftot_det ) 
    51585351         ENDIF 
    51595352         IF ( med_diag%INT_DTC%dgsave ) THEN 
    5160              CALL iom_put( "INT_DTC"  , ftot_dtc ) 
     5353            CALL iom_put( "INT_DTC"  , ftot_dtc ) 
    51615354         ENDIF 
    51625355         IF ( med_diag%BEN_N%dgsave ) THEN 
    5163              CALL iom_put( "BEN_N"  , za_sed_n ) 
     5356            CALL iom_put( "BEN_N"  , za_sed_n ) 
    51645357         ENDIF 
    51655358         IF ( med_diag%BEN_FE%dgsave ) THEN 
    5166              CALL iom_put( "BEN_FE"  , za_sed_fe ) 
     5359            CALL iom_put( "BEN_FE"  , za_sed_fe ) 
    51675360         ENDIF 
    51685361         IF ( med_diag%BEN_C%dgsave ) THEN 
    5169              CALL iom_put( "BEN_C"  , za_sed_c ) 
     5362            CALL iom_put( "BEN_C"  , za_sed_c ) 
    51705363         ENDIF 
    51715364         IF ( med_diag%BEN_SI%dgsave ) THEN 
    5172              CALL iom_put( "BEN_SI"  , za_sed_si ) 
     5365            CALL iom_put( "BEN_SI"  , za_sed_si ) 
    51735366         ENDIF 
    51745367         IF ( med_diag%BEN_CA%dgsave ) THEN 
    5175              CALL iom_put( "BEN_CA"  , za_sed_ca ) 
     5368            CALL iom_put( "BEN_CA"  , za_sed_ca ) 
    51765369         ENDIF 
    51775370         IF ( med_diag%RUNOFF%dgsave ) THEN 
    5178              CALL iom_put( "RUNOFF"  , f_runoff ) 
     5371            CALL iom_put( "RUNOFF"  , f_runoff ) 
    51795372         ENDIF  
    51805373# if defined key_roam         
    51815374         IF ( med_diag%N_PROD%dgsave ) THEN 
    5182              CALL iom_put( "N_PROD"  , fnit_prod ) 
     5375            CALL iom_put( "N_PROD"  , fnit_prod ) 
    51835376         ENDIF 
    51845377         IF ( med_diag%N_CONS%dgsave ) THEN 
    5185              CALL iom_put( "N_CONS"  , fnit_cons ) 
     5378            CALL iom_put( "N_CONS"  , fnit_cons ) 
    51865379         ENDIF 
    51875380         IF ( med_diag%C_PROD%dgsave ) THEN 
    5188              CALL iom_put( "C_PROD"  , fcar_prod ) 
     5381            CALL iom_put( "C_PROD"  , fcar_prod ) 
    51895382         ENDIF 
    51905383         IF ( med_diag%C_CONS%dgsave ) THEN 
    5191              CALL iom_put( "C_CONS"  , fcar_cons ) 
     5384            CALL iom_put( "C_CONS"  , fcar_cons ) 
    51925385         ENDIF 
    51935386         IF ( med_diag%O2_PROD%dgsave ) THEN 
    5194              CALL iom_put( "O2_PROD"  , foxy_prod ) 
     5387            CALL iom_put( "O2_PROD"  , foxy_prod ) 
    51955388         ENDIF 
    51965389         IF ( med_diag%O2_CONS%dgsave ) THEN 
    5197              CALL iom_put( "O2_CONS"  , foxy_cons ) 
     5390            CALL iom_put( "O2_CONS"  , foxy_cons ) 
    51985391         ENDIF 
    51995392         IF ( med_diag%O2_ANOX%dgsave ) THEN 
    5200              CALL iom_put( "O2_ANOX"  , foxy_anox ) 
     5393            CALL iom_put( "O2_ANOX"  , foxy_anox ) 
    52015394         ENDIF 
    52025395         IF ( med_diag%INVTC%dgsave ) THEN 
    5203              CALL iom_put( "INVTC"  , ftot_c ) 
     5396            CALL iom_put( "INVTC"  , ftot_c ) 
    52045397         ENDIF 
    52055398         IF ( med_diag%INVTALK%dgsave ) THEN 
    5206              CALL iom_put( "INVTALK"  , ftot_a ) 
     5399            CALL iom_put( "INVTALK"  , ftot_a ) 
    52075400         ENDIF 
    52085401         IF ( med_diag%INVTO2%dgsave ) THEN 
     
    52105403         ENDIF 
    52115404         IF ( med_diag%COM_RESP%dgsave ) THEN 
    5212              CALL iom_put( "COM_RESP"  , fcomm_resp ) 
     5405            CALL iom_put( "COM_RESP"  , fcomm_resp ) 
    52135406         ENDIF          
    52145407# endif       
     
    52165409         !! diagnostic filled in the i-j-k main loop 
    52175410         !!-------------------------------------------- 
    5218         IF ( med_diag%PRN%dgsave ) THEN 
     5411         IF ( med_diag%PRN%dgsave ) THEN 
    52195412            CALL iom_put( "PRN"  , fprn2d ) 
    52205413            CALL wrk_dealloc( jpi, jpj,   fprn2d   ) 
    5221         ENDIF 
    5222         IF ( med_diag%MPN%dgsave ) THEN 
     5414         ENDIF 
     5415         IF ( med_diag%MPN%dgsave ) THEN 
    52235416            CALL iom_put( "MPN"  ,fdpn2d  ) 
    52245417            CALL wrk_dealloc( jpi, jpj,    fdpn2d  ) 
    5225         ENDIF 
    5226         IF ( med_diag%PRD%dgsave ) THEN 
     5418         ENDIF 
     5419         IF ( med_diag%PRD%dgsave ) THEN 
    52275420            CALL iom_put( "PRD"  ,fprd2d  ) 
    52285421            CALL wrk_dealloc( jpi, jpj,   fprd2d  ) 
    5229         ENDIF 
    5230         IF( med_diag%MPD%dgsave ) THEN 
     5422         ENDIF 
     5423         IF( med_diag%MPD%dgsave ) THEN 
    52315424            CALL iom_put( "MPD"  , fdpd2d ) 
    52325425            CALL wrk_dealloc( jpi, jpj,    fdpd2d ) 
    5233         ENDIF 
    5234         !  IF( med_diag%DSED%dgsave ) THEN 
    5235         !      CALL iom_put( "DSED"  , ftot_n ) 
    5236         !  ENDIF 
    5237         IF( med_diag%OPAL%dgsave ) THEN 
     5426         ENDIF 
     5427         !  IF( med_diag%DSED%dgsave ) THEN 
     5428         !      CALL iom_put( "DSED"  , ftot_n ) 
     5429         !  ENDIF 
     5430         IF( med_diag%OPAL%dgsave ) THEN 
    52385431            CALL iom_put( "OPAL"  , fprds2d ) 
    52395432            CALL wrk_dealloc( jpi, jpj,   fprds2d  ) 
    5240         ENDIF 
    5241         IF( med_diag%OPALDISS%dgsave ) THEN 
     5433         ENDIF 
     5434         IF( med_diag%OPALDISS%dgsave ) THEN 
    52425435            CALL iom_put( "OPALDISS"  , fsdiss2d ) 
    52435436            CALL wrk_dealloc( jpi, jpj,   fsdiss2d  ) 
    5244         ENDIF 
    5245         IF( med_diag%GMIPn%dgsave ) THEN 
     5437         ENDIF 
     5438         IF( med_diag%GMIPn%dgsave ) THEN 
    52465439            CALL iom_put( "GMIPn"  , fgmipn2d ) 
    52475440            CALL wrk_dealloc( jpi, jpj,   fgmipn2d  ) 
    5248         ENDIF 
    5249         IF( med_diag%GMID%dgsave ) THEN 
     5441         ENDIF 
     5442         IF( med_diag%GMID%dgsave ) THEN 
    52505443            CALL iom_put( "GMID"  , fgmid2d ) 
    52515444            CALL wrk_dealloc( jpi, jpj,  fgmid2d  ) 
    5252         ENDIF 
    5253         IF( med_diag%MZMI%dgsave ) THEN 
     5445         ENDIF 
     5446         IF( med_diag%MZMI%dgsave ) THEN 
    52545447            CALL iom_put( "MZMI"  , fdzmi2d ) 
    52555448            CALL wrk_dealloc( jpi, jpj,   fdzmi2d   ) 
    5256         ENDIF 
    5257         IF( med_diag%GMEPN%dgsave ) THEN 
     5449         ENDIF 
     5450         IF( med_diag%GMEPN%dgsave ) THEN 
    52585451            CALL iom_put( "GMEPN"  , fgmepn2d ) 
    52595452            CALL wrk_dealloc( jpi, jpj,   fgmepn2d  ) 
    5260         ENDIF 
    5261         IF( med_diag%GMEPD%dgsave ) THEN 
     5453         ENDIF 
     5454         IF( med_diag%GMEPD%dgsave ) THEN 
    52625455            CALL iom_put( "GMEPD"  , fgmepd2d ) 
    52635456            CALL wrk_dealloc( jpi, jpj,   fgmepd2d   ) 
    5264         ENDIF 
    5265         IF( med_diag%GMEZMI%dgsave ) THEN 
     5457         ENDIF 
     5458         IF( med_diag%GMEZMI%dgsave ) THEN 
    52665459            CALL iom_put( "GMEZMI"  , fgmezmi2d ) 
    52675460            CALL wrk_dealloc( jpi, jpj,   fgmezmi2d   ) 
    5268         ENDIF 
    5269         IF( med_diag%GMED%dgsave ) THEN 
     5461         ENDIF 
     5462         IF( med_diag%GMED%dgsave ) THEN 
    52705463            CALL iom_put( "GMED"  , fgmed2d ) 
    52715464            CALL wrk_dealloc( jpi, jpj,    fgmed2d  ) 
    5272         ENDIF 
    5273         IF( med_diag%MZME%dgsave ) THEN 
     5465         ENDIF 
     5466         IF( med_diag%MZME%dgsave ) THEN 
    52745467            CALL iom_put( "MZME"  , fdzme2d ) 
    52755468            CALL wrk_dealloc( jpi, jpj,  fdzme2d    ) 
    5276         ENDIF 
    5277         !  IF( med_diag%DEXP%dgsave ) THEN 
    5278         !      CALL iom_put( "DEXP"  , ftot_n ) 
    5279         !  ENDIF 
    5280         IF( med_diag%DETN%dgsave ) THEN 
     5469         ENDIF 
     5470         !  IF( med_diag%DEXP%dgsave ) THEN 
     5471         !      CALL iom_put( "DEXP"  , ftot_n ) 
     5472         !  ENDIF 
     5473         IF( med_diag%DETN%dgsave ) THEN 
    52815474            CALL iom_put( "DETN"  , fslown2d ) 
    52825475            CALL wrk_dealloc( jpi, jpj,  fslown2d    ) 
    5283         ENDIF 
    5284         IF( med_diag%MDET%dgsave ) THEN 
     5476         ENDIF 
     5477         IF( med_diag%MDET%dgsave ) THEN 
    52855478            CALL iom_put( "MDET"  , fdd2d ) 
    52865479            CALL wrk_dealloc( jpi, jpj,   fdd2d   ) 
    5287         ENDIF 
    5288         IF( med_diag%AEOLIAN%dgsave ) THEN 
     5480         ENDIF 
     5481         IF( med_diag%AEOLIAN%dgsave ) THEN 
    52895482            CALL iom_put( "AEOLIAN"  , ffetop2d ) 
    52905483            CALL wrk_dealloc( jpi, jpj,   ffetop2d   ) 
    5291         ENDIF 
    5292         IF( med_diag%BENTHIC%dgsave ) THEN 
     5484         ENDIF 
     5485         IF( med_diag%BENTHIC%dgsave ) THEN 
    52935486            CALL iom_put( "BENTHIC"  , ffebot2d ) 
    52945487            CALL wrk_dealloc( jpi, jpj,   ffebot2d   ) 
    5295         ENDIF 
    5296         IF( med_diag%SCAVENGE%dgsave ) THEN 
     5488         ENDIF 
     5489         IF( med_diag%SCAVENGE%dgsave ) THEN 
    52975490            CALL iom_put( "SCAVENGE"  , ffescav2d ) 
    52985491            CALL wrk_dealloc( jpi, jpj,   ffescav2d  ) 
    5299         ENDIF 
    5300         !!  
    5301         IF( med_diag%TOTREG_N%dgsave ) THEN 
     5492         ENDIF 
     5493         !!  
     5494         IF( med_diag%TOTREG_N%dgsave ) THEN 
    53025495            CALL iom_put( "TOTREG_N"  , fregen2d ) 
    53035496            CALL wrk_dealloc( jpi, jpj,   fregen2d   ) 
    5304         ENDIF 
    5305         IF( med_diag%TOTRG_SI%dgsave ) THEN 
     5497         ENDIF 
     5498         IF( med_diag%TOTRG_SI%dgsave ) THEN 
    53065499            CALL iom_put( "TOTRG_SI"  , fregensi2d ) 
    53075500            CALL wrk_dealloc( jpi, jpj,    fregensi2d  ) 
    5308         ENDIF 
    5309         !!  
    5310         IF( med_diag%FASTN%dgsave ) THEN 
     5501         ENDIF 
     5502         !!  
     5503         IF( med_diag%FASTN%dgsave ) THEN 
    53115504            CALL iom_put( "FASTN"  , ftempn2d ) 
    53125505            CALL wrk_dealloc( jpi, jpj,   ftempn2d   ) 
    5313         ENDIF 
    5314         IF( med_diag%FASTSI%dgsave ) THEN 
     5506         ENDIF 
     5507         IF( med_diag%FASTSI%dgsave ) THEN 
    53155508            CALL iom_put( "FASTSI"  , ftempsi2d ) 
    53165509            CALL wrk_dealloc( jpi, jpj,   ftempsi2d   ) 
    5317         ENDIF 
    5318         IF( med_diag%FASTFE%dgsave ) THEN 
     5510         ENDIF 
     5511         IF( med_diag%FASTFE%dgsave ) THEN 
    53195512            CALL iom_put( "FASTFE"  , ftempfe2d ) 
    53205513            CALL wrk_dealloc( jpi, jpj,    ftempfe2d  ) 
    5321         ENDIF 
    5322         IF( med_diag%FASTC%dgsave ) THEN 
     5514         ENDIF 
     5515         IF( med_diag%FASTC%dgsave ) THEN 
    53235516            CALL iom_put( "FASTC"  , ftempc2d ) 
    53245517            CALL wrk_dealloc( jpi, jpj,  ftempc2d    ) 
    5325         ENDIF 
    5326         IF( med_diag%FASTCA%dgsave ) THEN 
     5518         ENDIF 
     5519         IF( med_diag%FASTCA%dgsave ) THEN 
    53275520            CALL iom_put( "FASTCA"  , ftempca2d ) 
    5328            CALL wrk_dealloc( jpi, jpj,  ftempca2d   ) 
    5329         ENDIF 
    5330         !!  
    5331         IF( med_diag%REMINN%dgsave ) THEN 
     5521            CALL wrk_dealloc( jpi, jpj,  ftempca2d   ) 
     5522         ENDIF 
     5523         !!  
     5524         IF( med_diag%REMINN%dgsave ) THEN 
    53325525            CALL iom_put( "REMINN"  , freminn2d ) 
    53335526            CALL wrk_dealloc( jpi, jpj,   freminn2d   ) 
    5334         ENDIF 
    5335         IF( med_diag%REMINSI%dgsave ) THEN 
     5527         ENDIF 
     5528         IF( med_diag%REMINSI%dgsave ) THEN 
    53365529            CALL iom_put( "REMINSI"  , freminsi2d ) 
    53375530            CALL wrk_dealloc( jpi, jpj,   freminsi2d   ) 
    5338         ENDIF 
    5339         IF( med_diag%REMINFE%dgsave ) THEN 
     5531         ENDIF 
     5532         IF( med_diag%REMINFE%dgsave ) THEN 
    53405533            CALL iom_put( "REMINFE"  , freminfe2d ) 
    53415534            CALL wrk_dealloc( jpi, jpj,  freminfe2d    ) 
    5342         ENDIF 
    5343         IF( med_diag%REMINC%dgsave ) THEN 
     5535         ENDIF 
     5536         IF( med_diag%REMINC%dgsave ) THEN 
    53445537            CALL iom_put( "REMINC"  , freminc2d ) 
    53455538            CALL wrk_dealloc( jpi, jpj,    freminc2d  ) 
    5346         ENDIF 
    5347         IF( med_diag%REMINCA%dgsave ) THEN 
     5539         ENDIF 
     5540         IF( med_diag%REMINCA%dgsave ) THEN 
    53485541            CALL iom_put( "REMINCA"  , freminca2d ) 
    5349              CALL wrk_dealloc( jpi, jpj,   freminca2d  ) 
    5350         ENDIF 
    5351         IF( med_diag%SEAFLRN%dgsave ) THEN 
     5542            CALL wrk_dealloc( jpi, jpj,   freminca2d  ) 
     5543         ENDIF 
     5544         IF( med_diag%SEAFLRN%dgsave ) THEN 
    53525545            CALL iom_put( "SEAFLRN"  , fsedn ) 
    5353         ENDIF 
    5354         IF( med_diag%SEAFLRSI%dgsave ) THEN 
     5546         ENDIF 
     5547         IF( med_diag%SEAFLRSI%dgsave ) THEN 
    53555548            CALL iom_put( "SEAFLRSI"  , fsedsi ) 
    5356         ENDIF 
    5357         IF( med_diag%SEAFLRFE%dgsave ) THEN 
     5549         ENDIF 
     5550         IF( med_diag%SEAFLRFE%dgsave ) THEN 
    53585551            CALL iom_put( "SEAFLRFE"  , fsedfe ) 
    5359         ENDIF 
    5360         IF( med_diag%SEAFLRC%dgsave ) THEN 
     5552         ENDIF 
     5553         IF( med_diag%SEAFLRC%dgsave ) THEN 
    53615554            CALL iom_put( "SEAFLRC"  , fsedc ) 
    5362         ENDIF 
    5363         IF( med_diag%SEAFLRCA%dgsave ) THEN 
     5555         ENDIF 
     5556         IF( med_diag%SEAFLRCA%dgsave ) THEN 
    53645557            CALL iom_put( "SEAFLRCA"  , fsedca ) 
    5365         ENDIF 
    5366  
    5367         !! 
    5368         !! 
    5369         !! 
    5370         !!   
    5371         !!  
    5372         !! 
    5373         !!  
    5374         !! 
    5375         !! 
     5558         ENDIF 
     5559         !! 
    53765560# if defined key_roam             
    5377         !! 
    5378         !! 
    5379         IF( med_diag%RIV_N%dgsave ) THEN 
     5561         !! 
     5562         IF( med_diag%RIV_N%dgsave ) THEN 
    53805563            CALL iom_put( "RIV_N"  , rivn2d ) 
    5381              CALL wrk_dealloc( jpi, jpj,    rivn2d  ) 
    5382         ENDIF 
    5383         IF( med_diag%RIV_SI%dgsave ) THEN 
     5564            CALL wrk_dealloc( jpi, jpj,    rivn2d  ) 
     5565         ENDIF 
     5566         IF( med_diag%RIV_SI%dgsave ) THEN 
    53845567            CALL iom_put( "RIV_SI"  , rivsi2d ) 
    5385              CALL wrk_dealloc( jpi, jpj,   rivsi2d   ) 
    5386         ENDIF 
    5387         IF( med_diag%RIV_C%dgsave ) THEN 
     5568            CALL wrk_dealloc( jpi, jpj,   rivsi2d   ) 
     5569         ENDIF 
     5570         IF( med_diag%RIV_C%dgsave ) THEN 
    53885571            CALL iom_put( "RIV_C"  , rivc2d ) 
    5389              CALL wrk_dealloc( jpi, jpj,    rivc2d  ) 
    5390         ENDIF 
    5391         IF( med_diag%RIV_ALK%dgsave ) THEN 
     5572            CALL wrk_dealloc( jpi, jpj,    rivc2d  ) 
     5573         ENDIF 
     5574         IF( med_diag%RIV_ALK%dgsave ) THEN 
    53925575            CALL iom_put( "RIV_ALK"  , rivalk2d ) 
    5393              CALL wrk_dealloc( jpi, jpj,  rivalk2d    ) 
    5394         ENDIF 
    5395         IF( med_diag%DETC%dgsave ) THEN 
     5576            CALL wrk_dealloc( jpi, jpj,  rivalk2d    ) 
     5577         ENDIF 
     5578         IF( med_diag%DETC%dgsave ) THEN 
    53965579            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 
    54035584            CALL iom_put( "PN_LLOSS"  , fdpn22d ) 
    5404              CALL wrk_dealloc( jpi, jpj,   fdpn22d   ) 
    5405         ENDIF 
    5406         IF( med_diag%PD_LLOSS%dgsave ) THEN 
     5585            CALL wrk_dealloc( jpi, jpj,   fdpn22d   ) 
     5586         ENDIF 
     5587         IF( med_diag%PD_LLOSS%dgsave ) THEN 
    54075588            CALL iom_put( "PD_LLOSS"  , fdpd22d ) 
    5408              CALL wrk_dealloc( jpi, jpj,   fdpd22d   ) 
    5409         ENDIF 
    5410         IF( med_diag%ZI_LLOSS%dgsave ) THEN 
     5589            CALL wrk_dealloc( jpi, jpj,   fdpd22d   ) 
     5590         ENDIF 
     5591         IF( med_diag%ZI_LLOSS%dgsave ) THEN 
    54115592            CALL iom_put( "ZI_LLOSS"  , fdzmi22d ) 
    54125593             CALL wrk_dealloc( jpi, jpj,    fdzmi22d  ) 
    5413         ENDIF 
    5414         IF( med_diag%ZE_LLOSS%dgsave ) THEN 
    5415             CALL iom_put( "ZE_LLOSS"  , fdzme22d ) 
     5594          ENDIF 
     5595          IF( med_diag%ZE_LLOSS%dgsave ) THEN 
     5596             CALL iom_put( "ZE_LLOSS"  , fdzme22d ) 
    54165597             CALL wrk_dealloc( jpi, jpj,   fdzme22d   ) 
    5417         ENDIF 
    5418         IF( med_diag%ZI_MES_N%dgsave ) THEN 
    5419             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 ) 
    54205601             CALL wrk_dealloc( jpi, jpj,    zimesn2d  ) 
    5421         ENDIF 
    5422         IF( med_diag%ZI_MES_D%dgsave ) THEN 
    5423             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 ) 
    54245605             CALL wrk_dealloc( jpi, jpj,    zimesd2d  ) 
    5425         ENDIF 
    5426         IF( med_diag%ZI_MES_C%dgsave ) THEN 
    5427             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 ) 
    54285609             CALL wrk_dealloc( jpi, jpj,    zimesc2d  ) 
    5429         ENDIF 
    5430         IF( med_diag%ZI_MESDC%dgsave ) THEN 
    5431             CALL iom_put( "ZI_MESDC"  ,zimesdc2d  ) 
     5610          ENDIF 
     5611          IF( med_diag%ZI_MESDC%dgsave ) THEN 
     5612             CALL iom_put( "ZI_MESDC"  ,zimesdc2d  ) 
    54325613             CALL wrk_dealloc( jpi, jpj,    zimesdc2d  ) 
    5433         ENDIF 
    5434         IF( med_diag%ZI_EXCR%dgsave ) THEN 
    5435             CALL iom_put( "ZI_EXCR"  , ziexcr2d ) 
     5614          ENDIF 
     5615          IF( med_diag%ZI_EXCR%dgsave ) THEN 
     5616             CALL iom_put( "ZI_EXCR"  , ziexcr2d ) 
    54365617             CALL wrk_dealloc( jpi, jpj,    ziexcr2d ) 
    5437         ENDIF 
    5438         IF( med_diag%ZI_RESP%dgsave ) THEN 
    5439             CALL iom_put( "ZI_RESP"  , ziresp2d ) 
     5618          ENDIF 
     5619          IF( med_diag%ZI_RESP%dgsave ) THEN 
     5620             CALL iom_put( "ZI_RESP"  , ziresp2d ) 
    54405621             CALL wrk_dealloc( jpi, jpj,   ziresp2d   ) 
    5441         ENDIF 
    5442         IF( med_diag%ZI_GROW%dgsave ) THEN 
    5443             CALL iom_put( "ZI_GROW"  , zigrow2d ) 
     5622          ENDIF 
     5623          IF( med_diag%ZI_GROW%dgsave ) THEN 
     5624             CALL iom_put( "ZI_GROW"  , zigrow2d ) 
    54445625             CALL wrk_dealloc( jpi, jpj,   zigrow2d   ) 
    5445         ENDIF 
    5446         IF( med_diag%ZE_MES_N%dgsave ) THEN 
    5447             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 ) 
    54485629             CALL wrk_dealloc( jpi, jpj,    zemesn2d  ) 
    5449         ENDIF 
    5450         IF( med_diag%ZE_MES_D%dgsave ) THEN 
    5451             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 ) 
    54525633             CALL wrk_dealloc( jpi, jpj,    zemesd2d  ) 
    5453         ENDIF 
    5454         IF( med_diag%ZE_MES_C%dgsave ) THEN 
    5455             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 ) 
    54565637             CALL wrk_dealloc( jpi, jpj,   zemesc2d   ) 
    5457         ENDIF 
    5458         IF( med_diag%ZE_MESDC%dgsave ) THEN 
    5459             CALL iom_put( "ZE_MESDC"  , zemesdc2d ) 
     5638          ENDIF 
     5639          IF( med_diag%ZE_MESDC%dgsave ) THEN 
     5640             CALL iom_put( "ZE_MESDC"  , zemesdc2d ) 
    54605641             CALL wrk_dealloc( jpi, jpj,   zemesdc2d   ) 
    5461         ENDIF 
    5462         IF( med_diag%ZE_EXCR%dgsave ) THEN 
    5463             CALL iom_put( "ZE_EXCR"  , zeexcr2d ) 
     5642          ENDIF 
     5643          IF( med_diag%ZE_EXCR%dgsave ) THEN 
     5644             CALL iom_put( "ZE_EXCR"  , zeexcr2d ) 
    54645645             CALL wrk_dealloc( jpi, jpj,   zeexcr2d   ) 
    5465         ENDIF 
    5466         IF( med_diag%ZE_RESP%dgsave ) THEN 
    5467             CALL iom_put( "ZE_RESP"  , zeresp2d ) 
     5646          ENDIF 
     5647          IF( med_diag%ZE_RESP%dgsave ) THEN 
     5648             CALL iom_put( "ZE_RESP"  , zeresp2d ) 
    54685649             CALL wrk_dealloc( jpi, jpj,    zeresp2d  ) 
    5469         ENDIF 
    5470         IF( med_diag%ZE_GROW%dgsave ) THEN 
    5471             CALL iom_put( "ZE_GROW"  , zegrow2d ) 
     5650          ENDIF 
     5651          IF( med_diag%ZE_GROW%dgsave ) THEN 
     5652             CALL iom_put( "ZE_GROW"  , zegrow2d ) 
    54725653             CALL wrk_dealloc( jpi, jpj,   zegrow2d   ) 
    5473         ENDIF 
    5474         IF( med_diag%MDETC%dgsave ) THEN 
    5475             CALL iom_put( "MDETC"  , mdetc2d ) 
     5654          ENDIF 
     5655          IF( med_diag%MDETC%dgsave ) THEN 
     5656             CALL iom_put( "MDETC"  , mdetc2d ) 
    54765657             CALL wrk_dealloc( jpi, jpj,   mdetc2d   ) 
    5477         ENDIF 
    5478         IF( med_diag%GMIDC%dgsave ) THEN 
    5479             CALL iom_put( "GMIDC"  , gmidc2d ) 
     5658          ENDIF 
     5659          IF( med_diag%GMIDC%dgsave ) THEN 
     5660             CALL iom_put( "GMIDC"  , gmidc2d ) 
    54805661             CALL wrk_dealloc( jpi, jpj,    gmidc2d  ) 
    5481         ENDIF 
    5482         IF( med_diag%GMEDC%dgsave ) THEN 
    5483             CALL iom_put( "GMEDC"  , gmedc2d ) 
     5662          ENDIF 
     5663          IF( med_diag%GMEDC%dgsave ) THEN 
     5664             CALL iom_put( "GMEDC"  , gmedc2d ) 
    54845665             CALL wrk_dealloc( jpi, jpj,    gmedc2d  ) 
    5485         ENDIF 
    5486         IF( med_diag%IBEN_N%dgsave ) THEN 
    5487            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 ) 
    54885669             CALL wrk_dealloc( jpi, jpj,    iben_n2d  ) 
    5489         ENDIF 
    5490         IF( med_diag%IBEN_FE%dgsave ) THEN 
    5491            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 ) 
    54925673             CALL wrk_dealloc( jpi, jpj,   iben_fe2d   ) 
    5493         ENDIF 
    5494         IF( med_diag%IBEN_C%dgsave ) THEN 
    5495            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 ) 
    54965677             CALL wrk_dealloc( jpi, jpj,   iben_c2d   ) 
    5497         ENDIF 
    5498         IF( med_diag%IBEN_SI%dgsave ) THEN 
    5499            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 ) 
    55005681             CALL wrk_dealloc( jpi, jpj,   iben_si2d   ) 
    5501         ENDIF 
    5502         IF( med_diag%IBEN_CA%dgsave ) THEN 
    5503            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 ) 
    55045685             CALL wrk_dealloc( jpi, jpj,   iben_ca2d   ) 
    5505         ENDIF 
    5506         IF( med_diag%OBEN_N%dgsave ) THEN 
    5507            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 ) 
    55085689             CALL wrk_dealloc( jpi, jpj,    oben_n2d  ) 
    5509         ENDIF 
    5510         IF( med_diag%OBEN_FE%dgsave ) THEN 
    5511            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 ) 
    55125693             CALL wrk_dealloc( jpi, jpj,    oben_fe2d  ) 
    5513         ENDIF 
    5514         IF( med_diag%OBEN_C%dgsave ) THEN 
    5515            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 ) 
    55165697             CALL wrk_dealloc( jpi, jpj,    oben_c2d  ) 
    5517         ENDIF 
    5518         IF( med_diag%OBEN_SI%dgsave ) THEN 
    5519            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 ) 
    55205701             CALL wrk_dealloc( jpi, jpj,    oben_si2d  ) 
    5521         ENDIF 
    5522         IF( med_diag%OBEN_CA%dgsave ) THEN 
    5523            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 ) 
    55245705             CALL wrk_dealloc( jpi, jpj, oben_ca2d     ) 
    5525         ENDIF 
    5526         IF( med_diag%SFR_OCAL%dgsave ) THEN 
    5527            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 ) 
    55285709             CALL wrk_dealloc( jpi, jpj,    sfr_ocal2d  ) 
    5529         ENDIF 
    5530         IF( med_diag%SFR_OARG%dgsave ) THEN 
    5531            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 ) 
    55325713             CALL wrk_dealloc( jpi, jpj,    sfr_oarg2d  ) 
    5533         ENDIF 
    5534         IF( med_diag%LYSO_CA%dgsave ) THEN 
    5535            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 ) 
    55365717             CALL wrk_dealloc( jpi, jpj,    lyso_ca2d  ) 
    5537         ENDIF 
     5718          ENDIF 
    55385719# endif                    
    5539          !!           
    5540          !! 
    5541          !! ** 3D diagnostics 
    5542          IF( med_diag%TPP3%dgsave ) THEN 
     5720          !! 
     5721          !! ** 3D diagnostics 
     5722          IF( med_diag%TPP3%dgsave ) THEN 
    55435723             CALL iom_put( "TPP3"  , tpp3d ) 
    5544               CALL wrk_dealloc( jpi, jpj, jpk,   tpp3d  ) 
    5545          ENDIF 
    5546          IF( med_diag%DETFLUX3%dgsave ) THEN 
     5724             CALL wrk_dealloc( jpi, jpj, jpk,   tpp3d  ) 
     5725          ENDIF 
     5726          IF( med_diag%DETFLUX3%dgsave ) THEN 
    55475727             CALL iom_put( "DETFLUX3"  , detflux3d ) 
    5548               CALL wrk_dealloc( jpi, jpj, jpk,    detflux3d ) 
    5549          ENDIF 
     5728             CALL wrk_dealloc( jpi, jpj, jpk,    detflux3d ) 
     5729          ENDIF 
    55505730          IF( med_diag%REMIN3N%dgsave ) THEN 
    55515731             CALL iom_put( "REMIN3N"  , remin3dn ) 
     
    55545734# if defined key_roam           
    55555735          IF( med_diag%PH3%dgsave ) THEN 
    5556               CALL iom_put( "PH3"  , f3_pH ) 
     5736             CALL iom_put( "PH3"  , f3_pH ) 
    55575737          ENDIF 
    55585738          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           
    55615891# endif          
    55625892 
    5563       CALL wrk_dealloc( jpi, jpj,   zw2d   ) 
    5564  
    5565      ENDIF ! end of ln_diatrc option 
     5893          CALL wrk_dealloc( jpi, jpj,   zw2d   ) 
     5894 
     5895       ENDIF                    ! end of ln_diatrc option 
    55665896 
    55675897# if defined key_trc_diabio 
    5568       !! Lateral boundary conditions on trcbio 
    5569       DO jn=1,jp_medusa_trd 
     5898       !! Lateral boundary conditions on trcbio 
     5899       DO jn=1,jp_medusa_trd 
    55705900          CALL lbc_lnk(trbio(:,:,1,jn),'T',1. ) 
    5571       ENDDO  
     5901       ENDDO  
    55725902# endif 
    55735903 
    55745904# if defined key_debug_medusa 
    5575       IF(lwp) WRITE(numout,*) ' MEDUSA exiting trc_bio_medusa at kt =', kt 
    5576       CALL flush(numout) 
     5905       IF(lwp) WRITE(numout,*) ' MEDUSA exiting trc_bio_medusa at kt =', kt 
     5906       CALL flush(numout) 
    55775907# endif 
    55785908 
  • branches/NERC/dev_r5518_NOC_MEDUSA_Stable/NEMOGCM/NEMO/TOP_SRC/MEDUSA/trcnam_medusa.F90

    r6715 r7224  
    1010   !!              -   !  2011-04  (A. Yool) updated for ROAM project 
    1111   !!              -   !  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 
    1214   !!---------------------------------------------------------------------- 
    1315#if defined key_medusa 
     
    11801182    
    11811183   SUBROUTINE trc_nam_iom_medusa 
    1182     !!--------------------------------------------------------------------- 
     1184      !!--------------------------------------------------------------------- 
    11831185      !!                     ***  ROUTINE trc_nam_iom_medusa  *** 
    11841186      !! 
     
    20512053          med_diag%GMEDC%dgsave = .FALSE. 
    20522054      ENDIF 
    2053       IF  (iom_use("BASIN_01")) THEN  
    2054           med_diag%BASIN_01%dgsave = .TRUE. 
    2055       ELSE  
    2056           med_diag%BASIN_01%dgsave = .FALSE. 
    2057       ENDIF 
    2058       IF  (iom_use("BASIN_02")) THEN  
    2059           med_diag%BASIN_02%dgsave = .TRUE. 
    2060       ELSE  
    2061           med_diag%BASIN_02%dgsave = .FALSE. 
    2062       ENDIF 
    2063       IF  (iom_use("BASIN_03")) THEN  
    2064           med_diag%BASIN_03%dgsave = .TRUE. 
    2065       ELSE  
    2066           med_diag%BASIN_03%dgsave = .FALSE. 
    2067       ENDIF 
    2068       IF  (iom_use("BASIN_04")) THEN  
    2069           med_diag%BASIN_04%dgsave = .TRUE. 
    2070       ELSE  
    2071           med_diag%BASIN_04%dgsave = .FALSE. 
    2072       ENDIF 
    2073       IF  (iom_use("BASIN_05")) THEN  
    2074           med_diag%BASIN_05%dgsave = .TRUE. 
    2075       ELSE  
    2076           med_diag%BASIN_05%dgsave = .FALSE. 
    2077       ENDIF 
    2078       IF  (iom_use("BASIN_06")) THEN  
    2079           med_diag%BASIN_06%dgsave = .TRUE. 
    2080       ELSE  
    2081           med_diag%BASIN_06%dgsave = .FALSE. 
    2082       ENDIF 
    2083       IF  (iom_use("BASIN_07")) THEN  
    2084           med_diag%BASIN_07%dgsave = .TRUE. 
    2085       ELSE  
    2086           med_diag%BASIN_07%dgsave = .FALSE. 
    2087       ENDIF 
    2088       IF  (iom_use("BASIN_08")) THEN  
    2089           med_diag%BASIN_08%dgsave = .TRUE. 
    2090       ELSE  
    2091           med_diag%BASIN_08%dgsave = .FALSE. 
    2092       ENDIF 
    2093       IF  (iom_use("BASIN_09")) THEN  
    2094           med_diag%BASIN_09%dgsave = .TRUE. 
    2095       ELSE  
    2096           med_diag%BASIN_09%dgsave = .FALSE. 
    2097       ENDIF 
    2098       IF  (iom_use("BASIN_10")) THEN  
    2099           med_diag%BASIN_10%dgsave = .TRUE. 
    2100       ELSE  
    2101           med_diag%BASIN_10%dgsave = .FALSE. 
    2102       ENDIF 
    2103       IF  (iom_use("BASIN_11")) THEN  
    2104           med_diag%BASIN_11%dgsave = .TRUE. 
    2105       ELSE  
    2106           med_diag%BASIN_11%dgsave = .FALSE. 
    2107       ENDIF 
    2108       IF  (iom_use("BASIN_12")) THEN  
    2109           med_diag%BASIN_12%dgsave = .TRUE. 
    2110       ELSE  
    2111           med_diag%BASIN_12%dgsave = .FALSE. 
    2112       ENDIF 
    2113       IF  (iom_use("BASIN_13")) THEN  
    2114           med_diag%BASIN_13%dgsave = .TRUE. 
    2115       ELSE  
    2116           med_diag%BASIN_13%dgsave = .FALSE. 
    2117       ENDIF 
    2118       IF  (iom_use("BASIN_14")) THEN  
    2119           med_diag%BASIN_14%dgsave = .TRUE. 
    2120       ELSE  
    2121           med_diag%BASIN_14%dgsave = .FALSE. 
    2122       ENDIF 
    2123       IF  (iom_use("BASIN_15")) THEN  
    2124           med_diag%BASIN_15%dgsave = .TRUE. 
    2125       ELSE  
    2126           med_diag%BASIN_15%dgsave = .FALSE. 
    2127       ENDIF 
    2128       IF  (iom_use("BASIN_16")) THEN  
    2129           med_diag%BASIN_16%dgsave = .TRUE. 
    2130       ELSE  
    2131           med_diag%BASIN_16%dgsave = .FALSE. 
    2132       ENDIF 
    2133       IF  (iom_use("BASIN_17")) THEN  
    2134           med_diag%BASIN_17%dgsave = .TRUE. 
    2135       ELSE  
    2136           med_diag%BASIN_17%dgsave = .FALSE. 
    2137       ENDIF 
    2138       IF  (iom_use("BASIN_18")) THEN  
    2139           med_diag%BASIN_18%dgsave = .TRUE. 
    2140       ELSE  
    2141           med_diag%BASIN_18%dgsave = .FALSE. 
    2142       ENDIF 
    2143       IF  (iom_use("BASIN_19")) THEN  
    2144           med_diag%BASIN_19%dgsave = .TRUE. 
    2145       ELSE  
    2146           med_diag%BASIN_19%dgsave = .FALSE. 
    2147       ENDIF 
    2148       IF  (iom_use("BASIN_20")) THEN  
    2149           med_diag%BASIN_20%dgsave = .TRUE. 
    2150       ELSE  
    2151           med_diag%BASIN_20%dgsave = .FALSE. 
    2152       ENDIF 
    2153       IF  (iom_use("BASIN_21")) THEN  
    2154           med_diag%BASIN_21%dgsave = .TRUE. 
    2155       ELSE  
    2156           med_diag%BASIN_21%dgsave = .FALSE. 
    2157       ENDIF 
    2158       IF  (iom_use("BASIN_22")) THEN  
    2159           med_diag%BASIN_22%dgsave = .TRUE. 
    2160       ELSE  
    2161           med_diag%BASIN_22%dgsave = .FALSE. 
    2162       ENDIF 
    2163       IF  (iom_use("BASIN_23")) THEN  
    2164           med_diag%BASIN_23%dgsave = .TRUE. 
    2165       ELSE  
    2166           med_diag%BASIN_23%dgsave = .FALSE. 
    2167       ENDIF 
    2168       IF  (iom_use("BASIN_24")) THEN  
    2169           med_diag%BASIN_24%dgsave = .TRUE. 
    2170       ELSE  
    2171           med_diag%BASIN_24%dgsave = .FALSE. 
    2172       ENDIF 
    2173       IF  (iom_use("BASIN_25")) THEN  
    2174           med_diag%BASIN_25%dgsave = .TRUE. 
    2175       ELSE  
    2176           med_diag%BASIN_25%dgsave = .FALSE. 
    2177       ENDIF 
    2178       IF  (iom_use("BASIN_26")) THEN  
    2179           med_diag%BASIN_26%dgsave = .TRUE. 
    2180       ELSE  
    2181           med_diag%BASIN_26%dgsave = .FALSE. 
    2182       ENDIF 
    2183       IF  (iom_use("BASIN_27")) THEN  
    2184           med_diag%BASIN_27%dgsave = .TRUE. 
    2185       ELSE  
    2186           med_diag%BASIN_27%dgsave = .FALSE. 
    2187       ENDIF 
    2188       IF  (iom_use("BASIN_28")) THEN  
    2189           med_diag%BASIN_28%dgsave = .TRUE. 
    2190       ELSE  
    2191           med_diag%BASIN_28%dgsave = .FALSE. 
    2192       ENDIF 
    2193       IF  (iom_use("BASIN_29")) THEN  
    2194           med_diag%BASIN_29%dgsave = .TRUE. 
    2195       ELSE  
    2196           med_diag%BASIN_29%dgsave = .FALSE. 
    2197       ENDIF 
    2198       IF  (iom_use("BASIN_30")) THEN  
    2199           med_diag%BASIN_30%dgsave = .TRUE. 
    2200       ELSE  
    2201           med_diag%BASIN_30%dgsave = .FALSE. 
    2202       ENDIF 
    2203       IF  (iom_use("BASIN_31")) THEN  
    2204           med_diag%BASIN_31%dgsave = .TRUE. 
    2205       ELSE  
    2206           med_diag%BASIN_31%dgsave = .FALSE. 
    2207       ENDIF 
    2208       IF  (iom_use("BASIN_32")) THEN  
    2209           med_diag%BASIN_32%dgsave = .TRUE. 
    2210       ELSE  
    2211           med_diag%BASIN_32%dgsave = .FALSE. 
    2212       ENDIF 
    2213       IF  (iom_use("BASIN_33")) THEN  
    2214           med_diag%BASIN_33%dgsave = .TRUE. 
    2215       ELSE  
    2216           med_diag%BASIN_33%dgsave = .FALSE. 
    2217       ENDIF 
    2218       IF  (iom_use("BASIN_34")) THEN  
    2219           med_diag%BASIN_34%dgsave = .TRUE. 
    2220       ELSE  
    2221           med_diag%BASIN_34%dgsave = .FALSE. 
    2222       ENDIF 
    2223       IF  (iom_use("BASIN_35")) THEN  
    2224           med_diag%BASIN_35%dgsave = .TRUE. 
    2225       ELSE  
    2226           med_diag%BASIN_35%dgsave = .FALSE. 
    2227       ENDIF 
    2228       IF  (iom_use("BASIN_36")) THEN  
    2229           med_diag%BASIN_36%dgsave = .TRUE. 
    2230       ELSE  
    2231           med_diag%BASIN_36%dgsave = .FALSE. 
    2232       ENDIF 
    2233       IF  (iom_use("BASIN_37")) THEN  
    2234           med_diag%BASIN_37%dgsave = .TRUE. 
    2235       ELSE  
    2236           med_diag%BASIN_37%dgsave = .FALSE. 
    2237       ENDIF 
    2238       IF  (iom_use("BASIN_38")) THEN  
    2239           med_diag%BASIN_38%dgsave = .TRUE. 
    2240       ELSE  
    2241           med_diag%BASIN_38%dgsave = .FALSE. 
    2242       ENDIF 
    2243       IF  (iom_use("BASIN_39")) THEN  
    2244           med_diag%BASIN_39%dgsave = .TRUE. 
    2245       ELSE  
    2246           med_diag%BASIN_39%dgsave = .FALSE. 
    2247       ENDIF 
    2248       IF  (iom_use("BASIN_40")) THEN  
    2249           med_diag%BASIN_40%dgsave = .TRUE. 
    2250       ELSE  
    2251           med_diag%BASIN_40%dgsave = .FALSE. 
    2252       ENDIF 
    2253       IF  (iom_use("BASIN_41")) THEN  
    2254           med_diag%BASIN_41%dgsave = .TRUE. 
    2255       ELSE  
    2256           med_diag%BASIN_41%dgsave = .FALSE. 
    2257       ENDIF 
    2258       IF  (iom_use("BASIN_42")) THEN  
    2259           med_diag%BASIN_42%dgsave = .TRUE. 
    2260       ELSE  
    2261           med_diag%BASIN_42%dgsave = .FALSE. 
    2262       ENDIF 
    2263       IF  (iom_use("BASIN_43")) THEN  
    2264           med_diag%BASIN_43%dgsave = .TRUE. 
    2265       ELSE  
    2266           med_diag%BASIN_43%dgsave = .FALSE. 
    2267       ENDIF 
    2268       IF  (iom_use("BASIN_44")) THEN  
    2269           med_diag%BASIN_44%dgsave = .TRUE. 
    2270       ELSE  
    2271           med_diag%BASIN_44%dgsave = .FALSE. 
    2272       ENDIF 
    2273       IF  (iom_use("BASIN_45")) THEN  
    2274           med_diag%BASIN_45%dgsave = .TRUE. 
    2275       ELSE  
    2276           med_diag%BASIN_45%dgsave = .FALSE. 
    2277       ENDIF 
    22782055      IF  (iom_use("INT_ZMI")) THEN  
    22792056          med_diag%INT_ZMI%dgsave = .TRUE. 
     
    23472124      ENDIF 
    23482125      !! 
     2126      !!---------------------------------------------------------------------- 
     2127      !! AXY (03/11/16): add in additional CMIP6 diagnostics 
     2128      !!---------------------------------------------------------------------- 
    23492129      !! 
     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 
    23502364   END SUBROUTINE   trc_nam_iom_medusa 
    23512365    
  • branches/NERC/dev_r5518_NOC_MEDUSA_Stable/NEMOGCM/NEMO/TOP_SRC/trc.F90

    r5937 r7224  
    77   !!              -   !  2000-04  (O. Aumont, M.A. Foujols)  HAMOCC3 and P3ZD 
    88   !!   NEMO      1.0  !  2004-03  (C. Ethe)  Free form and module 
     9   !!             3.6  !  2016-11  (A. Yool)  Updated diags for CMIP6 
    910   !!---------------------------------------------------------------------- 
    1011#if defined key_top 
     
    110111    
    111112   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,      & 
    119120                  REMINSI, REMINFE, REMINC, REMINCA, SEAFLRN, SEAFLRSI, SEAFLRFE, SEAFLRC, SEAFLRCA, & 
    120121                  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                  !! 
    140149                  !! list of all MEDUSA diagnostics that could be called by iom_use 
    141150   END TYPE DIAG_IOM   
Note: See TracChangeset for help on using the changeset viewer.