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 12706 for NEMO/branches – NEMO

Changeset 12706 for NEMO/branches


Ignore:
Timestamp:
2020-04-07T18:34:56+02:00 (4 years ago)
Author:
mathiot
Message:

NEMO_4.0.2_ENHANCE-02_ISF_nemo: in sync with trunk right before release_4.0-HEAD was created (svn merge -r 12072:12367 /NEMO/trunk)

Location:
NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo
Files:
4 deleted
114 edited
22 copied

Legend:

Unmodified
Added
Removed
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/cfgs/AGRIF_DEMO/EXPREF/1_context_nemo.xml

    r9930 r12706  
    55--> 
    66<context id="1_nemo"> 
    7 <!-- $id$ --> 
     7    <!-- $id$ --> 
    88    <variable_definition> 
    9     <!-- Year of time origin for NetCDF files; defaults to 1800 --> 
    10        <variable id="ref_year" type="int"   > 1800 </variable> 
    11        <variable id="rau0"     type="float" > 1026.0 </variable> 
    12        <variable id="cpocean"  type="float" > 3991.86795711963 </variable> 
    13        <variable id="convSpsu" type="float" > 0.99530670233846  </variable> 
    14        <variable id="rhoic"    type="float" > 917.0 </variable> 
    15        <variable id="rhosn"    type="float" > 330.0 </variable> 
    16        <variable id="missval"  type="float" > 1.e20 </variable> 
     9       <!-- Year/Month/Day of time origin for NetCDF files; defaults to 1800-01-01 --> 
     10       <variable id="ref_year"  type="int"> 1900 </variable> 
     11       <variable id="ref_month" type="int"> 01 </variable> 
     12       <variable id="ref_day"   type="int"> 01 </variable> 
     13       <variable id="rau0"      type="float" > 1026.0 </variable> 
     14       <variable id="cpocean"   type="float" > 3991.86795711963 </variable> 
     15       <variable id="convSpsu"  type="float" > 0.99530670233846  </variable> 
     16       <variable id="rhoic"     type="float" > 917.0 </variable> 
     17       <variable id="rhosn"     type="float" > 330.0 </variable> 
     18       <variable id="missval"   type="float" > 1.e20 </variable> 
    1719    </variable_definition> 
     20 
    1821<!-- Fields definition --> 
    19     <field_definition src="./field_def_nemo-oce.xml"/>    <!--  NEMO ocean dynamics     --> 
    20     <field_definition src="./field_def_nemo-ice.xml"/>    <!--  NEMO sea-ice model      --> 
     22    <field_definition src="./field_def_nemo-oce.xml"/>   <!--  NEMO ocean dynamics                     --> 
     23    <field_definition src="./field_def_nemo-ice.xml"/>   <!--  NEMO ocean sea ice                      --> 
     24 
    2125 
    2226<!-- Files definition --> 
    23     <file_definition src="./file_def_nemo-oce.xml"/>     <!--  NEMO ocean dynamics      --> 
    24     <file_definition src="./file_def_nemo-ice.xml"/>     <!--  NEMO sea-ice model       --> 
    25     <!--  
    26 ============================================================================================================ 
    27 = grid definition = = DO NOT CHANGE = 
    28 ============================================================================================================ 
    29     --> 
    30      
    31     <axis_definition> 
    32       <axis id="deptht"  long_name="Vertical T levels"  unit="m" positive="down" /> 
    33       <axis id="depthu"  long_name="Vertical U levels"  unit="m" positive="down" /> 
    34       <axis id="depthv"  long_name="Vertical V levels"  unit="m" positive="down" /> 
    35       <axis id="depthw"  long_name="Vertical W levels"  unit="m" positive="down" /> 
    36       <axis id="nfloat"  long_name="Float number"       unit="-"                 /> 
    37       <axis id="icbcla"  long_name="Iceberg class"      unit="1"                 /> 
    38       <axis id="ncatice" long_name="Ice category"       unit="1"                 /> 
    39       <axis id="iax_20C" long_name="20 degC isotherm"   unit="degC"              /> 
    40       <axis id="iax_28C" long_name="28 degC isotherm"   unit="degC"              /> 
    41     </axis_definition> 
     27    <file_definition src="./file_def_nemo-oce.xml"/>     <!--  NEMO ocean dynamics                     --> 
     28    <file_definition src="./file_def_nemo-ice.xml"/>     <!--  NEMO ocean sea ice                      --> 
     29 
     30<!-- Axis definition --> 
     31    <axis_definition src="./axis_def_nemo.xml"/> 
    4232  
     33<!-- Domain definition --> 
    4334    <domain_definition src="./domain_def_nemo.xml"/> 
     35 
     36<!-- Grids definition --> 
     37    <grid_definition   src="./grid_def_nemo.xml"/> 
    4438   
    45     <grid_definition src="./grid_def_nemo.xml"/> 
    4639 
    4740</context> 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/cfgs/AGRIF_DEMO/EXPREF/1_namelist_cfg

    r12143 r12706  
    366366!!   nam_diaharm  Harmonic analysis of tidal constituents               (default: OFF) 
    367367!!   nam_diadct   transports through some sections                      (default: OFF) 
    368 !!   nam_diatmb   Top Middle Bottom Output                              (default: OFF) 
    369368!!   nam_dia25h   25h Mean Output                                       (default: OFF) 
    370369!!   namnc4       netcdf4 chunking and compression settings             ("key_netcdf4") 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/cfgs/AGRIF_DEMO/EXPREF/2_context_nemo.xml

    r9930 r12706  
    55--> 
    66<context id="2_nemo"> 
    7 <!-- $id$ --> 
     7    <!-- $id$ --> 
    88    <variable_definition> 
    9     <!-- Year of time origin for NetCDF files; defaults to 1800 --> 
    10        <variable id="ref_year" type="int"   > 1800 </variable> 
    11        <variable id="rau0"     type="float" > 1026.0 </variable> 
    12        <variable id="cpocean"  type="float" > 3991.86795711963 </variable> 
    13        <variable id="convSpsu" type="float" > 0.99530670233846  </variable> 
    14        <variable id="rhoic"    type="float" > 917.0 </variable> 
    15        <variable id="rhosn"    type="float" > 330.0 </variable> 
    16        <variable id="missval"  type="float" > 1.e20 </variable> 
     9       <!-- Year/Month/Day of time origin for NetCDF files; defaults to 1800-01-01 --> 
     10       <variable id="ref_year"  type="int"> 1900 </variable> 
     11       <variable id="ref_month" type="int"> 01 </variable> 
     12       <variable id="ref_day"   type="int"> 01 </variable> 
     13       <variable id="rau0"      type="float" > 1026.0 </variable> 
     14       <variable id="cpocean"   type="float" > 3991.86795711963 </variable> 
     15       <variable id="convSpsu"  type="float" > 0.99530670233846  </variable> 
     16       <variable id="rhoic"     type="float" > 917.0 </variable> 
     17       <variable id="rhosn"     type="float" > 330.0 </variable> 
     18       <variable id="missval"   type="float" > 1.e20 </variable> 
    1719    </variable_definition> 
     20 
    1821<!-- Fields definition --> 
    19     <field_definition src="./field_def_nemo-oce.xml"/>    <!--  NEMO ocean dynamics     --> 
    20     <field_definition src="./field_def_nemo-ice.xml"/>    <!--  NEMO sea-ice model      --> 
     22    <field_definition src="./field_def_nemo-oce.xml"/>   <!--  NEMO ocean dynamics                     --> 
     23    <field_definition src="./field_def_nemo-ice.xml"/>   <!--  NEMO ocean sea ice                      --> 
     24 
    2125 
    2226<!-- Files definition --> 
    23     <file_definition src="./file_def_nemo-oce.xml"/>     <!--  NEMO ocean dynamics      --> 
    24     <file_definition src="./file_def_nemo-ice.xml"/>     <!--  NEMO sea-ice model       --> 
    25     <!--  
    26 ============================================================================================================ 
    27 = grid definition = = DO NOT CHANGE = 
    28 ============================================================================================================ 
    29     --> 
    30      
    31     <axis_definition> 
    32       <axis id="deptht"  long_name="Vertical T levels"  unit="m" positive="down" /> 
    33       <axis id="depthu"  long_name="Vertical U levels"  unit="m" positive="down" /> 
    34       <axis id="depthv"  long_name="Vertical V levels"  unit="m" positive="down" /> 
    35       <axis id="depthw"  long_name="Vertical W levels"  unit="m" positive="down" /> 
    36       <axis id="nfloat"  long_name="Float number"       unit="-"                 /> 
    37       <axis id="icbcla"  long_name="Iceberg class"      unit="1"                 /> 
    38       <axis id="ncatice" long_name="Ice category"       unit="1"                 /> 
    39       <axis id="iax_20C" long_name="20 degC isotherm"   unit="degC"              /> 
    40       <axis id="iax_28C" long_name="28 degC isotherm"   unit="degC"              /> 
    41     </axis_definition> 
     27    <file_definition src="./file_def_nemo-oce.xml"/>     <!--  NEMO ocean dynamics                     --> 
     28    <file_definition src="./file_def_nemo-ice.xml"/>     <!--  NEMO ocean sea ice                      --> 
     29 
     30<!-- Axis definition --> 
     31    <axis_definition src="./axis_def_nemo.xml"/> 
    4232  
     33<!-- Domain definition --> 
    4334    <domain_definition src="./domain_def_nemo.xml"/> 
     35 
     36<!-- Grids definition --> 
     37    <grid_definition   src="./grid_def_nemo.xml"/> 
    4438   
    45     <grid_definition src="./grid_def_nemo.xml"/> 
    4639 
    4740</context> 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/cfgs/AGRIF_DEMO/EXPREF/2_namelist_cfg

    r12143 r12706  
    315315!!   nam_diaharm  Harmonic analysis of tidal constituents               (default: OFF) 
    316316!!   nam_diadct   transports through some sections                      (default: OFF) 
    317 !!   nam_diatmb   Top Middle Bottom Output                              (default: OFF) 
    318317!!   nam_dia25h   25h Mean Output                                       (default: OFF) 
    319318!!   namnc4       netcdf4 chunking and compression settings             ("key_netcdf4") 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/cfgs/AGRIF_DEMO/EXPREF/3_context_nemo.xml

    r9930 r12706  
    55--> 
    66<context id="3_nemo"> 
    7 <!-- $id$ --> 
     7    <!-- $id$ --> 
    88    <variable_definition> 
    9     <!-- Year of time origin for NetCDF files; defaults to 1800 --> 
    10        <variable id="ref_year" type="int"   > 1800 </variable> 
    11        <variable id="rau0"     type="float" > 1026.0 </variable> 
    12        <variable id="cpocean"  type="float" > 3991.86795711963 </variable> 
    13        <variable id="convSpsu" type="float" > 0.99530670233846  </variable> 
    14        <variable id="rhoic"    type="float" > 917.0 </variable> 
    15        <variable id="rhosn"    type="float" > 330.0 </variable> 
    16        <variable id="missval"  type="float" > 1.e20 </variable> 
     9       <!-- Year/Month/Day of time origin for NetCDF files; defaults to 1800-01-01 --> 
     10       <variable id="ref_year"  type="int"> 1900 </variable> 
     11       <variable id="ref_month" type="int"> 01 </variable> 
     12       <variable id="ref_day"   type="int"> 01 </variable> 
     13       <variable id="rau0"      type="float" > 1026.0 </variable> 
     14       <variable id="cpocean"   type="float" > 3991.86795711963 </variable> 
     15       <variable id="convSpsu"  type="float" > 0.99530670233846  </variable> 
     16       <variable id="rhoic"     type="float" > 917.0 </variable> 
     17       <variable id="rhosn"     type="float" > 330.0 </variable> 
     18       <variable id="missval"   type="float" > 1.e20 </variable> 
    1719    </variable_definition> 
     20 
    1821<!-- Fields definition --> 
    19     <field_definition src="./field_def_nemo-oce.xml"/>    <!--  NEMO ocean dynamics     --> 
    20     <field_definition src="./field_def_nemo-ice.xml"/>    <!--  NEMO sea-ice model      --> 
     22    <field_definition src="./field_def_nemo-oce.xml"/>   <!--  NEMO ocean dynamics                     --> 
     23    <field_definition src="./field_def_nemo-ice.xml"/>   <!--  NEMO ocean sea ice                      --> 
     24 
    2125 
    2226<!-- Files definition --> 
    23     <file_definition src="./file_def_nemo-oce.xml"/>     <!--  NEMO ocean dynamics      --> 
    24     <file_definition src="./file_def_nemo-ice.xml"/>     <!--  NEMO sea-ice model       --> 
    25     <!--  
    26 ============================================================================================================ 
    27 = grid definition = = DO NOT CHANGE = 
    28 ============================================================================================================ 
    29     --> 
    30      
    31     <axis_definition> 
    32       <axis id="deptht"  long_name="Vertical T levels"  unit="m" positive="down" /> 
    33       <axis id="depthu"  long_name="Vertical U levels"  unit="m" positive="down" /> 
    34       <axis id="depthv"  long_name="Vertical V levels"  unit="m" positive="down" /> 
    35       <axis id="depthw"  long_name="Vertical W levels"  unit="m" positive="down" /> 
    36       <axis id="nfloat"  long_name="Float number"       unit="-"                 /> 
    37       <axis id="icbcla"  long_name="Iceberg class"      unit="1"                 /> 
    38       <axis id="ncatice" long_name="Ice category"       unit="1"                 /> 
    39       <axis id="iax_20C" long_name="20 degC isotherm"   unit="degC"              /> 
    40       <axis id="iax_28C" long_name="28 degC isotherm"   unit="degC"              /> 
    41     </axis_definition> 
     27    <file_definition src="./file_def_nemo-oce.xml"/>     <!--  NEMO ocean dynamics                     --> 
     28    <file_definition src="./file_def_nemo-ice.xml"/>     <!--  NEMO ocean sea ice                      --> 
     29 
     30<!-- Axis definition --> 
     31    <axis_definition src="./axis_def_nemo.xml"/> 
    4232  
     33<!-- Domain definition --> 
    4334    <domain_definition src="./domain_def_nemo.xml"/> 
     35 
     36<!-- Grids definition --> 
     37    <grid_definition   src="./grid_def_nemo.xml"/> 
    4438   
    45     <grid_definition src="./grid_def_nemo.xml"/> 
    4639 
    4740</context> 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/cfgs/AGRIF_DEMO/EXPREF/3_namelist_cfg

    r12143 r12706  
    315315!!   nam_diaharm  Harmonic analysis of tidal constituents               (default: OFF) 
    316316!!   nam_diadct   transports through some sections                      (default: OFF) 
    317 !!   nam_diatmb   Top Middle Bottom Output                              (default: OFF) 
    318317!!   nam_dia25h   25h Mean Output                                       (default: OFF) 
    319318!!   namnc4       netcdf4 chunking and compression settings             ("key_netcdf4") 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/cfgs/AGRIF_DEMO/EXPREF/context_nemo.xml

    r9930 r12706  
    55--> 
    66<context id="nemo"> 
    7 <!-- $id$ --> 
     7    <!-- $id$ --> 
    88    <variable_definition> 
    9     <!-- Year of time origin for NetCDF files; defaults to 1800 --> 
    10        <variable id="ref_year" type="int"   > 1800 </variable> 
    11        <variable id="rau0"     type="float" > 1026.0 </variable> 
    12        <variable id="cpocean"  type="float" > 3991.86795711963 </variable> 
    13        <variable id="convSpsu" type="float" > 0.99530670233846  </variable> 
    14        <variable id="rhoic"    type="float" > 917.0 </variable> 
    15        <variable id="rhosn"    type="float" > 330.0 </variable> 
    16        <variable id="missval"  type="float" > 1.e20 </variable> 
     9       <!-- Year/Month/Day of time origin for NetCDF files; defaults to 1800-01-01 --> 
     10       <variable id="ref_year"  type="int"> 1900 </variable> 
     11       <variable id="ref_month" type="int"> 01 </variable> 
     12       <variable id="ref_day"   type="int"> 01 </variable> 
     13       <variable id="rau0"      type="float" > 1026.0 </variable> 
     14       <variable id="cpocean"   type="float" > 3991.86795711963 </variable> 
     15       <variable id="convSpsu"  type="float" > 0.99530670233846  </variable> 
     16       <variable id="rhoic"     type="float" > 917.0 </variable> 
     17       <variable id="rhosn"     type="float" > 330.0 </variable> 
     18       <variable id="missval"   type="float" > 1.e20 </variable> 
    1719    </variable_definition> 
     20 
    1821<!-- Fields definition --> 
    19     <field_definition src="./field_def_nemo-oce.xml"/>    <!--  NEMO ocean dynamics     --> 
    20     <field_definition src="./field_def_nemo-ice.xml"/>    <!--  NEMO sea-ice model      --> 
     22    <field_definition src="./field_def_nemo-oce.xml"/>   <!--  NEMO ocean dynamics                     --> 
     23    <field_definition src="./field_def_nemo-ice.xml"/>   <!--  NEMO ocean sea ice                      --> 
     24 
    2125 
    2226<!-- Files definition --> 
    23     <file_definition src="./file_def_nemo-oce.xml"/>     <!--  NEMO ocean dynamics      --> 
    24     <file_definition src="./file_def_nemo-ice.xml"/>     <!--  NEMO sea-ice model       --> 
    25     <!--  
    26 ============================================================================================================ 
    27 = grid definition = = DO NOT CHANGE = 
    28 ============================================================================================================ 
    29     --> 
    30      
    31     <axis_definition> 
    32       <axis id="deptht"  long_name="Vertical T levels"  unit="m" positive="down" /> 
    33       <axis id="depthu"  long_name="Vertical U levels"  unit="m" positive="down" /> 
    34       <axis id="depthv"  long_name="Vertical V levels"  unit="m" positive="down" /> 
    35       <axis id="depthw"  long_name="Vertical W levels"  unit="m" positive="down" /> 
    36       <axis id="nfloat"  long_name="Float number"       unit="-"                 /> 
    37       <axis id="icbcla"  long_name="Iceberg class"      unit="1"                 /> 
    38       <axis id="ncatice" long_name="Ice category"       unit="1"                 /> 
    39       <axis id="iax_20C" long_name="20 degC isotherm"   unit="degC"              /> 
    40       <axis id="iax_28C" long_name="28 degC isotherm"   unit="degC"              /> 
    41     </axis_definition> 
     27    <file_definition src="./file_def_nemo-oce.xml"/>     <!--  NEMO ocean dynamics                     --> 
     28    <file_definition src="./file_def_nemo-ice.xml"/>     <!--  NEMO ocean sea ice                      --> 
     29 
     30<!-- Axis definition --> 
     31    <axis_definition src="./axis_def_nemo.xml"/> 
    4232  
     33<!-- Domain definition --> 
    4334    <domain_definition src="./domain_def_nemo.xml"/> 
     35 
     36<!-- Grids definition --> 
     37    <grid_definition   src="./grid_def_nemo.xml"/> 
    4438   
    45     <grid_definition src="./grid_def_nemo.xml"/> 
    4639 
    4740</context> 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/cfgs/AGRIF_DEMO/EXPREF/namelist_cfg

    r12143 r12706  
    366366!!   nam_diaharm  Harmonic analysis of tidal constituents               (default: OFF) 
    367367!!   nam_diadct   transports through some sections                      (default: OFF) 
    368 !!   nam_diatmb   Top Middle Bottom Output                              (default: OFF) 
    369368!!   nam_dia25h   25h Mean Output                                       (default: OFF) 
    370369!!   namnc4       netcdf4 chunking and compression settings             ("key_netcdf4") 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/cfgs/AMM12/EXPREF/context_nemo.xml

    r12143 r12706  
    55--> 
    66<context id="nemo"> 
    7 <!-- $id$ --> 
     7    <!-- $id$ --> 
    88    <variable_definition> 
    9     <!-- Year of time origin for NetCDF files; defaults to 1800 --> 
    10        <variable id="ref_year" type="int"   > 1800 </variable> 
    11        <variable id="rau0"     type="float" > 1026.0 </variable> 
    12        <variable id="cpocean"  type="float" > 3991.86795711963 </variable> 
    13        <variable id="convSpsu" type="float" > 0.99530670233846  </variable> 
    14        <variable id="rhoic"    type="float" > 917.0 </variable> 
    15        <variable id="rhosn"    type="float" > 330.0 </variable> 
    16        <variable id="missval"  type="float" > 1.e20 </variable> 
     9       <!-- Year/Month/Day of time origin for NetCDF files; defaults to 1800-01-01 --> 
     10       <variable id="ref_year"  type="int"> 1900 </variable> 
     11       <variable id="ref_month" type="int"> 01 </variable> 
     12       <variable id="ref_day"   type="int"> 01 </variable> 
     13       <variable id="rau0"      type="float" > 1026.0 </variable> 
     14       <variable id="cpocean"   type="float" > 3991.86795711963 </variable> 
     15       <variable id="convSpsu"  type="float" > 0.99530670233846  </variable> 
     16       <variable id="rhoic"     type="float" > 917.0 </variable> 
     17       <variable id="rhosn"     type="float" > 330.0 </variable> 
     18       <variable id="missval"   type="float" > 1.e20 </variable> 
    1719    </variable_definition> 
     20 
    1821<!-- Fields definition --> 
    19     <field_definition src="./field_def_nemo-oce.xml"/>   <!--  NEMO ocean dynamics                     --> 
     22    <field_definition src="./field_def_nemo-oce.xml"/>      <!--  NEMO ocean dynamics                     --> 
    2023 
    2124<!-- Files definition --> 
    2225    <file_definition src="./file_def_nemo-oce.xml"/>     <!--  NEMO ocean dynamics                     --> 
    23     <!--  
    24 ============================================================================================================ 
    25 = grid definition = = DO NOT CHANGE = 
    26 ============================================================================================================ 
    27     --> 
    28      
    29     <axis_definition> 
    30       <axis id="deptht"  long_name="Vertical T levels" unit="m" positive="down" /> 
    31       <axis id="depthu"  long_name="Vertical U levels" unit="m" positive="down" /> 
    32       <axis id="depthv"  long_name="Vertical V levels" unit="m" positive="down" /> 
    33       <axis id="depthw"  long_name="Vertical W levels" unit="m" positive="down" /> 
    34       <axis id="nfloat"  long_name="Float number"      unit="-"                 /> 
    35       <axis id="icbcla"  long_name="Iceberg class"     unit="1"                 /> 
    36       <axis id="ncatice" long_name="Ice category"      unit="1"                 /> 
    37       <axis id="iax_20C" long_name="20 degC isotherm"  unit="degC"              /> 
    38       <axis id="iax_28C" long_name="28 degC isotherm"  unit="degC"              /> 
    39     </axis_definition> 
     26 
     27<!-- Axis definition --> 
     28    <axis_definition src="./axis_def_nemo.xml"/> 
    4029  
     30<!-- Domain definition --> 
    4131    <domain_definition src="./domain_def_nemo.xml"/> 
     32 
     33<!-- Grids definition --> 
     34    <grid_definition   src="./grid_def_nemo.xml"/> 
    4235   
    43     <grid_definition src="./grid_def_nemo.xml"/> 
    4436 
    4537</context> 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/cfgs/AMM12/EXPREF/file_def_nemo-oce.xml

    r10641 r12706  
    1313      <file_group id="1ts" output_freq="1ts"  output_level="10" enabled=".TRUE."/> <!-- 1 time step files --> 
    1414 
    15 <!--old      <file_group id="1h" output_freq="1h"  output_level="10" enabled=".TRUE."/> old --> <!-- 1h files -->  
    16    <!-- TMB files --> 
     15      <!--old      <file_group id="1h" output_freq="1h"  output_level="10" enabled=".TRUE."/> old --> <!-- 1h files -->  
     16      <!-- TB files --> 
    1717      <file_group id="1h" output_freq="1h"  output_level="10" enabled=".TRUE."  >                       
    1818 
    19    <file id="file9" name_suffix="_shelftmb_grid_T" description="ocean T grid variables" enabled=".TRUE." > 
    20      <field field_ref="top_temp"           name="votemper_top"   operation="instant" enabled=".TRUE." /> 
    21      <field field_ref="mid_temp"           name="votemper_mid"   operation="instant" enabled=".TRUE." /> 
    22      <field field_ref="bot_temp"           name="votemper_bot"   operation="instant" enabled=".TRUE." /> 
    23      <field field_ref="sshnmasked"         name="sossheig"       operation="instant" enabled=".TRUE." />  
    24      <field field_ref="top_sal"            name="vosaline_top"   operation="instant" enabled=".TRUE." /> 
    25      <field field_ref="mid_sal"            name="vosaline_mid"   operation="instant" enabled=".TRUE." /> 
    26      <field field_ref="bot_sal"            name="vosaline_bot"   operation="instant" enabled=".TRUE." /> 
    27    </file> 
    28  
    29    <file id="file10" name_suffix="_shelftmb_grid_U" description="TMB ocean U grid variables" enabled=".TRUE." > 
    30      <field field_ref="top_u"         name="vozocrtx_top"   operation="instant" /> 
    31      <field field_ref="mid_u"         name="vozocrtx_mid"   operation="instant" /> 
    32      <field field_ref="bot_u"         name="vozocrtx_bot"   operation="instant" /> 
    33      <field field_ref="baro_u"        name="vobtcrtx"       operation="instant" /> 
    34    </file> 
    35  
    36    <file id="file11" name_suffix="_shelftmb_grid_V" description="TMB ocean V grid variables" enabled=".TRUE." > 
    37      <field field_ref="top_v"         name="vomecrty_top"   operation="instant" /> 
    38      <field field_ref="mid_v"         name="vomecrty_mid"   operation="instant" /> 
    39      <field field_ref="bot_v"         name="vomecrty_bot"   operation="instant" /> 
    40      <field field_ref="baro_v"        name="vobtcrty"       operation="instant" /> 
    41    </file> 
    42  
     19   <file id="file9" name_suffix="_shelftb_grid_T" description="TB ocean T grid variables" enabled=".TRUE." > 
     20     <field field_ref="sst"  operation="instant" enabled=".TRUE." /> 
     21     <field field_ref="sbt"  operation="instant" enabled=".TRUE." /> 
     22     <field field_ref="sss"  operation="instant" enabled=".TRUE." /> 
     23     <field field_ref="sbs"  operation="instant" enabled=".TRUE." />  
     24   </file> 
     25    
     26   <file id="file10" name_suffix="_shelftb_grid_U" description="TB ocean U grid variables" enabled=".TRUE." > 
     27     <field field_ref="ssu"  operation="instant" enabled=".TRUE." /> 
     28     <field field_ref="sbu"  operation="instant" enabled=".TRUE." /> 
     29   </file> 
     30    
     31   <file id="file11" name_suffix="_shelftb_grid_V" description="TB ocean V grid variables" enabled=".TRUE." > 
     32     <field field_ref="ssv"  operation="instant" enabled=".TRUE." /> 
     33     <field field_ref="sbv"  operation="instant" enabled=".TRUE." /> 
     34   </file> 
     35    
    4336      </file_group> 
    4437 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/cfgs/AMM12/EXPREF/namelist_cfg

    r12143 r12706  
    353353!!   nam_diaharm  Harmonic analysis of tidal constituents               (default: OFF) 
    354354!!   nam_diadct   transports through some sections                      (default: OFF) 
    355 !!   nam_diatmb   Top Middle Bottom Output                              (default: OFF) 
    356355!!   nam_dia25h   25h Mean Output                                       (default: OFF) 
    357356!!   namnc4       netcdf4 chunking and compression settings             ("key_netcdf4") 
    358357!!====================================================================== 
    359358! 
    360 !----------------------------------------------------------------------- 
    361 &nam_diatmb    !  Top Middle Bottom Output                              (default F) 
    362 !----------------------------------------------------------------------- 
    363    ln_diatmb  = .true.    !  Choose Top Middle and Bottom output or not 
    364 / 
    365359!----------------------------------------------------------------------- 
    366360&nam_dia25h    !  25h Mean Output                                       (default F) 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/cfgs/C1D_PAPA/EXPREF/context_nemo.xml

    r9930 r12706  
    55--> 
    66<context id="nemo"> 
    7 <!-- $id$ --> 
     7    <!-- $id$ --> 
     8 
    89<!-- Fields definition --> 
    910    <field_definition src="./field_def_nemo-oce.xml"/>   <!--  NEMO ocean dynamics                     --> 
     
    1112<!-- Files definition --> 
    1213    <file_definition src="./file_def_nemo-oce.xml"/>     <!--  NEMO ocean dynamics                     --> 
    13     <!--  
    14 ============================================================================================================ 
    15 = grid definition = = DO NOT CHANGE = 
    16 ============================================================================================================ 
    17     --> 
    18      
    19     <axis_definition> 
    20       <axis id="deptht" long_name="Vertical T levels" unit="m" positive="down" /> 
    21       <axis id="depthu" long_name="Vertical U levels" unit="m" positive="down" /> 
    22       <axis id="depthv" long_name="Vertical V levels" unit="m" positive="down" /> 
    23       <axis id="depthw" long_name="Vertical W levels" unit="m" positive="down" /> 
    24       <axis id="nfloat" long_name="Float number"      unit="-"                 /> 
    25       <axis id="icbcla"  long_name="Iceberg class"      unit="1"               /> 
    26       <axis id="ncatice" long_name="Ice category"       unit="1"               /> 
    27       <axis id="iax_20C" long_name="20 degC isotherm"   unit="degC"            /> 
    28       <axis id="iax_28C" long_name="28 degC isotherm"   unit="degC"            /> 
    29     </axis_definition> 
     14 
     15<!-- Axis definition --> 
     16    <axis_definition src="./axis_def_nemo.xml"/> 
    3017  
     18<!-- Domain definition --> 
    3119    <domain_definition src="./domain_def_nemo.xml"/> 
     20 
     21<!-- Grids definition --> 
     22    <grid_definition   src="./grid_def_nemo.xml"/> 
    3223   
    33     <grid_definition src="./grid_def_nemo.xml"/> 
    34      
     24 
    3525</context> 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/cfgs/C1D_PAPA/EXPREF/namelist_cfg

    r12143 r12706  
    423423!!   nam_diaharm  Harmonic analysis of tidal constituents               (default: OFF) 
    424424!!   nam_diadct   transports through some sections                      (default: OFF) 
    425 !!   nam_diatmb   Top Middle Bottom Output                              (default: OFF) 
    426425!!   nam_dia25h   25h Mean Output                                       (default: OFF) 
    427426!!   namnc4       netcdf4 chunking and compression settings             ("key_netcdf4") 
     
    454453!----------------------------------------------------------------------- 
    455454&nam_diadct    ! transports through some sections                       (default: OFF) 
    456 !----------------------------------------------------------------------- 
    457 / 
    458 !----------------------------------------------------------------------- 
    459 &nam_diatmb    !  Top Middle Bottom Output                              (default: OFF) 
    460455!----------------------------------------------------------------------- 
    461456/ 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/cfgs/GYRE_BFM/EXPREF/context_nemo.xml

    r12143 r12706  
    55--> 
    66<context id="nemo"> 
    7 <!-- $id$ --> 
     7    <!-- $id$ --> 
    88    <variable_definition> 
    9     <!-- Year of time origin for NetCDF files; defaults to 1800 --> 
    10        <variable id="ref_year" type="int"   > 1800 </variable> 
    11        <variable id="rau0"     type="float" > 1026.0 </variable> 
    12        <variable id="cpocean"  type="float" > 3991.86795711963 </variable> 
    13        <variable id="convSpsu" type="float" > 0.99530670233846  </variable> 
    14        <variable id="rhoic"    type="float" > 917.0 </variable> 
    15        <variable id="rhosn"    type="float" > 330.0 </variable> 
    16        <variable id="missval"  type="float" > 1.e20 </variable> 
     9       <!-- Year/Month/Day of time origin for NetCDF files; defaults to 1800-01-01 --> 
     10       <variable id="ref_year"  type="int"> 1900 </variable> 
     11       <variable id="ref_month" type="int"> 01 </variable> 
     12       <variable id="ref_day"   type="int"> 01 </variable> 
     13       <variable id="rau0"      type="float" > 1026.0 </variable> 
     14       <variable id="cpocean"   type="float" > 3991.86795711963 </variable> 
     15       <variable id="convSpsu"  type="float" > 0.99530670233846  </variable> 
     16       <variable id="rhoic"     type="float" > 917.0 </variable> 
     17       <variable id="rhosn"     type="float" > 330.0 </variable> 
     18       <variable id="missval"   type="float" > 1.e20 </variable> 
    1719    </variable_definition> 
     20 
    1821<!-- Fields definition --> 
    19     <field_definition src="./field_def_nemo-oce.xml"/>   <!--  NEMO ocean dynamics                     --> 
     22    <field_definition src="./field_def_nemo-oce.xml"/>      <!--  NEMO ocean dynamics                     --> 
    2023    <field_definition src="./field_def_nemo-pisces.xml"/>   <!--  NEMO ocean dynamics                     --> 
    2124 
     25 
    2226<!-- Files definition --> 
    23     <file_definition src="./file_def_nemo.xml"/>      
    24     <!--  
    25 ============================================================================================================ 
    26 = grid definition = = DO NOT CHANGE = 
    27 ============================================================================================================ 
    28     --> 
    29      
    30     <axis_definition> 
    31       <axis id="deptht"  long_name="Vertical T levels" unit="m" positive="down" /> 
    32       <axis id="depthu"  long_name="Vertical U levels" unit="m" positive="down" /> 
    33       <axis id="depthv"  long_name="Vertical V levels" unit="m" positive="down" /> 
    34       <axis id="depthw"  long_name="Vertical W levels" unit="m" positive="down" /> 
    35       <axis id="nfloat"  long_name="Float number"      unit="-"                 /> 
    36       <axis id="icbcla"  long_name="Iceberg class"     unit="1"                 /> 
    37       <axis id="ncatice" long_name="Ice category"      unit="1"                 /> 
    38       <axis id="iax_20C" long_name="20 degC isotherm"  unit="degC"              /> 
    39       <axis id="iax_28C" long_name="28 degC isotherm"  unit="degC"              /> 
    40     </axis_definition> 
     27    <file_definition src="./file_def_nemo.xml"/>     <!--  NEMO ocean dynamics                     --> 
     28 
     29<!-- Axis definition --> 
     30    <axis_definition src="./axis_def_nemo.xml"/> 
    4131  
     32<!-- Domain definition --> 
    4233    <domain_definition src="./domain_def_nemo.xml"/> 
     34 
     35<!-- Grids definition --> 
     36    <grid_definition   src="./grid_def_nemo.xml"/> 
    4337   
    44     <grid_definition src="./grid_def_nemo.xml"/> 
    4538 
    4639</context> 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/cfgs/GYRE_BFM/EXPREF/namelist_cfg

    r12143 r12706  
    230230!!   nam_diaharm  Harmonic analysis of tidal constituents               (default: OFF) 
    231231!!   nam_diadct   transports through some sections                      (default: OFF) 
    232 !!   nam_diatmb   Top Middle Bottom Output                              (default: OFF) 
    233232!!   nam_dia25h   25h Mean Output                                       (default: OFF) 
    234233!!   namnc4       netcdf4 chunking and compression settings             ("key_netcdf4") 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/cfgs/GYRE_PISCES/EXPREF/context_nemo.xml

    r12143 r12706  
    55--> 
    66<context id="nemo"> 
    7 <!-- $id$ --> 
     7    <!-- $id$ --> 
    88    <variable_definition> 
    9     <!-- Year of time origin for NetCDF files; defaults to 1800 --> 
    10        <variable id="ref_year" type="int"   > 1800 </variable> 
    11        <variable id="rau0"     type="float" > 1026.0 </variable> 
    12        <variable id="cpocean"  type="float" > 3991.86795711963 </variable> 
    13        <variable id="convSpsu" type="float" > 0.99530670233846  </variable> 
    14        <variable id="rhoic"    type="float" > 917.0 </variable> 
    15        <variable id="rhosn"    type="float" > 330.0 </variable> 
    16        <variable id="missval"  type="float" > 1.e20 </variable> 
     9       <!-- Year/Month/Day of time origin for NetCDF files; defaults to 1800-01-01 --> 
     10       <variable id="ref_year"  type="int"> 1900 </variable> 
     11       <variable id="ref_month" type="int"> 01 </variable> 
     12       <variable id="ref_day"   type="int"> 01 </variable> 
     13       <variable id="rau0"      type="float" > 1026.0 </variable> 
     14       <variable id="cpocean"   type="float" > 3991.86795711963 </variable> 
     15       <variable id="convSpsu"  type="float" > 0.99530670233846  </variable> 
     16       <variable id="rhoic"     type="float" > 917.0 </variable> 
     17       <variable id="rhosn"     type="float" > 330.0 </variable> 
     18       <variable id="missval"   type="float" > 1.e20 </variable> 
    1719    </variable_definition> 
     20 
    1821<!-- Fields definition --> 
    19     <field_definition src="./field_def_nemo-oce.xml"/>   <!--  NEMO ocean dynamics                     --> 
     22    <field_definition src="./field_def_nemo-oce.xml"/>      <!--  NEMO ocean dynamics                     --> 
    2023    <field_definition src="./field_def_nemo-pisces.xml"/>   <!--  NEMO ocean dynamics                     --> 
    2124 
     25 
    2226<!-- Files definition --> 
    23     <file_definition src="./file_def_nemo.xml"/>      
    24     <!--  
    25 ============================================================================================================ 
    26 = grid definition = = DO NOT CHANGE = 
    27 ============================================================================================================ 
    28     --> 
    29      
    30     <axis_definition> 
    31       <axis id="deptht"  long_name="Vertical T levels" unit="m" positive="down" /> 
    32       <axis id="depthu"  long_name="Vertical U levels" unit="m" positive="down" /> 
    33       <axis id="depthv"  long_name="Vertical V levels" unit="m" positive="down" /> 
    34       <axis id="depthw"  long_name="Vertical W levels" unit="m" positive="down" /> 
    35       <axis id="nfloat"  long_name="Float number"      unit="-"                 /> 
    36       <axis id="icbcla"  long_name="Iceberg class"     unit="1"                 /> 
    37       <axis id="ncatice" long_name="Ice category"      unit="1"                 /> 
    38       <axis id="iax_20C" long_name="20 degC isotherm"  unit="degC"              /> 
    39       <axis id="iax_28C" long_name="28 degC isotherm"  unit="degC"              /> 
    40     </axis_definition> 
     27    <file_definition src="./file_def_nemo.xml"/>     <!--  NEMO ocean dynamics                     --> 
     28 
     29<!-- Axis definition --> 
     30    <axis_definition src="./axis_def_nemo.xml"/> 
    4131  
     32<!-- Domain definition --> 
    4233    <domain_definition src="./domain_def_nemo.xml"/> 
     34 
     35<!-- Grids definition --> 
     36    <grid_definition   src="./grid_def_nemo.xml"/> 
    4337   
    44     <grid_definition src="./grid_def_nemo.xml"/> 
    4538 
    4639</context> 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/cfgs/GYRE_PISCES/EXPREF/namelist_cfg

    r12143 r12706  
    224224!!   nam_diaharm  Harmonic analysis of tidal constituents               (default: OFF) 
    225225!!   nam_diadct   transports through some sections                      (default: OFF) 
    226 !!   nam_diatmb   Top Middle Bottom Output                              (default: OFF) 
    227226!!   nam_dia25h   25h Mean Output                                       (default: OFF) 
    228227!!   namnc4       netcdf4 chunking and compression settings             ("key_netcdf4") 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/cfgs/ORCA2_ICE_PISCES/EXPREF/context_nemo.xml

    r12143 r12706  
    55--> 
    66<context id="nemo"> 
    7 <!-- $id$ --> 
     7    <!-- $id$ --> 
    88    <variable_definition> 
    9     <!-- Year of time origin for NetCDF files; defaults to 1800 --> 
    10        <variable id="ref_year" type="int"   > 1800 </variable> 
    11        <variable id="rau0"     type="float" > 1026.0 </variable> 
    12        <variable id="cpocean"  type="float" > 3991.86795711963 </variable> 
    13        <variable id="convSpsu" type="float" > 0.99530670233846  </variable> 
    14        <variable id="rhoic"    type="float" > 917.0 </variable> 
    15        <variable id="rhosn"    type="float" > 330.0 </variable> 
    16        <variable id="missval"  type="float" > 1.e20 </variable> 
     9       <!-- Year/Month/Day of time origin for NetCDF files; defaults to 1800-01-01 --> 
     10       <variable id="ref_year"  type="int"> 1900 </variable> 
     11       <variable id="ref_month" type="int"> 01 </variable> 
     12       <variable id="ref_day"   type="int"> 01 </variable> 
     13       <variable id="rau0"      type="float" > 1026.0 </variable> 
     14       <variable id="cpocean"   type="float" > 3991.86795711963 </variable> 
     15       <variable id="convSpsu"  type="float" > 0.99530670233846  </variable> 
     16       <variable id="rhoic"     type="float" > 917.0 </variable> 
     17       <variable id="rhosn"     type="float" > 330.0 </variable> 
     18       <variable id="missval"   type="float" > 1.e20 </variable> 
    1719    </variable_definition> 
     20 
    1821<!-- Fields definition --> 
    19     <field_definition src="./field_def_nemo-oce.xml"/>    <!--  NEMO ocean dynamics     -->  
    20     <field_definition src="./field_def_nemo-ice.xml"/>    <!--  NEMO sea-ice model      -->  
    21     <field_definition src="./field_def_nemo-pisces.xml"/> <!--  NEMO ocean biology      -->  
     22    <field_definition src="./field_def_nemo-oce.xml"/>    <!--  NEMO ocean dynamics     --> 
     23    <field_definition src="./field_def_nemo-ice.xml"/>    <!--  NEMO sea-ice model      --> 
     24    <field_definition src="./field_def_nemo-pisces.xml"/> <!--  NEMO ocean biology      --> 
    2225 
    2326<!-- Files definition --> 
    24     <file_definition src="./file_def_nemo-oce.xml"/>     <!--  NEMO ocean dynamics      -->  
    25     <file_definition src="./file_def_nemo-ice.xml"/>     <!--  NEMO sea-ice model       -->  
    26     <file_definition src="./file_def_nemo-pisces.xml"/>  <!--  NEMO ocean biology       -->  
    27     <!--  
    28 ============================================================================================================ 
    29 = grid definition = = DO NOT CHANGE = 
    30 ============================================================================================================ 
    31     --> 
    32      
    33     <axis_definition> 
    34       <axis id="deptht"  long_name="Vertical T levels" unit="m" positive="down" /> 
    35       <axis id="depthu"  long_name="Vertical U levels" unit="m" positive="down" /> 
    36       <axis id="depthv"  long_name="Vertical V levels" unit="m" positive="down" /> 
    37       <axis id="depthw"  long_name="Vertical W levels" unit="m" positive="down" /> 
    38       <axis id="profsed" long_name="Vertical S levels" unit="cm" positive="down"/> 
    39       <axis id="nfloat"  long_name="Float number"      unit="-"                 /> 
    40       <axis id="icbcla"  long_name="Iceberg class"     unit="1"                 /> 
    41       <axis id="ncatice" long_name="Ice category"      unit="1"                 /> 
    42       <axis id="iax_20C" long_name="20 degC isotherm"  unit="degC"              /> 
    43       <axis id="iax_28C" long_name="28 degC isotherm"  unit="degC"              /> 
    44     </axis_definition> 
     27    <file_definition src="./file_def_nemo-oce.xml"/>     <!--  NEMO ocean dynamics      --> 
     28    <file_definition src="./file_def_nemo-ice.xml"/>     <!--  NEMO sea-ice model       --> 
     29    <file_definition src="./file_def_nemo-pisces.xml"/>  <!--  NEMO ocean biology       --> 
     30 
     31 
     32<!-- Axis definition --> 
     33    <axis_definition src="./axis_def_nemo.xml"/> 
    4534  
     35<!-- Domain definition --> 
    4636    <domain_definition src="./domain_def_nemo.xml"/> 
     37 
     38<!-- Grids definition --> 
     39    <grid_definition   src="./grid_def_nemo.xml"/> 
    4740   
    48     <grid_definition src="./grid_def_nemo.xml"/> 
    49      
     41 
    5042</context> 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/cfgs/ORCA2_ICE_PISCES/EXPREF/file_def_nemo-ice.xml

    r12143 r12706  
    117117      
    118118   </file_group> 
     119 
     120   <file_group id="1m"  output_freq="1mo" output_level="10" enabled=".TRUE."> <!-- real monthly files --> 
     121     <!-- To compute transport through straits : need to read ice mask at ice iteration at freq_offset = 1mo - nn_fsbc 
     122        <file id="file23" name_suffix="_strait_ice" description="transport variables through straits" > 
     123          <field field_ref="strait_mifl"      name="simassacrossline"  freq_offset="1mo-4ts" /> 
     124          <field field_ref="strait_msfl"      name="snmassacrossline"  freq_offset="1mo-4ts" /> 
     125          <field field_ref="strait_arfl"      name="siareaacrossline"  freq_offset="1mo-4ts" /> 
     126        </file> 
     127     --> 
     128    </file_group> 
     129 
     130   <!-- To compute transport through straits : need to read ice mask at ice iteration at freq_offset = - nn_fsbc + 1 
     131     <file id="maskMFO" name="maskMFO" enabled="true" mode="read" output_freq="1mo" cyclic="true"  > 
     132      <field id="maskMFO_u_ice" operation="instant"  freq_offset="-3ts"  grid_ref="grid_U_4strait_ice" /> 
     133      <field id="maskMFO_v_ice" operation="instant"  freq_offset="-3ts"  grid_ref="grid_V_4strait_ice" /> 
     134     </file> 
     135     --> 
     136 
    119137    
    120138   <file_group id="1ts" output_freq="1ts" output_level="10" enabled=".TRUE."/> <!-- 1 time step files --> 
     
    124142   <file_group id="4h"  output_freq="4h"  output_level="10" enabled=".TRUE."/> <!-- 4h files --> 
    125143   <file_group id="6h"  output_freq="6h"  output_level="10" enabled=".TRUE."/> <!-- 6h files -->         
    126    <file_group id="1m"  output_freq="1mo" output_level="10" enabled=".TRUE."/> <!-- real monthly files --> 
    127144   <file_group id="2m"  output_freq="2mo" output_level="10" enabled=".TRUE."/> <!-- real 2m files --> 
    128145   <file_group id="3m"  output_freq="3mo" output_level="10" enabled=".TRUE."/> <!-- real 3m files --> 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/cfgs/ORCA2_ICE_PISCES/EXPREF/file_def_nemo-oce.xml

    r12143 r12706  
    100100 
    101101      <file_group id="1m" output_freq="1mo" output_level="10" enabled=".TRUE."> <!-- real monthly files --> 
     102 
     103 
     104        <file id="file16" name_suffix="_diaptr2D" description="zonal mean variables" > 
     105          <field field_ref="sophtove"    name="htovovrt"      grid_ref="grid_ptr_T_2D"  /> 
     106          <field field_ref="sopstove"    name="sltovovrt"     grid_ref="grid_ptr_T_2D"  /> 
     107          <field field_ref="sophtgyre"   name="htovgyre"      grid_ref="grid_ptr_T_2D"  /> 
     108          <field field_ref="sopstgyre"   name="sltogyre"      grid_ref="grid_ptr_T_2D"  /> 
     109          <field field_ref="sophtbtr"    name="htbtr"         grid_ref="grid_ptr_T_2D"  /> 
     110          <field field_ref="sopstbtr"    name="sltbtr"        grid_ref="grid_ptr_T_2D"  /> 
     111          <field field_ref="sophtadv"    name="htadv"         grid_ref="grid_ptr_T_2D"  /> 
     112          <field field_ref="sopstadv"    name="sltadv"        grid_ref="grid_ptr_T_2D"  /> 
     113          <field field_ref="sophtldf"    name="htldf"         grid_ref="grid_ptr_T_2D"  /> 
     114          <field field_ref="sopstldf"    name="sltldf"        grid_ref="grid_ptr_T_2D"  /> 
     115          <field field_ref="sophtvtr"    name="hfbasin"       grid_ref="grid_ptr_T_2D"  /> 
     116          <field field_ref="sopstvtr"    name="sltbasin"      grid_ref="grid_ptr_T_2D"  /> 
     117          <field field_ref="sophteiv"    name="hfbasinpmadv"  grid_ref="grid_ptr_T_2D"  /> 
     118          <field field_ref="sopsteiv"    name="sltbasinpmadv" grid_ref="grid_ptr_T_2D"  /> 
     119        </file> 
     120 
     121 
     122         <file id="file17" name_suffix="_diaptr3D" description="zonal mean variables" > 
     123          <field field_ref="zomsf"       name="msftyz"        grid_ref="grid_ptr_W_3D"  /> 
     124          <field field_ref="zotem"       name="znltem"        grid_ref="grid_ptr_T_3D"  /> 
     125          <field field_ref="zosal"       name="znlsal"        grid_ref="grid_ptr_T_3D"  /> 
     126          <field field_ref="zosrf"       name="znlsrf"        grid_ref="grid_ptr_T_3D"  /> 
     127        </file> 
     128 
     129      <!--   
     130         <file id="file18" name_suffix="_strait_oce" description="transport variables through straits" > 
     131           <field field_ref="masstr_strait"        name="mfo"               /> 
     132         </file>        
     133      --> 
     134 
    102135      </file_group> 
     136 
     137 
     138      <!--  To compute transport through straits : need to read mask file ( every month is the best otherwise costly ) 
     139      <file id="maskMFO"  name="maskMFO" enabled="true" mode="read" output_freq="1mo" cyclic="true"  > 
     140        <field id="maskMFO_u" operation="instant" freq_offset="1mo" grid_ref="grid_U_4strait" /> 
     141        <field id="maskMFO_v" operation="instant" freq_offset="1mo" grid_ref="grid_V_4strait" /> 
     142      </file> 
     143 
     144    --> 
     145 
    103146 
    104147      <file_group id="1y"  output_freq="1y" output_level="10" enabled=".TRUE."> <!-- real yearly files --> 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/cfgs/ORCA2_ICE_PISCES/EXPREF/namelist_cfg

    r12143 r12706  
    394394!!   nam_diaharm  Harmonic analysis of tidal constituents               (default: OFF) 
    395395!!   nam_diadct   transports through some sections                      (default: OFF) 
    396 !!   nam_diatmb   Top Middle Bottom Output                              (default: OFF) 
    397396!!   nam_dia25h   25h Mean Output                                       (default: OFF) 
    398397!!   namnc4       netcdf4 chunking and compression settings             ("key_netcdf4") 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/cfgs/ORCA2_OFF_PISCES/EXPREF/context_nemo.xml

    r12143 r12706  
    55--> 
    66<context id="nemo"> 
    7 <!-- $id$ --> 
     7    <!-- $id$ --> 
    88    <variable_definition> 
    9     <!-- Year of time origin for NetCDF files; defaults to 1800 --> 
    10        <variable id="ref_year" type="int"   > 1800 </variable> 
    11        <variable id="rau0"     type="float" > 1026.0 </variable> 
    12        <variable id="cpocean"  type="float" > 3991.86795711963 </variable> 
    13        <variable id="convSpsu" type="float" > 0.99530670233846  </variable> 
    14        <variable id="rhoic"    type="float" > 917.0 </variable> 
    15        <variable id="rhosn"    type="float" > 330.0 </variable> 
    16        <variable id="missval"  type="float" > 1.e20 </variable> 
     9       <!-- Year/Month/Day of time origin for NetCDF files; defaults to 1800-01-01 --> 
     10       <variable id="ref_year"  type="int"> 1900 </variable> 
     11       <variable id="ref_month" type="int"> 01 </variable> 
     12       <variable id="ref_day"   type="int"> 01 </variable> 
     13       <variable id="rau0"      type="float" > 1026.0 </variable> 
     14       <variable id="cpocean"   type="float" > 3991.86795711963 </variable> 
     15       <variable id="convSpsu"  type="float" > 0.99530670233846  </variable> 
     16       <variable id="rhoic"     type="float" > 917.0 </variable> 
     17       <variable id="rhosn"     type="float" > 330.0 </variable> 
     18       <variable id="missval"   type="float" > 1.e20 </variable> 
    1719    </variable_definition> 
     20 
    1821<!-- Fields definition --> 
    19     <field_definition src="./field_def_nemo-oce.xml"/>   <!--  Ocean biology                     --> 
    20     <field_definition src="./field_def_nemo-pisces.xml"/>   <!--  Ocean biology                     --> 
     22    <field_definition src="./field_def_nemo-oce.xml"/>    <!--  NEMO ocean dynamics     --> 
     23    <field_definition src="./field_def_nemo-pisces.xml"/> <!--  NEMO ocean biology      --> 
    2124 
    2225<!-- Files definition --> 
    23     <file_definition src="./file_def_nemo.xml"/>     <!--  NEMO ocean dynamics                     --> 
    24     <!--  
    25 ============================================================================================================ 
    26 = grid definition = = DO NOT CHANGE = 
    27 ============================================================================================================ 
    28     --> 
    29      
    30     <axis_definition> 
    31       <axis id="deptht"  long_name="Vertical T levels" unit="m" positive="down" /> 
    32       <axis id="depthu"  long_name="Vertical U levels" unit="m" positive="down" /> 
    33       <axis id="depthv"  long_name="Vertical V levels" unit="m" positive="down" /> 
    34       <axis id="depthw"  long_name="Vertical W levels" unit="m" positive="down" /> 
    35       <axis id="profsed" long_name="Vertical S levels" unit="cm" positive="down"/> 
    36       <axis id="nfloat"  long_name="Float number"      unit="-"                 /> 
    37       <axis id="icbcla"  long_name="Iceberg class"     unit="1"                 /> 
    38       <axis id="ncatice" long_name="Ice category"      unit="1"                 /> 
    39       <axis id="iax_20C" long_name="20 degC isotherm"  unit="degC"              /> 
    40       <axis id="iax_28C" long_name="28 degC isotherm"  unit="degC"              /> 
    41     </axis_definition> 
     26    <file_definition src="./file_def_nemo-pisces.xml"/>  <!--  NEMO ocean biology       --> 
     27 
     28 
     29<!-- Axis definition --> 
     30    <axis_definition src="./axis_def_nemo.xml"/> 
    4231  
     32<!-- Domain definition --> 
    4333    <domain_definition src="./domain_def_nemo.xml"/> 
     34 
     35<!-- Grids definition --> 
     36    <grid_definition   src="./grid_def_nemo.xml"/> 
    4437   
    45     <grid_definition src="./grid_def_nemo.xml"/> 
    46      
     38 
    4739</context> 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/cfgs/ORCA2_OFF_PISCES/EXPREF/namelist_cfg

    r12143 r12706  
    379379!!   nam_diaharm  Harmonic analysis of tidal constituents               (default: OFF) 
    380380!!   nam_diadct   transports through some sections                      (default: OFF) 
    381 !!   nam_diatmb   Top Middle Bottom Output                              (default: OFF) 
    382381!!   nam_dia25h   25h Mean Output                                       (default: OFF) 
    383382!!   namnc4       netcdf4 chunking and compression settings             ("key_netcdf4") 
     
    410409!----------------------------------------------------------------------- 
    411410&nam_diadct    !   transports through some sections                     (default: OFF) 
    412 !----------------------------------------------------------------------- 
    413 / 
    414 !----------------------------------------------------------------------- 
    415 &nam_diatmb    !  Top Middle Bottom Output                              (default: OFF) 
    416411!----------------------------------------------------------------------- 
    417412/ 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/cfgs/ORCA2_OFF_TRC/EXPREF/context_nemo.xml

    r12143 r12706  
    55--> 
    66<context id="nemo"> 
    7 <!-- $id$ --> 
     7    <!-- $id$ --> 
    88    <variable_definition> 
    9     <!-- Year of time origin for NetCDF files; defaults to 1800 --> 
    10        <variable id="ref_year" type="int"   > 1800 </variable> 
    11        <variable id="rau0"     type="float" > 1026.0 </variable> 
    12        <variable id="cpocean"  type="float" > 3991.86795711963 </variable> 
    13        <variable id="convSpsu" type="float" > 0.99530670233846  </variable> 
    14        <variable id="rhoic"    type="float" > 917.0 </variable> 
    15        <variable id="rhosn"    type="float" > 330.0 </variable> 
    16        <variable id="missval"  type="float" > 1.e20 </variable> 
     9       <!-- Year/Month/Day of time origin for NetCDF files; defaults to 1800-01-01 --> 
     10       <variable id="ref_year"  type="int"> 1900 </variable> 
     11       <variable id="ref_month" type="int"> 01 </variable> 
     12       <variable id="ref_day"   type="int"> 01 </variable> 
     13       <variable id="rau0"      type="float" > 1026.0 </variable> 
     14       <variable id="cpocean"   type="float" > 3991.86795711963 </variable> 
     15       <variable id="convSpsu"  type="float" > 0.99530670233846  </variable> 
     16       <variable id="rhoic"     type="float" > 917.0 </variable> 
     17       <variable id="rhosn"     type="float" > 330.0 </variable> 
     18       <variable id="missval"   type="float" > 1.e20 </variable> 
    1719    </variable_definition> 
     20 
    1821<!-- Fields definition --> 
    19     <field_definition src="./field_def_nemo-oce.xml"/>   <!--  Ocean biology                     --> 
    20     <field_definition src="./field_def_nemo-innerttrc.xml"/>   <!--  Ocean biology                     --> 
     22    <field_definition src="./field_def_nemo-oce.xml"/>    <!--  NEMO ocean dynamics     --> 
     23    <field_definition src="./field_def_nemo-innerttrc.xml"/> <!--  NEMO ocean biology      --> 
    2124 
    2225<!-- Files definition --> 
    23     <file_definition src="./file_def_nemo.xml"/>     <!--  NEMO ocean dynamics                     --> 
    24     <!--  
    25 ============================================================================================================ 
    26 = grid definition = = DO NOT CHANGE = 
    27 ============================================================================================================ 
    28     --> 
    29      
    30     <axis_definition> 
    31       <axis id="deptht"  long_name="Vertical T levels" unit="m" positive="down" /> 
    32       <axis id="depthu"  long_name="Vertical U levels" unit="m" positive="down" /> 
    33       <axis id="depthv"  long_name="Vertical V levels" unit="m" positive="down" /> 
    34       <axis id="depthw"  long_name="Vertical W levels" unit="m" positive="down" /> 
    35       <axis id="nfloat"  long_name="Float number"      unit="-"                 /> 
    36       <axis id="icbcla"  long_name="Iceberg class"     unit="1"                 /> 
    37       <axis id="ncatice" long_name="Ice category"      unit="1"                 /> 
    38       <axis id="iax_20C" long_name="20 degC isotherm"  unit="degC"              /> 
    39       <axis id="iax_28C" long_name="28 degC isotherm"  unit="degC"              /> 
    40     </axis_definition> 
     26    <file_definition src="./file_def_nemo-innerttrc.xml"/>  <!--  NEMO ocean biology       --> 
     27 
     28 
     29<!-- Axis definition --> 
     30    <axis_definition src="./axis_def_nemo.xml"/> 
    4131  
     32<!-- Domain definition --> 
    4233    <domain_definition src="./domain_def_nemo.xml"/> 
     34 
     35<!-- Grids definition --> 
     36    <grid_definition   src="./grid_def_nemo.xml"/> 
    4337   
    44     <grid_definition src="./grid_def_nemo.xml"/> 
    45      
     38 
    4639</context> 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/cfgs/ORCA2_OFF_TRC/EXPREF/namelist_cfg

    r12143 r12706  
    377377!!   nam_diaharm  Harmonic analysis of tidal constituents               ("key_diaharm") 
    378378!!   namdct       transports through some sections                      ("key_diadct") 
    379 !!   nam_diatmb   Top Middle Bottom Output                              (default: OFF) 
    380379!!   nam_dia25h   25h Mean Output                                       (default: OFF) 
    381380!!   namnc4       netcdf4 chunking and compression settings             ("key_netcdf4") 
     
    408407!----------------------------------------------------------------------- 
    409408&namdct        ! transports through some sections                       ("key_diadct") 
    410 !----------------------------------------------------------------------- 
    411 / 
    412 !----------------------------------------------------------------------- 
    413 &nam_diatmb    !  Top Middle Bottom Output                              (default: OFF) 
    414409!----------------------------------------------------------------------- 
    415410/ 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/cfgs/ORCA2_SAS_ICE/EXPREF/context_nemo.xml

    r9930 r12706  
    55--> 
    66<context id="nemo"> 
    7 <!-- $id$ --> 
     7    <!-- $id$ --> 
    88    <variable_definition> 
    9     <!-- Year of time origin for NetCDF files; defaults to 1800 --> 
    10        <variable id="ref_year" type="int"   > 1800 </variable> 
    11        <variable id="rau0"     type="float" > 1026.0 </variable> 
    12        <variable id="cpocean"  type="float" > 3991.86795711963 </variable> 
    13        <variable id="convSpsu" type="float" > 0.99530670233846  </variable> 
    14        <variable id="rhoic"    type="float" > 917.0 </variable> 
    15        <variable id="rhosn"    type="float" > 330.0 </variable> 
    16        <variable id="missval"  type="float" > 1.e20 </variable> 
     9       <!-- Year/Month/Day of time origin for NetCDF files; defaults to 1800-01-01 --> 
     10       <variable id="ref_year"  type="int"> 1900 </variable> 
     11       <variable id="ref_month" type="int"> 01 </variable> 
     12       <variable id="ref_day"   type="int"> 01 </variable> 
     13       <variable id="rau0"      type="float" > 1026.0 </variable> 
     14       <variable id="cpocean"   type="float" > 3991.86795711963 </variable> 
     15       <variable id="convSpsu"  type="float" > 0.99530670233846  </variable> 
     16       <variable id="rhoic"     type="float" > 917.0 </variable> 
     17       <variable id="rhosn"     type="float" > 330.0 </variable> 
     18       <variable id="missval"   type="float" > 1.e20 </variable> 
    1719    </variable_definition> 
     20 
    1821<!-- Fields definition --> 
    1922    <field_definition src="./field_def_nemo-oce.xml"/>    <!--  NEMO ocean dynamics     --> 
     
    2326    <file_definition src="./file_def_nemo-oce.xml"/>     <!--  NEMO ocean dynamics      --> 
    2427    <file_definition src="./file_def_nemo-ice.xml"/>     <!--  NEMO sea-ice model       --> 
    25     <!--  
    26 ============================================================================================================ 
    27 = grid definition = = DO NOT CHANGE = 
    28 ============================================================================================================ 
    29     --> 
    30      
    31     <axis_definition> 
    32       <axis id="deptht"  long_name="Vertical T levels"  unit="m" positive="down" /> 
    33       <axis id="depthu"  long_name="Vertical U levels"  unit="m" positive="down" /> 
    34       <axis id="depthv"  long_name="Vertical V levels"  unit="m" positive="down" /> 
    35       <axis id="depthw"  long_name="Vertical W levels"  unit="m" positive="down" /> 
    36       <axis id="nfloat"  long_name="Float number"       unit="-"                 /> 
    37       <axis id="icbcla"  long_name="Iceberg class"      unit="1"                 /> 
    38       <axis id="ncatice" long_name="Ice category"       unit="1"                 /> 
    39       <axis id="iax_20C" long_name="20 degC isotherm"   unit="degC"              /> 
    40       <axis id="iax_28C" long_name="28 degC isotherm"   unit="degC"              /> 
    41     </axis_definition> 
     28 
     29 
     30<!-- Axis definition --> 
     31    <axis_definition src="./axis_def_nemo.xml"/> 
    4232  
     33<!-- Domain definition --> 
    4334    <domain_definition src="./domain_def_nemo.xml"/> 
     35 
     36<!-- Grids definition --> 
     37    <grid_definition   src="./grid_def_nemo.xml"/> 
    4438   
    45     <grid_definition src="./grid_def_nemo.xml"/> 
    4639 
    4740</context> 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/cfgs/ORCA2_SAS_ICE/EXPREF/namelist_cfg

    r12143 r12706  
    180180!!   nam_diaharm  Harmonic analysis of tidal constituents               (default: OFF) 
    181181!!   nam_diadct   transports through some sections                      (default: OFF) 
    182 !!   nam_diatmb   Top Middle Bottom Output                              (default: OFF) 
    183182!!   nam_dia25h   25h Mean Output                                       (default: OFF) 
    184183!!   namnc4       netcdf4 chunking and compression settings             ("key_netcdf4") 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/cfgs/SHARED/domain_def_nemo.xml

    r12143 r12706  
    99       <zoom_domain ibegin="1" jbegin="1" ni="2" nj="3"/> 
    1010     </domain> 
     11 
     12      <domain id="1point" domain_ref="grid_T" > 
     13         <zoom_domain ibegin="139" jbegin="119" ni="1" nj="1"/> 
     14      </domain> 
     15 
    1116 
    1217     <!--   Eq section --> 
     
    176181     <domain id="EqW" domain_ref="grid_W" > <zoom_domain id="EqW"/> </domain> 
    177182 
    178       
    179      <!--   zonal mean grid   --> 
    180      <domain id="gznl" long_name="gznl"/> 
    181      <domain id="znl_T" domain_ref="gznl" > <zoom_domain id="znl_T"/> </domain> 
    182      <domain id="znl_W" domain_ref="gznl" > <zoom_domain id="znl_W"/> </domain> 
     183              <!--   zonal mean grid   --> 
     184     <domain_group id="gznl"> 
     185        <domain id="gznl" long_name="gznl"/> 
     186        <domain id="ptr" domain_ref="gznl" >  
     187            <zoom_domain id="ptr" ibegin="0000" jbegin="0" ni="1" nj="0000" />  
     188        </domain> 
     189      </domain_group> 
    183190 
    184191      
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/cfgs/SHARED/field_def_nemo-ice.xml

    r12143 r12706  
    228228 
    229229     <!-- momentum (advection) --> 
    230      <field id="xmtrpice"     long_name="X-component of ice mass transport"                       standard_name="ice_x_transport"                       unit="kg/s" /> 
    231           <field id="ymtrpice"     long_name="Y-component of ice mass transport"                       standard_name="ice_y_transport"                       unit="kg/s" /> 
    232           <field id="xmtrpsnw"     long_name="X-component of snw mass transport"                       standard_name="snw_x_transport"                       unit="kg/s" /> 
    233           <field id="ymtrpsnw"     long_name="Y-component of snw mass transport"                       standard_name="snw_y_transport"                       unit="kg/s" /> 
    234           <field id="xatrp"        long_name="X-component of ice area transport"                       standard_name="area_x_transport"                      unit="m2/s" /> 
    235           <field id="yatrp"        long_name="Y-component of ice area transport"                       standard_name="area_y_transport"                      unit="m2/s" /> 
    236           <field id="xmtrptot"     long_name="X-component of sea-ice mass transport"                   standard_name="sea_ice_x_transport"                   unit="kg/s" > xmtrpice + xmtrpsnw </field> 
    237           <field id="ymtrptot"     long_name="Y-component of sea-ice mass transport"                   standard_name="sea_ice_y_transport"                   unit="kg/s" > ymtrpice + ymtrpsnw </field> 
    238      
     230        <field id="xmtrpice"     long_name="X-component of ice mass transport"                       standard_name="ice_x_transport"       grid_ref="grid_U_2D"         unit="kg/s" /> 
     231          <field id="ymtrpice"     long_name="Y-component of ice mass transport"                       standard_name="ice_y_transport"       grid_ref="grid_V_2D"         unit="kg/s" /> 
     232          <field id="xmtrpsnw"     long_name="X-component of snw mass transport"                       standard_name="snw_x_transport"       grid_ref="grid_U_2D"         unit="kg/s" /> 
     233          <field id="ymtrpsnw"     long_name="Y-component of snw mass transport"                       standard_name="snw_y_transport"       grid_ref="grid_V_2D"         unit="kg/s" /> 
     234          <field id="xatrp"        long_name="X-component of ice area transport"                       standard_name="area_x_transport"      grid_ref="grid_U_2D"         unit="m2/s" /> 
     235          <field id="yatrp"        long_name="Y-component of ice area transport"                       standard_name="area_y_transport"      grid_ref="grid_V_2D"         unit="m2/s" /> 
     236          <field id="xmtrptot"     long_name="X-component of sea-ice mass transport"                   standard_name="sea_ice_x_transport"   grid_ref="grid_U_2D"         unit="kg/s" > xmtrpice + xmtrpsnw </field> 
     237        <field id="ymtrptot"     long_name="Y-component of sea-ice mass transport"                   standard_name="sea_ice_y_transport"   grid_ref="grid_V_2D"         unit="kg/s" > ymtrpice + ymtrpsnw </field> 
     238 
     239     <!-- Ice transport through straits" --> 
     240         <field id="xmtrpice_ave"     long_name="Monthly average of x-ice mass transport"   field_ref="xmtrpice"          grid_ref="grid_U_2D"        freq_op="1mo" freq_offset="_reset_"  > @xmtrpice </field> 
     241         <field id="xmtrpice_section"                                                                                     grid_ref="grid_U_scalar"  > xmtrpice_ave </field> 
     242         <field id="xmtrpice_strait"                                                        field_ref="xmtrpice_section"  grid_ref="grid_U_4strait_ice"  /> 
     243         <field id="xstrait_mifl"                                                           field_ref="xmtrpice_strait"   grid_ref="grid_U_4strait_ice_hsum" unit="kg/s" detect_missing_value="true" > this * maskMFO_u_ice </field> 
     244 
     245         <field id="ymtrpice_ave"     long_name="Monthly average of y-ice mass transport"   field_ref="ymtrpice"          grid_ref="grid_V_2D"        freq_op="1mo" freq_offset="_reset_"  > @ymtrpice </field> 
     246         <field id="ymtrpice_section"                                                                                     grid_ref="grid_V_scalar"  > ymtrpice_ave </field> 
     247         <field id="ymtrpice_strait"                                                        field_ref="ymtrpice_section"  grid_ref="grid_V_4strait_ice"  /> 
     248    <field id="ystrait_mifl"                                                           field_ref="ymtrpice_strait"   grid_ref="grid_V_4strait_ice_hsum" unit="kg/s" detect_missing_value="true"  > this * maskMFO_v_ice </field> 
     249 
     250         <field id="xmtrpsnw_ave"     long_name="Monthly average of x-snow mass transport"  field_ref="xmtrpsnw"          grid_ref="grid_U_2D"        freq_op="1mo" freq_offset="_reset_"  > @xmtrpsnw </field> 
     251         <field id="xmtrpsnw_section"                                                                                     grid_ref="grid_U_scalar"  > xmtrpsnw_ave </field> 
     252         <field id="xmtrpsnw_strait"                                                        field_ref="xmtrpsnw_section"  grid_ref="grid_U_4strait_ice"  /> 
     253         <field id="xstrait_msfl"                                                           field_ref="xmtrpsnw_strait"   grid_ref="grid_U_4strait_ice_hsum" unit="kg/s" detect_missing_value="true" > this * maskMFO_u_ice </field> 
     254 
     255         <field id="ymtrpsnw_ave"     long_name="Monthly average of y-snow mass transport"  field_ref="ymtrpsnw"          grid_ref="grid_V_2D"        freq_op="1mo" freq_offset="_reset_"  > @ymtrpsnw </field> 
     256         <field id="ymtrpsnw_section"                                                                                     grid_ref="grid_V_scalar"  > ymtrpsnw_ave </field> 
     257         <field id="ymtrpsnw_strait"                                                        field_ref="ymtrpsnw_section"  grid_ref="grid_V_4strait_ice"  /> 
     258    <field id="ystrait_msfl"                                                           field_ref="ymtrpsnw_strait"   grid_ref="grid_V_4strait_ice_hsum" unit="kg/s" detect_missing_value="true"  > this * maskMFO_v_ice </field> 
     259 
     260         <field id="xatrp_ave"        long_name="Monthly average of x-ice area transport"   field_ref="xatrp"             grid_ref="grid_U_2D"        freq_op="1mo" freq_offset="_reset_"  > @xatrp </field> 
     261         <field id="xatrp_section"                                                                                        grid_ref="grid_U_scalar"  > xatrp_ave </field> 
     262         <field id="xatrp_strait"                                                           field_ref="xatrp_section"     grid_ref="grid_U_4strait_ice"  /> 
     263         <field id="xstrait_arfl"                                                           field_ref="xatrp_strait"      grid_ref="grid_U_4strait_ice_hsum" unit="kg/s" detect_missing_value="true" > this * maskMFO_u_ice </field> 
     264 
     265         <field id="yatrp_ave"        long_name="Monthly average of y-ice area transport"   field_ref="yatrp"             grid_ref="grid_V_2D"        freq_op="1mo" freq_offset="_reset_"  > @yatrp </field> 
     266         <field id="yatrp_section"                                                                                        grid_ref="grid_V_scalar"  > yatrp_ave </field> 
     267         <field id="yatrp_strait"                                                           field_ref="yatrp_section"     grid_ref="grid_V_4strait_ice"  /> 
     268    <field id="ystrait_arfl"                                                           field_ref="yatrp_strait"      grid_ref="grid_V_4strait_ice_hsum" unit="m2/s" detect_missing_value="true"  > this * maskMFO_v_ice </field> 
     269 
     270         <field id="strait_mifl"      long_name="Sea ice mass flux through straits"      standard_name="sea_ice_mass_transport_across_line"   unit="kg/s"  freq_op="1mo"  grid_ref="grid_4strait_ice" > xstrait_mifl + ystrait_mifl </field> 
     271         <field id="strait_msfl"      long_name="Snow mass flux through straits"         standard_name="snow_mass_transport_across_line"      unit="kg/s"  freq_op="1mo"  grid_ref="grid_4strait_ice" > xstrait_msfl + ystrait_msfl </field> 
     272    <field id="strait_arfl"      long_name="Sea ice area flux through straits"      standard_name="sea_area_mass_transport_across_line"  unit="m2/s"  freq_op="1mo"  grid_ref="grid_4strait_ice" > xstrait_arfl + ystrait_arfl </field> 
     273 
    239274   </field_group> <!-- SBC_2D --> 
    240275 
     
    296331          <field id="sbgheat_tot"     long_name="global mean snow heat content"                                                             unit="1e20J"    /> 
    297332 
    298      <!-- available later --> 
    299      <!-- 
    300           <field id="strait_mifl"     long_name="Sea ice mass flux through straits"      standard_name="sea_ice_mass_transport_across_line" unit="kg/s"  grid_ref="grid_4strait" /> 
    301           <field id="strait_arfl"     long_name="Sea ice area flux through straits"      standard_name="sea_ice_area_transport_across_line" unit="m2/s"  grid_ref="grid_4strait" />   
    302           <field id="strait_msfl"     long_name="Sea ice snow flux through straits"      standard_name="snow_mass_transport_across_line"    unit="kg/s"  grid_ref="grid_4strait" /> 
    303           --> 
    304333   </field_group> 
    305334   
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/cfgs/SHARED/field_def_nemo-oce.xml

    r12143 r12706  
    1919       
    2020      <field_group id="grid_T" grid_ref="grid_T_2D" > 
    21         <field id="e3t"          long_name="T-cell thickness"                    standard_name="cell_thickness"     unit="m"   grid_ref="grid_T_3D" /> 
    22         <field id="e3t_surf"     long_name="T-cell thickness"   field_ref="e3t"  standard_name="cell_thickness"     unit="m"   grid_ref="grid_T_SFC"/> 
    23         <field id="e3t_0"        long_name="Initial T-cell thickness"            standard_name="ref_cell_thickness" unit="m"   grid_ref="grid_T_3D" /> 
    24  
     21        <field id="e3t"          long_name="T-cell thickness"                    standard_name="cell_thickness"        unit="m"   grid_ref="grid_T_3D" /> 
     22        <field id="e3ts"         long_name="T-cell thickness"   field_ref="e3t"  standard_name="cell_thickness"        unit="m"   grid_ref="grid_T_SFC"/> 
     23        <field id="e3t_0"        long_name="Initial T-cell thickness"            standard_name="ref_cell_thickness"    unit="m"   grid_ref="grid_T_3D" /> 
     24        <field id="e3tb"         long_name="bottom T-cell thickness"             standard_name="bottom_cell_thickness" unit="m"   grid_ref="grid_T_2D"/>  
     25        <field id="e3t_300"      field_ref="e3t"                grid_ref="grid_T_zoom_300"       detect_missing_value="true" /> 
     26        <field id="e3t_vsum300"  field_ref="e3t_300"            grid_ref="grid_T_vsum"   detect_missing_value="true" /> 
     27   <field id="masscello"    long_name="Sea Water Mass per unit area"   standard_name="sea_water_mass_per_unit_area"   unit="kg/m2"   grid_ref="grid_T_3D"/> 
     28        <field id="volcello"     long_name="Ocean Volume"                   standard_name="ocean_volume"   unit="m3"       grid_ref="grid_T_3D"/>  
    2529        <field id="toce"         long_name="temperature"                         standard_name="sea_water_potential_temperature"   unit="degC"     grid_ref="grid_T_3D"/> 
    2630        <field id="toce_e3t"     long_name="temperature (thickness weighted)"                                                      unit="degC"     grid_ref="grid_T_3D" > toce * e3t </field > 
    2731        <field id="soce"         long_name="salinity"                            standard_name="sea_water_practical_salinity"      unit="1e-3"     grid_ref="grid_T_3D"/> 
    2832        <field id="soce_e3t"     long_name="salinity    (thickness weighted)"                                                      unit="1e-3"     grid_ref="grid_T_3D" > soce * e3t </field > 
     33 
     34        <field id="toce_e3t_300"      field_ref="toce_e3t"          unit="degree_C"     grid_ref="grid_T_zoom_300"      detect_missing_value="true" /> 
     35        <field id="toce_e3t_vsum300"  field_ref="toce_e3t_300"      unit="degress_C*m"  grid_ref="grid_T_vsum"  detect_missing_value="true" /> 
     36        <field id="toce_vmean300"     field_ref="toce_e3t_vsum300"  unit="degree_C"     grid_ref="grid_T_vsum"  detect_missing_value="true" > toce_e3t_vsum300/e3t_vsum300 </field> 
     37 
    2938 
    3039        <!-- t-eddy viscosity coefficients (ldfdyn) --> 
     
    5362        <field id="taubot"       long_name="bottom stress module"                                                                                   unit="N/m2"     />  
    5463 
     64         <!-- Case EOS = TEOS-10 : output potential temperature --> 
     65   <field id="toce_pot"     long_name="Sea Water Potential Temperature"              standard_name="sea_water_potential_temperature"   unit="degC"     grid_ref="grid_T_3D"/> 
     66        <field id="sst_pot"      long_name="potential sea surface temperature"             standard_name="sea_surface_temperature"             unit="degC"     /> 
     67        <field id="tosmint_pot"  long_name="vertical integral of potential temperature times density"   standard_name="integral_wrt_depth_of_product_of_density_and_potential_temperature"  unit="(kg m2) degree_C" /> 
     68 
     69 
    5570        <field id="ssh"          long_name="sea surface height"                                 standard_name="sea_surface_height_above_geoid"             unit="m" /> 
    5671        <field id="ssh2"         long_name="square of sea surface height"                       standard_name="square_of_sea_surface_height_above_geoid"   unit="m2" > ssh * ssh </field > 
     
    92107        <field id="topthdep"     long_name="Top of Thermocline Depth (dT = -0.2 wrt 10m)"   standard_name="ocean_mixed_layer_thickness_defined_by_temperature"                                unit="m"                         /> 
    93108        <field id="pycndep"      long_name="Pycnocline Depth (dsigma[dT=-0.2] wrt 10m)"     standard_name="ocean_mixed_layer_thickness_defined_by_sigma_theta"                                unit="m"                         /> 
    94         <field id="BLT"          long_name="Barrier Layer Thickness"                                                                                                                          unit="m"                          > topthdep - pycndep </field> 
     109        <field id="BLT"          long_name="Barrier Layer Thickness"                                                                                                                          unit="m"   > topthdep - pycndep </field> 
    95110        <field id="tinv"         long_name="Max of vertical invertion of temperature"                                                                                                         unit="degC"                      /> 
    96111        <field id="depti"        long_name="Depth of max. vert. inv. of temperature"                                                                                                          unit="m"                         /> 
    97         <field id="20d"          long_name="Depth of 20C isotherm"                          standard_name="depth_of_isosurface_of_sea_water_potential_temperature"                            unit="m"      axis_ref="iax_20C" /> 
    98         <field id="28d"          long_name="Depth of 28C isotherm"                          standard_name="depth_of_isosurface_of_sea_water_potential_temperature"                            unit="m"      axis_ref="iax_28C" /> 
     112   <field id="20d"          long_name="Depth of 20C isotherm"                          standard_name="depth_of_isosurface_of_sea_water_potential_temperature"                            unit="m"   axis_ref="iax_20C" /> 
     113        <field id="26d"          long_name="Depth of 26C isotherm"                          standard_name="depth_of_isosurface_of_sea_water_potential_temperature"                            unit="m"   axis_ref="iax_26C"   /> 
     114        <field id="28d"          long_name="Depth of 28C isotherm"                          standard_name="depth_of_isosurface_of_sea_water_potential_temperature"                            unit="m"   axis_ref="iax_28C" /> 
    99115        <field id="hc300"        long_name="Heat content 0-300m"                            standard_name="integral_of_sea_water_potential_temperature_wrt_depth_expressed_as_heat_content"   unit="J/m2"                      /> 
     116        <field id="hc700"        long_name="Heat content 0-700m"                            standard_name="integral_of_sea_water_potential_temperature_wrt_depth_expressed_as_heat_content"   unit="J/m2"                      /> 
     117        <field id="hc2000"       long_name="Heat content 0-2000m"                           standard_name="integral_of_sea_water_potential_temperature_wrt_depth_expressed_as_heat_content"   unit="J/m2"                      /> 
    100118 
    101119        <!-- variables available with diaar5 --> 
     
    315333 
    316334          <!-- available if key_oasis3 + conservative method --> 
    317           <field id="rain"          long_name="Liquid precipitation"                                     standard_name="rainfall_flux"                                                                 unit="kg/m2/s"  /> 
     335     <field id="rain"          long_name="Liquid precipitation"                                     standard_name="rainfall_flux"                                                                 unit="kg/m2/s"  /> 
     336          <field id="rain_ao_cea"   long_name="Liquid precipitation over ice-free ocean (cell average)"  standard_name="rainfall_flux"                                                                 unit="kg/m2/s"  /> 
    318337          <field id="evap_ao_cea"   long_name="Evaporation over ice-free ocean (cell average)"           standard_name="water_evaporation_flux"                                                        unit="kg/m2/s"  /> 
    319338          <field id="isnwmlt_cea"   long_name="Snow over Ice melting (cell average)"                     standard_name="surface_snow_melt_flux"                                                        unit="kg/m2/s"  /> 
     
    322341          <field id="hflx_rain_cea" long_name="heat flux due to rainfall"                                standard_name="temperature_flux_due_to_rainfall_expressed_as_heat_flux_into_sea_water"        unit="W/m2"     /> 
    323342          <field id="hflx_evap_cea" long_name="heat flux due to evaporation"                             standard_name="temperature_flux_due_to_evaporation_expressed_as_heat_flux_out_of_sea_water"   unit="W/m2"     /> 
     343          <field id="hflx_prec_cea" long_name="heat flux due to all precip"                              standard_name="temperature_flux_due_to_all_precip_expressed_as_heat_flux_into_sea_water"      unit="W/m2"     /> 
    324344          <field id="hflx_snow_cea" long_name="heat flux due to snow falling"                            standard_name="heat_flux_onto_ocean_and_ice_due_to_snow_thermodynamics"                       unit="W/m2"     /> 
    325345          <field id="hflx_snow_ai_cea" long_name="heat flux due to snow falling over ice"                standard_name="heat_flux_onto_ice_due_to_snow_thermodynamics"                                 unit="W/m2"     /> 
     
    356376   </field_group> 
    357377    
     378   <!-- scalar variables --> 
     379   <field_group id="SBC_0D"  grid_ref="grid_1point" > 
     380   </field_group> 
    358381 
    359382      </field_group> <!-- SBC --> 
     
    362385       
    363386      <field_group id="grid_U"   grid_ref="grid_U_2D"> 
    364         <field id="e3u"          long_name="U-cell thickness"                                       standard_name="cell_thickness"              unit="m"          grid_ref="grid_U_3D" /> 
    365         <field id="e3u_0"        long_name="Initial U-cell thickness"                               standard_name="ref_cell_thickness"          unit="m"          grid_ref="grid_U_3D"/> 
    366         <field id="utau"         long_name="Wind Stress along i-axis"                               standard_name="surface_downward_x_stress"   unit="N/m2"                            /> 
    367         <field id="uoce"         long_name="ocean current along i-axis"                             standard_name="sea_water_x_velocity"        unit="m/s"        grid_ref="grid_U_3D" /> 
    368         <field id="uoce_e3u"     long_name="ocean current along i-axis  (thickness weighted)"                                                   unit="m/s"        grid_ref="grid_U_3D"  > uoce * e3u </field> 
     387        <field id="e2u"           long_name="U-cell width in meridional direction"                   standard_name="cell_width"                  unit="m"                               /> 
     388        <field id="e3u"           long_name="U-cell thickness"                                       standard_name="cell_thickness"              unit="m"          grid_ref="grid_U_3D" /> 
     389        <field id="e3u_0"         long_name="Initial U-cell thickness"                               standard_name="ref_cell_thickness"          unit="m"          grid_ref="grid_U_3D"/> 
     390        <field id="utau"          long_name="Wind Stress along i-axis"                               standard_name="surface_downward_x_stress"   unit="N/m2"                            /> 
     391        <field id="uoce"          long_name="ocean current along i-axis"                             standard_name="sea_water_x_velocity"        unit="m/s"        grid_ref="grid_U_3D" /> 
     392      <field id="uoce_e3u"      long_name="ocean current along i-axis  (thickness weighted)"                                                   unit="m/s"        grid_ref="grid_U_3D"  > uoce * e3u </field> 
     393      <field id="uoce_e3u_vsum" long_name="ocean current along i-axis * e3u summed on the vertical"  field_ref="uoce_e3u"    unit="m3/s"       grid_ref="grid_U_vsum"/> 
     394        <field id="uocetr_vsum"   long_name="ocean transport along i-axis  summed on the vertical"         field_ref="e2u"       unit="m3/s"> this * uoce_e3u_vsum  </field>  
     395 
     396        <field id="uocetr_vsum_op"    long_name="ocean current along i-axis * e3u * e2u summed on the vertical"  read_access="true"  freq_op="1mo"    field_ref="e2u"       unit="m3/s"> @uocetr_vsum </field> 
     397        <field id="uocetr_vsum_cumul" long_name="ocean current along i-axis * e3u * e2u cumulated from southwest point" freq_offset="_reset_" operation="instant" freq_op="1mo"  unit="m3/s" />  
     398        <field id="msftbarot"         long_name="ocean_barotropic_mass_streamfunction"   unit="kg s-1" > uocetr_vsum_cumul * $rau0 </field> 
     399 
     400 
    369401        <field id="ssu"          long_name="ocean surface current along i-axis"                                                                 unit="m/s"                             /> 
    370402        <field id="sbu"          long_name="ocean bottom current along i-axis"                                                                  unit="m/s"                             /> 
     
    385417 
    386418        <!-- uoce_eiv: available EIV (ln_ldfeiv=T and ln_ldfeiv_dia=T) --> 
    387         <field id="uoce_eiv"     long_name="EIV ocean current along i-axis"   standard_name="bolus_sea_water_x_velocity"   unit="m/s"   grid_ref="grid_U_3D" /> 
     419      <field id="uoce_eiv"      long_name="EIV ocean current along i-axis"                                  standard_name="bolus_sea_water_x_velocity"                     unit="m/s"   grid_ref="grid_U_3D" /> 
     420        <field id="ueiv_masstr"   long_name="EIV Ocean Mass X Transport"                                      standard_name="bolus_ocean_mass_x_transport"                   unit="kg/s"  grid_ref="grid_U_3D" /> 
     421        <field id="ueiv_heattr"   long_name="ocean bolus heat transport along i-axis"                         standard_name="ocean_heat_x_transport_due_to_bolus_advection"  unit="W"                         /> 
     422        <field id="ueiv_salttr"   long_name="ocean bolus salt transport along i-axis"                         standard_name="ocean_salt_x_transport_due_to_bolus_advection"  unit="Kg"                        /> 
     423        <field id="ueiv_heattr3d" long_name="ocean bolus heat transport along i-axis"                         standard_name="ocean_heat_x_transport_due_to_bolus_advection"  unit="W"     grid_ref="grid_U_3D" /> 
     424        <field id="ueiv_salttr3d" long_name="ocean bolus salt transport along i-axis"                         standard_name="ocean_salt_x_transport_due_to_bolus_advection"  unit="kg"    grid_ref="grid_U_3D" /> 
    388425 
    389426        <!-- uoce_bbl: available with ln_trabbl=T and nn_bbl_adv=1 --> 
     
    399436        <field id="utbl"         long_name="zonal current in the Losh tbl"     unit="m/s" /> 
    400437 
    401         <field id="u_masstr"      long_name="Ocean Mass X Transport"                                          standard_name="ocean_mass_x_transport"                         unit="kg/s" grid_ref="grid_U_3D" /> 
     438        <!-- variables available with diaar5 --> 
     439        <field id="u_masstr"      long_name="Ocean Mass X Transport"                                          standard_name="ocean_mass_x_transport"                         unit="kg/s"  grid_ref="grid_U_3D" /> 
    402440        <field id="u_masstr_vint" long_name="vertical integral of ocean eulerian mass transport along i-axis" standard_name="vertical_integral_of_ocean_mass_x_transport"    unit="kg/s"                      /> 
    403441        <field id="u_heattr"      long_name="ocean eulerian heat transport along i-axis"                      standard_name="ocean_heat_x_transport"                         unit="W"                         /> 
     
    405443        <field id="uadv_heattr"   long_name="ocean advective heat transport along i-axis"                     standard_name="advectice_ocean_heat_x_transport"               unit="W"                         /> 
    406444        <field id="uadv_salttr"   long_name="ocean advective salt transport along i-axis"                     standard_name="advectice_ocean_salt_x_transport"               unit="1e-3*kg/s"                 /> 
    407         <field id="ueiv_heattr"   long_name="ocean bolus heat transport along i-axis"                         standard_name="ocean_heat_x_transport_due_to_bolus_advection"  unit="W"                         /> 
    408         <field id="ueiv_salttr"   long_name="ocean bolus salt transport along i-axis"                         standard_name="ocean_salt_x_transport_due_to_bolus_advection"  unit="Kg"                        /> 
    409         <field id="ueiv_heattr3d" long_name="ocean bolus heat transport along i-axis"                         standard_name="ocean_heat_x_transport_due_to_bolus_advection"  unit="W"    grid_ref="grid_U_3D" /> 
    410         <field id="ueiv_salttr3d" long_name="ocean bolus salt transport along i-axis"                         standard_name="ocean_salt_x_transport_due_to_bolus_advection"  unit="kg"   grid_ref="grid_U_3D" /> 
    411445        <field id="udiff_heattr"  long_name="ocean diffusion heat transport along i-axis"                     standard_name="ocean_heat_x_transport_due_to_diffusion"        unit="W"                         /> 
    412446        <field id="udiff_salttr"  long_name="ocean diffusion salt transport along i-axis"                     standard_name="ocean_salt_x_transport_due_to_diffusion"        unit="1e-3*kg/s"                 /> 
     
    416450       
    417451      <field_group id="grid_V"   grid_ref="grid_V_2D"> 
     452        <field id="e1v"          long_name="V-cell width in longitudinal direction"                 standard_name="cell_width"                  unit="m"                              /> 
    418453        <field id="e3v"          long_name="V-cell thickness"                                       standard_name="cell_thickness"              unit="m"          grid_ref="grid_V_3D" /> 
    419454        <field id="e3v_0"        long_name="Initial V-cell thickness"                               standard_name="ref_cell_thickness"          unit="m"          grid_ref="grid_V_3D" /> 
     
    439474 
    440475        <!-- voce_eiv: available EIV (ln_ldfeiv=T and ln_ldfeiv_dia=T)  --> 
    441         <field id="voce_eiv"     long_name="EIV ocean current along j-axis"   standard_name="bolus_sea_water_y_velocity"   unit="m/s"   grid_ref="grid_V_3D" /> 
     476   <field id="voce_eiv"     long_name="EIV ocean current along j-axis"  standard_name="bolus_sea_water_y_velocity"     unit="m/s"   grid_ref="grid_V_3D" /> 
     477        <field id="veiv_masstr"  long_name="EIV Ocean Mass Y Transport"      standard_name="bolus_ocean_mass_y_transport"   unit="kg/s"  grid_ref="grid_V_3D" /> 
     478        <field id="veiv_heattr"   long_name="ocean bolus heat transport along j-axis"       standard_name="ocean_heat_y_transport_due_to_bolus_advection"   unit="W"                         /> 
     479        <field id="veiv_salttr"   long_name="ocean bolus salt transport along j-axis"       standard_name="ocean_salt_x_transport_due_to_bolus_advection"   unit="Kg"                        /> 
     480        <field id="veiv_heattr3d" long_name="ocean bolus heat transport along j-axis"       standard_name="ocean_heat_y_transport_due_to_bolus_advection"   unit="W"    grid_ref="grid_V_3D" /> 
     481        <field id="veiv_salttr3d" long_name="ocean bolus salt transport along j-axis"       standard_name="ocean_salt_y_transport_due_to_bolus_advection"   unit="kg"   grid_ref="grid_V_3D" /> 
     482 
    442483 
    443484        <!-- voce_bbl: available with ln_trabbl=T and nn_bbl_adv=1 --> 
     
    459500        <field id="vadv_heattr"   long_name="ocean advective heat transport along j-axis"   standard_name="advectice_ocean_heat_y_transport"                unit="W"                         /> 
    460501        <field id="vadv_salttr"   long_name="ocean advective salt transport along j-axis"   standard_name="advectice_ocean_salt_y_transport"                unit="1e-3*kg/s"                 /> 
    461         <field id="veiv_heattr"   long_name="ocean bolus heat transport along j-axis"       standard_name="ocean_heat_y_transport_due_to_bolus_advection"   unit="W"                         /> 
    462         <field id="veiv_salttr"   long_name="ocean bolus salt transport along j-axis"       standard_name="ocean_salt_x_transport_due_to_bolus_advection"   unit="Kg"                        /> 
    463         <field id="veiv_heattr3d" long_name="ocean bolus heat transport along j-axis"       standard_name="ocean_heat_y_transport_due_to_bolus_advection"   unit="W"    grid_ref="grid_V_3D" /> 
    464         <field id="veiv_salttr3d" long_name="ocean bolus salt transport along j-axis"       standard_name="ocean_salt_y_transport_due_to_bolus_advection"   unit="kg"   grid_ref="grid_V_3D" /> 
    465502        <field id="vdiff_heattr"  long_name="ocean diffusion heat transport along j-axis"   standard_name="ocean_heat_y_transport_due_to_diffusion"         unit="W"                         /> 
    466503        <field id="vdiff_salttr"  long_name="ocean diffusion salt transport along j-axis"   standard_name="ocean_salt_y_transport_due_to_diffusion"         unit="1e-3*kg/s"                 /> 
     
    471508      <field_group id="grid_W" grid_ref="grid_W_3D"> 
    472509        <field id="e3w"          long_name="W-cell thickness"                              standard_name="cell_thickness"                         unit="m"    /> 
    473         <field id="woce"         long_name="ocean vertical velocity"                       standard_name="upward_sea_water_velocity"              unit="m/s"  /> 
     510   <field id="woce"         long_name="ocean vertical velocity"                       standard_name="upward_sea_water_velocity"              unit="m/s"  /> 
     511   <field id="woce_e3w"     long_name="ocean vertical velocity * e3w"                                                                        unit="m2/s"  > woce * e3w </field>   
    474512        <field id="wocetr_eff"   long_name="effective ocean vertical transport"                                                                   unit="m3/s" /> 
    475513 
    476514        <!-- woce_eiv: available with EIV  (ln_ldfeiv=T and ln_ldfeiv_dia=T)  --> 
    477515        <field id="woce_eiv"     long_name="EIV ocean vertical velocity"                    standard_name="bolus_upward_sea_water_velocity"       unit="m/s"  /> 
    478  
    479         <field id="avt"          long_name="vertical eddy diffusivity"                      standard_name="ocean_vertical_heat_diffusivity"       unit="m2/s" /> 
     516        <field id="weiv_masstr"  long_name="EIV Upward Ocean Mass Transport"  standard_name="bolus_upward_ocean_mass_transport"             unit="kg/s"   /> 
     517        <field id="weiv_heattr3d" long_name="ocean bolus heat transport"    standard_name="ocean_heat_z_transport_due_to_bolus_advection"   unit="W"    /> 
     518        <field id="weiv_salttr3d" long_name="ocean bolus salt transport"    standard_name="ocean_salt_z_transport_due_to_bolus_advection"   unit="kg"   /> 
     519 
     520   <field id="avt"          long_name="vertical eddy diffusivity"                      standard_name="ocean_vertical_heat_diffusivity"       unit="m2/s" /> 
     521        <field id="avt_e3w"      long_name="vertical heat diffusivity * e3w"                unit="m3/s" > avt * e3w </field>      
    480522        <field id="logavt"       long_name="logarithm of vertical eddy diffusivity"         standard_name="ocean_vertical_heat_diffusivity"       unit="m2/s" /> 
    481523        <field id="avm"          long_name="vertical eddy viscosity"                        standard_name="ocean_vertical_momentum_diffusivity"   unit="m2/s" /> 
     524        <field id="avm_e3w"      long_name="vertical eddy viscosity * e3w"   unit="m3/s" > avm * e3w </field>  
    482525 
    483526        <!-- avs: /= avt with ln_zdfddm=T --> 
    484527        <field id="avs"          long_name="salt vertical eddy diffusivity"                 standard_name="ocean_vertical_salt_diffusivity"       unit="m2/s" /> 
    485         <field id="logavs"       long_name="logarithm of salt vertical eddy diffusivity"    standard_name="ocean_vertical_heat_diffusivity"       unit="m2/s" /> 
     528        <field id="avs_e3w"      long_name="vertical salt diffusivity * e3w"   unit="m3/s" > avs * e3w </field>  
     529   <field id="logavs"       long_name="logarithm of salt vertical eddy diffusivity"    standard_name="ocean_vertical_heat_diffusivity"       unit="m2/s" /> 
    486530 
    487531        <!-- avt_evd and avm_evd: available with ln_zdfevd --> 
    488532        <field id="avt_evd"      long_name="convective enhancement of vertical diffusivity" standard_name="ocean_vertical_tracer_diffusivity_due_to_convection"     unit="m2/s" /> 
    489         <field id="avm_evd"      long_name="convective enhancement of vertical viscosity"   standard_name="ocean_vertical_momentum_diffusivity_due_to_convection"   unit="m2/s" /> 
     533        <field id="avt_evd_e3w"  long_name="convective enhancement to vertical diffusivity * e3w "    unit="m3/s" > avt_evd * e3w </field>  
     534   <field id="avm_evd"      long_name="convective enhancement of vertical viscosity"   standard_name="ocean_vertical_momentum_diffusivity_due_to_convection"   unit="m2/s" /> 
    490535 
    491536        <!-- avt_tide: available with ln_zdfiwm=T --> 
     
    518563        <field id="masstot"    long_name="global total mass"                            standard_name="sea_water_mass"                                 unit="kg"   /> 
    519564        <field id="temptot"    long_name="global mean temperature"                      standard_name="sea_water_potential_temperature"                unit="degC" /> 
    520         <field id="saltot"     long_name="global mean salinity"                         standard_name="sea_water_salinity"                             unit="1e-3" /> 
    521         <field id="fram_trans" long_name="Sea Ice Mass Transport Through Fram Strait"   standard_name="sea_ice_transport_across_line"                  unit="kg/s" /> 
     565   <field id="saltot"     long_name="global mean salinity"                         standard_name="sea_water_salinity"                             unit="1e-3" /> 
     566        <field id="ssttot"     long_name="global mean sea surface temperature"          standard_name="sea_water_conservative_temperature"             unit="degC" /> 
     567         <!-- EOS = TEOS-10 --> 
     568        <field id="temptot_pot" long_name="global mean potential temperature"            standard_name="sea_water_potential_temperature"               unit="degC" /> 
    522569 
    523570         <!-- available with ln_diahsb --> 
     
    536583        <field id="bgmissal"     long_name="global mean salinity error due to free surface (linssh true)"                                                                          unit="1e-3"     /> 
    537584      </field_group> 
    538        
    539       <!-- variables available with ln_floats --> 
     585 
     586 
     587      <!-- transects --> 
     588      <field_group id="oce_straits"> 
     589         <field id="uoce_e3u_ave"         long_name="Monthly average of u*e3u"                        field_ref="uoce_e3u"                    freq_op="1mo"   freq_offset="_reset_" > @uoce_e3u </field> 
     590         <field id="uoce_e3u_ave_vsum"    long_name="Vertical sum of u*e3u"                           field_ref="uoce_e3u_ave"         grid_ref="grid_U_vsum"     /> 
     591         <field id="uocetr_vsum_section"  long_name="Total 2D transport in i-direction"               field_ref="uoce_e3u_ave_vsum"    grid_ref="grid_U_scalar"  detect_missing_value="true"> this * e2u </field> 
     592         <field id="uocetr_strait"        long_name="Total transport across lines in i-direction"     field_ref="uocetr_vsum_section"  grid_ref="grid_U_4strait" /> 
     593         <field id="u_masstr_strait"      long_name="Sea water transport across line in i-direction"  field_ref="uocetr_strait"        grid_ref="grid_U_4strait_hsum" unit="kg/s"> this * maskMFO_u * $rau0 </field> 
     594 
     595         <field id="voce_e3v_ave"         long_name="Monthly average of v*e3v"                        field_ref="voce_e3v"                    freq_op="1mo"   freq_offset="_reset_" > @voce_e3v </field> 
     596         <field id="voce_e3v_ave_vsum"    long_name="Vertical sum of v*e3v"                           field_ref="voce_e3v_ave"         grid_ref="grid_V_vsum"      /> 
     597         <field id="vocetr_vsum_section"  long_name="Total 2D transport of in j-direction"            field_ref="voce_e3v_ave_vsum"    grid_ref="grid_V_scalar"  detect_missing_value="true"> this * e1v </field> 
     598         <field id="vocetr_strait"        long_name="Total transport across lines in j-direction"     field_ref="vocetr_vsum_section"  grid_ref="grid_V_4strait"  /> 
     599         <field id="v_masstr_strait"      long_name="Sea water transport across line in j-direction"  field_ref="vocetr_strait"        grid_ref="grid_V_4strait_hsum" unit="kg/s"> this * maskMFO_v * $rau0 </field> 
     600 
     601         <field id="masstr_strait"        long_name="Sea water transport across line"                                                  grid_ref="grid_4strait"  > u_masstr_strait + v_masstr_strait </field> 
     602      </field_group> 
     603 
     604       
     605      <!-- variables available with key_float --> 
    540606 
    541607      <field_group id="floatvar" grid_ref="grid_T_nfloat"  operation="instant" > 
     
    571637      <!-- Poleward transport : ptr -->      
    572638      <field_group id="diaptr" >   
    573         <field id="zomsfglo"          long_name="Meridional Stream-Function: Global"           unit="Sv"        grid_ref="gznl_W_3D" /> 
    574         <field id="zomsfatl"          long_name="Meridional Stream-Function: Atlantic"         unit="Sv"        grid_ref="gznl_W_3D" /> 
    575         <field id="zomsfpac"          long_name="Meridional Stream-Function: Pacific"          unit="Sv"        grid_ref="gznl_W_3D" /> 
    576         <field id="zomsfind"          long_name="Meridional Stream-Function: Indian"           unit="Sv"        grid_ref="gznl_W_3D" /> 
    577         <field id="zomsfipc"          long_name="Meridional Stream-Function: Pacific+Indian"   unit="Sv"        grid_ref="gznl_W_3D" /> 
    578         <field id="zotemglo"          long_name="Zonal Mean Temperature : Global"              unit="degree_C"  grid_ref="gznl_T_3D" /> 
    579         <field id="zotematl"          long_name="Zonal Mean Temperature : Atlantic"            unit="degree_C"  grid_ref="gznl_T_3D" /> 
    580         <field id="zotempac"          long_name="Zonal Mean Temperature : Pacific"             unit="degree_C"  grid_ref="gznl_T_3D" /> 
    581         <field id="zotemind"          long_name="Zonal Mean Temperature : Indian"              unit="degree_C"  grid_ref="gznl_T_3D" /> 
    582         <field id="zotemipc"          long_name="Zonal Mean Temperature : Pacific+Indian"      unit="degree_C"  grid_ref="gznl_T_3D" /> 
    583         <field id="zosalglo"          long_name="Zonal Mean Salinity : Global"                 unit="0.001"     grid_ref="gznl_T_3D" /> 
    584         <field id="zosalatl"          long_name="Zonal Mean Salinity : Atlantic"               unit="0.001"     grid_ref="gznl_T_3D" /> 
    585         <field id="zosalpac"          long_name="Zonal Mean Salinity : Pacific"                unit="0.001"     grid_ref="gznl_T_3D" /> 
    586         <field id="zosalind"          long_name="Zonal Mean Salinity : Indian"                 unit="0.001"     grid_ref="gznl_T_3D" /> 
    587         <field id="zosalipc"          long_name="Zonal Mean Salinity : Pacific+Indian"         unit="0.001"     grid_ref="gznl_T_3D" /> 
    588         <field id="zosrfglo"          long_name="Zonal Mean Surface"                           unit="m2"        grid_ref="gznl_T_3D" /> 
    589         <field id="zosrfatl"          long_name="Zonal Mean Surface : Atlantic"                unit="m2"        grid_ref="gznl_T_3D" /> 
    590         <field id="zosrfpac"          long_name="Zonal Mean Surface : Pacific"                 unit="m2"        grid_ref="gznl_T_3D" /> 
    591         <field id="zosrfind"          long_name="Zonal Mean Surface : Indian"                  unit="m2"        grid_ref="gznl_T_3D" /> 
    592         <field id="zosrfipc"          long_name="Zonal Mean Surface : Pacific+Indian"          unit="m2"        grid_ref="gznl_T_3D" /> 
    593         <field id="sophtadv"          long_name="Advective Heat Transport"                     unit="PW"        grid_ref="gznl_T_2D" /> 
    594         <field id="sophtadv_atl"      long_name="Advective Heat Transport: Atlantic"           unit="PW"        grid_ref="gznl_T_2D" /> 
    595         <field id="sophtadv_pac"      long_name="Advective Heat Transport: Pacific"            unit="PW"        grid_ref="gznl_T_2D" /> 
    596         <field id="sophtadv_ind"      long_name="Advective Heat Transport: Indian"             unit="PW"        grid_ref="gznl_T_2D" /> 
    597         <field id="sophtadv_ipc"      long_name="Advective Heat Transport: Pacific+Indian"     unit="PW"        grid_ref="gznl_T_2D" /> 
    598         <field id="sophtldf"          long_name="Diffusive Heat Transport"                     unit="PW"        grid_ref="gznl_T_2D" /> 
    599         <field id="sophtldf_atl"      long_name="Diffusive Heat Transport: Atlantic"           unit="PW"        grid_ref="gznl_T_2D" /> 
    600         <field id="sophtldf_pac"      long_name="Diffusive Heat Transport: Pacific"            unit="PW"        grid_ref="gznl_T_2D" /> 
    601         <field id="sophtldf_ind"      long_name="Diffusive Heat Transport: Indian"             unit="PW"        grid_ref="gznl_T_2D" /> 
    602         <field id="sophtldf_ipc"      long_name="Diffusive Heat Transport: Pacific+Indian"     unit="PW"        grid_ref="gznl_T_2D" /> 
    603         <field id="sophtove"          long_name="Overturning Heat Transport"                   unit="PW"        grid_ref="gznl_T_2D" /> 
    604         <field id="sophtove_atl"      long_name="Overturning Heat Transport: Atlantic"         unit="PW"        grid_ref="gznl_T_2D" /> 
    605         <field id="sophtove_pac"      long_name="Overturning Heat Transport: Pacific"          unit="PW"        grid_ref="gznl_T_2D" /> 
    606         <field id="sophtove_ind"      long_name="Overturning Heat Transport: Indian"           unit="PW"        grid_ref="gznl_T_2D" /> 
    607         <field id="sophtove_ipc"      long_name="Overturning Heat Transport: Pacific+Indian"   unit="PW"        grid_ref="gznl_T_2D" /> 
    608         <field id="sophtbtr"          long_name="Barotropic Heat Transport"                    unit="PW"        grid_ref="gznl_T_2D" /> 
    609         <field id="sophtbtr_atl"      long_name="Barotropic Heat Transport: Atlantic"          unit="PW"        grid_ref="gznl_T_2D" /> 
    610         <field id="sophtbtr_pac"      long_name="Barotropic Heat Transport: Pacific"           unit="PW"        grid_ref="gznl_T_2D" /> 
    611         <field id="sophtbtr_ind"      long_name="Barotropic Heat Transport: Indian"            unit="PW"        grid_ref="gznl_T_2D" /> 
    612         <field id="sophtbtr_ipc"      long_name="Barotropic Heat Transport: Pacific+Indian"    unit="PW"        grid_ref="gznl_T_2D" /> 
    613         <field id="sophteiv"          long_name="Heat Transport from mesoscale eddy advection"                     unit="PW"       grid_ref="gznl_T_2D" /> 
    614         <field id="sophteiv_atl"      long_name="Heat Transport from mesoscale eddy advection: Atlantic"           unit="PW"       grid_ref="gznl_T_2D" /> 
    615         <field id="sophteiv_pac"      long_name="Heat Transport from mesoscale eddy advection: Pacific"            unit="PW"       grid_ref="gznl_T_2D" /> 
    616         <field id="sophteiv_ind"      long_name="Heat Transport from mesoscale eddy advection: Indian"             unit="PW"       grid_ref="gznl_T_2D" /> 
    617         <field id="sophteiv_ipc"      long_name="Heat Transport from mesoscale eddy advection: Pacific+Indian"     unit="PW"       grid_ref="gznl_T_2D" /> 
    618         <field id="sopstadv"          long_name="Advective Salt Transport"                     unit="Giga g/s"  grid_ref="gznl_T_2D" /> 
    619         <field id="sopstadv_atl"      long_name="Advective Salt Transport: Atlantic"           unit="Giga g/s"  grid_ref="gznl_T_2D" /> 
    620         <field id="sopstadv_pac"      long_name="Advective Salt Transport: Pacific"            unit="Giga g/s"  grid_ref="gznl_T_2D" /> 
    621         <field id="sopstadv_ind"      long_name="Advective Salt Transport: Indian"             unit="Giga g/s"  grid_ref="gznl_T_2D" /> 
    622         <field id="sopstadv_ipc"      long_name="Advective Salt Transport: Pacific+Indian"     unit="Giga g/s"  grid_ref="gznl_T_2D" /> 
    623         <field id="sopstove"          long_name="Overturning Salt Transport"                   unit="Giga g/s"  grid_ref="gznl_T_2D" /> 
    624         <field id="sopstove_atl"      long_name="Overturning Salt Transport: Atlantic"         unit="Giga g/s"  grid_ref="gznl_T_2D" /> 
    625         <field id="sopstove_pac"      long_name="Overturning Salt Transport: Pacific"          unit="Giga g/s"  grid_ref="gznl_T_2D" /> 
    626         <field id="sopstove_ind"      long_name="Overturning Salt Transport: Indian"           unit="Giga g/s"  grid_ref="gznl_T_2D" /> 
    627         <field id="sopstove_ipc"      long_name="Overturning Salt Transport: Pacific+Indian"   unit="Giga g/s"  grid_ref="gznl_T_2D" /> 
    628         <field id="sopstbtr"          long_name="Barotropic Salt Transport"                    unit="Giga g/s"  grid_ref="gznl_T_2D" /> 
    629         <field id="sopstbtr_atl"      long_name="Barotropic Salt Transport: Atlantic"          unit="Giga g/s"  grid_ref="gznl_T_2D" /> 
    630         <field id="sopstbtr_pac"      long_name="Barotropic Salt Transport: Pacific"           unit="Giga g/s"  grid_ref="gznl_T_2D" /> 
    631         <field id="sopstbtr_ind"      long_name="Barotropic Salt Transport: Indian"            unit="Giga g/s"  grid_ref="gznl_T_2D" /> 
    632         <field id="sopstbtr_ipc"      long_name="Barotropic Salt Transport: Pacific+Indian"    unit="Giga g/s"  grid_ref="gznl_T_2D" /> 
    633         <field id="sopstldf"          long_name="Diffusive Salt Transport"                     unit="Giga g/s"  grid_ref="gznl_T_2D" /> 
    634         <field id="sopstldf_atl"      long_name="Diffusive Salt Transport: Atlantic"           unit="Giga g/s"  grid_ref="gznl_T_2D" /> 
    635         <field id="sopstldf_pac"      long_name="Diffusive Salt Transport: Pacific"            unit="Giga g/s"  grid_ref="gznl_T_2D" /> 
    636         <field id="sopstldf_ind"      long_name="Diffusive Salt Transport: Indian"             unit="Giga g/s"  grid_ref="gznl_T_2D" /> 
    637         <field id="sopstldf_ipc"      long_name="Diffusive Salt Transport: Pacific+Indian"     unit="Giga g/s"  grid_ref="gznl_T_2D" /> 
    638         <field id="sopsteiv"          long_name="Salt Transport from mesoscale eddy advection"                     unit="Giga g/s"       grid_ref="gznl_T_2D" /> 
    639         <field id="sopsteiv_atl"      long_name="Salt Transport from mesoscale eddy advection: Atlantic"           unit="Giga g/s"       grid_ref="gznl_T_2D" /> 
    640         <field id="sopsteiv_pac"      long_name="Salt Transport from mesoscale eddy advection: Pacific"            unit="Giga g/s"       grid_ref="gznl_T_2D" /> 
    641         <field id="sopsteiv_ind"      long_name="Salt Transport from mesoscale eddy advection: Indian"             unit="Giga g/s"       grid_ref="gznl_T_2D" /> 
    642         <field id="sopsteiv_ipc"      long_name="Salt Transport from mesoscale eddy advection: Pacific+Indian"     unit="Giga g/s"       grid_ref="gznl_T_2D" />        
    643       </field_group> 
     639        <field id="zomsf"         long_name="Overturning Stream-Function : All basins"                     unit="Sv"         grid_ref="grid_znl_W_3D" /> 
     640        <field id="zotem"         long_name="Zonal Mean Temperature : All basins"                          unit="degree_C"   grid_ref="grid_znl_T_3D" /> 
     641        <field id="zosal"         long_name="Zonal Mean Salinity : All basins"                             unit="0.001"      grid_ref="grid_znl_T_3D" /> 
     642        <field id="zosrf"         long_name="Zonal Mean Surface : All basins"                              unit="m2"         grid_ref="grid_znl_T_3D" /> 
     643        <field id="sophtove"      long_name="Overturning Heat Transport: All basins"                       unit="PW"         grid_ref="grid_znl_T_2D" /> 
     644        <field id="sopstove"      long_name="Overturning Salt Transport: All basins"                       unit="Giga g/s"   grid_ref="grid_znl_T_2D" /> 
     645        <field id="sophtbtr"      long_name="Barotropic Heat Transport: All basins"                        unit="PW"         grid_ref="grid_znl_T_2D" /> 
     646        <field id="sopstbtr"      long_name="Barotropic Salt Transport: All basins"                        unit="Giga g/s"   grid_ref="grid_znl_T_2D" />  
     647        <field id="sophtadv"      long_name="Advective Heat Transport: All basins"                         unit="PW"         grid_ref="grid_znl_T_2D" /> 
     648        <field id="sopstadv"      long_name="Advective Salt Transport: All basins"                         unit="Giga g/s"   grid_ref="grid_znl_T_2D" /> 
     649        <field id="sophtldf"      long_name="Diffusive Heat Transport: All basins"                         unit="PW"         grid_ref="grid_znl_T_2D" /> 
     650        <field id="sopstldf"      long_name="Diffusive Salt Transport: All basins"                         unit="Giga g/s"   grid_ref="grid_znl_T_2D" /> 
     651        <field id="sophtvtr"      long_name="Heat Transport : All basins"                                  unit="PW"         grid_ref="grid_znl_T_2D" /> 
     652        <field id="sopstvtr"      long_name="Salt Transport : All basins"                                  unit="Giga g/s"   grid_ref="grid_znl_T_2D" />   
     653        <field id="sophteiv"      long_name="Heat Transport from mesoscale eddy advection: All basins"     unit="PW"         grid_ref="grid_znl_T_2D" /> 
     654        <field id="sopsteiv"      long_name="Salt Transport from mesoscale eddy advection : All basins"    unit="Giga g/s"   grid_ref="grid_znl_T_2D" /> 
     655   <field id="sopstadv"      long_name="Advective Salt Transport"                                     unit="Giga g/s"   grid_ref="grid_znl_T_2D" /> 
     656        <field id="sophtgyre"     long_name="Overturning heat transport due to gyre" field_ref="sophtove"  unit="W"          grid_ref="grid_znl_T_2D" > sophtvtr - sophtove  </field> 
     657   <field id="sopstgyre"     long_name="Overturning salt transport due to gyre" field_ref="sopstove"  unit="kg/s"       grid_ref="grid_znl_T_2D" > sophtvtr - sopstove  </field> 
     658       </field_group> 
     659 
     660       <field_group id="constant_fields"  grid_ref="grid_T_2D"  operation="once" > 
     661         <field id="bathy"       long_name="Sea floor depth below geoid"               standard_name="sea_floor_depth_below_geoid"               unit="m"/> 
     662         <field id="areacello"   long_name="Horizontal area of ocean grid cells"       standard_name="cell_area"                                 unit="m2" /> 
     663         <field id="hfgeou"      long_name="Upward geothermal heat flux at sea floor"  standard_name="upward_geothermal_heat_flux_at_sea_floor"  unit="W/m2"/> 
     664         <field id="basins"      long_name="ocean tracer region masks"                 standard_name="ocean_tracer_region_masks"   unit="none" grid_ref="grid_basin"  /> 
     665       </field_group> 
     666 
    644667 
    645668    <!--  
     
    674697     <field id="ttrd_totad"    long_name="temperature-trend: total advection"         standard_name="tendency_of_sea_water_salinity_due_to_advection"              unit="degC/s"                        /> 
    675698     <field id="strd_totad"    long_name="salinity   -trend: total advection"         standard_name="tendency_of_sea_water_salinity_due_to_advection"              unit="1e-3/s"                        /> 
    676      <field id="ttrd_sad"      long_name="temperature-trend: surface adv. (linssh true)"                                                                                unit="degC/s"   grid_ref="grid_T_2D" /> 
    677      <field id="strd_sad"      long_name="salinity   -trend: surface adv. (linssh true)"                                                                                unit="1e-3/s"   grid_ref="grid_T_2D" /> 
     699     <field id="ttrd_sad"      long_name="temperature-trend: surface adv. (linssh true)"                                                                           unit="degC/s"   grid_ref="grid_T_2D" /> 
     700     <field id="strd_sad"      long_name="salinity   -trend: surface adv. (linssh true)"                                                                           unit="1e-3/s"   grid_ref="grid_T_2D" /> 
    678701     <field id="ttrd_ldf"      long_name="temperature-trend: lateral  diffusion"      standard_name="tendency_of_sea_water_temperature_due_to_horizontal_mixing"   unit="degC/s"                        /> 
    679702     <field id="strd_ldf"      long_name="salinity   -trend: lateral  diffusion"      standard_name="tendency_of_sea_water_salinity_due_to_horizontal_mixing"      unit="1e-3/s"                        /> 
     
    732755     <field id="ttrd_npc_e3t"      unit="degC/s * m"  >  ttrd_npc * e3t </field> 
    733756     <field id="strd_npc_e3t"      unit="1e-3/s * m"  >  strd_npc * e3t </field> 
    734      <field id="ttrd_qns_e3t"      unit="degC/s * m"  >  ttrd_qns * e3t_surf </field> 
    735      <field id="strd_cdt_e3t"      unit="degC/s * m"  >  strd_cdt * e3t_surf </field> 
     757     <field id="ttrd_qns_e3t"      unit="degC/s * m"  >  ttrd_qns * e3ts </field> 
     758     <field id="strd_cdt_e3t"      unit="degC/s * m"  >  strd_cdt * e3ts </field> 
    736759     <field id="ttrd_qsr_e3t"      unit="degC/s * m"  >  ttrd_qsr * e3t </field> 
    737760     <field id="ttrd_bbc_e3t"      unit="degC/s * m"  >  ttrd_bbc * e3t </field> 
     
    935958    <field_group id="groupU" > 
    936959      <field field_ref="uoce"         name="uo"      long_name="sea_water_x_velocity"      /> 
    937       <field field_ref="ssu"          name="uos"     long_name="sea_surface_x_velocity"    /> 
    938960      <field field_ref="utau"         name="tauuo"   long_name="surface_downward_x_stress" /> 
    939961    </field_group> 
     
    941963    <field_group id="groupV" > 
    942964      <field field_ref="voce"         name="vo"      long_name="sea_water_y_velocity"      /> 
    943       <field field_ref="ssv"          name="vos"     long_name="sea_surface_y_velocity"    /> 
    944965      <field field_ref="vtau"         name="tauvo"   long_name="surface_downward_y_stress" /> 
    945966    </field_group> 
     
    947968    <field_group id="groupW" > 
    948969      <field field_ref="woce"         name="wo"       long_name="ocean vertical velocity"  /> 
    949     </field_group> 
    950  
    951     <!-- TMB diagnostic output --> 
    952     <field_group  id="1h_grid_T_tmb" grid_ref="grid_T_2D" operation="instant"> 
    953       <field id="top_temp"           name="votemper_top"  unit="degC"  /> 
    954       <field id="mid_temp"           name="votemper_mid"  unit="degC"  /> 
    955       <field id="bot_temp"           name="votemper_bot"  unit="degC"  /> 
    956       <field id="top_sal"            name="vosaline_top"  unit="psu"   /> 
    957       <field id="mid_sal"            name="vosaline_mid"  unit="psu"   /> 
    958       <field id="bot_sal"            name="vosaline_bot"  unit="psu"   /> 
    959       <field id="sshnmasked"         name="sossheig"      unit="m"     />  
    960970    </field_group> 
    961971 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/cfgs/SHARED/field_def_nemo-pisces.xml

    r12143 r12706  
    230230       <field id="Kg"          long_name="Gas transfer"                            unit="mol/m2/s/uatm"                   /> 
    231231       <field id="Dpco2"       long_name="Delta CO2"                               unit="uatm"                            /> 
     232       <field id="pCO2sea"     long_name="surface ocean pCO2"                      unit="uatm"                            /> 
    232233       <field id="Dpo2"        long_name="Delta O2"                                unit="uatm"                            /> 
    233234       <field id="Heup"        long_name="Euphotic layer depth"                    unit="m"                               /> 
     235       <field id="AtmCo2"      long_name="Atmospheric CO2 concentration"           unit="ppm"                               /> 
    234236       <field id="Irondep"     long_name="Iron deposition from dust"               unit="mol/m2/s"                        /> 
    235237       <field id="Ironsed"     long_name="Iron deposition from sediment"           unit="mol/m2/s"   grid_ref="grid_T_3D" /> 
    236       <field id="FESCAV"      long_name="Scavenging of Iron"                      unit="mmol-Fe/m3/s"   grid_ref="grid_T_3D" /> 
     238       <field id="FESCAV"      long_name="Scavenging of Iron"                      unit="mmol-Fe/m3/s"   grid_ref="grid_T_3D" /> 
    237239       <field id="FECOLL"      long_name="Colloidal Pumping of FeL"                unit="mmol-FeL/m3/s"  grid_ref="grid_T_3D" /> 
    238240       <field id="LGWCOLL"     long_name="Coagulation loss of ligands"             unit="mmol-L/m3/s"  grid_ref="grid_T_3D" /> 
     
    250252       <field id="FEZOO2"      long_name="mesozooplankton iron recycling rate"     unit="nmol-FeL/m3/s"  grid_ref="grid_T_3D" /> 
    251253 
     254       <!-- PISCES tracers trends --> 
     255       <field id="INTdtAlk"    long_name="Vertically int. of change of alkalinity"             unit="mol/m2/s"                       /> 
     256       <field id="INTdtDIC"    long_name="Vertically int. of change of dissic    "             unit="mol/m2/s"                       /> 
     257       <field id="INTdtFer"    long_name="Vertically int. of change of iron      "             unit="mol/m2/s"                       /> 
     258       <field id="INTdtDIN"    long_name="Vertically int. of change of nitrogen  "             unit="mol/m2/s"                       /> 
     259       <field id="INTdtDIP"    long_name="Vertically int. of change of phophate  "             unit="mol/m2/s"                       /> 
     260       <field id="INTdtSil"    long_name="Vertically int. of change of silicon   "             unit="mol/m2/s"                       /> 
     261 
     262 
     263       <!-- dbio_T on T grid : variables available with diaar5 --> 
    252264       <!-- dbio_T on T grid : variables available with diaar5 --> 
    253265       <field id="TPP"         long_name="Total Primary production of phyto"                   unit="mol/m3/s"  grid_ref="grid_T_3D" /> 
     
    257269       <field id="O2MIN"       long_name="Oxygen minimum concentration"                        unit="mol/m3"                          /> 
    258270       <field id="ZO2MIN"      long_name="Depth of oxygen minimum concentration"               unit="m"                              /> 
    259        <field id="INTNFIX"     long_name="Nitrogen fixation rate : vert. integrated"           unit="mol/m2/s"                       /> 
    260        <field id="INTPPPHYN"   long_name="Vertically integrated primary production by nanophy" unit="mol/m2/s"                       /> 
    261        <field id="INTPPPHYD"   long_name="Vertically integrated primary production by diatom"  unit="mol/m2/s"                       /> 
    262        <field id="INTPP"       long_name="Vertically integrated primary production by phyto"   unit="mol/m2/s"                       /> 
    263        <field id="INTPNEW"     long_name="Vertically integrated new primary production"        unit="mol/m2/s"                       /> 
    264        <field id="INTPBFE"     long_name="Vertically integrated of biogenic iron production"   unit="mol/m2/s"                       /> 
    265        <field id="INTPBSI"     long_name="Vertically integrated of biogenic Si production"     unit="mol/m2/s"                       /> 
    266        <field id="INTPCAL"     long_name="Vertically integrated of calcite production"         unit="mol/m2/s"                       /> 
     271 
     272       <field id="INTNFIX"     long_name="Nitrogen fixation rate : vert. integrated"           unit="mol/m2/s"  grid_ref="grid_T_vsum"  detect_missing_value="true" > Nfix * e3t </field > 
     273       <field id="INTPPPHYN"   long_name="Vertically integrated primary production by nanophy" unit="mol/m2/s"  grid_ref="grid_T_vsum"  detect_missing_value="true" > PPPHYN * e3t </field > 
     274       <field id="INTPPPHYD"   long_name="Vertically integrated primary production by diatom"  unit="mol/m2/s"  grid_ref="grid_T_vsum"  detect_missing_value="true" > PPPHYD * e3t </field > 
     275       <field id="INTPPPHYP"   long_name="Vertically integrated primary production by picophy" unit="mol/m2/s"  grid_ref="grid_T_vsum"  detect_missing_value="true" > PPPHYP * e3t </field > 
     276       <field id="INTPP"       long_name="Vertically integrated primary production by phyto"   unit="mol/m2/s"  grid_ref="grid_T_vsum"  detect_missing_value="true" > TPP * e3t </field > 
     277       <field id="INTPNEW"     long_name="Vertically integrated new primary production"        unit="mol/m2/s"  grid_ref="grid_T_vsum"  detect_missing_value="true" > TPNEW * e3t </field > 
     278       <field id="INTPBFE"     long_name="Vertically integrated of biogenic iron production"   unit="mol/m2/s"  grid_ref="grid_T_vsum"  detect_missing_value="true" > TPBFE * e3t </field > 
     279       <field id="INTPBSI"     long_name="Vertically integrated of biogenic Si production"     unit="mol/m2/s"  grid_ref="grid_T_vsum"  detect_missing_value="true" > PBSi * e3t </field > 
    267280 
    268281       <!-- PISCES light : variables available with key_pisces_reduced --> 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/cfgs/SHARED/grid_def_nemo.xml

    r12143 r12706  
    1  
     1<!-- 
     2============================================================================================================ 
     3= grid definition = = DO NOT CHANGE = 
     4============================================================================================================ 
     5    --> 
     6  
    27    <grid_definition>     
    38 
    49        <!--  --> 
    510       <grid id="grid_T_2D" > 
    6          <domain id="grid_T" /> 
     11         <domain domain_ref="grid_T" /> 
    712       </grid> 
    813        <!--  --> 
    914       <grid id="grid_T_ncatice" > 
    10          <domain id="grid_T" /> 
    11          <axis id="ncatice" /> 
     15         <domain domain_ref="grid_T" /> 
     16         <axis axis_ref="ncatice" /> 
    1217       </grid> 
    1318        <!--  --> 
    1419       <grid id="grid_T_3D" > 
    15          <domain id="grid_T" /> 
    16          <axis id="deptht" /> 
     20         <domain domain_ref="grid_T" /> 
     21         <axis axis_ref="deptht" /> 
    1722       </grid> 
    1823        <!--  --> 
    1924       <grid id="grid_T_3DS" > 
    20          <domain id="grid_T" /> 
    21          <axis id="profsed" /> 
     25         <domain domain_ref="grid_T" /> 
     26         <axis axis_ref="profsed" /> 
    2227       </grid> 
    2328        <!--  --> 
    2429       <grid id="grid_U_2D" > 
    25          <domain id="grid_U" /> 
     30         <domain domain_ref="grid_U" /> 
    2631       </grid> 
    2732        <!--  --> 
    2833       <grid id="grid_U_3D" > 
    29          <domain id="grid_U" /> 
    30          <axis id="depthu" /> 
     34         <domain domain_ref="grid_U" /> 
     35         <axis axis_ref="depthu" /> 
    3136       </grid> 
    3237        <!--  --> 
    3338       <grid id="grid_V_2D" > 
    34          <domain id="grid_V" /> 
     39         <domain domain_ref="grid_V" /> 
    3540       </grid> 
    3641        <!--  --> 
    3742       <grid id="grid_V_3D" > 
    38          <domain id="grid_V" /> 
    39          <axis id="depthv" /> 
     43         <domain domain_ref="grid_V" /> 
     44         <axis axis_ref="depthv" /> 
    4045       </grid> 
    4146        <!--  --> 
    4247       <grid id="grid_W_2D" > 
    43          <domain id="grid_W" /> 
     48         <domain domain_ref="grid_W" /> 
    4449       </grid> 
    4550        <!--  --> 
    4651       <grid id="grid_W_3D" > 
    47          <domain id="grid_W" /> 
    48          <axis id="depthw" /> 
     52         <domain domain_ref="grid_W" /> 
     53         <axis axis_ref="depthw" /> 
     54       </grid> 
     55        <!--  --> 
     56       <grid id="grid_1point" > 
     57         <domain domain_ref="1point"/> 
    4958       </grid> 
    5059        <!--  --> 
    5160       <grid id="grid_T_nfloat" > 
    52          <domain id="grid_T" /> 
    53          <axis id="nfloat" /> 
    54        </grid> 
     61         <domain domain_ref="grid_T" /> 
     62         <axis axis_ref="nfloat" /> 
     63       </grid> 
     64        <!--  --> 
     65       <grid id="grid_EqT" > 
     66         <domain domain_ref="EqT" /> 
     67       </grid> 
     68        <!--  --> 
     69 
     70 
     71       <grid id="grid_znl_T_2D"> 
     72         <domain domain_ref="gznl" /> 
     73         <axis axis_ref="basin" /> 
     74       </grid> 
     75 
     76       <grid id="grid_znl_T_3D"> 
     77         <domain domain_ref="gznl" /> 
     78         <axis axis_ref="deptht"  /> 
     79         <axis axis_ref="basin" /> 
     80       </grid> 
     81 
     82       <grid id="grid_znl_W_3D"> 
     83         <domain domain_ref="gznl" /> 
     84         <axis axis_ref="depthw"  /> 
     85         <axis axis_ref="basin" /> 
     86       </grid> 
     87 
     88      <grid id="grid_ptr_T_2D"> 
     89         <domain domain_ref="ptr" /> 
     90         <axis axis_ref="basin" /> 
     91       </grid> 
     92 
     93       <grid id="grid_ptr_T_3D"> 
     94         <domain  domain_ref="ptr" /> 
     95         <axis axis_ref="deptht"  /> 
     96         <axis axis_ref="basin" /> 
     97       </grid> 
     98 
     99       <grid id="grid_ptr_W_3D"> 
     100         <domain  domain_ref="ptr" /> 
     101         <axis axis_ref="depthw"  /> 
     102         <axis axis_ref="basin" /> 
     103       </grid> 
     104 
     105       <grid id="grid_ptr_W_GLO"> 
     106         <domain  domain_ref="ptr" /> 
     107         <axis axis_ref="depthw"  /> 
     108         <scalar> 
     109           <extract_axis position="0" /> 
     110         </scalar> 
     111       </grid> 
     112 
     113       <grid id="grid_ptr_W_ATL"> 
     114         <domain  domain_ref="ptr" /> 
     115         <axis axis_ref="depthw"  /> 
     116         <scalar> 
     117           <extract_axis position="1" /> 
     118         </scalar> 
     119       </grid> 
     120 
     121       <grid id="grid_ptr_W_IND"> 
     122         <domain  domain_ref="ptr" /> 
     123         <axis axis_ref="depthw"  /> 
     124         <scalar> 
     125           <extract_axis position="2" /> 
     126         </scalar> 
     127       </grid> 
     128 
     129       <grid id="grid_T_SFC"> 
     130         <domain domain_ref="grid_T" /> 
     131         <scalar> 
     132           <extract_axis position="0" /> 
     133         </scalar> 
     134       </grid> 
     135 
     136       <grid id="grid_T_vsum"> 
     137         <domain domain_ref="grid_T"/> 
     138         <scalar> 
     139            <reduce_axis operation="sum" /> 
     140         </scalar> 
     141       </grid> 
     142 
     143       <grid id="grid_U_vsum"> 
     144         <domain domain_ref="grid_U"/> 
     145         <scalar> 
     146            <reduce_axis operation="sum" /> 
     147         </scalar> 
     148       </grid> 
     149 
     150       <grid id="grid_V_vsum"> 
     151         <domain domain_ref="grid_V"/> 
     152         <scalar> 
     153            <reduce_axis operation="sum" /> 
     154         </scalar> 
     155       </grid> 
     156 
     157       <!-- for ORCA2 grid  --> 
     158       <grid id="cumul_U"> 
     159         <axis axis_ref="cumul_U" n_glo="182" > 
     160           <reduce_domain local="true" operation="sum" direction="jDir" /> 
     161           <reduce_axis operation="sum" /> 
     162         </axis> 
     163         <axis axis_ref="depthu" /> 
     164       </grid> 
     165 
     166       <!-- for eORCA1 grid 
     167 
     168       <grid id="cumul_U"> 
     169         <axis axis_ref="cumul_U" n_glo="362" > 
     170           <reduce_domain local="true" operation="sum" direction="jDir" /> 
     171           <reduce_axis operation="sum" /> 
     172         </axis> 
     173         <axis axis_ref="depthu" /> 
     174       </grid> 
     175 
     176      --> 
     177 
     178 
     179       <grid id="grid_T_zoom_300"> 
     180         <domain domain_ref="grid_T" /> 
     181         <axis axis_ref="deptht300" /> 
     182       </grid> 
     183 
     184       <grid id="grid_U_scalar" > 
     185         <domain domain_ref="grid_U" /> 
     186         <scalar/> 
     187       </grid> 
     188 
     189       <grid id="grid_V_scalar" > 
     190         <domain domain_ref="grid_V" /> 
     191         <scalar/> 
     192       </grid> 
     193  
     194       <grid id="grid_U_4strait"> 
     195         <domain domain_ref="grid_U" /> 
     196         <axis axis_ref="section"> 
     197           <duplicate_scalar/> 
     198         </axis> 
     199       </grid> 
     200  
     201       <grid id="grid_V_4strait"> 
     202         <domain domain_ref="grid_V" /> 
     203         <axis axis_ref="section"> 
     204           <duplicate_scalar/> 
     205         </axis> 
     206       </grid> 
     207  
     208       <grid id="grid_U_4strait_hsum"> 
     209         <scalar > 
     210           <reduce_domain operation="sum" local="true"/> 
     211           <reduce_scalar operation="sum" /> 
     212         </scalar> 
     213         <axis axis_ref="section"/> 
     214       </grid> 
     215  
     216       <grid id="grid_V_4strait_hsum"> 
     217         <scalar > 
     218           <reduce_domain operation="sum" local="true"/> 
     219           <reduce_scalar operation="sum" /> 
     220         </scalar> 
     221         <axis axis_ref="section"/> 
     222       </grid> 
     223  
     224       <grid id="grid_4strait"> 
     225         <axis axis_ref="section"/> 
     226       </grid> 
     227 
     228      <grid id="grid_U_4strait_ice"> 
     229        <domain domain_ref="grid_U" /> 
     230        <axis axis_ref="section_ice"> 
     231          <duplicate_scalar/> 
     232        </axis> 
     233      </grid> 
     234 
     235      <grid id="grid_V_4strait_ice"> 
     236        <domain domain_ref="grid_V" /> 
     237        <axis axis_ref="section_ice"> 
     238         <duplicate_scalar/> 
     239        </axis> 
     240      </grid> 
     241 
     242      <grid id="grid_U_4strait_ice_hsum"> 
     243        <scalar > 
     244         <reduce_domain operation="sum" local="true"/> 
     245         <reduce_scalar operation="sum" /> 
     246        </scalar> 
     247        <axis axis_ref="section_ice"/> 
     248      </grid> 
     249 
     250     <grid id="grid_V_4strait_ice_hsum"> 
     251        <scalar > 
     252         <reduce_domain operation="sum" local="true"/> 
     253         <reduce_scalar operation="sum" /> 
     254        </scalar> 
     255        <axis axis_ref="section_ice"/> 
     256     </grid> 
     257 
     258     <grid id="grid_4strait_ice"> 
     259       <axis axis_ref="section_ice"/> 
     260     </grid> 
     261  
    55262      <!-- scalars --> 
    56263      <grid id="grid_scalar" > 
    57264        <scalar/> 
    58265      </grid> 
    59  
    60     </grid_definition> 
    61      
     266  
     267    </grid_definition>    
     268  
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/cfgs/SHARED/namelist_ref

    r12143 r12706  
    387387      ln_sssr_bnd =  .true.   !  flag to bound erp term (associated with nn_sssr=2) 
    388388      rn_sssr_bnd =   4.e0    !  ABS(Max/Min) value of the damping erp term [mm/day] 
    389  
     389      nn_sssr_ice =   1       ! control of sea surface restoring under sea-ice 
     390                              ! 0 = no restoration under ice : * (1-icefrac) 
     391                              ! 1 = restoration everywhere 
     392                              ! >1 = enhanced restoration under ice : 1+(nn_icedmp-1)*icefrac 
    390393   cn_dir      = './'      !  root directory for the SST/SSS data location 
    391394   !___________!_________________________!___________________!___________!_____________!________!___________!__________________!__________!_______________! 
     
    11401143!!   nam_diaharm  Harmonic analysis of tidal constituents               (default: OFF) 
    11411144!!   nam_diadct   transports through some sections                      (default: OFF) 
    1142 !!   nam_diatmb   Top Middle Bottom Output                              (default: OFF) 
    11431145!!   nam_dia25h   25h Mean Output                                       (default: OFF) 
    11441146!!   namnc4       netcdf4 chunking and compression settings             ("key_netcdf4") 
     
    12161218       !                   !     -1 : debug all section 
    12171219       !                   !  0 < n : debug section number n 
    1218 / 
    1219 !----------------------------------------------------------------------- 
    1220 &nam_diatmb    !  Top Middle Bottom Output                              (default: OFF) 
    1221 !----------------------------------------------------------------------- 
    1222    ln_diatmb   = .true.   !  Choose Top Middle and Bottom output or not 
    12231220/ 
    12241221!----------------------------------------------------------------------- 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/cfgs/SPITZ12/EXPREF/context_nemo.xml

    r9930 r12706  
    55--> 
    66<context id="nemo"> 
    7 <!-- $id$ --> 
     7    <!-- $id$ --> 
    88    <variable_definition> 
    9     <!-- Year of time origin for NetCDF files; defaults to 1800 --> 
    10        <variable id="ref_year" type="int"   > 1800 </variable> 
    11        <variable id="rau0"     type="float" > 1026.0 </variable> 
    12        <variable id="cpocean"  type="float" > 3991.86795711963 </variable> 
    13        <variable id="convSpsu" type="float" > 0.99530670233846  </variable> 
    14        <variable id="rhoic"    type="float" > 917.0 </variable> 
    15        <variable id="rhosn"    type="float" > 330.0 </variable> 
    16        <variable id="missval"  type="float" > 1.e20 </variable> 
     9       <!-- Year/Month/Day of time origin for NetCDF files; defaults to 1800-01-01 --> 
     10       <variable id="ref_year"  type="int"> 1900 </variable> 
     11       <variable id="ref_month" type="int"> 01 </variable> 
     12       <variable id="ref_day"   type="int"> 01 </variable> 
     13       <variable id="rau0"      type="float" > 1026.0 </variable> 
     14       <variable id="cpocean"   type="float" > 3991.86795711963 </variable> 
     15       <variable id="convSpsu"  type="float" > 0.99530670233846  </variable> 
     16       <variable id="rhoic"     type="float" > 917.0 </variable> 
     17       <variable id="rhosn"     type="float" > 330.0 </variable> 
     18       <variable id="missval"   type="float" > 1.e20 </variable> 
    1719    </variable_definition> 
     20 
    1821<!-- Fields definition --> 
    1922    <field_definition src="./field_def_nemo-oce.xml"/>    <!--  NEMO ocean dynamics     --> 
     
    2326    <file_definition src="./file_def_nemo-oce.xml"/>     <!--  NEMO ocean dynamics      --> 
    2427    <file_definition src="./file_def_nemo-ice.xml"/>     <!--  NEMO sea-ice model       --> 
    25     <!--  
    26 ============================================================================================================ 
    27 = grid definition = = DO NOT CHANGE = 
    28 ============================================================================================================ 
    29     --> 
    30      
    31     <axis_definition> 
    32       <axis id="deptht"  long_name="Vertical T levels"  unit="m" positive="down" /> 
    33       <axis id="depthu"  long_name="Vertical U levels"  unit="m" positive="down" /> 
    34       <axis id="depthv"  long_name="Vertical V levels"  unit="m" positive="down" /> 
    35       <axis id="depthw"  long_name="Vertical W levels"  unit="m" positive="down" /> 
    36       <axis id="nfloat"  long_name="Float number"       unit="-"                 /> 
    37       <axis id="icbcla"  long_name="Iceberg class"      unit="1"                 /> 
    38       <axis id="ncatice" long_name="Ice category"       unit="1"                 /> 
    39       <axis id="iax_20C" long_name="20 degC isotherm"   unit="degC"              /> 
    40       <axis id="iax_28C" long_name="28 degC isotherm"   unit="degC"              /> 
    41     </axis_definition> 
     28 
     29 
     30<!-- Axis definition --> 
     31    <axis_definition src="./axis_def_nemo.xml"/> 
    4232  
     33<!-- Domain definition --> 
    4334    <domain_definition src="./domain_def_nemo.xml"/> 
     35 
     36<!-- Grids definition --> 
     37    <grid_definition   src="./grid_def_nemo.xml"/> 
    4438   
    45     <grid_definition src="./grid_def_nemo.xml"/> 
    4639 
    4740</context> 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/cfgs/SPITZ12/EXPREF/namelist_cfg

    r12143 r12706  
    351351!!   nam_diaharm  Harmonic analysis of tidal constituents               (default: OFF) 
    352352!!   nam_diadct   transports through some sections                      (default: OFF) 
    353 !!   nam_diatmb   Top Middle Bottom Output                              (default: OFF) 
    354353!!   nam_dia25h   25h Mean Output                                       (default: OFF) 
    355354!!   namnc4       netcdf4 chunking and compression settings             ("key_netcdf4") 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/doc/latex/NEMO/subfiles/chap_DIA.tex

    r12143 r12706  
    20222022 
    20232023%% ================================================================================================= 
    2024 \subsection{Top middle and bed hourly output} 
    2025  
    2026 \begin{listing} 
    2027   \nlst{nam_diatmb} 
    2028   \caption{\forcode{&nam_diatmb}} 
    2029   \label{lst:nam_diatmb} 
    2030 \end{listing} 
    2031  
    2032 A module is available to output the surface (top), mid water and bed diagnostics of a set of standard variables. 
    2033 This can be a useful diagnostic when hourly or sub-hourly output is required in high resolution tidal outputs. 
    2034 The tidal signal is retained but the overall data usage is cut to just three vertical levels. 
    2035 Also the bottom level is calculated for each cell. 
    2036 This diagnostic is actived with the logical $ln\_diatmb$. 
    2037  
    2038 %% ================================================================================================= 
    20392024\subsection{Courant numbers} 
    20402025 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/ICE/icedyn_adv.F90

    r12143 r12706  
    8888      CASE( np_advPRA )                ! PRATHER scheme        ! 
    8989         !                             !-----------------------! 
    90          CALL ice_dyn_adv_pra(         kt, u_ice, v_ice, & 
     90         CALL ice_dyn_adv_pra(         kt, u_ice, v_ice, h_i, h_s, h_ip, & 
    9191            &                          ato_i, v_i, v_s, sv_i, oa_i, a_i, a_ip, v_ip, e_s, e_i ) 
    9292      END SELECT 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/ICE/icedyn_adv_pra.F90

    r12143 r12706  
    5454CONTAINS 
    5555 
    56    SUBROUTINE ice_dyn_adv_pra( kt, pu_ice, pv_ice,  & 
     56   SUBROUTINE ice_dyn_adv_pra(         kt, pu_ice, pv_ice, ph_i, ph_s, ph_ip,  & 
    5757      &                        pato_i, pv_i, pv_s, psv_i, poa_i, pa_i, pa_ip, pv_ip, pe_s, pe_i ) 
    5858      !!---------------------------------------------------------------------- 
     
    7070      REAL(wp), DIMENSION(:,:)    , INTENT(in   ) ::   pu_ice     ! ice i-velocity 
    7171      REAL(wp), DIMENSION(:,:)    , INTENT(in   ) ::   pv_ice     ! ice j-velocity 
     72      REAL(wp), DIMENSION(:,:,:)  , INTENT(in   ) ::   ph_i       ! ice thickness 
     73      REAL(wp), DIMENSION(:,:,:)  , INTENT(in   ) ::   ph_s       ! snw thickness 
     74      REAL(wp), DIMENSION(:,:,:)  , INTENT(in   ) ::   ph_ip      ! ice pond thickness 
    7275      REAL(wp), DIMENSION(:,:)    , INTENT(inout) ::   pato_i     ! open water area 
    7376      REAL(wp), DIMENSION(:,:,:)  , INTENT(inout) ::   pv_i       ! ice volume 
     
    8790      REAL(wp), DIMENSION(jpi,jpj)            ::   zati1, zati2 
    8891      REAL(wp), DIMENSION(jpi,jpj)            ::   zudy, zvdx 
     92      REAL(wp), DIMENSION(jpi,jpj,jpl)        ::   zhi_max, zhs_max, zhip_max 
    8993      REAL(wp), DIMENSION(jpi,jpj,jpl)        ::   zarea 
    9094      REAL(wp), DIMENSION(jpi,jpj,jpl)        ::   z0ice, z0snw, z0ai, z0smi, z0oi 
     
    9599      ! 
    96100      IF( kt == nit000 .AND. lwp )   WRITE(numout,*) '-- ice_dyn_adv_pra: Prather advection scheme' 
     101      ! 
     102      ! --- Record max of the surrounding 9-pts ice thick. (for call Hbig) --- ! 
     103      DO jl = 1, jpl 
     104         DO jj = 2, jpjm1 
     105            DO ji = fs_2, fs_jpim1 
     106               zhip_max(ji,jj,jl) = MAX( epsi20, ph_ip(ji,jj,jl), ph_ip(ji+1,jj  ,jl), ph_ip(ji  ,jj+1,jl), & 
     107                  &                                               ph_ip(ji-1,jj  ,jl), ph_ip(ji  ,jj-1,jl), & 
     108                  &                                               ph_ip(ji+1,jj+1,jl), ph_ip(ji-1,jj-1,jl), & 
     109                  &                                               ph_ip(ji+1,jj-1,jl), ph_ip(ji-1,jj+1,jl) ) 
     110               zhi_max (ji,jj,jl) = MAX( epsi20, ph_i (ji,jj,jl), ph_i (ji+1,jj  ,jl), ph_i (ji  ,jj+1,jl), & 
     111                  &                                               ph_i (ji-1,jj  ,jl), ph_i (ji  ,jj-1,jl), & 
     112                  &                                               ph_i (ji+1,jj+1,jl), ph_i (ji-1,jj-1,jl), & 
     113                  &                                               ph_i (ji+1,jj-1,jl), ph_i (ji-1,jj+1,jl) ) 
     114               zhs_max (ji,jj,jl) = MAX( epsi20, ph_s (ji,jj,jl), ph_s (ji+1,jj  ,jl), ph_s (ji  ,jj+1,jl), & 
     115                  &                                               ph_s (ji-1,jj  ,jl), ph_s (ji  ,jj-1,jl), & 
     116                  &                                               ph_s (ji+1,jj+1,jl), ph_s (ji-1,jj-1,jl), & 
     117                  &                                               ph_s (ji+1,jj-1,jl), ph_s (ji-1,jj+1,jl) ) 
     118            END DO 
     119         END DO 
     120      END DO 
     121      CALL lbc_lnk_multi( 'icedyn_adv_pra', zhi_max, 'T', 1., zhs_max, 'T', 1., zhip_max, 'T', 1. ) 
    97122      ! 
    98123      ! --- If ice drift is too fast, use  subtime steps for advection (CFL test for stability) --- ! 
     
    239264         !     (because advected fields are not perfectly bounded and tiny negative values can occur, e.g. -1.e-20) 
    240265         CALL ice_var_zapneg( zdt, pato_i, pv_i, pv_s, psv_i, poa_i, pa_i, pa_ip, pv_ip, pe_s, pe_i ) 
     266         ! 
     267         ! --- Make sure ice thickness is not too big --- ! 
     268         !     (because ice thickness can be too large where ice concentration is very small) 
     269         CALL Hbig( zdt, zhi_max, zhs_max, zhip_max, pv_i, pv_s, pa_i, pa_ip, pv_ip, pe_s ) 
    241270         ! 
    242271         ! --- Ensure snow load is not too big --- ! 
     
    588617      ! 
    589618   END SUBROUTINE adv_y 
     619 
     620 
     621   SUBROUTINE Hbig( pdt, phi_max, phs_max, phip_max, pv_i, pv_s, pa_i, pa_ip, pv_ip, pe_s ) 
     622      !!------------------------------------------------------------------- 
     623      !!                  ***  ROUTINE Hbig  *** 
     624      !! 
     625      !! ** Purpose : Thickness correction in case advection scheme creates 
     626      !!              abnormally tick ice or snow 
     627      !! 
     628      !! ** Method  : 1- check whether ice thickness is larger than the surrounding 9-points 
     629      !!                 (before advection) and reduce it by adapting ice concentration 
     630      !!              2- check whether snow thickness is larger than the surrounding 9-points 
     631      !!                 (before advection) and reduce it by sending the excess in the ocean 
     632      !! 
     633      !! ** input   : Max thickness of the surrounding 9-points 
     634      !!------------------------------------------------------------------- 
     635      REAL(wp)                    , INTENT(in   ) ::   pdt                          ! tracer time-step 
     636      REAL(wp), DIMENSION(:,:,:)  , INTENT(in   ) ::   phi_max, phs_max, phip_max   ! max ice thick from surrounding 9-pts 
     637      REAL(wp), DIMENSION(:,:,:)  , INTENT(inout) ::   pv_i, pv_s, pa_i, pa_ip, pv_ip 
     638      REAL(wp), DIMENSION(:,:,:,:), INTENT(inout) ::   pe_s 
     639      ! 
     640      INTEGER  ::   ji, jj, jl         ! dummy loop indices 
     641      REAL(wp) ::   z1_dt, zhip, zhi, zhs, zfra 
     642      !!------------------------------------------------------------------- 
     643      ! 
     644      z1_dt = 1._wp / pdt 
     645      ! 
     646      DO jl = 1, jpl 
     647 
     648         DO jj = 1, jpj 
     649            DO ji = 1, jpi 
     650               IF ( pv_i(ji,jj,jl) > 0._wp ) THEN 
     651                  ! 
     652                  !                               ! -- check h_ip -- ! 
     653                  ! if h_ip is larger than the surrounding 9 pts => reduce h_ip and increase a_ip 
     654                  IF( ln_pnd_H12 .AND. pv_ip(ji,jj,jl) > 0._wp ) THEN 
     655                     zhip = pv_ip(ji,jj,jl) / MAX( epsi20, pa_ip(ji,jj,jl) ) 
     656                     IF( zhip > phip_max(ji,jj,jl) .AND. pa_ip(ji,jj,jl) < 0.15 ) THEN 
     657                        pa_ip(ji,jj,jl) = pv_ip(ji,jj,jl) / phip_max(ji,jj,jl) 
     658                     ENDIF 
     659                  ENDIF 
     660                  ! 
     661                  !                               ! -- check h_i -- ! 
     662                  ! if h_i is larger than the surrounding 9 pts => reduce h_i and increase a_i 
     663                  zhi = pv_i(ji,jj,jl) / pa_i(ji,jj,jl) 
     664                  IF( zhi > phi_max(ji,jj,jl) .AND. pa_i(ji,jj,jl) < 0.15 ) THEN 
     665                     pa_i(ji,jj,jl) = pv_i(ji,jj,jl) / MIN( phi_max(ji,jj,jl), hi_max(jpl) )   !-- bound h_i to hi_max (99 m) 
     666                  ENDIF 
     667                  ! 
     668                  !                               ! -- check h_s -- ! 
     669                  ! if h_s is larger than the surrounding 9 pts => put the snow excess in the ocean 
     670                  zhs = pv_s(ji,jj,jl) / pa_i(ji,jj,jl) 
     671                  IF( pv_s(ji,jj,jl) > 0._wp .AND. zhs > phs_max(ji,jj,jl) .AND. pa_i(ji,jj,jl) < 0.15 ) THEN 
     672                     zfra = phs_max(ji,jj,jl) / MAX( zhs, epsi20 ) 
     673                     ! 
     674                     wfx_res(ji,jj) = wfx_res(ji,jj) + ( pv_s(ji,jj,jl) - pa_i(ji,jj,jl) * phs_max(ji,jj,jl) ) * rhos * z1_dt 
     675                     hfx_res(ji,jj) = hfx_res(ji,jj) - SUM( pe_s(ji,jj,1:nlay_s,jl) ) * ( 1._wp - zfra ) * z1_dt ! W.m-2 <0 
     676                     ! 
     677                     pe_s(ji,jj,1:nlay_s,jl) = pe_s(ji,jj,1:nlay_s,jl) * zfra 
     678                     pv_s(ji,jj,jl)          = pa_i(ji,jj,jl) * phs_max(ji,jj,jl) 
     679                  ENDIF            
     680                  !                   
     681               ENDIF 
     682            END DO 
     683         END DO 
     684      END DO  
     685      ! 
     686   END SUBROUTINE Hbig 
    590687 
    591688 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/ICE/icedyn_adv_umx.F90

    r12143 r12706  
    352352         CALL ice_var_zapneg( zdt, pato_i, pv_i, pv_s, psv_i, poa_i, pa_i, pa_ip, pv_ip, pe_s, pe_i ) 
    353353         ! 
    354          ! Make sure ice thickness is not too big 
    355          !    (because ice thickness can be too large where ice concentration is very small) 
    356          CALL Hbig( zdt, zhi_max, zhs_max, zhip_max, pv_i, pv_s, psv_i, poa_i, pa_i, pa_ip, pv_ip, pe_s, pe_i ) 
    357  
     354         ! --- Make sure ice thickness is not too big --- ! 
     355         !     (because ice thickness can be too large where ice concentration is very small) 
     356         CALL Hbig( zdt, zhi_max, zhs_max, zhip_max, pv_i, pv_s, pa_i, pa_ip, pv_ip, pe_s ) 
     357         ! 
     358         ! --- Ensure snow load is not too big --- ! 
     359         CALL Hsnow( zdt, pv_i, pv_s, pa_i, pa_ip, pe_s ) 
     360         ! 
    358361      END DO 
    359362      ! 
     
    15141517 
    15151518 
    1516    SUBROUTINE Hbig( pdt, phi_max, phs_max, phip_max, pv_i, pv_s, psv_i, poa_i, pa_i, pa_ip, pv_ip, pe_s, pe_i ) 
     1519   SUBROUTINE Hbig( pdt, phi_max, phs_max, phip_max, pv_i, pv_s, pa_i, pa_ip, pv_ip, pe_s ) 
    15171520      !!------------------------------------------------------------------- 
    15181521      !!                  ***  ROUTINE Hbig  *** 
     
    15251528      !!              2- check whether snow thickness is larger than the surrounding 9-points 
    15261529      !!                 (before advection) and reduce it by sending the excess in the ocean 
    1527       !!              3- check whether snow load deplets the snow-ice interface below sea level$ 
    1528       !!                 and reduce it by sending the excess in the ocean 
    1529       !!              4- correct pond concentration to avoid a_ip > a_i 
    15301530      !! 
    15311531      !! ** input   : Max thickness of the surrounding 9-points 
     
    15331533      REAL(wp)                    , INTENT(in   ) ::   pdt                          ! tracer time-step 
    15341534      REAL(wp), DIMENSION(:,:,:)  , INTENT(in   ) ::   phi_max, phs_max, phip_max   ! max ice thick from surrounding 9-pts 
    1535       REAL(wp), DIMENSION(:,:,:)  , INTENT(inout) ::   pv_i, pv_s, psv_i, poa_i, pa_i, pa_ip, pv_ip 
     1535      REAL(wp), DIMENSION(:,:,:)  , INTENT(inout) ::   pv_i, pv_s, pa_i, pa_ip, pv_ip 
    15361536      REAL(wp), DIMENSION(:,:,:,:), INTENT(inout) ::   pe_s 
    1537       REAL(wp), DIMENSION(:,:,:,:), INTENT(inout) ::   pe_i 
    1538       ! 
    1539       INTEGER  ::   ji, jj, jk, jl         ! dummy loop indices 
    1540       REAL(wp) ::   z1_dt, zhip, zhi, zhs, zvs_excess, zfra 
    1541       REAL(wp), DIMENSION(jpi,jpj) ::   zswitch 
     1537      ! 
     1538      INTEGER  ::   ji, jj, jl         ! dummy loop indices 
     1539      REAL(wp) ::   z1_dt, zhip, zhi, zhs, zfra 
    15421540      !!------------------------------------------------------------------- 
    15431541      ! 
     
    15781576                     pv_s(ji,jj,jl)          = pa_i(ji,jj,jl) * phs_max(ji,jj,jl) 
    15791577                  ENDIF            
     1578                  !                   
     1579               ENDIF 
     1580            END DO 
     1581         END DO 
     1582      END DO  
     1583      ! 
     1584   END SUBROUTINE Hbig 
     1585 
     1586 
     1587   SUBROUTINE Hsnow( pdt, pv_i, pv_s, pa_i, pa_ip, pe_s ) 
     1588      !!------------------------------------------------------------------- 
     1589      !!                  ***  ROUTINE Hsnow  *** 
     1590      !! 
     1591      !! ** Purpose : 1- Check snow load after advection 
     1592      !!              2- Correct pond concentration to avoid a_ip > a_i 
     1593      !! 
     1594      !! ** Method :  If snow load makes snow-ice interface to deplet below the ocean surface 
     1595      !!              then put the snow excess in the ocean 
     1596      !! 
     1597      !! ** Notes :   This correction is crucial because of the call to routine icecor afterwards 
     1598      !!              which imposes a mini of ice thick. (rn_himin). This imposed mini can artificially 
     1599      !!              make the snow very thick (if concentration decreases drastically) 
     1600      !!              This behavior has been seen in Ultimate-Macho and supposedly it can also be true for Prather 
     1601      !!------------------------------------------------------------------- 
     1602      REAL(wp)                    , INTENT(in   ) ::   pdt   ! tracer time-step 
     1603      REAL(wp), DIMENSION(:,:,:)  , INTENT(inout) ::   pv_i, pv_s, pa_i, pa_ip 
     1604      REAL(wp), DIMENSION(:,:,:,:), INTENT(inout) ::   pe_s 
     1605      ! 
     1606      INTEGER  ::   ji, jj, jl   ! dummy loop indices 
     1607      REAL(wp) ::   z1_dt, zvs_excess, zfra 
     1608      !!------------------------------------------------------------------- 
     1609      ! 
     1610      z1_dt = 1._wp / pdt 
     1611      ! 
     1612      ! -- check snow load -- ! 
     1613      DO jl = 1, jpl 
     1614         DO jj = 1, jpj 
     1615            DO ji = 1, jpi 
     1616               IF ( pv_i(ji,jj,jl) > 0._wp ) THEN 
    15801617                  ! 
    1581                   !                               ! -- check snow load -- ! 
    1582                   ! if snow load makes snow-ice interface to deplet below the ocean surface => put the snow excess in the ocean 
    1583                   !    this correction is crucial because of the call to routine icecor afterwards which imposes a mini of ice thick. (rn_himin) 
    1584                   !    this imposed mini can artificially make the snow very thick (if concentration decreases drastically) 
    15851618                  zvs_excess = MAX( 0._wp, pv_s(ji,jj,jl) - pv_i(ji,jj,jl) * (rau0-rhoi) * r1_rhos ) 
    1586                   IF( zvs_excess > 0._wp ) THEN 
     1619                  ! 
     1620                  IF( zvs_excess > 0._wp ) THEN   ! snow-ice interface deplets below the ocean surface 
     1621                     ! put snow excess in the ocean 
    15871622                     zfra = ( pv_s(ji,jj,jl) - zvs_excess ) / MAX( pv_s(ji,jj,jl), epsi20 ) 
    15881623                     wfx_res(ji,jj) = wfx_res(ji,jj) + zvs_excess * rhos * z1_dt 
    15891624                     hfx_res(ji,jj) = hfx_res(ji,jj) - SUM( pe_s(ji,jj,1:nlay_s,jl) ) * ( 1._wp - zfra ) * z1_dt ! W.m-2 <0 
    1590                      ! 
     1625                     ! correct snow volume and heat content 
    15911626                     pe_s(ji,jj,1:nlay_s,jl) = pe_s(ji,jj,1:nlay_s,jl) * zfra 
    15921627                     pv_s(ji,jj,jl)          = pv_s(ji,jj,jl) - zvs_excess 
    15931628                  ENDIF 
    1594                    
     1629                  ! 
    15951630               ENDIF 
    15961631            END DO 
    15971632         END DO 
    1598       END DO  
    1599       !                                           !-- correct pond concentration to avoid a_ip > a_i 
     1633      END DO 
     1634      ! 
     1635      !-- correct pond concentration to avoid a_ip > a_i -- ! 
    16001636      WHERE( pa_ip(:,:,:) > pa_i(:,:,:) )   pa_ip(:,:,:) = pa_i(:,:,:) 
    16011637      ! 
    1602       ! 
    1603    END SUBROUTINE Hbig 
    1604     
     1638   END SUBROUTINE Hsnow 
     1639 
     1640 
    16051641#else 
    16061642   !!---------------------------------------------------------------------- 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/NST/agrif_user.F90

    r12143 r12706  
    736736   ! 
    737737   ! Check sponge length: 
    738    iminspon = MIN(FLOOR(REAL(jpiglo-4)/REAL(2*Agrif_irhox())), FLOOR(REAL(jpjglo-4)/REAL(2*Agrif_irhox())) ) 
    739    IF (lk_mpp) iminspon = MIN(iminspon,FLOOR(REAL(jpi-2)/REAL(Agrif_irhox())), FLOOR(REAL(jpj-2)/REAL(Agrif_irhox())) ) 
    740    IF (nn_sponge_len > iminspon)  CALL ctl_stop('agrif sponge length is too large') 
     738   IF(     MIN(jpi   ,jpj   ) <=     1 + nbghostcells + (nn_sponge_len * Agrif_irhox() + 1)     & 
     739      .OR. MIN(jpiglo,jpjglo) <= 2* (1 + nbghostcells + (nn_sponge_len * Agrif_irhox() + 1) ) ) & 
     740      &     CALL ctl_stop('STOP','agrif sponge length is too large') 
    741741   ! 
    742742   IF( agrif_oce_alloc()  > 0 )   CALL ctl_warn('agrif agrif_oce_alloc: allocation of arrays failed') 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/OCE/BDY/bdyini.F90

    r12143 r12706  
    398398      jpbdta = MAXVAL(nblendta(1:jpbgrd,1:nb_bdy)) 
    399399      ALLOCATE( nbidta(jpbdta, jpbgrd, nb_bdy), nbjdta(jpbdta, jpbgrd, nb_bdy), nbrdta(jpbdta, jpbgrd, nb_bdy) ) 
    400      
     400      nbrdta(:,:,:) = 0   ! initialize nbrdta as it may not be completely defined for each bdy 
     401       
    401402      ! Calculate global boundary index arrays or read in from file 
    402403      !------------------------------------------------------------                
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/OCE/BDY/bdyvol.F90

    r12143 r12706  
    143143      ! Check the cumulated transport through unstructured OBC once barotropic velocities corrected 
    144144      ! ------------------------------------------------------ 
    145       IF( MOD( kt, nn_write ) == 0 .AND. ( kc == 1 ) ) THEN 
     145      IF( MOD( kt, MAX(nn_write,1) ) == 0 .AND. ( kc == 1 ) ) THEN 
    146146         ! 
    147147         ! compute residual transport across boundary 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/OCE/DIA/diaar5.F90

    r10425 r12706  
    7171      INTEGER, INTENT( in ) ::   kt   ! ocean time-step index 
    7272      ! 
    73       INTEGER  ::   ji, jj, jk                      ! dummy loop arguments 
    74       REAL(wp) ::   zvolssh, zvol, zssh_steric, zztmp, zarho, ztemp, zsal, zmass 
     73      INTEGER  ::   ji, jj, jk, iks, ikb                      ! dummy loop arguments 
     74      REAL(wp) ::   zvolssh, zvol, zssh_steric, zztmp, zarho, ztemp, zsal, zmass, zsst 
    7575      REAL(wp) ::   zaw, zbw, zrw 
    7676      ! 
    7777      REAL(wp), ALLOCATABLE, DIMENSION(:,:)     :: zarea_ssh , zbotpres       ! 2D workspace  
    78       REAL(wp), ALLOCATABLE, DIMENSION(:,:)     :: zpe                         ! 2D workspace  
    79       REAL(wp), ALLOCATABLE, DIMENSION(:,:,:)   :: zrhd , zrhop               ! 3D workspace 
     78      REAL(wp), ALLOCATABLE, DIMENSION(:,:)     :: zpe, z2d                   ! 2D workspace  
     79      REAL(wp), ALLOCATABLE, DIMENSION(:,:,:)   :: zrhd , zrhop, ztpot   ! 3D workspace 
    8080      REAL(wp), ALLOCATABLE, DIMENSION(:,:,:,:) :: ztsn                       ! 4D workspace 
    8181 
     
    8686 
    8787      IF( l_ar5 ) THEN  
    88          ALLOCATE( zarea_ssh(jpi,jpj) , zbotpres(jpi,jpj) ) 
     88         ALLOCATE( zarea_ssh(jpi,jpj), zbotpres(jpi,jpj), z2d(jpi,jpj) ) 
    8989         ALLOCATE( zrhd(jpi,jpj,jpk) , zrhop(jpi,jpj,jpk) ) 
    9090         ALLOCATE( ztsn(jpi,jpj,jpk,jpts) ) 
     
    9292      ENDIF 
    9393      ! 
     94      CALL iom_put( 'e2u'      , e2u (:,:) ) 
     95      CALL iom_put( 'e1v'      , e1v (:,:) ) 
     96      CALL iom_put( 'areacello', area(:,:) ) 
     97      ! 
     98      IF( iom_use( 'volcello' ) .OR. iom_use( 'masscello' )  ) THEN   
     99         zrhd(:,:,jpk) = 0._wp        ! ocean volume ; rhd is used as workspace 
     100         DO jk = 1, jpkm1 
     101            zrhd(:,:,jk) = area(:,:) * e3t_n(:,:,jk) * tmask(:,:,jk) 
     102         END DO 
     103         CALL iom_put( 'volcello'  , zrhd(:,:,:)  )  ! WARNING not consistent with CMIP DR where volcello is at ca. 2000 
     104         CALL iom_put( 'masscello' , rau0 * e3t_n(:,:,:) * tmask(:,:,:) )  ! ocean mass 
     105      ENDIF  
     106      ! 
     107      IF( iom_use( 'e3tb' ) )  THEN    ! bottom layer thickness 
     108         DO jj = 1, jpj 
     109            DO ji = 1, jpi 
     110               ikb = mbkt(ji,jj) 
     111               z2d(ji,jj) = e3t_n(ji,jj,ikb) 
     112            END DO 
     113         END DO 
     114         CALL iom_put( 'e3tb', z2d ) 
     115      ENDIF  
     116      ! 
    94117      IF( iom_use( 'voltot' ) .OR. iom_use( 'sshtot' )  .OR. iom_use( 'sshdyn' )  ) THEN     
    95118         !                                         ! total volume of liquid seawater 
    96          zvolssh = SUM( zarea_ssh(:,:) )  
    97          CALL mpp_sum( 'diaar5', zvolssh ) 
    98          zvol = vol0 + zvolssh 
     119         zvolssh = glob_sum( 'diaar5', zarea_ssh(:,:) )  
     120         zvol    = vol0 + zvolssh 
    99121       
    100122         CALL iom_put( 'voltot', zvol               ) 
     
    118140               DO ji = 1, jpi 
    119141                  DO jj = 1, jpj 
    120                      zbotpres(ji,jj) = zbotpres(ji,jj) + sshn(ji,jj) * zrhd(ji,jj,mikt(ji,jj)) + riceload(ji,jj) 
     142                     iks = mikt(ji,jj) 
     143                     zbotpres(ji,jj) = zbotpres(ji,jj) + sshn(ji,jj) * zrhd(ji,jj,iks) + riceload(ji,jj) 
    121144                  END DO 
    122145               END DO 
     
    129152         END IF 
    130153         !                                          
    131          zarho = SUM( area(:,:) * zbotpres(:,:) )  
    132          CALL mpp_sum( 'diaar5', zarho ) 
     154         zarho = glob_sum( 'diaar5', area(:,:) * zbotpres(:,:) )  
    133155         zssh_steric = - zarho / area_tot 
    134156         CALL iom_put( 'sshthster', zssh_steric ) 
     
    147169               DO ji = 1,jpi 
    148170                  DO jj = 1,jpj 
    149                      zbotpres(ji,jj) = zbotpres(ji,jj) + sshn(ji,jj) * zrhd(ji,jj,mikt(ji,jj)) + riceload(ji,jj) 
     171                     iks = mikt(ji,jj) 
     172                     zbotpres(ji,jj) = zbotpres(ji,jj) + sshn(ji,jj) * zrhd(ji,jj,iks) + riceload(ji,jj) 
    150173                  END DO 
    151174               END DO 
     
    155178         END IF 
    156179         !     
    157          zarho = SUM( area(:,:) * zbotpres(:,:) )  
    158          CALL mpp_sum( 'diaar5', zarho ) 
     180         zarho = glob_sum( 'diaar5', area(:,:) * zbotpres(:,:) )  
    159181         zssh_steric = - zarho / area_tot 
    160182         CALL iom_put( 'sshsteric', zssh_steric ) 
    161        
    162183         !                                         ! ocean bottom pressure 
    163184         zztmp = rau0 * grav * 1.e-4_wp               ! recover pressure from pressure anomaly and cover to dbar = 1.e4 Pa 
     
    168189 
    169190      IF( iom_use( 'masstot' ) .OR. iom_use( 'temptot' )  .OR. iom_use( 'saltot' )  ) THEN     
    170          !                                         ! Mean density anomalie, temperature and salinity 
    171          ztemp = 0._wp 
    172          zsal  = 0._wp 
    173          DO jk = 1, jpkm1 
    174             DO jj = 1, jpj 
    175                DO ji = 1, jpi 
    176                   zztmp = area(ji,jj) * e3t_n(ji,jj,jk) 
    177                   ztemp = ztemp + zztmp * tsn(ji,jj,jk,jp_tem) 
    178                   zsal  = zsal  + zztmp * tsn(ji,jj,jk,jp_sal) 
    179                END DO 
    180             END DO 
    181          END DO 
    182          IF( ln_linssh ) THEN 
     191          !                                         ! Mean density anomalie, temperature and salinity 
     192          ztsn(:,:,:,:) = 0._wp                    ! ztsn(:,:,1,jp_tem/sal) is used here as 2D Workspace for temperature & salinity 
     193          DO jk = 1, jpkm1 
     194             DO jj = 1, jpj 
     195                DO ji = 1, jpi 
     196                   zztmp = area(ji,jj) * e3t_n(ji,jj,jk) 
     197                   ztsn(ji,jj,1,jp_tem) = ztsn(ji,jj,1,jp_tem) + zztmp * tsn(ji,jj,jk,jp_tem) 
     198                   ztsn(ji,jj,1,jp_sal) = ztsn(ji,jj,1,jp_sal) + zztmp * tsn(ji,jj,jk,jp_sal) 
     199                ENDDO 
     200             ENDDO 
     201          ENDDO 
     202 
     203          IF( ln_linssh ) THEN 
    183204            IF( ln_isfcav ) THEN 
    184205               DO ji = 1, jpi 
    185206                  DO jj = 1, jpj 
    186                      ztemp = ztemp + zarea_ssh(ji,jj) * tsn(ji,jj,mikt(ji,jj),jp_tem)  
    187                      zsal  = zsal  + zarea_ssh(ji,jj) * tsn(ji,jj,mikt(ji,jj),jp_sal)  
     207                     iks = mikt(ji,jj) 
     208                     ztsn(ji,jj,1,jp_tem) = ztsn(ji,jj,1,jp_tem) + zarea_ssh(ji,jj) * tsn(ji,jj,iks,jp_tem)  
     209                     ztsn(ji,jj,1,jp_sal) = ztsn(ji,jj,1,jp_sal) + zarea_ssh(ji,jj) * tsn(ji,jj,iks,jp_sal)  
    188210                  END DO 
    189211               END DO 
    190212            ELSE 
    191                ztemp = ztemp + SUM( zarea_ssh(:,:) * tsn(:,:,1,jp_tem) ) 
    192                zsal  = zsal  + SUM( zarea_ssh(:,:) * tsn(:,:,1,jp_sal) ) 
     213               ztsn(:,:,1,jp_tem) = ztsn(:,:,1,jp_tem) + zarea_ssh(:,:) * tsn(:,:,1,jp_tem)  
     214               ztsn(:,:,1,jp_sal) = ztsn(:,:,1,jp_sal) + zarea_ssh(:,:) * tsn(:,:,1,jp_sal)  
    193215            END IF 
    194216         ENDIF 
    195          IF( lk_mpp ) THEN   
    196             CALL mpp_sum( 'diaar5', ztemp ) 
    197             CALL mpp_sum( 'diaar5', zsal  ) 
    198          END IF 
    199          ! 
    200          zmass = rau0 * ( zarho + zvol )                 ! total mass of liquid seawater 
    201          ztemp = ztemp / zvol                            ! potential temperature in liquid seawater 
    202          zsal  = zsal  / zvol                            ! Salinity of liquid seawater 
     217         ! 
     218         ztemp = glob_sum( 'diaar5', ztsn(:,:,1,jp_tem) ) 
     219         zsal  = glob_sum( 'diaar5', ztsn(:,:,1,jp_sal) ) 
     220         zmass = rau0 * ( zarho + zvol )       
    203221         ! 
    204222         CALL iom_put( 'masstot', zmass ) 
    205          CALL iom_put( 'temptot', ztemp ) 
    206          CALL iom_put( 'saltot' , zsal  ) 
    207          ! 
     223         CALL iom_put( 'temptot', ztemp / zvol ) 
     224         CALL iom_put( 'saltot' , zsal  / zvol ) 
     225         ! 
     226      ENDIF      
     227 
     228      IF( ln_teos10 ) THEN        ! ! potential temperature (TEOS-10 case) 
     229         IF( iom_use( 'toce_pot') .OR. iom_use( 'temptot_pot' ) .OR. iom_use( 'sst_pot' )  & 
     230                                  .OR. iom_use( 'ssttot' ) .OR.  iom_use( 'tosmint_pot' ) ) THEN 
     231            ! 
     232            ALLOCATE( ztpot(jpi,jpj,jpk) ) 
     233            ztpot(:,:,jpk) = 0._wp 
     234            DO jk = 1, jpkm1 
     235               ztpot(:,:,jk) = eos_pt_from_ct( tsn(:,:,jk,jp_tem), tsn(:,:,jk,jp_sal) ) 
     236            END DO 
     237            ! 
     238            CALL iom_put( 'toce_pot', ztpot(:,:,:) )  ! potential temperature (TEOS-10 case) 
     239            CALL iom_put( 'sst_pot' , ztpot(:,:,1) )  ! surface temperature 
     240            ! 
     241            IF( iom_use( 'temptot_pot' ) ) THEN   ! Output potential temperature in case we use TEOS-10 
     242               z2d(:,:) = 0._wp 
     243               DO jk = 1, jpkm1 
     244                 z2d(:,:) = z2d(:,:) + area(:,:) * e3t_n(:,:,jk) * ztpot(:,:,jk) 
     245               END DO 
     246               ztemp = glob_sum( 'diaar5', z2d(:,:)  )  
     247               CALL iom_put( 'temptot_pot', ztemp / zvol ) 
     248             ENDIF 
     249             ! 
     250             IF( iom_use( 'ssttot' ) ) THEN   ! Output potential temperature in case we use TEOS-10 
     251               zsst = glob_sum( 'diaar5',  area(:,:) * ztpot(:,:,1)  )  
     252               CALL iom_put( 'ssttot', zsst / area_tot ) 
     253             ENDIF 
     254             ! Vertical integral of temperature 
     255             IF( iom_use( 'tosmint_pot') ) THEN 
     256               z2d(:,:) = 0._wp 
     257               DO jk = 1, jpkm1 
     258                  DO jj = 1, jpj 
     259                     DO ji = 1, jpi   ! vector opt. 
     260                        z2d(ji,jj) = z2d(ji,jj) + rau0 * e3t_n(ji,jj,jk) *  ztpot(ji,jj,jk) 
     261                     END DO 
     262                  END DO 
     263               END DO 
     264               CALL iom_put( 'tosmint_pot', z2d )  
     265            ENDIF 
     266            DEALLOCATE( ztpot ) 
     267        ENDIF 
     268      ELSE        
     269         IF( iom_use('ssttot') ) THEN   ! Output sst in case we use EOS-80 
     270            zsst  = glob_sum( 'diaar5', area(:,:) * tsn(:,:,1,jp_tem) ) 
     271            CALL iom_put('ssttot', zsst / area_tot ) 
     272         ENDIF 
    208273      ENDIF 
    209274 
    210275      IF( iom_use( 'tnpeo' )) THEN     
    211       ! Work done against stratification by vertical mixing 
    212       ! Exclude points where rn2 is negative as convection kicks in here and 
    213       ! work is not being done against stratification 
     276        ! Work done against stratification by vertical mixing 
     277        ! Exclude points where rn2 is negative as convection kicks in here and 
     278        ! work is not being done against stratification 
    214279         ALLOCATE( zpe(jpi,jpj) ) 
    215280         zpe(:,:) = 0._wp 
     
    219284                  DO ji = 1, jpi 
    220285                     IF( rn2(ji,jj,jk) > 0._wp ) THEN 
    221                         zrw =   ( gdepw_n(ji,jj,jk  ) - gdept_n(ji,jj,jk) )   & 
    222                            &  / ( gdept_n(ji,jj,jk-1) - gdept_n(ji,jj,jk) ) 
    223 !!gm  this can be reduced to :  (depw-dept) / e3w   (NB idem dans bn2 !) 
    224 !                        zrw =   ( gdept_n(ji,jj,jk) - gdepw_n(ji,jj,jk) ) / e3w_n(ji,jj,jk) 
    225 !!gm end 
     286                        zrw = ( gdept_n(ji,jj,jk) - gdepw_n(ji,jj,jk) ) / e3w_n(ji,jj,jk) 
    226287                        ! 
    227288                        zaw = rab_n(ji,jj,jk,jp_tem) * (1. - zrw) + rab_n(ji,jj,jk-1,jp_tem)* zrw 
    228289                        zbw = rab_n(ji,jj,jk,jp_sal) * (1. - zrw) + rab_n(ji,jj,jk-1,jp_sal)* zrw 
    229290                        ! 
    230                         zpe(ji, jj) = zpe(ji, jj)            & 
     291                        zpe(ji, jj) = zpe(ji,jj)   & 
    231292                           &        -  grav * (  avt(ji,jj,jk) * zaw * (tsn(ji,jj,jk-1,jp_tem) - tsn(ji,jj,jk,jp_tem) )  & 
    232293                           &                   - avs(ji,jj,jk) * zbw * (tsn(ji,jj,jk-1,jp_sal) - tsn(ji,jj,jk,jp_sal) ) ) 
     
    239300               DO ji = 1, jpi 
    240301                  DO jj = 1, jpj 
    241                      zpe(ji,jj) = zpe(ji,jj) + avt(ji, jj, jk) * MIN(0._wp,rn2(ji, jj, jk)) * rau0 * e3w_n(ji, jj, jk) 
     302                     zpe(ji,jj) = zpe(ji,jj) + avt(ji,jj,jk) * MIN(0._wp,rn2(ji,jj,jk)) * rau0 * e3w_n(ji,jj,jk) 
    242303                  END DO 
    243304               END DO 
    244305            END DO 
    245306         ENDIF 
    246 !!gm useless lbc_lnk since the computation above is performed over 1:jpi & 1:jpj 
    247 !!gm           CALL lbc_lnk( 'diaar5', zpe, 'T', 1._wp)          
    248307          CALL iom_put( 'tnpeo', zpe ) 
    249308          DEALLOCATE( zpe ) 
     
    251310 
    252311      IF( l_ar5 ) THEN 
    253         DEALLOCATE( zarea_ssh , zbotpres ) 
     312        DEALLOCATE( zarea_ssh , zbotpres, z2d ) 
    254313        DEALLOCATE( zrhd      , zrhop    ) 
    255314        DEALLOCATE( ztsn                 ) 
     
    287346       CALL lbc_lnk( 'diaar5', z2d, 'U', -1. ) 
    288347       IF( cptr == 'adv' ) THEN 
    289           IF( ktra == jp_tem ) CALL iom_put( "uadv_heattr" , rau0_rcp * z2d )  ! advective heat transport in i-direction 
    290           IF( ktra == jp_sal ) CALL iom_put( "uadv_salttr" , rau0     * z2d )  ! advective salt transport in i-direction 
     348          IF( ktra == jp_tem ) CALL iom_put( 'uadv_heattr' , rau0_rcp * z2d )  ! advective heat transport in i-direction 
     349          IF( ktra == jp_sal ) CALL iom_put( 'uadv_salttr' , rau0     * z2d )  ! advective salt transport in i-direction 
    291350       ENDIF 
    292351       IF( cptr == 'ldf' ) THEN 
    293           IF( ktra == jp_tem ) CALL iom_put( "udiff_heattr" , rau0_rcp * z2d ) ! diffusive heat transport in i-direction 
    294           IF( ktra == jp_sal ) CALL iom_put( "udiff_salttr" , rau0     * z2d ) ! diffusive salt transport in i-direction 
     352          IF( ktra == jp_tem ) CALL iom_put( 'udiff_heattr' , rau0_rcp * z2d ) ! diffusive heat transport in i-direction 
     353          IF( ktra == jp_sal ) CALL iom_put( 'udiff_salttr' , rau0     * z2d ) ! diffusive salt transport in i-direction 
    295354       ENDIF 
    296355       ! 
     
    305364       CALL lbc_lnk( 'diaar5', z2d, 'V', -1. ) 
    306365       IF( cptr == 'adv' ) THEN 
    307           IF( ktra == jp_tem ) CALL iom_put( "vadv_heattr" , rau0_rcp * z2d )  ! advective heat transport in j-direction 
    308           IF( ktra == jp_sal ) CALL iom_put( "vadv_salttr" , rau0     * z2d )  ! advective salt transport in j-direction 
     366          IF( ktra == jp_tem ) CALL iom_put( 'vadv_heattr' , rau0_rcp * z2d )  ! advective heat transport in j-direction 
     367          IF( ktra == jp_sal ) CALL iom_put( 'vadv_salttr' , rau0     * z2d )  ! advective salt transport in j-direction 
    309368       ENDIF 
    310369       IF( cptr == 'ldf' ) THEN 
    311           IF( ktra == jp_tem ) CALL iom_put( "vdiff_heattr" , rau0_rcp * z2d ) ! diffusive heat transport in j-direction 
    312           IF( ktra == jp_sal ) CALL iom_put( "vdiff_salttr" , rau0     * z2d ) ! diffusive salt transport in j-direction 
     370          IF( ktra == jp_tem ) CALL iom_put( 'vdiff_heattr' , rau0_rcp * z2d ) ! diffusive heat transport in j-direction 
     371          IF( ktra == jp_sal ) CALL iom_put( 'vdiff_salttr' , rau0     * z2d ) ! diffusive salt transport in j-direction 
    313372       ENDIF 
    314373           
     
    323382      !!---------------------------------------------------------------------- 
    324383      INTEGER  ::   inum 
    325       INTEGER  ::   ik 
     384      INTEGER  ::   ik, idep 
    326385      INTEGER  ::   ji, jj, jk  ! dummy loop indices 
    327386      REAL(wp) ::   zztmp   
    328387      REAL(wp), ALLOCATABLE, DIMENSION(:,:,:,:) ::   zsaldta   ! Jan/Dec levitus salinity 
     388      REAL(wp), ALLOCATABLE, DIMENSION(:,:)     ::   zvol0      
    329389      ! 
    330390      !!---------------------------------------------------------------------- 
     
    340400         IF( dia_ar5_alloc() /= 0 )   CALL ctl_stop( 'STOP', 'dia_ar5_init : unable to allocate arrays' ) 
    341401 
    342          area(:,:) = e1e2t(:,:) * tmask_i(:,:) 
    343  
    344          area_tot = SUM( area(:,:) )   ;   CALL mpp_sum( 'diaar5', area_tot ) 
    345  
    346          vol0        = 0._wp 
     402         area(:,:) = e1e2t(:,:) 
     403         area_tot  = glob_sum( 'diaar5', area(:,:) ) 
     404 
     405         ALLOCATE( zvol0(jpi,jpj) ) 
     406         zvol0 (:,:) = 0._wp 
    347407         thick0(:,:) = 0._wp 
    348408         DO jk = 1, jpkm1 
    349             vol0        = vol0        + SUM( area (:,:) * tmask(:,:,jk) * e3t_0(:,:,jk) ) 
    350             thick0(:,:) = thick0(:,:) +    tmask_i(:,:) * tmask(:,:,jk) * e3t_0(:,:,jk) 
    351          END DO 
    352          CALL mpp_sum( 'diaar5', vol0 ) 
     409            DO jj = 1, jpj               ! interpolation of salinity at the last ocean level (i.e. the partial step) 
     410               DO ji = 1, jpi 
     411                  idep = tmask(ji,jj,jk) * e3t_0(ji,jj,jk) 
     412                  zvol0 (ji,jj) = zvol0 (ji,jj) +  idep * area(ji,jj) 
     413                  thick0(ji,jj) = thick0(ji,jj) +  idep     
     414               END DO 
     415            END DO 
     416         END DO 
     417         vol0 = glob_sum( 'diaar5', zvol0 ) 
     418         DEALLOCATE( zvol0 ) 
    353419 
    354420         IF( iom_use( 'sshthster' ) ) THEN 
    355             ALLOCATE( zsaldta(jpi,jpj,jpj,jpts) ) 
     421            ALLOCATE( zsaldta(jpi,jpj,jpk,jpts) ) 
    356422            CALL iom_open ( 'sali_ref_clim_monthly', inum ) 
    357423            CALL iom_get  ( inum, jpdom_data, 'vosaline' , zsaldta(:,:,:,1), 1  ) 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/OCE/DIA/diahth.F90

    r10425 r12706  
    1111   !!            3.2  !  2009-07  (S. Masson) hc300 bugfix + cleaning + add new diag 
    1212   !!---------------------------------------------------------------------- 
    13 #if   defined key_diahth 
    14    !!---------------------------------------------------------------------- 
    15    !!   'key_diahth' :                              thermocline depth diag. 
    16    !!---------------------------------------------------------------------- 
    1713   !!   dia_hth      : Compute varius diagnostics associated with the mixed layer 
    1814   !!---------------------------------------------------------------------- 
     
    3228   PUBLIC   dia_hth_alloc ! routine called by nemogcm.F90 
    3329 
    34    LOGICAL , PUBLIC, PARAMETER ::   lk_diahth = .TRUE.    !: thermocline-20d depths flag 
     30   LOGICAL, SAVE  ::   l_hth     !: thermocline-20d depths flag 
    3531    
    3632   ! note: following variables should move to local variables once iom_put is always used  
    3733   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   hth    !: depth of the max vertical temperature gradient [m] 
    3834   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   hd20   !: depth of 20 C isotherm                         [m] 
     35   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   hd26   !: depth of 26 C isotherm                         [m] 
    3936   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   hd28   !: depth of 28 C isotherm                         [m] 
    4037   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   htc3   !: heat content of first 300 m                    [W] 
     38   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   htc7   !: heat content of first 700 m                    [W] 
     39   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   htc20  !: heat content of first 2000 m                   [W] 
     40 
    4141 
    4242   !!---------------------------------------------------------------------- 
     
    5252      !!--------------------------------------------------------------------- 
    5353      ! 
    54       ALLOCATE( hth(jpi,jpj), hd20(jpi,jpj), hd28(jpi,jpj), htc3(jpi,jpj), STAT=dia_hth_alloc ) 
     54      ALLOCATE( hth(jpi,jpj), hd20(jpi,jpj), hd26(jpi,jpj), hd28(jpi,jpj), & 
     55         &      htc3(jpi,jpj), htc7(jpi,jpj), htc20(jpi,jpj), STAT=dia_hth_alloc ) 
    5556      ! 
    5657      CALL mpp_sum ( 'diahth', dia_hth_alloc ) 
     
    8283      INTEGER, INTENT( in ) ::   kt      ! ocean time-step index 
    8384      !! 
    84       INTEGER                          ::   ji, jj, jk            ! dummy loop arguments 
    85       INTEGER                          ::   iid, ilevel           ! temporary integers 
    86       INTEGER, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   ik20, ik28  ! levels 
    87       REAL(wp)                         ::   zavt5 = 5.e-4_wp      ! Kz criterion for the turbocline depth 
    88       REAL(wp)                         ::   zrho3 = 0.03_wp       ! density     criterion for mixed layer depth 
    89       REAL(wp)                         ::   zrho1 = 0.01_wp       ! density     criterion for mixed layer depth 
    90       REAL(wp)                         ::   ztem2 = 0.2_wp        ! temperature criterion for mixed layer depth 
    91       REAL(wp)                         ::   zthick_0, zcoef       ! temporary scalars 
    92       REAL(wp)                         ::   zztmp, zzdep          ! temporary scalars inside do loop 
    93       REAL(wp)                         ::   zu, zv, zw, zut, zvt  ! temporary workspace 
    94       REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) ::   zabs2      ! MLD: abs( tn - tn(10m) ) = ztem2  
    95       REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) ::   ztm2       ! Top of thermocline: tn = tn(10m) - ztem2      
    96       REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) ::   zrho10_3   ! MLD: rho = rho10m + zrho3       
    97       REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) ::   zpycn      ! pycnocline: rho = rho10m + (dr/dT)(T,S,10m)*(-0.2 degC) 
    98       REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) ::   ztinv      ! max of temperature inversion 
    99       REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) ::   zdepinv    ! depth of temperature inversion 
    100       REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) ::   zrho0_3    ! MLD rho = rho(surf) = 0.03 
    101       REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) ::   zrho0_1    ! MLD rho = rho(surf) = 0.01 
    102       REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) ::   zmaxdzT    ! max of dT/dz 
    103       REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) ::   zthick     ! vertical integration thickness  
    104       REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) ::   zdelr      ! delta rho equivalent to deltaT = 0.2 
     85      INTEGER                      ::   ji, jj, jk            ! dummy loop arguments 
     86      REAL(wp)                     ::   zrho3 = 0.03_wp       ! density     criterion for mixed layer depth 
     87      REAL(wp)                     ::   zrho1 = 0.01_wp       ! density     criterion for mixed layer depth 
     88      REAL(wp)                     ::   ztem2 = 0.2_wp        ! temperature criterion for mixed layer depth 
     89      REAL(wp)                     ::   zztmp, zzdep          ! temporary scalars inside do loop 
     90      REAL(wp)                     ::   zu, zv, zw, zut, zvt  ! temporary workspace 
     91      REAL(wp), DIMENSION(jpi,jpj) ::   zabs2      ! MLD: abs( tn - tn(10m) ) = ztem2  
     92      REAL(wp), DIMENSION(jpi,jpj) ::   ztm2       ! Top of thermocline: tn = tn(10m) - ztem2      
     93      REAL(wp), DIMENSION(jpi,jpj) ::   zrho10_3   ! MLD: rho = rho10m + zrho3       
     94      REAL(wp), DIMENSION(jpi,jpj) ::   zpycn      ! pycnocline: rho = rho10m + (dr/dT)(T,S,10m)*(-0.2 degC) 
     95      REAL(wp), DIMENSION(jpi,jpj) ::   ztinv      ! max of temperature inversion 
     96      REAL(wp), DIMENSION(jpi,jpj) ::   zdepinv    ! depth of temperature inversion 
     97      REAL(wp), DIMENSION(jpi,jpj) ::   zrho0_3    ! MLD rho = rho(surf) = 0.03 
     98      REAL(wp), DIMENSION(jpi,jpj) ::   zrho0_1    ! MLD rho = rho(surf) = 0.01 
     99      REAL(wp), DIMENSION(jpi,jpj) ::   zmaxdzT    ! max of dT/dz 
     100      REAL(wp), DIMENSION(jpi,jpj) ::   zdelr      ! delta rho equivalent to deltaT = 0.2 
    105101      !!---------------------------------------------------------------------- 
    106102      IF( ln_timing )   CALL timing_start('dia_hth') 
    107103 
    108104      IF( kt == nit000 ) THEN 
     105         l_hth = .FALSE. 
     106         IF(   iom_use( 'mlddzt'   ) .OR. iom_use( 'mldr0_3'  ) .OR. iom_use( 'mldr0_1'  )    .OR.  &  
     107            &  iom_use( 'mld_dt02' ) .OR. iom_use( 'topthdep' ) .OR. iom_use( 'mldr10_3' )    .OR.  &     
     108            &  iom_use( '20d'      ) .OR. iom_use( '26d'      ) .OR. iom_use( '28d'      )    .OR.  &     
     109            &  iom_use( 'hc300'    ) .OR. iom_use( 'hc700'    ) .OR. iom_use( 'hc2000'   )    .OR.  &     
     110            &  iom_use( 'pycndep'  ) .OR. iom_use( 'tinv'     ) .OR. iom_use( 'depti'    )  ) l_hth = .TRUE. 
    109111         !                                      ! allocate dia_hth array 
    110          IF( dia_hth_alloc() /= 0 )   CALL ctl_stop( 'STOP', 'dia_hth : unable to allocate standard arrays' ) 
    111  
    112          IF(.NOT. ALLOCATED(ik20) ) THEN 
    113             ALLOCATE(ik20(jpi,jpj), ik28(jpi,jpj), & 
    114                &      zabs2(jpi,jpj),   & 
    115                &      ztm2(jpi,jpj),    & 
    116                &      zrho10_3(jpi,jpj),& 
    117                &      zpycn(jpi,jpj),   & 
    118                &      ztinv(jpi,jpj),   & 
    119                &      zdepinv(jpi,jpj), & 
    120                &      zrho0_3(jpi,jpj), & 
    121                &      zrho0_1(jpi,jpj), & 
    122                &      zmaxdzT(jpi,jpj), & 
    123                &      zthick(jpi,jpj),  & 
    124                &      zdelr(jpi,jpj), STAT=ji) 
    125             CALL mpp_sum('diahth', ji) 
    126             IF( ji /= 0 )   CALL ctl_stop( 'STOP', 'dia_hth : unable to allocate standard ocean arrays' ) 
    127          END IF 
    128  
    129          IF(lwp) WRITE(numout,*) 
    130          IF(lwp) WRITE(numout,*) 'dia_hth : diagnostics of the thermocline depth' 
    131          IF(lwp) WRITE(numout,*) '~~~~~~~ ' 
    132          IF(lwp) WRITE(numout,*) 
     112         IF( l_hth ) THEN  
     113            IF( dia_hth_alloc() /= 0 )   CALL ctl_stop( 'STOP', 'dia_hth : unable to allocate standard arrays' ) 
     114            IF(lwp) WRITE(numout,*) 
     115            IF(lwp) WRITE(numout,*) 'dia_hth : diagnostics of the thermocline depth' 
     116            IF(lwp) WRITE(numout,*) '~~~~~~~ ' 
     117            IF(lwp) WRITE(numout,*) 
     118         ENDIF 
    133119      ENDIF 
    134120 
    135       ! initialization 
    136       ztinv  (:,:) = 0._wp   
    137       zdepinv(:,:) = 0._wp   
    138       zmaxdzT(:,:) = 0._wp   
    139       DO jj = 1, jpj 
    140          DO ji = 1, jpi 
    141             zztmp = gdepw_n(ji,jj,mbkt(ji,jj)+1)  
    142             hth     (ji,jj) = zztmp 
    143             zabs2   (ji,jj) = zztmp 
    144             ztm2    (ji,jj) = zztmp 
    145             zrho10_3(ji,jj) = zztmp 
    146             zpycn   (ji,jj) = zztmp 
    147         END DO 
    148       END DO 
    149       IF( nla10 > 1 ) THEN  
    150          DO jj = 1, jpj 
    151             DO ji = 1, jpi 
    152                zztmp = gdepw_n(ji,jj,mbkt(ji,jj)+1)  
    153                zrho0_3(ji,jj) = zztmp 
    154                zrho0_1(ji,jj) = zztmp 
    155             END DO 
    156          END DO 
     121      IF( l_hth ) THEN 
     122         ! 
     123         IF( iom_use( 'mlddzt' ) .OR. iom_use( 'mldr0_3' ) .OR. iom_use( 'mldr0_1' ) ) THEN 
     124            ! initialization 
     125            ztinv  (:,:) = 0._wp   
     126            zdepinv(:,:) = 0._wp   
     127            zmaxdzT(:,:) = 0._wp   
     128            DO jj = 1, jpj 
     129               DO ji = 1, jpi 
     130                  zztmp = gdepw_n(ji,jj,mbkt(ji,jj)+1)  
     131                  hth     (ji,jj) = zztmp 
     132                  zabs2   (ji,jj) = zztmp 
     133                  ztm2    (ji,jj) = zztmp 
     134                  zrho10_3(ji,jj) = zztmp 
     135                  zpycn   (ji,jj) = zztmp 
     136                 END DO 
     137            END DO 
     138            IF( nla10 > 1 ) THEN  
     139               DO jj = 1, jpj 
     140                  DO ji = 1, jpi 
     141                     zztmp = gdepw_n(ji,jj,mbkt(ji,jj)+1)  
     142                     zrho0_3(ji,jj) = zztmp 
     143                     zrho0_1(ji,jj) = zztmp 
     144                  END DO 
     145               END DO 
     146            ENDIF 
     147       
     148            ! Preliminary computation 
     149            ! computation of zdelr = (dr/dT)(T,S,10m)*(-0.2 degC) 
     150            DO jj = 1, jpj 
     151               DO ji = 1, jpi 
     152                  IF( tmask(ji,jj,nla10) == 1. ) THEN 
     153                     zu  =  1779.50 + 11.250 * tsn(ji,jj,nla10,jp_tem) - 3.80   * tsn(ji,jj,nla10,jp_sal)  & 
     154                        &           - 0.0745 * tsn(ji,jj,nla10,jp_tem) * tsn(ji,jj,nla10,jp_tem)   & 
     155                        &           - 0.0100 * tsn(ji,jj,nla10,jp_tem) * tsn(ji,jj,nla10,jp_sal) 
     156                     zv  =  5891.00 + 38.000 * tsn(ji,jj,nla10,jp_tem) + 3.00   * tsn(ji,jj,nla10,jp_sal)  & 
     157                        &           - 0.3750 * tsn(ji,jj,nla10,jp_tem) * tsn(ji,jj,nla10,jp_tem) 
     158                     zut =    11.25 -  0.149 * tsn(ji,jj,nla10,jp_tem) - 0.01   * tsn(ji,jj,nla10,jp_sal) 
     159                     zvt =    38.00 -  0.750 * tsn(ji,jj,nla10,jp_tem) 
     160                     zw  = (zu + 0.698*zv) * (zu + 0.698*zv) 
     161                     zdelr(ji,jj) = ztem2 * (1000.*(zut*zv - zvt*zu)/zw) 
     162                  ELSE 
     163                     zdelr(ji,jj) = 0._wp 
     164                  ENDIF 
     165               END DO 
     166            END DO 
     167 
     168            ! ------------------------------------------------------------- ! 
     169            ! thermocline depth: strongest vertical gradient of temperature ! 
     170            ! turbocline depth (mixing layer depth): avt = zavt5            ! 
     171            ! MLD: rho = rho(1) + zrho3                                     ! 
     172            ! MLD: rho = rho(1) + zrho1                                     ! 
     173            ! ------------------------------------------------------------- ! 
     174            DO jk = jpkm1, 2, -1   ! loop from bottom to 2 
     175               DO jj = 1, jpj 
     176                  DO ji = 1, jpi 
     177                     ! 
     178                     zzdep = gdepw_n(ji,jj,jk) 
     179                     zztmp = ( tsn(ji,jj,jk-1,jp_tem) - tsn(ji,jj,jk,jp_tem) ) & 
     180                            & / zzdep * tmask(ji,jj,jk)   ! vertical gradient of temperature (dT/dz) 
     181                     zzdep = zzdep * tmask(ji,jj,1) 
     182 
     183                     IF( zztmp > zmaxdzT(ji,jj) ) THEN                         
     184                         zmaxdzT(ji,jj) = zztmp    
     185                         hth    (ji,jj) = zzdep                ! max and depth of dT/dz 
     186                     ENDIF 
     187                
     188                     IF( nla10 > 1 ) THEN  
     189                        zztmp = rhop(ji,jj,jk) - rhop(ji,jj,1)                       ! delta rho(1) 
     190                        IF( zztmp > zrho3 )   zrho0_3(ji,jj) = zzdep                ! > 0.03 
     191                        IF( zztmp > zrho1 )   zrho0_1(ji,jj) = zzdep                ! > 0.01 
     192                     ENDIF 
     193                  END DO 
     194               END DO 
     195            END DO 
     196          
     197            CALL iom_put( 'mlddzt', hth )            ! depth of the thermocline 
     198            IF( nla10 > 1 ) THEN  
     199               CALL iom_put( 'mldr0_3', zrho0_3 )   ! MLD delta rho(surf) = 0.03 
     200               CALL iom_put( 'mldr0_1', zrho0_1 )   ! MLD delta rho(surf) = 0.01 
     201            ENDIF 
     202            ! 
     203         ENDIF 
     204         ! 
     205         IF(  iom_use( 'mld_dt02' ) .OR. iom_use( 'topthdep' ) .OR. iom_use( 'mldr10_3' ) .OR.  &     
     206            &  iom_use( 'pycndep' ) .OR. iom_use( 'tinv'     ) .OR. iom_use( 'depti'    )  ) THEN 
     207            ! ------------------------------------------------------------- ! 
     208            ! MLD: abs( tn - tn(10m) ) = ztem2                              ! 
     209            ! Top of thermocline: tn = tn(10m) - ztem2                      ! 
     210            ! MLD: rho = rho10m + zrho3                                     ! 
     211            ! pycnocline: rho = rho10m + (dr/dT)(T,S,10m)*(-0.2 degC)       ! 
     212            ! temperature inversion: max( 0, max of tn - tn(10m) )          ! 
     213            ! depth of temperature inversion                                ! 
     214            ! ------------------------------------------------------------- ! 
     215            DO jk = jpkm1, nlb10, -1   ! loop from bottom to nlb10 
     216               DO jj = 1, jpj 
     217                  DO ji = 1, jpi 
     218                     ! 
     219                     zzdep = gdepw_n(ji,jj,jk) * tmask(ji,jj,1) 
     220                     ! 
     221                     zztmp = tsn(ji,jj,nla10,jp_tem) - tsn(ji,jj,jk,jp_tem)  ! - delta T(10m) 
     222                     IF( ABS(zztmp) > ztem2 )      zabs2   (ji,jj) = zzdep   ! abs > 0.2 
     223                     IF(     zztmp  > ztem2 )      ztm2    (ji,jj) = zzdep   ! > 0.2 
     224                     zztmp = -zztmp                                          ! delta T(10m) 
     225                     IF( zztmp >  ztinv(ji,jj) ) THEN                        ! temperature inversion 
     226                        ztinv(ji,jj) = zztmp    
     227                        zdepinv (ji,jj) = zzdep   ! max value and depth 
     228                     ENDIF 
     229 
     230                     zztmp = rhop(ji,jj,jk) - rhop(ji,jj,nla10)              ! delta rho(10m) 
     231                     IF( zztmp > zrho3        )    zrho10_3(ji,jj) = zzdep   ! > 0.03 
     232                     IF( zztmp > zdelr(ji,jj) )    zpycn   (ji,jj) = zzdep   ! > equi. delta T(10m) - 0.2 
     233                     ! 
     234                  END DO 
     235               END DO 
     236            END DO 
     237 
     238            CALL iom_put( 'mld_dt02', zabs2    )   ! MLD abs(delta t) - 0.2 
     239            CALL iom_put( 'topthdep', ztm2     )   ! T(10) - 0.2 
     240            CALL iom_put( 'mldr10_3', zrho10_3 )   ! MLD delta rho(10m) = 0.03 
     241            CALL iom_put( 'pycndep' , zpycn    )   ! MLD delta rho equi. delta T(10m) = 0.2 
     242            CALL iom_put( 'tinv'    , ztinv    )   ! max. temp. inv. (t10 ref)  
     243            CALL iom_put( 'depti'   , zdepinv  )   ! depth of max. temp. inv. (t10 ref)  
     244            ! 
     245         ENDIF 
     246  
     247         ! ------------------------------- ! 
     248         !  Depth of 20C/26C/28C isotherm  ! 
     249         ! ------------------------------- ! 
     250         IF( iom_use ('20d') ) THEN  ! depth of the 20 isotherm 
     251            ztem2 = 20. 
     252            CALL dia_hth_dep( ztem2, hd20 )   
     253            CALL iom_put( '20d', hd20 )     
     254         ENDIF 
     255         ! 
     256         IF( iom_use ('26d') ) THEN  ! depth of the 26 isotherm 
     257            ztem2 = 26. 
     258            CALL dia_hth_dep( ztem2, hd26 )   
     259            CALL iom_put( '26d', hd26 )     
     260         ENDIF 
     261         ! 
     262         IF( iom_use ('28d') ) THEN  ! depth of the 28 isotherm 
     263            ztem2 = 28. 
     264            CALL dia_hth_dep( ztem2, hd28 )   
     265            CALL iom_put( '28d', hd28 )     
     266         ENDIF 
     267         
     268         ! ----------------------------- ! 
     269         !  Heat content of first 300 m  ! 
     270         ! ----------------------------- ! 
     271         IF( iom_use ('hc300') ) THEN   
     272            zzdep = 300. 
     273            CALL  dia_hth_htc( zzdep, tsn(:,:,:,jp_tem), htc3 ) 
     274            CALL iom_put( 'hc300', rau0_rcp * htc3 )  ! vertically integrated heat content (J/m2) 
     275         ENDIF 
     276         ! 
     277         ! ----------------------------- ! 
     278         !  Heat content of first 700 m  ! 
     279         ! ----------------------------- ! 
     280         IF( iom_use ('hc700') ) THEN   
     281            zzdep = 700. 
     282            CALL  dia_hth_htc( zzdep, tsn(:,:,:,jp_tem), htc7 ) 
     283            CALL iom_put( 'hc700', rau0_rcp * htc7 )  ! vertically integrated heat content (J/m2) 
     284   
     285         ENDIF 
     286         ! 
     287         ! ----------------------------- ! 
     288         !  Heat content of first 2000 m  ! 
     289         ! ----------------------------- ! 
     290         IF( iom_use ('hc2000') ) THEN   
     291            zzdep = 2000. 
     292            CALL  dia_hth_htc( zzdep, tsn(:,:,:,jp_tem), htc20 ) 
     293            CALL iom_put( 'hc2000', rau0_rcp * htc20 )  ! vertically integrated heat content (J/m2)   
     294         ENDIF 
     295         ! 
    157296      ENDIF 
     297 
     298      ! 
     299      IF( ln_timing )   CALL timing_stop('dia_hth') 
     300      ! 
     301   END SUBROUTINE dia_hth 
     302 
     303   SUBROUTINE dia_hth_dep( ptem, pdept ) 
     304      ! 
     305      REAL(wp), INTENT(in) :: ptem 
     306      REAL(wp), DIMENSION(jpi,jpj), INTENT(out) :: pdept      
     307      ! 
     308      INTEGER  :: ji, jj, jk, iid 
     309      REAL(wp) :: zztmp, zzdep 
     310      INTEGER, DIMENSION(jpi,jpj) :: iktem 
    158311       
    159       ! Preliminary computation 
    160       ! computation of zdelr = (dr/dT)(T,S,10m)*(-0.2 degC) 
    161       DO jj = 1, jpj 
    162          DO ji = 1, jpi 
    163             IF( tmask(ji,jj,nla10) == 1. ) THEN 
    164                zu  =  1779.50 + 11.250 * tsn(ji,jj,nla10,jp_tem) - 3.80   * tsn(ji,jj,nla10,jp_sal)                             & 
    165                   &                                              - 0.0745 * tsn(ji,jj,nla10,jp_tem) * tsn(ji,jj,nla10,jp_tem)   & 
    166                   &                                              - 0.0100 * tsn(ji,jj,nla10,jp_tem) * tsn(ji,jj,nla10,jp_sal) 
    167                zv  =  5891.00 + 38.000 * tsn(ji,jj,nla10,jp_tem) + 3.00   * tsn(ji,jj,nla10,jp_sal)                             & 
    168                   &                                              - 0.3750 * tsn(ji,jj,nla10,jp_tem) * tsn(ji,jj,nla10,jp_tem) 
    169                zut =    11.25 -  0.149 * tsn(ji,jj,nla10,jp_tem) - 0.01   * tsn(ji,jj,nla10,jp_sal) 
    170                zvt =    38.00 -  0.750 * tsn(ji,jj,nla10,jp_tem) 
    171                zw  = (zu + 0.698*zv) * (zu + 0.698*zv) 
    172                zdelr(ji,jj) = ztem2 * (1000.*(zut*zv - zvt*zu)/zw) 
    173             ELSE 
    174                zdelr(ji,jj) = 0._wp 
    175             ENDIF 
    176          END DO 
    177       END DO 
    178  
    179       ! ------------------------------------------------------------- ! 
    180       ! thermocline depth: strongest vertical gradient of temperature ! 
    181       ! turbocline depth (mixing layer depth): avt = zavt5            ! 
    182       ! MLD: rho = rho(1) + zrho3                                     ! 
    183       ! MLD: rho = rho(1) + zrho1                                     ! 
    184       ! ------------------------------------------------------------- ! 
    185       DO jk = jpkm1, 2, -1   ! loop from bottom to 2 
    186          DO jj = 1, jpj 
    187             DO ji = 1, jpi 
    188                ! 
    189                zzdep = gdepw_n(ji,jj,jk) 
    190                zztmp = ( tsn(ji,jj,jk-1,jp_tem) - tsn(ji,jj,jk,jp_tem) ) / zzdep * tmask(ji,jj,jk)   ! vertical gradient of temperature (dT/dz) 
    191                zzdep = zzdep * tmask(ji,jj,1) 
    192  
    193                IF( zztmp > zmaxdzT(ji,jj) ) THEN                         
    194                   zmaxdzT(ji,jj) = zztmp   ;   hth    (ji,jj) = zzdep                ! max and depth of dT/dz 
    195                ENDIF 
    196                 
    197                IF( nla10 > 1 ) THEN  
    198                   zztmp = rhop(ji,jj,jk) - rhop(ji,jj,1)                             ! delta rho(1) 
    199                   IF( zztmp > zrho3 )          zrho0_3(ji,jj) = zzdep                ! > 0.03 
    200                   IF( zztmp > zrho1 )          zrho0_1(ji,jj) = zzdep                ! > 0.01 
    201                ENDIF 
    202  
    203             END DO 
    204          END DO 
    205       END DO 
    206        
    207       CALL iom_put( "mlddzt", hth )            ! depth of the thermocline 
    208       IF( nla10 > 1 ) THEN  
    209          CALL iom_put( "mldr0_3", zrho0_3 )   ! MLD delta rho(surf) = 0.03 
    210          CALL iom_put( "mldr0_1", zrho0_1 )   ! MLD delta rho(surf) = 0.01 
    211       ENDIF 
    212  
    213       ! ------------------------------------------------------------- ! 
    214       ! MLD: abs( tn - tn(10m) ) = ztem2                              ! 
    215       ! Top of thermocline: tn = tn(10m) - ztem2                      ! 
    216       ! MLD: rho = rho10m + zrho3                                     ! 
    217       ! pycnocline: rho = rho10m + (dr/dT)(T,S,10m)*(-0.2 degC)       ! 
    218       ! temperature inversion: max( 0, max of tn - tn(10m) )          ! 
    219       ! depth of temperature inversion                                ! 
    220       ! ------------------------------------------------------------- ! 
    221       DO jk = jpkm1, nlb10, -1   ! loop from bottom to nlb10 
    222          DO jj = 1, jpj 
    223             DO ji = 1, jpi 
    224                ! 
    225                zzdep = gdepw_n(ji,jj,jk) * tmask(ji,jj,1) 
    226                ! 
    227                zztmp = tsn(ji,jj,nla10,jp_tem) - tsn(ji,jj,jk,jp_tem)  ! - delta T(10m) 
    228                IF( ABS(zztmp) > ztem2 )      zabs2   (ji,jj) = zzdep   ! abs > 0.2 
    229                IF(     zztmp  > ztem2 )      ztm2    (ji,jj) = zzdep   ! > 0.2 
    230                zztmp = -zztmp                                          ! delta T(10m) 
    231                IF( zztmp >  ztinv(ji,jj) ) THEN                        ! temperature inversion 
    232                   ztinv(ji,jj) = zztmp   ;   zdepinv (ji,jj) = zzdep   ! max value and depth 
    233                ENDIF 
    234  
    235                zztmp = rhop(ji,jj,jk) - rhop(ji,jj,nla10)              ! delta rho(10m) 
    236                IF( zztmp > zrho3        )    zrho10_3(ji,jj) = zzdep   ! > 0.03 
    237                IF( zztmp > zdelr(ji,jj) )    zpycn   (ji,jj) = zzdep   ! > equi. delta T(10m) - 0.2 
    238                ! 
    239             END DO 
    240          END DO 
    241       END DO 
    242  
    243       CALL iom_put( "mld_dt02", zabs2        )   ! MLD abs(delta t) - 0.2 
    244       CALL iom_put( "topthdep", ztm2         )   ! T(10) - 0.2 
    245       CALL iom_put( "mldr10_3", zrho10_3     )   ! MLD delta rho(10m) = 0.03 
    246       CALL iom_put( "pycndep" , zpycn        )   ! MLD delta rho equi. delta T(10m) = 0.2 
    247       CALL iom_put( "tinv"    , ztinv        )   ! max. temp. inv. (t10 ref)  
    248       CALL iom_put( "depti"   , zdepinv      )   ! depth of max. temp. inv. (t10 ref)  
    249  
    250  
    251       ! ----------------------------------- ! 
    252       ! search deepest level above 20C/28C  ! 
    253       ! ----------------------------------- ! 
    254       ik20(:,:) = 1 
    255       ik28(:,:) = 1 
     312      ! --------------------------------------- ! 
     313      ! search deepest level above ptem         ! 
     314      ! --------------------------------------- ! 
     315      iktem(:,:) = 1 
    256316      DO jk = 1, jpkm1   ! beware temperature is not always decreasing with depth => loop from top to bottom 
    257317         DO jj = 1, jpj 
    258318            DO ji = 1, jpi 
    259319               zztmp = tsn(ji,jj,jk,jp_tem) 
    260                IF( zztmp >= 20. )   ik20(ji,jj) = jk 
    261                IF( zztmp >= 28. )   ik28(ji,jj) = jk 
     320               IF( zztmp >= ptem )   iktem(ji,jj) = jk 
    262321            END DO 
    263322         END DO 
    264323      END DO 
    265324 
    266       ! --------------------------- ! 
    267       !  Depth of 20C/28C isotherm  ! 
    268       ! --------------------------- ! 
     325      ! ------------------------------- ! 
     326      !  Depth of ptem isotherm         ! 
     327      ! ------------------------------- ! 
    269328      DO jj = 1, jpj 
    270329         DO ji = 1, jpi 
    271330            ! 
    272             zzdep = gdepw_n(ji,jj,mbkt(ji,jj)+1)       ! depth of the oean bottom 
     331            zzdep = gdepw_n(ji,jj,mbkt(ji,jj)+1)       ! depth of the ocean bottom 
    273332            ! 
    274             iid = ik20(ji,jj) 
     333            iid = iktem(ji,jj) 
    275334            IF( iid /= 1 ) THEN  
    276                zztmp =      gdept_n(ji,jj,iid  )   &                     ! linear interpolation 
     335                zztmp =     gdept_n(ji,jj,iid  )   &                     ! linear interpolation 
    277336                  &  + (    gdept_n(ji,jj,iid+1) - gdept_n(ji,jj,iid)                       )   & 
    278337                  &  * ( 20.*tmask(ji,jj,iid+1) - tsn(ji,jj,iid,jp_tem)                       )   & 
    279338                  &  / ( tsn(ji,jj,iid+1,jp_tem) - tsn(ji,jj,iid,jp_tem) + (1.-tmask(ji,jj,1)) ) 
    280                hd20(ji,jj) = MIN( zztmp , zzdep) * tmask(ji,jj,1)       ! bound by the ocean depth 
     339               pdept(ji,jj) = MIN( zztmp , zzdep) * tmask(ji,jj,1)       ! bound by the ocean depth 
    281340            ELSE  
    282                hd20(ji,jj) = 0._wp 
     341               pdept(ji,jj) = 0._wp 
    283342            ENDIF 
    284             ! 
    285             iid = ik28(ji,jj) 
    286             IF( iid /= 1 ) THEN  
    287                zztmp =      gdept_n(ji,jj,iid  )   &                     ! linear interpolation 
    288                   &  + (    gdept_n(ji,jj,iid+1) - gdept_n(ji,jj,iid)                       )   & 
    289                   &  * ( 28.*tmask(ji,jj,iid+1) -    tsn(ji,jj,iid,jp_tem)                       )   & 
    290                   &  / (  tsn(ji,jj,iid+1,jp_tem) -    tsn(ji,jj,iid,jp_tem) + (1.-tmask(ji,jj,1)) ) 
    291                hd28(ji,jj) = MIN( zztmp , zzdep ) * tmask(ji,jj,1)      ! bound by the ocean depth 
    292             ELSE  
    293                hd28(ji,jj) = 0._wp 
    294             ENDIF 
    295  
    296343         END DO 
    297344      END DO 
    298       CALL iom_put( "20d", hd20 )   ! depth of the 20 isotherm 
    299       CALL iom_put( "28d", hd28 )   ! depth of the 28 isotherm 
    300  
    301       ! ----------------------------- ! 
    302       !  Heat content of first 300 m  ! 
    303       ! ----------------------------- ! 
    304  
    305       ! find ilevel with (ilevel+1) the deepest W-level above 300m (we assume we can use e3t_1d to do this search...) 
    306       ilevel   = 0 
    307       zthick_0 = 0._wp 
    308       DO jk = 1, jpkm1                       
    309          zthick_0 = zthick_0 + e3t_1d(jk) 
    310          IF( zthick_0 < 300. )   ilevel = jk 
    311       END DO 
     345      ! 
     346   END SUBROUTINE dia_hth_dep 
     347 
     348 
     349   SUBROUTINE dia_hth_htc( pdep, ptn, phtc ) 
     350      ! 
     351      REAL(wp), INTENT(in) :: pdep     ! depth over the heat content 
     352      REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(in) :: ptn    
     353      REAL(wp), DIMENSION(jpi,jpj), INTENT(inout) :: phtc   
     354      ! 
     355      INTEGER  :: ji, jj, jk, ik 
     356      REAL(wp), DIMENSION(jpi,jpj) :: zthick 
     357      INTEGER , DIMENSION(jpi,jpj) :: ilevel 
     358 
     359 
    312360      ! surface boundary condition 
    313       IF( ln_linssh ) THEN   ;   zthick(:,:) = sshn(:,:)   ;   htc3(:,:) = tsn(:,:,1,jp_tem) * sshn(:,:) * tmask(:,:,1)   
    314       ELSE                   ;   zthick(:,:) = 0._wp       ;   htc3(:,:) = 0._wp                                    
     361       
     362      IF( .NOT. ln_linssh ) THEN   ;   zthick(:,:) = 0._wp       ;   phtc(:,:) = 0._wp                                    
     363      ELSE                         ;   zthick(:,:) = sshn(:,:)   ;   phtc(:,:) = ptn(:,:,1) * sshn(:,:) * tmask(:,:,1)    
    315364      ENDIF 
    316       ! integration down to ilevel 
    317       DO jk = 1, ilevel 
    318          zthick(:,:) = zthick(:,:) + e3t_n(:,:,jk) 
    319          htc3  (:,:) = htc3  (:,:) + e3t_n(:,:,jk) * tsn(:,:,jk,jp_tem) * tmask(:,:,jk) 
    320       END DO 
    321       ! deepest layer 
    322       zthick(:,:) = 300. - zthick(:,:)   !   remaining thickness to reach 300m 
     365      ! 
     366      ilevel(:,:) = 1 
     367      DO jk = 2, jpkm1 
     368         DO jj = 1, jpj 
     369            DO ji = 1, jpi 
     370               IF( ( gdept_n(ji,jj,jk) < pdep ) .AND. ( tmask(ji,jj,jk) == 1 ) ) THEN 
     371                   ilevel(ji,jj) = jk 
     372                   zthick(ji,jj) = zthick(ji,jj) + e3t_n(ji,jj,jk) 
     373                   phtc  (ji,jj) = phtc  (ji,jj) + e3t_n(ji,jj,jk) * ptn(ji,jj,jk) 
     374               ENDIF 
     375            ENDDO 
     376         ENDDO 
     377      ENDDO 
     378      ! 
    323379      DO jj = 1, jpj 
    324380         DO ji = 1, jpi 
    325             htc3(ji,jj) = htc3(ji,jj) + tsn(ji,jj,ilevel+1,jp_tem)                  & 
    326                &                      * MIN( e3t_n(ji,jj,ilevel+1), zthick(ji,jj) ) * tmask(ji,jj,ilevel+1) 
     381            ik = ilevel(ji,jj) 
     382            zthick(ji,jj) = pdep - zthick(ji,jj)   !   remaining thickness to reach depht pdep 
     383            phtc(ji,jj)   = phtc(ji,jj) + ptn(ji,jj,ik+1) * MIN( e3t_n(ji,jj,ik+1), zthick(ji,jj) ) & 
     384                                                          * tmask(ji,jj,ik+1) 
    327385         END DO 
    328       END DO 
    329       ! from temperature to heat contain 
    330       zcoef = rau0 * rcp 
    331       htc3(:,:) = zcoef * htc3(:,:) 
    332       CALL iom_put( "hc300", htc3 )      ! first 300m heat content 
    333       ! 
    334       IF( ln_timing )   CALL timing_stop('dia_hth') 
    335       ! 
    336    END SUBROUTINE dia_hth 
    337  
    338 #else 
    339    !!---------------------------------------------------------------------- 
    340    !!   Default option :                                       Empty module 
    341    !!---------------------------------------------------------------------- 
    342    LOGICAL , PUBLIC, PARAMETER ::   lk_diahth = .FALSE.  !: thermocline-20d depths flag 
    343 CONTAINS 
    344    SUBROUTINE dia_hth( kt )         ! Empty routine 
    345       IMPLICIT NONE 
    346       INTEGER, INTENT( in ) :: kt 
    347       WRITE(*,*) 'dia_hth: You should not have seen this print! error?', kt 
    348    END SUBROUTINE dia_hth 
    349 #endif 
     386      ENDDO 
     387      ! 
     388      ! 
     389   END SUBROUTINE dia_hth_htc 
    350390 
    351391   !!====================================================================== 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/OCE/DIA/diaptr.F90

    r12143 r12706  
    1010   !!            3.6  ! 2014-12  (C. Ethe) use of IOM 
    1111   !!            3.6  ! 2016-06  (T. Graham) Addition of diagnostics for CMIP6 
     12   !!            4.0  ! 2010-08  ( C. Ethe, J. Deshayes ) Improvment 
    1213   !!---------------------------------------------------------------------- 
    1314 
     
    4243 
    4344   !                                  !!** namelist  namptr  ** 
    44    REAL(wp), ALLOCATABLE, SAVE, PUBLIC, DIMENSION(:,:) ::   htr_adv, htr_ldf, htr_eiv   !: Heat TRansports (adv, diff, Bolus.) 
    45    REAL(wp), ALLOCATABLE, SAVE, PUBLIC, DIMENSION(:,:) ::   str_adv, str_ldf, str_eiv   !: Salt TRansports (adv, diff, Bolus.) 
    46    REAL(wp), ALLOCATABLE, SAVE, PUBLIC, DIMENSION(:,:) ::   htr_ove, str_ove   !: heat Salt TRansports ( overturn.) 
    47    REAL(wp), ALLOCATABLE, SAVE, PUBLIC, DIMENSION(:,:) ::   htr_btr, str_btr   !: heat Salt TRansports ( barotropic ) 
     45   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   hstr_adv, hstr_ldf, hstr_eiv   !: Heat/Salt TRansports(adv, diff, Bolus.) 
     46   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   hstr_ove, hstr_btr, hstr_vtr   !: heat Salt TRansports(overturn, baro, merional) 
    4847 
    4948   LOGICAL, PUBLIC ::   ln_diaptr   !  Poleward transport flag (T) or not (F) 
    5049   LOGICAL, PUBLIC ::   ln_subbas   !  Atlantic/Pacific/Indian basins calculation 
    51    INTEGER, PUBLIC ::   nptr        ! = 1 (l_subbas=F) or = 5 (glo, atl, pac, ind, ipc) (l_subbas=T)  
     50   INTEGER, PARAMETER, PUBLIC ::   nptr = 5  ! (glo, atl, pac, ind, ipc) 
    5251 
    5352   REAL(wp) ::   rc_sv    = 1.e-6_wp   ! conversion from m3/s to Sverdrup 
    5453   REAL(wp) ::   rc_pwatt = 1.e-15_wp  ! conversion from W    to PW (further x rau0 x Cp) 
    55    REAL(wp) ::   rc_ggram = 1.e-6_wp   ! conversion from g    to Pg 
    56  
    57    CHARACTER(len=3), ALLOCATABLE, SAVE, DIMENSION(:)     :: clsubb 
    58    REAL(wp),         ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: btmsk   ! T-point basin interior masks 
    59    REAL(wp),         ALLOCATABLE, SAVE, DIMENSION(:,:)   :: btm30   ! mask out Southern Ocean (=0 south of 30°S) 
    60  
    61    REAL(wp), TARGET, ALLOCATABLE, SAVE, DIMENSION(:)     :: p_fval1d 
    62    REAL(wp), TARGET, ALLOCATABLE, SAVE, DIMENSION(:,:)   :: p_fval2d 
     54   REAL(wp) ::   rc_ggram = 1.e-9_wp   ! conversion from g    to Gg  (further x rau0) 
     55 
     56   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: btmsk   ! T-point basin interior masks 
     57   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: btmsk34 ! mask out Southern Ocean (=0 south of 34°S) 
     58 
     59   REAL(wp), TARGET, ALLOCATABLE, SAVE, DIMENSION(:)   :: p_fval1d 
     60   REAL(wp), TARGET, ALLOCATABLE, SAVE, DIMENSION(:,:) :: p_fval2d 
    6361 
    6462   !! * Substitutions 
     
    8078      REAL(wp) ::   zsfc,zvfc               ! local scalar 
    8179      REAL(wp), DIMENSION(jpi,jpj)     ::  z2d   ! 2D workspace 
    82       REAL(wp), DIMENSION(jpi,jpj,jpk) ::  z3d   ! 3D workspace 
    8380      REAL(wp), DIMENSION(jpi,jpj,jpk) ::  zmask   ! 3D workspace 
     81      REAL(wp), DIMENSION(jpi,jpj,jpk) ::  z3d    ! 3D workspace 
    8482      REAL(wp), DIMENSION(jpi,jpj,jpk,jpts) ::  zts   ! 3D workspace 
    85       REAL(wp), DIMENSION(jpj)     ::  vsum   ! 1D workspace 
    86       REAL(wp), DIMENSION(jpj,jpts)     ::  tssum   ! 1D workspace 
    87   
     83      REAL(wp), DIMENSION(jpj)      ::  zvsum, ztsum, zssum   ! 1D workspace 
    8884      ! 
    8985      !overturning calculation 
    90       REAL(wp), DIMENSION(jpj,jpk,nptr) ::   sjk  , r1_sjk ! i-mean i-k-surface and its inverse 
    91       REAL(wp), DIMENSION(jpj,jpk,nptr) ::   v_msf, sn_jk  , tn_jk ! i-mean T and S, j-Stream-Function 
    92       REAL(wp), DIMENSION(jpi,jpj,jpk) ::  zvn   ! 3D workspace 
    93  
    94  
    95       CHARACTER( len = 12 )  :: cl1 
     86      REAL(wp), DIMENSION(jpj,jpk,nptr) :: sjk, r1_sjk, v_msf  ! i-mean i-k-surface and its inverse 
     87      REAL(wp), DIMENSION(jpj,jpk,nptr) :: zt_jk, zs_jk ! i-mean T and S, j-Stream-Function 
     88 
     89      REAL(wp), DIMENSION(jpi,jpj,jpk,nptr)  :: z4d1, z4d2 
     90      REAL(wp), DIMENSION(jpi,jpj,nptr)      :: z3dtr ! i-mean T and S, j-Stream-Function 
    9691      !!---------------------------------------------------------------------- 
    9792      ! 
    9893      IF( ln_timing )   CALL timing_start('dia_ptr') 
    99  
    10094      ! 
    10195      IF( PRESENT( pvtr ) ) THEN 
    102          IF( iom_use("zomsfglo") ) THEN    ! effective MSF 
    103             z3d(1,:,:) = ptr_sjk( pvtr(:,:,:) )  ! zonal cumulative effective transport 
    104             DO jk = 2, jpkm1  
    105               z3d(1,:,jk) = z3d(1,:,jk-1) + z3d(1,:,jk)   ! effective j-Stream-Function (MSF) 
     96         IF( iom_use( 'zomsf' ) ) THEN    ! effective MSF 
     97            DO jn = 1, nptr                                    ! by sub-basins 
     98               z4d1(1,:,:,jn) =  ptr_sjk( pvtr(:,:,:), btmsk34(:,:,jn) )  ! zonal cumulative effective transport excluding closed seas 
     99               DO jk = jpkm1, 1, -1  
     100                  z4d1(1,:,jk,jn) = z4d1(1,:,jk+1,jn) - z4d1(1,:,jk,jn)    ! effective j-Stream-Function (MSF) 
     101               END DO 
     102               DO ji = 1, jpi 
     103                  z4d1(ji,:,:,jn) = z4d1(1,:,:,jn) 
     104               ENDDO 
    106105            END DO 
    107             DO ji = 1, jpi 
    108                z3d(ji,:,:) = z3d(1,:,:) 
    109             ENDDO 
    110             cl1 = TRIM('zomsf'//clsubb(1) ) 
    111             CALL iom_put( cl1, z3d * rc_sv ) 
    112             DO jn = 2, nptr                                    ! by sub-basins 
    113                z3d(1,:,:) =  ptr_sjk( pvtr(:,:,:), btmsk(:,:,jn)*btm30(:,:) )  
    114                DO jk = 2, jpkm1  
    115                   z3d(1,:,jk) = z3d(1,:,jk-1) + z3d(1,:,jk)    ! effective j-Stream-Function (MSF) 
    116                END DO 
    117                DO ji = 1, jpi 
    118                   z3d(ji,:,:) = z3d(1,:,:) 
    119                ENDDO 
    120                cl1 = TRIM('zomsf'//clsubb(jn) ) 
    121                CALL iom_put( cl1, z3d * rc_sv ) 
    122             END DO 
    123          ENDIF 
    124          IF( iom_use("sopstove") .OR. iom_use("sophtove") .OR. iom_use("sopstbtr") .OR. iom_use("sophtbtr") ) THEN 
     106            CALL iom_put( 'zomsf', z4d1 * rc_sv ) 
     107         ENDIF 
     108         IF(  iom_use( 'sopstove' ) .OR. iom_use( 'sophtove' ) .OR.   & 
     109            & iom_use( 'sopstbtr' ) .OR. iom_use( 'sophtbtr' ) ) THEN 
    125110            ! define fields multiplied by scalar 
    126111            zmask(:,:,:) = 0._wp 
    127112            zts(:,:,:,:) = 0._wp 
    128             zvn(:,:,:) = 0._wp 
    129113            DO jk = 1, jpkm1 
    130114               DO jj = 1, jpjm1 
     
    134118                     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 
    135119                     zts(ji,jj,jk,jp_sal) = (tsn(ji,jj,jk,jp_sal)+tsn(ji,jj+1,jk,jp_sal)) * 0.5 * zvfc 
    136                      zvn(ji,jj,jk)        = vn(ji,jj,jk)         * zvfc 
    137120                  ENDDO 
    138121               ENDDO 
    139122             ENDDO 
    140123         ENDIF 
    141          IF( iom_use("sopstove") .OR. iom_use("sophtove") ) THEN 
    142              sjk(:,:,1) = ptr_sjk( zmask(:,:,:), btmsk(:,:,1) ) 
    143              r1_sjk(:,:,1) = 0._wp 
    144              WHERE( sjk(:,:,1) /= 0._wp )   r1_sjk(:,:,1) = 1._wp / sjk(:,:,1) 
    145  
    146              ! i-mean T and S, j-Stream-Function, global 
    147              tn_jk(:,:,1) = ptr_sjk( zts(:,:,:,jp_tem) ) * r1_sjk(:,:,1) 
    148              sn_jk(:,:,1) = ptr_sjk( zts(:,:,:,jp_sal) ) * r1_sjk(:,:,1) 
    149              v_msf(:,:,1) = ptr_sjk( zvn(:,:,:) ) 
    150  
    151              htr_ove(:,1) = SUM( v_msf(:,:,1)*tn_jk(:,:,1) ,2 ) 
    152              str_ove(:,1) = SUM( v_msf(:,:,1)*sn_jk(:,:,1) ,2 ) 
    153  
    154              z2d(1,:) = htr_ove(:,1) * rc_pwatt        !  (conversion in PW) 
    155              DO ji = 1, jpi 
    156                z2d(ji,:) = z2d(1,:) 
    157              ENDDO 
    158              cl1 = 'sophtove' 
    159              CALL iom_put( TRIM(cl1), z2d ) 
    160              z2d(1,:) = str_ove(:,1) * rc_ggram        !  (conversion in Gg) 
    161              DO ji = 1, jpi 
    162                z2d(ji,:) = z2d(1,:) 
    163              ENDDO 
    164              cl1 = 'sopstove' 
    165              CALL iom_put( TRIM(cl1), z2d ) 
    166              IF( ln_subbas ) THEN 
    167                 DO jn = 2, nptr 
    168                     sjk(:,:,jn) = ptr_sjk( zmask(:,:,:), btmsk(:,:,jn) ) 
    169                     r1_sjk(:,:,jn) = 0._wp 
    170                     WHERE( sjk(:,:,jn) /= 0._wp )   r1_sjk(:,:,jn) = 1._wp / sjk(:,:,jn) 
    171  
    172                     ! i-mean T and S, j-Stream-Function, basin 
    173                     tn_jk(:,:,jn) = ptr_sjk( zts(:,:,:,jp_tem), btmsk(:,:,jn) ) * r1_sjk(:,:,jn) 
    174                     sn_jk(:,:,jn) = ptr_sjk( zts(:,:,:,jp_sal), btmsk(:,:,jn) ) * r1_sjk(:,:,jn) 
    175                     v_msf(:,:,jn) = ptr_sjk( zvn(:,:,:), btmsk(:,:,jn) )  
    176                     htr_ove(:,jn) = SUM( v_msf(:,:,jn)*tn_jk(:,:,jn) ,2 ) 
    177                     str_ove(:,jn) = SUM( v_msf(:,:,jn)*sn_jk(:,:,jn) ,2 ) 
    178  
    179                     z2d(1,:) = htr_ove(:,jn) * rc_pwatt !  (conversion in PW) 
    180                     DO ji = 1, jpi 
    181                         z2d(ji,:) = z2d(1,:) 
    182                     ENDDO 
    183                     cl1 = TRIM('sophtove_'//clsubb(jn)) 
    184                     CALL iom_put( cl1, z2d ) 
    185                     z2d(1,:) = str_ove(:,jn) * rc_ggram        ! (conversion in Gg) 
    186                     DO ji = 1, jpi 
    187                         z2d(ji,:) = z2d(1,:) 
    188                     ENDDO 
    189                     cl1 = TRIM('sopstove_'//clsubb(jn)) 
    190                     CALL iom_put( cl1, z2d ) 
    191                 END DO 
    192              ENDIF 
    193          ENDIF 
    194          IF( iom_use("sopstbtr") .OR. iom_use("sophtbtr") ) THEN 
    195          ! Calculate barotropic heat and salt transport here  
    196              sjk(:,1,1) = ptr_sj( zmask(:,:,:), btmsk(:,:,1) ) 
    197              r1_sjk(:,1,1) = 0._wp 
    198              WHERE( sjk(:,1,1) /= 0._wp )   r1_sjk(:,1,1) = 1._wp / sjk(:,1,1) 
    199              
    200             vsum = ptr_sj( zvn(:,:,:), btmsk(:,:,1)) 
    201             tssum(:,jp_tem) = ptr_sj( zts(:,:,:,jp_tem), btmsk(:,:,1) ) 
    202             tssum(:,jp_sal) = ptr_sj( zts(:,:,:,jp_sal), btmsk(:,:,1) ) 
    203             htr_btr(:,1) = vsum * tssum(:,jp_tem) * r1_sjk(:,1,1) 
    204             str_btr(:,1) = vsum * tssum(:,jp_sal) * r1_sjk(:,1,1) 
    205             z2d(1,:) = htr_btr(:,1) * rc_pwatt        !  (conversion in PW) 
    206             DO ji = 2, jpi 
    207                z2d(ji,:) = z2d(1,:) 
    208             ENDDO 
    209             cl1 = 'sophtbtr' 
    210             CALL iom_put( TRIM(cl1), z2d ) 
    211             z2d(1,:) = str_btr(:,1) * rc_ggram        !  (conversion in Gg) 
    212             DO ji = 2, jpi 
    213               z2d(ji,:) = z2d(1,:) 
    214             ENDDO 
    215             cl1 = 'sopstbtr' 
    216             CALL iom_put( TRIM(cl1), z2d ) 
    217             IF( ln_subbas ) THEN 
    218                 DO jn = 2, nptr 
    219                     sjk(:,1,jn) = ptr_sj( zmask(:,:,:), btmsk(:,:,jn) ) 
    220                     r1_sjk(:,1,jn) = 0._wp 
    221                     WHERE( sjk(:,1,jn) /= 0._wp )   r1_sjk(:,1,jn) = 1._wp / sjk(:,1,jn) 
    222                     vsum = ptr_sj( zvn(:,:,:), btmsk(:,:,jn)) 
    223                     tssum(:,jp_tem) = ptr_sj( zts(:,:,:,jp_tem), btmsk(:,:,jn) ) 
    224                     tssum(:,jp_sal) = ptr_sj( zts(:,:,:,jp_sal), btmsk(:,:,jn) ) 
    225                     htr_btr(:,jn) = vsum * tssum(:,jp_tem) * r1_sjk(:,1,jn) 
    226                     str_btr(:,jn) = vsum * tssum(:,jp_sal) * r1_sjk(:,1,jn) 
    227                     z2d(1,:) = htr_btr(:,jn) * rc_pwatt !  (conversion in PW) 
    228                     DO ji = 1, jpi 
    229                         z2d(ji,:) = z2d(1,:) 
    230                     ENDDO 
    231                     cl1 = TRIM('sophtbtr_'//clsubb(jn)) 
    232                     CALL iom_put( cl1, z2d ) 
    233                     z2d(1,:) = str_btr(:,jn) * rc_ggram        ! (conversion in Gg) 
    234                     DO ji = 1, jpi 
    235                         z2d(ji,:) = z2d(1,:) 
    236                     ENDDO 
    237                     cl1 = TRIM('sopstbtr_'//clsubb(jn)) 
    238                     CALL iom_put( cl1, z2d ) 
    239                ENDDO 
    240             ENDIF !ln_subbas 
    241          ENDIF !iom_use("sopstbtr....) 
     124         IF( iom_use( 'sopstove' ) .OR. iom_use( 'sophtove' ) ) THEN 
     125            DO jn = 1, nptr 
     126               sjk(:,:,jn) = ptr_sjk( zmask(:,:,:), btmsk(:,:,jn) ) 
     127               r1_sjk(:,:,jn) = 0._wp 
     128               WHERE( sjk(:,:,jn) /= 0._wp )   r1_sjk(:,:,jn) = 1._wp / sjk(:,:,jn) 
     129               ! i-mean T and S, j-Stream-Function, basin 
     130               zt_jk(:,:,jn) = ptr_sjk( zts(:,:,:,jp_tem), btmsk(:,:,jn) ) * r1_sjk(:,:,jn) 
     131               zs_jk(:,:,jn) = ptr_sjk( zts(:,:,:,jp_sal), btmsk(:,:,jn) ) * r1_sjk(:,:,jn) 
     132               v_msf(:,:,jn) = ptr_sjk( pvtr(:,:,:), btmsk34(:,:,jn) )  
     133               hstr_ove(:,jp_tem,jn) = SUM( v_msf(:,:,jn)*zt_jk(:,:,jn), 2 ) 
     134               hstr_ove(:,jp_sal,jn) = SUM( v_msf(:,:,jn)*zs_jk(:,:,jn), 2 ) 
     135               ! 
     136            ENDDO 
     137            DO jn = 1, nptr 
     138               z3dtr(1,:,jn) = hstr_ove(:,jp_tem,jn) * rc_pwatt  !  (conversion in PW) 
     139               DO ji = 1, jpi 
     140                  z3dtr(ji,:,jn) = z3dtr(1,:,jn) 
     141               ENDDO 
     142            ENDDO 
     143            CALL iom_put( 'sophtove', z3dtr ) 
     144            DO jn = 1, nptr 
     145               z3dtr(1,:,jn) = hstr_ove(:,jp_sal,jn) * rc_ggram !  (conversion in Gg) 
     146               DO ji = 1, jpi 
     147                  z3dtr(ji,:,jn) = z3dtr(1,:,jn) 
     148               ENDDO 
     149            ENDDO 
     150            CALL iom_put( 'sopstove', z3dtr ) 
     151         ENDIF 
     152 
     153         IF( iom_use( 'sopstbtr' ) .OR. iom_use( 'sophtbtr' ) ) THEN 
     154            ! Calculate barotropic heat and salt transport here  
     155            DO jn = 1, nptr 
     156               sjk(:,1,jn) = ptr_sj( zmask(:,:,:), btmsk(:,:,jn) ) 
     157               r1_sjk(:,1,jn) = 0._wp 
     158               WHERE( sjk(:,1,jn) /= 0._wp )   r1_sjk(:,1,jn) = 1._wp / sjk(:,1,jn) 
     159               ! 
     160               zvsum(:) = ptr_sj( pvtr(:,:,:), btmsk34(:,:,jn) ) 
     161               ztsum(:) = ptr_sj( zts(:,:,:,jp_tem), btmsk(:,:,jn) ) 
     162               zssum(:) = ptr_sj( zts(:,:,:,jp_sal), btmsk(:,:,jn) ) 
     163               hstr_btr(:,jp_tem,jn) = zvsum(:) * ztsum(:) * r1_sjk(:,1,jn) 
     164               hstr_btr(:,jp_sal,jn) = zvsum(:) * zssum(:) * r1_sjk(:,1,jn) 
     165               ! 
     166            ENDDO 
     167            DO jn = 1, nptr 
     168               z3dtr(1,:,jn) = hstr_btr(:,jp_tem,jn) * rc_pwatt  !  (conversion in PW) 
     169               DO ji = 1, jpi 
     170                  z3dtr(ji,:,jn) = z3dtr(1,:,jn) 
     171               ENDDO 
     172            ENDDO 
     173            CALL iom_put( 'sophtbtr', z3dtr ) 
     174            DO jn = 1, nptr 
     175               z3dtr(1,:,jn) = hstr_btr(:,jp_sal,jn) * rc_ggram !  (conversion in Gg) 
     176               DO ji = 1, jpi 
     177                  z3dtr(ji,:,jn) = z3dtr(1,:,jn) 
     178               ENDDO 
     179            ENDDO 
     180            CALL iom_put( 'sopstbtr', z3dtr ) 
     181         ENDIF  
    242182         ! 
    243183      ELSE 
    244184         ! 
    245          IF( iom_use("zotemglo") ) THEN    ! i-mean i-k-surface  
     185         zmask(:,:,:) = 0._wp 
     186         zts(:,:,:,:) = 0._wp 
     187         IF( iom_use( 'zotem' ) .OR. iom_use( 'zosal' ) .OR. iom_use( 'zosrf' )  ) THEN    ! i-mean i-k-surface  
    246188            DO jk = 1, jpkm1 
    247189               DO jj = 1, jpj 
     
    254196               END DO 
    255197            END DO 
     198            ! 
    256199            DO jn = 1, nptr 
    257200               zmask(1,:,:) = ptr_sjk( zmask(:,:,:), btmsk(:,:,jn) ) 
    258                cl1 = TRIM('zosrf'//clsubb(jn) ) 
    259                CALL iom_put( cl1, zmask ) 
    260                ! 
    261                z3d(1,:,:) = ptr_sjk( zts(:,:,:,jp_tem), btmsk(:,:,jn) ) & 
    262                   &            / MAX( zmask(1,:,:), 10.e-15 ) 
    263                DO ji = 1, jpi 
    264                   z3d(ji,:,:) = z3d(1,:,:) 
    265                ENDDO 
    266                cl1 = TRIM('zotem'//clsubb(jn) ) 
    267                CALL iom_put( cl1, z3d ) 
    268                ! 
    269                z3d(1,:,:) = ptr_sjk( zts(:,:,:,jp_sal), btmsk(:,:,jn) ) & 
    270                   &            / MAX( zmask(1,:,:), 10.e-15 ) 
    271                DO ji = 1, jpi 
    272                   z3d(ji,:,:) = z3d(1,:,:) 
    273                ENDDO 
    274                cl1 = TRIM('zosal'//clsubb(jn) ) 
    275                CALL iom_put( cl1, z3d ) 
    276             END DO 
     201               z4d1(:,:,:,jn) = zmask(:,:,:) 
     202            ENDDO 
     203            CALL iom_put( 'zosrf', z4d1 ) 
     204            ! 
     205            DO jn = 1, nptr 
     206               z4d2(1,:,:,jn) = ptr_sjk( zts(:,:,:,jp_tem), btmsk(:,:,jn) ) & 
     207                  &            / MAX( z4d1(1,:,:,jn), 10.e-15 ) 
     208               DO ji = 1, jpi 
     209                  z4d2(ji,:,:,jn) = z4d2(1,:,:,jn) 
     210               ENDDO 
     211            ENDDO 
     212            CALL iom_put( 'zotem', z4d2 ) 
     213            ! 
     214            DO jn = 1, nptr 
     215               z4d2(1,:,:,jn) = ptr_sjk( zts(:,:,:,jp_sal), btmsk(:,:,jn) ) & 
     216                  &            / MAX( z4d1(1,:,:,jn), 10.e-15 ) 
     217               DO ji = 1, jpi 
     218                  z4d2(ji,:,:,jn) = z4d2(1,:,:,jn) 
     219               ENDDO 
     220            ENDDO 
     221            CALL iom_put( 'zosal', z4d2 ) 
     222            ! 
    277223         ENDIF 
    278224         ! 
    279225         !                                ! Advective and diffusive heat and salt transport 
    280          IF( iom_use("sophtadv") .OR. iom_use("sopstadv") ) THEN    
    281             z2d(1,:) = htr_adv(:,1) * rc_pwatt        !  (conversion in PW) 
    282             DO ji = 1, jpi 
    283                z2d(ji,:) = z2d(1,:) 
    284             ENDDO 
    285             cl1 = 'sophtadv'                  
    286             CALL iom_put( TRIM(cl1), z2d ) 
    287             z2d(1,:) = str_adv(:,1) * rc_ggram        ! (conversion in Gg) 
    288             DO ji = 1, jpi 
    289                z2d(ji,:) = z2d(1,:) 
    290             ENDDO 
    291             cl1 = 'sopstadv' 
    292             CALL iom_put( TRIM(cl1), z2d ) 
    293             IF( ln_subbas ) THEN 
    294               DO jn=2,nptr 
    295                z2d(1,:) = htr_adv(:,jn) * rc_pwatt        !  (conversion in PW) 
    296                DO ji = 1, jpi 
    297                  z2d(ji,:) = z2d(1,:) 
    298                ENDDO 
    299                cl1 = TRIM('sophtadv_'//clsubb(jn))                  
    300                CALL iom_put( cl1, z2d ) 
    301                z2d(1,:) = str_adv(:,jn) * rc_ggram        ! (conversion in Gg) 
    302                DO ji = 1, jpi 
    303                   z2d(ji,:) = z2d(1,:) 
    304                ENDDO 
    305                cl1 = TRIM('sopstadv_'//clsubb(jn))                  
    306                CALL iom_put( cl1, z2d )               
    307               ENDDO 
    308             ENDIF 
    309          ENDIF 
    310          ! 
    311          IF( iom_use("sophtldf") .OR. iom_use("sopstldf") ) THEN    
    312             z2d(1,:) = htr_ldf(:,1) * rc_pwatt        !  (conversion in PW)  
    313             DO ji = 1, jpi 
    314                z2d(ji,:) = z2d(1,:) 
    315             ENDDO 
    316             cl1 = 'sophtldf' 
    317             CALL iom_put( TRIM(cl1), z2d ) 
    318             z2d(1,:) = str_ldf(:,1) * rc_ggram        !  (conversion in Gg) 
    319             DO ji = 1, jpi 
    320                z2d(ji,:) = z2d(1,:) 
    321             ENDDO 
    322             cl1 = 'sopstldf' 
    323             CALL iom_put( TRIM(cl1), z2d ) 
    324             IF( ln_subbas ) THEN 
    325               DO jn=2,nptr 
    326                z2d(1,:) = htr_ldf(:,jn) * rc_pwatt        !  (conversion in PW) 
    327                DO ji = 1, jpi 
    328                  z2d(ji,:) = z2d(1,:) 
    329                ENDDO 
    330                cl1 = TRIM('sophtldf_'//clsubb(jn))                  
    331                CALL iom_put( cl1, z2d ) 
    332                z2d(1,:) = str_ldf(:,jn) * rc_ggram        ! (conversion in Gg) 
    333                DO ji = 1, jpi 
    334                   z2d(ji,:) = z2d(1,:) 
    335                ENDDO 
    336                cl1 = TRIM('sopstldf_'//clsubb(jn))                  
    337                CALL iom_put( cl1, z2d )               
    338               ENDDO 
    339             ENDIF 
    340          ENDIF 
    341  
    342          IF( iom_use("sophteiv") .OR. iom_use("sopsteiv") ) THEN  
    343             z2d(1,:) = htr_eiv(:,1) * rc_pwatt        !  (conversion in PW)  
    344             DO ji = 1, jpi 
    345                z2d(ji,:) = z2d(1,:) 
    346             ENDDO 
    347             cl1 = 'sophteiv' 
    348             CALL iom_put( TRIM(cl1), z2d ) 
    349             z2d(1,:) = str_eiv(:,1) * rc_ggram        !  (conversion in Gg) 
    350             DO ji = 1, jpi 
    351                z2d(ji,:) = z2d(1,:) 
    352             ENDDO 
    353             cl1 = 'sopsteiv' 
    354             CALL iom_put( TRIM(cl1), z2d ) 
    355             IF( ln_subbas ) THEN 
    356                DO jn=2,nptr 
    357                   z2d(1,:) = htr_eiv(:,jn) * rc_pwatt        !  (conversion in PW) 
     226         IF( iom_use( 'sophtadv' ) .OR. iom_use( 'sopstadv' ) ) THEN   
     227            !  
     228            DO jn = 1, nptr 
     229               z3dtr(1,:,jn) = hstr_adv(:,jp_tem,jn) * rc_pwatt  !  (conversion in PW) 
     230               DO ji = 1, jpi 
     231                  z3dtr(ji,:,jn) = z3dtr(1,:,jn) 
     232               ENDDO 
     233            ENDDO 
     234            CALL iom_put( 'sophtadv', z3dtr ) 
     235            DO jn = 1, nptr 
     236               z3dtr(1,:,jn) = hstr_adv(:,jp_sal,jn) * rc_ggram !  (conversion in Gg) 
     237               DO ji = 1, jpi 
     238                  z3dtr(ji,:,jn) = z3dtr(1,:,jn) 
     239               ENDDO 
     240            ENDDO 
     241            CALL iom_put( 'sopstadv', z3dtr ) 
     242         ENDIF 
     243         ! 
     244         IF( iom_use( 'sophtldf' ) .OR. iom_use( 'sopstldf' ) ) THEN   
     245            !  
     246            DO jn = 1, nptr 
     247               z3dtr(1,:,jn) = hstr_ldf(:,jp_tem,jn) * rc_pwatt  !  (conversion in PW) 
     248               DO ji = 1, jpi 
     249                  z3dtr(ji,:,jn) = z3dtr(1,:,jn) 
     250               ENDDO 
     251            ENDDO 
     252            CALL iom_put( 'sophtldf', z3dtr ) 
     253            DO jn = 1, nptr 
     254               z3dtr(1,:,jn) = hstr_ldf(:,jp_sal,jn) * rc_ggram !  (conversion in Gg) 
     255               DO ji = 1, jpi 
     256                  z3dtr(ji,:,jn) = z3dtr(1,:,jn) 
     257               ENDDO 
     258            ENDDO 
     259            CALL iom_put( 'sopstldf', z3dtr ) 
     260         ENDIF 
     261         ! 
     262         IF( iom_use( 'sophteiv' ) .OR. iom_use( 'sopsteiv' ) ) THEN   
     263            !  
     264            DO jn = 1, nptr 
     265               z3dtr(1,:,jn) = hstr_eiv(:,jp_tem,jn) * rc_pwatt  !  (conversion in PW) 
     266               DO ji = 1, jpi 
     267                  z3dtr(ji,:,jn) = z3dtr(1,:,jn) 
     268               ENDDO 
     269            ENDDO 
     270            CALL iom_put( 'sophteiv', z3dtr ) 
     271            DO jn = 1, nptr 
     272               z3dtr(1,:,jn) = hstr_eiv(:,jp_sal,jn) * rc_ggram !  (conversion in Gg) 
     273               DO ji = 1, jpi 
     274                  z3dtr(ji,:,jn) = z3dtr(1,:,jn) 
     275               ENDDO 
     276            ENDDO 
     277            CALL iom_put( 'sopsteiv', z3dtr ) 
     278         ENDIF 
     279         ! 
     280         IF( iom_use( 'sopstvtr' ) .OR. iom_use( 'sophtvtr' ) ) THEN 
     281            zts(:,:,:,:) = 0._wp 
     282            DO jk = 1, jpkm1 
     283               DO jj = 1, jpjm1 
    358284                  DO ji = 1, jpi 
    359                      z2d(ji,:) = z2d(1,:) 
     285                     zvfc = e1v(ji,jj) * e3v_n(ji,jj,jk) 
     286                     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 
     287                     zts(ji,jj,jk,jp_sal) = (tsn(ji,jj,jk,jp_sal)+tsn(ji,jj+1,jk,jp_sal)) * 0.5 * zvfc 
    360288                  ENDDO 
    361                   cl1 = TRIM('sophteiv_'//clsubb(jn))                  
    362                   CALL iom_put( cl1, z2d ) 
    363                   z2d(1,:) = str_eiv(:,jn) * rc_ggram        ! (conversion in Gg) 
    364                   DO ji = 1, jpi 
    365                      z2d(ji,:) = z2d(1,:) 
    366                   ENDDO 
    367                   cl1 = TRIM('sopsteiv_'//clsubb(jn))  
    368                   CALL iom_put( cl1, z2d )               
    369                ENDDO 
    370             ENDIF 
     289               ENDDO 
     290             ENDDO 
     291             CALL dia_ptr_hst( jp_tem, 'vtr', zts(:,:,:,jp_tem) ) 
     292             CALL dia_ptr_hst( jp_sal, 'vtr', zts(:,:,:,jp_sal) ) 
     293             DO jn = 1, nptr 
     294                z3dtr(1,:,jn) = hstr_vtr(:,jp_tem,jn) * rc_pwatt  !  (conversion in PW) 
     295                DO ji = 1, jpi 
     296                   z3dtr(ji,:,jn) = z3dtr(1,:,jn) 
     297                ENDDO 
     298             ENDDO 
     299             CALL iom_put( 'sophtvtr', z3dtr ) 
     300             DO jn = 1, nptr 
     301               z3dtr(1,:,jn) = hstr_vtr(:,jp_sal,jn) * rc_ggram !  (conversion in Gg) 
     302               DO ji = 1, jpi 
     303                  z3dtr(ji,:,jn) = z3dtr(1,:,jn) 
     304               ENDDO 
     305            ENDDO 
     306            CALL iom_put( 'sopstvtr', z3dtr ) 
     307         ENDIF 
     308         ! 
     309         IF( iom_use( 'uocetr_vsum_cumul' ) ) THEN 
     310            CALL iom_get_var(  'uocetr_vsum_op', z2d ) ! get uocetr_vsum_op from xml 
     311            z2d(:,:) = ptr_ci_2d( z2d(:,:) )   
     312            CALL iom_put( 'uocetr_vsum_cumul', z2d ) 
    371313         ENDIF 
    372314         ! 
     
    384326      !! ** Purpose :   Initialization, namelist read 
    385327      !!---------------------------------------------------------------------- 
    386       INTEGER ::  jn           ! local integers 
    387       INTEGER ::  inum, ierr   ! local integers 
    388       INTEGER ::  ios          ! Local integer output status for namelist read 
     328      INTEGER ::  inum, jn, ios, ierr           ! local integers 
    389329      !! 
    390330      NAMELIST/namptr/ ln_diaptr, ln_subbas 
    391       !!---------------------------------------------------------------------- 
     331      REAL(wp), DIMENSION(jpi,jpj) :: zmsk 
     332      !!---------------------------------------------------------------------- 
     333 
    392334 
    393335      REWIND( numnam_ref )              ! Namelist namptr in reference namelist : Poleward transport 
     
    397339      REWIND( numnam_cfg )              ! Namelist namptr in configuration namelist : Poleward transport 
    398340      READ  ( numnam_cfg, namptr, IOSTAT = ios, ERR = 902 ) 
    399 902   IF( ios > 0 ) CALL ctl_nam ( ios , 'namptr in configuration namelist' ) 
     341902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namptr in configuration namelist' ) 
    400342      IF(lwm) WRITE ( numond, namptr ) 
    401343 
     
    406348         WRITE(numout,*) '   Namelist namptr : set ptr parameters' 
    407349         WRITE(numout,*) '      Poleward heat & salt transport (T) or not (F)      ln_diaptr  = ', ln_diaptr 
    408          WRITE(numout,*) '      Global (F) or glo/Atl/Pac/Ind/Indo-Pac basins      ln_subbas  = ', ln_subbas 
    409350      ENDIF 
    410351 
    411352      IF( ln_diaptr ) THEN   
    412353         ! 
    413          IF( ln_subbas ) THEN  
    414             nptr = 5            ! Global, Atlantic, Pacific, Indian, Indo-Pacific 
    415             ALLOCATE( clsubb(nptr) ) 
    416             clsubb(1) = 'glo' ;  clsubb(2) = 'atl'  ;  clsubb(3) = 'pac'  ;  clsubb(4) = 'ind'  ;  clsubb(5) = 'ipc' 
    417          ELSE                
    418             nptr = 1       ! Global only 
    419             ALLOCATE( clsubb(nptr) ) 
    420             clsubb(1) = 'glo'  
    421          ENDIF 
    422  
    423          !                                      ! allocate dia_ptr arrays 
    424354         IF( dia_ptr_alloc() /= 0 )   CALL ctl_stop( 'STOP', 'dia_ptr_init : unable to allocate arrays' ) 
    425355 
    426356         rc_pwatt = rc_pwatt * rau0_rcp          ! conversion from K.s-1 to PetaWatt 
     357         rc_ggram = rc_ggram * rau0              ! conversion from m3/s to Gg/s 
    427358 
    428359         IF( lk_mpp )   CALL mpp_ini_znl( numout )     ! Define MPI communicator for zonal sum 
    429360 
    430          IF( ln_subbas ) THEN                ! load sub-basin mask 
    431             CALL iom_open( 'subbasins', inum,  ldstop = .FALSE.  ) 
    432             CALL iom_get( inum, jpdom_data, 'atlmsk', btmsk(:,:,2) )   ! Atlantic basin 
    433             CALL iom_get( inum, jpdom_data, 'pacmsk', btmsk(:,:,3) )   ! Pacific  basin 
    434             CALL iom_get( inum, jpdom_data, 'indmsk', btmsk(:,:,4) )   ! Indian   basin 
    435             CALL iom_close( inum ) 
    436             btmsk(:,:,5) = MAX ( btmsk(:,:,3), btmsk(:,:,4) )          ! Indo-Pacific basin 
    437             WHERE( gphit(:,:) < -30._wp)   ;   btm30(:,:) = 0._wp      ! mask out Southern Ocean 
    438             ELSE WHERE                     ;   btm30(:,:) = ssmask(:,:) 
    439             END WHERE 
    440          ENDIF 
    441     
    442          btmsk(:,:,1) = tmask_i(:,:)                                   ! global ocean 
    443        
    444          DO jn = 1, nptr 
     361         btmsk(:,:,1) = tmask_i(:,:)                  
     362         CALL iom_open( 'subbasins', inum,  ldstop = .FALSE.  ) 
     363         CALL iom_get( inum, jpdom_data, 'atlmsk', btmsk(:,:,2) )   ! Atlantic basin 
     364         CALL iom_get( inum, jpdom_data, 'pacmsk', btmsk(:,:,3) )   ! Pacific  basin 
     365         CALL iom_get( inum, jpdom_data, 'indmsk', btmsk(:,:,4) )   ! Indian   basin 
     366         CALL iom_close( inum ) 
     367         btmsk(:,:,5) = MAX ( btmsk(:,:,3), btmsk(:,:,4) )          ! Indo-Pacific basin 
     368         DO jn = 2, nptr 
    445369            btmsk(:,:,jn) = btmsk(:,:,jn) * tmask_i(:,:)               ! interior domain only 
    446370         END DO 
     371         ! JD : modification so that overturning streamfunction is available in Atlantic at 34S to compare with observations 
     372         WHERE( gphit(:,:)*tmask_i(:,:) < -34._wp) 
     373           zmsk(:,:) = 0._wp      ! mask out Southern Ocean 
     374         ELSE WHERE                   
     375           zmsk(:,:) = ssmask(:,:) 
     376         END WHERE 
     377         btmsk34(:,:,1) = btmsk(:,:,1)                  
     378         DO jn = 2, nptr 
     379            btmsk34(:,:,jn) = btmsk(:,:,jn) * zmsk(:,:)               ! interior domain only 
     380         ENDDO 
    447381 
    448382         ! Initialise arrays to zero because diatpr is called before they are first calculated 
    449383         ! Note that this means diagnostics will not be exactly correct when model run is restarted. 
    450          htr_adv(:,:) = 0._wp  ;  str_adv(:,:) =  0._wp  
    451          htr_ldf(:,:) = 0._wp  ;  str_ldf(:,:) =  0._wp  
    452          htr_eiv(:,:) = 0._wp  ;  str_eiv(:,:) =  0._wp  
    453          htr_ove(:,:) = 0._wp  ;   str_ove(:,:) =  0._wp 
    454          htr_btr(:,:) = 0._wp  ;   str_btr(:,:) =  0._wp 
     384         hstr_adv(:,:,:) = 0._wp            
     385         hstr_ldf(:,:,:) = 0._wp            
     386         hstr_eiv(:,:,:) = 0._wp            
     387         hstr_ove(:,:,:) = 0._wp            
     388         hstr_btr(:,:,:) = 0._wp           ! 
     389         hstr_vtr(:,:,:) = 0._wp           ! 
    455390         ! 
    456391      ENDIF  
     
    471406      INTEGER                                        :: jn    ! 
    472407 
     408      ! 
    473409      IF( cptr == 'adv' ) THEN 
    474          IF( ktra == jp_tem )  htr_adv(:,1) = ptr_sj( pva(:,:,:) ) 
    475          IF( ktra == jp_sal )  str_adv(:,1) = ptr_sj( pva(:,:,:) ) 
     410         IF( ktra == jp_tem )  THEN 
     411             DO jn = 1, nptr 
     412                hstr_adv(:,jp_tem,jn) = ptr_sj( pva(:,:,:), btmsk(:,:,jn) ) 
     413             ENDDO 
     414         ENDIF 
     415         IF( ktra == jp_sal )  THEN 
     416             DO jn = 1, nptr 
     417                hstr_adv(:,jp_sal,jn) = ptr_sj( pva(:,:,:), btmsk(:,:,jn) ) 
     418             ENDDO 
     419         ENDIF 
    476420      ENDIF 
     421      ! 
    477422      IF( cptr == 'ldf' ) THEN 
    478          IF( ktra == jp_tem )  htr_ldf(:,1) = ptr_sj( pva(:,:,:) ) 
    479          IF( ktra == jp_sal )  str_ldf(:,1) = ptr_sj( pva(:,:,:) ) 
     423         IF( ktra == jp_tem )  THEN 
     424             DO jn = 1, nptr 
     425                hstr_ldf(:,jp_tem,jn) = ptr_sj( pva(:,:,:), btmsk(:,:,jn) ) 
     426             ENDDO 
     427         ENDIF 
     428         IF( ktra == jp_sal )  THEN 
     429             DO jn = 1, nptr 
     430                hstr_ldf(:,jp_sal,jn) = ptr_sj( pva(:,:,:), btmsk(:,:,jn) ) 
     431             ENDDO 
     432         ENDIF 
    480433      ENDIF 
     434      ! 
    481435      IF( cptr == 'eiv' ) THEN 
    482          IF( ktra == jp_tem )  htr_eiv(:,1) = ptr_sj( pva(:,:,:) ) 
    483          IF( ktra == jp_sal )  str_eiv(:,1) = ptr_sj( pva(:,:,:) ) 
     436         IF( ktra == jp_tem )  THEN 
     437             DO jn = 1, nptr 
     438                hstr_eiv(:,jp_tem,jn) = ptr_sj( pva(:,:,:), btmsk(:,:,jn) ) 
     439             ENDDO 
     440         ENDIF 
     441         IF( ktra == jp_sal )  THEN 
     442             DO jn = 1, nptr 
     443                hstr_eiv(:,jp_sal,jn) = ptr_sj( pva(:,:,:), btmsk(:,:,jn) ) 
     444             ENDDO 
     445         ENDIF 
    484446      ENDIF 
    485447      ! 
    486       IF( ln_subbas ) THEN 
    487          ! 
    488          IF( cptr == 'adv' ) THEN 
    489              IF( ktra == jp_tem ) THEN  
    490                 DO jn = 2, nptr 
    491                    htr_adv(:,jn) = ptr_sj( pva(:,:,:), btmsk(:,:,jn) ) 
    492                 END DO 
    493              ENDIF 
    494              IF( ktra == jp_sal ) THEN  
    495                 DO jn = 2, nptr 
    496                    str_adv(:,jn) = ptr_sj( pva(:,:,:), btmsk(:,:,jn) ) 
    497                 END DO 
    498              ENDIF 
    499          ENDIF 
    500          IF( cptr == 'ldf' ) THEN 
    501              IF( ktra == jp_tem ) THEN  
    502                 DO jn = 2, nptr 
    503                     htr_ldf(:,jn) = ptr_sj( pva(:,:,:), btmsk(:,:,jn) ) 
    504                  END DO 
    505              ENDIF 
    506              IF( ktra == jp_sal ) THEN  
    507                 DO jn = 2, nptr 
    508                    str_ldf(:,jn) = ptr_sj( pva(:,:,:), btmsk(:,:,jn) ) 
    509                 END DO 
    510              ENDIF 
    511          ENDIF 
    512          IF( cptr == 'eiv' ) THEN 
    513              IF( ktra == jp_tem ) THEN  
    514                 DO jn = 2, nptr 
    515                     htr_eiv(:,jn) = ptr_sj( pva(:,:,:), btmsk(:,:,jn) ) 
    516                  END DO 
    517              ENDIF 
    518              IF( ktra == jp_sal ) THEN  
    519                 DO jn = 2, nptr 
    520                    str_eiv(:,jn) = ptr_sj( pva(:,:,:), btmsk(:,:,jn) ) 
    521                 END DO 
    522              ENDIF 
    523          ENDIF 
    524          ! 
     448      IF( cptr == 'vtr' ) THEN 
     449         IF( ktra == jp_tem )  THEN 
     450             DO jn = 1, nptr 
     451                hstr_vtr(:,jp_tem,jn) = ptr_sj( pva(:,:,:), btmsk(:,:,jn) ) 
     452             ENDDO 
     453         ENDIF 
     454         IF( ktra == jp_sal )  THEN 
     455             DO jn = 1, nptr 
     456                hstr_vtr(:,jp_sal,jn) = ptr_sj( pva(:,:,:), btmsk(:,:,jn) ) 
     457             ENDDO 
     458         ENDIF 
    525459      ENDIF 
     460      ! 
    526461   END SUBROUTINE dia_ptr_hst 
    527462 
     
    536471      ierr(:) = 0 
    537472      ! 
    538       ALLOCATE( btmsk(jpi,jpj,nptr) ,              & 
    539          &      htr_adv(jpj,nptr) , str_adv(jpj,nptr) ,   & 
    540          &      htr_eiv(jpj,nptr) , str_eiv(jpj,nptr) ,   & 
    541          &      htr_ove(jpj,nptr) , str_ove(jpj,nptr) ,   & 
    542          &      htr_btr(jpj,nptr) , str_btr(jpj,nptr) ,   & 
    543          &      htr_ldf(jpj,nptr) , str_ldf(jpj,nptr) , STAT=ierr(1)  ) 
    544          ! 
    545       ALLOCATE( p_fval1d(jpj), p_fval2d(jpj,jpk), Stat=ierr(2)) 
    546       ! 
    547       ALLOCATE( btm30(jpi,jpj), STAT=ierr(3)  ) 
    548  
    549          ! 
    550       dia_ptr_alloc = MAXVAL( ierr ) 
    551       CALL mpp_sum( 'diaptr', dia_ptr_alloc ) 
     473      IF( .NOT. ALLOCATED( btmsk ) ) THEN 
     474         ALLOCATE( btmsk(jpi,jpj,nptr)    , btmsk34(jpi,jpj,nptr),   & 
     475            &      hstr_adv(jpj,jpts,nptr), hstr_eiv(jpj,jpts,nptr), & 
     476            &      hstr_ove(jpj,jpts,nptr), hstr_btr(jpj,jpts,nptr), & 
     477            &      hstr_ldf(jpj,jpts,nptr), hstr_vtr(jpj,jpts,nptr), STAT=ierr(1)  ) 
     478            ! 
     479         ALLOCATE( p_fval1d(jpj), p_fval2d(jpj,jpk), Stat=ierr(2)) 
     480         ! 
     481         dia_ptr_alloc = MAXVAL( ierr ) 
     482         CALL mpp_sum( 'diaptr', dia_ptr_alloc ) 
     483      ENDIF 
    552484      ! 
    553485   END FUNCTION dia_ptr_alloc 
     
    565497      !! ** Action  : - p_fval: i-k-mean poleward flux of pva 
    566498      !!---------------------------------------------------------------------- 
    567       REAL(wp), INTENT(in), DIMENSION(jpi,jpj,jpk)       ::   pva   ! mask flux array at V-point 
    568       REAL(wp), INTENT(in), DIMENSION(jpi,jpj), OPTIONAL ::   pmsk   ! Optional 2D basin mask 
     499      REAL(wp), INTENT(in), DIMENSION(jpi,jpj,jpk)  ::   pva   ! mask flux array at V-point 
     500      REAL(wp), INTENT(in), DIMENSION(jpi,jpj)      ::   pmsk   ! Optional 2D basin mask 
    569501      ! 
    570502      INTEGER                  ::   ji, jj, jk   ! dummy loop arguments 
     
    577509      ijpj = jpj 
    578510      p_fval(:) = 0._wp 
    579       IF( PRESENT( pmsk ) ) THEN  
    580          DO jk = 1, jpkm1 
    581             DO jj = 2, jpjm1 
    582                DO ji = fs_2, fs_jpim1   ! Vector opt. 
    583                   p_fval(jj) = p_fval(jj) + pva(ji,jj,jk) * tmask_i(ji,jj) * pmsk(ji,jj) 
    584                END DO 
     511      DO jk = 1, jpkm1 
     512         DO jj = 2, jpjm1 
     513            DO ji = fs_2, fs_jpim1   ! Vector opt. 
     514               p_fval(jj) = p_fval(jj) + pva(ji,jj,jk) * pmsk(ji,jj) * tmask_i(ji,jj) 
    585515            END DO 
    586516         END DO 
    587       ELSE 
    588          DO jk = 1, jpkm1 
    589             DO jj = 2, jpjm1 
    590                DO ji = fs_2, fs_jpim1   ! Vector opt. 
    591                   p_fval(jj) = p_fval(jj) + pva(ji,jj,jk) * tmask_i(ji,jj)  
    592                END DO 
    593             END DO 
    594          END DO 
    595       ENDIF 
     517      END DO 
    596518#if defined key_mpp_mpi 
    597519      CALL mpp_sum( 'diaptr', p_fval, ijpj, ncomm_znl) 
     
    612534      !! ** Action  : - p_fval: i-k-mean poleward flux of pva 
    613535      !!---------------------------------------------------------------------- 
    614       REAL(wp) , INTENT(in), DIMENSION(jpi,jpj)           ::   pva   ! mask flux array at V-point 
    615       REAL(wp) , INTENT(in), DIMENSION(jpi,jpj), OPTIONAL ::   pmsk   ! Optional 2D basin mask 
     536      REAL(wp) , INTENT(in), DIMENSION(jpi,jpj) ::   pva   ! mask flux array at V-point 
     537      REAL(wp) , INTENT(in), DIMENSION(jpi,jpj) ::   pmsk   ! Optional 2D basin mask 
    616538      ! 
    617539      INTEGER                  ::   ji,jj       ! dummy loop arguments 
     
    624546      ijpj = jpj 
    625547      p_fval(:) = 0._wp 
    626       IF( PRESENT( pmsk ) ) THEN  
    627          DO jj = 2, jpjm1 
    628             DO ji = nldi, nlei   ! No vector optimisation here. Better use a mask ? 
    629                p_fval(jj) = p_fval(jj) + pva(ji,jj) * tmask_i(ji,jj) * pmsk(ji,jj) 
    630             END DO 
     548      DO jj = 2, jpjm1 
     549         DO ji = fs_2, fs_jpim1   ! Vector opt. 
     550            p_fval(jj) = p_fval(jj) + pva(ji,jj) * pmsk(ji,jj) * tmask_i(ji,jj) 
    631551         END DO 
    632       ELSE 
    633          DO jj = 2, jpjm1 
    634             DO ji = nldi, nlei   ! No vector optimisation here. Better use a mask ? 
    635                p_fval(jj) = p_fval(jj) + pva(ji,jj) * tmask_i(ji,jj) 
    636             END DO 
    637          END DO 
    638       ENDIF 
     552      END DO 
    639553#if defined key_mpp_mpi 
    640554      CALL mpp_sum( 'diaptr', p_fval, ijpj, ncomm_znl ) 
     
    643557   END FUNCTION ptr_sj_2d 
    644558 
     559   FUNCTION ptr_ci_2d( pva )   RESULT ( p_fval ) 
     560      !!---------------------------------------------------------------------- 
     561      !!                    ***  ROUTINE ptr_ci_2d  *** 
     562      !! 
     563      !! ** Purpose :   "meridional" cumulated sum computation of a j-flux array 
     564      !! 
     565      !! ** Method  : - j cumulated sum of pva using the interior 2D vmask (umask_i). 
     566      !! 
     567      !! ** Action  : - p_fval: j-cumulated sum of pva 
     568      !!---------------------------------------------------------------------- 
     569      REAL(wp) , INTENT(in), DIMENSION(jpi,jpj)  ::   pva   ! mask flux array at V-point 
     570      ! 
     571      INTEGER                  ::   ji,jj,jc       ! dummy loop arguments 
     572      INTEGER                  ::   ijpj        ! ???  
     573      REAL(wp), DIMENSION(jpi,jpj) :: p_fval ! function value 
     574      !!-------------------------------------------------------------------- 
     575      !  
     576      ijpj = jpj  ! ??? 
     577      p_fval(:,:) = 0._wp 
     578      DO jc = 1, jpnj ! looping over all processors in j axis 
     579         DO jj = 2, jpjm1 
     580            DO ji = fs_2, fs_jpim1   ! Vector opt. 
     581               p_fval(ji,jj) = p_fval(ji,jj-1) + pva(ji,jj) * tmask_i(ji,jj) 
     582            END DO 
     583         END DO 
     584         CALL lbc_lnk( 'diaptr', p_fval, 'U', -1. ) 
     585      END DO 
     586      !  
     587   END FUNCTION ptr_ci_2d 
     588 
     589 
    645590 
    646591   FUNCTION ptr_sjk( pta, pmsk )   RESULT ( p_fval ) 
     
    656601      !! 
    657602      IMPLICIT none 
    658       REAL(wp) , INTENT(in), DIMENSION(jpi,jpj,jpk)           ::   pta    ! mask flux array at V-point 
    659       REAL(wp) , INTENT(in), DIMENSION(jpi,jpj)    , OPTIONAL ::   pmsk   ! Optional 2D basin mask 
     603      REAL(wp) , INTENT(in), DIMENSION(jpi,jpj,jpk) ::   pta    ! mask flux array at V-point 
     604      REAL(wp) , INTENT(in), DIMENSION(jpi,jpj)    ::   pmsk   ! Optional 2D basin mask 
    660605      !! 
    661606      INTEGER                           :: ji, jj, jk ! dummy loop arguments 
     
    673618      p_fval(:,:) = 0._wp 
    674619      ! 
    675       IF( PRESENT( pmsk ) ) THEN  
    676          DO jk = 1, jpkm1 
    677             DO jj = 2, jpjm1 
    678 !!gm here, use of tmask_i  ==> no need of loop over nldi, nlei.... 
    679                DO ji =  nldi, nlei   ! No vector optimisation here. Better use a mask ? 
    680                   p_fval(jj,jk) = p_fval(jj,jk) + pta(ji,jj,jk) * pmsk(ji,jj) 
    681                END DO 
     620      DO jk = 1, jpkm1 
     621         DO jj = 2, jpjm1 
     622            DO ji = fs_2, fs_jpim1   ! Vector opt. 
     623               p_fval(jj,jk) = p_fval(jj,jk) + pta(ji,jj,jk) * pmsk(ji,jj) * tmask_i(ji,jj) 
    682624            END DO 
    683625         END DO 
    684       ELSE  
    685          DO jk = 1, jpkm1 
    686             DO jj = 2, jpjm1 
    687                DO ji =  nldi, nlei   ! No vector optimisation here. Better use a mask ? 
    688                   p_fval(jj,jk) = p_fval(jj,jk) + pta(ji,jj,jk) * tmask_i(ji,jj) 
    689                END DO 
    690             END DO 
    691          END DO 
    692       END IF 
     626      END DO 
    693627      ! 
    694628#if defined key_mpp_mpi 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/OCE/DIA/diawri.F90

    r12143 r12706  
    4848   USE lbclnk         ! ocean lateral boundary conditions (or mpp link) 
    4949   USE in_out_manager ! I/O manager 
    50    USE diatmb         ! Top,middle,bottom output 
    5150   USE dia25h         ! 25h Mean output 
    5251   USE iom            !  
     
    393392      CALL iom_put( "bn2", rn2 )                      ! Brunt-Vaisala buoyancy frequency (N^2) 
    394393      ! 
    395  
    396       IF (ln_diatmb)   CALL dia_tmb                   ! tmb values  
    397394           
    398395      IF (ln_dia25h)   CALL dia_25h( kt )             ! 25h averaging 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/OCE/DOM/daymod.F90

    r10068 r12706  
    9393      CALL ymds2ju( nyear, nmonth, nday, nhour*3600._wp+nminute*60._wp, fjulday )   
    9494      IF( ABS(fjulday - REAL(NINT(fjulday),wp)) < 0.1 / rday )   fjulday = REAL(NINT(fjulday),wp)   ! avoid truncation error 
    95       IF( nn_time0*3600 - ndt05 .lt. 0 ) fjulday = fjulday + 1.                    ! move back to the day at nit000 (and not at nit000 - 1) 
    96  
     95      IF( nhour*3600 + nminute*60 - ndt05 .lt. 0 ) fjulday = fjulday + 1.                    ! move back to the day at nit000 (and not at nit000 - 1) 
     96       
    9797      nsec1jan000 = 0 
    9898      CALL day_mth 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/OCE/DYN/divhor.F90

    r11987 r12706  
    7272         IF(lwp) WRITE(numout,*) 'div_hor : horizontal velocity divergence ' 
    7373         IF(lwp) WRITE(numout,*) '~~~~~~~   ' 
     74         hdivn(:,:,:) = 0._wp    ! initialize hdivn for the halos at the first time step 
    7475      ENDIF 
    7576      ! 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/OCE/DYN/dynnxt.F90

    r12143 r12706  
    226226            zcoef = atfp * rdt * r1_rau0 
    227227 
    228             e3t_b(:,:,1) = e3t_b(:,:,1) - zcoef * ( emp_b(:,:) - emp(:,:) ) * tmask(:,:,1) 
     228            DO jk = 1, jpkm1 
     229               e3t_b(:,:,jk) = e3t_b(:,:,jk) - zcoef * ( emp_b(:,:) - emp(:,:) ) * tmask(:,:,jk) &  
     230                             &                       * e3t_n(:,:,jk) /  ( ht_n(:,:) + 1._wp - ssmask(:,:) ) 
     231            END DO 
    229232 
    230233            IF ( ln_rnf ) THEN 
    231                IF( ln_rnf_depth ) THEN 
    232                   DO jk = 1, jpkm1 ! Deal with Rivers separetely, as can be through depth too 
    233                      DO jj = 1, jpj 
    234                         DO ji = 1, jpi 
    235                            IF( jk <=  nk_rnf(ji,jj)  ) THEN 
    236                                e3t_b(ji,jj,jk) =   e3t_b(ji,jj,jk) - zcoef *  ( - rnf_b(ji,jj) + rnf(ji,jj) ) & 
    237                                       &          * ( e3t_n(ji,jj,jk) / h_rnf(ji,jj) ) * tmask(ji,jj,jk) 
    238                            ENDIF 
    239                         ENDDO 
    240                      ENDDO 
    241                   ENDDO 
    242                ELSE 
    243                   e3t_b(:,:,1) = e3t_b(:,:,1) - zcoef *  ( -rnf_b(:,:) + rnf(:,:))*tmask(:,:,1) 
    244                ENDIF 
    245             END IF 
    246             ! 
    247             ! ice shelf melting (deal separatly as it can be in depth) 
    248             ! PM: we could probably define a generic subroutine to do the in depth correction 
    249             !     to manage rnf, isf and possibly in the futur icb, tide water glacier (...) 
    250             !     ...(kt, coef, ktop, kbot, hz, fwf_b, fwf) 
    251             IF ( ln_isf ) CALL isf_dynnxt( kt, atfp * rdt ) 
     234               DO jk = 1, jpkm1 
     235                  e3t_b(:,:,jk) = e3t_b(:,:,jk) + zcoef * ( rnf_b(:,:) - rnf(:,:) ) * tmask(:,:,jk) &  
     236                                &                       * e3t_n(:,:,jk) /  ( ht_n(:,:) + 1._wp - ssmask(:,:) ) 
     237               END DO 
     238            ENDIF 
     239 
     240            IF ( ln_isf ) THEN 
     241               DO jk = 1, jpkm1 
     242                  e3t_b(:,:,jk) = e3t_b(:,:,jk) - zcoef * ( fwfisf_b(:,:) - fwfisf(:,:) ) * tmask(:,:,jk) &  
     243                                &                       * e3t_n(:,:,jk) /  ( ht_n(:,:) + 1._wp - ssmask(:,:) ) 
     244               END DO 
     245            ENDIF 
    252246            ! 
    253247            IF( ln_dynadv_vec ) THEN      ! Asselin filter applied on velocity 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/OCE/DYN/dynspg_ts.F90

    r12143 r12706  
    4747   USE updtide         ! tide potential 
    4848   USE sbcwave         ! surface wave 
    49    USE diatmb          ! Top,middle,bottom output 
    5049#if defined key_agrif 
    5150   USE agrif_oce_interp ! agrif 
     
    6261   USE iom             ! IOM library 
    6362   USE restart         ! only for lrst_oce 
    64    USE diatmb          ! Top,middle,bottom output 
    6563 
    6664   USE iom   ! to remove 
     
    152150      REAL(wp) ::   r1_2dt_b, z1_hu, z1_hv          ! local scalars 
    153151      REAL(wp) ::   za0, za1, za2, za3              !   -      - 
    154       REAL(wp) ::   zmdi, zztmp, zldg               !   -      - 
     152      REAL(wp) ::   zztmp, zldg               !   -      - 
    155153      REAL(wp) ::   zhu_bck, zhv_bck, zhdiv         !   -      - 
    156154      REAL(wp) ::   zun_save, zvn_save              !   -      - 
     
    175173      !                                         !* Allocate temporary arrays 
    176174      IF( ln_wd_dl ) ALLOCATE( ztwdmask(jpi,jpj), zuwdmask(jpi,jpj), zvwdmask(jpi,jpj), zuwdav2(jpi,jpj), zvwdav2(jpi,jpj)) 
    177       ! 
    178       zmdi=1.e+20                               !  missing data indicator for masking 
    179175      ! 
    180176      zwdramp = r_rn_wdmin1               ! simplest ramp  
     
    856852      IF( ln_wd_dl )   DEALLOCATE( ztwdmask, zuwdmask, zvwdmask, zuwdav2, zvwdav2 ) 
    857853      ! 
    858       IF( ln_diatmb ) THEN 
    859          CALL iom_put( "baro_u" , un_b*ssumask(:,:)+zmdi*(1.-ssumask(:,:) ) )  ! Barotropic  U Velocity 
    860          CALL iom_put( "baro_v" , vn_b*ssvmask(:,:)+zmdi*(1.-ssvmask(:,:) ) )  ! Barotropic  V Velocity 
    861       ENDIF 
     854      CALL iom_put( "baro_u" , un_b )  ! Barotropic  U Velocity 
     855      CALL iom_put( "baro_v" , vn_b )  ! Barotropic  V Velocity 
    862856      ! 
    863857   END SUBROUTINE dyn_spg_ts 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/OCE/ICB/icbthm.F90

    r10068 r12706  
    2020   USE phycst         ! NEMO physical constants 
    2121   USE sbc_oce 
     22   USE lib_fortran, ONLY : DDPDD 
    2223 
    2324   USE icb_oce        ! define iceberg arrays 
     
    5556      TYPE(iceberg), POINTER ::   this, next 
    5657      TYPE(point)  , POINTER ::   pt 
     58      ! 
     59      COMPLEX(wp), DIMENSION(jpi,jpj) :: cicb_melt, cicb_hflx 
    5760      !!---------------------------------------------------------------------- 
     61      ! 
     62      !! initialiaze cicb_melt and cicb_heat 
     63      cicb_melt = CMPLX( 0.e0, 0.e0, wp )  
     64      cicb_hflx = CMPLX( 0.e0, 0.e0, wp )  
    5865      ! 
    5966      z1_rday = 1._wp / rday 
     
    165172            z1_e1e2    = r1_e1e2t(ii,ij) * this%mass_scaling 
    166173            z1_dt_e1e2 = z1_dt * z1_e1e2 
     174            ! 
     175            ! iceberg melt 
     176            !! the use of DDPDD function for the cumulative sum is needed for reproducibility 
    167177            zmelt    = ( zdM - ( zdMbitsE - zdMbitsM ) ) * z1_dt   ! kg/s 
    168             berg_grid%floating_melt(ii,ij) = berg_grid%floating_melt(ii,ij) + zmelt    * z1_e1e2    ! kg/m2/s 
     178            CALL DDPDD( CMPLX( zmelt * z1_e1e2, 0.e0, wp ), cicb_melt(ii,ij) ) 
     179            ! 
     180            ! iceberg heat flux 
     181            !! the use of DDPDD function for the cumulative sum is needed for reproducibility 
    169182            !! NB. The src_calving_hflx field is currently hardwired to zero in icb_stp, which means that the 
    170183            !!     heat density of the icebergs is zero and the heat content flux to the ocean from iceberg 
     
    172185            zheat_hcflux = zmelt * pt%heat_density       ! heat content flux : kg/s x J/kg = J/s 
    173186            zheat_latent = - zmelt * rLfus               ! latent heat flux:  kg/s x J/kg = J/s 
    174             berg_grid%calving_hflx (ii,ij) = berg_grid%calving_hflx (ii,ij) + ( zheat_hcflux + zheat_latent ) * z1_e1e2    ! W/m2 
     187            CALL DDPDD( CMPLX( ( zheat_hcflux + zheat_latent ) * z1_e1e2, 0.e0, wp ), cicb_hflx(ii,ij) ) 
     188            ! 
     189            ! diagnostics 
    175190            CALL icb_dia_melt( ii, ij, zMnew, zheat_hcflux, zheat_latent, this%mass_scaling,       & 
    176191               &                       zdM, zdMbitsE, zdMbitsM, zdMb, zdMe,   & 
     
    214229         ! 
    215230      END DO 
    216  
     231      ! 
     232      berg_grid%floating_melt = REAL(cicb_melt,wp)    ! kg/m2/s 
     233      berg_grid%calving_hflx  = REAL(cicb_hflx,wp) 
     234      ! 
    217235      ! now use melt and associated heat flux in ocean (or not) 
    218236      ! 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/OCE/IOM/iom.F90

    r12143 r12706  
    5656   LOGICAL, PUBLIC, PARAMETER ::   lk_iomput = .FALSE.       !: iom_put flag 
    5757#endif 
    58    PUBLIC iom_init, iom_swap, iom_open, iom_close, iom_setkt, iom_varid, iom_get 
     58   PUBLIC iom_init, iom_swap, iom_open, iom_close, iom_setkt, iom_varid, iom_get, iom_get_var 
    5959   PUBLIC iom_chkatt, iom_getatt, iom_putatt, iom_getszuld, iom_rstput, iom_delay_rst, iom_put 
    6060   PUBLIC iom_use, iom_context_finalize, iom_miss_val 
     
    6262   PRIVATE iom_rp0d, iom_rp1d, iom_rp2d, iom_rp3d 
    6363   PRIVATE iom_g0d, iom_g1d, iom_g2d, iom_g3d, iom_get_123d 
    64    PRIVATE iom_p1d, iom_p2d, iom_p3d 
     64   PRIVATE iom_p1d, iom_p2d, iom_p3d, iom_p4d 
    6565#if defined key_iomput 
    6666   PRIVATE iom_set_domain_attr, iom_set_axis_attr, iom_set_field_attr, iom_set_file_attr, iom_get_file_attr, iom_set_grid_attr 
     
    8383   END INTERFACE 
    8484   INTERFACE iom_put 
    85       MODULE PROCEDURE iom_p0d, iom_p1d, iom_p2d, iom_p3d 
     85      MODULE PROCEDURE iom_p0d, iom_p1d, iom_p2d, iom_p3d, iom_p4d 
    8686   END INTERFACE iom_put 
    8787   
     
    108108      TYPE(xios_date)     :: start_date 
    109109      CHARACTER(len=lc) :: clname 
     110      INTEGER             :: irefyear, irefmonth, irefday 
    110111      INTEGER           :: ji, jkmin 
    111112      LOGICAL :: llrst_context              ! is context related to restart 
     
    139140 
    140141      ! Calendar type is now defined in xml file  
     142      IF (.NOT.(xios_getvar('ref_year' ,irefyear ))) irefyear  = 1900 
     143      IF (.NOT.(xios_getvar('ref_month',irefmonth))) irefmonth = 01 
     144      IF (.NOT.(xios_getvar('ref_day'  ,irefday  ))) irefday   = 01 
     145 
    141146      SELECT CASE ( nleapy )        ! Choose calendar for IOIPSL 
    142       CASE ( 1)   ; CALL xios_define_calendar( TYPE = "Gregorian", time_origin = xios_date(1900,01,01,00,00,00), & 
     147      CASE ( 1)   ; CALL xios_define_calendar( TYPE = "Gregorian", time_origin = xios_date(irefyear,irefmonth,irefday,00,00,00), & 
    143148          &                                    start_date = xios_date(nyear,nmonth,nday,0,0,0) ) 
    144       CASE ( 0)   ; CALL xios_define_calendar( TYPE = "NoLeap"   , time_origin = xios_date(1900,01,01,00,00,00), & 
     149      CASE ( 0)   ; CALL xios_define_calendar( TYPE = "NoLeap"   , time_origin = xios_date(irefyear,irefmonth,irefday,00,00,00), & 
    145150          &                                    start_date = xios_date(nyear,nmonth,nday,0,0,0) ) 
    146       CASE (30)   ; CALL xios_define_calendar( TYPE = "D360"     , time_origin = xios_date(1900,01,01,00,00,00), & 
     151      CASE (30)   ; CALL xios_define_calendar( TYPE = "D360"     , time_origin = xios_date(irefyear,irefmonth,irefday,00,00,00), & 
    147152          &                                    start_date = xios_date(nyear,nmonth,nday,0,0,0) ) 
    148153      END SELECT 
     
    223228          CALL iom_set_axis_attr( "icbcla", class_num ) 
    224229          CALL iom_set_axis_attr( "iax_20C", (/ REAL(20,wp) /) )   ! strange syntaxe and idea... 
     230          CALL iom_set_axis_attr( "iax_26C", (/ REAL(26,wp) /) )   ! strange syntaxe and idea... 
    225231          CALL iom_set_axis_attr( "iax_28C", (/ REAL(28,wp) /) )   ! strange syntaxe and idea... 
     232          CALL iom_set_axis_attr( "basin"  , (/ (REAL(ji,wp), ji=1,5) /) ) 
    226233      ENDIF 
    227234      ! 
     
    795802      CHARACTER(LEN=100)    ::   clinfo    ! info character 
    796803      !--------------------------------------------------------------------- 
     804      ! 
     805      IF( iom_open_init == 0 )   RETURN   ! avoid to use iom_file(jf)%nfid that us not yet initialized 
    797806      ! 
    798807      clinfo = '                    iom_close ~~~  ' 
     
    13291338   END SUBROUTINE iom_get_123d 
    13301339 
     1340   SUBROUTINE iom_get_var( cdname, z2d) 
     1341      CHARACTER(LEN=*), INTENT(in ) ::   cdname 
     1342      REAL(wp), DIMENSION(jpi,jpj) ::   z2d  
     1343#if defined key_iomput 
     1344      IF( xios_field_is_active( cdname, at_current_timestep_arg = .TRUE. ) ) THEN 
     1345         z2d(:,:) = 0._wp 
     1346         CALL xios_recv_field( cdname, z2d) 
     1347      ENDIF 
     1348#else 
     1349      IF( .FALSE. )   WRITE(numout,*) cdname, z2d ! useless test to avoid compilation warnings 
     1350#endif 
     1351   END SUBROUTINE iom_get_var 
     1352 
    13311353 
    13321354   FUNCTION iom_getszuld ( kiomid )   
     
    16981720   END SUBROUTINE iom_p3d 
    16991721 
     1722   SUBROUTINE iom_p4d( cdname, pfield4d ) 
     1723      CHARACTER(LEN=*)                  , INTENT(in) ::   cdname 
     1724      REAL(wp),       DIMENSION(:,:,:,:), INTENT(in) ::   pfield4d 
     1725#if defined key_iomput 
     1726      CALL xios_send_field(cdname, pfield4d) 
     1727#else 
     1728      IF( .FALSE. )   WRITE(numout,*) cdname, pfield4d   ! useless test to avoid compilation warnings 
     1729#endif 
     1730   END SUBROUTINE iom_p4d 
     1731 
     1732 
    17001733#if defined key_iomput 
    17011734   !!---------------------------------------------------------------------- 
     
    20402073      ALLOCATE( zlon(ni*nj) )       ;       zlon(:) = 0._wp 
    20412074      ! 
    2042       CALL dom_ngb( -168.53, 65.03, ix, iy, 'T' ) !  i-line that passes through Bering Strait: Reference latitude (used in plots) 
    2043 !      CALL dom_ngb( 180., 90., ix, iy, 'T' ) !  i-line that passes near the North Pole : Reference latitude (used in plots) 
     2075!      CALL dom_ngb( -168.53, 65.03, ix, iy, 'T' ) !  i-line that passes through Bering Strait: Reference latitude (used in plots) 
     2076      CALL dom_ngb( 180., 90., ix, iy, 'T' ) !  i-line that passes near the North Pole : Reference latitude (used in plots) 
    20442077      CALL iom_set_domain_attr("gznl", ni_glo=jpiglo, nj_glo=jpjglo, ibegin=nimpp+nldi-2, jbegin=njmpp+nldj-2, ni=ni, nj=nj) 
    20452078      CALL iom_set_domain_attr("gznl", data_dim=2, data_ibegin = 1-nldi, data_ni = jpi, data_jbegin = 1-nldj, data_nj = jpj) 
    20462079      CALL iom_set_domain_attr("gznl", lonvalue = zlon,   & 
    20472080         &                             latvalue = RESHAPE(plat(nldi:nlei, nldj:nlej),(/ ni*nj /)))   
    2048       CALL iom_set_zoom_domain_attr("znl_T", ibegin=ix-1, jbegin=0, ni=1, nj=jpjglo) 
    2049       CALL iom_set_zoom_domain_attr("znl_W", ibegin=ix-1, jbegin=0, ni=1, nj=jpjglo) 
     2081      CALL iom_set_zoom_domain_attr("ptr", ibegin=ix-1, jbegin=0, ni=1, nj=jpjglo) 
    20502082      ! 
    20512083      CALL iom_update_file_name('ptr') 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/OCE/LDF/ldfdyn.F90

    r12143 r12706  
    115115      !!---------------------------------------------------------------------- 
    116116      ! 
    117       REWIND( numnam_ref )              ! Namelist namdyn_ldf in reference namelist : Lateral physics 
     117      REWIND( numnam_ref ) 
    118118      READ  ( numnam_ref, namdyn_ldf, IOSTAT = ios, ERR = 901) 
    119119901   IF( ios /= 0 )   CALL ctl_nam ( ios , 'namdyn_ldf in reference namelist' ) 
    120120 
    121       REWIND( numnam_cfg )              ! Namelist namdyn_ldf in configuration namelist : Lateral physics 
     121      REWIND( numnam_cfg ) 
    122122      READ  ( numnam_cfg, namdyn_ldf, IOSTAT = ios, ERR = 902 ) 
    123123902   IF( ios >  0 )   CALL ctl_nam ( ios , 'namdyn_ldf in configuration namelist' ) 
     
    417417            ! 
    418418            zcmsmag   = (rn_csmc/rpi)**2                                            ! (C_smag/pi)^2 
    419             zstabf_lo = rn_minfac * rn_minfac / ( 2._wp * 4._wp * zcmsmag )        ! lower limit stability factor scaling 
     419            zstabf_lo = rn_minfac * rn_minfac / ( 2._wp * 12._wp * 12._wp * zcmsmag ) ! lower limit stability factor scaling 
    420420            zstabf_up = rn_maxfac / ( 4._wp * zcmsmag * 2._wp * rdt )               ! upper limit stability factor scaling 
    421421            IF( ln_dynldf_blp ) zstabf_lo = ( 16._wp / 9._wp ) * zstabf_lo          ! provide |U|L^3/12 lower limit instead  
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/OCE/LDF/ldfslp.F90

    r11987 r12706  
    208208               zbu = MIN(  zbu, - z1_slpmax * ABS( zau ) , -7.e+3_wp/e3u_n(ji,jj,jk)* ABS( zau )  ) 
    209209               zbv = MIN(  zbv, - z1_slpmax * ABS( zav ) , -7.e+3_wp/e3v_n(ji,jj,jk)* ABS( zav )  ) 
     210               !                                      ! Fred Dupont: add a correction for bottom partial steps: 
     211               !                                      !              max slope = 1/2 * e3 / e1 
     212               IF (ln_zps .AND. jk==mbku(ji,jj)) & 
     213                  zbu = MIN(  zbu, - z1_slpmax * ABS( zau ) , - 2._wp * e1u(ji,jj) / e3u_n(ji,jj,jk)* ABS( zau )  ) 
     214               IF (ln_zps .AND. jk==mbkv(ji,jj)) & 
     215                  zbv = MIN(  zbv, - z1_slpmax * ABS( zav ) , - 2._wp * e2v(ji,jj) / e3v_n(ji,jj,jk)* ABS( zav )  ) 
    210216               !                                      ! uslp and vslp output in zwz and zww, resp. 
    211217               zfi = MAX( omlmask(ji,jj,jk), omlmask(ji+1,jj,jk) ) 
     
    403409      REAL(wp) ::   zbeta0, ze3_e1, ze3_e2 
    404410      REAL(wp), DIMENSION(jpi,jpj)     ::   z1_mlbw 
    405       REAL(wp), DIMENSION(jpi,jpj,jpk) ::   zalbet 
    406411      REAL(wp), DIMENSION(jpi,jpj,jpk,0:1) ::   zdxrho , zdyrho, zdzrho     ! Horizontal and vertical density gradients 
    407412      REAL(wp), DIMENSION(jpi,jpj,0:1,0:1) ::   zti_mlb, ztj_mlb            ! for Griffies operator only 
     
    459464                     zdks = 0._wp 
    460465                  ENDIF 
    461                   zdzrho_raw = ( - rab_b(ji,jj,jk+kp,jp_tem) * zdkt &  
    462                              &   + rab_b(ji,jj,jk+kp,jp_sal) * zdks & 
     466                  zdzrho_raw = ( - rab_b(ji,jj,jk   ,jp_tem) * zdkt &  
     467                             &   + rab_b(ji,jj,jk   ,jp_sal) * zdks & 
    463468                             & ) / e3w_n(ji,jj,jk+kp)   
    464469                  zdzrho(ji,jj,jk,kp) = - MIN( - repsln , zdzrho_raw )    ! force zdzrho >= repsln 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/OCE/LDF/ldftra.F90

    r12143 r12706  
    152152      ! ================================= 
    153153      ! 
    154       REWIND( numnam_ref )              ! Namelist namtra_ldf in reference namelist : Lateral physics on tracers 
     154      REWIND( numnam_ref ) 
    155155      READ  ( numnam_ref, namtra_ldf, IOSTAT = ios, ERR = 901) 
    156156901   IF( ios /= 0 )   CALL ctl_nam ( ios , 'namtra_ldf in reference namelist' ) 
    157       REWIND( numnam_cfg )              ! Namelist namtra_ldf in configuration namelist : Lateral physics on tracers 
     157 
     158      REWIND( numnam_cfg ) 
    158159      READ  ( numnam_cfg, namtra_ldf, IOSTAT = ios, ERR = 902 ) 
    159160902   IF( ios >  0 )   CALL ctl_nam ( ios , 'namtra_ldf in configuration namelist' ) 
     
    510511      ENDIF 
    511512      ! 
    512       REWIND( numnam_ref )              ! Namelist namtra_eiv in reference namelist : eddy induced velocity param. 
     513      REWIND( numnam_ref ) 
    513514      READ  ( numnam_ref, namtra_eiv, IOSTAT = ios, ERR = 901) 
    514515901   IF( ios /= 0 )   CALL ctl_nam ( ios , 'namtra_eiv in reference namelist' ) 
    515516      ! 
    516       REWIND( numnam_cfg )              ! Namelist namtra_eiv in configuration namelist : eddy induced velocity param. 
     517      REWIND( numnam_cfg ) 
    517518      READ  ( numnam_cfg, namtra_eiv, IOSTAT = ios, ERR = 902 ) 
    518519902   IF( ios >  0 )   CALL ctl_nam ( ios , 'namtra_eiv in configuration namelist' ) 
     
    770771            DO ji = 1, fs_jpim1   ! vector opt. 
    771772               zpsi_uw(ji,jj,jk) = - r1_4 * e2u(ji,jj) * ( wslpi(ji,jj,jk  ) + wslpi(ji+1,jj,jk) )   & 
    772                   &                                    * ( aeiu (ji,jj,jk-1) + aeiu (ji  ,jj,jk) ) * umask(ji,jj,jk) 
     773                  &                                    * ( aeiu (ji,jj,jk-1) + aeiu (ji  ,jj,jk) ) * wumask(ji,jj,jk) 
    773774               zpsi_vw(ji,jj,jk) = - r1_4 * e1v(ji,jj) * ( wslpj(ji,jj,jk  ) + wslpj(ji,jj+1,jk) )   & 
    774                   &                                    * ( aeiv (ji,jj,jk-1) + aeiv (ji,jj  ,jk) ) * vmask(ji,jj,jk) 
     775                  &                                    * ( aeiv (ji,jj,jk-1) + aeiv (ji,jj  ,jk) ) * wvmask(ji,jj,jk) 
    775776            END DO 
    776777         END DO 
     
    851852      CALL iom_put( "woce_eiv", zw3d ) 
    852853      ! 
     854      IF( iom_use('weiv_masstr') ) THEN   ! vertical mass transport & its square value 
     855         zw2d(:,:) = rau0 * e1e2t(:,:) 
     856         DO jk = 1, jpk 
     857            zw3d(:,:,jk) = zw3d(:,:,jk) * zw2d(:,:) 
     858         END DO 
     859         CALL iom_put( "weiv_masstr" , zw3d )   
     860      ENDIF 
     861      ! 
     862      IF( iom_use('ueiv_masstr') ) THEN 
     863         zw3d(:,:,:) = 0.e0 
     864         DO jk = 1, jpkm1 
     865            zw3d(:,:,jk) = rau0 * ( psi_uw(:,:,jk+1) - psi_uw(:,:,jk) )  
     866         END DO 
     867         CALL iom_put( "ueiv_masstr", zw3d )                  ! mass transport in i-direction 
     868      ENDIF 
    853869      ! 
    854870      zztmp = 0.5_wp * rau0 * rcp  
     
    870886        CALL iom_put( "ueiv_heattr3d", zztmp * zw3d )                  ! heat transport in i-direction 
    871887      ENDIF 
     888      ! 
     889      IF( iom_use('veiv_masstr') ) THEN 
     890         zw3d(:,:,:) = 0.e0 
     891         DO jk = 1, jpkm1 
     892            zw3d(:,:,jk) = rau0 * ( psi_vw(:,:,jk+1) - psi_vw(:,:,jk) )  
     893         END DO 
     894         CALL iom_put( "veiv_masstr", zw3d )                  ! mass transport in i-direction 
     895      ENDIF 
     896      ! 
    872897      zw2d(:,:)   = 0._wp  
    873898      zw3d(:,:,:) = 0._wp  
     
    885910      CALL iom_put( "veiv_heattr", zztmp * zw3d )                  !  heat transport in j-direction 
    886911      ! 
    887       IF( ln_diaptr )  CALL dia_ptr_hst( jp_tem, 'eiv', 0.5 * zw3d ) 
     912      IF( ln_diaptr )   CALL dia_ptr_hst( jp_tem, 'eiv', 0.5 * zw3d ) 
    888913      ! 
    889914      zztmp = 0.5_wp * 0.5 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/OCE/SBC/cpl_oasis3.F90

    r10582 r12706  
    306306      ! End of definition phase 
    307307      !------------------------------------------------------------------ 
    308        
     308      !      
     309#if defined key_agrif 
     310      IF( agrif_fixed() == Agrif_Nb_Fine_Grids() ) THEN 
     311#endif 
    309312      CALL oasis_enddef(nerror) 
    310313      IF( nerror /= OASIS_Ok )   CALL oasis_abort ( ncomp_id, 'cpl_define', 'Failure in oasis_enddef') 
     314#if defined key_agrif 
     315      ENDIF 
     316#endif 
    311317      ! 
    312318      IF ( ltmp_wapatch ) THEN 
     
    357363                     WRITE(numout,*) 'oasis_put:  kstep ', kstep 
    358364                     WRITE(numout,*) 'oasis_put:   info ', kinfo 
    359                      WRITE(numout,*) '     - Minimum value is ', MINVAL(pdata(:,:,jc)) 
    360                      WRITE(numout,*) '     - Maximum value is ', MAXVAL(pdata(:,:,jc)) 
    361                      WRITE(numout,*) '     -     Sum value is ', SUM(pdata(:,:,jc)) 
     365                     WRITE(numout,*) '     - Minimum value is ', MINVAL(pdata(nldi:nlei,nldj:nlej,jc)) 
     366                     WRITE(numout,*) '     - Maximum value is ', MAXVAL(pdata(nldi:nlei,nldj:nlej,jc)) 
     367                     WRITE(numout,*) '     -     Sum value is ', SUM(pdata(nldi:nlei,nldj:nlej,jc)) 
    362368                     WRITE(numout,*) '****************' 
    363369                  ENDIF 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/OCE/SBC/fldread.F90

    r12143 r12706  
    833833 
    834834      REAL(wp), DIMENSION(:,:,:), INTENT(in   ) ::   pdta_read       ! data read in bdy file 
    835       REAL(wp), DIMENSION(:,:,:), INTENT(inout) ::   pdta_read_z     ! depth of the data read in bdy file 
    836       REAL(wp), DIMENSION(:,:,:), INTENT(inout) ::   pdta_read_dz    ! thickness of the levels in bdy file 
     835      REAL(wp), DIMENSION(:,:,:), INTENT(in   ) ::   pdta_read_z     ! depth of the data read in bdy file 
     836      REAL(wp), DIMENSION(:,:,:), INTENT(in   ) ::   pdta_read_dz    ! thickness of the levels in bdy file 
    837837      REAL(wp), DIMENSION(:,:,:), INTENT(  out) ::   pdta            ! output field on model grid (2 dimensional) 
    838838      REAL(wp)                  , INTENT(in   ) ::   pfv             ! fillvalue of the data read in bdy file 
     
    841841      INTEGER                   , INTENT(in   ) ::   kbdy            ! bdy number 
    842842      !! 
    843       INTEGER                                   ::   ipi             ! length of boundary data on local process 
    844       INTEGER                                   ::   ipkb            ! number of vertical levels in boundary data file 
    845       INTEGER                                   ::   jb, ji, jj, jk, jkb   ! loop counters 
    846       REAL(wp)                                  ::   zcoef 
    847       REAL(wp)                                  ::   zl, zi, zh      ! tmp variable for current depth and interpolation factor 
    848       REAL(wp)                                  ::   zfv_alt, ztrans, ztrans_new ! fillvalue and alternative -ABS(pfv) 
    849       REAL(wp), DIMENSION(jpk)                  ::   zdepth, zdhalf  ! level and half-level depth 
     843      INTEGER                  ::   ipi                 ! length of boundary data on local process 
     844      INTEGER                  ::   ipkb                ! number of vertical levels in boundary data file 
     845      INTEGER                  ::   ipkmax              ! number of vertical levels in boundary data file where no mask 
     846      INTEGER                  ::   jb, ji, jj, jk, jkb ! loop counters 
     847      REAL(wp)                 ::   zcoef, zi           !  
     848      REAL(wp)                 ::   ztrans, ztrans_new  ! transports 
     849      REAL(wp), DIMENSION(jpk) ::   zdepth, zdhalf      ! level and half-level depth 
    850850      !!--------------------------------------------------------------------- 
    851851      
     
    853853      ipkb = SIZE( pdta_read, 3 ) 
    854854       
    855       zfv_alt = -ABS(pfv)  ! set _FillValue < 0 as we make use of MAXVAL and MAXLOC later 
    856       ! 
    857       WHERE( pdta_read == pfv ) 
    858          pdta_read_z  = zfv_alt ! safety: put fillvalue into external depth field so consistent with data 
    859          pdta_read_dz = 0._wp   ! safety: put 0._wp into external thickness factors to ensure transport is correct 
    860       ENDWHERE 
    861        
    862855      DO jb = 1, ipi 
    863856         ji = idx_bdy(kbdy)%nbi(jb,kgrd) 
    864857         jj = idx_bdy(kbdy)%nbj(jb,kgrd) 
    865          zh  = SUM(pdta_read_dz(jb,1,:) ) 
    866          ! 
    867          ! Warnings to flag differences in the input and model topgraphy - is this useful/necessary? 
     858         ! 
     859         ! --- max jk where input data /= FillValue --- ! 
     860         ipkmax = 1 
     861         DO jkb = 2, ipkb 
     862            IF( pdta_read(jb,1,jkb) /= pfv )   ipkmax = MAX( ipkmax, jkb ) 
     863         END DO 
     864         ! 
     865         ! --- calculate depth at t,u,v points --- ! 
    868866         SELECT CASE( kgrd )                          
    869          CASE(1) 
    870             IF( ABS( (zh - ht_n(ji,jj)) / ht_n(ji,jj)) * tmask(ji,jj,1) > 0.01_wp ) THEN 
    871                WRITE(ctmp1,"(I10.10)") jb  
    872                CALL ctl_warn('fld_bdy_interp: T depths differ between grids at BDY point '//TRIM(ctmp1)//' by more than 1%') 
    873                !   IF(lwp) WRITE(numout,*) 'DEPTHT', zh, sum(e3t_n(ji,jj,:), mask=tmask(ji,jj,:)==1),  ht_n(ji,jj), jb, jb, ji, jj 
    874             ENDIF 
    875          CASE(2) 
    876             IF( ABS( (zh - hu_n(ji,jj)) * r1_hu_n(ji,jj)) * umask(ji,jj,1) > 0.01_wp ) THEN 
    877                WRITE(ctmp1,"(I10.10)") jb  
    878                CALL ctl_warn('fld_bdy_interp: U depths differ between grids at BDY point '//TRIM(ctmp1)//' by more than 1%') 
    879                !   IF(lwp) WRITE(numout,*) 'DEPTHU', zh, SUM(e3u_n(ji,jj,:), mask=umask(ji,jj,:)==1),  SUM(umask(ji,jj,:)), & 
    880                !      &                hu_n(ji,jj), jb, jb, ji, jj, narea-1, pdta_read(jb,1,:) 
    881             ENDIF 
    882          CASE(3) 
    883             IF( ABS( (zh - hv_n(ji,jj)) * r1_hv_n(ji,jj)) * vmask(ji,jj,1) > 0.01_wp ) THEN 
    884                WRITE(ctmp1,"(I10.10)") jb 
    885                CALL ctl_warn('fld_bdy_interp: V depths differ between grids at BDY point '//TRIM(ctmp1)//' by more than 1%') 
    886             ENDIF 
    887          END SELECT 
    888          ! 
    889          SELECT CASE( kgrd )                          
    890          CASE(1) 
    891             ! depth of T points: 
     867         CASE(1)            ! depth of T points: 
    892868            zdepth(:) = gdept_n(ji,jj,:) 
    893          CASE(2) 
    894             ! depth of U points: we must not use gdept_n as we don't want to do a communication 
    895             !   --> copy what is done for gdept_n in domvvl... 
     869         CASE(2)            ! depth of U points: we must not use gdept_n as we don't want to do a communication 
     870            !                 --> copy what is done for gdept_n in domvvl... 
    896871            zdhalf(1) = 0.0_wp 
    897872            zdepth(1) = 0.5_wp * e3uw_n(ji,jj,1) 
     
    903878               zcoef = ( umask(ji,jj,jk) - wumask(ji,jj,jk) ) 
    904879               zdhalf(jk) = zdhalf(jk-1) + e3u_n(ji,jj,jk-1) 
    905                zdepth(jk) =      zcoef  * ( zdhalf(jk  ) + 0.5 * e3uw_n(ji,jj,jk))  & 
    906                   &         + (1-zcoef) * ( zdepth(jk-1) +       e3uw_n(ji,jj,jk)) 
     880               zdepth(jk) =       zcoef  * ( zdhalf(jk  ) + 0.5 * e3uw_n(ji,jj,jk))  & 
     881                  &         + (1.-zcoef) * ( zdepth(jk-1) +       e3uw_n(ji,jj,jk)) 
    907882            END DO 
    908          CASE(3) 
    909             ! depth of V points: we must not use gdept_n as we don't want to do a communication 
    910             !   --> copy what is done for gdept_n in domvvl... 
     883         CASE(3)            ! depth of V points: we must not use gdept_n as we don't want to do a communication 
     884            !                 --> copy what is done for gdept_n in domvvl... 
    911885            zdhalf(1) = 0.0_wp 
    912886            zdepth(1) = 0.5_wp * e3vw_n(ji,jj,1) 
     
    918892               zcoef = ( vmask(ji,jj,jk) - wvmask(ji,jj,jk) ) 
    919893               zdhalf(jk) = zdhalf(jk-1) + e3v_n(ji,jj,jk-1) 
    920                zdepth(jk) =      zcoef  * ( zdhalf(jk  ) + 0.5 * e3vw_n(ji,jj,jk))  & 
    921                   &         + (1-zcoef) * ( zdepth(jk-1) +       e3vw_n(ji,jj,jk)) 
     894               zdepth(jk) =       zcoef  * ( zdhalf(jk  ) + 0.5 * e3vw_n(ji,jj,jk))  & 
     895                  &         + (1.-zcoef) * ( zdepth(jk-1) +       e3vw_n(ji,jj,jk)) 
    922896            END DO 
    923897         END SELECT 
    924          ! 
    925          DO jk = 1, jpk                       
    926             IF(     zdepth(jk) < pdta_read_z(jb,1,          1) ) THEN                ! above the first level of external data 
    927                pdta(jb,1,jk) =  pdta_read(jb,1,1) 
    928             ELSEIF( zdepth(jk) > pdta_read_z(jb,1,ipkb) ) THEN                       ! below the last level of external data  
    929                pdta(jb,1,jk) =  pdta_read(jb,1,MAXLOC(pdta_read_z(jb,1,:),1)) 
    930             ELSE                                                             ! inbetween: vertical interpolation between jkb & jkb+1 
    931                DO jkb = 1, ipkb-1                                            ! when  gdept_n(jkb) < zdepth(jk) < gdept_n(jkb+1) 
    932                   IF( ( ( zdepth(jk) - pdta_read_z(jb,1,jkb) ) * ( zdepth(jk) - pdta_read_z(jb,1,jkb+1) ) <= 0._wp ) & 
    933                      &    .AND. ( pdta_read_z(jb,1,jkb+1) /= zfv_alt) ) THEN  ! linear interpolation between 2 levels 
     898         !          
     899         ! --- interpolate bdy data on the model grid --- ! 
     900         DO jk = 1, jpk 
     901            IF(     zdepth(jk) <= pdta_read_z(jb,1,1)      ) THEN   ! above the first level of external data 
     902               pdta(jb,1,jk) = pdta_read(jb,1,1) 
     903            ELSEIF( zdepth(jk) >  pdta_read_z(jb,1,ipkmax) ) THEN   ! below the last level of external data /= FillValue 
     904               pdta(jb,1,jk) = pdta_read(jb,1,ipkmax) 
     905            ELSE                                                    ! inbetween: vertical interpolation between jkb & jkb+1 
     906               DO jkb = 1, ipkmax-1 
     907                  IF( ( ( zdepth(jk) - pdta_read_z(jb,1,jkb) ) * ( zdepth(jk) - pdta_read_z(jb,1,jkb+1) ) ) <= 0._wp ) THEN ! linear interpolation between 2 levels 
    934908                     zi = ( zdepth(jk) - pdta_read_z(jb,1,jkb) ) / ( pdta_read_z(jb,1,jkb+1) - pdta_read_z(jb,1,jkb) ) 
    935                      pdta(jb,1,jk) = pdta_read(jb,1,jkb) + ( pdta_read  (jb,1,jkb+1) - pdta_read  (jb,1,jkb) ) * zi 
     909                     pdta(jb,1,jk) = pdta_read(jb,1,jkb) + zi * ( pdta_read(jb,1,jkb+1) - pdta_read(jb,1,jkb) ) 
    936910                  ENDIF 
    937911               END DO 
    938912            ENDIF 
    939          END DO   ! jpk 
     913         END DO 
    940914         ! 
    941915      END DO   ! ipi 
    942        
    943       IF(kgrd == 2) THEN                                  ! do we need to adjust the transport term? 
     916 
     917      ! --- mask data and adjust transport --- ! 
     918      SELECT CASE( kgrd )                          
     919 
     920      CASE(1)                                 ! mask data (probably unecessary) 
    944921         DO jb = 1, ipi 
    945922            ji = idx_bdy(kbdy)%nbi(jb,kgrd) 
    946923            jj = idx_bdy(kbdy)%nbj(jb,kgrd) 
    947             zh  = SUM(pdta_read_dz(jb,1,:) ) 
     924            DO jk = 1, jpk                       
     925               pdta(jb,1,jk) = pdta(jb,1,jk) * tmask(ji,jj,jk) 
     926            END DO 
     927         END DO 
     928          
     929      CASE(2)                                 ! adjust the U-transport term 
     930         DO jb = 1, ipi 
     931            ji = idx_bdy(kbdy)%nbi(jb,kgrd) 
     932            jj = idx_bdy(kbdy)%nbj(jb,kgrd) 
    948933            ztrans = 0._wp 
     934            DO jkb = 1, ipkb                              ! calculate transport on input grid 
     935               IF( pdta_read(jb,1,jkb) /= pfv )   ztrans = ztrans + pdta_read(jb,1,jkb) * pdta_read_dz(jb,1,jkb) 
     936            ENDDO 
    949937            ztrans_new = 0._wp 
    950             DO jkb = 1, ipkb                              ! calculate transport on input grid 
    951                ztrans     = ztrans     + pdta_read(jb,1,jkb) * pdta_read_dz(jb, 1,jkb) 
    952             ENDDO 
    953938            DO jk = 1, jpk                                ! calculate transport on model grid 
    954                ztrans_new = ztrans_new +      pdta(jb,1,jk ) *        e3u_n(ji,jj,jk ) * umask(ji,jj,jk) 
     939               ztrans_new = ztrans_new + pdta(jb,1,jk ) * e3u_n(ji,jj,jk) * umask(ji,jj,jk) 
    955940            ENDDO 
    956941            DO jk = 1, jpk                                ! make transport correction 
    957942               IF(ldtotvel) THEN ! bdy data are total velocity so adjust bt transport term to match input data 
    958943                  pdta(jb,1,jk) = ( pdta(jb,1,jk) + ( ztrans - ztrans_new ) * r1_hu_n(ji,jj) ) * umask(ji,jj,jk) 
    959                ELSE ! we're just dealing with bc velocity so bt transport term should sum to zero 
    960                   pdta(jb,1,jk) =   pdta(jb,1,jk) + (  0._wp - ztrans_new ) * r1_hu_n(ji,jj)  * umask(ji,jj,jk) 
     944               ELSE              ! we're just dealing with bc velocity so bt transport term should sum to zero 
     945                  pdta(jb,1,jk) = ( pdta(jb,1,jk) + (  0._wp - ztrans_new ) * r1_hu_n(ji,jj) ) * umask(ji,jj,jk) 
    961946               ENDIF 
    962947            ENDDO 
    963948         ENDDO 
    964       ENDIF 
    965        
    966       IF(kgrd == 3) THEN                                  ! do we need to adjust the transport term? 
     949 
     950      CASE(3)                                 ! adjust the V-transport term 
    967951         DO jb = 1, ipi 
    968952            ji = idx_bdy(kbdy)%nbi(jb,kgrd) 
    969953            jj = idx_bdy(kbdy)%nbj(jb,kgrd) 
    970             zh  = SUM(pdta_read_dz(jb,1,:) ) 
    971954            ztrans = 0._wp 
     955            DO jkb = 1, ipkb                              ! calculate transport on input grid 
     956               IF( pdta_read(jb,1,jkb) /= pfv )   ztrans = ztrans + pdta_read(jb,1,jkb) * pdta_read_dz(jb,1,jkb) 
     957            ENDDO 
    972958            ztrans_new = 0._wp 
    973             DO jkb = 1, ipkb                              ! calculate transport on input grid 
    974                ztrans     = ztrans     + pdta_read(jb,1,jkb) * pdta_read_dz(jb, 1,jkb) 
    975             ENDDO 
    976959            DO jk = 1, jpk                                ! calculate transport on model grid 
    977                ztrans_new = ztrans_new +      pdta(jb,1,jk ) *        e3v_n(ji,jj,jk ) * vmask(ji,jj,jk) 
     960               ztrans_new = ztrans_new + pdta(jb,1,jk ) * e3v_n(ji,jj,jk) * vmask(ji,jj,jk) 
    978961            ENDDO 
    979962            DO jk = 1, jpk                                ! make transport correction 
    980963               IF(ldtotvel) THEN ! bdy data are total velocity so adjust bt transport term to match input data 
    981964                  pdta(jb,1,jk) = ( pdta(jb,1,jk) + ( ztrans - ztrans_new ) * r1_hv_n(ji,jj) ) * vmask(ji,jj,jk) 
    982                ELSE ! we're just dealing with bc velocity so bt transport term should sum to zero 
    983                   pdta(jb,1,jk) =   pdta(jb,1,jk) + (  0._wp - ztrans_new ) * r1_hv_n(ji,jj)  * vmask(ji,jj,jk) 
     965               ELSE              ! we're just dealing with bc velocity so bt transport term should sum to zero 
     966                  pdta(jb,1,jk) = ( pdta(jb,1,jk) + (  0._wp - ztrans_new ) * r1_hv_n(ji,jj) ) * vmask(ji,jj,jk) 
    984967               ENDIF 
    985968            ENDDO 
    986969         ENDDO 
    987       ENDIF 
    988        
     970      END SELECT 
     971 
    989972   END SUBROUTINE fld_bdy_interp 
    990973 
    991  
     974    
    992975   SUBROUTINE fld_rot( kt, sd ) 
    993976      !!--------------------------------------------------------------------- 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/OCE/SBC/sbc_oce.F90

    r11521 r12706  
    104104   !!              Ocean Surface Boundary Condition fields 
    105105   !!---------------------------------------------------------------------- 
    106    INTEGER , PUBLIC ::  ncpl_qsr_freq            !: qsr coupling frequency per days from atmosphere 
     106   INTEGER , PUBLIC ::  ncpl_qsr_freq = 0        !: qsr coupling frequency per days from atmosphere (used by top) 
    107107   ! 
    108108   LOGICAL , PUBLIC ::   lhftau = .FALSE.        !: HF tau used in TKE: mean(stress module) - module(mean stress) 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/OCE/SBC/sbcblk.F90

    r12143 r12706  
    801801      REAL(wp), DIMENSION(jpi,jpj)     ::   zevap, zsnw   ! evaporation and snw distribution after wind blowing (SI3) 
    802802      REAL(wp), DIMENSION(jpi,jpj)     ::   zrhoa 
     803      REAL(wp), DIMENSION(jpi,jpj)     ::   ztmp, ztmp2 
    803804      !!--------------------------------------------------------------------- 
    804805      ! 
     
    913914         qtr_ice_top(:,:,:) = 0._wp  
    914915      END WHERE 
     916      ! 
     917 
     918      IF( iom_use('evap_ao_cea') .OR. iom_use('hflx_evap_cea') ) THEN 
     919         ztmp(:,:) = zevap(:,:) * ( 1._wp - at_i_b(:,:) )  
     920         CALL iom_put( 'evap_ao_cea'  , ztmp(:,:) * tmask(:,:,1) )   ! ice-free oce evap (cell average) 
     921         CALL iom_put( 'hflx_evap_cea', ztmp(:,:) * sst_m(:,:) * rcp * tmask(:,:,1) )   ! heat flux from evap (cell average) 
     922      ENDIF 
     923      IF( iom_use('hflx_rain_cea') ) THEN 
     924         ztmp(:,:) = rcp * ( SUM( (ptsu-rt0) * a_i_b, dim=3 ) + sst_m(:,:) * ( 1._wp - at_i_b(:,:) ) ) 
     925         CALL iom_put( 'hflx_rain_cea', ( tprecip(:,:) - sprecip(:,:) ) * ztmp(:,:) )   ! heat flux from rain (cell average) 
     926      ENDIF 
     927      IF( iom_use('hflx_snow_cea') .OR. iom_use('hflx_snow_ao_cea') .OR. iom_use('hflx_snow_ai_cea')  )  THEN 
     928          WHERE( SUM( a_i_b, dim=3 ) > 1.e-10 ) ;   ztmp(:,:) = rcpi * SUM( (ptsu-rt0) * a_i_b, dim=3 ) / SUM( a_i_b, dim=3 ) 
     929          ELSEWHERE                             ;   ztmp(:,:) = rcp * sst_m(:,:)     
     930          ENDWHERE 
     931          ztmp2(:,:) = sprecip(:,:) * ( ztmp(:,:) - rLfus )  
     932          CALL iom_put('hflx_snow_cea'   , ztmp2(:,:) ) ! heat flux from snow (cell average) 
     933          CALL iom_put('hflx_snow_ao_cea', ztmp2(:,:) * ( 1._wp - zsnw(:,:) ) ) ! heat flux from snow (over ocean) 
     934          CALL iom_put('hflx_snow_ai_cea', ztmp2(:,:) *           zsnw(:,:)   ) ! heat flux from snow (over ice) 
     935      ENDIF 
    915936      ! 
    916937      IF(ln_ctl) THEN 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/OCE/SBC/sbccpl.F90

    r12143 r12706  
    574574      IF ( TRIM( sn_rcv_emp%clcat    ) == 'yes' )   srcv(jpr_ievp)%nct       = nn_cats_cpl 
    575575 
     576#if defined key_si3 
     577      IF( ln_cndflx .AND. .NOT.ln_cndemulate ) THEN  
     578         IF( .NOT.srcv(jpr_ts_ice)%laction )  & 
     579            &   CALL ctl_stop( 'sbc_cpl_init: srcv(jpr_ts_ice)%laction should be set to true when ln_cndflx=T' )      
     580      ENDIF 
     581#endif 
    576582      !                                                      ! ------------------------- ! 
    577583      !                                                      !      Wave breaking        !     
     
    863869      ELSE IF( sn_snd_crt%clvgrd /= 'T' ) THEN   
    864870         CALL ctl_stop( 'sn_snd_crt%clvgrd must be equal to T' ) 
    865          ssnd(jps_ocx1:jps_ivz1)%clgrid  = 'T'      ! all oce and ice components on the same unique grid 
    866871      ENDIF 
    867872      ssnd(jps_ocx1:jps_ivz1)%laction = .TRUE.   ! default: all are send 
     
    10411046      ENDIF 
    10421047      xcplmask(:,:,0) = 1. - SUM( xcplmask(:,:,1:nn_cplmodel), dim = 3 ) 
    1043       ! 
    1044       ncpl_qsr_freq = cpl_freq( 'O_QsrOce' ) + cpl_freq( 'O_QsrMix' ) + cpl_freq( 'I_QsrOce' ) + cpl_freq( 'I_QsrMix' ) 
    1045       IF( ln_dm2dc .AND. ln_cpl .AND. ncpl_qsr_freq /= 86400 )   & 
    1046          &   CALL ctl_stop( 'sbc_cpl_init: diurnal cycle reconstruction (ln_dm2dc) needs daily couping for solar radiation' ) 
    1047       IF( ln_dm2dc .AND. ln_cpl ) ncpl_qsr_freq = 86400 / ncpl_qsr_freq 
    10481048      ! 
    10491049   END SUBROUTINE sbc_cpl_init 
     
    11111111      REAL(wp), DIMENSION(jpi,jpj) ::   ztx, zty, zmsk, zemp, zqns, zqsr 
    11121112      !!---------------------------------------------------------------------- 
     1113      ! 
     1114      IF( kt == nit000 ) THEN 
     1115      !   cannot be done in the init phase when we use agrif as cpl_freq requires that oasis_enddef is done 
     1116         ncpl_qsr_freq = cpl_freq( 'O_QsrOce' ) + cpl_freq( 'O_QsrMix' ) + cpl_freq( 'I_QsrOce' ) + cpl_freq( 'I_QsrMix' ) 
     1117         IF( ln_dm2dc .AND. ncpl_qsr_freq /= 86400 )   & 
     1118            &   CALL ctl_stop( 'sbc_cpl_rcv: diurnal cycle reconstruction (ln_dm2dc) needs daily couping for solar radiation' ) 
     1119         ncpl_qsr_freq = 86400 / ncpl_qsr_freq   ! used by top 
     1120      ENDIF 
    11131121      ! 
    11141122      IF( ln_mixcpl )   zmsk(:,:) = 1. - xcplmask(:,:,0) 
     
    12441252      IF( srcv(jpr_co2)%laction )   atm_co2(:,:) = frcv(jpr_co2)%z3(:,:,1) 
    12451253      ! 
    1246       !                                                      ! ================== ! 
    1247       !                                                      !   ice skin temp.   ! 
    1248       !                                                      ! ================== ! 
    1249 #if defined key_si3 
    1250       ! needed by Met Office 
    1251       IF( srcv(jpr_ts_ice)%laction ) THEN  
    1252          WHERE    ( frcv(jpr_ts_ice)%z3(:,:,:) > 0.0  )   ;   tsfc_ice(:,:,:) = 0.0  
    1253          ELSEWHERE( frcv(jpr_ts_ice)%z3(:,:,:) < -60. )   ;   tsfc_ice(:,:,:) = -60. 
    1254          ELSEWHERE                                        ;   tsfc_ice(:,:,:) = frcv(jpr_ts_ice)%z3(:,:,:) 
    1255          END WHERE 
    1256       ENDIF  
    1257 #endif 
    12581254      !                                                      ! ========================= !  
    12591255      !                                                      ! Mean Sea Level Pressure   !   (taum)  
     
    16351631      !!                   sprecip           solid precipitation over the ocean   
    16361632      !!---------------------------------------------------------------------- 
    1637       REAL(wp), INTENT(in), DIMENSION(:,:)             ::   picefr     ! ice fraction                [0 to 1] 
    1638       !                                                !!           ! optional arguments, used only in 'mixed oce-ice' case 
    1639       REAL(wp), INTENT(in), DIMENSION(:,:,:), OPTIONAL ::   palbi      ! all skies ice albedo  
    1640       REAL(wp), INTENT(in), DIMENSION(:,:  ), OPTIONAL ::   psst       ! sea surface temperature     [Celsius] 
    1641       REAL(wp), INTENT(in), DIMENSION(:,:,:), OPTIONAL ::   pist       ! ice surface temperature     [Kelvin] 
    1642       REAL(wp), INTENT(in), DIMENSION(:,:,:), OPTIONAL ::   phs        ! snow depth                  [m] 
    1643       REAL(wp), INTENT(in), DIMENSION(:,:,:), OPTIONAL ::   phi        ! ice thickness               [m] 
     1633      REAL(wp), INTENT(in)   , DIMENSION(:,:)             ::   picefr     ! ice fraction                [0 to 1] 
     1634      !                                                   !!           ! optional arguments, used only in 'mixed oce-ice' case or for Met-Office coupling 
     1635      REAL(wp), INTENT(in)   , DIMENSION(:,:,:), OPTIONAL ::   palbi      ! all skies ice albedo  
     1636      REAL(wp), INTENT(in)   , DIMENSION(:,:  ), OPTIONAL ::   psst       ! sea surface temperature     [Celsius] 
     1637      REAL(wp), INTENT(inout), DIMENSION(:,:,:), OPTIONAL ::   pist       ! ice surface temperature     [Kelvin] => inout for Met-Office 
     1638      REAL(wp), INTENT(in)   , DIMENSION(:,:,:), OPTIONAL ::   phs        ! snow depth                  [m] 
     1639      REAL(wp), INTENT(in)   , DIMENSION(:,:,:), OPTIONAL ::   phi        ! ice thickness               [m] 
    16441640      ! 
    16451641      INTEGER  ::   ji, jj, jl   ! dummy loop index 
     
    16481644      REAL(wp), DIMENSION(jpi,jpj)     ::   zemp_tot, zemp_ice, zemp_oce, ztprecip, zsprecip  , zevap_oce, zdevap_ice 
    16491645      REAL(wp), DIMENSION(jpi,jpj)     ::   zqns_tot, zqns_oce, zqsr_tot, zqsr_oce, zqprec_ice, zqemp_oce, zqemp_ice 
    1650       REAL(wp), DIMENSION(jpi,jpj,jpl) ::   zqns_ice, zqsr_ice, zdqns_ice, zqevap_ice, zevap_ice    !!gm , zfrqsr_tr_i 
     1646      REAL(wp), DIMENSION(jpi,jpj,jpl) ::   zqns_ice, zqsr_ice, zdqns_ice, zqevap_ice, zevap_ice, zqtr_ice_top, ztsu 
    16511647      !!---------------------------------------------------------------------- 
    16521648      ! 
     
    17741770      IF( srcv(jpr_cal)%laction )   CALL iom_put( 'calving_cea' , frcv(jpr_cal)%z3(:,:,1) * tmask(:,:,1)                )  ! calving 
    17751771      IF( srcv(jpr_icb)%laction )   CALL iom_put( 'iceberg_cea' , frcv(jpr_icb)%z3(:,:,1) * tmask(:,:,1)                )  ! icebergs 
    1776       IF( iom_use('snowpre') )      CALL iom_put( 'snowpre'     , sprecip(:,:)                                          )  ! Snow 
    1777       IF( iom_use('precip') )       CALL iom_put( 'precip'      , tprecip(:,:)                                          )  ! total  precipitation 
    1778       IF( iom_use('rain') )         CALL iom_put( 'rain'        , tprecip(:,:) - sprecip(:,:)                           )  ! liquid precipitation  
    1779       IF( iom_use('snow_ao_cea') )  CALL iom_put( 'snow_ao_cea' , sprecip(:,:) * ( 1._wp - zsnw(:,:) )                  )  ! Snow over ice-free ocean  (cell average) 
    1780       IF( iom_use('snow_ai_cea') )  CALL iom_put( 'snow_ai_cea' , sprecip(:,:) *           zsnw(:,:)                    )  ! Snow over sea-ice         (cell average) 
    1781       IF( iom_use('subl_ai_cea') )  CALL iom_put( 'subl_ai_cea' , frcv(jpr_ievp)%z3(:,:,1) * picefr(:,:) * tmask(:,:,1) )  ! Sublimation over sea-ice (cell average) 
    1782       IF( iom_use('evap_ao_cea') )  CALL iom_put( 'evap_ao_cea' , ( frcv(jpr_tevp)%z3(:,:,1)  & 
     1772      CALL iom_put( 'snowpre'     , sprecip(:,:)                                          )  ! Snow 
     1773      CALL iom_put( 'precip'      , tprecip(:,:)                                          )  ! total  precipitation 
     1774      IF ( iom_use('rain') ) CALL iom_put( 'rain'        , tprecip(:,:) - sprecip(:,:)                           )  ! liquid precipitation  
     1775      IF ( iom_use('snow_ao_cea') ) CALL iom_put( 'snow_ao_cea' , sprecip(:,:) * ( 1._wp - zsnw(:,:) )                  )  ! Snow over ice-free ocean  (cell average) 
     1776      IF ( iom_use('snow_ai_cea') ) CALL iom_put( 'snow_ai_cea' , sprecip(:,:) *           zsnw(:,:)                    )  ! Snow over sea-ice         (cell average) 
     1777      IF ( iom_use('rain_ao_cea') ) CALL iom_put( 'rain_ao_cea' , ( tprecip(:,:) - sprecip(:,:) ) * picefr(:,:)         )  ! liquid precipitation over ocean (cell average) 
     1778      IF ( iom_use('subl_ai_cea') ) CALL iom_put( 'subl_ai_cea' , frcv(jpr_ievp)%z3(:,:,1) * picefr(:,:) * tmask(:,:,1) )  ! Sublimation over sea-ice (cell average) 
     1779      IF ( iom_use('evap_ao_cea') ) CALL iom_put( 'evap_ao_cea' , ( frcv(jpr_tevp)%z3(:,:,1)  & 
    17831780         &                                                        - frcv(jpr_ievp)%z3(:,:,1) * picefr(:,:) ) * tmask(:,:,1) )  ! ice-free oce evap (cell average) 
    17841781      ! note: runoff output is done in sbcrnf (which includes icebergs too) and iceshelf output is done in sbcisf 
     
    18151812! ** NEED TO SORT OUT HOW THIS SHOULD WORK IN THE MULTI-CATEGORY CASE - CURRENTLY NOT ALLOWED WHEN INTERFACE INITIALISED ** 
    18161813         zqns_tot(:,:  ) = frcv(jpr_qnsmix)%z3(:,:,1) 
    1817          zqns_ice(:,:,1) = frcv(jpr_qnsmix)%z3(:,:,1)    & 
    1818             &            + frcv(jpr_dqnsdt)%z3(:,:,1) * ( pist(:,:,1) - ( (rt0 + psst(:,:  ) ) * ziceld(:,:)   & 
    1819             &                                           + pist(:,:,1) * picefr(:,:) ) ) 
     1814         IF ( TRIM(sn_rcv_qsr%clcat) == 'yes' ) THEN 
     1815            DO jl = 1, jpl 
     1816               zqns_ice(:,:,jl) = frcv(jpr_qnsmix)%z3(:,:,jl)    & 
     1817                  &             + frcv(jpr_dqnsdt)%z3(:,:,jl) * ( pist(:,:,jl) - ( ( rt0 + psst(:,:) ) * ziceld(:,:)   & 
     1818                  &                                                                + pist(:,:,jl) * picefr(:,:) ) ) 
     1819            END DO 
     1820         ELSE 
     1821            DO jl = 1, jpl 
     1822               zqns_ice(:,:,jl) = frcv(jpr_qnsmix)%z3(:,:, 1)    & 
     1823                  &             + frcv(jpr_dqnsdt)%z3(:,:, 1) * ( pist(:,:,jl) - ( ( rt0 + psst(:,:) ) * ziceld(:,:)   & 
     1824                  &                                                                + pist(:,:,jl) * picefr(:,:) ) ) 
     1825            END DO 
     1826         ENDIF 
    18201827      END SELECT 
    18211828      !                                      
     
    19021909#endif 
    19031910      ! outputs 
    1904       IF ( srcv(jpr_cal)%laction       ) CALL iom_put('hflx_cal_cea'    , - frcv(jpr_cal)%z3(:,:,1) * rLfus )                      ! latent heat from calving 
    1905       IF ( srcv(jpr_icb)%laction       ) CALL iom_put('hflx_icb_cea'    , - frcv(jpr_icb)%z3(:,:,1) * rLfus )                      ! latent heat from icebergs melting 
    1906       IF ( iom_use('hflx_rain_cea')    ) CALL iom_put('hflx_rain_cea'  , ( tprecip(:,:) - sprecip(:,:) ) * zcptrain(:,:) )        ! heat flux from rain (cell average) 
    1907       IF ( iom_use('hflx_evap_cea')    ) CALL iom_put('hflx_evap_cea'   , ( frcv(jpr_tevp)%z3(:,:,1) - frcv(jpr_ievp)%z3(:,:,1) & 
    1908            &                                                              * picefr(:,:) ) * zcptn(:,:) * tmask(:,:,1) )            ! heat flux from evap (cell average) 
    1909       IF ( iom_use('hflx_snow_cea')    ) CALL iom_put('hflx_snow_cea'   , sprecip(:,:) * ( zcptsnw(:,:) - rLfus )  )               ! heat flux from snow (cell average) 
    1910       IF ( iom_use('hflx_snow_ao_cea') ) CALL iom_put('hflx_snow_ao_cea', sprecip(:,:) * ( zcptsnw(:,:) - rLfus ) & 
    1911            &                                                              * ( 1._wp - zsnw(:,:) )                  )               ! heat flux from snow (over ocean) 
    1912       IF ( iom_use('hflx_snow_ai_cea') ) CALL iom_put('hflx_snow_ai_cea', sprecip(:,:) * ( zcptsnw(:,:) - rLfus ) &  
    1913            &                                                              *           zsnw(:,:)                    )               ! heat flux from snow (over ice) 
     1911      IF ( srcv(jpr_cal)%laction ) CALL iom_put('hflx_cal_cea'    , - frcv(jpr_cal)%z3(:,:,1) * rLfus )   ! latent heat from calving 
     1912      IF ( srcv(jpr_icb)%laction ) CALL iom_put('hflx_icb_cea'    , - frcv(jpr_icb)%z3(:,:,1) * rLfus )   ! latent heat from icebergs melting 
     1913      IF ( iom_use(   'hflx_rain_cea') ) CALL iom_put('hflx_rain_cea' , ( tprecip(:,:) - sprecip(:,:) ) * zcptrain(:,:) )        ! heat flux from rain (cell average) 
     1914      IF ( iom_use(   'hflx_evap_cea') ) CALL iom_put('hflx_evap_cea' , ( frcv(jpr_tevp)%z3(:,:,1) - frcv(jpr_ievp)%z3(:,:,1) * picefr(:,:) ) & 
     1915           &                         * zcptn(:,:) * tmask(:,:,1) )            ! heat flux from evap (cell average) 
     1916      IF ( iom_use(   'hflx_prec_cea') ) CALL iom_put('hflx_prec_cea' ,    sprecip(:,:) * ( zcptsnw(:,:) - rLfus )  &                    ! heat flux from all precip (cell avg) 
     1917         &                          + ( tprecip(:,:) - sprecip(:,:) ) * zcptrain(:,:) ) 
     1918      IF ( iom_use(   'hflx_snow_cea') ) CALL iom_put('hflx_snow_cea'   , sprecip(:,:) * ( zcptsnw(:,:) - rLfus )  )               ! heat flux from snow (cell average) 
     1919      IF ( iom_use('hflx_snow_ao_cea') ) CALL iom_put('hflx_snow_ao_cea', sprecip(:,:) * ( zcptsnw(:,:) - rLfus ) * ( 1._wp - zsnw(:,:) ) )   ! heat flux from snow (over ocean) 
     1920      IF ( iom_use('hflx_snow_ai_cea') ) CALL iom_put('hflx_snow_ai_cea', sprecip(:,:) * ( zcptsnw(:,:) - rLfus ) *  zsnw(:,:) )              ! heat flux from snow (over ice) 
    19141921      ! note: hflx for runoff and iceshelf are done in sbcrnf and sbcisf resp. 
    19151922      ! 
     
    19291936            END DO 
    19301937         ENDIF 
    1931          zqsr_tot(:,:  ) = frcv(jpr_qsrmix)%z3(:,:,1) 
    1932          zqsr_ice(:,:,1) = frcv(jpr_qsrice)%z3(:,:,1) 
    19331938      CASE( 'oce and ice' ) 
    19341939         zqsr_tot(:,:  ) =  ziceld(:,:) * frcv(jpr_qsroce)%z3(:,:,1) 
     
    19501955!       Create solar heat flux over ice using incoming solar heat flux and albedos 
    19511956!       ( see OASIS3 user guide, 5th edition, p39 ) 
    1952          zqsr_ice(:,:,1) = frcv(jpr_qsrmix)%z3(:,:,1) * ( 1.- palbi(:,:,1) )   & 
    1953             &            / (  1.- ( alb_oce_mix(:,:  ) * ziceld(:,:)       & 
    1954             &                     + palbi      (:,:,1) * picefr(:,:) ) ) 
     1957         IF ( TRIM(sn_rcv_qsr%clcat) == 'yes' ) THEN 
     1958            DO jl = 1, jpl 
     1959               zqsr_ice(:,:,jl) = frcv(jpr_qsrmix)%z3(:,:,jl) * ( 1.- palbi(:,:,jl) )   & 
     1960                  &            / (  1.- ( alb_oce_mix(:,:   ) * ziceld(:,:)       & 
     1961                  &                     + palbi      (:,:,jl) * picefr(:,:) ) ) 
     1962            END DO 
     1963         ELSE 
     1964            DO jl = 1, jpl 
     1965               zqsr_ice(:,:,jl) = frcv(jpr_qsrmix)%z3(:,:, 1) * ( 1.- palbi(:,:,jl) )   & 
     1966                  &            / (  1.- ( alb_oce_mix(:,:   ) * ziceld(:,:)       & 
     1967                  &                     + palbi      (:,:,jl) * picefr(:,:) ) ) 
     1968            END DO 
     1969         ENDIF 
    19551970      CASE( 'none'      )       ! Not available as for now: needs additional coding   
    19561971      !                         ! since fields received, here zqsr_tot,  are not defined with none option 
     
    20122027      !                                                      ! ========================= ! 
    20132028      CASE ('coupled') 
    2014          qml_ice(:,:,:) = frcv(jpr_topm)%z3(:,:,:) 
    2015          qcn_ice(:,:,:) = frcv(jpr_botm)%z3(:,:,:) 
     2029         IF( ln_mixcpl ) THEN 
     2030            DO jl=1,jpl 
     2031               qml_ice(:,:,jl) = qml_ice(:,:,jl) * xcplmask(:,:,0) + frcv(jpr_topm)%z3(:,:,jl) * zmsk(:,:) 
     2032               qcn_ice(:,:,jl) = qcn_ice(:,:,jl) * xcplmask(:,:,0) + frcv(jpr_botm)%z3(:,:,jl) * zmsk(:,:) 
     2033            ENDDO 
     2034         ELSE 
     2035            qml_ice(:,:,:) = frcv(jpr_topm)%z3(:,:,:) 
     2036            qcn_ice(:,:,:) = frcv(jpr_botm)%z3(:,:,:) 
     2037         ENDIF 
    20162038      END SELECT 
    2017       ! 
    20182039      !                                                      ! ========================= ! 
    20192040      !                                                      !      Transmitted Qsr      !   [W/m2] 
     
    20222043         ! 
    20232044         !                    ! ===> used prescribed cloud fraction representative for polar oceans in summer (0.81) 
    2024          ztri = 0.18 * ( 1.0 - cldf_ice ) + 0.35 * cldf_ice    ! surface transmission parameter (Grenfell Maykut 77) 
     2045         ztri = 0.18 * ( 1.0 - cldf_ice ) + 0.35 * cldf_ice    ! surface transmission when hi>10cm (Grenfell Maykut 77) 
    20252046         ! 
    2026          qtr_ice_top(:,:,:) = ztri * qsr_ice(:,:,:) 
    2027          WHERE( phs(:,:,:) >= 0.0_wp )   qtr_ice_top(:,:,:) = 0._wp            ! snow fully opaque 
    2028          WHERE( phi(:,:,:) <= 0.1_wp )   qtr_ice_top(:,:,:) = qsr_ice(:,:,:)   ! thin ice transmits all solar radiation 
     2047         WHERE    ( phs(:,:,:) <= 0._wp .AND. phi(:,:,:) <  0.1_wp )       ! linear decrease from hi=0 to 10cm   
     2048            zqtr_ice_top(:,:,:) = qsr_ice(:,:,:) * ( ztri + ( 1._wp - ztri ) * ( 1._wp - phi(:,:,:) * 10._wp ) ) 
     2049         ELSEWHERE( phs(:,:,:) <= 0._wp .AND. phi(:,:,:) >= 0.1_wp )       ! constant (ztri) when hi>10cm 
     2050            zqtr_ice_top(:,:,:) = qsr_ice(:,:,:) * ztri 
     2051         ELSEWHERE                                                         ! zero when hs>0 
     2052            zqtr_ice_top(:,:,:) = 0._wp 
     2053         END WHERE 
    20292054         !      
    20302055      ELSEIF( ln_cndflx .AND. .NOT.ln_cndemulate ) THEN      !==  conduction flux as surface forcing  ==! 
     
    20322057         !                    ! ===> here we must receive the qtr_ice_top array from the coupler 
    20332058         !                           for now just assume zero (fully opaque ice) 
    2034          qtr_ice_top(:,:,:) = 0._wp 
     2059         zqtr_ice_top(:,:,:) = 0._wp 
     2060         ! 
     2061      ENDIF 
     2062      ! 
     2063      IF( ln_mixcpl ) THEN 
     2064         DO jl=1,jpl 
     2065            qtr_ice_top(:,:,jl) = qtr_ice_top(:,:,jl) * xcplmask(:,:,0) + zqtr_ice_top(:,:,jl) * zmsk(:,:) 
     2066         ENDDO 
     2067      ELSE 
     2068         qtr_ice_top(:,:,:) = zqtr_ice_top(:,:,:) 
     2069      ENDIF 
     2070      !                                                      ! ================== ! 
     2071      !                                                      !   ice skin temp.   ! 
     2072      !                                                      ! ================== ! 
     2073      ! needed by Met Office 
     2074      IF( srcv(jpr_ts_ice)%laction ) THEN  
     2075         WHERE    ( frcv(jpr_ts_ice)%z3(:,:,:) > 0.0  )   ;   ztsu(:,:,:) =   0. + rt0  
     2076         ELSEWHERE( frcv(jpr_ts_ice)%z3(:,:,:) < -60. )   ;   ztsu(:,:,:) = -60. + rt0 
     2077         ELSEWHERE                                        ;   ztsu(:,:,:) = frcv(jpr_ts_ice)%z3(:,:,:) + rt0 
     2078         END WHERE 
     2079         ! 
     2080         IF( ln_mixcpl ) THEN 
     2081            DO jl=1,jpl 
     2082               pist(:,:,jl) = pist(:,:,jl) * xcplmask(:,:,0) + ztsu(:,:,jl) * zmsk(:,:) 
     2083            ENDDO 
     2084         ELSE 
     2085            pist(:,:,:) = ztsu(:,:,:) 
     2086         ENDIF 
    20352087         ! 
    20362088      ENDIF 
     
    21952247         CASE default    ;   CALL ctl_stop( 'sbc_cpl_snd: wrong definition of sn_snd_thick%clcat' ) 
    21962248         END SELECT 
    2197          IF( ssnd(jps_fice)%laction )   CALL cpl_snd( jps_fice, isec, ztmp3, info ) 
     2249         CALL cpl_snd( jps_fice, isec, ztmp3, info ) 
    21982250      ENDIF 
    21992251 
     
    22552307      !                                                      !      Ice melt ponds       !  
    22562308      !                                                      ! ------------------------- ! 
    2257       ! needed by Met Office 
     2309      ! needed by Met Office: 1) fraction of ponded ice 2) local/actual pond depth  
    22582310      IF( ssnd(jps_a_p)%laction .OR. ssnd(jps_ht_p)%laction ) THEN  
    22592311         SELECT CASE( sn_snd_mpnd%cldes)   
     
    22612313            SELECT CASE( sn_snd_mpnd%clcat )   
    22622314            CASE( 'yes' )   
    2263                ztmp3(:,:,1:jpl) =  a_ip(:,:,1:jpl) 
    2264                ztmp4(:,:,1:jpl) =  v_ip(:,:,1:jpl)   
     2315               ztmp3(:,:,1:jpl) =  a_ip_frac(:,:,1:jpl) 
     2316               ztmp4(:,:,1:jpl) =  h_ip(:,:,1:jpl)   
    22652317            CASE( 'no' )   
    22662318               ztmp3(:,:,:) = 0.0   
    22672319               ztmp4(:,:,:) = 0.0   
    22682320               DO jl=1,jpl   
    2269                  ztmp3(:,:,1) = ztmp3(:,:,1) + a_ip(:,:,jpl)   
    2270                  ztmp4(:,:,1) = ztmp4(:,:,1) + v_ip(:,:,jpl)  
     2321                 ztmp3(:,:,1) = ztmp3(:,:,1) + a_ip_frac(:,:,jpl)   
     2322                 ztmp4(:,:,1) = ztmp4(:,:,1) + h_ip(:,:,jpl)  
    22712323               ENDDO   
    22722324            CASE default   ;   CALL ctl_stop( 'sbc_cpl_snd: wrong definition of sn_snd_mpnd%clcat' )   
     
    23062358      !                                                      !  CO2 flux from PISCES     !  
    23072359      !                                                      ! ------------------------- ! 
    2308       IF( ssnd(jps_co2)%laction .AND. l_co2cpl )   CALL cpl_snd( jps_co2, isec, RESHAPE ( oce_co2, (/jpi,jpj,1/) ) , info ) 
     2360      IF( ssnd(jps_co2)%laction .AND. l_co2cpl )   THEN   
     2361         ztmp1(:,:) = oce_co2(:,:) * 1000.  ! conversion in molC/m2/s  
     2362         CALL cpl_snd( jps_co2, isec, RESHAPE ( ztmp1, (/jpi,jpj,1/) ) , info )  
     2363      ENDIF  
    23092364      ! 
    23102365      !                                                      ! ------------------------- ! 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/OCE/SBC/sbcmod.F90

    r12143 r12706  
    236236#endif 
    237237      ! 
     238      ! 
     239      IF( sbc_ssr_alloc() /= 0 )   CALL ctl_stop( 'STOP', 'sbc_init : unable to allocate sbc_ssr arrays' ) 
     240      IF( .NOT.ln_ssr ) THEN               !* Initialize qrp and erp if no restoring  
     241         qrp(:,:) = 0._wp 
     242         erp(:,:) = 0._wp 
     243      ENDIF 
     244      ! 
     245 
    238246      IF( nn_ice == 0 ) THEN        !* No sea-ice in the domain : ice fraction is always zero 
    239247         IF( nn_components /= jp_iam_opa )   fr_i(:,:) = 0._wp    ! except for OPA in SAS-OPA coupled case 
     
    536544         CALL iom_put( "taum"  , taum       )                   ! wind stress module 
    537545         CALL iom_put( "wspd"  , wndm       )                   ! wind speed  module over free ocean or leads in presence of sea-ice 
     546         CALL iom_put( "qrp", qrp )                             ! heat flux damping 
     547         CALL iom_put( "erp", erp )                             ! freshwater flux damping 
    538548      ENDIF 
    539549      ! 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/OCE/SBC/sbcrnf.F90

    r12143 r12706  
    2020   USE sbc_oce        ! surface boundary condition variables 
    2121   USE eosbn2         ! Equation Of State 
    22    USE closea        ! closed seas 
     22   USE closea, ONLY: l_clo_rnf, clo_rnf ! closed seas 
    2323   ! 
    2424   USE in_out_manager ! I/O manager 
     
    4242   REAL(wp)                   ::      rn_dep_max        !: depth over which runoffs is spread       (ln_rnf_depth_ini =T) 
    4343   INTEGER                    ::      nn_rnf_depth_file !: create (=1) a runoff depth file or not (=0) 
     44   LOGICAL                    ::   ln_rnf_icb        !: iceberg flux is specified in a file 
    4445   LOGICAL                    ::   ln_rnf_tem        !: temperature river runoffs attribute specified in a file 
    4546   LOGICAL           , PUBLIC ::   ln_rnf_sal        !: salinity    river runoffs attribute specified in a file 
    4647   TYPE(FLD_N)       , PUBLIC ::   sn_rnf            !: information about the runoff file to be read 
    4748   TYPE(FLD_N)                ::   sn_cnf            !: information about the runoff mouth file to be read 
     49   TYPE(FLD_N)                ::   sn_i_rnf        !: information about the iceberg flux file to be read 
    4850   TYPE(FLD_N)                ::   sn_s_rnf          !: information about the salinities of runoff file to be read 
    4951   TYPE(FLD_N)                ::   sn_t_rnf          !: information about the temperatures of runoff file to be read 
     
    6466 
    6567   TYPE(FLD),        ALLOCATABLE, DIMENSION(:) ::   sf_rnf       ! structure: river runoff (file information, fields read) 
     68   TYPE(FLD),        ALLOCATABLE, DIMENSION(:) ::   sf_i_rnf     ! structure: iceberg flux (file information, fields read) 
    6669   TYPE(FLD),        ALLOCATABLE, DIMENSION(:) ::   sf_s_rnf     ! structure: river runoff salinity (file information, fields read)   
    6770   TYPE(FLD),        ALLOCATABLE, DIMENSION(:) ::   sf_t_rnf     ! structure: river runoff temperature (file information, fields read)   
     
    111114      !                                            !-------------------! 
    112115      ! 
    113       IF( .NOT. l_rnfcpl )   CALL fld_read ( kt, nn_fsbc, sf_rnf   )    ! Read Runoffs data and provide it at kt 
     116      ! 
     117      IF( .NOT. l_rnfcpl )  THEN 
     118                            CALL fld_read ( kt, nn_fsbc, sf_rnf   )    ! Read Runoffs data and provide it at kt ( runoffs + iceberg ) 
     119         IF( ln_rnf_icb )   CALL fld_read ( kt, nn_fsbc, sf_i_rnf )    ! idem for iceberg flux if required 
     120      ENDIF 
    114121      IF(   ln_rnf_tem   )   CALL fld_read ( kt, nn_fsbc, sf_t_rnf )    ! idem for runoffs temperature if required 
    115122      IF(   ln_rnf_sal   )   CALL fld_read ( kt, nn_fsbc, sf_s_rnf )    ! idem for runoffs salinity    if required 
     
    117124      IF( MOD( kt - 1, nn_fsbc ) == 0 ) THEN 
    118125         ! 
    119          IF( .NOT. l_rnfcpl )   rnf(:,:) = rn_rfact * ( sf_rnf(1)%fnow(:,:,1) ) * tmask(:,:,1)       ! updated runoff value at time step kt 
     126         IF( .NOT. l_rnfcpl ) THEN 
     127             rnf(:,:) = rn_rfact * ( sf_rnf(1)%fnow(:,:,1) ) * tmask(:,:,1)  ! updated runoff value at time step kt 
     128             IF( ln_rnf_icb ) THEN 
     129                fwficb(:,:) = rn_rfact * ( sf_i_rnf(1)%fnow(:,:,1) ) * tmask(:,:,1)  ! updated runoff value at time step kt 
     130                CALL iom_put( 'iceberg_cea'  , fwficb(:,:)  )         ! output iceberg flux 
     131                CALL iom_put( 'hflx_icb_cea' , fwficb(:,:) * rLfus )   ! output Heat Flux into Sea Water due to Iceberg Thermodynamics --> 
     132             ENDIF 
     133         ENDIF 
    120134         ! 
    121135         !                                                           ! set temperature & salinity content of runoffs 
     
    128142         ELSE                                                        ! use SST as runoffs temperature 
    129143            !CEOD River is fresh water so must at least be 0 unless we consider ice 
    130             rnf_tsc(:,:,jp_tem) = MAX(sst_m(:,:),0.0_wp) * rnf(:,:) * r1_rau0 
     144            rnf_tsc(:,:,jp_tem) = MAX( sst_m(:,:), 0.0_wp ) * rnf(:,:) * r1_rau0 
    131145         ENDIF 
    132146         !                                                           ! use runoffs salinity data 
    133147         IF( ln_rnf_sal )   rnf_tsc(:,:,jp_sal) = ( sf_s_rnf(1)%fnow(:,:,1) ) * rnf(:,:) * r1_rau0 
    134148         !                                                           ! else use S=0 for runoffs (done one for all in the init) 
    135          IF( iom_use('runoffs') )        CALL iom_put( 'runoffs'     , rnf(:,:)                         )   ! output runoff mass flux 
     149                                         CALL iom_put( 'runoffs'     , rnf(:,:)                         )   ! output runoff mass flux 
    136150         IF( iom_use('hflx_rnf_cea') )   CALL iom_put( 'hflx_rnf_cea', rnf_tsc(:,:,jp_tem) * rau0 * rcp )   ! output runoff sensible heat (W/m2) 
    137151      ENDIF 
     
    238252      REAL(wp), DIMENSION(jpi,jpj,2) :: zrnfcl     
    239253      !! 
    240       NAMELIST/namsbc_rnf/ cn_dir            , ln_rnf_depth, ln_rnf_tem, ln_rnf_sal,   & 
    241          &                 sn_rnf, sn_cnf    , sn_s_rnf    , sn_t_rnf  , sn_dep_rnf,   & 
     254      NAMELIST/namsbc_rnf/ cn_dir            , ln_rnf_depth, ln_rnf_tem, ln_rnf_sal, ln_rnf_icb,   & 
     255         &                 sn_rnf, sn_cnf    , sn_i_rnf, sn_s_rnf    , sn_t_rnf  , sn_dep_rnf,   & 
    242256         &                 ln_rnf_mouth      , rn_hrnf     , rn_avt_rnf, rn_rfact,     & 
    243257         &                 ln_rnf_depth_ini  , rn_dep_max  , rn_rnf_max, nn_rnf_depth_file 
     
    261275      !                                   ! ============ 
    262276      ! 
    263       REWIND( numnam_ref )              ! Namelist namsbc_rnf in reference namelist : Runoffs  
     277      REWIND( numnam_ref ) 
    264278      READ  ( numnam_ref, namsbc_rnf, IOSTAT = ios, ERR = 901) 
    265279901   IF( ios /= 0 )   CALL ctl_nam ( ios , 'namsbc_rnf in reference namelist' ) 
    266280 
    267       REWIND( numnam_cfg )              ! Namelist namsbc_rnf in configuration namelist : Runoffs 
     281      REWIND( numnam_cfg ) 
    268282      READ  ( numnam_cfg, namsbc_rnf, IOSTAT = ios, ERR = 902 ) 
    269283902   IF( ios >  0 )   CALL ctl_nam ( ios , 'namsbc_rnf in configuration namelist' ) 
     
    295309         IF( sn_rnf%ln_tint ) ALLOCATE( sf_rnf(1)%fdta(jpi,jpj,1,2) ) 
    296310         CALL fld_fill( sf_rnf, (/ sn_rnf /), cn_dir, 'sbc_rnf_init', 'read runoffs data', 'namsbc_rnf', no_print ) 
     311         ! 
     312         IF( ln_rnf_icb ) THEN                      ! Create (if required) sf_i_rnf structure 
     313            IF(lwp) WRITE(numout,*) 
     314            IF(lwp) WRITE(numout,*) '          iceberg flux read in a file' 
     315            ALLOCATE( sf_i_rnf(1), STAT=ierror  ) 
     316            IF( ierror > 0 ) THEN 
     317               CALL ctl_stop( 'sbc_rnf_init: unable to allocate sf_i_rnf structure' )   ;   RETURN 
     318            ENDIF 
     319            ALLOCATE( sf_i_rnf(1)%fnow(jpi,jpj,1)   ) 
     320            IF( sn_i_rnf%ln_tint ) ALLOCATE( sf_i_rnf(1)%fdta(jpi,jpj,1,2) ) 
     321            CALL fld_fill (sf_i_rnf, (/ sn_i_rnf /), cn_dir, 'sbc_rnf_init', 'read iceberg flux data', 'namsbc_rnf' ) 
     322         ELSE 
     323            fwficb(:,:) = 0._wp 
     324         ENDIF 
     325 
    297326      ENDIF 
    298327      ! 
     
    337366               IF( h_rnf(ji,jj) > 0._wp ) THEN 
    338367                  jk = 2 
    339                   DO WHILE ( jk /= mbkt(ji,jj) .AND. gdept_0(ji,jj,jk) < h_rnf(ji,jj) ) ;  jk = jk + 1 
     368                  DO WHILE ( jk < mbkt(ji,jj) .AND. gdept_0(ji,jj,jk) < h_rnf(ji,jj) ) ;  jk = jk + 1 
    340369                  END DO 
    341370                  nk_rnf(ji,jj) = jk 
     
    394423               IF( zrnfcl(ji,jj,1) > 0._wp ) THEN 
    395424                  jk = 2 
    396                   DO WHILE ( jk /= mbkt(ji,jj) .AND. gdept_0(ji,jj,jk) < h_rnf(ji,jj) ) ;  jk = jk + 1 
     425                  DO WHILE ( jk < mbkt(ji,jj) .AND. gdept_0(ji,jj,jk) < h_rnf(ji,jj) ) ;  jk = jk + 1 
    397426                  END DO 
    398427                  nk_rnf(ji,jj) = jk 
     
    435464         !                                      !    - mixed upstream-centered (ln_traadv_cen2=T) 
    436465         ! 
    437          IF ( ln_rnf_depth )   CALL ctl_warn( 'sbc_rnf_init: increased mixing turned on but effects may already',   & 
     466         IF( ln_rnf_depth )   CALL ctl_warn( 'sbc_rnf_init: increased mixing turned on but effects may already',   & 
    438467            &                                              'be spread through depth by ln_rnf_depth'               ) 
    439468         ! 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/OCE/SBC/sbcssr.F90

    r12143 r12706  
    3030   PUBLIC   sbc_ssr        ! routine called in sbcmod 
    3131   PUBLIC   sbc_ssr_init   ! routine called in sbcmod 
     32   PUBLIC   sbc_ssr_alloc  ! routine called in sbcmod 
    3233 
    3334   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   erp   !: evaporation damping   [kg/m2/s] 
    3435   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   qrp   !: heat flux damping        [w/m2] 
     36   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   coefice   !: under ice relaxation coefficient 
    3537 
    3638   !                                   !!* Namelist namsbc_ssr * 
     
    4143   LOGICAL         ::   ln_sssr_bnd     ! flag to bound erp term  
    4244   REAL(wp)        ::   rn_sssr_bnd     ! ABS(Max./Min.) value of erp term [mm/day] 
     45   INTEGER         ::   nn_sssr_ice     ! Control of restoring under ice 
    4346 
    4447   REAL(wp) , ALLOCATABLE, DIMENSION(:) ::   buffer   ! Temporary buffer for exchange 
     
    97100                  END DO 
    98101               END DO 
    99                CALL iom_put( "qrp", qrp )                             ! heat flux damping 
     102            ENDIF 
     103            ! 
     104            IF( nn_sssr /= 0 .AND. nn_sssr_ice /= 1 ) THEN 
     105              ! use fraction of ice ( fr_i ) to adjust relaxation under ice if nn_sssr_ice .ne. 1 
     106              ! n.b. coefice is initialised and fixed to 1._wp if nn_sssr_ice = 1 
     107               DO jj = 1, jpj 
     108                  DO ji = 1, jpi 
     109                     SELECT CASE ( nn_sssr_ice ) 
     110                       CASE ( 0 )    ;  coefice(ji,jj) = 1._wp - fr_i(ji,jj)              ! no/reduced damping under ice 
     111                       CASE  DEFAULT ;  coefice(ji,jj) = 1._wp + ( nn_sssr_ice - 1 ) * fr_i(ji,jj) ! reinforced damping (x nn_sssr_ice) under ice ) 
     112                     END SELECT 
     113                  END DO 
     114               END DO 
    100115            ENDIF 
    101116            ! 
     
    105120                  DO ji = 1, jpi 
    106121                     zerp = zsrp * ( 1. - 2.*rnfmsk(ji,jj) )   &      ! No damping in vicinity of river mouths 
     122                        &        *   coefice(ji,jj)            &      ! Optional control of damping under sea-ice 
    107123                        &        * ( sss_m(ji,jj) - sf_sss(1)%fnow(ji,jj,1) ) * tmask(ji,jj,1) 
    108124                     sfx(ji,jj) = sfx(ji,jj) + zerp                 ! salt flux 
     
    110126                  END DO 
    111127               END DO 
    112                CALL iom_put( "erp", erp )                             ! freshwater flux damping 
    113128               ! 
    114129            ELSEIF( nn_sssr == 2 ) THEN                               !* Salinity damping term (volume flux (emp) and associated heat flux (qns) 
     
    118133                  DO ji = 1, jpi                             
    119134                     zerp = zsrp * ( 1. - 2.*rnfmsk(ji,jj) )   &      ! No damping in vicinity of river mouths 
     135                        &        *   coefice(ji,jj)            &      ! Optional control of damping under sea-ice 
    120136                        &        * ( sss_m(ji,jj) - sf_sss(1)%fnow(ji,jj,1) )   & 
    121137                        &        / MAX(  sss_m(ji,jj), 1.e-20   ) * tmask(ji,jj,1) 
     
    126142                  END DO 
    127143               END DO 
    128                CALL iom_put( "erp", erp )                             ! freshwater flux damping 
    129144            ENDIF 
    130145            ! 
     
    154169      CHARACTER(len=100) ::  cn_dir          ! Root directory for location of ssr files 
    155170      TYPE(FLD_N) ::   sn_sst, sn_sss        ! informations about the fields to be read 
    156       NAMELIST/namsbc_ssr/ cn_dir, nn_sstr, nn_sssr, rn_dqdt, rn_deds, sn_sst, sn_sss, ln_sssr_bnd, rn_sssr_bnd 
     171      NAMELIST/namsbc_ssr/ cn_dir, nn_sstr, nn_sssr, rn_dqdt, rn_deds, sn_sst, & 
     172              & sn_sss, ln_sssr_bnd, rn_sssr_bnd, nn_sssr_ice 
    157173      INTEGER     ::  ios 
    158174      !!---------------------------------------------------------------------- 
     
    182198         WRITE(numout,*) '         flag to bound erp term                 ln_sssr_bnd = ', ln_sssr_bnd 
    183199         WRITE(numout,*) '         ABS(Max./Min.) erp threshold           rn_sssr_bnd = ', rn_sssr_bnd, ' mm/day' 
    184       ENDIF 
    185       ! 
    186       !                            !* Allocate erp and qrp array 
    187       ALLOCATE( qrp(jpi,jpj), erp(jpi,jpj), STAT=ierror ) 
    188       IF( ierror > 0 )   CALL ctl_stop( 'STOP', 'sbc_ssr: unable to allocate erp and qrp array' ) 
     200         WRITE(numout,*) '      Cntrl of surface restoration under ice nn_sssr_ice    = ', nn_sssr_ice 
     201         WRITE(numout,*) '          ( 0 = no restoration under ice)' 
     202         WRITE(numout,*) '          ( 1 = restoration everywhere  )' 
     203         WRITE(numout,*) '          (>1 = enhanced restoration under ice  )' 
     204      ENDIF 
    189205      ! 
    190206      IF( nn_sstr == 1 ) THEN      !* set sf_sst structure & allocate arrays 
     
    216232      ENDIF 
    217233      ! 
     234      coefice(:,:) = 1._wp         !  Initialise coefice to 1._wp ; will not need to be changed if nn_sssr_ice=1 
    218235      !                            !* Initialize qrp and erp if no restoring  
    219236      IF( nn_sstr /= 1                   )   qrp(:,:) = 0._wp 
     
    221238      ! 
    222239   END SUBROUTINE sbc_ssr_init 
     240          
     241   INTEGER FUNCTION sbc_ssr_alloc() 
     242      !!---------------------------------------------------------------------- 
     243      !!               ***  FUNCTION sbc_ssr_alloc  *** 
     244      !!---------------------------------------------------------------------- 
     245      sbc_ssr_alloc = 0       ! set to zero if no array to be allocated 
     246      IF( .NOT. ALLOCATED( erp ) ) THEN 
     247         ALLOCATE( qrp(jpi,jpj), erp(jpi,jpj), coefice(jpi,jpj), STAT= sbc_ssr_alloc ) 
     248         ! 
     249         IF( lk_mpp                  )   CALL mpp_sum ( 'sbcssr', sbc_ssr_alloc ) 
     250         IF( sbc_ssr_alloc /= 0 )   CALL ctl_warn('sbc_ssr_alloc: failed to allocate arrays.') 
     251         ! 
     252      ENDIF 
     253   END FUNCTION 
    223254       
    224255   !!====================================================================== 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/OCE/TRA/trabbc.F90

    r12143 r12706  
    100100      ENDIF 
    101101      ! 
     102      CALL iom_put ( "hfgeou" , rau0_rcp * qgh_trd0(:,:) ) 
     103      ! 
    102104      IF(ln_ctl)   CALL prt_ctl( tab3d_1=tsa(:,:,:,jp_tem), clinfo1=' bbc  - Ta: ', mask1=tmask, clinfo3='tra-ta' ) 
    103105      ! 
     
    133135      !!---------------------------------------------------------------------- 
    134136      ! 
    135       REWIND( numnam_ref )              ! Namelist nambbc in reference namelist : Bottom momentum boundary condition 
     137      REWIND( numnam_ref ) 
    136138      READ  ( numnam_ref, nambbc, IOSTAT = ios, ERR = 901) 
    137139901   IF( ios /= 0 )   CALL ctl_nam ( ios , 'nambbc in reference namelist' ) 
    138140      ! 
    139       REWIND( numnam_cfg )              ! Namelist nambbc in configuration namelist : Bottom momentum boundary condition 
     141      REWIND( numnam_cfg ) 
    140142      READ  ( numnam_cfg, nambbc, IOSTAT = ios, ERR = 902 ) 
    141143902   IF( ios >  0 )   CALL ctl_nam ( ios , 'nambbc in configuration namelist' ) 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/OCE/TRA/tranxt.F90

    r12167 r12706  
    267267      INTEGER  ::   ji, jj, jk, jn              ! dummy loop indices 
    268268      REAL(wp) ::   zfact, zfact1, ztc_a , ztc_n , ztc_b , ztc_f , ztc_d    ! local scalar 
    269       REAL(wp) ::   zfact2, ze3t_b, ze3t_n, ze3t_a, ze3t_f, ze3t_d   !   -      - 
     269      REAL(wp) ::   zfact2, ze3t_b, ze3t_n, ze3t_a, ze3t_f, ze3t_d, zscale  !   -      - 
    270270      REAL(wp), ALLOCATABLE, DIMENSION(:,:,:,:) ::   ztrd_atf 
    271271      !!---------------------------------------------------------------------- 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/OCE/nemogcm.F90

    r12143 r12706  
    7373   USE step_diu       ! diurnal bulk SST timestepping (called from here if run offline) 
    7474   USE crsini         ! initialise grid coarsening utility 
    75    USE diatmb         ! Top,middle,bottom output 
    7675   USE dia25h         ! 25h mean output 
    7776   USE sbc_oce , ONLY : lk_oasis 
     
    489488                           CALL     trd_init    ! Mixed-layer/Vorticity/Integral constraints trends 
    490489                           CALL dia_obs_init    ! Initialize observational data 
    491                            CALL dia_tmb_init    ! TMB outputs 
    492490                           CALL dia_25h_init    ! 25h mean  outputs 
    493491                           CALL dia_harm_init   ! tidal harmonics outputs 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/OCE/step.F90

    r12143 r12706  
    155155      IF( l_ldftra_time .OR. l_ldfeiv_time )   CALL ldf_tra( kstp )       !       and/or eiv coeff. 
    156156      IF( l_ldfdyn_time                    )   CALL ldf_dyn( kstp )       ! eddy viscosity coeff.  
    157  
    158157      !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    159158      !  Ocean dynamics : hdiv, ssh, e3, u, v, w 
     
    189188         IF(.NOT.ln_linssh) CALL dom_vvl_sf_nxt( kstp, kcall=2 )  ! after vertical scale factors (update depth average component) 
    190189      ENDIF 
    191                          CALL dyn_zdf       ( kstp )  ! vertical diffusion 
    192  
    193       IF( ln_dynspg_ts ) THEN                          
     190                            CALL dyn_zdf    ( kstp )  ! vertical diffusion 
     191      IF( ln_dynspg_ts ) THEN                         ! vertical scale factors and vertical velocity need to be updated 
    194192                            CALL wzv        ( kstp )              ! now cross-level velocity  
    195193         IF( ln_zad_Aimp )  CALL wAimp      ( kstp )  ! Adaptive-implicit vertical advection partitioning 
    196194      ENDIF 
     195       
    197196 
    198197      !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
     
    206205      IF( ln_floats  )   CALL flo_stp ( kstp )        ! drifting Floats 
    207206      IF( ln_diacfl  )   CALL dia_cfl ( kstp )        ! Courant number diagnostics 
    208       IF( lk_diahth  )   CALL dia_hth ( kstp )        ! Thermocline depth (20 degres isotherm depth) 
     207                         CALL dia_hth ( kstp )        ! Thermocline depth (20 degres isotherm depth) 
    209208      IF( ln_diadct  )   CALL dia_dct ( kstp )        ! Transports 
    210209                         CALL dia_ar5 ( kstp )        ! ar5 diag 
     210      IF( ln_diaptr  )   CALL dia_ptr                 ! Poleward adv/ldf TRansports diagnostics 
    211211      IF( ln_diaharm )   CALL dia_harm( kstp )        ! Tidal harmonic analysis 
    212212                         CALL dia_wri ( kstp )        ! ocean model: outputs 
     
    245245                         CALL tra_ldf       ( kstp )  ! lateral mixing 
    246246 
    247 !!gm : why CALL to dia_ptr has been moved here??? (use trends info?) 
    248       IF( ln_diaptr  )   CALL dia_ptr                 ! Poleward adv/ldf TRansports diagnostics 
    249 !!gm 
    250247                         CALL tra_zdf       ( kstp )  ! vertical mixing and after tracer fields 
    251248      IF( ln_zdfnpc  )   CALL tra_npc       ( kstp )  ! update after fields by non-penetrative convection 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/TOP/CFC/trcsms_cfc.F90

    r10425 r12706  
    105105         im2       =      nmonth - 7 
    106106      ENDIF 
     107      ! Avoid bad interpolation if starting date is =< 1900 
     108      IF( iyear_beg .LE. 0      )  iyear_beg = 1 
     109      IF( iyear_beg .GE. jpyear )  iyear_beg = jpyear - 1 
     110      ! 
    107111      iyear_end = iyear_beg + 1 
    108112 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/TOP/PISCES/P4Z/p4zfechem.F90

    r12143 r12706  
    1515   USE sms_pisces      ! PISCES Source Minus Sink variables 
    1616   USE p4zche          ! chemical model 
    17    USE p4zsbc          ! Boundary conditions from sediments 
     17   USE p4zsbc           ! Boundary conditions from sediments 
    1818   USE prtctl_trc      ! print control for debugging 
    1919   USE iom             ! I/O manager 
     
    7171      IF( ln_timing )   CALL timing_start('p4z_fechem') 
    7272      ! 
    73       zFe3 (:,:,:) = 0. 
    74       zFeL1(:,:,:) = 0. 
    75       zTL1 (:,:,:) = 0. 
    7673 
    7774      ! Total ligand concentration : Ligands can be chosen to be constant or variable 
     
    209206         IF( knt == nrdttrc ) THEN 
    210207            zrfact2 = 1.e3 * rfact2r  ! conversion from mol/L/timestep into mol/m3/s 
    211             IF( iom_use("Fe3")    )  CALL iom_put("Fe3"    , zFe3   (:,:,:)       * tmask(:,:,:) )   ! Fe3+ 
    212             IF( iom_use("FeL1")   )  CALL iom_put("FeL1"   , zFeL1  (:,:,:)       * tmask(:,:,:) )   ! FeL1 
    213             IF( iom_use("TL1")    )  CALL iom_put("TL1"    , zTL1   (:,:,:)       * tmask(:,:,:) )   ! TL1 
    214             IF( iom_use("Totlig") )  CALL iom_put("Totlig" , ztotlig(:,:,:)       * tmask(:,:,:) )   ! TL 
    215             IF( iom_use("Biron")  )  CALL iom_put("Biron"  , biron  (:,:,:)  * 1e9 * tmask(:,:,:) )   ! biron 
    216             IF( iom_use("FESCAV") )  CALL iom_put("FESCAV" , zscav3d(:,:,:)  * 1e9 * tmask(:,:,:) * zrfact2 ) 
    217             IF( iom_use("FECOLL") )  CALL iom_put("FECOLL" , zcoll3d(:,:,:)  * 1e9 * tmask(:,:,:) * zrfact2 ) 
    218             IF( iom_use("LGWCOLL"))  CALL iom_put("LGWCOLL", zlcoll3d(:,:,:) * 1e9 * tmask(:,:,:) * zrfact2 ) 
     208            IF( iom_use("Fe3")  )  THEN 
     209               zFe3(:,:,jpk) = 0.  ;  CALL iom_put("Fe3" , zFe3(:,:,:) * tmask(:,:,:) )   ! Fe3+ 
     210            ENDIF 
     211            IF( iom_use("FeL1") )  THEN 
     212              zFeL1(:,:,jpk) = 0.  ;  CALL iom_put("FeL1", zFeL1(:,:,:) * tmask(:,:,:) )   ! FeL1 
     213            ENDIF 
     214            IF( iom_use("TL1")  )  THEN 
     215              zTL1(:,:,jpk) = 0.   ;  CALL iom_put("TL1" , zTL1(:,:,:) * tmask(:,:,:) )   ! TL1 
     216            ENDIF 
     217            CALL iom_put("Totlig" , ztotlig(:,:,:)       * tmask(:,:,:) )   ! TL 
     218            CALL iom_put("Biron"  , biron  (:,:,:)  * 1e9 * tmask(:,:,:) )   ! biron 
     219            IF( iom_use("FESCAV") )  THEN 
     220               zscav3d (:,:,jpk) = 0.  ;  CALL iom_put("FESCAV" , zscav3d(:,:,:)  * 1e9 * tmask(:,:,:) * zrfact2 ) 
     221            ENDIF 
     222            IF( iom_use("FECOLL") ) THEN 
     223               zcoll3d (:,:,jpk) = 0.  ;   CALL iom_put("FECOLL" , zcoll3d(:,:,:)  * 1e9 * tmask(:,:,:) * zrfact2 ) 
     224            ENDIF 
     225            IF( iom_use("LGWCOLL")) THEN 
     226               zlcoll3d(:,:,jpk) = 0.  ;  CALL iom_put("LGWCOLL", zlcoll3d(:,:,:) * 1e9 * tmask(:,:,:) * zrfact2 ) 
     227            ENDIF 
    219228         ENDIF 
    220229      ENDIF 
     
    254263      ENDIF 
    255264      ! 
    256       REWIND( numnatp_ref )            ! Namelist nampisfer in reference namelist : Pisces iron chemistry 
     265      REWIND( numnatp_ref ) 
    257266      READ  ( numnatp_ref, nampisfer, IOSTAT = ios, ERR = 901) 
    258267901   IF( ios /= 0 )   CALL ctl_nam ( ios , 'nampisfer in reference namelist' ) 
    259       REWIND( numnatp_cfg )            ! Namelist nampisfer in configuration namelist : Pisces iron chemistry 
     268 
     269      REWIND( numnatp_cfg ) 
    260270      READ  ( numnatp_cfg, nampisfer, IOSTAT = ios, ERR = 902 ) 
    261271902   IF( ios >  0 )   CALL ctl_nam ( ios , 'nampisfer in configuration namelist' ) 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/TOP/PISCES/P4Z/p4zflx.F90

    r12143 r12706  
    8080      CHARACTER (len=25) ::   charout 
    8181      REAL(wp), DIMENSION(jpi,jpj) ::   zkgco2, zkgo2, zh2co3, zoflx,  zpco2atm   
    82       REAL(wp), ALLOCATABLE, DIMENSION(:,:) ::   zw2d 
    8382      !!--------------------------------------------------------------------- 
    8483      ! 
     
    160159            zfld = zfco2 * chemc(ji,jj,1) * zkgco2(ji,jj)  ! (mol/L) * (m/s) 
    161160            zflu = zh2co3(ji,jj) * zkgco2(ji,jj)                                   ! (mol/L) (m/s) ? 
    162             oce_co2(ji,jj) = ( zfld - zflu ) * rfact2 * e1e2t(ji,jj) * tmask(ji,jj,1) * 1000. 
     161            oce_co2(ji,jj) = ( zfld - zflu ) * tmask(ji,jj,1)  
    163162            ! compute the trend 
    164             tra(ji,jj,1,jpdic) = tra(ji,jj,1,jpdic) + ( zfld - zflu ) * rfact2 / e3t_n(ji,jj,1) * tmask(ji,jj,1) 
     163            tra(ji,jj,1,jpdic) = tra(ji,jj,1,jpdic) + oce_co2(ji,jj) * rfact2 / e3t_n(ji,jj,1) 
    165164 
    166165            ! Compute O2 flux  
     
    174173      IF( iom_use("tcflx") .OR. iom_use("tcflxcum") .OR. kt == nitrst   & 
    175174         &                 .OR. (ln_check_mass .AND. kt == nitend) )    & 
    176          t_oce_co2_flx  = glob_sum( 'p4zflx', oce_co2(:,:) )                    !  Total Flux of Carbon 
     175         t_oce_co2_flx  = glob_sum( 'p4zflx', oce_co2(:,:) * e1e2t(:,:) * 1000. )                    !  Total Flux of Carbon 
    177176      t_oce_co2_flx_cum = t_oce_co2_flx_cum + t_oce_co2_flx       !  Cumulative Total Flux of Carbon 
    178177!      t_atm_co2_flx     = glob_sum( 'p4zflx', satmco2(:,:) * e1e2t(:,:) )       ! Total atmospheric pCO2 
     
    186185 
    187186      IF( lk_iomput .AND. knt == nrdttrc ) THEN 
    188          ALLOCATE( zw2d(jpi,jpj) )   
    189          IF( iom_use( "Cflx"  ) )  THEN 
    190             zw2d(:,:) = oce_co2(:,:) / e1e2t(:,:) * rfact2r 
    191             CALL iom_put( "Cflx"     , zw2d )  
    192          ENDIF 
    193          IF( iom_use( "Oflx"  ) )  THEN 
    194             zw2d(:,:) =  zoflx(:,:) * 1000 * tmask(:,:,1) 
    195             CALL iom_put( "Oflx" , zw2d ) 
    196          ENDIF 
    197          IF( iom_use( "Kg"    ) )  THEN 
    198             zw2d(:,:) =  zkgco2(:,:) * tmask(:,:,1) 
    199             CALL iom_put( "Kg"   , zw2d ) 
    200          ENDIF 
    201          IF( iom_use( "Dpco2" ) ) THEN 
    202            zw2d(:,:) = ( zpco2atm(:,:) - zh2co3(:,:) / ( chemc(:,:,1) + rtrn ) ) * tmask(:,:,1) 
    203            CALL iom_put( "Dpco2" ,  zw2d ) 
    204          ENDIF 
    205          IF( iom_use( "Dpo2" ) )  THEN 
    206            zw2d(:,:) = ( atcox * patm(:,:) - atcox * trb(:,:,1,jpoxy) / ( chemo2(:,:,1) + rtrn ) ) * tmask(:,:,1) 
    207            CALL iom_put( "Dpo2"  , zw2d ) 
    208          ENDIF 
    209          CALL iom_put( "tcflx"    , t_oce_co2_flx * rfact2r )   ! molC/s 
    210          CALL iom_put( "tcflxcum" , t_oce_co2_flx_cum       )   ! molC 
    211          ! 
    212          DEALLOCATE( zw2d ) 
     187         CALL iom_put( "AtmCo2"  , satmco2(:,:) * tmask(:,:,1) )   ! Atmospheric CO2 concentration 
     188         CALL iom_put( "Cflx"    , oce_co2(:,:) * 1000. )  
     189         CALL iom_put( "Oflx"    , zoflx(:,:) * 1000.  ) 
     190         CALL iom_put( "Kg"      , zkgco2(:,:) * tmask(:,:,1)  ) 
     191         CALL iom_put( "Dpco2"   , ( zpco2atm(:,:) - zh2co3(:,:) / ( chemc(:,:,1) + rtrn ) ) * tmask(:,:,1) ) 
     192         CALL iom_put( "pCO2sea" , ( zh2co3(:,:) / ( chemc(:,:,1) + rtrn ) ) * tmask(:,:,1) ) 
     193         CALL iom_put( "Dpo2"    , ( atcox * patm(:,:) - atcox * trb(:,:,1,jpoxy) / ( chemo2(:,:,1) + rtrn ) ) * tmask(:,:,1) ) 
     194         CALL iom_put( "tcflx"   , t_oce_co2_flx     )   ! molC/s 
     195         CALL iom_put( "tcflxcum", t_oce_co2_flx_cum )   ! molC 
    213196      ENDIF 
    214197      ! 
     
    239222      ENDIF 
    240223      ! 
    241       REWIND( numnatp_ref )              ! Namelist nampisext in reference namelist : Pisces atm. conditions 
     224      REWIND( numnatp_ref ) 
    242225      READ  ( numnatp_ref, nampisext, IOSTAT = ios, ERR = 901) 
    243226901   IF( ios /= 0 )   CALL ctl_nam ( ios , 'nampisext in reference namelist' ) 
    244       REWIND( numnatp_cfg )              ! Namelist nampisext in configuration namelist : Pisces atm. conditions 
     227 
     228      REWIND( numnatp_cfg ) 
    245229      READ  ( numnatp_cfg, nampisext, IOSTAT = ios, ERR = 902 ) 
    246230902   IF( ios >  0 )   CALL ctl_nam ( ios , 'nampisext in configuration namelist' ) 
     
    320304         ENDIF 
    321305         ! 
    322          REWIND( numnatp_ref )              ! Namelist nampisatm in reference namelist : Pisces atm. sea level pressure file 
     306         REWIND( numnatp_ref ) 
    323307         READ  ( numnatp_ref, nampisatm, IOSTAT = ios, ERR = 901) 
    324308901      IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisatm in reference namelist' ) 
    325          REWIND( numnatp_cfg )              ! Namelist nampisatm in configuration namelist : Pisces atm. sea level pressure file  
     309 
     310         REWIND( numnatp_cfg ) 
    326311         READ  ( numnatp_cfg, nampisatm, IOSTAT = ios, ERR = 902 ) 
    327312902      IF( ios >  0 )   CALL ctl_nam ( ios , 'nampisatm in configuration namelist' ) 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/TOP/PISCES/P4Z/p4zligand.F90

    r12143 r12706  
    4343      INTEGER  ::   ji, jj, jk 
    4444      REAL(wp) ::   zlgwp, zlgwpr, zlgwr, zlablgw 
    45       REAL(wp), DIMENSION(jpi,jpj,jpk) :: zligrem, zligpr, zrligprod 
    46       REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) ::   zw3d 
     45      REAL(wp), DIMENSION(jpi,jpj,jpk) :: zligrem, zligpr, zligprod 
    4746      CHARACTER (len=25) ::   charout 
    4847      !!--------------------------------------------------------------------- 
     
    6968               zligrem(ji,jj,jk)   = zlgwr 
    7069               zligpr(ji,jj,jk)    = zlgwpr 
    71                zrligprod(ji,jj,jk) = zlgwp 
     70               zligprod(ji,jj,jk) = zlgwp 
    7271               ! 
    7372            END DO 
     
    7877      !     --------------------------------- 
    7978      IF( lk_iomput .AND. knt == nrdttrc ) THEN 
    80          ALLOCATE( zw3d(jpi,jpj,jpk) ) 
    8179         IF( iom_use( "LIGREM" ) ) THEN 
    82             zw3d(:,:,:) = zligrem(:,:,:) * 1e9 * 1.e+3 * rfact2r * tmask(:,:,:) 
    83             CALL iom_put( "LIGREM", zw3d ) 
     80           zligrem(:,:,jpk) = 0.  ; CALL iom_put( "LIGREM", zligrem(:,:,:) * 1e9 * 1.e+3 * rfact2r * tmask(:,:,:) ) 
    8481         ENDIF 
    8582         IF( iom_use( "LIGPR" ) ) THEN 
    86             zw3d(:,:,:) = zligpr(:,:,:) * 1e9 * 1.e+3 * rfact2r * tmask(:,:,:)  
    87             CALL iom_put( "LIGPR", zw3d ) 
     83           zligpr(:,:,jpk) = 0.   ; CALL iom_put( "LIGPR" , zligpr(:,:,:) * 1e9 * 1.e+3 * rfact2r * tmask(:,:,:) ) 
    8884         ENDIF 
    8985         IF( iom_use( "LPRODR" ) ) THEN 
    90             zw3d(:,:,:) = zrligprod(:,:,:) * 1e9 * 1.e+3 * rfact2r * tmask(:,:,:)  
    91             CALL iom_put( "LPRODR", zw3d ) 
     86           zligprod(:,:,jpk) = 0. ; CALL iom_put( "LPRODR", zligprod(:,:,:) * 1e9 * 1.e+3 * rfact2r * tmask(:,:,:) ) 
    9287         ENDIF 
    93          DEALLOCATE( zw3d ) 
    9488      ENDIF 
    9589      ! 
     
    125119         WRITE(numout,*) '~~~~~~~~~~~~~~~' 
    126120      ENDIF 
    127       REWIND( numnatp_ref )              ! Namelist nampislig in reference namelist : Pisces remineralization 
     121 
     122      REWIND( numnatp_ref ) 
    128123      READ  ( numnatp_ref, nampislig, IOSTAT = ios, ERR = 901) 
    129124901   IF( ios /= 0 )   CALL ctl_nam ( ios , 'nampislig in reference namelist' ) 
    130       REWIND( numnatp_cfg )              ! Namelist nampislig in configuration namelist : Pisces remineralization 
     125 
     126      REWIND( numnatp_cfg ) 
    131127      READ  ( numnatp_cfg, nampislig, IOSTAT = ios, ERR = 902 ) 
    132128902   IF( ios >  0 )   CALL ctl_nam ( ios , 'nampislig in configuration namelist' ) 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/TOP/PISCES/P4Z/p4zlim.F90

    r12143 r12706  
    215215      ! 
    216216      IF( lk_iomput .AND. knt == nrdttrc ) THEN        ! save output diagnostics 
    217         IF( iom_use( "xfracal" ) )   CALL iom_put( "xfracal", xfracal(:,:,:) * tmask(:,:,:) )  ! euphotic layer deptht 
    218         IF( iom_use( "LNnut"   ) )   CALL iom_put( "LNnut"  , xlimphy(:,:,:) * tmask(:,:,:) )  ! Nutrient limitation term 
    219         IF( iom_use( "LDnut"   ) )   CALL iom_put( "LDnut"  , xlimdia(:,:,:) * tmask(:,:,:) )  ! Nutrient limitation term 
    220         IF( iom_use( "LNFe"    ) )   CALL iom_put( "LNFe"   , xlimnfe(:,:,:) * tmask(:,:,:) )  ! Iron limitation term 
    221         IF( iom_use( "LDFe"    ) )   CALL iom_put( "LDFe"   , xlimdfe(:,:,:) * tmask(:,:,:) )  ! Iron limitation term 
     217        CALL iom_put( "xfracal", xfracal(:,:,:) * tmask(:,:,:) )  ! euphotic layer deptht 
     218        CALL iom_put( "LNnut"  , xlimphy(:,:,:) * tmask(:,:,:) )  ! Nutrient limitation term 
     219        CALL iom_put( "LDnut"  , xlimdia(:,:,:) * tmask(:,:,:) )  ! Nutrient limitation term 
     220        CALL iom_put( "LNFe"   , xlimnfe(:,:,:) * tmask(:,:,:) )  ! Iron limitation term 
     221        CALL iom_put( "LDFe"   , xlimdfe(:,:,:) * tmask(:,:,:) )  ! Iron limitation term 
    222222      ENDIF 
    223223      ! 
     
    252252      ENDIF 
    253253      ! 
    254       REWIND( numnatp_ref )              ! Namelist nampislim in reference namelist : Pisces nutrient limitation parameters 
     254      REWIND( numnatp_ref ) 
    255255      READ  ( numnatp_ref, namp4zlim, IOSTAT = ios, ERR = 901) 
    256256901   IF( ios /= 0 )   CALL ctl_nam ( ios , 'namp4zlim in reference namelist' ) 
    257       REWIND( numnatp_cfg )              ! Namelist nampislim in configuration namelist : Pisces nutrient limitation parameters  
     257 
     258      REWIND( numnatp_cfg ) 
    258259      READ  ( numnatp_cfg, namp4zlim, IOSTAT = ios, ERR = 902 ) 
    259260902   IF( ios >  0 )   CALL ctl_nam ( ios , 'namp4zlim in configuration namelist' ) 
     
    284285      ENDIF 
    285286      ! 
    286       nitrfac (:,:,:) = 0._wp 
     287      nitrfac (:,:,jpk) = 0._wp 
     288      nitrfac2(:,:,jpk) = 0._wp 
     289      xfracal (:,:,jpk) = 0._wp 
     290      xlimphy (:,:,jpk) = 0._wp 
     291      xlimdia (:,:,jpk) = 0._wp 
     292      xlimnfe (:,:,jpk) = 0._wp 
     293      xlimdfe (:,:,jpk) = 0._wp 
    287294      ! 
    288295   END SUBROUTINE p4z_lim_init 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/TOP/PISCES/P4Z/p4zlys.F90

    r12143 r12706  
    6464      IF( ln_timing )  CALL timing_start('p4z_lys') 
    6565      ! 
    66       zco3    (:,:,:) = 0. 
    67       zcaldiss(:,:,:) = 0. 
    6866      zhinit  (:,:,:) = hi(:,:,:) * 1000. / ( rhop(:,:,:) + rtrn ) 
    6967      ! 
     
    123121 
    124122      IF( lk_iomput .AND. knt == nrdttrc ) THEN 
    125          IF( iom_use( "PH"     ) ) CALL iom_put( "PH"    , -1. * LOG10( MAX( hi(:,:,:), rtrn ) ) * tmask(:,:,:) ) 
    126          IF( iom_use( "CO3"    ) ) CALL iom_put( "CO3"   , zco3(:,:,:)     * 1.e+3               * tmask(:,:,:) ) 
    127          IF( iom_use( "CO3sat" ) ) CALL iom_put( "CO3sat", zco3sat(:,:,:)  * 1.e+3               * tmask(:,:,:) ) 
    128          IF( iom_use( "DCAL"   ) ) CALL iom_put( "DCAL"  , zcaldiss(:,:,:) * 1.e+3 * rfact2r     * tmask(:,:,:) ) 
     123         CALL iom_put( "PH"  , -1. * LOG10( MAX( hi(:,:,:), rtrn ) ) * tmask(:,:,:) ) 
     124         IF( iom_use( "CO3" ) ) THEN 
     125            zco3(:,:,jpk) = 0.    ; CALL iom_put( "CO3"   , zco3(:,:,:)     * 1.e+3           * tmask(:,:,:) ) 
     126         ENDIF 
     127         IF( iom_use( "CO3sat" ) ) THEN 
     128           zco3sat(:,:,jpk) = 0.  ; CALL iom_put( "CO3sat", zco3sat(:,:,:)  * 1.e+3           * tmask(:,:,:) ) 
     129         ENDIF 
     130         IF( iom_use( "DCAL" ) ) THEN 
     131           zcaldiss(:,:,jpk) = 0. ; CALL iom_put( "DCAL"  , zcaldiss(:,:,:) * 1.e+3 * rfact2r * tmask(:,:,:) ) 
     132         ENDIF 
    129133      ENDIF 
    130134      ! 
     
    162166      ENDIF 
    163167      ! 
    164       REWIND( numnatp_ref )              ! Namelist nampiscal in reference namelist : Pisces CaCO3 dissolution 
     168      REWIND( numnatp_ref ) 
    165169      READ  ( numnatp_ref, nampiscal, IOSTAT = ios, ERR = 901) 
    166170901   IF( ios /= 0 )   CALL ctl_nam ( ios , 'nampiscal in reference namelist' ) 
    167       REWIND( numnatp_cfg )              ! Namelist nampiscal in configuration namelist : Pisces CaCO3 dissolution 
     171 
     172      REWIND( numnatp_cfg ) 
    168173      READ  ( numnatp_cfg, nampiscal, IOSTAT = ios, ERR = 902 ) 
    169174902   IF( ios >  0 )   CALL ctl_nam ( ios , 'nampiscal in configuration namelist' ) 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/TOP/PISCES/P4Z/p4zmeso.F90

    r12143 r12706  
    7171      REAL(wp) :: zgrazn, zgrazpoc, zgraznf, zgrazf 
    7272      REAL(wp) :: zgrazfffp, zgrazfffg, zgrazffep, zgrazffeg 
     73      REAL(wp), DIMENSION(jpi,jpj,jpk) :: zgrazing2, zfezoo2, zz2ligprod 
    7374      CHARACTER (len=25) :: charout 
    74       REAL(wp), DIMENSION(jpi,jpj,jpk) :: zgrazing, zfezoo2 
    75       REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) ::   zw3d, zz2ligprod 
    7675      !!--------------------------------------------------------------------- 
    7776      ! 
    7877      IF( ln_timing )   CALL timing_start('p4z_meso') 
    79       ! 
    80       zgrazing(:,:,:) = 0._wp 
    81       zfezoo2 (:,:,:) = 0._wp 
    82       ! 
    83       IF (ln_ligand) THEN 
    84          ALLOCATE( zz2ligprod(jpi,jpj,jpk) ) 
    85          zz2ligprod(:,:,:) = 0._wp 
    86       ENDIF 
    8778      ! 
    8879      DO jk = 1, jpkm1 
     
    162153 
    163154               ! Total grazing ( grazing by microzoo is already computed in p4zmicro ) 
    164                zgrazing(ji,jj,jk) = zgraztotc 
     155               zgrazing2(ji,jj,jk) = zgraztotc 
    165156 
    166157               !    Mesozooplankton efficiency 
     
    233224      ! 
    234225      IF( lk_iomput .AND. knt == nrdttrc ) THEN 
    235          ALLOCATE( zw3d(jpi,jpj,jpk) ) 
    236          IF( iom_use( "GRAZ2" ) ) THEN 
    237             zw3d(:,:,:) = zgrazing(:,:,:) * 1.e+3 * rfact2r * tmask(:,:,:)  !   Total grazing of phyto by zooplankton 
    238             CALL iom_put( "GRAZ2", zw3d ) 
     226         CALL iom_put( "PCAL"  , prodcal(:,:,:) * 1.e+3  * rfact2r * tmask(:,:,:) )  !  Calcite production  
     227         IF( iom_use("GRAZ2") ) THEN  !   Total grazing of phyto by zooplankton 
     228           zgrazing2(:,:,jpk) = 0._wp ;  CALL iom_put( "GRAZ2" , zgrazing2(:,:,:) * 1.e+3  * rfact2r * tmask(:,:,:) )  
    239229         ENDIF 
    240          IF( iom_use( "PCAL" ) ) THEN 
    241             zw3d(:,:,:) = prodcal(:,:,:) * 1.e+3 * rfact2r * tmask(:,:,:)   !  Calcite production 
    242             CALL iom_put( "PCAL", zw3d )   
     230         IF( iom_use("FEZOO2") ) THEN   
     231           zfezoo2 (:,:,jpk) = 0._wp ; CALL iom_put( "FEZOO2", zfezoo2(:,:,:) * 1e9 * 1.e+3 * rfact2r * tmask(:,:,:) ) 
    243232         ENDIF 
    244          IF( iom_use( "FEZOO2" ) ) THEN 
    245             zw3d(:,:,:) = zfezoo2(:,:,:) * 1e9 * 1.e+3 * rfact2r * tmask(:,:,:)   ! 
    246             CALL iom_put( "FEZOO2", zw3d ) 
     233         IF( ln_ligand ) THEN 
     234            zz2ligprod(:,:,jpk) = 0._wp ; CALL iom_put( "LPRODZ2", zz2ligprod(:,:,:) * 1e9 * 1.e+3 * rfact2r * tmask(:,:,:)  ) 
    247235         ENDIF 
    248          IF( iom_use( "LPRODZ2" ) .AND. ln_ligand )  THEN 
    249             zw3d(:,:,:) = zz2ligprod(:,:,:) * 1e9 * 1.e+3 * rfact2r * tmask(:,:,:) 
    250             CALL iom_put( "LPRODZ2"  , zw3d ) 
    251          ENDIF 
    252          DEALLOCATE( zw3d ) 
    253236      ENDIF 
    254       ! 
    255       IF (ln_ligand)  DEALLOCATE( zz2ligprod ) 
    256237      ! 
    257238      IF(ln_ctl)   THEN  ! print mean trends (used for debugging) 
     
    290271      ENDIF 
    291272      ! 
    292       REWIND( numnatp_ref )              ! Namelist nampismes in reference namelist : Pisces mesozooplankton 
     273      REWIND( numnatp_ref ) 
    293274      READ  ( numnatp_ref, namp4zmes, IOSTAT = ios, ERR = 901) 
    294275901   IF( ios /= 0 )   CALL ctl_nam ( ios , 'namp4zmes in reference namelist' ) 
    295       REWIND( numnatp_cfg )              ! Namelist nampismes in configuration namelist : Pisces mesozooplankton 
     276 
     277      REWIND( numnatp_cfg ) 
    296278      READ  ( numnatp_cfg, namp4zmes, IOSTAT = ios, ERR = 902 ) 
    297279902   IF( ios >  0 )   CALL ctl_nam ( ios , 'namp4zmes in configuration namelist' ) 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/TOP/PISCES/P4Z/p4zmicro.F90

    r12143 r12706  
    6969      REAL(wp) :: zgrazp, zgrazm, zgrazsd 
    7070      REAL(wp) :: zgrazmf, zgrazsf, zgrazpf 
    71       REAL(wp), DIMENSION(jpi,jpj,jpk) :: zgrazing, zfezoo 
    72       REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: zw3d, zzligprod 
     71      REAL(wp), DIMENSION(jpi,jpj,jpk) :: zgrazing, zfezoo, zzligprod 
    7372      CHARACTER (len=25) :: charout 
    7473      !!--------------------------------------------------------------------- 
    7574      ! 
    7675      IF( ln_timing )   CALL timing_start('p4z_micro') 
    77       ! 
    78       IF (ln_ligand) THEN 
    79          ALLOCATE( zzligprod(jpi,jpj,jpk) ) 
    80          zzligprod(:,:,:) = 0._wp 
    81       ENDIF 
    8276      ! 
    8377      DO jk = 1, jpkm1 
     
    186180      END DO 
    187181      ! 
    188       IF( lk_iomput ) THEN 
    189          IF( knt == nrdttrc ) THEN 
    190            ALLOCATE( zw3d(jpi,jpj,jpk) ) 
    191            IF( iom_use( "GRAZ1" ) ) THEN 
    192               zw3d(:,:,:) = zgrazing(:,:,:) * 1.e+3 * rfact2r * tmask(:,:,:)  !  Total grazing of phyto by zooplankton 
    193               CALL iom_put( "GRAZ1", zw3d ) 
    194            ENDIF 
    195            IF( iom_use( "FEZOO" ) ) THEN 
    196               zw3d(:,:,:) = zfezoo(:,:,:) * 1e9 * 1.e+3 * rfact2r * tmask(:,:,:)   ! 
    197               CALL iom_put( "FEZOO", zw3d ) 
    198            ENDIF 
    199            IF( iom_use( "LPRODZ" ) .AND. ln_ligand )  THEN 
    200               zw3d(:,:,:) = zzligprod(:,:,:) * 1e9 * 1.e+3 * rfact2r * tmask(:,:,:) 
    201               CALL iom_put( "LPRODZ"  , zw3d ) 
    202            ENDIF 
    203            DEALLOCATE( zw3d ) 
     182      IF( lk_iomput .AND. knt == nrdttrc ) THEN 
     183       IF( iom_use("GRAZ1") ) THEN  !   Total grazing of phyto by zooplankton 
     184           zgrazing(:,:,jpk) = 0._wp   ; CALL iom_put( "GRAZ1" , zgrazing(:,:,:) * 1.e+3  * rfact2r * tmask(:,:,:) )  
    204185         ENDIF 
    205       ENDIF 
    206       ! 
    207       IF (ln_ligand)  DEALLOCATE( zzligprod ) 
     186         IF( iom_use("FEZOO") ) THEN   
     187           zfezoo (:,:,jpk) = 0._wp    ; CALL iom_put( "FEZOO" , zfezoo(:,:,:) * 1e9 * 1.e+3 * rfact2r * tmask(:,:,:) ) 
     188         ENDIF 
     189         IF( ln_ligand ) THEN 
     190            zzligprod(:,:,jpk) = 0._wp ; CALL iom_put( "LPRODZ", zzligprod(:,:,:) * 1e9 * 1.e+3 * rfact2r * tmask(:,:,:)) 
     191         ENDIF 
     192      ENDIF 
    208193      ! 
    209194      IF(ln_ctl) THEN      ! print mean trends (used for debugging) 
     
    243228      ENDIF 
    244229      ! 
    245       REWIND( numnatp_ref )              ! Namelist nampiszoo in reference namelist : Pisces microzooplankton 
     230      REWIND( numnatp_ref ) 
    246231      READ  ( numnatp_ref, namp4zzoo, IOSTAT = ios, ERR = 901) 
    247232901   IF( ios /= 0 )   CALL ctl_nam ( ios , 'namp4zzoo in reference namelist' ) 
    248       REWIND( numnatp_cfg )              ! Namelist nampiszoo in configuration namelist : Pisces microzooplankton 
     233 
     234      REWIND( numnatp_cfg ) 
    249235      READ  ( numnatp_cfg, namp4zzoo, IOSTAT = ios, ERR = 902 ) 
    250236902   IF( ios >  0 )   CALL ctl_nam ( ios , 'namp4zzoo in configuration namelist' ) 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/TOP/PISCES/P4Z/p4zopt.F90

    r12143 r12706  
    7171      ! 
    7272      IF( ln_timing )   CALL timing_start('p4z_opt') 
    73       IF( ln_p5z    )   ALLOCATE( zetmp5(jpi,jpj) ) 
    7473 
    7574      IF( knt == 1 .AND. ln_varpar )   CALL p4z_opt_sbc( kt ) 
     
    133132         ! 
    134133         DO jk = 1, nksrp       
    135             etot (:,:,jk) =        ze1(:,:,jk) +        ze2(:,:,jk) +       ze3(:,:,jk) 
     134            etot (:,:,jk) =         ze1(:,:,jk) +        ze2(:,:,jk) +       ze3(:,:,jk) 
    136135            enano(:,:,jk) =  1.85 * ze1(:,:,jk) + 0.69 * ze2(:,:,jk) + 0.46 * ze3(:,:,jk) 
    137136            ediat(:,:,jk) =  1.62 * ze1(:,:,jk) + 0.74 * ze2(:,:,jk) + 0.63 * ze3(:,:,jk) 
     
    241240      ! 
    242241      IF( ln_p5z ) THEN 
    243          zetmp5 (:,:) = 0.e0 
     242         ALLOCATE( zetmp5(jpi,jpj) )  ;   zetmp5 (:,:) = 0.e0 
    244243         DO jk = 1, nksrp 
    245244            DO jj = 1, jpj 
     
    264263            END DO 
    265264         END DO 
    266       ENDIF 
    267       IF( lk_iomput ) THEN 
    268         IF( knt == nrdttrc ) THEN 
    269            IF( iom_use( "Heup"  ) ) CALL iom_put( "Heup" , heup(:,:  ) * tmask(:,:,1) )  ! euphotic layer deptht 
    270            IF( iom_use( "PARDM" ) ) CALL iom_put( "PARDM", zpar(:,:,:) * tmask(:,:,:) )  ! Photosynthetically Available Radiation 
    271            IF( iom_use( "PAR"   ) ) CALL iom_put( "PAR"  , emoy(:,:,:) * tmask(:,:,:) )  ! Photosynthetically Available Radiation 
    272         ENDIF 
    273       ENDIF 
    274       ! 
    275       IF( ln_p5z    )   DEALLOCATE( zetmp5 ) 
     265         DEALLOCATE( zetmp5 ) 
     266      ENDIF 
     267      ! 
     268      IF( lk_iomput .AND.  knt == nrdttrc ) THEN 
     269         CALL iom_put( "Heup" , heup(:,:  ) * tmask(:,:,1) )  ! euphotic layer deptht 
     270         CALL iom_put( "PARDM", zpar(:,:,:) * tmask(:,:,:) )  ! Photosynthetically Available Radiation 
     271         CALL iom_put( "PAR"  , emoy(:,:,:) * tmask(:,:,:) )  ! Photosynthetically Available Radiation 
     272      ENDIF 
     273      ! 
    276274      IF( ln_timing )   CALL timing_stop('p4z_opt') 
    277275      ! 
     
    400398         WRITE(numout,*) '~~~~~~~~~~~~ ' 
    401399      ENDIF 
    402       REWIND( numnatp_ref )              ! Namelist nampisopt in reference namelist : Pisces attenuation coef. and PAR 
     400 
     401      REWIND( numnatp_ref ) 
    403402      READ  ( numnatp_ref, nampisopt, IOSTAT = ios, ERR = 901) 
    404403901   IF( ios /= 0 )   CALL ctl_nam ( ios , 'nampisopt in reference namelist' ) 
    405       REWIND( numnatp_cfg )              ! Namelist nampisopt in configuration namelist : Pisces attenuation coef. and PAR 
     404 
     405      REWIND( numnatp_cfg ) 
    406406      READ  ( numnatp_cfg, nampisopt, IOSTAT = ios, ERR = 902 ) 
    407407902   IF( ios >  0 )   CALL ctl_nam ( ios , 'nampisopt in configuration namelist' ) 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/TOP/PISCES/P4Z/p4zprod.F90

    r12143 r12706  
    341341         & tpp = glob_sum( 'p4zprod', ( zprorcan(:,:,:) + zprorcad(:,:,:) ) * cvol(:,:,:) ) 
    342342 
    343     IF( lk_iomput ) THEN 
    344        IF( knt == nrdttrc ) THEN 
    345           ALLOCATE( zw2d(jpi,jpj), zw3d(jpi,jpj,jpk) ) 
    346           zfact = 1.e+3 * rfact2r  !  conversion from mol/l/kt to  mol/m3/s 
    347           ! 
    348           IF( iom_use( "PPPHYN" ) .OR. iom_use( "PPPHYD" ) )  THEN 
    349               zw3d(:,:,:) = zprorcan(:,:,:) * zfact * tmask(:,:,:)  ! primary production by nanophyto 
    350               CALL iom_put( "PPPHYN"  , zw3d ) 
    351               ! 
    352               zw3d(:,:,:) = zprorcad(:,:,:) * zfact * tmask(:,:,:)  ! primary production by diatomes 
    353               CALL iom_put( "PPPHYD"  , zw3d ) 
    354           ENDIF 
    355           IF( iom_use( "PPNEWN" ) .OR. iom_use( "PPNEWD" ) )  THEN 
    356               zw3d(:,:,:) = zpronewn(:,:,:) * zfact * tmask(:,:,:)  ! new primary production by nanophyto 
    357               CALL iom_put( "PPNEWN"  , zw3d ) 
    358               ! 
    359               zw3d(:,:,:) = zpronewd(:,:,:) * zfact * tmask(:,:,:)  ! new primary production by diatomes 
    360               CALL iom_put( "PPNEWD"  , zw3d ) 
    361           ENDIF 
    362           IF( iom_use( "PBSi" ) )  THEN 
    363               zw3d(:,:,:) = zprorcad(:,:,:) * zfact * tmask(:,:,:) * zysopt(:,:,:) ! biogenic silica production 
    364               CALL iom_put( "PBSi"  , zw3d ) 
    365           ENDIF 
    366           IF( iom_use( "PFeN" ) .OR. iom_use( "PFeD" ) )  THEN 
    367               zw3d(:,:,:) = zprofen(:,:,:) * zfact * tmask(:,:,:)  ! biogenic iron production by nanophyto 
    368               CALL iom_put( "PFeN"  , zw3d ) 
    369               ! 
    370               zw3d(:,:,:) = zprofed(:,:,:) * zfact * tmask(:,:,:)  ! biogenic iron production by  diatomes 
    371               CALL iom_put( "PFeD"  , zw3d ) 
    372           ENDIF 
    373           IF( iom_use( "LPRODP" ) )  THEN 
    374               zw3d(:,:,:) = zpligprod1(:,:,:) * 1e9 * zfact * tmask(:,:,:) 
    375               CALL iom_put( "LPRODP"  , zw3d ) 
    376           ENDIF 
    377           IF( iom_use( "LDETP" ) )  THEN 
    378               zw3d(:,:,:) = zpligprod2(:,:,:) * 1e9 * zfact * tmask(:,:,:) 
    379               CALL iom_put( "LDETP"  , zw3d ) 
    380           ENDIF 
    381           IF( iom_use( "Mumax" ) )  THEN 
    382               zw3d(:,:,:) = zprmaxn(:,:,:) * tmask(:,:,:)   ! Maximum growth rate 
    383               CALL iom_put( "Mumax"  , zw3d ) 
    384           ENDIF 
    385           IF( iom_use( "MuN" ) .OR. iom_use( "MuD" ) )  THEN 
    386               zw3d(:,:,:) = zprbio(:,:,:) * xlimphy(:,:,:) * tmask(:,:,:)  ! Realized growth rate for nanophyto 
    387               CALL iom_put( "MuN"  , zw3d ) 
    388               ! 
    389               zw3d(:,:,:) =  zprdia(:,:,:) * xlimdia(:,:,:) * tmask(:,:,:)  ! Realized growth rate for diatoms 
    390               CALL iom_put( "MuD"  , zw3d ) 
    391           ENDIF 
    392           IF( iom_use( "LNlight" ) .OR. iom_use( "LDlight" ) )  THEN 
    393               zw3d(:,:,:) = zprbio (:,:,:) / (zprmaxn(:,:,:) + rtrn) * tmask(:,:,:) ! light limitation term 
    394               CALL iom_put( "LNlight"  , zw3d ) 
    395               ! 
    396               zw3d(:,:,:) = zprdia (:,:,:) / (zprmaxd(:,:,:) + rtrn) * tmask(:,:,:)  ! light limitation term 
    397               CALL iom_put( "LDlight"  , zw3d ) 
    398           ENDIF 
    399           IF( iom_use( "TPP" ) )  THEN 
    400               zw3d(:,:,:) = ( zprorcan(:,:,:) + zprorcad(:,:,:) ) * zfact * tmask(:,:,:)  ! total primary production 
    401               CALL iom_put( "TPP"  , zw3d ) 
    402           ENDIF 
    403           IF( iom_use( "TPNEW" ) )  THEN 
    404               zw3d(:,:,:) = ( zpronewn(:,:,:) + zpronewd(:,:,:) ) * zfact * tmask(:,:,:)  ! total new production 
    405               CALL iom_put( "TPNEW"  , zw3d ) 
    406           ENDIF 
    407           IF( iom_use( "TPBFE" ) )  THEN 
    408               zw3d(:,:,:) = ( zprofen(:,:,:) + zprofed(:,:,:) ) * zfact * tmask(:,:,:)  ! total biogenic iron production 
    409               CALL iom_put( "TPBFE"  , zw3d ) 
    410           ENDIF 
    411           IF( iom_use( "INTPPPHYN" ) .OR. iom_use( "INTPPPHYD" ) ) THEN   
    412              zw2d(:,:) = 0. 
    413              DO jk = 1, jpkm1 
    414                zw2d(:,:) = zw2d(:,:) + zprorcan(:,:,jk) * e3t_n(:,:,jk) * zfact * tmask(:,:,jk)  ! vert. integrated  primary produc. by nano 
    415              ENDDO 
    416              CALL iom_put( "INTPPPHYN" , zw2d ) 
    417              ! 
    418              zw2d(:,:) = 0. 
    419              DO jk = 1, jpkm1 
    420                 zw2d(:,:) = zw2d(:,:) + zprorcad(:,:,jk) * e3t_n(:,:,jk) * zfact * tmask(:,:,jk) ! vert. integrated  primary produc. by diatom 
    421              ENDDO 
    422              CALL iom_put( "INTPPPHYD" , zw2d ) 
    423           ENDIF 
    424           IF( iom_use( "INTPP" ) ) THEN    
    425              zw2d(:,:) = 0. 
    426              DO jk = 1, jpkm1 
    427                 zw2d(:,:) = zw2d(:,:) + ( zprorcan(:,:,jk) + zprorcad(:,:,jk) ) * e3t_n(:,:,jk) * zfact * tmask(:,:,jk) ! vert. integrated pp 
    428              ENDDO 
    429              CALL iom_put( "INTPP" , zw2d ) 
    430           ENDIF 
    431           IF( iom_use( "INTPNEW" ) ) THEN     
    432              zw2d(:,:) = 0. 
    433              DO jk = 1, jpkm1 
    434                 zw2d(:,:) = zw2d(:,:) + ( zpronewn(:,:,jk) + zpronewd(:,:,jk) ) * e3t_n(:,:,jk) * zfact * tmask(:,:,jk)  ! vert. integrated new prod 
    435              ENDDO 
    436              CALL iom_put( "INTPNEW" , zw2d ) 
    437           ENDIF 
    438           IF( iom_use( "INTPBFE" ) ) THEN           !   total biogenic iron production  ( vertically integrated ) 
    439              zw2d(:,:) = 0. 
    440              DO jk = 1, jpkm1 
    441                 zw2d(:,:) = zw2d(:,:) + ( zprofen(:,:,jk) + zprofed(:,:,jk) ) * e3t_n(:,:,jk) * zfact * tmask(:,:,jk) ! vert integr. bfe prod 
    442              ENDDO 
    443             CALL iom_put( "INTPBFE" , zw2d ) 
    444           ENDIF 
    445           IF( iom_use( "INTPBSI" ) ) THEN           !   total biogenic silica production  ( vertically integrated ) 
    446              zw2d(:,:) = 0. 
    447              DO jk = 1, jpkm1 
    448                 zw2d(:,:) = zw2d(:,:) + zprorcad(:,:,jk) * zysopt(:,:,jk) * e3t_n(:,:,jk) * zfact * tmask(:,:,jk)  ! vert integr. bsi prod 
    449              ENDDO 
    450              CALL iom_put( "INTPBSI" , zw2d ) 
    451           ENDIF 
    452           IF( iom_use( "tintpp" ) )  CALL iom_put( "tintpp" , tpp * zfact )  !  global total integrated primary production molC/s 
    453           ! 
    454           DEALLOCATE( zw2d, zw3d ) 
     343    IF( lk_iomput .AND.  knt == nrdttrc ) THEN 
     344       zfact = 1.e+3 * rfact2r  !  conversion from mol/l/kt to  mol/m3/s 
     345       ! 
     346       CALL iom_put( "PPPHYN"  , zprorcan(:,:,:) * zfact * tmask(:,:,:) )  ! primary production by nanophyto 
     347       CALL iom_put( "PPPHYD"  , zprorcad(:,:,:) * zfact * tmask(:,:,:)   ) ! primary production by diatomes 
     348       CALL iom_put( "PPNEWN"  , zpronewn(:,:,:) * zfact * tmask(:,:,:)    ) ! new primary production by nanophyto 
     349       CALL iom_put( "PPNEWD"  , zpronewd(:,:,:) * zfact * tmask(:,:,:)   ) ! new primary production by diatomes 
     350       CALL iom_put( "PBSi"    , zprorcad(:,:,:) * zfact * tmask(:,:,:) * zysopt(:,:,:)  ) ! biogenic silica production 
     351       CALL iom_put( "PFeN"    , zprofen(:,:,:) * zfact * tmask(:,:,:)  ) ! biogenic iron production by nanophyto 
     352       CALL iom_put( "PFeD"    , zprofed(:,:,:) * zfact * tmask(:,:,:)  ) ! biogenic iron production by  diatomes 
     353       IF( ln_ligand ) THEN 
     354         CALL iom_put( "LPRODP"  , zpligprod1(:,:,:) * 1e9 * zfact * tmask(:,:,:) ) 
     355         CALL iom_put( "LDETP"   , zpligprod2(:,:,:) * 1e9 * zfact * tmask(:,:,:) ) 
    455356       ENDIF 
     357       CALL iom_put( "Mumax"   , zprmaxn(:,:,:) * tmask(:,:,:)  ) ! Maximum growth rate 
     358       CALL iom_put( "MuN"     , zprbio(:,:,:) * xlimphy(:,:,:) * tmask(:,:,:) ) ! Realized growth rate for nanophyto 
     359       CALL iom_put( "MuD"     , zprdia(:,:,:) * xlimdia(:,:,:) * tmask(:,:,:) ) ! Realized growth rate for diatoms 
     360       CALL iom_put( "LNlight" , zprbio (:,:,:) / (zprmaxn(:,:,:) + rtrn) * tmask(:,:,:)  )  ! light limitation term 
     361       CALL iom_put( "LDlight" , zprdia (:,:,:) / (zprmaxd(:,:,:) + rtrn) * tmask(:,:,:)   ) 
     362       CALL iom_put( "TPP"     , ( zprorcan(:,:,:) + zprorcad(:,:,:) ) * zfact * tmask(:,:,:)  )  ! total primary production 
     363       CALL iom_put( "TPNEW"   , ( zpronewn(:,:,:) + zpronewd(:,:,:) ) * zfact * tmask(:,:,:)  ) ! total new production 
     364       CALL iom_put( "TPBFE"   , ( zprofen(:,:,:) + zprofed(:,:,:) ) * zfact * tmask(:,:,:)  )  ! total biogenic iron production 
     365       CALL iom_put( "tintpp"  , tpp * zfact )  !  global total integrated primary production molC/s 
    456366     ENDIF 
    457367 
     
    490400      ENDIF 
    491401      ! 
    492       REWIND( numnatp_ref )              ! Namelist nampisprod in reference namelist : Pisces phytoplankton production 
     402      REWIND( numnatp_ref ) 
    493403      READ  ( numnatp_ref, namp4zprod, IOSTAT = ios, ERR = 901) 
    494404901   IF( ios /= 0 )   CALL ctl_nam ( ios , 'namp4zprod in reference namelist' ) 
    495       REWIND( numnatp_cfg )              ! Namelist nampisprod in configuration namelist : Pisces phytoplankton production 
     405 
     406      REWIND( numnatp_cfg ) 
    496407      READ  ( numnatp_cfg, namp4zprod, IOSTAT = ios, ERR = 902 ) 
    497408902   IF( ios >  0 )   CALL ctl_nam ( ios , 'namp4zprod in configuration namelist' ) 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/TOP/PISCES/P4Z/p4zrem.F90

    r12143 r12706  
    6868      REAL(wp), DIMENSION(jpi,jpj    ) :: ztempbac 
    6969      REAL(wp), DIMENSION(jpi,jpj,jpk) :: zdepbac, zolimi, zdepprod, zfacsi, zfacsib, zdepeff, zfebact 
    70       REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: zw3d 
    7170      !!--------------------------------------------------------------------- 
    7271      ! 
     
    274273       ENDIF 
    275274 
    276       IF( knt == nrdttrc ) THEN 
    277           zrfact2 = 1.e3 * rfact2r 
    278           ALLOCATE( zw3d(jpi,jpj,jpk) ) 
    279           zfact = 1.e+3 * rfact2r  !  conversion from mol/l/kt to  mol/m3/s 
     275      IF( lk_iomput .AND. knt == nrdttrc ) THEN 
     276          zrfact2 = 1.e+3 * rfact2r  !  conversion from mol/l/kt to  mol/m3/s 
    280277          ! 
    281           IF( iom_use( "REMIN" ) )  THEN 
    282               zw3d(:,:,:) = zolimi(:,:,:) * tmask(:,:,:) * zfact !  Remineralisation rate 
    283               CALL iom_put( "REMIN"  , zw3d ) 
     278          IF( iom_use( "REMIN" ) )  THEN !  Remineralisation rate 
     279             zolimi(:,:,jpk) = 0. ; CALL iom_put( "REMIN"  , zolimi(:,:,:) * tmask(:,:,:) * zrfact2  ) 
    284280          ENDIF 
    285           IF( iom_use( "DENIT" ) )  THEN 
    286               zw3d(:,:,:) = denitr(:,:,:) * rdenit * rno3 * tmask(:,:,:) * zfact ! Denitrification 
    287               CALL iom_put( "DENIT"  , zw3d ) 
     281          CALL iom_put( "DENIT"  , denitr(:,:,:) * rdenit * rno3 * tmask(:,:,:) * zrfact2 ) ! Denitrification  
     282          IF( iom_use( "BACT" ) )  THEN ! Bacterial biomass 
     283             zdepbac(:,:,jpk) = 0.  ;   CALL iom_put( "BACT", zdepbac(:,:,:) * 1.E6 * tmask(:,:,:) ) 
    288284          ENDIF 
    289           IF( iom_use( "BACT" ) )  THEN 
    290                zw3d(:,:,:) = zdepbac(:,:,:) * 1.E6 * tmask(:,:,:)  ! Bacterial biomass 
    291                CALL iom_put( "BACT", zw3d ) 
    292           ENDIF 
    293           IF( iom_use( "FEBACT" ) )  THEN 
    294                zw3d(:,:,:) = zfebact(:,:,:) * 1E9 * tmask(:,:,:) * zrfact2   ! Bacterial iron consumption 
    295                CALL iom_put( "FEBACT" , zw3d ) 
    296           ENDIF 
    297           ! 
    298           DEALLOCATE( zw3d ) 
     285          CALL iom_put( "FEBACT" , zfebact(:,:,:) * 1E9 * tmask(:,:,:) * zrfact2  ) 
    299286       ENDIF 
    300287      ! 
     
    327314      ENDIF 
    328315      ! 
    329       REWIND( numnatp_ref )              ! Namelist nampisrem in reference namelist : Pisces remineralization 
     316      REWIND( numnatp_ref ) 
    330317      READ  ( numnatp_ref, nampisrem, IOSTAT = ios, ERR = 901) 
    331318901   IF( ios /= 0 )   CALL ctl_nam ( ios , 'nampisrem in reference namelist' ) 
    332       REWIND( numnatp_cfg )              ! Namelist nampisrem in configuration namelist : Pisces remineralization 
     319 
     320      REWIND( numnatp_cfg ) 
    333321      READ  ( numnatp_cfg, nampisrem, IOSTAT = ios, ERR = 902 ) 
    334322902   IF( ios >  0 )   CALL ctl_nam ( ios , 'nampisrem in configuration namelist' ) 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/TOP/PISCES/P4Z/p4zsed.F90

    r10788 r12706  
    109109         tra(:,:,1,jpfer) = tra(:,:,1,jpfer) + zironice(:,:)  
    110110         !  
    111          IF( lk_iomput .AND. knt == nrdttrc .AND. iom_use( "Ironice" ) )   & 
     111         IF( lk_iomput .AND. knt == nrdttrc )   & 
    112112            &   CALL iom_put( "Ironice", zironice(:,:) * 1.e+3 * rfact2r * e3t_n(:,:,1) * tmask(:,:,1) ) ! iron flux from ice 
    113113         ! 
     
    143143         ENDDO 
    144144         !  
    145          IF( lk_iomput ) THEN 
    146             IF( knt == nrdttrc ) THEN 
    147                 IF( iom_use( "Irondep" ) )   & 
    148                 &  CALL iom_put( "Irondep", zirondep(:,:,1) * 1.e+3 * rfact2r * e3t_n(:,:,1) * tmask(:,:,1) ) ! surface downward dust depo of iron 
    149                 IF( iom_use( "pdust" ) )   & 
    150                 &  CALL iom_put( "pdust"  , dust(:,:) / ( wdust * rday )  * tmask(:,:,1) ) ! dust concentration at surface 
    151             ENDIF 
     145         IF( lk_iomput .AND. knt == nrdttrc ) THEN 
     146             CALL iom_put( "Irondep", zirondep(:,:,1) * 1.e+3 * rfact2r * e3t_n(:,:,1) * tmask(:,:,1) ) ! surface downward dust depo of iron 
     147             CALL iom_put( "pdust"  , dust(:,:) / ( wdust * rday )  * tmask(:,:,1) ) ! dust concentration at surface 
    152148         ENDIF 
    153149         DEALLOCATE( zsidep, zpdep, zirondep ) 
     
    207203         ENDIF 
    208204         ! 
    209          IF( lk_iomput .AND. knt == nrdttrc .AND. iom_use( "HYDR" ) )   & 
     205         IF( lk_iomput .AND. knt == nrdttrc )   & 
    210206            &   CALL iom_put( "HYDR", hydrofe(:,:,:) * 1.e+3 * tmask(:,:,:) ) ! hydrothermal iron input 
    211207      ENDIF 
     
    229225                            tra(:,:,:,jpfer) = tra(:,:,:,jpfer) + ironsed(:,:,:) * rfact2 
    230226            ! 
    231             IF( lk_iomput .AND. knt == nrdttrc .AND. iom_use( "Ironsed" ) )   & 
     227            IF( lk_iomput .AND. knt == nrdttrc )   & 
    232228               &   CALL iom_put( "Ironsed", ironsed(:,:,:) * 1.e+3 * tmask(:,:,:) ) ! iron inputs from sediments 
    233229         ENDIF 
     
    467463         IF( knt == nrdttrc ) THEN 
    468464            zfact = 1.e+3 * rfact2r !  conversion from molC/l/kt  to molN/m3/s 
    469             IF( iom_use("Nfix"   ) ) CALL iom_put( "Nfix", nitrpot(:,:,:) * nitrfix * rno3 * zfact * tmask(:,:,:) )  ! nitrogen fixation  
    470             IF( iom_use("INTNFIX") ) THEN   ! nitrogen fixation rate in ocean ( vertically integrated ) 
    471                zwork(:,:) = 0. 
    472                DO jk = 1, jpkm1 
    473                  zwork(:,:) = zwork(:,:) + nitrpot(:,:,jk) * nitrfix * rno3 * zfact * e3t_n(:,:,jk) * tmask(:,:,jk) 
    474                ENDDO 
    475                CALL iom_put( "INTNFIX" , zwork )  
    476             ENDIF 
    477             IF( iom_use("SedCal" ) ) CALL iom_put( "SedCal", zsedcal(:,:) * zfact ) 
    478             IF( iom_use("SedSi" ) )  CALL iom_put( "SedSi",  zsedsi (:,:) * zfact ) 
    479             IF( iom_use("SedC" ) )   CALL iom_put( "SedC",   zsedc  (:,:) * zfact ) 
    480             IF( iom_use("Sdenit" ) ) CALL iom_put( "Sdenit", sdenit (:,:) * zfact * rno3 ) 
     465            CALL iom_put( "Nfix", nitrpot(:,:,:) * nitrfix * rno3 * zfact * tmask(:,:,:) )  ! nitrogen fixation  
     466            CALL iom_put( "SedCal", zsedcal(:,:) * zfact ) 
     467            CALL iom_put( "SedSi",  zsedsi (:,:) * zfact ) 
     468            CALL iom_put( "SedC",   zsedc  (:,:) * zfact ) 
     469            CALL iom_put( "Sdenit", sdenit (:,:) * zfact * rno3 ) 
    481470         ENDIF 
    482471      ENDIF 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/TOP/PISCES/P4Z/p4zsink.F90

    r10425 r12706  
    6262      CHARACTER (len=25) :: charout 
    6363      REAL(wp) :: zmax, zfact 
    64       REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: zw3d 
    65       REAL(wp), ALLOCATABLE, DIMENSION(:,:  ) :: zw2d 
    6664      !!--------------------------------------------------------------------- 
    6765      ! 
     
    129127        &   t_oce_co2_exp = glob_sum( 'p4zsink', ( sinking(:,:,ik100) + sinking2(:,:,ik100) ) * e1e2t(:,:) * tmask(:,:,1) ) 
    130128     ! 
    131      IF( lk_iomput ) THEN 
    132        IF( knt == nrdttrc ) THEN 
    133           ALLOCATE( zw2d(jpi,jpj), zw3d(jpi,jpj,jpk) ) 
    134           zfact = 1.e+3 * rfact2r  !  conversion from mol/l/kt to  mol/m3/s 
    135           ! 
    136           IF( iom_use( "EPC100" ) )  THEN 
    137               zw2d(:,:) = ( sinking(:,:,ik100) + sinking2(:,:,ik100) ) * zfact * tmask(:,:,1) ! Export of carbon at 100m 
    138               CALL iom_put( "EPC100"  , zw2d ) 
    139           ENDIF 
    140           IF( iom_use( "EPFE100" ) )  THEN 
    141               zw2d(:,:) = ( sinkfer(:,:,ik100) + sinkfer2(:,:,ik100) ) * zfact * tmask(:,:,1) ! Export of iron at 100m 
    142               CALL iom_put( "EPFE100"  , zw2d ) 
    143           ENDIF 
    144           IF( iom_use( "EPCAL100" ) )  THEN 
    145               zw2d(:,:) = sinkcal(:,:,ik100) * zfact * tmask(:,:,1) ! Export of calcite at 100m 
    146               CALL iom_put( "EPCAL100"  , zw2d ) 
    147           ENDIF 
    148           IF( iom_use( "EPSI100" ) )  THEN 
    149               zw2d(:,:) =  sinksil(:,:,ik100) * zfact * tmask(:,:,1) ! Export of bigenic silica at 100m 
    150               CALL iom_put( "EPSI100"  , zw2d ) 
    151           ENDIF 
    152           IF( iom_use( "EXPC" ) )  THEN 
    153               zw3d(:,:,:) = ( sinking(:,:,:) + sinking2(:,:,:) ) * zfact * tmask(:,:,:) ! Export of carbon in the water column 
    154               CALL iom_put( "EXPC"  , zw3d ) 
    155           ENDIF 
    156           IF( iom_use( "EXPFE" ) )  THEN 
    157               zw3d(:,:,:) = ( sinkfer(:,:,:) + sinkfer2(:,:,:) ) * zfact * tmask(:,:,:) ! Export of iron  
    158               CALL iom_put( "EXPFE"  , zw3d ) 
    159           ENDIF 
    160           IF( iom_use( "EXPCAL" ) )  THEN 
    161               zw3d(:,:,:) = sinkcal(:,:,:) * zfact * tmask(:,:,:) ! Export of calcite  
    162               CALL iom_put( "EXPCAL"  , zw3d ) 
    163           ENDIF 
    164           IF( iom_use( "EXPSI" ) )  THEN 
    165               zw3d(:,:,:) = sinksil(:,:,:) * zfact * tmask(:,:,:) ! Export of bigenic silica 
    166               CALL iom_put( "EXPSI"  , zw3d ) 
    167           ENDIF 
    168           IF( iom_use( "tcexp" ) )  CALL iom_put( "tcexp" , t_oce_co2_exp * zfact )   ! molC/s 
    169           !  
    170           DEALLOCATE( zw2d, zw3d ) 
    171         ENDIF 
     129     IF( lk_iomput .AND.  knt == nrdttrc ) THEN 
     130       zfact = 1.e+3 * rfact2r  !  conversion from mol/l/kt to  mol/m3/s 
     131       ! 
     132       CALL iom_put( "EPC100"  , ( sinking(:,:,ik100) + sinking2(:,:,ik100) ) * zfact * tmask(:,:,1) ) ! Export of carbon at 100m  
     133       CALL iom_put( "EPFE100" , ( sinkfer(:,:,ik100) + sinkfer2(:,:,ik100) ) * zfact * tmask(:,:,1) ) ! Export of iron at 100m  
     134       CALL iom_put( "EPCAL100", sinkcal(:,:,ik100) * zfact * tmask(:,:,1) )      ! Export of calcite at 100m  
     135       CALL iom_put( "EPSI100" , sinksil(:,:,ik100) * zfact * tmask(:,:,1) )          ! Export of bigenic silica at 100m  
     136       CALL iom_put( "EXPC"    , ( sinking(:,:,:) + sinking2(:,:,:) ) * zfact * tmask(:,:,:) ) ! Export of carbon in the water column  
     137       CALL iom_put( "EXPFE"   , ( sinkfer(:,:,:) + sinkfer2(:,:,:) ) * zfact * tmask(:,:,:) ) ! Export of iron   
     138       CALL iom_put( "EXPCAL"  , sinkcal(:,:,:) * zfact * tmask(:,:,:) )      ! Export of calcite  
     139       CALL iom_put( "EXPSI"   , sinksil(:,:,:) * zfact * tmask(:,:,:) )      ! Export of bigenic silica 
     140       CALL iom_put( "tcexp"   , t_oce_co2_exp * zfact )   ! molC/s 
     141       !  
    172142      ENDIF 
    173143      ! 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/TOP/PISCES/P4Z/p4zsms.F90

    r12143 r12706  
    3535   INTEGER ::    numco2, numnut, numnit      ! logical unit for co2 budget 
    3636   REAL(wp) ::   alkbudget, no3budget, silbudget, ferbudget, po4budget 
    37    REAL(wp) ::   xfact1, xfact2, xfact3 
     37   REAL(wp) ::   xfact, xfact1, xfact2, xfact3 
    3838 
    3939   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   xnegtr     ! Array used to indicate negative tracer values 
     
    6363      REAL(wp) ::  ztra 
    6464      CHARACTER (len=25) :: charout 
     65      REAL(wp), ALLOCATABLE, DIMENSION(:,:    ) :: zw2d 
     66      REAL(wp), ALLOCATABLE, DIMENSION(:,:,:  ) :: zw3d 
     67      REAL(wp), ALLOCATABLE, DIMENSION(:,:,:,:) ::   ztrdt   ! 4D workspace 
     68 
    6569      !!--------------------------------------------------------------------- 
    6670      ! 
     
    8589      rfact = r2dttrc 
    8690      ! 
     91      ! trends computation initialisation 
     92      IF( l_trdtrc )  THEN 
     93         ALLOCATE( ztrdt(jpi,jpj,jpk,jp_pisces) )  !* store now fields before applying the Asselin filter 
     94         ztrdt(:,:,:,:)  = trn(:,:,:,:) 
     95      ENDIF 
     96      ! 
     97 
    8798      IF( ( ln_top_euler .AND. kt == nittrc000 )  .OR. ( .NOT.ln_top_euler .AND. kt <= nittrc000 + nn_dttrc ) ) THEN 
    8899         rfactr  = 1. / rfact 
     
    90101         rfact2r = 1. / rfact2 
    91102         xstep = rfact2 / rday         ! Time step duration for biology 
     103         xfact = 1.e+3 * rfact2r 
    92104         IF(lwp) WRITE(numout,*)  
    93105         IF(lwp) WRITE(numout,*) '    Passive Tracer  time step    rfact  = ', rfact, ' rdt = ', rdt 
     
    134146         END DO 
    135147        ! 
     148        IF(  iom_use( 'INTdtAlk' ) .OR. iom_use( 'INTdtDIC' ) .OR. iom_use( 'INTdtFer' ) .OR.  & 
     149          &  iom_use( 'INTdtDIN' ) .OR. iom_use( 'INTdtDIP' ) .OR. iom_use( 'INTdtSil' ) )  THEN 
     150          ! 
     151          ALLOCATE( zw3d(jpi,jpj,jpk), zw2d(jpi,jpj) ) 
     152          zw3d(:,:,jpk) = 0. 
     153          DO jk = 1, jpkm1 
     154              zw3d(:,:,jk) = xnegtr(:,:,jk) * xfact * e3t_n(:,:,jk) * tmask(:,:,jk) 
     155          ENDDO 
     156          ! 
     157          zw2d(:,:) = 0. 
     158          DO jk = 1, jpkm1 
     159             zw2d(:,:) = zw2d(:,:) + zw3d(:,:,jk) * tra(:,:,jk,jptal) 
     160          ENDDO 
     161          CALL iom_put( 'INTdtAlk', zw2d ) 
     162          ! 
     163          zw2d(:,:) = 0. 
     164          DO jk = 1, jpkm1 
     165             zw2d(:,:) = zw2d(:,:) + zw3d(:,:,jk) * tra(:,:,jk,jpdic) 
     166          ENDDO 
     167          CALL iom_put( 'INTdtDIC', zw2d ) 
     168          ! 
     169          zw2d(:,:) = 0. 
     170          DO jk = 1, jpkm1 
     171             zw2d(:,:) = zw2d(:,:) + zw3d(:,:,jk) * rno3 * ( tra(:,:,jk,jpno3) + tra(:,:,jk,jpnh4) ) 
     172          ENDDO 
     173          CALL iom_put( 'INTdtDIN', zw2d ) 
     174          ! 
     175          zw2d(:,:) = 0. 
     176          DO jk = 1, jpkm1 
     177             zw2d(:,:) = zw2d(:,:) + zw3d(:,:,jk) * po4r * tra(:,:,jk,jppo4) 
     178          ENDDO 
     179          CALL iom_put( 'INTdtDIP', zw2d ) 
     180          ! 
     181          zw2d(:,:) = 0. 
     182          DO jk = 1, jpkm1 
     183             zw2d(:,:) = zw2d(:,:) + zw3d(:,:,jk) * tra(:,:,jk,jpfer) 
     184          ENDDO 
     185          CALL iom_put( 'INTdtFer', zw2d ) 
     186          ! 
     187          zw2d(:,:) = 0. 
     188          DO jk = 1, jpkm1 
     189             zw2d(:,:) = zw2d(:,:) + zw3d(:,:,jk) * tra(:,:,jk,jpsil) 
     190          ENDDO 
     191          CALL iom_put( 'INTdtSil', zw2d ) 
     192          ! 
     193          DEALLOCATE( zw3d, zw2d ) 
     194        ENDIF 
     195        ! 
    136196         DO jn = jp_pcs0, jp_pcs1 
    137197            tra(:,:,:,jn) = 0._wp 
     
    144204         ENDIF 
    145205      END DO 
    146  
    147206      ! 
    148207      IF( l_trdtrc ) THEN 
    149208         DO jn = jp_pcs0, jp_pcs1 
    150            CALL trd_trc( tra(:,:,:,jn), jn, jptra_sms, kt )   ! save trends 
     209           ztrdt(:,:,:,jn) = ( trb(:,:,:,jn) - ztrdt(:,:,:,jn) ) * rfact2r  
     210           CALL trd_trc( ztrdt(:,:,:,jn), jn, jptra_sms, kt )   ! save trends 
    151211         END DO 
     212         DEALLOCATE( ztrdt )  
    152213      END IF 
    153214#endif 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/TOP/PISCES/P4Z/p5zlim.F90

    r12143 r12706  
    406406      ! 
    407407      IF( lk_iomput .AND. knt == nrdttrc ) THEN        ! save output diagnostics 
    408         IF( iom_use( "xfracal" ) ) CALL iom_put( "xfracal", xfracal(:,:,:) * tmask(:,:,:) )  ! euphotic layer deptht 
    409         IF( iom_use( "LNnut"   ) ) CALL iom_put( "LNnut"  , xlimphy(:,:,:) * tmask(:,:,:) )  ! Nutrient limitation term 
    410         IF( iom_use( "LPnut"   ) ) CALL iom_put( "LPnut"  , xlimpic(:,:,:) * tmask(:,:,:) )  ! Nutrient limitation term 
    411         IF( iom_use( "LDnut"   ) ) CALL iom_put( "LDnut"  , xlimdia(:,:,:) * tmask(:,:,:) )  ! Nutrient limitation term 
    412         IF( iom_use( "LNFe"    ) ) CALL iom_put( "LNFe"   , xlimnfe(:,:,:) * tmask(:,:,:) )  ! Iron limitation term 
    413         IF( iom_use( "LPFe"    ) ) CALL iom_put( "LPFe"   , xlimpfe(:,:,:) * tmask(:,:,:) )  ! Iron limitation term 
    414         IF( iom_use( "LDFe"    ) ) CALL iom_put( "LDFe"   , xlimdfe(:,:,:) * tmask(:,:,:) )  ! Iron limitation term 
    415         IF( iom_use( "SIZEN"   ) ) CALL iom_put( "SIZEN"  , sizen(:,:,:) * tmask(:,:,:) )  ! Iron limitation term 
    416         IF( iom_use( "SIZEP"   ) ) CALL iom_put( "SIZEP"  , sizep(:,:,:) * tmask(:,:,:) )  ! Iron limitation term 
    417         IF( iom_use( "SIZED"   ) ) CALL iom_put( "SIZED"  , sized(:,:,:) * tmask(:,:,:) )  ! Iron limitation term 
     408        CALL iom_put( "xfracal", xfracal(:,:,:) * tmask(:,:,:) )  ! euphotic layer deptht 
     409        CALL iom_put( "LNnut"  , xlimphy(:,:,:) * tmask(:,:,:) )  ! Nutrient limitation term 
     410        CALL iom_put( "LPnut"  , xlimpic(:,:,:) * tmask(:,:,:) )  ! Nutrient limitation term 
     411        CALL iom_put( "LDnut"  , xlimdia(:,:,:) * tmask(:,:,:) )  ! Nutrient limitation term 
     412        CALL iom_put( "LNFe"   , xlimnfe(:,:,:) * tmask(:,:,:) )  ! Iron limitation term 
     413        CALL iom_put( "LPFe"   , xlimpfe(:,:,:) * tmask(:,:,:) )  ! Iron limitation term 
     414        CALL iom_put( "LDFe"   , xlimdfe(:,:,:) * tmask(:,:,:) )  ! Iron limitation term 
     415        CALL iom_put( "SIZEN"  , sizen  (:,:,:) * tmask(:,:,:) )  ! Iron limitation term 
     416        CALL iom_put( "SIZEP"  , sizep  (:,:,:) * tmask(:,:,:) )  ! Iron limitation term 
     417        CALL iom_put( "SIZED"  , sized  (:,:,:) * tmask(:,:,:) )  ! Iron limitation term 
    418418      ENDIF 
    419419      ! 
     
    448448      !!---------------------------------------------------------------------- 
    449449      ! 
    450       REWIND( numnatp_ref )              ! Namelist nampislim in reference namelist : Pisces nutrient limitation parameters 
     450      REWIND( numnatp_ref ) 
    451451      READ  ( numnatp_ref, namp5zlim, IOSTAT = ios, ERR = 901) 
    452452901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampislim in reference namelist' ) 
    453453      ! 
    454       REWIND( numnatp_cfg )              ! Namelist nampislim in configuration namelist : Pisces nutrient limitation parameters  
     454      REWIND( numnatp_cfg ) 
    455455      READ  ( numnatp_cfg, namp5zlim, IOSTAT = ios, ERR = 902 ) 
    456456902   IF( ios >  0 ) CALL ctl_nam ( ios , 'nampislim in configuration namelist' ) 
     
    489489      ENDIF 
    490490 
    491       REWIND( numnatp_ref )              ! Namelist nampislim in reference namelist : Pisces nutrient limitation parameters 
     491      REWIND( numnatp_ref ) 
    492492      READ  ( numnatp_ref, namp5zquota, IOSTAT = ios, ERR = 903) 
    493493903   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisquota in reference namelist' ) 
    494494      ! 
    495       REWIND( numnatp_cfg )              ! Namelist nampislim in configuration namelist : Pisces nutrient limitation parameters  
     495      REWIND( numnatp_cfg ) 
    496496      READ  ( numnatp_cfg, namp5zquota, IOSTAT = ios, ERR = 904 ) 
    497497904   IF( ios >  0 ) CALL ctl_nam ( ios , 'nampisquota in configuration namelist' ) 
     
    526526      zpsiuptk = 2.3 * rno3 
    527527      ! 
    528       nitrfac (:,:,:) = 0._wp 
     528      nitrfac(:,:,jpk) = 0._wp 
     529      xfracal(:,:,jpk) = 0._wp 
     530      xlimphy(:,:,jpk) = 0._wp 
     531      xlimpic(:,:,jpk) = 0._wp 
     532      xlimdia(:,:,jpk) = 0._wp 
     533      xlimnfe(:,:,jpk) = 0._wp 
     534      xlimpfe(:,:,jpk) = 0._wp 
     535      xlimdfe(:,:,jpk) = 0._wp 
     536      sizen  (:,:,jpk) = 0._wp 
     537      sizep  (:,:,jpk) = 0._wp 
     538      sized  (:,:,jpk) = 0._wp 
    529539      ! 
    530540   END SUBROUTINE p5z_lim_init 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/TOP/PISCES/P4Z/p5zmeso.F90

    r12143 r12706  
    8686      CHARACTER (len=25) :: charout 
    8787      REAL(wp) :: zrfact2, zmetexcess 
    88       REAL(wp), DIMENSION(jpi,jpj,jpk) :: zgrazing, zfezoo2 
    89       REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: zw3d, zz2ligprod 
     88      REAL(wp), DIMENSION(jpi,jpj,jpk) :: zgrazing2, zfezoo2, zz2ligprod 
    9089 
    9190      !!--------------------------------------------------------------------- 
     
    9392      IF( ln_timing )   CALL timing_start('p5z_meso') 
    9493      ! 
    95  
    96       zgrazing(:,:,:) = 0._wp 
    97       zfezoo2 (:,:,:) = 0._wp 
    98       ! 
    99       IF (ln_ligand) THEN 
    100          ALLOCATE( zz2ligprod(jpi,jpj,jpk) ) 
    101          zz2ligprod(:,:,:) = 0._wp 
    102       ENDIF 
    10394 
    10495      zmetexcess = 0.0 
     
    224215 
    225216               ! Total grazing ( grazing by microzoo is already computed in p5zmicro ) 
    226                zgrazing(ji,jj,jk) = zgraztotc 
     217               zgrazing2(ji,jj,jk) = zgraztotc 
    227218 
    228219               !   Stoichiometruc ratios of the food ingested by zooplanton  
     
    355346      END DO 
    356347      ! 
    357       IF( lk_iomput .AND. knt == nrdttrc ) THEN 
    358          ALLOCATE( zw3d(jpi,jpj,jpk) ) 
    359          IF( iom_use( "GRAZ2" ) ) THEN 
    360             zw3d(:,:,:) = zgrazing(:,:,:) * 1.e+3 * rfact2r * tmask(:,:,:)  !   Total grazing of phyto by zooplankton 
    361             CALL iom_put( "GRAZ2", zw3d ) 
     348       IF( lk_iomput .AND. knt == nrdttrc ) THEN 
     349         CALL iom_put( "PCAL"  , prodcal(:,:,:) * 1.e+3  * rfact2r * tmask(:,:,:) )  !  Calcite production  
     350         IF( iom_use("GRAZ2") ) THEN  !   Total grazing of phyto by zooplankton 
     351           zgrazing2(:,:,jpk) = 0._wp ;  CALL iom_put( "GRAZ2" , zgrazing2(:,:,:) * 1.e+3  * rfact2r * tmask(:,:,:) )  
    362352         ENDIF 
    363          IF( iom_use( "PCAL" ) ) THEN 
    364             zw3d(:,:,:) = prodcal(:,:,:) * 1.e+3 * rfact2r * tmask(:,:,:)   !  Calcite production 
    365             CALL iom_put( "PCAL", zw3d ) 
     353         IF( iom_use("FEZOO2") ) THEN   
     354           zfezoo2 (:,:,jpk) = 0._wp ; CALL iom_put( "FEZOO2", zfezoo2(:,:,:) * 1e9 * 1.e+3 * rfact2r * tmask(:,:,:) ) 
    366355         ENDIF 
    367          IF( iom_use( "FEZOO2" ) ) THEN 
    368             zw3d(:,:,:) = zfezoo2(:,:,:) * 1e9 * 1.e+3 * rfact2r * tmask(:,:,:)   ! 
    369             CALL iom_put( "FEZOO2", zw3d ) 
     356         IF( ln_ligand ) THEN 
     357            zz2ligprod(:,:,jpk) = 0._wp ; CALL iom_put( "LPRODZ2", zz2ligprod(:,:,:) * 1e9 * 1.e+3 * rfact2r * tmask(:,:,:)  ) 
    370358         ENDIF 
    371          IF( iom_use( "LPRODZ2" ) .AND. ln_ligand )  THEN 
    372             zw3d(:,:,:) = zz2ligprod(:,:,:) * 1e9 * 1.e+3 * rfact2r * tmask(:,:,:) 
    373             CALL iom_put( "LPRODZ2"  , zw3d ) 
    374          ENDIF 
    375          DEALLOCATE( zw3d ) 
    376359      ENDIF 
    377360      ! 
     
    407390      !!---------------------------------------------------------------------- 
    408391      ! 
    409       REWIND( numnatp_ref )              ! Namelist nampismes in reference namelist : Pisces mesozooplankton 
     392      REWIND( numnatp_ref ) 
    410393      READ  ( numnatp_ref, namp5zmes, IOSTAT = ios, ERR = 901) 
    411394901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampismes in reference namelist' ) 
    412395      ! 
    413       REWIND( numnatp_cfg )              ! Namelist nampismes in configuration namelist : Pisces mesozooplankton 
     396      REWIND( numnatp_cfg ) 
    414397      READ  ( numnatp_cfg, namp5zmes, IOSTAT = ios, ERR = 902 ) 
    415398902   IF( ios >  0 ) CALL ctl_nam ( ios , 'nampismes in configuration namelist' ) 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/TOP/PISCES/P4Z/p5zmicro.F90

    r12143 r12706  
    8484      REAL(wp) :: zgrazdc, zgrazdn, zgrazdp, zgrazdf, zgraznf, zgrazz 
    8585      REAL(wp) :: zgrazpc, zgrazpn, zgrazpp, zgrazpf, zbeta, zrfact2, zmetexcess 
    86       REAL(wp), DIMENSION(jpi,jpj,jpk) :: zgrazing, zfezoo 
    87       REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: zw3d, zzligprod 
     86      REAL(wp), DIMENSION(jpi,jpj,jpk) :: zgrazing, zfezoo, zzligprod 
    8887      CHARACTER (len=25) :: charout 
    8988      !!--------------------------------------------------------------------- 
    9089      ! 
    9190      IF( ln_timing )   CALL timing_start('p5z_micro') 
    92       ! 
    93       IF (ln_ligand) THEN 
    94          ALLOCATE( zzligprod(jpi,jpj,jpk) ) 
    95          zzligprod(:,:,:) = 0._wp 
    96       ENDIF 
    9791      ! 
    9892      zmetexcess = 0.0 
     
    299293      END DO 
    300294      ! 
    301       IF( lk_iomput ) THEN 
    302          IF( knt == nrdttrc ) THEN 
    303             ALLOCATE( zw3d(jpi,jpj,jpk) ) 
    304             IF( iom_use( "GRAZ1" ) ) THEN 
    305                zw3d(:,:,:) = zgrazing(:,:,:) * 1.e+3 * rfact2r * tmask(:,:,:)  !  Total grazing of phyto by zooplankton 
    306                CALL iom_put( "GRAZ1", zw3d ) 
    307             ENDIF 
    308             IF( iom_use( "FEZOO" ) ) THEN 
    309                zw3d(:,:,:) = zfezoo(:,:,:) * 1e9 * 1.e+3 * rfact2r * tmask(:,:,:)   ! 
    310                CALL iom_put( "FEZOO", zw3d ) 
    311             ENDIF 
    312             IF( iom_use( "LPRODZ" ) .AND. ln_ligand )  THEN 
    313                zw3d(:,:,:) = zzligprod(:,:,:) * 1e9 * 1.e+3 * rfact2r * tmask(:,:,:) 
    314                CALL iom_put( "LPRODZ"  , zw3d ) 
    315             ENDIF 
    316             DEALLOCATE( zw3d ) 
     295      IF( lk_iomput .AND. knt == nrdttrc ) THEN 
     296        IF( iom_use("GRAZ1") ) THEN  !   Total grazing of phyto by zooplankton 
     297           zgrazing(:,:,jpk) = 0._wp   ; CALL iom_put( "GRAZ1" , zgrazing(:,:,:) * 1.e+3  * rfact2r * tmask(:,:,:) )  
     298         ENDIF 
     299         IF( iom_use("FEZOO") ) THEN   
     300           zfezoo (:,:,jpk) = 0._wp    ; CALL iom_put( "FEZOO" , zfezoo(:,:,:) * 1e9 * 1.e+3 * rfact2r * tmask(:,:,:) ) 
     301         ENDIF 
     302         IF( ln_ligand ) THEN 
     303            zzligprod(:,:,jpk) = 0._wp ; CALL iom_put( "LPRODZ", zzligprod(:,:,:) * 1e9 * 1.e+3 * rfact2r * tmask(:,:,:)) 
    317304         ENDIF 
    318305      ENDIF 
     
    349336      !!---------------------------------------------------------------------- 
    350337      ! 
    351       REWIND( numnatp_ref )              ! Namelist nampiszoo in reference namelist : Pisces microzooplankton 
     338      REWIND( numnatp_ref ) 
    352339      READ  ( numnatp_ref, namp5zzoo, IOSTAT = ios, ERR = 901) 
    353340901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namp5zzoo in reference namelist' ) 
    354341      ! 
    355       REWIND( numnatp_cfg )              ! Namelist nampiszoo in configuration namelist : Pisces microzooplankton 
     342      REWIND( numnatp_cfg ) 
    356343      READ  ( numnatp_cfg, namp5zzoo, IOSTAT = ios, ERR = 902 ) 
    357344902   IF( ios >  0 ) CALL ctl_nam ( ios , 'namp5zzoo in configuration namelist' ) 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/TOP/PISCES/P4Z/p5zprod.F90

    r12143 r12706  
    9494      REAL(wp), DIMENSION(jpi,jpj,jpk) :: zmxl_fac, zmxl_chl 
    9595      REAL(wp), DIMENSION(jpi,jpj,jpk) :: zpligprod1, zpligprod2 
    96       REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: zw3d 
    97       REAL(wp), ALLOCATABLE, DIMENSION(:,:  ) :: zw2d 
    9896      !!--------------------------------------------------------------------- 
    9997      ! 
     
    10199      ! 
    102100      zprorcan(:,:,:) = 0._wp ; zprorcap(:,:,:) = 0._wp ; zprorcad(:,:,:) = 0._wp 
     101      zcroissn(:,:,:) = 0._wp ; zcroissp(:,:,:) = 0._wp ; zcroissd(:,:,:) = 0._wp 
    103102      zprofed (:,:,:) = 0._wp ; zprofep (:,:,:) = 0._wp ; zprofen (:,:,:) = 0._wp 
    104103      zpronewn(:,:,:) = 0._wp ; zpronewp(:,:,:) = 0._wp ; zpronewd(:,:,:) = 0._wp 
     
    107106      zprdia  (:,:,:) = 0._wp ; zprpic  (:,:,:) = 0._wp ; zprbio  (:,:,:) = 0._wp 
    108107      zprodopn(:,:,:) = 0._wp ; zprodopp(:,:,:) = 0._wp ; zprodopd(:,:,:) = 0._wp 
    109       zysopt  (:,:,:) = 0._wp 
     108      zysopt  (:,:,:) = 0._wp  
    110109      zrespn  (:,:,:) = 0._wp ; zrespp  (:,:,:) = 0._wp ; zrespd  (:,:,:) = 0._wp  
    111110 
     
    444443     ! 
    445444     IF( ln_ligand ) THEN 
    446          zpligprod1(:,:,:) = 0._wp    ;    zpligprod2(:,:,:) = 0._wp 
     445         zpligprod1(:,:,:) = 0._wp    ;    zpligprod2(:,:,:) = 0._wp         
    447446         DO jk = 1, jpkm1 
    448447            DO jj = 1, jpj 
     
    465464      & tpp = glob_sum( 'p5zprod', ( zprorcan(:,:,:) + zprorcad(:,:,:) + zprorcap(:,:,:) ) * cvol(:,:,:) ) 
    466465 
    467     IF( lk_iomput ) THEN 
    468        IF( knt == nrdttrc ) THEN 
    469           ALLOCATE( zw2d(jpi,jpj), zw3d(jpi,jpj,jpk) ) 
    470           zfact = 1.e+3 * rfact2r  !  conversion from mol/l/kt to  mol/m3/s 
    471           ! 
    472           IF( iom_use( "PPPHYN" ) .OR. iom_use( "PPPHYD" ) .OR. iom_use( "PPPHYP" ) )  THEN 
    473               zw3d(:,:,:) = zprorcan(:,:,:) * zfact * tmask(:,:,:)  ! primary production by nanophyto 
    474               CALL iom_put( "PPPHYN"  , zw3d ) 
    475               ! 
    476               zw3d(:,:,:) = zprorcap(:,:,:) * zfact * tmask(:,:,:)  ! primary production by picophyto 
    477               CALL iom_put( "PPPHYP"  , zw3d ) 
    478               ! 
    479               zw3d(:,:,:) = zprorcad(:,:,:) * zfact * tmask(:,:,:)  ! primary production by diatomes 
    480               CALL iom_put( "PPPHYD"  , zw3d ) 
    481           ENDIF 
    482           IF( iom_use( "PPNEWN" ) .OR. iom_use( "PPNEWD" ) .OR. iom_use( "PPNEWP" ) )  THEN 
    483               zw3d(:,:,:) = zpronewn(:,:,:) * zfact * tmask(:,:,:)  ! new primary production by nanophyto 
    484               CALL iom_put( "PPNEWN"  , zw3d ) 
    485               ! 
    486               zw3d(:,:,:) = zpronewp(:,:,:) * zfact * tmask(:,:,:)  ! new primary production by picophyto 
    487               CALL iom_put( "PPNEWP"  , zw3d ) 
    488               ! 
    489               zw3d(:,:,:) = zpronewd(:,:,:) * zfact * tmask(:,:,:)  ! new primary production by diatomes 
    490               CALL iom_put( "PPNEWD"  , zw3d ) 
    491           ENDIF 
    492           IF( iom_use( "PBSi" ) )  THEN 
    493               zw3d(:,:,:) = zprorcad(:,:,:) * zfact * tmask(:,:,:) * zysopt(:,:,:) ! biogenic silica production 
    494               CALL iom_put( "PBSi"  , zw3d ) 
    495           ENDIF 
    496           IF( iom_use( "PFeN" ) .OR. iom_use( "PFeD" ) .OR. iom_use( "PFeP" ) )  THEN 
    497               zw3d(:,:,:) = zprofen(:,:,:) * zfact * tmask(:,:,:)  ! biogenic iron production by nanophyto 
    498               CALL iom_put( "PFeN"  , zw3d ) 
    499               ! 
    500               zw3d(:,:,:) = zprofep(:,:,:) * zfact * tmask(:,:,:)  ! biogenic iron production by picophyto 
    501               CALL iom_put( "PFeP"  , zw3d ) 
    502               ! 
    503               zw3d(:,:,:) = zprofed(:,:,:) * zfact * tmask(:,:,:)  ! biogenic iron production by  diatomes 
    504               CALL iom_put( "PFeD"  , zw3d ) 
    505           ENDIF 
    506           IF( iom_use( "LPRODP" ) )  THEN 
    507               zw3d(:,:,:) = zpligprod1(:,:,:) * 1e9 * zfact * tmask(:,:,:) 
    508               CALL iom_put( "LPRODP"  , zw3d ) 
    509           ENDIF 
    510           IF( iom_use( "LDETP" ) )  THEN 
    511               zw3d(:,:,:) = zpligprod2(:,:,:) * 1e9 * zfact * tmask(:,:,:) 
    512               CALL iom_put( "LDETP"  , zw3d ) 
    513           ENDIF 
    514           IF( iom_use( "Mumax" ) )  THEN 
    515               zw3d(:,:,:) = zprmaxn(:,:,:) * tmask(:,:,:)   ! Maximum growth rate 
    516               CALL iom_put( "Mumax"  , zw3d ) 
    517           ENDIF 
    518           IF( iom_use( "MuN" ) .OR. iom_use( "MuD" ) .OR. iom_use( "MuP" ) )  THEN 
    519               zw3d(:,:,:) = zprbio(:,:,:) * xlimphy(:,:,:) * tmask(:,:,:)  ! Realized growth rate for nanophyto 
    520               CALL iom_put( "MuN"  , zw3d ) 
    521               ! 
    522               zw3d(:,:,:) = zprpic(:,:,:) * xlimpic(:,:,:) * tmask(:,:,:)  ! Realized growth rate for picophyto 
    523               CALL iom_put( "MuP"  , zw3d ) 
    524               ! 
    525               zw3d(:,:,:) =  zprdia(:,:,:) * xlimdia(:,:,:) * tmask(:,:,:)  ! Realized growth rate for diatoms 
    526               CALL iom_put( "MuD"  , zw3d ) 
    527           ENDIF 
    528           IF( iom_use( "LNlight" ) .OR. iom_use( "LDlight" ) .OR. iom_use( "LPlight" ) )  THEN 
    529               zw3d(:,:,:) = zprbio (:,:,:) / (zprmaxn(:,:,:) + rtrn) * tmask(:,:,:) ! light limitation term 
    530               CALL iom_put( "LNlight"  , zw3d ) 
    531               ! 
    532               zw3d(:,:,:) = zprpic (:,:,:) / (zprmaxp(:,:,:) + rtrn) * tmask(:,:,:) ! light limitation term 
    533               CALL iom_put( "LPlight"  , zw3d ) 
    534               ! 
    535               zw3d(:,:,:) =  zprdia (:,:,:) / (zprmaxd(:,:,:) + rtrn) * tmask(:,:,:)  ! light limitation term 
    536               CALL iom_put( "LDlight"  , zw3d ) 
    537           ENDIF 
    538           IF( iom_use( "MunetN" ) .OR. iom_use( "MunetD" ) .OR. iom_use( "MunetP" ) )  THEN 
    539               zw3d(:,:,:) = zcroissn(:,:,:) * tmask(:,:,:) ! ! Realized growth rate for nanophyto 
    540               CALL iom_put( "MunetN"  , zw3d ) 
    541               ! 
    542               zw3d(:,:,:) = zcroissp(:,:,:) * tmask(:,:,:) ! ! Realized growth rate for picophyto 
    543               CALL iom_put( "MunetP"  , zw3d ) 
    544               ! 
    545               zw3d(:,:,:) = zcroissd(:,:,:) * tmask(:,:,:) ! ! Realized growth rate for diatomes 
    546               CALL iom_put( "MunetD"  , zw3d ) 
    547               ! 
    548           ENDIF 
    549  
    550           IF( iom_use( "tintpp" ) )  CALL iom_put( "tintpp" , tpp * zfact )  !  global total integrated primary production molC/s 
    551           ! 
    552           DEALLOCATE( zw2d, zw3d ) 
     466    IF( lk_iomput .AND.  knt == nrdttrc ) THEN 
     467       zfact = 1.e+3 * rfact2r  !  conversion from mol/l/kt to  mol/m3/s 
     468       ! 
     469       CALL iom_put( "PPPHYP"  , zprorcap(:,:,:) * zfact * tmask(:,:,:)   ) ! primary production by picophyto 
     470       CALL iom_put( "PPPHYN"  , zprorcan(:,:,:) * zfact * tmask(:,:,:) )  ! primary production by nanophyto 
     471       CALL iom_put( "PPPHYD"  , zprorcad(:,:,:) * zfact * tmask(:,:,:)   ) ! primary production by diatomes 
     472       CALL iom_put( "PPNEWN"  , zpronewp(:,:,:) * zfact * tmask(:,:,:)    ) ! new primary production by picophyto 
     473       CALL iom_put( "PPNEWN"  , zpronewn(:,:,:) * zfact * tmask(:,:,:)    ) ! new primary production by nanophyto 
     474       CALL iom_put( "PPNEWD"  , zpronewd(:,:,:) * zfact * tmask(:,:,:)   ) ! new primary production by diatomes 
     475       CALL iom_put( "PBSi"    , zprorcad(:,:,:) * zfact * tmask(:,:,:) * zysopt(:,:,:)  ) ! biogenic silica production 
     476       CALL iom_put( "PFeP"    , zprofep(:,:,:) * zfact * tmask(:,:,:)  ) ! biogenic iron production by picophyto 
     477       CALL iom_put( "PFeN"    , zprofen(:,:,:) * zfact * tmask(:,:,:)  ) ! biogenic iron production by nanophyto 
     478       CALL iom_put( "PFeD"    , zprofed(:,:,:) * zfact * tmask(:,:,:)  ) ! biogenic iron production by  diatomes 
     479       IF( ln_ligand ) THEN 
     480         CALL iom_put( "LPRODP"  , zpligprod1(:,:,:) * 1e9 * zfact * tmask(:,:,:) ) 
     481         CALL iom_put( "LDETP"   , zpligprod2(:,:,:) * 1e9 * zfact * tmask(:,:,:) ) 
    553482       ENDIF 
     483       CALL iom_put( "Mumax"   , zprmaxn(:,:,:) * tmask(:,:,:)  ) ! Maximum growth rate 
     484       CALL iom_put( "MuP"     , zprpic(:,:,:) * xlimpic(:,:,:) * tmask(:,:,:) ) ! Realized growth rate for picophyto 
     485       CALL iom_put( "MuN"     , zprbio(:,:,:) * xlimphy(:,:,:) * tmask(:,:,:) ) ! Realized growth rate for nanophyto 
     486       CALL iom_put( "MuD"     , zprdia(:,:,:) * xlimdia(:,:,:) * tmask(:,:,:) ) ! Realized growth rate for diatoms 
     487       CALL iom_put( "LPlight" , zprpic(:,:,:) / (zprmaxp(:,:,:) + rtrn) * tmask(:,:,:)  )  ! light limitation term 
     488       CALL iom_put( "LNlight" , zprbio(:,:,:) / (zprmaxn(:,:,:) + rtrn) * tmask(:,:,:)  )  ! light limitation term 
     489       CALL iom_put( "LDlight" , zprdia(:,:,:) / (zprmaxd(:,:,:) + rtrn) * tmask(:,:,:)   ) 
     490       CALL iom_put( "MunetP"  , zcroissp(:,:,:) * tmask(:,:,:) ) ! Realized growth rate for picophyto 
     491       CALL iom_put( "MunetN"  , zcroissn(:,:,:) * tmask(:,:,:) ) ! Realized growth rate for nanophyto 
     492       CALL iom_put( "MunetD"  , zcroissd(:,:,:) * tmask(:,:,:) ) ! Realized growth rate for diatoms 
     493       CALL iom_put( "TPP"     , ( zprorcap(:,:,:) + zprorcan(:,:,:) + zprorcad(:,:,:) ) * zfact * tmask(:,:,:)  )  ! total primary production 
     494       CALL iom_put( "TPNEW"   , ( zpronewp(:,:,:) + zpronewn(:,:,:) + zpronewd(:,:,:) ) * zfact * tmask(:,:,:)  ) ! total new production 
     495       CALL iom_put( "TPBFE"   , ( zprofep (:,:,:) + zprofen (:,:,:) + zprofed (:,:,:) ) * zfact * tmask(:,:,:)  )  ! total biogenic iron production 
     496       CALL iom_put( "tintpp"  , tpp * zfact )  !  global total integrated primary production molC/s 
    554497     ENDIF 
    555498 
     
    582525      !!---------------------------------------------------------------------- 
    583526 
    584       REWIND( numnatp_ref )              ! Namelist nampisprod in reference namelist : Pisces phytoplankton production 
     527      REWIND( numnatp_ref ) 
    585528      READ  ( numnatp_ref, namp5zprod, IOSTAT = ios, ERR = 901) 
    586529901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namp5zprod in reference namelist' ) 
    587530 
    588       REWIND( numnatp_cfg )              ! Namelist nampisprod in configuration namelist : Pisces phytoplankton production 
     531      REWIND( numnatp_cfg ) 
    589532      READ  ( numnatp_cfg, namp5zprod, IOSTAT = ios, ERR = 902 ) 
    590533902   IF( ios >  0 ) CALL ctl_nam ( ios , 'namp5zprod in configuration namelist' ) 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/TOP/trcini.F90

    r10817 r12706  
    5858      IF(lwp) WRITE(numout,*) '~~~~~~~~' 
    5959      ! 
    60       CALL trc_ini_ctl   ! control  
    6160      CALL trc_nam       ! read passive tracers namelists 
    6261      CALL top_alloc()   ! allocate TOP arrays 
     
    8584      ! 
    8685   END SUBROUTINE trc_init 
    87  
    88  
    89    SUBROUTINE trc_ini_ctl 
    90       !!---------------------------------------------------------------------- 
    91       !!                     ***  ROUTINE trc_ini_ctl  *** 
    92       !! ** Purpose :        Control  + ocean volume 
    93       !!---------------------------------------------------------------------- 
    94       INTEGER ::   jk    ! dummy loop indices 
    95       ! 
    96       ! Define logical parameter ton control dirunal cycle in TOP 
    97       l_trcdm2dc = ln_dm2dc .OR. ( ln_cpl .AND. ncpl_qsr_freq /= 1 ) 
    98       l_trcdm2dc = l_trcdm2dc  .AND. .NOT. l_offline 
    99       IF( l_trcdm2dc .AND. lwp )   CALL ctl_warn( 'Coupling with passive tracers and used of diurnal cycle.',   & 
    100          &                           'Computation of a daily mean shortwave for some biogeochemical models ' ) 
    101       ! 
    102    END SUBROUTINE trc_ini_ctl 
    10386 
    10487 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/TOP/trcstp.F90

    r10570 r12706  
    7171      ll_trcstat  = ( ln_ctl .OR. sn_cfctl%l_trcstat ) .AND. & 
    7272     &              ( ( MOD( kt, sn_cfctl%ptimincr ) == 0 ) .OR. ( kt == nitend ) ) 
     73 
     74      IF( kt == nittrc000 )                      CALL trc_stp_ctl   ! control  
    7375      IF( kt == nittrc000 .AND. lk_trdmxl_trc )  CALL trd_mxl_trc_init    ! trends: Mixed-layer 
    7476      ! 
     
    124126      ! 
    125127   END SUBROUTINE trc_stp 
     128 
     129   SUBROUTINE trc_stp_ctl 
     130      !!---------------------------------------------------------------------- 
     131      !!                     ***  ROUTINE trc_stp_ctl  *** 
     132      !! ** Purpose :        Control  + ocean volume 
     133      !!---------------------------------------------------------------------- 
     134      ! 
     135      ! Define logical parameter ton control dirunal cycle in TOP 
     136      l_trcdm2dc = ln_dm2dc .OR. ( ln_cpl .AND. ncpl_qsr_freq /= 1 ) 
     137      l_trcdm2dc = l_trcdm2dc  .AND. .NOT. l_offline 
     138      IF( l_trcdm2dc .AND. lwp )   CALL ctl_warn( 'Coupling with passive tracers and used of diurnal cycle.',   & 
     139         &                           'Computation of a daily mean shortwave for some biogeochemical models ' ) 
     140      ! 
     141   END SUBROUTINE trc_stp_ctl 
    126142 
    127143 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/TOP/trcwri.F90

    r10068 r12706  
    4646      IF( ln_timing )   CALL timing_start('trc_wri') 
    4747      ! 
    48       IF( l_offline .AND. kt == nittrc000 .AND. lwp ) THEN    ! WRITE root name in date.file for use by postpro 
    49          CALL dia_nam( clhstnam, nn_writetrc,' ' ) 
    50          CALL ctl_opn( inum, 'date.file', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp, narea ) 
    51          WRITE(inum,*) clhstnam 
    52          CLOSE(inum) 
     48      IF( l_offline ) THEN    ! WRITE root name in date.file for use by postpro 
     49         IF(  kt == nittrc000 .AND. lwp ) THEN    ! WRITE root name in date.file for use by postpro 
     50           CALL dia_nam( clhstnam, nn_writetrc,' ' ) 
     51           CALL ctl_opn( inum, 'date.file', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp, narea ) 
     52           WRITE(inum,*) clhstnam 
     53           CLOSE(inum) 
     54        ENDIF 
     55        ! Output of initial vertical scale factor 
     56        CALL iom_put("e3t_0", e3t_0(:,:,:) ) 
     57        CALL iom_put("e3u_0", e3u_0(:,:,:) ) 
     58        CALL iom_put("e3v_0", e3v_0(:,:,:) ) 
     59        ! 
     60        CALL iom_put( "e3t" , e3t_n(:,:,:) ) 
     61        CALL iom_put( "e3u" , e3u_n(:,:,:) ) 
     62        CALL iom_put( "e3v" , e3v_n(:,:,:) ) 
     63        ! 
    5364      ENDIF 
    5465      ! write the tracer concentrations in the file 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/tests/CANAL/EXPREF/context_nemo.xml

    r12143 r12706  
    55--> 
    66<context id="nemo"> 
    7 <!-- $id$ --> 
     7    <!-- $id$ --> 
    88    <variable_definition> 
    9     <!-- Year of time origin for NetCDF files; defaults to 1800 --> 
    10        <variable id="ref_year" type="int"   > 1800 </variable> 
    11        <variable id="rau0"     type="float" > 1026.0 </variable> 
    12        <variable id="cpocean"  type="float" > 3991.86795711963 </variable> 
    13        <variable id="convSpsu" type="float" > 0.99530670233846  </variable> 
    14        <variable id="rhoic"    type="float" > 917.0 </variable> 
    15        <variable id="rhosn"    type="float" > 330.0 </variable> 
    16        <variable id="missval"  type="float" > 1.e20 </variable> 
     9       <!-- Year/Month/Day of time origin for NetCDF files; defaults to 1800-01-01 --> 
     10       <variable id="ref_year"  type="int"> 1900 </variable> 
     11       <variable id="ref_month" type="int"> 01 </variable> 
     12       <variable id="ref_day"   type="int"> 01 </variable> 
     13       <variable id="rau0"      type="float" > 1026.0 </variable> 
     14       <variable id="cpocean"   type="float" > 3991.86795711963 </variable> 
     15       <variable id="convSpsu"  type="float" > 0.99530670233846  </variable> 
     16       <variable id="rhoic"     type="float" > 917.0 </variable> 
     17       <variable id="rhosn"     type="float" > 330.0 </variable> 
     18       <variable id="missval"  type="float" > 1.e20 </variable>           
    1719    </variable_definition> 
     20 
    1821<!-- Fields definition --> 
    1922    <field_definition src="./field_def_nemo-oce.xml"/>   <!--  NEMO ocean dynamics                     --> 
     
    2124<!-- Files definition --> 
    2225    <file_definition src="./file_def_nemo-oce.xml"/>     <!--  NEMO ocean dynamics                     --> 
    23     <!--  
    24 ============================================================================================================ 
    25 = grid definition = = DO NOT CHANGE = 
    26 ============================================================================================================ 
    27     --> 
    28      
    29     <axis_definition> 
    30       <axis id="deptht"  long_name="Vertical T levels" unit="m" positive="down" /> 
    31       <axis id="depthu"  long_name="Vertical U levels" unit="m" positive="down" /> 
    32       <axis id="depthv"  long_name="Vertical V levels" unit="m" positive="down" /> 
    33       <axis id="depthw"  long_name="Vertical W levels" unit="m" positive="down" /> 
    34       <axis id="nfloat"  long_name="Float number"      unit="-"                 /> 
    35       <axis id="icbcla"  long_name="Iceberg class"     unit="1"                 /> 
    36       <axis id="ncatice" long_name="Ice category"      unit="1"                 /> 
    37       <axis id="iax_20C" long_name="20 degC isotherm"  unit="degC"              /> 
    38       <axis id="iax_28C" long_name="28 degC isotherm"  unit="degC"              /> 
    39     </axis_definition> 
     26 
     27<!-- Axis definition --> 
     28    <axis_definition src="./axis_def_nemo.xml"/> 
    4029  
     30<!-- Domain definition --> 
    4131    <domain_definition src="./domain_def_nemo.xml"/> 
     32 
     33<!-- Grids definition --> 
     34    <grid_definition   src="./grid_def_nemo.xml"/> 
    4235   
    43     <grid_definition src="./grid_def_nemo.xml"/> 
    4436 
    4537</context> 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/tests/CANAL/EXPREF/field_def_nemo-oce.xml

    r9572 r12706  
    88============================================================================================================ 
    99    --> 
    10    <field_definition level="1" prec="4" operation="average" enabled=".TRUE." default_value="1.e20" > <!-- time step automaticaly defined --> 
     10    <field_definition level="1" prec="4" operation="average" enabled=".TRUE." default_value="1.e20" > <!-- time step automaticaly defined --> 
    1111 
    1212    <!--  
     
    1919       
    2020      <field_group id="grid_T" grid_ref="grid_T_2D" > 
    21          <field id="salgrad"          long_name="module of salinity gradient"              unit="psu/m"   grid_ref="grid_T_3D"/> 
    22          <field id="salgrad2"         long_name="square of module of salinity gradient"    unit="psu2/m2" grid_ref="grid_T_3D"/> 
    23          <field id="ke"             long_name="kinetic energy"                           unit="m2/s2"   grid_ref="grid_T_3D"/> 
    24          <field id="ke_zint"        long_name="vertical integration of kinetic energy"   unit="m3/s2"   /> 
    25          <field id="relvor"           long_name="relative vorticity"                       unit="s-1"    grid_ref="grid_T_3D"/> 
    26          <field id="absvor"           long_name="absolute vorticity"                       unit="s-1"    grid_ref="grid_T_3D"/> 
    27          <field id="potvor"           long_name="potential vorticity"                      unit="s-1"    grid_ref="grid_T_3D"/> 
    28          <field id="e3t"          long_name="T-cell thickness"   standard_name="cell_thickness"   unit="m"   grid_ref="grid_T_3D"/> 
    29          <field id="e3t_surf"     long_name="T-cell thickness"   field_ref="e3t"  standard_name="cell_thickness"   unit="m"   grid_ref="grid_T_SFC"/> 
    30          <field id="e3t_0"        long_name="Initial T-cell thickness"   standard_name="ref_cell_thickness"   unit="m"   grid_ref="grid_T_3D"/> 
    31  
    32          <field id="toce"         long_name="temperature"         standard_name="sea_water_potential_temperature"   unit="degC"     grid_ref="grid_T_3D"/> 
    33          <field id="toce_e3t"     long_name="temperature (thickness weighted)"                                      unit="degC"     grid_ref="grid_T_3D" > toce * e3t </field > 
    34          <field id="soce"         long_name="salinity"            standard_name="sea_water_practical_salinity"      unit="1e-3"     grid_ref="grid_T_3D"/> 
    35          <field id="soce_e3t"     long_name="salinity    (thickness weighted)"                                      unit="1e-3"     grid_ref="grid_T_3D" > soce * e3t </field > 
    36  
    37          <!-- t-eddy viscosity coefficients (ldfdyn) --> 
    38     <field id="ahmt_2d"      long_name=" surface t-eddy viscosity coefficient"   unit="m2/s or m4/s" /> 
    39     <field id="ahmt_3d"      long_name=" 3D      t-eddy viscosity coefficient"   unit="m2/s or m4/s"                           grid_ref="grid_T_3D"/> 
    40  
    41          <field id="sst"          long_name="sea surface temperature"             standard_name="sea_surface_temperature"             unit="degC"     /> 
    42          <field id="sst2"         long_name="square of sea surface temperature"   standard_name="square_of_sea_surface_temperature"   unit="degC2"     > sst * sst </field > 
    43          <field id="sstmax"       long_name="max of sea surface temperature"   field_ref="sst"   operation="maximum"                                  /> 
    44          <field id="sstmin"       long_name="min of sea surface temperature"   field_ref="sst"   operation="minimum"                                  /> 
    45          <field id="sstgrad"      long_name="module of sst gradient"                                                                  unit="degC/m"   /> 
    46          <field id="sstgrad2"     long_name="square of module of sst gradient"                                                        unit="degC2/m2" /> 
    47          <field id="sbt"          long_name="sea bottom temperature"                                                                  unit="degC"     /> 
    48          <field id="tosmint"      long_name="vertical integral of temperature times density"   standard_name="integral_wrt_depth_of_product_of_density_and_potential_temperature"  unit="(kg m2) degree_C" /> 
    49          <field id="sst_wl"       long_name="Delta SST of warm layer"                                                                 unit="degC"     /> 
    50          <field id="sst_cs"       long_name="Delta SST of cool skin"                                                                  unit="degC"     /> 
    51     <field id="temp_3m"      long_name="temperature at 3m"                                                                       unit="degC"     /> 
    52           
    53          <field id="sss"          long_name="sea surface salinity"             standard_name="sea_surface_salinity"   unit="1e-3" /> 
    54          <field id="sss2"         long_name="square of sea surface salinity"                                          unit="1e-6"  > sss * sss </field > 
    55          <field id="sssmax"       long_name="max of sea surface salinity"   field_ref="sss"   operation="maximum"                 /> 
    56          <field id="sssmin"       long_name="min of sea surface salinity"   field_ref="sss"   operation="minimum"                 /> 
    57          <field id="sbs"          long_name="sea bottom salinity"                                                     unit="0.001" /> 
    58          <field id="somint"       long_name="vertical integral of salinity times density"   standard_name="integral_wrt_depth_of_product_of_density_and_salinity"  unit="(kg m2) x (1e-3)" />  
    59  
    60          <field id="taubot"       long_name="bottom stress module"                                                    unit="N/m2" />  
    61  
    62          <field id="ssh"          long_name="sea surface height"             standard_name="sea_surface_height_above_geoid"             unit="m" /> 
    63          <field id="ssh2"         long_name="square of sea surface height"   standard_name="square_of_sea_surface_height_above_geoid"   unit="m2" > ssh * ssh </field > 
    64          <field id="wetdep"       long_name="wet depth"                      standard_name="wet_depth"                unit="m" /> 
    65          <field id="sshmax"       long_name="max of sea surface height"   field_ref="ssh"   operation="maximum"                                  /> 
    66  
    67          <field id="mldkz5"       long_name="Turbocline depth (Kz = 5e-4)"                       standard_name="ocean_mixed_layer_thickness_defined_by_vertical_tracer_diffusivity"                unit="m"          /> 
    68          <field id="mldr10_1"     long_name="Mixed Layer Depth (dsigma = 0.01 wrt 10m)"          standard_name="ocean_mixed_layer_thickness_defined_by_sigma_theta"                                unit="m"          /> 
    69          <field id="mldr10_1max"  long_name="Max of Mixed Layer Depth (dsigma = 0.01 wrt 10m)"   field_ref="mldr10_1"   operation="maximum"                                                                          /> 
    70          <field id="mldr10_1min"  long_name="Min of Mixed Layer Depth (dsigma = 0.01 wrt 10m)"   field_ref="mldr10_1"   operation="minimum"                                                                          /> 
    71          <field id="heatc"        long_name="Heat content vertically integrated"                 standard_name="integral_of_sea_water_potential_temperature_wrt_depth_expressed_as_heat_content"   unit="J/m2"       /> 
    72          <field id="saltc"        long_name="Salt content vertically integrated"                                                                                                                   unit="1e-3*kg/m2" /> 
    73          <field id="salt2c"        long_name="Salt content vertically integrated"                                                                                                                   unit="1e-3*kg/m2" /> 
    74  
    75          <!-- EOS --> 
    76          <field id="alpha"        long_name="thermal expansion"                                                         unit="degC-1" grid_ref="grid_T_3D" /> 
    77          <field id="beta"         long_name="haline contraction"                                                        unit="1e3"    grid_ref="grid_T_3D" /> 
    78          <field id="bn2"          long_name="squared Brunt-Vaisala frequency"                                           unit="s-1"    grid_ref="grid_T_3D" /> 
    79          <field id="rhop"         long_name="potential density (sigma0)"        standard_name="sea_water_sigma_theta"   unit="kg/m3"  grid_ref="grid_T_3D" /> 
    80  
    81          <!-- Energy - horizontal divergence --> 
    82          <field id="eken"         long_name="kinetic energy"          standard_name="specific_kinetic_energy_of_sea_water"   unit="m2/s2"  grid_ref="grid_T_3D" /> 
    83          <field id="hdiv"         long_name="horizontal divergence"                                                          unit="s-1"    grid_ref="grid_T_3D" /> 
    84  
    85          <!-- variables available with MLE --> 
    86          <field id="Lf_NHpf"      long_name="MLE: Lf = N H / f"   unit="m" /> 
    87  
    88          <!-- next variables available with key_diahth --> 
    89          <field id="mlddzt"       long_name="Thermocline Depth (depth of max dT/dz)"         standard_name="depth_at_maximum_upward_derivative_of_sea_water_potential_temperature"             unit="m"                         /> 
    90          <field id="mldr10_3"     long_name="Mixed Layer Depth (dsigma = 0.03 wrt 10m)"      standard_name="ocean_mixed_layer_thickness_defined_by_sigma_theta"                                unit="m"                         /> 
    91          <field id="mldr0_1"      long_name="Mixed Layer Depth (dsigma = 0.01 wrt sfc)"      standard_name="ocean_mixed_layer_thickness_defined_by_sigma_theta"                                unit="m"                         /> 
    92          <field id="mldr0_3"      long_name="Mixed Layer Depth (dsigma = 0.03 wrt sfc)"      standard_name="ocean_mixed_layer_thickness_defined_by_sigma_theta"                                unit="m"                         /> 
    93          <field id="mld_dt02"     long_name="Mixed Layer Depth (|dT| = 0.2 wrt 10m)"         standard_name="ocean_mixed_layer_thickness_defined_by_temperature"                                unit="m"                         /> 
    94          <field id="topthdep"     long_name="Top of Thermocline Depth (dT = -0.2 wrt 10m)"   standard_name="ocean_mixed_layer_thickness_defined_by_temperature"                                unit="m"                         /> 
    95          <field id="pycndep"      long_name="Pycnocline Depth (dsigma[dT=-0.2] wrt 10m)"     standard_name="ocean_mixed_layer_thickness_defined_by_sigma_theta"                                unit="m"                         /> 
    96          <field id="BLT"          long_name="Barrier Layer Thickness"                                                                                                                          unit="m"                          > topthdep - pycndep </field> 
    97          <field id="tinv"         long_name="Max of vertical invertion of temperature"                                                                                                         unit="degC"                      /> 
    98          <field id="depti"        long_name="Depth of max. vert. inv. of temperature"                                                                                                          unit="m"                         /> 
    99          <field id="20d"          long_name="Depth of 20C isotherm"                          standard_name="depth_of_isosurface_of_sea_water_potential_temperature"                            unit="m"      axis_ref="iax_20C" /> 
    100          <field id="28d"          long_name="Depth of 28C isotherm"                          standard_name="depth_of_isosurface_of_sea_water_potential_temperature"                            unit="m"      axis_ref="iax_28C" /> 
    101          <field id="hc300"        long_name="Heat content 0-300m"                            standard_name="integral_of_sea_water_potential_temperature_wrt_depth_expressed_as_heat_content"   unit="J/m2"                      /> 
    102  
    103          <!-- variables available with diaar5 --> 
    104          <field id="botpres"      long_name="Sea Water Pressure at Sea Floor"   standard_name="sea_water_pressure_at_sea_floor"   unit="dbar" /> 
    105          <field id="sshdyn"       long_name="dynamic sea surface height"     standard_name="dynamic_sea_surface_height_above_geoid"     unit="m" /> 
    106          <field id="sshdyn2"      long_name="square of dynamic sea surface height"     standard_name="dynamic_sea_surface_height_above_geoid_squared"     unit="m2" > sshdyn * sshdyn </field> 
    107          <field id="tnpeo"      long_name="Tendency of ocean potential energy content"          unit="W/m2"                           /> 
    108  
    109          <!-- variables available ln_linssh=.FALSE. --> 
    110          <field id="tpt_dep"      long_name="T-point depth"                  standard_name="depth_below_geoid"   unit="m"   grid_ref="grid_T_3D" /> 
    111          <field id="e3tdef"       long_name="T-cell thickness deformation"                                       unit="%"   grid_ref="grid_T_3D" /> 
    112       </field_group> 
     21 
     22        <field id="salgrad"          long_name="module of salinity gradient"              unit="psu/m"   grid_ref="grid_T_3D"/> 
     23        <field id="salgrad2"         long_name="square of module of salinity gradient"    unit="psu2/m2" grid_ref="grid_T_3D"/> 
     24        <field id="ke"             long_name="kinetic energy"                           unit="m2/s2"   grid_ref="grid_T_3D"/> 
     25        <field id="ke_zint"        long_name="vertical integration of kinetic energy"   unit="m3/s2"   /> 
     26        <field id="relvor"           long_name="relative vorticity"                       unit="s-1"    grid_ref="grid_T_3D"/> 
     27        <field id="absvor"           long_name="absolute vorticity"                       unit="s-1"    grid_ref="grid_T_3D"/> 
     28        <field id="potvor"           long_name="potential vorticity"                      unit="s-1"    grid_ref="grid_T_3D"/> 
     29 
     30        <field id="e3t"          long_name="T-cell thickness"                    standard_name="cell_thickness"     unit="m"   grid_ref="grid_T_3D" /> 
     31        <field id="e3t_surf"     long_name="T-cell thickness"   field_ref="e3t"  standard_name="cell_thickness"     unit="m"   grid_ref="grid_T_SFC"/> 
     32        <field id="e3t_0"        long_name="Initial T-cell thickness"            standard_name="ref_cell_thickness" unit="m"   grid_ref="grid_T_3D" /> 
     33 
     34        <field id="toce"         long_name="temperature"                         standard_name="sea_water_potential_temperature"   unit="degC"     grid_ref="grid_T_3D"/> 
     35        <field id="toce_e3t"     long_name="temperature (thickness weighted)"                                                      unit="degC"     grid_ref="grid_T_3D" > toce * e3t </field > 
     36        <field id="soce"         long_name="salinity"                            standard_name="sea_water_practical_salinity"      unit="1e-3"     grid_ref="grid_T_3D"/> 
     37        <field id="soce_e3t"     long_name="salinity    (thickness weighted)"                                                      unit="1e-3"     grid_ref="grid_T_3D" > soce * e3t </field > 
     38 
     39        <!-- t-eddy viscosity coefficients (ldfdyn) --> 
     40   <field id="ahmt_2d"      long_name=" surface t-eddy viscosity coefficient"   unit="m2/s or m4/s"                      /> 
     41   <field id="ahmt_3d"      long_name=" 3D      t-eddy viscosity coefficient"   unit="m2/s or m4/s"  grid_ref="grid_T_3D"/> 
     42 
     43        <field id="sst"          long_name="sea surface temperature"                            standard_name="sea_surface_temperature"             unit="degC"     /> 
     44        <field id="sst2"         long_name="square of sea surface temperature"                  standard_name="square_of_sea_surface_temperature"   unit="degC2"     > sst * sst </field > 
     45        <field id="sstmax"       long_name="max of sea surface temperature"   field_ref="sst"   operation="maximum"                                                 /> 
     46        <field id="sstmin"       long_name="min of sea surface temperature"   field_ref="sst"   operation="minimum"                                                 /> 
     47        <field id="sstgrad"      long_name="module of sst gradient"                                                                                 unit="degC/m"   /> 
     48        <field id="sstgrad2"     long_name="square of module of sst gradient"                                                                       unit="degC2/m2" /> 
     49        <field id="sbt"          long_name="sea bottom temperature"                                                                                 unit="degC"     /> 
     50        <field id="tosmint"      long_name="vertical integral of temperature times density"     standard_name="integral_wrt_depth_of_product_of_density_and_potential_temperature"  unit="(kg m2) degree_C" /> 
     51        <field id="sst_wl"       long_name="Delta SST of warm layer"                                                                                unit="degC"     /> 
     52        <field id="sst_cs"       long_name="Delta SST of cool skin"                                                                                 unit="degC"     /> 
     53   <field id="temp_3m"      long_name="temperature at 3m"                                                                                      unit="degC"     /> 
     54         
     55        <field id="sss"          long_name="sea surface salinity"                               standard_name="sea_surface_salinity"                unit="1e-3"     /> 
     56        <field id="sss2"         long_name="square of sea surface salinity"                                                                         unit="1e-6"      > sss * sss </field > 
     57        <field id="sssmax"       long_name="max of sea surface salinity"      field_ref="sss"   operation="maximum"                                                 /> 
     58        <field id="sssmin"       long_name="min of sea surface salinity"      field_ref="sss"   operation="minimum"                                                 /> 
     59        <field id="sbs"          long_name="sea bottom salinity"                                                                                    unit="0.001"    /> 
     60        <field id="somint"       long_name="vertical integral of salinity times density"        standard_name="integral_wrt_depth_of_product_of_density_and_salinity"  unit="(kg m2) x (1e-3)" />  
     61 
     62        <field id="taubot"       long_name="bottom stress module"                                                                                   unit="N/m2"     />  
     63 
     64        <field id="ssh"          long_name="sea surface height"                                 standard_name="sea_surface_height_above_geoid"             unit="m" /> 
     65        <field id="ssh2"         long_name="square of sea surface height"                       standard_name="square_of_sea_surface_height_above_geoid"   unit="m2" > ssh * ssh </field > 
     66        <field id="wetdep"       long_name="wet depth"                                          standard_name="wet_depth"                                  unit="m" /> 
     67        <field id="sshmax"       long_name="max of sea surface height"        field_ref="ssh"   operation="maximum"                                                 /> 
     68 
     69        <field id="mldkz5"       long_name="Turbocline depth (Kz = 5e-4)"                       standard_name="ocean_mixed_layer_thickness_defined_by_vertical_tracer_diffusivity"                unit="m"          /> 
     70        <field id="mldr10_1"     long_name="Mixed Layer Depth (dsigma = 0.01 wrt 10m)"          standard_name="ocean_mixed_layer_thickness_defined_by_sigma_theta"                                unit="m"          /> 
     71        <field id="mldr10_1max"  long_name="Max of Mixed Layer Depth (dsigma = 0.01 wrt 10m)"   field_ref="mldr10_1"   operation="maximum"                                                                          /> 
     72        <field id="mldr10_1min"  long_name="Min of Mixed Layer Depth (dsigma = 0.01 wrt 10m)"   field_ref="mldr10_1"   operation="minimum"                                                                          /> 
     73        <field id="heatc"        long_name="Heat content vertically integrated"                 standard_name="integral_of_sea_water_potential_temperature_wrt_depth_expressed_as_heat_content"   unit="J/m2"       /> 
     74        <field id="saltc"        long_name="Salt content vertically integrated"                                                                                                                   unit="1e-3*kg/m2" /> 
     75        <field id="salt2c"       long_name="Salt content vertically integrated"                                                                                                                   unit="1e-3*kg/m2" /> 
     76 
     77        <!-- EOS --> 
     78        <field id="alpha"        long_name="thermal expansion"                                                         unit="degC-1" grid_ref="grid_T_3D" /> 
     79        <field id="beta"         long_name="haline contraction"                                                        unit="1e3"    grid_ref="grid_T_3D" /> 
     80        <field id="bn2"          long_name="squared Brunt-Vaisala frequency"                                           unit="s-1"    grid_ref="grid_T_3D" /> 
     81        <field id="rhop"         long_name="potential density (sigma0)"        standard_name="sea_water_sigma_theta"   unit="kg/m3"  grid_ref="grid_T_3D" /> 
     82 
     83        <!-- Energy - horizontal divergence --> 
     84        <field id="eken"         long_name="kinetic energy"          standard_name="specific_kinetic_energy_of_sea_water"   unit="m2/s2"  grid_ref="grid_T_3D" /> 
     85        <field id="hdiv"         long_name="horizontal divergence"                                                          unit="s-1"    grid_ref="grid_T_3D" /> 
     86 
     87        <!-- variables available with MLE --> 
     88        <field id="Lf_NHpf"      long_name="MLE: Lf = N H / f"   unit="m" /> 
     89 
     90        <!-- next variables available with ln_zad_Aimp=.true. --> 
     91        <field id="Courant"      long_name="Courant number"                                                                 unit="#"   grid_ref="grid_T_3D" /> 
     92        <field id="wimp"         long_name="Implicit vertical velocity"                                                     unit="m/s" grid_ref="grid_T_3D" /> 
     93        <field id="wexp"         long_name="Explicit vertical velocity"                                                     unit="m/s" grid_ref="grid_T_3D" /> 
     94        <field id="wi_cff"       long_name="Fraction of implicit vertical velocity"                                         unit="#"   grid_ref="grid_T_3D" /> 
     95 
     96        <!-- next variables available with key_diahth --> 
     97        <field id="mlddzt"       long_name="Thermocline Depth (depth of max dT/dz)"         standard_name="depth_at_maximum_upward_derivative_of_sea_water_potential_temperature"             unit="m"                         /> 
     98        <field id="mldr10_3"     long_name="Mixed Layer Depth (dsigma = 0.03 wrt 10m)"      standard_name="ocean_mixed_layer_thickness_defined_by_sigma_theta"                                unit="m"                         /> 
     99        <field id="mldr0_1"      long_name="Mixed Layer Depth (dsigma = 0.01 wrt sfc)"      standard_name="ocean_mixed_layer_thickness_defined_by_sigma_theta"                                unit="m"                         /> 
     100        <field id="mldr0_3"      long_name="Mixed Layer Depth (dsigma = 0.03 wrt sfc)"      standard_name="ocean_mixed_layer_thickness_defined_by_sigma_theta"                                unit="m"                         /> 
     101        <field id="mld_dt02"     long_name="Mixed Layer Depth (|dT| = 0.2 wrt 10m)"         standard_name="ocean_mixed_layer_thickness_defined_by_temperature"                                unit="m"                         /> 
     102        <field id="topthdep"     long_name="Top of Thermocline Depth (dT = -0.2 wrt 10m)"   standard_name="ocean_mixed_layer_thickness_defined_by_temperature"                                unit="m"                         /> 
     103        <field id="pycndep"      long_name="Pycnocline Depth (dsigma[dT=-0.2] wrt 10m)"     standard_name="ocean_mixed_layer_thickness_defined_by_sigma_theta"                                unit="m"                         /> 
     104        <field id="BLT"          long_name="Barrier Layer Thickness"                                                                                                                          unit="m"                          > topthdep - pycndep </field> 
     105        <field id="tinv"         long_name="Max of vertical invertion of temperature"                                                                                                         unit="degC"                      /> 
     106        <field id="depti"        long_name="Depth of max. vert. inv. of temperature"                                                                                                          unit="m"                         /> 
     107        <field id="20d"          long_name="Depth of 20C isotherm"                          standard_name="depth_of_isosurface_of_sea_water_potential_temperature"                            unit="m"      axis_ref="iax_20C" /> 
     108        <field id="28d"          long_name="Depth of 28C isotherm"                          standard_name="depth_of_isosurface_of_sea_water_potential_temperature"                            unit="m"      axis_ref="iax_28C" /> 
     109        <field id="hc300"        long_name="Heat content 0-300m"                            standard_name="integral_of_sea_water_potential_temperature_wrt_depth_expressed_as_heat_content"   unit="J/m2"                      /> 
     110 
     111        <!-- variables available with diaar5 --> 
     112        <field id="botpres"      long_name="Sea Water Pressure at Sea Floor"          standard_name="sea_water_pressure_at_sea_floor"                    unit="dbar" /> 
     113        <field id="sshdyn"       long_name="dynamic sea surface height"               standard_name="dynamic_sea_surface_height_above_geoid"             unit="m"    /> 
     114        <field id="sshdyn2"      long_name="square of dynamic sea surface height"     standard_name="dynamic_sea_surface_height_above_geoid_squared"     unit="m2"    > sshdyn * sshdyn </field> 
     115        <field id="tnpeo"      long_name="Tendency of ocean potential energy content"                                                                    unit="W/m2" /> 
     116 
     117        <!-- variables available ln_linssh=.FALSE. --> 
     118        <field id="tpt_dep"      long_name="T-point depth"                  standard_name="depth_below_geoid"   unit="m"   grid_ref="grid_T_3D" /> 
     119        <field id="e3tdef"       long_name="T-cell thickness deformation"                                       unit="%"   grid_ref="grid_T_3D" /> 
     120 
     121        <!-- variables available with ln_diacfl=.true. --> 
     122        <field id="cfl_cu"       long_name="u-courant number"   unit="#" /> 
     123        <field id="cfl_cv"       long_name="v-courant number"   unit="#" /> 
     124        <field id="cfl_cw"       long_name="w-courant number"   unit="#" /> 
     125 
     126      </field_group> <!-- grid_T --> 
    113127 
    114128      <!-- Tides --> 
    115129 
    116130      <field_group id="Tides_T" grid_ref="grid_T_2D" operation="once" > 
    117          <!-- tidal composante --> 
    118          <field id="M2x"          long_name="M2 Elevation harmonic real part "                             unit="m"        /> 
    119          <field id="M2y"          long_name="M2 Elevation harmonic imaginary part"                         unit="m"        /> 
    120          <field id="S2x"          long_name="S2 Elevation harmonic real part "                             unit="m"        /> 
    121          <field id="S2y"          long_name="S2 Elevation harmonic imaginary part"                         unit="m"        /> 
    122          <field id="N2x"          long_name="N2 Elevation harmonic real part "                             unit="m"        /> 
    123          <field id="N2y"          long_name="N2 Elevation harmonic imaginary part"                         unit="m"        /> 
    124          <field id="K1x"          long_name="K1 Elevation harmonic real part "                             unit="m"        /> 
    125          <field id="K1y"          long_name="K1 Elevation harmonic imaginary part"                         unit="m"        /> 
    126          <field id="O1x"          long_name="O1 Elevation harmonic real part "                             unit="m"        /> 
    127          <field id="O1y"          long_name="O1 Elevation harmonic imaginary part"                         unit="m"        /> 
    128          <field id="Q1x"          long_name="Q1 Elevation harmonic real part "                             unit="m"        /> 
    129          <field id="Q1y"          long_name="Q1 Elevation harmonic imaginary part"                         unit="m"        /> 
    130          <field id="M4x"          long_name="M4 Elevation harmonic real part "                             unit="m"        /> 
    131          <field id="M4y"          long_name="M4 Elevation harmonic imaginary part"                         unit="m"        /> 
    132          <field id="K2x"          long_name="K2 Elevation harmonic real part "                             unit="m"        /> 
    133          <field id="K2y"          long_name="K2 Elevation harmonic imaginary part"                         unit="m"        /> 
    134          <field id="P1x"          long_name="P1 Elevation harmonic real part "                             unit="m"        /> 
    135          <field id="P1y"          long_name="P1 Elevation harmonic imaginary part"                         unit="m"        /> 
    136          <field id="Mfx"          long_name="Mf Elevation harmonic real part "                             unit="m"        /> 
    137          <field id="Mfy"          long_name="Mf Elevation harmonic imaginary part"                         unit="m"        /> 
    138          <field id="Mmx"          long_name="Mm Elevation harmonic real part "                             unit="m"        /> 
    139          <field id="Mmy"          long_name="Mm Elevation harmonic imaginary part"                         unit="m"        /> 
     131        <!-- tidal composante --> 
     132        <field id="M2x"          long_name="M2 Elevation harmonic real part "                             unit="m"        /> 
     133        <field id="M2y"          long_name="M2 Elevation harmonic imaginary part"                         unit="m"        /> 
     134        <field id="S2x"          long_name="S2 Elevation harmonic real part "                             unit="m"        /> 
     135        <field id="S2y"          long_name="S2 Elevation harmonic imaginary part"                         unit="m"        /> 
     136        <field id="N2x"          long_name="N2 Elevation harmonic real part "                             unit="m"        /> 
     137        <field id="N2y"          long_name="N2 Elevation harmonic imaginary part"                         unit="m"        /> 
     138        <field id="K1x"          long_name="K1 Elevation harmonic real part "                             unit="m"        /> 
     139        <field id="K1y"          long_name="K1 Elevation harmonic imaginary part"                         unit="m"        /> 
     140        <field id="O1x"          long_name="O1 Elevation harmonic real part "                             unit="m"        /> 
     141        <field id="O1y"          long_name="O1 Elevation harmonic imaginary part"                         unit="m"        /> 
     142        <field id="Q1x"          long_name="Q1 Elevation harmonic real part "                             unit="m"        /> 
     143        <field id="Q1y"          long_name="Q1 Elevation harmonic imaginary part"                         unit="m"        /> 
     144        <field id="M4x"          long_name="M4 Elevation harmonic real part "                             unit="m"        /> 
     145        <field id="M4y"          long_name="M4 Elevation harmonic imaginary part"                         unit="m"        /> 
     146        <field id="K2x"          long_name="K2 Elevation harmonic real part "                             unit="m"        /> 
     147        <field id="K2y"          long_name="K2 Elevation harmonic imaginary part"                         unit="m"        /> 
     148        <field id="P1x"          long_name="P1 Elevation harmonic real part "                             unit="m"        /> 
     149        <field id="P1y"          long_name="P1 Elevation harmonic imaginary part"                         unit="m"        /> 
     150        <field id="Mfx"          long_name="Mf Elevation harmonic real part "                             unit="m"        /> 
     151        <field id="Mfy"          long_name="Mf Elevation harmonic imaginary part"                         unit="m"        /> 
     152        <field id="Mmx"          long_name="Mm Elevation harmonic real part "                             unit="m"        /> 
     153        <field id="Mmy"          long_name="Mm Elevation harmonic imaginary part"                         unit="m"        /> 
    140154      </field_group> 
    141155     
    142156      <field_group id="Tides_U" grid_ref="grid_U_2D" operation="once" > 
    143          <field id="M2x_u"        long_name="M2 current barotrope along i-axis harmonic real part "        unit="m/s"      /> 
    144          <field id="M2y_u"        long_name="M2 current barotrope along i-axis harmonic imaginary part "   unit="m/s"      /> 
    145          <field id="S2x_u"        long_name="S2 current barotrope along i-axis harmonic real part "        unit="m/s"      /> 
    146          <field id="S2y_u"        long_name="S2 current barotrope along i-axis harmonic imaginary part "   unit="m/s"      /> 
    147          <field id="N2x_u"        long_name="N2 current barotrope along i-axis harmonic real part "        unit="m/s"      /> 
    148          <field id="N2y_u"        long_name="N2 current barotrope along i-axis harmonic imaginary part "   unit="m/s"      /> 
    149          <field id="K1x_u"        long_name="K1 current barotrope along i-axis harmonic real part "        unit="m/s"      /> 
    150          <field id="K1y_u"        long_name="K1 current barotrope along i-axis harmonic imaginary part "   unit="m/s"      /> 
    151          <field id="O1x_u"        long_name="O1 current barotrope along i-axis harmonic real part "        unit="m/s"      /> 
    152          <field id="O1y_u"        long_name="O1 current barotrope along i-axis harmonic imaginary part "   unit="m/s"      /> 
    153          <field id="Q1x_u"        long_name="Q1 current barotrope along i-axis harmonic real part "        unit="m/s"      /> 
    154          <field id="Q1y_u"        long_name="Q1 current barotrope along i-axis harmonic imaginary part "   unit="m/s"      /> 
    155          <field id="M4x_u"        long_name="M4 current barotrope along i-axis harmonic real part "        unit="m/s"      /> 
    156          <field id="M4y_u"        long_name="M4 current barotrope along i-axis harmonic imaginary part "   unit="m/s"      /> 
    157          <field id="K2x_u"        long_name="K2 current barotrope along i-axis harmonic real part "        unit="m/s"      /> 
    158          <field id="K2y_u"        long_name="K2 current barotrope along i-axis harmonic imaginary part "   unit="m/s"      /> 
    159          <field id="P1x_u"        long_name="P1 current barotrope along i-axis harmonic real part "        unit="m/s"      /> 
    160          <field id="P1y_u"        long_name="P1 current barotrope along i-axis harmonic imaginary part "   unit="m/s"      /> 
    161          <field id="Mfx_u"        long_name="Mf current barotrope along i-axis harmonic real part "        unit="m/s"      /> 
    162          <field id="Mfy_u"        long_name="Mf current barotrope along i-axis harmonic imaginary part "   unit="m/s"      /> 
    163          <field id="Mmx_u"        long_name="Mm current barotrope along i-axis harmonic real part "        unit="m/s"      /> 
    164          <field id="Mmy_u"        long_name="Mm current barotrope along i-axis harmonic imaginary part "   unit="m/s"      /> 
     157        <field id="M2x_u"        long_name="M2 current barotrope along i-axis harmonic real part "        unit="m/s"      /> 
     158        <field id="M2y_u"        long_name="M2 current barotrope along i-axis harmonic imaginary part "   unit="m/s"      /> 
     159        <field id="S2x_u"        long_name="S2 current barotrope along i-axis harmonic real part "        unit="m/s"      /> 
     160        <field id="S2y_u"        long_name="S2 current barotrope along i-axis harmonic imaginary part "   unit="m/s"      /> 
     161        <field id="N2x_u"        long_name="N2 current barotrope along i-axis harmonic real part "        unit="m/s"      /> 
     162        <field id="N2y_u"        long_name="N2 current barotrope along i-axis harmonic imaginary part "   unit="m/s"      /> 
     163        <field id="K1x_u"        long_name="K1 current barotrope along i-axis harmonic real part "        unit="m/s"      /> 
     164        <field id="K1y_u"        long_name="K1 current barotrope along i-axis harmonic imaginary part "   unit="m/s"      /> 
     165        <field id="O1x_u"        long_name="O1 current barotrope along i-axis harmonic real part "        unit="m/s"      /> 
     166        <field id="O1y_u"        long_name="O1 current barotrope along i-axis harmonic imaginary part "   unit="m/s"      /> 
     167        <field id="Q1x_u"        long_name="Q1 current barotrope along i-axis harmonic real part "        unit="m/s"      /> 
     168        <field id="Q1y_u"        long_name="Q1 current barotrope along i-axis harmonic imaginary part "   unit="m/s"      /> 
     169        <field id="M4x_u"        long_name="M4 current barotrope along i-axis harmonic real part "        unit="m/s"      /> 
     170        <field id="M4y_u"        long_name="M4 current barotrope along i-axis harmonic imaginary part "   unit="m/s"      /> 
     171        <field id="K2x_u"        long_name="K2 current barotrope along i-axis harmonic real part "        unit="m/s"      /> 
     172        <field id="K2y_u"        long_name="K2 current barotrope along i-axis harmonic imaginary part "   unit="m/s"      /> 
     173        <field id="P1x_u"        long_name="P1 current barotrope along i-axis harmonic real part "        unit="m/s"      /> 
     174        <field id="P1y_u"        long_name="P1 current barotrope along i-axis harmonic imaginary part "   unit="m/s"      /> 
     175        <field id="Mfx_u"        long_name="Mf current barotrope along i-axis harmonic real part "        unit="m/s"      /> 
     176        <field id="Mfy_u"        long_name="Mf current barotrope along i-axis harmonic imaginary part "   unit="m/s"      /> 
     177        <field id="Mmx_u"        long_name="Mm current barotrope along i-axis harmonic real part "        unit="m/s"      /> 
     178        <field id="Mmy_u"        long_name="Mm current barotrope along i-axis harmonic imaginary part "   unit="m/s"      /> 
    165179      </field_group> 
    166180     
    167181      <field_group id="Tides_V" grid_ref="grid_V_2D" operation="once" > 
    168          <field id="M2x_v"        long_name="M2 current barotrope along j-axis harmonic real part "        unit="m/s"      /> 
    169          <field id="M2y_v"        long_name="M2 current barotrope along j-axis harmonic imaginary part "   unit="m/s"      /> 
    170          <field id="S2x_v"        long_name="S2 current barotrope along j-axis harmonic real part "        unit="m/s"      /> 
    171          <field id="S2y_v"        long_name="S2 current barotrope along j-axis harmonic imaginary part "   unit="m/s"      /> 
    172          <field id="N2x_v"        long_name="N2 current barotrope along j-axis harmonic real part "        unit="m/s"      /> 
    173          <field id="N2y_v"        long_name="N2 current barotrope along j-axis harmonic imaginary part "   unit="m/s"      /> 
    174          <field id="K1x_v"        long_name="K1 current barotrope along j-axis harmonic real part "        unit="m/s"      /> 
    175          <field id="K1y_v"        long_name="K1 current barotrope along j-axis harmonic imaginary part "   unit="m/s"      /> 
    176          <field id="O1x_v"        long_name="O1 current barotrope along j-axis harmonic real part "        unit="m/s"      /> 
    177          <field id="O1y_v"        long_name="O1 current barotrope along j-axis harmonic imaginary part "   unit="m/s"      /> 
    178          <field id="Q1x_v"        long_name="Q1 current barotrope along j-axis harmonic real part "        unit="m/s"      /> 
    179          <field id="Q1y_v"        long_name="Q1 current barotrope along j-axis harmonic imaginary part "   unit="m/s"      /> 
    180          <field id="M4x_v"        long_name="M4 current barotrope along j-axis harmonic real part "        unit="m/s"      /> 
    181          <field id="M4y_v"        long_name="M4 current barotrope along j-axis harmonic imaginary part "   unit="m/s"      /> 
    182          <field id="K2x_v"        long_name="K2 current barotrope along j-axis harmonic real part "        unit="m/s"      /> 
    183          <field id="K2y_v"        long_name="K2 current barotrope along j-axis harmonic imaginary part "   unit="m/s"      /> 
    184          <field id="P1x_v"        long_name="P1 current barotrope along j-axis harmonic real part "        unit="m/s"      /> 
    185          <field id="P1y_v"        long_name="P1 current barotrope along j-axis harmonic imaginary part "   unit="m/s"      /> 
    186          <field id="Mfx_v"        long_name="Mf current barotrope along j-axis harmonic real part "        unit="m/s"      /> 
    187          <field id="Mfy_v"        long_name="Mf current barotrope along j-axis harmonic imaginary part "   unit="m/s"      /> 
    188          <field id="Mmx_v"        long_name="Mm current barotrope along j-axis harmonic real part "        unit="m/s"      /> 
    189          <field id="Mmy_v"        long_name="Mm current barotrope along j-axis harmonic imaginary part "   unit="m/s"      />   
     182        <field id="M2x_v"        long_name="M2 current barotrope along j-axis harmonic real part "        unit="m/s"      /> 
     183        <field id="M2y_v"        long_name="M2 current barotrope along j-axis harmonic imaginary part "   unit="m/s"      /> 
     184        <field id="S2x_v"        long_name="S2 current barotrope along j-axis harmonic real part "        unit="m/s"      /> 
     185        <field id="S2y_v"        long_name="S2 current barotrope along j-axis harmonic imaginary part "   unit="m/s"      /> 
     186        <field id="N2x_v"        long_name="N2 current barotrope along j-axis harmonic real part "        unit="m/s"      /> 
     187        <field id="N2y_v"        long_name="N2 current barotrope along j-axis harmonic imaginary part "   unit="m/s"      /> 
     188        <field id="K1x_v"        long_name="K1 current barotrope along j-axis harmonic real part "        unit="m/s"      /> 
     189        <field id="K1y_v"        long_name="K1 current barotrope along j-axis harmonic imaginary part "   unit="m/s"      /> 
     190        <field id="O1x_v"        long_name="O1 current barotrope along j-axis harmonic real part "        unit="m/s"      /> 
     191        <field id="O1y_v"        long_name="O1 current barotrope along j-axis harmonic imaginary part "   unit="m/s"      /> 
     192        <field id="Q1x_v"        long_name="Q1 current barotrope along j-axis harmonic real part "        unit="m/s"      /> 
     193        <field id="Q1y_v"        long_name="Q1 current barotrope along j-axis harmonic imaginary part "   unit="m/s"      /> 
     194        <field id="M4x_v"        long_name="M4 current barotrope along j-axis harmonic real part "        unit="m/s"      /> 
     195        <field id="M4y_v"        long_name="M4 current barotrope along j-axis harmonic imaginary part "   unit="m/s"      /> 
     196        <field id="K2x_v"        long_name="K2 current barotrope along j-axis harmonic real part "        unit="m/s"      /> 
     197        <field id="K2y_v"        long_name="K2 current barotrope along j-axis harmonic imaginary part "   unit="m/s"      /> 
     198        <field id="P1x_v"        long_name="P1 current barotrope along j-axis harmonic real part "        unit="m/s"      /> 
     199        <field id="P1y_v"        long_name="P1 current barotrope along j-axis harmonic imaginary part "   unit="m/s"      /> 
     200        <field id="Mfx_v"        long_name="Mf current barotrope along j-axis harmonic real part "        unit="m/s"      /> 
     201        <field id="Mfy_v"        long_name="Mf current barotrope along j-axis harmonic imaginary part "   unit="m/s"      /> 
     202        <field id="Mmx_v"        long_name="Mm current barotrope along j-axis harmonic real part "        unit="m/s"      /> 
     203        <field id="Mmy_v"        long_name="Mm current barotrope along j-axis harmonic imaginary part "   unit="m/s"      />    
    190204      </field_group> 
    191205 
     
    193207 
    194208      <field_group id="OSMOSIS_T" grid_ref="grid_T_2D"> 
    195          <field id="zwth0"               long_name="surface non-local temperature flux"       unit="deg m/s" /> 
    196          <field id="zws0"                long_name="surface non-local salinity flux"          unit="psu m/s" /> 
    197          <field id="hbl"                 long_name="boundary layer depth"                     unit="m"       /> 
    198          <field id="hbli"                long_name="initial boundary layer depth"             unit="m"       /> 
    199          <field id="dstokes"             long_name="stokes drift  depth scale"                unit="m"       /> 
    200          <field id="zustke"              long_name="magnitude of stokes drift  at T-points"   unit="m/s"     /> 
    201          <field id="zwstrc"              long_name="convective velocity scale"                unit="m/s"     /> 
    202          <field id="zwstrl"              long_name="langmuir velocity scale"                  unit="m/s"     /> 
    203          <field id="zustar"              long_name="friction velocity"                        unit="m/s"     /> 
    204          <field id="zhbl"                long_name="boundary layer depth"                     unit="m"       /> 
    205          <field id="zhml"                long_name="mixed layer depth"                        unit="m"       /> 
    206          <field id="wind_wave_abs_power" long_name="\rho |U_s| x u*^2"                        unit="mW"      /> 
    207          <field id="wind_wave_power"     long_name="U_s \dot  tau"                            unit="mW"      /> 
    208          <field id="wind_power"          long_name="\rho  u*^3"                               unit="mW"      /> 
    209  
    210          <!-- extra OSMOSIS diagnostics --> 
    211          <field id="zwthav"              long_name="av turb flux of T in ml"                  unit="deg m/s" /> 
    212          <field id="zt_ml"               long_name="av T in ml"                               unit="deg"     /> 
    213          <field id="zwth_ent"            long_name="entrainment turb flux of T"               unit="deg m/s" /> 
    214          <field id="zhol"                long_name="Hoenekker number"                         unit="#"       /> 
    215          <field id="zdh"                 long_name="Pycnocline  depth - grid"                 unit=" m"      /> 
     209        <field id="zwth0"               long_name="surface non-local temperature flux"       unit="deg m/s" /> 
     210        <field id="zws0"                long_name="surface non-local salinity flux"          unit="psu m/s" /> 
     211        <field id="hbl"                 long_name="boundary layer depth"                     unit="m"       /> 
     212        <field id="hbli"                long_name="initial boundary layer depth"             unit="m"       /> 
     213        <field id="dstokes"             long_name="stokes drift  depth scale"                unit="m"       /> 
     214        <field id="zustke"              long_name="magnitude of stokes drift  at T-points"   unit="m/s"     /> 
     215        <field id="zwstrc"              long_name="convective velocity scale"                unit="m/s"     /> 
     216        <field id="zwstrl"              long_name="langmuir velocity scale"                  unit="m/s"     /> 
     217        <field id="zustar"              long_name="friction velocity"                        unit="m/s"     /> 
     218        <field id="zhbl"                long_name="boundary layer depth"                     unit="m"       /> 
     219        <field id="zhml"                long_name="mixed layer depth"                        unit="m"       /> 
     220        <field id="wind_wave_abs_power" long_name="\rho |U_s| x u*^2"                        unit="mW"      /> 
     221        <field id="wind_wave_power"     long_name="U_s \dot  tau"                            unit="mW"      /> 
     222        <field id="wind_power"          long_name="\rho  u*^3"                               unit="mW"      /> 
     223 
     224        <!-- extra OSMOSIS diagnostics --> 
     225        <field id="zwthav"              long_name="av turb flux of T in ml"                  unit="deg m/s" /> 
     226        <field id="zt_ml"               long_name="av T in ml"                               unit="deg"     /> 
     227        <field id="zwth_ent"            long_name="entrainment turb flux of T"               unit="deg m/s" /> 
     228        <field id="zhol"                long_name="Hoenekker number"                         unit="#"       /> 
     229        <field id="zdh"                 long_name="Pycnocline  depth - grid"                 unit=" m"      /> 
    216230      </field_group> 
    217231 
    218232      <field_group id="OSMOSIS_W" grid_ref="grid_W_3D" operation="instant" > 
    219          <field id="ghamt"       long_name="non-local temperature flux"                       unit="deg m/s" /> 
    220          <field id="ghams"       long_name="non-local salinity flux"                          unit="psu m/s" /> 
    221          <field id="zdtdz_pyc"   long_name="Pycnocline temperature gradient"                  unit=" deg/m"  /> 
     233        <field id="ghamt"       long_name="non-local temperature flux"                       unit="deg m/s" /> 
     234        <field id="ghams"       long_name="non-local salinity flux"                          unit="psu m/s" /> 
     235        <field id="zdtdz_pyc"   long_name="Pycnocline temperature gradient"                  unit=" deg/m"  /> 
    222236      </field_group> 
    223237 
    224238      <field_group id="OSMOSIS_U" grid_ref="grid_U_2D" > 
    225          <field id="ghamu"       long_name="non-local u-momentum flux"   grid_ref="grid_U_3D" unit="m^2/s^2" /> 
    226          <field id="us_x"        long_name="i component of Stokes drift"                      unit="m/s"     /> 
     239        <field id="ghamu"       long_name="non-local u-momentum flux"   grid_ref="grid_U_3D" unit="m^2/s^2" /> 
     240        <field id="us_x"        long_name="i component of Stokes drift"                      unit="m/s"     /> 
    227241      </field_group> 
    228242 
    229243      <field_group id="OSMOSIS_V" grid_ref="grid_V_2D" > 
    230          <field id="ghamv"       long_name="non-local v-momentum flux"   grid_ref="grid_V_3D" unit="m^2/s^2" /> 
    231          <field id="us_y"        long_name="j component of Stokes drift"                      unit="m/s"     /> 
     244        <field id="ghamv"       long_name="non-local v-momentum flux"   grid_ref="grid_V_3D" unit="m^2/s^2" /> 
     245        <field id="us_y"        long_name="j component of Stokes drift"                      unit="m/s"     /> 
    232246      </field_group> 
    233247       
    234248      <!-- SBC --> 
    235  
    236       <field_group id="SBC" grid_ref="grid_T_2D" > <!-- time step automaticaly defined based on nn_fsbc --> 
    237          <field id="empmr"        long_name="Net Upward Water Flux"                standard_name="water_flux_out_of_sea_ice_and_sea_water"                              unit="kg/m2/s"   /> 
    238          <field id="empbmr"       long_name="Net Upward Water Flux at pre. tstep"  standard_name="water_flux_out_of_sea_ice_and_sea_water"                              unit="kg/m2/s"   /> 
    239          <field id="emp_oce"      long_name="Evap minus Precip over ocean"         standard_name="evap_minus_precip_over_sea_water"                                     unit="kg/m2/s"   /> 
    240          <field id="emp_ice"      long_name="Evap minus Precip over ice"           standard_name="evap_minus_precip_over_sea_ice"                                       unit="kg/m2/s"   /> 
    241          <field id="saltflx"      long_name="Downward salt flux"                                                                                                        unit="1e-3/m2/s" /> 
    242          <field id="fmmflx"       long_name="Water flux due to freezing/melting"                                                                                        unit="kg/m2/s"   /> 
    243          <field id="snowpre"      long_name="Snow precipitation"                   standard_name="snowfall_flux"                                                        unit="kg/m2/s"   /> 
    244          <field id="runoffs"      long_name="River Runoffs"                        standard_name="water_flux_into_sea_water_from_rivers"                                unit="kg/m2/s"   /> 
    245          <field id="precip"       long_name="Total precipitation"                  standard_name="precipitation_flux"                                                   unit="kg/m2/s"   /> 
    246   
    247          <field id="qt"           long_name="Net Downward Heat Flux"                standard_name="surface_downward_heat_flux_in_sea_water"                              unit="W/m2"                           /> 
    248          <field id="qns"          long_name="non solar Downward Heat Flux"                                                                                               unit="W/m2"                           /> 
    249          <field id="qsr"          long_name="Shortwave Radiation"                   standard_name="net_downward_shortwave_flux_at_sea_water_surface"                     unit="W/m2"                           /> 
    250          <field id="qsr3d"        long_name="Shortwave Radiation 3D distribution"   standard_name="downwelling_shortwave_flux_in_sea_water"                              unit="W/m2"      grid_ref="grid_T_3D" /> 
    251          <field id="qrp"          long_name="Surface Heat Flux: Damping"            standard_name="heat_flux_into_sea_water_due_to_newtonian_relaxation"                 unit="W/m2"                           /> 
    252          <field id="erp"          long_name="Surface Water Flux: Damping"           standard_name="water_flux_out_of_sea_water_due_to_newtonian_relaxation"              unit="kg/m2/s"                        /> 
    253          <field id="taum"         long_name="wind stress module"                    standard_name="magnitude_of_surface_downward_stress"                                 unit="N/m2"                           /> 
    254          <field id="wspd"         long_name="wind speed module"                     standard_name="wind_speed"                                                           unit="m/s"                            /> 
    255           
    256          <!-- * variable relative to atmospheric pressure forcing : available with ln_apr_dyn --> 
    257          <field id="ssh_ib"       long_name="Inverse barometer sea surface height"  standard_name="sea_surface_height_correction_due_to_air_pressure_at_low_frequency"   unit="m"        /> 
    258  
    259          <!-- * variable related to ice shelf forcing * --> 
    260          <field id="fwfisf"       long_name="Ice shelf melting"                             unit="kg/m2/s"  /> 
    261          <field id="fwfisf3d"     long_name="Ice shelf melting"                             unit="kg/m2/s"  grid_ref="grid_T_3D" /> 
    262          <field id="qlatisf"      long_name="Ice shelf latent heat flux"                    unit="W/m2"     /> 
    263          <field id="qlatisf3d"    long_name="Ice shelf latent heat flux"                    unit="W/m2"     grid_ref="grid_T_3D" /> 
    264          <field id="qhcisf"       long_name="Ice shelf heat content flux"                   unit="W/m2"     /> 
    265          <field id="qhcisf3d"     long_name="Ice shelf heat content flux"                   unit="W/m2"     grid_ref="grid_T_3D" /> 
    266          <field id="isfgammat"    long_name="transfert coefficient for isf (temperature) "  unit="m/s"      /> 
    267          <field id="isfgammas"    long_name="transfert coefficient for isf (salinity)    "  unit="m/s"      /> 
    268          <field id="stbl"         long_name="salinity in the Losh tbl                    "  unit="PSU"      /> 
    269          <field id="ttbl"         long_name="temperature in the Losh tbl                 "  unit="C"        /> 
    270          <field id="utbl"         long_name="zonal current in the Losh tbl at T point    "  unit="m/s"      /> 
    271          <field id="vtbl"         long_name="merid current in the Losh tbl at T point    "  unit="m/s"      /> 
    272          <field id="thermald"     long_name="thermal driving of ice shelf melting        "  unit="C"        /> 
    273          <field id="tfrz"         long_name="top freezing point (used to compute melt)   "  unit="C"        /> 
    274          <field id="tinsitu"      long_name="top insitu temperature (used to cmpt melt)  "  unit="C"        /> 
    275          <field id="ustar"        long_name="ustar at T point used in ice shelf melting  "  unit="m/s"      /> 
    276  
    277          <!-- *_oce variables available with ln_blk_clio or ln_blk_core --> 
    278          <field id="qlw_oce"      long_name="Longwave Downward Heat Flux over open ocean"  standard_name="surface_net_downward_longwave_flux"                 unit="W/m2"  /> 
    279          <field id="qsb_oce"      long_name="Sensible Downward Heat Flux over open ocean"  standard_name="surface_downward_sensible_heat_flux"                unit="W/m2"  /> 
    280          <field id="qla_oce"      long_name="Latent Downward Heat Flux over open ocean"    standard_name="surface_downward_latent_heat_flux"                  unit="W/m2"  /> 
    281          <field id="qt_oce"       long_name="total flux at ocean surface"                  standard_name="surface_downward_heat_flux_in_sea_water"            unit="W/m2"  /> 
    282          <field id="qsr_oce"      long_name="solar heat flux at ocean surface"             standard_name="net_downward_shortwave_flux_at_sea_water_surface"   unit="W/m2"  /> 
    283          <field id="qns_oce"      long_name="non-solar heat flux at ocean surface (including E-P)"                                                            unit="W/m2"  /> 
    284          <field id="qemp_oce"     long_name="Downward Heat Flux from E-P over open ocean"                                                                     unit="W/m2"  /> 
    285          <field id="taum_oce"     long_name="wind stress module over open ocean"           standard_name="magnitude_of_surface_downward_stress"               unit="N/m2"  /> 
    286  
    287          <!-- available key_oasis3 --> 
    288          <field id="snow_ao_cea"  long_name="Snow over ice-free ocean (cell average)"   standard_name="snowfall_flux"                             unit="kg/m2/s"  /> 
    289          <field id="snow_ai_cea"  long_name="Snow over sea-ice (cell average)"          standard_name="snowfall_flux"                             unit="kg/m2/s"  /> 
    290          <field id="subl_ai_cea"  long_name="Sublimation over sea-ice (cell average)"   standard_name="surface_snow_and_ice_sublimation_flux"     unit="kg/m2/s"  /> 
    291          <field id="icealb_cea"   long_name="Ice albedo (cell average)"                 standard_name="sea_ice_albedo"                            unit="1"        /> 
    292          <field id="calving_cea"  long_name="Calving"                                   standard_name="water_flux_into_sea_water_from_icebergs"   unit="kg/m2/s"  /> 
    293          <field id="iceberg_cea"  long_name="Iceberg"                                   standard_name="water_flux_into_sea_water_from_icebergs"   unit="kg/m2/s"  /> 
    294          <field id="iceshelf_cea" long_name="Iceshelf"                                  standard_name="water_flux_into_sea_water_from_iceshelf"   unit="kg/m2/s"  /> 
    295  
    296  
    297          <!-- available if key_oasis3 + conservative method --> 
    298          <field id="rain"          long_name="Liquid precipitation"                                     standard_name="rainfall_flux"                                                                 unit="kg/m2/s"  /> 
    299          <field id="evap_ao_cea"   long_name="Evaporation over ice-free ocean (cell average)"           standard_name="water_evaporation_flux"                                                        unit="kg/m2/s"  /> 
    300          <field id="isnwmlt_cea"   long_name="Snow over Ice melting (cell average)"                     standard_name="surface_snow_melt_flux"                                                        unit="kg/m2/s"  /> 
    301          <field id="fsal_virt_cea" long_name="Virtual salt flux due to ice formation (cell average)"    standard_name="virtual_salt_flux_into_sea_water_due_to_sea_ice_thermodynamics"                unit="kg/m2/s"  /> 
    302          <field id="fsal_real_cea" long_name="Real salt flux due to ice formation (cell average)"       standard_name="downward_sea_ice_basal_salt_flux"                                              unit="kg/m2/s"  /> 
    303          <field id="hflx_rain_cea" long_name="heat flux due to rainfall"                                standard_name="temperature_flux_due_to_rainfall_expressed_as_heat_flux_into_sea_water"        unit="W/m2"     /> 
    304          <field id="hflx_evap_cea" long_name="heat flux due to evaporation"                             standard_name="temperature_flux_due_to_evaporation_expressed_as_heat_flux_out_of_sea_water"   unit="W/m2"     /> 
    305          <field id="hflx_snow_cea" long_name="heat flux due to snow falling"                            standard_name="heat_flux_onto_ocean_and_ice_due_to_snow_thermodynamics"                       unit="W/m2"     /> 
    306          <field id="hflx_snow_ai_cea" long_name="heat flux due to snow falling over ice"                standard_name="heat_flux_onto_ice_due_to_snow_thermodynamics"                                 unit="W/m2"     /> 
    307          <field id="hflx_snow_ao_cea" long_name="heat flux due to snow falling over ice-free ocean"     standard_name="heat_flux_onto_sea_water_due_to_snow_thermodynamics"                           unit="W/m2"     /> 
    308          <field id="hflx_ice_cea"  long_name="heat flux due to ice thermodynamics"                      standard_name="heat_flux_into_sea_water_due_to_sea_ice_thermodynamics"                        unit="W/m2"     /> 
    309          <field id="hflx_rnf_cea"  long_name="heat flux due to runoffs"                                 standard_name="temperature_flux_due_to_runoff_expressed_as_heat_flux_into_sea_water"          unit="W/m2"     /> 
    310          <field id="hflx_cal_cea"  long_name="heat flux due to calving"                                 standard_name="heat_flux_into_sea_water_due_to_calving"                                       unit="W/m2"     /> 
    311          <field id="hflx_icb_cea"  long_name="heat flux due to iceberg"                                 standard_name="heat_flux_into_sea_water_due_to_icebergs"                                      unit="W/m2"     /> 
    312          <field id="hflx_isf_cea"  long_name="heat flux due to iceshelf"                                standard_name="heat_flux_into_sea_water_due_to_iceshelf"                                      unit="W/m2"     /> 
    313          <field id="bicemel_cea"   long_name="Rate of Melt at Sea Ice Base (cell average)"              standard_name="tendency_of_sea_ice_amount_due_to_basal_melting"                               unit="kg/m2/s"  /> 
    314          <field id="licepro_cea"   long_name="Lateral Sea Ice Growth Rate (cell average)"               standard_name="tendency_of_sea_ice_amount_due_to_lateral_growth_of_ice_floes"                 unit="kg/m2/s"  /> 
    315          <field id="snowmel_cea"   long_name="Snow Melt Rate (cell average)"                            standard_name="surface_snow_melt_flux"                                                        unit="kg/m2/s"  /> 
    316          <field id="sntoice_cea"   long_name="Snow-Ice Formation Rate (cell average)"                   standard_name="tendency_of_sea_ice_amount_due_to_snow_conversion"                             unit="kg/m2/s"  /> 
    317          <field id="ticemel_cea"   long_name="Rate of Melt at Upper Surface of Sea Ice (cell average)"  standard_name="tendency_of_sea_ice_amount_due_to_surface_melting"                             unit="kg/m2/s"  /> 
    318  
    319          <!-- ice field (nn_ice=1)  --> 
    320          <field id="ice_cover"    long_name="Ice fraction"                                                 standard_name="sea_ice_area_fraction"                              unit="1"            /> 
    321           
    322          <!-- dilution --> 
    323          <field id="emp_x_sst"    long_name="Concentration/Dilution term on SST"                                                                                              unit="kg*degC/m2/s" /> 
    324          <field id="emp_x_sss"    long_name="Concentration/Dilution term on SSS"                                                                                              unit="kg*1e-3/m2/s" />         
    325          <field id="rnf_x_sst"    long_name="Runoff term on SST"                                                                                                              unit="kg*degC/m2/s" /> 
    326          <field id="rnf_x_sss"    long_name="Runoff term on SSS"                                                                                                              unit="kg*1e-3/m2/s" /> 
    327         
    328     <!-- sbcssm variables --> 
    329          <field id="sst_m"    unit="degC" /> 
    330          <field id="sss_m"    unit="psu"  /> 
    331          <field id="ssu_m"    unit="m/s"  /> 
    332          <field id="ssv_m"    unit="m/s"  /> 
    333          <field id="ssh_m"    unit="m"    /> 
    334          <field id="e3t_m"    unit="m"    /> 
    335          <field id="frq_m"    unit="-"    /> 
    336  
    337       </field_group> 
     249      <field_group id="SBC" > <!-- time step automaticaly defined based on nn_fsbc --> 
     250 
     251        <field_group id="SBC_2D" grid_ref="grid_T_2D" > 
     252 
     253          <field id="empmr"        long_name="Net Upward Water Flux"                standard_name="water_flux_out_of_sea_ice_and_sea_water"                              unit="kg/m2/s"   /> 
     254          <field id="empbmr"       long_name="Net Upward Water Flux at pre. tstep"  standard_name="water_flux_out_of_sea_ice_and_sea_water"                              unit="kg/m2/s"   /> 
     255          <field id="emp_oce"      long_name="Evap minus Precip over ocean"         standard_name="evap_minus_precip_over_sea_water"                                     unit="kg/m2/s"   /> 
     256          <field id="emp_ice"      long_name="Evap minus Precip over ice"           standard_name="evap_minus_precip_over_sea_ice"                                       unit="kg/m2/s"   /> 
     257          <field id="saltflx"      long_name="Downward salt flux"                                                                                                        unit="1e-3/m2/s" /> 
     258          <field id="fmmflx"       long_name="Water flux due to freezing/melting"                                                                                        unit="kg/m2/s"   /> 
     259          <field id="snowpre"      long_name="Snow precipitation"                   standard_name="snowfall_flux"                                                        unit="kg/m2/s"   /> 
     260          <field id="runoffs"      long_name="River Runoffs"                        standard_name="water_flux_into_sea_water_from_rivers"                                unit="kg/m2/s"   /> 
     261          <field id="precip"       long_name="Total precipitation"                  standard_name="precipitation_flux"                                                   unit="kg/m2/s"   /> 
     262      
     263          <field id="qt"           long_name="Net Downward Heat Flux"                standard_name="surface_downward_heat_flux_in_sea_water"                              unit="W/m2"                           /> 
     264          <field id="qns"          long_name="non solar Downward Heat Flux"                                                                                               unit="W/m2"                           /> 
     265          <field id="qsr"          long_name="Shortwave Radiation"                   standard_name="net_downward_shortwave_flux_at_sea_water_surface"                     unit="W/m2"                           /> 
     266          <field id="qsr3d"        long_name="Shortwave Radiation 3D distribution"   standard_name="downwelling_shortwave_flux_in_sea_water"                              unit="W/m2"      grid_ref="grid_T_3D" /> 
     267          <field id="qrp"          long_name="Surface Heat Flux: Damping"            standard_name="heat_flux_into_sea_water_due_to_newtonian_relaxation"                 unit="W/m2"                           /> 
     268          <field id="erp"          long_name="Surface Water Flux: Damping"           standard_name="water_flux_out_of_sea_water_due_to_newtonian_relaxation"              unit="kg/m2/s"                        /> 
     269          <field id="taum"         long_name="wind stress module"                    standard_name="magnitude_of_surface_downward_stress"                                 unit="N/m2"                           /> 
     270          <field id="wspd"         long_name="wind speed module"                     standard_name="wind_speed"                                                           unit="m/s"                            /> 
     271           
     272          <!-- * variable relative to atmospheric pressure forcing : available with ln_apr_dyn --> 
     273          <field id="ssh_ib"       long_name="Inverse barometer sea surface height"  standard_name="sea_surface_height_correction_due_to_air_pressure_at_low_frequency"   unit="m"        /> 
     274 
     275          <!-- * variable related to ice shelf forcing * --> 
     276          <field id="fwfisf"       long_name="Ice shelf melting"                             unit="kg/m2/s"  /> 
     277          <field id="fwfisf3d"     long_name="Ice shelf melting"                             unit="kg/m2/s"  grid_ref="grid_T_3D" /> 
     278          <field id="qlatisf"      long_name="Ice shelf latent heat flux"                    unit="W/m2"     /> 
     279          <field id="qlatisf3d"    long_name="Ice shelf latent heat flux"                    unit="W/m2"     grid_ref="grid_T_3D" /> 
     280          <field id="qhcisf"       long_name="Ice shelf heat content flux"                   unit="W/m2"     /> 
     281          <field id="qhcisf3d"     long_name="Ice shelf heat content flux"                   unit="W/m2"     grid_ref="grid_T_3D" /> 
     282          <field id="isfgammat"    long_name="transfert coefficient for isf (temperature) "  unit="m/s"      /> 
     283          <field id="isfgammas"    long_name="transfert coefficient for isf (salinity)    "  unit="m/s"      /> 
     284          <field id="stbl"         long_name="salinity in the Losh tbl                    "  unit="PSU"      /> 
     285          <field id="ttbl"         long_name="temperature in the Losh tbl                 "  unit="C"        /> 
     286          <field id="utbl"         long_name="zonal current in the Losh tbl at T point    "  unit="m/s"      /> 
     287          <field id="vtbl"         long_name="merid current in the Losh tbl at T point    "  unit="m/s"      /> 
     288          <field id="thermald"     long_name="thermal driving of ice shelf melting        "  unit="C"        /> 
     289          <field id="tfrz"         long_name="top freezing point (used to compute melt)   "  unit="C"        /> 
     290          <field id="tinsitu"      long_name="top insitu temperature (used to cmpt melt)  "  unit="C"        /> 
     291          <field id="ustar"        long_name="ustar at T point used in ice shelf melting  "  unit="m/s"      /> 
     292 
     293          <!-- *_oce variables available with ln_blk_clio or ln_blk_core --> 
     294          <field id="qlw_oce"      long_name="Longwave Downward Heat Flux over open ocean"  standard_name="surface_net_downward_longwave_flux"                 unit="W/m2"  /> 
     295          <field id="qsb_oce"      long_name="Sensible Downward Heat Flux over open ocean"  standard_name="surface_downward_sensible_heat_flux"                unit="W/m2"  /> 
     296          <field id="qla_oce"      long_name="Latent Downward Heat Flux over open ocean"    standard_name="surface_downward_latent_heat_flux"                  unit="W/m2"  /> 
     297          <field id="qt_oce"       long_name="total flux at ocean surface"                  standard_name="surface_downward_heat_flux_in_sea_water"            unit="W/m2"  /> 
     298          <field id="qsr_oce"      long_name="solar heat flux at ocean surface"             standard_name="net_downward_shortwave_flux_at_sea_water_surface"   unit="W/m2"  /> 
     299          <field id="qns_oce"      long_name="non-solar heat flux at ocean surface (including E-P)"                                                            unit="W/m2"  /> 
     300          <field id="qemp_oce"     long_name="Downward Heat Flux from E-P over open ocean"                                                                     unit="W/m2"  /> 
     301          <field id="taum_oce"     long_name="wind stress module over open ocean"           standard_name="magnitude_of_surface_downward_stress"               unit="N/m2"  /> 
     302 
     303          <!-- available key_oasis3 --> 
     304          <field id="snow_ao_cea"  long_name="Snow over ice-free ocean (cell average)"   standard_name="snowfall_flux"                             unit="kg/m2/s"  /> 
     305          <field id="snow_ai_cea"  long_name="Snow over sea-ice (cell average)"          standard_name="snowfall_flux"                             unit="kg/m2/s"  /> 
     306          <field id="subl_ai_cea"  long_name="Sublimation over sea-ice (cell average)"   standard_name="surface_snow_and_ice_sublimation_flux"     unit="kg/m2/s"  /> 
     307          <field id="icealb_cea"   long_name="Ice albedo (cell average)"                 standard_name="sea_ice_albedo"                            unit="1"        /> 
     308          <field id="calving_cea"  long_name="Calving"                                   standard_name="water_flux_into_sea_water_from_icebergs"   unit="kg/m2/s"  /> 
     309          <field id="iceberg_cea"  long_name="Iceberg"                                   standard_name="water_flux_into_sea_water_from_icebergs"   unit="kg/m2/s"  /> 
     310          <field id="iceshelf_cea" long_name="Iceshelf"                                  standard_name="water_flux_into_sea_water_from_iceshelf"   unit="kg/m2/s"  /> 
     311 
     312 
     313          <!-- available if key_oasis3 + conservative method --> 
     314          <field id="rain"          long_name="Liquid precipitation"                                     standard_name="rainfall_flux"                                                                 unit="kg/m2/s"  /> 
     315          <field id="evap_ao_cea"   long_name="Evaporation over ice-free ocean (cell average)"           standard_name="water_evaporation_flux"                                                        unit="kg/m2/s"  /> 
     316          <field id="isnwmlt_cea"   long_name="Snow over Ice melting (cell average)"                     standard_name="surface_snow_melt_flux"                                                        unit="kg/m2/s"  /> 
     317          <field id="fsal_virt_cea" long_name="Virtual salt flux due to ice formation (cell average)"    standard_name="virtual_salt_flux_into_sea_water_due_to_sea_ice_thermodynamics"                unit="kg/m2/s"  /> 
     318          <field id="fsal_real_cea" long_name="Real salt flux due to ice formation (cell average)"       standard_name="downward_sea_ice_basal_salt_flux"                                              unit="kg/m2/s"  /> 
     319          <field id="hflx_rain_cea" long_name="heat flux due to rainfall"                                standard_name="temperature_flux_due_to_rainfall_expressed_as_heat_flux_into_sea_water"        unit="W/m2"     /> 
     320          <field id="hflx_evap_cea" long_name="heat flux due to evaporation"                             standard_name="temperature_flux_due_to_evaporation_expressed_as_heat_flux_out_of_sea_water"   unit="W/m2"     /> 
     321          <field id="hflx_snow_cea" long_name="heat flux due to snow falling"                            standard_name="heat_flux_onto_ocean_and_ice_due_to_snow_thermodynamics"                       unit="W/m2"     /> 
     322          <field id="hflx_snow_ai_cea" long_name="heat flux due to snow falling over ice"                standard_name="heat_flux_onto_ice_due_to_snow_thermodynamics"                                 unit="W/m2"     /> 
     323          <field id="hflx_snow_ao_cea" long_name="heat flux due to snow falling over ice-free ocean"     standard_name="heat_flux_onto_sea_water_due_to_snow_thermodynamics"                           unit="W/m2"     /> 
     324          <field id="hflx_ice_cea"  long_name="heat flux due to ice thermodynamics"                      standard_name="heat_flux_into_sea_water_due_to_sea_ice_thermodynamics"                        unit="W/m2"     /> 
     325          <field id="hflx_rnf_cea"  long_name="heat flux due to runoffs"                                 standard_name="temperature_flux_due_to_runoff_expressed_as_heat_flux_into_sea_water"          unit="W/m2"     /> 
     326          <field id="hflx_cal_cea"  long_name="heat flux due to calving"                                 standard_name="heat_flux_into_sea_water_due_to_calving"                                       unit="W/m2"     /> 
     327          <field id="hflx_icb_cea"  long_name="heat flux due to iceberg"                                 standard_name="heat_flux_into_sea_water_due_to_icebergs"                                      unit="W/m2"     /> 
     328          <field id="hflx_isf_cea"  long_name="heat flux due to iceshelf"                                standard_name="heat_flux_into_sea_water_due_to_iceshelf"                                      unit="W/m2"     /> 
     329          <field id="bicemel_cea"   long_name="Rate of Melt at Sea Ice Base (cell average)"              standard_name="tendency_of_sea_ice_amount_due_to_basal_melting"                               unit="kg/m2/s"  /> 
     330          <field id="licepro_cea"   long_name="Lateral Sea Ice Growth Rate (cell average)"               standard_name="tendency_of_sea_ice_amount_due_to_lateral_growth_of_ice_floes"                 unit="kg/m2/s"  /> 
     331          <field id="snowmel_cea"   long_name="Snow Melt Rate (cell average)"                            standard_name="surface_snow_melt_flux"                                                        unit="kg/m2/s"  /> 
     332          <field id="sntoice_cea"   long_name="Snow-Ice Formation Rate (cell average)"                   standard_name="tendency_of_sea_ice_amount_due_to_snow_conversion"                             unit="kg/m2/s"  /> 
     333          <field id="ticemel_cea"   long_name="Rate of Melt at Upper Surface of Sea Ice (cell average)"  standard_name="tendency_of_sea_ice_amount_due_to_surface_melting"                             unit="kg/m2/s"  /> 
     334 
     335          <!-- ice field (nn_ice=1)  --> 
     336          <field id="ice_cover"    long_name="Ice fraction"                                                 standard_name="sea_ice_area_fraction"                              unit="1"            /> 
     337           
     338          <!-- dilution --> 
     339          <field id="emp_x_sst"    long_name="Concentration/Dilution term on SST"                                                                                              unit="kg*degC/m2/s" /> 
     340          <field id="emp_x_sss"    long_name="Concentration/Dilution term on SSS"                                                                                              unit="kg*1e-3/m2/s" />         
     341          <field id="rnf_x_sst"    long_name="Runoff term on SST"                                                                                                              unit="kg*degC/m2/s" /> 
     342          <field id="rnf_x_sss"    long_name="Runoff term on SSS"                                                                                                              unit="kg*1e-3/m2/s" /> 
     343      
     344     <!-- sbcssm variables --> 
     345          <field id="sst_m"    unit="degC" /> 
     346          <field id="sss_m"    unit="psu"  /> 
     347          <field id="ssu_m"    unit="m/s"  /> 
     348          <field id="ssv_m"    unit="m/s"  /> 
     349          <field id="ssh_m"    unit="m"    /> 
     350          <field id="e3t_m"    unit="m"    /> 
     351          <field id="frq_m"    unit="-"    /> 
     352 
     353   </field_group> 
     354    
     355 
     356      </field_group> <!-- SBC --> 
    338357 
    339358      <!-- U grid --> 
    340359       
    341360      <field_group id="grid_U"   grid_ref="grid_U_2D"> 
    342          <field id="e3u"          long_name="U-cell thickness"                                       standard_name="cell_thickness"              unit="m"          grid_ref="grid_U_3D" /> 
    343          <field id="e3u_0"        long_name="Initial U-cell thickness"                               standard_name="ref_cell_thickness"          unit="m"          grid_ref="grid_U_3D"/> 
    344          <field id="utau"         long_name="Wind Stress along i-axis"                               standard_name="surface_downward_x_stress"   unit="N/m2"                            /> 
    345          <field id="uoce"         long_name="ocean current along i-axis"                             standard_name="sea_water_x_velocity"        unit="m/s"        grid_ref="grid_U_3D" /> 
    346          <field id="uoce_e3u"     long_name="ocean current along i-axis  (thickness weighted)"                                                   unit="m/s"        grid_ref="grid_U_3D"  > uoce * e3u </field> 
    347          <field id="ssu"          long_name="ocean surface current along i-axis"                                                                 unit="m/s"                             /> 
    348          <field id="sbu"          long_name="ocean bottom current along i-axis"                                                                  unit="m/s"                             /> 
    349          <field id="ubar"         long_name="ocean barotropic current along i-axis"                                                              unit="m/s"                             /> 
    350          <field id="uocetr_eff"   long_name="Effective ocean transport along i-axis"                 standard_name="ocean_volume_x_transport"    unit="m3/s"       grid_ref="grid_U_3D" /> 
    351          <field id="uocet"        long_name="ocean transport along i-axis times temperature (CRS)"                                               unit="degC*m/s"   grid_ref="grid_U_3D" /> 
    352          <field id="uoces"        long_name="ocean transport along i-axis times salinity (CRS)"                                                  unit="1e-3*m/s"   grid_ref="grid_U_3D" /> 
    353  
    354          <!-- u-eddy diffusivity coefficients (available if ln_traldf_OFF=F) --> 
    355          <field id="ahtu_2d"      long_name=" surface u-eddy diffusivity coefficient"   unit="m2/s or m4/s" /> 
    356          <field id="ahtu_3d"      long_name=" 3D u-EIV coefficient"                     unit="m2/s or m4/s"      grid_ref="grid_U_3D"/> 
    357          <!-- u-eiv diffusivity coefficients (available if ln_ldfeiv=F) --> 
    358          <field id="aeiu_2d"      long_name=" surface u-EIV coefficient"                unit="m2/s" /> 
    359          <field id="aeiu_3d"      long_name=" 3D u-EIV coefficient"                     unit="m2/s"              grid_ref="grid_U_3D"/> 
    360  
    361          <!-- variables available with MLE (ln_mle=T) --> 
    362          <field id="psiu_mle"     long_name="MLE streamfunction along i-axis"   unit="m3/s"   grid_ref="grid_U_3D" /> 
    363  
    364          <!-- uoce_eiv: available EIV (ln_ldfeiv=T and ln_ldfeiv_dia=T) --> 
    365          <field id="uoce_eiv"     long_name="EIV ocean current along i-axis"   standard_name="bolus_sea_water_x_velocity"   unit="m/s"   grid_ref="grid_U_3D" /> 
    366  
    367          <!-- uoce_bbl: available with ln_trabbl=T and nn_bbl_adv=1 --> 
    368          <field id="uoce_bbl"     long_name="BBL ocean current along i-axis"    unit="m/s"  /> 
    369          <!-- ahu_bbl : available with ln_trabbl=T and nn_bbl_ldf=1 --> 
    370          <field id="ahu_bbl"      long_name="BBL diffusive flux along i-axis"   unit="m3/s" /> 
    371  
    372          <!-- variable for ice shelves --> 
    373          <field id="utbl"         long_name="zonal current in the Losh tbl"     unit="m/s" /> 
    374  
    375          <field id="u_masstr"     long_name="Ocean Mass X Transport"    standard_name="ocean_mass_x_transport"                          unit="kg/s"        grid_ref="grid_U_3D" /> 
    376          <field id="u_masstr_vint" long_name="vertical integral of ocean eulerian mass transport along i-axis"    standard_name="vertical_integral_of_ocean_mass_x_transport"  unit="kg/s" /> 
    377          <field id="u_heattr"     long_name="ocean eulerian heat transport along i-axis"    standard_name="ocean_heat_x_transport"                          unit="W"                                /> 
    378          <field id="u_salttr"     long_name="ocean eulerian salt transport along i-axis"    standard_name="ocean_salt_x_transport"                          unit="1e-3*kg/s"                        /> 
    379          <field id="uadv_heattr"  long_name="ocean advective heat transport along i-axis"    standard_name="advectice_ocean_heat_x_transport"               unit="W"                                /> 
    380          <field id="uadv_salttr"  long_name="ocean advective salt transport along i-axis"    standard_name="advectice_ocean_salt_x_transport"               unit="1e-3*kg/s"                      /> 
    381          <field id="ueiv_heattr"  long_name="ocean bolus heat transport along i-axis"       standard_name="ocean_heat_x_transport_due_to_bolus_advection"   unit="W"                                /> 
    382          <field id="ueiv_salttr"  long_name="ocean bolus salt transport along i-axis"       standard_name="ocean_salt_x_transport_due_to_bolus_advection"   unit="Kg"                                /> 
    383          <field id="ueiv_heattr3d" long_name="ocean bolus heat transport along i-axis"    standard_name="ocean_heat_x_transport_due_to_bolus_advection"   unit="W"    grid_ref="grid_U_3D" /> 
    384          <field id="ueiv_salttr3d" long_name="ocean bolus salt transport along i-axis"    standard_name="ocean_salt_x_transport_due_to_bolus_advection"   unit="kg"   grid_ref="grid_U_3D" /> 
    385          <field id="udiff_heattr" long_name="ocean diffusion heat transport along i-axis"   standard_name="ocean_heat_x_transport_due_to_diffusion"         unit="W"                                /> 
    386          <field id="udiff_salttr" long_name="ocean diffusion salt transport along i-axis"   standard_name="ocean_salt_x_transport_due_to_diffusion"         unit="1e-3*kg/s"                                /> 
     361        <field id="e3u"          long_name="U-cell thickness"                                       standard_name="cell_thickness"              unit="m"          grid_ref="grid_U_3D" /> 
     362        <field id="e3u_0"        long_name="Initial U-cell thickness"                               standard_name="ref_cell_thickness"          unit="m"          grid_ref="grid_U_3D"/> 
     363        <field id="utau"         long_name="Wind Stress along i-axis"                               standard_name="surface_downward_x_stress"   unit="N/m2"                            /> 
     364        <field id="uoce"         long_name="ocean current along i-axis"                             standard_name="sea_water_x_velocity"        unit="m/s"        grid_ref="grid_U_3D" /> 
     365        <field id="uoce_e3u"     long_name="ocean current along i-axis  (thickness weighted)"                                                   unit="m/s"        grid_ref="grid_U_3D"  > uoce * e3u </field> 
     366        <field id="ssu"          long_name="ocean surface current along i-axis"                                                                 unit="m/s"                             /> 
     367        <field id="sbu"          long_name="ocean bottom current along i-axis"                                                                  unit="m/s"                             /> 
     368        <field id="ubar"         long_name="ocean barotropic current along i-axis"                                                              unit="m/s"                             /> 
     369        <field id="uocetr_eff"   long_name="Effective ocean transport along i-axis"                 standard_name="ocean_volume_x_transport"    unit="m3/s"       grid_ref="grid_U_3D" /> 
     370        <field id="uocet"        long_name="ocean transport along i-axis times temperature (CRS)"                                               unit="degC*m/s"   grid_ref="grid_U_3D" /> 
     371        <field id="uoces"        long_name="ocean transport along i-axis times salinity (CRS)"                                                  unit="1e-3*m/s"   grid_ref="grid_U_3D" /> 
     372 
     373        <!-- u-eddy diffusivity coefficients (available if ln_traldf_OFF=F) --> 
     374        <field id="ahtu_2d"      long_name=" surface u-eddy diffusivity coefficient"   unit="m2/s or m4/s" /> 
     375        <field id="ahtu_3d"      long_name=" 3D u-EIV coefficient"                     unit="m2/s or m4/s"      grid_ref="grid_U_3D"/> 
     376        <!-- u-eiv diffusivity coefficients (available if ln_ldfeiv=F) --> 
     377        <field id="aeiu_2d"      long_name=" surface u-EIV coefficient"                unit="m2/s" /> 
     378        <field id="aeiu_3d"      long_name=" 3D u-EIV coefficient"                     unit="m2/s"              grid_ref="grid_U_3D"/> 
     379 
     380        <!-- variables available with MLE (ln_mle=T) --> 
     381        <field id="psiu_mle"     long_name="MLE streamfunction along i-axis"   unit="m3/s"   grid_ref="grid_U_3D" /> 
     382 
     383        <!-- uoce_eiv: available EIV (ln_ldfeiv=T and ln_ldfeiv_dia=T) --> 
     384        <field id="uoce_eiv"     long_name="EIV ocean current along i-axis"   standard_name="bolus_sea_water_x_velocity"   unit="m/s"   grid_ref="grid_U_3D" /> 
     385 
     386        <!-- uoce_bbl: available with ln_trabbl=T and nn_bbl_adv=1 --> 
     387        <field id="uoce_bbl"     long_name="BBL ocean current along i-axis"    unit="m/s"  /> 
     388        <!-- ahu_bbl : available with ln_trabbl=T and nn_bbl_ldf=1 --> 
     389        <field id="ahu_bbl"      long_name="BBL diffusive flux along i-axis"   unit="m3/s" /> 
     390 
     391        <!-- variables available with WAVE (ln_wave=T) --> 
     392        <field id="ustokes"      long_name="Stokes Drift Velocity i-axis"      standard_name="StokesDrift_x_velocity"      unit="m/s"        grid_ref="grid_U_3D" /> 
     393        <field id="ustokes_e3u"  long_name="Stokes Drift Velocity i-axis  (thickness weighted)"                            unit="m/s"        grid_ref="grid_U_3D"  > ustokes * e3u </field> 
     394 
     395        <!-- variable for ice shelves --> 
     396        <field id="utbl"         long_name="zonal current in the Losh tbl"     unit="m/s" /> 
     397 
     398        <field id="u_masstr"      long_name="Ocean Mass X Transport"                                          standard_name="ocean_mass_x_transport"                         unit="kg/s" grid_ref="grid_U_3D" /> 
     399        <field id="u_masstr_vint" long_name="vertical integral of ocean eulerian mass transport along i-axis" standard_name="vertical_integral_of_ocean_mass_x_transport"    unit="kg/s"                      /> 
     400        <field id="u_heattr"      long_name="ocean eulerian heat transport along i-axis"                      standard_name="ocean_heat_x_transport"                         unit="W"                         /> 
     401        <field id="u_salttr"      long_name="ocean eulerian salt transport along i-axis"                      standard_name="ocean_salt_x_transport"                         unit="1e-3*kg/s"                 /> 
     402        <field id="uadv_heattr"   long_name="ocean advective heat transport along i-axis"                     standard_name="advectice_ocean_heat_x_transport"               unit="W"                         /> 
     403        <field id="uadv_salttr"   long_name="ocean advective salt transport along i-axis"                     standard_name="advectice_ocean_salt_x_transport"               unit="1e-3*kg/s"                 /> 
     404        <field id="ueiv_heattr"   long_name="ocean bolus heat transport along i-axis"                         standard_name="ocean_heat_x_transport_due_to_bolus_advection"  unit="W"                         /> 
     405        <field id="ueiv_salttr"   long_name="ocean bolus salt transport along i-axis"                         standard_name="ocean_salt_x_transport_due_to_bolus_advection"  unit="Kg"                        /> 
     406        <field id="ueiv_heattr3d" long_name="ocean bolus heat transport along i-axis"                         standard_name="ocean_heat_x_transport_due_to_bolus_advection"  unit="W"    grid_ref="grid_U_3D" /> 
     407        <field id="ueiv_salttr3d" long_name="ocean bolus salt transport along i-axis"                         standard_name="ocean_salt_x_transport_due_to_bolus_advection"  unit="kg"   grid_ref="grid_U_3D" /> 
     408        <field id="udiff_heattr"  long_name="ocean diffusion heat transport along i-axis"                     standard_name="ocean_heat_x_transport_due_to_diffusion"        unit="W"                         /> 
     409        <field id="udiff_salttr"  long_name="ocean diffusion salt transport along i-axis"                     standard_name="ocean_salt_x_transport_due_to_diffusion"        unit="1e-3*kg/s"                 /> 
    387410      </field_group> 
    388411       
     
    390413       
    391414      <field_group id="grid_V"   grid_ref="grid_V_2D"> 
    392          <field id="e3v"          long_name="V-cell thickness"                                       standard_name="cell_thickness"              unit="m"          grid_ref="grid_V_3D" /> 
    393          <field id="e3v_0"        long_name="Initial V-cell thickness"                               standard_name="ref_cell_thickness"          unit="m"          grid_ref="grid_V_3D"/> 
    394          <field id="vtau"         long_name="Wind Stress along j-axis"                               standard_name="surface_downward_y_stress"   unit="N/m2"                            /> 
    395          <field id="voce"         long_name="ocean current along j-axis"                             standard_name="sea_water_y_velocity"        unit="m/s"        grid_ref="grid_V_3D" /> 
    396          <field id="voce_e3v"     long_name="ocean current along j-axis  (thickness weighted)"                                                   unit="m/s"        grid_ref="grid_V_3D"  > voce * e3v </field> 
    397          <field id="ssv"          long_name="ocean surface current along j-axis"                                                                 unit="m/s"                             /> 
    398          <field id="sbv"          long_name="ocean bottom current along j-axis"                                                                  unit="m/s"                             /> 
    399          <field id="vbar"         long_name="ocean barotropic current along j-axis"                                                              unit="m/s"                             /> 
    400          <field id="vocetr_eff"   long_name="Effective ocean transport along j-axis"                 standard_name="ocean_volume_y_transport"    unit="m3/s"       grid_ref="grid_V_3D" /> 
    401          <field id="vocet"        long_name="ocean transport along j-axis times temperature (CRS)"                                               unit="degC*m/s"   grid_ref="grid_V_3D" /> 
    402          <field id="voces"        long_name="ocean transport along j-axis times salinity (CRS)"                                                  unit="1e-3*m/s"   grid_ref="grid_V_3D" /> 
    403  
    404          <!-- v-eddy diffusivity coefficients (available if ln_traldf_OFF=F) --> 
    405          <field id="ahtv_2d"      long_name=" surface v-eddy diffusivity coefficient"     unit="m2/s or (m4/s)^1/2" /> 
    406          <field id="ahtv_3d"      long_name=" 3D v-eddy diffusivity coefficient"          unit="m2/s or (m4/s)^1/2"           grid_ref="grid_V_3D"/> 
    407          <!-- v-eiv diffusivity coefficients (available if ln_ldfeiv=F) --> 
    408          <field id="aeiv_2d"      long_name=" surface v-EIV coefficient"                  unit="m2/s" /> 
    409          <field id="aeiv_3d"      long_name=" 3D v-EIV coefficient"                       unit="m2/s"                         grid_ref="grid_V_3D" /> 
    410  
    411          <!-- variables available with MLE (ln_mle=T) --> 
    412          <field id="psiv_mle"     long_name="MLE streamfunction along j-axis"   unit="m3/s"   grid_ref="grid_V_3D" /> 
    413  
    414          <!-- voce_eiv: available EIV (ln_ldfeiv=T and ln_ldfeiv_dia=T)  --> 
    415          <field id="voce_eiv"     long_name="EIV ocean current along j-axis"   standard_name="bolus_sea_water_y_velocity"   unit="m/s"   grid_ref="grid_V_3D" /> 
    416  
    417          <!-- voce_bbl: available with ln_trabbl=T and nn_bbl_adv=1 --> 
    418          <field id="voce_bbl"     long_name="BBL ocean current along j-axis"    unit="m/s"  /> 
    419          <!-- ahu_bbl : available with ln_trabbl=T and nn_bbl_ldf=1 --> 
    420          <field id="ahv_bbl"      long_name="BBL diffusive flux along j-axis"   unit="m3/s" /> 
    421  
    422          <!-- variable for ice shelves --> 
    423          <field id="vtbl"         long_name="meridional current in the Losh tbl"   unit="m/s" /> 
    424  
    425          <!-- variables available with diaar5 --> 
    426          <field id="v_masstr"     long_name="ocean eulerian mass transport along j-axis"    standard_name="ocean_mass_y_transport"                          unit="kg/s"        grid_ref="grid_V_3D" /> 
    427          <field id="v_heattr"     long_name="ocean eulerian heat transport along j-axis"    standard_name="ocean_heat_y_transport"                          unit="W"                                /> 
    428          <field id="v_salttr"     long_name="ocean eulerian salt transport along i-axis"    standard_name="ocean_salt_y_transport"                          unit="1e-3*kg/s"                        /> 
    429          <field id="vadv_heattr"  long_name="ocean advective heat transport along j-axis"   standard_name="advectice_ocean_heat_y_transport"                unit="W"                      /> 
    430          <field id="vadv_salttr"  long_name="ocean advective salt transport along j-axis"   standard_name="advectice_ocean_salt_y_transport"                unit="1e-3*kg/s"              /> 
    431          <field id="veiv_heattr"  long_name="ocean bolus heat transport along j-axis"       standard_name="ocean_heat_y_transport_due_to_bolus_advection"   unit="W"                                /> 
    432          <field id="veiv_salttr"  long_name="ocean bolus salt transport along j-axis"       standard_name="ocean_salt_x_transport_due_to_bolus_advection"   unit="Kg"                                /> 
    433          <field id="veiv_heattr3d" long_name="ocean bolus heat transport along j-axis"    standard_name="ocean_heat_y_transport_due_to_bolus_advection"   unit="W"    grid_ref="grid_V_3D" /> 
    434          <field id="veiv_salttr3d" long_name="ocean bolus salt transport along j-axis"    standard_name="ocean_salt_y_transport_due_to_bolus_advection"   unit="kg"   grid_ref="grid_V_3D" /> 
    435          <field id="vdiff_heattr" long_name="ocean diffusion heat transport along j-axis"   standard_name="ocean_heat_y_transport_due_to_diffusion"         unit="W"                                /> 
    436          <field id="vdiff_salttr" long_name="ocean diffusion salt transport along j-axis"   standard_name="ocean_salt_y_transport_due_to_diffusion"         unit="1e-3*kg/s"                        /> 
     415        <field id="e3v"          long_name="V-cell thickness"                                       standard_name="cell_thickness"              unit="m"          grid_ref="grid_V_3D" /> 
     416        <field id="e3v_0"        long_name="Initial V-cell thickness"                               standard_name="ref_cell_thickness"          unit="m"          grid_ref="grid_V_3D" /> 
     417        <field id="vtau"         long_name="Wind Stress along j-axis"                               standard_name="surface_downward_y_stress"   unit="N/m2"                            /> 
     418        <field id="voce"         long_name="ocean current along j-axis"                             standard_name="sea_water_y_velocity"        unit="m/s"        grid_ref="grid_V_3D" /> 
     419        <field id="voce_e3v"     long_name="ocean current along j-axis  (thickness weighted)"                                                   unit="m/s"        grid_ref="grid_V_3D"  > voce * e3v </field> 
     420        <field id="ssv"          long_name="ocean surface current along j-axis"                                                                 unit="m/s"                             /> 
     421        <field id="sbv"          long_name="ocean bottom current along j-axis"                                                                  unit="m/s"                             /> 
     422        <field id="vbar"         long_name="ocean barotropic current along j-axis"                                                              unit="m/s"                             /> 
     423        <field id="vocetr_eff"   long_name="Effective ocean transport along j-axis"                 standard_name="ocean_volume_y_transport"    unit="m3/s"       grid_ref="grid_V_3D" /> 
     424        <field id="vocet"        long_name="ocean transport along j-axis times temperature (CRS)"                                               unit="degC*m/s"   grid_ref="grid_V_3D" /> 
     425        <field id="voces"        long_name="ocean transport along j-axis times salinity (CRS)"                                                  unit="1e-3*m/s"   grid_ref="grid_V_3D" /> 
     426 
     427        <!-- v-eddy diffusivity coefficients (available if ln_traldf_OFF=F) --> 
     428        <field id="ahtv_2d"      long_name=" surface v-eddy diffusivity coefficient"     unit="m2/s or (m4/s)^1/2" /> 
     429        <field id="ahtv_3d"      long_name=" 3D v-eddy diffusivity coefficient"          unit="m2/s or (m4/s)^1/2"           grid_ref="grid_V_3D"/> 
     430        <!-- v-eiv diffusivity coefficients (available if ln_ldfeiv=F) --> 
     431        <field id="aeiv_2d"      long_name=" surface v-EIV coefficient"                  unit="m2/s" /> 
     432        <field id="aeiv_3d"      long_name=" 3D v-EIV coefficient"                       unit="m2/s"                         grid_ref="grid_V_3D" /> 
     433 
     434        <!-- variables available with MLE (ln_mle=T) --> 
     435        <field id="psiv_mle"     long_name="MLE streamfunction along j-axis"   unit="m3/s"   grid_ref="grid_V_3D" /> 
     436 
     437        <!-- voce_eiv: available EIV (ln_ldfeiv=T and ln_ldfeiv_dia=T)  --> 
     438        <field id="voce_eiv"     long_name="EIV ocean current along j-axis"   standard_name="bolus_sea_water_y_velocity"   unit="m/s"   grid_ref="grid_V_3D" /> 
     439 
     440        <!-- voce_bbl: available with ln_trabbl=T and nn_bbl_adv=1 --> 
     441        <field id="voce_bbl"     long_name="BBL ocean current along j-axis"    unit="m/s"  /> 
     442        <!-- ahu_bbl : available with ln_trabbl=T and nn_bbl_ldf=1 --> 
     443        <field id="ahv_bbl"      long_name="BBL diffusive flux along j-axis"   unit="m3/s" /> 
     444 
     445        <!-- variables available with WAVE (ln_wave=T) --> 
     446        <field id="vstokes"      long_name="Stokes Drift Velocity j-axis"      standard_name="StokesDrift_y_velocity"      unit="m/s"        grid_ref="grid_V_3D" /> 
     447        <field id="vstokes_e3v"  long_name="Stokes Drift Velocity j-axis  (thickness weighted)"                            unit="m/s"        grid_ref="grid_V_3D"  > vstokes * e3v </field> 
     448 
     449        <!-- variable for ice shelves --> 
     450        <field id="vtbl"         long_name="meridional current in the Losh tbl"   unit="m/s" /> 
     451 
     452        <!-- variables available with diaar5 --> 
     453        <field id="v_masstr"      long_name="ocean eulerian mass transport along j-axis"    standard_name="ocean_mass_y_transport"                          unit="kg/s" grid_ref="grid_V_3D" /> 
     454        <field id="v_heattr"      long_name="ocean eulerian heat transport along j-axis"    standard_name="ocean_heat_y_transport"                          unit="W"                         /> 
     455        <field id="v_salttr"      long_name="ocean eulerian salt transport along i-axis"    standard_name="ocean_salt_y_transport"                          unit="1e-3*kg/s"                 /> 
     456        <field id="vadv_heattr"   long_name="ocean advective heat transport along j-axis"   standard_name="advectice_ocean_heat_y_transport"                unit="W"                         /> 
     457        <field id="vadv_salttr"   long_name="ocean advective salt transport along j-axis"   standard_name="advectice_ocean_salt_y_transport"                unit="1e-3*kg/s"                 /> 
     458        <field id="veiv_heattr"   long_name="ocean bolus heat transport along j-axis"       standard_name="ocean_heat_y_transport_due_to_bolus_advection"   unit="W"                         /> 
     459        <field id="veiv_salttr"   long_name="ocean bolus salt transport along j-axis"       standard_name="ocean_salt_x_transport_due_to_bolus_advection"   unit="Kg"                        /> 
     460        <field id="veiv_heattr3d" long_name="ocean bolus heat transport along j-axis"       standard_name="ocean_heat_y_transport_due_to_bolus_advection"   unit="W"    grid_ref="grid_V_3D" /> 
     461        <field id="veiv_salttr3d" long_name="ocean bolus salt transport along j-axis"       standard_name="ocean_salt_y_transport_due_to_bolus_advection"   unit="kg"   grid_ref="grid_V_3D" /> 
     462        <field id="vdiff_heattr"  long_name="ocean diffusion heat transport along j-axis"   standard_name="ocean_heat_y_transport_due_to_diffusion"         unit="W"                         /> 
     463        <field id="vdiff_salttr"  long_name="ocean diffusion salt transport along j-axis"   standard_name="ocean_salt_y_transport_due_to_diffusion"         unit="1e-3*kg/s"                 /> 
    437464      </field_group> 
    438465       
     
    440467       
    441468      <field_group id="grid_W" grid_ref="grid_W_3D"> 
    442          <field id="e3w"          long_name="W-cell thickness"                     standard_name="cell_thickness"              unit="m"    /> 
    443          <field id="woce"         long_name="ocean vertical velocity"              standard_name="upward_sea_water_velocity"   unit="m/s"  /> 
    444          <field id="wocetr_eff"   long_name="effective ocean vertical transport"                                               unit="m3/s" /> 
    445  
    446          <!-- woce_eiv: available with EIV  (ln_ldfeiv=T and ln_ldfeiv_dia=T)  --> 
    447          <field id="woce_eiv"     long_name="EIV ocean vertical velocity"   standard_name="bolus_upward_sea_water_velocity"   unit="m/s" /> 
    448  
    449          <field id="avt"          long_name="vertical eddy diffusivity"   standard_name="ocean_vertical_heat_diffusivity"       unit="m2/s" /> 
    450          <field id="logavt"       long_name="logarithm of vertical eddy diffusivity"   standard_name="ocean_vertical_heat_diffusivity"       unit="m2/s" /> 
    451          <field id="avm"          long_name="vertical eddy viscosity"     standard_name="ocean_vertical_momentum_diffusivity"   unit="m2/s" /> 
    452  
    453          <!-- avs: /= avt with ln_zdfddm=T --> 
    454          <field id="avs"          long_name="salt vertical eddy diffusivity"   standard_name="ocean_vertical_salt_diffusivity"   unit="m2/s" /> 
    455          <field id="logavs"       long_name="logarithm of salt vertical eddy diffusivity"   standard_name="ocean_vertical_heat_diffusivity"       unit="m2/s" /> 
    456  
    457          <!-- avt_evd and avm_evd: available with ln_zdfevd --> 
    458          <field id="avt_evd"      long_name="convective enhancement of vertical diffusivity"   standard_name="ocean_vertical_tracer_diffusivity_due_to_convection"     unit="m2/s" /> 
    459          <field id="avm_evd"      long_name="convective enhancement of vertical viscosity"     standard_name="ocean_vertical_momentum_diffusivity_due_to_convection"   unit="m2/s" /> 
    460  
    461          <!-- avt_tide: available with ln_zdfiwm=T --> 
    462          <field id="av_ratio"     long_name="S over T diffusivity ratio"                     standard_name="salinity_over_temperature_diffusivity_ratio"                     unit="1"    /> 
    463          <field id="av_wave"      long_name="internal wave-induced vertical diffusivity"     standard_name="ocean_vertical_tracer_diffusivity_due_to_internal_waves"         unit="m2/s" /> 
    464          <field id="bflx_iwm"     long_name="internal wave-induced buoyancy flux"            standard_name="buoyancy_flux_due_to_internal_waves"                             unit="W/kg" /> 
    465          <field id="pcmap_iwm"    long_name="power consumed by wave-driven mixing"           standard_name="vertically_integrated_power_consumption_by_wave_driven_mixing"   unit="W/m2"      grid_ref="grid_W_2D" /> 
    466          <field id="emix_iwm"     long_name="power density available for mixing"             standard_name="power_available_for_mixing_from_breaking_internal_waves"         unit="W/kg" /> 
    467  
    468          <!-- variables available with diaar5 -->    
    469          <field id="w_masstr"     long_name="vertical mass transport"             standard_name="upward_ocean_mass_transport"             unit="kg/s"   /> 
    470          <field id="w_masstr2"    long_name="square of vertical mass transport"   standard_name="square_of_upward_ocean_mass_transport"   unit="kg2/s2" /> 
    471  
    472       </field_group> 
    473          
     469        <field id="e3w"          long_name="W-cell thickness"                              standard_name="cell_thickness"                         unit="m"    /> 
     470        <field id="woce"         long_name="ocean vertical velocity"                       standard_name="upward_sea_water_velocity"              unit="m/s"  /> 
     471        <field id="wocetr_eff"   long_name="effective ocean vertical transport"                                                                   unit="m3/s" /> 
     472 
     473        <!-- woce_eiv: available with EIV  (ln_ldfeiv=T and ln_ldfeiv_dia=T)  --> 
     474        <field id="woce_eiv"     long_name="EIV ocean vertical velocity"                    standard_name="bolus_upward_sea_water_velocity"       unit="m/s"  /> 
     475 
     476        <field id="avt"          long_name="vertical eddy diffusivity"                      standard_name="ocean_vertical_heat_diffusivity"       unit="m2/s" /> 
     477        <field id="logavt"       long_name="logarithm of vertical eddy diffusivity"         standard_name="ocean_vertical_heat_diffusivity"       unit="m2/s" /> 
     478        <field id="avm"          long_name="vertical eddy viscosity"                        standard_name="ocean_vertical_momentum_diffusivity"   unit="m2/s" /> 
     479 
     480        <!-- avs: /= avt with ln_zdfddm=T --> 
     481        <field id="avs"          long_name="salt vertical eddy diffusivity"                 standard_name="ocean_vertical_salt_diffusivity"       unit="m2/s" /> 
     482        <field id="logavs"       long_name="logarithm of salt vertical eddy diffusivity"    standard_name="ocean_vertical_heat_diffusivity"       unit="m2/s" /> 
     483 
     484        <!-- avt_evd and avm_evd: available with ln_zdfevd --> 
     485        <field id="avt_evd"      long_name="convective enhancement of vertical diffusivity" standard_name="ocean_vertical_tracer_diffusivity_due_to_convection"     unit="m2/s" /> 
     486        <field id="avm_evd"      long_name="convective enhancement of vertical viscosity"   standard_name="ocean_vertical_momentum_diffusivity_due_to_convection"   unit="m2/s" /> 
     487 
     488        <!-- avt_tide: available with ln_zdfiwm=T --> 
     489        <field id="av_ratio"     long_name="S over T diffusivity ratio"                     standard_name="salinity_over_temperature_diffusivity_ratio"                     unit="1"    /> 
     490        <field id="av_wave"      long_name="internal wave-induced vertical diffusivity"     standard_name="ocean_vertical_tracer_diffusivity_due_to_internal_waves"         unit="m2/s" /> 
     491        <field id="bflx_iwm"     long_name="internal wave-induced buoyancy flux"            standard_name="buoyancy_flux_due_to_internal_waves"                             unit="W/kg" /> 
     492        <field id="pcmap_iwm"    long_name="power consumed by wave-driven mixing"           standard_name="vertically_integrated_power_consumption_by_wave_driven_mixing"   unit="W/m2"      grid_ref="grid_W_2D" /> 
     493        <field id="emix_iwm"     long_name="power density available for mixing"             standard_name="power_available_for_mixing_from_breaking_internal_waves"         unit="W/kg" /> 
     494 
     495        <!-- variables available with WAVE (ln_wave=T) --> 
     496        <field id="wstokes"      long_name="Stokes Drift vertical velocity"                 standard_name="upward_StokesDrift_velocity"   unit="m/s" /> 
     497 
     498        <!-- variables available with diaar5 -->    
     499        <field id="w_masstr"     long_name="vertical mass transport"                        standard_name="upward_ocean_mass_transport"             unit="kg/s"   /> 
     500        <field id="w_masstr2"    long_name="square of vertical mass transport"              standard_name="square_of_upward_ocean_mass_transport"   unit="kg2/s2" /> 
     501 
     502      </field_group> 
     503       
    474504      <!-- F grid --> 
    475505      <!-- f-eddy viscosity coefficients (ldfdyn) --> 
    476506      <field id="ahmf_2d"      long_name=" surface f-eddy viscosity coefficient"   unit="m2/s or m4/s" /> 
    477       <field id="ahmf_3d"      long_name=" 3D      f-eddy viscosity coefficient"   unit="m2/s or m4/s"                           grid_ref="grid_T_3D"/> 
    478  
    479       <field_group id="scalar"  grid_ref="grid_T_2D"  > 
    480           <!-- Need to have a salinity reference climatological file : sali_ref_clim_monthly --> 
    481          <field id="voltot"     long_name="global total volume"                          standard_name="sea_water_volume"                               unit="m3"   /> 
    482          <field id="sshtot"     long_name="global mean ssh"                              standard_name="global_average_sea_level_change"                unit="m"    /> 
    483          <field id="sshsteric"  long_name="global mean ssh steric"                       standard_name="global_average_steric_sea_level_change"         unit="m"    /> 
    484          <field id="sshthster"  long_name="global mean ssh thermosteric"                 standard_name="global_average_thermosteric_sea_level_change"   unit="m"    /> 
    485          <field id="masstot"    long_name="global total mass"                            standard_name="sea_water_mass"                                 unit="kg"   /> 
    486          <field id="temptot"    long_name="global mean temperature"                      standard_name="sea_water_potential_temperature"                unit="degC" /> 
    487          <field id="saltot"     long_name="global mean salinity"                         standard_name="sea_water_salinity"                             unit="1e-3" /> 
    488          <field id="fram_trans" long_name="Sea Ice Mass Transport Through Fram Strait"   standard_name="sea_ice_transport_across_line"                  unit="kg/s" /> 
    489  
    490           <!-- available with ln_diahsb --> 
    491          <field id="bgtemper"     long_name="drift in global mean temperature wrt timestep 1"                 standard_name="change_over_time_in_sea_water_potential_temperature"   unit="degC"     /> 
    492          <field id="bgsaline"     long_name="drift in global mean salinity wrt timestep 1"                    standard_name="change_over_time_in_sea_water_practical_salinity"      unit="1e-3"     /> 
    493          <field id="bgheatco"     long_name="drift in global mean heat content wrt timestep 1"                                                                                      unit="1.e20J"   /> 
    494          <field id="bgheatfx"     long_name="drift in global mean heat flux    wrt timestep 1"                                                                                      unit="W/m2"     /> 
    495          <field id="bgsaltco"     long_name="drift in global mean salt content wrt timestep 1"                                                                                      unit="1e-3*km3" /> 
    496          <field id="bgvolssh"     long_name="drift in global mean ssh volume wrt timestep 1"                                                                                        unit="km3"      /> 
    497          <field id="bgvole3t"     long_name="drift in global mean volume variation (e3t) wrt timestep 1"                                                                            unit="km3"      /> 
    498          <field id="bgfrcvol"     long_name="global mean volume from forcing"                                                                                                       unit="km3"      /> 
    499          <field id="bgfrctem"     long_name="global mean heat content from forcing"                                                                                                 unit="1.e20J"   /> 
    500          <field id="bgfrchfx"     long_name="global mean heat flux from forcing"                                                                                                    unit="W/m2"     /> 
    501          <field id="bgfrcsal"     long_name="global mean salt content from forcing"                                                                                                 unit="1e-3*km3" /> 
    502          <field id="bgmistem"     long_name="global mean temperature error due to free surface (linssh true)"                                                                            unit="degC"     /> 
    503          <field id="bgmissal"     long_name="global mean salinity error due to free surface (linssh true)"                                                                               unit="1e-3"     /> 
    504       </field_group> 
    505    
    506       <!-- variables available with key_float --> 
     507      <field id="ahmf_3d"      long_name=" 3D      f-eddy viscosity coefficient"   unit="m2/s or m4/s"  grid_ref="grid_T_3D"/> 
     508 
     509      <field_group id="scalar"  grid_ref="grid_scalar"  > 
     510         <!-- Need to have a salinity reference climatological file : sali_ref_clim_monthly --> 
     511        <field id="voltot"     long_name="global total volume"                          standard_name="sea_water_volume"                               unit="m3"   /> 
     512        <field id="sshtot"     long_name="global mean ssh"                              standard_name="global_average_sea_level_change"                unit="m"    /> 
     513        <field id="sshsteric"  long_name="global mean ssh steric"                       standard_name="global_average_steric_sea_level_change"         unit="m"    /> 
     514        <field id="sshthster"  long_name="global mean ssh thermosteric"                 standard_name="global_average_thermosteric_sea_level_change"   unit="m"    /> 
     515        <field id="masstot"    long_name="global total mass"                            standard_name="sea_water_mass"                                 unit="kg"   /> 
     516        <field id="temptot"    long_name="global mean temperature"                      standard_name="sea_water_potential_temperature"                unit="degC" /> 
     517        <field id="saltot"     long_name="global mean salinity"                         standard_name="sea_water_salinity"                             unit="1e-3" /> 
     518        <field id="fram_trans" long_name="Sea Ice Mass Transport Through Fram Strait"   standard_name="sea_ice_transport_across_line"                  unit="kg/s" /> 
     519 
     520         <!-- available with ln_diahsb --> 
     521        <field id="bgtemper"     long_name="drift in global mean temperature wrt timestep 1"                 standard_name="change_over_time_in_sea_water_potential_temperature"   unit="degC"     /> 
     522        <field id="bgsaline"     long_name="drift in global mean salinity wrt timestep 1"                    standard_name="change_over_time_in_sea_water_practical_salinity"      unit="1e-3"     /> 
     523        <field id="bgheatco"     long_name="drift in global mean heat content wrt timestep 1"                                                                                      unit="1.e20J"   /> 
     524        <field id="bgheatfx"     long_name="drift in global mean heat flux    wrt timestep 1"                                                                                      unit="W/m2"     /> 
     525        <field id="bgsaltco"     long_name="drift in global mean salt content wrt timestep 1"                                                                                      unit="1e-3*km3" /> 
     526        <field id="bgvolssh"     long_name="drift in global mean ssh volume wrt timestep 1"                                                                                        unit="km3"      /> 
     527        <field id="bgvole3t"     long_name="drift in global mean volume variation (e3t) wrt timestep 1"                                                                            unit="km3"      /> 
     528        <field id="bgfrcvol"     long_name="global mean volume from forcing"                                                                                                       unit="km3"      /> 
     529        <field id="bgfrctem"     long_name="global mean heat content from forcing"                                                                                                 unit="1.e20J"   /> 
     530        <field id="bgfrchfx"     long_name="global mean heat flux from forcing"                                                                                                    unit="W/m2"     /> 
     531        <field id="bgfrcsal"     long_name="global mean salt content from forcing"                                                                                                 unit="1e-3*km3" /> 
     532        <field id="bgmistem"     long_name="global mean temperature error due to free surface (linssh true)"                                                                       unit="degC"     /> 
     533        <field id="bgmissal"     long_name="global mean salinity error due to free surface (linssh true)"                                                                          unit="1e-3"     /> 
     534      </field_group> 
     535       
     536      <!-- variables available with ln_floats --> 
    507537 
    508538      <field_group id="floatvar" grid_ref="grid_T_nfloat"  operation="instant" > 
    509          <field id="traj_lon"      long_name="floats longitude"                                                           unit="degrees_east"  /> 
    510          <field id="traj_lat"      long_name="floats latitude"                                                            unit="degrees_north" /> 
    511          <field id="traj_dep"      long_name="floats depth"                                                               unit="m"             /> 
    512          <field id="traj_temp"     long_name="floats temperature"       standard_name="sea_water_potential_temperature"   unit="degC"          /> 
    513          <field id="traj_salt"     long_name="floats salinity"          standard_name="sea_water_practical_salinity"      unit="1e-3"          /> 
    514          <field id="traj_dens"     long_name="floats in-situ density"   standard_name="sea_water_density"                 unit="kg/m3"         /> 
    515          <field id="traj_group"    long_name="floats group"                                                               unit="1"             /> 
     539        <field id="traj_lon"      long_name="floats longitude"                                                           unit="degrees_east"  /> 
     540        <field id="traj_lat"      long_name="floats latitude"                                                            unit="degrees_north" /> 
     541        <field id="traj_dep"      long_name="floats depth"                                                               unit="m"             /> 
     542        <field id="traj_temp"     long_name="floats temperature"       standard_name="sea_water_potential_temperature"   unit="degC"          /> 
     543        <field id="traj_salt"     long_name="floats salinity"          standard_name="sea_water_practical_salinity"      unit="1e-3"          /> 
     544        <field id="traj_dens"     long_name="floats in-situ density"   standard_name="sea_water_density"                 unit="kg/m3"         /> 
     545        <field id="traj_group"    long_name="floats group"                                                               unit="1"             /> 
    516546      </field_group> 
    517547 
     
    519549 
    520550      <field_group id="icbvar" domain_ref="grid_T"  >  
    521          <field id="berg_melt"          long_name="icb melt rate of icebergs"                       unit="kg/m2/s"                    /> 
    522          <field id="berg_buoy_melt"     long_name="icb buoyancy component of iceberg melt rate"     unit="kg/m2/s"                    /> 
    523          <field id="berg_eros_melt"     long_name="icb erosion component of iceberg melt rate"      unit="kg/m2/s"                    /> 
    524          <field id="berg_conv_melt"     long_name="icb convective component of iceberg melt rate"   unit="kg/m2/s"                    /> 
    525          <field id="berg_virtual_area"  long_name="icb virtual coverage by icebergs"                unit="m2"                         /> 
    526          <field id="bits_src"           long_name="icb mass source of bergy bits"                   unit="kg/m2/s"                    /> 
    527          <field id="bits_melt"          long_name="icb melt rate of bergy bits"                     unit="kg/m2/s"                    /> 
    528          <field id="bits_mass"          long_name="icb bergy bit density field"                     unit="kg/m2"                      /> 
    529          <field id="berg_mass"          long_name="icb iceberg density field"                       unit="kg/m2"                      /> 
    530          <field id="calving"            long_name="icb calving mass input"                          unit="kg/s"                       /> 
    531          <field id="berg_floating_melt" long_name="icb melt rate of icebergs + bits"                unit="kg/m2/s"                    /> 
    532          <field id="berg_real_calving"  long_name="icb calving into iceberg class"                  unit="kg/s"     axis_ref="icbcla" /> 
    533          <field id="berg_stored_ice"    long_name="icb accumulated ice mass by class"               unit="kg"       axis_ref="icbcla" /> 
     551        <field id="berg_melt"          long_name="icb melt rate of icebergs"                       unit="kg/m2/s"                    /> 
     552        <field id="berg_melt_hcflx"    long_name="icb heat flux to ocean due to melting heat content"   unit="J/m2/s"                /> 
     553        <field id="berg_melt_qlat"     long_name="icb heat flux to ocean due to melting latent heat"    unit="J/m2/s"                /> 
     554        <field id="berg_buoy_melt"     long_name="icb buoyancy component of iceberg melt rate"     unit="kg/m2/s"                    /> 
     555        <field id="berg_eros_melt"     long_name="icb erosion component of iceberg melt rate"      unit="kg/m2/s"                    /> 
     556        <field id="berg_conv_melt"     long_name="icb convective component of iceberg melt rate"   unit="kg/m2/s"                    /> 
     557        <field id="berg_virtual_area"  long_name="icb virtual coverage by icebergs"                unit="m2"                         /> 
     558        <field id="bits_src"           long_name="icb mass source of bergy bits"                   unit="kg/m2/s"                    /> 
     559        <field id="bits_melt"          long_name="icb melt rate of bergy bits"                     unit="kg/m2/s"                    /> 
     560        <field id="bits_mass"          long_name="icb bergy bit density field"                     unit="kg/m2"                      /> 
     561        <field id="berg_mass"          long_name="icb iceberg density field"                       unit="kg/m2"                      /> 
     562        <field id="calving"            long_name="icb calving mass input"                          unit="kg/s"                       /> 
     563        <field id="berg_floating_melt" long_name="icb melt rate of icebergs + bits"                unit="kg/m2/s"                    /> 
     564        <field id="berg_real_calving"  long_name="icb calving into iceberg class"                  unit="kg/s"     axis_ref="icbcla" /> 
     565        <field id="berg_stored_ice"    long_name="icb accumulated ice mass by class"               unit="kg"       axis_ref="icbcla" /> 
    534566      </field_group> 
    535567 
    536568      <!-- Poleward transport : ptr -->      
    537569      <field_group id="diaptr" >   
    538          <field id="zomsfglo"          long_name="Meridional Stream-Function: Global"           unit="Sv"       grid_ref="gznl_W_3D" /> 
    539          <field id="zomsfatl"          long_name="Meridional Stream-Function: Atlantic"         unit="Sv"       grid_ref="gznl_W_3D" /> 
    540          <field id="zomsfpac"          long_name="Meridional Stream-Function: Pacific"          unit="Sv"       grid_ref="gznl_W_3D" /> 
    541          <field id="zomsfind"          long_name="Meridional Stream-Function: Indian"           unit="Sv"       grid_ref="gznl_W_3D" /> 
    542          <field id="zomsfipc"          long_name="Meridional Stream-Function: Pacific+Indian"   unit="Sv"       grid_ref="gznl_W_3D" /> 
    543          <field id="zotemglo"          long_name="Zonal Mean Temperature : Global"              unit="degree_C"     grid_ref="gznl_T_3D" /> 
    544          <field id="zotematl"          long_name="Zonal Mean Temperature : Atlantic"            unit="degree_C"     grid_ref="gznl_T_3D" /> 
    545          <field id="zotempac"          long_name="Zonal Mean Temperature : Pacific"             unit="degree_C"     grid_ref="gznl_T_3D" /> 
    546          <field id="zotemind"          long_name="Zonal Mean Temperature : Indian"              unit="degree_C"     grid_ref="gznl_T_3D" /> 
    547          <field id="zotemipc"          long_name="Zonal Mean Temperature : Pacific+Indian"      unit="degree_C"     grid_ref="gznl_T_3D" /> 
    548          <field id="zosalglo"          long_name="Zonal Mean Salinity : Global"                 unit="0.001"     grid_ref="gznl_T_3D" /> 
    549          <field id="zosalatl"          long_name="Zonal Mean Salinity : Atlantic"               unit="0.001"     grid_ref="gznl_T_3D" /> 
    550          <field id="zosalpac"          long_name="Zonal Mean Salinity : Pacific"                unit="0.001"     grid_ref="gznl_T_3D" /> 
    551          <field id="zosalind"          long_name="Zonal Mean Salinity : Indian"                 unit="0.001"     grid_ref="gznl_T_3D" /> 
    552          <field id="zosalipc"          long_name="Zonal Mean Salinity : Pacific+Indian"         unit="0.001"     grid_ref="gznl_T_3D" /> 
    553          <field id="zosrfglo"          long_name="Zonal Mean Surface"                           unit="m2"       grid_ref="gznl_T_3D" /> 
    554          <field id="zosrfatl"          long_name="Zonal Mean Surface : Atlantic"                unit="m2"       grid_ref="gznl_T_3D" /> 
    555          <field id="zosrfpac"          long_name="Zonal Mean Surface : Pacific"                 unit="m2"       grid_ref="gznl_T_3D" /> 
    556          <field id="zosrfind"          long_name="Zonal Mean Surface : Indian"                  unit="m2"       grid_ref="gznl_T_3D" /> 
    557          <field id="zosrfipc"          long_name="Zonal Mean Surface : Pacific+Indian"          unit="m2"       grid_ref="gznl_T_3D" /> 
    558          <field id="sophtadv"          long_name="Advective Heat Transport"                     unit="PW"       grid_ref="gznl_T_2D" /> 
    559          <field id="sophtadv_atl"      long_name="Advective Heat Transport: Atlantic"           unit="PW"       grid_ref="gznl_T_2D" /> 
    560          <field id="sophtadv_pac"      long_name="Advective Heat Transport: Pacific"            unit="PW"       grid_ref="gznl_T_2D" /> 
    561          <field id="sophtadv_ind"      long_name="Advective Heat Transport: Indian"             unit="PW"       grid_ref="gznl_T_2D" /> 
    562          <field id="sophtadv_ipc"      long_name="Advective Heat Transport: Pacific+Indian"     unit="PW"       grid_ref="gznl_T_2D" /> 
    563          <field id="sophtldf"          long_name="Diffusive Heat Transport"                     unit="PW"       grid_ref="gznl_T_2D" /> 
    564          <field id="sophtldf_atl"      long_name="Diffusive Heat Transport: Atlantic"           unit="PW"       grid_ref="gznl_T_2D" /> 
    565          <field id="sophtldf_pac"      long_name="Diffusive Heat Transport: Pacific"            unit="PW"       grid_ref="gznl_T_2D" /> 
    566          <field id="sophtldf_ind"      long_name="Diffusive Heat Transport: Indian"             unit="PW"       grid_ref="gznl_T_2D" /> 
    567          <field id="sophtldf_ipc"      long_name="Diffusive Heat Transport: Pacific+Indian"     unit="PW"       grid_ref="gznl_T_2D" /> 
    568          <field id="sophtove"          long_name="Overturning Heat Transport"                     unit="PW"       grid_ref="gznl_T_2D" /> 
    569          <field id="sophtove_atl"      long_name="Overturning Heat Transport: Atlantic"           unit="PW"       grid_ref="gznl_T_2D" /> 
    570          <field id="sophtove_pac"      long_name="Overturning Heat Transport: Pacific"            unit="PW"       grid_ref="gznl_T_2D" /> 
    571          <field id="sophtove_ind"      long_name="Overturning Heat Transport: Indian"             unit="PW"       grid_ref="gznl_T_2D" /> 
    572          <field id="sophtove_ipc"      long_name="Overturning Heat Transport: Pacific+Indian"     unit="PW"       grid_ref="gznl_T_2D" /> 
    573          <field id="sophtbtr"          long_name="Barotropic Heat Transport"                     unit="PW"       grid_ref="gznl_T_2D" /> 
    574          <field id="sophtbtr_atl"      long_name="Barotropic Heat Transport: Atlantic"           unit="PW"       grid_ref="gznl_T_2D" /> 
    575          <field id="sophtbtr_pac"      long_name="Barotropic Heat Transport: Pacific"            unit="PW"       grid_ref="gznl_T_2D" /> 
    576          <field id="sophtbtr_ind"      long_name="Barotropic Heat Transport: Indian"             unit="PW"       grid_ref="gznl_T_2D" /> 
    577          <field id="sophtbtr_ipc"      long_name="Barotropic Heat Transport: Pacific+Indian"     unit="PW"       grid_ref="gznl_T_2D" /> 
    578          <field id="sophteiv"          long_name="Heat Transport from mesoscale eddy advection"                     unit="PW"       grid_ref="gznl_T_2D" /> 
    579          <field id="sophteiv_atl"      long_name="Heat Transport from mesoscale eddy advection: Atlantic"           unit="PW"       grid_ref="gznl_T_2D" /> 
    580          <field id="sophteiv_pac"      long_name="Heat Transport from mesoscale eddy advection: Pacific"            unit="PW"       grid_ref="gznl_T_2D" /> 
    581          <field id="sophteiv_ind"      long_name="Heat Transport from mesoscale eddy advection: Indian"             unit="PW"       grid_ref="gznl_T_2D" /> 
    582          <field id="sophteiv_ipc"      long_name="Heat Transport from mesoscale eddy advection: Pacific+Indian"     unit="PW"       grid_ref="gznl_T_2D" /> 
    583          <field id="sopstadv"          long_name="Advective Salt Transport"                     unit="Giga g/s" grid_ref="gznl_T_2D" /> 
    584          <field id="sopstadv_atl"      long_name="Advective Salt Transport: Atlantic"           unit="Giga g/s" grid_ref="gznl_T_2D" /> 
    585          <field id="sopstadv_pac"      long_name="Advective Salt Transport: Pacific"            unit="Giga g/s" grid_ref="gznl_T_2D" /> 
    586          <field id="sopstadv_ind"      long_name="Advective Salt Transport: Indian"             unit="Giga g/s" grid_ref="gznl_T_2D" /> 
    587          <field id="sopstadv_ipc"      long_name="Advective Salt Transport: Pacific+Indian"     unit="Giga g/s" grid_ref="gznl_T_2D" /> 
    588          <field id="sopstove"          long_name="Overturning Salt Transport"                     unit="Giga g/s" grid_ref="gznl_T_2D" /> 
    589          <field id="sopstove_atl"      long_name="Overturning Salt Transport: Atlantic"           unit="Giga g/s" grid_ref="gznl_T_2D" /> 
    590          <field id="sopstove_pac"      long_name="Overturning Salt Transport: Pacific"            unit="Giga g/s" grid_ref="gznl_T_2D" /> 
    591          <field id="sopstove_ind"      long_name="Overturning Salt Transport: Indian"             unit="Giga g/s" grid_ref="gznl_T_2D" /> 
    592          <field id="sopstove_ipc"      long_name="Overturning Salt Transport: Pacific+Indian"     unit="Giga g/s" grid_ref="gznl_T_2D" /> 
    593          <field id="sopstbtr"          long_name="Barotropic Salt Transport"                     unit="Giga g/s" grid_ref="gznl_T_2D" /> 
    594          <field id="sopstbtr_atl"      long_name="Barotropic Salt Transport: Atlantic"           unit="Giga g/s" grid_ref="gznl_T_2D" /> 
    595          <field id="sopstbtr_pac"      long_name="Barotropic Salt Transport: Pacific"            unit="Giga g/s" grid_ref="gznl_T_2D" /> 
    596          <field id="sopstbtr_ind"      long_name="Barotropic Salt Transport: Indian"             unit="Giga g/s" grid_ref="gznl_T_2D" /> 
    597          <field id="sopstbtr_ipc"      long_name="Barotropic Salt Transport: Pacific+Indian"     unit="Giga g/s" grid_ref="gznl_T_2D" /> 
    598          <field id="sopstldf"          long_name="Diffusive Salt Transport"                     unit="Giga g/s" grid_ref="gznl_T_2D" /> 
    599          <field id="sopstldf_atl"      long_name="Diffusive Salt Transport: Atlantic"           unit="Giga g/s" grid_ref="gznl_T_2D" /> 
    600          <field id="sopstldf_pac"      long_name="Diffusive Salt Transport: Pacific"            unit="Giga g/s" grid_ref="gznl_T_2D" /> 
    601          <field id="sopstldf_ind"      long_name="Diffusive Salt Transport: Indian"             unit="Giga g/s" grid_ref="gznl_T_2D" /> 
    602          <field id="sopstldf_ipc"      long_name="Diffusive Salt Transport: Pacific+Indian"     unit="Giga g/s" grid_ref="gznl_T_2D" /> 
    603          <field id="sopsteiv"          long_name="Salt Transport from mesoscale eddy advection"                     unit="Giga g/s"       grid_ref="gznl_T_2D" /> 
    604           <field id="sopsteiv_atl"      long_name="Salt Transport from mesoscale eddy advection: Atlantic"           unit="Giga g/s"       grid_ref="gznl_T_2D" /> 
    605          <field id="sopsteiv_pac"      long_name="Salt Transport from mesoscale eddy advection: Pacific"            unit="Giga g/s"       grid_ref="gznl_T_2D" /> 
    606          <field id="sopsteiv_ind"      long_name="Salt Transport from mesoscale eddy advection: Indian"             unit="Giga g/s"       grid_ref="gznl_T_2D" /> 
    607          <field id="sopsteiv_ipc"      long_name="Salt Transport from mesoscale eddy advection: Pacific+Indian"     unit="Giga g/s"       grid_ref="gznl_T_2D" />        
     570        <field id="zomsfglo"          long_name="Meridional Stream-Function: Global"           unit="Sv"        grid_ref="gznl_W_3D" /> 
     571        <field id="zomsfatl"          long_name="Meridional Stream-Function: Atlantic"         unit="Sv"        grid_ref="gznl_W_3D" /> 
     572        <field id="zomsfpac"          long_name="Meridional Stream-Function: Pacific"          unit="Sv"        grid_ref="gznl_W_3D" /> 
     573        <field id="zomsfind"          long_name="Meridional Stream-Function: Indian"           unit="Sv"        grid_ref="gznl_W_3D" /> 
     574        <field id="zomsfipc"          long_name="Meridional Stream-Function: Pacific+Indian"   unit="Sv"        grid_ref="gznl_W_3D" /> 
     575        <field id="zotemglo"          long_name="Zonal Mean Temperature : Global"              unit="degree_C"  grid_ref="gznl_T_3D" /> 
     576        <field id="zotematl"          long_name="Zonal Mean Temperature : Atlantic"            unit="degree_C"  grid_ref="gznl_T_3D" /> 
     577        <field id="zotempac"          long_name="Zonal Mean Temperature : Pacific"             unit="degree_C"  grid_ref="gznl_T_3D" /> 
     578        <field id="zotemind"          long_name="Zonal Mean Temperature : Indian"              unit="degree_C"  grid_ref="gznl_T_3D" /> 
     579        <field id="zotemipc"          long_name="Zonal Mean Temperature : Pacific+Indian"      unit="degree_C"  grid_ref="gznl_T_3D" /> 
     580        <field id="zosalglo"          long_name="Zonal Mean Salinity : Global"                 unit="0.001"     grid_ref="gznl_T_3D" /> 
     581        <field id="zosalatl"          long_name="Zonal Mean Salinity : Atlantic"               unit="0.001"     grid_ref="gznl_T_3D" /> 
     582        <field id="zosalpac"          long_name="Zonal Mean Salinity : Pacific"                unit="0.001"     grid_ref="gznl_T_3D" /> 
     583        <field id="zosalind"          long_name="Zonal Mean Salinity : Indian"                 unit="0.001"     grid_ref="gznl_T_3D" /> 
     584        <field id="zosalipc"          long_name="Zonal Mean Salinity : Pacific+Indian"         unit="0.001"     grid_ref="gznl_T_3D" /> 
     585        <field id="zosrfglo"          long_name="Zonal Mean Surface"                           unit="m2"        grid_ref="gznl_T_3D" /> 
     586        <field id="zosrfatl"          long_name="Zonal Mean Surface : Atlantic"                unit="m2"        grid_ref="gznl_T_3D" /> 
     587        <field id="zosrfpac"          long_name="Zonal Mean Surface : Pacific"                 unit="m2"        grid_ref="gznl_T_3D" /> 
     588        <field id="zosrfind"          long_name="Zonal Mean Surface : Indian"                  unit="m2"        grid_ref="gznl_T_3D" /> 
     589        <field id="zosrfipc"          long_name="Zonal Mean Surface : Pacific+Indian"          unit="m2"        grid_ref="gznl_T_3D" /> 
     590        <field id="sophtadv"          long_name="Advective Heat Transport"                     unit="PW"        grid_ref="gznl_T_2D" /> 
     591        <field id="sophtadv_atl"      long_name="Advective Heat Transport: Atlantic"           unit="PW"        grid_ref="gznl_T_2D" /> 
     592        <field id="sophtadv_pac"      long_name="Advective Heat Transport: Pacific"            unit="PW"        grid_ref="gznl_T_2D" /> 
     593        <field id="sophtadv_ind"      long_name="Advective Heat Transport: Indian"             unit="PW"        grid_ref="gznl_T_2D" /> 
     594        <field id="sophtadv_ipc"      long_name="Advective Heat Transport: Pacific+Indian"     unit="PW"        grid_ref="gznl_T_2D" /> 
     595        <field id="sophtldf"          long_name="Diffusive Heat Transport"                     unit="PW"        grid_ref="gznl_T_2D" /> 
     596        <field id="sophtldf_atl"      long_name="Diffusive Heat Transport: Atlantic"           unit="PW"        grid_ref="gznl_T_2D" /> 
     597        <field id="sophtldf_pac"      long_name="Diffusive Heat Transport: Pacific"            unit="PW"        grid_ref="gznl_T_2D" /> 
     598        <field id="sophtldf_ind"      long_name="Diffusive Heat Transport: Indian"             unit="PW"        grid_ref="gznl_T_2D" /> 
     599        <field id="sophtldf_ipc"      long_name="Diffusive Heat Transport: Pacific+Indian"     unit="PW"        grid_ref="gznl_T_2D" /> 
     600        <field id="sophtove"          long_name="Overturning Heat Transport"                   unit="PW"        grid_ref="gznl_T_2D" /> 
     601        <field id="sophtove_atl"      long_name="Overturning Heat Transport: Atlantic"         unit="PW"        grid_ref="gznl_T_2D" /> 
     602        <field id="sophtove_pac"      long_name="Overturning Heat Transport: Pacific"          unit="PW"        grid_ref="gznl_T_2D" /> 
     603        <field id="sophtove_ind"      long_name="Overturning Heat Transport: Indian"           unit="PW"        grid_ref="gznl_T_2D" /> 
     604        <field id="sophtove_ipc"      long_name="Overturning Heat Transport: Pacific+Indian"   unit="PW"        grid_ref="gznl_T_2D" /> 
     605        <field id="sophtbtr"          long_name="Barotropic Heat Transport"                    unit="PW"        grid_ref="gznl_T_2D" /> 
     606        <field id="sophtbtr_atl"      long_name="Barotropic Heat Transport: Atlantic"          unit="PW"        grid_ref="gznl_T_2D" /> 
     607        <field id="sophtbtr_pac"      long_name="Barotropic Heat Transport: Pacific"           unit="PW"        grid_ref="gznl_T_2D" /> 
     608        <field id="sophtbtr_ind"      long_name="Barotropic Heat Transport: Indian"            unit="PW"        grid_ref="gznl_T_2D" /> 
     609        <field id="sophtbtr_ipc"      long_name="Barotropic Heat Transport: Pacific+Indian"    unit="PW"        grid_ref="gznl_T_2D" /> 
     610        <field id="sophteiv"          long_name="Heat Transport from mesoscale eddy advection"                     unit="PW"       grid_ref="gznl_T_2D" /> 
     611        <field id="sophteiv_atl"      long_name="Heat Transport from mesoscale eddy advection: Atlantic"           unit="PW"       grid_ref="gznl_T_2D" /> 
     612        <field id="sophteiv_pac"      long_name="Heat Transport from mesoscale eddy advection: Pacific"            unit="PW"       grid_ref="gznl_T_2D" /> 
     613        <field id="sophteiv_ind"      long_name="Heat Transport from mesoscale eddy advection: Indian"             unit="PW"       grid_ref="gznl_T_2D" /> 
     614        <field id="sophteiv_ipc"      long_name="Heat Transport from mesoscale eddy advection: Pacific+Indian"     unit="PW"       grid_ref="gznl_T_2D" /> 
     615        <field id="sopstadv"          long_name="Advective Salt Transport"                     unit="Giga g/s" grid_ref="gznl_T_2D" /> 
     616        <field id="sopstadv_atl"      long_name="Advective Salt Transport: Atlantic"           unit="Giga g/s" grid_ref="gznl_T_2D" /> 
     617        <field id="sopstadv_pac"      long_name="Advective Salt Transport: Pacific"            unit="Giga g/s" grid_ref="gznl_T_2D" /> 
     618        <field id="sopstadv_ind"      long_name="Advective Salt Transport: Indian"             unit="Giga g/s" grid_ref="gznl_T_2D" /> 
     619        <field id="sopstadv_ipc"      long_name="Advective Salt Transport: Pacific+Indian"     unit="Giga g/s" grid_ref="gznl_T_2D" /> 
     620        <field id="sopstove"          long_name="Overturning Salt Transport"                   unit="Giga g/s" grid_ref="gznl_T_2D" /> 
     621        <field id="sopstove_atl"      long_name="Overturning Salt Transport: Atlantic"         unit="Giga g/s" grid_ref="gznl_T_2D" /> 
     622        <field id="sopstove_pac"      long_name="Overturning Salt Transport: Pacific"          unit="Giga g/s" grid_ref="gznl_T_2D" /> 
     623        <field id="sopstove_ind"      long_name="Overturning Salt Transport: Indian"           unit="Giga g/s" grid_ref="gznl_T_2D" /> 
     624        <field id="sopstove_ipc"      long_name="Overturning Salt Transport: Pacific+Indian"   unit="Giga g/s" grid_ref="gznl_T_2D" /> 
     625        <field id="sopstbtr"          long_name="Barotropic Salt Transport"                    unit="Giga g/s" grid_ref="gznl_T_2D" /> 
     626        <field id="sopstbtr_atl"      long_name="Barotropic Salt Transport: Atlantic"          unit="Giga g/s" grid_ref="gznl_T_2D" /> 
     627        <field id="sopstbtr_pac"      long_name="Barotropic Salt Transport: Pacific"           unit="Giga g/s" grid_ref="gznl_T_2D" /> 
     628        <field id="sopstbtr_ind"      long_name="Barotropic Salt Transport: Indian"            unit="Giga g/s" grid_ref="gznl_T_2D" /> 
     629        <field id="sopstbtr_ipc"      long_name="Barotropic Salt Transport: Pacific+Indian"    unit="Giga g/s" grid_ref="gznl_T_2D" /> 
     630        <field id="sopstldf"          long_name="Diffusive Salt Transport"                     unit="Giga g/s" grid_ref="gznl_T_2D" /> 
     631        <field id="sopstldf_atl"      long_name="Diffusive Salt Transport: Atlantic"           unit="Giga g/s" grid_ref="gznl_T_2D" /> 
     632        <field id="sopstldf_pac"      long_name="Diffusive Salt Transport: Pacific"            unit="Giga g/s" grid_ref="gznl_T_2D" /> 
     633        <field id="sopstldf_ind"      long_name="Diffusive Salt Transport: Indian"             unit="Giga g/s" grid_ref="gznl_T_2D" /> 
     634        <field id="sopstldf_ipc"      long_name="Diffusive Salt Transport: Pacific+Indian"     unit="Giga g/s" grid_ref="gznl_T_2D" /> 
     635        <field id="sopsteiv"          long_name="Salt Transport from mesoscale eddy advection"                     unit="Giga g/s"       grid_ref="gznl_T_2D" /> 
     636        <field id="sopsteiv_atl"      long_name="Salt Transport from mesoscale eddy advection: Atlantic"           unit="Giga g/s"       grid_ref="gznl_T_2D" /> 
     637        <field id="sopsteiv_pac"      long_name="Salt Transport from mesoscale eddy advection: Pacific"            unit="Giga g/s"       grid_ref="gznl_T_2D" /> 
     638        <field id="sopsteiv_ind"      long_name="Salt Transport from mesoscale eddy advection: Indian"             unit="Giga g/s"       grid_ref="gznl_T_2D" /> 
     639        <field id="sopsteiv_ipc"      long_name="Salt Transport from mesoscale eddy advection: Pacific+Indian"     unit="Giga g/s"       grid_ref="gznl_T_2D" />        
    608640      </field_group> 
    609641 
     
    617649   <!-- Asselin trends  calculated on odd time steps--> 
    618650   <field_group id="trendT_odd"  grid_ref="grid_T_3D"> 
    619       <field id="ttrd_atf"      long_name="temperature-trend: asselin time filter"       unit="degree_C/s" /> 
    620       <field id="strd_atf"      long_name="salinity   -trend: asselin time filter"       unit="0.001/s" /> 
    621       <!-- Thickness weighted versions: --> 
    622       <field id="ttrd_atf_e3t"      unit="degC/s * m"  >  ttrd_atf * e3t </field> 
    623       <field id="strd_atf_e3t"      unit="1e-3/s * m"  >  strd_atf * e3t </field> 
    624       <!-- OMIP  layer-integrated trends --> 
    625       <field id="ttrd_atf_li"      long_name="layer integrated heat-trend: asselin time filter "       unit="W/m^2" > ttrd_atf_e3t * 1026.0 * 3991.86795711963  </field> 
    626       <field id="strd_atf_li"      long_name="layer integrated salt   -trend: asselin time filter "       unit="kg/(m^2 s)" > strd_atf_e3t * 1026.0 * 0.001 </field> 
    627     </field_group> 
    628  
    629     <!-- Other trends  calculated on even time steps--> 
    630     <field_group id="trendT_even" grid_ref="grid_T_3D"> 
    631        <field id="ttrd_xad"      long_name="temperature-trend: i-advection"                                                                                          unit="degC/s"                        /> 
    632        <field id="strd_xad"      long_name="salinity   -trend: i-advection"                                                                                          unit="1e-3/s"                        /> 
    633        <field id="ttrd_yad"      long_name="temperature-trend: j-advection"                                                                                          unit="degC/s"                        /> 
    634        <field id="strd_yad"      long_name="salinity   -trend: j-advection"                                                                                          unit="1e-3/s"                        /> 
    635        <field id="ttrd_zad"      long_name="temperature-trend: k-advection"                                                                                          unit="degC/s"                        /> 
    636        <field id="strd_zad"      long_name="salinity   -trend: k-advection"                                                                                          unit="1e-3/s"                        /> 
    637        <field id="ttrd_ad"       long_name="temperature-trend: advection"               standard_name="tendency_of_sea_water_temperature_due_to_advection"           unit="degC/s"                         > sqrt( ttrd_xad^2 + ttrd_yad^2 + ttrd_zad^2 ) </field> 
    638        <field id="strd_ad"       long_name="salinity   -trend: advection"               standard_name="tendency_of_sea_water_salinity_due_to_advection"              unit="1e-3/s"                         > sqrt( strd_xad^2 + strd_yad^2 + strd_zad^2 ) </field> 
    639        <field id="ttrd_totad"    long_name="temperature-trend: total advection"         standard_name="tendency_of_sea_water_salinity_due_to_advection"              unit="degC/s"                        /> 
    640        <field id="strd_totad"    long_name="salinity   -trend: total advection"         standard_name="tendency_of_sea_water_salinity_due_to_advection"              unit="1e-3/s"                        /> 
    641        <field id="ttrd_sad"      long_name="temperature-trend: surface adv. (linssh true)"                                                                                unit="degC/s"   grid_ref="grid_T_2D" /> 
    642        <field id="strd_sad"      long_name="salinity   -trend: surface adv. (linssh true)"                                                                                unit="1e-3/s"   grid_ref="grid_T_2D" /> 
    643        <field id="ttrd_ldf"      long_name="temperature-trend: lateral  diffusion"      standard_name="tendency_of_sea_water_temperature_due_to_horizontal_mixing"   unit="degC/s"                        /> 
    644        <field id="strd_ldf"      long_name="salinity   -trend: lateral  diffusion"      standard_name="tendency_of_sea_water_salinity_due_to_horizontal_mixing"      unit="1e-3/s"                        /> 
    645        <field id="ttrd_zdf"      long_name="temperature-trend: vertical diffusion"      standard_name="tendency_of_sea_water_temperature_due_to_vertical_mixing"     unit="degC/s"                        /> 
    646        <field id="strd_zdf"      long_name="salinity   -trend: vertical diffusion"      standard_name="tendency_of_sea_water_salinity_due_to_vertical_mixing"        unit="1e-3/s"                        /> 
    647        <field id="ttrd_evd"      long_name="temperature-trend: EVD convection"                                                                                       unit="degC/s"                        /> 
    648        <field id="strd_evd"      long_name="salinity   -trend: EVD convection"                                                                                       unit="1e-3/s"                        /> 
    649  
    650        <!-- ln_traldf_iso=T only (iso-neutral diffusion) --> 
    651        <field id="ttrd_iso"      long_name="temperature-trend: isopycnal diffusion"                             unit="degC/s" > ttrd_ldf + ttrd_zdf - ttrd_zdfp </field> 
    652        <field id="strd_iso"      long_name="salinity   -trend: isopycnal diffusion"                             unit="1e-3/s" > strd_ldf + strd_zdf - strd_zdfp </field> 
    653        <field id="ttrd_zdfp"     long_name="temperature-trend: pure vert. diffusion"   unit="degC/s" /> 
    654        <field id="strd_zdfp"     long_name="salinity   -trend: pure vert. diffusion"   unit="1e-3/s" /> 
    655  
    656        <!-- --> 
    657        <field id="ttrd_dmp"      long_name="temperature-trend: interior restoring"        unit="degC/s" /> 
    658        <field id="strd_dmp"      long_name="salinity   -trend: interior restoring"        unit="1e-3/s" /> 
    659        <field id="ttrd_bbl"      long_name="temperature-trend: bottom boundary layer"     unit="degC/s" /> 
    660        <field id="strd_bbl"      long_name="salinity   -trend: bottom boundary layer"     unit="1e-3/s" /> 
    661        <field id="ttrd_npc"      long_name="temperature-trend: non-penetrative conv."     unit="degC/s" /> 
    662        <field id="strd_npc"      long_name="salinity   -trend: non-penetrative conv."     unit="1e-3/s" /> 
    663        <field id="ttrd_qns"      long_name="temperature-trend: non-solar flux + runoff"   unit="degC/s" grid_ref="grid_T_2D" /> 
    664        <field id="strd_cdt"      long_name="salinity   -trend: C/D term       + runoff"   unit="degC/s" grid_ref="grid_T_2D" /> 
    665        <field id="ttrd_qsr"      long_name="temperature-trend: solar penetr. heating"     unit="degC/s" /> 
    666        <field id="ttrd_bbc"      long_name="temperature-trend: geothermal heating"        unit="degC/s" /> 
    667  
    668        <!-- Thickness weighted versions: --> 
    669        <field id="ttrd_xad_e3t"      unit="degC/s * m" >  ttrd_xad * e3t </field> 
    670        <field id="strd_xad_e3t"      unit="1e-3/s * m" >  strd_xad * e3t </field> 
    671        <field id="ttrd_yad_e3t"      unit="degC/s * m" >  ttrd_yad * e3t </field> 
    672        <field id="strd_yad_e3t"      unit="1e-3/s * m" >  strd_yad * e3t </field> 
    673        <field id="ttrd_zad_e3t"      unit="degC/s * m" >  ttrd_zad * e3t </field> 
    674        <field id="strd_zad_e3t"      unit="1e-3/s * m" >  strd_zad * e3t </field> 
    675        <field id="ttrd_ad_e3t"       unit="degC/s * m" >  ttrd_ad  * e3t </field> 
    676        <field id="strd_ad_e3t"       unit="1e-3/s * m" >  strd_ad  * e3t </field> 
    677        <field id="ttrd_totad_e3t"    unit="degC/s * m" >  ttrd_totad  * e3t </field> 
    678        <field id="strd_totad_e3t"    unit="1e-3/s * m" >  strd_totad  * e3t </field> 
    679        <field id="ttrd_ldf_e3t"      unit="degC/s * m" >  ttrd_ldf * e3t </field> 
    680        <field id="strd_ldf_e3t"      unit="1e-3/s * m" >  strd_ldf * e3t </field> 
    681        <field id="ttrd_zdf_e3t"      unit="degC/s * m" >  ttrd_zdf * e3t </field> 
    682        <field id="strd_zdf_e3t"      unit="1e-3/s * m" >  strd_zdf * e3t </field> 
    683        <field id="ttrd_evd_e3t"      unit="degC/s * m" >  ttrd_evd * e3t </field> 
    684        <field id="strd_evd_e3t"      unit="1e-3/s * m" >  strd_evd * e3t </field> 
    685  
    686        <!-- ln_traldf_iso=T only (iso-neutral diffusion) --> 
    687        <field id="ttrd_iso_e3t"      unit="degC/s * m"  >  ttrd_iso * e3t </field> 
    688        <field id="strd_iso_e3t"      unit="1e-3/s * m"  >  strd_iso * e3t </field> 
    689        <field id="ttrd_zdfp_e3t"     unit="degC/s * m"  >  ttrd_zdfp * e3t </field> 
    690        <field id="strd_zdfp_e3t"     unit="1e-3/s * m"  >  strd_zdfp * e3t </field> 
    691  
    692        <!-- --> 
    693        <field id="ttrd_dmp_e3t"      unit="degC/s * m"  >  ttrd_dmp * e3t </field> 
    694        <field id="strd_dmp_e3t"      unit="1e-3/s * m"  >  strd_dmp * e3t </field> 
    695        <field id="ttrd_bbl_e3t"      unit="degC/s * m"  >  ttrd_bbl * e3t </field> 
    696        <field id="strd_bbl_e3t"      unit="1e-3/s * m"  >  strd_bbl * e3t </field> 
    697        <field id="ttrd_npc_e3t"      unit="degC/s * m"  >  ttrd_npc * e3t </field> 
    698        <field id="strd_npc_e3t"      unit="1e-3/s * m"  >  strd_npc * e3t </field> 
    699        <field id="ttrd_qns_e3t"      unit="degC/s * m"  >  ttrd_qns * e3t_surf </field> 
    700        <field id="strd_cdt_e3t"      unit="degC/s * m"  >  strd_cdt * e3t_surf </field> 
    701        <field id="ttrd_qsr_e3t"      unit="degC/s * m"  >  ttrd_qsr * e3t </field> 
    702        <field id="ttrd_bbc_e3t"      unit="degC/s * m"  >  ttrd_bbc * e3t </field> 
    703  
    704        <!-- OMIP  layer-integrated trends --> 
    705        <field id="ttrd_totad_li"    long_name="layer integrated heat-trend : total advection"       unit="W/m^2"     > ttrd_totad_e3t * 1026.0 * 3991.86795711963 </field> 
    706        <field id="strd_totad_li"    long_name="layer integrated salt   -trend : total advection"      unit="kg/(m^2 s)"    > strd_totad_e3t * 1026.0 * 0.001  </field> 
    707        <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> 
    708        <field id="strd_evd_li"      long_name="layer integrated salt   -trend : EVD convection"      unit="kg/(m^2 s)"  > strd_evd_e3t * 1026.0 * 0.001  </field> 
    709        <field id="ttrd_iso_li"      long_name="layer integrated heat-trend : isopycnal diffusion"    unit="W/m^2" > ttrd_iso_e3t * 1026.0 * 3991.86795711963 </field> 
    710        <field id="strd_iso_li"      long_name="layer integrated salt   -trend : isopycnal diffusion"   unit="kg/(m^2 s)" > strd_iso_e3t * 1026.0 * 0.001  </field> 
    711        <field id="ttrd_zdfp_li"     long_name="layer integrated heat-trend : pure vert. diffusion"   unit="W/m^2" > ttrd_zdfp_e3t * 1026.0 * 3991.86795711963 </field> 
    712        <field id="strd_zdfp_li"     long_name="layer integrated salt   -trend : pure vert. diffusion"   unit="kg/(m^2 s)" > strd_zdfp_e3t * 1026.0 * 0.001  </field> 
    713        <field id="ttrd_qns_li"      long_name="layer integrated heat-trend : non-solar flux + runoff"  unit="W/m^2" grid_ref="grid_T_2D"> ttrd_qns_e3t * 1026.0 * 3991.86795711963 </field> 
    714        <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> 
    715        <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> 
    716        <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> 
    717        <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> 
    718        <field id="strd_evd_li"      long_name="layer integrated salt -trend: evd convection "       unit="kg/(m^2 s)" > strd_evd_e3t * 1026.0 * 0.001  </field> 
    719  
    720     </field_group> 
    721  
    722     <!--  Total trends calculated every time step--> 
    723     <field_group id="trendT" grid_ref="grid_T_3D"> 
    724        <field id="ttrd_tot"      long_name="temperature-trend: total model trend"         unit="degC/s" /> 
    725        <field id="strd_tot"      long_name="salinity   -trend: total model trend"         unit="1e-3/s" /> 
    726        <!-- Thickness weighted versions: --> 
    727        <field id="ttrd_tot_e3t"      unit="degC/s * m"  >  ttrd_tot * e3t </field> 
    728        <field id="strd_tot_e3t"      unit="1e-3/s * m"  >  strd_tot * e3t </field> 
    729        <!-- OMIP  layer-integrated total trends --> 
    730        <field id="ttrd_tot_li"      long_name="layer integrated heat-trend: total model trend :"         unit="W/m^2" > ttrd_tot_e3t * 1026.0 * 3991.86795711963 </field> 
    731        <field id="strd_tot_li"      long_name="layer integrated salt   -trend: total model trend :"         unit="kg/(m^2 s)" > strd_tot_e3t * 1026.0 * 0.001  </field> 
    732  
    733        <!-- **** these trends have not been apportioned to all/even/odd ts yet **** --> 
    734        <!-- variables available with ln_KE_trd --> 
    735        <field id="ketrd_hpg"     long_name="ke-trend: hydrostatic pressure gradient"          unit="W/s^3"                        /> 
    736        <field id="ketrd_spg"     long_name="ke-trend: surface     pressure gradient"          unit="W/s^3"                        /> 
    737        <field id="ketrd_spgexp"  long_name="ke-trend: surface pressure gradient (explicit)"   unit="W/s^3"                        /> 
    738        <field id="ketrd_spgflt"  long_name="ke-trend: surface pressure gradient (filter)"     unit="W/s^3"                        /> 
    739        <field id="ssh_flt"       long_name="filtered contribution to ssh (dynspg_flt)"        unit="m"       grid_ref="grid_T_2D" /> 
    740        <field id="w0"            long_name="surface vertical velocity"                        unit="m/s"     grid_ref="grid_T_2D" /> 
    741        <field id="pw0_exp"       long_name="surface pressure flux due to ssh"                 unit="W/s^2"   grid_ref="grid_T_2D" /> 
    742        <field id="pw0_flt"       long_name="surface pressure flux due to filtered ssh"        unit="W/s^2"   grid_ref="grid_T_2D" /> 
    743        <field id="ketrd_keg"     long_name="ke-trend: KE gradient         or hor. adv."       unit="W/s^3"                        /> 
    744        <field id="ketrd_rvo"     long_name="ke-trend: relative  vorticity or metric term"     unit="W/s^3"                        /> 
    745        <field id="ketrd_pvo"     long_name="ke-trend: planetary vorticity"                    unit="W/s^3"                        /> 
    746        <field id="ketrd_zad"     long_name="ke-trend: vertical  advection"                    unit="W/s^3"                        /> 
    747        <field id="ketrd_udx"     long_name="ke-trend: U.dx[U]"                                unit="W/s^3"                        /> 
    748        <field id="ketrd_ldf"     long_name="ke-trend: lateral   diffusion"                    unit="W/s^3"                        /> 
    749        <field id="ketrd_zdf"     long_name="ke-trend: vertical  diffusion"                    unit="W/s^3"                        /> 
    750        <field id="ketrd_tau"     long_name="ke-trend: wind stress "                           unit="W/s^3"   grid_ref="grid_T_2D" /> 
    751        <field id="ketrd_bfr"     long_name="ke-trend: bottom friction (explicit)"             unit="W/s^3"                        />    
    752        <field id="ketrd_bfri"    long_name="ke-trend: bottom friction (implicit)"             unit="W/s^3"                        />    
    753        <field id="ketrd_atf"     long_name="ke-trend: asselin time filter trend"              unit="W/s^3"                        />   
    754        <field id="ketrd_convP2K" long_name="ke-trend: conversion (potential to kinetic)"      unit="W/s^3"                        /> 
    755        <field id="KE"            long_name="kinetic energy: u(n)*u(n+1)/2"                    unit="W/s^2"                        />    
    756  
    757       <!-- variables available when explicit lateral mixing is used (ln_dynldf_OFF=F) --> 
    758       <field id="dispkexyfo"    long_name="KE-trend: lateral  mixing induced dissipation"   standard_name="ocean_kinetic_energy_dissipation_per_unit_area_due_to_xy_friction"                   unit="W/m^2" grid_ref="grid_T_2D" />    
    759       <field id="dispkevfo"     long_name="KE-trend: vertical mixing induced dissipation"   standard_name="ocean_kinetic_energy_dissipation_per_unit_area_due_to_vertical_friction"             unit="W/m^2" grid_ref="grid_T_2D" />    
    760       <!-- variables available with ln_traadv_eiv=T and ln_diaeiv=T --> 
    761       <field id="eketrd_eiv"    long_name="EKE-trend due to parameterized eddy advection"   standard_name="tendency_of_ocean_eddy_kinetic_energy_content_due_to_parameterized_eddy_advection"   unit="W/m^2" grid_ref="grid_T_2D" />    
    762  
    763        <!-- variables available with ln_PE_trd --> 
    764        <field id="petrd_xad"     long_name="pe-trend: i-advection"                unit="W/m^3"                        /> 
    765        <field id="petrd_yad"     long_name="pe-trend: j-advection"                unit="W/m^3"                        /> 
    766        <field id="petrd_zad"     long_name="pe-trend: k-advection"                unit="W/m^3"                        /> 
    767        <field id="petrd_sad"     long_name="pe-trend: surface adv. (linssh true)" unit="W/m^3"   grid_ref="grid_T_2D" /> 
    768        <field id="petrd_ldf"     long_name="pe-trend: lateral  diffusion"         unit="W/m^3"                        /> 
    769        <field id="petrd_zdf"     long_name="pe-trend: vertical diffusion"         unit="W/m^3"                        /> 
    770        <field id="petrd_zdfp"    long_name="pe-trend: pure vert. diffusion"       unit="W/m^3"                        /> 
    771        <field id="petrd_dmp"     long_name="pe-trend: interior restoring"         unit="W/m^3"                        /> 
    772        <field id="petrd_bbl"     long_name="pe-trend: bottom boundary layer"      unit="W/m^3"                        /> 
    773        <field id="petrd_npc"     long_name="pe-trend: non-penetrative conv."      unit="W/m^3"                        /> 
    774        <field id="petrd_nsr"     long_name="pe-trend: surface forcing + runoff"   unit="W/m^3"                        /> 
    775        <field id="petrd_qsr"     long_name="pe-trend: solar penetr. heating"      unit="W/m^3"                        /> 
    776        <field id="petrd_bbc"     long_name="pe-trend: geothermal heating"         unit="W/m^3"                        /> 
    777        <field id="petrd_atf"     long_name="pe-trend: asselin time filter"        unit="W/m^3"                        /> 
    778        <field id="PEanom"        long_name="potential energy anomaly"             unit="1"                            />    
    779        <field id="alphaPE"       long_name="partial deriv. of PEanom wrt T"       unit="degC-1"                       />    
    780        <field id="betaPE"        long_name="partial deriv. of PEanom wrt S"       unit="1e3"                          />    
    781     </field_group> 
    782  
    783     <field_group id="trendU" grid_ref="grid_U_3D"> 
    784        <!-- variables available with ln_dyn_trd --> 
    785        <field id="utrd_hpg"       long_name="i-trend: hydrostatic pressure gradient"          unit="m/s^2"                        /> 
    786        <field id="utrd_spg"       long_name="i-trend: surface     pressure gradient"          unit="m/s^2"                        /> 
    787        <field id="utrd_spgexp"    long_name="i-trend: surface pressure gradient (explicit)"   unit="m/s^2"                        /> 
    788        <field id="utrd_spgflt"    long_name="i-trend: surface pressure gradient (filtered)"   unit="m/s^2"                        /> 
    789        <field id="utrd_keg"       long_name="i-trend: KE gradient         or hor. adv."       unit="m/s^2"                        /> 
    790        <field id="utrd_rvo"       long_name="i-trend: relative  vorticity or metric term"     unit="m/s^2"                        /> 
    791        <field id="utrd_pvo"       long_name="i-trend: planetary vorticity"                    unit="m/s^2"                        /> 
    792        <field id="utrd_zad"       long_name="i-trend: vertical  advection"                    unit="m/s^2"                        /> 
    793        <field id="utrd_udx"       long_name="i-trend: U.dx[U]"                                unit="m/s^2"                        /> 
    794        <field id="utrd_ldf"       long_name="i-trend: lateral   diffusion"                    unit="m/s^2"                        /> 
    795        <field id="utrd_zdf"       long_name="i-trend: vertical  diffusion"                    unit="m/s^2"                        /> 
    796        <field id="utrd_tau"       long_name="i-trend: wind stress "                           unit="m/s^2"   grid_ref="grid_U_2D" /> 
    797        <field id="utrd_bfr"       long_name="i-trend: bottom friction (explicit)"             unit="m/s^2"                        />    
    798        <field id="utrd_bfri"      long_name="i-trend: bottom friction (implicit)"             unit="m/s^2"                        />    
    799        <field id="utrd_tot"       long_name="i-trend: total momentum trend before atf"        unit="m/s^2"                        />    
    800        <field id="utrd_atf"       long_name="i-trend: asselin time filter trend"              unit="m/s^2"                        />    
    801     </field_group> 
    802  
    803     <field_group id="trendV" grid_ref="grid_V_3D"> 
    804        <!-- variables available with ln_dyn_trd --> 
    805        <field id="vtrd_hpg"       long_name="j-trend: hydrostatic pressure gradient"          unit="m/s^2"                        /> 
    806        <field id="vtrd_spg"       long_name="j-trend: surface     pressure gradient"          unit="m/s^2"                        /> 
    807        <field id="vtrd_spgexp"    long_name="j-trend: surface pressure gradient (explicit)"   unit="m/s^2"                        /> 
    808        <field id="vtrd_spgflt"    long_name="j-trend: surface pressure gradient (filtered)"   unit="m/s^2"                        /> 
    809        <field id="vtrd_keg"       long_name="j-trend: KE gradient         or hor. adv."       unit="m/s^2"                        /> 
    810        <field id="vtrd_rvo"       long_name="j-trend: relative  vorticity or metric term"     unit="m/s^2"                        /> 
    811        <field id="vtrd_pvo"       long_name="j-trend: planetary vorticity"                    unit="m/s^2"                        /> 
    812        <field id="vtrd_zad"       long_name="j-trend: vertical  advection"                    unit="m/s^2"                        /> 
    813        <field id="vtrd_vdy"       long_name="i-trend: V.dx[V]"                                unit="m/s^2"                        /> 
    814        <field id="vtrd_ldf"       long_name="j-trend: lateral   diffusion"                    unit="m/s^2"                        /> 
    815        <field id="vtrd_zdf"       long_name="j-trend: vertical  diffusion"                    unit="m/s^2"                        /> 
    816        <field id="vtrd_tau"       long_name="j-trend: wind stress "                           unit="m/s^2"   grid_ref="grid_V_2D" /> 
    817        <field id="vtrd_bfr"       long_name="j-trend: bottom friction (explicit)"             unit="m/s^2"                        />    
    818        <field id="vtrd_bfri"      long_name="j-trend: bottom friction (implicit)"             unit="m/s^2"                        />    
    819        <field id="vtrd_tot"       long_name="j-trend: total momentum trend before atf"        unit="m/s^2"                        />    
    820        <field id="vtrd_atf"       long_name="j-trend: asselin time filter trend"              unit="m/s^2"                        />    
    821     </field_group> 
     651     <field id="ttrd_atf"      long_name="temperature-trend: asselin time filter"       unit="degree_C/s" /> 
     652     <field id="strd_atf"      long_name="salinity   -trend: asselin time filter"       unit="0.001/s" /> 
     653     <!-- Thickness weighted versions: --> 
     654     <field id="ttrd_atf_e3t"      unit="degC/s * m"  >  ttrd_atf * e3t </field> 
     655     <field id="strd_atf_e3t"      unit="1e-3/s * m"  >  strd_atf * e3t </field> 
     656     <!-- OMIP  layer-integrated trends --> 
     657     <field id="ttrd_atf_li"      long_name="layer integrated heat-trend: asselin time filter "       unit="W/m^2" > ttrd_atf_e3t * 1026.0 * 3991.86795711963  </field> 
     658     <field id="strd_atf_li"      long_name="layer integrated salt   -trend: asselin time filter "       unit="kg/(m^2 s)" > strd_atf_e3t * 1026.0 * 0.001 </field> 
     659   </field_group> 
     660 
     661   <!-- Other trends  calculated on even time steps--> 
     662   <field_group id="trendT_even" grid_ref="grid_T_3D"> 
     663     <field id="ttrd_xad"      long_name="temperature-trend: i-advection"                                                                                          unit="degC/s"                        /> 
     664     <field id="strd_xad"      long_name="salinity   -trend: i-advection"                                                                                          unit="1e-3/s"                        /> 
     665     <field id="ttrd_yad"      long_name="temperature-trend: j-advection"                                                                                          unit="degC/s"                        /> 
     666     <field id="strd_yad"      long_name="salinity   -trend: j-advection"                                                                                          unit="1e-3/s"                        /> 
     667     <field id="ttrd_zad"      long_name="temperature-trend: k-advection"                                                                                          unit="degC/s"                        /> 
     668     <field id="strd_zad"      long_name="salinity   -trend: k-advection"                                                                                          unit="1e-3/s"                        /> 
     669     <field id="ttrd_ad"       long_name="temperature-trend: advection"               standard_name="tendency_of_sea_water_temperature_due_to_advection"           unit="degC/s"                         > sqrt( ttrd_xad^2 + ttrd_yad^2 + ttrd_zad^2 ) </field> 
     670     <field id="strd_ad"       long_name="salinity   -trend: advection"               standard_name="tendency_of_sea_water_salinity_due_to_advection"              unit="1e-3/s"                         > sqrt( strd_xad^2 + strd_yad^2 + strd_zad^2 ) </field> 
     671     <field id="ttrd_totad"    long_name="temperature-trend: total advection"         standard_name="tendency_of_sea_water_salinity_due_to_advection"              unit="degC/s"                        /> 
     672     <field id="strd_totad"    long_name="salinity   -trend: total advection"         standard_name="tendency_of_sea_water_salinity_due_to_advection"              unit="1e-3/s"                        /> 
     673     <field id="ttrd_sad"      long_name="temperature-trend: surface adv. (linssh true)"                                                                                unit="degC/s"   grid_ref="grid_T_2D" /> 
     674     <field id="strd_sad"      long_name="salinity   -trend: surface adv. (linssh true)"                                                                                unit="1e-3/s"   grid_ref="grid_T_2D" /> 
     675     <field id="ttrd_ldf"      long_name="temperature-trend: lateral  diffusion"      standard_name="tendency_of_sea_water_temperature_due_to_horizontal_mixing"   unit="degC/s"                        /> 
     676     <field id="strd_ldf"      long_name="salinity   -trend: lateral  diffusion"      standard_name="tendency_of_sea_water_salinity_due_to_horizontal_mixing"      unit="1e-3/s"                        /> 
     677     <field id="ttrd_zdf"      long_name="temperature-trend: vertical diffusion"      standard_name="tendency_of_sea_water_temperature_due_to_vertical_mixing"     unit="degC/s"                        /> 
     678     <field id="strd_zdf"      long_name="salinity   -trend: vertical diffusion"      standard_name="tendency_of_sea_water_salinity_due_to_vertical_mixing"        unit="1e-3/s"                        /> 
     679     <field id="ttrd_evd"      long_name="temperature-trend: EVD convection"                                                                                       unit="degC/s"                        /> 
     680     <field id="strd_evd"      long_name="salinity   -trend: EVD convection"                                                                                       unit="1e-3/s"                        /> 
     681 
     682     <!-- ln_traldf_iso=T only (iso-neutral diffusion) --> 
     683     <field id="ttrd_iso"      long_name="temperature-trend: isopycnal diffusion"                             unit="degC/s" > ttrd_ldf + ttrd_zdf - ttrd_zdfp </field> 
     684     <field id="strd_iso"      long_name="salinity   -trend: isopycnal diffusion"                             unit="1e-3/s" > strd_ldf + strd_zdf - strd_zdfp </field> 
     685     <field id="ttrd_zdfp"     long_name="temperature-trend: pure vert. diffusion"   unit="degC/s" /> 
     686     <field id="strd_zdfp"     long_name="salinity   -trend: pure vert. diffusion"   unit="1e-3/s" /> 
     687 
     688     <!-- --> 
     689     <field id="ttrd_dmp"      long_name="temperature-trend: interior restoring"        unit="degC/s" /> 
     690     <field id="strd_dmp"      long_name="salinity   -trend: interior restoring"        unit="1e-3/s" /> 
     691     <field id="ttrd_bbl"      long_name="temperature-trend: bottom boundary layer"     unit="degC/s" /> 
     692     <field id="strd_bbl"      long_name="salinity   -trend: bottom boundary layer"     unit="1e-3/s" /> 
     693     <field id="ttrd_npc"      long_name="temperature-trend: non-penetrative conv."     unit="degC/s" /> 
     694     <field id="strd_npc"      long_name="salinity   -trend: non-penetrative conv."     unit="1e-3/s" /> 
     695     <field id="ttrd_qns"      long_name="temperature-trend: non-solar flux + runoff"   unit="degC/s" grid_ref="grid_T_2D" /> 
     696     <field id="strd_cdt"      long_name="salinity   -trend: C/D term       + runoff"   unit="degC/s" grid_ref="grid_T_2D" /> 
     697     <field id="ttrd_qsr"      long_name="temperature-trend: solar penetr. heating"     unit="degC/s" /> 
     698     <field id="ttrd_bbc"      long_name="temperature-trend: geothermal heating"        unit="degC/s" /> 
     699 
     700     <!-- Thickness weighted versions: --> 
     701     <field id="ttrd_xad_e3t"      unit="degC/s * m" >  ttrd_xad * e3t </field> 
     702     <field id="strd_xad_e3t"      unit="1e-3/s * m" >  strd_xad * e3t </field> 
     703     <field id="ttrd_yad_e3t"      unit="degC/s * m" >  ttrd_yad * e3t </field> 
     704     <field id="strd_yad_e3t"      unit="1e-3/s * m" >  strd_yad * e3t </field> 
     705     <field id="ttrd_zad_e3t"      unit="degC/s * m" >  ttrd_zad * e3t </field> 
     706     <field id="strd_zad_e3t"      unit="1e-3/s * m" >  strd_zad * e3t </field> 
     707     <field id="ttrd_ad_e3t"       unit="degC/s * m" >  ttrd_ad  * e3t </field> 
     708     <field id="strd_ad_e3t"       unit="1e-3/s * m" >  strd_ad  * e3t </field> 
     709     <field id="ttrd_totad_e3t"    unit="degC/s * m" >  ttrd_totad  * e3t </field> 
     710     <field id="strd_totad_e3t"    unit="1e-3/s * m" >  strd_totad  * e3t </field> 
     711     <field id="ttrd_ldf_e3t"      unit="degC/s * m" >  ttrd_ldf * e3t </field> 
     712     <field id="strd_ldf_e3t"      unit="1e-3/s * m" >  strd_ldf * e3t </field> 
     713     <field id="ttrd_zdf_e3t"      unit="degC/s * m" >  ttrd_zdf * e3t </field> 
     714     <field id="strd_zdf_e3t"      unit="1e-3/s * m" >  strd_zdf * e3t </field> 
     715     <field id="ttrd_evd_e3t"      unit="degC/s * m" >  ttrd_evd * e3t </field> 
     716     <field id="strd_evd_e3t"      unit="1e-3/s * m" >  strd_evd * e3t </field> 
     717 
     718     <!-- ln_traldf_iso=T only (iso-neutral diffusion) --> 
     719     <field id="ttrd_iso_e3t"      unit="degC/s * m"  >  ttrd_iso * e3t </field> 
     720     <field id="strd_iso_e3t"      unit="1e-3/s * m"  >  strd_iso * e3t </field> 
     721     <field id="ttrd_zdfp_e3t"     unit="degC/s * m"  >  ttrd_zdfp * e3t </field> 
     722     <field id="strd_zdfp_e3t"     unit="1e-3/s * m"  >  strd_zdfp * e3t </field> 
     723 
     724     <!-- --> 
     725     <field id="ttrd_dmp_e3t"      unit="degC/s * m"  >  ttrd_dmp * e3t </field> 
     726     <field id="strd_dmp_e3t"      unit="1e-3/s * m"  >  strd_dmp * e3t </field> 
     727     <field id="ttrd_bbl_e3t"      unit="degC/s * m"  >  ttrd_bbl * e3t </field> 
     728     <field id="strd_bbl_e3t"      unit="1e-3/s * m"  >  strd_bbl * e3t </field> 
     729     <field id="ttrd_npc_e3t"      unit="degC/s * m"  >  ttrd_npc * e3t </field> 
     730     <field id="strd_npc_e3t"      unit="1e-3/s * m"  >  strd_npc * e3t </field> 
     731     <field id="ttrd_qns_e3t"      unit="degC/s * m"  >  ttrd_qns * e3t_surf </field> 
     732     <field id="strd_cdt_e3t"      unit="degC/s * m"  >  strd_cdt * e3t_surf </field> 
     733     <field id="ttrd_qsr_e3t"      unit="degC/s * m"  >  ttrd_qsr * e3t </field> 
     734     <field id="ttrd_bbc_e3t"      unit="degC/s * m"  >  ttrd_bbc * e3t </field> 
     735 
     736     <!-- OMIP  layer-integrated trends --> 
     737     <field id="ttrd_totad_li"    long_name="layer integrated heat-trend: total advection"         unit="W/m^2"     > ttrd_totad_e3t * 1026.0 * 3991.86795711963 </field> 
     738     <field id="strd_totad_li"    long_name="layer integrated salt-trend: total advection"         unit="kg/(m^2 s)"    > strd_totad_e3t * 1026.0 * 0.001  </field> 
     739     <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> 
     740     <field id="strd_evd_li"      long_name="layer integrated salt-trend: EVD convection"          unit="kg/(m^2 s)"  > strd_evd_e3t * 1026.0 * 0.001  </field> 
     741     <field id="ttrd_iso_li"      long_name="layer integrated heat-trend: isopycnal diffusion"     unit="W/m^2" > ttrd_iso_e3t * 1026.0 * 3991.86795711963 </field> 
     742     <field id="strd_iso_li"      long_name="layer integrated salt-trend: isopycnal diffusion"     unit="kg/(m^2 s)" > strd_iso_e3t * 1026.0 * 0.001  </field> 
     743     <field id="ttrd_zdfp_li"     long_name="layer integrated heat-trend: pure vert. diffusion"    unit="W/m^2" > ttrd_zdfp_e3t * 1026.0 * 3991.86795711963 </field> 
     744     <field id="strd_zdfp_li"     long_name="layer integrated salt-trend: pure vert. diffusion"    unit="kg/(m^2 s)" > strd_zdfp_e3t * 1026.0 * 0.001  </field> 
     745     <field id="ttrd_qns_li"      long_name="layer integrated heat-trend: non-solar flux + runoff" unit="W/m^2" grid_ref="grid_T_2D"> ttrd_qns_e3t * 1026.0 * 3991.86795711963 </field> 
     746     <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> 
     747     <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> 
     748     <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> 
     749     <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> 
     750     <field id="strd_evd_li"      long_name="layer integrated salt-trend: evd convection "         unit="kg/(m^2 s)" > strd_evd_e3t * 1026.0 * 0.001  </field> 
     751 
     752   </field_group> 
     753 
     754   <!--  Total trends calculated every time step--> 
     755   <field_group id="trendT" grid_ref="grid_T_3D"> 
     756     <field id="ttrd_tot"      long_name="temperature-trend: total model trend"         unit="degC/s" /> 
     757     <field id="strd_tot"      long_name="salinity   -trend: total model trend"         unit="1e-3/s" /> 
     758     <!-- Thickness weighted versions: --> 
     759     <field id="ttrd_tot_e3t"      unit="degC/s * m"  >  ttrd_tot * e3t </field> 
     760     <field id="strd_tot_e3t"      unit="1e-3/s * m"  >  strd_tot * e3t </field> 
     761     <!-- OMIP  layer-integrated total trends --> 
     762     <field id="ttrd_tot_li"      long_name="layer integrated heat-trend: total model trend :"         unit="W/m^2" > ttrd_tot_e3t * 1026.0 * 3991.86795711963 </field> 
     763     <field id="strd_tot_li"      long_name="layer integrated salt-trend: total model trend :"         unit="kg/(m^2 s)" > strd_tot_e3t * 1026.0 * 0.001  </field> 
     764 
     765     <!-- **** these trends have not been apportioned to all/even/odd ts yet **** --> 
     766     <!-- variables available with ln_KE_trd --> 
     767     <field id="ketrd_hpg"     long_name="ke-trend: hydrostatic pressure gradient"          unit="W/s^3"                        /> 
     768     <field id="ketrd_spg"     long_name="ke-trend: surface     pressure gradient"          unit="W/s^3"                        /> 
     769     <field id="ketrd_spgexp"  long_name="ke-trend: surface pressure gradient (explicit)"   unit="W/s^3"                        /> 
     770     <field id="ketrd_spgflt"  long_name="ke-trend: surface pressure gradient (filter)"     unit="W/s^3"                        /> 
     771     <field id="ssh_flt"       long_name="filtered contribution to ssh (dynspg_flt)"        unit="m"       grid_ref="grid_T_2D" /> 
     772     <field id="w0"            long_name="surface vertical velocity"                        unit="m/s"     grid_ref="grid_T_2D" /> 
     773     <field id="pw0_exp"       long_name="surface pressure flux due to ssh"                 unit="W/s^2"   grid_ref="grid_T_2D" /> 
     774     <field id="pw0_flt"       long_name="surface pressure flux due to filtered ssh"        unit="W/s^2"   grid_ref="grid_T_2D" /> 
     775     <field id="ketrd_keg"     long_name="ke-trend: KE gradient         or hor. adv."       unit="W/s^3"                        /> 
     776     <field id="ketrd_rvo"     long_name="ke-trend: relative  vorticity or metric term"     unit="W/s^3"                        /> 
     777     <field id="ketrd_pvo"     long_name="ke-trend: planetary vorticity"                    unit="W/s^3"                        /> 
     778     <field id="ketrd_zad"     long_name="ke-trend: vertical  advection"                    unit="W/s^3"                        /> 
     779     <field id="ketrd_udx"     long_name="ke-trend: U.dx[U]"                                unit="W/s^3"                        /> 
     780     <field id="ketrd_ldf"     long_name="ke-trend: lateral   diffusion"                    unit="W/s^3"                        /> 
     781     <field id="ketrd_zdf"     long_name="ke-trend: vertical  diffusion"                    unit="W/s^3"                        /> 
     782     <field id="ketrd_tau"     long_name="ke-trend: wind stress "                           unit="W/s^3"   grid_ref="grid_T_2D" /> 
     783     <field id="ketrd_bfr"     long_name="ke-trend: bottom friction (explicit)"             unit="W/s^3"                        />    
     784     <field id="ketrd_bfri"    long_name="ke-trend: bottom friction (implicit)"             unit="W/s^3"                        />    
     785     <field id="ketrd_atf"     long_name="ke-trend: asselin time filter trend"              unit="W/s^3"                        />   
     786     <field id="ketrd_convP2K" long_name="ke-trend: conversion (potential to kinetic)"      unit="W/s^3"                        /> 
     787     <field id="KE"            long_name="kinetic energy: u(n)*u(n+1)/2"                    unit="W/s^2"                        />    
     788 
     789     <!-- variables available when explicit lateral mixing is used (ln_dynldf_OFF=F) --> 
     790     <field id="dispkexyfo"    long_name="KE-trend: lateral  mixing induced dissipation"   standard_name="ocean_kinetic_energy_dissipation_per_unit_area_due_to_xy_friction"                   unit="W/m^2" grid_ref="grid_T_2D" />    
     791     <field id="dispkevfo"     long_name="KE-trend: vertical mixing induced dissipation"   standard_name="ocean_kinetic_energy_dissipation_per_unit_area_due_to_vertical_friction"             unit="W/m^2" grid_ref="grid_T_2D" />    
     792     <!-- variables available with ln_traadv_eiv=T and ln_diaeiv=T --> 
     793     <field id="eketrd_eiv"    long_name="EKE-trend due to parameterized eddy advection"   standard_name="tendency_of_ocean_eddy_kinetic_energy_content_due_to_parameterized_eddy_advection"   unit="W/m^2" grid_ref="grid_T_2D" />    
     794 
     795     <!-- variables available with ln_PE_trd --> 
     796     <field id="petrd_xad"     long_name="pe-trend: i-advection"                unit="W/m^3"                        /> 
     797     <field id="petrd_yad"     long_name="pe-trend: j-advection"                unit="W/m^3"                        /> 
     798     <field id="petrd_zad"     long_name="pe-trend: k-advection"                unit="W/m^3"                        /> 
     799     <field id="petrd_sad"     long_name="pe-trend: surface adv. (linssh true)" unit="W/m^3"   grid_ref="grid_T_2D" /> 
     800     <field id="petrd_ldf"     long_name="pe-trend: lateral  diffusion"         unit="W/m^3"                        /> 
     801     <field id="petrd_zdf"     long_name="pe-trend: vertical diffusion"         unit="W/m^3"                        /> 
     802     <field id="petrd_zdfp"    long_name="pe-trend: pure vert. diffusion"       unit="W/m^3"                        /> 
     803     <field id="petrd_dmp"     long_name="pe-trend: interior restoring"         unit="W/m^3"                        /> 
     804     <field id="petrd_bbl"     long_name="pe-trend: bottom boundary layer"      unit="W/m^3"                        /> 
     805     <field id="petrd_npc"     long_name="pe-trend: non-penetrative conv."      unit="W/m^3"                        /> 
     806     <field id="petrd_nsr"     long_name="pe-trend: surface forcing + runoff"   unit="W/m^3"                        /> 
     807     <field id="petrd_qsr"     long_name="pe-trend: solar penetr. heating"      unit="W/m^3"                        /> 
     808     <field id="petrd_bbc"     long_name="pe-trend: geothermal heating"         unit="W/m^3"                        /> 
     809     <field id="petrd_atf"     long_name="pe-trend: asselin time filter"        unit="W/m^3"                        /> 
     810     <field id="PEanom"        long_name="potential energy anomaly"             unit="1"                            />    
     811     <field id="alphaPE"       long_name="partial deriv. of PEanom wrt T"       unit="degC-1"                       />    
     812     <field id="betaPE"        long_name="partial deriv. of PEanom wrt S"       unit="1e3"                          />    
     813   </field_group> 
     814 
     815   <field_group id="trendU" grid_ref="grid_U_3D"> 
     816     <!-- variables available with ln_dyn_trd --> 
     817     <field id="utrd_hpg"       long_name="i-trend: hydrostatic pressure gradient"          unit="m/s^2"                        /> 
     818     <field id="utrd_spg"       long_name="i-trend: surface     pressure gradient"          unit="m/s^2"                        /> 
     819     <field id="utrd_spgexp"    long_name="i-trend: surface pressure gradient (explicit)"   unit="m/s^2"                        /> 
     820     <field id="utrd_spgflt"    long_name="i-trend: surface pressure gradient (filtered)"   unit="m/s^2"                        /> 
     821     <field id="utrd_keg"       long_name="i-trend: KE gradient         or hor. adv."       unit="m/s^2"                        /> 
     822     <field id="utrd_rvo"       long_name="i-trend: relative  vorticity or metric term"     unit="m/s^2"                        /> 
     823     <field id="utrd_pvo"       long_name="i-trend: planetary vorticity"                    unit="m/s^2"                        /> 
     824     <field id="utrd_zad"       long_name="i-trend: vertical  advection"                    unit="m/s^2"                        /> 
     825     <field id="utrd_udx"       long_name="i-trend: U.dx[U]"                                unit="m/s^2"                        /> 
     826     <field id="utrd_ldf"       long_name="i-trend: lateral   diffusion"                    unit="m/s^2"                        /> 
     827     <field id="utrd_zdf"       long_name="i-trend: vertical  diffusion"                    unit="m/s^2"                        /> 
     828     <field id="utrd_tau"       long_name="i-trend: wind stress "                           unit="m/s^2"   grid_ref="grid_U_2D" /> 
     829     <field id="utrd_bfr"       long_name="i-trend: bottom friction (explicit)"             unit="m/s^2"                        />    
     830     <field id="utrd_bfri"      long_name="i-trend: bottom friction (implicit)"             unit="m/s^2"                        />    
     831     <field id="utrd_tot"       long_name="i-trend: total momentum trend before atf"        unit="m/s^2"                        />    
     832     <field id="utrd_atf"       long_name="i-trend: asselin time filter trend"              unit="m/s^2"                        />    
     833   </field_group> 
     834 
     835   <field_group id="trendV" grid_ref="grid_V_3D"> 
     836     <!-- variables available with ln_dyn_trd --> 
     837     <field id="vtrd_hpg"       long_name="j-trend: hydrostatic pressure gradient"          unit="m/s^2"                        /> 
     838     <field id="vtrd_spg"       long_name="j-trend: surface     pressure gradient"          unit="m/s^2"                        /> 
     839     <field id="vtrd_spgexp"    long_name="j-trend: surface pressure gradient (explicit)"   unit="m/s^2"                        /> 
     840     <field id="vtrd_spgflt"    long_name="j-trend: surface pressure gradient (filtered)"   unit="m/s^2"                        /> 
     841     <field id="vtrd_keg"       long_name="j-trend: KE gradient         or hor. adv."       unit="m/s^2"                        /> 
     842     <field id="vtrd_rvo"       long_name="j-trend: relative  vorticity or metric term"     unit="m/s^2"                        /> 
     843     <field id="vtrd_pvo"       long_name="j-trend: planetary vorticity"                    unit="m/s^2"                        /> 
     844     <field id="vtrd_zad"       long_name="j-trend: vertical  advection"                    unit="m/s^2"                        /> 
     845     <field id="vtrd_vdy"       long_name="i-trend: V.dx[V]"                                unit="m/s^2"                        /> 
     846     <field id="vtrd_ldf"       long_name="j-trend: lateral   diffusion"                    unit="m/s^2"                        /> 
     847     <field id="vtrd_zdf"       long_name="j-trend: vertical  diffusion"                    unit="m/s^2"                        /> 
     848     <field id="vtrd_tau"       long_name="j-trend: wind stress "                           unit="m/s^2"   grid_ref="grid_V_2D" /> 
     849     <field id="vtrd_bfr"       long_name="j-trend: bottom friction (explicit)"             unit="m/s^2"                        />    
     850     <field id="vtrd_bfri"      long_name="j-trend: bottom friction (implicit)"             unit="m/s^2"                        />    
     851     <field id="vtrd_tot"       long_name="j-trend: total momentum trend before atf"        unit="m/s^2"                        />    
     852     <field id="vtrd_atf"       long_name="j-trend: asselin time filter trend"              unit="m/s^2"                        />    
     853   </field_group> 
    822854 
    823855 
     
    828860    --> 
    829861 
    830      <field_group id="TRD" > 
    831           <field field_ref="ttrd_totad_li"   name="opottempadvect"  /> 
    832           <field field_ref="ttrd_iso_li"     name="opottemppmdiff"  /> 
    833           <field field_ref="ttrd_zdfp_li"    name="opottempdiff"  /> 
    834           <field field_ref="ttrd_evd_li"     name="opottempevd" /> 
    835           <field field_ref="strd_evd_li"     name="osaltevd" /> 
    836           <field field_ref="ttrd_qns_li"     name="opottempqns"  /> 
    837           <field field_ref="ttrd_qsr_li"     name="rsdoabsorb" operation="accumulate" /> 
    838           <field field_ref="strd_totad_li"   name="osaltadvect" /> 
    839           <field field_ref="strd_iso_li"     name="osaltpmdiff"  /> 
    840           <field field_ref="strd_zdfp_li"    name="osaltdiff" /> 
     862    <field_group id="TRD" > 
     863      <field field_ref="ttrd_totad_li"   name="opottempadvect"  /> 
     864      <field field_ref="ttrd_iso_li"     name="opottemppmdiff"  /> 
     865      <field field_ref="ttrd_zdfp_li"    name="opottempdiff"  /> 
     866      <field field_ref="ttrd_evd_li"     name="opottempevd" /> 
     867      <field field_ref="strd_evd_li"     name="osaltevd" /> 
     868      <field field_ref="ttrd_qns_li"     name="opottempqns"  /> 
     869      <field field_ref="ttrd_qsr_li"     name="rsdoabsorb" operation="accumulate" /> 
     870      <field field_ref="strd_totad_li"   name="osaltadvect" /> 
     871      <field field_ref="strd_iso_li"     name="osaltpmdiff"  /> 
     872      <field field_ref="strd_zdfp_li"    name="osaltdiff" /> 
    841873    </field_group> 
    842874     
    843875    <field_group id="mooring" > 
    844        <field field_ref="toce"         name="thetao"   long_name="sea_water_potential_temperature"      /> 
    845        <field field_ref="soce"         name="so"       long_name="sea_water_salinity"                   /> 
    846        <field field_ref="uoce"         name="uo"       long_name="sea_water_x_velocity"                 /> 
    847        <field field_ref="voce"         name="vo"       long_name="sea_water_y_velocity"                 /> 
    848        <field field_ref="woce"         name="wo"       long_name="sea_water_z_velocity"                 /> 
    849        <field field_ref="avt"          name="difvho"   long_name="ocean_vertical_heat_diffusivity"      /> 
    850        <field field_ref="avm"          name="difvmo"   long_name="ocean_vertical_momentum_diffusivity"  /> 
    851     
    852        <field field_ref="sst"          name="tos"      long_name="sea_surface_temperature"                       /> 
    853        <field field_ref="sst2"         name="tossq"    long_name="square_of_sea_surface_temperature"             /> 
    854        <field field_ref="sstgrad"      name="tosgrad"  long_name="module_of_sea_surface_temperature_gradient"    /> 
    855        <field field_ref="sss"          name="sos"      long_name="sea_surface_salinity"                          /> 
    856        <field field_ref="ssh"          name="zos"      long_name="sea_surface_height_above_geoid"                /> 
    857        <field field_ref="empmr"        name="wfo"      long_name="water_flux_into_sea_water"                     /> 
    858        <field field_ref="qsr"          name="rsntds"   long_name="surface_net_downward_shortwave_flux"           /> 
    859        <field field_ref="qt"           name="tohfls"   long_name="surface_net_downward_total_heat_flux"          /> 
    860        <field field_ref="taum"                                                                                   /> 
    861        <field field_ref="20d"                                                                                    /> 
    862        <field field_ref="mldkz5"                                                                                 /> 
    863        <field field_ref="mldr10_1"                                                                               /> 
    864        <field field_ref="mldr10_3"                                                                               /> 
    865        <field field_ref="mldr0_1"                                                                                /> 
    866        <field field_ref="mldr0_3"                                                                                /> 
    867        <field field_ref="mld_dt02"                                                                               /> 
    868        <field field_ref="topthdep"                                                                               /> 
    869        <field field_ref="pycndep"                                                                                /> 
    870        <field field_ref="tinv"                                                                                   /> 
    871        <field field_ref="depti"                                                                                  /> 
    872        <field field_ref="BLT"          name="blt"      long_name="barrier_layer_thickness"                       /> 
    873        <field field_ref="utau"         name="tauuo"    long_name="surface_downward_x_stress"                     /> 
    874        <field field_ref="vtau"         name="tauvo"    long_name="surface_downward_y_stress"                     /> 
     876      <field field_ref="toce"         name="thetao"   long_name="sea_water_potential_temperature"      /> 
     877      <field field_ref="soce"         name="so"       long_name="sea_water_salinity"                   /> 
     878      <field field_ref="uoce"         name="uo"       long_name="sea_water_x_velocity"                 /> 
     879      <field field_ref="voce"         name="vo"       long_name="sea_water_y_velocity"                 /> 
     880      <field field_ref="woce"         name="wo"       long_name="sea_water_z_velocity"                 /> 
     881      <field field_ref="avt"          name="difvho"   long_name="ocean_vertical_heat_diffusivity"      /> 
     882      <field field_ref="avm"          name="difvmo"   long_name="ocean_vertical_momentum_diffusivity"  /> 
     883       
     884      <field field_ref="sst"          name="tos"      long_name="sea_surface_temperature"                       /> 
     885      <field field_ref="sst2"         name="tossq"    long_name="square_of_sea_surface_temperature"             /> 
     886      <field field_ref="sstgrad"      name="tosgrad"  long_name="module_of_sea_surface_temperature_gradient"    /> 
     887      <field field_ref="sss"          name="sos"      long_name="sea_surface_salinity"                          /> 
     888      <field field_ref="ssh"          name="zos"      long_name="sea_surface_height_above_geoid"                /> 
     889      <field field_ref="empmr"        name="wfo"      long_name="water_flux_into_sea_water"                     /> 
     890      <field field_ref="qsr"          name="rsntds"   long_name="surface_net_downward_shortwave_flux"           /> 
     891      <field field_ref="qt"           name="tohfls"   long_name="surface_net_downward_total_heat_flux"          /> 
     892      <field field_ref="taum"                                                                                   /> 
     893      <field field_ref="20d"                                                                                    /> 
     894      <field field_ref="mldkz5"                                                                                 /> 
     895      <field field_ref="mldr10_1"                                                                               /> 
     896      <field field_ref="mldr10_3"                                                                               /> 
     897      <field field_ref="mldr0_1"                                                                                /> 
     898      <field field_ref="mldr0_3"                                                                                /> 
     899      <field field_ref="mld_dt02"                                                                               /> 
     900      <field field_ref="topthdep"                                                                               /> 
     901      <field field_ref="pycndep"                                                                                /> 
     902      <field field_ref="tinv"                                                                                   /> 
     903      <field field_ref="depti"                                                                                  /> 
     904      <field field_ref="BLT"          name="blt"      long_name="barrier_layer_thickness"                       /> 
     905      <field field_ref="utau"         name="tauuo"    long_name="surface_downward_x_stress"                     /> 
     906      <field field_ref="vtau"         name="tauvo"    long_name="surface_downward_y_stress"                     /> 
    875907    </field_group> 
    876908 
    877909    <field_group id="groupT" > 
    878        <field field_ref="toce"         name="thetao"   long_name="sea_water_potential_temperature"               /> 
    879        <field field_ref="soce"         name="so"       long_name="sea_water_salinity"                            /> 
    880        <field field_ref="sst"          name="tos"      long_name="sea_surface_temperature"                       /> 
    881        <field field_ref="sst2"         name="tossq"    long_name="square_of_sea_surface_temperature"             /> 
    882        <field field_ref="sss"          name="sos"      long_name="sea_surface_salinity"                          /> 
    883        <field field_ref="ssh"          name="zos"      long_name="sea_surface_height_above_geoid"                /> 
    884        <field field_ref="empmr"        name="wfo"      long_name="water_flux_into_sea_water"                     /> 
    885        <field field_ref="qsr"          name="rsntds"   long_name="surface_net_downward_shortwave_flux"           /> 
    886        <field field_ref="qt"           name="tohfls"   long_name="surface_net_downward_total_heat_flux"          /> 
    887        <field field_ref="taum"                                                                                   /> 
    888        <field field_ref="20d"                                                                                    /> 
    889        <field field_ref="mldkz5"                                                                                 /> 
    890        <field field_ref="mldr10_1"                                                                               /> 
    891        <field field_ref="mldr10_3"                                                                               /> 
    892        <field field_ref="mld_dt02"                                                                               /> 
    893        <field field_ref="topthdep"                                                                               /> 
    894        <field field_ref="pycndep"                                                                                /> 
    895        <field field_ref="tinv"                                                                                   /> 
    896        <field field_ref="depti"                                                                                  /> 
    897        <field field_ref="BLT"          name="blt"      long_name="Barrier Layer Thickness"                       /> 
     910      <field field_ref="toce"         name="thetao"   long_name="sea_water_potential_temperature"               /> 
     911      <field field_ref="soce"         name="so"       long_name="sea_water_salinity"                            /> 
     912      <field field_ref="sst"          name="tos"      long_name="sea_surface_temperature"                       /> 
     913      <field field_ref="sst2"         name="tossq"    long_name="square_of_sea_surface_temperature"             /> 
     914      <field field_ref="sss"          name="sos"      long_name="sea_surface_salinity"                          /> 
     915      <field field_ref="ssh"          name="zos"      long_name="sea_surface_height_above_geoid"                /> 
     916      <field field_ref="empmr"        name="wfo"      long_name="water_flux_into_sea_water"                     /> 
     917      <field field_ref="qsr"          name="rsntds"   long_name="surface_net_downward_shortwave_flux"           /> 
     918      <field field_ref="qt"           name="tohfls"   long_name="surface_net_downward_total_heat_flux"          /> 
     919      <field field_ref="taum"                                                                                   /> 
     920      <field field_ref="20d"                                                                                    /> 
     921      <field field_ref="mldkz5"                                                                                 /> 
     922      <field field_ref="mldr10_1"                                                                               /> 
     923      <field field_ref="mldr10_3"                                                                               /> 
     924      <field field_ref="mld_dt02"                                                                               /> 
     925      <field field_ref="topthdep"                                                                               /> 
     926      <field field_ref="pycndep"                                                                                /> 
     927      <field field_ref="tinv"                                                                                   /> 
     928      <field field_ref="depti"                                                                                  /> 
     929      <field field_ref="BLT"          name="blt"      long_name="Barrier Layer Thickness"                       /> 
    898930    </field_group> 
    899931     
    900932    <field_group id="groupU" > 
    901        <field field_ref="uoce"         name="uo"      long_name="sea_water_x_velocity"      /> 
    902        <field field_ref="ssu"          name="uos"     long_name="sea_surface_x_velocity"    /> 
    903        <field field_ref="utau"         name="tauuo"   long_name="surface_downward_x_stress" /> 
     933      <field field_ref="uoce"         name="uo"      long_name="sea_water_x_velocity"      /> 
     934      <field field_ref="ssu"          name="uos"     long_name="sea_surface_x_velocity"    /> 
     935      <field field_ref="utau"         name="tauuo"   long_name="surface_downward_x_stress" /> 
    904936    </field_group> 
    905937     
    906938    <field_group id="groupV" > 
    907        <field field_ref="voce"         name="vo"      long_name="sea_water_y_velocity"      /> 
    908        <field field_ref="ssv"          name="vos"     long_name="sea_surface_y_velocity"    /> 
    909        <field field_ref="vtau"         name="tauvo"   long_name="surface_downward_y_stress" /> 
     939      <field field_ref="voce"         name="vo"      long_name="sea_water_y_velocity"      /> 
     940      <field field_ref="ssv"          name="vos"     long_name="sea_surface_y_velocity"    /> 
     941      <field field_ref="vtau"         name="tauvo"   long_name="surface_downward_y_stress" /> 
    910942    </field_group> 
    911943     
    912944    <field_group id="groupW" > 
    913        <field field_ref="woce"         name="wo"       long_name="ocean vertical velocity"  /> 
    914     </field_group> 
    915  
    916     <!-- TMB diagnostic output --> 
    917     <field_group  id="1h_grid_T_tmb" grid_ref="grid_T_2D" operation="instant"> 
    918        <field id="top_temp"           name="votemper_top"  unit="degC"  /> 
    919        <field id="mid_temp"           name="votemper_mid"  unit="degC"  /> 
    920        <field id="bot_temp"           name="votemper_bot"  unit="degC"  /> 
    921        <field id="top_sal"            name="vosaline_top"  unit="psu"   /> 
    922        <field id="mid_sal"            name="vosaline_mid"  unit="psu"   /> 
    923        <field id="bot_sal"            name="vosaline_bot"  unit="psu"   /> 
    924        <field id="sshnmasked"         name="sossheig"      unit="m"     />  
     945      <field field_ref="woce"         name="wo"       long_name="ocean vertical velocity"  /> 
    925946    </field_group> 
    926947 
    927948    <field_group  id="1h_grid_U_tmb" grid_ref="grid_U_2D" operation="instant"> 
    928        <field id="top_u"           name="vozocrtx_top"  unit="m/s"  /> 
    929        <field id="mid_u"           name="vozocrtx_mid"  unit="m/s"  /> 
    930        <field id="bot_u"           name="vozocrtx_bot"  unit="m/s"  /> 
    931        <field id="baro_u"          name="vobtcrtx"      unit="m/s"  /> 
     949      <field id="top_u"           name="vozocrtx_top"  unit="m/s"  /> 
     950      <field id="mid_u"           name="vozocrtx_mid"  unit="m/s"  /> 
     951      <field id="bot_u"           name="vozocrtx_bot"  unit="m/s"  /> 
     952      <field id="baro_u"          name="vobtcrtx"      unit="m/s"  /> 
    932953    </field_group> 
    933954 
    934955    <field_group  id="1h_grid_V_tmb" grid_ref="grid_V_2D" operation="instant"> 
    935        <field id="top_v"           name="vomecrty_top"  unit="m/s"  /> 
    936        <field id="mid_v"           name="vomecrty_mid"  unit="m/s"  /> 
    937        <field id="bot_v"           name="vomecrty_bot"  unit="m/s"  /> 
    938        <field id="baro_v"          name="vobtcrty"      unit="m/s"  /> 
     956      <field id="top_v"           name="vomecrty_top"  unit="m/s"  /> 
     957      <field id="mid_v"           name="vomecrty_mid"  unit="m/s"  /> 
     958      <field id="bot_v"           name="vomecrty_bot"  unit="m/s"  /> 
     959      <field id="baro_v"          name="vobtcrty"      unit="m/s"  /> 
    939960    </field_group> 
    940961 
    941962    <!-- 25h diagnostic output --> 
    942963    <field_group id="25h_grid_T" grid_ref="grid_T_3D" operation="instant"> 
    943        <field id="temper25h"         name="potential temperature 25h mean"    unit="degC" /> 
    944        <field id="tempis25h"         name="insitu temperature 25h mean"    unit="degC" /> 
    945        <field id="salin25h"          name="salinity 25h mean"                 unit="psu"  /> 
    946        <field id="ssh25h"            name="sea surface height 25h mean"  grid_ref="grid_T_2D"      unit="m"    /> 
     964      <field id="temper25h"         name="potential temperature 25h mean"    unit="degC" /> 
     965      <field id="tempis25h"         name="insitu temperature 25h mean"    unit="degC" /> 
     966      <field id="salin25h"          name="salinity 25h mean"                 unit="psu"  /> 
     967      <field id="ssh25h"            name="sea surface height 25h mean"  grid_ref="grid_T_2D"      unit="m"    /> 
    947968    </field_group> 
    948969 
    949970    <field_group id="25h_grid_U" grid_ref="grid_U_3D" operation="instant" > 
    950        <field id="vozocrtx25h"         name="i current 25h mean"    unit="m/s"   /> 
     971      <field id="vozocrtx25h"         name="i current 25h mean"    unit="m/s"   /> 
    951972    </field_group> 
    952973 
    953974    <field_group id="25h_grid_V" grid_ref="grid_V_3D" operation="instant"> 
    954        <field id="vomecrty25h"         name="j current 25h mean"    unit="m/s"    /> 
     975      <field id="vomecrty25h"         name="j current 25h mean"    unit="m/s"    /> 
    955976    </field_group> 
    956977 
    957978    <field_group id="25h_grid_W" grid_ref="grid_W_3D" operation="instant"> 
    958        <field id="vomecrtz25h"         name="k current 25h mean"                 unit="m/s"      /> 
    959        <field id="avt25h"             name="vertical diffusivity25h mean"       unit="m2/s" /> 
    960        <field id="avm25h"              name="vertical viscosity 25h mean"        unit="m2/s" /> 
    961        <field id="tke25h"              name="turbulent kinetic energy 25h mean" /> 
    962        <field id="mxln25h"             name="mixing length 25h mean"             unit="m" /> 
    963     </field_group> 
    964  
    965      <!--  
     979      <field id="vovecrtz25h"         name="k current 25h mean"                 unit="m/s"      /> 
     980      <field id="avt25h"              name="vertical diffusivity25h mean"       unit="m2/s" /> 
     981      <field id="avm25h"              name="vertical viscosity 25h mean"        unit="m2/s" /> 
     982      <field id="tke25h"              name="turbulent kinetic energy 25h mean" /> 
     983      <field id="mxln25h"             name="mixing length 25h mean"             unit="m" /> 
     984    </field_group> 
     985 
     986    <!--  
    966987============================================================================================================ 
    967        --> 
    968      <!-- output variables for my configuration (example) -->  
    969   
     988    --> 
     989    <!-- output variables for my configuration (example) -->  
     990     
    970991    <field_group id="myvarOCE" > 
    971        <!-- grid T -->  
    972        <field field_ref="e3t"          name="e3t"      long_name="vertical scale factor"           /> 
    973        <field field_ref="sst"          name="tos"      long_name="sea_surface_temperature"         /> 
    974        <field field_ref="sss"          name="sos"      long_name="sea_surface_salinity"            /> 
    975        <field field_ref="ssh"          name="zos"      long_name="sea_surface_height_above_geoid"  /> 
    976        
    977        <!-- grid U -->  
    978        <field field_ref="e3u"          name="e3u"     long_name="vertical scale factor"            /> 
    979        <field field_ref="ssu"          name="uos"     long_name="sea_surface_x_velocity"           /> 
    980        
    981        <!-- grid V -->  
    982        <field field_ref="e3v"          name="e3v"     long_name="vertical scale factor"            /> 
    983        <field field_ref="ssv"          name="vos"     long_name="sea_surface_y_velocity"           />      
     992      <!-- grid T -->  
     993      <field field_ref="e3t"          name="e3t"      long_name="vertical scale factor"           /> 
     994      <field field_ref="sst"          name="tos"      long_name="sea_surface_temperature"         /> 
     995      <field field_ref="sss"          name="sos"      long_name="sea_surface_salinity"            /> 
     996      <field field_ref="ssh"          name="zos"      long_name="sea_surface_height_above_geoid"  /> 
     997       
     998      <!-- grid U -->  
     999      <field field_ref="e3u"          name="e3u"     long_name="vertical scale factor"            /> 
     1000      <field field_ref="ssu"          name="uos"     long_name="sea_surface_x_velocity"           /> 
     1001       
     1002      <!-- grid V -->  
     1003      <field field_ref="e3v"          name="e3v"     long_name="vertical scale factor"            /> 
     1004      <field field_ref="ssv"          name="vos"     long_name="sea_surface_y_velocity"           />      
    9841005    </field_group>     
    9851006 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/tests/CANAL/EXPREF/namelist_cfg

    r12143 r12706  
    278278!!   nam_diaharm  Harmonic analysis of tidal constituents               (default: OFF) 
    279279!!   nam_diadct   transports through some sections                      (default: OFF) 
    280 !!   nam_diatmb   Top Middle Bottom Output                              (default: OFF) 
    281280!!   nam_dia25h   25h Mean Output                                       (default: OFF) 
    282281!!   namnc4       netcdf4 chunking and compression settings             ("key_netcdf4") 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/tests/CANAL/MY_SRC/diawri.F90

    r12143 r12706  
    4646   USE lbclnk         ! ocean lateral boundary conditions (or mpp link) 
    4747   USE in_out_manager ! I/O manager 
    48    USE diatmb         ! Top,middle,bottom output 
    4948   USE dia25h         ! 25h Mean output 
    5049   USE iom            !  
     
    492491      CALL iom_put( "bn2", rn2 )                      ! Brunt-Vaisala buoyancy frequency (N^2) 
    493492      ! 
    494  
    495       IF (ln_diatmb)   CALL dia_tmb                   ! tmb values  
    496493           
    497494      IF (ln_dia25h)   CALL dia_25h( kt )             ! 25h averaging 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/tests/ICE_ADV1D/EXPREF/context_nemo.xml

    r10413 r12706  
    55--> 
    66<context id="nemo"> 
    7 <!-- $id$ --> 
     7    <!-- $id$ --> 
    88    <variable_definition> 
    9     <!-- Year of time origin for NetCDF files; defaults to 1800 --> 
    10        <variable id="ref_year" type="int"   > 1800 </variable> 
    11        <variable id="rau0"     type="float" > 1026.0 </variable> 
    12        <variable id="cpocean"  type="float" > 3991.86795711963 </variable> 
    13        <variable id="convSpsu" type="float" > 0.99530670233846  </variable> 
    14        <variable id="rhoic"    type="float" > 917.0 </variable> 
    15        <variable id="rhosn"    type="float" > 330.0 </variable> 
    16        <variable id="missval"  type="float" > 1.e20 </variable> 
     9       <!-- Year/Month/Day of time origin for NetCDF files; defaults to 1800-01-01 --> 
     10       <variable id="ref_year"  type="int"> 1900 </variable> 
     11       <variable id="ref_month" type="int"> 01 </variable> 
     12       <variable id="ref_day"   type="int"> 01 </variable> 
     13       <variable id="rau0"      type="float" > 1026.0 </variable> 
     14       <variable id="cpocean"   type="float" > 3991.86795711963 </variable> 
     15       <variable id="convSpsu"  type="float" > 0.99530670233846  </variable> 
     16       <variable id="rhoic"     type="float" > 917.0 </variable> 
     17       <variable id="rhosn"     type="float" > 330.0 </variable> 
     18       <variable id="missval"   type="float" > 1.e20 </variable> 
    1719    </variable_definition> 
     20 
    1821<!-- Fields definition --> 
    1922    <field_definition src="./field_def_nemo-oce.xml"/>    <!--  NEMO ocean dynamics     --> 
     
    2326    <file_definition src="./file_def_nemo-oce.xml"/>     <!--  NEMO ocean dynamics      --> 
    2427    <file_definition src="./file_def_nemo-ice.xml"/>     <!--  NEMO sea-ice model       --> 
    25     <!--  
    26 ============================================================================================================ 
    27 = grid definition = = DO NOT CHANGE = 
    28 ============================================================================================================ 
    29     --> 
    30      
    31     <axis_definition> 
    32       <axis id="deptht"  long_name="Vertical T levels"  unit="m" positive="down" /> 
    33       <axis id="depthu"  long_name="Vertical U levels"  unit="m" positive="down" /> 
    34       <axis id="depthv"  long_name="Vertical V levels"  unit="m" positive="down" /> 
    35       <axis id="depthw"  long_name="Vertical W levels"  unit="m" positive="down" /> 
    36       <axis id="nfloat"  long_name="Float number"       unit="-"                 /> 
    37       <axis id="icbcla"  long_name="Iceberg class"      unit="1"                 /> 
    38       <axis id="ncatice" long_name="Ice category"       unit="1"                 /> 
    39       <axis id="iax_20C" long_name="20 degC isotherm"   unit="degC"              /> 
    40       <axis id="iax_28C" long_name="28 degC isotherm"   unit="degC"              /> 
    41     </axis_definition> 
     28 
     29 
     30<!-- Axis definition --> 
     31    <axis_definition src="./axis_def_nemo.xml"/> 
    4232  
     33<!-- Domain definition --> 
    4334    <domain_definition src="./domain_def_nemo.xml"/> 
     35 
     36<!-- Grids definition --> 
     37    <grid_definition   src="./grid_def_nemo.xml"/> 
    4438   
    45     <grid_definition src="./grid_def_nemo.xml"/> 
    4639 
    4740</context> 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/tests/ICE_ADV1D/EXPREF/namelist_cfg

    r12143 r12706  
    204204!!   nam_diaharm  Harmonic analysis of tidal constituents               (default: OFF) 
    205205!!   nam_diadct   transports through some sections                      (default: OFF) 
    206 !!   nam_diatmb   Top Middle Bottom Output                              (default: OFF) 
    207206!!   nam_dia25h   25h Mean Output                                       (default: OFF) 
    208207!!   namnc4       netcdf4 chunking and compression settings             ("key_netcdf4") 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/tests/ICE_ADV1D/EXPREF/namelist_cfg_120pts

    r12143 r12706  
    204204!!   nam_diaharm  Harmonic analysis of tidal constituents               (default: OFF) 
    205205!!   nam_diadct   transports through some sections                      (default: OFF) 
    206 !!   nam_diatmb   Top Middle Bottom Output                              (default: OFF) 
    207206!!   nam_dia25h   25h Mean Output                                       (default: OFF) 
    208207!!   namnc4       netcdf4 chunking and compression settings             ("key_netcdf4") 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/tests/ICE_ADV1D/EXPREF/namelist_cfg_240pts

    r12143 r12706  
    204204!!   nam_diaharm  Harmonic analysis of tidal constituents               (default: OFF) 
    205205!!   nam_diadct   transports through some sections                      (default: OFF) 
    206 !!   nam_diatmb   Top Middle Bottom Output                              (default: OFF) 
    207206!!   nam_dia25h   25h Mean Output                                       (default: OFF) 
    208207!!   namnc4       netcdf4 chunking and compression settings             ("key_netcdf4") 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/tests/ICE_ADV1D/EXPREF/namelist_cfg_60pts

    r12143 r12706  
    204204!!   nam_diaharm  Harmonic analysis of tidal constituents               (default: OFF) 
    205205!!   nam_diadct   transports through some sections                      (default: OFF) 
    206 !!   nam_diatmb   Top Middle Bottom Output                              (default: OFF) 
    207206!!   nam_dia25h   25h Mean Output                                       (default: OFF) 
    208207!!   namnc4       netcdf4 chunking and compression settings             ("key_netcdf4") 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/tests/ICE_ADV2D/EXPREF/context_nemo.xml

    r10515 r12706  
    55--> 
    66<context id="nemo"> 
    7 <!-- $id$ --> 
     7    <!-- $id$ --> 
    88    <variable_definition> 
    9     <!-- Year of time origin for NetCDF files; defaults to 1800 --> 
    10        <variable id="ref_year" type="int"   > 1800 </variable> 
    11        <variable id="rau0"     type="float" > 1026.0 </variable> 
    12        <variable id="cpocean"  type="float" > 3991.86795711963 </variable> 
    13        <variable id="convSpsu" type="float" > 0.99530670233846  </variable> 
    14        <variable id="rhoic"    type="float" > 917.0 </variable> 
    15        <variable id="rhosn"    type="float" > 330.0 </variable> 
    16        <variable id="missval"  type="float" > 1.e20 </variable> 
     9       <!-- Year/Month/Day of time origin for NetCDF files; defaults to 1800-01-01 --> 
     10       <variable id="ref_year"  type="int"> 1900 </variable> 
     11       <variable id="ref_month" type="int"> 01 </variable> 
     12       <variable id="ref_day"   type="int"> 01 </variable> 
     13       <variable id="rau0"      type="float" > 1026.0 </variable> 
     14       <variable id="cpocean"   type="float" > 3991.86795711963 </variable> 
     15       <variable id="convSpsu"  type="float" > 0.99530670233846  </variable> 
     16       <variable id="rhoic"     type="float" > 917.0 </variable> 
     17       <variable id="rhosn"     type="float" > 330.0 </variable> 
     18       <variable id="missval"   type="float" > 1.e20 </variable> 
    1719    </variable_definition> 
     20 
    1821<!-- Fields definition --> 
    1922    <field_definition src="./field_def_nemo-oce.xml"/>    <!--  NEMO ocean dynamics     --> 
     
    2326    <file_definition src="./file_def_nemo-oce.xml"/>     <!--  NEMO ocean dynamics      --> 
    2427    <file_definition src="./file_def_nemo-ice.xml"/>     <!--  NEMO sea-ice model       --> 
    25     <!--  
    26 ============================================================================================================ 
    27 = grid definition = = DO NOT CHANGE = 
    28 ============================================================================================================ 
    29     --> 
    30      
    31     <axis_definition> 
    32       <axis id="deptht"  long_name="Vertical T levels"  unit="m" positive="down" /> 
    33       <axis id="depthu"  long_name="Vertical U levels"  unit="m" positive="down" /> 
    34       <axis id="depthv"  long_name="Vertical V levels"  unit="m" positive="down" /> 
    35       <axis id="depthw"  long_name="Vertical W levels"  unit="m" positive="down" /> 
    36       <axis id="nfloat"  long_name="Float number"       unit="-"                 /> 
    37       <axis id="icbcla"  long_name="Iceberg class"      unit="1"                 /> 
    38       <axis id="ncatice" long_name="Ice category"       unit="1"                 /> 
    39       <axis id="iax_20C" long_name="20 degC isotherm"   unit="degC"              /> 
    40       <axis id="iax_28C" long_name="28 degC isotherm"   unit="degC"              /> 
    41     </axis_definition> 
     28 
     29 
     30<!-- Axis definition --> 
     31    <axis_definition src="./axis_def_nemo.xml"/> 
    4232  
     33<!-- Domain definition --> 
    4334    <domain_definition src="./domain_def_nemo.xml"/> 
     35 
     36<!-- Grids definition --> 
     37    <grid_definition   src="./grid_def_nemo.xml"/> 
    4438   
    45     <grid_definition src="./grid_def_nemo.xml"/> 
    4639 
    4740</context> 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/tests/ICE_ADV2D/EXPREF/namelist_cfg

    r12143 r12706  
    204204!!   nam_diaharm  Harmonic analysis of tidal constituents               (default: OFF) 
    205205!!   nam_diadct   transports through some sections                      (default: OFF) 
    206 !!   nam_diatmb   Top Middle Bottom Output                              (default: OFF) 
    207206!!   nam_dia25h   25h Mean Output                                       (default: OFF) 
    208207!!   namnc4       netcdf4 chunking and compression settings             ("key_netcdf4") 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/tests/ICE_AGRIF/EXPREF/1_namelist_cfg

    r12143 r12706  
    204204!!   nam_diaharm  Harmonic analysis of tidal constituents               (default: OFF) 
    205205!!   nam_diadct   transports through some sections                      (default: OFF) 
    206 !!   nam_diatmb   Top Middle Bottom Output                              (default: OFF) 
    207206!!   nam_dia25h   25h Mean Output                                       (default: OFF) 
    208207!!   namnc4       netcdf4 chunking and compression settings             ("key_netcdf4") 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/tests/ICE_AGRIF/EXPREF/context_nemo.xml

    r9930 r12706  
    3939      <axis id="iax_20C" long_name="20 degC isotherm"   unit="degC"              /> 
    4040      <axis id="iax_28C" long_name="28 degC isotherm"   unit="degC"              /> 
     41      <axis id="deptht_surface" axis_ref="deptht" >  
     42   <zoom_axis begin=" 1 " n=" 1 " />  
     43      </axis> 
    4144    </axis_definition> 
    4245  
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/tests/ICE_AGRIF/EXPREF/namelist_cfg

    r12143 r12706  
    204204!!   nam_diaharm  Harmonic analysis of tidal constituents               (default: OFF) 
    205205!!   nam_diadct   transports through some sections                      (default: OFF) 
    206 !!   nam_diatmb   Top Middle Bottom Output                              (default: OFF) 
    207206!!   nam_dia25h   25h Mean Output                                       (default: OFF) 
    208207!!   namnc4       netcdf4 chunking and compression settings             ("key_netcdf4") 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/tests/ISOMIP/EXPREF/context_nemo.xml

    r12143 r12706  
    55--> 
    66<context id="nemo"> 
    7 <!-- $id$ --> 
     7    <!-- $id$ --> 
    88    <variable_definition> 
    9     <!-- Year of time origin for NetCDF files; defaults to 1800 --> 
    10        <variable id="ref_year" type="int"   > 1800 </variable> 
    11        <variable id="rau0"     type="float" > 1026.0 </variable> 
    12        <variable id="cpocean"  type="float" > 3991.86795711963 </variable> 
    13        <variable id="convSpsu" type="float" > 0.99530670233846  </variable> 
    14        <variable id="rhoic"    type="float" > 917.0 </variable> 
    15        <variable id="rhosn"    type="float" > 330.0 </variable> 
    16        <variable id="missval"  type="float" > 1.e20 </variable> 
     9       <!-- Year/Month/Day of time origin for NetCDF files; defaults to 1800-01-01 --> 
     10       <variable id="ref_year"  type="int"> 1900 </variable> 
     11       <variable id="ref_month" type="int"> 01 </variable> 
     12       <variable id="ref_day"   type="int"> 01 </variable> 
     13       <variable id="rau0"      type="float" > 1026.0 </variable> 
     14       <variable id="cpocean"   type="float" > 3991.86795711963 </variable> 
     15       <variable id="convSpsu"  type="float" > 0.99530670233846  </variable> 
     16       <variable id="rhoic"     type="float" > 917.0 </variable> 
     17       <variable id="rhosn"     type="float" > 330.0 </variable> 
     18       <variable id="missval"  type="float" > 1.e20 </variable>           
    1719    </variable_definition> 
     20 
    1821<!-- Fields definition --> 
    1922    <field_definition src="./field_def_nemo-oce.xml"/>   <!--  NEMO ocean dynamics                     --> 
     
    2124<!-- Files definition --> 
    2225    <file_definition src="./file_def_nemo-oce.xml"/>     <!--  NEMO ocean dynamics                     --> 
    23     <!--  
    24 ============================================================================================================ 
    25 = grid definition = = DO NOT CHANGE = 
    26 ============================================================================================================ 
    27     --> 
    28      
    29     <axis_definition> 
    30       <axis id="deptht"  long_name="Vertical T levels" unit="m" positive="down" /> 
    31       <axis id="depthu"  long_name="Vertical U levels" unit="m" positive="down" /> 
    32       <axis id="depthv"  long_name="Vertical V levels" unit="m" positive="down" /> 
    33       <axis id="depthw"  long_name="Vertical W levels" unit="m" positive="down" /> 
    34       <axis id="nfloat"  long_name="Float number"      unit="-"                 /> 
    35       <axis id="icbcla"  long_name="Iceberg class"     unit="1"                 /> 
    36       <axis id="ncatice" long_name="Ice category"      unit="1"                 /> 
    37       <axis id="iax_20C" long_name="20 degC isotherm"  unit="degC"              /> 
    38       <axis id="iax_28C" long_name="28 degC isotherm"  unit="degC"              /> 
    39     </axis_definition> 
     26 
     27<!-- Axis definition --> 
     28    <axis_definition src="./axis_def_nemo.xml"/> 
    4029  
     30<!-- Domain definition --> 
    4131    <domain_definition src="./domain_def_nemo.xml"/> 
     32 
     33<!-- Grids definition --> 
     34    <grid_definition   src="./grid_def_nemo.xml"/> 
    4235   
    43     <grid_definition src="./grid_def_nemo.xml"/> 
    4436 
    4537</context> 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/tests/ISOMIP/EXPREF/namelist_cfg

    r12143 r12706  
    430430!!   nam_diaharm  Harmonic analysis of tidal constituents               (default: OFF) 
    431431!!   nam_diadct   transports through some sections                      (default: OFF) 
    432 !!   nam_diatmb   Top Middle Bottom Output                              (default: OFF) 
    433432!!   nam_dia25h   25h Mean Output                                       (default: OFF) 
    434433!!   namnc4       netcdf4 chunking and compression settings             ("key_netcdf4") 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/tests/LOCK_EXCHANGE/EXPREF/context_nemo.xml

    r12143 r12706  
    55--> 
    66<context id="nemo"> 
    7 <!-- $id$ --> 
     7    <!-- $id$ --> 
    88    <variable_definition> 
    9     <!-- Year of time origin for NetCDF files; defaults to 1800 --> 
    10        <variable id="ref_year" type="int"   > 1800 </variable> 
    11        <variable id="rau0"     type="float" > 1026.0 </variable> 
    12        <variable id="cpocean"  type="float" > 3991.86795711963 </variable> 
    13        <variable id="convSpsu" type="float" > 0.99530670233846  </variable> 
    14        <variable id="rhoic"    type="float" > 917.0 </variable> 
    15        <variable id="rhosn"    type="float" > 330.0 </variable> 
    16        <variable id="missval"  type="float" > 1.e20 </variable> 
     9       <!-- Year/Month/Day of time origin for NetCDF files; defaults to 1800-01-01 --> 
     10       <variable id="ref_year"  type="int"> 1900 </variable> 
     11       <variable id="ref_month" type="int"> 01 </variable> 
     12       <variable id="ref_day"   type="int"> 01 </variable> 
     13       <variable id="rau0"      type="float" > 1026.0 </variable> 
     14       <variable id="cpocean"   type="float" > 3991.86795711963 </variable> 
     15       <variable id="convSpsu"  type="float" > 0.99530670233846  </variable> 
     16       <variable id="rhoic"     type="float" > 917.0 </variable> 
     17       <variable id="rhosn"     type="float" > 330.0 </variable> 
     18       <variable id="missval"  type="float" > 1.e20 </variable>           
    1719    </variable_definition> 
     20 
    1821<!-- Fields definition --> 
    1922    <field_definition src="./field_def_nemo-oce.xml"/>   <!--  NEMO ocean dynamics                     --> 
     
    2124<!-- Files definition --> 
    2225    <file_definition src="./file_def_nemo-oce.xml"/>     <!--  NEMO ocean dynamics                     --> 
    23     <!--  
    24 ============================================================================================================ 
    25 = grid definition = = DO NOT CHANGE = 
    26 ============================================================================================================ 
    27     --> 
    28      
    29     <axis_definition> 
    30       <axis id="deptht"  long_name="Vertical T levels" unit="m" positive="down" /> 
    31       <axis id="depthu"  long_name="Vertical U levels" unit="m" positive="down" /> 
    32       <axis id="depthv"  long_name="Vertical V levels" unit="m" positive="down" /> 
    33       <axis id="depthw"  long_name="Vertical W levels" unit="m" positive="down" /> 
    34       <axis id="nfloat"  long_name="Float number"      unit="-"                 /> 
    35       <axis id="icbcla"  long_name="Iceberg class"     unit="1"                 /> 
    36       <axis id="ncatice" long_name="Ice category"      unit="1"                 /> 
    37       <axis id="iax_20C" long_name="20 degC isotherm"  unit="degC"              /> 
    38       <axis id="iax_28C" long_name="28 degC isotherm"  unit="degC"              /> 
    39     </axis_definition> 
     26 
     27<!-- Axis definition --> 
     28    <axis_definition src="./axis_def_nemo.xml"/> 
    4029  
     30<!-- Domain definition --> 
    4131    <domain_definition src="./domain_def_nemo.xml"/> 
     32 
     33<!-- Grids definition --> 
     34    <grid_definition   src="./grid_def_nemo.xml"/> 
    4235   
    43     <grid_definition src="./grid_def_nemo.xml"/> 
    4436 
    4537</context> 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/tests/LOCK_EXCHANGE/EXPREF/namelist_FCT2_flux_ubs_cfg

    r12143 r12706  
    278278!!   nam_diaharm  Harmonic analysis of tidal constituents               (default: OFF) 
    279279!!   nam_diadct   transports through some sections                      (default: OFF) 
    280 !!   nam_diatmb   Top Middle Bottom Output                              (default: OFF) 
    281280!!   nam_dia25h   25h Mean Output                                       (default: OFF) 
    282281!!   namnc4       netcdf4 chunking and compression settings             ("key_netcdf4") 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/tests/OVERFLOW/EXPREF/context_nemo.xml

    r12143 r12706  
    55--> 
    66<context id="nemo"> 
    7 <!-- $id$ --> 
     7    <!-- $id$ --> 
    88    <variable_definition> 
    9     <!-- Year of time origin for NetCDF files; defaults to 1800 --> 
    10        <variable id="ref_year" type="int"   > 1800 </variable> 
    11        <variable id="rau0"     type="float" > 1026.0 </variable> 
    12        <variable id="cpocean"  type="float" > 3991.86795711963 </variable> 
    13        <variable id="convSpsu" type="float" > 0.99530670233846  </variable> 
    14        <variable id="rhoic"    type="float" > 917.0 </variable> 
    15        <variable id="rhosn"    type="float" > 330.0 </variable> 
    16        <variable id="missval"  type="float" > 1.e20 </variable> 
     9       <!-- Year/Month/Day of time origin for NetCDF files; defaults to 1800-01-01 --> 
     10       <variable id="ref_year"  type="int"> 1900 </variable> 
     11       <variable id="ref_month" type="int"> 01 </variable> 
     12       <variable id="ref_day"   type="int"> 01 </variable> 
     13       <variable id="rau0"      type="float" > 1026.0 </variable> 
     14       <variable id="cpocean"   type="float" > 3991.86795711963 </variable> 
     15       <variable id="convSpsu"  type="float" > 0.99530670233846  </variable> 
     16       <variable id="rhoic"     type="float" > 917.0 </variable> 
     17       <variable id="rhosn"     type="float" > 330.0 </variable> 
     18       <variable id="missval"  type="float" > 1.e20 </variable>           
    1719    </variable_definition> 
     20 
    1821<!-- Fields definition --> 
    1922    <field_definition src="./field_def_nemo-oce.xml"/>   <!--  NEMO ocean dynamics                     --> 
     
    2124<!-- Files definition --> 
    2225    <file_definition src="./file_def_nemo-oce.xml"/>     <!--  NEMO ocean dynamics                     --> 
    23     <!--  
    24 ============================================================================================================ 
    25 = grid definition = = DO NOT CHANGE = 
    26 ============================================================================================================ 
    27     --> 
    28      
    29     <axis_definition> 
    30       <axis id="deptht"  long_name="Vertical T levels" unit="m" positive="down" /> 
    31       <axis id="depthu"  long_name="Vertical U levels" unit="m" positive="down" /> 
    32       <axis id="depthv"  long_name="Vertical V levels" unit="m" positive="down" /> 
    33       <axis id="depthw"  long_name="Vertical W levels" unit="m" positive="down" /> 
    34       <axis id="nfloat"  long_name="Float number"      unit="-"                 /> 
    35       <axis id="icbcla"  long_name="Iceberg class"     unit="1"                 /> 
    36       <axis id="ncatice" long_name="Ice category"      unit="1"                 /> 
    37       <axis id="iax_20C" long_name="20 degC isotherm"  unit="degC"              /> 
    38       <axis id="iax_28C" long_name="28 degC isotherm"  unit="degC"              /> 
    39     </axis_definition> 
     26 
     27<!-- Axis definition --> 
     28    <axis_definition src="./axis_def_nemo.xml"/> 
    4029  
     30<!-- Domain definition --> 
    4131    <domain_definition src="./domain_def_nemo.xml"/> 
     32 
     33<!-- Grids definition --> 
     34    <grid_definition   src="./grid_def_nemo.xml"/> 
    4235   
    43     <grid_definition src="./grid_def_nemo.xml"/> 
    4436 
    4537</context> 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/tests/OVERFLOW/EXPREF/namelist_zps_FCT4_flux_ubs_cfg

    r12143 r12706  
    296296!!   nam_diaharm  Harmonic analysis of tidal constituents               (default: OFF) 
    297297!!   nam_diadct   transports through some sections                      (default: OFF) 
    298 !!   nam_diatmb   Top Middle Bottom Output                              (default: OFF) 
    299298!!   nam_dia25h   25h Mean Output                                       (default: OFF) 
    300299!!   namnc4       netcdf4 chunking and compression settings             ("key_netcdf4") 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/tests/VORTEX/EXPREF/1_context_nemo.xml

    r9930 r12706  
    55--> 
    66<context id="1_nemo"> 
    7 <!-- $id$ --> 
     7    <!-- $id$ --> 
     8    <variable_definition> 
     9       <!-- Year/Month/Day of time origin for NetCDF files; defaults to 1800-01-01 --> 
     10       <variable id="ref_year"  type="int"> 1900 </variable> 
     11       <variable id="ref_month" type="int"> 01 </variable> 
     12       <variable id="ref_day"   type="int"> 01 </variable> 
     13       <variable id="rau0"      type="float" > 1026.0 </variable> 
     14       <variable id="cpocean"   type="float" > 3991.86795711963 </variable> 
     15       <variable id="convSpsu"  type="float" > 0.99530670233846  </variable> 
     16       <variable id="rhoic"     type="float" > 917.0 </variable> 
     17       <variable id="rhosn"     type="float" > 330.0 </variable> 
     18       <variable id="missval"  type="float" > 1.e20 </variable>           
     19    </variable_definition> 
     20 
    821<!-- Fields definition --> 
    922    <field_definition src="./field_def_nemo-oce.xml"/>   <!--  NEMO ocean dynamics                     --> 
     
    1124<!-- Files definition --> 
    1225    <file_definition src="./file_def_nemo-oce.xml"/>     <!--  NEMO ocean dynamics                     --> 
    13     <!--  
    14 ============================================================================================================ 
    15 = grid definition = = DO NOT CHANGE = 
    16 ============================================================================================================ 
    17     --> 
    18      
    19     <axis_definition> 
    20       <axis id="deptht" long_name="Vertical T levels" unit="m" positive="down" /> 
    21       <axis id="depthu" long_name="Vertical U levels" unit="m" positive="down" /> 
    22       <axis id="depthv" long_name="Vertical V levels" unit="m" positive="down" /> 
    23       <axis id="depthw" long_name="Vertical W levels" unit="m" positive="down" /> 
    24       <axis id="nfloat" long_name="Float number"      unit="-"                 /> 
    25       <axis id="icbcla"  long_name="Iceberg class"      unit="1"               /> 
    26       <axis id="ncatice" long_name="Ice category"       unit="1"               /> 
    27       <axis id="iax_20C" long_name="20 degC isotherm"   unit="degC"            /> 
    28       <axis id="iax_28C" long_name="28 degC isotherm"   unit="degC"            /> 
    29     </axis_definition> 
     26 
     27<!-- Axis definition --> 
     28    <axis_definition src="./axis_def_nemo.xml"/> 
    3029  
     30<!-- Domain definition --> 
    3131    <domain_definition src="./domain_def_nemo.xml"/> 
     32 
     33<!-- Grids definition --> 
     34    <grid_definition   src="./grid_def_nemo.xml"/> 
    3235   
    33     <grid_definition src="./grid_def_nemo.xml"/> 
    34      
     36 
    3537</context> 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/tests/VORTEX/EXPREF/1_namelist_cfg

    r12143 r12706  
    275275!!   nam_diaharm  Harmonic analysis of tidal constituents               (default: OFF) 
    276276!!   nam_diadct   transports through some sections                      (default: OFF) 
    277 !!   nam_diatmb   Top Middle Bottom Output                              (default: OFF) 
    278277!!   nam_dia25h   25h Mean Output                                       (default: OFF) 
    279278!!   namnc4       netcdf4 chunking and compression settings             ("key_netcdf4") 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/tests/VORTEX/EXPREF/context_nemo.xml

    r12143 r12706  
    55--> 
    66<context id="nemo"> 
    7 <!-- $id$ --> 
     7    <!-- $id$ --> 
    88    <variable_definition> 
    9     <!-- Year of time origin for NetCDF files; defaults to 1800 --> 
    10        <variable id="ref_year" type="int"   > 1800 </variable> 
    11        <variable id="rau0"     type="float" > 1026.0 </variable> 
    12        <variable id="cpocean"  type="float" > 3991.86795711963 </variable> 
    13        <variable id="convSpsu" type="float" > 0.99530670233846  </variable> 
    14        <variable id="rhoic"    type="float" > 917.0 </variable> 
    15        <variable id="rhosn"    type="float" > 330.0 </variable> 
    16        <variable id="missval"  type="float" > 1.e20 </variable> 
     9       <!-- Year/Month/Day of time origin for NetCDF files; defaults to 1800-01-01 --> 
     10       <variable id="ref_year"  type="int"> 1900 </variable> 
     11       <variable id="ref_month" type="int"> 01 </variable> 
     12       <variable id="ref_day"   type="int"> 01 </variable> 
     13       <variable id="rau0"      type="float" > 1026.0 </variable> 
     14       <variable id="cpocean"   type="float" > 3991.86795711963 </variable> 
     15       <variable id="convSpsu"  type="float" > 0.99530670233846  </variable> 
     16       <variable id="rhoic"     type="float" > 917.0 </variable> 
     17       <variable id="rhosn"     type="float" > 330.0 </variable> 
     18       <variable id="missval"  type="float" > 1.e20 </variable>           
    1719    </variable_definition> 
     20 
    1821<!-- Fields definition --> 
    1922    <field_definition src="./field_def_nemo-oce.xml"/>   <!--  NEMO ocean dynamics                     --> 
     
    2124<!-- Files definition --> 
    2225    <file_definition src="./file_def_nemo-oce.xml"/>     <!--  NEMO ocean dynamics                     --> 
    23     <!--  
    24 ============================================================================================================ 
    25 = grid definition = = DO NOT CHANGE = 
    26 ============================================================================================================ 
    27     --> 
    28      
    29     <axis_definition> 
    30       <axis id="deptht"  long_name="Vertical T levels" unit="m" positive="down" /> 
    31       <axis id="depthu"  long_name="Vertical U levels" unit="m" positive="down" /> 
    32       <axis id="depthv"  long_name="Vertical V levels" unit="m" positive="down" /> 
    33       <axis id="depthw"  long_name="Vertical W levels" unit="m" positive="down" /> 
    34       <axis id="nfloat"  long_name="Float number"      unit="-"                 /> 
    35       <axis id="icbcla"  long_name="Iceberg class"     unit="1"                 /> 
    36       <axis id="ncatice" long_name="Ice category"      unit="1"                 /> 
    37       <axis id="iax_20C" long_name="20 degC isotherm"  unit="degC"              /> 
    38       <axis id="iax_28C" long_name="28 degC isotherm"  unit="degC"              /> 
    39     </axis_definition> 
     26 
     27<!-- Axis definition --> 
     28    <axis_definition src="./axis_def_nemo.xml"/> 
    4029  
     30<!-- Domain definition --> 
    4131    <domain_definition src="./domain_def_nemo.xml"/> 
     32 
     33<!-- Grids definition --> 
     34    <grid_definition   src="./grid_def_nemo.xml"/> 
    4235   
    43     <grid_definition src="./grid_def_nemo.xml"/> 
    4436 
    4537</context> 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/tests/VORTEX/EXPREF/namelist_cfg

    r12143 r12706  
    266266!!   nam_diaharm  Harmonic analysis of tidal constituents               (default; OFF) 
    267267!!   nam_diadct   transports through some sections                      (default: OFF) 
    268 !!   nam_diatmb   Top Middle Bottom Output                              (default: OFF) 
    269268!!   nam_dia25h   25h Mean Output                                       (default: OFF) 
    270269!!   namnc4       netcdf4 chunking and compression settings             ("key_netcdf4") 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/tests/WAD/EXPREF/context_nemo.xml

    r12143 r12706  
    55--> 
    66<context id="nemo"> 
    7 <!-- $id$ --> 
     7    <!-- $id$ --> 
    88    <variable_definition> 
    9     <!-- Year of time origin for NetCDF files; defaults to 1800 --> 
    10        <variable id="ref_year" type="int"   > 1800 </variable> 
    11        <variable id="rau0"     type="float" > 1026.0 </variable> 
    12        <variable id="cpocean"  type="float" > 3991.86795711963 </variable> 
    13        <variable id="convSpsu" type="float" > 0.99530670233846  </variable> 
    14        <variable id="rhoic"    type="float" > 917.0 </variable> 
    15        <variable id="rhosn"    type="float" > 330.0 </variable> 
    16        <variable id="missval"  type="float" > 1.e20 </variable> 
     9       <!-- Year/Month/Day of time origin for NetCDF files; defaults to 1800-01-01 --> 
     10       <variable id="ref_year"  type="int"> 1900 </variable> 
     11       <variable id="ref_month" type="int"> 01 </variable> 
     12       <variable id="ref_day"   type="int"> 01 </variable> 
     13       <variable id="rau0"      type="float" > 1026.0 </variable> 
     14       <variable id="cpocean"   type="float" > 3991.86795711963 </variable> 
     15       <variable id="convSpsu"  type="float" > 0.99530670233846  </variable> 
     16       <variable id="rhoic"     type="float" > 917.0 </variable> 
     17       <variable id="rhosn"     type="float" > 330.0 </variable> 
     18       <variable id="missval"  type="float" > 1.e20 </variable>           
    1719    </variable_definition> 
     20 
    1821<!-- Fields definition --> 
    1922    <field_definition src="./field_def_nemo-oce.xml"/>   <!--  NEMO ocean dynamics                     --> 
     
    2124<!-- Files definition --> 
    2225    <file_definition src="./file_def_nemo-oce.xml"/>     <!--  NEMO ocean dynamics                     --> 
    23     <!--  
    24 ============================================================================================================ 
    25 = grid definition = = DO NOT CHANGE = 
    26 ============================================================================================================ 
    27     --> 
    28      
    29     <axis_definition> 
    30       <axis id="deptht"  long_name="Vertical T levels" unit="m" positive="down" /> 
    31       <axis id="depthu"  long_name="Vertical U levels" unit="m" positive="down" /> 
    32       <axis id="depthv"  long_name="Vertical V levels" unit="m" positive="down" /> 
    33       <axis id="depthw"  long_name="Vertical W levels" unit="m" positive="down" /> 
    34       <axis id="nfloat"  long_name="Float number"      unit="-"                 /> 
    35       <axis id="icbcla"  long_name="Iceberg class"     unit="1"                 /> 
    36       <axis id="ncatice" long_name="Ice category"      unit="1"                 /> 
    37       <axis id="iax_20C" long_name="20 degC isotherm"  unit="degC"              /> 
    38       <axis id="iax_28C" long_name="28 degC isotherm"  unit="degC"              /> 
    39     </axis_definition> 
     26 
     27<!-- Axis definition --> 
     28    <axis_definition src="./axis_def_nemo.xml"/> 
    4029  
     30<!-- Domain definition --> 
    4131    <domain_definition src="./domain_def_nemo.xml"/> 
     32 
     33<!-- Grids definition --> 
     34    <grid_definition   src="./grid_def_nemo.xml"/> 
    4235   
    43     <grid_definition src="./grid_def_nemo.xml"/> 
    4436 
    4537</context> 
  • NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/tests/WAD/EXPREF/namelist_cfg

    r12143 r12706  
    424424!!   nam_diaharm  Harmonic analysis of tidal constituents               (default: OFF) 
    425425!!   nam_diadct   transports through some sections                      (default: OFF) 
    426 !!   nam_diatmb   Top Middle Bottom Output                              (default: OFF) 
    427426!!   nam_dia25h   25h Mean Output                                       (default: OFF) 
    428427!!   namnc4       netcdf4 chunking and compression settings             ("key_netcdf4") 
Note: See TracChangeset for help on using the changeset viewer.