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 10296 – NEMO

Changeset 10296


Ignore:
Timestamp:
2018-11-12T13:15:24+01:00 (5 years ago)
Author:
dford
Message:

Merge in revisions 8447:10159 of dev_r5518_GO6_package.

Location:
branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM
Files:
102 edited
6 copied

Legend:

Unmodified
Added
Removed
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/CONFIG/SHARED/cfc1112sf6.atm

    r8280 r10296  
    1 % Atmospheric lifetimes are   44 for CFC-11 
    2 %                       and  125 for CFC-12 
    3 %        and 1278 for SF6    (Kovacs et al., 2017) 
    4 % rel=  0 
    5 %        <-Northern Data->       <-Southern Data-> 
    6 % Year  CFC-11  CFC-12  SF6     CFC-11  CFC-12  SF6 
    7 %       (ppt)   (ppt)   (ppt)   (ppt)   (ppt)   (ppt) 
    8 1931.5    0.00  0.00  0.00  0.00  0.00  0.00 
    9 1932.5    0.00  0.00  0.00  0.00  0.00  0.00 
    10 1933.5    0.00  0.00  0.00  0.00  0.00  0.00 
    11 1934.5    0.00  0.00  0.00  0.00  0.00  0.00 
    12 1935.5    0.00  0.00  0.00  0.00  0.00  0.00 
    13 1936.5    0.00  0.10  0.00  0.00  0.00  0.00 
    14 1937.5    0.00  0.10  0.00  0.00  0.10  0.00 
    15 1938.5    0.00  0.20  0.00  0.00  0.10  0.00 
    16 1939.5    0.00  0.30  0.00  0.00  0.20  0.00 
    17 1940.5    0.00  0.40  0.00  0.00  0.30  0.00 
    18 1941.5    0.00  0.50  0.00  0.00  0.40  0.00 
    19 1942.5    0.00  0.70  0.00  0.00  0.50  0.00 
    20 1943.5    0.00  0.90  0.00  0.00  0.70  0.00 
    21 1944.5    0.00  1.20  0.00  0.00  0.90  0.00 
    22 1945.5    0.10  1.70  0.00  0.00  1.20  0.00 
    23 1946.5    0.10  2.30  0.00  0.10  1.70  0.00 
    24 1947.5    0.10  3.40  0.00  0.10  2.40  0.00 
    25 1948.5    0.20  4.80  0.00  0.10  3.40  0.00 
    26 1949.5    0.40  6.10  0.00  0.20  4.70  0.00 
    27 1950.5    0.70  7.60  0.00  0.40  6.00  0.00 
    28 1951.5    1.01  9.20  0.00  0.70  7.40  0.00 
    29 1952.5    1.51 11.00  0.00  1.01  9.00  0.00 
    30 1953.5    2.21 12.80  0.04  1.51 10.70  0.04 
    31 1954.5    3.02 15.00  0.04  2.21 12.60  0.04 
    32 1955.5    4.12 17.40  0.04  3.02 14.70  0.04 
    33 1956.5    5.33 20.20  0.04  4.02 17.10  0.04 
    34 1957.5    6.83 23.40  0.05  5.23 19.90  0.04 
    35 1958.5    8.14 26.80  0.05  6.53 23.00  0.04 
    36 1959.5    9.45 30.50  0.05  7.84 26.30  0.05 
    37 1960.5   11.06 35.00  0.05  9.15 30.10  0.05 
    38 1961.5   13.27 40.00  0.06 10.85 34.40  0.06 
    39 1962.5   16.18 45.80  0.07 13.07 39.40  0.06 
    40 1963.5   19.60 52.50  0.08 15.78 45.10  0.07 
    41 1964.5   23.72 60.40  0.09 19.20 51.80  0.08 
    42 1965.5   28.44 69.30  0.11 23.12 59.50  0.10 
    43 1966.5   33.67 79.20  0.13 27.64 68.20  0.12 
    44 1967.5   39.40 90.30  0.15 32.66 77.90  0.14 
    45 1968.5   46.03 102.80    0.18 38.29 88.80  0.17 
    46 1969.5   53.77 116.80    0.21 44.82 101.10    0.19 
    47 1970.5   62.41 132.00    0.23 52.26 114.70    0.22 
    48 1971.5   72.06 148.40    0.26 60.70 129.60    0.24 
    49 1972.5   82.71 166.10    0.30 69.95 145.70    0.28 
    50 1973.5   94.87 185.80    0.34 80.40 163.30    0.31 
    51 1974.5   108.34   207.10    0.38 92.16 182.50    0.35 
    52 1975.5   121.41   228.20    0.44 104.72   202.90    0.40 
    53 1976.5   133.97   248.10    0.50 117.09   223.20    0.46 
    54 1977.5   145.93   266.90    0.58 129.35   242.70    0.53 
    55 1978.5   156.58   284.30    0.66 140.80   261.20    0.61 
    56 1979.5   168.34   306.10    0.76 148.74   273.50    0.70 
    57 1980.5   176.68   323.20    0.88 159.30   292.30    0.81 
    58 1981.5   184.32   339.60    1.00 167.84   308.80    0.93 
    59 1982.5   191.46   353.40    1.13 176.08   325.50    1.04 
    60 1983.5   199.30   369.00    1.27 184.52   342.60    1.17 
    61 1984.5   208.04   385.70    1.40 192.46   359.40    1.29 
    62 1985.5   217.99   403.40    1.55 202.01   378.20    1.43 
    63 1986.5   229.35   424.30    1.71 211.36   396.50    1.58 
    64 1987.5   241.61   444.00    1.88 222.21   416.30    1.73 
    65 1988.5   252.86   465.40    2.05 233.27   435.80    1.89 
    66 1989.5   259.30   483.60    2.22 242.11   454.40    2.05 
    67 1990.5   265.83   497.70    2.41 251.06   472.70    2.22 
    68 1991.5   268.24   506.00    2.62 256.68   487.30    2.42 
    69 1992.5   268.14   516.30    2.85 260.80   498.30    2.63 
    70 1993.5   269.55   523.20    3.09 262.51   507.00    2.84 
    71 1994.5   269.65   528.50    3.33 263.72   514.80    3.07 
    72 1995.5   268.34   533.40    3.58 263.22   521.00    3.30 
    73 1996.5   266.93   537.30    3.86 262.91   526.50    3.55 
    74 1997.5   265.73   540.10    4.07 262.01   530.80    3.81 
    75 1998.5   264.52   542.90    4.25 261.01   534.30    4.01 
    76 1999.5   263.12   544.40    4.48 259.90   537.20    4.25 
    77 2000.5   261.71   545.90    4.68 258.29   539.00    4.46 
    78 2001.5   260.00   546.50    4.90 256.98   540.60    4.65 
    79 2002.5   258.19   546.70    5.14 255.08   541.30    4.88 
    80 2003.5   256.18   546.70    5.37 253.27   541.60    5.07 
    81 2004.5   253.97   545.70    5.58 251.36   541.50    5.30 
    82 2005.5   251.96   544.90    5.80 249.15   540.70    5.51 
    83 2006.5   249.55   543.10    6.04 247.34   539.80    5.75 
    84 2007.5   247.54   541.10    6.33 245.03   538.10    6.03 
    85 2008.5   245.63   538.60    6.62 243.12   536.20    6.29 
    86 2009.5   243.61   536.12    6.89 241.05   533.47    6.58 
    87 2010.5   241.31   533.26    7.21 239.15   531.03    6.87 
    88 2011.5   239.40   530.60    7.46 236.84   528.53    7.17 
    89 2012.5   236.89   527.20    7.73 234.77   526.00    7.43 
    90 2013.5   235.57   525.22    8.09 232.88   523.25    7.73 
    91 2014.5   234.97   522.97    8.40 231.49   521.00    8.11 
    92 2015.5   234.36   520.71    8.72 230.09   518.74    8.50 
     1% Data source is Meinshausen et al., GMD, doi:10.5194/gmd-10-2057-2017, 2017 
     2%       
     3% Atmospheric lifetimes are 44 for CFC-11, 125 for CFC-12, 1278 for SF6 (Kovacs et al., 2017) 
     4%       
     5%                  <- Northern Data ->                       <- Southern Data -> 
     6% Year  CFC-11        CFC-12        SF6           CFC-11        CFC-12        SF6 
     7%       (ppt)         (ppt)         (ppt)         (ppt)         (ppt)         (ppt) 
     81931.5   0.000000000   0.000000000   0.000000000   0.000000000   0.000000000   0.000000000 
     91932.5   0.000000000   0.000000000   0.000000000   0.000000000   0.000000000   0.000000000 
     101933.5   0.000000000   0.000000000   0.000000000   0.000000000   0.000000000   0.000000000 
     111934.5   0.000000000   0.000000000   0.000000000   0.000000000   0.000000000   0.000000000 
     121935.5   0.000000000   0.000000000   0.000000000   0.000000000   0.000000000   0.000000000 
     131936.5   0.000000000   0.000000000   0.000000000   0.000000000   0.000000000   0.000000000 
     141937.5   0.000000000   0.000000000   0.000000000   0.000000000   0.000000000   0.000000000 
     151938.5   0.000000000   0.000000000   0.000000000   0.000000000   0.000000000   0.000000000 
     161939.5   0.000000000   0.000000000   0.000000000   0.000000000   0.000000000   0.000000000 
     171940.5   0.000000000   0.000000000   0.000000000   0.000000000   0.000000000   0.000000000 
     181941.5   0.000000000   0.000000000   0.000000000   0.000000000   0.000000000   0.000000000 
     191942.5   0.000000000   0.000000000   0.000000000   0.000000000   0.000000000   0.000000000 
     201943.5   0.000000000   0.000000000   0.000000000   0.000000000   0.000000000   0.000000000 
     211944.5   0.000000000   0.038867314   0.000000000   0.000000000   0.000000000   0.000000000 
     221945.5   0.009688290   0.663173319   0.000000000   0.000000000   0.179827114   0.000000000 
     231946.5   0.143045720   1.985999093   0.000000000   0.023698859   1.285422242   0.000000000 
     241947.5   0.379218365   3.193964895   0.000000000   0.220803722   2.476063155   0.000000000 
     251948.5   0.580945173   4.387486320   0.000000000   0.419080845   3.662542203   0.000000000 
     261949.5   0.782666568   5.581273050   0.000549548   0.617357376   4.848752951   0.000000000 
     271950.5   0.984557214   6.769593313   0.003847009   0.803206476   5.994921048   0.000000000 
     281951.5   1.284320135   8.264422444   0.009397031   1.009390929   7.286283933   0.001536690 
     291952.5   1.751919189   9.972960352   0.019397594   1.356134124   8.915840517   0.010601102 
     301953.5   2.396171508  11.802868940   0.029399135   1.862701833  10.623781580   0.020599733 
     311954.5   3.197498849  13.870027240   0.039400408   2.529694010  12.537828600   0.030598368 
     321955.5   4.181823038  16.192572860   0.049401890   3.353758626  14.686691500   0.040596982 
     331956.5   5.408367887  18.877954460   0.059403132   4.393167031  17.136322300   0.050595625 
     341957.5   6.800583775  21.959182680   0.069404672   5.678210925  19.995897560   0.060594229 
     351958.5   8.109249026  25.232145770   0.079405828   7.025216180  23.136534410   0.070592887 
     361959.5   9.364839076  28.782123950   0.089957041   8.229409091  26.435978480   0.080041923 
     371960.5  10.961720980  32.981516050   0.103255528   9.512521657  30.229203850   0.086743257 
     381961.5  13.098760490  37.798568210   0.119356372  11.236947540  34.674761270   0.100641697 
     391962.5  15.806523630  43.278169070   0.142106425  13.473262950  39.675387420   0.117891153 
     401963.5  19.142178090  49.713651640   0.164361543  16.291888010  45.495533750   0.145635149 
     411964.5  23.108328390  57.245187220   0.188815808  19.735014550  52.354422360   0.171181549 
     421965.5  27.634690050  65.793446420   0.208818626  23.784909990  60.264583310   0.191178919 
     431966.5  32.665831640  75.353011050   0.229920965  28.341636240  69.142848910   0.210076955 
     441967.5  38.316556900  86.107808700   0.255418696  33.416399210  79.112483860   0.224578774 
     451968.5  44.735303660  98.182966260   0.280476202  39.142961190  90.336360240   0.259519833 
     461969.5  52.151274820 111.656266200   0.312678543  45.693939430 102.922093500   0.287318198 
     471970.5  60.613170970 126.422438900   0.338519712  53.293339390 116.875940400   0.311477435 
     481971.5  69.897071760 142.297806200   0.370362628  61.795945320 131.978603500   0.339633595 
     491972.5  80.234894440 159.492249000   0.406704311  71.106880930 148.220203100   0.373291446 
     501973.5  92.060689870 178.472060300   0.444047013  81.684543110 166.042459600   0.405949009 
     511974.5 105.178774000 199.227131900   0.480312763  93.899031340 185.901366400   0.439683079 
     521975.5 117.911807200 219.810875300   0.523903675 106.751720900 206.659568300   0.476091548 
     531976.5 130.343837600 239.408134200   0.572256652 119.117657300 226.586306200   0.516504001 
     541977.5 142.219969600 258.214583500   0.626388196 131.371426600 245.773827600   0.562714149 
     551978.5 153.113398300 276.017264300   0.696150017 142.895762800 263.985107500   0.623841447 
     561979.5 162.202761200 292.347643700   0.812090348 153.074182700 280.640673300   0.727894916 
     571980.5 170.549832500 307.880370800   0.935045695 161.605210900 296.484130200   0.844940387 
     581981.5 179.351297200 324.962932600   1.046734711 170.125714200 313.877328300   0.953252570 
     591982.5 187.950305300 340.530803500   1.169926107 178.604640000 329.755733600   1.070059130 
     601983.5 196.735262000 357.738289200   1.291227619 185.599386800 347.273901700   1.188758518 
     611984.5 204.762469700 371.876326200   1.416857943 195.171812600 361.722131600   1.303127876 
     621985.5 215.873492800 388.188723100   1.561837923 212.193414900 378.345775800   1.438144645 
     631986.5 227.522075400 407.178327900   1.716048488 217.157292600 397.646115500   1.583933775 
     641987.5 240.190457900 427.957943400   1.869707646 226.480823700 418.736889000   1.730274813 
     651988.5 252.058437700 453.778202600   2.044378892 237.593073300 444.868007800   1.895600064 
     661989.5 262.049348500 472.372671200   2.228929130 251.129280100 463.771674800   2.071049716 
     671990.5 267.575634500 486.901340600   2.435940646 258.594751500 478.610778900   2.264034718 
     681991.5 271.230956000 497.774404700   2.654242110 264.349351600 489.794008700   2.465733098 
     691992.5 273.831070100 509.702792000   2.866500124 267.720798900 502.033162200   2.673475265 
     701993.5 273.945764200 515.668165900   3.085544448 268.391783500 508.308038500   2.894428964 
     711994.5 271.795241000 521.738523100   3.309082959 267.460351200 514.689605700   3.110891434 
     721995.5 269.685428600 528.026399700   3.542366533 266.522277400 521.287811800   3.317607625 
     731996.5 268.073596200 534.583677500   3.773134326 265.438083100 528.232327800   3.546838149 
     741997.5 266.453104000 537.731639800   3.994189752 264.130600200 532.194428200   3.785783234 
     751998.5 264.913731800 540.053176900   4.206509651 262.853994000 535.280876200   4.013465478 
     761999.5 263.459827100 542.046819000   4.446086436 261.631906900 538.239246100   4.271200839 
     772000.5 262.132481900 544.180172700   4.651259604 260.207202300 540.585804400   4.476357559 
     782001.5 260.471526100 544.881386300   4.865827704 258.628138300 541.508641600   4.687866329 
     792002.5 258.489693000 545.065563300   5.079981286 256.847889800 542.246410300   4.901033791 
     802003.5 256.166454100 544.639059000   5.302011306 254.659160100 542.062934900   5.113722681 
     812004.5 253.882504600 543.913651400   5.530738089 252.505094600 541.782337200   5.339654734 
     822005.5 251.673053900 543.148746600   5.753753167 250.156553300 541.143210100   5.558261370 
     832006.5 249.401769500 541.513579900   5.992508361 247.927822000 539.786352800   5.791203000 
     842007.5 247.150505600 539.345084600   6.267930186 245.677153300 537.506884100   6.060076126 
     852008.5 245.201888600 537.354714000   6.564939520 243.751755800 535.313215200   6.342145730 
     862009.5 243.121499600 534.793824000   6.843882838 241.800148000 532.758130800   6.612765841 
     872010.5 241.116221100 532.217861500   7.127375127 239.787397100 530.346071300   6.893030668 
     882011.5 238.933505200 529.422672600   7.422190116 237.558119900 527.643272300   7.192454112 
     892012.5 236.870742900 526.639031400   7.715680894 235.542931900 525.028908200   7.481265761 
     902013.5 235.157609300 523.841159400   8.034125042 233.604126900 522.388791500   7.787615562 
     912014.5 234.023659400 521.328086600   8.345646183 232.136081000 519.833842900   8.097219954 
     922015.5 234.023659400 521.328086600   8.345646183 232.136081000 519.833842900   8.097219954 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/CONFIG/SHARED/field_def.xml

    r8308 r10296  
    787787  
    788788     <!-- Asselin trends  calculated on odd time steps--> 
    789      <field_group id="trendT_odd"  grid_ref="grid_T_3D"> 
     789     <field_group id="trendT_odd"  grid_ref="grid_T_3D" > 
    790790      <field id="ttrd_atf"      long_name="temperature-trend: asselin time filter"       unit="degree_C/s" /> 
    791791      <field id="strd_atf"      long_name="salinity   -trend: asselin time filter"       unit="0.001/s" /> 
     
    901901      <field id="ttrd_qsr_li"      long_name="layer integrated heat-trend : solar flux"   unit="W/m^2"  grid_ref="grid_T_3D"> ttrd_qsr_e3t * 1026.0 * 3991.86795711963 </field> 
    902902      <field id="ttrd_bbl_li"      long_name="layer integrated heat-trend: bottom boundary layer "     unit="W/m^2" > ttrd_bbl_e3t * 1026.0 * 3991.86795711963 </field> 
     903      <field id="ttrd_bbc_li"      long_name="layer integrated geothermal trend: bottom boundary layer "     unit="W/m^2" > ttrd_bbc_e3t * 1026.0 * 3991.86795711963 </field> 
    903904      <field id="strd_bbl_li"      long_name="layer integrated salt   -trend: bottom boundary layer "     unit="kg/(m^2 s)" > strd_bbl_e3t * 1026.0 * 0.001  </field> 
    904905      <field id="ttrd_evd_li"      long_name="layer integrated heat -trend: evd convection "       unit="W/m^2" >ttrd_evd_e3t * 1026.0 * 3991.86795711963  </field> 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/CONFIG/SHARED/field_def_bgc.xml

    r8308 r10296  
    7575 
    7676      <!-- MEDUSA : variables available with key_medusa --> 
    77        <field id="CHN"      long_name="Chl-a concentration in non-diatom phytoplankton"   unit="mg Chl/m3" /> 
    78        <field id="CHN_E3T"  long_name="CHN * E3T"                                         unit="mg Chl/m2"  > CHN * e3t </field >  
    79        <field id="CHD"      long_name="Chl-a concentration in     diatom phytoplankton"   unit="mg Chl/m3" /> 
    80        <field id="CHD_E3T"  long_name="CHD * E3T"                                         unit="mg Chl/m2"  > CHD * e3t </field > 
     77       <field id="CHN"      long_name="Chl-a concentration in non-diatom phytoplankton"   unit="mg-Chl/m3" /> 
     78       <field id="CHN_E3T"  long_name="CHN * E3T"                                         unit="mg-Chl/m2"  > CHN * e3t </field >  
     79       <field id="CHN_INV"  field_ref="CHN_E3T"   long_name="CHN Inventory"               unit="mg-Chl/m2"   grid_ref="vert_sum" /> 
     80       <field id="SURF_CHN" field_ref="CHN"       long_name="CHN Surface concentration"   unit="mg-Chl/m3"   grid_ref="grid_T_surface_extract" /> 
     81       <field id="CHD"      long_name="Chl-a concentration in     diatom phytoplankton"   unit="mg-Chl/m3" /> 
     82       <field id="CHD_E3T"  long_name="CHD * E3T"                                         unit="mg-Chl/m2"  > CHD * e3t </field > 
     83       <field id="CHD_INV"  field_ref="CHD_E3T"   long_name="CHD Inventory"               unit="mg-Chl/m2"   grid_ref="vert_sum" /> 
     84       <field id="SURF_CHD" field_ref="CHD"       long_name="CHD Surface concentration"   unit="mg-Chl/m3"   grid_ref="grid_T_surface_extract" /> 
    8185       <field id="PHN"      long_name="non-diatom phytoplankton"                          unit="mmol-N/m3" /> 
    8286       <field id="PHN_E3T"  long_name="PHN * E3T"                                         unit="mmol-N/m2"  > PHN * e3t </field > 
     87       <field id="PHN_INV"  field_ref="PHN_E3T"   long_name="PHN Inventory"               unit="mmol-N/m2"   grid_ref="vert_sum" /> 
     88       <field id="SURF_PHN" field_ref="PHN"       long_name="PHN Surface concentration"   unit="mmol-N/m3"   grid_ref="grid_T_surface_extract" /> 
    8389       <field id="PHD"      long_name="diatom     phytoplankton"                          unit="mmol-N/m3" /> 
    8490       <field id="PHD_E3T"  long_name="PHD * E3T"                                         unit="mmol-N/m2"  > PHD * e3t </field > 
     91       <field id="PHD_INV"  field_ref="PHD_E3T"   long_name="PHD Inventory"               unit="mmol-N/m2"   grid_ref="vert_sum" /> 
     92       <field id="SURF_PHD" field_ref="PHD"       long_name="PHD Surface concentration"   unit="mmol-N/m3"   grid_ref="grid_T_surface_extract" /> 
    8593       <field id="ZMI"      long_name="micro zooplankton"                                 unit="mmol-N/m3" /> 
    8694       <field id="ZMI_E3T"  long_name="ZMI * E3T"                                         unit="mmol-N/m2"  > ZMI * e3t </field > 
     95       <field id="ZMI_INV"  field_ref="ZMI_E3T"   long_name="ZMI Inventory"               unit="mmol-N/m2"   grid_ref="vert_sum" /> 
     96       <field id="SURF_ZMI" field_ref="ZMI"       long_name="ZMI Surface concentration"   unit="mmol-N/m3"   grid_ref="grid_T_surface_extract" /> 
    8797       <field id="ZME"      long_name="meso  zooplankton"                                 unit="mmol-N/m3" /> 
    8898       <field id="ZME_E3T"  long_name="ZME * E3T"                                         unit="mmol-N/m2"  > ZME * e3t </field > 
     99       <field id="ZME_INV"  field_ref="ZME_E3T"   long_name="ZME Inventory"               unit="mmol-N/m2"   grid_ref="vert_sum" /> 
     100       <field id="SURF_ZME" field_ref="ZME"       long_name="ZME Surface concentration"   unit="mmol-N/m3"   grid_ref="grid_T_surface_extract" /> 
    89101       <field id="DIN"      long_name="dissolved inorganic nitrogen"                      unit="mmol-N/m3" /> 
    90102       <field id="DIN_E3T"  long_name="DIN * E3T"                                         unit="mmol-N/m2"  > DIN * e3t </field > 
    91        <field id="SIL"      long_name="dissolved silicic acid"                            unit="mmolSi/m3" /> 
    92        <field id="SIL_E3T"  long_name="SIL * E3T"                                         unit="mmolSi/m2"  > SIL * e3t </field > 
    93        <field id="FER"      long_name="dissolved iron"                                    unit="mmolFe/m3" /> 
    94        <field id="FER_E3T"  long_name="FER * E3T"                                         unit="mmolFe/m2"  > FER * e3t </field > 
     103       <field id="DIN_INV"  field_ref="DIN_E3T"   long_name="DIN Inventory"               unit="mmol-N/m2"   grid_ref="vert_sum" /> 
     104       <field id="SURF_DIN" field_ref="DIN"       long_name="DIN Surface concentration"   unit="mmol-N/m3"   grid_ref="grid_T_surface_extract" /> 
     105       <field id="SIL"      long_name="dissolved silicic acid"                            unit="mmol-Si/m3" /> 
     106       <field id="SIL_E3T"  long_name="SIL * E3T"                                         unit="mmol-Si/m2"  > SIL * e3t </field > 
     107       <field id="SIL_INV"  field_ref="SIL_E3T"   long_name="SIL Inventory"               unit="mmol-Si/m2"   grid_ref="vert_sum" /> 
     108       <field id="SURF_SIL" field_ref="SIL"       long_name="SIL Surface concentration"   unit="mmol-Si/m3"   grid_ref="grid_T_surface_extract" /> 
     109       <field id="FER"      long_name="dissolved iron"                                    unit="mmol-Fe/m3" /> 
     110       <field id="FER_E3T"  long_name="FER * E3T"                                         unit="mmol-Fe/m2"  > FER * e3t </field > 
     111       <field id="FER_INV"  field_ref="FER_E3T"   long_name="FER Inventory"               unit="mmol-Fe/m2"   grid_ref="vert_sum" /> 
     112       <field id="SURF_FER" field_ref="FER"       long_name="FER Surface concentration"   unit="mmol-Fe/m3"   grid_ref="grid_T_surface_extract" /> 
    95113       <field id="DET"      long_name="detrital nitrogen"                                 unit="mmol-N/m3" /> 
    96114       <field id="DET_E3T"  long_name="DET * E3T"                                         unit="mmol-N/m2"  > DET * e3t </field > 
    97        <field id="PDS"      long_name="biogenic silicon in diatom phytoplankton"          unit="mmolSi/m3" /> 
    98        <field id="PDS_E3T"  long_name="PDS * E3T"                                         unit="mmolSi/m2"  > PDS * e3t </field > 
     115       <field id="DET_INV"  field_ref="DET_E3T"   long_name="DET Inventory"               unit="mmol-N/m2"   grid_ref="vert_sum" /> 
     116       <field id="SURF_DET" field_ref="DET"       long_name="DET Surface concentration"   unit="mmol-N/m3"   grid_ref="grid_T_surface_extract" /> 
     117       <field id="PDS"      long_name="biogenic silicon in diatom phytoplankton"          unit="mmol-Si/m3" /> 
     118       <field id="PDS_E3T"  long_name="PDS * E3T"                                         unit="mmol-Si/m2"  > PDS * e3t </field > 
     119       <field id="PDS_INV"  field_ref="PDS_E3T"   long_name="PDS Inventory"               unit="mmol-Si/m2"   grid_ref="vert_sum" /> 
     120       <field id="SURF_PDS" field_ref="PDS"       long_name="PDS Surface concentration"   unit="mmol-Si/m3"   grid_ref="grid_T_surface_extract" /> 
    99121       <field id="DTC"      long_name="detrital carbon"                                   unit="mmol-C/m3" /> 
    100122       <field id="DTC_E3T"  long_name="DTC * E3T"                                         unit="mmol-C/m2"  > DTC * e3t </field > 
     123       <field id="DTC_INV"  field_ref="DTC_E3T"   long_name="DTC Inventory"               unit="mmol-C/m2"   grid_ref="vert_sum" /> 
     124       <field id="SURF_DTC" field_ref="DTC"       long_name="DTC Surface concentration"   unit="mmol-C/m3"   grid_ref="grid_T_surface_extract" /> 
    101125       <field id="DiC"      long_name="dissolved inorganic carbon"                        unit="mmol-C/m3" /> 
    102126       <field id="DiC_E3T"  long_name="DiC * E3T"                                         unit="mmol-C/m2"  > DiC * e3t </field > 
     127       <field id="DiC_INV"  field_ref="DiC_E3T"   long_name="DiC Inventory"               unit="mmol-C/m2"   grid_ref="vert_sum" /> 
     128       <field id="SURF_DiC" field_ref="DiC"       long_name="DiC Surface concentration"   unit="mmol-C/m3"   grid_ref="grid_T_surface_extract" /> 
    103129       <field id="ALK"      long_name="alkalinity"                                        unit="meq/m3"    /> 
    104130       <field id="ALK_E3T"  long_name="ALK * E3T"                                         unit="meq/m2"     > ALK * e3t </field > 
    105        <field id="OXY"      long_name="dissolved oxygen"                                  unit="mmolO2/m3" /> 
    106        <field id="OXY_E3T"  long_name="OXY * E3T"                                         unit="mmolO2/m2"  > OXY * e3t </field > 
     131       <field id="ALK_INV"  field_ref="ALK_E3T"   long_name="ALK Inventory"               unit="meq/m2"      grid_ref="vert_sum" /> 
     132       <field id="SURF_ALK" field_ref="ALK"       long_name="ALK Surface concentration"   unit="meq/m3"   grid_ref="grid_T_surface_extract" /> 
     133       <field id="OXY"      long_name="dissolved oxygen"                                  unit="mmol-O2/m3" /> 
     134       <field id="OXY_E3T"  long_name="OXY * E3T"                                         unit="mmol-O2/m2"  > OXY * e3t </field > 
     135       <field id="OXY_INV"  field_ref="OXY_E3T"   long_name="OXY Inventory"               unit="mmol-O2/m2"   grid_ref="vert_sum" /> 
     136       <field id="SURF_OXY" field_ref="OXY"       long_name="OXY Surface concentration"   unit="mmol-O2/m3"   grid_ref="grid_T_surface_extract" /> 
    107137 
    108138      <!-- Ideal traceurs : variables available with key_idtra --> 
    109        <field id="IDTRA"    long_name="Ideal traceur concentration "                      unit="mmol/m3"    /> 
     139       <field id="IDTRA"       long_name="Ideal traceur concentration "             unit="mmol/m3"    /> 
     140       <field id="IDTRA_E3T"   long_name="IDTRA * E3T"                              unit="mmol/m2"  > IDTRA * e3t </field > 
     141       <field id="IDTRA_INV"   field_ref="IDTRA_E3T"   long_name="Age Inventory"    unit="mmol/m2"   grid_ref="vert_sum" /> 
    110142 
    111143       <!-- PISCES with Kriest parametisation : variables available with key_kriest --> 
     
    122154       <field id="CFC11"       long_name="CFC-11 Concentration"                     unit="umol/m3" /> 
    123155       <field id="CFC11_E3T"   long_name="CFC11 * E3T"                              unit="umol/m2"  > CFC11 * e3t </field > 
     156       <field id="CFC11_INV"   field_ref="CFC11_E3T"   long_name="Age Inventory"    unit="umol/m2"   grid_ref="vert_sum" /> 
    124157       <!-- CFC12 : variables available with key_cfc --> 
    125158       <field id="CFC12"       long_name="CFC-12 Concentration"                     unit="umol/m3" /> 
    126159       <field id="CFC12_E3T"   long_name="CFC12 * E3T"                              unit="umol/m2"  > CFC12 * e3t </field > 
     160       <field id="CFC12_INV"   field_ref="CFC12_E3T"   long_name="Age Inventory"    unit="umol/m2"   grid_ref="vert_sum" /> 
    127161       <!-- SF6 : variables available with key_cfc --> 
    128162       <field id="SF6"         long_name="SF6 Concentration"                        unit="umol/m3" /> 
    129163       <field id="SF6_E3T"     long_name="SF6 * E3T"                                unit="umol/m2"  > SF6 * e3t </field > 
     164       <field id="SF6_INV"     field_ref="SF6_E3T"   long_name="Age Inventory"      unit="umol/m2"   grid_ref="vert_sum" /> 
    130165       <!-- Bomb C14 : variables available with key_c14b --> 
    131166       <field id="C14B"        long_name="Bomb C14 Concentration"                   unit="1"         /> 
    132167       <field id="C14B_E3T"    long_name="C14B * E3T"                               unit="m"  > C14B * e3t </field > 
     168       <field id="C14B_INV"    field_ref="C14B_E3T"    long_name="Age Inventory"    unit="m"   grid_ref="vert_sum" /> 
    133169       <!-- AGE : variables available with key_age --> 
    134        <field id="Age"        long_name="Sea Water Age Since Surface contact" standard_name="sea_water_age_since_surface_contact"  unit="yr"         /> 
    135        <field id="Age_e3t"    long_name="Age * e3t"                                 unit="yr * m"  > Age * e3t </field > 
     170       <field id="Age"        long_name="Sea Water Age Since Surface contact"       unit="yr"         /> 
     171       <field id="Age_E3T"    long_name="Age * E3T"                                 unit="yr * m"  > Age * e3t </field > 
     172       <field id="Age_INV"    field_ref="Age_E3T"   long_name="Age Inventory"       unit="yr * m"   grid_ref="vert_sum" /> 
    136173     </field_group> 
    137174 
     
    266303 
    267304       <!-- MEDUSA additional diagnostics on T grid  --> 
    268        <field id= "INVTN"      long_name="Column N inventory"                        unit="mmolN/m2"    /> 
    269        <field id= "INVTSI"     long_name="Column Si inventory"                       unit="mmolSi/m2"   /> 
    270        <field id= "INVTFE"     long_name="Column Fe inventory"                       unit="mmolFe/m2"   /> 
    271        <field id= "PRN"        long_name="Non-diatom primary production"             unit="mmolN/m2/d"  /> 
    272        <field id= "MPN"        long_name="Non-diatom non-grazing losses"             unit="mmolN/m2/d"  /> 
    273        <field id= "PRD"        long_name="Diatom primary production"                 unit="mmolN/m2/d"  /> 
    274        <field id= "MPD"        long_name="Diatom non-grazing losses"                 unit="mmolN/m2/d"  /> 
    275        <field id= "DSED"       long_name="Gravitational sinking of Detritus"         unit="mmolN/m2/d"  /> 
    276        <field id= "OPAL"       long_name="Diatom biogenic opal production"           unit="mmolSi/m2/d" /> 
    277        <field id= "OPALDISS"   long_name="Diatom biogenic opal dissolution"          unit="mmolSi/m2/d" /> 
    278        <field id= "GMIPn"      long_name="Microzoo grazing on non-diatoms"           unit="mmolN/m2/d"  /> 
    279        <field id= "GMID"       long_name="Microzoo grazing on detritus"              unit="mmolN/m2/d"  /> 
    280        <field id= "MZMI"       long_name="Microzoo non-grazing losses"               unit="mmolN/m2/d"  /> 
    281        <field id= "GMEPN"      long_name="Mesozoo grazing on non-diatoms"            unit="mmolN/m2/d"  /> 
    282        <field id= "GMEPD"      long_name="Mesozoo grazing on non-diatoms"            unit="mmolN/m2/d"  /> 
    283        <field id= "GMEZMI"     long_name="Mesozoo grazing on microzoo"               unit="mmolN/m2/d"  /> 
    284        <field id= "GMED"       long_name="Mesozoo grazing on detritus"               unit="mmolN/m2/d"  /> 
    285        <field id= "MZME"       long_name="Mesozoo non-grazing losses"                unit="mmolN/m2/d"  /> 
    286        <field id= "DEXP"       long_name="Detritus export"                           unit="mmolN/m2/d"  /> 
    287        <field id= "DETN"       long_name="Slow detritus creation"                    unit="mmolN/m2/d"  /> 
     305       <field id= "INVTN"      long_name="Column N inventory"                        unit="mmol-N/m2"    /> 
     306       <field id= "INVTSI"     long_name="Column Si inventory"                       unit="mmol-Si/m2"   /> 
     307       <field id= "INVTFE"     long_name="Column Fe inventory"                       unit="mmol-Fe/m2"   /> 
     308       <field id= "PRN"        long_name="Non-diatom primary production"             unit="mmol-N/m2/d"  /> 
     309       <field id= "MPN"        long_name="Non-diatom non-grazing losses"             unit="mmol-N/m2/d"  /> 
     310       <field id= "PRD"        long_name="Diatom primary production"                 unit="mmol-N/m2/d"  /> 
     311       <field id= "MPD"        long_name="Diatom non-grazing losses"                 unit="mmol-N/m2/d"  /> 
     312       <field id= "DSED"       long_name="Gravitational sinking of Detritus"         unit="mmol-N/m2/d"  /> 
     313       <field id= "OPAL"       long_name="Diatom biogenic opal production"           unit="mmol-Si/m2/d" /> 
     314       <field id= "OPALDISS"   long_name="Diatom biogenic opal dissolution"          unit="mmol-Si/m2/d" /> 
     315       <field id= "GMIPn"      long_name="Microzoo grazing on non-diatoms"           unit="mmol-N/m2/d"  /> 
     316       <field id= "GMID"       long_name="Microzoo grazing on detritus"              unit="mmol-N/m2/d"  /> 
     317       <field id= "MZMI"       long_name="Microzoo non-grazing losses"               unit="mmol-N/m2/d"  /> 
     318       <field id= "GMEPN"      long_name="Mesozoo grazing on non-diatoms"            unit="mmol-N/m2/d"  /> 
     319       <field id= "GMEPD"      long_name="Mesozoo grazing on non-diatoms"            unit="mmol-N/m2/d"  /> 
     320       <field id= "GMEZMI"     long_name="Mesozoo grazing on microzoo"               unit="mmol-N/m2/d"  /> 
     321       <field id= "GMED"       long_name="Mesozoo grazing on detritus"               unit="mmol-N/m2/d"  /> 
     322       <field id= "MZME"       long_name="Mesozoo non-grazing losses"                unit="mmol-N/m2/d"  /> 
     323       <field id= "DEXP"       long_name="Detritus export"                           unit="mmol-N/m2/d"  /> 
     324       <field id= "DETN"       long_name="Slow detritus creation"                    unit="mmol-N/m2/d"  /> 
    288325       <field id= "MDET"       long_name="Detritus non-grazing losses"               unit="MmolN/m2/d"  /> 
    289        <field id= "AEOLIAN"    long_name="Aeolian deposition of iron"                unit="mmolFe/m2/d" /> 
    290        <field id= "BENTHIC"    long_name="Benthic supply of iron"                    unit="mmolFe/m2/d" /> 
    291        <field id= "SCAVENGE"   long_name="Scavenged iron"                            unit="mmolFe/m2/d" /> 
     326       <field id= "AEOLIAN"    long_name="Aeolian deposition of iron"                unit="mmol-Fe/m2/d" /> 
     327       <field id= "BENTHIC"    long_name="Benthic supply of iron"                    unit="mmol-Fe/m2/d" /> 
     328       <field id= "SCAVENGE"   long_name="Scavenged iron"                            unit="mmol-Fe/m2/d" /> 
    292329       <field id= "PN_JLIM"    long_name="Non-diatom light limitation"               unit="-"           /> 
    293330       <field id= "PN_NLIM"    long_name="Non-diatom N limitation"                   unit="-"           /> 
     
    298335       <field id= "PD_SILIM"   long_name="Diatom Si limitation"                      unit="-"           /> 
    299336       <field id= "PDSILIM2"   long_name="Diatom Si uptake limitation"               unit="-"           /> 
    300        <field id= "SDT__100"   long_name="Slow detrital flux at  100 m"              unit="mmolN/m2/d"  /> 
    301        <field id= "SDT__200"   long_name="Slow detrital flux at  200 m"              unit="mmolN/m2/d"  /> 
    302        <field id= "SDT__500"   long_name="Slow detrital flux at  500 m"              unit="mmolN/m2/d"  /> 
    303        <field id= "SDT_1000"   long_name="Slow detrital flux at 1000 m"              unit="mmolN/m2/d"  /> 
    304        <field id= "TOTREG_N"   long_name="Full column regenerated N"                 unit="mmolN/m2/d"  /> 
    305        <field id= "TOTRG_SI"   long_name="Full column regenerated Si"                unit="mmolSi/m2/d" /> 
    306        <field id= "REG__100"   long_name="Regenerated N to  100 m"                   unit="mmolN/m2/d"  /> 
    307        <field id= "REG__200"   long_name="Regenerated N to  200 m"                   unit="mmolN/m2/d"  /> 
    308        <field id= "REG__500"   long_name="Regenerated N to  500 m"                   unit="mmolN/m2/d"  /> 
    309        <field id= "REG_1000"   long_name="Regenerated N to 1000 m"                   unit="mmolN/m2/d"  /> 
    310        <field id= "FASTN"      long_name="Fast-sinking flux N"                       unit="mmolN/m2/d"  /> 
    311        <field id= "FASTSI"     long_name="Fast-sinking flux Si"                      unit="mmolSi/m2/d" /> 
    312        <field id= "FASTFE"     long_name="Fast-sinking flux Fe"                      unit="mmolFe/m2/d" /> 
    313        <field id= "FASTC"      long_name="Fast-sinking flux C"                       unit="mmolC/m2/d"  /> 
    314        <field id= "FASTCA"     long_name="Fast-sinking flux CaCO3"                   unit="mmolC/m2/d"  /> 
    315        <field id= "FDT__100"   long_name="Fast detrital N flux at  100 m"            unit="mmolN/m2/d"  /> 
    316        <field id= "FDT__200"   long_name="Fast detrital N flux at  200 m"            unit="mmolN/m2/d"  /> 
    317        <field id= "FDT__500"   long_name="Fast detrital N flux at  500 m"            unit="mmolN/m2/d"  /> 
    318        <field id= "FDT_1000"   long_name="Fast detrital N flux at 1000 m"            unit="mmolN/m2/d"  /> 
    319        <field id= "RG__100F"   long_name="Regenerated fast N to  100 m"              unit="mmolN/m2/d"  /> 
    320        <field id= "RG__200F"   long_name="Regenerated fast N to  200 m"              unit="mmolN/m2/d"  /> 
    321        <field id= "RG__500F"   long_name="Regenerated fast N to  500 m"              unit="mmolN/m2/d"  /> 
    322        <field id= "RG_1000F"   long_name="Regenerated fast N to 1000 m"              unit="mmolN/m2/d"  /> 
    323        <field id= "FDS__100"   long_name="Fast detrital Si flux at  100 m"           unit="mmolSi/m2/d" /> 
    324        <field id= "FDS__200"   long_name="Fast detrital Si flux at  200 m"           unit="mmolSi/m2/d" /> 
    325        <field id= "FDS__500"   long_name="Fast detrital Si flux at  500 m"           unit="mmolSi/m2/d" /> 
    326        <field id= "FDS_1000"   long_name="Fast detrital Si flux at 1000 m"           unit="mmolSi/m2/d" /> 
    327        <field id= "RGS_100F"   long_name="Regenerated fast Si to  100 m"             unit="mmolSi/m2/d" /> 
    328        <field id= "RGS_200F"   long_name="Regenerated fast Si to  200 m"             unit="mmolSi/m2/d" /> 
    329        <field id= "RGS_500F"   long_name="Regenerated fast Si to  500 m"             unit="mmolSi/m2/d" /> 
    330        <field id= "RGS1000F"   long_name="Regenerated fast Si to 1000 m"             unit="mmolSi/m2/d" /> 
    331        <field id= "REMINN"     long_name="Fast-sinking remin flux N"                 unit="mmolN/m2/d"  /> 
    332        <field id= "REMINSI"    long_name="Fast-sinking remin flux Si"                unit="mmolSi/m2/d" /> 
    333        <field id= "REMINFE"    long_name="Fast-sinking remin flux Fe"                unit="mmolFe/m2/d" /> 
    334        <field id= "REMINC"     long_name="Fast-sinking remin flux C"                 unit="mmolC/m2/d"  /> 
    335        <field id= "REMINCA"    long_name="Fast-sinking remin flux CaCO3"             unit="mmolC/m2/d"  /> 
    336        <field id= "SEAFLRN"    long_name="Seafloor flux of N"                        unit="mmolN/m2/d"  /> 
    337        <field id= "SEAFLRSI"   long_name="Seafloor flux of Si"                       unit="mmolSi/m2/d" /> 
    338        <field id= "SEAFLRFE"   long_name="Seafloor flux of Fe"                       unit="mmolFe/m2/d" /> 
    339        <field id= "SEAFLRC"    long_name="Seafloor flux of C"                        unit="mmolC/m2/d"  /> 
    340        <field id= "SEAFLRCA"   long_name="Seafloor flux of CaCO3"                    unit="mmolC/m2/d"  /> 
     337       <field id= "SDT__100"   long_name="Slow detrital flux at  100 m"              unit="mmol-N/m2/d"  /> 
     338       <field id= "SDT__200"   long_name="Slow detrital flux at  200 m"              unit="mmol-N/m2/d"  /> 
     339       <field id= "SDT__500"   long_name="Slow detrital flux at  500 m"              unit="mmol-N/m2/d"  /> 
     340       <field id= "SDT_1000"   long_name="Slow detrital flux at 1000 m"              unit="mmol-N/m2/d"  /> 
     341       <field id= "TOTREG_N"   long_name="Full column regenerated N"                 unit="mmol-N/m2/d"  /> 
     342       <field id= "TOTRG_SI"   long_name="Full column regenerated Si"                unit="mmol-Si/m2/d" /> 
     343       <field id= "REG__100"   long_name="Regenerated N to  100 m"                   unit="mmol-N/m2/d"  /> 
     344       <field id= "REG__200"   long_name="Regenerated N to  200 m"                   unit="mmol-N/m2/d"  /> 
     345       <field id= "REG__500"   long_name="Regenerated N to  500 m"                   unit="mmol-N/m2/d"  /> 
     346       <field id= "REG_1000"   long_name="Regenerated N to 1000 m"                   unit="mmol-N/m2/d"  /> 
     347       <field id= "FASTN"      long_name="Fast-sinking flux N"                       unit="mmol-N/m2/d"  /> 
     348       <field id= "FASTSI"     long_name="Fast-sinking flux Si"                      unit="mmol-Si/m2/d" /> 
     349       <field id= "FASTFE"     long_name="Fast-sinking flux Fe"                      unit="mmol-Fe/m2/d" /> 
     350       <field id= "FASTC"      long_name="Fast-sinking flux C"                       unit="mmol-C/m2/d"  /> 
     351       <field id= "FASTCA"     long_name="Fast-sinking flux CaCO3"                   unit="mmol-C/m2/d"  /> 
     352       <field id= "FDT__100"   long_name="Fast detrital N flux at  100 m"            unit="mmol-N/m2/d"  /> 
     353       <field id= "FDT__200"   long_name="Fast detrital N flux at  200 m"            unit="mmol-N/m2/d"  /> 
     354       <field id= "FDT__500"   long_name="Fast detrital N flux at  500 m"            unit="mmol-N/m2/d"  /> 
     355       <field id= "FDT_1000"   long_name="Fast detrital N flux at 1000 m"            unit="mmol-N/m2/d"  /> 
     356       <field id= "RG__100F"   long_name="Regenerated fast N to  100 m"              unit="mmol-N/m2/d"  /> 
     357       <field id= "RG__200F"   long_name="Regenerated fast N to  200 m"              unit="mmol-N/m2/d"  /> 
     358       <field id= "RG__500F"   long_name="Regenerated fast N to  500 m"              unit="mmol-N/m2/d"  /> 
     359       <field id= "RG_1000F"   long_name="Regenerated fast N to 1000 m"              unit="mmol-N/m2/d"  /> 
     360       <field id= "FDS__100"   long_name="Fast detrital Si flux at  100 m"           unit="mmol-Si/m2/d" /> 
     361       <field id= "FDS__200"   long_name="Fast detrital Si flux at  200 m"           unit="mmol-Si/m2/d" /> 
     362       <field id= "FDS__500"   long_name="Fast detrital Si flux at  500 m"           unit="mmol-Si/m2/d" /> 
     363       <field id= "FDS_1000"   long_name="Fast detrital Si flux at 1000 m"           unit="mmol-Si/m2/d" /> 
     364       <field id= "RGS_100F"   long_name="Regenerated fast Si to  100 m"             unit="mmol-Si/m2/d" /> 
     365       <field id= "RGS_200F"   long_name="Regenerated fast Si to  200 m"             unit="mmol-Si/m2/d" /> 
     366       <field id= "RGS_500F"   long_name="Regenerated fast Si to  500 m"             unit="mmol-Si/m2/d" /> 
     367       <field id= "RGS1000F"   long_name="Regenerated fast Si to 1000 m"             unit="mmol-Si/m2/d" /> 
     368       <field id= "REMINN"     long_name="Fast-sinking remin flux N"                 unit="mmol-N/m2/d"  /> 
     369       <field id= "REMINSI"    long_name="Fast-sinking remin flux Si"                unit="mmol-Si/m2/d" /> 
     370       <field id= "REMINFE"    long_name="Fast-sinking remin flux Fe"                unit="mmol-Fe/m2/d" /> 
     371       <field id= "REMINC"     long_name="Fast-sinking remin flux C"                 unit="mmol-C/m2/d"  /> 
     372       <field id= "REMINCA"    long_name="Fast-sinking remin flux CaCO3"             unit="mmol-C/m2/d"  /> 
     373       <field id= "SEAFLRN"    long_name="Seafloor flux of N"                        unit="mmol-N/m2/d"  /> 
     374       <field id= "SEAFLRSI"   long_name="Seafloor flux of Si"                       unit="mmol-Si/m2/d" /> 
     375       <field id= "SEAFLRFE"   long_name="Seafloor flux of Fe"                       unit="mmol-Fe/m2/d" /> 
     376       <field id= "SEAFLRC"    long_name="Seafloor flux of C"                        unit="mmol-C/m2/d"  /> 
     377       <field id= "SEAFLRCA"   long_name="Seafloor flux of CaCO3"                    unit="mmol-C/m2/d"  /> 
    341378       <field id= "MED_QSR"    long_name="Sea surface radiation"                     unit="W/m2"        /> 
    342379       <field id= "MED_XPAR"   long_name="Top level radiation"                       unit="W/m2"        /> 
    343        <field id= "INTFLX_N"   long_name="Integrated N  cycle fluxes"                unit="mmolN/m2/d"  /> 
    344        <field id= "INTFLX_SI"  long_name="Integrated Si cycle fluxes"                unit="mmolSi/m2/d" /> 
    345        <field id= "INTFLX_FE"  long_name="Integrated Fe cycle fluxes"                unit="mmolFe/m2/d" /> 
    346        <field id= "INT_PN"     long_name="Vertically integrated Pn"                  unit="mmolN/m2"    /> 
    347        <field id= "INT_PD"     long_name="Vertically integrated Pd"                  unit="mmolN/m2"    /> 
    348        <field id= "ML_PRN"     long_name="Non-diatom mixed layer PP"                 unit="mmolN/m2/d"  /> 
    349        <field id= "ML_PRD"     long_name="Diatom mixed layer PP"                     unit="mmolN/m2/d"  /> 
     380       <field id= "INTFLX_N"   long_name="Integrated N  cycle fluxes"                unit="mmol-N/m2/d"  /> 
     381       <field id= "INTFLX_SI"  long_name="Integrated Si cycle fluxes"                unit="mmol-Si/m2/d" /> 
     382       <field id= "INTFLX_FE"  long_name="Integrated Fe cycle fluxes"                unit="mmol-Fe/m2/d" /> 
     383       <field id= "INT_PN"     long_name="Vertically integrated Pn"                  unit="mmol-N/m2"    /> 
     384       <field id= "INT_PD"     long_name="Vertically integrated Pd"                  unit="mmol-N/m2"    /> 
     385       <field id= "ML_PRN"     long_name="Non-diatom mixed layer PP"                 unit="mmol-N/m2/d"  /> 
     386       <field id= "ML_PRD"     long_name="Diatom mixed layer PP"                     unit="mmol-N/m2/d"  /> 
    350387       <field id= "OCAL_CCD"   long_name="Calcite CCD depth"                         unit="m"           /> 
    351388       <field id= "OCAL_LVL"   long_name="Calcite CCD level"                         unit="-"           /> 
     
    360397       <field id= "OCN_PH"     long_name="Surface ocean pH"                          unit="-"           /> 
    361398       <field id= "OCN_PCO2"   long_name="Surface ocean pCO2"                        unit="uatm"        /> 
    362        <field id= "OCNH2CO3"   long_name="Surface ocean H2CO3 conc"                  unit="mmolC/m3"    /> 
    363        <field id= "OCN_HCO3"   long_name="Surface ocean HCO3 conc"                   unit="mmolC/m3"    /> 
    364        <field id= "OCN_CO3"    long_name="Surface ocean CO3 conc"                    unit="mmolC/m3"    /> 
    365        <field id= "CO2FLUX"    long_name="Air-sea CO2 flux"                          unit="mmolC/m2/d"  /> 
     399       <field id= "OCNH2CO3"   long_name="Surface ocean H2CO3 conc"                  unit="mmol-C/m3"    /> 
     400       <field id= "OCN_HCO3"   long_name="Surface ocean HCO3 conc"                   unit="mmol-C/m3"    /> 
     401       <field id= "OCN_CO3"    long_name="Surface ocean CO3 conc"                    unit="mmol-C/m3"    /> 
     402       <field id= "CO2FLUX"    long_name="Air-sea CO2 flux"                          unit="mmol-C/m2/d"  /> 
    366403       <field id= "FGCO2"      long_name="Surface Downward CO2 Flux"                 unit="kg-CO2/m2/s" /> 
    367404       <field id= "OM_CAL"     long_name="Omega calcite"                             unit="-"           /> 
     
    371408       <field id= "KW660"      long_name="Piston velocity"                           unit="m/s"         /> 
    372409       <field id= "ATM_PP0"    long_name="Atmospheric pressure"                      unit="atm"         /> 
    373        <field id= "O2FLUX"     long_name="Air-sea O2 flux"                           unit="mmolO2/m2/d" /> 
    374        <field id= "O2SAT"      long_name="Surface ocean O2 saturation"               unit="mmolO2/m3"   /> 
     410       <field id= "O2FLUX"     long_name="Air-sea O2 flux"                           unit="mmol-O2/m2/d" /> 
     411       <field id= "O2SAT"      long_name="Surface ocean O2 saturation"               unit="mmol-O2/m3"   /> 
    375412       <field id= "CAL_CCD"    long_name="Calcite CCD depth"                         unit="m"           /> 
    376413       <field id= "ARG_CCD"    long_name="Aragonite CCD depth"                       unit="m"           /> 
    377414       <field id= "SFR_OCAL"   long_name="Seafloor omega calcite"                    unit="-"           /> 
    378415       <field id= "SFR_OARG"   long_name="Seafloor omega aragonite"                  unit="-"           /> 
    379        <field id= "N_PROD"     long_name="Nitrogen production"                       unit="mmolN/m2/d"  /> 
    380        <field id= "N_CONS"     long_name="Nitrogen consumption"                      unit="mmolN/m2/d"  /> 
    381        <field id= "C_PROD"     long_name="Carbon production"                         unit="mmolC/m2/d"  /> 
    382        <field id= "C_CONS"     long_name="Carbon consumption"                        unit="mmolC/m2/d"  /> 
    383        <field id= "O2_PROD"    long_name="Oxygen production"                         unit="mmolO2/m2/d" /> 
    384        <field id= "O2_CONS"    long_name="Oxygen consumption"                        unit="mmolO2/m2/d" /> 
    385        <field id= "O2_ANOX"    long_name="Unrealised oxygen consumption"             unit="mmolO2/m2/d" /> 
     416       <field id= "N_PROD"     long_name="Nitrogen production"                       unit="mmol-N/m2/d"  /> 
     417       <field id= "N_CONS"     long_name="Nitrogen consumption"                      unit="mmol-N/m2/d"  /> 
     418       <field id= "C_PROD"     long_name="Carbon production"                         unit="mmol-C/m2/d"  /> 
     419       <field id= "C_CONS"     long_name="Carbon consumption"                        unit="mmol-C/m2/d"  /> 
     420       <field id= "O2_PROD"    long_name="Oxygen production"                         unit="mmol-O2/m2/d" /> 
     421       <field id= "O2_CONS"    long_name="Oxygen consumption"                        unit="mmol-O2/m2/d" /> 
     422       <field id= "O2_ANOX"    long_name="Unrealised oxygen consumption"             unit="mmol-O2/m2/d" /> 
    386423       <field id= "RR_0100"    long_name="Rain ratio at  100m"                       unit="molC/molC"   /> 
    387424       <field id= "RR_0500"    long_name="Rain ratio at  500m"                       unit="molC/molC"   /> 
    388425       <field id= "RR_1000"    long_name="Rain ratio at 1000m"                       unit="molC/molC"   /> 
    389        <field id= "IBEN_N"     long_name="Benthic input nitrogen"                    unit="mmolN/m2/d"  /> 
    390        <field id= "IBEN_FE"    long_name="Benthic input iron"                        unit="mmolFe/m2/d" /> 
    391        <field id= "IBEN_C"     long_name="Benthic input carbon"                      unit="mmolC/m2/d"  /> 
    392        <field id= "IBEN_SI"    long_name="Benthic input silicon"                     unit="mmolSi/m2/d" /> 
    393        <field id= "IBEN_CA"    long_name="Benthic input CaCO3"                       unit="mmolC/m2/d"  /> 
    394        <field id= "OBEN_N"     long_name="Benthic output nitrogen"                   unit="mmolN/m2/d"  /> 
    395        <field id= "OBEN_FE"    long_name="Benthic output iron"                       unit="mmolFe/m2/d" /> 
    396        <field id= "OBEN_C"     long_name="Benthic output carbon"                     unit="mmolC/m2/d"  /> 
    397        <field id= "OBEN_SI"    long_name="Benthic output silicon"                    unit="mmolSi/m2/d" /> 
    398        <field id= "OBEN_CA"    long_name="Benthic output CaCO3"                      unit="mmolC/m2/d"  /> 
    399        <field id= "BEN_N"      long_name="Benthic nitrogen"                          unit="mmolN/m2"    /> 
    400        <field id= "BEN_FE"     long_name="Benthic iron"                              unit="mmolFe/m2"   /> 
    401        <field id= "BEN_C"      long_name="Benthic carbon"                            unit="mmolC/m2"    /> 
    402        <field id= "BEN_SI"     long_name="Benthic silicon"                           unit="mmolSi/m2"   /> 
    403        <field id= "BEN_CA"     long_name="Benthic CaCO3"                             unit="mmolC/m2"    /> 
     426       <field id= "IBEN_N"     long_name="Benthic input nitrogen"                    unit="mmol-N/m2/d"  /> 
     427       <field id= "IBEN_FE"    long_name="Benthic input iron"                        unit="mmol-Fe/m2/d" /> 
     428       <field id= "IBEN_C"     long_name="Benthic input carbon"                      unit="mmol-C/m2/d"  /> 
     429       <field id= "IBEN_SI"    long_name="Benthic input silicon"                     unit="mmol-Si/m2/d" /> 
     430       <field id= "IBEN_CA"    long_name="Benthic input CaCO3"                       unit="mmol-C/m2/d"  /> 
     431       <field id= "OBEN_N"     long_name="Benthic output nitrogen"                   unit="mmol-N/m2/d"  /> 
     432       <field id= "OBEN_FE"    long_name="Benthic output iron"                       unit="mmol-Fe/m2/d" /> 
     433       <field id= "OBEN_C"     long_name="Benthic output carbon"                     unit="mmol-C/m2/d"  /> 
     434       <field id= "OBEN_SI"    long_name="Benthic output silicon"                    unit="mmol-Si/m2/d" /> 
     435       <field id= "OBEN_CA"    long_name="Benthic output CaCO3"                      unit="mmol-C/m2/d"  /> 
     436       <field id= "BEN_N"      long_name="Benthic nitrogen"                          unit="mmol-N/m2"    /> 
     437       <field id= "BEN_FE"     long_name="Benthic iron"                              unit="mmol-Fe/m2"   /> 
     438       <field id= "BEN_C"      long_name="Benthic carbon"                            unit="mmol-C/m2"    /> 
     439       <field id= "BEN_SI"     long_name="Benthic silicon"                           unit="mmol-Si/m2"   /> 
     440       <field id= "BEN_CA"     long_name="Benthic CaCO3"                             unit="mmol-C/m2"    /> 
    404441       <field id= "RUNOFF"     long_name="River runoff"                              unit="m/d"         /> 
    405        <field id= "RIV_N"      long_name="Riverine input nitrogen"                   unit="mmolN/m2/d"  /> 
    406        <field id= "RIV_SI"     long_name="Riverine input silicon"                    unit="mmolSi/m2/d" /> 
    407        <field id= "RIV_C"      long_name="Riverine input carbon"                     unit="mmolSi/m2/d" /> 
     442       <field id= "RIV_N"      long_name="Riverine input nitrogen"                   unit="mmol-N/m2/d"  /> 
     443       <field id= "RIV_SI"     long_name="Riverine input silicon"                    unit="mmol-Si/m2/d" /> 
     444       <field id= "RIV_C"      long_name="Riverine input carbon"                     unit="mmol-Si/m2/d" /> 
    408445       <field id= "RIV_ALK"    long_name="Riverine input alkalinity"                 unit="meq/m2/d"    /> 
    409        <field id= "DETC"       long_name="Slow detritus C creation"                  unit="mmolC/m2/d"  /> 
    410        <field id= "SDC__100"   long_name="Slow detrital C flux at  100 m"            unit="mmolC/m2/d"  /> 
    411        <field id= "SDC__200"   long_name="Slow detrital C flux at  200 m"            unit="mmolC/m2/d"  /> 
    412        <field id= "SDC__500"   long_name="Slow detrital C flux at  500 m"            unit="mmolC/m2/d"  /> 
    413        <field id= "SDC_1000"   long_name="Slow detrital C flux at 1000 m"            unit="mmolC/m2/d"  /> 
    414        <field id= "INVTC"      long_name="Column C inventory"                        unit="mmolC/m2"    /> 
     446       <field id= "DETC"       long_name="Slow detritus C creation"                  unit="mmol-C/m2/d"  /> 
     447       <field id= "SDC__100"   long_name="Slow detrital C flux at  100 m"            unit="mmol-C/m2/d"  /> 
     448       <field id= "SDC__200"   long_name="Slow detrital C flux at  200 m"            unit="mmol-C/m2/d"  /> 
     449       <field id= "SDC__500"   long_name="Slow detrital C flux at  500 m"            unit="mmol-C/m2/d"  /> 
     450       <field id= "SDC_1000"   long_name="Slow detrital C flux at 1000 m"            unit="mmol-C/m2/d"  /> 
     451       <field id= "INVTC"      long_name="Column C inventory"                        unit="mmol-C/m2"    /> 
    415452       <field id= "INVTALK"    long_name="Column alkalinity inventory"               unit="meq/m2"      /> 
    416        <field id= "INVTO2"     long_name="Column O2 inventory"                       unit="mmolO2/m2"   /> 
    417        <field id= "LYSO_CA"    long_name="Incorrect benthic output CaCO3"            unit="mmolC/m2/d"  /> 
    418        <field id= "COM_RESP"   long_name="Community respiration"                     unit="mmolC/m2/d"  /> 
    419        <field id= "PN_LLOSS"   long_name="Non-diatom linear losses"                  unit="mmolN/m2/d"  /> 
    420        <field id= "PD_LLOSS"   long_name="Diatom linear losses"                      unit="mmolN/m2/d"  /> 
    421        <field id= "ZI_LLOSS"   long_name="Microzooplankton linear losses"            unit="mmolN/m2/d"  /> 
    422        <field id= "ZE_LLOSS"   long_name="Mesozooplankton linear losses"             unit="mmolN/m2/d"  /> 
    423        <field id= "ZI_MES_N"   long_name="Microzoo messy feeding loss to N"          unit="mmolN/m2/d"  /> 
    424        <field id= "ZI_MES_D"   long_name="Microzoo messy feeding loss to D"          unit="mmolN/m2/d"  /> 
    425        <field id= "ZI_MES_C"   long_name="Microzoo messy feeding loss to C"          unit="mmolC/m2/d"  /> 
    426        <field id= "ZI_MESDC"   long_name="Microzoo messy feeding loss to Dc"         unit="mmolC/m2/d"  /> 
    427        <field id= "ZI_EXCR"    long_name="Microzoo excretion"                        unit="mmolN/m2/d"  /> 
    428        <field id= "ZI_RESP"    long_name="Microzoo respiration"                      unit="mmolC/m2/d"  /> 
    429        <field id= "ZI_GROW"    long_name="Microzoo growth"                           unit="mmolN/m2/d"  /> 
    430        <field id= "ZE_MES_N"   long_name="Mesozoo messy feeding loss to N"           unit="mmolN/m2/d"  /> 
    431        <field id= "ZE_MES_D"   long_name="Mesozoo messy feeding loss to D"           unit="mmolN/m2/d"  /> 
    432        <field id= "ZE_MES_C"   long_name="Mesozoo messy feeding loss to C"           unit="mmolC/m2/d"  /> 
    433        <field id= "ZE_MESDC"   long_name="Mesozoo messy feeding loss to Dc"          unit="mmolC/m2/d"  /> 
    434        <field id= "ZE_EXCR"    long_name="Mesozoo excretion"                         unit="mmolN/m2/d"  /> 
    435        <field id= "ZE_RESP"    long_name="Mesozoo respiration"                       unit="mmolC/m2/d"  /> 
    436        <field id= "ZE_GROW"    long_name="Mesozoo growth"                            unit="mmolN/m2/d"  /> 
    437        <field id= "MDETC"      long_name="Detritus non-grazing losses, carbon"       unit="mmolC/m2/d"  /> 
    438        <field id= "GMIDC"      long_name="Microzoo grazing on detritus, carbon"      unit="mmolC/m2/d"  /> 
    439        <field id= "GMEDC"      long_name="Mesozoo  grazing on detritus, carbon"      unit="mmolC/m2/d"  /> 
    440        <field id= "INT_ZMI"    long_name="Vertically integrated Zmi"                 unit="mmolN/m2"    /> 
    441        <field id= "INT_ZME"    long_name="Vertically integrated Zme"                 unit="mmolN/m2"    /> 
    442        <field id= "INT_DET"    long_name="Vertically integrated Det"                 unit="mmolN/m2"    /> 
    443        <field id= "INT_DTC"    long_name="Vertically integrated Dtc"                 unit="mmolC/m2"    /> 
     453       <field id= "INVTO2"     long_name="Column O2 inventory"                       unit="mmol-O2/m2"   /> 
     454       <field id= "LYSO_CA"    long_name="Incorrect benthic output CaCO3"            unit="mmol-C/m2/d"  /> 
     455       <field id= "COM_RESP"   long_name="Community respiration"                     unit="mmol-C/m2/d"  /> 
     456       <field id= "PN_LLOSS"   long_name="Non-diatom linear losses"                  unit="mmol-N/m2/d"  /> 
     457       <field id= "PD_LLOSS"   long_name="Diatom linear losses"                      unit="mmol-N/m2/d"  /> 
     458       <field id= "ZI_LLOSS"   long_name="Microzooplankton linear losses"            unit="mmol-N/m2/d"  /> 
     459       <field id= "ZE_LLOSS"   long_name="Mesozooplankton linear losses"             unit="mmol-N/m2/d"  /> 
     460       <field id= "ZI_MES_N"   long_name="Microzoo messy feeding loss to N"          unit="mmol-N/m2/d"  /> 
     461       <field id= "ZI_MES_D"   long_name="Microzoo messy feeding loss to D"          unit="mmol-N/m2/d"  /> 
     462       <field id= "ZI_MES_C"   long_name="Microzoo messy feeding loss to C"          unit="mmol-C/m2/d"  /> 
     463       <field id= "ZI_MESDC"   long_name="Microzoo messy feeding loss to Dc"         unit="mmol-C/m2/d"  /> 
     464       <field id= "ZI_EXCR"    long_name="Microzoo excretion"                        unit="mmol-N/m2/d"  /> 
     465       <field id= "ZI_RESP"    long_name="Microzoo respiration"                      unit="mmol-C/m2/d"  /> 
     466       <field id= "ZI_GROW"    long_name="Microzoo growth"                           unit="mmol-N/m2/d"  /> 
     467       <field id= "ZE_MES_N"   long_name="Mesozoo messy feeding loss to N"           unit="mmol-N/m2/d"  /> 
     468       <field id= "ZE_MES_D"   long_name="Mesozoo messy feeding loss to D"           unit="mmol-N/m2/d"  /> 
     469       <field id= "ZE_MES_C"   long_name="Mesozoo messy feeding loss to C"           unit="mmol-C/m2/d"  /> 
     470       <field id= "ZE_MESDC"   long_name="Mesozoo messy feeding loss to Dc"          unit="mmol-C/m2/d"  /> 
     471       <field id= "ZE_EXCR"    long_name="Mesozoo excretion"                         unit="mmol-N/m2/d"  /> 
     472       <field id= "ZE_RESP"    long_name="Mesozoo respiration"                       unit="mmol-C/m2/d"  /> 
     473       <field id= "ZE_GROW"    long_name="Mesozoo growth"                            unit="mmol-N/m2/d"  /> 
     474       <field id= "MDETC"      long_name="Detritus non-grazing losses, carbon"       unit="mmol-C/m2/d"  /> 
     475       <field id= "GMIDC"      long_name="Microzoo grazing on detritus, carbon"      unit="mmol-C/m2/d"  /> 
     476       <field id= "GMEDC"      long_name="Mesozoo  grazing on detritus, carbon"      unit="mmol-C/m2/d"  /> 
     477       <field id= "INT_ZMI"    long_name="Vertically integrated Zmi"                 unit="mmol-N/m2"    /> 
     478       <field id= "INT_ZME"    long_name="Vertically integrated Zme"                 unit="mmol-N/m2"    /> 
     479       <field id= "INT_DET"    long_name="Vertically integrated Det"                 unit="mmol-N/m2"    /> 
     480       <field id= "INT_DTC"    long_name="Vertically integrated Dtc"                 unit="mmol-C/m2"    /> 
    444481       <field id= "DMS_SURF"   long_name="DMS Surface Concentration"                 unit="nmol/L"      /> 
    445482       <field id= "DMS_ANDR"   long_name="DMS Surface Concentration, Anderson"       unit="nmol/L"      /> 
     
    448485       <field id= "DMS_HALL"   long_name="DMS Surface Concentration, Halloran"       unit="nmol/L"      /> 
    449486       <field id= "DMS_ANDM"   long_name="DMS Surface Concentration, Anderson modif" unit="nmol/L"      /> 
     487       <field id= "CHL_MLD"    long_name="MLD averaged Chlorophyll"                  unit="mg-Chl/m3"   /> 
     488       <field id= "CHL_CPL"    long_name="Scaled Surf or MLD Chlorophyll to UM"      unit="kg Chl/m3"   /> 
    450489       <field id= "ATM_XCO2"   long_name="Atmospheric xCO2"                          unit="ppm"         /> 
    451490       <field id= "OCN_FCO2"   long_name="Surface ocean fCO2"                        unit="uatm"        /> 
     
    460499 
    461500       <!-- AXY (08/11/16): add new 2D CMIP6 diagnostics --> 
    462        <field id= "epC100"     long_name="Downward Flux of Particle Organic Carbon"  unit="mmolC/m2/d"  /> 
    463        <field id= "epCALC100"  long_name="Downward Flux of Calcite"                  unit="mmolC/m2/d"  /> 
    464        <field id= "epN100"     long_name="Downward Flux of Particulate Nitrogen"     unit="mmolN/m2/d"  /> 
    465        <field id= "epSI100"    long_name="Downward Flux of Particulate Silica"       unit="mmolSi/m2/d" /> 
    466        <field id= "INTDISSIC"  long_name="Dissolved Inorganic Carbon Content"        unit="mmolC/m2"    /> 
    467        <field id= "INTDISSIN"  long_name="Dissolved Inorganic Nitrogen Content"      unit="mmolN/m2"    /> 
    468        <field id= "INTDISSISI" long_name="Dissolved Inorganic Silicon Content"       unit="mmolSi/m2"   /> 
     501       <field id= "epC100"     long_name="Downward Flux of Particle Organic Carbon"  unit="mmol-C/m2/d"  /> 
     502       <field id= "epCALC100"  long_name="Downward Flux of Calcite"                  unit="mmol-C/m2/d"  /> 
     503       <field id= "epN100"     long_name="Downward Flux of Particulate Nitrogen"     unit="mmol-N/m2/d"  /> 
     504       <field id= "epSI100"    long_name="Downward Flux of Particulate Silica"       unit="mmol-Si/m2/d" /> 
     505       <field id= "INTDISSIC"  long_name="Dissolved Inorganic Carbon Content"        unit="mmol-C/m2"    /> 
     506       <field id= "INTDISSIN"  long_name="Dissolved Inorganic Nitrogen Content"      unit="mmol-N/m2"    /> 
     507       <field id= "INTDISSISI" long_name="Dissolved Inorganic Silicon Content"       unit="mmol-Si/m2"   /> 
    469508       <field id= "INTTALK"    long_name="Dissolved Alkalinity Content"              unit="meq/m2"      /> 
    470        <field id= "O2min"      long_name="Oxygen Minimum Concentration"              unit="mmolO2/m3"   /> 
     509       <field id= "O2min"      long_name="Oxygen Minimum Concentration"              unit="mmol-O2/m3"   /> 
    471510       <field id= "ZO2min"     long_name="Depth of Oxygen Minimum Concentration"     unit="m"           /> 
    472511       <field id= "FBDDTALK"   long_name="Int. change of Alkalinity due to Biology"  unit="meq/m2/d"    /> 
    473        <field id= "FBDDTDIC"   long_name="Int. change of DI Carbon due to Biology"   unit="mmolC/m2/d"  /> 
    474        <field id= "FBDDTDIFE"  long_name="Int. change of DI Iron due to Biology"     unit="mmolFe/m2/d" /> 
    475        <field id= "FBDDTDIN"   long_name="Int. change of DI Nitrogen due to Biology" unit="mmolN/m2/d"  /> 
    476        <field id= "FBDDTDISI"  long_name="Int. change of DI Silicon due to Biology"  unit="mmolSi/m2/d" /> 
     512       <field id= "FBDDTDIC"   long_name="Int. change of DI Carbon due to Biology"   unit="mmol-C/m2/d"  /> 
     513       <field id= "FBDDTDIFE"  long_name="Int. change of DI Iron due to Biology"     unit="mmol-Fe/m2/d" /> 
     514       <field id= "FBDDTDIN"   long_name="Int. change of DI Nitrogen due to Biology" unit="mmol-N/m2/d"  /> 
     515       <field id= "FBDDTDISI"  long_name="Int. change of DI Silicon due to Biology"  unit="mmol-Si/m2/d" /> 
    477516        
    478517 
    479518       <!-- MEDUSA 3D diagnostics --> 
    480        <field id= "TPP3"       long_name="Total primary production 3D"               unit="mmolN/m3/d"    grid_ref="grid_T_3D"  /> 
    481        <field id= "DETFLUX3"   long_name="Total detrital flux 3D"                    unit="mmolN/m3/d"    grid_ref="grid_T_3D"  /> 
    482        <field id= "REMIN3N"    long_name="Total remin flux N 3D"                     unit="mmolN/m3/d"    grid_ref="grid_T_3D"  /> 
     519       <field id= "TPP3"       long_name="Total primary production 3D"               unit="mmol-N/m3/d"    grid_ref="grid_T_3D"  /> 
     520       <field id= "DETFLUX3"   long_name="Total detrital flux 3D"                    unit="mmol-N/m3/d"    grid_ref="grid_T_3D"  /> 
     521       <field id= "REMIN3N"    long_name="Total remin flux N 3D"                     unit="mmol-N/m3/d"    grid_ref="grid_T_3D"  /> 
    483522       <field id= "PH3"        long_name="Ocean pH 3D"                               unit="-"             grid_ref="grid_T_3D"  /> 
    484523       <field id= "OM_CAL3"    long_name="Omega calcite 3D"                          unit="-"             grid_ref="grid_T_3D"  /> 
    485524 
    486525       <!-- AXY (08/11/16): add new 3D CMIP6 diagnostics --> 
    487        <field id= "TPPD3"      long_name="Diatom primary production 3D"              unit="mmolN/m3/d"    grid_ref="grid_T_3D"  /> 
     526       <field id= "TPPD3"      long_name="Diatom primary production 3D"              unit="mmol-N/m3/d"    grid_ref="grid_T_3D"  /> 
    488527       <field id= "BDDTALK3"   long_name="Change of Alkalinity due to Biology"       unit="meq/m3/d"      grid_ref="grid_T_3D"  /> 
    489        <field id= "BDDTDIC3"   long_name="Change of DI Carbon due to Biology"        unit="mmolC/m3/d"    grid_ref="grid_T_3D"  /> 
    490        <field id= "BDDTDIFE3"  long_name="Change of DI Iron due to Biology"          unit="mmolFe/m3/d"   grid_ref="grid_T_3D"  /> 
    491        <field id= "BDDTDIN3"   long_name="Change of DI Nitrogen due to Biology"      unit="mmolN/m3/d"    grid_ref="grid_T_3D"  /> 
    492        <field id= "BDDTDISI3"  long_name="Change of DI Silicon due to Biology"       unit="mmolSi/m3/d"   grid_ref="grid_T_3D"  /> 
    493        <field id= "FD_NIT3"    long_name="Fast sinking detrital nitrogen"            unit="mmolN/m2/d"    grid_ref="grid_T_3D"  /> 
    494        <field id= "FD_SIL3"    long_name="Fast sinking detrital silicon"             unit="mmolSi/m2/d"   grid_ref="grid_T_3D"  /> 
    495        <field id= "FD_CAR3"    long_name="Fast sinking detrital carbon"              unit="mmolC/m2/d"    grid_ref="grid_T_3D"  /> 
    496        <field id= "FD_CAL3"    long_name="Fast sinking detrital calcium carbonate"   unit="mmolC/m2/d"    grid_ref="grid_T_3D"  /> 
    497        <field id= "CO33"       long_name="Carbonate ion concentration"               unit="mmolC/m3"      grid_ref="grid_T_3D"  /> 
    498        <field id= "CO3SATARAG3" long_name="Carbonate aragonite saturation conc"      unit="mmolC/m3"      grid_ref="grid_T_3D"  /> 
    499        <field id= "CO3SATCALC3" long_name="Carbonate calcite saturation conc"        unit="mmolC/m3"      grid_ref="grid_T_3D"  /> 
    500        <field id= "DCALC3"     long_name="Calcite dissolution"                       unit="mmolC/m3/d"    grid_ref="grid_T_3D"  /> 
    501        <field id= "EXPC3"      long_name="Downward Flux of Particulate Org Carbon"   unit="mmolC/m3/d"    grid_ref="grid_T_3D"  /> 
    502        <field id= "EXPN3"      long_name="Downward Flux of Particulate Org Nitrogen" unit="mmolN/m3/d"    grid_ref="grid_T_3D"  /> 
    503        <field id= "FEDISS3"    long_name="Particle Source of Dissolved Iron"         unit="mmolFe/m3/d"   grid_ref="grid_T_3D"  /> 
    504        <field id= "FESCAV3"    long_name="Nonbiogenic Iron Scavenging"               unit="mmolFe/m3/d"   grid_ref="grid_T_3D"  /> 
    505        <field id= "MIGRAZP3"   long_name="Microzooplankton grazing on phytoplankton" unit="mmolC/m3/d"    grid_ref="grid_T_3D"  /> 
    506        <field id= "MIGRAZD3"   long_name="Microzooplankton grazing on detritus"      unit="mmolC/m3/d"    grid_ref="grid_T_3D"  /> 
    507        <field id= "MEGRAZP3"   long_name="Mesozooplankton grazing on phytoplankton"  unit="mmolC/m3/d"    grid_ref="grid_T_3D"  /> 
    508        <field id= "MEGRAZD3"   long_name="Mesozooplankton grazing on detritus"       unit="mmolC/m3/d"    grid_ref="grid_T_3D"  /> 
    509        <field id= "MEGRAZZ3"   long_name="Mesozooplankton grazing on microzoop"      unit="mmolC/m3/d"    grid_ref="grid_T_3D"  /> 
    510        <field id= "O2SAT3"     long_name="Dissolved Oxygen Saturation Concentration" unit="mmolO2/m3"     grid_ref="grid_T_3D"  /> 
    511        <field id= "PBSI3"      long_name="Biogenic Silica Production"                unit="mmolSi/m3/d"   grid_ref="grid_T_3D"  /> 
    512        <field id= "PCAL3"      long_name="Biogenic Calcite Production"               unit="mmolC/m3/d"    grid_ref="grid_T_3D"  /> 
    513        <field id= "REMOC3"     long_name="Remineralization of Organic Carbon"        unit="mmolC/m3/d"    grid_ref="grid_T_3D"  /> 
     528       <field id= "BDDTDIC3"   long_name="Change of DI Carbon due to Biology"        unit="mmol-C/m3/d"    grid_ref="grid_T_3D"  /> 
     529       <field id= "BDDTDIFE3"  long_name="Change of DI Iron due to Biology"          unit="mmol-Fe/m3/d"   grid_ref="grid_T_3D"  /> 
     530       <field id= "BDDTDIN3"   long_name="Change of DI Nitrogen due to Biology"      unit="mmol-N/m3/d"    grid_ref="grid_T_3D"  /> 
     531       <field id= "BDDTDISI3"  long_name="Change of DI Silicon due to Biology"       unit="mmol-Si/m3/d"   grid_ref="grid_T_3D"  /> 
     532       <field id= "FD_NIT3"    long_name="Fast sinking detrital nitrogen"            unit="mmol-N/m2/d"    grid_ref="grid_T_3D"  /> 
     533       <field id= "FD_SIL3"    long_name="Fast sinking detrital silicon"             unit="mmol-Si/m2/d"   grid_ref="grid_T_3D"  /> 
     534       <field id= "FD_CAR3"    long_name="Fast sinking detrital carbon"              unit="mmol-C/m2/d"    grid_ref="grid_T_3D"  /> 
     535       <field id= "FD_CAL3"    long_name="Fast sinking detrital calcium carbonate"   unit="mmol-C/m2/d"    grid_ref="grid_T_3D"  /> 
     536       <field id= "CO33"       long_name="Carbonate ion concentration"               unit="mmol-C/m3"      grid_ref="grid_T_3D"  /> 
     537       <field id= "CO3SATARAG3" long_name="Carbonate aragonite saturation conc"      unit="mmol-C/m3"      grid_ref="grid_T_3D"  /> 
     538       <field id= "CO3SATCALC3" long_name="Carbonate calcite saturation conc"        unit="mmol-C/m3"      grid_ref="grid_T_3D"  /> 
     539       <field id= "DCALC3"     long_name="Calcite dissolution"                       unit="mmol-C/m3/d"    grid_ref="grid_T_3D"  /> 
     540       <field id= "EXPC3"      long_name="Downward Flux of Particulate Org Carbon"   unit="mmol-C/m3/d"    grid_ref="grid_T_3D"  /> 
     541       <field id= "EXPN3"      long_name="Downward Flux of Particulate Org Nitrogen" unit="mmol-N/m3/d"    grid_ref="grid_T_3D"  /> 
     542       <field id= "FEDISS3"    long_name="Particle Source of Dissolved Iron"         unit="mmol-Fe/m3/d"   grid_ref="grid_T_3D"  /> 
     543       <field id= "FESCAV3"    long_name="Nonbiogenic Iron Scavenging"               unit="mmol-Fe/m3/d"   grid_ref="grid_T_3D"  /> 
     544       <field id= "MIGRAZP3"   long_name="Microzooplankton grazing on phytoplankton" unit="mmol-C/m3/d"    grid_ref="grid_T_3D"  /> 
     545       <field id= "MIGRAZD3"   long_name="Microzooplankton grazing on detritus"      unit="mmol-C/m3/d"    grid_ref="grid_T_3D"  /> 
     546       <field id= "MEGRAZP3"   long_name="Mesozooplankton grazing on phytoplankton"  unit="mmol-C/m3/d"    grid_ref="grid_T_3D"  /> 
     547       <field id= "MEGRAZD3"   long_name="Mesozooplankton grazing on detritus"       unit="mmol-C/m3/d"    grid_ref="grid_T_3D"  /> 
     548       <field id= "MEGRAZZ3"   long_name="Mesozooplankton grazing on microzoop"      unit="mmol-C/m3/d"    grid_ref="grid_T_3D"  /> 
     549       <field id= "O2SAT3"     long_name="Dissolved Oxygen Saturation Concentration" unit="mmol-O2/m3"     grid_ref="grid_T_3D"  /> 
     550       <field id= "PBSI3"      long_name="Biogenic Silica Production"                unit="mmol-Si/m3/d"   grid_ref="grid_T_3D"  /> 
     551       <field id= "PCAL3"      long_name="Biogenic Calcite Production"               unit="mmol-C/m3/d"    grid_ref="grid_T_3D"  /> 
     552       <field id= "REMOC3"     long_name="Remineralization of Organic Carbon"        unit="mmol-C/m3/d"    grid_ref="grid_T_3D"  /> 
    514553       <field id= "PNLIMJ3"    long_name="Irradiance limitation of non-diatoms"      unit="-"             grid_ref="grid_T_3D"  /> 
    515554       <field id= "PNLIMN3"    long_name="Nitrogen limitation of non-diatoms"        unit="-"             grid_ref="grid_T_3D"  /> 
     
    521560 
    522561     </field_group> 
     562 
     563     <!--  Odd time-step trends (ATF) --> 
     564     <field_group id="ptrd_T_odd" grid_ref="grid_T_3D">  <!-- key_trdtrc || key_trdmlx_trc --> 
     565      <!-- MEDUSA : variables available with key_medusa --> 
     566       <!-- trd case: jptra_atf --> 
     567       <field id="ATF_CHN"      long_name="Non-diatom Chl-a Asselin Filter Trend"             unit="mg-Chl/m3/s" /> 
     568       <field id="ATF_CHN_E3T"  long_name="ATF_CHN * E3T"                                     unit="mg-Chl/m2/s" > ATF_CHN * e3t </field> 
     569       <field id="ATF_CHN_INV"  field_ref="ATF_CHN_E3T" long_name="ATF_CHN Inventory"         unit="mg-Chl/m2/s" grid_ref="vert_sum" /> 
     570       <field id="ATF_CHD"      long_name="Diatom Chl-a Asselin Filter Trend"                 unit="mg-Chl/m3/s" /> 
     571       <field id="ATF_CHD_E3T"  long_name="ATF_CHD * E3T"                                     unit="mg-Chl/m2/s" > ATF_CHD * e3t </field> 
     572       <field id="ATF_CHD_INV"  field_ref="ATF_CHD_E3T" long_name="ATF_CHD Inventory"         unit="mg-Chl/m2/s" grid_ref="vert_sum" /> 
     573       <field id="ATF_PHN"      long_name="non-diatom phytoplankton Asselin Filter Trend"     unit="mmol-N/m3/s" /> 
     574       <field id="ATF_PHN_E3T"  long_name="ATF_PHN * E3T"                                     unit="mmol-N/m2/s" > ATF_PHN * e3t </field> 
     575       <field id="ATF_PHN_INV"  field_ref="ATF_PHN_E3T" long_name="ATF_PHN Inventory"         unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     576       <field id="ATF_PHD"      long_name="diatom     phytoplankton Asselin Filter Trend"     unit="mmol-N/m3/s" /> 
     577       <field id="ATF_PHD_E3T"  long_name="ATF_PHD * E3T"                                     unit="mmol-N/m2/s" > ATF_PHD * e3t </field> 
     578       <field id="ATF_PHD_INV"  field_ref="ATF_PHD_E3T" long_name="ATF_PHD Inventory"         unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     579       <field id="ATF_ZMI"      long_name="micro zooplankton Asselin Filter Trend"            unit="mmol-N/m3/s" /> 
     580       <field id="ATF_ZMI_E3T"  long_name="ATF_ZMI * E3T"                                     unit="mmol-N/m2/s" > ATF_ZMI * e3t </field> 
     581       <field id="ATF_ZMI_INV"  field_ref="ATF_ZMI_E3T" long_name="ATF_ZMI Inventory"         unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     582       <field id="ATF_ZME"      long_name="meso  zooplankton Asselin Filter Trend"            unit="mmol-N/m3/s" /> 
     583       <field id="ATF_ZME_E3T"  long_name="ATF_ZME * E3T"                                     unit="mmol-N/m2/s" > ATF_ZME * e3t </field> 
     584       <field id="ATF_ZME_INV"  field_ref="ATF_ZME_E3T" long_name="ATF_ZME Inventory"         unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     585       <field id="ATF_DIN"      long_name="dissolved inorganic nitrogen Asselin Filter Trend" unit="mmol-N/m3/s" /> 
     586       <field id="ATF_DIN_E3T"  long_name="ATF_DIN * E3T"                                     unit="mmol-N/m2/s" > ATF_DIN * e3t </field> 
     587       <field id="ATF_DIN_INV"  field_ref="ATF_DIN_E3T" long_name="ATF_DIN Inventory"         unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     588       <field id="ATF_SIL"      long_name="dissolved silicic acid Asselin Filter Trend"       unit="mmol-Si/m3/s" /> 
     589       <field id="ATF_SIL_E3T"  long_name="ATF_SIL * E3T"                                     unit="mmol-Si/m2/s" > ATF_SIL * e3t </field> 
     590       <field id="ATF_SIL_INV"  field_ref="ATF_SIL_E3T" long_name="ATF_SIL Inventory"         unit="mmol-Si/m2/s" grid_ref="vert_sum" /> 
     591       <field id="ATF_FER"      long_name="dissolved iron Asselin Filter Trend"               unit="mmol-Fe/m3/s" /> 
     592       <field id="ATF_FER_E3T"  long_name="ATF_FER * E3T"                                     unit="mmol-Fe/m2/s" > ATF_FER * e3t </field> 
     593       <field id="ATF_FER_INV"  field_ref="ATF_FER_E3T" long_name="ATF_FER Inventory"         unit="mmol-Fe/m2/s" grid_ref="vert_sum" /> 
     594       <field id="ATF_DET"      long_name="detrital nitrogen Asselin Filter Trend"            unit="mmol-N/m3/s" /> 
     595       <field id="ATF_DET_E3T"  long_name="ATF_DET * E3T"                                     unit="mmol-N/m2/s" > ATF_DET * e3t </field> 
     596       <field id="ATF_DET_INV"  field_ref="ATF_DET_E3T" long_name="ATF_DET Inventory"         unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     597       <field id="ATF_PDS"      long_name="Diatoms biogenic silicon Asselin Filter Trend"     unit="mmol-Si/m3/s" /> 
     598       <field id="ATF_PDS_E3T"  long_name="ATF_PDS * E3T"                                     unit="mmol-Si/m2/s" > ATF_PDS * e3t </field> 
     599       <field id="ATF_PDS_INV"  field_ref="ATF_PDS_E3T" long_name="ATF_PDS Inventory"         unit="mmol-Si/m2/s" grid_ref="vert_sum" /> 
     600       <field id="ATF_DTC"      long_name="detrital carbon Asselin Filter Trend"              unit="mmol-C/m3/s" /> 
     601       <field id="ATF_DTC_E3T"  long_name="ATF_DTC * E3T"                                     unit="mmol-C/m2/s" > ATF_DTC * e3t </field> 
     602       <field id="ATF_DTC_INV"  field_ref="ATF_DTC_E3T" long_name="ATF_DTC Inventory"         unit="mmol-C/m2/s" grid_ref="vert_sum" /> 
     603       <field id="ATF_DiC"      long_name="dissolved inorganic carbon Asselin Filter Trend"   unit="mmol-C/m3/s" /> 
     604       <field id="ATF_DiC_E3T"  long_name="ATF_DiC * E3T"                                     unit="mmol-C/m2/s" > ATF_DiC * e3t </field> 
     605       <field id="ATF_DiC_INV"  field_ref="ATF_DiC_E3T" long_name="ATF_DiC Inventory"         unit="mmol-C/m2/s" grid_ref="vert_sum" /> 
     606       <field id="ATF_ALK"      long_name="alkalinity Asselin Filter Trend"                   unit="meq/m3/s"    /> 
     607       <field id="ATF_ALK_E3T"  long_name="ATF_ALK * E3T"                                     unit="meq/m2/s"    > ATF_ALK * e3t </field> 
     608       <field id="ATF_ALK_INV"  field_ref="ATF_ALK_E3T" long_name="ATF_ALK Inventory"         unit="meq/m2/s" grid_ref="vert_sum" /> 
     609       <field id="ATF_OXY"      long_name="dissolved oxygen Asselin Filter Trend"             unit="mmol-O2/m3/s" /> 
     610       <field id="ATF_OXY_E3T"  long_name="ATF_OXY * E3T"                                     unit="mmol-O2/m2/s" > ATF_OXY * e3t </field> 
     611       <field id="ATF_OXY_INV"  field_ref="ATF_OXY_E3T" long_name="ATF_OXY Inventory"         unit="mmol-O2/m2/s" grid_ref="vert_sum" /> 
     612 
     613      <!-- Ideal traceurs : variables available with key_idtra --> 
     614       <field id="ATF_IDTRA"      long_name="Ideal traceur Asselin Filter Trend"            unit="mmol/m3/s"    /> 
     615       <field id="ATF_IDTRA_E3T"   long_name="ATF_IDTRA * E3T"                              unit="mmol/m2/s" > ATF_IDTRA * e3t </field> 
     616       <field id="ATF_IDTRA_INV"  field_ref="ATF_IDTRA_E3T" long_name="ATF_IDTRA Inventory" unit="mmol-O2/m2/s" grid_ref="vert_sum" /> 
     617 
     618       <!-- CFC11 : variables available with key_cfc --> 
     619       <field id="ATF_CFC11"       long_name="CFC11 Asselin Filter Trend"                   unit="umol/m3/s" /> 
     620       <field id="ATF_CFC11_E3T"   long_name="ATF_CFC11 * E3T"                              unit="umol/m2/s" > ATF_CFC11 * e3t </field> 
     621       <field id="ATF_CFC11_INV"  field_ref="ATF_CFC11_E3T" long_name="ATF_CFC11 Inventory" unit="mmol-O2/m2/s" grid_ref="vert_sum" /> 
     622 
     623       <!-- CFC12 : variables available with key_cfc --> 
     624       <field id="ATF_CFC12"       long_name="CFC12 Asselin Filter Trend"                    unit="umol/m3/s" /> 
     625       <field id="ATF_CFC12_E3T"   long_name="ATF_CFC12 * E3T"                               unit="umol/m2/s" > ATF_CFC12 * e3t </field> 
     626       <field id="ATF_CFC12_INV"   field_ref="ATF_CFC12_E3T" long_name="ATF_CFC12 Inventory" unit="umol/m2/s" grid_ref="vert_sum" /> 
     627 
     628       <!-- SF6 : variables available with key_cfc --> 
     629       <field id="ATF_SF6"         long_name="SF6 Asselin Filter Trend"                   unit="umol/m3/s" /> 
     630       <field id="ATF_SF6_E3T"     long_name="ATF_SF6 * E3T"                              unit="umol/m2/s" > ATF_SF6 * e3t </field> 
     631       <field id="ATF_SF6_INV"     field_ref="ATF_SF6_E3T" long_name="ATF_SF6 Inventory"  unit="umol/m2/s" grid_ref="vert_sum" /> 
     632 
     633       <!-- Bomb C14 : variables available with key_c14b --> 
     634       <field id="ATF_C14B"        long_name="Bomb C14 Asselin Filter Trend"               unit="1/m3/s"    /> 
     635       <field id="ATF_C14B_E3T"    long_name="ATF_C14B * E3T"                              unit="1/m2/s" > ATF_C14B * e3t </field> 
     636       <field id="ATF_C14B_INV"    field_ref="ATF_C14B_E3T" long_name="ATF_C14B Inventory" unit="1/m2/s" grid_ref="vert_sum" /> 
     637 
     638       <!-- AGE : variables available with key_age --> 
     639       <field id="ATF_Age"        long_name="Sea Water Age Asselin Filter Trend"           unit="yr/s"         /> 
     640       <field id="ATF_Age_E3T"    long_name="ATF_Age * E3T"                                unit="yr m/s" > ATF_Age * e3t </field> 
     641       <field id="ATF_Age_INV"    field_ref="ATF_Age_E3T" long_name="ATF_Age Inventory"    unit="yr m/s" grid_ref="vert_sum" /> 
     642     </field_group> 
     643     
     644     <!--  Even time-step trends (All but ATF and TOT) --> 
     645     <field_group id="ptrd_T_even" grid_ref="grid_T_3D">  <!-- key_trdtrc || key_trdmlx_trc --> 
     646      <!-- MEDUSA : variables available with key_medusa --> 
     647       <!-- trd case: jptra_xad --> 
     648       <field id="XAD_CHN"      long_name="Non-diatom Chl-a X-Advection Trend"                unit="mg-Chl/m3/s" /> 
     649       <field id="XAD_CHN_E3T"  long_name="XAD_CHN * E3T"                                     unit="mg-Chl/m2/s" > XAD_CHN * e3t </field> 
     650       <field id="XAD_CHN_INV"  field_ref="XAD_CHN_E3T" long_name="XAD_CHN Inventory"         unit="mg-Chl/m2/s" grid_ref="vert_sum" /> 
     651       <field id="XAD_CHD"      long_name="Diatom Chl-a X-Advection Trend"                    unit="mg-Chl/m3/s" /> 
     652       <field id="XAD_CHD_E3T"  long_name="XAD_CHD * E3T"                                     unit="mg-Chl/m2/s" > XAD_CHD * e3t </field> 
     653       <field id="XAD_CHD_INV"  field_ref="XAD_CHD_E3T" long_name="XAD_CHD Inventory"         unit="mg-Chl/m2/s" grid_ref="vert_sum" /> 
     654       <field id="XAD_PHN"      long_name="non-diatom phytoplankton X-Advection Trend"        unit="mmol-N/m3/s" /> 
     655       <field id="XAD_PHN_E3T"  long_name="XAD_PHN * E3T"                                     unit="mmol-N/m2/s" > XAD_PHN * e3t </field> 
     656       <field id="XAD_PHN_INV"  field_ref="XAD_PHN_E3T" long_name="XAD_PHN Inventory"         unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     657       <field id="XAD_PHD"      long_name="diatom     phytoplankton X-Advection Trend"        unit="mmol-N/m3/s" /> 
     658       <field id="XAD_PHD_E3T"  long_name="XAD_PHD * E3T"                                     unit="mmol-N/m2/s" > XAD_PHD * e3t </field> 
     659       <field id="XAD_PHD_INV"  field_ref="XAD_PHD_E3T" long_name="XAD_PHD Inventory"         unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     660       <field id="XAD_ZMI"      long_name="micro zooplankton X-Advection Trend"               unit="mmol-N/m3/s" /> 
     661       <field id="XAD_ZMI_E3T"  long_name="XAD_ZMI * E3T"                                     unit="mmol-N/m2/s" > XAD_ZMI * e3t </field> 
     662       <field id="XAD_ZMI_INV"  field_ref="XAD_ZMI_E3T" long_name="XAD_ZMI Inventory"         unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     663       <field id="XAD_ZME"      long_name="meso  zooplankton X-Advection Trend"               unit="mmol-N/m3/s" /> 
     664       <field id="XAD_ZME_E3T"  long_name="XAD_ZME * E3T"                                     unit="mmol-N/m2/s" > XAD_ZME * e3t </field> 
     665       <field id="XAD_ZME_INV"  field_ref="XAD_ZME_E3T" long_name="XAD_ZME Inventory"         unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     666       <field id="XAD_DIN"      long_name="dissolved inorganic nitrogen X-Advection Trend"    unit="mmol-N/m3/s" /> 
     667       <field id="XAD_DIN_E3T"  long_name="XAD_DIN * E3T"                                     unit="mmol-N/m2/s" > XAD_DIN * e3t </field> 
     668       <field id="XAD_DIN_INV"  field_ref="XAD_DIN_E3T" long_name="XAD_DIN Inventory"         unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     669       <field id="XAD_SIL"      long_name="dissolved silicic acid X-Advection Trend"          unit="mmol-Si/m3/s" /> 
     670       <field id="XAD_SIL_E3T"  long_name="XAD_SIL * E3T"                                     unit="mmol-Si/m2/s" > XAD_SIL * e3t </field> 
     671       <field id="XAD_SIL_INV"  field_ref="XAD_SIL_E3T" long_name="XAD_SIL Inventory"         unit="mmol-Si/m2/s" grid_ref="vert_sum" /> 
     672       <field id="XAD_FER"      long_name="dissolved iron X-Advection Trend"                  unit="mmol-Fe/m3/s" /> 
     673       <field id="XAD_FER_E3T"  long_name="XAD_FER * E3T"                                     unit="mmol-Fe/m2/s" > XAD_FER * e3t </field> 
     674       <field id="XAD_FER_INV"  field_ref="XAD_FER_E3T" long_name="XAD_FER Inventory"         unit="mmol-Fe/m2/s" grid_ref="vert_sum" /> 
     675       <field id="XAD_DET"      long_name="detrital nitrogen X-Advection Trend"               unit="mmol-N/m3/s" /> 
     676       <field id="XAD_DET_E3T"  long_name="XAD_DET * E3T"                                     unit="mmol-N/m2/s" > XAD_DET * e3t </field> 
     677       <field id="XAD_DET_INV"  field_ref="XAD_DET_E3T" long_name="XAD_DET Inventory"         unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     678       <field id="XAD_PDS"      long_name="Diatoms biogenic silicon X-Advection Trend"        unit="mmol-Si/m3/s" /> 
     679       <field id="XAD_PDS_E3T"  long_name="XAD_PDS * E3T"                                     unit="mmol-Si/m2/s" > XAD_PDS * e3t </field> 
     680       <field id="XAD_PDS_INV"  field_ref="XAD_PDS_E3T" long_name="XAD_PDS Inventory"         unit="mmol-Si/m2/s" grid_ref="vert_sum" /> 
     681       <field id="XAD_DTC"      long_name="detrital carbon X-Advection Trend"                 unit="mmol-C/m3/s" /> 
     682       <field id="XAD_DTC_E3T"  long_name="XAD_DTC * E3T"                                     unit="mmol-C/m2/s" > XAD_DTC * e3t </field> 
     683       <field id="XAD_DTC_INV"  field_ref="XAD_DTC_E3T" long_name="XAD_DTC Inventory"         unit="mmol-C/m2/s" grid_ref="vert_sum" /> 
     684       <field id="XAD_DiC"      long_name="dissolved inorganic carbon X-Advection Trend"      unit="mmol-C/m3/s" />  
     685       <field id="XAD_DiC_E3T"  long_name="XAD_DiC * E3T"                                     unit="mmol-C/m2/s" > XAD_DiC * e3t </field> 
     686       <field id="XAD_DiC_INV"  field_ref="XAD_DiC_E3T" long_name="XAD_DiC Inventory"         unit="mmol-C/m2/s" grid_ref="vert_sum" />  
     687       <field id="XAD_ALK"      long_name="alkalinity X-Advection Trend"                      unit="meq/m3/s"    /> 
     688       <field id="XAD_ALK_E3T"  long_name="XAD_ALK * E3T"                                     unit="meq/m2/s"    > XAD_ALK * e3t </field> 
     689       <field id="XAD_ALK_INV"  field_ref="XAD_ALK_E3T" long_name="XAD_ALK Inventory"         unit="meq/m2/s" grid_ref="vert_sum" /> 
     690       <field id="XAD_OXY"      long_name="dissolved oxygen X-Advection Trend"                unit="mmol-O2/m3/s" /> 
     691       <field id="XAD_OXY_E3T"  long_name="XAD_OXY * E3T"                                     unit="mmol-O2/m2/s" > XAD_OXY * e3t </field> 
     692       <field id="XAD_OXY_INV"  field_ref="XAD_OXY_E3T" long_name="XAD_OXY Inventory"         unit="mmol-O2/m2/s" grid_ref="vert_sum" /> 
     693       <!-- trd case: jptra_yad --> 
     694       <field id="YAD_CHN"      long_name="Non-diatom Chl-a Y-Advection Trend"                unit="mg-Chl/m3/s" /> 
     695       <field id="YAD_CHN_E3T"  long_name="YAD_CHN * E3T"                                     unit="mg-Chl/m2/s" > YAD_CHN * e3t </field> 
     696       <field id="YAD_CHN_INV"  field_ref="YAD_CHN_E3T" long_name="YAD_CHN Inventory"         unit="mg-Chl/m2/s" grid_ref="vert_sum" /> 
     697       <field id="YAD_CHD"      long_name="Diatom Chl-a Y-Advection Trend"                    unit="mg-Chl/m3/s" /> 
     698       <field id="YAD_CHD_E3T"  long_name="YAD_CHD * E3T"                                     unit="mg-Chl/m2/s" > YAD_CHD * e3t </field> 
     699       <field id="YAD_CHD_INV"  field_ref="YAD_CHD_E3T" long_name="YAD_CHD Inventory"         unit="mg-Chl/m2/s" grid_ref="vert_sum" /> 
     700       <field id="YAD_PHN"      long_name="non-diatom phytoplankton Y-Advection Trend"        unit="mmol-N/m3/s" /> 
     701       <field id="YAD_PHN_E3T"  long_name="YAD_PHN * E3T"                                     unit="mmol-N/m2/s" > YAD_PHN * e3t </field> 
     702       <field id="YAD_PHN_INV"  field_ref="YAD_PHN_E3T" long_name="YAD_PHN Inventory"         unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     703       <field id="YAD_PHD"      long_name="diatom     phytoplankton Y-Advection Trend"        unit="mmol-N/m3/s" /> 
     704       <field id="YAD_PHD_E3T"  long_name="YAD_PHD * E3T"                                     unit="mmol-N/m2/s" > YAD_PHD * e3t </field> 
     705       <field id="YAD_PHD_INV"  field_ref="YAD_PHD_E3T" long_name="YAD_PHD Inventory"         unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     706       <field id="YAD_ZMI"      long_name="micro zooplankton Y-Advection Trend"               unit="mmol-N/m3/s" /> 
     707       <field id="YAD_ZMI_E3T"  long_name="YAD_ZMI * E3T"                                     unit="mmol-N/m2/s" > YAD_ZMI * e3t </field> 
     708       <field id="YAD_ZMI_INV"  field_ref="YAD_ZMI_E3T" long_name="YAD_ZMI Inventory"         unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     709       <field id="YAD_ZME"      long_name="meso  zooplankton Y-Advection Trend"               unit="mmol-N/m3/s" /> 
     710       <field id="YAD_ZME_E3T"  long_name="YAD_ZME * E3T"                                     unit="mmol-N/m2/s" > YAD_ZME * e3t </field> 
     711       <field id="YAD_ZME_INV"  field_ref="YAD_ZME_E3T" long_name="YAD_ZME Inventory"         unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     712       <field id="YAD_DIN"      long_name="dissolved inorganic nitrogen Y-Advection Trend"    unit="mmol-N/m3/s" /> 
     713       <field id="YAD_DIN_E3T"  long_name="YAD_DIN * E3T"                                     unit="mmol-N/m2/s" > YAD_DIN * e3t </field> 
     714       <field id="YAD_DIN_INV"  field_ref="YAD_DIN_E3T" long_name="YAD_DIN Inventory"         unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     715       <field id="YAD_SIL"      long_name="dissolved silicic acid Y-Advection Trend"          unit="mmol-Si/m3/s" /> 
     716       <field id="YAD_SIL_E3T"  long_name="YAD_SIL * E3T"                                     unit="mmol-Si/m2/s" > YAD_SIL * e3t </field> 
     717       <field id="YAD_SIL_INV"  field_ref="YAD_SIL_E3T" long_name="YAD_SIL Inventory"         unit="mmol-Si/m2/s" grid_ref="vert_sum" /> 
     718       <field id="YAD_FER"      long_name="dissolved iron Y-Advection Trend"                  unit="mmol-Fe/m3/s" /> 
     719       <field id="YAD_FER_E3T"  long_name="YAD_FER * E3T"                                     unit="mmol-Fe/m2/s" > YAD_FER * e3t </field> 
     720       <field id="YAD_FER_INV"  field_ref="YAD_FER_E3T" long_name="YAD_FER Inventory"         unit="mmol-Fe/m2/s" grid_ref="vert_sum" /> 
     721       <field id="YAD_DET"      long_name="detrital nitrogen Y-Advection Trend"               unit="mmol-N/m3/s" /> 
     722       <field id="YAD_DET_E3T"  long_name="YAD_DET * E3T"                                     unit="mmol-N/m2/s" > YAD_DET * e3t </field> 
     723       <field id="YAD_DET_INV"  field_ref="YAD_DET_E3T" long_name="YAD_DET Inventory"         unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     724       <field id="YAD_PDS"      long_name="Diatoms biogenic silicon Y-Advection Trend"        unit="mmol-Si/m3/s" /> 
     725       <field id="YAD_PDS_E3T"  long_name="YAD_PDS * E3T"                                     unit="mmol-Si/m2/s" > YAD_PDS * e3t </field> 
     726       <field id="YAD_PDS_INV"  field_ref="YAD_PDS_E3T" long_name="YAD_PDS Inventory"         unit="mmol-Si/m2/s" grid_ref="vert_sum" /> 
     727       <field id="YAD_DTC"      long_name="detrital carbon Y-Advection Trend"                 unit="mmol-C/m3/s" /> 
     728       <field id="YAD_DTC_E3T"  long_name="YAD_DTC * E3T"                                     unit="mmol-C/m2/s" > YAD_DTC * e3t </field> 
     729       <field id="YAD_DTC_INV"  field_ref="YAD_DTC_E3T" long_name="YAD_DTC Inventory"         unit="mmol-C/m2/s" grid_ref="vert_sum" /> 
     730       <field id="YAD_DiC"      long_name="dissolved inorganic carbon Y-Advection Trend"      unit="mmol-C/m3/s" />  
     731       <field id="YAD_DiC_E3T"  long_name="YAD_DiC * E3T"                                     unit="mmol-C/m2/s" > YAD_DiC * e3t </field> 
     732       <field id="YAD_DiC_INV"  field_ref="YAD_DiC_E3T" long_name="YAD_DiC Inventory"         unit="mmol-C/m2/s" grid_ref="vert_sum" />  
     733       <field id="YAD_ALK"      long_name="alkalinity Y-Advection Trend"                      unit="meq/m3/s"    /> 
     734       <field id="YAD_ALK_E3T"  long_name="YAD_ALK * E3T"                                     unit="meq/m2/s"    > YAD_ALK * e3t </field> 
     735       <field id="YAD_ALK_INV"  field_ref="YAD_ALK_E3T" long_name="YAD_ALK Inventory"         unit="meq/m2/s" grid_ref="vert_sum" /> 
     736       <field id="YAD_OXY"      long_name="dissolved oxygen Y-Advection Trend"                unit="mmol-O2/m3/s" /> 
     737       <field id="YAD_OXY_E3T"  long_name="YAD_OXY * E3T"                                     unit="mmol-O2/m2/s" > YAD_OXY * e3t </field> 
     738       <field id="YAD_OXY_INV"  field_ref="YAD_OXY_E3T" long_name="YAD_OXY Inventory"         unit="mmol-O2/m2/s" grid_ref="vert_sum" /> 
     739       <!-- trd case: jptra_zad --> 
     740       <field id="ZAD_CHN"      long_name="Non-diatom Chl-a Z-Advection Trend"                unit="mg-Chl/m3/s" /> 
     741       <field id="ZAD_CHN_E3T"  long_name="ZAD_CHN * E3T"                                     unit="mg-Chl/m2/s" > ZAD_CHN * e3t </field> 
     742       <field id="ZAD_CHN_INV"  field_ref="ZAD_CHN_E3T" long_name="ZAD_CHN Inventory"         unit="mg-Chl/m2/s" grid_ref="vert_sum" /> 
     743       <field id="ZAD_CHD"      long_name="Diatom Chl-a Z-Advection Trend"                    unit="mg-Chl/m3/s" /> 
     744       <field id="ZAD_CHD_E3T"  long_name="ZAD_CHD * E3T"                                     unit="mg-Chl/m2/s" > ZAD_CHD * e3t </field> 
     745       <field id="ZAD_CHD_INV"  field_ref="ZAD_CHD_E3T" long_name="ZAD_CHD Inventory"         unit="mg-Chl/m2/s" grid_ref="vert_sum" /> 
     746       <field id="ZAD_PHN"      long_name="non-diatom phytoplankton Z-Advection Trend"        unit="mmol-N/m3/s" /> 
     747       <field id="ZAD_PHN_E3T"  long_name="ZAD_PHN * E3T"                                     unit="mmol-N/m2/s" > ZAD_PHN * e3t </field> 
     748       <field id="ZAD_PHN_INV"  field_ref="ZAD_PHN_E3T" long_name="ZAD_PHN Inventory"         unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     749       <field id="ZAD_PHD"      long_name="diatom     phytoplankton Z-Advection Trend"        unit="mmol-N/m3/s" /> 
     750       <field id="ZAD_PHD_E3T"  long_name="ZAD_PHD * E3T"                                     unit="mmol-N/m2/s" > ZAD_PHD * e3t </field> 
     751       <field id="ZAD_PHD_INV"  field_ref="ZAD_PHD_E3T" long_name="ZAD_PHD Inventory"         unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     752       <field id="ZAD_ZMI"      long_name="micro zooplankton Z-Advection Trend"               unit="mmol-N/m3/s" /> 
     753       <field id="ZAD_ZMI_E3T"  long_name="ZAD_ZMI * E3T"                                     unit="mmol-N/m2/s" > ZAD_ZMI * e3t </field> 
     754       <field id="ZAD_ZMI_INV"  field_ref="ZAD_ZMI_E3T" long_name="ZAD_ZMI Inventory"         unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     755       <field id="ZAD_ZME"      long_name="meso  zooplankton Z-Advection Trend"               unit="mmol-N/m3/s" /> 
     756       <field id="ZAD_ZME_E3T"  long_name="ZAD_ZME * E3T"                                     unit="mmol-N/m2/s" > ZAD_ZME * e3t </field> 
     757       <field id="ZAD_ZME_INV"  field_ref="ZAD_ZME_E3T" long_name="ZAD_ZME Inventory"         unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     758       <field id="ZAD_DIN"      long_name="dissolved inorganic nitrogen Z-Advection Trend"    unit="mmol-N/m3/s" /> 
     759       <field id="ZAD_DIN_E3T"  long_name="ZAD_DIN * E3T"                                     unit="mmol-N/m2/s" > ZAD_DIN * e3t </field> 
     760       <field id="ZAD_DIN_INV"  field_ref="ZAD_DIN_E3T" long_name="ZAD_DIN Inventory"         unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     761       <field id="ZAD_SIL"      long_name="dissolved silicic acid Z-Advection Trend"          unit="mmol-Si/m3/s" /> 
     762       <field id="ZAD_SIL_E3T"  long_name="ZAD_SIL * E3T"                                     unit="mmol-Si/m2/s" > ZAD_SIL * e3t </field> 
     763       <field id="ZAD_SIL_INV"  field_ref="ZAD_SIL_E3T" long_name="ZAD_SIL Inventory"         unit="mmol-Si/m2/s" grid_ref="vert_sum" /> 
     764       <field id="ZAD_FER"      long_name="dissolved iron Z-Advection Trend"                  unit="mmol-Fe/m3/s" /> 
     765       <field id="ZAD_FER_E3T"  long_name="ZAD_FER * E3T"                                     unit="mmol-Fe/m2/s" > ZAD_FER * e3t </field> 
     766       <field id="ZAD_FER_INV"  field_ref="ZAD_FER_E3T" long_name="ZAD_FER Inventory"         unit="mmol-Fe/m2/s" grid_ref="vert_sum" /> 
     767       <field id="ZAD_DET"      long_name="detrital nitrogen Z-Advection Trend"               unit="mmol-N/m3/s" /> 
     768       <field id="ZAD_DET_E3T"  long_name="ZAD_DET * E3T"                                     unit="mmol-N/m2/s" > ZAD_DET * e3t </field> 
     769       <field id="ZAD_DET_INV"  field_ref="ZAD_DET_E3T" long_name="ZAD_DET Inventory"         unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     770       <field id="ZAD_PDS"      long_name="Diatoms biogenic silicon Z-Advection Trend"        unit="mmol-Si/m3/s" /> 
     771       <field id="ZAD_PDS_E3T"  long_name="ZAD_PDS * E3T"                                     unit="mmol-Si/m2/s" > ZAD_PDS * e3t </field> 
     772       <field id="ZAD_PDS_INV"  field_ref="ZAD_PDS_E3T" long_name="ZAD_PDS Inventory"         unit="mmol-Si/m2/s" grid_ref="vert_sum" /> 
     773       <field id="ZAD_DTC"      long_name="detrital carbon Z-Advection Trend"                 unit="mmol-C/m3/s" /> 
     774       <field id="ZAD_DTC_E3T"  long_name="ZAD_DTC * E3T"                                     unit="mmol-C/m2/s" > ZAD_DTC * e3t </field> 
     775       <field id="ZAD_DTC_INV"  field_ref="ZAD_DTC_E3T" long_name="ZAD_DTC Inventory"         unit="mmol-C/m2/s" grid_ref="vert_sum" /> 
     776       <field id="ZAD_DiC"      long_name="dissolved inorganic carbon Z-Advection Trend"      unit="mmol-C/m3/s" />  
     777       <field id="ZAD_DiC_E3T"  long_name="ZAD_DiC * E3T"                                     unit="mmol-C/m2/s" > ZAD_DiC * e3t </field> 
     778       <field id="ZAD_DiC_INV"  field_ref="ZAD_DiC_E3T" long_name="ZAD_DiC Inventory"         unit="mmol-C/m2/s" grid_ref="vert_sum" />  
     779       <field id="ZAD_ALK"      long_name="alkalinity Z-Advection Trend"                      unit="meq/m3/s"    /> 
     780       <field id="ZAD_ALK_E3T"  long_name="ZAD_ALK * E3T"                                     unit="meq/m2/s"    > ZAD_ALK * e3t </field> 
     781       <field id="ZAD_ALK_INV"  field_ref="ZAD_ALK_E3T" long_name="ZAD_ALK Inventory"         unit="meq/m2/s" grid_ref="vert_sum" /> 
     782       <field id="ZAD_OXY"      long_name="dissolved oxygen Z-Advection Trend"                unit="mmol-O2/m3/s" /> 
     783       <field id="ZAD_OXY_E3T"  long_name="ZAD_OXY * E3T"                                     unit="mmol-O2/m2/s" > ZAD_OXY * e3t </field> 
     784       <field id="ZAD_OXY_INV"  field_ref="ZAD_OXY_E3T" long_name="ZAD_OXY Inventory"         unit="mmol-O2/m2/s" grid_ref="vert_sum" /> 
     785       <!-- trd case: jptra_totad --> 
     786       <field id="TAD_CHN"      long_name="Non-diatom Chl-a Total Advection Trend"             unit="mg-Chl/m3/s" /> 
     787       <field id="TAD_CHN_E3T"  long_name="TAD_CHN * E3T"                                      unit="mg-Chl/m2/s" > TAD_CHN * e3t </field> 
     788       <field id="TAD_CHN_INV"  field_ref="TAD_CHN_E3T" long_name="TAD_CHN Inventory"          unit="mg-Chl/m2/s" grid_ref="vert_sum" /> 
     789       <field id="TAD_CHD"      long_name="Diatom Chl-a Total Advection Trend"                 unit="mg-Chl/m3/s" /> 
     790       <field id="TAD_CHD_E3T"  long_name="TAD_CHD * E3T"                                      unit="mg-Chl/m2/s" > TAD_CHD * e3t </field> 
     791       <field id="TAD_CHD_INV"  field_ref="TAD_CHD_E3T" long_name="TAD_CHD Inventory"          unit="mg-Chl/m2/s" grid_ref="vert_sum" /> 
     792       <field id="TAD_PHN"      long_name="non-diatom phytoplankton Total Advection Trend"     unit="mmol-N/m3/s" /> 
     793       <field id="TAD_PHN_E3T"  long_name="TAD_PHN * E3T"                                      unit="mmol-N/m2/s" > TAD_PHN * e3t </field> 
     794       <field id="TAD_PHN_INV"  field_ref="TAD_PHN_E3T" long_name="TAD_PHN Inventory"          unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     795       <field id="TAD_PHD"      long_name="diatom     phytoplankton Total Advection Trend"     unit="mmol-N/m3/s" /> 
     796       <field id="TAD_PHD_E3T"  long_name="TAD_PHD * E3T"                                      unit="mmol-N/m2/s" > TAD_PHD * e3t </field> 
     797       <field id="TAD_PHD_INV"  field_ref="TAD_PHD_E3T" long_name="TAD_PHD Inventory"          unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     798       <field id="TAD_ZMI"      long_name="micro zooplankton Total Advection Trend"            unit="mmol-N/m3/s" /> 
     799       <field id="TAD_ZMI_E3T"  long_name="TAD_ZMI * E3T"                                      unit="mmol-N/m2/s" > TAD_ZMI * e3t </field> 
     800       <field id="TAD_ZMI_INV"  field_ref="TAD_ZMI_E3T" long_name="TAD_ZMI Inventory"          unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     801       <field id="TAD_ZME"      long_name="meso  zooplankton Total Advection Trend"            unit="mmol-N/m3/s" /> 
     802       <field id="TAD_ZME_E3T"  long_name="TAD_ZME * E3T"                                      unit="mmol-N/m2/s" > TAD_ZME * e3t </field> 
     803       <field id="TAD_ZME_INV"  field_ref="TAD_ZME_E3T" long_name="TAD_ZME Inventory"          unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     804       <field id="TAD_DIN"      long_name="dissolved inorganic nitrogen Total Advection Trend" unit="mmol-N/m3/s" /> 
     805       <field id="TAD_DIN_E3T"  long_name="TAD_DIN * E3T"                                      unit="mmol-N/m2/s" > TAD_DIN * e3t </field> 
     806       <field id="TAD_DIN_INV"  field_ref="TAD_DIN_E3T" long_name="TAD_DIN Inventory"          unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     807       <field id="TAD_SIL"      long_name="dissolved silicic acid Total Advection Trend"       unit="mmol-Si/m3/s" /> 
     808       <field id="TAD_SIL_E3T"  long_name="TAD_SIL * E3T"                                      unit="mmol-Si/m2/s" > TAD_SIL * e3t </field> 
     809       <field id="TAD_SIL_INV"  field_ref="TAD_SIL_E3T" long_name="TAD_SIL Inventory"          unit="mmol-Si/m2/s" grid_ref="vert_sum" /> 
     810       <field id="TAD_FER"      long_name="dissolved iron Total Advection Trend"               unit="mmol-Fe/m3/s" /> 
     811       <field id="TAD_FER_E3T"  long_name="TAD_FER * E3T"                                      unit="mmol-Fe/m2/s" > TAD_FER * e3t </field> 
     812       <field id="TAD_FER_INV"  field_ref="TAD_FER_E3T" long_name="TAD_FER Inventory"          unit="mmol-Fe/m2/s" grid_ref="vert_sum" /> 
     813       <field id="TAD_DET"      long_name="detrital nitrogen Total Advection Trend"            unit="mmol-N/m3/s" /> 
     814       <field id="TAD_DET_E3T"  long_name="TAD_DET * E3T"                                      unit="mmol-N/m2/s" > TAD_DET * e3t </field> 
     815       <field id="TAD_DET_INV"  field_ref="TAD_DET_E3T" long_name="TAD_DET Inventory"          unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     816       <field id="TAD_PDS"      long_name="Diatoms biogenic silicon Total Advection Trend"     unit="mmol-Si/m3/s" /> 
     817       <field id="TAD_PDS_E3T"  long_name="TAD_PDS * E3T"                                      unit="mmol-Si/m2/s" > TAD_PDS * e3t </field> 
     818       <field id="TAD_PDS_INV"  field_ref="TAD_PDS_E3T" long_name="TAD_PDS Inventory"          unit="mmol-Si/m2/s" grid_ref="vert_sum" /> 
     819       <field id="TAD_DTC"      long_name="detrital carbon Total Advection Trend"              unit="mmol-C/m3/s" /> 
     820       <field id="TAD_DTC_E3T"  long_name="TAD_DTC * E3T"                                      unit="mmol-C/m2/s" > TAD_DTC * e3t </field> 
     821       <field id="TAD_DTC_INV"  field_ref="TAD_DTC_E3T" long_name="TAD_DTC Inventory"          unit="mmol-C/m2/s" grid_ref="vert_sum" /> 
     822       <field id="TAD_DiC"      long_name="dissolved inorganic carbon Total Advection Trend"   unit="mmol-C/m3/s" />  
     823       <field id="TAD_DiC_E3T"  long_name="TAD_DiC * E3T"                                      unit="mmol-C/m2/s" > TAD_DiC * e3t </field> 
     824       <field id="TAD_DiC_INV"  field_ref="TAD_DiC_E3T" long_name="TAD_DiC Inventory"          unit="mmol-C/m2/s" grid_ref="vert_sum" />  
     825       <field id="TAD_ALK"      long_name="alkalinity Total Advection Trend"                   unit="meq/m3/s"    /> 
     826       <field id="TAD_ALK_E3T"  long_name="TAD_ALK * E3T"                                      unit="meq/m2/s"    > TAD_ALK * e3t </field> 
     827       <field id="TAD_ALK_INV"  field_ref="TAD_ALK_E3T" long_name="TAD_ALK Inventory"          unit="meq/m2/s" grid_ref="vert_sum" /> 
     828       <field id="TAD_OXY"      long_name="dissolved oxygen Total Advection Trend"             unit="mmol-O2/m3/s" /> 
     829       <field id="TAD_OXY_E3T"  long_name="TAD_OXY * E3T"                                      unit="mmol-O2/m2/s" > TAD_OXY * e3t </field> 
     830       <field id="TAD_OXY_INV"  field_ref="TAD_OXY_E3T" long_name="TAD_OXY Inventory"          unit="mmol-O2/m2/s" grid_ref="vert_sum" /> 
     831       <!-- trd case: jptra_ldf --> 
     832       <field id="LDF_CHN"      long_name="Non-diatom Chl-a Lateral Mixing Trend"             unit="mg-Chl/m3/s" /> 
     833       <field id="LDF_CHN_E3T"  long_name="LDF_CHN * E3T"                                     unit="mg-Chl/m2/s" > LDF_CHN * e3t </field> 
     834       <field id="LDF_CHN_INV"  field_ref="LDF_CHN_E3T" long_name="LDF_CHN Inventory"         unit="mg-Chl/m2/s" grid_ref="vert_sum" /> 
     835       <field id="LDF_CHD"      long_name="Diatom Chl-a Lateral Mixing Trend"                 unit="mg-Chl/m3/s" /> 
     836       <field id="LDF_CHD_E3T"  long_name="LDF_CHD * E3T"                                     unit="mg-Chl/m2/s" > LDF_CHD * e3t </field> 
     837       <field id="LDF_CHD_INV"  field_ref="LDF_CHD_E3T" long_name="LDF_CHD Inventory"         unit="mg-Chl/m2/s" grid_ref="vert_sum" /> 
     838       <field id="LDF_PHN"      long_name="non-diatom phytoplankton Lateral Mixing Trend"     unit="mmol-N/m3/s" /> 
     839       <field id="LDF_PHN_E3T"  long_name="LDF_PHN * E3T"                                     unit="mmol-N/m2/s" > LDF_PHN * e3t </field> 
     840       <field id="LDF_PHN_INV"  field_ref="LDF_PHN_E3T" long_name="LDF_PHN Inventory"         unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     841       <field id="LDF_PHD"      long_name="diatom     phytoplankton Lateral Mixing Trend"     unit="mmol-N/m3/s" /> 
     842       <field id="LDF_PHD_E3T"  long_name="LDF_PHD * E3T"                                     unit="mmol-N/m2/s" > LDF_PHD * e3t </field> 
     843       <field id="LDF_PHD_INV"  field_ref="LDF_PHD_E3T" long_name="LDF_PHD Inventory"         unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     844       <field id="LDF_ZMI"      long_name="micro zooplankton Lateral Mixing Trend"            unit="mmol-N/m3/s" /> 
     845       <field id="LDF_ZMI_E3T"  long_name="LDF_ZMI * E3T"                                     unit="mmol-N/m2/s" > LDF_ZMI * e3t </field> 
     846       <field id="LDF_ZMI_INV"  field_ref="LDF_ZMI_E3T" long_name="LDF_ZMI Inventory"         unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     847       <field id="LDF_ZME"      long_name="meso  zooplankton Lateral Mixing Trend"            unit="mmol-N/m3/s" /> 
     848       <field id="LDF_ZME_E3T"  long_name="LDF_ZME * E3T"                                     unit="mmol-N/m2/s" > LDF_ZME * e3t </field> 
     849       <field id="LDF_ZME_INV"  field_ref="LDF_ZME_E3T" long_name="LDF_ZME Inventory"         unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     850       <field id="LDF_DIN"      long_name="dissolved inorganic nitrogen Lateral Mixing Trend" unit="mmol-N/m3/s" /> 
     851       <field id="LDF_DIN_E3T"  long_name="LDF_DIN * E3T"                                     unit="mmol-N/m2/s" > LDF_DIN * e3t </field> 
     852       <field id="LDF_DIN_INV"  field_ref="LDF_DIN_E3T" long_name="LDF_DIN Inventory"         unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     853       <field id="LDF_SIL"      long_name="dissolved silicic acid Lateral Mixing Trend"       unit="mmol-Si/m3/s" /> 
     854       <field id="LDF_SIL_E3T"  long_name="LDF_SIL * E3T"                                     unit="mmol-Si/m2/s" > LDF_SIL * e3t </field> 
     855       <field id="LDF_SIL_INV"  field_ref="LDF_SIL_E3T" long_name="LDF_SIL Inventory"         unit="mmol-Si/m2/s" grid_ref="vert_sum" /> 
     856       <field id="LDF_FER"      long_name="dissolved iron Lateral Mixing Trend"               unit="mmol-Fe/m3/s" /> 
     857       <field id="LDF_FER_E3T"  long_name="LDF_FER * E3T"                                     unit="mmol-Fe/m2/s" > LDF_FER * e3t </field> 
     858       <field id="LDF_FER_INV"  field_ref="LDF_FER_E3T" long_name="LDF_FER Inventory"         unit="mmol-Fe/m2/s" grid_ref="vert_sum" /> 
     859       <field id="LDF_DET"      long_name="detrital nitrogen Lateral Mixing Trend"            unit="mmol-N/m3/s" /> 
     860       <field id="LDF_DET_E3T"  long_name="LDF_DET * E3T"                                     unit="mmol-N/m2/s" > LDF_DET * e3t </field> 
     861       <field id="LDF_DET_INV"  field_ref="LDF_DET_E3T" long_name="LDF_DET Inventory"         unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     862       <field id="LDF_PDS"      long_name="Diatoms biogenic silicon Lateral Mixing Trend"     unit="mmol-Si/m3/s" /> 
     863       <field id="LDF_PDS_E3T"  long_name="LDF_PDS * E3T"                                     unit="mmol-Si/m2/s" > LDF_PDS * e3t </field> 
     864       <field id="LDF_PDS_INV"  field_ref="LDF_PDS_E3T" long_name="LDF_PDS Inventory"         unit="mmol-Si/m2/s" grid_ref="vert_sum" /> 
     865       <field id="LDF_DTC"      long_name="detrital carbon Lateral Mixing Trend"              unit="mmol-C/m3/s" /> 
     866       <field id="LDF_DTC_E3T"  long_name="LDF_DTC * E3T"                                     unit="mmol-C/m2/s" > LDF_DTC * e3t </field> 
     867       <field id="LDF_DTC_INV"  field_ref="LDF_DTC_E3T" long_name="LDF_DTC Inventory"         unit="mmol-C/m2/s" grid_ref="vert_sum" /> 
     868       <field id="LDF_DiC"      long_name="dissolved inorganic carbon Lateral Mixing Trend"   unit="mmol-C/m3/s" /> 
     869       <field id="LDF_DiC_E3T"  long_name="LDF_DiC * E3T"                                     unit="mmol-C/m2/s" > LDF_DiC * e3t </field> 
     870       <field id="LDF_DiC_INV"  field_ref="LDF_DiC_E3T" long_name="LDF_DiC Inventory"         unit="mmol-C/m2/s" grid_ref="vert_sum" /> 
     871       <field id="LDF_ALK"      long_name="alkalinity Lateral Mixing Trend"                   unit="meq/m3/s"    /> 
     872       <field id="LDF_ALK_E3T"  long_name="LDF_ALK * E3T"                                     unit="meq/m2/s"    > LDF_ALK * e3t </field> 
     873       <field id="LDF_ALK_INV"  field_ref="LDF_ALK_E3T" long_name="LDF_ALK Inventory"         unit="meq/m2/s" grid_ref="vert_sum" /> 
     874       <field id="LDF_OXY"      long_name="dissolved oxygen Lateral Mixing Trend"             unit="mmol-O2/m3/s" /> 
     875       <field id="LDF_OXY_E3T"  long_name="LDF_OXY * E3T"                                     unit="mmol-O2/m2/s" > LDF_OXY * e3t </field> 
     876       <field id="LDF_OXY_INV"  field_ref="LDF_OXY_E3T" long_name="LDF_OXY Inventory"         unit="mmol-O2/m2/s" grid_ref="vert_sum" /> 
     877       <!-- trd case: jptra_bbl --> 
     878       <field id="BBL_CHN"      long_name="Non-diatom Chl-a Bottom Boundary Trend"             unit="mg-Chl/m3/s" /> 
     879       <field id="BBL_CHN_E3T"  long_name="BBL_CHN * E3T"                                      unit="mg-Chl/m2/s" > BBL_CHN * e3t </field> 
     880       <field id="BBL_CHN_INV"  field_ref="BBL_CHN_E3T" long_name="BBL_CHN Inventory"          unit="mg-Chl/m2/s" grid_ref="vert_sum" /> 
     881       <field id="BBL_CHD"      long_name="Diatom Chl-a Bottom Boundary Trend"                 unit="mg-Chl/m3/s" /> 
     882       <field id="BBL_CHD_E3T"  long_name="BBL_CHD * E3T"                                      unit="mg-Chl/m2/s" > BBL_CHD * e3t </field> 
     883       <field id="BBL_CHD_INV"  field_ref="BBL_CHD_E3T" long_name="BBL_CHD Inventory"          unit="mg-Chl/m2/s" grid_ref="vert_sum" /> 
     884       <field id="BBL_PHN"      long_name="non-diatom phytoplankton Bottom Boundary Trend"     unit="mmol-N/m3/s" /> 
     885       <field id="BBL_PHN_E3T"  long_name="BBL_PHN * E3T"                                      unit="mmol-N/m2/s" > BBL_PHN * e3t </field> 
     886       <field id="BBL_PHN_INV"  field_ref="BBL_PHN_E3T" long_name="BBL_PHN Inventory"          unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     887       <field id="BBL_PHD"      long_name="diatom     phytoplankton Bottom Boundary Trend"     unit="mmol-N/m3/s" /> 
     888       <field id="BBL_PHD_E3T"  long_name="BBL_PHD * E3T"                                      unit="mmol-N/m2/s" > BBL_PHD * e3t </field> 
     889       <field id="BBL_PHD_INV"  field_ref="BBL_PHD_E3T" long_name="BBL_PHD Inventory"          unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     890       <field id="BBL_ZMI"      long_name="micro zooplankton Bottom Boundary Trend"            unit="mmol-N/m3/s" /> 
     891       <field id="BBL_ZMI_E3T"  long_name="BBL_ZMI * E3T"                                      unit="mmol-N/m2/s" > BBL_ZMI * e3t </field> 
     892       <field id="BBL_ZMI_INV"  field_ref="BBL_ZMI_E3T" long_name="BBL_ZMI Inventory"          unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     893       <field id="BBL_ZME"      long_name="meso  zooplankton Bottom Boundary Trend"            unit="mmol-N/m3/s" /> 
     894       <field id="BBL_ZME_E3T"  long_name="BBL_ZME * E3T"                                      unit="mmol-N/m2/s" > BBL_ZME * e3t </field> 
     895       <field id="BBL_ZME_INV"  field_ref="BBL_ZME_E3T" long_name="BBL_ZME Inventory"          unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     896       <field id="BBL_DIN"      long_name="dissolved inorganic nitrogen Bottom Boundary Trend" unit="mmol-N/m3/s" /> 
     897       <field id="BBL_DIN_E3T"  long_name="BBL_DIN * E3T"                                      unit="mmol-N/m2/s" > BBL_DIN * e3t </field> 
     898       <field id="BBL_DIN_INV"  field_ref="BBL_DIN_E3T" long_name="BBL_DIN Inventory"          unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     899       <field id="BBL_SIL"      long_name="dissolved silicic acid Bottom Boundary Trend"       unit="mmol-Si/m3/s" /> 
     900       <field id="BBL_SIL_E3T"  long_name="BBL_SIL * E3T"                                      unit="mmol-Si/m2/s" > BBL_SIL * e3t </field> 
     901       <field id="BBL_SIL_INV"  field_ref="BBL_SIL_E3T" long_name="BBL_SIL Inventory"          unit="mmol-Si/m2/s" grid_ref="vert_sum" /> 
     902       <field id="BBL_FER"      long_name="dissolved iron Bottom Boundary Trend"               unit="mmol-Fe/m3/s" /> 
     903       <field id="BBL_FER_E3T"  long_name="BBL_FER * E3T"                                      unit="mmol-Fe/m2/s" > BBL_FER * e3t </field> 
     904       <field id="BBL_FER_INV"  field_ref="BBL_FER_E3T" long_name="BBL_FER Inventory"          unit="mmol-Fe/m2/s" grid_ref="vert_sum" /> 
     905       <field id="BBL_DET"      long_name="detrital nitrogen Bottom Boundary Trend"            unit="mmol-N/m3/s" /> 
     906       <field id="BBL_DET_E3T"  long_name="BBL_DET * E3T"                                      unit="mmol-N/m2/s" > BBL_DET * e3t </field> 
     907       <field id="BBL_DET_INV"  field_ref="BBL_DET_E3T" long_name="BBL_DET Inventory"          unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     908       <field id="BBL_PDS"      long_name="Diatoms biogenic silicon Bottom Boundary Trend"     unit="mmol-Si/m3/s" /> 
     909       <field id="BBL_PDS_E3T"  long_name="BBL_PDS * E3T"                                      unit="mmol-Si/m2/s" > BBL_PDS * e3t </field> 
     910       <field id="BBL_PDS_INV"  field_ref="BBL_PDS_E3T" long_name="BBL_PDS Inventory"          unit="mmol-Si/m2/s" grid_ref="vert_sum" /> 
     911       <field id="BBL_DTC"      long_name="detrital carbon Bottom Boundary Trend"              unit="mmol-C/m3/s" /> 
     912       <field id="BBL_DTC_E3T"  long_name="BBL_DTC * E3T"                                      unit="mmol-C/m2/s" > BBL_DTC * e3t </field> 
     913       <field id="BBL_DTC_INV"  field_ref="BBL_DTC_E3T" long_name="BBL_DTC Inventory"          unit="mmol-C/m2/s" grid_ref="vert_sum" /> 
     914       <field id="BBL_DiC"      long_name="dissolved inorganic carbon Bottom Boundary Trend"   unit="mmol-C/m3/s" /> 
     915       <field id="BBL_DiC_E3T"  long_name="BBL_DiC * E3T"                                      unit="mmol-C/m2/s" > BBL_DiC * e3t </field> 
     916       <field id="BBL_DiC_INV"  field_ref="BBL_DiC_E3T" long_name="BBL_DiC Inventory"          unit="mmol-C/m2/s" grid_ref="vert_sum" /> 
     917       <field id="BBL_ALK"      long_name="alkalinity Bottom Boundary Trend"                   unit="meq/m3/s"    /> 
     918       <field id="BBL_ALK_E3T"  long_name="BBL_ALK * E3T"                                      unit="meq/m2/s"    > BBL_ALK * e3t </field> 
     919       <field id="BBL_ALK_INV"  field_ref="BBL_ALK_E3T" long_name="BBL_ALK Inventory"          unit="meq/m2/s" grid_ref="vert_sum" /> 
     920       <field id="BBL_OXY"      long_name="dissolved oxygen Bottom Boundary Trend"             unit="mmol-O2/m3/s" /> 
     921       <field id="BBL_OXY_E3T"  long_name="BBL_OXY * E3T"                                      unit="mmol-O2/m2/s" > BBL_OXY * e3t </field> 
     922       <field id="BBL_OXY_INV"  field_ref="BBL_OXY_E3T" long_name="BBL_OXY Inventory"          unit="mmol-O2/m2/s" grid_ref="vert_sum" /> 
     923       <!-- trd case: jptra_nsr --> 
     924       <field id="FOR_CHN"      long_name="Non-diatom Chl-a Surface Boundary Trend"             unit="mg-Chl/m3/s" /> 
     925       <field id="FOR_CHN_E3T"  long_name="FOR_CHN * E3T"                                       unit="mg-Chl/m2/s" > FOR_CHN * e3t </field> 
     926       <field id="FOR_CHN_INV"  field_ref="FOR_CHN_E3T" long_name="FOR_CHN Inventory"           unit="mg-Chl/m2/s" grid_ref="vert_sum" /> 
     927       <field id="FOR_CHD"      long_name="Diatom Chl-a Surface Boundary Trend"                 unit="mg-Chl/m3/s" /> 
     928       <field id="FOR_CHD_E3T"  long_name="FOR_CHD * E3T"                                       unit="mg-Chl/m2/s" > FOR_CHD * e3t </field> 
     929       <field id="FOR_CHD_INV"  field_ref="FOR_CHD_E3T" long_name="FOR_CHD Inventory"           unit="mg-Chl/m2/s" grid_ref="vert_sum" /> 
     930       <field id="FOR_PHN"      long_name="non-diatom phytoplankton Surface Boundary Trend"     unit="mmol-N/m3/s" /> 
     931       <field id="FOR_PHN_E3T"  long_name="FOR_PHN * E3T"                                       unit="mmol-N/m2/s" > FOR_PHN * e3t </field> 
     932       <field id="FOR_PHN_INV"  field_ref="FOR_PHN_E3T" long_name="FOR_PHN Inventory"           unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     933       <field id="FOR_PHD"      long_name="diatom     phytoplankton Surface Boundary Trend"     unit="mmol-N/m3/s" /> 
     934       <field id="FOR_PHD_E3T"  long_name="FOR_PHD * E3T"                                       unit="mmol-N/m2/s" > FOR_PHD * e3t </field> 
     935       <field id="FOR_PHD_INV"  field_ref="FOR_PHD_E3T" long_name="FOR_PHD Inventory"           unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     936       <field id="FOR_ZMI"      long_name="micro zooplankton Surface Boundary Trend"            unit="mmol-N/m3/s" /> 
     937       <field id="FOR_ZMI_E3T"  long_name="FOR_ZMI * E3T"                                       unit="mmol-N/m2/s" > FOR_ZMI * e3t </field> 
     938       <field id="FOR_ZMI_INV"  field_ref="FOR_ZMI_E3T" long_name="FOR_ZMI Inventory"           unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     939       <field id="FOR_ZME"      long_name="meso  zooplankton Surface Boundary Trend"            unit="mmol-N/m3/s" /> 
     940       <field id="FOR_ZME_E3T"  long_name="FOR_ZME * E3T"                                       unit="mmol-N/m2/s" > FOR_ZME * e3t </field> 
     941       <field id="FOR_ZME_INV"  field_ref="FOR_ZME_E3T" long_name="FOR_ZME Inventory"           unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     942       <field id="FOR_DIN"      long_name="dissolved inorganic nitrogen Surface Boundary Trend" unit="mmol-N/m3/s" /> 
     943       <field id="FOR_DIN_E3T"  long_name="FOR_DIN * E3T"                                       unit="mmol-N/m2/s" > FOR_DIN * e3t </field> 
     944       <field id="FOR_DIN_INV"  field_ref="FOR_DIN_E3T" long_name="FOR_DIN Inventory"           unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     945       <field id="FOR_SIL"      long_name="dissolved silicic acid Surface Boundary Trend"       unit="mmol-Si/m3/s" /> 
     946       <field id="FOR_SIL_E3T"  long_name="FOR_SIL * E3T"                                       unit="mmol-Si/m2/s" > FOR_SIL * e3t </field> 
     947       <field id="FOR_SIL_INV"  field_ref="FOR_SIL_E3T" long_name="FOR_SIL Inventory"           unit="mmol-Si/m2/s" grid_ref="vert_sum" /> 
     948       <field id="FOR_FER"      long_name="dissolved iron Surface Boundary Trend"               unit="mmol-Fe/m3/s" /> 
     949       <field id="FOR_FER_E3T"  long_name="FOR_FER * E3T"                                       unit="mmol-Fe/m2/s" > FOR_FER * e3t </field> 
     950       <field id="FOR_FER_INV"  field_ref="FOR_FER_E3T" long_name="FOR_FER Inventory"           unit="mmol-Fe/m2/s" grid_ref="vert_sum" /> 
     951       <field id="FOR_DET"      long_name="detrital nitrogen Surface Boundary Trend"            unit="mmol-N/m3/s" /> 
     952       <field id="FOR_DET_E3T"  long_name="FOR_DET * E3T"                                       unit="mmol-N/m2/s" > FOR_DET * e3t </field> 
     953       <field id="FOR_DET_INV"  field_ref="FOR_DET_E3T" long_name="FOR_DET Inventory"           unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     954       <field id="FOR_PDS"      long_name="Diatoms biogenic silicon Surface Boundary Trend"     unit="mmol-Si/m3/s" /> 
     955       <field id="FOR_PDS_E3T"  long_name="FOR_PDS * E3T"                                       unit="mmol-Si/m2/s" > FOR_PDS * e3t </field> 
     956       <field id="FOR_PDS_INV"  field_ref="FOR_PDS_E3T" long_name="FOR_PDS Inventory"           unit="mmol-Si/m2/s" grid_ref="vert_sum" /> 
     957       <field id="FOR_DTC"      long_name="detrital carbon Surface Boundary Trend"              unit="mmol-C/m3/s" /> 
     958       <field id="FOR_DTC_E3T"  long_name="FOR_DTC * E3T"                                       unit="mmol-C/m2/s" > FOR_DTC * e3t </field> 
     959       <field id="FOR_DTC_INV"  field_ref="FOR_DTC_E3T" long_name="FOR_DTC Inventory"           unit="mmol-C/m2/s" grid_ref="vert_sum" /> 
     960       <field id="FOR_DiC"      long_name="dissolved inorganic carbon Surface Boundary Trend"   unit="mmol-C/m3/s" /> 
     961       <field id="FOR_DiC_E3T"  long_name="FOR_DiC * E3T"                                       unit="mmol-C/m2/s" > FOR_DiC * e3t </field> 
     962       <field id="FOR_DiC_INV"  field_ref="FOR_DiC_E3T" long_name="FOR_DiC Inventory"           unit="mmol-C/m2/s" grid_ref="vert_sum" /> 
     963       <field id="FOR_ALK"      long_name="alkalinity Surface Boundary Trend"                   unit="meq/m3/s"    /> 
     964       <field id="FOR_ALK_E3T"  long_name="FOR_ALK * E3T"                                       unit="meq/m2/s"    > FOR_ALK * e3t </field> 
     965       <field id="FOR_ALK_INV"  field_ref="FOR_ALK_E3T" long_name="FOR_ALK Inventory"           unit="meq/m2/s" grid_ref="vert_sum" /> 
     966       <field id="FOR_OXY"      long_name="dissolved oxygen Surface Boundary Trend"             unit="mmol-O2/m3/s" /> 
     967       <field id="FOR_OXY_E3T"  long_name="FOR_OXY * E3T"                                       unit="mmol-O2/m2/s" > FOR_OXY * e3t </field> 
     968       <field id="FOR_OXY_INV"  field_ref="FOR_OXY_E3T" long_name="FOR_OXY Inventory"           unit="mmol-O2/m2/s" grid_ref="vert_sum" /> 
     969       <!-- trd case: jptra_zdf --> 
     970       <field id="ZDF_CHN"      long_name="Non-diatom Chl-a Vertical Mixing Trend"             unit="mg-Chl/m3/s" /> 
     971       <field id="ZDF_CHN_E3T"  long_name="ZDF_CHN * E3T"                                      unit="mg-Chl/m2/s" > ZDF_CHN * e3t </field> 
     972       <field id="ZDF_CHN_INV"  field_ref="ZDF_CHN_E3T" long_name="ZDF_CHN Inventory"          unit="mg-Chl/m2/s" grid_ref="vert_sum" /> 
     973       <field id="ZDF_CHD"      long_name="Diatom Chl-a Vertical Mixing Trend"                 unit="mg-Chl/m3/s" /> 
     974       <field id="ZDF_CHD_E3T"  long_name="ZDF_CHD * E3T"                                      unit="mg-Chl/m2/s" > ZDF_CHD * e3t </field> 
     975       <field id="ZDF_CHD_INV"  field_ref="ZDF_CHD_E3T" long_name="ZDF_CHD Inventory"          unit="mg-Chl/m2/s" grid_ref="vert_sum" /> 
     976       <field id="ZDF_PHN"      long_name="non-diatom phytoplankton Vertical Mixing Trend"     unit="mmol-N/m3/s" /> 
     977       <field id="ZDF_PHN_E3T"  long_name="ZDF_PHN * E3T"                                      unit="mmol-N/m2/s" > ZDF_PHN * e3t </field> 
     978       <field id="ZDF_PHN_INV"  field_ref="ZDF_PHN_E3T" long_name="ZDF_PHN Inventory"          unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     979       <field id="ZDF_PHD"      long_name="diatom     phytoplankton Vertical Mixing Trend"     unit="mmol-N/m3/s" /> 
     980       <field id="ZDF_PHD_E3T"  long_name="ZDF_PHD * E3T"                                      unit="mmol-N/m2/s" > ZDF_PHD * e3t </field> 
     981       <field id="ZDF_PHD_INV"  field_ref="ZDF_PHD_E3T" long_name="ZDF_PHD Inventory"          unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     982       <field id="ZDF_ZMI"      long_name="micro zooplankton Vertical Mixing Trend"            unit="mmol-N/m3/s" /> 
     983       <field id="ZDF_ZMI_E3T"  long_name="ZDF_ZMI * E3T"                                      unit="mmol-N/m2/s" > ZDF_ZMI * e3t </field> 
     984       <field id="ZDF_ZMI_INV"  field_ref="ZDF_ZMI_E3T" long_name="ZDF_ZMI Inventory"          unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     985       <field id="ZDF_ZME"      long_name="meso  zooplankton Vertical Mixing Trend"            unit="mmol-N/m3/s" /> 
     986       <field id="ZDF_ZME_E3T"  long_name="ZDF_ZME * E3T"                                      unit="mmol-N/m2/s" > ZDF_ZME * e3t </field> 
     987       <field id="ZDF_ZME_INV"  field_ref="ZDF_ZME_E3T" long_name="ZDF_ZME Inventory"          unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     988       <field id="ZDF_DIN"      long_name="dissolved inorganic nitrogen Vertical Mixing Trend" unit="mmol-N/m3/s" /> 
     989       <field id="ZDF_DIN_E3T"  long_name="ZDF_DIN * E3T"                                      unit="mmol-N/m2/s" > ZDF_DIN * e3t </field> 
     990       <field id="ZDF_DIN_INV"  field_ref="ZDF_DIN_E3T" long_name="ZDF_DIN Inventory"          unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     991       <field id="ZDF_SIL"      long_name="dissolved silicic acid Vertical Mixing Trend"       unit="mmol-Si/m3/s" /> 
     992       <field id="ZDF_SIL_E3T"  long_name="ZDF_SIL * E3T"                                      unit="mmol-Si/m2/s" > ZDF_SIL * e3t </field> 
     993       <field id="ZDF_SIL_INV"  field_ref="ZDF_SIL_E3T" long_name="ZDF_SIL Inventory"          unit="mmol-Si/m2/s" grid_ref="vert_sum" /> 
     994       <field id="ZDF_FER"      long_name="dissolved iron Vertical Mixing Trend"               unit="mmol-Fe/m3/s" /> 
     995       <field id="ZDF_FER_E3T"  long_name="ZDF_FER * E3T"                                      unit="mmol-Fe/m2/s" > ZDF_FER * e3t </field> 
     996       <field id="ZDF_FER_INV"  field_ref="ZDF_FER_E3T" long_name="ZDF_FER Inventory"          unit="mmol-Fe/m2/s" grid_ref="vert_sum" /> 
     997       <field id="ZDF_DET"      long_name="detrital nitrogen Vertical Mixing Trend"            unit="mmol-N/m3/s" /> 
     998       <field id="ZDF_DET_E3T"  long_name="ZDF_DET * E3T"                                      unit="mmol-N/m2/s" > ZDF_DET * e3t </field> 
     999       <field id="ZDF_DET_INV"  field_ref="ZDF_DET_E3T" long_name="ZDF_DET Inventory"          unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     1000       <field id="ZDF_PDS"      long_name="Diatoms biogenic silicon Vertical Mixing Trend"     unit="mmol-Si/m3/s" /> 
     1001       <field id="ZDF_PDS_E3T"  long_name="ZDF_PDS * E3T"                                      unit="mmol-Si/m2/s" > ZDF_PDS * e3t </field> 
     1002       <field id="ZDF_PDS_INV"  field_ref="ZDF_PDS_E3T" long_name="ZDF_PDS Inventory"          unit="mmol-Si/m2/s" grid_ref="vert_sum" /> 
     1003       <field id="ZDF_DTC"      long_name="detrital carbon Vertical Mixing Trend"              unit="mmol-C/m3/s" /> 
     1004       <field id="ZDF_DTC_E3T"  long_name="ZDF_DTC * E3T"                                      unit="mmol-C/m2/s" > ZDF_DTC * e3t </field> 
     1005       <field id="ZDF_DTC_INV"  field_ref="ZDF_DTC_E3T" long_name="ZDF_DTC Inventory"          unit="mmol-C/m2/s" grid_ref="vert_sum" /> 
     1006       <field id="ZDF_DiC"      long_name="dissolved inorganic carbon Vertical Mixing Trend"   unit="mmol-C/m3/s" /> 
     1007       <field id="ZDF_DiC_E3T"  long_name="ZDF_DiC * E3T"                                      unit="mmol-C/m2/s" > ZDF_DiC * e3t </field> 
     1008       <field id="ZDF_DiC_INV"  field_ref="ZDF_DiC_E3T" long_name="ZDF_DiC Inventory"          unit="mmol-C/m2/s" grid_ref="vert_sum" /> 
     1009       <field id="ZDF_ALK"      long_name="alkalinity Vertical Mixing Trend"                   unit="meq/m3/s"    /> 
     1010       <field id="ZDF_ALK_E3T"  long_name="ZDF_ALK * E3T"                                      unit="meq/m2/s"    > ZDF_ALK * e3t </field> 
     1011       <field id="ZDF_ALK_INV"  field_ref="ZDF_ALK_E3T" long_name="ZDF_ALK Inventory"          unit="meq/m2/s" grid_ref="vert_sum" /> 
     1012       <field id="ZDF_OXY"      long_name="dissolved oxygen Vertical Mixing Trend"             unit="mmol-O2/m3/s" /> 
     1013       <field id="ZDF_OXY_E3T"  long_name="ZDF_OXY * E3T"                                      unit="mmol-O2/m2/s" > ZDF_OXY * e3t </field> 
     1014       <field id="ZDF_OXY_INV"  field_ref="ZDF_OXY_E3T" long_name="ZDF_OXY Inventory"          unit="mmol-O2/m2/s" grid_ref="vert_sum" /> 
     1015       <!-- trd case: jptra_zdfp --> 
     1016       <field id="ZDP_CHN"      long_name="Non-diatom Chl-a Kz Diffusive Trend"               unit="mg-Chl/m3/s" /> 
     1017       <field id="ZDP_CHN_E3T"  long_name="ZDP_CHN * E3T"                                     unit="mg-Chl/m2/s" > ZDP_CHN * e3t </field> 
     1018       <field id="ZDP_CHN_INV"  field_ref="ZDP_CHN_E3T" long_name="ZDP_CHN Inventory"         unit="mg-Chl/m2/s" grid_ref="vert_sum" /> 
     1019       <field id="ZDP_CHD"      long_name="Diatom Chl-a Kz Diffusive Trend"                   unit="mg-Chl/m3/s" /> 
     1020       <field id="ZDP_CHD_E3T"  long_name="ZDP_CHD * E3T"                                     unit="mg-Chl/m2/s" > ZDP_CHD * e3t </field> 
     1021       <field id="ZDP_CHD_INV"  field_ref="ZDP_CHD_E3T" long_name="ZDP_CHD Inventory"         unit="mg-Chl/m2/s" grid_ref="vert_sum" /> 
     1022       <field id="ZDP_PHN"      long_name="non-diatom phytoplankton Kz Diffusive Trend"       unit="mmol-N/m3/s" /> 
     1023       <field id="ZDP_PHN_E3T"  long_name="ZDP_PHN * E3T"                                     unit="mmol-N/m2/s" > ZDP_PHN * e3t </field> 
     1024       <field id="ZDP_PHN_INV"  field_ref="ZDP_PHN_E3T" long_name="ZDP_PHN Inventory"         unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     1025       <field id="ZDP_PHD"      long_name="diatom     phytoplankton Kz Diffusive Trend"       unit="mmol-N/m3/s" /> 
     1026       <field id="ZDP_PHD_E3T"  long_name="ZDP_PHD * E3T"                                     unit="mmol-N/m2/s" > ZDP_PHD * e3t </field> 
     1027       <field id="ZDP_PHD_INV"  field_ref="ZDP_PHD_E3T" long_name="ZDP_PHD Inventory"         unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     1028       <field id="ZDP_ZMI"      long_name="micro zooplankton Kz Diffusive Trend"              unit="mmol-N/m3/s" /> 
     1029       <field id="ZDP_ZMI_E3T"  long_name="ZDP_ZMI * E3T"                                     unit="mmol-N/m2/s" > ZDP_ZMI * e3t </field> 
     1030       <field id="ZDP_ZMI_INV"  field_ref="ZDP_ZMI_E3T" long_name="ZDP_ZMI Inventory"         unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     1031       <field id="ZDP_ZME"      long_name="meso  zooplankton Kz Diffusive Trend"              unit="mmol-N/m3/s" /> 
     1032       <field id="ZDP_ZME_E3T"  long_name="ZDP_ZME * E3T"                                     unit="mmol-N/m2/s" > ZDP_ZME * e3t </field> 
     1033       <field id="ZDP_ZME_INV"  field_ref="ZDP_ZME_E3T" long_name="ZDP_ZME Inventory"         unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     1034       <field id="ZDP_DIN"      long_name="dissolved inorganic nitrogen Kz Diffusive Trend"   unit="mmol-N/m3/s" /> 
     1035       <field id="ZDP_DIN_E3T"  long_name="ZDP_DIN * E3T"                                     unit="mmol-N/m2/s" > ZDP_DIN * e3t </field> 
     1036       <field id="ZDP_DIN_INV"  field_ref="ZDP_DIN_E3T" long_name="ZDP_DIN Inventory"         unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     1037       <field id="ZDP_SIL"      long_name="dissolved silicic acid Kz Diffusive Trend"         unit="mmol-Si/m3/s" /> 
     1038       <field id="ZDP_SIL_E3T"  long_name="ZDP_SIL * E3T"                                     unit="mmol-Si/m2/s" > ZDP_SIL * e3t </field> 
     1039       <field id="ZDP_SIL_INV"  field_ref="ZDP_SIL_E3T" long_name="ZDP_SIL Inventory"         unit="mmol-Si/m2/s" grid_ref="vert_sum" /> 
     1040       <field id="ZDP_FER"      long_name="dissolved iron Kz Diffusive Trend"                 unit="mmol-Fe/m3/s" /> 
     1041       <field id="ZDP_FER_E3T"  long_name="ZDP_FER * E3T"                                     unit="mmol-Fe/m2/s" > ZDP_FER * e3t </field> 
     1042       <field id="ZDP_FER_INV"  field_ref="ZDP_FER_E3T" long_name="ZDP_FER Inventory"         unit="mmol-Fe/m2/s" grid_ref="vert_sum" /> 
     1043       <field id="ZDP_DET"      long_name="detrital nitrogen Kz Diffusive Trend"              unit="mmol-N/m3/s" /> 
     1044       <field id="ZDP_DET_E3T"  long_name="ZDP_DET * E3T"                                     unit="mmol-N/m2/s" > ZDP_DET * e3t </field> 
     1045       <field id="ZDP_DET_INV"  field_ref="ZDP_DET_E3T" long_name="ZDP_DET Inventory"         unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     1046       <field id="ZDP_PDS"      long_name="Diatoms biogenic silicon Kz Diffusive Trend"       unit="mmol-Si/m3/s" /> 
     1047       <field id="ZDP_PDS_E3T"  long_name="ZDP_PDS * E3T"                                     unit="mmol-Si/m2/s" > ZDP_PDS * e3t </field> 
     1048       <field id="ZDP_PDS_INV"  field_ref="ZDP_PDS_E3T" long_name="ZDP_PDS Inventory"         unit="mmol-Si/m2/s" grid_ref="vert_sum" /> 
     1049       <field id="ZDP_DTC"      long_name="detrital carbon Kz Diffusive Trend"                unit="mmol-C/m3/s" /> 
     1050       <field id="ZDP_DTC_E3T"  long_name="ZDP_DTC * E3T"                                     unit="mmol-C/m2/s" > ZDP_DTC * e3t </field> 
     1051       <field id="ZDP_DTC_INV"  field_ref="ZDP_DTC_E3T" long_name="ZDP_DTC Inventory"         unit="mmol-C/m2/s" grid_ref="vert_sum" /> 
     1052       <field id="ZDP_DiC"      long_name="dissolved inorganic carbon Kz Diffusive Trend"     unit="mmol-C/m3/s" /> 
     1053       <field id="ZDP_DiC_E3T"  long_name="ZDP_DiC * E3T"                                     unit="mmol-C/m2/s" > ZDP_DiC * e3t </field> 
     1054       <field id="ZDP_DiC_INV"  field_ref="ZDP_DiC_E3T" long_name="ZDP_DiC Inventory"         unit="mmol-C/m2/s" grid_ref="vert_sum" /> 
     1055       <field id="ZDP_ALK"      long_name="alkalinity Kz Diffusive Trend"                     unit="meq/m3/s"    /> 
     1056       <field id="ZDP_ALK_E3T"  long_name="ZDP_ALK * E3T"                                     unit="meq/m2/s"    > ZDP_ALK * e3t </field> 
     1057       <field id="ZDP_ALK_INV"  field_ref="ZDP_ALK_E3T" long_name="ZDP_ALK Inventory"         unit="meq/m2/s" grid_ref="vert_sum" /> 
     1058       <field id="ZDP_OXY"      long_name="dissolved oxygen Kz Diffusive Trend"               unit="mmol-O2/m3/s" /> 
     1059       <field id="ZDP_OXY_E3T"  long_name="ZDP_OXY * E3T"                                     unit="mmol-O2/m2/s" > ZDP_OXY * e3t </field> 
     1060       <field id="ZDP_OXY_INV"  field_ref="ZDP_OXY_E3T" long_name="ZDP_OXY Inventory"         unit="mmol-O2/m2/s" grid_ref="vert_sum" /> 
     1061       <!-- trd case: jptra_dmp --> 
     1062       <field id="DMP_CHN"      long_name="Non-diatom Chl-a Damping Trend"                    unit="mg-Chl/m3/s" /> 
     1063       <field id="DMP_CHN_E3T"  long_name="DMP_CHN * E3T"                                     unit="mg-Chl/m2/s" > DMP_CHN * e3t </field> 
     1064       <field id="DMP_CHN_INV"  field_ref="DMP_CHN_E3T" long_name="DMP_CHN Inventory"         unit="mg-Chl/m2/s" grid_ref="vert_sum" /> 
     1065       <field id="DMP_CHD"      long_name="Diatom Chl-a Damping Trend"                        unit="mg-Chl/m3/s" /> 
     1066       <field id="DMP_CHD_E3T"  long_name="DMP_CHD * E3T"                                     unit="mg-Chl/m2/s" > DMP_CHD * e3t </field> 
     1067       <field id="DMP_CHD_INV"  field_ref="DMP_CHD_E3T" long_name="DMP_CHD Inventory"         unit="mg-Chl/m2/s" grid_ref="vert_sum" /> 
     1068       <field id="DMP_PHN"      long_name="non-diatom phytoplankton Damping Trend"            unit="mmol-N/m3/s" /> 
     1069       <field id="DMP_PHN_E3T"  long_name="DMP_PHN * E3T"                                     unit="mmol-N/m2/s" > DMP_PHN * e3t </field> 
     1070       <field id="DMP_PHN_INV"  field_ref="DMP_PHN_E3T" long_name="DMP_PHN Inventory"         unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     1071       <field id="DMP_PHD"      long_name="diatom     phytoplankton Damping Trend"            unit="mmol-N/m3/s" /> 
     1072       <field id="DMP_PHD_E3T"  long_name="DMP_PHD * E3T"                                     unit="mmol-N/m2/s" > DMP_PHD * e3t </field> 
     1073       <field id="DMP_PHD_INV"  field_ref="DMP_PHD_E3T" long_name="DMP_PHD Inventory"         unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     1074       <field id="DMP_ZMI"      long_name="micro zooplankton Damping Trend"                   unit="mmol-N/m3/s" /> 
     1075       <field id="DMP_ZMI_E3T"  long_name="DMP_ZMI * E3T"                                     unit="mmol-N/m2/s" > DMP_ZMI * e3t </field> 
     1076       <field id="DMP_ZMI_INV"  field_ref="DMP_ZMI_E3T" long_name="DMP_ZMI Inventory"         unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     1077       <field id="DMP_ZME"      long_name="meso  zooplankton Damping Trend"                   unit="mmol-N/m3/s" /> 
     1078       <field id="DMP_ZME_E3T"  long_name="DMP_ZME * E3T"                                     unit="mmol-N/m2/s" > DMP_ZME * e3t </field> 
     1079       <field id="DMP_ZME_INV"  field_ref="DMP_ZME_E3T" long_name="DMP_ZME Inventory"         unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     1080       <field id="DMP_DIN"      long_name="dissolved inorganic nitrogen Damping Trend"        unit="mmol-N/m3/s" /> 
     1081       <field id="DMP_DIN_E3T"  long_name="DMP_DIN * E3T"                                     unit="mmol-N/m2/s" > DMP_DIN * e3t </field> 
     1082       <field id="DMP_DIN_INV"  field_ref="DMP_DIN_E3T" long_name="DMP_DIN Inventory"         unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     1083       <field id="DMP_SIL"      long_name="dissolved silicic acid Damping Trend"              unit="mmol-Si/m3/s" /> 
     1084       <field id="DMP_SIL_E3T"  long_name="DMP_SIL * E3T"                                     unit="mmol-Si/m2/s" > DMP_SIL * e3t </field> 
     1085       <field id="DMP_SIL_INV"  field_ref="DMP_SIL_E3T" long_name="DMP_SIL Inventory"         unit="mmol-Si/m2/s" grid_ref="vert_sum" /> 
     1086       <field id="DMP_FER"      long_name="dissolved iron Damping Trend"                      unit="mmol-Fe/m3/s" /> 
     1087       <field id="DMP_FER_E3T"  long_name="DMP_FER * E3T"                                     unit="mmol-Fe/m2/s" > DMP_FER * e3t </field> 
     1088       <field id="DMP_FER_INV"  field_ref="DMP_FER_E3T" long_name="DMP_FER Inventory"         unit="mmol-Fe/m2/s" grid_ref="vert_sum" /> 
     1089       <field id="DMP_DET"      long_name="detrital nitrogen Damping Trend"                   unit="mmol-N/m3/s" /> 
     1090       <field id="DMP_DET_E3T"  long_name="DMP_DET * E3T"                                     unit="mmol-N/m2/s" > DMP_DET * e3t </field> 
     1091       <field id="DMP_DET_INV"  field_ref="DMP_DET_E3T" long_name="DMP_DET Inventory"         unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     1092       <field id="DMP_PDS"      long_name="Diatoms biogenic silicon Damping Trend"            unit="mmol-Si/m3/s" /> 
     1093       <field id="DMP_PDS_E3T"  long_name="DMP_PDS * E3T"                                     unit="mmol-Si/m2/s" > DMP_PDS * e3t </field> 
     1094       <field id="DMP_PDS_INV"  field_ref="DMP_PDS_E3T" long_name="DMP_PDS Inventory"         unit="mmol-Si/m2/s" grid_ref="vert_sum" /> 
     1095       <field id="DMP_DTC"      long_name="detrital carbon Damping Trend"                     unit="mmol-C/m3/s" /> 
     1096       <field id="DMP_DTC_E3T"  long_name="DMP_DTC * E3T"                                     unit="mmol-C/m2/s" > DMP_DTC * e3t </field> 
     1097       <field id="DMP_DTC_INV"  field_ref="DMP_DTC_E3T" long_name="DMP_DTC Inventory"         unit="mmol-C/m2/s" grid_ref="vert_sum" /> 
     1098       <field id="DMP_DiC"      long_name="dissolved inorganic carbon Damping Trend"          unit="mmol-C/m3/s" /> 
     1099       <field id="DMP_DiC_E3T"  long_name="DMP_DiC * E3T"                                     unit="mmol-C/m2/s" > DMP_DiC * e3t </field> 
     1100       <field id="DMP_DiC_INV"  field_ref="DMP_DiC_E3T" long_name="DMP_DiC Inventory"         unit="mmol-C/m2/s" grid_ref="vert_sum" /> 
     1101       <field id="DMP_ALK"      long_name="alkalinity Damping Trend"                          unit="meq/m3/s"    /> 
     1102       <field id="DMP_ALK_E3T"  long_name="DMP_ALK * E3T"                                     unit="meq/m2/s"    > DMP_ALK * e3t </field> 
     1103       <field id="DMP_ALK_INV"  field_ref="DMP_ALK_E3T" long_name="DMP_ALK Inventory"         unit="meq/m2/s" grid_ref="vert_sum" /> 
     1104       <field id="DMP_OXY"      long_name="dissolved oxygen Damping Trend"                    unit="mmol-O2/m3/s" /> 
     1105       <field id="DMP_OXY_E3T"  long_name="DMP_OXY * E3T"                                     unit="mmol-O2/m2/s" > DMP_OXY * e3t </field> 
     1106       <field id="DMP_OXY_INV"  field_ref="DMP_OXY_E3T" long_name="DMP_OXY Inventory"         unit="mmol-O2/m2/s" grid_ref="vert_sum" /> 
     1107       <!-- trd case: jptra_sms --> 
     1108       <field id="SMS_CHN"      long_name="Non-diatom Chl-a Sources Minus Sinks Trend"             unit="mg-Chl/m3/s" /> 
     1109       <field id="SMS_CHN_E3T"  long_name="SMS_CHN * E3T"                                          unit="mg-Chl/m2/s" > SMS_CHN * e3t </field> 
     1110       <field id="SMS_CHN_INV"  field_ref="SMS_CHN_E3T" long_name="SMS_CHN Inventory"              unit="mg-Chl/m2/s" grid_ref="vert_sum" /> 
     1111       <field id="SMS_CHD"      long_name="Diatom Chl-a Sources Minus Sinks Trend"                 unit="mg-Chl/m3/s" /> 
     1112       <field id="SMS_CHD_E3T"  long_name="SMS_CHD * E3T"                                          unit="mg-Chl/m2/s" > SMS_CHD * e3t </field> 
     1113       <field id="SMS_CHD_INV"  field_ref="SMS_CHD_E3T" long_name="SMS_CHD Inventory"              unit="mg-Chl/m2/s" grid_ref="vert_sum" /> 
     1114       <field id="SMS_PHN"      long_name="non-diatom phytoplankton Sources Minus Sinks Trend"     unit="mmol-N/m3/s" /> 
     1115       <field id="SMS_PHN_E3T"  long_name="SMS_PHN * E3T"                                          unit="mmol-N/m2/s" > SMS_PHN * e3t </field> 
     1116       <field id="SMS_PHN_INV"  field_ref="SMS_PHN_E3T" long_name="SMS_PHN Inventory"              unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     1117       <field id="SMS_PHD"      long_name="diatom     phytoplankton Sources Minus Sinks Trend"     unit="mmol-N/m3/s" /> 
     1118       <field id="SMS_PHD_E3T"  long_name="SMS_PHD * E3T"                                          unit="mmol-N/m2/s" > SMS_PHD * e3t </field> 
     1119       <field id="SMS_PHD_INV"  field_ref="SMS_PHD_E3T" long_name="SMS_PHD Inventory"              unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     1120       <field id="SMS_ZMI"      long_name="micro zooplankton Sources Minus Sinks Trend"            unit="mmol-N/m3/s" /> 
     1121       <field id="SMS_ZMI_E3T"  long_name="SMS_ZMI * E3T"                                          unit="mmol-N/m2/s" > SMS_ZMI * e3t </field> 
     1122       <field id="SMS_ZMI_INV"  field_ref="SMS_ZMI_E3T" long_name="SMS_ZMI Inventory"              unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     1123       <field id="SMS_ZME"      long_name="meso  zooplankton Sources Minus Sinks Trend"            unit="mmol-N/m3/s" /> 
     1124       <field id="SMS_ZME_E3T"  long_name="SMS_ZME * E3T"                                          unit="mmol-N/m2/s" > SMS_ZME * e3t </field> 
     1125       <field id="SMS_ZME_INV"  field_ref="SMS_ZME_E3T" long_name="SMS_ZME Inventory"              unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     1126       <field id="SMS_DIN"      long_name="dissolved inorganic nitrogen Sources Minus Sinks Trend" unit="mmol-N/m3/s" /> 
     1127       <field id="SMS_DIN_E3T"  long_name="SMS_DIN * E3T"                                          unit="mmol-N/m2/s" > SMS_DIN * e3t </field> 
     1128       <field id="SMS_DIN_INV"  field_ref="SMS_DIN_E3T" long_name="SMS_DIN Inventory"              unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     1129       <field id="SMS_SIL"      long_name="dissolved silicic acid Sources Minus Sinks Trend"       unit="mmol-Si/m3/s" /> 
     1130       <field id="SMS_SIL_E3T"  long_name="SMS_SIL * E3T"                                          unit="mmol-Si/m2/s" > SMS_SIL * e3t </field> 
     1131       <field id="SMS_SIL_INV"  field_ref="SMS_SIL_E3T" long_name="SMS_SIL Inventory"              unit="mmol-Si/m2/s" grid_ref="vert_sum" /> 
     1132       <field id="SMS_FER"      long_name="dissolved iron Sources Minus Sinks Trend"               unit="mmol-Fe/m3/s" /> 
     1133       <field id="SMS_FER_E3T"  long_name="SMS_FER * E3T"                                          unit="mmol-Fe/m2/s" > SMS_FER * e3t </field> 
     1134       <field id="SMS_FER_INV"  field_ref="SMS_FER_E3T" long_name="SMS_FER Inventory"              unit="mmol-Fe/m2/s" grid_ref="vert_sum" /> 
     1135       <field id="SMS_DET"      long_name="detrital nitrogen Sources Minus Sinks Trend"            unit="mmol-N/m3/s" /> 
     1136       <field id="SMS_DET_E3T"  long_name="SMS_DET * E3T"                                          unit="mmol-N/m2/s" > SMS_DET * e3t </field> 
     1137       <field id="SMS_DET_INV"  field_ref="SMS_DET_E3T" long_name="SMS_DET Inventory"              unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     1138       <field id="SMS_PDS"      long_name="Diatoms biogenic silicon Sources Minus Sinks Trend"     unit="mmol-Si/m3/s" /> 
     1139       <field id="SMS_PDS_E3T"  long_name="SMS_PDS * E3T"                                          unit="mmol-Si/m2/s" > SMS_PDS * e3t </field> 
     1140       <field id="SMS_PDS_INV"  field_ref="SMS_PDS_E3T" long_name="SMS_PDS Inventory"              unit="mmol-Si/m2/s" grid_ref="vert_sum" /> 
     1141       <field id="SMS_DTC"      long_name="detrital carbon Sources Minus Sinks Trend"              unit="mmol-C/m3/s" /> 
     1142       <field id="SMS_DTC_E3T"  long_name="SMS_DTC * E3T"                                          unit="mmol-C/m2/s" > SMS_DTC * e3t </field> 
     1143       <field id="SMS_DTC_INV"  field_ref="SMS_DTC_E3T" long_name="SMS_DTC Inventory"              unit="mmol-C/m2/s" grid_ref="vert_sum" /> 
     1144       <field id="SMS_DiC"      long_name="dissolved inorganic carbon Sources Minus Sinks Trend"   unit="mmol-C/m3/s" /> 
     1145       <field id="SMS_DiC_E3T"  long_name="SMS_DiC * E3T"                                          unit="mmol-C/m2/s" > SMS_DiC * e3t </field> 
     1146       <field id="SMS_DiC_INV"  field_ref="SMS_DiC_E3T" long_name="SMS_DiC Inventory"              unit="mmol-C/m2/s" grid_ref="vert_sum" /> 
     1147       <field id="SMS_ALK"      long_name="alkalinity Sources Minus Sinks Trend"                   unit="meq/m3/s"    /> 
     1148       <field id="SMS_ALK_E3T"  long_name="SMS_ALK * E3T"                                          unit="meq/m2/s"    > SMS_ALK * e3t </field> 
     1149       <field id="SMS_ALK_INV"  field_ref="SMS_ALK_E3T" long_name="SMS_ALK Inventory"              unit="meq/m2/s" grid_ref="vert_sum" /> 
     1150       <field id="SMS_OXY"      long_name="dissolved oxygen Sources Minus Sinks Trend"             unit="mmol-O2/m3/s" /> 
     1151       <field id="SMS_OXY_E3T"  long_name="SMS_OXY * E3T"                                          unit="mmol-O2/m2/s" > SMS_OXY * e3t </field> 
     1152       <field id="SMS_OXY_INV"  field_ref="SMS_OXY_E3T" long_name="SMS_OXY Inventory"              unit="mmol-O2/m2/s" grid_ref="vert_sum" /> 
     1153       <!-- trd case: jptra_radb --> 
     1154       <field id="RDB_CHN"      long_name="Non-diatom Chl-a-b negative values correction trend"             unit="mg-Chl/m3/s" /> 
     1155       <field id="RDB_CHN_E3T"  long_name="RDB_CHN * E3T"                                                   unit="mg-Chl/m2/s" > RDB_CHN * e3t </field> 
     1156       <field id="RDB_CHN_INV"  field_ref="RDB_CHN_E3T" long_name="RDB_CHN Inventory"                       unit="mg-Chl/m2/s" grid_ref="vert_sum" /> 
     1157       <field id="RDB_CHD"      long_name="Diatom Chl-a-b negative values correction trend"                 unit="mg-Chl/m3/s" /> 
     1158       <field id="RDB_CHD_E3T"  long_name="RDB_CHD * E3T"                                                   unit="mg-Chl/m2/s" > RDB_CHD * e3t </field> 
     1159       <field id="RDB_CHD_INV"  field_ref="RDB_CHD_E3T" long_name="RDB_CHD Inventory"                       unit="mg-Chl/m2/s" grid_ref="vert_sum" /> 
     1160       <field id="RDB_PHN"      long_name="non-diatom phytoplankton-b negative values correction trend"     unit="mmol-N/m3/s" /> 
     1161       <field id="RDB_PHN_E3T"  long_name="RDB_PHN * E3T"                                                   unit="mmol-N/m2/s" > RDB_PHN * e3t </field> 
     1162       <field id="RDB_PHN_INV"  field_ref="RDB_PHN_E3T" long_name="RDB_PHN Inventory"                       unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     1163       <field id="RDB_PHD"      long_name="diatom     phytoplankton-b negative values correction trend"     unit="mmol-N/m3/s" /> 
     1164       <field id="RDB_PHD_E3T"  long_name="RDB_PHD * E3T"                                                   unit="mmol-N/m2/s" > RDB_PHD * e3t </field> 
     1165       <field id="RDB_PHD_INV"  field_ref="RDB_PHD_E3T" long_name="RDB_PHD Inventory"                       unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     1166       <field id="RDB_ZMI"      long_name="micro zooplankton-b negative values correction trend"            unit="mmol-N/m3/s" /> 
     1167       <field id="RDB_ZMI_E3T"  long_name="RDB_ZMI * E3T"                                                   unit="mmol-N/m2/s" > RDB_ZMI * e3t </field> 
     1168       <field id="RDB_ZMI_INV"  field_ref="RDB_ZMI_E3T" long_name="RDB_ZMI Inventory"                       unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     1169       <field id="RDB_ZME"      long_name="meso  zooplankton-b negative values correction trend"            unit="mmol-N/m3/s" /> 
     1170       <field id="RDB_ZME_E3T"  long_name="RDB_ZME * E3T"                                                   unit="mmol-N/m2/s" > RDB_ZME * e3t </field> 
     1171       <field id="RDB_ZME_INV"  field_ref="RDB_ZME_E3T" long_name="RDB_ZME Inventory"                       unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     1172       <field id="RDB_DIN"      long_name="dissolved inorganic nitrogen-b negative values correction trend" unit="mmol-N/m3/s" /> 
     1173       <field id="RDB_DIN_E3T"  long_name="RDB_DIN * E3T"                                                   unit="mmol-N/m2/s" > RDB_DIN * e3t </field> 
     1174       <field id="RDB_DIN_INV"  field_ref="RDB_DIN_E3T" long_name="RDB_DIN Inventory"                       unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     1175       <field id="RDB_SIL"      long_name="dissolved silicic acid-b negative values correction trend"       unit="mmol-Si/m3/s" /> 
     1176       <field id="RDB_SIL_E3T"  long_name="RDB_SIL * E3T"                                                   unit="mmol-Si/m2/s" > RDB_SIL * e3t </field> 
     1177       <field id="RDB_SIL_INV"  field_ref="RDB_SIL_E3T" long_name="RDB_SIL Inventory"                       unit="mmol-Si/m2/s" grid_ref="vert_sum" /> 
     1178       <field id="RDB_FER"      long_name="dissolved iron-b negative values correction trend"               unit="mmol-Fe/m3/s" /> 
     1179       <field id="RDB_FER_E3T"  long_name="RDB_FER * E3T"                                                   unit="mmol-Fe/m2/s" > RDB_FER * e3t </field> 
     1180       <field id="RDB_FER_INV"  field_ref="RDB_FER_E3T" long_name="RDB_FER Inventory"                       unit="mmol-Fe/m2/s" grid_ref="vert_sum" /> 
     1181       <field id="RDB_DET"      long_name="detrital nitrogen-b negative values correction trend"            unit="mmol-N/m3/s" /> 
     1182       <field id="RDB_DET_E3T"  long_name="RDB_DET * E3T"                                                   unit="mmol-N/m2/s" > RDB_DET * e3t </field> 
     1183       <field id="RDB_DET_INV"  field_ref="RDB_DET_E3T" long_name="RDB_DET Inventory"                       unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     1184       <field id="RDB_PDS"      long_name="Diatoms biogenic silicon-b negative values correction trend"     unit="mmol-Si/m3/s" /> 
     1185       <field id="RDB_PDS_E3T"  long_name="RDB_PDS * E3T"                                                   unit="mmol-Si/m2/s" > RDB_PDS * e3t </field> 
     1186       <field id="RDB_PDS_INV"  field_ref="RDB_PDS_E3T" long_name="RDB_PDS Inventory"                       unit="mmol-Si/m2/s" grid_ref="vert_sum" /> 
     1187       <field id="RDB_DTC"      long_name="detrital carbon-b negative values correction trend"              unit="mmol-C/m3/s" /> 
     1188       <field id="RDB_DTC_E3T"  long_name="RDB_DTC * E3T"                                                   unit="mmol-C/m2/s" > RDB_DTC * e3t </field> 
     1189       <field id="RDB_DTC_INV"  field_ref="RDB_DTC_E3T" long_name="RDB_DTC Inventory"                       unit="mmol-C/m2/s" grid_ref="vert_sum" /> 
     1190       <field id="RDB_DiC"      long_name="dissolved inorganic carbon-b negative values correction trend"   unit="mmol-C/m3/s" /> 
     1191       <field id="RDB_DiC_E3T"  long_name="RDB_DiC * E3T"                                                   unit="mmol-C/m2/s" > RDB_DiC * e3t </field> 
     1192       <field id="RDB_DiC_INV"  field_ref="RDB_DiC_E3T" long_name="RDB_DiC Inventory"                       unit="mmol-C/m2/s" grid_ref="vert_sum" /> 
     1193       <field id="RDB_ALK"      long_name="alkalinity-b negative values correction trend"                   unit="meq/m3/s"    /> 
     1194       <field id="RDB_ALK_E3T"  long_name="RDB_ALK * E3T"                                                   unit="meq/m2/s"    > RDB_ALK * e3t </field> 
     1195       <field id="RDB_ALK_INV"  field_ref="RDB_ALK_E3T" long_name="RDB_ALK Inventory"                       unit="meq/m2/s" grid_ref="vert_sum" /> 
     1196       <field id="RDB_OXY"      long_name="dissolved oxygen-b negative values correction trend"             unit="mmol-O2/m3/s" /> 
     1197       <field id="RDB_OXY_E3T"  long_name="RDB_OXY * E3T"                                                   unit="mmol-O2/m2/s" > RDB_OXY * e3t </field> 
     1198       <field id="RDB_OXY_INV"  field_ref="RDB_OXY_E3T" long_name="RDB_OXY Inventory"                       unit="mmol-O2/m2/s" grid_ref="vert_sum" /> 
     1199       <!-- trd case: jptra_radn --> 
     1200       <field id="RDN_CHN"      long_name="Non-diatom Chl-a-n negative values correction trend"             unit="mg-Chl/m3/s" /> 
     1201       <field id="RDN_CHN_E3T"  long_name="RDN_CHN * E3T"                                                   unit="mg-Chl/m2/s" > RDN_CHN * e3t </field> 
     1202       <field id="RDN_CHN_INV"  field_ref="RDN_CHN_E3T" long_name="RDN_CHN Inventory"                       unit="mg-Chl/m2/s" grid_ref="vert_sum" /> 
     1203       <field id="RDN_CHD"      long_name="Diatom Chl-a-n negative values correction trend"                 unit="mg-Chl/m3/s" /> 
     1204       <field id="RDN_CHD_E3T"  long_name="RDN_CHD * E3T"                                                   unit="mg-Chl/m2/s" > RDN_CHD * e3t </field> 
     1205       <field id="RDN_CHD_INV"  field_ref="RDN_CHD_E3T" long_name="RDN_CHD Inventory"                       unit="mg-Chl/m2/s" grid_ref="vert_sum" /> 
     1206       <field id="RDN_PHN"      long_name="non-diatom phytoplankton-n negative values correction trend"     unit="mmol-N/m3/s" /> 
     1207       <field id="RDN_PHN_E3T"  long_name="RDN_PHN * E3T"                                                   unit="mmol-N/m2/s" > RDN_PHN * e3t </field> 
     1208       <field id="RDN_PHN_INV"  field_ref="RDN_PHN_E3T" long_name="RDN_PHN Inventory"                       unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     1209       <field id="RDN_PHD"      long_name="diatom     phytoplankton-n negative values correction trend"     unit="mmol-N/m3/s" /> 
     1210       <field id="RDN_PHD_E3T"  long_name="RDN_PHD * E3T"                                                   unit="mmol-N/m2/s" > RDN_PHD * e3t </field> 
     1211       <field id="RDN_PHD_INV"  field_ref="RDN_PHD_E3T" long_name="RDN_PHD Inventory"                       unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     1212       <field id="RDN_ZMI"      long_name="micro zooplankton-n negative values correction trend"            unit="mmol-N/m3/s" /> 
     1213       <field id="RDN_ZMI_E3T"  long_name="RDN_ZMI * E3T"                                                   unit="mmol-N/m2/s" > RDN_ZMI * e3t </field> 
     1214       <field id="RDN_ZMI_INV"  field_ref="RDN_ZMI_E3T" long_name="RDN_ZMI Inventory"                       unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     1215       <field id="RDN_ZME"      long_name="meso  zooplankton-n negative values correction trend"            unit="mmol-N/m3/s" /> 
     1216       <field id="RDN_ZME_E3T"  long_name="RDN_ZME * E3T"                                                   unit="mmol-N/m2/s" > RDN_ZME * e3t </field> 
     1217       <field id="RDN_ZME_INV"  field_ref="RDN_ZME_E3T" long_name="RDN_ZME Inventory"                       unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     1218       <field id="RDN_DIN"      long_name="dissolved inorganic nitrogen-n negative values correction trend" unit="mmol-N/m3/s" /> 
     1219       <field id="RDN_DIN_E3T"  long_name="RDN_DIN * E3T"                                                   unit="mmol-N/m2/s" > RDN_DIN * e3t </field> 
     1220       <field id="RDN_DIN_INV"  field_ref="RDN_DIN_E3T" long_name="RDN_DIN Inventory"                       unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     1221       <field id="RDN_SIL"      long_name="dissolved silicic acid-n negative values correction trend"       unit="mmol-Si/m3/s" /> 
     1222       <field id="RDN_SIL_E3T"  long_name="RDN_SIL * E3T"                                                   unit="mmol-Si/m2/s" > RDN_SIL * e3t </field> 
     1223       <field id="RDN_SIL_INV"  field_ref="RDN_SIL_E3T" long_name="RDN_SIL Inventory"                       unit="mmol-Si/m2/s" grid_ref="vert_sum" /> 
     1224       <field id="RDN_FER"      long_name="dissolved iron-n negative values correction trend"               unit="mmol-Fe/m3/s" /> 
     1225       <field id="RDN_FER_E3T"  long_name="RDN_FER * E3T"                                                   unit="mmol-Fe/m2/s" > RDN_FER * e3t </field> 
     1226       <field id="RDN_FER_INV"  field_ref="RDN_FER_E3T" long_name="RDN_FER Inventory"                       unit="mmol-Fe/m2/s" grid_ref="vert_sum" /> 
     1227       <field id="RDN_DET"      long_name="detrital nitrogen-n negative values correction trend"            unit="mmol-N/m3/s" /> 
     1228       <field id="RDN_DET_E3T"  long_name="RDN_DET * E3T"                                                   unit="mmol-N/m2/s" > RDN_DET * e3t </field> 
     1229       <field id="RDN_DET_INV"  field_ref="RDN_DET_E3T" long_name="RDN_DET Inventory"                       unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     1230       <field id="RDN_PDS"      long_name="Diatoms biogenic silicon-n negative values correction trend"     unit="mmol-Si/m3/s" /> 
     1231       <field id="RDN_PDS_E3T"  long_name="RDN_PDS * E3T"                                                   unit="mmol-Si/m2/s" > RDN_PDS * e3t </field> 
     1232       <field id="RDN_PDS_INV"  field_ref="RDN_PDS_E3T" long_name="RDN_PDS Inventory"                       unit="mmol-Si/m2/s" grid_ref="vert_sum" /> 
     1233       <field id="RDN_DTC"      long_name="detrital carbon-n negative values correction trend"              unit="mmol-C/m3/s" /> 
     1234       <field id="RDN_DTC_E3T"  long_name="RDN_DTC * E3T"                                                   unit="mmol-C/m2/s" > RDN_DTC * e3t </field> 
     1235       <field id="RDN_DTC_INV"  field_ref="RDN_DTC_E3T" long_name="RDN_DTC Inventory"                       unit="mmol-C/m2/s" grid_ref="vert_sum" /> 
     1236       <field id="RDN_DiC"      long_name="dissolved inorganic carbon-n negative values correction trend"   unit="mmol-C/m3/s" /> 
     1237       <field id="RDN_DiC_E3T"  long_name="RDN_DiC * E3T"                                                   unit="mmol-C/m2/s" > RDN_DiC * e3t </field> 
     1238       <field id="RDN_DiC_INV"  field_ref="RDN_DiC_E3T" long_name="RDN_DiC Inventory"                       unit="mmol-C/m2/s" grid_ref="vert_sum" /> 
     1239       <field id="RDN_ALK"      long_name="alkalinity-n negative values correction trend"                   unit="meq/m3/s"    /> 
     1240       <field id="RDN_ALK_E3T"  long_name="RDN_ALK * E3T"                                                   unit="meq/m2/s"    > RDN_ALK * e3t </field> 
     1241       <field id="RDN_ALK_INV"  field_ref="RDN_ALK_E3T" long_name="RDN_ALK Inventory"                       unit="meq/m2/s" grid_ref="vert_sum" /> 
     1242       <field id="RDN_OXY"      long_name="dissolved oxygen-n negative values correction trend"             unit="mmol-O2/m3/s" /> 
     1243       <field id="RDN_OXY_E3T"  long_name="RDN_OXY * E3T"                                                   unit="mmol-O2/m2/s" > RDN_OXY * e3t </field> 
     1244       <field id="RDN_OXY_INV"  field_ref="RDN_OXY_E3T" long_name="RDN_OXY Inventory"                       unit="mmol-O2/m2/s" grid_ref="vert_sum" /> 
     1245       <!-- trd case: jptra_iso --> 
     1246       <field id="ISO_CHN"      long_name="Non-diatom Chl-a Isopycnal Mixing Trend"             unit="mg-Chl/m3/s" > LDF_CHN + ZDF_CHN - ZDP_CHN  </field> 
     1247       <field id="ISO_CHN_E3T"  long_name="ISO_CHN * E3T"                                       unit="mg-Chl/m2/s" > ISO_CHN * e3t </field> 
     1248       <field id="ISO_CHN_INV"  field_ref="ISO_CHN_E3T" long_name="ISO_CHN Inventory"           unit="mg-Chl/m2/s" grid_ref="vert_sum" /> 
     1249       <field id="ISO_CHD"      long_name="Diatom Chl-a Isopycnal Mixing Trend"                 unit="mg-Chl/m3/s" > LDF_CHD + ZDF_CHD - ZDP_CHD  </field> 
     1250       <field id="ISO_CHD_E3T"  long_name="ISO_CHD * E3T"                                       unit="mg-Chl/m2/s" > ISO_CHD * e3t </field> 
     1251       <field id="ISO_CHD_INV"  field_ref="ISO_CHD_E3T" long_name="ISO_CHD Inventory"           unit="mg-Chl/m2/s" grid_ref="vert_sum" /> 
     1252       <field id="ISO_PHN"      long_name="non-diatom phytoplankton Isopycnal Mixing Trend"     unit="mmol-N/m3/s" > LDF_PHN + ZDF_PHN - ZDP_PHN  </field> 
     1253       <field id="ISO_PHN_E3T"  long_name="ISO_PHN * E3T"                                       unit="mmol-N/m2/s" > ISO_PHN * e3t </field> 
     1254       <field id="ISO_PHN_INV"  field_ref="ISO_PHN_E3T" long_name="ISO_PHN Inventory"           unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     1255       <field id="ISO_PHD"      long_name="diatom     phytoplankton Isopycnal Mixing Trend"     unit="mmol-N/m3/s" > LDF_PHD + ZDF_PHD - ZDP_PHD  </field> 
     1256       <field id="ISO_PHD_E3T"  long_name="ISO_PHD * E3T"                                       unit="mmol-N/m2/s" > ISO_PHD * e3t </field> 
     1257       <field id="ISO_PHD_INV"  field_ref="ISO_PHD_E3T" long_name="ISO_PHD Inventory"           unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     1258       <field id="ISO_ZMI"      long_name="micro zooplankton Isopycnal Mixing Trend"            unit="mmol-N/m3/s" > LDF_ZMI + ZDF_ZMI - ZDP_ZMI  </field> 
     1259       <field id="ISO_ZMI_E3T"  long_name="ISO_ZMI * E3T"                                       unit="mmol-N/m2/s" > ISO_ZMI * e3t </field> 
     1260       <field id="ISO_ZMI_INV"  field_ref="ISO_ZMI_E3T" long_name="ISO_ZMI Inventory"           unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     1261       <field id="ISO_ZME"      long_name="meso  zooplankton Isopycnal Mixing Trend"            unit="mmol-N/m3/s" > LDF_ZME + ZDF_ZME - ZDP_ZME  </field> 
     1262       <field id="ISO_ZME_E3T"  long_name="ISO_ZME * E3T"                                       unit="mmol-N/m2/s" > ISO_ZME * e3t </field> 
     1263       <field id="ISO_ZME_INV"  field_ref="ISO_ZME_E3T" long_name="ISO_ZME Inventory"           unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     1264       <field id="ISO_DIN"      long_name="dissolved inorganic nitrogen Isopycnal Mixing Trend" unit="mmol-N/m3/s" > LDF_DIN + ZDF_DIN - ZDP_DIN  </field> 
     1265       <field id="ISO_DIN_E3T"  long_name="ISO_DIN * E3T"                                       unit="mmol-N/m2/s" > ISO_DIN * e3t </field> 
     1266       <field id="ISO_DIN_INV"  field_ref="ISO_DIN_E3T" long_name="ISO_DIN Inventory"           unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     1267       <field id="ISO_SIL"      long_name="dissolved silicic acid Isopycnal Mixing Trend"       unit="mmol-Si/m3/s" > LDF_SIL + ZDF_SIL - ZDP_SIL  </field> 
     1268       <field id="ISO_SIL_E3T"  long_name="ISO_SIL * E3T"                                       unit="mmol-Si/m2/s" > ISO_SIL * e3t </field> 
     1269       <field id="ISO_SIL_INV"  field_ref="ISO_SIL_E3T" long_name="ISO_SIL Inventory"           unit="mmol-Si/m2/s" grid_ref="vert_sum" /> 
     1270       <field id="ISO_FER"      long_name="dissolved iron Isopycnal Mixing Trend"               unit="mmol-Fe/m3/s" > LDF_FER + ZDF_FER - ZDP_FER  </field> 
     1271       <field id="ISO_FER_E3T"  long_name="ISO_FER * E3T"                                       unit="mmol-Fe/m2/s" > ISO_FER * e3t </field> 
     1272       <field id="ISO_FER_INV"  field_ref="ISO_FER_E3T" long_name="ISO_FER Inventory"           unit="mmol-Fe/m2/s" grid_ref="vert_sum" /> 
     1273       <field id="ISO_DET"      long_name="detrital nitrogen Isopycnal Mixing Trend"            unit="mmol-N/m3/s" > LDF_DET + ZDF_DET - ZDP_DET  </field> 
     1274       <field id="ISO_DET_E3T"  long_name="ISO_DET * E3T"                                       unit="mmol-N/m2/s" > ISO_DET * e3t </field> 
     1275       <field id="ISO_DET_INV"  field_ref="ISO_DET_E3T" long_name="ISO_DET Inventory"           unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     1276       <field id="ISO_PDS"      long_name="Diatoms biogenic silicon Isopycnal Mixing Trend"     unit="mmol-Si/m3/s" > LDF_PDS + ZDF_PDS - ZDP_PDS  </field> 
     1277       <field id="ISO_PDS_E3T"  long_name="ISO_PDS * E3T"                                       unit="mmol-Si/m2/s" > ISO_PDS * e3t </field> 
     1278       <field id="ISO_PDS_INV"  field_ref="ISO_PDS_E3T" long_name="ISO_PDS Inventory"           unit="mmol-Si/m2/s" grid_ref="vert_sum" /> 
     1279       <field id="ISO_DTC"      long_name="detrital carbon Isopycnal Mixing Trend"              unit="mmol-C/m3/s" > LDF_DTC + ZDF_DTC - ZDP_DTC  </field> 
     1280       <field id="ISO_DTC_E3T"  long_name="ISO_DTC * E3T"                                       unit="mmol-C/m2/s" > ISO_DTC * e3t </field> 
     1281       <field id="ISO_DTC_INV"  field_ref="ISO_DTC_E3T" long_name="ISO_DTC Inventory"           unit="mmol-C/m2/s" grid_ref="vert_sum" /> 
     1282       <field id="ISO_DiC"      long_name="dissolved inorganic carbon Isopycnal Mixing Trend"   unit="mmol-C/m3/s" > LDF_DiC + ZDF_DiC - ZDP_DiC  </field> 
     1283       <field id="ISO_DiC_E3T"  long_name="ISO_DiC * E3T"                                       unit="mmol-C/m2/s" > ISO_DiC * e3t </field> 
     1284       <field id="ISO_DiC_INV"  field_ref="ISO_DiC_E3T" long_name="ISO_DiC Inventory"           unit="mmol-C/m2/s" grid_ref="vert_sum" /> 
     1285       <field id="ISO_ALK"      long_name="alkalinity Isopycnal Mixing Trend"                   unit="meq/m3/s"    > LDF_ALK + ZDF_ALK - ZDP_ALK  </field> 
     1286       <field id="ISO_ALK_E3T"  long_name="ISO_ALK * E3T"                                       unit="meq/m2/s"    > ISO_ALK * e3t </field> 
     1287       <field id="ISO_ALK_INV"  field_ref="ISO_ALK_E3T" long_name="ISO_ALK Inventory"           unit="meq/m2/s" grid_ref="vert_sum" /> 
     1288       <field id="ISO_OXY"      long_name="dissolved oxygen Isopycnal Mixing Trend"             unit="mmol-O2/m3/s" > LDF_OXY + ZDF_OXY - ZDP_OXY  </field> 
     1289       <field id="ISO_OXY_E3T"  long_name="ISO_OXY * E3T"                                       unit="mmol-O2/m2/s" > ISO_OXY * e3t </field> 
     1290       <field id="ISO_OXY_INV"  field_ref="ISO_OXY_E3T" long_name="ISO_OXY Inventory"           unit="mmol-O2/m2/s" grid_ref="vert_sum" /> 
     1291 
     1292      <!-- Ideal traceurs : variables available with key_idtra --> 
     1293       <field id="XAD_IDTRA"      long_name="Ideal tracer X-Advection Trend"                  unit="mmol/m3/s" /> 
     1294       <field id="XAD_IDTRA_E3T"  long_name="XAD_IDTRA * E3T"                                 unit="mmol/m2/s" > XAD_IDTRA * e3t </field> 
     1295       <field id="XAD_IDTRA_INV"  field_ref="XAD_IDTRA_E3T"  long_name="XAD_IDTRA Inventory"  unit="mmol/m2/s" grid_ref="vert_sum" /> 
     1296       <field id="YAD_IDTRA"      long_name="Ideal tracer Y-Advection Trend"                  unit="mmol/m3/s" /> 
     1297       <field id="YAD_IDTRA_E3T"  long_name="YAD_IDTRA * E3T"                                 unit="mmol/m2/s" > YAD_IDTRA * e3t </field> 
     1298       <field id="YAD_IDTRA_INV"  field_ref="YAD_IDTRA_E3T"  long_name="YAD_IDTRA Inventory"  unit="mmol/m2/s" grid_ref="vert_sum" /> 
     1299       <field id="ZAD_IDTRA"      long_name="Ideal tracer Z-Advection Trend"                  unit="mmol/m3/s" /> 
     1300       <field id="ZAD_IDTRA_E3T"  long_name="ZAD_IDTRA * E3T"                                 unit="mmol/m2/s" > ZAD_IDTRA * e3t </field> 
     1301       <field id="ZAD_IDTRA_INV"  field_ref="ZAD_IDTRA_E3T"  long_name="ZAD_IDTRA Inventory"  unit="mmol/m2/s" grid_ref="vert_sum" /> 
     1302       <field id="TAD_IDTRA"      long_name="Ideal tracer Total Advection Trend"              unit="mmol/m3/s" /> 
     1303       <field id="TAD_IDTRA_E3T"  long_name="TAD_IDTRA * E3T"                                 unit="mmol/m2/s" > TAD_IDTRA * e3t </field> 
     1304       <field id="TAD_IDTRA_INV"  field_ref="TAD_IDTRA_E3T"  long_name="TAD_IDTRA Inventory"  unit="mmol/m2/s" grid_ref="vert_sum" /> 
     1305       <field id="LDF_IDTRA"      long_name="Ideal tracer Lateral Mixing Trend"               unit="mmol/m3/s" /> 
     1306       <field id="LDF_IDTRA_E3T"  long_name="LDF_IDTRA * E3T"                                 unit="mmol/m2/s" > LDF_IDTRA * e3t </field> 
     1307       <field id="LDF_IDTRA_INV"  field_ref="LDF_IDTRA_E3T"  long_name="LDF_IDTRA Inventory"  unit="mmol/m2/s" grid_ref="vert_sum" /> 
     1308       <field id="BBL_IDTRA"      long_name="Ideal tracer Bottom Boundary Trend"              unit="mmol/m3/s" /> 
     1309       <field id="BBL_IDTRA_E3T"  long_name="BBL_IDTRA * E3T"                                 unit="mmol/m2/s" > BBL_IDTRA * e3t </field> 
     1310       <field id="BBL_IDTRA_INV"  field_ref="BBL_IDTRA_E3T"  long_name="BBL_IDTRA Inventory"  unit="mmol/m2/s" grid_ref="vert_sum" /> 
     1311       <field id="FOR_IDTRA"      long_name="Ideal tracer Surface Boundary Trend"             unit="mmol/m3/s" /> 
     1312       <field id="FOR_IDTRA_E3T"  long_name="FOR_IDTRA * E3T"                                 unit="mmol/m2/s" > FOR_IDTRA * e3t </field> 
     1313       <field id="FOR_IDTRA_INV"  field_ref="FOR_IDTRA_E3T"  long_name="FOR_IDTRA Inventory"  unit="mmol/m2/s" grid_ref="vert_sum" /> 
     1314       <field id="ZDF_IDTRA"      long_name="Ideal tracer Vertical Mixing Trend"              unit="mmol/m3/s" /> 
     1315       <field id="ZDF_IDTRA_E3T"  long_name="ZDF_IDTRA * E3T"                                 unit="mmol/m2/s" > ZDF_IDTRA * e3t </field> 
     1316       <field id="ZDF_IDTRA_INV"  field_ref="ZDF_IDTRA_E3T"  long_name="ZDF_IDTRA Inventory"  unit="mmol/m2/s" grid_ref="vert_sum" /> 
     1317       <field id="ZDP_IDTRA"      long_name="Ideal tracer Kz Diffusive Trend"                 unit="mmol/m3/s" /> 
     1318       <field id="ZDP_IDTRA_E3T"  long_name="ZDP_IDTRA * E3T"                                 unit="mmol/m2/s" > ZDP_IDTRA * e3t </field> 
     1319       <field id="ZDP_IDTRA_INV"  field_ref="ZDP_IDTRA_E3T"  long_name="ZDP_IDTRA Inventory"  unit="mmol/m2/s" grid_ref="vert_sum" /> 
     1320       <field id="DMP_IDTRA"      long_name="Ideal tracer Damping Trend"                      unit="mmol/m3/s" /> 
     1321       <field id="DMP_IDTRA_E3T"  long_name="DMP_IDTRA * E3T"                                 unit="mmol/m2/s" > DMP_IDTRA * e3t </field> 
     1322       <field id="DMP_IDTRA_INV"  field_ref="DMP_IDTRA_E3T"  long_name="DMP_IDTRA Inventory"  unit="mmol/m2/s" grid_ref="vert_sum" /> 
     1323       <field id="SMS_IDTRA"      long_name="Ideal tracer Sources Minus Sinks Trend"          unit="mmol/m3/s" /> 
     1324       <field id="SMS_IDTRA_E3T"  long_name="SMS_IDTRA * E3T"                                 unit="mmol/m2/s" > SMS_IDTRA * e3t </field> 
     1325       <field id="SMS_IDTRA_INV"  field_ref="SMS_IDTRA_E3T"  long_name="SMS_IDTRA Inventory"  unit="mmol/m2/s" grid_ref="vert_sum" /> 
     1326       <field id="RDB_IDTRA"      long_name="Ideal tracer-b negative values correction trend" unit="mmol/m3/s" /> 
     1327       <field id="RDB_IDTRA_E3T"  long_name="RDB_IDTRA * E3T"                                 unit="mmol/m2/s" > RDB_IDTRA * e3t </field> 
     1328       <field id="RDB_IDTRA_INV"  field_ref="RDB_IDTRA_E3T"  long_name="RDB_IDTRA Inventory"  unit="mmol/m2/s" grid_ref="vert_sum" /> 
     1329       <field id="RDN_IDTRA"      long_name="Ideal tracer-n negative values correction trend" unit="mmol/m3/s" /> 
     1330       <field id="RDN_IDTRA_E3T"  long_name="RDN_IDTRA * E3T"                                 unit="mmol/m2/s" > RDN_IDTRA * e3t </field> 
     1331       <field id="RDN_IDTRA_INV"  field_ref="RDN_IDTRA_E3T"  long_name="RDN_IDTRA Inventory"  unit="mmol/m2/s" grid_ref="vert_sum" /> 
     1332       <field id="ISO_IDTRA"      long_name="Ideal tracer Isopycnal Mixing Trend"             unit="mmol/m3/s" > LDF_IDTRA + ZDF_IDTRA - ZDP_IDTRA  </field> 
     1333       <field id="ISO_IDTRA_E3T"  long_name="ISO_IDTRA * E3T"                                 unit="mmol/m2/s" > ISO_IDTRA * e3t </field> 
     1334       <field id="ISO_IDTRA_INV"  field_ref="ISO_IDTRA_E3T"  long_name="ISO_IDTRA Inventory"  unit="mmol/m2/s" grid_ref="vert_sum" /> 
     1335 
     1336       <!-- CFC11 : variables available with key_cfc --> 
     1337       <field id="XAD_CFC11"      long_name="CFC11 X-Advection Trend"                       unit="umol/m3/s" /> 
     1338       <field id="XAD_CFC11_E3T"  long_name="XAD_CFC11 * E3T"                               unit="umol/m2/s" > XAD_CFC11 * e3t </field> 
     1339       <field id="XAD_CFC11_INV"  field_ref="XAD_CFC11_E3T" long_name="XAD_CFC11 Inventory" unit="umol/m2/s" grid_ref="vert_sum" /> 
     1340       <field id="YAD_CFC11"      long_name="CFC11 Y-Advection Trend"                       unit="umol/m3/s" /> 
     1341       <field id="YAD_CFC11_E3T"  long_name="YAD_CFC11 * E3T"                               unit="umol/m2/s" > YAD_CFC11 * e3t </field> 
     1342       <field id="YAD_CFC11_INV"  field_ref="YAD_CFC11_E3T" long_name="YAD_CFC11 Inventory" unit="umol/m2/s" grid_ref="vert_sum" /> 
     1343       <field id="ZAD_CFC11"      long_name="CFC11 Z-Advection Trend"                       unit="umol/m3/s" /> 
     1344       <field id="ZAD_CFC11_E3T"  long_name="ZAD_CFC11 * E3T"                               unit="umol/m2/s" > ZAD_CFC11 * e3t </field> 
     1345       <field id="ZAD_CFC11_INV"  field_ref="ZAD_CFC11_E3T" long_name="ZAD_CFC11 Inventory" unit="umol/m2/s" grid_ref="vert_sum" /> 
     1346       <field id="TAD_CFC11"      long_name="CFC11 Total Advection Trend"                   unit="umol/m3/s" /> 
     1347       <field id="TAD_CFC11_E3T"  long_name="TAD_CFC11 * E3T"                               unit="umol/m2/s" > TAD_CFC11 * e3t </field> 
     1348       <field id="TAD_CFC11_INV"  field_ref="TAD_CFC11_E3T" long_name="TAD_CFC11 Inventory" unit="umol/m2/s" grid_ref="vert_sum" /> 
     1349       <field id="LDF_CFC11"      long_name="CFC11 Lateral Mixing Trend"                    unit="umol/m3/s" /> 
     1350       <field id="LDF_CFC11_E3T"  long_name="LDF_CFC11 * E3T"                               unit="umol/m2/s" > LDF_CFC11 * e3t </field> 
     1351       <field id="LDF_CFC11_INV"  field_ref="LDF_CFC11_E3T" long_name="LDF_CFC11 Inventory" unit="umol/m2/s" grid_ref="vert_sum" /> 
     1352       <field id="BBL_CFC11"      long_name="CFC11 Bottom Boundary Trend"                   unit="umol/m3/s" /> 
     1353       <field id="BBL_CFC11_E3T"  long_name="BBL_CFC11 * E3T"                               unit="umol/m2/s" > BBL_CFC11 * e3t </field> 
     1354       <field id="BBL_CFC11_INV"  field_ref="BBL_CFC11_E3T" long_name="BBL_CFC11 Inventory" unit="umol/m2/s" grid_ref="vert_sum" /> 
     1355       <field id="FOR_CFC11"      long_name="CFC11 Surface Boundary Trend"                  unit="umol/m3/s" /> 
     1356       <field id="FOR_CFC11_E3T"  long_name="FOR_CFC11 * E3T"                               unit="umol/m2/s" > FOR_CFC11 * e3t </field> 
     1357       <field id="FOR_CFC11_INV"  field_ref="FOR_CFC11_E3T" long_name="FOR_CFC11 Inventory" unit="umol/m2/s" grid_ref="vert_sum" /> 
     1358       <field id="ZDF_CFC11"      long_name="CFC11 Vertical Mixing Trend"                   unit="umol/m3/s" /> 
     1359       <field id="ZDF_CFC11_E3T"  long_name="ZDF_CFC11 * E3T"                               unit="umol/m2/s" > ZDF_CFC11 * e3t </field> 
     1360       <field id="ZDF_CFC11_INV"  field_ref="ZDF_CFC11_E3T" long_name="ZDF_CFC11 Inventory" unit="umol/m2/s" grid_ref="vert_sum" /> 
     1361       <field id="ZDP_CFC11"      long_name="CFC11 Kz Diffusive Trend"                      unit="umol/m3/s" /> 
     1362       <field id="ZDP_CFC11_E3T"  long_name="ZDP_CFC11 * E3T"                               unit="umol/m2/s" > ZDP_CFC11 * e3t </field> 
     1363       <field id="ZDP_CFC11_INV"  field_ref="ZDP_CFC11_E3T" long_name="ZDP_CFC11 Inventory" unit="umol/m2/s" grid_ref="vert_sum" /> 
     1364       <field id="DMP_CFC11"      long_name="CFC11 Damping Trend"                           unit="umol/m3/s" /> 
     1365       <field id="DMP_CFC11_E3T"  long_name="DMP_CFC11 * E3T"                               unit="umol/m2/s" > DMP_CFC11 * e3t </field> 
     1366       <field id="DMP_CFC11_INV"  field_ref="DMP_CFC11_E3T" long_name="DMP_CFC11 Inventory" unit="umol/m2/s" grid_ref="vert_sum" /> 
     1367       <field id="SMS_CFC11"      long_name="CFC11 Sources Minus Sinks Trend"               unit="umol/m3/s" /> 
     1368       <field id="SMS_CFC11_E3T"  long_name="SMS_CFC11 * E3T"                               unit="umol/m2/s" > SMS_CFC11 * e3t </field> 
     1369       <field id="SMS_CFC11_INV"  field_ref="SMS_CFC11_E3T" long_name="SMS_CFC11 Inventory" unit="umol/m2/s" grid_ref="vert_sum" /> 
     1370       <field id="RDB_CFC11"      long_name="CFC11-b negative values correction trend"      unit="umol/m3/s" /> 
     1371       <field id="RDB_CFC11_E3T"  long_name="RDB_CFC11 * E3T"                               unit="umol/m2/s" > RDB_CFC11 * e3t </field> 
     1372       <field id="RDB_CFC11_INV"  field_ref="RDB_CFC11_E3T" long_name="RDB_CFC11 Inventory" unit="umol/m2/s" grid_ref="vert_sum" /> 
     1373       <field id="RDN_CFC11"      long_name="CFC11-n negative values correction trend"      unit="umol/m3/s" /> 
     1374       <field id="RDN_CFC11_E3T"  long_name="RDN_CFC11 * E3T"                               unit="umol/m2/s" > RDN_CFC11 * e3t </field> 
     1375       <field id="RDN_CFC11_INV"  field_ref="RDN_CFC11_E3T" long_name="RDN_CFC11 Inventory" unit="umol/m2/s" grid_ref="vert_sum" /> 
     1376       <field id="ISO_CFC11"      long_name="CFC11 Isopycnal Mixing Trend"                  unit="umol/m3/s" > LDF_CFC11 + ZDF_CFC11 - ZDP_CFC11  </field> 
     1377       <field id="ISO_CFC11_E3T"  long_name="ISO_CFC11 * E3T"                               unit="umol/m2/s" > ISO_CFC11 * e3t </field> 
     1378       <field id="ISO_CFC11_INV"  field_ref="ISO_CFC11_E3T" long_name="ISO_CFC11 Inventory" unit="umol/m2/s" grid_ref="vert_sum" /> 
     1379 
     1380       <!-- CFC12 : variables available with key_cfc --> 
     1381       <field id="XAD_CFC12"      long_name="CFC12 X-Advection Trend"                         unit="umol/m3/s" /> 
     1382       <field id="XAD_CFC12_E3T"  long_name="XAD_CFC12 * E3T"                                 unit="umol/m2/s" > XAD_CFC12 * e3t </field> 
     1383       <field id="XAD_CFC12_INV"  field_ref="XAD_CFC12_E3T"  long_name="XAD_CFC12 Inventory"  unit="umol/m2/s" grid_ref="vert_sum" /> 
     1384       <field id="YAD_CFC12"      long_name="CFC12 Y-Advection Trend"                         unit="umol/m3/s" /> 
     1385       <field id="YAD_CFC12_E3T"  long_name="YAD_CFC12 * E3T"                                 unit="umol/m2/s" > YAD_CFC12 * e3t </field> 
     1386       <field id="YAD_CFC12_INV"  field_ref="YAD_CFC12_E3T"  long_name="YAD_CFC12 Inventory"  unit="umol/m2/s" grid_ref="vert_sum" /> 
     1387       <field id="ZAD_CFC12"      long_name="CFC12 Z-Advection Trend"                         unit="umol/m3/s" /> 
     1388       <field id="ZAD_CFC12_E3T"  long_name="ZAD_CFC12 * E3T"                                 unit="umol/m2/s" > ZAD_CFC12 * e3t </field> 
     1389       <field id="ZAD_CFC12_INV"  field_ref="ZAD_CFC12_E3T"  long_name="ZAD_CFC12 Inventory"  unit="umol/m2/s" grid_ref="vert_sum" /> 
     1390       <field id="TAD_CFC12"      long_name="CFC12 Total Advection Trend"                     unit="umol/m3/s" /> 
     1391       <field id="TAD_CFC12_E3T"  long_name="TAD_CFC12 * E3T"                                 unit="umol/m2/s" > TAD_CFC12 * e3t </field> 
     1392       <field id="TAD_CFC12_INV"  field_ref="TAD_CFC12_E3T"  long_name="TAD_CFC12 Inventory"  unit="umol/m2/s" grid_ref="vert_sum" /> 
     1393       <field id="LDF_CFC12"      long_name="CFC12 Lateral Mixing Trend"                      unit="umol/m3/s" /> 
     1394       <field id="LDF_CFC12_E3T"  long_name="LDF_CFC12 * E3T"                                 unit="umol/m2/s" > LDF_CFC12 * e3t </field> 
     1395       <field id="LDF_CFC12_INV"  field_ref="LDF_CFC12_E3T"  long_name="LDF_CFC12 Inventory"  unit="umol/m2/s" grid_ref="vert_sum" /> 
     1396       <field id="BBL_CFC12"      long_name="CFC12 Bottom Boundary Trend"                     unit="umol/m3/s" /> 
     1397       <field id="BBL_CFC12_E3T"  long_name="BBL_CFC12 * E3T"                                 unit="umol/m2/s" > BBL_CFC12 * e3t </field> 
     1398       <field id="BBL_CFC12_INV"  field_ref="BBL_CFC12_E3T"  long_name="BBL_CFC12 Inventory"  unit="umol/m2/s" grid_ref="vert_sum" /> 
     1399       <field id="FOR_CFC12"      long_name="CFC12 Surface Boundary Trend"                    unit="umol/m3/s" /> 
     1400       <field id="FOR_CFC12_E3T"  long_name="FOR_CFC12 * E3T"                                 unit="umol/m2/s" > FOR_CFC12 * e3t </field> 
     1401       <field id="FOR_CFC12_INV"  field_ref="FOR_CFC12_E3T"  long_name="FOR_CFC12 Inventory"  unit="umol/m2/s" grid_ref="vert_sum" /> 
     1402       <field id="ZDF_CFC12"      long_name="CFC12 Vertical Mixing Trend"                     unit="umol/m3/s" /> 
     1403       <field id="ZDF_CFC12_E3T"  long_name="ZDF_CFC12 * E3T"                                 unit="umol/m2/s" > ZDF_CFC12 * e3t </field> 
     1404       <field id="ZDF_CFC12_INV"  field_ref="ZDF_CFC12_E3T"  long_name="ZDF_CFC12 Inventory"  unit="umol/m2/s" grid_ref="vert_sum" /> 
     1405       <field id="ZDP_CFC12"      long_name="CFC12 Kz Diffusive Trend"                        unit="umol/m3/s" /> 
     1406       <field id="ZDP_CFC12_E3T"  long_name="ZDP_CFC12 * E3T"                                 unit="umol/m2/s" > ZDP_CFC12 * e3t </field> 
     1407       <field id="ZDP_CFC12_INV"  field_ref="ZDP_CFC12_E3T"  long_name="ZDP_CFC12 Inventory"  unit="umol/m2/s" grid_ref="vert_sum" /> 
     1408       <field id="DMP_CFC12"      long_name="CFC12 Damping Trend"                             unit="umol/m3/s" /> 
     1409       <field id="DMP_CFC12_E3T"  long_name="DMP_CFC12 * E3T"                                 unit="umol/m2/s" > DMP_CFC12 * e3t </field> 
     1410       <field id="DMP_CFC12_INV"  field_ref="DMP_CFC12_E3T"  long_name="DMP_CFC12 Inventory"  unit="umol/m2/s" grid_ref="vert_sum" /> 
     1411       <field id="SMS_CFC12"      long_name="CFC12 Sources Minus Sinks Trend"                 unit="umol/m3/s" /> 
     1412       <field id="SMS_CFC12_E3T"  long_name="SMS_CFC12 * E3T"                                 unit="umol/m2/s" > SMS_CFC12 * e3t </field> 
     1413       <field id="SMS_CFC12_INV"  field_ref="SMS_CFC12_E3T"  long_name="SMS_CFC12 Inventory"  unit="umol/m2/s" grid_ref="vert_sum" /> 
     1414       <field id="RDB_CFC12"      long_name="CFC12-b negative values correction trend"        unit="umol/m3/s" /> 
     1415       <field id="RDB_CFC12_E3T"  long_name="RDB_CFC12 * E3T"                                 unit="umol/m2/s" > RDB_CFC12 * e3t </field> 
     1416       <field id="RDB_CFC12_INV"  field_ref="RDB_CFC12_E3T"  long_name="RDB_CFC12 Inventory"  unit="umol/m2/s" grid_ref="vert_sum" /> 
     1417       <field id="RDN_CFC12"      long_name="CFC12-n negative values correction trend"        unit="umol/m3/s" /> 
     1418       <field id="RDN_CFC12_E3T"  long_name="RDN_CFC12 * E3T"                                 unit="umol/m2/s" > RDN_CFC12 * e3t </field> 
     1419       <field id="RDN_CFC12_INV"  field_ref="RDN_CFC12_E3T"  long_name="RDN_CFC12 Inventory"  unit="umol/m2/s" grid_ref="vert_sum" /> 
     1420       <field id="ISO_CFC12"      long_name="CFC12 Isopycnal Mixing Trend"                    unit="umol/m3/s" > LDF_CFC12 + ZDF_CFC12 - ZDP_CFC12  </field> 
     1421       <field id="ISO_CFC12_E3T"  long_name="ISO_CFC12 * E3T"                                 unit="umol/m2/s" > ISO_CFC12 * e3t </field> 
     1422       <field id="ISO_CFC12_INV"  field_ref="ISO_CFC12_E3T"  long_name="ISO_CFC12 Inventory"  unit="umol/m2/s" grid_ref="vert_sum" /> 
     1423 
     1424       <!-- SF6 : variables available with key_cfc --> 
     1425       <field id="XAD_SF6"      long_name="SF6 X-Advection Trend"                      unit="umol/m3/s" /> 
     1426       <field id="XAD_SF6_E3T"  long_name="XAD_SF6 * E3T"                              unit="umol/m2/s" > XAD_SF6 * e3t </field> 
     1427       <field id="XAD_SF6_INV"  field_ref="XAD_SF6_E3T" long_name="XAD_SF6 Inventory"  unit="umol/m2/s" grid_ref="vert_sum" /> 
     1428       <field id="YAD_SF6"      long_name="SF6 Y-Advection Trend"                      unit="umol/m3/s" /> 
     1429       <field id="YAD_SF6_E3T"  long_name="YAD_SF6 * E3T"                              unit="umol/m2/s" > YAD_SF6 * e3t </field> 
     1430       <field id="YAD_SF6_INV"  field_ref="YAD_SF6_E3T" long_name="YAD_SF6 Inventory"  unit="umol/m2/s" grid_ref="vert_sum" /> 
     1431       <field id="ZAD_SF6"      long_name="SF6 Z-Advection Trend"                      unit="umol/m3/s" /> 
     1432       <field id="ZAD_SF6_E3T"  long_name="ZAD_SF6 * E3T"                              unit="umol/m2/s" > ZAD_SF6 * e3t </field> 
     1433       <field id="ZAD_SF6_INV"  field_ref="ZAD_SF6_E3T" long_name="ZAD_SF6 Inventory"  unit="umol/m2/s" grid_ref="vert_sum" /> 
     1434       <field id="TAD_SF6"      long_name="SF6 Total Advection Trend"                  unit="umol/m3/s" /> 
     1435       <field id="TAD_SF6_E3T"  long_name="TAD_SF6 * E3T"                              unit="umol/m2/s" > TAD_SF6 * e3t </field> 
     1436       <field id="TAD_SF6_INV"  field_ref="TAD_SF6_E3T" long_name="TAD_SF6 Inventory"  unit="umol/m2/s" grid_ref="vert_sum" /> 
     1437       <field id="LDF_SF6"      long_name="SF6 Lateral Mixing Trend"                   unit="umol/m3/s" /> 
     1438       <field id="LDF_SF6_E3T"  long_name="LDF_SF6 * E3T"                              unit="umol/m2/s" > LDF_SF6 * e3t </field> 
     1439       <field id="LDF_SF6_INV"  field_ref="LDF_SF6_E3T" long_name="LDF_SF6 Inventory"  unit="umol/m2/s" grid_ref="vert_sum" /> 
     1440       <field id="BBL_SF6"      long_name="SF6 Bottom Boundary Trend"                  unit="umol/m3/s" /> 
     1441       <field id="BBL_SF6_E3T"  long_name="BBL_SF6 * E3T"                              unit="umol/m2/s" > BBL_SF6 * e3t </field> 
     1442       <field id="BBL_SF6_INV"  field_ref="BBL_SF6_E3T" long_name="BBL_SF6 Inventory"  unit="umol/m2/s" grid_ref="vert_sum" /> 
     1443       <field id="FOR_SF6"      long_name="SF6 Surface Boundary Trend"                 unit="umol/m3/s" /> 
     1444       <field id="FOR_SF6_E3T"  long_name="FOR_SF6 * E3T"                              unit="umol/m2/s" > FOR_SF6 * e3t </field> 
     1445       <field id="FOR_SF6_INV"  field_ref="FOR_SF6_E3T" long_name="FOR_SF6 Inventory"  unit="umol/m2/s" grid_ref="vert_sum" /> 
     1446       <field id="ZDF_SF6"      long_name="SF6 Vertical Mixing Trend"                  unit="umol/m3/s" /> 
     1447       <field id="ZDF_SF6_E3T"  long_name="ZDF_SF6 * E3T"                              unit="umol/m2/s" > ZDF_SF6 * e3t </field> 
     1448       <field id="ZDF_SF6_INV"  field_ref="ZDF_SF6_E3T" long_name="ZDF_SF6 Inventory"  unit="umol/m2/s" grid_ref="vert_sum" /> 
     1449       <field id="ZDP_SF6"      long_name="SF6 Kz Diffusive Trend"                     unit="umol/m3/s" /> 
     1450       <field id="ZDP_SF6_E3T"  long_name="ZDP_SF6 * E3T"                              unit="umol/m2/s" > ZDP_SF6 * e3t </field> 
     1451       <field id="ZDP_SF6_INV"  field_ref="ZDP_SF6_E3T" long_name="ZDP_SF6 Inventory"  unit="umol/m2/s" grid_ref="vert_sum" /> 
     1452       <field id="DMP_SF6"      long_name="SF6 Damping Trend"                          unit="umol/m3/s" /> 
     1453       <field id="DMP_SF6_E3T"  long_name="DMP_SF6 * E3T"                              unit="umol/m2/s" > DMP_SF6 * e3t </field> 
     1454       <field id="DMP_SF6_INV"  field_ref="DMP_SF6_E3T" long_name="DMP_SF6 Inventory"  unit="umol/m2/s" grid_ref="vert_sum" /> 
     1455       <field id="SMS_SF6"      long_name="SF6 Sources Minus Sinks Trend"              unit="umol/m3/s" /> 
     1456       <field id="SMS_SF6_E3T"  long_name="SMS_SF6 * E3T"                              unit="umol/m2/s" > SMS_SF6 * e3t </field> 
     1457       <field id="SMS_SF6_INV"  field_ref="SMS_SF6_E3T" long_name="SMS_SF6 Inventory"  unit="umol/m2/s" grid_ref="vert_sum" /> 
     1458       <field id="RDB_SF6"      long_name="SF6-b negative values correction trend"     unit="umol/m3/s" /> 
     1459       <field id="RDB_SF6_E3T"  long_name="RDB_SF6 * E3T"                              unit="umol/m2/s" > RDB_SF6 * e3t </field> 
     1460       <field id="RDB_SF6_INV"  field_ref="RDB_SF6_E3T" long_name="RDB_SF6 Inventory"  unit="umol/m2/s" grid_ref="vert_sum" /> 
     1461       <field id="RDN_SF6"      long_name="SF6-n negative values correction trend"     unit="umol/m3/s" /> 
     1462       <field id="RDN_SF6_E3T"  long_name="RDN_SF6 * E3T"                              unit="umol/m2/s" > RDN_SF6 * e3t </field> 
     1463       <field id="RDN_SF6_INV"  field_ref="RDN_SF6_E3T" long_name="RDN_SF6 Inventory"  unit="umol/m2/s" grid_ref="vert_sum" /> 
     1464       <field id="ISO_SF6"      long_name="SF6 Isopycnal Mixing Trend"                 unit="umol/m3/s" > LDF_SF6 + ZDF_SF6 - ZDP_SF6  </field> 
     1465       <field id="ISO_SF6_E3T"  long_name="ISO_SF6 * E3T"                              unit="umol/m2/s" > ISO_SF6 * e3t </field> 
     1466       <field id="ISO_SF6_INV"  field_ref="ISO_SF6_E3T" long_name="ISO_SF6 Inventory"  unit="umol/m2/s" grid_ref="vert_sum" /> 
     1467 
     1468       <!-- Bomb C14 : variables available with key_c14b --> 
     1469       <field id="XAD_C14B"      long_name="Bomb C14 X-Advection Trend"                     unit="1/s" /> 
     1470       <field id="XAD_C14B_E3T"  long_name="XAD_C14B * E3T"                                 unit="m/s" > XAD_C14B * e3t </field> 
     1471       <field id="XAD_C14B_INV"  field_ref="XAD_C14B_E3T" long_name="XAD_C14B Inventory"    unit="m/s" grid_ref="vert_sum" /> 
     1472       <field id="YAD_C14B"      long_name="Bomb C14 Y-Advection Trend"                     unit="1/s" /> 
     1473       <field id="YAD_C14B_E3T"  long_name="YAD_C14B * E3T"                                 unit="m/s" > YAD_C14B * e3t </field> 
     1474       <field id="YAD_C14B_INV"  field_ref="YAD_C14B_E3T" long_name="YAD_C14B Inventory"    unit="m/s" grid_ref="vert_sum" /> 
     1475       <field id="ZAD_C14B"      long_name="Bomb C14 Z-Advection Trend"                     unit="1/s" /> 
     1476       <field id="ZAD_C14B_E3T"  long_name="ZAD_C14B * E3T"                                 unit="m/s" > ZAD_C14B * e3t </field> 
     1477       <field id="ZAD_C14B_INV"  field_ref="ZAD_C14B_E3T" long_name="ZAD_C14B Inventory"    unit="m/s" grid_ref="vert_sum" /> 
     1478       <field id="TAD_C14B"      long_name="Bomb C14 Total Advection Trend"                 unit="1/s" /> 
     1479       <field id="TAD_C14B_E3T"  long_name="TAD_C14B * E3T             "                    unit="m/s" > TAD_C14B * e3t </field> 
     1480       <field id="TAD_C14B_INV"  field_ref="TAD_C14B_E3T" long_name="TAD_C14B Inventory"    unit="m/s" grid_ref="vert_sum" /> 
     1481       <field id="LDF_C14B"      long_name="Bomb C14 Lateral Mixing Trend"                  unit="1/s" /> 
     1482       <field id="LDF_C14B_E3T"  long_name="LDF_C14B * E3T"                                 unit="m/s" > LDF_C14B * e3t </field> 
     1483       <field id="LDF_C14B_INV"  field_ref="LDF_C14B_E3T" long_name="LDF_C14B Inventory"    unit="m/s" grid_ref="vert_sum" /> 
     1484       <field id="BBL_C14B"      long_name="Bomb C14 Bottom Boundary Trend"                 unit="1/s" /> 
     1485       <field id="BBL_C14B_E3T"  long_name="BBL_C14B * E3T"                                 unit="m/s" > BBL_C14B * e3t </field> 
     1486       <field id="BBL_C14B_INV"  field_ref="BBL_C14B_E3T" long_name="BBL_C14B Inventory"    unit="m/s" grid_ref="vert_sum" /> 
     1487       <field id="FOR_C14B"      long_name="Bomb C14 Surface Boundary Trend"                unit="1/s" /> 
     1488       <field id="FOR_C14B_E3T"  long_name="FOR_C14B * E3T"                                 unit="m/s" > FOR_C14B * e3t </field> 
     1489       <field id="FOR_C14B_INV"  field_ref="FOR_C14B_E3T" long_name="FOR_C14B Inventory"    unit="m/s" grid_ref="vert_sum" /> 
     1490       <field id="ZDF_C14B"      long_name="Bomb C14 Vertical Mixing Trend"                 unit="1/s" /> 
     1491       <field id="ZDF_C14B_E3T"  long_name="ZDF_C14B * E3T"                                 unit="m/s" > ZDF_C14B * e3t </field> 
     1492       <field id="ZDF_C14B_INV"  field_ref="ZDF_C14B_E3T" long_name="ZDF_C14B Inventory"    unit="m/s" grid_ref="vert_sum" /> 
     1493       <field id="ZDP_C14B"      long_name="Bomb C14 Kz Diffusive Trend"                    unit="1/s" /> 
     1494       <field id="ZDP_C14B_E3T"  long_name="ZDP_C14B * E3T"                                 unit="m/s" > ZDP_C14B * e3t </field> 
     1495       <field id="ZDP_C14B_INV"  field_ref="ZDP_C14B_E3T" long_name="ZDP_C14B Inventory"    unit="m/s" grid_ref="vert_sum" /> 
     1496       <field id="DMP_C14B"      long_name="Bomb C14 Damping Trend"                         unit="1/s" /> 
     1497       <field id="DMP_C14B_E3T"  long_name="DMP_C14B * E3T"                                 unit="m/s" > DMP_C14B * e3t </field> 
     1498       <field id="DMP_C14B_INV"  field_ref="DMP_C14B_E3T" long_name="DMP_C14B Inventory"    unit="m/s" grid_ref="vert_sum" /> 
     1499       <field id="SMS_C14B"      long_name="Bomb C14 Sources Minus Sinks Trend"             unit="1/s" /> 
     1500       <field id="SMS_C14B_E3T"  long_name="SMS_C14B * E3T"                                 unit="m/s" > SMS_C14B * e3t </field> 
     1501       <field id="SMS_C14B_INV"  field_ref="SMS_C14B_E3T" long_name="SMS_C14B Inventory"    unit="m/s" grid_ref="vert_sum" /> 
     1502       <field id="RDB_C14B"      long_name="Bomb C14-b negative values correction trend"    unit="1/s" /> 
     1503       <field id="RDB_C14B_E3T"  long_name="RDB_C14B * E3T"                                 unit="m/s" > RDB_C14B * e3t </field> 
     1504       <field id="RDB_C14B_INV"  field_ref="RDB_C14B_E3T" long_name="RDB_C14B Inventory"    unit="m/s" grid_ref="vert_sum" /> 
     1505       <field id="RDN_C14B"      long_name="Bomb C14-n negative values correction trend"    unit="1/s" /> 
     1506       <field id="RDN_C14B_E3T"  long_name="RDN_C14B * E3T"                                 unit="m/s" > RDN_C14B * e3t </field> 
     1507       <field id="RDN_C14B_INV"  field_ref="RDN_C14B_E3T" long_name="RDN_C14B Inventory"    unit="m/s" grid_ref="vert_sum" /> 
     1508       <field id="ISO_C14B"      long_name="Bomb C14 Isopycnal Mixing Trend"                unit="1/s" > LDF_C14B + ZDF_C14B - ZDP_C14B  </field> 
     1509       <field id="ISO_C14B_E3T"  long_name="ISO_C14B * E3T"                                 unit="m/s" > ISO_C14B * e3t </field> 
     1510       <field id="ISO_C14B_INV"  field_ref="ISO_C14B_E3T" long_name="ISO_C14B Inventory"    unit="m/s" grid_ref="vert_sum" /> 
     1511 
     1512       <!-- AGE : variables available with key_age --> 
     1513       <field id="XAD_Age"      long_name="Sea Water Age X-Advection Trend"                  unit="1/s" /> 
     1514       <field id="XAD_Age_E3T"  long_name="XAD_Age * E3T"                                    unit="m/s" > XAD_Age * e3t </field> 
     1515       <field id="XAD_Age_INV"  field_ref="XAD_Age_E3T" long_name="XAD_Age Inventory"        unit="m/s" grid_ref="vert_sum" /> 
     1516       <field id="YAD_Age"      long_name="Sea Water Age Y-Advection Trend"                  unit="1/s" /> 
     1517       <field id="YAD_Age_E3T"  long_name="YAD_Age * E3T"                                    unit="m/s" > YAD_Age * e3t </field> 
     1518       <field id="YAD_Age_INV"  field_ref="YAD_Age_E3T" long_name="YAD_Age Inventory"        unit="m/s" grid_ref="vert_sum" /> 
     1519       <field id="ZAD_Age"      long_name="Sea Water Age Z-Advection Trend"                  unit="1/s" /> 
     1520       <field id="ZAD_Age_E3T"  long_name="ZAD_Age * E3T"                                    unit="m/s" > ZAD_Age * e3t </field> 
     1521       <field id="ZAD_Age_INV"  field_ref="ZAD_Age_E3T" long_name="ZAD_Age Inventory"        unit="m/s" grid_ref="vert_sum" /> 
     1522       <field id="TAD_Age"      long_name="Sea Water Age Total Advection Trend"              unit="1/s" /> 
     1523       <field id="TAD_Age_E3T"  long_name="TAD_Age * E3T"                                    unit="m/s" > TAD_Age * e3t </field> 
     1524       <field id="TAD_Age_INV"  field_ref="TAD_Age_E3T" long_name="TAD_Age Inventory"        unit="m/s" grid_ref="vert_sum" /> 
     1525       <field id="LDF_Age"      long_name="Sea Water Age Lateral Mixing Trend"               unit="1/s" /> 
     1526       <field id="LDF_Age_E3T"  long_name="LDF_Age * E3T"                                    unit="m/s" > LDF_Age * e3t </field> 
     1527       <field id="LDF_Age_INV"  field_ref="LDF_Age_E3T" long_name="LDF_Age Inventory"        unit="m/s" grid_ref="vert_sum" /> 
     1528       <field id="BBL_Age"      long_name="Sea Water Age Bottom Boundary Trend"              unit="1/s" /> 
     1529       <field id="BBL_Age_E3T"  long_name="BBL_Age * E3T"                                    unit="m/s" > BBL_Age * e3t </field> 
     1530       <field id="BBL_Age_INV"  field_ref="BBL_Age_E3T" long_name="BBL_Age Inventory"        unit="m/s" grid_ref="vert_sum" /> 
     1531       <field id="FOR_Age"      long_name="Sea Water Age Surface Boundary Trend"             unit="1/s" /> 
     1532       <field id="FOR_Age_E3T"  long_name="FOR_Age * E3T"                                    unit="m/s" > FOR_Age * e3t </field> 
     1533       <field id="FOR_Age_INV"  field_ref="FOR_Age_E3T" long_name="FOR_Age Inventory"        unit="m/s" grid_ref="vert_sum" /> 
     1534       <field id="ZDF_Age"      long_name="Sea Water Age Vertical Mixing Trend"              unit="1/s" /> 
     1535       <field id="ZDF_Age_E3T"  long_name="ZDF_Age * E3T"                                    unit="m/s" > ZDF_Age * e3t </field> 
     1536       <field id="ZDF_Age_INV"  field_ref="ZDF_Age_E3T" long_name="ZDF_Age Inventory"        unit="m/s" grid_ref="vert_sum" /> 
     1537       <field id="ZDP_Age"      long_name="Sea Water Age Kz Diffusive Trend"                 unit="1/s" /> 
     1538       <field id="ZDP_Age_E3T"  long_name="ZDP_Age * E3T"                                    unit="m/s" > ZDP_Age * e3t </field> 
     1539       <field id="ZDP_Age_INV"  field_ref="ZDP_Age_E3T" long_name="ZDP_Age Inventory"        unit="m/s" grid_ref="vert_sum" /> 
     1540       <field id="DMP_Age"      long_name="Sea Water Age Damping Trend"                      unit="1/s" /> 
     1541       <field id="DMP_Age_E3T"  long_name="DMP_Age * E3T"                                    unit="m/s" > DMP_Age * e3t </field> 
     1542       <field id="DMP_Age_INV"  field_ref="DMP_Age_E3T" long_name="DMP_Age Inventory"        unit="m/s" grid_ref="vert_sum" /> 
     1543       <field id="SMS_Age"      long_name="Sea Water Age Sources Minus Sinks Trend"          unit="1/s" /> 
     1544       <field id="SMS_Age_E3T"  long_name="SMS_Age * E3T"                                    unit="m/s" > SMS_Age * e3t </field> 
     1545       <field id="SMS_Age_INV"  field_ref="SMS_Age_E3T" long_name="SMS_Age Inventory"        unit="m/s" grid_ref="vert_sum" /> 
     1546       <field id="RDB_Age"      long_name="Sea Water Age-b negative values correction trend" unit="1/s" /> 
     1547       <field id="RDB_Age_E3T"  long_name="RDB_Age * E3T"                                    unit="m/s" > RDB_Age * e3t </field> 
     1548       <field id="RDB_Age_INV"  field_ref="RDB_Age_E3T" long_name="RDB_Age Inventory"        unit="m/s" grid_ref="vert_sum" /> 
     1549       <field id="RDN_Age"      long_name="Sea Water Age-n negative values correction trend" unit="1/s" /> 
     1550       <field id="RDN_Age_E3T"  long_name="RDN_Age * E3T"                                    unit="m/s" > RDN_Age * e3t </field> 
     1551       <field id="RDN_Age_INV"  field_ref="RDN_Age_E3T" long_name="RDN_Age Inventory"        unit="m/s" grid_ref="vert_sum" /> 
     1552       <field id="ISO_Age"      long_name="Sea Water Age Isopycnal Mixing Trend"             unit="1/s" > LDF_Age + ZDF_Age - ZDP_Age  </field> 
     1553       <field id="ISO_Age_E3T"  long_name="ISO_Age * E3T"                                    unit="m/s" > ISO_Age * e3t </field> 
     1554       <field id="ISO_Age_INV"  field_ref="ISO_Age_E3T" long_name="ISO_Age Inventory"        unit="m/s" grid_ref="vert_sum" /> 
     1555     </field_group> 
     1556      
     1557     <!--  All time-step trends (TOT) -->  
     1558     <field_group id="ptrd_T" grid_ref="grid_T_3D">  <!-- key_trdtrc || key_trdmlx_trc --> 
     1559       <!-- trd case: jptra_tot --> 
     1560       <field id="TOT_CHN"      long_name="Non-diatom Chl-a Total Trend"                      unit="mg-Chl/m3/s" /> 
     1561       <field id="TOT_CHN_E3T"  long_name="TOT_CHN * E3T"                                     unit="mg-Chl/m2/s" > TOT_CHN * e3t </field> 
     1562       <field id="TOT_CHN_INV"  field_ref="TOT_CHN_E3T" long_name="TOT_CHN Inventory"         unit="mg-Chl/m2/s" grid_ref="vert_sum" /> 
     1563       <field id="TOT_CHD"      long_name="Diatom Chl-a Total Trend"                          unit="mg-Chl/m3/s" /> 
     1564       <field id="TOT_CHD_E3T"  long_name="TOT_CHD * E3T"                                     unit="mg-Chl/m2/s" > TOT_CHD * e3t </field> 
     1565       <field id="TOT_CHD_INV"  field_ref="TOT_CHD_E3T" long_name="TOT_CHD Inventory"         unit="mg-Chl/m2/s" grid_ref="vert_sum" /> 
     1566       <field id="TOT_PHN"      long_name="non-diatom phytoplankton Total Trend"              unit="mmol-N/m3/s" /> 
     1567       <field id="TOT_PHN_E3T"  long_name="TOT_PHN * E3T"                                     unit="mmol-N/m2/s" > TOT_PHN * e3t </field> 
     1568       <field id="TOT_PHN_INV"  field_ref="TOT_PHN_E3T" long_name="TOT_PHN Inventory"         unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     1569       <field id="TOT_PHD"      long_name="diatom     phytoplankton Total Trend"              unit="mmol-N/m3/s" /> 
     1570       <field id="TOT_PHD_E3T"  long_name="TOT_PHD * E3T"                                     unit="mmol-N/m2/s" > TOT_PHD * e3t </field> 
     1571       <field id="TOT_PHD_INV"  field_ref="TOT_PHD_E3T" long_name="TOT_PHD Inventory"         unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     1572       <field id="TOT_ZMI"      long_name="micro zooplankton Total Trend"                     unit="mmol-N/m3/s" /> 
     1573       <field id="TOT_ZMI_E3T"  long_name="TOT_ZMI * E3T"                                     unit="mmol-N/m2/s" > TOT_ZMI * e3t </field> 
     1574       <field id="TOT_ZMI_INV"  field_ref="TOT_ZMI_E3T" long_name="TOT_ZMI Inventory"         unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     1575       <field id="TOT_ZME"      long_name="meso  zooplankton Total Trend"                     unit="mmol-N/m3/s" /> 
     1576       <field id="TOT_ZME_E3T"  long_name="TOT_ZME * E3T"                                     unit="mmol-N/m2/s" > TOT_ZME * e3t </field> 
     1577       <field id="TOT_ZME_INV"  field_ref="TOT_ZME_E3T" long_name="TOT_ZME Inventory"         unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     1578       <field id="TOT_DIN"      long_name="dissolved inorganic nitrogen Total Trend"          unit="mmol-N/m3/s" /> 
     1579       <field id="TOT_DIN_E3T"  long_name="TOT_DIN * E3T"                                     unit="mmol-N/m2/s" > TOT_DIN * e3t </field> 
     1580       <field id="TOT_DIN_INV"  field_ref="TOT_DIN_E3T" long_name="TOT_DIN Inventory"         unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     1581       <field id="TOT_SIL"      long_name="dissolved silicic acid Total Trend"                unit="mmol-Si/m3/s" /> 
     1582       <field id="TOT_SIL_E3T"  long_name="TOT_SIL * E3T"                                     unit="mmol-Si/m2/s" > TOT_SIL * e3t </field> 
     1583       <field id="TOT_SIL_INV"  field_ref="TOT_SIL_E3T" long_name="TOT_SIL Inventory"         unit="mmol-Si/m2/s" grid_ref="vert_sum" /> 
     1584       <field id="TOT_FER"      long_name="dissolved iron Total Trend"                        unit="mmol-Fe/m3/s" /> 
     1585       <field id="TOT_FER_E3T"  long_name="TOT_FER * E3T"                                     unit="mmol-Fe/m2/s" > TOT_FER * e3t </field> 
     1586       <field id="TOT_FER_INV"  field_ref="TOT_FER_E3T" long_name="TOT_FER Inventory"         unit="mmol-Fe/m2/s" grid_ref="vert_sum" /> 
     1587       <field id="TOT_DET"      long_name="detrital nitrogen Total Trend"                     unit="mmol-N/m3/s" /> 
     1588       <field id="TOT_DET_E3T"  long_name="TOT_DET * E3T"                                     unit="mmol-N/m2/s" > TOT_DET * e3t </field> 
     1589       <field id="TOT_DET_INV"  field_ref="TOT_DET_E3T" long_name="TOT_DET Inventory"         unit="mmol-N/m2/s" grid_ref="vert_sum" /> 
     1590       <field id="TOT_PDS"      long_name="Diatoms biogenic silicon Total Trend"              unit="mmol-Si/m3/s" /> 
     1591       <field id="TOT_PDS_E3T"  long_name="TOT_PDS * E3T"                                     unit="mmol-Si/m2/s" > TOT_PDS * e3t </field> 
     1592       <field id="TOT_PDS_INV"  field_ref="TOT_PDS_E3T" long_name="TOT_PDS Inventory"         unit="mmol-Si/m2/s" grid_ref="vert_sum" /> 
     1593       <field id="TOT_DTC"      long_name="detrital carbon Total Trend"                       unit="mmol-C/m3/s" /> 
     1594       <field id="TOT_DTC_E3T"  long_name="TOT_DTC * E3T"                                     unit="mmol-C/m2/s" > TOT_DTC * e3t </field> 
     1595       <field id="TOT_DTC_INV"  field_ref="TOT_DTC_E3T" long_name="TOT_DTC Inventory"         unit="mmol-C/m2/s" grid_ref="vert_sum" /> 
     1596       <field id="TOT_DiC"      long_name="dissolved inorganic carbon Total Trend"            unit="mmol-C/m3/s" /> 
     1597       <field id="TOT_DiC_E3T"  long_name="TOT_DiC * E3T"                                     unit="mmol-C/m2/s" > TOT_DiC * e3t </field> 
     1598       <field id="TOT_DiC_INV"  field_ref="TOT_DiC_E3T" long_name="TOT_DiC Inventory"         unit="mmol-C/m2/s" grid_ref="vert_sum" /> 
     1599       <field id="TOT_ALK"      long_name="alkalinity Total Trend"                            unit="meq/m3/s"    /> 
     1600       <field id="TOT_ALK_E3T"  long_name="TOT_ALK * E3T"                                     unit="meq/m2/s"    > TOT_ALK * e3t </field> 
     1601       <field id="TOT_ALK_INV"  field_ref="TOT_ALK_E3T" long_name="TOT_ALK Inventory"         unit="meq/m2/s" grid_ref="vert_sum" /> 
     1602       <field id="TOT_OXY"      long_name="dissolved oxygen Total Trend"                      unit="mmol-O2/m3/s" /> 
     1603       <field id="TOT_OXY_E3T"  long_name="TOT_OXY * E3T"                                     unit="mmol-O2/m2/s" > TOT_OXY * e3t </field> 
     1604       <field id="TOT_OXY_INV"  field_ref="TOT_OXY_E3T" long_name="TOT_OXY Inventory"         unit="mmol-O2/m2/s" grid_ref="vert_sum" /> 
     1605       <!-- trd : VERIF TRENDS  --> 
     1606       <!--  <field id="TOT_DIN_CHECK" long_name="DIN - indirect calculation TOTAL trend"           unit="mmol-N/m3/s" > TAD_DIN_E3T + BBL_DIN_E3T + ISO_DIN_E3T + ZDP_DIN_E3T + ATF_DIN_E3T + SMS_DIN_E3T </field>  --> 
     1607 
     1608      <!-- Ideal traceurs : variables available with key_idtra --> 
     1609       <field id="TOT_IDTRA"      long_name="Ideal traceur Total Trend "                     unit="mmol/m3/s"    /> 
     1610       <field id="TOT_IDTRA_E3T"  long_name="TOT_IDTRA * E3T"                                unit="mmol/m2/s" > TOT_IDTRA * e3t </field> 
     1611       <field id="TOT_IDTRA_INV"  field_ref="TOT_IDTRA_E3T" long_name="TOT_IDTRA Inventory"  unit="mmol/m2/s" grid_ref="vert_sum" /> 
     1612 
     1613       <!-- CFC11 : variables available with key_cfc --> 
     1614       <field id="TOT_CFC11"       long_name="CFC11 Total Trend"                             unit="umol/m3/s" /> 
     1615       <field id="TOT_CFC11_E3T"   long_name="TOT_CFC11 * E3T"                               unit="umol/m2/s" > TOT_CFC11 * e3t </field> 
     1616       <field id="TOT_CFC11_INV"   field_ref="TOT_CFC11_E3T" long_name="TOT_CFC11 Inventory" unit="umol/m2/s" grid_ref="vert_sum" /> 
     1617       <!-- CFC12 : variables available with key_cfc --> 
     1618       <field id="TOT_CFC12"       long_name="CFC12 Total Trend"                             unit="umol/m3/s" />  
     1619       <field id="TOT_CFC12_E3T"   long_name="TOT_CFC12 * E3T"                               unit="umol/m2/s" > TOT_CFC12 * e3t </field> 
     1620       <field id="TOT_CFC12_INV"   field_ref="TOT_CFC12_E3T" long_name="TOT_CFC12 Inventory" unit="umol/m2/s" grid_ref="vert_sum" /> 
     1621       <!-- SF6 : variables available with key_cfc --> 
     1622       <field id="TOT_SF6"         long_name="SF6 Total Trend"                           unit="umol/m3/s" /> 
     1623       <field id="TOT_SF6_E3T"     long_name="TOT_SF6 * E3T"                             unit="umol/m2/s" > TOT_SF6 * e3t </field> 
     1624       <field id="TOT_SF6_INV"     field_ref="TOT_SF6_E3T" long_name="TOT_SF6 Inventory" unit="umol/m2/s" grid_ref="vert_sum" /> 
     1625 
     1626       <!-- Bomb C14 : variables available with key_c14b --> 
     1627       <field id="TOT_C14B"        long_name="Bomb C14 Total Trend"                        unit="1/s"         /> 
     1628       <field id="TOT_C14B_E3T"    long_name="TOT_C14B * E3T"                              unit="1/s" > TOT_C14B * e3t </field> 
     1629       <field id="TOT_C14B_INV"    field_ref="TOT_C14B_E3T" long_name="TOT_C14B Inventory" unit="1/s" grid_ref="vert_sum" /> 
     1630 
     1631       <!-- AGE : variables available with key_age --> 
     1632       <field id="TOT_Age"        long_name="Sea Water Age Total Trend"                  unit="yr/s"         /> 
     1633       <field id="TOT_Age_E3T"    long_name="TOT_Age * E3T"                              unit="yr m/s" > TOT_Age * e3t </field> 
     1634       <field id="TOT_Age_INV"    field_ref="TOT_Age_E3T"  long_name="TOT_Age Inventory" unit="yr m/s" grid_ref="vert_sum" /> 
     1635     </field_group> 
     1636 
    5231637 
    5241638     <field_group id="PISCES_scalar"  grid_ref="scalar" > 
     
    5431657 
    5441658    <field_group id="groupMEDUSA" > 
    545       <field field_ref="CHN"     name="CHN"      /> 
    546       <field field_ref="CHN_E3T" name="CHN_E3T"  /> 
    547       <field field_ref="CHD"     name="CHD"      /> 
    548       <field field_ref="CHD_E3T" name="CHD_E3T"  /> 
    549       <field field_ref="PHN"     name="PHN"      /> 
    550       <field field_ref="PHN_E3T" name="PHN_E3T"  /> 
    551       <field field_ref="PHD"     name="PHD"      /> 
    552       <field field_ref="PHD_E3T" name="PHD_E3T"  /> 
    553       <field field_ref="ZMI"     name="ZMI"      /> 
    554       <field field_ref="ZMI_E3T" name="ZMI_E3T"  /> 
    555       <field field_ref="ZME"     name="ZME"      /> 
    556       <field field_ref="ZME_E3T" name="ZME_E3T"  /> 
    557       <field field_ref="DIN"     name="DIN"      /> 
    558       <field field_ref="DIN_E3T" name="DIN_E3T"  /> 
    559       <field field_ref="SIL"     name="SIL"      /> 
    560       <field field_ref="SIL_E3T" name="SIL_E3T"  /> 
    561       <field field_ref="FER"     name="FER"      /> 
    562       <field field_ref="FER_E3T" name="FER_E3T"  /> 
    563       <field field_ref="DET"     name="DET"      /> 
    564       <field field_ref="DET_E3T" name="DET_E3T"  /> 
    565       <field field_ref="PDS"     name="PDS"      /> 
    566       <field field_ref="PDS_E3T" name="PDS_E3T"  /> 
    567       <field field_ref="DTC"     name="DTC"      /> 
    568       <field field_ref="DTC_E3T" name="DTC_E3T"  /> 
    569       <field field_ref="DiC"     name="DIC"      /> 
    570       <field field_ref="DiC_E3T" name="DIC_E3T"  /> 
    571       <field field_ref="ALK"     name="ALK"      /> 
    572       <field field_ref="ALK_E3T" name="ALK_E3T"  /> 
    573       <field field_ref="OXY"     name="OXY"      /> 
    574       <field field_ref="OXY_E3T" name="OXY_E3T"  /> 
     1659      <field field_ref="CHN"      name="CHN"      /> 
     1660      <field field_ref="CHN_E3T"  name="CHN_E3T"      /> 
     1661      <field field_ref="CHD"      name="CHD"      /> 
     1662      <field field_ref="CHD_E3T"  name="CHD_E3T"      /> 
     1663      <field field_ref="PHN"      name="PHN"      /> 
     1664      <field field_ref="PHN_E3T"  name="PHN_E3T"      /> 
     1665      <field field_ref="PHD"      name="PHD"      /> 
     1666      <field field_ref="PHD_E3T"  name="PHD_E3T"      /> 
     1667      <field field_ref="ZMI"      name="ZMI"      /> 
     1668      <field field_ref="ZMI_E3T"  name="ZMI_E3T"      /> 
     1669      <field field_ref="ZME"      name="ZME"      /> 
     1670      <field field_ref="ZME_E3T"  name="ZME_E3T"      /> 
     1671      <field field_ref="DIN"      name="DIN"      /> 
     1672      <field field_ref="DIN_E3T"  name="DIN_E3T"      /> 
     1673      <field field_ref="SIL"      name="SIL"      /> 
     1674      <field field_ref="SIL_E3T"  name="SIL_E3T"      /> 
     1675      <field field_ref="FER"      name="FER"      /> 
     1676      <field field_ref="FER_E3T"  name="FER_E3T"      /> 
     1677      <field field_ref="DET"      name="DET"      /> 
     1678      <field field_ref="DET_E3T"  name="DET_E3T"      /> 
     1679      <field field_ref="PDS"      name="PDS"      /> 
     1680      <field field_ref="PDS_E3T"  name="PDS_E3T"      /> 
     1681      <field field_ref="DTC"      name="DTC"      /> 
     1682      <field field_ref="DTC_E3T"  name="DTC_E3T"      /> 
     1683      <field field_ref="DiC"      name="DIC"      /> 
     1684      <field field_ref="DiC_E3T"  name="DIC_E3T"      /> 
     1685      <field field_ref="ALK"      name="ALK"      /> 
     1686      <field field_ref="ALK_E3T"  name="ALK_E3T"      /> 
     1687      <field field_ref="OXY"      name="OXY"      /> 
     1688      <field field_ref="OXY_E3T"  name="OXY_E3T"      /> 
     1689   </field_group> 
     1690 
     1691    <field_group id="groupMEDUSA_surf" > 
     1692      <field field_ref="SURF_CHN" name="SURF_CHN"  /> 
     1693      <field field_ref="SURF_CHD" name="SURF_CHD"  /> 
     1694      <field field_ref="SURF_PHN" name="SURF_PHN"  /> 
     1695      <field field_ref="SURF_PHD" name="SURF_PHD"  /> 
     1696      <field field_ref="SURF_ZMI" name="SURF_ZMI"  /> 
     1697      <field field_ref="SURF_ZME" name="SURF_ZME"  /> 
     1698      <field field_ref="SURF_DIN" name="SURF_DIN"  /> 
     1699      <field field_ref="SURF_SIL" name="SURF_SIL"  /> 
     1700      <field field_ref="SURF_FER" name="SURF_FER"  /> 
     1701      <field field_ref="SURF_DET" name="SURF_DET"  /> 
     1702      <field field_ref="SURF_PDS" name="SURF_PDS"  /> 
     1703      <field field_ref="SURF_DTC" name="SURF_DTC"  /> 
     1704      <field field_ref="SURF_DiC" name="SURF_DiC"  /> 
     1705      <field field_ref="SURF_ALK" name="SURF_ALK"  /> 
     1706      <field field_ref="SURF_OXY" name="SURF_OXY"  /> 
     1707    </field_group> 
     1708 
     1709    <field_group id="groupMEDUSA_INV" > 
     1710      <field field_ref="CHN_INV"  name="CHN_INV"  /> 
     1711      <field field_ref="CHD_INV"  name="CHD_INV"  /> 
     1712      <field field_ref="PHN_INV"  name="PHN_INV"  /> 
     1713      <field field_ref="PHD_INV"  name="PHD_INV"  /> 
     1714      <field field_ref="ZMI_INV"  name="ZMI_INV"  /> 
     1715      <field field_ref="ZME_INV"  name="ZME_INV"  /> 
     1716      <field field_ref="DIN_INV"  name="DIN_INV"  /> 
     1717      <field field_ref="SIL_INV"  name="SIL_INV"  /> 
     1718      <field field_ref="FER_INV"  name="FER_INV"  /> 
     1719      <field field_ref="DET_INV"  name="DET_INV"  /> 
     1720      <field field_ref="PDS_INV"  name="PDS_INV"  /> 
     1721      <field field_ref="DTC_INV"  name="DTC_INV"  /> 
     1722      <field field_ref="DiC_INV"  name="DIC_INV"  /> 
     1723      <field field_ref="ALK_INV"  name="ALK_INV"  /> 
     1724      <field field_ref="OXY_INV"  name="OXY_INV"  /> 
    5751725      </field_group> 
    5761726 
     
    6061756      <field field_ref="Age" name="Age" /> 
    6071757    </field_group> 
     1758 
     1759 
     1760    <field_group id="trendMEDUSA_long" > 
     1761       <!-- trd case: jptra_xad --> 
     1762       <field field_ref="XAD_CHN"     name="XAD_CHN"   /> 
     1763       <field field_ref="XAD_CHD"     name="XAD_CHD"   /> 
     1764       <field field_ref="XAD_PHN"     name="XAD_PHN"   /> 
     1765       <field field_ref="XAD_PHD"     name="XAD_PHD"   /> 
     1766       <field field_ref="XAD_ZMI"     name="XAD_ZMI"   /> 
     1767       <field field_ref="XAD_ZME"     name="XAD_ZME"   /> 
     1768       <field field_ref="XAD_DIN"     name="XAD_DIN"   /> 
     1769       <field field_ref="XAD_SIL"     name="XAD_SIL"   /> 
     1770       <field field_ref="XAD_FER"     name="XAD_FER"   /> 
     1771       <field field_ref="XAD_DET"     name="XAD_DET"   /> 
     1772       <field field_ref="XAD_PDS"     name="XAD_PDS"   /> 
     1773       <field field_ref="XAD_DTC"     name="XAD_DTC"   /> 
     1774       <field field_ref="XAD_DiC"     name="XAD_DiC"   /> 
     1775       <field field_ref="XAD_ALK"     name="XAD_ALK"   /> 
     1776       <field field_ref="XAD_OXY"     name="XAD_OXY"   /> 
     1777       <!-- trd case: jptra_yad --> 
     1778       <field field_ref="YAD_CHN"     name="YAD_CHN"   /> 
     1779       <field field_ref="YAD_CHD"     name="YAD_CHD"   /> 
     1780       <field field_ref="YAD_PHN"     name="YAD_PHN"   /> 
     1781       <field field_ref="YAD_PHD"     name="YAD_PHD"   /> 
     1782       <field field_ref="YAD_ZMI"     name="YAD_ZMI"   /> 
     1783       <field field_ref="YAD_ZME"     name="YAD_ZME"   /> 
     1784       <field field_ref="YAD_DIN"     name="YAD_DIN"   /> 
     1785       <field field_ref="YAD_SIL"     name="YAD_SIL"   /> 
     1786       <field field_ref="YAD_FER"     name="YAD_FER"   /> 
     1787       <field field_ref="YAD_DET"     name="YAD_DET"   /> 
     1788       <field field_ref="YAD_PDS"     name="YAD_PDS"   /> 
     1789       <field field_ref="YAD_DTC"     name="YAD_DTC"   /> 
     1790       <field field_ref="YAD_DiC"     name="YAD_DiC"   /> 
     1791       <field field_ref="YAD_ALK"     name="YAD_ALK"   /> 
     1792       <field field_ref="YAD_OXY"     name="YAD_OXY"   /> 
     1793       <!-- trd case: jptra_zad --> 
     1794       <field field_ref="ZAD_CHN"     name="ZAD_CHN"   /> 
     1795       <field field_ref="ZAD_CHD"     name="ZAD_CHD"   /> 
     1796       <field field_ref="ZAD_PHN"     name="ZAD_PHN"   /> 
     1797       <field field_ref="ZAD_PHD"     name="ZAD_PHD"   /> 
     1798       <field field_ref="ZAD_ZMI"     name="ZAD_ZMI"   /> 
     1799       <field field_ref="ZAD_ZME"     name="ZAD_ZME"   /> 
     1800       <field field_ref="ZAD_DIN"     name="ZAD_DIN"   /> 
     1801       <field field_ref="ZAD_SIL"     name="ZAD_SIL"   /> 
     1802       <field field_ref="ZAD_FER"     name="ZAD_FER"   /> 
     1803       <field field_ref="ZAD_DET"     name="ZAD_DET"   /> 
     1804       <field field_ref="ZAD_PDS"     name="ZAD_PDS"   /> 
     1805       <field field_ref="ZAD_DTC"     name="ZAD_DTC"   /> 
     1806       <field field_ref="ZAD_DiC"     name="ZAD_DiC"   /> 
     1807       <field field_ref="ZAD_ALK"     name="ZAD_ALK"   /> 
     1808       <field field_ref="ZAD_OXY"     name="ZAD_OXY"   /> 
     1809       <!-- trd case: jptra_totad --> 
     1810       <field field_ref="TAD_CHN"      name="TAD_CHN"   /> 
     1811       <field field_ref="TAD_CHD"      name="TAD_CHD"   /> 
     1812       <field field_ref="TAD_PHN"      name="TAD_PHN"   /> 
     1813       <field field_ref="TAD_PHD"      name="TAD_PHD"   /> 
     1814       <field field_ref="TAD_ZMI"      name="TAD_ZMI"   /> 
     1815       <field field_ref="TAD_ZME"      name="TAD_ZME"   /> 
     1816       <field field_ref="TAD_DIN"      name="TAD_DIN"   /> 
     1817       <field field_ref="TAD_SIL"      name="TAD_SIL"   /> 
     1818       <field field_ref="TAD_FER"      name="TAD_FER"   /> 
     1819       <field field_ref="TAD_DET"      name="TAD_DET"   /> 
     1820       <field field_ref="TAD_PDS"      name="TAD_PDS"   /> 
     1821       <field field_ref="TAD_DTC"      name="TAD_DTC"   /> 
     1822       <field field_ref="TAD_DiC"      name="TAD_DiC"   /> 
     1823       <field field_ref="TAD_ALK"      name="TAD_ALK"   /> 
     1824       <field field_ref="TAD_OXY"      name="TAD_OXY"   /> 
     1825       <!-- trd case: jptra_ldf --> 
     1826       <field field_ref="LDF_CHN"      name="LDF_CHN"   /> 
     1827       <field field_ref="LDF_CHD"      name="LDF_CHD"   /> 
     1828       <field field_ref="LDF_PHN"      name="LDF_PHN"   /> 
     1829       <field field_ref="LDF_PHD"      name="LDF_PHD"   /> 
     1830       <field field_ref="LDF_ZMI"      name="LDF_ZMI"   /> 
     1831       <field field_ref="LDF_ZME"      name="LDF_ZME"   /> 
     1832       <field field_ref="LDF_DIN"      name="LDF_DIN"   /> 
     1833       <field field_ref="LDF_SIL"      name="LDF_SIL"   /> 
     1834       <field field_ref="LDF_FER"      name="LDF_FER"   /> 
     1835       <field field_ref="LDF_DET"      name="LDF_DET"   /> 
     1836       <field field_ref="LDF_PDS"      name="LDF_PDS"   /> 
     1837       <field field_ref="LDF_DTC"      name="LDF_DTC"   /> 
     1838       <field field_ref="LDF_DiC"      name="LDF_DiC"   /> 
     1839       <field field_ref="LDF_ALK"      name="LDF_ALK"   /> 
     1840       <field field_ref="LDF_OXY"      name="LDF_OXY"   /> 
     1841       <!-- trd case: jptra_bbl --> 
     1842       <field field_ref="BBL_CHN"      name="BBL_CHN"   /> 
     1843       <field field_ref="BBL_CHD"      name="BBL_CHD"   /> 
     1844       <field field_ref="BBL_PHN"      name="BBL_PHN"   /> 
     1845       <field field_ref="BBL_PHD"      name="BBL_PHD"   /> 
     1846       <field field_ref="BBL_ZMI"      name="BBL_ZMI"   /> 
     1847       <field field_ref="BBL_ZME"      name="BBL_ZME"   /> 
     1848       <field field_ref="BBL_DIN"      name="BBL_DIN"   /> 
     1849       <field field_ref="BBL_SIL"      name="BBL_SIL"   /> 
     1850       <field field_ref="BBL_FER"      name="BBL_FER"   /> 
     1851       <field field_ref="BBL_DET"      name="BBL_DET"   /> 
     1852       <field field_ref="BBL_PDS"      name="BBL_PDS"   /> 
     1853       <field field_ref="BBL_DTC"      name="BBL_DTC"   /> 
     1854       <field field_ref="BBL_DiC"      name="BBL_DiC"   /> 
     1855       <field field_ref="BBL_ALK"      name="BBL_ALK"   /> 
     1856       <field field_ref="BBL_OXY"      name="BBL_OXY"   /> 
     1857       <!-- trd case: jptra_nsr --> 
     1858       <field field_ref="FOR_CHN"      name="FOR_CHN"   /> 
     1859       <field field_ref="FOR_CHD"      name="FOR_CHD"   /> 
     1860       <field field_ref="FOR_PHN"      name="FOR_PHN"   /> 
     1861       <field field_ref="FOR_PHD"      name="FOR_PHD"   /> 
     1862       <field field_ref="FOR_ZMI"      name="FOR_ZMI"   /> 
     1863       <field field_ref="FOR_ZME"      name="FOR_ZME"   /> 
     1864       <field field_ref="FOR_DIN"      name="FOR_DIN"   /> 
     1865       <field field_ref="FOR_SIL"      name="FOR_SIL"   /> 
     1866       <field field_ref="FOR_FER"      name="FOR_FER"   /> 
     1867       <field field_ref="FOR_DET"      name="FOR_DET"   /> 
     1868       <field field_ref="FOR_PDS"      name="FOR_PDS"   /> 
     1869       <field field_ref="FOR_DTC"      name="FOR_DTC"   /> 
     1870       <field field_ref="FOR_DiC"      name="FOR_DiC"   /> 
     1871       <field field_ref="FOR_ALK"      name="FOR_ALK"   /> 
     1872       <field field_ref="FOR_OXY"      name="FOR_OXY"   /> 
     1873       <!-- trd case: jptra_zdf --> 
     1874       <field field_ref="ZDF_CHN"      name="ZDF_CHN"   /> 
     1875       <field field_ref="ZDF_CHD"      name="ZDF_CHD"   /> 
     1876       <field field_ref="ZDF_PHN"      name="ZDF_PHN"   /> 
     1877       <field field_ref="ZDF_PHD"      name="ZDF_PHD"   /> 
     1878       <field field_ref="ZDF_ZMI"      name="ZDF_ZMI"   /> 
     1879       <field field_ref="ZDF_ZME"      name="ZDF_ZME"   /> 
     1880       <field field_ref="ZDF_DIN"      name="ZDF_DIN"   /> 
     1881       <field field_ref="ZDF_SIL"      name="ZDF_SIL"   /> 
     1882       <field field_ref="ZDF_FER"      name="ZDF_FER"   /> 
     1883       <field field_ref="ZDF_DET"      name="ZDF_DET"   /> 
     1884       <field field_ref="ZDF_PDS"      name="ZDF_PDS"   /> 
     1885       <field field_ref="ZDF_DTC"      name="ZDF_DTC"   /> 
     1886       <field field_ref="ZDF_DiC"      name="ZDF_DiC"   /> 
     1887       <field field_ref="ZDF_ALK"      name="ZDF_ALK"   /> 
     1888       <field field_ref="ZDF_OXY"      name="ZDF_OXY"   /> 
     1889       <!-- trd case: jptra_zdfp --> 
     1890       <field field_ref="ZDP_CHN"      name="ZDP_CHN"   /> 
     1891       <field field_ref="ZDP_CHD"      name="ZDP_CHD"   /> 
     1892       <field field_ref="ZDP_PHN"      name="ZDP_PHN"   /> 
     1893       <field field_ref="ZDP_PHD"      name="ZDP_PHD"   /> 
     1894       <field field_ref="ZDP_ZMI"      name="ZDP_ZMI"   /> 
     1895       <field field_ref="ZDP_ZME"      name="ZDP_ZME"   /> 
     1896       <field field_ref="ZDP_DIN"      name="ZDP_DIN"   /> 
     1897       <field field_ref="ZDP_SIL"      name="ZDP_SIL"   /> 
     1898       <field field_ref="ZDP_FER"      name="ZDP_FER"   /> 
     1899       <field field_ref="ZDP_DET"      name="ZDP_DET"   /> 
     1900       <field field_ref="ZDP_PDS"      name="ZDP_PDS"   /> 
     1901       <field field_ref="ZDP_DTC"      name="ZDP_DTC"   /> 
     1902       <field field_ref="ZDP_DiC"      name="ZDP_DiC"   /> 
     1903       <field field_ref="ZDP_ALK"      name="ZDP_ALK"   /> 
     1904       <field field_ref="ZDP_OXY"      name="ZDP_OXY"   /> 
     1905       <!-- trd case: jptra_dmp -->  
     1906       <!-- NO DAMPING IN MEDUSA - COMMENT DO AVOID NaN   
     1907       <field field_ref="DMP_CHN"      name="DMP_CHN"   /> 
     1908       <field field_ref="DMP_CHD"      name="DMP_CHD"   /> 
     1909       <field field_ref="DMP_PHN"      name="DMP_PHN"   /> 
     1910       <field field_ref="DMP_PHD"      name="DMP_PHD"   /> 
     1911       <field field_ref="DMP_ZMI"      name="DMP_ZMI"   /> 
     1912       <field field_ref="DMP_ZME"      name="DMP_ZME"   /> 
     1913       <field field_ref="DMP_DIN"      name="DMP_DIN"   /> 
     1914       <field field_ref="DMP_SIL"      name="DMP_SIL"   /> 
     1915       <field field_ref="DMP_FER"      name="DMP_FER"   /> 
     1916       <field field_ref="DMP_DET"      name="DMP_DET"   /> 
     1917       <field field_ref="DMP_PDS"      name="DMP_PDS"   /> 
     1918       <field field_ref="DMP_DTC"      name="DMP_DTC"   /> 
     1919       <field field_ref="DMP_DiC"      name="DMP_DiC"   /> 
     1920       <field field_ref="DMP_ALK"      name="DMP_ALK"   /> 
     1921       <field field_ref="DMP_OXY"      name="DMP_OXY"   /> --> 
     1922       <!-- trd case: jptra_sms --> 
     1923       <field field_ref="SMS_CHN"      name="SMS_CHN"   /> 
     1924       <field field_ref="SMS_CHD"      name="SMS_CHD"   /> 
     1925       <field field_ref="SMS_PHN"      name="SMS_PHN"   /> 
     1926       <field field_ref="SMS_PHD"      name="SMS_PHD"   /> 
     1927       <field field_ref="SMS_ZMI"      name="SMS_ZMI"   /> 
     1928       <field field_ref="SMS_ZME"      name="SMS_ZME"   /> 
     1929       <field field_ref="SMS_DIN"      name="SMS_DIN"   /> 
     1930       <field field_ref="SMS_SIL"      name="SMS_SIL"   /> 
     1931       <field field_ref="SMS_FER"      name="SMS_FER"   /> 
     1932       <field field_ref="SMS_DET"      name="SMS_DET"   /> 
     1933       <field field_ref="SMS_PDS"      name="SMS_PDS"   /> 
     1934       <field field_ref="SMS_DTC"      name="SMS_DTC"   /> 
     1935       <field field_ref="SMS_DiC"      name="SMS_DiC"   />  
     1936       <field field_ref="SMS_ALK"      name="SMS_ALK"   /> 
     1937       <field field_ref="SMS_OXY"      name="SMS_OXY"   /> 
     1938       <!-- trd case: jptra_atf --> 
     1939       <field field_ref="ATF_CHN"      name="ATF_CHN"   /> 
     1940       <field field_ref="ATF_CHD"      name="ATF_CHD"   /> 
     1941       <field field_ref="ATF_PHN"      name="ATF_PHN"   /> 
     1942       <field field_ref="ATF_PHD"      name="ATF_PHD"   />  
     1943       <field field_ref="ATF_ZMI"      name="ATF_ZMI"   /> 
     1944       <field field_ref="ATF_ZME"      name="ATF_ZME"   /> 
     1945       <field field_ref="ATF_DIN"      name="ATF_DIN"   /> 
     1946       <field field_ref="ATF_SIL"      name="ATF_SIL"   /> 
     1947       <field field_ref="ATF_FER"      name="ATF_FER"   /> 
     1948       <field field_ref="ATF_DET"      name="ATF_DET"   /> 
     1949       <field field_ref="ATF_PDS"      name="ATF_PDS"   /> 
     1950       <field field_ref="ATF_DTC"      name="ATF_DTC"   /> 
     1951       <field field_ref="ATF_DiC"      name="ATF_DiC"   /> 
     1952       <field field_ref="ATF_ALK"      name="ATF_ALK"   /> 
     1953       <field field_ref="ATF_OXY"      name="ATF_OXY"   />  
     1954       <!-- trd case: jptra_tot -->    
     1955       <field field_ref="TOT_CHN"      name="TOT_CHN"   /> 
     1956       <field field_ref="TOT_CHD"      name="TOT_CHD"   /> 
     1957       <field field_ref="TOT_PHN"      name="TOT_PHN"   /> 
     1958       <field field_ref="TOT_PHD"      name="TOT_PHD"   /> 
     1959       <field field_ref="TOT_ZMI"      name="TOT_ZMI"   /> 
     1960       <field field_ref="TOT_ZME"      name="TOT_ZME"   /> 
     1961       <field field_ref="TOT_DIN"      name="TOT_DIN"   /> 
     1962       <field field_ref="TOT_SIL"      name="TOT_SIL"   /> 
     1963       <field field_ref="TOT_FER"      name="TOT_FER"   /> 
     1964       <field field_ref="TOT_DET"      name="TOT_DET"   /> 
     1965       <field field_ref="TOT_PDS"      name="TOT_PDS"   /> 
     1966       <field field_ref="TOT_DTC"      name="TOT_DTC"   /> 
     1967       <field field_ref="TOT_DiC"      name="TOT_DiC"   /> 
     1968       <field field_ref="TOT_ALK"      name="TOT_ALK"   />    
     1969       <field field_ref="TOT_OXY"      name="TOT_OXY"   /> 
     1970       <!-- trd case: jptra_iso --> 
     1971       <field field_ref="ISO_CHN"      name="ISO_CHN"   />    
     1972       <field field_ref="ISO_CHD"      name="ISO_CHD"   />     
     1973       <field field_ref="ISO_PHN"      name="ISO_PHN"   />      
     1974       <field field_ref="ISO_PHD"      name="ISO_PHD"   />  
     1975       <field field_ref="ISO_ZMI"      name="ISO_ZMI"   />   
     1976       <field field_ref="ISO_ZME"      name="ISO_ZME"   />    
     1977       <field field_ref="ISO_DIN"      name="ISO_DIN"   />     
     1978       <field field_ref="ISO_SIL"      name="ISO_SIL"   />      
     1979       <field field_ref="ISO_FER"      name="ISO_FER"   />       
     1980       <field field_ref="ISO_DET"      name="ISO_DET"   />  
     1981       <field field_ref="ISO_PDS"      name="ISO_PDS"   />   
     1982       <field field_ref="ISO_DTC"      name="ISO_DTC"   />    
     1983       <field field_ref="ISO_DiC"      name="ISO_DiC"   />     
     1984       <field field_ref="ISO_ALK"      name="ISO_ALK"   />      
     1985       <field field_ref="ISO_OXY"      name="ISO_OXY"   />       
     1986    </field_group> 
     1987 
     1988    <field_group id="trendCFC11_long" > 
     1989          <!-- cfc11 --> 
     1990          <field field_ref="TOT_CFC11"     name="TOT_CFC11"     /> 
     1991          <field field_ref="XAD_CFC11"     name="XAD_CFC11"     />  
     1992          <field field_ref="YAD_CFC11"     name="YAD_CFC11"     /> 
     1993          <field field_ref="ZAD_CFC11"     name="ZAD_CFC11"     /> 
     1994          <field field_ref="TAD_CFC11"     name="TAD_CFC11"     /> 
     1995          <field field_ref="LDF_CFC11"     name="LDF_CFC11"     /> 
     1996          <field field_ref="BBL_CFC11"     name="BBL_CFC11"     /> 
     1997          <field field_ref="FOR_CFC11"     name="FOR_CFC11"     /> 
     1998          <field field_ref="ZDF_CFC11"     name="ZDF_CFC11"     /> 
     1999          <field field_ref="ZDP_CFC11"     name="ZDP_CFC11"     /> 
     2000          <!-- <field field_ref="DMP_CFC11"     name="DMP_CFC11" /> --> 
     2001          <field field_ref="SMS_CFC11"     name="SMS_CFC11"     /> 
     2002          <field field_ref="ATF_CFC11"     name="ATF_CFC11"     /> 
     2003          <field field_ref="ISO_CFC11"     name="ISO_CFC11"     /> 
     2004   </field_group> 
     2005 
     2006    <field_group id="trendCFC12_long" > 
     2007          <!-- cfc12 --> 
     2008          <field field_ref="TOT_CFC12"     name="TOT_CFC12"     /> 
     2009          <field field_ref="XAD_CFC12"     name="XAD_CFC12"     /> 
     2010          <field field_ref="YAD_CFC12"     name="YAD_CFC12"     /> 
     2011          <field field_ref="ZAD_CFC12"     name="ZAD_CFC12"     /> 
     2012          <field field_ref="TAD_CFC12"     name="TAD_CFC12"     /> 
     2013          <field field_ref="LDF_CFC12"     name="LDF_CFC12"     /> 
     2014          <field field_ref="BBL_CFC12"     name="BBL_CFC12"     /> 
     2015          <field field_ref="FOR_CFC12"     name="FOR_CFC12"     /> 
     2016          <field field_ref="ZDF_CFC12"     name="ZDF_CFC12"     /> 
     2017          <field field_ref="ZDP_CFC12"     name="ZDP_CFC12"     /> 
     2018          <!-- <field field_ref="DMP_CFC12"     name="DMP_CFC12" /> --> 
     2019          <field field_ref="SMS_CFC12"     name="SMS_CFC12"     />  
     2020          <field field_ref="ATF_CFC12"     name="ATF_CFC12"     /> 
     2021          <field field_ref="ISO_CFC12"     name="ISO_CFC12"     /> 
     2022   </field_group> 
     2023 
     2024    <field_group id="trendSF6_long" > 
     2025          <!-- sf6 --> 
     2026          <field field_ref="TOT_SF6"      name="TOT_SF6"      /> 
     2027          <field field_ref="XAD_SF6"      name="XAD_SF6"      /> 
     2028          <field field_ref="YAD_SF6"      name="YAD_SF6"      /> 
     2029          <field field_ref="ZAD_SF6"      name="ZAD_SF6"      /> 
     2030          <field field_ref="TAD_SF6"      name="TAD_SF6"      /> 
     2031          <field field_ref="LDF_SF6"      name="LDF_SF6"      /> 
     2032          <field field_ref="BBL_SF6"      name="BBL_SF6"      /> 
     2033          <field field_ref="FOR_SF6"      name="FOR_SF6"      /> 
     2034          <field field_ref="ZDF_SF6"      name="ZDF_SF6"      /> 
     2035          <field field_ref="ZDP_SF6"      name="ZDP_SF6"      /> 
     2036          <!-- <field field_ref="DMP_SF6"      name="DMP_SF6" /> --> 
     2037          <field field_ref="SMS_SF6"      name="SMS_SF6"      /> 
     2038          <field field_ref="ATF_SF6"      name="ATF_SF6"      /> 
     2039          <field field_ref="ISO_SF6"      name="ISO_SF6"      /> 
     2040   </field_group> 
     2041 
     2042    <field_group id="trendAGE_long" > 
     2043          <!-- age --> 
     2044          <field field_ref="TOT_Age"      name="TOT_Age"      /> 
     2045          <field field_ref="XAD_Age"      name="XAD_Age"      /> 
     2046          <field field_ref="YAD_Age"      name="YAD_Age"      /> 
     2047          <field field_ref="ZAD_Age"      name="ZAD_Age"      /> 
     2048          <field field_ref="TAD_Age"      name="TAD_Age"      /> 
     2049          <field field_ref="LDF_Age"      name="LDF_Age"      /> 
     2050          <field field_ref="BBL_Age"      name="BBL_Age"      /> 
     2051          <field field_ref="FOR_Age"      name="FOR_Age"      /> 
     2052          <field field_ref="ZDF_Age"      name="ZDF_Age"      /> 
     2053          <field field_ref="ZDP_Age"      name="ZDP_Age"      /> 
     2054          <!-- <field field_ref="DMP_Age"      name="DMP_Age" /> --> 
     2055          <field field_ref="SMS_Age"      name="SMS_Age"      /> 
     2056          <field field_ref="ATF_Age"      name="ATF_Age"      /> 
     2057          <field field_ref="ISO_Age"      name="ISO_Age"      /> 
     2058   </field_group> 
     2059 
     2060    <field_group id="trendIDTRA_long" > 
     2061          <!-- Ideal tracer --> 
     2062          <field field_ref="TOT_IDTRA"      name="TOT_IDTRA"      /> 
     2063          <field field_ref="XAD_IDTRA"      name="XAD_IDTRA"      /> 
     2064          <field field_ref="YAD_IDTRA"      name="YAD_IDTRA"      /> 
     2065          <field field_ref="ZAD_IDTRA"      name="ZAD_IDTRA"      /> 
     2066          <field field_ref="TAD_IDTRA"      name="TAD_IDTRA"      /> 
     2067          <field field_ref="LDF_IDTRA"      name="LDF_IDTRA"      /> 
     2068          <field field_ref="BBL_IDTRA"      name="BBL_IDTRA"      /> 
     2069          <field field_ref="FOR_IDTRA"      name="FOR_IDTRA"      /> 
     2070          <field field_ref="ZDF_IDTRA"      name="ZDF_IDTRA"      /> 
     2071          <field field_ref="ZDP_IDTRA"      name="ZDP_IDTRA"      /> 
     2072          <!-- <field field_ref="DMP_IDTRA"      name="DMP_IDTRA" /> --> 
     2073          <field field_ref="SMS_IDTRA"      name="SMS_IDTRA"      /> 
     2074          <field field_ref="ATF_IDTRA"      name="ATF_IDTRA"      /> 
     2075          <field field_ref="ISO_IDTRA"      name="ISO_IDTRA"      /> 
     2076   </field_group> 
     2077 
     2078    <field_group id="trendC14B_long" > 
     2079          <!-- c14 bomb --> 
     2080          <field field_ref="TOT_C14B"      name="TOT_C14B"      /> 
     2081          <field field_ref="XAD_C14B"      name="XAD_C14B"      /> 
     2082          <field field_ref="YAD_C14B"      name="YAD_C14B"      /> 
     2083          <field field_ref="ZAD_C14B"      name="ZAD_C14B"      /> 
     2084          <field field_ref="TAD_C14B"      name="TAD_C14B"      /> 
     2085          <field field_ref="LDF_C14B"      name="LDF_C14B"      /> 
     2086          <field field_ref="BBL_C14B"      name="BBL_C14B"      /> 
     2087          <field field_ref="FOR_C14B"      name="FOR_C14B"      /> 
     2088          <field field_ref="ZDF_C14B"      name="ZDF_C14B"      /> 
     2089          <field field_ref="ZDP_C14B"      name="ZDP_C14B"      /> 
     2090          <!-- <field field_ref="DMP_C14B"      name="DMP_C14B" /> --> 
     2091          <field field_ref="SMS_C14B"      name="SMS_C14B"      /> 
     2092          <field field_ref="ATF_C14B"      name="ATF_C14B"      /> 
     2093          <field field_ref="ISO_C14B"      name="ISO_C14B"      /> 
     2094   </field_group> 
     2095 
     2096 
     2097    <field_group id="trendMEDUSA_cmip6" > 
     2098       <!-- trd case: jptra_sms --> 
     2099       <field field_ref="SMS_DIN_E3T"  name="SMS_DIN_E3T"   /> 
     2100       <field field_ref="SMS_SIL_E3T"  name="SMS_SIL_E3T"   /> 
     2101       <field field_ref="SMS_FER_E3T"  name="SMS_FER_E3T"   /> 
     2102       <field field_ref="SMS_DiC_E3T"  name="SMS_DiC_E3T"   /> 
     2103       <field field_ref="SMS_ALK_E3T"  name="SMS_ALK_E3T"   /> 
     2104       <!-- trd case: jptra_tot --> 
     2105       <field field_ref="TOT_DIN_E3T"  name="TOT_DIN_E3T"   /> 
     2106       <field field_ref="TOT_SIL_E3T"  name="TOT_SIL_E3T"   /> 
     2107       <field field_ref="TOT_FER_E3T"  name="TOT_FER_E3T"   /> 
     2108       <field field_ref="TOT_DiC_E3T"  name="TOT_DiC_E3T"   /> 
     2109       <field field_ref="TOT_ALK_E3T"  name="TOT_ALK_E3T"   /> 
     2110    </field_group> 
     2111 
     2112    <field_group id="trendMEDUSA_cmip6_inv" > 
     2113       <!-- trd case: jptra_sms --> 
     2114       <field field_ref="SMS_DIN_INV"  name="SMS_DIN_INV"   /> 
     2115       <field field_ref="SMS_SIL_INV"  name="SMS_SIL_INV"   /> 
     2116       <field field_ref="SMS_FER_INV"  name="SMS_FER_INV"   /> 
     2117       <field field_ref="SMS_DiC_INV"  name="SMS_DiC_INV"   /> 
     2118       <field field_ref="SMS_ALK_INV"  name="SMS_ALK_INV"   /> 
     2119       <!-- trd case: jptra_tot -->    
     2120       <field field_ref="TOT_DIN_INV"  name="TOT_DIN_INV"   /> 
     2121       <field field_ref="TOT_SIL_INV"  name="TOT_SIL_INV"   /> 
     2122       <field field_ref="TOT_FER_INV"  name="TOT_FER_INV"   /> 
     2123       <field field_ref="TOT_DiC_INV"  name="TOT_DiC_INV"   /> 
     2124       <field field_ref="TOT_ALK_INV"  name="TOT_ALK_INV"   /> 
     2125    </field_group> 
     2126 
     2127 
     2128    <field_group id="trendCFC11_cmip6" > 
     2129          <!-- cfc11 --> 
     2130          <field field_ref="TOT_CFC11_E3T" name="TOT_CFC11_E3T" /> 
     2131          <field field_ref="SMS_CFC11_E3T" name="SMS_CFC11_E3T" /> 
     2132   </field_group> 
     2133 
     2134    <field_group id="trendCFC12_cmip6" > 
     2135          <!-- cfc12 --> 
     2136          <field field_ref="TOT_CFC12_E3T" name="TOT_CFC12_E3T" /> 
     2137          <field field_ref="SMS_CFC12_E3T" name="SMS_CFC12_E3T" /> 
     2138   </field_group> 
     2139 
     2140    <field_group id="trendSF6_cmip6" > 
     2141          <!-- sf6 --> 
     2142          <field field_ref="TOT_SF6_E3T"  name="TOT_SF6_E3T"  /> 
     2143          <field field_ref="SMS_SF6_E3T"  name="SMS_SF6_E3T"  /> 
     2144   </field_group> 
     2145 
     2146    <field_group id="trendAGE_cmip6" > 
     2147          <!-- age --> 
     2148          <field field_ref="TOT_Age_E3T"  name="TOT_Age_E3T"  /> 
     2149          <field field_ref="SMS_Age_E3T"  name="SMS_Age_E3T"  /> 
     2150   </field_group> 
     2151 
     2152    <field_group id="trendIDTRA_cmip6" > 
     2153          <!-- Ideal tracer --> 
     2154          <field field_ref="TOT_IDTRA_E3T"  name="TOT_IDTRA_E3T"  /> 
     2155          <field field_ref="SMS_IDTRA_E3T"  name="SMS_IDTRA_E3T"  /> 
     2156   </field_group> 
     2157 
     2158    <field_group id="trendC14B_cmip6" > 
     2159          <!-- c14 bomb --> 
     2160          <field field_ref="TOT_C14B_E3T"  name="TOT_C14B_E3T"  /> 
     2161          <field field_ref="SMS_C14B_E3T"  name="SMS_C14B_E3T"  /> 
     2162   </field_group> 
     2163 
     2164    <field_group id="trendCFC11_cmip6_inv" > 
     2165          <!-- cfc11 --> 
     2166          <field field_ref="TOT_CFC11_INV" name="TOT_CFC11_INV" /> 
     2167          <field field_ref="SMS_CFC11_INV" name="SMS_CFC11_INV" /> 
     2168   </field_group> 
     2169 
     2170    <field_group id="trendCFC12_cmip6_inv" > 
     2171          <!-- cfc12 --> 
     2172          <field field_ref="TOT_CFC12_INV" name="TOT_CFC12_INV" /> 
     2173          <field field_ref="SMS_CFC12_INV" name="SMS_CFC12_INV" /> 
     2174   </field_group> 
     2175 
     2176    <field_group id="trendSF6_cmip6_inv" > 
     2177          <!-- sf6 --> 
     2178          <field field_ref="TOT_SF6_INV"  name="TOT_SF6_INV"  /> 
     2179          <field field_ref="SMS_SF6_INV"  name="SMS_SF6_INV"  /> 
     2180   </field_group> 
     2181 
     2182    <field_group id="trendAGE_cmip6_inv" > 
     2183          <!-- age --> 
     2184          <field field_ref="TOT_Age_INV"  name="TOT_Age_INV"  /> 
     2185          <field field_ref="SMS_Age_INV"  name="SMS_Age_INV"  /> 
     2186   </field_group> 
     2187 
     2188    <field_group id="trendIDTRA_cmip6_inv" > 
     2189          <!-- Ideal tracer --> 
     2190          <field field_ref="TOT_IDTRA_INV"  name="TOT_IDTRA_INV" />  
     2191          <field field_ref="SMS_IDTRA_INV"  name="SMS_IDTRA_INV" />   
     2192   </field_group> 
     2193 
     2194    <field_group id="trendC14B_cmip6_inv" > 
     2195          <!-- c14 bomb --> 
     2196          <field field_ref="TOT_C14B_INV"  name="TOT_C14B_INV"  /> 
     2197          <field field_ref="SMS_C14B_INV"  name="SMS_C14B_INV"  />  
     2198   </field_group> 
    6082199 
    6092200    <field_group id="groupMEDUSA_dia" > 
     
    7022293      <field field_ref= "OCN_CO3"    name="OCN_CO3"    /> 
    7032294      <field field_ref= "CO2FLUX"    name="CO2FLUX"    /> 
    704       <field field_ref= "FGCO2"      name="FGCO2"      /> 
    7052295      <field field_ref= "OM_CAL"     name="OM_CAL"     /> 
    7062296      <field field_ref= "OM_ARG"     name="OM_ARG"     /> 
     
    7842374      <field field_ref= "CO2STARAIR" name="CO2STARAIR" /> 
    7852375      <field field_ref= "OCN_DPCO2"  name="OCN_DPCO2"  /> 
     2376      <field field_ref= "CHL_MLD"    name="CHL_MLD"    /> 
     2377    </field_group> 
     2378 
     2379    <field_group id="groupMEDUSA_cpl" > 
     2380      <field field_ref= "CHL_CPL"    name="CHL_CPL"    /> 
     2381      <field field_ref= "FGCO2"      name="FGCO2_CPL"  /> 
     2382      <field field_ref= "DMS_SURF"   name="DMS_CPL"    /> 
     2383      <field field_ref= "ATM_XCO2"   name="AXCO2_CPL"  /> 
     2384      <field field_ref= "AEOLIAN"    name="DUST_CPL"   /> 
    7862385    </field_group> 
    7872386 
     
    8092408      <field field_ref= "RIV_C"      name="RIV_C"      /> 
    8102409      <field field_ref= "RIV_ALK"    name="RIV_ALK"    /> 
     2410    </field_group> 
     2411 
     2412    <field_group id="groupMEDUSA_cmip6_duplicates" > 
     2413      <field field_ref= "FBDDTALK"   name="FBDDTALK"   /> 
     2414      <field field_ref= "FBDDTDIC"   name="FBDDTDIC"   /> 
     2415      <field field_ref= "FBDDTDIFE"  name="FBDDTDIFE"  /> 
     2416      <field field_ref= "FBDDTDIN"   name="FBDDTDIN"   /> 
     2417      <field field_ref= "FBDDTDISI"  name="FBDDTDISI"  /> 
     2418      <field field_ref= "BDDTALK3"   name="BDDTALK3"   /> 
     2419      <field field_ref= "BDDTDIC3"   name="BDDTDIC3"   /> 
     2420      <field field_ref= "BDDTDIFE3"  name="BDDTDIFE3"  /> 
     2421      <field field_ref= "BDDTDIN3"   name="BDDTDIN3"   /> 
     2422      <field field_ref= "BDDTDISI3"  name="BDDTDISI3"  /> 
    8112423    </field_group> 
    8122424 
     
    8222434      <field field_ref= "O2min"      name="O2min"      /> 
    8232435      <field field_ref= "ZO2min"     name="ZO2min"     /> 
    824       <field field_ref= "FBDDTALK"   name="FBDDTALK"   /> 
    825       <field field_ref= "FBDDTDIC"   name="FBDDTDIC"   /> 
    826       <field field_ref= "FBDDTDIFE"  name="FBDDTDIFE"  /> 
    827       <field field_ref= "FBDDTDIN"   name="FBDDTDIN"   /> 
    828       <field field_ref= "FBDDTDISI"  name="FBDDTDISI"  /> 
    8292436      <field field_ref= "TPPD3"      name="TPPD3"      /> 
    830       <field field_ref= "BDDTALK3"   name="BDDTALK3"   /> 
    831       <field field_ref= "BDDTDIC3"   name="BDDTDIC3"   /> 
    832       <field field_ref= "BDDTDIFE3"  name="BDDTDIFE3"  /> 
    833       <field field_ref= "BDDTDIN3"   name="BDDTDIN3"   /> 
    834       <field field_ref= "BDDTDISI3"  name="BDDTDISI3"  /> 
    8352437      <field field_ref= "FD_NIT3"    name="FD_NIT3"    /> 
    8362438      <field field_ref= "FD_SIL3"    name="FD_SIL3"    /> 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/CONFIG/SHARED/iodef_medusa_et_al.xml

    r8308 r10296  
    2424============================================================================================================ 
    2525    --> 
    26  
    27     <file_definition type="multiple_file" name="@expname@_@freq@_@startdate@_@enddate@" sync_freq="1mo" min_digits="4"> 
     26     
     27<!-- NOTE: *  sync_freq  is the frequency of update of / buffer flush to the output files 
     28           *  min_digits is the number of digits to use to represent the decomposition in the file name (_0000.nc) 
     29      *  output_freq is the write frequency (subject to the setting for "operation"). However note that when output_freq < rn_rdt,  
     30      the *** file time coordinate spacing is forced to output_freq *** (r429).       
     31                                                --> 
     32     
     33    <file_definition type="multiple_file" sync_freq="1mo" min_digits="4" name="@expname@_@freq@_@startdate@_@enddate@" time_counter="record"> 
    2834     
    2935      <file_group id="1ts" output_freq="1ts"  output_level="10" enabled=".TRUE."/> <!-- 1 time step files --> 
     
    3844      <file_group id="3d" output_freq="3d"  output_level="10" enabled=".TRUE."/> <!-- 3d files -->     
    3945 
    40       <file_group id="10d" output_freq="10d" output_level="10" enabled=".TRUE."> <!-- 10d files --> 
    41  
    42    <file id="file1" name_suffix="_grid_T" description="ocean T grid variables" > 
    43           <field field_ref="e3t"          name="e3t"        standard_name="cell_thickness" /> 
    44           <field field_ref="toce"         name="votemper"        operation="average" freq_op="1mo" > @toce_e3t / @e3t </field> 
    45           <field field_ref="toce"         name="votemper2"       operation="average" freq_op="1mo" > @toce2_e3t / @e3t </field> 
    46           <field field_ref="soce"         name="vosaline"        operation="average" freq_op="1mo" > @soce_e3t / @e3t </field> 
    47           <field field_ref="soce"         name="vosaline2"       operation="average" freq_op="1mo" > @soce2_e3t / @e3t </field> 
    48           <field field_ref="ttrd_totad"   name="opottempadvect"  operation="average" freq_op="1mo" > @ttrd_totad_e3t * 1026.0 * 3991.86795711963 </field> 
    49           <field field_ref="ttrd_iso"     name="opottemppmdiff"  operation="average" freq_op="1mo" > @ttrd_iso_e3t * 1026.0 * 3991.86795711963 </field> 
    50           <field field_ref="ttrd_zdfp"    name="opottempdiff"    operation="average" freq_op="1mo" > @ttrd_zdfp_e3t * 1026.0 * 3991.86795711963 </field> 
    51           <field field_ref="ttrd_evd"     name="ttrd_evd"        operation="average" freq_op="1mo" > @ttrd_evd_e3t / @e3t </field> 
    52           <field field_ref="ttrd_qns"     name="ttrd_qns"        operation="average" freq_op="1mo" > @ttrd_qns_e3t / @e3t_surf </field> 
    53           <field field_ref="ttrd_qsr"     name="rsdoabsorb"      operation="average" freq_op="1mo" > @ttrd_qsr_e3t * 1026.0 * 3991.86795711963 </field> 
    54           <field field_ref="ttrd_bbl"     name="ttrd_bbl"        operation="average" freq_op="1mo" > @ttrd_bbl_e3t / @e3t </field> 
    55           <field field_ref="ttrd_tot"     name="opottemptend"    operation="average" freq_op="1mo" > @ttrd_tot_e3t * 1026.0 * 3991.86795711963 </field> 
    56           <field field_ref="strd_totad"   name="osaltadvect"     operation="average" freq_op="1mo" > @strd_totad_e3t * 1026.0 * 0.001 </field> 
    57           <field field_ref="strd_iso"     name="osaltpmdiff"     operation="average" freq_op="1mo" > @strd_iso_e3t * 1026.0 * 0.001  </field> 
    58           <field field_ref="strd_zdfp"    name="osaltdiff"       operation="average" freq_op="1mo" > @strd_zdfp_e3t * 1026.0 * 0.001  </field> 
    59           <field field_ref="strd_evd"     name="strd_evd"        operation="average" freq_op="1mo" > @strd_evd_e3t / @e3t </field> 
    60           <field field_ref="strd_tot"     name="osalttend"       operation="average" freq_op="1mo" > @strd_tot_e3t * 1026.0 * 0.001 </field> 
    61           <field field_ref="strd_bbl"     name="strd_bbl"        operation="average" freq_op="1mo" > @strd_bbl_e3t / @e3t </field> 
    62      <field field_ref="ssh"          name="sossheig"   standard_name="sea_surface_height_above_geoid"                          /> 
    63           <field field_ref="ssh2"         name="zossq"      standard_name="square_of_sea_surface_height_above_geoid"                /> 
    64      <field field_ref="empmr"        name="sowaflup"   standard_name="water_flux_out_of_sea_ice_and_sea_water"                 /> 
    65      <field field_ref="saltflx"      name="sosafldo"   standard_name="salt_flux_into_sea_water"                                /> 
    66      <field field_ref="qt"           name="sohefldo"   standard_name="surface_downward_heat_flux_in_sea_water"                 /> 
    67      <field field_ref="qsr"          name="soshfldo"   standard_name="downwelling_photosynthetic_radiative_flux_in_sea_water"               /> 
    68           <field field_ref="mldkz5"       name="somixhgt"   standard_name="ocean_mixed_layer_thickness_defined_by_vertical_tracer_diffusivity"   /> 
    69           <field field_ref="mldr10_1"     name="somxl010"   standard_name="ocean_mixed_layer_thickness_defined_by_sigma_theta"      /> 
    70           <field field_ref="mldzint_1"    name="sokaraml"   standard_name="ocean_mixed_layer_thickness"                             /> 
    71           <field field_ref="mldzint_2"    name="somlddbm"   standard_name="ocean_mixed_layer_thickness"                             /> 
    72           <field field_ref="ice_cover"    name="soicecov"   standard_name="sea_ice_area_fraction"                                   /> 
    73           <field field_ref="wspd"         name="sowindsp"   standard_name="wind_speed"                                              />           
    74           <field field_ref="qhcisf"       name="sohflisf"   standard_name="ice_shelf_heat_flux"                                                        /> 
    75           <field field_ref="qlatisf"      name="soqlatisf"  standard_name="ice_shelf_latent_heat_flux"                                                        /> 
    76           <field field_ref="fwfisf"       name="sowflisf"   standard_name="ice_shelf_melting"                                                        /> 
    77           <field field_ref="berg_total_melt"       name="berg_total_melt"          standard_name=""                                 /> 
    78           <field field_ref="berg_total_heat_flux"  name="berg_total_heat_flux"     standard_name=""                                 /> 
    79           <field field_ref="runoffs"       name="sorunoff"    standard_name="water_flux_into_sea_water_from_rivers"                 /> 
    80           <field field_ref="hflx_rain_cea" name="hfrainds"    standard_name="temperature_flux_due_to_rainfall_expressed_as_heat_flux_into_sea_water"/> 
    81           <field field_ref="hflx_evap_cea" name="hfevapds"    standard_name="temperature_flux_due_to_evaporation_expressed_as_heat_flux_out_of_sea_water"/> 
    82           <field field_ref="evap_ao_cea"   name="evap_ao_cea" standard_name="water_evaporation_flux"                                /> 
    83           <field field_ref="rain"          name="pr"          standard_name="rainfall_flux"                                         /> 
    84           <field field_ref="snowpre"       name="snowpre"     standard_name="snowfall_flux"                                         /> 
    85           <field field_ref="snow_ao_cea"   name="snow_ao_cea" standard_name="snowfall_flux_over_ocean"                              /> 
    86           <field field_ref="snow_ai_cea"   name="snow_ai_cea" standard_name="snowfall_flux_over_sea_ice"                            /> 
    87    </file> 
    88     
    89    <file id="file2" name_suffix="_grid_U" description="ocean U grid variables" > 
    90           <field field_ref="e3u"          name="e3u"        standard_name="cell_thickness" /> 
    91           <field field_ref="uoce"         name="vozocrtx"     operation="average" freq_op="1mo" > @uoce_e3u / @e3u </field> 
    92           <field field_ref="uoce"         name="vozocrtx2"    operation="average" freq_op="1mo" > @uoce2_e3u / @e3u </field> 
    93           <field field_ref="ut"           name="ut"           operation="average" freq_op="1mo" > @ut_e3u / @e3u </field> 
    94           <field field_ref="us"           name="us"           operation="average" freq_op="1mo" > @us_e3u / @e3u </field> 
    95      <field field_ref="utau"         name="sozotaux"   standard_name="surface_downward_x_stress" /> 
    96    </file> 
    97     
    98    <file id="file3" name_suffix="_grid_V" description="ocean V grid variables" > 
    99           <field field_ref="e3v"          name="e3v"        standard_name="cell_thickness" /> 
    100           <field field_ref="voce"         name="vomecrty"     operation="average" freq_op="1mo" > @voce_e3v / @e3v </field> 
    101           <field field_ref="voce"         name="vomecrty2"    operation="average" freq_op="1mo" > @voce2_e3v / @e3v </field> 
    102           <field field_ref="vt"           name="vt"           operation="average" freq_op="1mo" > @vt_e3v / @e3v </field> 
    103           <field field_ref="vs"           name="vs"           operation="average" freq_op="1mo" > @vs_e3v / @e3v </field> 
    104      <field field_ref="vtau"         name="sometauy"   standard_name="surface_downward_y_stress" /> 
    105    </file> 
    106     
    107    <file id="file4" name_suffix="_grid_W" description="ocean W grid variables" > 
    108      <field field_ref="woce"         name="vovecrtz"   standard_name="upward_sea_water_velocity"                         /> 
    109           <field field_ref="wt"           name="wt"         standard_name=""                                                  /> 
    110           <field field_ref="ws"           name="ws"         standard_name=""                                                  /> 
    111      <field field_ref="avt"          name="votkeavt"   standard_name="ocean_vertical_heat_diffusivity"                   /> 
    112           <field field_ref="avm"          name="votkeavm"   standard_name="ocean_vertical_momentum_diffusivity"               /> 
    113           <field field_ref="aht2d"        name="soleahtw"   standard_name="vertical_component_of_ocean_xy_tracer_diffusivity" /> 
    114    </file> 
    115          
    116         <file id="file5" name_suffix="_diaptr" description="processed diagnostics" > 
    117      <field field_ref="zomsfglo"     name="zomsfglo"   standard_name="meridional_streamfunction_global"           grid_ref="gznl_W_3D"       /> 
    118           <field field_ref="zotemglo"     name="zotemglo"   standard_name="zonal_mean_temperature_global"              grid_ref="gznl_T_3D"       /> 
    119           <field field_ref="zosrfglo"     name="zosrfglo"   standard_name="zonal_mean_surface_global"                  grid_ref="gznl_T_3D"       /> 
    120      <field field_ref="zosalglo"     name="zosalglo"   standard_name="zonal_mean_salinity_global"                 grid_ref="gznl_T_3D"       />           
    121           <field field_ref="zomsfatl"     name="zomsfatl"   standard_name="meridional_streamfunction_atlantic"         grid_ref="gznl_W_3D"       /> 
    122           <field field_ref="zotematl"     name="zotematl"   standard_name="zonal_mean_temperature_atlantic"            grid_ref="gznl_T_3D"       /> 
    123           <field field_ref="zosrfatl"     name="zosrfatl"   standard_name="zonal_mean_surface_atlantic"                grid_ref="gznl_T_3D"       /> 
    124      <field field_ref="zosalatl"     name="zosalatl"   standard_name="zonal_mean_salinity_atlantic"               grid_ref="gznl_T_3D"       />           
    125           <field field_ref="zomsfpac"     name="zomsfpac"   standard_name="meridional_streamfunction_pacific"          grid_ref="gznl_W_3D"       /> 
    126           <field field_ref="zotempac"     name="zotempac"   standard_name="zonal_mean_temperature_pacific"             grid_ref="gznl_T_3D"       /> 
    127           <field field_ref="zosrfpac"     name="zosrfpac"   standard_name="zonal_mean_surface_pacific"                 grid_ref="gznl_T_3D"       /> 
    128      <field field_ref="zosalpac"     name="zosalpac"   standard_name="zonal_mean_salinity_pacific"                grid_ref="gznl_T_3D"       /> 
    129           <field field_ref="zomsfind"     name="zomsfind"   standard_name="meridional_streamfunction_indian"           grid_ref="gznl_W_3D"       /> 
    130           <field field_ref="zotemind"     name="zotemind"   standard_name="zonal_mean_temperature_indian"              grid_ref="gznl_T_3D"       /> 
    131           <field field_ref="zosrfind"     name="zosrfind"   standard_name="zonal_mean_surface_indian"                  grid_ref="gznl_T_3D"       /> 
    132      <field field_ref="zosalind"     name="zosalind"   standard_name="zonal_mean_salinity_indian"                 grid_ref="gznl_T_3D"       />           
    133           <field field_ref="zomsfipc"     name="zomsfipc"   standard_name="meridional_streamfunction_indian_pacific"   grid_ref="gznl_W_3D"       /> 
    134           <field field_ref="zotemipc"     name="zotemipc"   standard_name="zonal_mean_temperature_indian_pacific"      grid_ref="gznl_T_3D"       /> 
    135           <field field_ref="zosrfipc"     name="zosrfipc"   standard_name="zonal_mean_surface_indian_pacific"          grid_ref="gznl_T_3D"       /> 
    136      <field field_ref="zosalipc"     name="zosalipc"   standard_name="zonal_mean_salinity_indian_pacific"         grid_ref="gznl_T_3D"       />           
    137           <field field_ref="sophtadv"     name="sophtadv"   standard_name="advective_heat_transport"                   grid_ref="gznl_T_2D"       /> 
    138           <field field_ref="sopstadv"     name="sopstadv"   standard_name="advective_salt_transport"                   grid_ref="gznl_T_2D"       /> 
    139           <field field_ref="sophtldf"     name="sophtldf"   standard_name="diffusive_heat_transport"                   grid_ref="gznl_T_2D"       /> 
    140           <field field_ref="sopstldf"     name="sopstldf"   standard_name="diffusive_salt_transport"                   grid_ref="gznl_T_2D"       /> 
    141           <field field_ref="sophtadv_atl" name="sophtadv_atl"   standard_name="advective_heat_transport_atlantic"      grid_ref="gznl_T_2D"       /> 
    142           <field field_ref="sopstadv_atl" name="sopstadv_atl"   standard_name="advective_salt_transport_atlantic"      grid_ref="gznl_T_2D"       /> 
    143           <field field_ref="sophtldf_atl" name="sophtldf_atl"   standard_name="diffusive_heat_transport_atlantic"      grid_ref="gznl_T_2D"       /> 
    144           <field field_ref="sopstldf_atl" name="sopstldf_atl"   standard_name="diffusive_salt_transport_atlantic"      grid_ref="gznl_T_2D"       /> 
    145           <field field_ref="sophtadv_pac" name="sophtadv_pac"   standard_name="advective_heat_transport_pacific"       grid_ref="gznl_T_2D"       /> 
    146           <field field_ref="sopstadv_pac" name="sopstadv_pac"   standard_name="advective_salt_transport_pacific"       grid_ref="gznl_T_2D"       /> 
    147           <field field_ref="sophtldf_pac" name="sophtldf_pac"   standard_name="diffusive_heat_transport_pacific"       grid_ref="gznl_T_2D"       /> 
    148           <field field_ref="sopstldf_pac" name="sopstldf_pac"   standard_name="diffusive_salt_transport_pacific"       grid_ref="gznl_T_2D"       /> 
    149           <field field_ref="sophtadv_ind" name="sophtadv_ind"   standard_name="advective_heat_transport_indian"        grid_ref="gznl_T_2D"       /> 
    150           <field field_ref="sopstadv_ind" name="sopstadv_ind"   standard_name="advective_salt_transport_indian"        grid_ref="gznl_T_2D"       /> 
    151           <field field_ref="sophtldf_ind" name="sophtldf_ind"   standard_name="diffusive_heat_transport_indian"        grid_ref="gznl_T_2D"       /> 
    152           <field field_ref="sopstldf_ind" name="sopstldf_ind"   standard_name="diffusive_salt_transport_indian"        grid_ref="gznl_T_2D"       /> 
    153           <field field_ref="sophtadv_ipc" name="sophtadv_ipc"   standard_name="advective_heat_transport_indopacific"   grid_ref="gznl_T_2D"       /> 
    154           <field field_ref="sopstadv_ipc" name="sopstadv_ipc"   standard_name="advective_salt_transport_indopacific"   grid_ref="gznl_T_2D"       /> 
    155           <field field_ref="sophtldf_ipc" name="sophtldf_ipc"   standard_name="diffusive_heat_transport_indopacific"   grid_ref="gznl_T_2D"       /> 
    156           <field field_ref="sopstldf_ipc" name="sopstldf_ipc"   standard_name="diffusive_salt_transport_indopacific"   grid_ref="gznl_T_2D"       /> 
    157    </file> 
    158  
    159         <file id="file6" name_suffix="_ptrc_T" description="Medusa sms variables" > 
    160           <field_group group_ref="groupMEDUSA" /> 
    161           <field_group group_ref="groupIDTRA" /> 
    162           <field_group group_ref="groupCFC" /> 
    163           <field_group group_ref="groupAGE" /> 
    164         </file> 
    165  
    166         <file id="file7" name_suffix="_diad_T" description="Medusa diagnostic variables" > 
    167           <field_group group_ref="groupMEDUSA_dia" />  
    168           <field_group group_ref="groupMEDUSA_3dd" />  
    169           <field_group group_ref="groupMEDUSA_dms" /> 
    170           <field_group group_ref="groupIDTRA_dia" /> 
    171           <field_group group_ref="groupCFC_dia" /> 
    172           <field_group group_ref="groupMEDUSA_cmip6" /> 
    173         </file> 
    174         
    175       </file_group> 
    176        
     46      <file_group id="10d" output_freq="10d" output_level="10" enabled=".FALSE."/> <!-- 10d files --> 
    17747   
    178       <file_group id="1m" output_freq="1mo" split_freq="1mo" output_level="10" enabled=".FALSE."> <!-- 1mo files -->    
    179       <!-- <file_group id="1m" output_freq="1mo" output_level="10" enabled=".TRUE.">  - 1mo files -->    
     48      <file_group id="1m" output_freq="1mo" split_freq="1mo" output_level="10" enabled=".TRUE."> <!-- 1mo files --> 
     49      <!-- <file_group id="1m" output_freq="1mo" output_level="10" enabled=".TRUE.">  - 1mo files --> 
    18050 
    18151        <file id="file9" name_suffix="_grid_T" description="ocean T grid variables" > 
     
    18555          <field field_ref="soce"         name="vosaline"        operation="average" freq_op="1mo" > @soce_e3t / @e3t </field> 
    18656          <field field_ref="soce"         name="vosaline2"       operation="average" freq_op="1mo" > @soce2_e3t / @e3t </field> 
    187           <field field_ref="ttrd_totad"   name="opottempadvect"  operation="average" freq_op="1mo" > @ttrd_totad_e3t * 1026.0 * 3991.86795711963 </field> 
    188           <field field_ref="ttrd_iso"     name="opottemppmdiff"  operation="average" freq_op="1mo" > @ttrd_iso_e3t * 1026.0 * 3991.86795711963 </field> 
    189           <field field_ref="ttrd_zdfp"    name="opottempdiff"    operation="average" freq_op="1mo" > @ttrd_zdfp_e3t * 1026.0 * 3991.86795711963 </field> 
    190           <field field_ref="ttrd_evd"     name="ttrd_evd"        operation="average" freq_op="1mo" > @ttrd_evd_e3t / @e3t </field> 
    191           <field field_ref="ttrd_qns"     name="ttrd_qns"        operation="average" freq_op="1mo" > @ttrd_qns_e3t / @e3t_surf </field> 
    192           <field field_ref="ttrd_qsr"     name="rsdoabsorb"      operation="average" freq_op="1mo" > @ttrd_qsr_e3t * 1026.0 * 3991.86795711963 </field> 
    193           <field field_ref="ttrd_bbl"     name="ttrd_bbl"        operation="average" freq_op="1mo" > @ttrd_bbl_e3t / @e3t </field> 
    194           <field field_ref="ttrd_tot"     name="opottemptend"    operation="average" freq_op="1mo" > @ttrd_tot_e3t * 1026.0 * 3991.86795711963 </field> 
    195           <field field_ref="strd_totad"   name="osaltadvect"     operation="average" freq_op="1mo" > @strd_totad_e3t * 1026.0 * 0.001 </field> 
    196           <field field_ref="strd_iso"     name="osaltpmdiff"     operation="average" freq_op="1mo" > @strd_iso_e3t * 1026.0 * 0.001  </field> 
    197           <field field_ref="strd_zdfp"    name="osaltdiff"       operation="average" freq_op="1mo" > @strd_zdfp_e3t * 1026.0 * 0.001  </field> 
    198           <field field_ref="strd_evd"     name="strd_evd"        operation="average" freq_op="1mo" > @strd_evd_e3t / @e3t </field> 
    199           <field field_ref="strd_tot"     name="osalttend"       operation="average" freq_op="1mo" > @strd_tot_e3t * 1026.0 * 0.001 </field> 
    200           <field field_ref="strd_bbl"     name="strd_bbl"        operation="average" freq_op="1mo" > @strd_bbl_e3t / @e3t </field> 
     57          <!-- trend diagnostics--> 
     58          <field field_ref="ttrd_totad_li"   name="opottempadvect"  unit="W/m2"      /> 
     59          <field field_ref="ttrd_iso_li"     name="opottemppmdiff"  unit="W/m2"      /> 
     60          <field field_ref="ttrd_zdfp_li"    name="opottempdiff"    unit="W/m2"      /> 
     61          <field field_ref="ttrd_evd_li"     name="ttrd_evd_li"     unit="W/m2"      /> 
     62          <field field_ref="ttrd_qns_li"     name="ttrd_qns_li"     unit="W/m2"      /> 
     63          <field field_ref="ttrd_qsr_li"     name="rsdoabsorb"      unit="W/m2"      /> 
     64          <field field_ref="ttrd_bbl_li"     name="ttrd_bbl_li"     unit="W/m2"      /> 
     65          <field field_ref="ttrd_atf_li"     name="ttrd_atf_li"     unit="W/m2"      /> 
     66          <field field_ref="ttrd_tot_li"     name="opottemptend"    unit="W/m2"      /> 
     67          <field field_ref="strd_totad_li"   name="osaltadvect"     unit="Kg/m2/s"   /> 
     68          <field field_ref="strd_iso_li"     name="osaltpmdiff"     unit="kg/m2/s"   /> 
     69          <field field_ref="strd_zdfp_li"    name="osaltdiff"       unit="kg/m2/s"   /> 
     70          <field field_ref="strd_evd_li"     name="strd_evd_li"     unit="Kg/m2/s"   /> 
     71          <field field_ref="strd_tot_li"     name="osalttend"       unit="kg/m2/s"   /> 
     72          <field field_ref="strd_bbl_li"     name="strd_bbl_li"     unit="Kg/m2/s"   /> 
     73          <field field_ref="strd_atf_li"     name="strd_atf_li"     unit="Kg/m2/s"   /> 
     74          <!--  --> 
    20175          <field field_ref="ssh"          name="sossheig"   standard_name="sea_surface_height_above_geoid"                          /> 
    20276          <field field_ref="ssh2"         name="zossq"      standard_name="square_of_sea_surface_height_above_geoid"                /> 
     
    298172        <file id="file14" name_suffix="_ptrc_T" description="Medusa sms variables" > 
    299173          <field_group group_ref="groupMEDUSA" /> 
    300           <field_group group_ref="groupIDTRA" /> 
    301           <field_group group_ref="groupCFC" /> 
    302           <field_group group_ref="groupAGE" /> 
    303174        </file> 
    304175 
     
    307178          <field_group group_ref="groupMEDUSA_3dd" />  
    308179          <field_group group_ref="groupMEDUSA_dms" /> 
    309           <field_group group_ref="groupIDTRA_dia" /> 
    310           <field_group group_ref="groupCFC_dia" /> 
    311           <field_group group_ref="groupMEDUSA_cmip6" /> 
    312         </file> 
     180          <!-- <field_group group_ref="groupMEDUSA_cmip6" /> --> 
     181        </file> 
     182 
     183        <file id="file16" name_suffix="_ptrd_T" description="Passive tracers trends" enabled=".TRUE."> <!-- key_trdtrc --> 
     184            <!-- <field_group group_ref="trendMEDUSA_short" /> --> 
     185            <field field_ref="TAD_DIN_E3T"  name="TAD_DIN_E3T"   /> 
     186            <field field_ref="BBL_DIN_E3T"  name="BBL_DIN_E3T"   /> 
     187            <field field_ref="ISO_DIN_E3T"  name="ISO_DIN_E3T"   /> 
     188            <field field_ref="ISO_DIN_E3T2"  name="ISO_DIN_E3T2"   /> 
     189            <field field_ref="ISO_DIN_E3T3"  name="ISO_DIN_E3T3"   /> 
     190            <field field_ref="ZDP_DIN_E3T"  name="ZDP_DIN_E3T"   /> 
     191            <field field_ref="ATF_DIN_E3T"  name="ATF_DIN_E3T"   /> 
     192            <field field_ref="SMS_DIN_E3T"  name="SMS_DIN_E3T"   /> 
     193            <field field_ref="TOT_DIN_E3T"  name="TOT_DIN_E3T"   /> 
     194            <field field_ref="TAD_DiC_E3T"  name="TAD_DiC_E3T"   /> 
     195            <field field_ref="BBL_DiC_E3T"  name="BBL_DiC_E3T"   /> 
     196            <field field_ref="ISO_DiC_E3T"  name="ISO_DiC_E3T"   /> 
     197            <field field_ref="ZDP_DiC_E3T"  name="ZDP_DiC_E3T"   /> 
     198            <field field_ref="ATF_DiC_E3T"  name="ATF_DiC_E3T"   /> 
     199            <field field_ref="SMS_DiC_E3T"  name="SMS_DiC_E3T"   /> 
     200            <field field_ref="TOT_DiC_E3T"  name="TOT_DiC_E3T"   /> 
     201           <!--  <field_group group_ref="trendCFC11" />  --> 
     202           <!--  <field_group group_ref="trendCFC12" />  --> 
     203           <!--  <field_group group_ref="trendSF6" />    --> 
     204           <!--  <field_group group_ref="trendAGE" />    --> 
     205           <!--  <field_group group_ref="trendIDTRA" />  --> 
     206        </file> 
     207 
    313208 
    314209      </file_group> 
     
    334229   <axis_definition> 
    335230      <axis id="deptht" standard_name="depth" long_name="Vertical T levels" unit="m" positive="down" /> 
     231      <axis id="deptht300" axis_ref="deptht" > 
     232         <zoom_axis begin="0" n="35" /> 
     233      </axis> 
    336234      <axis id="depthu" standard_name="depth" long_name="Vertical U levels" unit="m" positive="down" /> 
    337235      <axis id="depthv" standard_name="depth" long_name="Vertical V levels" unit="m" positive="down" /> 
     
    339237      <axis id="nfloat" long_name="Float number"      unit="-"  /> 
    340238      <axis id="icbcla" long_name="Iceberg class"     unit="-"  /> 
    341       <axis id="ncatice" long_name="Ice category"       unit="1"               /> 
    342       <axis id="iax_20C" long_name="20 degC isotherm"   unit="degC"            /> 
    343       <axis id="iax_28C" long_name="28 degC isotherm"   unit="degC"            /> 
    344239      <axis id="deptht_surface" axis_ref="deptht" > 
    345          <zoom_axis begin=" 1 " n=" 1 " /> 
     240         <zoom_axis begin=" 0 " n=" 1 " /> 
    346241      </axis> 
    347  
    348    </axis_definition> 
     242   </axis_definition>  
    349243     
    350244   <domain_definition src="./domain_def.xml"/> 
     
    356250       </grid> 
    357251        <!--  --> 
    358        <grid id="grid_T_3D_ncatice" > 
    359          <domain id="grid_T" /> 
    360          <axis id="ncatice" /> 
    361        </grid> 
    362         <!--  --> 
    363252       <grid id="grid_T_3D" > 
    364253         <domain id="grid_T" /> 
    365          <axis id="deptht" /> 
     254         <axis axis_ref="deptht" /> 
    366255       </grid> 
    367256        <!--  --> 
     
    372261       <grid id="grid_U_3D" > 
    373262         <domain id="grid_U" /> 
    374          <axis id="depthu" /> 
     263         <axis axis_ref="depthu" /> 
    375264       </grid> 
    376265        <!--  --> 
     
    381270       <grid id="grid_V_3D" > 
    382271         <domain id="grid_V" /> 
    383          <axis id="depthv" /> 
     272         <axis axis_ref="depthv" /> 
    384273       </grid> 
    385274        <!--  --> 
     
    390279       <grid id="grid_W_3D" > 
    391280         <domain id="grid_W" /> 
    392          <axis id="depthw" /> 
     281         <axis axis_ref="depthw" /> 
    393282       </grid> 
    394283        <!--  --> 
    395284       <grid id="grid_1point" > 
    396          <domain id="1point"/> 
     285         <domain domain_ref="1point"/> 
    397286       </grid> 
    398287        <!--  --> 
     
    400289       <!--A blank grid to represent a 0D scalar variable --> 
    401290       </grid> 
    402         <!--  --> 
     291       <!--  --> 
    403292       <grid id="grid_T_nfloat" > 
    404293         <domain id="grid_T" /> 
    405          <axis id="nfloat" /> 
     294         <axis axis_ref="nfloat" /> 
    406295       </grid> 
    407296        <!--  --> 
     
    416305       <grid id="gznl_T_3D"> 
    417306         <domain id="ptr" /> 
    418          <axis id="deptht" /> 
     307         <axis axis_ref="deptht" /> 
    419308       </grid> 
    420309        <!--  --> 
     
    425314       <grid id="gznl_W_3D"> 
    426315         <domain id="ptr" /> 
    427          <axis id="depthw" /> 
    428        </grid> 
    429         <!--  --> 
     316         <axis axis_ref="depthw" /> 
     317       </grid> 
     318       <grid id="vert_sum"> 
     319         <domain id="grid_T"/> 
     320         <scalar> 
     321            <reduce_axis operation="sum" /> 
     322         </scalar> 
     323       </grid> 
     324       <grid id="zoom_300"> 
     325         <domain id="grid_T" /> 
     326         <axis axis_ref="deptht300"/> 
     327       </grid> 
     328       <grid id="zoom_300_sum"> 
     329         <domain id="grid_T" /> 
     330         <scalar> 
     331            <reduce_axis operation="sum" /> 
     332         </scalar> 
     333       </grid> 
    430334       <grid id="grid_T_surface_extract"> 
    431          <domain domain_ref="grid_T" /> 
     335         <domain id="grid_T" /> 
    432336         <axis   axis_ref="deptht_surface" /> 
    433337       </grid> 
    434  
    435338    </grid_definition> 
    436339  </context> 
     
    443346     <variable id="info_level"            type="int">0</variable> 
    444347     <variable id="using_server"          type="bool">false</variable> 
    445      <variable id="using_oasis"           type="bool">true</variable> 
     348     <variable id="using_oasis"           type="bool">false</variable> 
    446349     <variable id="oasis_codes_id"        type="string" >toyoce</variable> 
    447350    
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/CONFIG/SHARED/namelist_medusa_ref

    r8280 r10296  
    140140!! 
    141141!! UKESM1 - new diagnostics  !! Jpalm 
     142!!       chl_out     : (IF key_oasis) use surf Chl (1) or mld Chl (2) 
     143!!       dmscut      : (if jdms_model=1) modify Anderson et al. 2001 param 
     144!!                     default = 1.72 
     145!!       dmsmin      : (if jdms_model=1) modify Anderson et al. 2001 dms minimum 
     146!!                     default = 2.29 
     147!!       dmsslp      : (if jdms_model=1) modify Anderson et al. 2001 dms slope 
     148!!                     default = 8.24 
    142149!!       jdms        :  include dms diagnostics 
    143150!!       jdms_input  :  use instant (0) or diel-avg (1) inputs 
    144151!!       jdms_model  :  which DMS model is passed to atmosphere 
    145 !! 
     152!!       scl_chl     : (IF key_oasis) scaling the exported to UM chlorophyll field 
    146153!!        
    147154&natbio 
     
    285292!! 
    286293!! UKESM1 - new diagnostics !! Jpalm 
     294      chl_out    = 1        !! (IF key_oasis) use surf Chl (1) or mld Chl (2) 
     295      dmscut     = 1.72     !! (if jdms_model=1) modify Anderson et al. 2001 param 
     296!!                             default = 1.72 
     297      dmsmin     = 2.29     !! (if jdms_model=1) modify Anderson et al. 2001 dms minimum 
     298!!                             default = 2.29 
     299      dmsslp     = 8.24     !! (if jdms_model=1) modify Anderson et al. 2001 dms slope 
     300!!                             default = 8.24 
    287301      jdms       = 1        !! include dms diagnostics 
    288302      jdms_input = 1        !! use instant (0) or diel-avg (1) inputs 
    289303      jdms_model = 3        !! choice of DMS model passed to atmosphere 
    290304!!                             1 = ANDR, 2 = SIMO, 3 = ARAN, 4 = HALL 
     305      scl_chl    = 1.0      !! (IF key_oasis) scaling the exported to UM chlorophyll field 
     306!! 
     307!! FOAM                         !! DAF 
     308      ln_foam_medusa = .false.  !! Calculate and save diagnostics for data assimilation 
    291309!! 
    292310/ 
     
    304322!!                    = (119 / 106) = 1.1226 mol O2 / mol C 
    305323!!       xo2min    :  oxygen minimum concentration 
     324!!       xobs_xco2a:  observed atmospheric xCO2 (not used if <= 0) 
    306325! 
    307326&natroam 
     
    311330   xthetarem = 1.1226 
    312331   xo2min    = 4.0 
     332   xobs_xco2a= -999.0 
    313333/ 
    314334!''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/CONFIG/SHARED/namelist_ref

    r8447 r10296  
    12871287&nam_asminc   !   assimilation increments                               ('key_asminc') 
    12881288!----------------------------------------------------------------------- 
    1289     ln_bkgwri = .false.    !  Logical switch for writing out background state 
    1290     ln_trainc = .false.    !  Logical switch for applying tracer increments 
    1291     ln_dyninc = .false.    !  Logical switch for applying velocity increments 
    1292     ln_sshinc = .false.    !  Logical switch for applying SSH increments 
    1293     ln_asmdin = .false.    !  Logical switch for Direct Initialization (DI) 
    1294     ln_asmiau = .false.    !  Logical switch for Incremental Analysis Updating (IAU) 
    1295     ln_seaiceinc = .false. !  Logical switch for applying sea ice increments 
     1289    ln_bkgwri      = .false. !  Logical switch for writing out background state 
     1290    ln_balwri      = .false. !  Logical switch for writing out balancing increments 
     1291    ln_trainc      = .false. !  Logical switch for applying tracer increments 
     1292    ln_dyninc      = .false. !  Logical switch for applying velocity increments 
     1293    ln_sshinc      = .false. !  Logical switch for applying SSH increments 
     1294    ln_asmdin      = .false. !  Logical switch for Direct Initialization (DI) 
     1295    ln_asmiau      = .false. !  Logical switch for Incremental Analysis Updating (IAU) 
     1296    ln_seaiceinc   = .false. !  Logical switch for applying sea ice increments 
     1297    ln_phytobal    = .false. !  Logical switch for phytoplankton multivariate balancing 
     1298    ln_slchltotinc = .false. !  Logical switch for applying slchltot increments 
     1299    ln_slchldiainc = .false. !  Logical switch for applying slchldia increments 
     1300    ln_slchlnoninc = .false. !  Logical switch for applying slchlnon increments 
     1301    ln_schltotinc  = .false. !  Logical switch for applying schltot increments 
     1302    ln_slphytotinc = .false. !  Logical switch for applying slphytot increments 
     1303    ln_slphydiainc = .false. !  Logical switch for applying slphydia increments 
     1304    ln_slphynoninc = .false. !  Logical switch for applying slphynon increments 
     1305    ln_sfco2inc    = .false. !  Logical switch for applying sfCO2 increments 
     1306    ln_spco2inc    = .false. !  Logical switch for applying spCO2 increments 
     1307    ln_plchltotinc = .false. !  Logical switch for applying plchltot increments 
     1308    ln_pchltotinc  = .false. !  Logical switch for applying pchltot increments 
     1309    ln_pno3inc     = .false. !  Logical switch for applying pno3 increments 
     1310    ln_psi4inc     = .false. !  Logical switch for applying psi4 increments 
     1311    ln_pdicinc     = .false. !  Logical switch for applying pdic increments 
     1312    ln_palkinc     = .false. !  Logical switch for applying palk increments 
     1313    ln_pphinc      = .false. !  Logical switch for applying pph increments 
     1314    ln_po2inc      = .false. !  Logical switch for applying po2 increments 
    12961315    ln_temnofreeze = .false. !  Logical to not add increments if temperature would fall below freezing 
    1297     nitbkg    = 0          !  Timestep of background in [0,nitend-nit000-1] 
    1298     nitdin    = 0          !  Timestep of background for DI in [0,nitend-nit000-1] 
    1299     nitiaustr = 1          !  Timestep of start of IAU interval in [0,nitend-nit000-1] 
    1300     nitiaufin = 15         !  Timestep of end of IAU interval in [0,nitend-nit000-1] 
    1301     niaufn    = 0          !  Type of IAU weighting function 
    1302     ln_salfix = .false.    !  Logical switch for ensuring that the sa > salfixmin 
    1303     salfixmin = -9999      !  Minimum salinity after applying the increments 
    1304     nn_divdmp = 0          !  Number of iterations of divergence damping operator 
     1316    nitbkg         = 0       !  Timestep of background in [0,nitend-nit000-1] 
     1317    nitdin         = 0       !  Timestep of background for DI in [0,nitend-nit000-1] 
     1318    nitiaustr      = 1       !  Timestep of start of IAU interval in [0,nitend-nit000-1] 
     1319    nitiaufin      = 15      !  Timestep of end of IAU interval in [0,nitend-nit000-1] 
     1320    niaufn         = 0       !  Type of IAU weighting function 
     1321    ln_salfix      = .false. !  Logical switch for ensuring that the sa > salfixmin 
     1322    salfixmin      = -9999   !  Minimum salinity after applying the increments 
     1323    nn_divdmp      = 0       !  Number of iterations of divergence damping operator 
     1324    mld_choice_bgc = 1       !  MLD criterion to use for biogeochemistry assimilation 
     1325    rn_maxchlinc   = -999.0  !  maximum absolute non-log chlorophyll increment from ocean colour assimilation 
     1326                             !  <= 0 implies no maximum applied (switch turned off) 
     1327                             !   > 0 implies maximum absolute chl increment capped at this value 
    13051328/ 
    13061329!----------------------------------------------------------------------- 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/CONFIG/SHARED/namelist_top_MEDUSA_et_al_ref

    r8427 r10296  
    9898   nn_ctls_trc =   0        !  control surface type in mixed-layer trends (0,1 or n<jpk) 
    9999   rn_ucf_trc  =   1        !  unit conversion factor (=1 -> /seconds ; =86400. -> /day) 
    100    ln_trdmld_trc_restart = .false.  !  restart for ML diagnostics 
    101    ln_trdmld_trc_instant = .true.  !  flag to diagnose trends of instantantaneous or mean ML T/S 
     100   ln_trdmxl_trc_restart = .false.  !  restart for ML diagnostics 
     101   ln_trdmxl_trc_instant = .true.  !  flag to diagnose trends of instantantaneous or mean ML T/S 
    102102   ln_trdtrc(1)  =   .true. 
    103103   ln_trdtrc(2)  =   .true. 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/CONFIG/SHARED/namelist_top_ref

    r6498 r10296  
    9898   nn_ctls_trc =   0        !  control surface type in mixed-layer trends (0,1 or n<jpk) 
    9999   rn_ucf_trc  =   1        !  unit conversion factor (=1 -> /seconds ; =86400. -> /day) 
    100    ln_trdmld_trc_restart = .false.  !  restart for ML diagnostics 
    101    ln_trdmld_trc_instant = .true.  !  flag to diagnose trends of instantantaneous or mean ML T/S 
     100   ln_trdmxl_trc_restart = .false.  !  restart for ML diagnostics 
     101   ln_trdmxl_trc_instant = .true.  !  flag to diagnose trends of instantantaneous or mean ML T/S 
    102102   ln_trdtrc(1)  =   .true. 
    103103   ln_trdtrc(2)  =   .true. 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/OPA_SRC/ASM/asmbkg.F90

    r8400 r10296  
    5050   USE ice 
    5151#endif 
     52#if defined key_top 
     53   USE asmbgc, ONLY: asm_bgc_bkg_wri 
     54#endif 
     55   USE timing 
    5256   IMPLICIT NONE 
    5357   PRIVATE 
     
    110114            ! 
    111115            !                                      ! Write the information 
     116            IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    112117            CALL iom_rstput( kt, nitbkg_r, inum, 'rdastp' , zdate             ) 
    113118            CALL iom_rstput( kt, nitbkg_r, inum, 'un'     , un                ) 
     
    121126!            CALL iom_rstput( kt, nitbkg_r, inum, 'gcx'    , gcx               ) 
    122127            CALL iom_rstput( kt, nitbkg_r, inum, 'avt'    , avt               ) 
     128            IF(nn_timing == 2)  CALL timing_stop('iom_rstput') 
    123129            ! 
     130#if defined key_top 
     131            CALL asm_bgc_bkg_wri( kt, inum ) 
     132            ! 
     133#endif 
    124134            CALL iom_close( inum ) 
    125135         ENDIF 
     
    149159            ! 
    150160            !                                      ! Write the information 
     161            IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    151162            CALL iom_rstput( kt, nitdin_r, inum, 'rdastp' , zdate             ) 
    152163            CALL iom_rstput( kt, nitdin_r, inum, 'un'     , un                ) 
     
    165176            ENDIF 
    166177#endif 
     178            IF(nn_timing == 2)  CALL timing_stop('iom_rstput') 
    167179            ! 
    168180            CALL iom_close( inum ) 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/OPA_SRC/ASM/asminc.F90

    r8400 r10296  
    4444#endif 
    4545   USE sbc_oce          ! Surface boundary condition variables. 
     46   USE asmbgc           ! Biogeochemistry assimilation 
    4647 
    4748   IMPLICIT NONE 
     
    5455   PUBLIC   ssh_asm_inc    !: Apply the SSH increment 
    5556   PUBLIC   seaice_asm_inc !: Apply the seaice increment 
     57   PUBLIC   bgc_asm_inc    !: Apply the biogeochemistry increments 
    5658 
    5759#if defined key_asminc 
     
    6769   LOGICAL, PUBLIC :: ln_sshinc = .FALSE.      !: No sea surface height assimilation increment 
    6870   LOGICAL, PUBLIC :: ln_seaiceinc             !: No sea ice concentration increment 
     71   LOGICAL, PUBLIC :: lk_bgcinc = .FALSE.      !: No biogeochemistry increments 
    6972   LOGICAL, PUBLIC :: ln_salfix = .FALSE.      !: Apply minimum salinity check 
    7073   LOGICAL, PUBLIC :: ln_temnofreeze = .FALSE. !: Don't allow the temperature to drop below freezing 
     
    133136      REAL(wp), POINTER, DIMENSION(:,:) ::   hdiv   ! 2D workspace 
    134137      !! 
    135       NAMELIST/nam_asminc/ ln_bkgwri,                                      & 
     138      NAMELIST/nam_asminc/ ln_bkgwri, ln_balwri,                           & 
    136139         &                 ln_trainc, ln_dyninc, ln_sshinc,                & 
     140         &                 ln_phytobal, ln_slchltotinc, ln_slchldiainc,    & 
     141         &                 ln_slchlnoninc, ln_schltotinc, ln_slphytotinc,  & 
     142         &                 ln_slphydiainc, ln_slphynoninc, ln_spco2inc,    & 
     143         &                 ln_sfco2inc, ln_plchltotinc, ln_pchltotinc,     & 
     144         &                 ln_pno3inc, ln_psi4inc, ln_pdicinc, ln_palkinc, & 
     145         &                 ln_pphinc, ln_po2inc,                           & 
    137146         &                 ln_asmdin, ln_asmiau,                           & 
    138147         &                 nitbkg, nitdin, nitiaustr, nitiaufin, niaufn,   & 
    139148         &                 ln_salfix, salfixmin, nn_divdmp,                & 
    140          &                 ln_seaiceinc, ln_temnofreeze 
     149         &                 ln_seaiceinc, ln_temnofreeze,                   & 
     150         &                 mld_choice_bgc, rn_maxchlinc 
    141151      !!---------------------------------------------------------------------- 
    142152 
     
    161171         WRITE(numout,*) 'asm_inc_init : Assimilation increment initialization :' 
    162172         WRITE(numout,*) '~~~~~~~~~~~~' 
    163          WRITE(numout,*) '   Namelist namasm : set assimilation increment parameters' 
     173         WRITE(numout,*) '   Namelist nam_asminc : set assimilation increment parameters' 
    164174         WRITE(numout,*) '      Logical switch for writing out background state          ln_bkgwri = ', ln_bkgwri 
     175         WRITE(numout,*) '      Logical switch for writing out balancing increments      ln_balwri = ', ln_balwri 
    165176         WRITE(numout,*) '      Logical switch for applying tracer increments            ln_trainc = ', ln_trainc 
    166177         WRITE(numout,*) '      Logical switch for applying velocity increments          ln_dyninc = ', ln_dyninc 
     
    168179         WRITE(numout,*) '      Logical switch for Direct Initialization (DI)            ln_asmdin = ', ln_asmdin 
    169180         WRITE(numout,*) '      Logical switch for applying sea ice increments        ln_seaiceinc = ', ln_seaiceinc 
     181         WRITE(numout,*) '      Logical switch for phytoplankton balancing             ln_phytobal = ', ln_phytobal 
     182         WRITE(numout,*) '      Logical switch for applying slchltot increments     ln_slchltotinc = ', ln_slchltotinc 
     183         WRITE(numout,*) '      Logical switch for applying slchldia increments     ln_slchldiainc = ', ln_slchldiainc 
     184         WRITE(numout,*) '      Logical switch for applying slchlnon increments     ln_slchlnoninc = ', ln_slchlnoninc 
     185         WRITE(numout,*) '      Logical switch for applying schltot increments       ln_schltotinc = ', ln_schltotinc 
     186         WRITE(numout,*) '      Logical switch for applying slphytot increments     ln_slphytotinc = ', ln_slphytotinc 
     187         WRITE(numout,*) '      Logical switch for applying slphydia increments     ln_slphydiainc = ', ln_slphydiainc 
     188         WRITE(numout,*) '      Logical switch for applying slphynon increments     ln_slphynoninc = ', ln_slphynoninc 
     189         WRITE(numout,*) '      Logical switch for applying spco2 increments           ln_spco2inc = ', ln_spco2inc 
     190         WRITE(numout,*) '      Logical switch for applying sfco2 increments           ln_sfco2inc = ', ln_sfco2inc 
     191         WRITE(numout,*) '      Logical switch for applying plchltot increments     ln_plchltotinc = ', ln_plchltotinc 
     192         WRITE(numout,*) '      Logical switch for applying pchltot increments       ln_pchltotinc = ', ln_pchltotinc 
     193         WRITE(numout,*) '      Logical switch for applying pno3 increments             ln_pno3inc = ', ln_pno3inc 
     194         WRITE(numout,*) '      Logical switch for applying psi4 increments             ln_psi4inc = ', ln_psi4inc 
     195         WRITE(numout,*) '      Logical switch for applying pdic increments             ln_pdicinc = ', ln_pdicinc 
     196         WRITE(numout,*) '      Logical switch for applying palk increments             ln_palkinc = ', ln_palkinc 
     197         WRITE(numout,*) '      Logical switch for applying pph increments               ln_pphinc = ', ln_pphinc 
     198         WRITE(numout,*) '      Logical switch for applying po2 increments               ln_po2inc = ', ln_po2inc 
    170199         WRITE(numout,*) '      Logical switch for Incremental Analysis Updating (IAU)   ln_asmiau = ', ln_asmiau 
    171200         WRITE(numout,*) '      Timestep of background in [0,nitend-nit000-1]            nitbkg    = ', nitbkg 
     
    176205         WRITE(numout,*) '      Logical switch for ensuring that the sa > salfixmin      ln_salfix = ', ln_salfix 
    177206         WRITE(numout,*) '      Minimum salinity after applying the increments           salfixmin = ', salfixmin 
     207         WRITE(numout,*) '      Choice of MLD for BGC assimilation                  mld_choice_bgc = ', mld_choice_bgc 
     208         WRITE(numout,*) '      Maximum absolute chlorophyll increment (<=0 = off)    rn_maxchlinc = ', rn_maxchlinc 
    178209      ENDIF 
    179210 
     
    212243         WRITE(numout,*) '       iitiaufin_date = ', iitiaufin_date 
    213244      ENDIF 
     245       
     246      IF ( ln_slchltotinc .OR. ln_slchldiainc .OR. ln_slchlnoninc .OR. & 
     247         & ln_schltotinc  .OR. ln_slphytotinc .OR. ln_slphydiainc .OR. & 
     248         & ln_slphynoninc .OR. ln_spco2inc    .OR. ln_sfco2inc    .OR. & 
     249         & ln_plchltotinc .OR. ln_pchltotinc  .OR. ln_pno3inc     .OR. & 
     250         & ln_psi4inc     .OR. ln_pdicinc     .OR. ln_palkinc     .OR. & 
     251         & ln_pphinc      .OR. ln_po2inc ) THEN 
     252         lk_bgcinc = .TRUE. 
     253      ENDIF 
    214254 
    215255      IF ( nacc /= 0 ) & 
     
    223263 
    224264      IF (      ( ( .NOT. ln_asmdin ).AND.( .NOT. ln_asmiau ) ) & 
    225            .AND.( ( ln_trainc ).OR.( ln_dyninc ).OR.( ln_sshinc ) .OR. ( ln_seaiceinc) )) & 
    226          & CALL ctl_stop( ' One or more of ln_trainc, ln_dyninc, ln_sshinc and ln_seaiceinc is set to .true.', & 
     265         & .AND.( ( ln_trainc ).OR.( ln_dyninc ).OR.( ln_sshinc ).OR.( ln_seaiceinc ).OR. & 
     266         &        ( lk_bgcinc ) )) & 
     267         & CALL ctl_stop( ' One or more of ln_trainc, ln_dyninc, ln_sshinc, ln_seaiceinc,', & 
     268         &                ' ln_(bgc-variable)inc is set to .true.', & 
    227269         &                ' but ln_asmdin and ln_asmiau are both set to .false. :', & 
    228270         &                ' Inconsistent options') 
     
    233275 
    234276      IF ( ( .NOT. ln_trainc ).AND.( .NOT. ln_dyninc ).AND.( .NOT. ln_sshinc ).AND.( .NOT. ln_seaiceinc ) & 
    235          &                     )  & 
    236          & CALL ctl_warn( ' ln_trainc, ln_dyninc, ln_sshinc and ln_seaiceinc are set to .false. :', & 
     277         & .AND.( .NOT. lk_bgcinc ) )  & 
     278         & CALL ctl_warn( ' ln_trainc, ln_dyninc, ln_sshinc, ln_seaiceinc,', & 
     279         &                ' ln_(bgc-variable)inc are set to .false. :', & 
    237280         &                ' The assimilation increments are not applied') 
    238281 
     
    254297         &                ' Background time step for Direct Initialization is outside', & 
    255298         &                ' the cycle interval') 
     299       
     300      IF ( lk_bgcinc ) CALL asm_bgc_check_options 
    256301 
    257302      IF ( nstop > 0 ) RETURN       ! if there are any errors then go no further 
     
    350395      ssh_iau(:,:)    = 0.0 
    351396#endif 
    352       IF ( ( ln_trainc ).OR.( ln_dyninc ).OR.( ln_sshinc ).OR.( ln_seaiceinc ) ) THEN 
     397      IF ( ( ln_trainc ).OR.( ln_dyninc ).OR.( ln_sshinc ).OR.( ln_seaiceinc ) & 
     398         &  .OR.( lk_bgcinc ) ) THEN 
    353399 
    354400         !-------------------------------------------------------------------- 
     
    424470         ENDIF 
    425471 
     472         IF ( lk_bgcinc ) THEN 
     473            CALL asm_bgc_init_incs( inum ) 
     474         ENDIF 
     475 
    426476         CALL iom_close( inum ) 
    427477  
     
    534584         CALL iom_close( inum ) 
    535585 
     586      ENDIF 
     587          
     588      IF ( lk_bgcinc ) THEN 
     589         CALL asm_bgc_init_bkg 
    536590      ENDIF 
    537591      ! 
     
    11551209 
    11561210   END SUBROUTINE seaice_asm_inc 
     1211 
     1212 
     1213   SUBROUTINE bgc_asm_inc( kt ) 
     1214      !!---------------------------------------------------------------------- 
     1215      !!                    ***  ROUTINE bgc_asm_inc  *** 
     1216      !!           
     1217      !! ** Purpose : Apply the biogeochemistry assimilation increments 
     1218      !! 
     1219      !! ** Method  : Call relevant routines in asmbgc 
     1220      !! 
     1221      !! ** Action  : Call relevant routines in asmbgc 
     1222      !! 
     1223      !!---------------------------------------------------------------------- 
     1224      !! 
     1225      INTEGER, INTENT(in   ) :: kt        ! Current time step 
     1226      ! 
     1227      INTEGER                :: icycper   ! Dimension of wgtiau 
     1228      !! 
     1229      !!---------------------------------------------------------------------- 
     1230       
     1231      icycper = SIZE( wgtiau ) 
     1232       
     1233      ! Ocean colour variables first 
     1234      IF ( ln_slchltotinc .OR. ln_slchldiainc .OR. ln_slchlnoninc .OR. & 
     1235         & ln_schltotinc  .OR. ln_slphytotinc .OR. ln_slphydiainc .OR. & 
     1236         & ln_slphynoninc ) THEN 
     1237         CALL phyto2d_asm_inc( kt, ln_asmdin, ln_asmiau, icycper, wgtiau ) 
     1238      ENDIF 
     1239       
     1240      ! Surface pCO2/fCO2 next 
     1241      IF ( ln_sfco2inc .OR. ln_spco2inc ) THEN 
     1242         CALL pco2_asm_inc( kt, ln_asmdin, ln_asmiau, icycper, wgtiau, & 
     1243            &               ln_trainc, t_bkginc, s_bkginc ) 
     1244      ENDIF 
     1245       
     1246      ! Profile pH next 
     1247      IF ( ln_pphinc ) THEN 
     1248         CALL ph_asm_inc( kt, ln_asmdin, ln_asmiau, icycper, wgtiau, & 
     1249            &             ln_trainc, t_bkginc, s_bkginc ) 
     1250      ENDIF 
     1251       
     1252      ! Then chlorophyll profiles 
     1253      IF ( ln_plchltotinc .OR. ln_pchltotinc ) THEN 
     1254         CALL phyto3d_asm_inc( kt, ln_asmdin, ln_asmiau, icycper, wgtiau ) 
     1255      ENDIF 
     1256       
     1257      ! Remaining bgc profile variables 
     1258      IF ( ln_pno3inc .OR. ln_psi4inc .OR. ln_pdicinc .OR. & 
     1259         & ln_palkinc .OR. ln_po2inc ) THEN 
     1260         CALL bgc3d_asm_inc( kt, ln_asmdin, ln_asmiau, icycper, wgtiau ) 
     1261      ENDIF 
     1262 
     1263   END SUBROUTINE bgc_asm_inc 
    11571264    
    11581265   !!====================================================================== 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/OPA_SRC/ASM/asmpar.F90

    r6486 r10296  
    2020      & c_asmtrj = 'assim_trj',                  & !: Filename for storing the  
    2121                                                   !: reference trajectory 
    22       & c_asminc = 'assim_background_increments'  !: Filename for storing the  
     22      & c_asminc = 'assim_background_increments', & !: Filename for storing the  
    2323                                                   !: increments to the background 
    2424                                                   !: state 
     25      & c_asmbal = 'assim.balincs'                 !: Filename for storing the  
     26                                                   !: balancing increments calculated 
     27                                                   !: for biogeochemistry 
    2528 
    2629   INTEGER, PUBLIC :: nitbkg_r      !: Background time step referenced to nit000 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/OPA_SRC/BDY/bdydyn.F90

    r6486 r10296  
    150150CONTAINS 
    151151   SUBROUTINE bdy_dyn( kt )      ! Empty routine 
     152   IMPLICIT NONE 
     153      INTEGER, INTENT( in )           :: kt               ! Main time step counter 
    152154      WRITE(*,*) 'bdy_dyn: You should not have seen this print! error?', kt 
    153155   END SUBROUTINE bdy_dyn 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/OPA_SRC/BDY/bdydyn3d.F90

    r6486 r10296  
    309309CONTAINS 
    310310   SUBROUTINE bdy_dyn3d( kt )      ! Empty routine 
    311       WRITE(*,*) 'bdy_dyn3d: You should not have seen this print! error?', kt 
     311   IMPLICIT NONE 
     312    INTEGER, INTENT( in ) :: kt     ! Main time step counter 
     313    WRITE(*,*) 'bdy_dyn3d: You should not have seen this print! error?', kt 
    312314   END SUBROUTINE bdy_dyn3d 
    313315 
    314316   SUBROUTINE bdy_dyn3d_dmp( kt )      ! Empty routine 
    315       WRITE(*,*) 'bdy_dyn3d_dmp: You should not have seen this print! error?', kt 
     317   IMPLICIT NONE 
     318    INTEGER, INTENT( in ) :: kt     ! Main time step counter 
     319    WRITE(*,*) 'bdy_dyn3d_dmp: You should not have seen this print! error?', kt 
    316320   END SUBROUTINE bdy_dyn3d_dmp 
    317321 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/OPA_SRC/BDY/bdytides.F90

    r6487 r10296  
    611611CONTAINS 
    612612   SUBROUTINE bdytide_init             ! Empty routine 
     613   IMPLICIT NONE 
    613614      WRITE(*,*) 'bdytide_init: You should not have seen this print! error?' 
    614615   END SUBROUTINE bdytide_init 
    615616   SUBROUTINE bdytide_update( kt, jit )   ! Empty routine 
     617   IMPLICIT NONE 
     618      INTEGER, INTENT( in )            ::   kt          ! Main timestep counter 
     619      INTEGER,INTENT(in),OPTIONAL      ::   jit         ! Barotropic timestep counter (for timesplitting option) 
    616620      WRITE(*,*) 'bdytide_update: You should not have seen this print! error?', kt, jit 
    617621   END SUBROUTINE bdytide_update 
    618622   SUBROUTINE bdy_dta_tides( kt, kit, time_offset )     ! Empty routine 
     623   IMPLICIT NONE 
    619624      INTEGER, INTENT( in )            ::   kt          ! Dummy argument empty routine       
    620625      INTEGER, INTENT( in ),OPTIONAL   ::   kit         ! Dummy argument empty routine 
    621626      INTEGER, INTENT( in ),OPTIONAL   ::   time_offset ! Dummy argument empty routine 
    622       WRITE(*,*) 'bdy_dta_tides: You should not have seen this print! error?', kt, jit 
     627      WRITE(*,*) 'bdy_dta_tides: You should not have seen this print! error?', kt, kit 
    623628   END SUBROUTINE bdy_dta_tides 
    624629#endif 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/OPA_SRC/BDY/bdytra.F90

    r6486 r10296  
    319319CONTAINS 
    320320   SUBROUTINE bdy_tra(kt)      ! Empty routine 
     321   IMPLICIT NONE 
     322      INTEGER, INTENT( in ) :: kt     ! Main time step counter    
    321323      WRITE(*,*) 'bdy_tra: You should not have seen this print! error?', kt 
    322324   END SUBROUTINE bdy_tra 
    323325 
    324326   SUBROUTINE bdy_tra_dmp(kt)      ! Empty routine 
     327   IMPLICIT NONE 
     328      INTEGER, INTENT( in ) :: kt     ! Main time step counter    
    325329      WRITE(*,*) 'bdy_tra_dmp: You should not have seen this print! error?', kt 
    326330   END SUBROUTINE bdy_tra_dmp 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/OPA_SRC/BDY/bdyvol.F90

    r6487 r10296  
    178178CONTAINS 
    179179   SUBROUTINE bdy_vol( kt )        ! Empty routine 
     180   IMPLICIT NONE 
     181      INTEGER, INTENT( in ) ::   kt   ! ocean time-step index 
    180182      WRITE(*,*) 'bdy_vol: You should not have seen this print! error?', kt 
    181183   END SUBROUTINE bdy_vol 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/OPA_SRC/C1D/dyncor_c1d.F90

    r6486 r10296  
    116116CONTAINS 
    117117   SUBROUTINE cor_c1d              ! Empty routine 
     118   IMPLICIT NONE 
    118119   END SUBROUTINE cor_c1d    
     120    
    119121   SUBROUTINE dyn_cor_c1d ( kt )      ! Empty routine 
     122   IMPLICIT NONE 
     123      INTEGER, INTENT( in ) ::   kt   ! ocean time-step index    
    120124      WRITE(*,*) 'dyn_cor_c1d: You should not have seen this print! error?', kt 
    121125   END SUBROUTINE dyn_cor_c1d 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/OPA_SRC/C1D/step_c1d.F90

    r6486 r10296  
    165165   !!---------------------------------------------------------------------- 
    166166CONTAINS 
    167    SUBROUTINE stp_c1d ( kt )      ! dummy routine 
    168       WRITE(*,*) 'stp_c1d: You should not have seen this print! error?', kt 
     167   SUBROUTINE stp_c1d ( kstp )      ! dummy routine 
     168   IMPLICIT NONE 
     169   INTEGER, INTENT(in) ::   kstp   ! ocean time-step index 
     170      WRITE(*,*) 'stp_c1d: You should not have seen this print! error?', kstp 
    169171   END SUBROUTINE stp_c1d 
    170172#endif 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/OPA_SRC/DIA/diadct.F90

    r6486 r10296  
    13021302 
    13031303   SUBROUTINE dia_dct_init          ! Dummy routine 
    1304       WRITE(*,*) 'dia_dct_init: You should not have seen this print! error?', kt 
     1304   IMPLICIT NONE 
     1305      WRITE(*,*) 'dia_dct_init: You should not have seen this print! error?' 
    13051306   END SUBROUTINE dia_dct_init 
    13061307 
    13071308   SUBROUTINE dia_dct( kt )         ! Dummy routine 
     1309   IMPLICIT NONE 
    13081310      INTEGER, INTENT( in ) :: kt   ! ocean time-step index 
    13091311      WRITE(*,*) 'dia_dct: You should not have seen this print! error?', kt 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/OPA_SRC/DIA/diahsb.F90

    r6487 r10296  
    254254           IF(lwp) WRITE(numout,*) ' dia_hsb_rst at it= ', kt,' date= ', ndastp 
    255255           IF(lwp) WRITE(numout,*) '~~~~~~~' 
     256           IF(nn_timing == 2)  CALL timing_start('iom_rstget') 
    256257           CALL iom_get( numror, 'frc_v', frc_v ) 
    257258           CALL iom_get( numror, 'frc_t', frc_t ) 
     
    269270              CALL iom_get( numror, jpdom_autoglo, 'ssh_sc_loc_ini', ssh_sc_loc_ini ) 
    270271           ENDIF 
     272           IF(nn_timing == 2)  CALL timing_stop('iom_rstget') 
    271273       ELSE 
    272274          IF(lwp) WRITE(numout,*) '~~~~~~~' 
     
    304306        IF(lwp) WRITE(numout,*) ' dia_hsb_rst at it= ', kt,' date= ', ndastp 
    305307        IF(lwp) WRITE(numout,*) '~~~~~~~' 
    306  
     308        IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    307309        CALL iom_rstput( kt, nitrst, numrow, 'frc_v'   , frc_v     ) 
    308310        CALL iom_rstput( kt, nitrst, numrow, 'frc_t'   , frc_t     ) 
     
    320322           CALL iom_rstput( kt, nitrst, numrow, 'ssh_sc_loc_ini', ssh_sc_loc_ini ) 
    321323        ENDIF 
     324        IF(nn_timing == 2)  CALL timing_stop('iom_rstput') 
    322325        ! 
    323326     ENDIF 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/OPA_SRC/DIA/diahth.F90

    r6486 r10296  
    343343CONTAINS 
    344344   SUBROUTINE dia_hth( kt )         ! Empty routine 
    345       WRITE(*,*) 'dia_hth: You should not have seen this print! error?', kt 
     345   IMPLICIT NONE 
     346    INTEGER, INTENT( in ) ::   kt      ! ocean time-step index 
     347    WRITE(*,*) 'dia_hth: You should not have seen this print! error?', kt 
    346348   END SUBROUTINE dia_hth 
    347349#endif 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/OPA_SRC/DIA/diaptr.F90

    r7747 r10296  
    8484      REAL(wp), DIMENSION(jpi,jpj)     ::  z2d   ! 2D workspace 
    8585      REAL(wp), DIMENSION(jpi,jpj,jpk) ::  z3d   ! 3D workspace 
     86      REAL(wp), DIMENSION(jpi,jpj,jpk) ::  zvn   ! 3D workspace 
    8687      REAL(wp), DIMENSION(jpi,jpj,jpk) ::  zmask   ! 3D workspace 
    8788      REAL(wp), DIMENSION(jpi,jpj,jpk,jpts) ::  zts   ! 3D workspace 
     
    9394      REAL(wp), DIMENSION(jpj,jpk,nptr) ::   sjk  , r1_sjk ! i-mean i-k-surface and its inverse 
    9495      REAL(wp), DIMENSION(jpj,jpk,nptr) ::   v_msf, sn_jk  , tn_jk ! i-mean T and S, j-Stream-Function 
    95       REAL(wp), DIMENSION(jpi,jpj,jpk) ::  zvn   ! 3D workspace 
    9696 
    9797 
     
    102102 
    103103      ! 
     104      z2d(:,:) = 0._wp 
    104105      z3d(:,:,:) = 0._wp 
    105106      IF( PRESENT( pvtr ) ) THEN 
     
    130131            zmask(:,:,:) = 0._wp 
    131132            zts(:,:,:,:) = 0._wp 
    132             zvn(:,:,:) = 0._wp 
    133133            DO jk = 1, jpkm1 
    134134               DO jj = 1, jpjm1 
     
    138138                     zts(ji,jj,jk,jp_tem) = (tsn(ji,jj,jk,jp_tem)+tsn(ji,jj+1,jk,jp_tem)) * 0.5 * zvfc  !Tracers averaged onto V grid 
    139139                     zts(ji,jj,jk,jp_sal) = (tsn(ji,jj,jk,jp_sal)+tsn(ji,jj+1,jk,jp_sal)) * 0.5 * zvfc 
    140                      zvn(ji,jj,jk)        = vn(ji,jj,jk)         * zvfc 
    141140                  ENDDO 
    142141               ENDDO 
     
    151150             tn_jk(:,:,1) = ptr_sjk( zts(:,:,:,jp_tem) ) * r1_sjk(:,:,1) 
    152151             sn_jk(:,:,1) = ptr_sjk( zts(:,:,:,jp_sal) ) * r1_sjk(:,:,1) 
    153              v_msf(:,:,1) = ptr_sjk( zvn(:,:,:) ) 
     152             v_msf(:,:,1) = ptr_sjk( pvtr(:,:,:) ) 
    154153 
    155154             htr_ove(:,1) = SUM( v_msf(:,:,1)*tn_jk(:,:,1) ,2 ) 
     
    177176                    tn_jk(:,:,jn) = ptr_sjk( zts(:,:,:,jp_tem), btmsk(:,:,jn) ) * r1_sjk(:,:,jn) 
    178177                    sn_jk(:,:,jn) = ptr_sjk( zts(:,:,:,jp_sal), btmsk(:,:,jn) ) * r1_sjk(:,:,jn) 
    179                     v_msf(:,:,jn) = ptr_sjk( zvn(:,:,:), btmsk(:,:,jn) )  
     178                    v_msf(:,:,jn) = ptr_sjk( pvtr(:,:,:), btmsk(:,:,jn) )  
    180179                    htr_ove(:,jn) = SUM( v_msf(:,:,jn)*tn_jk(:,:,jn) ,2 ) 
    181180                    str_ove(:,jn) = SUM( v_msf(:,:,jn)*sn_jk(:,:,jn) ,2 ) 
     
    202201             WHERE( sjk(:,1,1) /= 0._wp )   r1_sjk(:,1,1) = 1._wp / sjk(:,1,1) 
    203202             
    204             vsum = ptr_sj( zvn(:,:,:), btmsk(:,:,1)) 
     203            vsum = ptr_sj( pvtr(:,:,:), btmsk(:,:,1)) 
    205204            tssum(:,jp_tem) = ptr_sj( zts(:,:,:,jp_tem), btmsk(:,:,1) ) 
    206205            tssum(:,jp_sal) = ptr_sj( zts(:,:,:,jp_sal), btmsk(:,:,1) ) 
     
    224223                    r1_sjk(:,1,jn) = 0._wp 
    225224                    WHERE( sjk(:,1,jn) /= 0._wp )   r1_sjk(:,1,jn) = 1._wp / sjk(:,1,jn) 
    226                     vsum = ptr_sj( zvn(:,:,:), btmsk(:,:,jn)) 
     225                    vsum = ptr_sj( pvtr(:,:,:), btmsk(:,:,jn)) 
    227226                    tssum(:,jp_tem) = ptr_sj( zts(:,:,:,jp_tem), btmsk(:,:,jn) ) 
    228227                    tssum(:,jp_sal) = ptr_sj( zts(:,:,:,jp_sal), btmsk(:,:,jn) ) 
     
    248247         ! 
    249248         IF( iom_use("zotemglo") ) THEN    ! i-mean i-k-surface  
     249            zmask(:,:,:) = 0._wp 
     250            zts(:,:,:,:) = 0._wp 
    250251            DO jk = 1, jpkm1 
    251252               DO jj = 1, jpj 
     
    408409            ENDIF 
    409410            IF( iom_use("zomsfeivglo") ) THEN 
    410                z3d(1,:,:) = ptr_sjk( v_eiv(:,:,:) )  ! zonal cumulative effective transport 
     411               DO jk=1,jpk 
     412                  DO jj=1,jpj 
     413                     DO ji=1,jpi 
     414                        zvn(ji,jj,jk) = v_eiv(ji,jj,jk) * fse3v(ji,jj,jk) * e1v(ji,jj) 
     415                     ENDDO 
     416                  ENDDO 
     417               ENDDO 
     418               z3d(1,:,:) = ptr_sjk( zvn(:,:,:) )  ! zonal cumulative effective transport 
    411419               DO jk = jpkm1,1,-1 
    412420                 z3d(1,:,jk) = z3d(1,:,jk+1) - z3d(1,:,jk)   ! effective j-Stream-Function (MSF) 
     
    419427               IF( ln_subbas ) THEN 
    420428                  DO jn = 2, nptr                                    ! by sub-basins 
    421                      z3d(1,:,:) =  ptr_sjk( v_eiv(:,:,:), btmsk(:,:,jn) )  
     429                     z3d(1,:,:) =  ptr_sjk( zvn(:,:,:), btmsk(:,:,jn) )  
    422430                     DO jk = jpkm1,1,-1 
    423431                        z3d(1,:,jk) = z3d(1,:,jk+1) - z3d(1,:,jk)    ! effective j-Stream-Function (MSF) 
     
    492500 
    493501         IF( ln_subbas ) THEN                ! load sub-basin mask 
    494             CALL iom_open( 'subbasins', inum,  ldstop = .FALSE.  ) 
     502            CALL iom_open( 'subbasins', inum,  ldstop = .TRUE.  ) 
    495503            CALL iom_get( inum, jpdom_data, 'atlmsk', btmsk(:,:,2) )   ! Atlantic basin 
    496504            CALL iom_get( inum, jpdom_data, 'pacmsk', btmsk(:,:,3) )   ! Pacific  basin 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/OPA_SRC/DIA/diawri.F90

    r8400 r10296  
    246246            z3d(:,:,jk) = wn(:,:,jk) * z2d(:,:) 
    247247         END DO 
     248         CALL lbc_lnk( z3d(:,:,:), 'W', 1. ) 
    248249         CALL iom_put( "w_masstr" , z3d )   
    249250         IF( iom_use('w_masstr2') )   CALL iom_put( "w_masstr2", z3d(:,:,:) * z3d(:,:,:) ) 
     
    252253      CALL iom_put( "avt" , avt                        )    ! T vert. eddy diff. coef. 
    253254      CALL iom_put( "avm" , avmu                       )    ! T vert. eddy visc. coef. 
     255#if defined key_zdftke 
    254256      IF( lk_zdftke ) THEN    
    255257         CALL iom_put( "tke"      , en                               )    ! TKE budget: Turbulent Kinetic Energy    
    256258         CALL iom_put( "tke_niw"  , e_niw                            )    ! TKE budget: Near-inertial waves    
    257259      ENDIF  
     260#endif 
    258261      CALL iom_put( "avs" , fsavs(:,:,:)               )    ! S vert. eddy diff. coef. (useful only with key_zdfddm) 
    259262                                                            ! Log of eddy diff coef 
     
    334337            z2d(:,:) = z2d(:,:) + z3d(:,:,jk) 
    335338         END DO 
     339         CALL lbc_lnk( z3d(:,:,:), 'U', -1. ) 
    336340         CALL iom_put( "u_masstr", z3d )                  ! mass transport in i-direction 
     341         CALL lbc_lnk( z2d(:,:), 'U', -1. ) 
    337342         CALL iom_put( "u_masstr_vint", z2d )             ! mass transport in i-direction vertical sum 
    338343      ENDIF 
     
    370375            z3d(:,:,jk) = rau0 * vn(:,:,jk) * e1v(:,:) * fse3v(:,:,jk) * vmask(:,:,jk) 
    371376         END DO 
     377         CALL lbc_lnk( z3d(:,:,:), 'V', -1. ) 
    372378         CALL iom_put( "v_masstr", z3d )                  ! mass transport in j-direction 
    373379      ENDIF 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/OPA_SRC/DOM/daymod.F90

    r6487 r10296  
    309309         IF( iom_varid( numror, 'kt', ldstop = .FALSE. ) > 0 ) THEN 
    310310            ! Get Calendar informations 
     311            IF(nn_timing == 2)  CALL timing_start('iom_rstget') 
    311312            CALL iom_get( numror, 'kt', zkt )   ! last time-step of previous run 
     313            IF(nn_timing == 2)  CALL timing_stop('iom_rstget') 
    312314            IF(lwp) THEN 
    313315               WRITE(numout,*) ' *** Info read in restart : ' 
     
    327329            ! define ndastp and adatrj 
    328330            IF ( nrstdt == 2 ) THEN 
     331               IF(nn_timing == 2)  CALL timing_start('iom_rstget') 
    329332               ! read the parameters correspondting to nit000 - 1 (last time step of previous run) 
    330333               CALL iom_get( numror, 'ndastp', zndastp ) 
    331334               ndastp = NINT( zndastp ) 
    332335               CALL iom_get( numror, 'adatrj', adatrj  ) 
     336               IF(nn_timing == 2)  CALL timing_stop('iom_rstget') 
    333337            ELSE 
    334338               ! parameters correspondting to nit000 - 1 (as we start the step loop with a call to day) 
     
    359363         ENDIF 
    360364         ! calendar control 
     365         IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    361366         CALL iom_rstput( kt, nitrst, numrow, 'kt'     , REAL( kt    , wp) )   ! time-step 
    362367         CALL iom_rstput( kt, nitrst, numrow, 'ndastp' , REAL( ndastp, wp) )   ! date 
    363368         CALL iom_rstput( kt, nitrst, numrow, 'adatrj' , adatrj            )   ! number of elapsed days since 
    364369         !                                                                     ! the begining of the run [s] 
     370         IF(nn_timing == 2)  CALL timing_stop('iom_rstput') 
    365371      ENDIF 
    366372      ! 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/OPA_SRC/DOM/dom_oce.F90

    r8427 r10296  
    254254   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   bathy                              !: ocean depth (meters) 
    255255   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   tmask_i, umask_i, vmask_i, fmask_i !: interior domain T-point mask 
     256   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: tmask_i_diag     !: partial mask for use in T diagnostic mask calc.  
     257   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: umask_i_diag     !: partial mask for use in U diagnostic mask calc.  
     258   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: vmask_i_diag     !: partial mask for use in V diagnostic mask calc.  
    256259   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   bmask                              !: land/ocean mask of barotropic stream function 
    257260 
     
    406409 
    407410      ALLOCATE( tmask(jpi,jpj,jpk) , umask(jpi,jpj,jpk),     &  
    408          &      vmask(jpi,jpj,jpk) , fmask(jpi,jpj,jpk), STAT=ierr(11) ) 
     411         &      vmask(jpi,jpj,jpk) , fmask(jpi,jpj,jpk),     & 
     412                tmask_i_diag(jpi,jpj,jpk),     & 
     413                umask_i_diag(jpi,jpj,jpk),     & 
     414                vmask_i_diag(jpi,jpj,jpk),     & 
     415                STAT=ierr(11) ) 
    409416 
    410417      ALLOCATE( wmask(jpi,jpj,jpk) , wumask(jpi,jpj,jpk), wvmask(jpi,jpj,jpk) , STAT=ierr(12) ) 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/OPA_SRC/DOM/dommsk.F90

    r8280 r10296  
     1 
    12MODULE dommsk 
    23   !!====================================================================== 
     
    3031   USE dynspg_oce      ! choice/control of key cpp for surface pressure gradient 
    3132   USE wrk_nemo        ! Memory allocation 
     33   USE domwri 
    3234   USE timing          ! Timing 
    3335 
     
    138140      REAL(wp) ::  zphi_drake_passage, zshlat_antarc 
    139141      REAL(wp), POINTER, DIMENSION(:,:) ::  zwf 
     142      REAL(wp) :: uvt(jpi,jpj)   ! dummy array for masking purposes. 
    140143      !! 
    141144      NAMELIST/namlbc/ rn_shlat, ln_vorlat 
     
    223226      ! -------------------- 
    224227      tmask_i(:,:) = ssmask(:,:)            ! (ISH) tmask_i = 1 even on the ice shelf 
     228 
    225229      iif = jpreci                         ! ??? 
    226230      iil = nlci - jpreci + 1 
     
    246250         ENDIF 
    247251      ENDIF 
     252 
     253 
    248254      IF( jperio == 5 .OR. jperio == 6 ) THEN      ! F-point pivot 
    249255         tpol(     1    :jpiglo) = 0._wp 
     
    263269                  &            * tmask(ji,jj+1,jk) * tmask(ji+1,jj+1,jk) 
    264270            END DO 
    265          END DO 
     271         END DO  
    266272      END DO 
    267273      ! (ISF) MIN(1,SUM(umask)) is here to check if you have effectively at least 1 wet u point 
     
    282288      CALL lbc_lnk( vmask_i, 'V', 1._wp ) 
    283289      CALL lbc_lnk( fmask_i, 'F', 1._wp ) 
     290 
     291 
     292      ! Set up mask for diagnostics on T points, to exclude duplicate 
     293      ! data points in wrap and N-fold regions.  
     294      CALL dom_uniq( uvt, 'T' ) 
     295      DO jk = 1, jpk 
     296         tmask_i_diag(:,:,jk) = tmask(:,:,jk) * uvt(:,:) 
     297      END DO 
     298 
     299      ! Set up mask for diagnostics on U points, to exclude duplicate 
     300      ! data points in wrap and N-fold regions.  
     301      umask_i_diag(:,:,:) = 1.0 
     302      umask_i_diag(2:jpim1,:,:) = tmask(2:jpim1,:,:) + tmask(3:jpi,:,:) 
     303      CALL lbc_lnk( umask_i_diag, 'U', 1. ) 
     304 
     305      ! Now mask out any duplicate points 
     306      CALL dom_uniq( uvt, 'U' ) 
     307      DO jk = 1, jpk 
     308         umask_i_diag(:,:,jk) = umask_i_diag(:,:,jk) * uvt(:,:) 
     309      END DO 
     310 
     311 
     312      ! Set up mask for diagnostics on V points, to exclude duplicate 
     313      ! data points in wrap and N-fold regions.  
     314      vmask_i_diag(:,:,:) = 1.0 
     315      vmask_i_diag(:,2:jpjm1,:) = tmask(:,2:jpjm1,:) + tmask(:,3:jpj,:) 
     316      CALL lbc_lnk( vmask_i_diag, 'V', 1. ) 
     317 
     318      ! Now mask out any duplicate points 
     319      CALL dom_uniq( uvt, 'V' ) 
     320      DO jk = 1, jpk 
     321         vmask_i_diag(:,:,jk) = vmask_i_diag(:,:,jk) * uvt(:,:) 
     322      END DO 
     323 
     324 
    284325 
    285326      ! 3. Ocean/land mask at wu-, wv- and w points  
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/OPA_SRC/DOM/domvvl.F90

    r6498 r10296  
    817817         IF( ln_rstart ) THEN                   !* Read the restart file 
    818818            CALL rst_read_open                  !  open the restart file if necessary 
     819            IF(nn_timing == 2)  CALL timing_start('iom_rstget') 
    819820            CALL iom_get( numror, jpdom_autoglo, 'sshn'   , sshn    ) 
    820821            ! 
     
    892893            ENDIF 
    893894            ! 
     895            IF(nn_timing == 2)  CALL timing_stop('iom_rstget') 
    894896         ELSE                                   !* Initialize at "rest" 
    895897            fse3t_b(:,:,:) = e3t_0(:,:,:) 
     
    908910         !                                           ! --------- ! 
    909911         !                                           ! all cases ! 
    910          !                                           ! --------- ! 
     912         !                                           ! --------- !  
     913         IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    911914         CALL iom_rstput( kt, nitrst, numrow, 'fse3t_b', fse3t_b(:,:,:) ) 
    912915         CALL iom_rstput( kt, nitrst, numrow, 'fse3t_n', fse3t_n(:,:,:) ) 
     
    922925            CALL iom_rstput( kt, nitrst, numrow, 'hdiv_lf', hdiv_lf(:,:,:) ) 
    923926         ENDIF 
     927         IF(nn_timing == 2)  CALL timing_stop('iom_rstput') 
    924928 
    925929      ENDIF 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/OPA_SRC/DOM/domwri.F90

    r6487 r10296  
    2626   PRIVATE 
    2727 
    28    PUBLIC dom_wri        ! routine called by inidom.F90 
     28   PUBLIC dom_wri, dom_uniq  ! routines called by inidom.F90 and iom.F90 
    2929 
    3030   !! * Substitutions 
     
    126126       
    127127      !                                                         ! masks (inum2)  
     128      IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    128129      CALL iom_rstput( 0, 0, inum2, 'tmask', tmask, ktype = jp_i1 )     !    ! land-sea mask 
    129130      CALL iom_rstput( 0, 0, inum2, 'umask', umask, ktype = jp_i1 ) 
    130131      CALL iom_rstput( 0, 0, inum2, 'vmask', vmask, ktype = jp_i1 ) 
    131132      CALL iom_rstput( 0, 0, inum2, 'fmask', fmask, ktype = jp_i1 ) 
     133      IF(nn_timing == 2)  CALL timing_stop('iom_rstput') 
    132134       
    133135      CALL dom_uniq( zprw, 'T' ) 
     
    138140         END DO 
    139141      END DO                             !    ! unique point mask 
     142      IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    140143      CALL iom_rstput( 0, 0, inum2, 'tmaskutil', zprt, ktype = jp_i1 )   
     144      IF(nn_timing == 2)  CALL timing_stop('iom_rstput') 
    141145      CALL dom_uniq( zprw, 'U' ) 
    142146      DO jj = 1, jpj 
     
    146150         END DO 
    147151      END DO 
     152      IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    148153      CALL iom_rstput( 0, 0, inum2, 'umaskutil', zprt, ktype = jp_i1 )   
     154      IF(nn_timing == 2)  CALL timing_stop('iom_rstput') 
    149155      CALL dom_uniq( zprw, 'V' ) 
    150156      DO jj = 1, jpj 
     
    154160         END DO 
    155161      END DO 
     162      IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    156163      CALL iom_rstput( 0, 0, inum2, 'vmaskutil', zprt, ktype = jp_i1 )   
     164      IF(nn_timing == 2)  CALL timing_stop('iom_rstput') 
    157165      CALL dom_uniq( zprw, 'F' ) 
    158166      DO jj = 1, jpj 
     
    162170         END DO 
    163171      END DO 
     172      IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    164173      CALL iom_rstput( 0, 0, inum2, 'fmaskutil', zprt, ktype = jp_i1 )   
    165174 
     
    218227         CALL iom_rstput( 0, 0, inum4, 'gdepw_0', gdepw_0, ktype = jp_r4 )      
    219228      ENDIF 
    220        
     229      IF(nn_timing == 2)  CALL timing_stop('iom_rstput')  
    221230      IF( ln_zps ) THEN                                         ! z-coordinate - partial steps 
    222231         ! 
    223232         IF( nmsh <= 6 ) THEN                                   !    ! 3D vertical scale factors 
     233            IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    224234            CALL iom_rstput( 0, 0, inum4, 'e3t_0', e3t_0 )          
    225235            CALL iom_rstput( 0, 0, inum4, 'e3u_0', e3u_0 ) 
    226236            CALL iom_rstput( 0, 0, inum4, 'e3v_0', e3v_0 ) 
    227237            CALL iom_rstput( 0, 0, inum4, 'e3w_0', e3w_0 ) 
     238            IF(nn_timing == 2)  CALL timing_stop('iom_rstput') 
    228239         ELSE                                                   !    ! 2D masked bottom ocean scale factors 
    229240            DO jj = 1,jpj    
     
    233244               END DO 
    234245            END DO 
     246            IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    235247            CALL iom_rstput( 0, 0, inum4, 'e3t_ps', e3tp )       
    236248            CALL iom_rstput( 0, 0, inum4, 'e3w_ps', e3wp ) 
     249            IF(nn_timing == 2)  CALL timing_stop('iom_rstput') 
    237250         END IF 
    238251         ! 
     
    248261            END DO 
    249262            CALL lbc_lnk( zdepu, 'U', 1. )   ;   CALL lbc_lnk( zdepv, 'V', 1. )  
     263            IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    250264            CALL iom_rstput( 0, 0, inum4, 'gdepu', zdepu, ktype = jp_r4 ) 
    251265            CALL iom_rstput( 0, 0, inum4, 'gdepv', zdepv, ktype = jp_r4 ) 
    252266            CALL iom_rstput( 0, 0, inum4, 'gdepw_0', gdepw_0, ktype = jp_r4 ) 
     267            IF(nn_timing == 2)  CALL timing_stop('iom_rstput') 
    253268         ELSE                                                   !    ! 2D bottom depth 
    254269            DO jj = 1,jpj    
     
    258273               END DO 
    259274            END DO 
     275            IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    260276            CALL iom_rstput( 0, 0, inum4, 'hdept', zprt, ktype = jp_r4 )      
    261277            CALL iom_rstput( 0, 0, inum4, 'hdepw', zprw, ktype = jp_r4 )  
     278            IF(nn_timing == 2)  CALL timing_stop('iom_rstput') 
    262279         ENDIF 
    263280         ! 
     281         IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    264282         CALL iom_rstput( 0, 0, inum4, 'gdept_1d', gdept_1d )   !    ! reference z-coord. 
    265283         CALL iom_rstput( 0, 0, inum4, 'gdepw_1d', gdepw_1d ) 
    266284         CALL iom_rstput( 0, 0, inum4, 'e3t_1d'  , e3t_1d   ) 
    267285         CALL iom_rstput( 0, 0, inum4, 'e3w_1d'  , e3w_1d   ) 
     286         IF(nn_timing == 2)  CALL timing_stop('iom_rstput') 
    268287      ENDIF 
    269288       
    270289      IF( ln_zco ) THEN 
    271290         !                                                      ! z-coordinate - full steps 
     291         IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    272292         CALL iom_rstput( 0, 0, inum4, 'gdept_1d', gdept_1d )   !    ! depth 
    273293         CALL iom_rstput( 0, 0, inum4, 'gdepw_1d', gdepw_1d ) 
    274294         CALL iom_rstput( 0, 0, inum4, 'e3t_1d'  , e3t_1d   )   !    ! scale factors 
    275295         CALL iom_rstput( 0, 0, inum4, 'e3w_1d'  , e3w_1d   ) 
     296         IF(nn_timing == 2)  CALL timing_stop('iom_rstput') 
    276297      ENDIF 
    277298      !                                     ! ============================ 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg_exp.F90

    r6486 r10296  
    107107CONTAINS 
    108108   SUBROUTINE dyn_spg_exp( kt )       ! Empty routine 
     109   IMPLICIT NONE 
     110      INTEGER, INTENT(in)  ::   kt   ! ocean time-step index   
    109111      WRITE(*,*) 'dyn_spg_exp: You should not have seen this print! error?', kt 
    110112   END SUBROUTINE dyn_spg_exp 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg_flt.F90

    r7179 r10296  
    395395! Caution : extra-hallow 
    396396! gcx and gcxb are defined as: DIMENSION(1-jpr2di:jpi+jpr2di,1-jpr2dj:jpj+jpr2dj) 
     397            IF(nn_timing == 2)  CALL timing_start('iom_rstget') 
    397398            CALL iom_get( numror, jpdom_autoglo, 'gcx' , gcx (1:jpi,1:jpj) ) 
    398399            CALL iom_get( numror, jpdom_autoglo, 'gcxb', gcxb(1:jpi,1:jpj) ) 
     400            IF(nn_timing == 2)  CALL timing_stop('iom_rstget') 
    399401            IF( neuler == 0 )   gcxb(:,:) = gcx (:,:) 
    400402         ELSE 
     
    405407! Caution : extra-hallow 
    406408! gcx and gcxb are defined as: DIMENSION(1-jpr2di:jpi+jpr2di,1-jpr2dj:jpj+jpr2dj) 
     409         IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    407410         CALL iom_rstput( kt, nitrst, numrow, 'gcx' , gcx (1:jpi,1:jpj) ) 
    408411         CALL iom_rstput( kt, nitrst, numrow, 'gcxb', gcxb(1:jpi,1:jpj) ) 
     412         IF(nn_timing == 2)  CALL timing_stop('iom_rstput') 
    409413      ENDIF 
    410414      ! 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg_ts.F90

    r6487 r10296  
    10191019      ! 
    10201020      IF( TRIM(cdrw) == 'READ' ) THEN 
     1021         IF(nn_timing == 2)  CALL timing_start('iom_rstget') 
    10211022         CALL iom_get( numror, jpdom_autoglo, 'ub2_b'  , ub2_b  (:,:) )    
    10221023         CALL iom_get( numror, jpdom_autoglo, 'vb2_b'  , vb2_b  (:,:) )  
     
    10361037         ENDIF 
    10371038#endif 
     1039      IF(nn_timing == 2)  CALL timing_stop('iom_rstget') 
    10381040      ! 
    10391041      ELSEIF( TRIM(cdrw) == 'WRITE' ) THEN 
     1042         IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    10401043         CALL iom_rstput( kt, nitrst, numrow, 'ub2_b'   , ub2_b  (:,:) ) 
    10411044         CALL iom_rstput( kt, nitrst, numrow, 'vb2_b'   , vb2_b  (:,:) ) 
     
    10561059         ENDIF 
    10571060#endif 
     1061         IF(nn_timing == 2)  CALL timing_stop('iom_rstput') 
    10581062      ENDIF 
    10591063      ! 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/OPA_SRC/FLO/floats.F90

    r6486 r10296  
    146146CONTAINS 
    147147   SUBROUTINE flo_stp( kt )          ! Empty routine 
     148   IMPLICIT NONE 
     149      INTEGER, INTENT( in  ) ::   kt   ! ocean time step    
    148150      WRITE(*,*) 'flo_stp: You should not have seen this print! error?', kt 
    149151   END SUBROUTINE flo_stp 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/OPA_SRC/ICB/icbrst.F90

    r6755 r10296  
    2929   USE icb_oce        ! define iceberg arrays 
    3030   USE icbutl         ! iceberg utility routines 
     31   USE timing 
    3132 
    3233   IMPLICIT NONE 
     
    7172      TYPE(point)                  ::   localpt   ! NOT a pointer but an actual local variable 
    7273      !!---------------------------------------------------------------------- 
    73  
     74      IF(nn_timing == 2)  CALL timing_start('iom_rstget') 
    7475      ! Find a restart file. Assume iceberg restarts in same directory as ocean restarts 
    7576      ! and are called TRIM(cn_ocerst)//'_icebergs' 
     
    146147      CALL iom_close( ncid ) 
    147148      ! 
     149      IF(nn_timing == 2)  CALL timing_stop('iom_rstget') 
    148150      IF( lwp .and. nn_verbose_level >= 0)  WRITE(numout,'(a)') 'icebergs, read_restart_bergs: completed' 
    149151      ! 
     
    169171      TYPE(point)  , POINTER :: pt 
    170172      !!---------------------------------------------------------------------- 
    171  
     173      IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    172174      ! Assume we write iceberg restarts to same directory as ocean restarts. 
    173175      cl_path = TRIM(cn_ocerst_outdir) 
     
    374376      nret = NF90_CLOSE(ncid) 
    375377      IF (nret /= NF90_NOERR) CALL ctl_stop('icebergs, write_restart: nf_close failed') 
     378      IF(nn_timing == 2)  CALL timing_stop('iom_rstput') 
    376379      ! 
    377380   END SUBROUTINE icb_rst_write 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/OPA_SRC/IOM/iom.F90

    r8308 r10296  
    4444   USE ioipsl, ONLY :  ju2ymds    ! for calendar 
    4545   USE crs             ! Grid coarsening 
     46   USE timing 
    4647 
    4748   IMPLICIT NONE 
     
    13991400      IF ( ln_mskland ) THEN 
    14001401         ! mask land points, keep values on coast line -> specific mask for U, V and W points 
     1402 
     1403 
    14011404         SELECT CASE ( cdgrd ) 
    1402          CASE('T')   ;   zmask(:,:,:)       = tmask(:,:,:) 
    1403          CASE('U')   ;   zmask(2:jpim1,:,:) = tmask(2:jpim1,:,:) + tmask(3:jpi,:,:)   ;   CALL lbc_lnk( zmask, 'U', 1. ) 
    1404          CASE('V')   ;   zmask(:,2:jpjm1,:) = tmask(:,2:jpjm1,:) + tmask(:,3:jpj,:)   ;   CALL lbc_lnk( zmask, 'V', 1. ) 
    1405          CASE('W')   ;   zmask(:,:,2:jpk  ) = tmask(:,:,1:jpkm1) + tmask(:,:,2:jpk)   ;   zmask(:,:,1) = tmask(:,:,1) 
    1406          END SELECT 
     1405         ! The masks applied here are specifically used to mask out duplicate  
     1406         ! data points in wrap columns and N-fold rows in order to ensure bit  
     1407         ! reproducibility of diagnostics which have not undergone an explicit 
     1408         ! lbc_lnk prior to writing. Such fields are prone to junk values at  
     1409         ! duplicate points since those points are often excluded from the  
     1410         ! core field computation process.  
     1411         CASE('T')    
     1412            zmask(:,:,:) = tmask_i_diag(:,:,:) 
     1413         CASE('U')       
     1414            zmask(:,:,:) = umask_i_diag(:,:,:) 
     1415    CASE('V')    
     1416            zmask(:,:,:) = vmask_i_diag(:,:,:) 
     1417         CASE('W')    
     1418            zmask(:,:,2:jpk  ) = tmask_i_diag(:,:,1:jpkm1) + tmask_i_diag(:,:,2:jpk)    
     1419            zmask(:,:,1) = tmask_i_diag(:,:,1) 
     1420        END SELECT 
    14071421         ! 
    14081422#if ! defined key_xios2 
     
    16341648      WRITE(cl1,'(i1)')        2   ;   CALL iom_set_field_attr('trendT_even'      , freq_op=cl1//'ts', freq_offset='0ts') 
    16351649      WRITE(cl1,'(i1)')        2   ;   CALL iom_set_field_attr('trendT_odd'       , freq_op=cl1//'ts', freq_offset='-1ts') 
     1650      WRITE(cl1,'(i1)')        2   ;   CALL iom_set_field_attr('ptrd_T_even'      , freq_op=cl1//'ts', freq_offset='0ts') 
     1651      WRITE(cl1,'(i1)')        2   ;   CALL iom_set_field_attr('ptrd_T_odd'       , freq_op=cl1//'ts', freq_offset='-1ts') 
    16361652      WRITE(cl1,'(i1)')  nn_fsbc   ;   CALL iom_set_field_attr('SBC'             , freq_op=cl1//'ts', freq_offset='0ts') 
    16371653      WRITE(cl1,'(i1)')  nn_fsbc   ;   CALL iom_set_field_attr('SBC_scalar'      , freq_op=cl1//'ts', freq_offset='0ts') 
     
    16421658      f_op%timestep = 2        ;  f_of%timestep = 0  ; CALL iom_set_field_attr('trendT_even'      , freq_op=f_op, freq_offset=f_of) 
    16431659      f_op%timestep = 2        ;  f_of%timestep = -1 ; CALL iom_set_field_attr('trendT_odd'       , freq_op=f_op, freq_offset=f_of) 
     1660      f_op%timestep = 2        ;  f_of%timestep = 0  ; CALL iom_set_field_attr('ptrd_T_even'      , freq_op=f_op, freq_offset=f_of) 
     1661      f_op%timestep = 2        ;  f_of%timestep = -1 ; CALL iom_set_field_attr('ptrd_T_odd'       , freq_op=f_op, freq_offset=f_of) 
    16441662      f_op%timestep = nn_fsbc  ;  f_of%timestep = 0  ; CALL iom_set_field_attr('SBC'             , freq_op=f_op, freq_offset=f_of) 
    16451663      f_op%timestep = nn_fsbc  ;  f_of%timestep = 0  ; CALL iom_set_field_attr('SBC_scalar'      , freq_op=f_op, freq_offset=f_of) 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/OPA_SRC/IOM/restart.F90

    r8046 r10296  
    2626   USE divcur          ! hor. divergence and curl      (div & cur routines) 
    2727   USE sbc_oce         ! for icesheet freshwater input variables 
     28   USE timing 
    2829 
    2930   IMPLICIT NONE 
     
    134135      INTEGER, INTENT(in) ::   kt   ! ocean time-step 
    135136      !!---------------------------------------------------------------------- 
    136  
     137                     IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    137138                     CALL iom_rstput( kt, nitrst, numrow, 'rdt'    , rdt       )   ! dynamics time step 
    138139                     CALL iom_rstput( kt, nitrst, numrow, 'rdttra1', rdttra(1) )   ! surface tracer time step 
     
    168169                     ENDIF 
    169170                     ENDIF 
     171                     IF(nn_timing == 2)  CALL timing_stop('iom_rstput') 
    170172 
    171173      IF( kt == nitrst ) THEN 
     
    237239 
    238240      ! Check dynamics and tracer time-step consistency and force Euler restart if changed 
     241      IF(nn_timing == 2)  CALL timing_start('iom_rstget') 
    239242      IF( iom_varid( numror, 'rdt', ldstop = .FALSE. ) > 0 )   THEN 
    240243         CALL iom_get( numror, 'rdt', zrdt ) 
     
    300303         antarctica_icesheet_timelapsed = 0.0 
    301304      ENDIF 
    302  
     305      IF(nn_timing == 2)  CALL timing_stop('iom_rstget') 
    303306      IF( neuler == 0 ) THEN                                  ! Euler restart (neuler=0) 
    304307         tsb  (:,:,:,:) = tsn  (:,:,:,:)                             ! all before fields set to now values 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/OPA_SRC/LDF/ldfdyn_c3d.h90

    r6486 r10296  
    210210      ! 
    211211      REAL(wp), DIMENSION(:,:), ALLOCATABLE ::   ztemp2d  ! temporary array to read ahmcoef file 
     212      LOGICAL ::  tempmask( jpi,jpj)   ! Temporary mask to avoid Cray compiler bug at cce 8.3.4 
    212213      !!---------------------------------------------------------------------- 
    213214      ! 
     
    252253         zemax = MAXVAL ( e1t(:,:) * e2t(:,:), tmask(:,:,1) .GE. 0.5 ) 
    253254         zemin = MINVAL ( e1t(:,:) * e2t(:,:), tmask(:,:,1) .GE. 0.5 ) 
    254          zeref = MAXVAL ( e1t(:,:) * e2t(:,:),   & 
    255              &   tmask(:,:,1) .GE. 0.5 .AND. ABS(gphit(:,:)) .GT. 50. ) 
     255         tempmask(:,:) = .FALSE. 
     256         ! Pre calculate mask for zeref since embedding the following 
     257         ! term in the MAXVAL operation offends the Cray compiler for no  
     258         ! justifiable reason under certain conditions.  
     259         tempmask(:,:) = (tmask(:,:,1) .GE. 0.5) .AND. (ABS(gphit(:,:)) .GT. 50.) 
     260         zeref = MAXVAL ( e1t(:,:) * e2t(:,:), tempmask(:,:) ) 
    256261  
    257262         DO jj = 1, jpj 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/OPA_SRC/LDF/ldfdyn_smag.F90

    r6486 r10296  
    294294CONTAINS 
    295295   SUBROUTINE ldf_dyn_smag( kt )       ! Empty routine 
     296   IMPLICIT NONE 
     297      INTEGER :: kt                    ! timestep    
    296298      WRITE(*,*) 'ldf_dyn_smag: You should not have seen this print! error? check keys ldf:c3d+smag', kt 
    297299   END SUBROUTINE ldf_dyn_smag 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/OPA_SRC/LDF/ldftra_smag.F90

    r6486 r10296  
    204204CONTAINS 
    205205   SUBROUTINE ldf_tra_smag( kt )       ! Empty routine 
    206       WRITE(*,*) 'ldf_dyn_smag: You should not have seen this print! error? check keys ldf:c3d+smag', kt 
     206   IMPLICIT NONE 
     207        INTEGER, INTENT( in ) ::   kt  ! ocean time-step inedx 
     208        WRITE(*,*) 'ldf_dyn_smag: You should not have seen this print! error? check keys ldf:c3d+smag', kt 
    207209   END SUBROUTINE ldf_tra_smag 
    208210#endif 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/OPA_SRC/SBC/cpl_oasis3.F90

    r8280 r10296  
    151151      INTEGER :: id_part 
    152152      INTEGER :: paral(5)       ! OASIS3 box partition 
    153       INTEGER :: ishape(2,2)    ! shape of arrays passed to PSMILe 
     153      INTEGER :: ishape(4)      ! Shape of arrays passed to PSMILe.  
     154                                ! Redundant from OASIS3-MCT vn4.0 onwards but required 
     155                                ! to satisfy interface and for backward compatibility.  
     156      INTEGER :: var_nodims(2)  ! Number of coupling field dimensions. 
     157                                ! var_nodims(1) is redundant from OASIS3-MCT vn4.0 onwards 
     158                                ! but retained for backward compatibility.  
     159                                ! var_nodims(2) is the number of fields in a bundle  
     160                                ! or 1 for unbundled fields (bundles are not yet catered for 
     161                                ! in NEMO hence we default to 1).   
    154162      INTEGER :: ji,jc,jm       ! local loop indicees 
    155163      CHARACTER(LEN=64) :: zclname 
     
    182190      !     nl* is set to the global values 1 and jp*glo. 
    183191      ! 
    184       ishape(:,1) = (/ 1, nlei-nldi+1 /) 
    185       ishape(:,2) = (/ 1, nlej-nldj+1 /) 
     192      ishape(1) = 1 
     193      ishape(2) = nlei-nldi+1 
     194      ishape(3) = 1 
     195      ishape(4) = nlej-nldj+1 
     196 
     197 
    186198      ! 
    187199      ! ... Allocate memory for data exchange 
     
    243255#endif 
    244256                  IF( ln_ctl ) WRITE(numout,*) "Define", ji, jc, jm, " "//TRIM(zclname), " for ", OASIS_Out 
    245                   CALL oasis_def_var (ssnd(ji)%nid(jc,jm), zclname, id_part   , (/ 2, 0 /),   & 
     257 
     258                  ! 
     259                  ! ... Set the field dimension and bundle count 
     260                  var_nodims(1) = 2 
     261                  var_nodims(2) = 1 ! Modify this value to cater for bundled fields.     
     262 
     263                  CALL oasis_def_var (ssnd(ji)%nid(jc,jm), zclname, id_part   , var_nodims,   & 
    246264                     &                OASIS_Out          , ishape , OASIS_REAL, nerror ) 
    247265                  IF ( nerror /= OASIS_Ok ) THEN 
     
    288306#endif 
    289307                  IF( ln_ctl ) WRITE(numout,*) "Define", ji, jc, jm, " "//TRIM(zclname), " for ", OASIS_In 
    290                   CALL oasis_def_var (srcv(ji)%nid(jc,jm), zclname, id_part   , (/ 2, 0 /),   & 
     308 
     309                  ! ... Set the field dimension and bundle count 
     310                  var_nodims(1) = 2 
     311                  var_nodims(2) = 1 ! Modify this value to cater for bundled fields.     
     312 
     313                  CALL oasis_def_var (srcv(ji)%nid(jc,jm), zclname, id_part   , var_nodims,   & 
    291314                     &                OASIS_In           , ishape , OASIS_REAL, nerror ) 
    292315                  IF ( nerror /= OASIS_Ok ) THEN 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/OPA_SRC/SBC/sbc_ice.F90

    r8400 r10296  
    167167 
    168168#if defined key_cice 
    169       ALLOCATE( qla_ice(jpi,jpj,ncat) , qlw_ice(jpi,jpj,1)    , qsr_ice(jpi,jpj,1)    , & 
     169      ALLOCATE( qla_ice(jpi,jpj,ncat) , qlw_ice(jpi,jpj,1)    , qsr_ice(jpi,jpj,jpl)  , & 
    170170                wndi_ice(jpi,jpj)     , tatm_ice(jpi,jpj)     , qatm_ice(jpi,jpj)     , & 
    171171                wndj_ice(jpi,jpj)     , nfrzmlt(jpi,jpj)      , ss_iou(jpi,jpj)       , & 
     
    180180      IF( ln_cpl )   ALLOCATE( u_ice(jpi,jpj)        , fr1_i0(jpi,jpj)       , tn_ice (jpi,jpj,jpl)  , & 
    181181         &                     v_ice(jpi,jpj)        , fr2_i0(jpi,jpj)       , alb_ice(jpi,jpj,1)    , & 
    182          &                     emp_ice(jpi,jpj)      , qns_ice(jpi,jpj,1)    , dqns_ice(jpi,jpj,1)   , & 
     182         &                     emp_ice(jpi,jpj)      , qns_ice(jpi,jpj,jpl)  , dqns_ice(jpi,jpj,1)   , & 
    183183         &                     a_p(jpi,jpj,jpl)      , ht_p(jpi,jpj,jpl)     , tsfc_ice(jpi,jpj,jpl) , & 
    184184         &                     kn_ice(jpi,jpj,jpl) ,    STAT=ierr(2) ) 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/OPA_SRC/SBC/sbcapr.F90

    r6486 r10296  
    1919   USE iom             ! IOM library 
    2020   USE lib_mpp         ! MPP library 
     21   USE timing 
    2122 
    2223   IMPLICIT NONE 
     
    143144         IF( ln_rstart .AND. iom_varid( numror, 'ssh_ibb', ldstop = .FALSE. ) > 0 ) THEN  
    144145            IF(lwp) WRITE(numout,*) 'sbc_apr:   ssh_ibb read in the restart file' 
     146            IF(nn_timing == 2)  CALL timing_start('iom_rstget') 
    145147            CALL iom_get( numror, jpdom_autoglo, 'ssh_ibb', ssh_ibb )   ! before inv. barometer ssh 
     148            IF(nn_timing == 2)  CALL timing_stop('iom_rstget') 
    146149            ! 
    147150         ELSE                                         !* no restart: set from nit000 values 
     
    156159         IF(lwp) WRITE(numout,*) 'sbc_apr : ssh_ib written in ocean restart file at it= ', kt,' date= ', ndastp 
    157160         IF(lwp) WRITE(numout,*) '~~~~' 
     161         IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    158162         CALL iom_rstput( kt, nitrst, numrow, 'ssh_ibb' , ssh_ib ) 
     163         IF(nn_timing == 2)  CALL timing_stop('iom_rstput') 
    159164      ENDIF 
    160165      ! 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/OPA_SRC/SBC/sbccpl.F90

    r8427 r10296  
    257257 
    258258      ! 
    259       IF( nn_timing == 1 )  CALL timing_start('sbc_cpl_init') 
     259      IF( nn_timing.gt.0 .and. nn_timing .le. 2)  CALL timing_start('sbc_cpl_init') 
    260260      ! 
    261261      CALL wrk_alloc( jpi,jpj, zacs, zaos ) 
     
    991991      CALL wrk_dealloc( jpi,jpj, zacs, zaos ) 
    992992      ! 
    993       IF( nn_timing == 1 )  CALL timing_stop('sbc_cpl_init') 
     993      IF( nn_timing.gt.0 .and. nn_timing .le. 2 )  CALL timing_stop('sbc_cpl_init') 
    994994      ! 
    995995   END SUBROUTINE sbc_cpl_init 
     
    10621062 
    10631063      ! 
    1064       IF( nn_timing == 1 )  CALL timing_start('sbc_cpl_rcv') 
     1064      IF( nn_timing.gt.0 .and. nn_timing .le. 2 )  CALL timing_start('sbc_cpl_rcv') 
    10651065      ! 
    10661066      CALL wrk_alloc( jpi,jpj, ztx, zty, zmsk, zemp, zqns, zqsr, ztx2, zty2 ) 
     
    14531453      CALL wrk_dealloc( jpi,jpj, ztx, zty, zmsk, zemp, zqns, zqsr, ztx2, zty2 ) 
    14541454      ! 
    1455       IF( nn_timing == 1 )  CALL timing_stop('sbc_cpl_rcv') 
     1455      IF( nn_timing.gt.0 .and. nn_timing .le. 2 )  CALL timing_stop('sbc_cpl_rcv') 
    14561456      ! 
    14571457   END SUBROUTINE sbc_cpl_rcv 
     
    14991499      !!---------------------------------------------------------------------- 
    15001500      ! 
    1501       IF( nn_timing == 1 )  CALL timing_start('sbc_cpl_ice_tau') 
     1501      IF( nn_timing.gt.0 .and. nn_timing .le. 2 )  CALL timing_start('sbc_cpl_ice_tau') 
    15021502      ! 
    15031503      CALL wrk_alloc( jpi,jpj, ztx, zty ) 
     
    16641664      CALL wrk_dealloc( jpi,jpj, ztx, zty ) 
    16651665      ! 
    1666       IF( nn_timing == 1 )  CALL timing_stop('sbc_cpl_ice_tau') 
     1666      IF( nn_timing.gt.0 .and. nn_timing .le. 2 )  CALL timing_stop('sbc_cpl_ice_tau') 
    16671667      ! 
    16681668   END SUBROUTINE sbc_cpl_ice_tau 
     
    17311731      !!---------------------------------------------------------------------- 
    17321732      ! 
    1733       IF( nn_timing == 1 )  CALL timing_start('sbc_cpl_ice_flx') 
     1733      IF( nn_timing.gt.0 .and. nn_timing .le. 2 )  CALL timing_start('sbc_cpl_ice_flx') 
    17341734      ! 
    17351735      CALL wrk_alloc( jpi,jpj,     zcptn, ztmp, zicefr, zmsk, zsnw ) 
     
    21162116      CALL wrk_dealloc( jpi,jpj,jpl, zqns_ice, zqsr_ice, zdqns_ice, zqevap_ice ) 
    21172117      ! 
    2118       IF( nn_timing == 1 )  CALL timing_stop('sbc_cpl_ice_flx') 
     2118      IF( nn_timing.gt.0 .and. nn_timing .le. 2 )  CALL timing_stop('sbc_cpl_ice_flx') 
    21192119      ! 
    21202120   END SUBROUTINE sbc_cpl_ice_flx 
     
    21412141      !!---------------------------------------------------------------------- 
    21422142      ! 
    2143       IF( nn_timing == 1 )  CALL timing_start('sbc_cpl_snd') 
     2143      IF( nn_timing.gt.0 .and. nn_timing .le. 2 )  CALL timing_start('sbc_cpl_snd') 
    21442144      ! 
    21452145      CALL wrk_alloc( jpi,jpj, zfr_l, ztmp1, ztmp2, zotx1, zoty1, zotz1, zitx1, zity1, zitz1 ) 
     
    26312631      CALL wrk_dealloc( jpi,jpj,jpl, ztmp3, ztmp4 ) 
    26322632      ! 
    2633       IF( nn_timing == 1 )  CALL timing_stop('sbc_cpl_snd') 
     2633      IF( nn_timing.gt.0 .and. nn_timing .le. 2 )  CALL timing_stop('sbc_cpl_snd') 
    26342634      ! 
    26352635   END SUBROUTINE sbc_cpl_snd 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_cice.F90

    r9288 r10296  
    11811181 
    11821182   SUBROUTINE sbc_ice_cice ( kt, ksbc )     ! Dummy routine 
     1183      IMPLICIT NONE 
     1184      INTEGER, INTENT(in) ::   kt    ! ocean time-step index 
     1185      INTEGER, INTENT(in) ::   ksbc    ! surface forcing type 
    11831186      WRITE(*,*) 'sbc_ice_cice: You should not have seen this print! error?', kt 
    11841187   END SUBROUTINE sbc_ice_cice 
    11851188 
    11861189   SUBROUTINE cice_sbc_init (ksbc)    ! Dummy routine 
     1190      IMPLICIT NONE 
     1191      INTEGER, INTENT(in) ::   ksbc    ! surface forcing type 
    11871192      WRITE(*,*) 'cice_sbc_init: You should not have seen this print! error?' 
    11881193   END SUBROUTINE cice_sbc_init 
    11891194 
    11901195   SUBROUTINE cice_sbc_final     ! Dummy routine 
     1196      IMPLICIT NONE 
    11911197      WRITE(*,*) 'cice_sbc_final: You should not have seen this print! error?' 
    11921198   END SUBROUTINE cice_sbc_final 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_lim.F90

    r6498 r10296  
    648648CONTAINS 
    649649   SUBROUTINE sbc_ice_lim ( kt, kblk )     ! Dummy routine 
     650   IMPLICIT NONE 
     651      INTEGER, INTENT(in) ::   kt      ! ocean time step 
     652      INTEGER, INTENT(in) ::   kblk    ! type of bulk (=3 CLIO, =4 CORE, =5 COUPLED) 
    650653      WRITE(*,*) 'sbc_ice_lim: You should not have seen this print! error?', kt, kblk 
    651654   END SUBROUTINE sbc_ice_lim 
    652655   SUBROUTINE sbc_lim_init                 ! Dummy routine 
     656   IMPLICIT NONE 
    653657   END SUBROUTINE sbc_lim_init 
    654658#endif 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/OPA_SRC/SBC/sbcmod.F90

    r8280 r10296  
    422422            & iom_varid( numror, 'utau_b', ldstop = .FALSE. ) > 0 ) THEN  
    423423            IF(lwp) WRITE(numout,*) '          nit000-1 surface forcing fields red in the restart file' 
     424            IF(nn_timing == 2)  CALL timing_start('iom_rstget') 
    424425            CALL iom_get( numror, jpdom_autoglo, 'utau_b', utau_b )   ! before i-stress  (U-point) 
    425426            CALL iom_get( numror, jpdom_autoglo, 'vtau_b', vtau_b )   ! before j-stress  (V-point) 
     
    434435               sfx_b (:,:) = sfx(:,:) 
    435436            ENDIF 
     437            IF(nn_timing == 2)  CALL timing_stop('iom_rstget') 
    436438         ELSE                                                   !* no restart: set from nit000 values 
    437439            IF(lwp) WRITE(numout,*) '          nit000-1 surface forcing fields set to nit000' 
     
    450452            &                    'at it= ', kt,' date= ', ndastp 
    451453         IF(lwp) WRITE(numout,*) '~~~~' 
     454         IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    452455         CALL iom_rstput( kt, nitrst, numrow, 'utau_b' , utau ) 
    453456         CALL iom_rstput( kt, nitrst, numrow, 'vtau_b' , vtau ) 
     
    457460         CALL iom_rstput( kt, nitrst, numrow, 'emp_b'  , emp  ) 
    458461         CALL iom_rstput( kt, nitrst, numrow, 'sfx_b'  , sfx  ) 
     462         IF(nn_timing == 2)  CALL timing_stop('iom_rstput') 
    459463      ENDIF 
    460464 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/OPA_SRC/SBC/sbcrnf.F90

    r8302 r10296  
    2727   USE eosbn2 
    2828   USE wrk_nemo        ! Memory allocation 
     29   USE timing 
    2930 
    3031   IMPLICIT NONE 
     
    148149            & iom_varid( numror, 'rnf_b', ldstop = .FALSE. ) > 0 ) THEN 
    149150            IF(lwp) WRITE(numout,*) '          nit000-1 runoff forcing fields red in the restart file' 
     151            IF(nn_timing == 2)  CALL timing_start('iom_rstget') 
    150152            CALL iom_get( numror, jpdom_autoglo, 'rnf_b', rnf_b )     ! before runoff 
    151153            CALL iom_get( numror, jpdom_autoglo, 'rnf_hc_b', rnf_tsc_b(:,:,jp_tem) )   ! before heat content of runoff 
    152154            CALL iom_get( numror, jpdom_autoglo, 'rnf_sc_b', rnf_tsc_b(:,:,jp_sal) )   ! before salinity content of runoff 
     155            IF(nn_timing == 2)  CALL timing_stop('iom_rstget') 
    153156         ELSE                                                   !* no restart: set from nit000 values 
    154157            IF(lwp) WRITE(numout,*) '          nit000-1 runoff forcing fields set to nit000' 
     
    164167            &                    'at it= ', kt,' date= ', ndastp 
    165168         IF(lwp) WRITE(numout,*) '~~~~' 
     169         IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    166170         CALL iom_rstput( kt, nitrst, numrow, 'rnf_b' , rnf ) 
    167171         CALL iom_rstput( kt, nitrst, numrow, 'rnf_hc_b', rnf_tsc(:,:,jp_tem) ) 
    168172         CALL iom_rstput( kt, nitrst, numrow, 'rnf_sc_b', rnf_tsc(:,:,jp_sal) ) 
     173         IF(nn_timing == 2)  CALL timing_stop('iom_rstput') 
    169174      ENDIF 
    170175      ! 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/OPA_SRC/SBC/sbcssm.F90

    r6486 r10296  
    2121   USE prtctl          ! Print control 
    2222   USE iom             ! IOM library 
     23   USE timing 
    2324 
    2425   IMPLICIT NONE 
     
    156157            IF(lwp) WRITE(numout,*) '~~~~~~~' 
    157158            zf_sbc = REAL( nn_fsbc, wp ) 
     159            IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    158160            CALL iom_rstput( kt, nitrst, numrow, 'nn_fsbc', zf_sbc )    ! sbc frequency 
    159161            CALL iom_rstput( kt, nitrst, numrow, 'ssu_m'  , ssu_m  )    ! sea surface mean fields 
     
    164166            IF( lk_vvl )   CALL iom_rstput( kt, nitrst, numrow, 'e3t_m'  , e3t_m  ) 
    165167            CALL iom_rstput( kt, nitrst, numrow, 'frq_m'  , frq_m  ) 
     168            IF(nn_timing == 2)  CALL timing_stop('iom_rstput')  
    166169            ! 
    167170         ENDIF 
     
    206209         IF( ln_rstart .AND. iom_varid( numror, 'nn_fsbc', ldstop = .FALSE. ) > 0 ) THEN 
    207210            l_ssm_mean = .TRUE. 
     211            IF(nn_timing == 2)  CALL timing_start('iom_rstget') 
    208212            CALL iom_get( numror               , 'nn_fsbc', zf_sbc )   ! sbc frequency of previous run 
    209213            CALL iom_get( numror, jpdom_autoglo, 'ssu_m'  , ssu_m  )   ! sea surface mean velocity    (T-point) 
     
    219223               frq_m(:,:) = 1._wp   ! default definition 
    220224            ENDIF 
     225            IF(nn_timing == 2)  CALL timing_stop('iom_rstget') 
    221226            ! 
    222227            IF( zf_sbc /= REAL( nn_fsbc, wp ) ) THEN      ! nn_fsbc has changed between 2 runs 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/OPA_SRC/STO/stopar.F90

    r6487 r10296  
    2222   USE iom             ! I/O module 
    2323   USE lib_mpp 
    24  
     24   USE timing 
    2525 
    2626   IMPLICIT NONE 
     
    697697         ! Get stochastic parameters from restart file: 
    698698         ! 2D stochastic parameters 
     699         IF(nn_timing == 2)  CALL timing_start('iom_rstget') 
    699700         DO jsto = 1 , jpsto2d 
    700701            WRITE(clsto2d(7:9),'(i3.3)') jsto 
     
    717718            CALL kiss_seed( ziseed(1) , ziseed(2) , ziseed(3) , ziseed(4) ) 
    718719         ENDIF 
     720         IF(nn_timing == 2)  CALL timing_stop('iom_rstget') 
    719721 
    720722         ! Close the restart file 
     
    760762            CALL kiss_state( ziseed(1) , ziseed(2) , ziseed(3) , ziseed(4) ) 
    761763            zrseed = TRANSFER( ziseed , zrseed) 
     764            IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    762765            DO jseed = 1 , 4 
    763766               WRITE(clseed(5:5) ,'(i1.1)') jseed 
     
    775778               CALL iom_rstput( kt, nitrst, numstow, clsto3d , sto3d(:,:,:,jsto) ) 
    776779            END DO 
     780            IF(nn_timing == 2)  CALL timing_stop('iom_rstput')  
    777781            ! close the restart file 
    778782            CALL iom_close( numstow ) 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_cen2.F90

    r7179 r10296  
    286286      ! avmb, avtb will be read in zdfini in restart case as they are used in zdftke, kpp etc... 
    287287      IF( lrst_oce .AND. cdtype == 'TRA' ) THEN 
     288         IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    288289         CALL iom_rstput( kt, nitrst, numrow, 'avmb', avmb ) 
    289290         CALL iom_rstput( kt, nitrst, numrow, 'avtb', avtb ) 
     291         IF(nn_timing == 2)  CALL timing_stop('iom_rstput') 
    290292      ENDIF 
    291293      ! 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_tvd.F90

    r7771 r10296  
    3333   USE wrk_nemo       ! Memory Allocation 
    3434   USE timing         ! Timing 
     35   USE phycst         ! Physical constants 
    3536   USE lib_fortran    ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined)   
    3637   USE iom 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/OPA_SRC/TRA/trabbl.F90

    r7771 r10296  
    549549      zmbk(:,:) = REAL( mbkv_d(:,:), wp )   ;   CALL lbc_lnk(zmbk,'V',1.)   ;   mbkv_d(:,:) = MAX( INT( zmbk(:,:) ), 1 ) 
    550550 
    551                                         !* sign of grad(H) at u- and v-points 
    552       mgrhu(jpi,:) = 0   ;   mgrhu(:,jpj) = 0   ;   mgrhv(jpi,:) = 0   ;   mgrhv(:,jpj) = 0 
     551      !! AXY (16/08/17): remove the following per George and Andrew bug-hunt 
     552      !!                                   !* sign of grad(H) at u- and v-points 
     553      !! mgrhu(jpi,:) = 0   ;   mgrhu(:,jpj) = 0   ;   mgrhv(jpi,:) = 0   ;   mgrhv(:,jpj) = 0 
     554      !! DO jj = 1, jpjm1 
     555      !!    DO ji = 1, jpim1 
     556      !!       mgrhu(ji,jj) = INT(  SIGN( 1.e0, gdept_0(ji+1,jj,mbkt(ji+1,jj)) - gdept_0(ji,jj,mbkt(ji,jj)) )  ) 
     557      !!       mgrhv(ji,jj) = INT(  SIGN( 1.e0, gdept_0(ji,jj+1,mbkt(ji,jj+1)) - gdept_0(ji,jj,mbkt(ji,jj)) )  ) 
     558      !!    END DO 
     559      !! END DO 
     560 
     561      !! AXY (16/08/17): add the following replacement per George and Andrew bug-hunt 
     562                                        !* sign of grad(H) at u- and  v-points; zero if grad(H) = 0 
     563      mgrhu(:,:) = 0   ;   mgrhv(:,:) = 0 
    553564      DO jj = 1, jpjm1 
    554565         DO ji = 1, jpim1 
    555             mgrhu(ji,jj) = INT(  SIGN( 1.e0, gdept_0(ji+1,jj,mbkt(ji+1,jj)) - gdept_0(ji,jj,mbkt(ji,jj)) )  ) 
    556             mgrhv(ji,jj) = INT(  SIGN( 1.e0, gdept_0(ji,jj+1,mbkt(ji,jj+1)) - gdept_0(ji,jj,mbkt(ji,jj)) )  ) 
     566#if defined key_bbl_old_nonconserve 
     567             ! This key allows old (non conservative version) to be used for continuity of results 
     568             mgrhu(ji,jj) = INT(  SIGN( 1.e0, gdept_0(ji+1,jj,mbkt(ji+1,jj)) - gdept_0(ji,jj,mbkt(ji,jj)) )  ) 
     569             mgrhv(ji,jj) = INT(  SIGN( 1.e0, gdept_0(ji,jj+1,mbkt(ji,jj+1)) - gdept_0(ji,jj,mbkt(ji,jj)) )  ) 
     570#else 
     571            IF( gdept_0(ji+1,jj,mbkt(ji+1,jj)) - gdept_0(ji,jj,mbkt(ji,jj)) /= 0._wp ) THEN 
     572               mgrhu(ji,jj) = INT(  SIGN( 1.e0, & 
     573               gdept_0(ji+1,jj,mbkt(ji+1,jj)) - gdept_0(ji,jj,mbkt(ji,jj)) )  ) 
     574            ENDIF 
     575            !      
     576            IF( gdept_0(ji,jj+1,mbkt(ji,jj+1)) - gdept_0(ji,jj,mbkt(ji,jj)) /= 0._wp ) THEN 
     577               mgrhv(ji,jj) = INT(  SIGN( 1.e0, & 
     578               gdept_0(ji,jj+1,mbkt(ji,jj+1)) - gdept_0(ji,jj,mbkt(ji,jj)) )  ) 
     579            ENDIF 
     580#endif 
    557581         END DO 
    558582      END DO 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/OPA_SRC/TRA/tranxt.F90

    r8333 r10296  
    4949   USE agrif_opa_interp 
    5050#endif 
     51 
    5152 
    5253   IMPLICIT NONE 
     
    340341      DO jn = 1, kjpt       
    341342         DO jk = 1, jpkm1 
    342             zfact = 1._wp / r2dtra(jk) 
     343            zfact  = 0.5_wp / p2dt(jk) 
    343344            zfact1 = atfp * p2dt(jk) 
    344345            zfact2 = zfact1 / rau0 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/OPA_SRC/TRA/traqsr.F90

    r6498 r10296  
    368368            &                    'at it= ', kt,' date= ', ndastp 
    369369         IF(lwp) WRITE(numout,*) '~~~~' 
     370         IF(nn_timing == 2)  CALL timing_start('iom_rstput')  
    370371         CALL iom_rstput( kt, nitrst, numrow, 'qsr_hc_b'   , qsr_hc      ) 
    371372         CALL iom_rstput( kt, nitrst, numrow, 'fraqsr_1lev', fraqsr_1lev )   ! default definition in sbcssm  
     373         IF(nn_timing == 2)  CALL timing_stop('iom_rstput') 
    372374         ! 
    373375      ENDIF 
     
    607609      ! initialisation of fraqsr_1lev used in sbcssm 
    608610      IF( iom_varid( numror, 'fraqsr_1lev', ldstop = .FALSE. ) > 0 ) THEN 
     611         IF(nn_timing == 2)  CALL timing_start('iom_rstget') 
    609612         CALL iom_get( numror, jpdom_autoglo, 'fraqsr_1lev'  , fraqsr_1lev  ) 
     613         IF(nn_timing == 2)  CALL timing_stop('iom_rstget') 
    610614      ELSE 
    611615         fraqsr_1lev(:,:) = 1._wp   ! default definition 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/OPA_SRC/TRA/trasbc.F90

    r8400 r10296  
    213213            &                    'at it= ', kt,' date= ', ndastp 
    214214         IF(lwp) WRITE(numout,*) '~~~~' 
     215         IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    215216         CALL iom_rstput( kt, nitrst, numrow, 'sbc_hc_b', sbc_tsc(:,:,jp_tem) ) 
    216217         CALL iom_rstput( kt, nitrst, numrow, 'sbc_sc_b', sbc_tsc(:,:,jp_sal) ) 
     218         IF(nn_timing == 2)  CALL timing_stop('iom_rstput') 
    217219      ENDIF 
    218220      ! 
     
    257259               &                    'at it= ', kt,' date= ', ndastp 
    258260            IF(lwp) WRITE(numout,*) '~~~~' 
     261            IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    259262            CALL iom_rstput( kt, nitrst, numrow, 'fwf_isf_b', fwfisf(:,:)          ) 
    260263            CALL iom_rstput( kt, nitrst, numrow, 'isf_hc_b' , risf_tsc(:,:,jp_tem) ) 
    261264            CALL iom_rstput( kt, nitrst, numrow, 'isf_sc_b' , risf_tsc(:,:,jp_sal) ) 
     265            IF(nn_timing == 2)  CALL timing_stop('iom_rstput') 
    262266         ENDIF 
    263267      END IF 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/OPA_SRC/TRD/trd_oce.F90

    r7179 r10296  
    5757   ! 
    5858   !                                                  !!!* Passive tracers trends indices (use if "key_top" defined) 
    59    INTEGER, PUBLIC, PARAMETER ::   jptra_sms  = 19     !: sources m. sinks 
    60    INTEGER, PUBLIC, PARAMETER ::   jptra_radn = 20     !: corr. trn<0 in trcrad 
    61    INTEGER, PUBLIC, PARAMETER ::   jptra_radb = 21     !: corr. trb<0 in trcrad (like atf) 
     59   INTEGER, PUBLIC, PARAMETER ::   jptra_sms  = 21     !: sources m. sinks 
     60   INTEGER, PUBLIC, PARAMETER ::   jptra_radn = 22     !: corr. trn<0 in trcrad 
     61   INTEGER, PUBLIC, PARAMETER ::   jptra_radb = 23     !: corr. trb<0 in trcrad (like atf) 
    6262   ! 
    6363   !                                                  !!!* Momentum trends indices 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/OPA_SRC/TRD/trdken.F90

    r7179 r10296  
    195195                    CALL ken_p2k( kt , zke ) 
    196196                      CALL iom_put( "ketrd_convP2K", zke )     ! conversion -rau*g*w 
     197# if defined key_ldfslp || key_esopa 
    197198        CASE( jpdyn_eivke ) 
    198199            ! CMIP6 diagnostic tknebto = tendency of KE from 
     
    216217            CALL iom_put("ketrd_eiv", zke2d) 
    217218            CALL wrk_dealloc( jpi, jpj, zke2d ) 
     219#endif 
    218220         ! 
    219221      END SELECT 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/OPA_SRC/TRD/trdmxl_rst.F90

    r6486 r10296  
    1616   USE iom             ! I/O module 
    1717   USE restart         ! only for lrst_oce 
     18   USE timing 
    1819 
    1920   IMPLICIT NONE 
     
    7980         WRITE(numout,*) 
    8081      ENDIF 
    81  
     82      IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    8283      IF( ln_trdmxl_instant ) THEN  
    8384         !-- Temperature 
     
    115116         CALL iom_rstput( kt, nitrst, nummxlw, 'smltrd_atf_sumb' , smltrd_atf_sumb ) 
    116117      ENDIF 
     118      IF(nn_timing == 2)  CALL timing_stop('iom_rstput') 
    117119      ! 
    118120      IF( kt == nitrst ) THEN 
     
    158160 
    159161      CALL iom_open( TRIM(clpath)//TRIM(cn_trdrst_in), inum, kiolib = jlibalt )  
    160  
     162      IF(nn_timing == 2)  CALL timing_start('iom_rstget') 
    161163      IF( ln_trdmxl_instant ) THEN  
    162164         !-- Temperature 
     
    194196         CALL iom_get( inum, jpdom_autoglo, 'smltrd_atf_sumb' , smltrd_atf_sumb) 
    195197         ! 
    196          CALL iom_close( inum ) 
    197       ENDIF 
     198      ENDIF 
     199      IF(nn_timing == 2)  CALL timing_stop('iom_rstget') 
     200      CALL iom_close( inum ) 
    198201      ! 
    199202   END SUBROUTINE trd_mxl_rst_read 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/OPA_SRC/TRD/trdtra.F90

    r8104 r10296  
    2020   USE trd_oce        ! trends: ocean variables 
    2121   USE trdtrc         ! ocean passive mixed layer tracers trends  
     22# if defined key_top 
     23   USE trc,           ONLY: tra    ! tracer definitions (trn, trb, tra, etc.)  
     24# endif 
    2225   USE trdglo         ! trends: global domain averaged 
    2326   USE trdpen         ! trends: Potential ENergy 
     
    163166      ENDIF 
    164167 
     168# if defined key_top 
    165169      IF( ctype == 'TRC' ) THEN                           !==  passive tracer trend  ==! 
    166170         ! 
     
    170174         CASE( jptra_yad )   ;   CALL trd_tra_adv( ptrd , pun , ptra, 'Y', ztrds )  
    171175         CASE( jptra_zad )   ;   CALL trd_tra_adv( ptrd , pun , ptra, 'Z', ztrds )  
     176         CASE( jptra_zdfp )           ! diagnose the "PURE" Kz trend (here: just before the swap) 
     177            !                         ! iso-neutral diffusion case otherwise 
     178            !                         jptra_zdf is "PURE" 
     179            CALL wrk_alloc( jpi, jpj, jpk, zws ) 
     180            ! 
     181            zws(:,:, 1 ) = 0._wp                        ! vertical diffusive fluxes 
     182            zws(:,:,jpk) = 0._wp   
     183            DO jk = 2, jpk 
     184               zws(:,:,jk) = avt(:,:,jk) * (tra(:,:,jk-1,ktra) - tra(:,:,jk,ktra) ) / fse3w(:,:,jk) * tmask(:,:,jk) 
     185            END DO 
     186            ! 
     187            ztrds(:,:,jpk) = 0._wp    
     188            DO jk = 1, jpkm1 
     189               ztrds(:,:,jk) = ( zws(:,:,jk) - zws(:,:,jk+1) ) / fse3t(:,:,jk) 
     190            END DO 
     191            CALL wrk_dealloc( jpi, jpj, jpk, zws ) 
     192            ! 
    172193         CASE DEFAULT                 ! other trends: just masked  
    173194                                 ztrds(:,:,:) = ptrd(:,:,:) * tmask(:,:,:) 
     
    177198         ! 
    178199      ENDIF 
     200# endif 
    179201      ! 
    180202      CALL wrk_dealloc( jpi, jpj, jpk, ztrds ) 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfgls.F90

    r6487 r10296  
    11841184            ! 
    11851185            IF( MIN( id1, id2, id3, id4, id5, id6 ) > 0 ) THEN        ! all required arrays exist 
     1186               IF(nn_timing == 2)  CALL timing_start('iom_rstget') 
    11861187               CALL iom_get( numror, jpdom_autoglo, 'en'    , en     ) 
    11871188               CALL iom_get( numror, jpdom_autoglo, 'avt'   , avt    ) 
     
    11901191               CALL iom_get( numror, jpdom_autoglo, 'avmv'  , avmv   ) 
    11911192               CALL iom_get( numror, jpdom_autoglo, 'mxln'  , mxln   ) 
     1193               IF(nn_timing == 2)  CALL timing_stop('iom_rstget') 
    11921194            ELSE                         
    11931195               IF(lwp) WRITE(numout,*) ' ===>>>> : previous run without gls scheme, en and mxln computed by iterative loop' 
     
    12091211         !                                   ! ------------------- 
    12101212         IF(lwp) WRITE(numout,*) '---- gls-rst ----' 
     1213         IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    12111214         CALL iom_rstput( kt, nitrst, numrow, 'en'   , en     )  
    12121215         CALL iom_rstput( kt, nitrst, numrow, 'avt'  , avt_k  ) 
     
    12151218         CALL iom_rstput( kt, nitrst, numrow, 'avmv' , avmv_k ) 
    12161219         CALL iom_rstput( kt, nitrst, numrow, 'mxln' , mxln   ) 
     1220         IF(nn_timing == 2)  CALL timing_stop('iom_rstput') 
    12171221         ! 
    12181222      ENDIF 
     
    12271231CONTAINS 
    12281232   SUBROUTINE zdf_gls_init           ! Empty routine 
     1233   IMPLICIT NONE 
    12291234      WRITE(*,*) 'zdf_gls_init: You should not have seen this print! error?' 
    12301235   END SUBROUTINE zdf_gls_init 
     1236    
    12311237   SUBROUTINE zdf_gls( kt )          ! Empty routine 
     1238   IMPLICIT NONE 
     1239      INTEGER, INTENT(in) ::   kt ! ocean time step    
    12321240      WRITE(*,*) 'zdf_gls: You should not have seen this print! error?', kt 
    12331241   END SUBROUTINE zdf_gls 
     1242    
    12341243   SUBROUTINE gls_rst( kt, cdrw )          ! Empty routine 
     1244   IMPLICIT NONE 
    12351245      INTEGER         , INTENT(in) ::   kt         ! ocean time-step 
    12361246      CHARACTER(len=*), INTENT(in) ::   cdrw       ! "READ"/"WRITE" flag 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfkpp.F90

    r6486 r10296  
    15761576CONTAINS 
    15771577   SUBROUTINE zdf_kpp_init           ! Dummy routine 
     1578   IMPLICIT NONE 
    15781579      WRITE(*,*) 'zdf_kpp_init: You should not have seen this print! error?' 
    15791580   END SUBROUTINE zdf_kpp_init 
    15801581   SUBROUTINE zdf_kpp( kt )          ! Dummy routine 
     1582   IMPLICIT NONE 
     1583      INTEGER, INTENT( in  ) ::   kt   ! ocean time step 
    15811584      WRITE(*,*) 'zdf_kpp: You should not have seen this print! error?', kt 
    15821585   END SUBROUTINE zdf_kpp 
    15831586   SUBROUTINE tra_kpp( kt )          ! Dummy routine 
     1587   IMPLICIT NONE 
     1588      INTEGER, INTENT( in  ) ::   kt   ! ocean time step 
    15841589      WRITE(*,*) 'tra_kpp: You should not have seen this print! error?', kt 
    15851590   END SUBROUTINE tra_kpp 
    15861591   SUBROUTINE trc_kpp( kt )          ! Dummy routine 
     1592   IMPLICIT NONE 
     1593      INTEGER, INTENT( in  ) ::   kt   ! ocean time step 
    15871594      WRITE(*,*) 'trc_kpp: You should not have seen this print! error?', kt 
    15881595   END SUBROUTINE trc_kpp 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfric.F90

    r6486 r10296  
    307307CONTAINS 
    308308   SUBROUTINE zdf_ric_init         ! Dummy routine 
     309   IMPLICIT NONE 
    309310   END SUBROUTINE zdf_ric_init 
    310311   SUBROUTINE zdf_ric( kt )        ! Dummy routine 
     312   IMPLICIT NONE 
     313      INTEGER, INTENT( in ) ::   kt                           ! ocean time-step 
    311314      WRITE(*,*) 'zdf_ric: You should not have seen this print! error?', kt 
    312315   END SUBROUTINE zdf_ric 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/OPA_SRC/ZDF/zdftke.F90

    r6498 r10296  
    937937              CALL iom_get( numror, jpdom_autoglo, 'en', en ) 
    938938              IF( MIN( id2, id3, id4, id5, id6 ) > 0 ) THEN        ! all required arrays exist 
     939                 IF(nn_timing == 2)  CALL timing_start('iom_rstget') 
    939940                 CALL iom_get( numror, jpdom_autoglo, 'avt'  , avt   ) 
    940941                 CALL iom_get( numror, jpdom_autoglo, 'avm'  , avm   ) 
     
    942943                 CALL iom_get( numror, jpdom_autoglo, 'avmv' , avmv  ) 
    943944                 CALL iom_get( numror, jpdom_autoglo, 'dissl', dissl ) 
     945                 IF(nn_timing == 2)  CALL timing_stop('iom_rstget') 
    944946              ELSE                                                 ! one at least array is missing 
    945947                 CALL tke_avn                                          ! compute avt, avm, avmu, avmv and dissl (approximation) 
     
    970972        !                                   ! ------------------- 
    971973        IF(lwp) WRITE(numout,*) '---- tke-rst ----' 
     974        IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    972975        CALL iom_rstput( kt, nitrst, numrow, 'en'   , en     ) 
    973976        CALL iom_rstput( kt, nitrst, numrow, 'avt'  , avt_k  ) 
     
    976979        CALL iom_rstput( kt, nitrst, numrow, 'avmv' , avmv_k ) 
    977980        CALL iom_rstput( kt, nitrst, numrow, 'dissl', dissl  ) 
     981        IF(nn_timing == 2)  CALL timing_stop('iom_rstput') 
    978982        ! 
    979983     ENDIF 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/OPA_SRC/ZDF/zdftmx.F90

    r7179 r10296  
    3838   LOGICAL, PUBLIC, PARAMETER ::   lk_zdftmx = .TRUE.    !: tidal mixing flag 
    3939 
    40    !                       !!* Namelist  namzdf_tmx : tidal mixing * 
    41    REAL(wp) ::  rn_htmx     ! vertical decay scale for turbulence (meters) 
    42    REAL(wp) ::  rn_n2min    ! threshold of the Brunt-Vaisala frequency (s-1) 
    43    REAL(wp) ::  rn_tfe      ! tidal dissipation efficiency (St Laurent et al. 2002) 
    44    REAL(wp) ::  rn_me       ! mixing efficiency (Osborn 1980) 
    45    LOGICAL  ::  ln_tmx_itf  ! Indonesian Through Flow (ITF): Koch-Larrouy et al. (2007) parameterization 
    46    REAL(wp) ::  rn_tfe_itf  ! ITF tidal dissipation efficiency (St Laurent et al. 2002) 
    47  
    48    REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:)   ::   en_tmx     ! energy available for tidal mixing (W/m2) 
    49    REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:)  ::   mask_itf   ! mask to use over Indonesian area 
    50    REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   az_tmx     ! coefficient used to evaluate the tidal induced Kz 
     40   !                              !!* Namelist  namzdf_tmx : tidal mixing * 
     41   REAL(wp)        ::  rn_htmx     ! vertical decay scale for turbulence (meters) 
     42   REAL(wp)        ::  rn_n2min    ! threshold of the Brunt-Vaisala frequency (s-1) 
     43   REAL(wp)        ::  rn_tfe      ! tidal dissipation efficiency (St Laurent et al. 2002) 
     44   REAL(wp)        ::  rn_me       ! mixing efficiency (Osborn 1980) 
     45   LOGICAL, PUBLIC ::  ln_tmx_itf  ! Indonesian Through Flow (ITF): Koch-Larrouy et al. (2007) parameterization 
     46   REAL(wp)        ::  rn_tfe_itf  ! ITF tidal dissipation efficiency (St Laurent et al. 2002) 
     47 
     48   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:)         ::   en_tmx     ! energy available for tidal mixing (W/m2) 
     49   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:), PUBLIC ::   mask_itf   ! mask to use over Indonesian area 
     50   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:)       ::   az_tmx     ! coefficient used to evaluate the tidal induced Kz 
    5151 
    5252   !! * Substitutions 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/OPA_SRC/nemogcm.F90

    r10295 r10296  
    6161   USE asminc          ! assimilation increments      
    6262   USE asmbkg          ! writing out state trajectory 
     63   USE asmbgc          ! biogeochemical assimilation increments 
    6364   USE diaptr          ! poleward transports           (dia_ptr_init routine) 
    6465   USE diadct          ! sections transports           (dia_dct_init routine) 
     
    160161                IF( ln_dyninc ) CALL dyn_asm_inc( nit000 - 1 )    ! Dynamics 
    161162                IF( ln_sshinc ) CALL ssh_asm_inc( nit000 - 1 )    ! SSH 
     163                IF( lk_bgcinc ) CALL bgc_asm_inc( nit000 - 1 )    ! BGC 
    162164             ENDIF 
    163165          ENDIF 
     
    192194      IF( lk_diaobs   )   CALL dia_obs_wri 
    193195      ! 
     196      IF( ( lk_asminc ).AND.( ln_balwri ) ) CALL asm_bgc_bal_wri( nitend )  ! Output balancing increments 
     197      ! 
    194198      IF( ln_icebergs )   CALL icb_end( nitend ) 
    195199 
     
    208212         CALL Agrif_ParentGrid_To_ChildGrid() 
    209213         IF( lk_diaobs ) CALL dia_obs_wri 
    210          IF( nn_timing == 1 )   CALL timing_finalize 
     214         IF( nn_timing > 0 )   CALL timing_finalize 
    211215         CALL Agrif_ChildGrid_To_ParentGrid() 
    212216      ENDIF 
    213217#endif 
    214       IF( nn_timing == 1 )   CALL timing_finalize 
     218      IF( nn_timing > 0 )   CALL timing_finalize 
    215219      ! 
    216220      CALL nemo_closefile 
     
    405409      ENDIF 
    406410      ! 
    407       IF( nn_timing == 1 )  CALL timing_init 
     411      IF( nn_timing > 0 )  CALL timing_init 
    408412      ! 
    409413      !                                      ! General initialization 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/OPA_SRC/oce.F90

    r8280 r10296  
    101101      INTEGER :: ierr(5) 
    102102      !!---------------------------------------------------------------------- 
     103      ierr(:) = 0 
    103104      ! 
    104105      ALLOCATE( ub   (jpi,jpj,jpk)      , un   (jpi,jpj,jpk)      , ua(jpi,jpj,jpk)       ,     & 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/OPA_SRC/step.F90

    r9288 r10296  
    253253      ! Passive Tracer Model 
    254254      !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 
     255      IF( lk_asminc .AND. ln_asmiau .AND. lk_bgcinc ) & 
     256         &               CALL bgc_asm_inc( kstp )     ! biogeochemistry assimilation 
    255257                         CALL trc_stp( kstp )         ! time-stepping 
    256258#endif 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/OPA_SRC/stpctl.F90

    r6487 r10296  
    5858      INTEGER  ::   ii, ij, ik              ! temporary integers 
    5959      REAL(wp) ::   zumax, zsmin, zssh2     ! temporary scalars 
     60      REAL(wp) ::   ztmax, ztmin            ! Scalar to get temperature extreme 
     61                                            ! values and warn if they're out of Range 
    6062      INTEGER, DIMENSION(3) ::   ilocu      !  
    6163      INTEGER, DIMENSION(2) ::   ilocs      !  
     
    1481509500  FORMAT (' kt=',i6,' min SSS: ',1pg11.4,', i j: ',2i5) 
    149151 
     152! ==================================================================================================== 
     153! ==================================================================================================== 
     154      !                                              !AXY (25/10/17) 
     155      !                                              !* Test max/min limits of temperature 
     156      !                                              !  ---------------------------------- 
     157      ztmax =  -5.e0  ! arbitrary  low maximum value 
     158      ztmin = 100.e0  ! arbitrary high minimum value 
     159      DO jj = 2, jpjm1 
     160         DO ji = 2, jpim1 
     161            IF( tmask(ji,jj,1) == 1) THEN 
     162               ztmax = MAX(ztmax,tsn(ji,jj,1,jp_tem))     ! find local maximum 
     163               ztmin = MIN(ztmin,tsn(ji,jj,1,jp_tem))     ! find local minimum 
     164            ENDIF 
     165         END DO 
     166      END DO 
     167      IF( lk_mpp )   CALL mpp_max( ztmax )                ! max over the global domain 
     168      IF( lk_mpp )   CALL mpp_min( ztmin )                ! min over the global domain 
     169      ! 
     170      IF( ztmax > 40.) THEN  ! we've got a problem 
     171         IF (lk_mpp) THEN 
     172            CALL mpp_maxloc ( tsn(:,:,1,jp_tem),tmask(:,:,1), ztmax, ii,ij ) 
     173         ELSE 
     174            ilocs = MAXLOC( tsn(:,:,1,jp_tem), mask = tmask(:,:,1) == 1.e0 ) 
     175            ii = ilocs(1) + nimpp - 1 
     176            ij = ilocs(2) + njmpp - 1 
     177         ENDIF 
     178         ! 
     179         IF(lwp) THEN 
     180            WRITE(numout,*) 'stp_ctl:tracer anomaly: *****    WARNING     *****' 
     181            WRITE(numout,*) 'stp_ctl:tracer anomaly: sea surface temperature > 40C' 
     182            WRITE(numout,9600) kt, ztmax, ii, ij 
     183            WRITE(numout,*) 'stp_ctl:tracer anomaly: ***** END OF WARNING *****' 
     184         ENDIF 
     185      ENDIF 
     186      ! 
     187      IF( ztmin < -10.) THEN  ! we've got a problem 
     188         IF (lk_mpp) THEN 
     189            CALL mpp_minloc ( tsn(:,:,1,jp_tem),tmask(:,:,1), ztmin, ii,ij ) 
     190         ELSE 
     191            ilocs = MINLOC( tsn(:,:,1,jp_tem), mask = tmask(:,:,1) == 1.e0 ) 
     192            ii = ilocs(1) + nimpp - 1 
     193            ij = ilocs(2) + njmpp - 1 
     194         ENDIF 
     195         ! 
     196         IF(lwp) THEN 
     197            WRITE(numout,*) 'stp_ctl:tracer anomaly: *****    WARNING     *****' 
     198            WRITE(numout,*) 'stp_ctl:tracer anomaly: sea surface temperature < -10C' 
     199            WRITE(numout,9700) kt, ztmin, ii, ij 
     200            WRITE(numout,*) 'stp_ctl:tracer anomaly: ***** END OF WARNING *****' 
     201         ENDIF 
     202      ENDIF 
     2039600  FORMAT ('stp_ctl:tracer anomaly: kt=',i6,' max SST: ',f16.10,', i j: ',2i5) 
     2049700  FORMAT ('stp_ctl:tracer anomaly: kt=',i6,' min SST: ',f16.10,', i j: ',2i5) 
     205! ==================================================================================================== 
     206! ==================================================================================================== 
    150207       
    151208      IF( lk_c1d )  RETURN          ! No log file in case of 1D vertical configuration 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/TOP_SRC/C14b/trcsms_c14b.F90

    r6486 r10296  
    330330CONTAINS 
    331331   SUBROUTINE trc_sms_c14b( kt )       ! Empty routine 
     332      IMPLICIT NONE 
     333      INTEGER, INTENT(in) ::   kt    ! ocean time-step index 
    332334      WRITE(*,*) 'trc_freons: You should not have seen this print! error?', kt 
    333335   END SUBROUTINE trc_sms_c14b 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/TOP_SRC/CFC/trcini_cfc.F90

    r8280 r10296  
    4444      !! ** Method  : - Read the namcfc namelist and check the parameter values 
    4545      !!---------------------------------------------------------------------- 
    46       INTEGER  ::  ji, jj, jn, jl, jm, js, io, ierr 
     46      INTEGER  ::  ji, jj, jn, jl, jm, js, io, iostatus, ierr 
    4747      INTEGER  ::  iskip = 7   ! number of 1st descriptor lines 
    4848      REAL(wp) ::  zyy, zyd 
     
    5757       
    5858      CALL ctl_opn( inum, clname, 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. ) 
    59       REWIND(inum) 
    6059       
    6160      ! compute the number of year in the file 
    6261      ! file starts in 1931 do jn represent the year in the century 
     62      iostatus = 0 
    6363      jn = 31  
    64       DO  
    65         READ(inum,'(1x)',END=100)  
     64      DO WHILE ( iostatus == 0 ) 
     65        READ(inum,'(1x)', IOSTAT=iostatus, END=100) 
    6666        jn = jn + 1 
    67       END DO 
     67      ENDDO 
     68      IF( iostatus .NE. 0 ) THEN 
     69        !! Error while reading CFC input file  
     70        CALL ctl_stop('trc_ini_cfc:  & 
     71                      & Error on the 1st reading of cfc1112sf6.atm') 
     72        RETURN 
     73      ENDIF 
    6874 100  jpyear = jn - 1 - iskip 
    6975      IF ( lwp) WRITE(numout,*) '    ', jpyear ,' years read' 
     
    7278      ALLOCATE( p_cfc(jpyear,jphem,3), STAT=ierr ) 
    7379      IF( ierr > 0 ) THEN 
    74          CALL ctl_stop( 'trc_ini_cfc: unable to allocate p_cfc array' )   ;   RETURN 
     80         CALL ctl_stop( 'trc_ini_cfc: unable to allocate p_cfc array' )    
     81         RETURN 
    7582      ENDIF 
    7683      IF( trc_sms_cfc_alloc() /= 0 )   CALL ctl_stop( 'STOP', 'trc_ini_cfc: unable to allocate CFC arrays' ) 
     
    101108      ! file starts in 1931 do jn represent the year in the century.jhh 
    102109      ! Read file till the end 
    103       jn = 31 
    104       DO  
     110      DO jn = 31, jpyear  
     111        !!READ(inum, '(F6.1,6F7.2)', IOSTAT=io) zyy, p_cfc(jn,1,1), p_cfc(jn,1,2), & 
    105112        READ(inum,*, IOSTAT=io) zyy, p_cfc(jn,1,1), p_cfc(jn,1,2), & 
    106113             & p_cfc(jn,1,3), p_cfc(jn,2,1),  & 
    107114             & p_cfc(jn,2,2), p_cfc(jn,2,3) 
    108         IF( io < 0 ) exit 
    109         jn = jn + 1 
     115        IF( io .NE.0 )  THEN 
     116          !! Error while reading CFC input file  
     117          CALL ctl_stop('trc_ini_cfc:   & 
     118                        & Error on the 2nd reading of cfc1112sf6.atm') 
     119          RETURN 
     120        ENDIF 
    110121      END DO 
    111122 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/TOP_SRC/CFC/trcsms_cfc.F90

    r8442 r10296  
    2424   USE trdtrc 
    2525   USE iom           ! I/O library 
     26   USE wrk_nemo 
    2627 
    2728   IMPLICIT NONE 
     
    5455   REAL(wp) ::   xconv3 = 1.0e+3       ! conversion from mol/l/atm to mol/m3/atm 
    5556   REAL(wp) ::   xconv4 = 1.0e-12      ! conversion from mol/m3/atm to mol/m3/pptv  
     57 
     58   !! trend temporary array: 
     59   REAL(wp), POINTER, DIMENSION(:,:,:) :: ztrcfc 
    5660 
    5761   !! * Substitutions 
     
    265269      ! 
    266270      IF( l_trdtrc ) THEN 
     271          CALL wrk_alloc( jpi, jpj, jpk, ztrcfc ) 
    267272          DO jn = jp_cfc0, jp_cfc1 
    268             CALL trd_trc( tra(:,:,:,jn), jn, jptra_sms, kt )   ! save trends 
     273             ztrcfc(:,:,:) = tra(:,:,:,jn) 
     274            CALL trd_trc( ztrcfc, jn, jptra_sms, kt )   ! save trends 
    269275          END DO 
     276          CALL wrk_dealloc( jpi, jpj, jpk, ztrcfc ) 
    270277      END IF 
    271278      ! 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/TOP_SRC/MEDUSA/air_sea.F90

    r8442 r10296  
    66   !! History : 
    77   !!   -   ! 2017-04 (M. Stringer)        Code taken from trcbio_medusa.F90 
     8   !!   -   ! 2017-08 (A. Yool)            Add air-sea flux kill switch 
    89   !!---------------------------------------------------------------------- 
    910#if defined key_medusa 
     
    6162# endif 
    6263                                   zchd, zchn, zdin, zsil 
    63       USE dom_oce,           ONLY: e3t_0, e3t_n, gphit, tmask 
    64 # if defined key_iomput 
     64      USE dom_oce,           ONLY: e3t_0, gphit, tmask, mig, mjg 
     65# if defined key_vvl 
     66      USE dom_oce,           ONLY: e3t_n 
     67# endif 
    6568      USE iom,               ONLY: lk_iomput 
    66 # endif 
    6769      USE in_out_manager,    ONLY: lwp, numout 
    68       USE oce,               ONLY: PCO2a_in_cpl 
    6970      USE par_kind,          ONLY: wp 
    7071      USE par_oce,           ONLY: jpi, jpim1, jpj, jpjm1 
    71       USE sbc_oce,           ONLY: fr_i, lk_oasis, qsr, wndm 
     72      USE sbc_oce,           ONLY: fr_i, qsr, wndm 
    7273      USE sms_medusa,        ONLY: jdms, jdms_input, jdms_model,          & 
    7374                                   jriver_alk, jriver_c,                  & 
    7475                                   jriver_n, jriver_si,                   & 
     76                                   ln_foam_medusa,                        & 
    7577                                   riv_alk, riv_c, riv_n, riv_si,         & 
    7678                                   zn_dms_chd, zn_dms_chn, zn_dms_din,    & 
    7779                                   zn_dms_mld, zn_dms_qsr,                & 
     80                                   f2_pco2w, f2_fco2w,                    & 
    7881                                   xnln, xnld  
    7982      USE trc,               ONLY: med_diag 
     
    8689#  else 
    8790      USE trcco2_medusa,     ONLY: trc_co2_medusa 
     91      USE mocsy_mainmod,     ONLY: p2fCO2 
    8892#  endif 
    8993      USE trcdms_medusa,     ONLY: trc_dms_medusa 
    9094      USE trcoxy_medusa,     ONLY: trc_oxy_medusa 
    9195# endif 
     96      USE lib_mpp,           ONLY: ctl_stop 
     97      USE trcstat,           ONLY: trc_rst_dia_stat  
    9298 
    9399   !!* Substitution 
     
    121127 
    122128# if defined key_roam 
     129      !! init 
     130      f_fco2w(:,:)       = 0.0 
     131      f_fco2atm(:,:)     = 0.0 
     132      f_schmidtco2(:,:)  = 0.0 
     133      f_kwco2(:,:)       = 0.0 
     134      f_co2starair(:,:)  = 0.0 
     135      f_dpco2(:,:)       = 0.0 
     136      f_rhosw(:,:)       = 0.0 
     137      f_K0(:,:)          = 0.0 
     138      !! air pressure (atm); ultimately this will use air  
     139      !! pressure at the base of the UKESM1 atmosphere  
     140      !!                                      
     141      f_pp0(:,:)   = 1.0 
     142 
     143 
    123144      !!----------------------------------------------------------- 
    124145      !! Air-sea gas exchange 
     
    133154         DO ji = 2,jpim1 
    134155            !! OPEN wet point IF..THEN loop 
    135             if (tmask(ji,jj,1) == 1) then 
    136                IF (lk_oasis) THEN 
    137                   !! use 2D atm xCO2 from atm coupling 
    138                   f_xco2a(ji,jj) = PCO2a_in_cpl(ji,jj) 
    139                ENDIF 
     156            IF (tmask(ji,jj,1) == 1) then 
    140157               !! 
    141158               !! AXY (23/06/15): as part of an effort to update the  
     
    161178               'air-sea: carb-chem kt = ', kt 
    162179               CALL flush(numout) 
     180               !! JPALM add carb print: 
     181               call trc_rst_dia_stat(f_xco2a(:,:), 'f_xco2a') 
     182               call trc_rst_dia_stat(wndm(:,:), 'wndm') 
     183               call trc_rst_dia_stat(f_kw660(:,:), 'f_kw660') 
     184               call trc_rst_dia_stat(ztmp(:,:), 'ztmp') 
     185               call trc_rst_dia_stat(zsal(:,:), 'zsal') 
     186               call trc_rst_dia_stat(zalk(:,:), 'zalk') 
     187               call trc_rst_dia_stat(zdic(:,:), 'zdic') 
     188               call trc_rst_dia_stat(zsil(:,:), 'zsil') 
     189               call trc_rst_dia_stat(zpho(:,:), 'zpho') 
    163190#   endif 
     191#  if defined key_axy_carbchem 
     192#   if defined key_mocsy 
    164193      DO jj = 2,jpjm1 
    165194         DO ji = 2,jpim1 
    166195            if (tmask(ji,jj,1) == 1) then 
    167                !! air pressure (atm); ultimately this will use air  
    168                !! pressure at the base of the UKESM1 atmosphere  
    169                !!                                      
    170                f_pp0(ji,jj)   = 1.0 
    171                !! 
    172                !! IF(lwp) WRITE(numout,*) ' MEDUSA ztmp    =', ztmp(ji,jj) 
    173                !! IF(lwp) WRITE(numout,*) ' MEDUSA wndm    =', wndm(ji,jj) 
    174                !! IF(lwp) WRITE(numout,*) ' MEDUSA fr_i    =', fr_i(ji,jj) 
    175                !! 
    176 #  if defined key_axy_carbchem 
    177 #   if defined key_mocsy 
     196               !! 
     197               !! Jpalm -- 12-09-2017 -- add extra check after reccurent 
     198               !!          carbonate failure in the coupled run. 
     199               !!          must be associated to air-sea flux or air xCO2... 
     200               !!          Check MOCSY inputs 
     201               IF ( (zsal(ji,jj) > 75.0 ).OR.(zsal(ji,jj) < 0.0 ) .OR.        & 
     202                    (ztmp(ji,jj) > 50.0 ).OR.(ztmp(ji,jj) < -20.0 ) .OR.      & 
     203                    (zalk(ji,jj) > 35.0E2 ).OR.(zalk(ji,jj) <= 0.0 ) .OR.     & 
     204                    (zdic(ji,jj) > 35.0E2 ).OR.(zdic(ji,jj) <= 0.0 ) .OR.     & 
     205                    (f_kw660(ji,jj) > 1.0E-2 ).OR.(f_kw660(ji,jj) < 0.0 ) ) THEN 
     206                  IF(lwp) THEN  
     207                      WRITE(numout,*) ' surface T = ',ztmp(ji,jj) 
     208                      WRITE(numout,*) ' surface S = ',zsal(ji,jj) 
     209                      WRITE(numout,*) ' surface ALK = ',zalk(ji,jj) 
     210                      WRITE(numout,*) ' surface DIC = ',zdic(ji,jj) 
     211                      WRITE(numout,*) ' KW660 = ',f_kw660(ji,jj) 
     212                      WRITE(numout,*) ' atm xCO2 = ',f_xco2a(ji,jj)    
     213                      WRITE(numout,*) ' surface pco2w  = ',f_pco2w(ji,jj) 
     214                      WRITE(numout,*) ' surface fco2w  = ',f_fco2w(ji,jj) 
     215                      WRITE(numout,*) ' surface fco2a  = ',f_fco2atm(ji,jj) 
     216                      WRITE(numout,*) ' surface co2flx = ',f_co2flux(ji,jj) 
     217                      WRITE(numout,*) ' surface dpco2  = ',f_dpco2(ji,jj) 
     218                      WRITE(numout,*) ' MOCSY input: ji =', mig(ji),' jj = ', mjg(jj),  & 
     219                                       ' kt = ', kt  
     220                      WRITE(numout,*) 'MEDUSA - Air-Sea INPUT: unrealistic surface Carb. Chemistry' 
     221                  ENDIF      
     222                  CALL ctl_stop( 'MEDUSA - Air-Sea INPUT: ',             & 
     223                                 'unrealistic surface Carb. Chemistry -- INPUTS' ) 
     224               ENDIF      
    178225               !! 
    179226               !! AXY (22/06/15): use Orr & Epitalon (2015) MOCSY-2 carbonate 
     
    200247               f_TALK(ji,jj) = (zalk(ji,jj) / f_rhosw(ji,jj)) * 1000. 
    201248               f_dcf(ji,jj)  = f_rhosw(ji,jj) 
     249               !! Jpalm -- 12-09-2017 -- add extra check after reccurent 
     250               !!          carbonate failure in the coupled run. 
     251               !!          must be associated to air-sea flux or air xCO2... 
     252               !!          Check MOCSY outputs 
     253               !!=================== 
     254               !! Jpalm -- 19-02-2018 -- remove the cap - only check MOCSY inputs 
     255               !!       because of specific area in arabic sea where strangely 
     256               !!       with core 2 forcing, ALK is lower than DIC and result in  
     257               !!       Enormous dpco2 - even if all carb chem caract are OK. 
     258               !!       and this check stops the model. 
     259               !!       --Input checks are already more than enough to stop the 
     260               !!       model if carb chem goes crazy.  
     261               !!       we remove the mocsy output checks 
     262               !!=================== 
     263               !!IF ( (f_pco2w(ji,jj) > 1.E4 ).OR.(f_pco2w(ji,jj) < 0.0 ) .OR.     & 
     264               !!    (f_fco2w(ji,jj) > 1.E4 ).OR.(f_fco2w(ji,jj) < 0.0 ) .OR.     &    
     265               !!    (f_fco2atm(ji,jj) > 1.E4 ).OR.(f_fco2atm(ji,jj) < 0.0 ) .OR.     & 
     266               !!    (f_co2flux(ji,jj) > 1.E-1 ).OR.(f_co2flux(ji,jj) < -1.E-1 ) .OR.     & 
     267               !!    (f_dpco2(ji,jj) > 1.E4 ).OR.(f_dpco2(ji,jj) < -1.E4 ) ) THEN 
     268               !!  IF(lwp) THEN  
     269               !!      WRITE(numout,*) ' surface T = ',ztmp(ji,jj) 
     270               !!      WRITE(numout,*) ' surface S = ',zsal(ji,jj) 
     271               !!      WRITE(numout,*) ' surface ALK = ',zalk(ji,jj) 
     272               !!      WRITE(numout,*) ' surface DIC = ',zdic(ji,jj) 
     273               !!      WRITE(numout,*) ' KW660 = ',f_kw660(ji,jj) 
     274               !!      WRITE(numout,*) ' atm xCO2 = ',f_xco2a(ji,jj)    
     275               !!      WRITE(numout,*) ' surface pco2w  = ',f_pco2w(ji,jj) 
     276               !!      WRITE(numout,*) ' surface fco2w  = ',f_fco2w(ji,jj) 
     277               !!      WRITE(numout,*) ' surface fco2a  = ',f_fco2atm(ji,jj) 
     278               !!      WRITE(numout,*) ' surface co2flx = ',f_co2flux(ji,jj) 
     279               !!      WRITE(numout,*) ' surface dpco2  = ',f_dpco2(ji,jj) 
     280               !!      WRITE(numout,*) ' MOCSY output: ji =', mig(ji),' jj = ', mjg(jj),  & 
     281               !!                        ' kt = ', kt      
     282               !!      WRITE(numout,*) 'MEDUSA - Air-Sea OUTPUT: unrealistic surface Carb. Chemistry' 
     283               !!  ENDIF      
     284               !!  CALL ctl_stop( 'MEDUSA - Air-Sea OUTPUT: ',            & 
     285               !!                 'unrealistic surface Carb. Chemistry -- OUTPUTS' ) 
     286               !!ENDIF      
    202287            ENDIF 
    203288         ENDDO 
    204289      ENDDO 
    205290 
     291#   if defined key_debug_medusa 
     292               !! JPALM add carb print: 
     293               call trc_rst_dia_stat(f_pco2w(:,:), 'f_pco2w') 
     294               call trc_rst_dia_stat(f_fco2w(:,:), 'f_fco2w') 
     295               call trc_rst_dia_stat(f_fco2atm(:,:), 'f_fco2atm') 
     296               call trc_rst_dia_stat(f_schmidtco2(:,:), 'f_schmidtco2') 
     297               call trc_rst_dia_stat(f_kwco2(:,:), 'f_kwco2') 
     298               call trc_rst_dia_stat(f_co2starair(:,:), 'f_co2starair') 
     299               call trc_rst_dia_stat(f_co2flux(:,:), 'f_co2flux') 
     300               call trc_rst_dia_stat(f_dpco2(:,:), 'f_dpco2') 
     301#   endif 
    206302#   else    
    207303 
     
    234330                     iters, ' AT (', ji, ', ', jj, ', 1) AT ', kt 
    235331               endif 
     332               IF ( ln_foam_medusa ) THEN 
     333                  !! DAF (Aug 2017): calculate fCO2 for observation operator 
     334                  CALL p2fCO2( f_pco2w, ztmp, f_pp0, 0.0, 1, f_fco2w ) 
     335               ENDIF 
    236336            ENDIF 
    237337         ENDDO 
     
    277377         ENDDO 
    278378      ENDDO 
     379#  endif 
     380 
     381#  if defined key_axy_killco2flux 
     382      !! AXY (18/08/17): single kill switch on air-sea CO2 flux for budget checking 
     383      f_co2flux(:,:) = 0. 
    279384#  endif 
    280385 
     
    408513                              CO2flux_conv 
    409514               !! ENDIF 
     515               IF ( ln_foam_medusa ) THEN 
     516                  !! DAF (Aug 2017): Save pCO2 and fCO2 for observation operator 
     517                  f2_pco2w(ji,jj) = f_pco2w(ji,jj) 
     518                  f2_fco2w(ji,jj) = f_pco2w(ji,jj) 
     519               ENDIF 
    410520               IF ( lk_iomput ) THEN 
    411521                  IF( med_diag%ATM_PCO2%dgsave ) THEN 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/TOP_SRC/MEDUSA/bio_med_diag_iomput.F90

    r8442 r10296  
    3131      !!------------------------------------------------------------------- 
    3232      USE bio_medusa_mod 
    33       USE dom_oce,           ONLY: e3t_0, e3t_n, mbathy, tmask 
     33      USE dom_oce,           ONLY: e3t_0, mbathy, tmask 
     34# if defined key_vvl 
     35      USE dom_oce,           ONLY: e3t_n 
     36# endif 
    3437      USE in_out_manager,    ONLY: lwp, numout 
    3538      USE par_oce,           ONLY: jpim1, jpjm1 
     
    718721CONTAINS 
    719722   SUBROUTINE bio_med_diag_iomput( )                    ! Empty routine 
     723      IMPLICIT NONE 
    720724      WRITE(*,*) 'bio_med_diag_iomput: You should not have seen this print! error?' 
    721725   END SUBROUTINE bio_med_diag_iomput 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/TOP_SRC/MEDUSA/bio_medusa_diag.F90

    r8442 r10296  
    3232      USE bio_med_diag_iomput_mod,  ONLY: bio_med_diag_iomput 
    3333      USE bio_medusa_mod 
    34       USE dom_oce,                  ONLY: e3t_0, e3t_n,                  & 
    35                                           gdepw_0, gdepw_n, tmask 
     34      USE dom_oce,                  ONLY: e3t_0, gdepw_0, tmask 
     35# if defined key_vvl 
     36      USE dom_oce,                  ONLY: e3t_n, gdepw_n 
     37# endif 
    3638      USE in_out_manager,           ONLY: lwp, numout 
    37 # if defined key_iomput 
    3839      USE iom,                      ONLY: lk_iomput 
    39 # endif 
    4040      USE par_oce,                  ONLY: jpim1, jpjm1 
    4141      USE sms_medusa,               ONLY: xrfn, xthetapd, xthetapn,      & 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/TOP_SRC/MEDUSA/bio_medusa_diag_slice.F90

    r8442 r10296  
    3535      USE dom_oce,           ONLY: tmask 
    3636      USE in_out_manager,    ONLY: lwp, numout 
    37 # if defined key_iomput 
    3837      USE iom,               ONLY: iom_put 
    39 # endif 
    4038      USE lbclnk,            ONLY: lbc_lnk 
    41       USE trc,               ONLY: trn 
    42       USE oce,               ONLY: CO2Flux_out_cpl, DMS_out_cpl, chloro_out_cpl 
     39      USE oce,               ONLY: CO2Flux_out_cpl, DMS_out_cpl 
    4340      USE par_oce,           ONLY: jpi, jpj 
    4441      USE sbc_oce,           ONLY: lk_oasis, qsr, wndm 
     
    4845                                   jdms, ocal_ccd, xpar, xze,              & 
    4946                                   zb_co2_flx, zb_dms_srf,                 & 
    50                                    zn_co2_flx, zn_dms_srf, zn_chl_srf 
     47                                   zn_co2_flx, zn_dms_srf 
    5148      USE trc,               ONLY: med_diag 
    5249 
     
    6663      !! 
    6764      IF (jk.eq.1) THEN 
    68          !! JPALM -- 02-06-2017 -- 
    69          !! add Chl surf coupling 
    70          !! no need to output, just pass to cpl var 
    71          IF (lk_oasis) THEN 
    72             zn_chl_srf(:,:) = (trn(:,:,1,jpchd) + trn(:,:,1,jpchn)) * 1.0E-6  !! surf Chl in Kg-chl/m3 as needed for cpl 
    73             chloro_out_cpl(:,:) = zn_chl_srf(:,:)        !! Coupling Chl 
    74          END IF 
    7565         IF( med_diag%MED_QSR%dgsave ) THEN 
    7666            CALL iom_put( "MED_QSR"  , qsr ) ! 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/TOP_SRC/MEDUSA/bio_medusa_fin.F90

    r8442 r10296  
    66   !! History : 
    77   !!   -   ! 2017-04 (M. Stringer)        Code taken from trcbio_medusa.F90 
     8   !!   -   ! 2017-08 (A. Yool)            Amend bethic reservoir updating 
    89   !!---------------------------------------------------------------------- 
    910#if defined key_medusa 
     
    3233      !!---------------------------------------------------------------------- 
    3334      USE bio_medusa_mod 
    34       USE dom_oce,           ONLY: atfp, atfp1, neuler, rdt, e3t_n, tmask 
     35      USE dom_oce,           ONLY: atfp, atfp1, neuler, rdt, tmask 
    3536      USE in_out_manager,    ONLY: lwp, numout 
    36 # if defined key_iomput 
    37       USE iom,               ONLY: iom_put, lk_iomput 
    38 # endif 
     37      USE iom,               ONLY: iom_put 
    3938      USE lbclnk,            ONLY: lbc_lnk 
     39      USE oce,               ONLY: chloro_out_cpl  
    4040      USE par_medusa,        ONLY: jp_medusa_2d, jp_medusa_3d,          & 
    41                                    jp_medusa_trd 
     41                                   jp_medusa_trd, jpchd, jpchn 
    4242      USE par_oce,           ONLY: jpi, jpim1, jpj, jpjm1, jpk 
    4343      USE phycst,            ONLY: rsmall 
     44      USE sbc_oce,           ONLY: lk_oasis 
    4445      USE sms_medusa,        ONLY: jinorgben, jorgben,                  & 
    4546                                   f3_co3, f3_h2co3, f3_hco3,           & 
    4647                                   f3_omarg, f3_omcal, f3_pH,           & 
     48                                   ln_foam_medusa, mld_max, pgrow_avg,  & 
     49                                   ploss_avg, phyt_avg,                 & 
    4750                                   za_sed_c, za_sed_ca, za_sed_fe,      & 
    4851                                   za_sed_n, za_sed_si,                 & 
     
    5053                                   zb_sed_n, zb_sed_si,                 & 
    5154                                   zn_sed_c, zn_sed_ca, zn_sed_fe,      & 
    52                                    zn_sed_n, zn_sed_si 
    53       USE trc,               ONLY: med_diag, nittrc000  
     55                                   zn_sed_n, zn_sed_si, zn_chl_srf,     & 
     56                                   scl_chl, chl_out 
     57      USE trc,               ONLY: med_diag, nittrc000, trn  
    5458      USE trcnam_trp,        ONLY: ln_trcadv_cen2, ln_trcadv_tvd 
     59      USE zdfmxl,            ONLY: hmld 
    5560  
    5661      !! time (integer timestep) 
     
    6267      REAL(wp) :: fq0,fq1,fq2,fq3 
    6368 
     69# if defined key_roam                      
     70      !!---------------------------------------------------------------------- 
     71      !! AXY (09/08/17): fix benthic submodel 
    6472      !!---------------------------------------------------------------------- 
    6573      !! Process benthic in/out fluxes 
    6674      !! These can be handled outside of the 3D calculations since the 
    67       !! benthic pools (and fluxes) are 2D in nature; this code is 
    68       !! (shamelessly) borrowed from corresponding code in the LOBSTER 
    69       !! model 
     75      !! benthic pools (and fluxes) are 2D in nature; this code was 
     76      !! developed with help from George Nurser (NOC); it cannot be run 
     77      !! in a configuration with variable time-stepping with depth 
    7078      !!---------------------------------------------------------------------- 
    7179      !! 
    72       !! IF(lwp) WRITE(numout,*) 'AXY: rdt = ', rdt 
     80      !! time-step calculation 
    7381      if (jorgben.eq.1) then 
    74          za_sed_n(:,:)  = zn_sed_n(:,:)  +                                 &  
    75                           ( f_sbenin_n(:,:)  + f_fbenin_n(:,:)  -          & 
    76                             f_benout_n(:,:)  ) * (rdt / 86400.) 
     82         za_sed_n(:,:)  = zb_sed_n(:,:)  + ((2. * (rdt / 86400.)) * & 
     83                          ( f_sbenin_n(:,:)  + f_fbenin_n(:,:)  - f_benout_n(:,:)  )) 
     84         za_sed_fe(:,:) = zb_sed_fe(:,:) + ((2. * (rdt / 86400.)) * & 
     85                          ( f_sbenin_fe(:,:) + f_fbenin_fe(:,:) - f_benout_fe(:,:) )) 
     86         za_sed_c(:,:)  = zb_sed_c(:,:)  + ((2. * (rdt / 86400.)) * & 
     87                          ( f_sbenin_c(:,:)  + f_fbenin_c(:,:)  - f_benout_c(:,:)  )) 
     88      endif 
     89      if (jinorgben.eq.1) then 
     90         za_sed_si(:,:) = zb_sed_si(:,:) + ((2. * (rdt / 86400.)) * & 
     91                          ( f_fbenin_si(:,:) - f_benout_si(:,:) )) 
     92         za_sed_ca(:,:) = zb_sed_ca(:,:) + ((2. * (rdt / 86400.)) * & 
     93                          ( f_fbenin_ca(:,:) - f_benout_ca(:,:) )) 
     94      endif 
     95      !! 
     96      !! time-level calculation 
     97      if (jorgben.eq.1) then 
     98         zb_sed_n(:,:)  = zn_sed_n(:,:)  + (atfp * & 
     99                          ( za_sed_n(:,:)  - (2. * zn_sed_n(:,:))  + zb_sed_n(:,:)  )) 
    77100         zn_sed_n(:,:)  = za_sed_n(:,:) 
    78          !! 
    79          za_sed_fe(:,:) = zn_sed_fe(:,:) +                                 & 
    80                           ( f_sbenin_fe(:,:) + f_fbenin_fe(:,:) -          & 
    81                             f_benout_fe(:,:) ) * (rdt / 86400.) 
     101         zb_sed_fe(:,:) = zn_sed_fe(:,:) + (atfp * & 
     102                          ( za_sed_fe(:,:) - (2. * zn_sed_fe(:,:)) + zb_sed_fe(:,:) )) 
    82103         zn_sed_fe(:,:) = za_sed_fe(:,:) 
    83          !! 
    84          za_sed_c(:,:)  = zn_sed_c(:,:)  +                                 & 
    85                           ( f_sbenin_c(:,:)  + f_fbenin_c(:,:)  -          & 
    86                             f_benout_c(:,:)  ) * (rdt / 86400.) 
     104         zb_sed_c(:,:)  = zn_sed_c(:,:)  + (atfp * & 
     105                          ( za_sed_c(:,:)  - (2. * zn_sed_c(:,:))  + zb_sed_c(:,:)  )) 
    87106         zn_sed_c(:,:)  = za_sed_c(:,:) 
    88107      endif 
    89108      if (jinorgben.eq.1) then 
    90          za_sed_si(:,:) = zn_sed_si(:,:) +                                 &  
    91                           ( f_fbenin_si(:,:) - f_benout_si(:,:) ) *        & 
    92                           (rdt / 86400.) 
     109         zb_sed_si(:,:) = zn_sed_si(:,:) + (atfp * & 
     110                          ( za_sed_si(:,:) - (2. * zn_sed_si(:,:)) + zb_sed_si(:,:) )) 
    93111         zn_sed_si(:,:) = za_sed_si(:,:) 
    94          !! 
    95          za_sed_ca(:,:) = zn_sed_ca(:,:) +                                 & 
    96                           ( f_fbenin_ca(:,:) - f_benout_ca(:,:) ) *        & 
    97                           (rdt / 86400.) 
     112         zb_sed_ca(:,:) = zn_sed_ca(:,:) + (atfp * & 
     113                          ( za_sed_ca(:,:) - (2. * zn_sed_ca(:,:)) + zb_sed_ca(:,:) )) 
    98114         zn_sed_ca(:,:) = za_sed_ca(:,:) 
    99115      endif 
    100       !! 
    101       if (ibenthic.eq.2) then 
    102          !! The code below (in this if ... then ... endif loop) is 
    103          !! effectively commented out because it does not work as  
    104          !! anticipated; it can be deleted at a later date 
    105          if (jorgben.eq.1) then 
    106             za_sed_n(:,:)  = ( f_sbenin_n(:,:)  + f_fbenin_n(:,:)  -       & 
    107                                f_benout_n(:,:)  ) * rdt 
    108             za_sed_fe(:,:) = ( f_sbenin_fe(:,:) + f_fbenin_fe(:,:) -       & 
    109                                f_benout_fe(:,:) ) * rdt 
    110             za_sed_c(:,:)  = ( f_sbenin_c(:,:)  + f_fbenin_c(:,:)  -       & 
    111                                f_benout_c(:,:)  ) * rdt 
    112          endif 
    113          if (jinorgben.eq.1) then 
    114             za_sed_si(:,:) = ( f_fbenin_si(:,:) - f_benout_si(:,:) ) * rdt 
    115             za_sed_ca(:,:) = ( f_fbenin_ca(:,:) - f_benout_ca(:,:) ) * rdt 
    116          endif 
     116# endif       
     117 
     118      IF ( ln_foam_medusa ) THEN 
     119         !!---------------------------------------------------------------------- 
     120         !! Diagnostics required for ocean colour assimilation: 
     121         !! Mixed layer average phytoplankton growth, loss and concentration 
     122         !! Maximum mixed layer depth 
     123         !!---------------------------------------------------------------------- 
    117124         !! 
    118          !! Leap-frog scheme - only in explicit case, otherwise the  
    119          !! time stepping is already being done in trczdf 
    120          !! IF( l_trczdf_exp .AND. (ln_trcadv_cen2 .OR. ln_trcadv_tvd) ) THEN 
    121          !!    zfact = 2. * rdttra(jk) * FLOAT( ndttrc ) 
    122          !!    IF( neuler == 0 .AND. kt == nittrc000 )  zfact = rdttra(jk) *  
    123          !!                                             FLOAT(ndttrc) 
    124          !!    if (jorgben.eq.1) then 
    125          !!       za_sed_n(:,:)  = zb_sed_n(:,:)  + ( zfact * za_sed_n(:,:)  ) 
    126          !!      za_sed_fe(:,:) = zb_sed_fe(:,:) + ( zfact * za_sed_fe(:,:) ) 
    127          !!       za_sed_c(:,:)  = zb_sed_c(:,:)  + ( zfact * za_sed_c(:,:)  ) 
    128          !!    endif 
    129          !!    if (jinorgben.eq.1) then 
    130          !!       za_sed_si(:,:) = zb_sed_si(:,:) + ( zfact * za_sed_si(:,:) ) 
    131          !!       za_sed_ca(:,:) = zb_sed_ca(:,:) + ( zfact * za_sed_ca(:,:) ) 
    132          !!    endif 
    133          !! ENDIF 
    134          !!  
    135          !! Time filter and swap of arrays 
    136          IF( ln_trcadv_cen2 .OR. ln_trcadv_tvd  ) THEN ! centred or tvd scheme 
    137             IF( neuler == 0 .AND. kt == nittrc000 ) THEN 
    138                if (jorgben.eq.1) then 
    139                   zb_sed_n(:,:)  = zn_sed_n(:,:) 
    140                   zn_sed_n(:,:)  = za_sed_n(:,:) 
    141                   za_sed_n(:,:)  = 0.0 
    142                   !! 
    143                   zb_sed_fe(:,:) = zn_sed_fe(:,:) 
    144                   zn_sed_fe(:,:) = za_sed_fe(:,:) 
    145                   za_sed_fe(:,:) = 0.0 
    146                   !! 
    147                   zb_sed_c(:,:)  = zn_sed_c(:,:) 
    148                   zn_sed_c(:,:)  = za_sed_c(:,:) 
    149                   za_sed_c(:,:)  = 0.0 
    150                endif 
    151                if (jinorgben.eq.1) then 
    152                   zb_sed_si(:,:) = zn_sed_si(:,:) 
    153                   zn_sed_si(:,:) = za_sed_si(:,:) 
    154                   za_sed_si(:,:) = 0.0 
    155                   !! 
    156                   zb_sed_ca(:,:) = zn_sed_ca(:,:) 
    157                   zn_sed_ca(:,:) = za_sed_ca(:,:) 
    158                   za_sed_ca(:,:) = 0.0 
    159                endif 
    160             ELSE 
    161                if (jorgben.eq.1) then 
    162                   zb_sed_n(:,:)  = (atfp  *                                 & 
    163                                     ( zb_sed_n(:,:)  + za_sed_n(:,:)  )) +  & 
    164                                       (atfp1 * zn_sed_n(:,:) ) 
    165                   zn_sed_n(:,:)  = za_sed_n(:,:) 
    166                   za_sed_n(:,:)  = 0.0 
    167                   !! 
    168                   zb_sed_fe(:,:) = (atfp  *                                 & 
    169                                     ( zb_sed_fe(:,:) + za_sed_fe(:,:) )) +  & 
    170                                       (atfp1 * zn_sed_fe(:,:)) 
    171                   zn_sed_fe(:,:) = za_sed_fe(:,:) 
    172                   za_sed_fe(:,:) = 0.0 
    173                   !! 
    174                   zb_sed_c(:,:)  = (atfp  *                                 & 
    175                                     ( zb_sed_c(:,:)  + za_sed_c(:,:)  )) +  & 
    176                                       (atfp1 * zn_sed_c(:,:) ) 
    177                   zn_sed_c(:,:)  = za_sed_c(:,:) 
    178                   za_sed_c(:,:)  = 0.0 
    179                endif 
    180                if (jinorgben.eq.1) then 
    181                   zb_sed_si(:,:) = (atfp  *                                 & 
    182                                     ( zb_sed_si(:,:) + za_sed_si(:,:) )) +  & 
    183                                       (atfp1 * zn_sed_si(:,:)) 
    184                   zn_sed_si(:,:) = za_sed_si(:,:) 
    185                   za_sed_si(:,:) = 0.0 
    186                   !! 
    187                   zb_sed_ca(:,:) = (atfp  *                                 & 
    188                                     ( zb_sed_ca(:,:) + za_sed_ca(:,:) )) +  & 
    189                                       (atfp1 * zn_sed_ca(:,:)) 
    190                   zn_sed_ca(:,:) = za_sed_ca(:,:) 
    191                   za_sed_ca(:,:) = 0.0 
    192                endif 
    193             ENDIF 
    194          ELSE                   !  case of smolar scheme or muscl 
    195             if (jorgben.eq.1) then 
    196                zb_sed_n(:,:)  = za_sed_n(:,:) 
    197                zn_sed_n(:,:)  = za_sed_n(:,:) 
    198                za_sed_n(:,:)  = 0.0 
    199                !! 
    200                zb_sed_fe(:,:) = za_sed_fe(:,:) 
    201                zn_sed_fe(:,:) = za_sed_fe(:,:) 
    202                za_sed_fe(:,:) = 0.0 
    203                !! 
    204                zb_sed_c(:,:)  = za_sed_c(:,:) 
    205                zn_sed_c(:,:)  = za_sed_c(:,:) 
    206                za_sed_c(:,:)  = 0.0 
    207             endif 
    208             if (jinorgben.eq.1) then 
    209                zb_sed_si(:,:) = za_sed_si(:,:) 
    210                zn_sed_si(:,:) = za_sed_si(:,:) 
    211                za_sed_si(:,:) = 0.0 
    212                !! 
    213                zb_sed_ca(:,:) = za_sed_ca(:,:) 
    214                zn_sed_ca(:,:) = za_sed_ca(:,:) 
    215                za_sed_ca(:,:) = 0.0 
    216             endif 
    217          ENDIF 
    218       endif 
     125         DO jj = 2,jpjm1 
     126            DO ji = 2,jpim1 
     127               IF ( hmld(ji,jj) .GT. 0.0 ) THEN 
     128                  pgrow_avg(ji,jj) = pgrow_avg(ji,jj) / hmld(ji,jj) 
     129                  ploss_avg(ji,jj) = ploss_avg(ji,jj) / hmld(ji,jj) 
     130                  phyt_avg(ji,jj)  = phyt_avg(ji,jj)  / hmld(ji,jj) 
     131                  IF ( hmld(ji,jj) .GT. mld_max(ji,jj) ) THEN 
     132                     mld_max(ji,jj) = hmld(ji,jj) 
     133                  ENDIF 
     134               ENDIF 
     135            END DO 
     136         END DO 
     137      ENDIF 
    219138 
    220139#  if defined key_debug_medusa 
     
    253172                  fq1 = f_sbenin_n(ji,jj) + f_fbenin_n(ji,jj) 
    254173                  fq2 = fq0 + fq1 
    255                   IF (lwp) write (numout,'(a,2i3,a,3f15.10)')               & 
    256                      'AXY N   cons: (i,j)=',ji,jj,', (flx,ben,err)=',      & 
    257                      fq0,fq1,fq2 
     174                  fq3 = f_benout_n(ji,jj) 
     175                  if (lwp) write (numout,'a,2i3,a,4f15,5)')                   & 
     176                     'AXY N   cons: (i,j)=',ji,jj,', (flx,ben,err,out)=',      & 
     177                     fq0,fq1,fq2,fq3 
    258178               ENDIF 
    259179            ENDDO 
     
    266186                  fq1 = f_fbenin_si(ji,jj) 
    267187                  fq2 = fq0 + fq1 
    268                   IF (lwp) write (numout,'(a,2i3,a,3f15.10)')               & 
    269                      'AXY Si  cons: (i,j)=',ji,jj,', (flx,ben,err)=',     & 
    270                      fq0,fq1,fq2 
     188                  fq3 = f_benout_si(ji,jj) 
     189                  if (lwp) write (numout,'a,2i3,a,4f15,5)')                   & 
     190                     'AXY Si  cons: (i,j)=',ji,jj,', (flx,ben,err,out)=',     & 
     191                     fq0,fq1,fq2,fq3 
    271192               ENDIF 
    272193            ENDDO 
     
    278199                  fq0 = fflx_c(ji,jj) 
    279200                  fq1 = f_sbenin_c(ji,jj) + f_fbenin_c(ji,jj) + f_fbenin_ca(ji,jj) 
    280                   fq2 = f_co2flux(ji,jj) * e3t_n(ji,jj,1) 
     201                  fq2 = f_co2flux(ji,jj) * fse3t(ji,jj,1) 
    281202                  fq3 = fq0 + fq1 
    282                   IF (lwp) write (numout,'(a,2i3,a,4f15.10)')               & 
    283                     'AXY C   cons: (i,j)=',ji,jj,', (flx,ben,asf,err)=',  & 
    284                     fq0,fq1,fq2,fq3 
    285                ENDIF 
    286             ENDDO 
    287          ENDDO    
    288          !! alkalinity 
    289          DO jj = 2,jpjm1 
    290             DO ji = 2,jpim1 
    291                if (tmask(ji,jj,1) == 1) then 
    292                   fq0 = fflx_a(ji,jj) 
    293                   fq1 = 2.0 * f_fbenin_ca(ji,jj) 
    294                   fq2 = fq0 + fq1 
    295                   IF (lwp) write (numout,'(a,2i3,a,3f15.10)')               & 
    296                      'AXY alk cons: (i,j)=',ji,jj,', (flx,ben,err)=',     & 
    297                      fq0,fq1,fq2 
     203                  fq4 = f_benout_c(ji,jj) + f_benout_ca(ji,jj) 
     204                  if (lwp) write (numout,'a,2i3,a,5f15,5)')                   & 
     205                     'AXY C   cons: (i,j)=',ji,jj,', (flx,ben,asf,err,out)=', & 
     206                     fq0,fq1,fq2,fq3,fq4 
     207                ENDIF 
     208             ENDDO 
     209          ENDDO    
     210          !! alkalinity 
     211          DO jj = 2,jpjm1 
     212             DO ji = 2,jpim1 
     213                if (tmask(ji,jj,1) == 1) then 
     214                   fq0 = fflx_a(ji,jj) 
     215                   fq1 = 2.0 * f_fbenin_ca(ji,jj) 
     216                   fq2 = fq0 + fq1 
     217                   fq3 = 2.0 * f_benout_ca(ji,jj) 
     218                   if (lwp) write (numout,'a,2i3,a,4f15,5)')                   & 
     219                      'AXY alk cons: (i,j)=',ji,jj,', (flx,ben,err,out)=',     & 
     220                      fq0,fq1,fq2,fq3 
    298221               ENDIF 
    299222            ENDDO 
     
    333256            ENDDO 
    334257         ENDDO 
     258 
     259         !!!--------------------------------------------------------------- 
     260         !! Calculates Chl diag for UM coupling  
     261         !!!--------------------------------------------------------------- 
     262         !! JPALM -- 02-06-2017 -- 
     263         !! add Chl surf coupling 
     264         !! no need to output, just pass to cpl var 
     265         IF (lk_oasis) THEN 
     266            IF (chl_out.eq.1) THEN 
     267               !! export and scale surface chl 
     268               zn_chl_srf(:,:) = MAX( 0.0, (trn(:,:,1,jpchd) + trn(:,:,1,jpchn)) * 1.0E-6 ) 
     269                                 !! surf Chl in Kg-chl/m3 as needed for cpl 
     270            ELSEIF (chl_out.eq.2) THEN 
     271               !! export and scale mld chl 
     272               zn_chl_srf(:,:) = MAX( 0.0, fchl_ml(:,:) * 1.0E-6 ) 
     273                                 !! mld Chl in Kg-chl/m3 as needed for cpl 
     274            ENDIF 
     275            chloro_out_cpl(:,:) = zn_chl_srf(:,:) * scl_chl        !! Coupling Chl 
     276         END IF 
     277 
    335278         !!---------------------------------------------------------------- 
    336279         !! Add in XML diagnostics stuff 
     
    360303            CALL iom_put( "OCAL_LVL"  , fccd ) 
    361304         ENDIF 
     305         IF ( med_diag%CHL_MLD%dgsave ) THEN 
     306            CALL iom_put( "CHL_MLD"  , fchl_ml ) 
     307         ENDIF 
     308         IF (lk_oasis) THEN 
     309            IF ( med_diag%CHL_CPL%dgsave ) THEN 
     310               CALL iom_put( "CHL_CPL"  , chloro_out_cpl ) 
     311            ENDIF 
     312         ENDIF 
    362313         IF ( med_diag%PN_JLIM%dgsave ) THEN 
    363314            CALL iom_put( "PN_JLIM"  , fjln2d ) 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/TOP_SRC/MEDUSA/bio_medusa_init.F90

    r8442 r10296  
    66   !! History : 
    77   !!   -   ! 2017-04 (M. Stringer)        Code taken from trcbio_medusa.F90 
     8   !!   -   ! 2017-08 (A. Yool)            Add slow-sinking detrius variables 
    89   !!---------------------------------------------------------------------- 
    910#if defined key_medusa 
     
    3435      USE bio_medusa_mod 
    3536      USE par_oce,           ONLY: jpi, jpj, jpk 
    36       USE sms_medusa,        ONLY: jdms 
     37      USE sms_medusa,        ONLY: jdms, pgrow_avg, ploss_avg, phyt_avg, mld_max 
    3738      USE trc,               ONLY: ln_diatrc, med_diag, nittrc000  
    38       USE in_out_manager,    ONLY: lwp 
    39  
    40 # if defined key_iomput 
    41       USE iom,               ONLY: lk_iomput, numout 
     39      USE in_out_manager,    ONLY: lwp, numout 
     40 
     41      USE iom,               ONLY: lk_iomput 
    4242      USE trcnam_medusa,     ONLY: trc_nam_iom_medusa 
    43 # endif 
    4443 
    4544      !! time (integer timestep) 
     
    161160      fprn_ml(:,:) = 0.0        !! mixed layer PP diagnostics 
    162161      fprd_ml(:,:) = 0.0        !! mixed layer PP diagnostics 
     162      !! AXY (16/08/17) 
     163      fchl_ml(:,:) = 0.0   !! mixed layer chlorophyll diagnostics 
    163164      !!  
    164165      fslownflux(:,:) = 0.0  
    165166      fslowcflux(:,:) = 0.0  
     167      !! 
     168      !! JPALM -- 21-09-2017 -- needed to debug air-sea carb 
     169      f_xco2a(:,:)  = 0.0 
     170      f_pco2w(:,:)  = 0.0 
     171      f_ph(:,:)     = 0.0 
     172      f_kw660(:,:)  = 0.0 
     173      ztmp(:,:)  = 0.0 
     174      zsal(:,:)  = 0.0 
     175      zalk(:,:)  = 0.0 
     176      zdic(:,:)  = 0.0 
     177      zsil(:,:)  = 0.0 
     178# if defined key_mocsy 
     179      ! zpho is only defined if key_mocsy 
     180      ! is active, so we must protect this 
     181      ! initialisation accordingly.  
     182      zpho(:,:)  = 0.0 
     183# endif 
     184      f_co2flux(:,:)  = 0.0  
     185      f_pco2atm(:,:)  = 0.0 
     186      f_h2co3(:,:)    = 0.0 
     187      f_hco3(:,:)     = 0.0 
     188      f_co3(:,:)      = 0.0 
     189      f_omarg(:,:)    = 0.0 
     190      f_omcal(:,:)    = 0.0 
     191      !! 
     192      !! AXY (08/08/17): zero slow detritus fluxes 
     193      fslowsink(:,:)  = 0.0 
     194# if defined key_roam 
     195      fslowsinkc(:,:) = 0.0 
     196# endif       
     197      !! 
     198      pgrow_avg(:,:) = 0.0 
     199      ploss_avg(:,:) = 0.0 
     200      phyt_avg(:,:)  = 0.0 
     201      IF( kt == nittrc000 ) THEN 
     202         mld_max(:,:) = 0.0 
     203      ENDIF 
    166204      !! 
    167205      !! allocate and initiate 2D diag 
     
    836874CONTAINS 
    837875   SUBROUTINE bio_medusa_init( )                   ! Empty routine 
     876      IMPLICIT NONE 
    838877      WRITE(*,*) 'bio_medusa_init: You should not have seen this print! error?' 
    839878   END SUBROUTINE bio_medusa_init 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/TOP_SRC/MEDUSA/bio_medusa_mod.F90

    r8442 r10296  
    77   !! History : 
    88   !!   -   ! 2017-04 (M. Stringer)        Code taken from trcbio_medusa.F90 
     9   !!   -   ! 2017-08 (A. Yool)            Slow detritus, ML-avg chl variables 
    910   !!---------------------------------------------------------------------- 
    1011#if defined key_medusa 
     
    5455   !! AXY (01/03/10): add in mixed layer PP diagnostics 
    5556   REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: fprn_ml,fprd_ml 
     57   !! AXY (16/08/17): add in mixed layer chlorophyll diagnostic 
     58   REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: fchl_ml 
    5659   !! 
    5760   !! nutrient limiting factors 
     
    9497   REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: fregenfastc 
    9598# endif 
    96  
     99   !! 
     100   !! AXY (08/08/17): sinking of detritus moved here 
     101   REAL(wp), ALLOCATABLE, DIMENSION(:,:) ::    fslowsink, fslowgain, fslowloss 
     102# if defined key_roam 
     103   REAL(wp), ALLOCATABLE, DIMENSION(:,:) ::    fslowsinkc, fslowgainc, fslowlossc 
     104# endif 
     105   !! 
    97106   !! Particle flux 
    98107   REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: fdep1 
     
    287296               fjlim_pn(jpi,jpj),fjlim_pd(jpi,jpj),                   & 
    288297               fun_T(jpi,jpj),fun_Q10(jpi,jpj),                       & 
    289                fprn_ml(jpi,jpj),fprd_ml(jpi,jpj),                     & 
     298               fprn_ml(jpi,jpj),fprd_ml(jpi,jpj),fchl_ml(jpi,jpj),    & 
    290299               fnln(jpi,jpj),ffln2(jpi,jpj),                          & 
    291300               fnld(jpi,jpj),ffld(jpi,jpj),fsld(jpi,jpj),             & 
     
    316325               fregenfastc(jpi,jpj),                                  & 
    317326# endif 
     327          fslowsink(jpi,jpj),fslowgain(jpi,jpj),                 & 
     328               fslowloss(jpi,jpj),                                    & 
     329# if defined key_roam 
     330          fslowsinkc(jpi,jpj),fslowgainc(jpi,jpj),               & 
     331               fslowlossc(jpi,jpj),                                   & 
     332# endif 
    318333               fdep1(jpi,jpj),                                        & 
    319334               ftempn(jpi,jpj),ftempsi(jpi,jpj),ftempfe(jpi,jpj),     & 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/TOP_SRC/MEDUSA/bio_medusa_update.F90

    r8442 r10296  
    66   !! History : 
    77   !!   -   ! 2017-04 (M. Stringer)        Code taken from trcbio_medusa.F90 
     8   !!   -   ! 2017-08 (A. Yool)            Amend slow-detritus bug 
     9   !!   -   ! 2017-08 (A. Yool)            Reformatting for clarity 
    810   !!---------------------------------------------------------------------- 
    911#if defined key_medusa 
     
    6062                                   fsil_cons, fsil_prod, fsdiss,             & 
    6163                                   ftempca, fthetad, fthetan,                & 
     64                                   fslowsink, fslowgain, fslowloss,          & ! AXY (22/08/17) 
     65                                   f_sbenin_n, f_sbenin_c,                   & 
    6266# if defined key_roam 
     67                                   fslowsinkc, fslowgainc, fslowlossc,       & ! AXY (22/08/17) 
    6368                                   fcar_cons, fcar_prod, fcomm_resp,         & 
    6469                                   fddc, fflx_a, fflx_c, fflx_o2, zoxy,      & 
     
    6671# endif 
    6772                                   zpds, zphd, zphn 
    68       USE dom_oce,           ONLY: e3t_0, e3t_n, gphit, mbathy, tmask 
     73      USE dom_oce,           ONLY: e3t_0, gphit, mbathy, tmask 
     74# if defined key_vvl 
     75      USE dom_oce,           ONLY: e3t_n 
     76# endif 
    6977      USE in_out_manager,    ONLY: lwp, numout 
    7078      USE lib_mpp,           ONLY: ctl_stop 
    7179      USE par_kind,          ONLY: wp 
    72       USE par_medusa,        ONLY: jp_medusa,                                & 
     80      USE par_medusa,        ONLY: jp_medusa, jp_msa0, jp_msa1,              & 
    7381                                   jpalk, jpchd, jpchn, jpdet, jpdic,        & 
    7482                                   jpdin, jpdtc, jpfer, jpoxy, jppds,        & 
     
    7886                                   jpoxy_lc, jppds_lc, jpphd_lc, jpphn_lc,   & 
    7987                                   jpsil_lc, jpzme_lc, jpzmi_lc 
    80       USE par_oce,           ONLY: jpi, jpim1, jpj, jpjm1 
     88      USE par_oce,           ONLY: jpi, jpim1, jpj, jpjm1, jpk 
    8189      USE par_trc,           ONLY: jptra 
    8290      USE sms_medusa,        ONLY: friver_dep,                               & 
     
    181189      ENDDO 
    182190 
    183       DO jj = 2,jpjm1 
    184          DO ji = 2,jpim1 
    185             if (tmask(ji,jj,jk) == 1) then 
    186                !! 
    187                !!---------------------------------------------------------- 
    188                !! detritus 
    189                btra(ji,jj,jpdet_lc) = b0 *                                      & 
    190                                           ! mort. losses  
    191                                    (fdpn(ji,jj) + ((1.0 - xfdfrac1) *        & 
    192                                                    fdpd(ji,jj)) +            & 
    193                                     fdzmi(ji,jj) +                           & 
    194                                     ((1.0 - xfdfrac2) * fdzme(ji,jj)) +      & 
    195                                           ! assim. inefficiency 
    196                                     ((1.0 - xbetan) * (finmi(ji,jj) +        & 
    197                                                        finme(ji,jj))) -      & 
    198                                           ! grazing and remin. 
    199                                     fgmid(ji,jj) - fgmed(ji,jj) -            & 
    200                                     fdd(ji,jj) +                             & 
    201                                           ! seafloor fast->slow 
    202                                     ffast2slown(ji,jj)) 
    203                !! 
     191      !!---------------------------------------------------------- 
     192      !! detritus 
     193      DO jj = 2,jpjm1 
     194         DO ji = 2,jpim1 
     195            if (tmask(ji,jj,jk) == 1) then 
     196               !! 
     197               btra(ji,jj,jpdet_lc) = b0 * (                           & 
     198                   fdpn(ji,jj)                                         & ! mort. losses  
     199                 + ((1.0 - xfdfrac1) * fdpd(ji,jj))                    & ! mort. losses  
     200                 + fdzmi(ji,jj)                                        & ! mort. losses 
     201                 + ((1.0 - xfdfrac2) * fdzme(ji,jj))                   & ! mort. losses 
     202                 + ((1.0 - xbetan) * (finmi(ji,jj) + finme(ji,jj)))    & ! assim. inefficiency 
     203                 - fgmid(ji,jj) - fgmed(ji,jj)                         & ! grazing 
     204                 - fdd(ji,jj)                                          & ! remin. 
     205                 + fslowgain(ji,jj) - fslowloss(ji,jj)                 & ! slow-sinking 
     206                 - (f_sbenin_n(ji,jj) / fse3t(ji,jj,jk))               & ! slow-sinking loss to seafloor 
     207                 + ffast2slown(ji,jj) )                                  ! seafloor fast->slow  
    204208            ENDIF 
    205209         ENDDO 
     
    266270                             ! mort. loss 
    267271                         ((1.0 - xfdfrac1) * fdpds(ji,jj)) +                 & 
    268                              ! egestion of grazed Si 
     272                             ! egestion of grazed Si 
    269273                         ((1.0 - xfdfrac3) * fgmepds(ji,jj)) +               & 
    270274                             ! fast diss. and metab. losses 
     
    305309                                          ffetop(ji,jj) + ffebot(ji,jj) -    & 
    306310                                          ffescav(ji,jj) ) 
     311            ENDIF 
     312         ENDDO 
     313      ENDDO 
     314 
    307315# if defined key_roam 
    308                !! 
    309                !!---------------------------------------------------------- 
    310                !! AXY (26/11/08): implicit detrital carbon change 
    311                btra(ji,jj,jpdtc_lc) = b0 * (                                    & 
    312                                             ! mort. losses 
    313                                          (xthetapn * fdpn(ji,jj)) +          & 
    314                                          ((1.0 - xfdfrac1) *                 & 
    315                                           (xthetapd * fdpd(ji,jj))) +        & 
    316                                          (xthetazmi * fdzmi(ji,jj)) +        & 
    317                                          ((1.0 - xfdfrac2) *                 & 
    318                                           (xthetazme * fdzme(ji,jj))) +      & 
    319                                              ! assim. inefficiency 
    320                                          ((1.0 - xbetac) *                   & 
    321                                           (ficmi(ji,jj) + ficme(ji,jj))) -   & 
    322                                              ! grazing and remin. 
    323                                          fgmidc(ji,jj) - fgmedc(ji,jj) -     & 
    324                                          fddc(ji,jj) +                       & 
    325                                              ! seafloor fast->slow 
    326                                          ffast2slowc(ji,jj) ) 
     316      !!---------------------------------------------------------- 
     317      !! AXY (26/11/08): implicit detrital carbon change 
     318      DO jj = 2,jpjm1 
     319         DO ji = 2,jpim1 
     320            if (tmask(ji,jj,jk) == 1) then  
     321               !! 
     322               btra(ji,jj,jpdtc_lc) = b0 * (                           & 
     323                   (xthetapn * fdpn(ji,jj))                            & ! mort. losses  
     324                 + ((1.0 - xfdfrac1) * (xthetapd * fdpd(ji,jj)))       & ! mort. losses  
     325                 + (xthetazmi * fdzmi(ji,jj))                          & ! mort. losses  
     326                 + ((1.0 - xfdfrac2) * (xthetazme * fdzme(ji,jj)))     & ! mort. losses  
     327                 + ((1.0 - xbetac) * (ficmi(ji,jj) + ficme(ji,jj)))    & ! assim. inefficiency 
     328                 - fgmidc(ji,jj) - fgmedc(ji,jj)                       & ! grazing 
     329                 - fddc(ji,jj)                                         & ! remin. 
     330                 + fslowgainc(ji,jj) - fslowlossc(ji,jj)               & ! slow-sinking 
     331                 - (f_sbenin_c(ji,jj) / fse3t(ji,jj,jk))               & ! slow-sinking loss to seafloor 
     332                 + ffast2slowc(ji,jj) )                                  ! seafloor fast->slow 
    327333            ENDIF 
    328334         ENDDO 
     
    575581                                                           f_o2flux(ji,jj)) 
    576582               endif 
     583            ENDIF 
     584         ENDDO 
     585      ENDDO 
    577586# endif 
    578             ENDIF 
    579          ENDDO 
    580       ENDDO 
    581587 
    582588# if defined key_debug_medusa 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/TOP_SRC/MEDUSA/carb_chem.F90

    r8441 r10296  
    4040# endif 
    4141                                   zalk, zdic, zsal, zsil, ztmp  
    42       USE dom_oce,           ONLY: gdept_0, gdept_n, gdepw_0, gdepw_n,    & 
    43                                    gphit, mbathy, tmask 
     42      USE dom_oce,           ONLY: gdept_0, gdepw_0, gphit, mbathy, tmask 
     43# if defined key_vvl 
     44      USE dom_oce,           ONLY: gdept_n, gdepw_n 
     45# endif 
    4446      USE in_out_manager,    ONLY: lwp, numout 
    4547      USE oce,               ONLY: PCO2a_in_cpl, tsb, tsn 
     
    103105               !! OPEN wet point IF..THEN loop 
    104106               IF (tmask(ji,jj,jk).eq.1) THEN 
    105                   IF (lk_oasis) THEN 
    106                      !! use 2D atm xCO2 from atm coupling 
    107                      f_xco2a(ji,jj) = PCO2a_in_cpl(ji,jj) 
    108                   ENDIF 
    109107                  !! Do carbonate chemistry 
    110108                  !! 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/TOP_SRC/MEDUSA/detritus.F90

    r8441 r10296  
    66   !! History : 
    77   !!   -   ! 2017-04 (M. Stringer)        Code taken from trcbio_medusa.F90 
     8   !!   -   ! 2017-08 (A. Yool)            Revise slow-sinking of detritus 
    89   !!---------------------------------------------------------------------- 
    910#if defined key_medusa 
     
    3536                                        f_sbenin_n, fdd,                   & 
    3637                                        idf, idfval,                       &    
    37 # if defined key_roam 
     38                                        fslowsink,                         & 
     39                                        fslowgain, fslowloss,              & 
     40# if defined key_roam 
     41                                        fslowsinkc,                        & 
     42                                        fslowgainc, fslowlossc,            & 
    3843                                        fddc,                              & 
    3944# endif 
    4045                                        fun_T, fun_Q10, zdet, zdtc 
    4146      USE detritus_fast_sink_mod, ONLY: detritus_fast_sink 
    42       USE dom_oce,                ONLY: mbathy, tmask 
     47      USE dom_oce,                ONLY: mbathy, e3t_0, gphit, tmask 
     48# if defined key_vvl 
     49      USE dom_oce,                ONLY: e3t_n 
     50# endif 
    4351      USE in_out_manager,         ONLY: lwp, numout 
    4452      USE par_oce,                ONLY: jpim1, jpjm1 
    4553      USE sms_medusa,             ONLY: jmd, jorgben, jsfd, vsed,          & 
    4654                                        xrfn, xmd, xmdc, xthetad 
     55 
     56   !!* Substitution 
     57#  include "domzgr_substitute.h90" 
    4758 
    4859      !! Level 
     
    123134         DO ji = 2,jpim1 
    124135            if (tmask(ji,jj,jk) == 1) then 
     136               !!---------------------------------------------------------------------- 
     137               !! Detritus sinking (AXY, 08/08/18) 
     138          !! Replaces slow-sinking done in trcsed_medusa.F90 
     139               !! 
     140               !! Uses the fslowsink variable to carry slow-sinking detritus from one 
     141               !! grid level to the next, variable fslowgain to "add" detritus sinking 
     142               !! from above and variable fslowloss to "subtract" detritus sinking out 
     143               !! to below; these variables appear in the differential equations of 
     144               !! detrital nitrogen and carbon below 
     145               !!---------------------------------------------------------------------- 
     146               !! 
     147               fslowgain(ji,jj)  = fslowsink(ji,jj) / fse3t(ji,jj,jk)                  ! = mmol N / m3 / d 
     148               if (jk.lt.mbathy(ji,jj)) then 
     149                  fslowloss(ji,jj)  = (zdet(ji,jj) * vsed * 86400.) / fse3t(ji,jj,jk)  ! = mmol N / m3 / d 
     150               else 
     151                  fslowloss(ji,jj)  = 0.                                               ! = mmol N / m3 / d 
     152               endif 
     153               fslowsink(ji,jj) = fslowloss(ji,jj) * fse3t(ji,jj,jk)                   ! = mmol N / m2 / d 
     154               !! 
     155#  if defined key_roam 
     156               fslowgainc(ji,jj) = fslowsinkc(ji,jj) / fse3t(ji,jj,jk)                 ! = mmol C / m3 / d 
     157               if (jk.lt.mbathy(ji,jj)) then 
     158                  fslowlossc(ji,jj) = (zdtc(ji,jj) * vsed * 86400.) / fse3t(ji,jj,jk)  ! = mmol C / m3 / d 
     159               else 
     160                  fslowlossc(ji,jj) = 0.                                               ! = mmol C / m3 / d 
     161               endif 
     162               fslowsinkc(ji,jj) = fslowlossc(ji,jj) * fse3t(ji,jj,jk)                 ! = mmol C / m2 / d 
     163#  endif 
     164            ENDIF 
     165         ENDDO 
     166      ENDDO 
     167 
     168      DO jj = 2,jpjm1 
     169         DO ji = 2,jpim1 
     170            if (tmask(ji,jj,jk) == 1) then 
    125171               !!--------------------------------------------------------- 
    126172               !! Detritus addition to benthos 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/TOP_SRC/MEDUSA/detritus_fast_sink.F90

    r8441 r10296  
    6666                                   idf, idfval,                            & 
    6767                                   zdet, zdtc 
    68       USE dom_oce,           ONLY: e3t_0, e3t_n, gdepw_0, gdepw_n,         & 
    69                                    gphit, mbathy, tmask 
     68      USE dom_oce,           ONLY: e3t_0, gdepw_0, gphit, mbathy, tmask 
     69# if defined key_vvl 
     70      USE dom_oce,           ONLY: e3t_n, gdepw_n 
     71# endif 
    7072      USE in_out_manager,    ONLY: lwp, numout 
    7173      USE oce,               ONLY: tsn 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/TOP_SRC/MEDUSA/iron_chem_scav.F90

    r8441 r10296  
    3535                                   zdet, zfer, zphd, zphn, zzme, zzmi,    & 
    3636                                   idf, idfval                           
    37       USE dom_oce,           ONLY: e3t_0, e3t_n, gdepw_0, gdepw_n,        & 
    38                                    mbathy, tmask 
     37      USE dom_oce,           ONLY: e3t_0, gdepw_0, mbathy, tmask 
     38#if defined key_vvl 
     39      USE dom_oce,           ONLY: e3t_n, gdepw_n 
     40#endif 
    3941      USE par_kind,          ONLY: wp 
    4042      USE in_out_manager,    ONLY: lwp, numout 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/TOP_SRC/MEDUSA/phytoplankton.F90

    r8441 r10296  
    66   !! History : 
    77   !!   -   ! 2017-04 (M. Stringer)        Code taken from trcbio_medusa.F90 
     8   !!   -   ! 2017-08 (A. Yool)            Mean mixed layer chlorophyll 
    89   !!---------------------------------------------------------------------- 
    910#if defined key_medusa 
     
    4243                                   zchd, zchn, zdet, zdin, zdtc,         & 
    4344                                   zfer, zpds, zphd, zphn, zsil,         & 
    44                                    zzme, zzmi 
    45       USE dom_oce,           ONLY: e3t_0, e3t_n, gdepw_0, gdepw_n, tmask 
     45                                   zzme, zzmi, fchl_ml 
     46      USE dom_oce,           ONLY: e3t_0, gdepw_0, tmask 
     47#if defined key_vvl 
     48      USE dom_oce,           ONLY: e3t_n, gdepw_n 
     49#endif 
    4650      USE in_out_manager,    ONLY: lwp, numout 
    4751      USE oce,               ONLY: tsn 
     
    5559                                   xvpd, xvpn, xxi 
    5660      USE zdfmxl,            ONLY: hmld 
     61      USE lbclnk,            ONLY: lbc_lnk 
    5762 
    5863   !!* Substitution 
     
    373378               fprd_ml(ji,jj) = fprd_ml(ji,jj) + (fprd(ji,jj) * zphd(ji,jj) * & 
    374379                                                  fse3t(ji,jj,jk) * fq0) 
    375             ENDIF 
    376          ENDDO 
    377       ENDDO 
     380          !! AXY (16/08/17) 
     381          fchl_ml(ji,jj) = fchl_ml(ji,jj) + ((zchn(ji,jj) + zchd(ji,jj)) * & 
     382                                             (fse3t(ji,jj,jk) * fq0) / hmld(ji,jj)) 
     383            ENDIF 
     384         ENDDO 
     385      ENDDO 
     386      CALL lbc_lnk(fchl_ml(:,:),'T',1. ) 
    378387 
    379388      DO jj = 2,jpjm1 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/TOP_SRC/MEDUSA/plankton.F90

    r8441 r10296  
    3636                                   fdpn, fdpn2, fdzme, fdzme2,             & 
    3737                                   fdzmi, fdzmi2, fsdiss, fsin,            & 
     38                                   fdep1, fprn, fprd,                      & 
     39                                   fgmepd, fgmepn, fgmipn,                 & 
    3840                                   zphd, zphn, zpds, zzme, zzmi 
    39       USE dom_oce,           ONLY: tmask 
     41      USE dom_oce,           ONLY: e3t_0, e3t_n, gdepw_0, gdepw_n, tmask 
     42      USE par_kind,          ONLY: wp 
    4043      USE par_oce,           ONLY: jpim1, jpjm1 
    4144      USE phytoplankton_mod, ONLY: phytoplankton 
    4245      USE sms_medusa,        ONLY: jmpd, jmpn, jmzme, jmzmi,               & 
     46                                   ln_foam_medusa,                         & 
     47                                   pgrow_avg, ploss_avg, phyt_avg,         & 
    4348                                   xkphd, xkphn, xkzme, xkzmi,             & 
    4449                                   xmetapd, xmetapn, xmetazme, xmetazmi,   & 
    4550                                   xmpd, xmpn, xmzme, xmzmi, xsdiss 
     51      USE zdfmxl,            ONLY: hmld 
    4652      USE zooplankton_mod,   ONLY: zooplankton 
     53 
     54   !!* Substitution 
     55#  include "domzgr_substitute.h90" 
    4756 
    4857      !! Level 
     
    5059 
    5160      INTEGER :: ji, jj 
     61 
     62      REAL(wp) :: fq0 
    5263 
    5364      !!------------------------------------------------------------------- 
     
    188199      ENDDO 
    189200 
     201      IF ( ln_foam_medusa ) THEN 
     202         !! Mixed layer averages for ocean colour assimilation 
     203         !! 
     204         DO jj = 2,jpjm1 
     205            DO ji = 2,jpim1 
     206               IF (tmask(ji,jj,jk) == 1) THEN 
     207                  if (fdep1(ji,jj).le.hmld(ji,jj)) then 
     208                     !! this level is entirely in the mixed layer 
     209                     fq0 = 1.0 
     210                  elseif (fsdepw(ji,jj,jk).ge.hmld(ji,jj)) then 
     211                     !! this level is entirely below the mixed layer 
     212                     fq0 = 0.0 
     213                  else 
     214                     !! this level straddles the mixed layer 
     215                     fq0 = (hmld(ji,jj) - fsdepw(ji,jj,jk)) / fse3t(ji,jj,jk) 
     216                  endif 
     217                  !! 
     218                  pgrow_avg(ji,jj) = pgrow_avg(ji,jj) +                   & 
     219                                     (((fprn(ji,jj) * zphn(ji,jj)) +      & 
     220                                       (fprd(ji,jj) * zphd(ji,jj))  ) *   & 
     221                                      fse3t(ji,jj,jk) * fq0) 
     222                  ploss_avg(ji,jj) = ploss_avg(ji,jj) +                   & 
     223                                     ((fgmepd(ji,jj) + fdpd(ji,jj) +      & 
     224                                       fdpd2(ji,jj)                +      & 
     225                                       fgmepn(ji,jj) + fdpn(ji,jj) +      & 
     226                                       fdpn2(ji,jj)  + fgmipn(ji,jj) ) *  & 
     227                                      fse3t(ji,jj,jk) * fq0) 
     228                  phyt_avg(ji,jj)  = phyt_avg(ji,jj)  +                   & 
     229                                     ((zphn(ji,jj) + zphd(ji,jj)) *       & 
     230                                      fse3t(ji,jj,jk) * fq0) 
     231               ENDIF 
     232            ENDDO 
     233         ENDDO 
     234      ENDIF 
     235 
    190236   END SUBROUTINE plankton 
    191237 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/TOP_SRC/MEDUSA/sms_medusa.F90

    r8132 r10296  
    177177   INTEGER  ::  jdms_model   !: choice of DMS model passed to atmosphere 
    178178!!                              1 = ANDR, 2 = SIMO, 3 = ARAN, 4 = HALL 
    179 !! 
     179!! JPALM --19-12-2017 -- UM people need to tune the Anderson DMS scheme     
     180   REAL(wp) ::  dmsmin       !: Anderson DMS scheme - DMS minimum value 
     181   REAL(wp) ::  dmscut       !: Anderson DMS scheme - DMS cutoff value  
     182   REAL(wp) ::  dmsslp       !: Anderson DMS scheme - DMS slope  
     183!! FOR UKESM    
     184   REAL(wp) ::  scl_chl      !: scaling factor for tuned Chl passed to the UM  
     185   INTEGER  ::  chl_out      !: select Chl field exported and scaled for UM: 
     186                             !: 1- Surface Chl ; 2- MLD Chl 
    180187!! 
    181188   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) ::   remdmp   !: depth dependent damping coefficient of passive tracers  
     
    205212   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:)   :: f2_ccd_arg  !: 2D aragonite CCD depth 
    206213!! 
     214!! 2D fields of pCO2 and fCO2 for observation operator 
     215   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:)   :: f2_pco2w    !: 2D pCO2 
     216   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:)   :: f2_fco2w    !: 2D fCO2 
     217!! 
    207218!! 2D fields of organic and inorganic material sedimented on the seafloor 
    208219   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:)   :: zb_sed_n    !: 2D organic nitrogen   (before) 
     
    276287#if defined key_roam 
    277288!!---------------------------------------------------------------------- 
    278 !! Atmospheric pCO2 data (1859 to 2100 inclusive) 
    279 !!---------------------------------------------------------------------- 
    280 !! 
    281    REAL(wp), DIMENSION(242)         ::   hist_pco2 !: pCO2 
    282  
    283 # if defined key_rcp26 
    284       !! UKMO, run AJKKH + KAAEC, RCP 2.6, pCO2 time evolution 
    285       DATA hist_pco2 / 286.0230, 286.1730, 286.3230, 286.4480, 286.5730, & 
    286       & 286.7230, 286.8480, 286.9480, 287.0480, 287.1730, & 
    287       & 287.3230, 287.4730, 287.6480, 287.8480, 288.0730, & 
    288       & 288.3480, 288.6480, 288.9730, 289.3470, 289.7470, & 
    289       & 290.1730, 290.6470, 291.1470, 291.6220, 292.0720, & 
    290       & 292.5220, 292.9220, 293.2470, 293.5220, 293.7470, & 
    291       & 293.9470, 294.1220, 294.2720, 294.4220, 294.5470, & 
    292       & 294.6470, 294.7470, 294.8470, 294.9710, 295.1710, & 
    293       & 295.4460, 295.7470, 296.0720, 296.4210, 296.7710, & 
    294       & 297.1460, 297.5710, 298.0210, 298.4460, 298.8460, & 
    295       & 299.2460, 299.6450, 300.0210, 300.3710, 300.7200, & 
    296       & 301.0450, 301.3460, 301.6710, 302.0200, 302.3450, & 
    297       & 302.6450, 302.9700, 303.3450, 303.7200, 304.0700, & 
    298       & 304.4700, 304.9200, 305.3440, 305.7700, 306.2450, & 
    299       & 306.7190, 307.1700, 307.6440, 308.1190, 308.5440, & 
    300       & 308.9440, 309.3440, 309.6940, 309.9440, 310.1190, & 
    301       & 310.2440, 310.3190, 310.3190, 310.2440, 310.1440, & 
    302       & 310.0690, 310.0440, 310.0690, 310.1440, 310.2690, & 
    303       & 310.4440, 310.6940, 311.0430, 311.4440, 311.8690, & 
    304       & 312.3680, 312.9430, 313.5430, 314.1680, 314.7900, & 
    305       & 315.4430, 316.2150, 317.0170, 317.7370, 318.3400, & 
    306       & 318.8680, 319.5900, 320.5890, 321.5470, 322.5770, & 
    307       & 323.8440, 324.9260, 325.7960, 327.0810, 328.6180, & 
    308       & 329.6830, 330.5250, 331.6880, 333.2120, 334.7870, & 
    309       & 336.4640, 338.2990, 339.6660, 340.7310, 342.1360, & 
    310       & 343.7200, 345.2200, 346.7350, 348.5820, 350.6740, & 
    311       & 352.4230, 353.7910, 354.9530, 355.8210, 356.7130, & 
    312       & 358.0630, 359.7720, 361.3970, 363.0900, 365.2560, & 
    313       & 367.2810, 368.7980, 370.4000, 372.4550, 374.6920, & 
    314       & 376.7440, 378.7440, 380.7580, 382.7080, 384.7300, & 
    315       & 386.9310, 389.2150, 391.4910, 393.7710, 396.0460, & 
    316       & 398.3240, 400.6080, 402.8950, 405.1780, 407.4550, & 
    317       & 409.7260, 411.9930, 414.2500, 416.4410, 418.5280, & 
    318       & 420.5250, 422.4390, 424.2720, 426.0200, 427.6750, & 
    319       & 429.2360, 430.7050, 432.0850, 433.3580, 434.5140, & 
    320       & 435.5740, 436.5490, 437.4420, 438.2550, 438.9810, & 
    321       & 439.6110, 440.1430, 440.5770, 440.9450, 441.2660, & 
    322       & 441.5410, 441.7840, 442.0050, 442.2040, 442.3780, & 
    323       & 442.5210, 442.6200, 442.6720, 442.6810, 442.6540, & 
    324       & 442.5830, 442.4670, 442.3270, 442.1680, 441.9960, & 
    325       & 441.8060, 441.5930, 441.3440, 441.0540, 440.7230, & 
    326       & 440.3510, 439.9300, 439.4650, 438.9730, 438.4630, & 
    327       & 437.9400, 437.4020, 436.8400, 436.2640, 435.6850, & 
    328       & 435.1030, 434.5160, 433.9170, 433.3060, 432.7010, & 
    329       & 432.1110, 431.5380, 430.9810, 430.4320, 429.8860, & 
    330       & 429.3370, 428.7810, 428.2220, 427.6490, 427.0660, & 
    331       & 426.4890, 425.9270, 425.3840, 424.8610, 424.3540, & 
    332       & 423.8540, 423.3540, 422.8530, 422.3510, 421.8410, & 
    333       & 421.3250, 420.8190 / 
    334 # else 
    335       !! UKMO, run AJKKH + KAAEF, RCP 8.5, pCO2 time evolution 
    336       DATA hist_pco2 / 286.0230, 286.1730, 286.3230, 286.4480, 286.5730, & 
    337       & 286.7230, 286.8480, 286.9480, 287.0480, 287.1730, & 
    338       & 287.3230, 287.4730, 287.6480, 287.8480, 288.0730, & 
    339       & 288.3480, 288.6480, 288.9730, 289.3470, 289.7470, & 
    340       & 290.1730, 290.6470, 291.1470, 291.6220, 292.0720, & 
    341       & 292.5220, 292.9220, 293.2470, 293.5220, 293.7470, & 
    342       & 293.9470, 294.1220, 294.2720, 294.4220, 294.5470, & 
    343       & 294.6470, 294.7470, 294.8470, 294.9710, 295.1710, & 
    344       & 295.4460, 295.7470, 296.0720, 296.4210, 296.7710, & 
    345       & 297.1460, 297.5710, 298.0210, 298.4460, 298.8460, & 
    346       & 299.2460, 299.6450, 300.0210, 300.3710, 300.7200, & 
    347       & 301.0450, 301.3460, 301.6710, 302.0200, 302.3450, & 
    348       & 302.6450, 302.9700, 303.3450, 303.7200, 304.0700, & 
    349       & 304.4700, 304.9200, 305.3440, 305.7700, 306.2450, & 
    350       & 306.7190, 307.1700, 307.6440, 308.1190, 308.5440, & 
    351       & 308.9440, 309.3440, 309.6940, 309.9440, 310.1190, & 
    352       & 310.2440, 310.3190, 310.3190, 310.2440, 310.1440, & 
    353       & 310.0690, 310.0440, 310.0690, 310.1440, 310.2690, & 
    354       & 310.4440, 310.6940, 311.0430, 311.4440, 311.8690, & 
    355       & 312.3680, 312.9430, 313.5430, 314.1680, 314.7900, & 
    356       & 315.4430, 316.2150, 317.0170, 317.7370, 318.3400, & 
    357       & 318.8680, 319.5900, 320.5890, 321.5470, 322.5770, & 
    358       & 323.8440, 324.9260, 325.7960, 327.0810, 328.6180, & 
    359       & 329.6830, 330.5250, 331.6880, 333.2120, 334.7870, & 
    360       & 336.4640, 338.2990, 339.6660, 340.7310, 342.1360, & 
    361       & 343.7200, 345.2200, 346.7350, 348.5820, 350.6740, & 
    362       & 352.4230, 353.7910, 354.9530, 355.8210, 356.7130, & 
    363       & 358.0630, 359.7720, 361.3970, 363.0900, 365.2560, & 
    364       & 367.2810, 368.7980, 370.4000, 372.4550, 374.6920, & 
    365       & 376.7440, 378.7440, 380.7580, 382.7080, 384.7300, & 
    366       & 386.9420, 389.2540, 391.5670, 393.9370, 396.3920, & 
    367       & 398.9320, 401.5550, 404.2550, 407.0220, 409.8530, & 
    368       & 412.7470, 415.7050, 418.7210, 421.7880, 424.9180, & 
    369       & 428.1200, 431.3970, 434.7470, 438.1650, 441.6410, & 
    370       & 445.1700, 448.7530, 452.3920, 456.0950, 459.8810, & 
    371       & 463.7680, 467.7660, 471.8750, 476.0960, 480.4210, & 
    372       & 484.8390, 489.3470, 493.9430, 498.6400, 503.4380, & 
    373       & 508.3410, 513.3630, 518.5160, 523.8050, 529.2290, & 
    374       & 534.7780, 540.4450, 546.2230, 552.1120, 558.1110, & 
    375       & 564.2110, 570.4130, 576.7390, 583.1990, 589.7980, & 
    376       & 596.5390, 603.4110, 610.4060, 617.4940, 624.6500, & 
    377       & 631.8800, 639.1750, 646.5360, 653.9800, 661.5230, & 
    378       & 669.1840, 676.9570, 684.8290, 692.7790, 700.7690, & 
    379       & 708.8050, 716.8870, 725.0020, 733.1770, 741.3900, & 
    380       & 749.6700, 758.0480, 766.5050, 775.0350, 783.6110, & 
    381       & 792.2200, 800.8740, 809.5680, 818.2760, 827.0090, & 
    382       & 835.8020, 844.6550, 853.5730, 862.5690, 871.6190, & 
    383       & 880.7020, 889.8240, 898.9590, 908.1270, 917.3080, & 
    384       & 926.4960, 935.7040 / 
    385 # endif 
     289!! JPALM -- change hist_pco2 init 
     290!!---------------------------------------------------------------------- 
     291!! 
     292   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:)   ::   hist_pco2 !: pCO2 
     293   INTEGER  :: co2_rec 
     294   REAL(wp) :: co2_yinit, co2_yend    !: First and Last year read in the xCO2.atm file 
     295   REAL(wp) :: xobs_xco2a             !: Observed atmospheric xCO2, from namelist 
     296#endif 
     297 
     298!!---------------------------------------------------------------------- 
     299!! JPALM -- PI CO2 key 
     300!!---------------------------------------------------------------------- 
     301!! 
     302#if defined key_axy_pi_co2 
     303   LOGICAL , PUBLIC ::   lk_pi_co2 = .TRUE.  !: PI xCO2 used 
     304#else 
     305   LOGICAL , PUBLIC ::   lk_pi_co2 = .FALSE. !: PI xCO2 unused 
    386306#endif 
    387307 
     
    434354   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:)   :: cmask       !: ??? 
    435355 
     356!!---------------------------------------------------------------------- 
     357!! Parameters required for ocean colour assimilation 
     358!!---------------------------------------------------------------------- 
     359!! 
     360   LOGICAL :: ln_foam_medusa                                 !: Flag to calculate and save diagnostics 
     361   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: pgrow_avg  !: Mixed layer average phytoplankton growth 
     362   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: ploss_avg  !: Mixed layer average phytoplankton loss 
     363   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: phyt_avg   !: Mixed layer average phytoplankton 
     364   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: mld_max    !: Maximum mixed layer depth 
     365!! 
     366 
    436367   !!---------------------------------------------------------------------- 
    437368   !! NEMO/TOP 3.3 , NEMO Consortium (2010) 
     
    446377      !!---------------------------------------------------------------------- 
    447378      USE lib_mpp , ONLY: ctl_warn 
    448       INTEGER ::   ierr(8)        ! Local variables 
     379      INTEGER ::   ierr(9)        ! Local variables 
    449380      !!---------------------------------------------------------------------- 
    450381      ierr(:) = 0 
     
    456387      !* 2D and 3D fields of carbonate system parameters 
    457388      ALLOCATE( f2_ccd_cal(jpi,jpj)  , f2_ccd_arg(jpi,jpj)  ,       & 
     389                f2_pco2w(jpi,jpj)    , f2_fco2w(jpi,jpj)    ,       & 
    458390         &      f3_pH(jpi,jpj,jpk)   , f3_h2co3(jpi,jpj,jpk),       & 
    459391         &      f3_hco3(jpi,jpj,jpk) , f3_co3(jpi,jpj,jpk)  ,       & 
     
    504436         &      ffln(jpi,jpj,jpk)    , fflf(jpi,jpj,jpk)    ,       & 
    505437         &      ffls(jpi,jpj,jpk)    , cmask(jpi,jpj)       ,    STAT=ierr(8) )  
     438      !* Fields for ocean colour data assimilation 
     439      ALLOCATE( pgrow_avg(jpi,jpj)   , ploss_avg(jpi,jpj)   ,       & 
     440         &      phyt_avg(jpi,jpj)    , mld_max(jpi,jpj)     ,    STAT=ierr(9) ) 
    506441#endif 
    507442      ! 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/TOP_SRC/MEDUSA/trcbio_medusa.F90

    r8442 r10296  
    2323   !!  -   !  2016-11  (A. Yool)              Updated diags for CMIP6 
    2424   !!  -   !  2017-05  (A. Yool)              Added extra DMS calculation 
     25   !!  -   !  2017-11  (J. Palm, A. Yool)     Diagnose tracer excursions 
    2526   !!---------------------------------------------------------------------- 
    2627   !! 
     
    7778                                            zfer, zpds, zphd, zphn, zsil,   & 
    7879                                            zzme, zzmi 
    79       USE dom_oce,                    ONLY: e3t_0, e3t_n,                   & 
    80                                             gdept_0, gdept_n,               & 
    81                                             gdepw_0, gdepw_n,               & 
    82                                             nday_year, nsec_day, nyear,     & 
    83                                             rdt, tmask 
     80      USE dom_oce,                    ONLY: e3t_0, gdept_0,  gdepw_0,       & 
     81                                            nday_year, nsec_day,            &  
     82                                            nyear, nyear_len, ndastp,       & 
     83                                            nsec_month,                     & 
     84                                            rdt, tmask, mig, mjg, nimpp,    & 
     85                                            njmpp  
     86#if defined key_vvl 
     87      USE dom_oce,                    ONLY: e3t_n, gdept_n,  gdepw_n 
     88#endif 
     89 
    8490      USE in_out_manager,             ONLY: lwp, numout, nn_date0 
    85 # if defined key_iomput 
    8691      USE iom,                        ONLY: lk_iomput 
    87 # endif 
    8892      USE lbclnk,                     ONLY: lbc_lnk 
    89       USE lib_mpp,                    ONLY: ctl_stop 
    90       USE oce,                        ONLY: tsb, tsn 
     93      USE lib_mpp,                    ONLY: mpp_max, mpp_maxloc,            &  
     94                                            mpp_min, mpp_minloc,            & 
     95                                            ctl_stop, ctl_warn, lk_mpp   
     96      USE oce,                        ONLY: tsb, tsn, PCO2a_in_cpl 
    9197      USE par_kind,                   ONLY: wp 
    9298      USE par_medusa,                 ONLY: jpalk, jpchd, jpchn, jpdet,     & 
     
    98104      !! JPALM (27-06-2016): add lk_oasis for CO2 and DMS coupling with atm 
    99105      USE sbc_oce,                    ONLY: lk_oasis 
    100       USE sms_medusa,                 ONLY: hist_pco2 
     106      USE sms_medusa,                 ONLY: hist_pco2, co2_yinit, co2_yend, & 
     107# if defined key_roam 
     108                                            xobs_xco2a,                     & 
     109# endif 
     110                                            pgrow_avg,                      & 
     111                                            ploss_avg, phyt_avg, mld_max,   & 
     112                                            lk_pi_co2, ln_foam_medusa 
    101113      USE trc,                        ONLY: ln_rsttr, nittrc000, trn 
    102114      USE bio_medusa_init_mod,        ONLY: bio_medusa_init 
     
    110122      USE bio_medusa_diag_slice_mod,  ONLY: bio_medusa_diag_slice 
    111123      USE bio_medusa_fin_mod,         ONLY: bio_medusa_fin 
     124      USE trcstat,                    ONLY: trc_rst_dia_stat 
    112125 
    113126      IMPLICIT NONE 
     
    115128       
    116129      PUBLIC   trc_bio_medusa    ! called in trcsms_medusa.F90 
     130      PUBLIC   trc_bio_exceptionnal_fix ! here  
    117131 
    118132   !!* Substitution 
     
    176190      !!  
    177191      !! temporary variables 
    178       REAL(wp) ::    fq0,fq1,fq2,fq3,fq4 
     192      REAL(wp) ::    fq3,fq4 
     193      REAL(wp) ::    this_y, this_d, this_s, fyear 
     194      !! 
     195      !! T and S check temporary variable 
     196      REAL(wp) ::    sumtsn, tsnavg 
     197      INTEGER  ::    summask 
     198      CHARACTER(40) :: charout, charout2, charout3, charout4, charout5 
    179199      !! 
    180200      !!------------------------------------------------------------------ 
     
    283303      !!------------------------------------------------------------------ 
    284304      !! 
    285       !! what's atmospheric pCO2 doing? (data start in 1859) 
    286       iyr1  = nyear - 1859 + 1 
    287       iyr2  = iyr1 + 1 
    288       if (iyr1 .le. 1) then 
    289          !! before 1860 
    290          f_xco2a(:,:) = hist_pco2(1) 
    291       elseif (iyr2 .ge. 242) then 
    292          !! after 2099 
    293          f_xco2a(:,:) = hist_pco2(242) 
    294       else 
    295          !! just right 
    296          fq0 = hist_pco2(iyr1) 
    297          fq1 = hist_pco2(iyr2) 
    298          fq2 = real(nsec_day) / (60.0 * 60.0 * 24.0) 
    299          !! AXY (14/06/12): tweaked to make more sense (and be correct) 
    300 #  if defined key_bs_axy_yrlen 
    301          !! bugfix: for 360d year with HadGEM2-ES forcing 
    302          fq3 = (real(nday_year) - 1.0 + fq2) / 360.0   
    303 #  else 
    304          !! original use of 365 days (not accounting for leap year or  
    305          !! 360d year) 
    306          fq3 = (real(nday_year) - 1.0 + fq2) / 365.0 
    307 #  endif 
    308          fq4 = (fq0 * (1.0 - fq3)) + (fq1 * fq3) 
    309          f_xco2a(:,:) = fq4 
    310       endif 
    311 #  if defined key_axy_pi_co2 
    312       !! OCMIP pre-industrial pCO2 
    313       !! f_xco2a(:,:) = 284.725  !! CMIP5 pre-industrial pCO2 
    314       f_xco2a = 284.317          !! CMIP6 pre-industrial pCO2  
    315 #  endif 
    316       !! IF(lwp) WRITE(numout,*) ' MEDUSA nyear     =', nyear 
    317       !! IF(lwp) WRITE(numout,*) ' MEDUSA nsec_day  =', real(nsec_day) 
    318       !! IF(lwp) WRITE(numout,*) ' MEDUSA nday_year =', real(nday_year) 
    319       !! AXY (29/01/14): remove surplus diagnostics 
    320       !! IF(lwp) WRITE(numout,*) ' MEDUSA fq0       =', fq0 
    321       !! IF(lwp) WRITE(numout,*) ' MEDUSA fq1       =', fq1 
    322       !! IF(lwp) WRITE(numout,*) ' MEDUSA fq2       =', fq2 
    323       !! IF(lwp) WRITE(numout,*) ' MEDUSA fq3       =', fq3 
    324       IF(lwp) WRITE(numout,*) ' MEDUSA atm pCO2  =', f_xco2a(1,1) 
     305      IF (lk_oasis) THEN  
     306         !! xCO2 from coupled 
     307         IF ( ( kt == nittrc000 ) .AND. lwp )     & 
     308             WRITE(numout,*) '** MEDUSA Atm xCO2 given by the UM **' 
     309         f_xco2a(:,:) = PCO2a_in_cpl(:,:) 
     310         !! Check the xCO2 from the UM is OK 
     311         !! piece of code moved from air-sea.F90 
     312         !!--- 
     313         DO jj = 2,jpjm1 
     314            DO ji = 2,jpim1 
     315               !! OPEN wet point IF..THEN loop 
     316               IF (tmask(ji,jj,1) == 1) then 
     317                  !!! Jpalm test on atm xCO2 
     318                  IF ( (f_xco2a(ji,jj) .GT. 10000.0 ).OR.     & 
     319                       (f_xco2a(ji,jj) .LE. 0.0 ) ) THEN 
     320                     IF(lwp) THEN 
     321                        WRITE(numout,*) ' atm xCO2 = ',f_xco2a(ji,jj),       & 
     322                                        ' -- ji =', mig(ji),' jj = ', mjg(jj) 
     323                     ENDIF 
     324                     CALL ctl_stop( 'MEDUSA - trc_bio :',     & 
     325                                    'unrealistic coupled atm xCO2 ' ) 
     326                  ENDIF 
     327               ENDIF 
     328            ENDDO 
     329         ENDDO 
     330         !!---  
     331      ELSEIF (lk_pi_co2) THEN 
     332         !! OCMIP pre-industrial xCO2 
     333         IF ( ( kt == nittrc000 ) .AND. lwp )     & 
     334             WRITE(numout,*) '** MEDUSA Atm xCO2 fixed to pre-industrial value **' 
     335         !! f_xco2a(:,:) = 284.725       !! CMIP5 pre-industrial pCO2 
     336         f_xco2a(:,:) = 284.317          !! CMIP6 pre-industrial pCO2  
     337      ELSEIF ( xobs_xco2a > 0.0 ) THEN 
     338         IF(lwp) WRITE(numout,*) ' using observed atm pCO2 = ', xobs_xco2a 
     339         f_xco2a(:,:) = xobs_xco2a 
     340      ELSE       
     341         !! xCO2 from file 
     342         !! AXY - JPALM new interpolation scheme usinf nyear_len 
     343         this_y = real(nyear) 
     344         this_d = real(nday_year) 
     345         this_s = real(nsec_day) 
     346         !! 
     347         fyear = this_y + ((this_d - 1) + (this_s / (60. * 60. * 24.))) / real(nyear_len(1)) 
     348         !! 
     349         IF ( ( kt == nittrc000 ) .AND. lwp ) THEN  
     350            WRITE(numout,*) '** MEDUSA Atm xCO2 from file **' 
     351            WRITE(numout,*) ' MEDUSA year      =', this_y 
     352            WRITE(numout,*) ' Year length      =', real(nyear_len(1)) 
     353            WRITE(numout,*) ' MEDUSA nday_year =', this_d 
     354            WRITE(numout,*) ' MEDUSA nsec_day  =', this_s 
     355         ENDIF 
     356         !!  
     357         !! different case test  
     358         IF (fyear .LE. co2_yinit) THEN 
     359            !! before first record -- pre-industrial value 
     360            f_xco2a(:,:) = hist_pco2(1)   
     361         ELSEIF (fyear .GE. co2_yend) THEN 
     362            !! after last record - continue to use the last value 
     363            f_xco2a(:,:) = hist_pco2(int(co2_yend - co2_yinit + 1.) ) 
     364         ELSE 
     365            !! just right 
     366            iyr1 = int(fyear - co2_yinit) + 1 
     367            iyr2 = iyr1 + 1  
     368            fq3 = fyear - real(iyr1) - co2_yinit + 1. 
     369            fq4 = ((1 - fq3) * hist_pco2(iyr1)) + (fq3 * hist_pco2(iyr2)) 
     370            f_xco2a(:,:) = fq4 
     371            !! 
     372            IF ( ( kt == nittrc000 ) .AND. lwp ) THEN  
     373               WRITE(numout,*) ' MEDUSA year1     =', iyr1 
     374               WRITE(numout,*) ' MEDUSA year2     =', iyr2 
     375               WRITE(numout,*) ' xCO2 year1       =', hist_pco2(iyr1) 
     376               WRITE(numout,*) ' xCO2 year2       =', hist_pco2(iyr2) 
     377               WRITE(numout,*) ' Year2 weight     =', fq3 
     378            ENDIF 
     379         ENDIF 
     380      ENDIF 
     381  
     382      !! Writing xCO2 in output on start and on the 1st tsp of each  month 
     383      IF ( (kt == nittrc000 .AND. .NOT.ln_rsttr) .OR.                        & 
     384           ( nsec_month .LE. INT(rdt) ) )  THEN 
     385           IF ( lwp )  WRITE(numout,*) ' *** Atm xCO2 *** -- kt:', kt,       & 
     386                                       ';  current date:', ndastp 
     387          call trc_rst_dia_stat(f_xco2a(:,:), 'atm xCO2') 
     388      ENDIF 
    325389# endif 
    326390 
     
    348412      !!          x * 30d + 1*rdt(i.e: mod = rdt)    
    349413      !!          ++ need to pass carb-chem output var through restarts 
    350       If ( (kt == nittrc000 .AND. .NOT.ln_rsttr) .OR.                        & 
    351            ((86400*mod(nn_date0,100) + mod(kt*rdt,2592000.)) == rdt) ) THEN 
     414      !!If ( (kt == nitt8rc000 .AND. .NOT.ln_rsttr) .OR.          & 
     415      !!     ( (mod(kt*rdt,2592000.)) == rdt) THEN 
     416      !!============================= 
     417      !! (Jpalm -- updated for restartability issues) 
     418      !! We want this to be start of month or if starting afresh from   
     419      !! climatology - marc 20/6/17  
     420      !!If ( (kt == nittrc000 .AND. .NOT.ln_rsttr) .OR.                         &  
     421      !!     ((86400*mod(nn_date0,100) + mod(kt*rdt,2592000.)) == rdt) ) THEN  
     422      !!============================= 
     423      !! Jpalm -- 15-02-2018 -- need to change 3D carb-chem call freq again. 
     424      !! previous call did not work, probably the (86400*mod(nn_date0,100) part 
     425      !! should not be in... 
     426      !! now use the NEMO calendar tool : nsec_month to be sure to call  
     427      !! at the beginning of a new month . 
     428      !! DAF: For FOAM we want to run daily 
     429      IF ( (kt == nittrc000 .AND. .NOT.ln_rsttr) .OR.                        & 
     430           ( nsec_month .LE. INT(rdt) )          .OR.                        & 
     431           ( nsec_day   .LE. INT(rdt) .AND. ln_foam_medusa ) )  THEN 
     432           IF ( lwp )  WRITE(numout,*)                                       &          
     433                              ' *** 3D carb chem call *** -- kt:', kt,       & 
     434                              ';  current date:', ndastp  
    352435         !!--------------------------------------------------------------- 
    353436         !! Calculate the carbonate chemistry for the whole ocean on the first 
     
    450533 
    451534# if defined key_roam 
     535         !! extra MEDUSA-2 tracers 
    452536         DO jj = 2,jpjm1 
    453537            DO ji = 2,jpim1 
     
    456540                  zdtc(ji,jj) = max(0.,trn(ji,jj,jk,jpdtc)) 
    457541                  !! dissolved inorganic carbon 
    458                   zdic(ji,jj) = max(0.,trn(ji,jj,jk,jpdic)) 
     542                  zdic(ji,jj) = trn(ji,jj,jk,jpdic) 
    459543                  !! alkalinity 
    460                   zalk(ji,jj) = max(0.,trn(ji,jj,jk,jpalk)) 
     544                  zalk(ji,jj) = trn(ji,jj,jk,jpalk) 
    461545                  !! oxygen 
    462546                  zoxy(ji,jj) = max(0.,trn(ji,jj,jk,jpoxy)) 
     
    470554                  ztmp(ji,jj) = tsn(ji,jj,jk,jp_tem) 
    471555                  zsal(ji,jj) = tsn(ji,jj,jk,jp_sal) 
    472                   !! 
    473              !! AXY (28/02/14): check input fields 
    474                   if (ztmp(ji,jj) .lt. -3.0 .or. ztmp(ji,jj) .gt. 40.0 ) then 
    475                      IF(lwp) WRITE(numout,*)                                 & 
    476                         ' trc_bio_medusa: T WARNING 2D, ',                   & 
    477                         tsb(ji,jj,jk,jp_tem), tsn(ji,jj,jk,jp_tem),          & 
    478                         ' at (', ji, ',', jj, ',', jk, ') at time', kt 
    479            IF(lwp) WRITE(numout,*)                                 & 
    480                         ' trc_bio_medusa: T SWITCHING 2D, ',                 & 
    481                         tsn(ji,jj,jk,jp_tem), ' -> ', tsb(ji,jj,jk,jp_tem) 
    482                      !! temperatur 
    483                      ztmp(ji,jj) = tsb(ji,jj,jk,jp_tem) 
    484                   endif 
    485                   if (zsal(ji,jj) .lt. 0.0 .or. zsal(ji,jj) .gt. 45.0 ) then 
    486                      IF(lwp) WRITE(numout,*)                                 & 
    487                         ' trc_bio_medusa: S WARNING 2D, ',                   & 
    488                         tsb(ji,jj,jk,jp_sal), tsn(ji,jj,jk,jp_sal),          & 
    489                         ' at (', ji, ',', jj, ',', jk, ') at time', kt 
    490                   endif 
    491556               ENDIF 
    492557            ENDDO 
    493558         ENDDO 
    494559# else 
     560         !! diagnostic MEDUSA-1 detrital carbon tracer 
    495561         DO jj = 2,jpjm1 
    496562            DO ji = 2,jpim1 
    497                if (tmask(ji,jj,jk) == 1) then 
     563               IF (tmask(ji,jj,jk) == 1) THEN 
    498564                  !! implicit detrital carbon 
    499565                  zdtc(ji,jj) = zdet(ji,jj) * xthetad 
     
    502568         ENDDO 
    503569# endif 
     570 
     571# if defined key_roam 
     572         !! --------------------------------------------- 
     573         !! JPALM -- 14-12-2017 -- Here, before any exeptionnal crazy value is 
     574         !!              removed, we want to tell to the Master Processor that this  
     575         !!              Exceptionnal value did exist 
     576         !! 
     577         Call trc_bio_check(kt, jk) 
     578 
     579         !!================================================================ 
     580    !! AXY (03/11/17): check input fields 
     581         !! tracer values that exceed thresholds can cause carbonate system 
     582         !! failures when passed to MOCSY; temporary temperature excursions 
     583         !! in recent UKESM0.8 runs trigger such failures but are too short 
     584         !! to have physical consequences; this section checks for such 
     585         !! values and amends them using neighbouring values 
     586         !!  
     587         !! the check on temperature here is also carried out at the end of 
     588         !! each model time step and anomalies are reported in the master 
     589         !! ocean.output file; the error reporting below is strictly local 
     590         !! to the relevant ocean.output_XXXX file so will not be visible 
     591         !! unless all processors are reporting output 
     592         !!================================================================ 
     593         !! 
     594         DO jj = 2,jpjm1 
     595            DO ji = 2,jpim1 
     596               if (tmask(ji,jj,jk) == 1) then 
     597                  !! the thresholds for the four tracers are ... 
     598                  IF ( (ztmp(ji,jj) .LT. -3.0) .OR. (ztmp(ji,jj) .GT. 40.0  ) .OR.   & 
     599                       (zsal(ji,jj) .LE.  0.0) .OR. (zsal(ji,jj) .GT. 50.0  ) .OR.   & 
     600                       (zdic(ji,jj) .LE.  0.0) .OR. (zdic(ji,jj) .GT. 4.0E3 ) .OR.   & 
     601                       (zalk(ji,jj) .LE.  0.0) .OR. (zalk(ji,jj) .GT. 4.0E3 ) ) THEN 
     602                     !! 
     603                     !! all tracer values are reported in the event of any excursion 
     604                     IF (lwp) THEN 
     605                         WRITE(charout,*)  ' Tmp = ', ztmp(ji,jj) 
     606                         WRITE(charout2,*) ' Sal = ', zsal(ji,jj) 
     607                         WRITE(charout3,*) ' DIC = ', zdic(ji,jj) 
     608                         WRITE(charout4,*) ' Alk = ', zalk(ji,jj) 
     609                         WRITE(charout5,*) mig(ji), mjg(jj), jk, kt  
     610                         CALL ctl_warn( 'trc_bio_medusa: carbonate chemistry WARNING:',  & 
     611                            TRIM(charout),TRIM(charout2),TRIM(charout3),TRIM(charout4),  &  
     612                            'at i, j, k, kt:', TRIM(charout5) ) 
     613                     ENDIF 
     614                     !! 
     615                     !! Detect, report and correct tracer excursions 
     616                     IF ( (ztmp(ji,jj) .LT. -3.0) .OR. (ztmp(ji,jj) .GT.  40.0) )             & 
     617                        CALL trc_bio_exceptionnal_fix(                                         & 
     618                        tsn(ji-1:ji+1,jj-1:jj+1,jk,jp_tem), tmask(ji-1:ji+1,jj-1:jj+1,jk),    & 
     619                        'Tmp', -3.0, 40.0, ztmp(ji,jj) ) 
     620                     !! 
     621                     IF ( (zsal(ji,jj) .LE. 0.0) .OR. (zsal(ji,jj) .GT.  50.0)  )             & 
     622                        CALL trc_bio_exceptionnal_fix(                                         & 
     623                        tsn(ji-1:ji+1,jj-1:jj+1,jk,jp_sal), tmask(ji-1:ji+1,jj-1:jj+1,jk),    & 
     624                        'Sal', 1.0, 50.0, zsal(ji,jj) ) 
     625                     !! 
     626                     IF ( (zdic(ji,jj) .LE. 0.0) .OR. (zdic(ji,jj) .GT. 4.0E3)  )             & 
     627                        CALL trc_bio_exceptionnal_fix(                                         & 
     628                        trn(ji-1:ji+1,jj-1:jj+1,jk,jpdic), tmask(ji-1:ji+1,jj-1:jj+1,jk),     & 
     629                        'DIC', 100.0, 4.0E3, zdic(ji,jj) ) 
     630                     !! 
     631                     IF ( (zalk(ji,jj) .LE. 0.0) .OR. (zalk(ji,jj) .GT. 4.0E3)  )             & 
     632                        CALL trc_bio_exceptionnal_fix(                                         & 
     633                        trn(ji-1:ji+1,jj-1:jj+1,jk,jpalk), tmask(ji-1:ji+1,jj-1:jj+1,jk),     & 
     634                        'Alk', 100.0, 4.0E3, zalk(ji,jj) ) 
     635                  ENDIF 
     636               ENDIF 
     637            ENDDO 
     638         ENDDO 
     639# endif 
     640 
    504641# if defined key_debug_medusa 
    505642         DO jj = 2,jpjm1 
     
    657794   END SUBROUTINE trc_bio_medusa 
    658795 
     796 
     797 
     798   SUBROUTINE trc_bio_exceptionnal_fix(tiny_var, tiny_mask, var_nm, mini, maxi, varout) 
     799      !! JPALM (27/10/17): This function is called only when abnormal values that  
     800      !! could break the model's carbonate system are fed to MEDUSA 
     801      !!  
     802      !! The function calculates an average tracer value based on the 3x3 cell 
     803      !! neighbourhood around the abnormal cell, and reports this back 
     804      !!  
     805      !! Tracer array values are not modified, but MEDUSA uses "corrected" values 
     806      !! in its calculations 
     807      !! 
     808      !! temporary variables 
     809      REAL(wp), INTENT( in ), DIMENSION(3,3) :: tiny_var, tiny_mask 
     810      CHARACTER(3), INTENT( in )            :: var_nm 
     811      REAL(wp), INTENT( in )                 :: mini, maxi 
     812      REAL(wp), INTENT( out )                :: varout 
     813      REAL(wp)      :: sumtsn, tsnavg 
     814      INTEGER       :: summask 
     815      CHARACTER(25) :: charout1, charout2 
     816      CHARACTER(60) :: charout3, charout4 
     817      INTEGER       :: ii,ij 
     818     
     819      !! point to the center of the 3*3 zoom-grid, to check around 
     820      ii = 2 
     821      ij = 2 
     822      !! Print surounding values to check if isolated Crazy value or  
     823      !! General error 
     824      IF(lwp) THEN  
     825          WRITE(numout,*)                                 & 
     826            '----------------------------------------------------------------------' 
     827          WRITE(numout,*)                                 & 
     828            'trc_bio_medusa: 3x3 neighbourhood surrounding abnormal ', TRIM(var_nm) 
     829          WRITE(numout,9100)                              & 
     830            3, tiny_var(ii-1,ij+1), tiny_var(ii  ,ij+1), tiny_var(ii+1,ij+1) 
     831          WRITE(numout,9100)                              & 
     832            2, tiny_var(ii-1,ij  ), tiny_var(ii  ,ij  ), tiny_var(ii+1,ij  ) 
     833          WRITE(numout,9100)                              & 
     834            1, tiny_var(ii-1,ij-1), tiny_var(ii  ,ij-1), tiny_var(ii+1,ij-1) 
     835          WRITE(numout,*)                                 & 
     836            'trc_bio_medusa: 3x3 land-sea neighbourhood, tmask' 
     837          WRITE(numout,9100)                              & 
     838            3, tiny_mask(ii-1,ij+1), tiny_mask(ii  ,ij+1), tiny_mask(ii+1,ij+1) 
     839          WRITE(numout,9100)                              & 
     840            2, tiny_mask(ii-1,ij  ), tiny_mask(ii  ,ij  ), tiny_mask(ii+1,ij  ) 
     841          WRITE(numout,9100)                              & 
     842            1, tiny_mask(ii-1,ij-1), tiny_mask(ii  ,ij-1), tiny_mask(ii+1,ij-1) 
     843      ENDIF 
     844      !! Correct out of range values 
     845      sumtsn = ( tiny_mask(ii-1,ij+1) * tiny_var(ii-1,ij+1) ) +  & 
     846               ( tiny_mask(ii  ,ij+1) * tiny_var(ii  ,ij+1) ) +  & 
     847               ( tiny_mask(ii+1,ij+1) * tiny_var(ii+1,ij+1) ) +  & 
     848               ( tiny_mask(ii-1,ij  ) * tiny_var(ii-1,ij  ) ) +  & 
     849               ( tiny_mask(ii+1,ij  ) * tiny_var(ii+1,ij  ) ) +  & 
     850               ( tiny_mask(ii-1,ij-1) * tiny_var(ii-1,ij-1) ) +  & 
     851               ( tiny_mask(ii  ,ij-1) * tiny_var(ii  ,ij-1) ) +  & 
     852               ( tiny_mask(ii+1,ij-1) * tiny_var(ii+1,ij-1) ) 
     853      !! 
     854      summask = tiny_mask(ii-1,ij+1) + tiny_mask(ii  ,ij+1)   +  & 
     855                tiny_mask(ii+1,ij+1) + tiny_mask(ii-1,ij  )   +  & 
     856                tiny_mask(ii+1,ij  ) + tiny_mask(ii-1,ij-1)   +  & 
     857                tiny_mask(ii  ,ij-1) + tiny_mask(ii+1,ij-1) 
     858      !! 
     859      IF ( summask .GT. 0 ) THEN 
     860         tsnavg = ( sumtsn / summask ) 
     861         varout = MAX( MIN( maxi, tsnavg), mini ) 
     862      ELSE    
     863         IF (ztmp(ii,ij) .LT. mini )  varout = mini 
     864         IF (ztmp(ii,ij) .GT. maxi )  varout = maxi 
     865      ENDIF 
     866      !! 
     867      IF (lwp) THEN  
     868          WRITE(charout1,9200) tiny_var(ii,ij) 
     869          WRITE(charout2,9200) varout 
     870          WRITE(charout3,*) ' ', charout1, ' -> ', charout2 
     871          WRITE(charout4,*) ' Tracer: ', trim(var_nm) 
     872      !! 
     873          WRITE(numout,*) 'trc_bio_medusa: ** EXCEPTIONAL VALUE SWITCHING **' 
     874          WRITE(numout,*) charout4  
     875          WRITE(numout,*) charout3 
     876          WRITE(numout,*) '----------------------------------------------------------------------' 
     877          WRITE(numout,*) ' ' 
     878      ENDIF 
     879 
     8809100  FORMAT('Row:', i1, '  ', e16.6, ' ', e16.6, ' ', e16.6) 
     8819200  FORMAT(e16.6) 
     882 
     883   END SUBROUTINE trc_bio_exceptionnal_fix  
     884 
     885   SUBROUTINE trc_bio_check(kt, jk) 
     886      !!----------------------------------- 
     887      !! JPALM -- 14-12-2017 -- Still dealing with this micro-boil/carb failure 
     888      !!                     problem. The model is now able to correct a local 
     889      !!                     crazy value. but does it silently. 
     890      !!                     We need to spread the word to the master processor. we 
     891      !!                     don't want the model  to correct values without telling us 
     892      !!                     This module will tell at least when crazy DIC or 
     893      !!                     ALK appears. 
     894      !!------------------------------------- 
     895      REAL(wp)              :: zmax, zmin    ! temporary scalars 
     896      INTEGER               :: ji,jj         ! dummy loop 
     897      INTEGER               :: ii,ij         ! temporary scalars  
     898      INTEGER, DIMENSION(2) :: ilocs         !  
     899      INTEGER, INTENT( in ) :: kt, jk 
     900      !! 
     901      !!========================== 
     902      !! DIC Check 
     903      zmax =  -5.0  ! arbitrary  low maximum value 
     904      zmin =  4.0E4  ! arbitrary high minimum value 
     905      DO jj = 2, jpjm1 
     906         DO ji = 2,jpim1 
     907            IF( tmask(ji,jj,1) == 1) THEN 
     908               zmax = MAX(zmax,zdic(ji,jj))     ! find local maximum 
     909               zmin = MIN(zmin,zdic(ji,jj))     ! find local minimum 
     910            ENDIF 
     911         END DO 
     912      END DO 
     913      IF( lk_mpp )   CALL mpp_max( zmax )       ! max over the global domain 
     914      IF( lk_mpp )   CALL mpp_min( zmin )       ! min over the global domain 
     915      ! 
     916      IF( zmax .GT. 4.0E3) THEN  ! we've got a problem 
     917         IF (lk_mpp) THEN 
     918            CALL mpp_maxloc ( zdic(:,:),tmask(:,:,1), zmax, ii,ij ) 
     919         ELSE 
     920            ilocs = MAXLOC( zdic(:,:), mask = tmask(:,:,1) == 1. ) 
     921            ii = ilocs(1) + nimpp - 1 
     922            ij = ilocs(2) + njmpp - 1 
     923         ENDIF 
     924         ! 
     925         IF(lwp) THEN 
     926            WRITE(numout,*) 'trc_bio:tracer anomaly: *****    WARNING     *****' 
     927            WRITE(numout,*) 'trc_bio:tracer anomaly: DIC concentration > 4000 ' 
     928            WRITE(numout,9600) kt, zmax, ii, ij, jk 
     929            WRITE(numout,*) 'trc_bio:tracer anomaly: ***** END OF WARNING *****' 
     930         ENDIF 
     931      ENDIF 
     932      ! 
     933      IF( zmin .LE. 0.0) THEN  ! we've got a problem 
     934         IF (lk_mpp) THEN 
     935            CALL mpp_minloc ( zdic(:,:),tmask(:,:,1), zmin, ii,ij ) 
     936         ELSE 
     937            ilocs = MINLOC( zdic(:,:), mask = tmask(:,:,1) == 1. ) 
     938            ii = ilocs(1) + nimpp - 1 
     939            ij = ilocs(2) + njmpp - 1 
     940         ENDIF 
     941         ! 
     942         IF(lwp) THEN 
     943            WRITE(numout,*) 'trc_bio:tracer anomaly: *****    WARNING     *****' 
     944            WRITE(numout,*) 'trc_bio:tracer anomaly: DIC concentration <= 0 ' 
     945            WRITE(numout,9700) kt, zmin, ii, ij, jk 
     946            WRITE(numout,*) 'trc_bio:tracer anomaly: ***** END OF WARNING *****' 
     947         ENDIF 
     948      ENDIF 
     949      !! 
     950      !!========================== 
     951      !! ALKALINITY Check 
     952      zmax =  -5.0  ! arbitrary  low maximum value 
     953      zmin =  4.0E4  ! arbitrary high minimum value 
     954      DO jj = 2, jpjm1 
     955         DO ji = 2,jpim1 
     956            IF( tmask(ji,jj,1) == 1) THEN 
     957               zmax = MAX(zmax,zalk(ji,jj))     ! find local maximum 
     958               zmin = MIN(zmin,zalk(ji,jj))     ! find local minimum 
     959            ENDIF 
     960         END DO 
     961      END DO 
     962      IF( lk_mpp )   CALL mpp_max( zmax )       ! max over the global domain 
     963      IF( lk_mpp )   CALL mpp_min( zmin )       ! min over the global domain 
     964      ! 
     965      IF( zmax .GT. 4.0E3) THEN  ! we've got a problem 
     966         IF (lk_mpp) THEN 
     967            CALL mpp_maxloc ( zalk(:,:),tmask(:,:,1), zmax, ii,ij ) 
     968         ELSE 
     969            ilocs = MAXLOC( zalk(:,:), mask = tmask(:,:,1) == 1. ) 
     970            ii = ilocs(1) + nimpp - 1 
     971            ij = ilocs(2) + njmpp - 1 
     972         ENDIF 
     973         ! 
     974         IF(lwp) THEN 
     975            WRITE(numout,*) 'trc_bio:tracer anomaly: *****     WARNING    *****' 
     976            WRITE(numout,*) 'trc_bio:tracer anomaly: ALK concentration > 4000 ' 
     977            WRITE(numout,9800) kt, zmax, ii, ij, jk 
     978            WRITE(numout,*) 'trc_bio:tracer anomaly: ***** END OF WARNING *****' 
     979         ENDIF 
     980      ENDIF 
     981      ! 
     982      IF( zmin .LE. 0.0) THEN  ! we've got a problem 
     983         IF (lk_mpp) THEN 
     984            CALL mpp_minloc ( zalk(:,:),tmask(:,:,1), zmin, ii,ij ) 
     985         ELSE 
     986            ilocs = MINLOC( zalk(:,:), mask = tmask(:,:,1) == 1. ) 
     987            ii = ilocs(1) + nimpp - 1 
     988            ij = ilocs(2) + njmpp - 1 
     989         ENDIF 
     990         ! 
     991         IF(lwp) THEN 
     992            WRITE(numout,*) 'trc_bio:tracer anomaly: *****    WARNING     *****' 
     993            WRITE(numout,*) 'trc_bio:tracer anomaly:  ALK concentration <= 0 ' 
     994            WRITE(numout,9900) kt, zmin, ii, ij, jk 
     995            WRITE(numout,*) 'trc_bio:tracer anomaly: ***** END OF WARNING *****' 
     996         ENDIF 
     997      ENDIF 
     998 
     999 
     10009600  FORMAT ('trc_bio:tracer anomaly: kt=',i6,' max DIC: ',f16.10,', i j k: ',3i5) 
     10019700  FORMAT ('trc_bio:tracer anomaly: kt=',i6,' min DIC: ',f16.10,', i j k: ',3i5) 
     10029800  FORMAT ('trc_bio:tracer anomaly: kt=',i6,' max ALK: ',f16.10,', i j k: ',3i5) 
     10039900  FORMAT ('trc_bio:tracer anomaly: kt=',i6,' min ALK: ',f16.10,', i j k: ',3i5) 
     1004 
     1005   END SUBROUTINE trc_bio_check 
     1006 
     1007 
    6591008#else 
    6601009   !!===================================================================== 
     
    6631012CONTAINS 
    6641013   SUBROUTINE trc_bio_medusa( kt )                   ! Empty routine 
     1014      IMPLICIT NONE 
    6651015      INTEGER, INTENT( in ) ::   kt 
    6661016      WRITE(*,*) 'trc_bio_medusa: You should not have seen this print! error?', kt 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/TOP_SRC/MEDUSA/trcdms_medusa.F90

    r8132 r10296  
    113113! 
    114114! AXY (13/03/15): Anderson et al. (2001) 
     115!! JPALM --19-12-2017-- Tunable through the namelist 
     116!!                      within dmsmin - dmscut - dmsslp 
    115117        Jterm = xqsr + 1.0e-6 
    116118        !! this next line makes a hard-coded assumption about the  
     
    120122        Qterm = xdin / (xdin + 0.5) 
    121123        fq1 = log10(CHL * Jterm * Qterm) 
    122         if (fq1 > 1.72) then 
    123            dms_andr = (8.24 * (fq1 - 1.72)) + 2.29 
    124         else 
    125            dms_andr = 2.29 
     124        if (fq1 > dmscut) then 
     125           dms_andr = (dmsslp * (fq1 - dmscut)) + dmsmin 
     126        else 
     127           dms_andr = dmsmin 
    126128        endif 
    127129! 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/TOP_SRC/MEDUSA/trcini_medusa.F90

    r8147 r10296  
    271271      zn_dms_srf(:,:)  = 0.0 
    272272      za_dms_srf(:,:)  = 0.0 
    273       zn_chl_srf(:,:)  = 2.0E-8 !! Chl srf 
     273      zn_chl_srf(:,:)  = 2.0E-8 !! Chl cpl - set first as surf 
    274274      !! 
    275275      IF(lwp) WRITE(numout,*) ' trc_ini_medusa: DMS and CO2 flux (UKESM) initialised to zero' 
     
    278278         CO2Flux_out_cpl(:,:) =  zn_co2_flx(:,:)   !! Coupling variable 
    279279         DMS_out_cpl(:,:)     =  zn_dms_srf(:,:)   !! Coupling variable 
    280          chloro_out_cpl(:,:)  =  zn_chl_srf(:,:)   !! Coupling variable 
     280         chloro_out_cpl(:,:)  =  zn_chl_srf(:,:) * scl_chl   !! Coupling variable 
    281281      END IF 
    282282      !! 
     
    324324      IF(lwp) WRITE(numout,*) ' ~~~~~~~~~~~~~~' 
    325325      IF(lwp) CALL flush(numout) 
     326      !! 
     327      !!---------------------------------------------------------------------- 
     328      !! JPALM (23-01-2017): new way to initialize CO2-atm for cmip6  
     329      !!                     initially done in trcsms_medusa 
     330      !!---------------------------------------------------------------------- 
     331      !!  
     332      IF( ( .NOT.lk_oasis ) .AND. ( .NOT.lk_pi_co2 ) .AND. ( xobs_xco2a <= 0.0 ) ) THEN 
     333         IF(lwp) WRITE(numout,*) ' trc_ini_medusa: initialisating atm CO2 record' 
     334         CALL trc_ini_medusa_co2atm 
     335      ENDIF 
    326336 
    327337   END SUBROUTINE trc_ini_medusa 
     
    480490   END SUBROUTINE trc_ini_medusa_river 
    481491    
     492   SUBROUTINE trc_ini_medusa_co2atm 
     493      !!---------------------------------------------------------------------- 
     494      !!                     ***  trc_ini_medusa_co2atm  ***   
     495      !! 
     496      !! ** Purpose :   initialization atmospheric co2 record 
     497      !! 
     498      !! ** Method  : - Read the xco2 file 
     499      !!---------------------------------------------------------------------- 
     500      INTEGER                       ::  jn, jm, io, ierr, inum, iostatus 
     501      INTEGER, PARAMETER            ::  iskip = 4   ! number of 1st descriptor lines 
     502      REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:)   ::   zyy !: xCO2 record years 
     503      CHARACTER (len=10), PARAMETER ::  clname = 'xco2.atm'  !! atm CO2 record file 
     504      !!---------------------------------------------------------------------- 
     505 
     506      IF(lwp) WRITE(numout,*) 
     507      IF(lwp) WRITE(numout,*) ' trc_ini_medusa_co2atm: initialisation of atm CO2 historical record' 
     508      IF(lwp) WRITE(numout,*) ' ~~~~~~~~~~~' 
     509 
     510 
     511      IF(lwp) WRITE(numout,*) 'read of formatted file xco2.atm' 
     512 
     513      CALL ctl_opn( inum, clname, 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. ) 
     514      !!! 
     515      ! -Compute the number of year in the file 
     516      ! -File starts in co2_yinit, jn represents the record number in the file. 
     517      ! -Remove the file head (iskip lines) to jn 
     518      ! -The year is jn + yinit - 1  
     519      !! Determine the number of lines in xCO2 input file 
     520      iostatus = 0 
     521      jn = 1 
     522      DO WHILE ( iostatus == 0 ) 
     523        READ(inum,'(1x)', IOSTAT=iostatus, END=100) 
     524        jn = jn + 1 
     525      ENDDO 
     526      IF( iostatus .NE. 0 ) THEN 
     527        !! Error while reading xCO2 input file  
     528        CALL ctl_stop('trc_ini_medusa_co2atm: & 
     529                      & Error on the 1st reading of xco2.atm') 
     530        RETURN 
     531      ENDIF 
     532 100  co2_rec = jn - 1 - iskip 
     533      IF ( lwp) WRITE(numout,*) '    ', co2_rec ,' years read in the file' 
     534      !                                ! Allocate CO2 hist arrays 
     535      ierr = 0  
     536      ALLOCATE( hist_pco2(co2_rec),zyy(co2_rec), STAT=ierr ) 
     537      IF( ierr > 0 ) THEN 
     538         CALL ctl_stop( 'trc_ini_medusa_co2atm: unable to allocate  array' )   
     539         RETURN 
     540      ENDIF 
     541 
     542      REWIND(inum) 
     543 
     544      DO jm = 1, iskip        ! Skip over 1st six descriptor lines 
     545         READ(inum,'(1x)') 
     546      END DO 
     547      ! file starts in 1931 do jn represent the year in the century.jhh 
     548      ! Read file till the end 
     549      ! allocate start and end year of the file 
     550      DO jn = 1, co2_rec 
     551        READ(inum,'(F6.1,F12.7)', IOSTAT=io) zyy(jn), hist_pco2(jn) 
     552        IF( io .NE. 0 ) THEN 
     553          !! Error while reading xCO2 input file  
     554          CALL ctl_stop('trc_ini_medusa_co2atm: & 
     555                        & Error on the 2nd reading of xco2.atm') 
     556          RETURN 
     557        ENDIF 
     558 
     559        IF(jn==1) co2_yinit = zyy(jn) 
     560      END DO 
     561      co2_yend = co2_yinit + real(co2_rec) - 1. 
     562 
     563      IF(lwp) THEN        ! Control print 
     564         WRITE(numout,*) 
     565         WRITE(numout,*) 'CO2 hist start year: ', co2_yinit 
     566         WRITE(numout,*) 'CO2 hist end   year: ', co2_yend 
     567         WRITE(numout,*) ' Year   xCO2 atm ' 
     568         DO jn = 1, co2_rec 
     569            WRITE(numout, '(F6.1,F12.7)') zyy(jn), hist_pco2(jn) 
     570         END DO 
     571      ENDIF 
     572 
     573   END SUBROUTINE trc_ini_medusa_co2atm 
     574 
     575 
    482576#else 
    483577   !!---------------------------------------------------------------------- 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/TOP_SRC/MEDUSA/trcnam_medusa.F90

    r8442 r10296  
    2424   USE sms_medusa      ! sms trends 
    2525   USE iom             ! I/O manager 
     26   USE sbc_oce, ONLY: lk_oasis 
    2627   !!USE trc_nam_dia     ! JPALM 13-11-2015 -- if iom_use for diag 
    2728 
     
    8586      &  jriver_n,jriver_si,jriver_c,jriver_alk,jriver_dep,   & 
    8687      &  xsdiss,                                              & 
    87       &  sedlam,sedlostpoc,jpkb,jdms,jdms_input,jdms_model 
     88      &  sedlam,sedlostpoc,jpkb,jdms,jdms_input,jdms_model,   & 
     89      &  scl_chl, chl_out, dmsmin, dmscut, dmsslp,            & 
     90      &  ln_foam_medusa 
    8891#if defined key_roam 
    8992      NAMELIST/natroam/ xthetaphy,xthetazoo,xthetanit,        & 
     93      &    xobs_xco2a,                                        & 
    9094      &    xthetarem,xo2min  
    9195#endif 
     
    125129      ! 1.4 namelist natbio : biological parameters 
    126130      ! ------------------------------------------- 
     131      !! Note: the default values below will all be overwritten by the 
     132      !!       input in the namelist natbio. 
    127133       
    128134      xxi         = 0. 
     
    246252      jdms_input  = 0 
    247253      jdms_model  = 0 
     254      scl_chl     = 1. 
     255      chl_out     = 1 
     256      dmsmin      = 2.29 !! Anderson DMS default 
     257      dmscut      = 1.72 !! Anderson DMS default 
     258      dmsslp      = 8.24 !! Anderson DMS default 
     259!! 
     260      ln_foam_medusa = .FALSE. 
    248261             
    249262      !REWIND(numnatm) 
     
    399412!!       jdms_model  :  choice of DMS model passed to atmosphere 
    400413!!                      1 = ANDR, 2 = SIMO, 3 = ARAN, 4 = HALL, 5 = ANDM 
    401 !! 
     414!!       dmsmin      : DMS minimum value for DMS Anderson (ANDR) sheme ONLY 
     415!!       dmscut      : DMS cutoff value for DMS Anderson (ANDR) sheme ONLY 
     416!!       dmsslp      : DMS slope value for DMS Anderson (ANDR) sheme ONLY 
     417!! UKESM1 - exported Chl to UM 
     418!!       scl_chl     : scaling factor to tune the chl field sent to the UM 
     419!!       chl_out     : select the chl field to send at the UM: 
     420!!                     1- Surf Chl ; 2- MLD Chl  
     421!! 
     422!! FOAM - observation operator and data assimilation 
     423!!       ln_foam_medusa : calculate required diagnostics 
     424 
    402425      IF(lwp) THEN 
    403426!! 
     
    909932!! 
    910933!! UKESM1 - new diagnostics  !! Jpalm; AXY (08/07/15) 
    911          WRITE(numout,*) '=== UKESM1-related parameters' 
    912          WRITE(numout,*)     & 
    913          &   ' include DMS diagnostic?,                                   jdms        = ', jdms 
    914          if (jdms_input .eq. 0) then 
    915             WRITE(numout,*)     & 
    916             &   ' use instant (0) or diel-avg (1) inputs,                    jdms_input  = instantaneous' 
    917          else 
    918             WRITE(numout,*)     & 
    919             &   ' use instant (0) or diel-avg (1) inputs,                    jdms_input  = diel-average' 
    920          endif 
    921     if (jdms_model .eq. 1) then 
    922             WRITE(numout,*)     & 
    923             &   ' choice of DMS model passed to atmosphere,                  jdms_model  = Anderson et al. (2001)' 
    924     elseif (jdms_model .eq. 2) then 
    925             WRITE(numout,*)     & 
    926             &   ' choice of DMS model passed to atmosphere,                  jdms_model  = Simo & Dachs (2002)' 
    927     elseif (jdms_model .eq. 3) then 
    928             WRITE(numout,*)     & 
    929             &   ' choice of DMS model passed to atmosphere,                  jdms_model  = Aranami & Tsunogai (2004)' 
    930     elseif (jdms_model .eq. 4) then 
    931             WRITE(numout,*)     & 
    932             &   ' choice of DMS model passed to atmosphere,                  jdms_model  = Halloran et al. (2010)' 
    933     elseif (jdms_model .eq. 5) then 
    934             WRITE(numout,*)     & 
    935             &   ' choice of DMS model passed to atmosphere,                  jdms_model  = Anderson et al. (2001; modified)' 
    936          endif 
     934         WRITE(numout,*) '=== UKESM1-related parameters ===' 
     935         WRITE(numout,*) ' ---- --- ---' 
     936 
     937         IF (lk_oasis) THEN 
     938            WRITE(numout,*) '=== UKESM1 --  coupled DMS to the atmosphere' 
     939            WRITE(numout,*)     & 
     940            &   ' include DMS diagnostic?,                                   jdms        = ', jdms 
     941            if (jdms_input .eq. 0) then 
     942               WRITE(numout,*)     & 
     943               &   ' use instant (0) or diel-avg (1) inputs,                    jdms_input  = instantaneous' 
     944            else 
     945               WRITE(numout,*)     & 
     946               &   ' use instant (0) or diel-avg (1) inputs,                    jdms_input  = diel-average' 
     947            endif 
     948          if (jdms_model .eq. 1) then 
     949               WRITE(numout,*)     & 
     950               &   ' choice of DMS model passed to atmosphere,                  jdms_model  = Anderson et al. (2001)' 
     951       elseif (jdms_model .eq. 2) then 
     952               WRITE(numout,*)     & 
     953               &   ' choice of DMS model passed to atmosphere,                  jdms_model  = Simo & Dachs (2002)' 
     954       elseif (jdms_model .eq. 3) then 
     955               WRITE(numout,*)     & 
     956               &   ' choice of DMS model passed to atmosphere,                  jdms_model  = Aranami & Tsunogai (2004)' 
     957       elseif (jdms_model .eq. 4) then 
     958               WRITE(numout,*)     & 
     959               &   ' choice of DMS model passed to atmosphere,                  jdms_model  = Halloran et al. (2010)' 
     960       elseif (jdms_model .eq. 5) then 
     961               WRITE(numout,*)     & 
     962               &   ' choice of DMS model passed to atmosphere,                  jdms_model  = Anderson et al. (2001; modified)' 
     963            endif 
     964            if (jdms_model .eq. 1) then 
     965               WRITE(numout,*)     & 
     966               &   ' Anderson DMS model tuned parameters:                       DMS minimum = ',dmsmin,'. -- Default = 2.29 ' 
     967               WRITE(numout,*)     & 
     968               &   ' Anderson DMS model tuned parameters:                       DMS cutoff  = ',dmscut,'. -- Default = 1.72 ' 
     969               WRITE(numout,*)     & 
     970               &   ' Anderson DMS model tuned parameters:                       DMS slope   = ',dmsslp,'. -- Default = 8.24 ' 
     971            endif 
     972 
     973            WRITE(numout,*) '=== UKESM1 --  coupled Chl to the atmosphere' 
     974            WRITE(numout,*)        & 
     975               &   ' Scaling factor to export tuned Chl to the atmosphere       scl_chl  = ', scl_chl 
     976            IF (chl_out .eq. 1) THEN 
     977               WRITE(numout,*)        & 
     978               &   ' Chl field to be scaled and sent to the atmosphere:         chl_out  = Surface Chl field ' 
     979            ELSEIF (chl_out .eq. 2) THEN 
     980               WRITE(numout,*)        & 
     981               &   ' Chl field to be scaled and sent to the atmosphere:         chl_out  = MLD Chl field ' 
     982            ENDIF 
     983         ENDIF ! IF lk_oasis=true 
     984!! FOAM 
     985         WRITE(numout,*) '=== FOAM-related parameters' 
     986         WRITE(numout,*)     & 
     987         &   ' calculate diagnostics for data assimilation,            ln_foam_medusa = ', ln_foam_medusa 
    937988!! 
    938989      ENDIF 
     
    9901041      xthetarem = 0. 
    9911042      xo2min    = 0. 
     1043      xobs_xco2a = 0. 
    9921044 
    9931045      !READ(numnatm,natroam) 
     
    10091061!!       xthetarem :  oxygen consumption by carbon remineralisation 
    10101062!!       xo2min    :  oxygen minimum concentration 
     1063!!       xobs_xco2a : observed atmospheric xCO2 (not used if <= 0) 
    10111064 
    10121065      IF(lwp) THEN 
     
    10261079          WRITE(numout,*)     & 
    10271080          &   ' oxygen minimum concentration                               xo2min      = ', xo2min 
     1081          WRITE(numout,*)     & 
     1082          &   ' observed atmospheric xCO2 (not used if <= 0)               xobs_xco2a  = ', xobs_xco2a 
    10281083       ENDIF 
    10291084 
     
    20532108          med_diag%OCN_DPCO2%dgsave = .FALSE. 
    20542109      ENDIF 
    2055       !! 
     2110      !! UKESM additional 
     2111      IF  (iom_use("CHL_MLD")) THEN  
     2112          med_diag%CHL_MLD%dgsave = .TRUE. 
     2113      ELSE  
     2114          med_diag%CHL_MLD%dgsave = .FALSE. 
     2115      ENDIF 
     2116      IF  (iom_use("CHL_CPL")) THEN  
     2117          med_diag%CHL_CPL%dgsave = .TRUE. 
     2118      ELSE  
     2119          med_diag%CHL_CPL%dgsave = .FALSE. 
     2120      ENDIF 
     2121      !! 3D 
    20562122      IF  (iom_use("TPP3")) THEN  
    20572123          med_diag%TPP3%dgsave = .TRUE. 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/TOP_SRC/MEDUSA/trcsms_medusa.F90

    r8074 r10296  
    88   !!              -   !  2008-11  (A. Yool) continuing adaptation for MEDUSA 
    99   !!              -   !  2010-03  (A. Yool) updated for branch inclusion 
     10   !!              -   !  2017-08  (A. Yool) amend for slow detritus bug 
    1011   !!---------------------------------------------------------------------- 
    1112#if defined key_medusa 
     
    2223   USE trcsed_medusa 
    2324   USE trcavg_medusa 
     25   !! for SMS trends 
     26   USE par_medusa,    ONLY: jp_msa0, jp_msa1, jp_medusa 
     27   USE par_oce,       ONLY: jpi, jpj, jpk 
     28   USE trd_oce,       ONLY: jptra_sms, l_trdtrc 
     29   USE trdtrc 
    2430 
    2531 
     
    4652      !!---------------------------------------------------------------------- 
    4753      INTEGER, INTENT(in) :: kt   ! ocean time-step index 
     54      !! Loop variables 
     55      INTEGER :: jn 
     56      !! trend temporary array: 
     57      REAL(wp), POINTER, DIMENSION(:,:,:,:) :: ztrmed 
     58 
    4859 
    4960# if defined key_debug_medusa 
     
    5768       IF(lwp) WRITE(numout,*) ' ~~~~~~~~~~~~~~' 
    5869      ENDIF 
     70 
     71      !! MEDUSA SMS trends: 
     72      IF( l_trdtrc ) THEN 
     73          CALL wrk_alloc( jpi, jpj, jpk, jp_medusa, ztrmed ) 
     74          ztrmed(:,:,:,:)=0.0   
     75          DO jn = 1, jp_medusa 
     76            ztrmed(:,:,:,jn) = tra(:,:,:,jp_msa0 + jn - 1) 
     77          END DO 
     78      END IF 
    5979 
    6080      CALL trc_avg_medusa( kt ) ! rolling average module 
     
    88108#  endif 
    89109       
    90       CALL trc_sed_medusa( kt ) ! sedimentation model 
    91 #  if defined key_debug_medusa 
    92       IF(lwp) WRITE(numout,*) ' MEDUSA done trc_sed_medusa' 
    93       CALL flush(numout) 
    94 #  endif 
     110!! AXY (08/08/2017): remove call to buggy subroutine (now handled by detritus.F90) 
     111!!       CALL trc_sed_medusa( kt ) ! sedimentation model 
     112!! #  if defined key_debug_medusa 
     113!!       IF(lwp) WRITE(numout,*) ' MEDUSA done trc_sed_medusa' 
     114!!       CALL flush(numout) 
     115!! #  endif 
    95116# endif 
     117 
     118      !! MEDUSA SMS trends: 
     119      IF( l_trdtrc ) THEN 
     120          DO jn = 1, jp_medusa 
     121            ztrmed(:,:,:,jn) = tra(:,:,:,jp_msa0 + jn - 1)-ztrmed(:,:,:,jn) 
     122            CALL trd_trc( ztrmed(:,:,:,jn), jn, jptra_sms, kt )   ! save trends 
     123          END DO 
     124          CALL wrk_dealloc( jpi, jpj, jpk, jp_medusa, ztrmed ) 
     125      END IF 
     126 
    96127 
    97128   END SUBROUTINE trc_sms_medusa 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/TOP_SRC/MEDUSA/zooplankton.F90

    r8441 r10296  
    4141                                   idf, idfval,                          & 
    4242                                   zdet, zdtc, zphd, zphn, zzme, zzmi 
    43       USE dom_oce,           ONLY: e3t_0, e3t_n, tmask 
     43      USE dom_oce,           ONLY: e3t_0, tmask 
     44#if defined key_vvl 
     45      USE dom_oce,           ONLY: e3t_n 
     46#endif 
    4447      USE par_kind,          ONLY: wp 
    4548      USE in_out_manager,    ONLY: lwp, numout 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/TOP_SRC/TRP/trcbbl.F90

    r7771 r10296  
    5151      !! 
    5252      !!----------------------------------------------------------------------   
     53      IMPLICIT NONE 
    5354      INTEGER, INTENT( in ) ::   kt   ! ocean time-step  
    5455      CHARACTER (len=22) :: charout 
    5556      REAL(wp), ALLOCATABLE, DIMENSION(:,:,:,:) ::   ztrtrd 
     57      INTEGER :: jn                   ! Local loop index 
    5658      !!---------------------------------------------------------------------- 
    5759      ! 
     
    108110CONTAINS 
    109111   SUBROUTINE trc_bbl( kt )              ! Empty routine 
     112      IMPLICIT NONE 
     113      INTEGER, INTENT(in) ::   kt    ! ocean time-step index 
    110114      WRITE(*,*) 'tra_bbl: You should not have seen this print! error?', kt 
    111115   END SUBROUTINE trc_bbl 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/TOP_SRC/TRP/trcnxt.F90

    r6487 r10296  
    2727   !!---------------------------------------------------------------------- 
    2828   USE oce_trc         ! ocean dynamics and tracers variables 
     29   USE domvvl          ! variable volume   
    2930   USE trc             ! ocean passive tracers variables 
    3031   USE lbclnk          ! ocean lateral boundary conditions (or mpp link) 
    3132   USE prtctl_trc      ! Print control for debbuging 
     33   USE trcnam_trp      ! passive tracers transport namelist variables 
    3234   USE trd_oce 
    3335   USE trdtra 
     
    4547   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:) ::   r2dt 
    4648 
     49   !! * Substitutions 
     50#  include "domzgr_substitute.h90" 
    4751   !!---------------------------------------------------------------------- 
    4852   !! NEMO/TOP 3.3 , NEMO Consortium (2010) 
     
    124128      IF( l_trdtrc )  THEN 
    125129         CALL wrk_alloc( jpi, jpj, jpk, jptra, ztrdt )  !* store now fields before applying the Asselin filter 
    126          ztrdt(:,:,:,:)  = trn(:,:,:,:) 
     130         ztrdt(:,:,jpk,:) = 0._wp 
     131         IF( ln_trcldf_iso ) THEN                       ! diagnose the "pure" Kz diffusive trend  
     132            DO jn = 1, jptra 
     133               CALL trd_tra( kt, 'TRC', jn, jptra_zdfp, ztrdt(:,:,:,jn) ) 
     134            ENDDO 
     135         ENDIF 
     136         ! total trend for the non-time-filtered variables. 
     137         ! G Nurser 23 Mar 2017. Recalculate trend as Delta(e3t*T)/e3tn; e3tn 
     138         ! cancel from tsn terms 
     139         IF( lk_vvl ) THEN 
     140            DO jn = 1, jptra 
     141               DO jk = 1, jpkm1 
     142                  zfact = 1.0 / rdttrc(jk) 
     143                  ztrdt(:,:,jk,jn) = ( tra(:,:,jk,jn)*fse3t_a(:,:,jk) / fse3t_n(:,:,jk) - & 
     144                                       trn(:,:,jk,jn) ) * zfact 
     145               END DO 
     146            END DO 
     147         ELSE 
     148            DO jn = 1, jptra 
     149               DO jk = 1, jpkm1 
     150                  zfact = 1.0 / rdttrc(jk) 
     151                  ztrdt(:,:,jk,jn) = ( tra(:,:,jk,jn) - trn(:,:,jk,jn) ) * zfact 
     152               END DO 
     153            END DO 
     154         END IF 
     155         DO jn = 1, jptra 
     156            CALL trd_tra( kt, 'TRC', jn, jptra_tot, ztrdt(:,:,:,jn) ) 
     157         ENDDO 
     158         IF( .NOT.lk_vvl )  THEN 
     159            ! Store now fields before applying the Asselin filter  
     160            ! in order to calculate Asselin filter trend later. 
     161            ztrdt(:,:,:,:)  = trn(:,:,:,:) 
     162         ENDIF 
    127163      ENDIF 
    128164      ! Leap-Frog + Asselin filter time stepping 
     
    134170            END DO 
    135171         END DO 
     172         IF (l_trdtrc.AND.lk_vvl) THEN      ! Zero Asselin filter contribution 
     173                                            ! must be explicitly written out since for vvl 
     174                                            ! Asselin filter is output by 
     175                                            ! tra_nxt_vvl that is not called on 
     176                                            ! this time step 
     177            ztrdt(:,:,:,:) = 0._wp 
     178            DO jn = 1, jptra 
     179               CALL trd_tra( kt, 'TRC', jn, jptra_atf, ztrdt(:,:,:,jn) ) 
     180            ENDDO 
     181         END IF 
     182 
    136183         !                                               
    137184      ELSE 
     
    144191 
    145192      ! trends computation 
    146       IF( l_trdtrc ) THEN                                      ! trends 
     193      IF( l_trdtrc.AND..NOT.lk_vvl) THEN                                      ! trends 
    147194         DO jn = 1, jptra 
    148195            DO jk = 1, jpkm1 
    149196               zfact = 1.e0 / r2dt(jk)   
    150197               ztrdt(:,:,jk,jn) = ( trb(:,:,jk,jn) - ztrdt(:,:,jk,jn) ) * zfact  
    151                CALL trd_tra( kt, 'TRC', jn, jptra_atf, ztrdt ) 
    152             END DO 
     198            END DO 
     199            CALL trd_tra( kt, 'TRC', jn, jptra_atf, ztrdt(:,:,:,jn) ) 
    153200         END DO 
    154          CALL wrk_dealloc( jpi, jpj, jpk, jptra, ztrdt )  
    155201      END IF 
     202      ! 
     203      IF( l_trdtrc)  CALL wrk_dealloc( jpi, jpj, jpk, jptra, ztrdt )  
    156204      ! 
    157205      IF(ln_ctl)   THEN  ! print mean trends (used for debugging) 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/TOP_SRC/TRP/trcsbc.F90

    r8356 r10296  
    140140      DO jn = 1, jptra 
    141141         ! 
    142          IF( l_trdtrc ) ztrtrd(:,:,:) = tra(:,:,:,jn)  ! save trends 
    143          !                                             ! add the trend to the general tracer trend 
     142         IF( l_trdtrc ) THEN 
     143            ztrtrd(:,:,:) = 0.0 
     144            ztrtrd(:,:,1) = tra(:,:,1,jn)  ! save surface trends 
     145         !                                 ! add the trend to the general tracer trend 
     146         ENDIF 
    144147 
    145148         IF ( nn_ice_tr == -1 ) THEN  ! No tracers in sea ice (null concentration in sea ice) 
     
    184187         ! 
    185188         IF( l_trdtrc ) THEN 
    186             ztrtrd(:,:,:) = tra(:,:,:,jn) - ztrtrd(:,:,:) 
     189            ztrtrd(:,:,1) = tra(:,:,1,jn) - ztrtrd(:,:,1) 
    187190            CALL trd_tra( kt, 'TRC', jn, jptra_nsr, ztrtrd ) 
    188191         END IF 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/TOP_SRC/TRP/trctrp.F90

    r8442 r10296  
    2828   USE zpshde          ! partial step: hor. derivative       (zps_hde routine) 
    2929# if defined key_debug_medusa 
    30    USE trcrst 
     30   USE trcstat 
    3131# endif 
    3232 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/TOP_SRC/TRP/trczdf.F90

    r6486 r10296  
    1515   !!---------------------------------------------------------------------- 
    1616   USE oce_trc         ! ocean dynamics and active tracers 
     17   USE domvvl          ! variable volume        
    1718   USE trc             ! ocean passive tracers variables 
    1819   USE trcnam_trp      ! passive tracers transport namelist variables 
     
    9899 
    99100      IF( l_trdtrc )   THEN                      ! save the vertical diffusive trends for further diagnostics 
     101         !! JPALM -- 18-08-2017 -- vvl case, do as done by G Nurser in trazdf  
     102         IF( lk_vvl ) THEN 
     103            DO jn = 1, jptra 
     104               DO jk = 1, jpkm1 
     105                  ztrtrd(:,:,jk,jn) = ( ( tra(:,:,jk,jn)*fse3t_a(:,:,jk) - & 
     106                                          trb(:,:,jk,jn)*fse3t_b(:,:,jk) ) & 
     107                                       / (fse3t_n(:,:,jk)*r2dt(jk)) ) - ztrtrd(:,:,jk,jn) 
     108               END DO 
     109            END DO 
     110         ELSE 
     111            DO jn = 1, jptra 
     112               DO jk = 1, jpkm1 
     113                  ztrtrd(:,:,jk,jn) = ( ( tra(:,:,jk,jn) - trb(:,:,jk,jn) ) / r2dt(jk) ) - ztrtrd(:,:,jk,jn) 
     114               END DO 
     115            END DO 
     116         ENDIF  
    100117         DO jn = 1, jptra 
    101             DO jk = 1, jpkm1 
    102                ztrtrd(:,:,jk,jn) = ( ( tra(:,:,jk,jn) - trb(:,:,jk,jn) ) / r2dt(jk) ) - ztrtrd(:,:,jk,jn) 
    103             END DO 
    104118            CALL trd_tra( kt, 'TRC', jn, jptra_zdf, ztrtrd(:,:,:,jn) ) 
    105119         END DO 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/TOP_SRC/TRP/trdtrc.F90

    r6486 r10296  
    1919   USE trdmxl_trc        ! Mixed layer trends diag. 
    2020   USE iom               ! I/O library 
     21# if defined key_debug_medusa 
     22   USE trcstat,          ONLY: trc_rst_dia_stat      
     23# endif 
    2124 
    2225   IMPLICIT NONE 
     
    8689 
    8790      IF( lk_trdtrc .AND. ln_trdtrc( kjn ) ) THEN 
    88          ! 
     91      !! JPALM -- 17-08-2017 -- modif following trd_tra_iom as suggested by Georges 
     92      !!                     -- add jptra_tot; jptra_totad; jptra_zdfp 
     93      !!                     -- shange to output trends every 2 time-step, except tot. 
     94      !!                     -- move cltra and iomput inside the select case 
     95      !!                     So if an non-wanted case arrives here it will not go 
     96      !!                     through cltra (without value) and break iomput. 
     97      !!                     -- Add iom_use in prevision of not using All trends 
     98      !!                     for All passive tracers (will create a HUGE 3D file otherwise -- 
     99      !!                     might be interested in very few of them : SMS and TOT probably) 
     100         ! 
     101         SELECT CASE( ktrd ) 
     102         !! tot - output every time-step: 
     103         CASE( jptra_tot  )       ;    WRITE (cltra,'("TOT_",4a)') 
     104                           cltra = TRIM(cltra)//TRIM(ctrcnm(kjn)) 
     105                           CALL trd_trc_iomput( cltra, ptrtrd, kjn, kt ) 
     106         END SELECT 
     107         ! 
     108       IF( MOD( kt, 2 ) == 0 ) THEN 
    89109         SELECT CASE( ktrd ) 
    90110         CASE( jptra_xad  )       ;    WRITE (cltra,'("XAD_",4a)') 
     111                           cltra = TRIM(cltra)//TRIM(ctrcnm(kjn)) 
     112                           CALL trd_trc_iomput( cltra, ptrtrd, kjn, kt ) 
    91113         CASE( jptra_yad  )       ;    WRITE (cltra,'("YAD_",4a)') 
    92          CASE( jptra_zad  )       ;    WRITE (cltra,'("ZAD_",4a)') 
     114                           cltra = TRIM(cltra)//TRIM(ctrcnm(kjn)) 
     115                           CALL trd_trc_iomput( cltra, ptrtrd, kjn, kt ) 
     116         CASE( jptra_zad  )       ;    WRITE (cltra,'("ZAD_",4a)')      !! care vvl case 
     117                           cltra = TRIM(cltra)//TRIM(ctrcnm(kjn)) 
     118                           CALL trd_trc_iomput( cltra, ptrtrd, kjn, kt ) 
     119         CASE( jptra_totad  )     ;    WRITE (cltra,'("TAD_",4a)')      !! total adv 
     120                           cltra = TRIM(cltra)//TRIM(ctrcnm(kjn)) 
     121                           CALL trd_trc_iomput( cltra, ptrtrd, kjn, kt ) 
    93122         CASE( jptra_ldf  )       ;    WRITE (cltra,'("LDF_",4a)') 
     123                           cltra = TRIM(cltra)//TRIM(ctrcnm(kjn)) 
     124                           CALL trd_trc_iomput( cltra, ptrtrd, kjn, kt ) 
    94125         CASE( jptra_bbl  )       ;    WRITE (cltra,'("BBL_",4a)') 
     126                           cltra = TRIM(cltra)//TRIM(ctrcnm(kjn)) 
     127                           CALL trd_trc_iomput( cltra, ptrtrd, kjn, kt ) 
    95128         CASE( jptra_nsr  )       ;    WRITE (cltra,'("FOR_",4a)') 
     129                           cltra = TRIM(cltra)//TRIM(ctrcnm(kjn)) 
     130                           CALL trd_trc_iomput( cltra, ptrtrd, kjn, kt ) 
    96131         CASE( jptra_zdf  )       ;    WRITE (cltra,'("ZDF_",4a)') 
     132                           cltra = TRIM(cltra)//TRIM(ctrcnm(kjn)) 
     133                           CALL trd_trc_iomput( cltra, ptrtrd, kjn, kt ) 
     134         CASE( jptra_zdfp )       ;    WRITE (cltra,'("ZDP_",4a)') 
     135                           cltra = TRIM(cltra)//TRIM(ctrcnm(kjn)) 
     136                           CALL trd_trc_iomput( cltra, ptrtrd, kjn, kt ) 
    97137         CASE( jptra_dmp  )       ;    WRITE (cltra,'("DMP_",4a)') 
     138                           cltra = TRIM(cltra)//TRIM(ctrcnm(kjn)) 
     139                           CALL trd_trc_iomput( cltra, ptrtrd, kjn, kt ) 
    98140         CASE( jptra_sms  )       ;    WRITE (cltra,'("SMS_",4a)') 
     141                           cltra = TRIM(cltra)//TRIM(ctrcnm(kjn)) 
     142                           CALL trd_trc_iomput( cltra, ptrtrd, kjn, kt ) 
     143         CASE( jptra_radb )       ;    WRITE (cltra,'("RDB_",4a)') 
     144                           cltra = TRIM(cltra)//TRIM(ctrcnm(kjn)) 
     145                           CALL trd_trc_iomput( cltra, ptrtrd, kjn, kt ) 
     146         CASE( jptra_radn )       ;    WRITE (cltra,'("RDN_",4a)') 
     147                           cltra = TRIM(cltra)//TRIM(ctrcnm(kjn)) 
     148                           CALL trd_trc_iomput( cltra, ptrtrd, kjn, kt ) 
     149         END SELECT 
     150       ELSE IF( MOD( kt, 2 ) == 1 ) THEN 
     151         SELECT CASE( ktrd ) 
    99152         CASE( jptra_atf  )       ;    WRITE (cltra,'("ATF_",4a)') 
    100          CASE( jptra_radb )       ;    WRITE (cltra,'("RDB_",4a)') 
    101          CASE( jptra_radn )       ;    WRITE (cltra,'("RDN_",4a)') 
    102          END SELECT 
    103                                           cltra = TRIM(cltra)//TRIM(ctrcnm(kjn)) 
    104                                           CALL iom_put( cltra,  ptrtrd(:,:,:) ) 
     153                           cltra = TRIM(cltra)//TRIM(ctrcnm(kjn)) 
     154                           CALL trd_trc_iomput( cltra, ptrtrd, kjn, kt ) 
     155         END SELECT 
     156       END IF 
    105157         ! 
    106158      END IF 
     
    123175 
    124176   END SUBROUTINE trd_trc_bio 
     177 
     178   SUBROUTINE trd_trc_iomput( cltra, ptrtrd, kjn, kt ) 
     179      !!---------------------------------------------------------------------- 
     180      !!                  ***  ROUTINE trd_trc_iomput  *** 
     181      !!---------------------------------------------------------------------- 
     182      INTEGER, INTENT( in )  ::   kt                                  ! timestep 
     183      INTEGER, INTENT( in )  ::   kjn                                 ! biotrend index 
     184      REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT( inout )  ::   ptrtrd  ! var trend 
     185      CHARACTER (len=*),INTENT( in ) :: cltra                         ! trend name 
     186      !!---------------------------------------------------------------------- 
     187 
     188 
     189      IF  (iom_use(cltra)) THEN 
     190# if defined key_debug_medusa 
     191         IF(lwp) WRITE(numout,*) ' TREND stats (min, max,sum) kt = ',kt ,' jn = ',kjn 
     192         CALL trc_rst_dia_stat( ptrtrd(:,:,1), cltra) 
     193# endif 
     194         CALL iom_put( cltra,  ptrtrd(:,:,:) ) 
     195# if defined key_debug_medusa 
     196      ELSE 
     197         IF(lwp) WRITE(numout,*) & 
     198                      ' TREND -- No output asked for ',cltra,' kt = ',kt,' jn = ',kjn 
     199         CALL trc_rst_dia_stat( ptrtrd(:,:,1), cltra) 
     200# endif 
     201      ENDIF 
     202 
     203   END SUBROUTINE trd_trc_iomput 
     204 
     205 
    125206#else 
    126207   !!---------------------------------------------------------------------- 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/TOP_SRC/trc.F90

    r8280 r10296  
    3333   !! -------------------------------------------------- 
    3434   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:)               ::  trai           !: initial total tracer 
     35# if defined key_medusa && key_roam  
     36   !! AXY (17/11/2017): elemental cycle initial totals 
     37   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:)               ::  cycletot       !: initial elemental cycle total 
     38   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:)               ::  cycletot2      !: initial elemental cycle total excl. halo in mpp_sum 
     39# endif 
    3540   REAL(wp), PUBLIC                                                ::  areatot        !: total volume  
    3641   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:  )         ::  cvol           !: volume correction -degrad option-  
     
    105110   END TYPE DIAG 
    106111 
    107 #if defined key_medusa && defined key_iomput 
     112#if defined key_medusa 
    108113   TYPE, PUBLIC :: BDIAG 
    109114      LOGICAL              :: dgsave 
     
    134139                  OCN_KWCO2, OCN_K0, CO2STARAIR, OCN_DPCO2,                                          & ! end of regular 2D 
    135140                  TPP3, DETFLUX3, REMIN3N, PH3, OM_CAL3,                                             & ! end of regular 3D 
     141! JPALM (01/09/17): additional UKESM 2D diag 
     142                  CHL_MLD, CHL_CPL,                                                                  & 
    136143! AXY (11/11/16): additional CMIP6 2D diagnostics 
    137144                  epC100, epCALC100, epN100, epSI100,                                                & 
     
    264271         &      cvol(jpi,jpj,jpk)     , rdttrc(jpk)           , trai(jptra)           ,       & 
    265272         &      ctrcnm(jptra)         , ctrcln(jptra)         , ctrcun(jptra)         ,       &  
     273# if defined key_medusa && defined key_roam 
     274         &      cycletot(6), cycletot2(6)                                             ,       & 
     275# endif 
    266276         &      ln_trc_ini(jptra)     , ln_trc_wri(jptra)     , qsr_mean(jpi,jpj)     ,  STAT = trc_alloc  )   
    267277 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/TOP_SRC/trcini.F90

    r8442 r10296  
    2828   USE trcini_idtra    ! idealize tracer initialisation 
    2929   USE trcini_medusa   ! MEDUSA   initialisation 
     30   USE par_medusa      ! MEDUSA   parameters (needed for elemental cycles) 
    3031   USE trcdta          ! initialisation from files 
    3132   USE daymod          ! calendar manager 
     
    3536   USE sbc_oce 
    3637   USE trcice          ! tracers in sea ice 
    37   
     38# if defined key_medusa 
     39   USE sms_medusa      ! MEDUSA   initialisation 
     40# endif 
    3841   IMPLICIT NONE 
    3942   PRIVATE 
     
    6265      !!                or read data or analytical formulation 
    6366      !!--------------------------------------------------------------------- 
    64       INTEGER ::   jk, jn, jl    ! dummy loop indices 
     67      INTEGER ::   ji, jj, jk, jn, jl    ! dummy loop indices 
     68# if defined key_medusa && defined key_roam 
     69      !! AXY (23/11/2017) 
     70      REAL(wp)                         :: zsum3d, zsum2d 
     71      REAL(wp)                         :: zq1, zq2, loc_vol, loc_area 
     72      REAL(wp), DIMENSION(6)           :: loc_cycletot3, loc_cycletot2 
     73      REAL(wp), DIMENSION(jpi,jpj,jpk) :: ztot3d 
     74      REAL(wp), DIMENSION(jpi,jpj)     :: ztot2d, carea 
     75# endif 
    6576      CHARACTER (len=25) :: charout 
    6677      !!--------------------------------------------------------------------- 
     
    98109      !                                                              ! total volume of the ocean  
    99110      areatot = glob_sum( cvol(:,:,:) ) 
     111# if defined key_medusa && defined key_roam 
     112      carea(:,:) = e1e2t(:,:) * tmask(:,:,1)  
     113# endif 
    100114 
    101115      IF( lk_pisces  )       CALL trc_ini_pisces       ! PISCES  bio-model 
     
    192206      ENDIF 
    193207 
    194       IF(lwp) WRITE(numout,*) 
    195       IF(lwp) WRITE(numout,*) 'trc_init : passive tracer set up completed' 
    196       IF(lwp) WRITE(numout,*) '~~~~~~~' 
    197       IF(lwp) CALL flush(numout) 
     208# if defined key_medusa && defined key_roam 
     209      ! AXY (17/11/2017): calculate initial totals of elemental cycles 
     210      ! 
     211      ! This is done in a very hard-wired way here; in future, this could be 
     212      ! replaced with loops and using a 2D array; one dimension would cover 
     213      ! the tracers, the other would be for the elements; each tracer would 
     214      ! have a factor for each element to say how much of that element was 
     215      ! in that tracer; for example, PHN would be 1.0 for N, xrfn for Fe and 
     216      ! xthetapn for C, with the other elements 0.0; the array entry for PHN 
     217      ! would then be (1. 0. xrfn xthetapn 0. 0.) for (N, Si, Fe, C, A, O2); 
     218      ! saving this for the next iteration 
     219      ! 
     220      cycletot(:) = 0._wp 
     221      ! report elemental totals at initialisation as we go along 
     222      IF ( lwp ) WRITE(numout,*) 
     223      IF ( lwp ) WRITE(numout,*)    ' Elemental cycle totals: ' 
     224      ! nitrogen 
     225      ztot3d(:,:,:) = trn(:,:,:,jpphn) + trn(:,:,:,jpphd) + trn(:,:,:,jpzmi) + & 
     226                      trn(:,:,:,jpzme) + trn(:,:,:,jpdet) + trn(:,:,:,jpdin) 
     227      ztot2d(:,:)   = zn_sed_n(:,:) 
     228      zsum3d        = glob_sum( ztot3d(:,:,:) * cvol(:,:,:) ) 
     229      zsum2d        = glob_sum( ztot2d(:,:) * carea(:,:) ) 
     230      cycletot(1)   = zsum3d + zsum2d 
     231      IF ( lwp ) WRITE(numout,9010) 'nitrogen', zsum3d, zsum2d, cycletot(1) 
     232      ! silicon 
     233      ztot3d(:,:,:) = trn(:,:,:,jppds) + trn(:,:,:,jpsil) 
     234      ztot2d(:,:)   = zn_sed_si(:,:) 
     235      zsum3d        = glob_sum( ztot3d(:,:,:) * cvol(:,:,:) ) 
     236      zsum2d        = glob_sum( ztot2d(:,:) * carea(:,:) ) 
     237      cycletot(2)   = zsum3d + zsum2d 
     238      IF ( lwp ) WRITE(numout,9010) 'silicon', zsum3d, zsum2d, cycletot(2) 
     239      ! iron 
     240      ztot3d(:,:,:) = ((trn(:,:,:,jpphn) + trn(:,:,:,jpphd) + trn(:,:,:,jpzmi) + & 
     241                      trn(:,:,:,jpzme) + trn(:,:,:,jpdet)) * xrfn) + trn(:,:,:,jpfer) 
     242      ztot2d(:,:)   = zn_sed_fe(:,:) 
     243      zsum3d        = glob_sum( ztot3d(:,:,:) * cvol(:,:,:) ) 
     244      zsum2d        = glob_sum( ztot2d(:,:) * carea(:,:) ) 
     245      cycletot(3)   = zsum3d + zsum2d 
     246      IF ( lwp ) WRITE(numout,9010) 'iron', zsum3d, zsum2d, cycletot(3) 
     247      ! carbon (uses fixed C:N ratios on plankton tracers) 
     248      ztot3d(:,:,:) = (trn(:,:,:,jpphn) * xthetapn)  + (trn(:,:,:,jpphd) * xthetapd)  +  & 
     249                      (trn(:,:,:,jpzmi) * xthetazmi) + (trn(:,:,:,jpzme) * xthetazme) +  & 
     250                      trn(:,:,:,jpdtc) + trn(:,:,:,jpdic) 
     251      ztot2d(:,:)   = zn_sed_c(:,:) + zn_sed_ca(:,:) 
     252      zsum3d        = glob_sum( ztot3d(:,:,:) * cvol(:,:,:) ) 
     253      zsum2d        = glob_sum( ztot2d(:,:) * carea(:,:) ) 
     254      cycletot(4)   = zsum3d + zsum2d 
     255      IF ( lwp ) WRITE(numout,9010) 'carbon', zsum3d, zsum2d, cycletot(4) 
     256      ! alkalinity (note benthic correction) 
     257      ztot3d(:,:,:) = trn(:,:,:,jpalk) 
     258      ztot2d(:,:)   = zn_sed_ca(:,:) * 2._wp 
     259      zsum3d        = glob_sum( ztot3d(:,:,:) * cvol(:,:,:) ) 
     260      zsum2d        = glob_sum( ztot2d(:,:) * carea(:,:) ) 
     261      cycletot(5)   = zsum3d + zsum2d 
     262      IF ( lwp ) WRITE(numout,9010) 'alkalinity', zsum3d, zsum2d, cycletot(5) 
     263      ! oxygen (note no benthic) 
     264      ztot3d(:,:,:) = trn(:,:,:,jpoxy) 
     265      ztot2d(:,:)   = 0._wp 
     266      zsum3d        = glob_sum( ztot3d(:,:,:) * cvol(:,:,:) ) 
     267      zsum2d        = glob_sum( ztot2d(:,:) * carea(:,:) ) 
     268      cycletot(6)   = zsum3d + zsum2d 
     269      IF ( lwp ) WRITE(numout,9010) 'oxygen', zsum3d, zsum2d, cycletot(6) 
     270      ! Check 
     271      zsum3d        = glob_sum( cvol(:,:,:) ) 
     272      zsum2d        = glob_sum( carea(:,:) )       
     273      IF ( lwp ) THEN 
     274         WRITE(numout,*) 
     275         WRITE(numout,*) ' check : cvol    : ', zsum3d 
     276         WRITE(numout,*) ' check : carea   : ', zsum2d 
     277         WRITE(numout,*) 
     278      ENDIF 
     279      ! 
     280# endif 
     281 
     282      IF(lwp) THEN  
     283          WRITE(numout,*) 
     284          WRITE(numout,*) 'trc_init : passive tracer set up completed' 
     285          WRITE(numout,*) '~~~~~~~' 
     286      ENDIF  
    198287# if defined key_debug_medusa 
    199288         CALL trc_rst_stat 
     
    202291 
    2032929000  FORMAT(' tracer nb : ',i2,'      name :',a10,'      initial content :',e18.10) 
     2939010  FORMAT(' element:',a10,                     & 
     294             ' 3d sum:',e18.10,' 2d sum:',e18.10, & 
     295             ' total:',e18.10) 
    204296      ! 
    205297      IF( nn_timing == 1 )   CALL timing_stop('trc_init') 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/TOP_SRC/trcnam.F90

    r8442 r10296  
    6060      !!                ( (PISCES, CFC, MY_TRC, MEDUSA, IDTRA, Age ) 
    6161      !!--------------------------------------------------------------------- 
    62       INTEGER  ::   jn, jk                     ! dummy loop indice 
     62      INTEGER ::  ierr 
     63#if defined key_trdmxl_trc  || defined key_trdtrc 
     64      NAMELIST/namtrc_trd/ nn_trd_trc, nn_ctls_trc, rn_ucf_trc, & 
     65         &                ln_trdmxl_trc_restart, ln_trdmxl_trc_instant, & 
     66         &                cn_trdrst_trc_in, cn_trdrst_trc_out, ln_trdtrc 
     67#endif 
     68 
     69      INTEGER  ::   jn, jk              ! dummy loop indice 
     70      INTEGER  ::   ios                 ! Local integer output status for namelist read 
     71      !!--------------------------------------------------------------------- 
     72 
     73 
    6374      !                                        !   Parameters of the run  
    6475      IF( .NOT. lk_offline ) CALL trc_nam_run 
     
    6879       
    6980      !                                        !   Parameters of additional diagnostics 
    70       CALL trc_nam_dia 
     81      IF( .NOT. lk_iomput )  CALL trc_nam_dia 
    7182 
    7283      !                                        !   namelist of transport 
     
    171182      ENDIF 
    172183 
    173       IF( lk_c14b     ) THEN   ;   CALL trc_nam_c14b         ! C14 bomb     tracers 
    174       ELSE                    ;   IF(lwp) WRITE(numout,*) '          C14 not used' 
     184      IF( lk_c14b    ) THEN  ;   CALL trc_nam_c14b         ! C14 bomb     tracers 
     185      ELSE                   ;   IF(lwp) WRITE(numout,*) '          C14 not used' 
    175186      ENDIF 
    176187 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/TOP_SRC/trcrst.F90

    r8427 r10296  
    3030   USE daymod 
    3131   !! AXY (05/11/13): need these for MEDUSA to input/output benthic reservoirs 
     32   USE par_medusa 
    3233   USE sms_medusa 
    3334   USE trcsms_medusa 
     
    4344   USE sbc_oce, ONLY: lk_oasis  
    4445   USE oce,     ONLY: CO2Flux_out_cpl, DMS_out_cpl, chloro_out_cpl  !! Coupling variable 
     46   USE trcstat 
     47   USE obs_const, ONLY: obfillflt  ! Observation operator fill value 
    4548 
    4649   IMPLICIT NONE 
     
    5255   PUBLIC   trc_rst_cal 
    5356   PUBLIC   trc_rst_stat 
    54    PUBLIC   trc_rst_dia_stat 
    55    PUBLIC   trc_rst_tra_stat 
     57#if defined key_medusa && defined key_roam 
     58   PUBLIC   trc_rst_conserve 
     59#endif 
    5660 
    5761   !! * Substitutions 
     
    277281      !!                     as proxy of org matter from the ocean 
    278282      !!                  -- needed for the coupling with atm 
     283      !!       07-12-2017 -- To make things cleaner, we want to store an   
     284      !!                     unscaled Chl field in the restart and only  
     285      !!                     scale it when reading it in. 
     286 
    279287      IF( iom_varid( numrtr, 'N_CHL_srf', ldstop = .FALSE. ) > 0 ) THEN 
    280          IF(lwp) WRITE(numout,*) 'Chl surf concentration - reading in ...' 
     288         IF(lwp) WRITE(numout,*) 'Chl cpl concentration - reading in ... - scale by ', scl_chl 
    281289         CALL iom_get( numrtr, jpdom_autoglo, 'N_CHL_srf',  zn_chl_srf(:,:)  ) 
    282290      ELSE 
    283          IF(lwp) WRITE(numout,*) 'Chl surf concentration - setting to zero ...' 
    284          zn_chl_srf(:,:)  = (trn(:,:,1,jpchn) + trn(:,:,1,jpchd)) * 1.E-6 
     291         IF(lwp) WRITE(numout,*) 'set Chl coupled concentration - scaled by ', scl_chl 
     292         zn_chl_srf(:,:)  = MAX( 0.0, (trn(:,:,1,jpchn) + trn(:,:,1,jpchd)) * 1.E-6 ) 
    285293      ENDIF 
    286294      IF (lk_oasis) THEN 
    287          chloro_out_cpl(:,:) = zn_chl_srf(:,:)        !! Coupling variable 
     295         chloro_out_cpl(:,:) = zn_chl_srf(:,:) * scl_chl        !! Coupling variable 
    288296      END IF 
    289297      !! 
     
    297305      call trc_rst_dia_stat(zn_dms_srf(:,:), 'DMS surf') 
    298306      call trc_rst_dia_stat(zn_co2_flx(:,:), 'CO2 flux') 
    299       call trc_rst_dia_stat(zn_chl_srf(:,:), 'CHL surf') 
     307      IF (lk_oasis) THEN 
     308         call trc_rst_dia_stat(chloro_out_cpl(:,:), 'CHL  cpl') 
     309      END IF 
    300310      !!   
    301311      !! JPALM 14-06-2016 -- add Carbonate chenistry variables through the restart 
     
    329339         IF(lwp) WRITE(numout,*) 'Or don t start from uncomplete restart...'  
    330340      ENDIF 
     341      ! 
     342      IF ( ln_foam_medusa ) THEN 
     343         !! 2D fields of pCO2 and fCO2 for observation operator on first timestep 
     344         IF( iom_varid( numrtr, 'PCO2W', ldstop = .FALSE. ) > 0 ) THEN 
     345            IF(lwp) WRITE(numout,*) ' MEDUSA pCO2 present - reading in ...' 
     346            CALL iom_get( numrtr, jpdom_autoglo, 'PCO2W',  f2_pco2w(:,:)  ) 
     347            CALL iom_get( numrtr, jpdom_autoglo, 'FCO2W',  f2_fco2w(:,:)  ) 
     348         ELSE 
     349            IF(lwp) WRITE(numout,*) ' MEDUSA pCO2 absent - setting to fill ...' 
     350            f2_pco2w(:,:) = obfillflt * tmask(:,:,1) 
     351            f2_fco2w(:,:) = obfillflt * tmask(:,:,1) 
     352         ENDIF 
     353      ENDIF 
    331354# endif 
    332  
     355      IF ( ln_foam_medusa ) THEN 
     356         !! Fields for ocean colour assimilation on first timestep 
     357         IF( iom_varid( numrtr, 'pgrow_avg', ldstop = .FALSE. ) > 0 ) THEN 
     358            IF(lwp) WRITE(numout,*) ' MEDUSA pgrow_avg present - reading in ...' 
     359            CALL iom_get( numrtr, jpdom_autoglo, 'pgrow_avg',  pgrow_avg(:,:)  ) 
     360            CALL iom_get( numrtr, jpdom_autoglo, 'ploss_avg',  ploss_avg(:,:)  ) 
     361            CALL iom_get( numrtr, jpdom_autoglo, 'phyt_avg',   phyt_avg(:,:)   ) 
     362            CALL iom_get( numrtr, jpdom_autoglo, 'mld_max',    mld_max(:,:)    ) 
     363         ELSE 
     364            IF(lwp) WRITE(numout,*) ' MEDUSA pgrow_avg absent - setting to zero ...' 
     365            pgrow_avg(:,:) = 0.0 
     366            ploss_avg(:,:) = 0.0 
     367            phyt_avg(:,:)  = 0.0 
     368            mld_max(:,:)   = 0.0 
     369         ENDIF 
     370      ENDIF 
    333371 
    334372#endif 
     
    369407            !! 
    370408            IF(lwp) WRITE(numout,*) ' CFC averaged properties absent - setting to zero ...' 
    371             qint_cfc(:,:,jn)  = 0.0   !! CHN 
     409            qint_cfc(:,:,jl)  = 0.0   !! CHN 
    372410         ENDIF 
    373411         !! 
     
    457495      CALL iom_rstput( kt, nitrst, numrtw, 'B_CO2_flx',  zb_co2_flx(:,:)  ) 
    458496      CALL iom_rstput( kt, nitrst, numrtw, 'N_CO2_flx',  zn_co2_flx(:,:)  ) 
     497      !! JPALM 07-12-2017 -- To make things cleaner, we want to store an   
     498      !!                     unscaled Chl field in the restart and only  
     499      !!                     scale it when reading it in. 
    459500      CALL iom_rstput( kt, nitrst, numrtw, 'N_CHL_srf',  zn_chl_srf(:,:)  ) 
    460501      !! 
     
    468509      call trc_rst_dia_stat(zn_dms_srf(:,:), 'DMS surf') 
    469510      call trc_rst_dia_stat(zn_co2_flx(:,:), 'CO2 flux') 
    470       call trc_rst_dia_stat(zn_chl_srf(:,:), 'CHL surf') 
     511      call trc_rst_dia_stat(zn_chl_srf(:,:), 'unscaled CHL cpl') 
    471512      !! 
    472513      IF(lwp) WRITE(numout,*) ' MEDUSA averaged prop. for dust and iron dep.' 
     
    498539      call trc_rst_dia_stat( f2_ccd_arg(:,:),'CCD_ARG') 
    499540      !! 
     541      IF ( ln_foam_medusa ) THEN 
     542         !! Fields for observation operator on first timestep 
     543         IF(lwp) WRITE(numout,*) ' MEDUSA OBS fields - writing out ...' 
     544         CALL iom_rstput( kt, nitrst, numrtw, 'PCO2W', f2_pco2w(:,:)  ) 
     545         CALL iom_rstput( kt, nitrst, numrtw, 'FCO2W', f2_fco2w(:,:)  ) 
     546      ENDIF 
    500547# endif 
     548      IF ( ln_foam_medusa ) THEN 
     549         !! Fields for assimilation on first timestep 
     550         IF(lwp) WRITE(numout,*) ' MEDUSA ASM fields - writing out ...' 
     551         CALL iom_rstput( kt, nitrst, numrtw, 'pgrow_avg', pgrow_avg(:,:) ) 
     552         CALL iom_rstput( kt, nitrst, numrtw, 'ploss_avg', ploss_avg(:,:) ) 
     553         CALL iom_rstput( kt, nitrst, numrtw, 'phyt_avg',  phyt_avg(:,:)  ) 
     554         CALL iom_rstput( kt, nitrst, numrtw, 'mld_max',   mld_max(:,:)   ) 
     555      ENDIF 
    501556!! 
    502557#endif 
     
    531586      IF( kt == nitrst ) THEN 
    532587          CALL trc_rst_stat            ! statistics 
     588#if defined key_medusa && defined key_roam 
     589          CALL trc_rst_conserve        ! conservation check 
     590#endif 
    533591          CALL iom_close( numrtw )     ! close the restart file (only at last time step) 
    534592#if ! defined key_trdmxl_trc 
     
    697755 
    698756 
    699    SUBROUTINE trc_rst_tra_stat 
    700       !!---------------------------------------------------------------------- 
    701       !!                    ***  trc_rst_tra_stat  *** 
    702       !! 
    703       !! ** purpose  :   Compute tracers statistics - check where crazy values appears 
    704       !!---------------------------------------------------------------------- 
    705       INTEGER  :: jk, jn 
    706       REAL(wp) :: ztraf, zmin, zmax, zmean, zdrift, areasf 
    707       REAL(wp), DIMENSION(jpi,jpj) :: zvol 
    708       !!---------------------------------------------------------------------- 
    709  
     757# if defined key_medusa && defined key_roam 
     758   SUBROUTINE trc_rst_conserve 
     759      !!---------------------------------------------------------------------- 
     760      !!                    ***  trc_rst_conserve  *** 
     761      !! 
     762      !! ** purpose  :   Compute tracers conservation statistics 
     763      !! 
     764      !! AXY (17/11/2017) 
     765      !! This routine calculates the "now" inventories of the elemental  
     766      !! cycles of MEDUSA and compares them to those calculate when the 
     767      !! model was initialised / restarted; the cycles calculated are: 
     768      !!    nitrogen, silicon, iron, carbon, alkalinity and oxygen 
     769      !!---------------------------------------------------------------------- 
     770      INTEGER  :: ji, jj, jk, jn 
     771      REAL(wp) :: zsum3d, zsum2d, zinvt, zdelta, zratio 
     772      REAL(wp), DIMENSION(jpi,jpj,jpk) :: z3d, zvol 
     773      REAL(wp), DIMENSION(jpi,jpj)     :: z2d, zarea 
     774      REAL(wp), DIMENSION(6)           :: loc_cycletot3, loc_cycletot2 
     775      !!---------------------------------------------------------------------- 
     776      ! 
    710777      IF( lwp ) THEN 
     778         WRITE(numout,*)  
     779         WRITE(numout,*) '           ----TRACER CONSERVATION----             ' 
     780         WRITE(numout,*)  
     781      ENDIF 
     782      ! 
     783      ! ocean volume 
     784      DO jk = 1, jpk 
     785         zvol(:,:,jk) = e1e2t(:,:) * fse3t_a(:,:,jk) * tmask(:,:,jk) 
     786      END DO 
     787      ! 
     788      ! ocean area (for sediments) 
     789      zarea(:,:)      = e1e2t(:,:) * tmask(:,:,1) 
     790      ! 
     791      !---------------------------------------------------------------------- 
     792      ! nitrogen 
     793      z3d(:,:,:) = trn(:,:,:,jpphn) + trn(:,:,:,jpphd) + trn(:,:,:,jpzmi) + & 
     794                   trn(:,:,:,jpzme) + trn(:,:,:,jpdet) + trn(:,:,:,jpdin) 
     795      z2d(:,:)   = zn_sed_n(:,:) 
     796      zsum3d     = glob_sum( z3d(:,:,:) * zvol(:,:,:) ) 
     797      zsum2d     = glob_sum( z2d(:,:) * zarea(:,:) ) 
     798      ! total tracer, and delta 
     799      zinvt      = zsum3d + zsum2d 
     800      zdelta     = zinvt - cycletot(1) 
     801      zratio     = 1.0e2 * zdelta / cycletot(1) 
     802      ! 
     803      IF ( lwp ) WRITE(numout,9010) 'nitrogen', zsum3d, zsum2d, zinvt,   & 
     804         cycletot(1), zdelta, zratio 
     805      IF ( lwp ) WRITE(numout,*)  
     806      ! 
     807      !---------------------------------------------------------------------- 
     808      ! silicon 
     809      z3d(:,:,:) = trn(:,:,:,jppds) + trn(:,:,:,jpsil) 
     810      z2d(:,:)   = zn_sed_si(:,:) 
     811      zsum3d     = glob_sum( z3d(:,:,:) * zvol(:,:,:) ) 
     812      zsum2d     = glob_sum( z2d(:,:) * zarea(:,:) ) 
     813      ! total tracer, and delta 
     814      zinvt      = zsum3d + zsum2d 
     815      zdelta     = zinvt - cycletot(2) 
     816      zratio     = 1.0e2 * zdelta / cycletot(2) 
     817      ! 
     818      IF ( lwp ) WRITE(numout,9010) 'silicon', zsum3d, zsum2d, zinvt,    & 
     819         cycletot(2), zdelta, zratio 
     820      IF ( lwp ) WRITE(numout,*)  
     821      ! 
     822      !---------------------------------------------------------------------- 
     823      ! iron 
     824      z3d(:,:,:) = ((trn(:,:,:,jpphn) + trn(:,:,:,jpphd) + trn(:,:,:,jpzmi) + & 
     825            trn(:,:,:,jpzme) + trn(:,:,:,jpdet)) * xrfn) + trn(:,:,:,jpfer) 
     826      z2d(:,:)   = zn_sed_fe(:,:) 
     827      zsum3d     = glob_sum( z3d(:,:,:) * zvol(:,:,:) ) 
     828      zsum2d     = glob_sum( z2d(:,:) * zarea(:,:) ) 
     829      ! total tracer, and delta 
     830      zinvt      = zsum3d + zsum2d 
     831      zdelta     = zinvt - cycletot(3) 
     832      zratio     = 1.0e2 * zdelta / cycletot(3) 
     833      ! 
     834      IF ( lwp ) WRITE(numout,9010) 'iron', zsum3d, zsum2d, zinvt,       & 
     835         cycletot(3), zdelta, zratio 
     836      IF ( lwp ) WRITE(numout,*)  
     837      ! 
     838      !---------------------------------------------------------------------- 
     839      ! carbon 
     840      z3d(:,:,:) = (trn(:,:,:,jpphn) * xthetapn)  + (trn(:,:,:,jpphd) * xthetapd)  + & 
     841                   (trn(:,:,:,jpzmi) * xthetazmi) + (trn(:,:,:,jpzme) * xthetazme) + & 
     842                   trn(:,:,:,jpdtc) + trn(:,:,:,jpdic) 
     843      z2d(:,:)   = zn_sed_c(:,:) + zn_sed_ca(:,:) 
     844      zsum3d     = glob_sum( z3d(:,:,:) * zvol(:,:,:) ) 
     845      zsum2d     = glob_sum( z2d(:,:) * zarea(:,:) ) 
     846      ! total tracer, and delta 
     847      zinvt      = zsum3d + zsum2d 
     848      zdelta     = zinvt - cycletot(4) 
     849      zratio     = 1.0e2 * zdelta / cycletot(4) 
     850      ! 
     851      IF ( lwp ) WRITE(numout,9010) 'carbon', zsum3d, zsum2d, zinvt,     & 
     852         cycletot(4), zdelta, zratio 
     853      IF ( lwp ) WRITE(numout,*)  
     854      ! 
     855      !---------------------------------------------------------------------- 
     856      ! alkalinity 
     857      z3d(:,:,:) = trn(:,:,:,jpalk) 
     858      z2d(:,:)   = zn_sed_ca(:,:) * 2.0 
     859      zsum3d     = glob_sum( z3d(:,:,:) * zvol(:,:,:) ) 
     860      zsum2d     = glob_sum( z2d(:,:) * zarea(:,:) ) 
     861      ! total tracer, and delta 
     862      zinvt      = zsum3d + zsum2d 
     863      zdelta     = zinvt - cycletot(5) 
     864      zratio     = 1.0e2 * zdelta / cycletot(5) 
     865      ! 
     866      IF ( lwp ) WRITE(numout,9010) 'alkalinity', zsum3d, zsum2d, zinvt, & 
     867         cycletot(5), zdelta, zratio 
     868      IF ( lwp ) WRITE(numout,*)  
     869      ! 
     870      !---------------------------------------------------------------------- 
     871      ! oxygen 
     872      z3d(:,:,:) = trn(:,:,:,jpoxy) 
     873      z2d(:,:)   = 0.0 
     874      zsum3d     = glob_sum( z3d(:,:,:) * zvol(:,:,:) ) 
     875      zsum2d     = glob_sum( z2d(:,:) * zarea(:,:) ) 
     876      ! total tracer, and delta 
     877      zinvt      = zsum3d + zsum2d 
     878      zdelta     = zinvt - cycletot(6) 
     879      zratio     = 1.0e2 * zdelta / cycletot(6) 
     880      ! 
     881      IF ( lwp ) WRITE(numout,9010) 'oxygen', zsum3d, zsum2d, zinvt,     & 
     882         cycletot(6), zdelta, zratio 
     883      ! 
     884      !---------------------------------------------------------------------- 
     885      ! Check  
     886      zsum3d        = glob_sum( zvol(:,:,:) ) 
     887      zsum2d        = glob_sum( zarea(:,:) ) 
     888      IF ( lwp ) THEN  
    711889         WRITE(numout,*) 
    712          WRITE(numout,*) '           ----SURFACE TRA STAT----             ' 
     890         WRITE(numout,*) ' check : cvol    : ', zsum3d 
     891         WRITE(numout,*) ' check : carea   : ', zsum2d 
    713892         WRITE(numout,*) 
    714893      ENDIF 
    715894      ! 
    716       zvol(:,:) = e1e2t(:,:) * fse3t_a(:,:,1) * tmask(:,:,1) 
    717       areasf = glob_sum(zvol(:,:)) 
    718       DO jn = 1, jptra 
    719          ztraf = glob_sum( tra(:,:,1,jn) * zvol(:,:) ) 
    720          zmin  = MINVAL( tra(:,:,1,jn), mask= ((tmask(:,:,1).NE.0.)) ) 
    721          zmax  = MAXVAL( tra(:,:,1,jn), mask= ((tmask(:,:,1).NE.0.)) ) 
    722          IF( lk_mpp ) THEN 
    723             CALL mpp_min( zmin )      ! min over the global domain 
    724             CALL mpp_max( zmax )      ! max over the global domain 
    725          END IF 
    726          zmean  = ztraf / areasf 
    727          IF(lwp) WRITE(numout,9001) jn, TRIM( ctrcnm(jn) ), zmean, zmin, zmax 
    728       END DO 
    729       IF(lwp) WRITE(numout,*) 
    730 9001  FORMAT(' tracer nb :',i2,'    name :',a10,'    mean :',e18.10,'    min :',e18.10, & 
    731       &      '    max :',e18.10) 
    732       ! 
    733    END SUBROUTINE trc_rst_tra_stat 
    734  
    735  
    736  
    737    SUBROUTINE trc_rst_dia_stat( dgtr, names) 
    738       !!---------------------------------------------------------------------- 
    739       !!                    ***  trc_rst_dia_stat  *** 
    740       !! 
    741       !! ** purpose  :   Compute tracers statistics 
    742       !!---------------------------------------------------------------------- 
    743       REAL(wp), DIMENSION(jpi,jpj) , INTENT(in) ::   dgtr      ! 2D diag var 
    744       CHARACTER(len=*)             , INTENT(in) ::   names     ! 2D diag name 
    745       !!--------------------------------------------------------------------- 
    746       INTEGER  :: jk, jn 
    747       CHARACTER (LEN=18) :: text_zmean 
    748       REAL(wp) :: ztraf, zmin, zmax, zmean, areasf 
    749       REAL(wp), DIMENSION(jpi,jpj) :: zvol 
    750       !!---------------------------------------------------------------------- 
    751  
    752       IF( lwp )  WRITE(numout,*) 'STAT- ', names 
    753        
    754       ! fse3t_a will be undefined at the start of a run, but this routine 
    755       ! may be called at any stage! Hence we MUST make sure it is  
    756       ! initialised to zero when allocated to enable us to test for  
    757       ! zero content here and avoid potentially dangerous and non-portable  
    758       ! operations (e.g. divide by zero, global sums of junk values etc.)    
    759       zvol(:,:) = e1e2t(:,:) * fse3t_a(:,:,1) * tmask(:,:,1) 
    760       ztraf = glob_sum( dgtr(:,:) * zvol(:,:) ) 
    761       !! areasf = glob_sum(e1e2t(:,:) * tmask(:,:,1) ) 
    762       areasf = glob_sum(zvol(:,:)) 
    763       zmin  = MINVAL( dgtr(:,:), mask= ((tmask(:,:,1).NE.0.)) ) 
    764       zmax  = MAXVAL( dgtr(:,:), mask= ((tmask(:,:,1).NE.0.)) ) 
    765       IF( lk_mpp ) THEN 
    766          CALL mpp_min( zmin )      ! min over the global domain 
    767          CALL mpp_max( zmax )      ! max over the global domain 
    768       END IF 
    769  
    770       text_zmean = "N/A" 
    771       ! Avoid divide by zero. areasf must be positive. 
    772       IF  (areasf > 0.0) THEN  
    773          zmean = ztraf / areasf 
    774          WRITE(text_zmean,'(e18.10)') zmean 
    775       ENDIF 
    776  
    777       IF(lwp) WRITE(numout,9002) TRIM( names ), text_zmean, zmin, zmax 
    778  
    779   9002  FORMAT(' tracer name :',A,'    mean :',A,'    min :',e18.10, & 
    780       &      '    max :',e18.10 ) 
    781       ! 
    782    END SUBROUTINE trc_rst_dia_stat 
     8959010  FORMAT(' element:',a10,                     & 
     896             ' 3d sum:',e18.10,' 2d sum:',e18.10, & 
     897             ' total:',e18.10,' initial:',e18.10, & 
     898             ' delta:',e18.10,' %:',e18.10) 
     899      ! 
     900   END SUBROUTINE trc_rst_conserve  
     901# endif 
    783902 
    784903 
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_bgcupdates2/NEMOGCM/NEMO/TOP_SRC/trcstp.F90

    r8442 r10296  
    1919   USE trcwri 
    2020   USE trcrst 
     21   USE trcstat 
    2122   USE trdtrc_oce 
    2223   USE trdmxl_trc 
     
    177178         ! 
    178179         !                                            !* Restart: read in restart file 
    179          IF( ln_rsttr .AND. iom_varid( numrtr, 'qsr_mean' , ldstop = .FALSE. ) > 0 .AND. & 
    180                             iom_varid( numrtr, 'qsr_arr_1', ldstop = .FALSE. ) > 0 .AND. & 
    181                             iom_varid( numrtr, 'zsecfst'  , ldstop = .FALSE. ) > 0 ) THEN  
     180         IF( ln_rsttr .AND. nn_rsttr /= 0 .AND. iom_varid( numrtr, 'qsr_mean' , ldstop = .FALSE. ) > 0 & 
     181                                          .AND. iom_varid( numrtr, 'qsr_arr_1', ldstop = .FALSE. ) > 0 & 
     182                                          .AND. iom_varid( numrtr, 'zsecfst'  , ldstop = .FALSE. ) > 0 ) THEN 
    182183            IF(lwp) WRITE(numout,*) 'trc_qsr_mean:   qsr_mean read in the restart file' 
    183184            CALL iom_get( numrtr, jpdom_autoglo, 'qsr_mean', qsr_mean )   !  A mean of qsr 
Note: See TracChangeset for help on using the changeset viewer.