Changeset 12706 for NEMO/branches
- Timestamp:
- 2020-04-07T18:34:56+02:00 (4 years ago)
- 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 5 5 --> 6 6 <context id="1_nemo"> 7 <!-- $id$ -->7 <!-- $id$ --> 8 8 <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> 17 19 </variable_definition> 20 18 21 <!-- 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 21 25 22 26 <!-- 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"/> 42 32 33 <!-- Domain definition --> 43 34 <domain_definition src="./domain_def_nemo.xml"/> 35 36 <!-- Grids definition --> 37 <grid_definition src="./grid_def_nemo.xml"/> 44 38 45 <grid_definition src="./grid_def_nemo.xml"/>46 39 47 40 </context> -
NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/cfgs/AGRIF_DEMO/EXPREF/1_namelist_cfg
r12143 r12706 366 366 !! nam_diaharm Harmonic analysis of tidal constituents (default: OFF) 367 367 !! nam_diadct transports through some sections (default: OFF) 368 !! nam_diatmb Top Middle Bottom Output (default: OFF)369 368 !! nam_dia25h 25h Mean Output (default: OFF) 370 369 !! 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 5 5 --> 6 6 <context id="2_nemo"> 7 <!-- $id$ -->7 <!-- $id$ --> 8 8 <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> 17 19 </variable_definition> 20 18 21 <!-- 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 21 25 22 26 <!-- 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"/> 42 32 33 <!-- Domain definition --> 43 34 <domain_definition src="./domain_def_nemo.xml"/> 35 36 <!-- Grids definition --> 37 <grid_definition src="./grid_def_nemo.xml"/> 44 38 45 <grid_definition src="./grid_def_nemo.xml"/>46 39 47 40 </context> -
NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/cfgs/AGRIF_DEMO/EXPREF/2_namelist_cfg
r12143 r12706 315 315 !! nam_diaharm Harmonic analysis of tidal constituents (default: OFF) 316 316 !! nam_diadct transports through some sections (default: OFF) 317 !! nam_diatmb Top Middle Bottom Output (default: OFF)318 317 !! nam_dia25h 25h Mean Output (default: OFF) 319 318 !! 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 5 5 --> 6 6 <context id="3_nemo"> 7 <!-- $id$ -->7 <!-- $id$ --> 8 8 <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> 17 19 </variable_definition> 20 18 21 <!-- 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 21 25 22 26 <!-- 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"/> 42 32 33 <!-- Domain definition --> 43 34 <domain_definition src="./domain_def_nemo.xml"/> 35 36 <!-- Grids definition --> 37 <grid_definition src="./grid_def_nemo.xml"/> 44 38 45 <grid_definition src="./grid_def_nemo.xml"/>46 39 47 40 </context> -
NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/cfgs/AGRIF_DEMO/EXPREF/3_namelist_cfg
r12143 r12706 315 315 !! nam_diaharm Harmonic analysis of tidal constituents (default: OFF) 316 316 !! nam_diadct transports through some sections (default: OFF) 317 !! nam_diatmb Top Middle Bottom Output (default: OFF)318 317 !! nam_dia25h 25h Mean Output (default: OFF) 319 318 !! 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 5 5 --> 6 6 <context id="nemo"> 7 <!-- $id$ -->7 <!-- $id$ --> 8 8 <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> 17 19 </variable_definition> 20 18 21 <!-- 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 21 25 22 26 <!-- 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"/> 42 32 33 <!-- Domain definition --> 43 34 <domain_definition src="./domain_def_nemo.xml"/> 35 36 <!-- Grids definition --> 37 <grid_definition src="./grid_def_nemo.xml"/> 44 38 45 <grid_definition src="./grid_def_nemo.xml"/>46 39 47 40 </context> -
NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/cfgs/AGRIF_DEMO/EXPREF/namelist_cfg
r12143 r12706 366 366 !! nam_diaharm Harmonic analysis of tidal constituents (default: OFF) 367 367 !! nam_diadct transports through some sections (default: OFF) 368 !! nam_diatmb Top Middle Bottom Output (default: OFF)369 368 !! nam_dia25h 25h Mean Output (default: OFF) 370 369 !! 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 5 5 --> 6 6 <context id="nemo"> 7 <!-- $id$ -->7 <!-- $id$ --> 8 8 <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> 17 19 </variable_definition> 20 18 21 <!-- 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 --> 20 23 21 24 <!-- Files definition --> 22 25 <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"/> 40 29 30 <!-- Domain definition --> 41 31 <domain_definition src="./domain_def_nemo.xml"/> 32 33 <!-- Grids definition --> 34 <grid_definition src="./grid_def_nemo.xml"/> 42 35 43 <grid_definition src="./grid_def_nemo.xml"/>44 36 45 37 </context> -
NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/cfgs/AMM12/EXPREF/file_def_nemo-oce.xml
r10641 r12706 13 13 <file_group id="1ts" output_freq="1ts" output_level="10" enabled=".TRUE."/> <!-- 1 time step files --> 14 14 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 --> 17 17 <file_group id="1h" output_freq="1h" output_level="10" enabled=".TRUE." > 18 18 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 43 36 </file_group> 44 37 -
NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/cfgs/AMM12/EXPREF/namelist_cfg
r12143 r12706 353 353 !! nam_diaharm Harmonic analysis of tidal constituents (default: OFF) 354 354 !! nam_diadct transports through some sections (default: OFF) 355 !! nam_diatmb Top Middle Bottom Output (default: OFF)356 355 !! nam_dia25h 25h Mean Output (default: OFF) 357 356 !! namnc4 netcdf4 chunking and compression settings ("key_netcdf4") 358 357 !!====================================================================== 359 358 ! 360 !-----------------------------------------------------------------------361 &nam_diatmb ! Top Middle Bottom Output (default F)362 !-----------------------------------------------------------------------363 ln_diatmb = .true. ! Choose Top Middle and Bottom output or not364 /365 359 !----------------------------------------------------------------------- 366 360 &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 5 5 --> 6 6 <context id="nemo"> 7 <!-- $id$ --> 7 <!-- $id$ --> 8 8 9 <!-- Fields definition --> 9 10 <field_definition src="./field_def_nemo-oce.xml"/> <!-- NEMO ocean dynamics --> … … 11 12 <!-- Files definition --> 12 13 <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"/> 30 17 18 <!-- Domain definition --> 31 19 <domain_definition src="./domain_def_nemo.xml"/> 20 21 <!-- Grids definition --> 22 <grid_definition src="./grid_def_nemo.xml"/> 32 23 33 <grid_definition src="./grid_def_nemo.xml"/> 34 24 35 25 </context> -
NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/cfgs/C1D_PAPA/EXPREF/namelist_cfg
r12143 r12706 423 423 !! nam_diaharm Harmonic analysis of tidal constituents (default: OFF) 424 424 !! nam_diadct transports through some sections (default: OFF) 425 !! nam_diatmb Top Middle Bottom Output (default: OFF)426 425 !! nam_dia25h 25h Mean Output (default: OFF) 427 426 !! namnc4 netcdf4 chunking and compression settings ("key_netcdf4") … … 454 453 !----------------------------------------------------------------------- 455 454 &nam_diadct ! transports through some sections (default: OFF) 456 !-----------------------------------------------------------------------457 /458 !-----------------------------------------------------------------------459 &nam_diatmb ! Top Middle Bottom Output (default: OFF)460 455 !----------------------------------------------------------------------- 461 456 / -
NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/cfgs/GYRE_BFM/EXPREF/context_nemo.xml
r12143 r12706 5 5 --> 6 6 <context id="nemo"> 7 <!-- $id$ -->7 <!-- $id$ --> 8 8 <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> 17 19 </variable_definition> 20 18 21 <!-- 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 --> 20 23 <field_definition src="./field_def_nemo-pisces.xml"/> <!-- NEMO ocean dynamics --> 21 24 25 22 26 <!-- 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"/> 41 31 32 <!-- Domain definition --> 42 33 <domain_definition src="./domain_def_nemo.xml"/> 34 35 <!-- Grids definition --> 36 <grid_definition src="./grid_def_nemo.xml"/> 43 37 44 <grid_definition src="./grid_def_nemo.xml"/>45 38 46 39 </context> -
NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/cfgs/GYRE_BFM/EXPREF/namelist_cfg
r12143 r12706 230 230 !! nam_diaharm Harmonic analysis of tidal constituents (default: OFF) 231 231 !! nam_diadct transports through some sections (default: OFF) 232 !! nam_diatmb Top Middle Bottom Output (default: OFF)233 232 !! nam_dia25h 25h Mean Output (default: OFF) 234 233 !! 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 5 5 --> 6 6 <context id="nemo"> 7 <!-- $id$ -->7 <!-- $id$ --> 8 8 <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> 17 19 </variable_definition> 20 18 21 <!-- 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 --> 20 23 <field_definition src="./field_def_nemo-pisces.xml"/> <!-- NEMO ocean dynamics --> 21 24 25 22 26 <!-- 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"/> 41 31 32 <!-- Domain definition --> 42 33 <domain_definition src="./domain_def_nemo.xml"/> 34 35 <!-- Grids definition --> 36 <grid_definition src="./grid_def_nemo.xml"/> 43 37 44 <grid_definition src="./grid_def_nemo.xml"/>45 38 46 39 </context> -
NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/cfgs/GYRE_PISCES/EXPREF/namelist_cfg
r12143 r12706 224 224 !! nam_diaharm Harmonic analysis of tidal constituents (default: OFF) 225 225 !! nam_diadct transports through some sections (default: OFF) 226 !! nam_diatmb Top Middle Bottom Output (default: OFF)227 226 !! nam_dia25h 25h Mean Output (default: OFF) 228 227 !! 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 5 5 --> 6 6 <context id="nemo"> 7 <!-- $id$ -->7 <!-- $id$ --> 8 8 <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> 17 19 </variable_definition> 20 18 21 <!-- 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 --> 22 25 23 26 <!-- 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"/> 45 34 35 <!-- Domain definition --> 46 36 <domain_definition src="./domain_def_nemo.xml"/> 37 38 <!-- Grids definition --> 39 <grid_definition src="./grid_def_nemo.xml"/> 47 40 48 <grid_definition src="./grid_def_nemo.xml"/> 49 41 50 42 </context> -
NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/cfgs/ORCA2_ICE_PISCES/EXPREF/file_def_nemo-ice.xml
r12143 r12706 117 117 118 118 </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 119 137 120 138 <file_group id="1ts" output_freq="1ts" output_level="10" enabled=".TRUE."/> <!-- 1 time step files --> … … 124 142 <file_group id="4h" output_freq="4h" output_level="10" enabled=".TRUE."/> <!-- 4h files --> 125 143 <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 -->127 144 <file_group id="2m" output_freq="2mo" output_level="10" enabled=".TRUE."/> <!-- real 2m files --> 128 145 <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 100 100 101 101 <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 102 135 </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 103 146 104 147 <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 394 394 !! nam_diaharm Harmonic analysis of tidal constituents (default: OFF) 395 395 !! nam_diadct transports through some sections (default: OFF) 396 !! nam_diatmb Top Middle Bottom Output (default: OFF)397 396 !! nam_dia25h 25h Mean Output (default: OFF) 398 397 !! 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 5 5 --> 6 6 <context id="nemo"> 7 <!-- $id$ -->7 <!-- $id$ --> 8 8 <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> 17 19 </variable_definition> 20 18 21 <!-- 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 --> 21 24 22 25 <!-- 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"/> 42 31 32 <!-- Domain definition --> 43 33 <domain_definition src="./domain_def_nemo.xml"/> 34 35 <!-- Grids definition --> 36 <grid_definition src="./grid_def_nemo.xml"/> 44 37 45 <grid_definition src="./grid_def_nemo.xml"/> 46 38 47 39 </context> -
NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/cfgs/ORCA2_OFF_PISCES/EXPREF/namelist_cfg
r12143 r12706 379 379 !! nam_diaharm Harmonic analysis of tidal constituents (default: OFF) 380 380 !! nam_diadct transports through some sections (default: OFF) 381 !! nam_diatmb Top Middle Bottom Output (default: OFF)382 381 !! nam_dia25h 25h Mean Output (default: OFF) 383 382 !! namnc4 netcdf4 chunking and compression settings ("key_netcdf4") … … 410 409 !----------------------------------------------------------------------- 411 410 &nam_diadct ! transports through some sections (default: OFF) 412 !-----------------------------------------------------------------------413 /414 !-----------------------------------------------------------------------415 &nam_diatmb ! Top Middle Bottom Output (default: OFF)416 411 !----------------------------------------------------------------------- 417 412 / -
NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/cfgs/ORCA2_OFF_TRC/EXPREF/context_nemo.xml
r12143 r12706 5 5 --> 6 6 <context id="nemo"> 7 <!-- $id$ -->7 <!-- $id$ --> 8 8 <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> 17 19 </variable_definition> 20 18 21 <!-- 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 --> 21 24 22 25 <!-- 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"/> 41 31 32 <!-- Domain definition --> 42 33 <domain_definition src="./domain_def_nemo.xml"/> 34 35 <!-- Grids definition --> 36 <grid_definition src="./grid_def_nemo.xml"/> 43 37 44 <grid_definition src="./grid_def_nemo.xml"/> 45 38 46 39 </context> -
NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/cfgs/ORCA2_OFF_TRC/EXPREF/namelist_cfg
r12143 r12706 377 377 !! nam_diaharm Harmonic analysis of tidal constituents ("key_diaharm") 378 378 !! namdct transports through some sections ("key_diadct") 379 !! nam_diatmb Top Middle Bottom Output (default: OFF)380 379 !! nam_dia25h 25h Mean Output (default: OFF) 381 380 !! namnc4 netcdf4 chunking and compression settings ("key_netcdf4") … … 408 407 !----------------------------------------------------------------------- 409 408 &namdct ! transports through some sections ("key_diadct") 410 !-----------------------------------------------------------------------411 /412 !-----------------------------------------------------------------------413 &nam_diatmb ! Top Middle Bottom Output (default: OFF)414 409 !----------------------------------------------------------------------- 415 410 / -
NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/cfgs/ORCA2_SAS_ICE/EXPREF/context_nemo.xml
r9930 r12706 5 5 --> 6 6 <context id="nemo"> 7 <!-- $id$ -->7 <!-- $id$ --> 8 8 <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> 17 19 </variable_definition> 20 18 21 <!-- Fields definition --> 19 22 <field_definition src="./field_def_nemo-oce.xml"/> <!-- NEMO ocean dynamics --> … … 23 26 <file_definition src="./file_def_nemo-oce.xml"/> <!-- NEMO ocean dynamics --> 24 27 <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"/> 42 32 33 <!-- Domain definition --> 43 34 <domain_definition src="./domain_def_nemo.xml"/> 35 36 <!-- Grids definition --> 37 <grid_definition src="./grid_def_nemo.xml"/> 44 38 45 <grid_definition src="./grid_def_nemo.xml"/>46 39 47 40 </context> -
NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/cfgs/ORCA2_SAS_ICE/EXPREF/namelist_cfg
r12143 r12706 180 180 !! nam_diaharm Harmonic analysis of tidal constituents (default: OFF) 181 181 !! nam_diadct transports through some sections (default: OFF) 182 !! nam_diatmb Top Middle Bottom Output (default: OFF)183 182 !! nam_dia25h 25h Mean Output (default: OFF) 184 183 !! 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 9 9 <zoom_domain ibegin="1" jbegin="1" ni="2" nj="3"/> 10 10 </domain> 11 12 <domain id="1point" domain_ref="grid_T" > 13 <zoom_domain ibegin="139" jbegin="119" ni="1" nj="1"/> 14 </domain> 15 11 16 12 17 <!-- Eq section --> … … 176 181 <domain id="EqW" domain_ref="grid_W" > <zoom_domain id="EqW"/> </domain> 177 182 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> 183 190 184 191 -
NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/cfgs/SHARED/field_def_nemo-ice.xml
r12143 r12706 228 228 229 229 <!-- 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 239 274 </field_group> <!-- SBC_2D --> 240 275 … … 296 331 <field id="sbgheat_tot" long_name="global mean snow heat content" unit="1e20J" /> 297 332 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 -->304 333 </field_group> 305 334 -
NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/cfgs/SHARED/field_def_nemo-oce.xml
r12143 r12706 19 19 20 20 <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"/> 25 29 <field id="toce" long_name="temperature" standard_name="sea_water_potential_temperature" unit="degC" grid_ref="grid_T_3D"/> 26 30 <field id="toce_e3t" long_name="temperature (thickness weighted)" unit="degC" grid_ref="grid_T_3D" > toce * e3t </field > 27 31 <field id="soce" long_name="salinity" standard_name="sea_water_practical_salinity" unit="1e-3" grid_ref="grid_T_3D"/> 28 32 <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 29 38 30 39 <!-- t-eddy viscosity coefficients (ldfdyn) --> … … 53 62 <field id="taubot" long_name="bottom stress module" unit="N/m2" /> 54 63 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 55 70 <field id="ssh" long_name="sea surface height" standard_name="sea_surface_height_above_geoid" unit="m" /> 56 71 <field id="ssh2" long_name="square of sea surface height" standard_name="square_of_sea_surface_height_above_geoid" unit="m2" > ssh * ssh </field > … … 92 107 <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" /> 93 108 <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" 109 <field id="BLT" long_name="Barrier Layer Thickness" unit="m" > topthdep - pycndep </field> 95 110 <field id="tinv" long_name="Max of vertical invertion of temperature" unit="degC" /> 96 111 <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" /> 99 115 <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" /> 100 118 101 119 <!-- variables available with diaar5 --> … … 315 333 316 334 <!-- 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" /> 318 337 <field id="evap_ao_cea" long_name="Evaporation over ice-free ocean (cell average)" standard_name="water_evaporation_flux" unit="kg/m2/s" /> 319 338 <field id="isnwmlt_cea" long_name="Snow over Ice melting (cell average)" standard_name="surface_snow_melt_flux" unit="kg/m2/s" /> … … 322 341 <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" /> 323 342 <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" /> 324 344 <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" /> 325 345 <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" /> … … 356 376 </field_group> 357 377 378 <!-- scalar variables --> 379 <field_group id="SBC_0D" grid_ref="grid_1point" > 380 </field_group> 358 381 359 382 </field_group> <!-- SBC --> … … 362 385 363 386 <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 369 401 <field id="ssu" long_name="ocean surface current along i-axis" unit="m/s" /> 370 402 <field id="sbu" long_name="ocean bottom current along i-axis" unit="m/s" /> … … 385 417 386 418 <!-- 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" /> 388 425 389 426 <!-- uoce_bbl: available with ln_trabbl=T and nn_bbl_adv=1 --> … … 399 436 <field id="utbl" long_name="zonal current in the Losh tbl" unit="m/s" /> 400 437 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" /> 402 440 <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" /> 403 441 <field id="u_heattr" long_name="ocean eulerian heat transport along i-axis" standard_name="ocean_heat_x_transport" unit="W" /> … … 405 443 <field id="uadv_heattr" long_name="ocean advective heat transport along i-axis" standard_name="advectice_ocean_heat_x_transport" unit="W" /> 406 444 <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" />411 445 <field id="udiff_heattr" long_name="ocean diffusion heat transport along i-axis" standard_name="ocean_heat_x_transport_due_to_diffusion" unit="W" /> 412 446 <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" /> … … 416 450 417 451 <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" /> 418 453 <field id="e3v" long_name="V-cell thickness" standard_name="cell_thickness" unit="m" grid_ref="grid_V_3D" /> 419 454 <field id="e3v_0" long_name="Initial V-cell thickness" standard_name="ref_cell_thickness" unit="m" grid_ref="grid_V_3D" /> … … 439 474 440 475 <!-- 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 442 483 443 484 <!-- voce_bbl: available with ln_trabbl=T and nn_bbl_adv=1 --> … … 459 500 <field id="vadv_heattr" long_name="ocean advective heat transport along j-axis" standard_name="advectice_ocean_heat_y_transport" unit="W" /> 460 501 <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" />465 502 <field id="vdiff_heattr" long_name="ocean diffusion heat transport along j-axis" standard_name="ocean_heat_y_transport_due_to_diffusion" unit="W" /> 466 503 <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" /> … … 471 508 <field_group id="grid_W" grid_ref="grid_W_3D"> 472 509 <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> 474 512 <field id="wocetr_eff" long_name="effective ocean vertical transport" unit="m3/s" /> 475 513 476 514 <!-- woce_eiv: available with EIV (ln_ldfeiv=T and ln_ldfeiv_dia=T) --> 477 515 <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> 480 522 <field id="logavt" long_name="logarithm of vertical eddy diffusivity" standard_name="ocean_vertical_heat_diffusivity" unit="m2/s" /> 481 523 <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> 482 525 483 526 <!-- avs: /= avt with ln_zdfddm=T --> 484 527 <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" /> 486 530 487 531 <!-- avt_evd and avm_evd: available with ln_zdfevd --> 488 532 <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" /> 490 535 491 536 <!-- avt_tide: available with ln_zdfiwm=T --> … … 518 563 <field id="masstot" long_name="global total mass" standard_name="sea_water_mass" unit="kg" /> 519 564 <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" /> 522 569 523 570 <!-- available with ln_diahsb --> … … 536 583 <field id="bgmissal" long_name="global mean salinity error due to free surface (linssh true)" unit="1e-3" /> 537 584 </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 --> 540 606 541 607 <field_group id="floatvar" grid_ref="grid_T_nfloat" operation="instant" > … … 571 637 <!-- Poleward transport : ptr --> 572 638 <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 644 667 645 668 <!-- … … 674 697 <field id="ttrd_totad" long_name="temperature-trend: total advection" standard_name="tendency_of_sea_water_salinity_due_to_advection" unit="degC/s" /> 675 698 <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)" 677 <field id="strd_sad" long_name="salinity -trend: surface adv. (linssh true)" 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" /> 678 701 <field id="ttrd_ldf" long_name="temperature-trend: lateral diffusion" standard_name="tendency_of_sea_water_temperature_due_to_horizontal_mixing" unit="degC/s" /> 679 702 <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" /> … … 732 755 <field id="ttrd_npc_e3t" unit="degC/s * m" > ttrd_npc * e3t </field> 733 756 <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> 736 759 <field id="ttrd_qsr_e3t" unit="degC/s * m" > ttrd_qsr * e3t </field> 737 760 <field id="ttrd_bbc_e3t" unit="degC/s * m" > ttrd_bbc * e3t </field> … … 935 958 <field_group id="groupU" > 936 959 <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" />938 960 <field field_ref="utau" name="tauuo" long_name="surface_downward_x_stress" /> 939 961 </field_group> … … 941 963 <field_group id="groupV" > 942 964 <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" />944 965 <field field_ref="vtau" name="tauvo" long_name="surface_downward_y_stress" /> 945 966 </field_group> … … 947 968 <field_group id="groupW" > 948 969 <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" />960 970 </field_group> 961 971 -
NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/cfgs/SHARED/field_def_nemo-pisces.xml
r12143 r12706 230 230 <field id="Kg" long_name="Gas transfer" unit="mol/m2/s/uatm" /> 231 231 <field id="Dpco2" long_name="Delta CO2" unit="uatm" /> 232 <field id="pCO2sea" long_name="surface ocean pCO2" unit="uatm" /> 232 233 <field id="Dpo2" long_name="Delta O2" unit="uatm" /> 233 234 <field id="Heup" long_name="Euphotic layer depth" unit="m" /> 235 <field id="AtmCo2" long_name="Atmospheric CO2 concentration" unit="ppm" /> 234 236 <field id="Irondep" long_name="Iron deposition from dust" unit="mol/m2/s" /> 235 237 <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" /> 237 239 <field id="FECOLL" long_name="Colloidal Pumping of FeL" unit="mmol-FeL/m3/s" grid_ref="grid_T_3D" /> 238 240 <field id="LGWCOLL" long_name="Coagulation loss of ligands" unit="mmol-L/m3/s" grid_ref="grid_T_3D" /> … … 250 252 <field id="FEZOO2" long_name="mesozooplankton iron recycling rate" unit="nmol-FeL/m3/s" grid_ref="grid_T_3D" /> 251 253 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 --> 252 264 <!-- dbio_T on T grid : variables available with diaar5 --> 253 265 <field id="TPP" long_name="Total Primary production of phyto" unit="mol/m3/s" grid_ref="grid_T_3D" /> … … 257 269 <field id="O2MIN" long_name="Oxygen minimum concentration" unit="mol/m3" /> 258 270 <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 > 267 280 268 281 <!-- 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 2 7 <grid_definition> 3 8 4 9 <!-- --> 5 10 <grid id="grid_T_2D" > 6 <domain id="grid_T" />11 <domain domain_ref="grid_T" /> 7 12 </grid> 8 13 <!-- --> 9 14 <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" /> 12 17 </grid> 13 18 <!-- --> 14 19 <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" /> 17 22 </grid> 18 23 <!-- --> 19 24 <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" /> 22 27 </grid> 23 28 <!-- --> 24 29 <grid id="grid_U_2D" > 25 <domain id="grid_U" />30 <domain domain_ref="grid_U" /> 26 31 </grid> 27 32 <!-- --> 28 33 <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" /> 31 36 </grid> 32 37 <!-- --> 33 38 <grid id="grid_V_2D" > 34 <domain id="grid_V" />39 <domain domain_ref="grid_V" /> 35 40 </grid> 36 41 <!-- --> 37 42 <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" /> 40 45 </grid> 41 46 <!-- --> 42 47 <grid id="grid_W_2D" > 43 <domain id="grid_W" />48 <domain domain_ref="grid_W" /> 44 49 </grid> 45 50 <!-- --> 46 51 <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"/> 49 58 </grid> 50 59 <!-- --> 51 60 <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 55 262 <!-- scalars --> 56 263 <grid id="grid_scalar" > 57 264 <scalar/> 58 265 </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 387 387 ln_sssr_bnd = .true. ! flag to bound erp term (associated with nn_sssr=2) 388 388 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 390 393 cn_dir = './' ! root directory for the SST/SSS data location 391 394 !___________!_________________________!___________________!___________!_____________!________!___________!__________________!__________!_______________! … … 1140 1143 !! nam_diaharm Harmonic analysis of tidal constituents (default: OFF) 1141 1144 !! nam_diadct transports through some sections (default: OFF) 1142 !! nam_diatmb Top Middle Bottom Output (default: OFF)1143 1145 !! nam_dia25h 25h Mean Output (default: OFF) 1144 1146 !! namnc4 netcdf4 chunking and compression settings ("key_netcdf4") … … 1216 1218 ! ! -1 : debug all section 1217 1219 ! ! 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 not1223 1220 / 1224 1221 !----------------------------------------------------------------------- -
NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/cfgs/SPITZ12/EXPREF/context_nemo.xml
r9930 r12706 5 5 --> 6 6 <context id="nemo"> 7 <!-- $id$ -->7 <!-- $id$ --> 8 8 <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> 17 19 </variable_definition> 20 18 21 <!-- Fields definition --> 19 22 <field_definition src="./field_def_nemo-oce.xml"/> <!-- NEMO ocean dynamics --> … … 23 26 <file_definition src="./file_def_nemo-oce.xml"/> <!-- NEMO ocean dynamics --> 24 27 <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"/> 42 32 33 <!-- Domain definition --> 43 34 <domain_definition src="./domain_def_nemo.xml"/> 35 36 <!-- Grids definition --> 37 <grid_definition src="./grid_def_nemo.xml"/> 44 38 45 <grid_definition src="./grid_def_nemo.xml"/>46 39 47 40 </context> -
NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/cfgs/SPITZ12/EXPREF/namelist_cfg
r12143 r12706 351 351 !! nam_diaharm Harmonic analysis of tidal constituents (default: OFF) 352 352 !! nam_diadct transports through some sections (default: OFF) 353 !! nam_diatmb Top Middle Bottom Output (default: OFF)354 353 !! nam_dia25h 25h Mean Output (default: OFF) 355 354 !! 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 2022 2022 2023 2023 %% ================================================================================================= 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 %% =================================================================================================2039 2024 \subsection{Courant numbers} 2040 2025 -
NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/ICE/icedyn_adv.F90
r12143 r12706 88 88 CASE( np_advPRA ) ! PRATHER scheme ! 89 89 ! !-----------------------! 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, & 91 91 & ato_i, v_i, v_s, sv_i, oa_i, a_i, a_ip, v_ip, e_s, e_i ) 92 92 END SELECT -
NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/ICE/icedyn_adv_pra.F90
r12143 r12706 54 54 CONTAINS 55 55 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, & 57 57 & pato_i, pv_i, pv_s, psv_i, poa_i, pa_i, pa_ip, pv_ip, pe_s, pe_i ) 58 58 !!---------------------------------------------------------------------- … … 70 70 REAL(wp), DIMENSION(:,:) , INTENT(in ) :: pu_ice ! ice i-velocity 71 71 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 72 75 REAL(wp), DIMENSION(:,:) , INTENT(inout) :: pato_i ! open water area 73 76 REAL(wp), DIMENSION(:,:,:) , INTENT(inout) :: pv_i ! ice volume … … 87 90 REAL(wp), DIMENSION(jpi,jpj) :: zati1, zati2 88 91 REAL(wp), DIMENSION(jpi,jpj) :: zudy, zvdx 92 REAL(wp), DIMENSION(jpi,jpj,jpl) :: zhi_max, zhs_max, zhip_max 89 93 REAL(wp), DIMENSION(jpi,jpj,jpl) :: zarea 90 94 REAL(wp), DIMENSION(jpi,jpj,jpl) :: z0ice, z0snw, z0ai, z0smi, z0oi … … 95 99 ! 96 100 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. ) 97 122 ! 98 123 ! --- If ice drift is too fast, use subtime steps for advection (CFL test for stability) --- ! … … 239 264 ! (because advected fields are not perfectly bounded and tiny negative values can occur, e.g. -1.e-20) 240 265 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 ) 241 270 ! 242 271 ! --- Ensure snow load is not too big --- ! … … 588 617 ! 589 618 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 590 687 591 688 -
NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/ICE/icedyn_adv_umx.F90
r12143 r12706 352 352 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 ) 353 353 ! 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 ! 358 361 END DO 359 362 ! … … 1514 1517 1515 1518 1516 SUBROUTINE Hbig( pdt, phi_max, phs_max, phip_max, pv_i, pv_s, p sv_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 ) 1517 1520 !!------------------------------------------------------------------- 1518 1521 !! *** ROUTINE Hbig *** … … 1525 1528 !! 2- check whether snow thickness is larger than the surrounding 9-points 1526 1529 !! (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 ocean1529 !! 4- correct pond concentration to avoid a_ip > a_i1530 1530 !! 1531 1531 !! ** input : Max thickness of the surrounding 9-points … … 1533 1533 REAL(wp) , INTENT(in ) :: pdt ! tracer time-step 1534 1534 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, p sv_i, poa_i, pa_i, pa_ip, pv_ip1535 REAL(wp), DIMENSION(:,:,:) , INTENT(inout) :: pv_i, pv_s, pa_i, pa_ip, pv_ip 1536 1536 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 1542 1540 !!------------------------------------------------------------------- 1543 1541 ! … … 1578 1576 pv_s(ji,jj,jl) = pa_i(ji,jj,jl) * phs_max(ji,jj,jl) 1579 1577 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 1580 1617 ! 1581 ! ! -- check snow load -- !1582 ! if snow load makes snow-ice interface to deplet below the ocean surface => put the snow excess in the ocean1583 ! 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)1585 1618 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 1587 1622 zfra = ( pv_s(ji,jj,jl) - zvs_excess ) / MAX( pv_s(ji,jj,jl), epsi20 ) 1588 1623 wfx_res(ji,jj) = wfx_res(ji,jj) + zvs_excess * rhos * z1_dt 1589 1624 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 1591 1626 pe_s(ji,jj,1:nlay_s,jl) = pe_s(ji,jj,1:nlay_s,jl) * zfra 1592 1627 pv_s(ji,jj,jl) = pv_s(ji,jj,jl) - zvs_excess 1593 1628 ENDIF 1594 1629 ! 1595 1630 ENDIF 1596 1631 END DO 1597 1632 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 -- ! 1600 1636 WHERE( pa_ip(:,:,:) > pa_i(:,:,:) ) pa_ip(:,:,:) = pa_i(:,:,:) 1601 1637 ! 1602 !1603 END SUBROUTINE Hbig 1604 1638 END SUBROUTINE Hsnow 1639 1640 1605 1641 #else 1606 1642 !!---------------------------------------------------------------------- -
NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/NST/agrif_user.F90
r12143 r12706 736 736 ! 737 737 ! 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') 741 741 ! 742 742 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 398 398 jpbdta = MAXVAL(nblendta(1:jpbgrd,1:nb_bdy)) 399 399 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 401 402 ! Calculate global boundary index arrays or read in from file 402 403 !------------------------------------------------------------ -
NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/OCE/BDY/bdyvol.F90
r12143 r12706 143 143 ! Check the cumulated transport through unstructured OBC once barotropic velocities corrected 144 144 ! ------------------------------------------------------ 145 IF( MOD( kt, nn_write) == 0 .AND. ( kc == 1 ) ) THEN145 IF( MOD( kt, MAX(nn_write,1) ) == 0 .AND. ( kc == 1 ) ) THEN 146 146 ! 147 147 ! compute residual transport across boundary -
NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/OCE/DIA/diaar5.F90
r10425 r12706 71 71 INTEGER, INTENT( in ) :: kt ! ocean time-step index 72 72 ! 73 INTEGER :: ji, jj, jk ! dummy loop arguments74 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 75 75 REAL(wp) :: zaw, zbw, zrw 76 76 ! 77 77 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: zarea_ssh , zbotpres ! 2D workspace 78 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: zpe 79 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: zrhd , zrhop 78 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: zpe, z2d ! 2D workspace 79 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: zrhd , zrhop, ztpot ! 3D workspace 80 80 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:,:) :: ztsn ! 4D workspace 81 81 … … 86 86 87 87 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) ) 89 89 ALLOCATE( zrhd(jpi,jpj,jpk) , zrhop(jpi,jpj,jpk) ) 90 90 ALLOCATE( ztsn(jpi,jpj,jpk,jpts) ) … … 92 92 ENDIF 93 93 ! 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 ! 94 117 IF( iom_use( 'voltot' ) .OR. iom_use( 'sshtot' ) .OR. iom_use( 'sshdyn' ) ) THEN 95 118 ! ! 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 99 121 100 122 CALL iom_put( 'voltot', zvol ) … … 118 140 DO ji = 1, jpi 119 141 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) 121 144 END DO 122 145 END DO … … 129 152 END IF 130 153 ! 131 zarho = SUM( area(:,:) * zbotpres(:,:) ) 132 CALL mpp_sum( 'diaar5', zarho ) 154 zarho = glob_sum( 'diaar5', area(:,:) * zbotpres(:,:) ) 133 155 zssh_steric = - zarho / area_tot 134 156 CALL iom_put( 'sshthster', zssh_steric ) … … 147 169 DO ji = 1,jpi 148 170 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) 150 173 END DO 151 174 END DO … … 155 178 END IF 156 179 ! 157 zarho = SUM( area(:,:) * zbotpres(:,:) ) 158 CALL mpp_sum( 'diaar5', zarho ) 180 zarho = glob_sum( 'diaar5', area(:,:) * zbotpres(:,:) ) 159 181 zssh_steric = - zarho / area_tot 160 182 CALL iom_put( 'sshsteric', zssh_steric ) 161 162 183 ! ! ocean bottom pressure 163 184 zztmp = rau0 * grav * 1.e-4_wp ! recover pressure from pressure anomaly and cover to dbar = 1.e4 Pa … … 168 189 169 190 IF( iom_use( 'masstot' ) .OR. iom_use( 'temptot' ) .OR. iom_use( 'saltot' ) ) THEN 170 ! ! Mean density anomalie, temperature and salinity171 ztemp = 0._wp172 zsal = 0._wp173 DO jk = 1, jpkm1174 DO jj = 1, jpj175 DO ji = 1, jpi176 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 ENDDO180 ENDDO181 END DO 182 IF( ln_linssh ) THEN191 ! ! 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 183 204 IF( ln_isfcav ) THEN 184 205 DO ji = 1, jpi 185 206 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) 188 210 END DO 189 211 END DO 190 212 ELSE 191 zt emp = ztemp + SUM( zarea_ssh(:,:) * tsn(:,:,1,jp_tem) )192 z sal = 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) 193 215 END IF 194 216 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 ) 203 221 ! 204 222 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 208 273 ENDIF 209 274 210 275 IF( iom_use( 'tnpeo' )) THEN 211 ! Work done against stratification by vertical mixing212 ! Exclude points where rn2 is negative as convection kicks in here and213 ! work is not being done against stratification276 ! 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 214 279 ALLOCATE( zpe(jpi,jpj) ) 215 280 zpe(:,:) = 0._wp … … 219 284 DO ji = 1, jpi 220 285 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) 226 287 ! 227 288 zaw = rab_n(ji,jj,jk,jp_tem) * (1. - zrw) + rab_n(ji,jj,jk-1,jp_tem)* zrw 228 289 zbw = rab_n(ji,jj,jk,jp_sal) * (1. - zrw) + rab_n(ji,jj,jk-1,jp_sal)* zrw 229 290 ! 230 zpe(ji, jj) = zpe(ji, jj)&291 zpe(ji, jj) = zpe(ji,jj) & 231 292 & - grav * ( avt(ji,jj,jk) * zaw * (tsn(ji,jj,jk-1,jp_tem) - tsn(ji,jj,jk,jp_tem) ) & 232 293 & - avs(ji,jj,jk) * zbw * (tsn(ji,jj,jk-1,jp_sal) - tsn(ji,jj,jk,jp_sal) ) ) … … 239 300 DO ji = 1, jpi 240 301 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) 242 303 END DO 243 304 END DO 244 305 END DO 245 306 ENDIF 246 !!gm useless lbc_lnk since the computation above is performed over 1:jpi & 1:jpj247 !!gm CALL lbc_lnk( 'diaar5', zpe, 'T', 1._wp)248 307 CALL iom_put( 'tnpeo', zpe ) 249 308 DEALLOCATE( zpe ) … … 251 310 252 311 IF( l_ar5 ) THEN 253 DEALLOCATE( zarea_ssh , zbotpres )312 DEALLOCATE( zarea_ssh , zbotpres, z2d ) 254 313 DEALLOCATE( zrhd , zrhop ) 255 314 DEALLOCATE( ztsn ) … … 287 346 CALL lbc_lnk( 'diaar5', z2d, 'U', -1. ) 288 347 IF( cptr == 'adv' ) THEN 289 IF( ktra == jp_tem ) CALL iom_put( "uadv_heattr", rau0_rcp * z2d ) ! advective heat transport in i-direction290 IF( ktra == jp_sal ) CALL iom_put( "uadv_salttr", rau0 * z2d ) ! advective salt transport in i-direction348 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 291 350 ENDIF 292 351 IF( cptr == 'ldf' ) THEN 293 IF( ktra == jp_tem ) CALL iom_put( "udiff_heattr", rau0_rcp * z2d ) ! diffusive heat transport in i-direction294 IF( ktra == jp_sal ) CALL iom_put( "udiff_salttr", rau0 * z2d ) ! diffusive salt transport in i-direction352 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 295 354 ENDIF 296 355 ! … … 305 364 CALL lbc_lnk( 'diaar5', z2d, 'V', -1. ) 306 365 IF( cptr == 'adv' ) THEN 307 IF( ktra == jp_tem ) CALL iom_put( "vadv_heattr", rau0_rcp * z2d ) ! advective heat transport in j-direction308 IF( ktra == jp_sal ) CALL iom_put( "vadv_salttr", rau0 * z2d ) ! advective salt transport in j-direction366 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 309 368 ENDIF 310 369 IF( cptr == 'ldf' ) THEN 311 IF( ktra == jp_tem ) CALL iom_put( "vdiff_heattr", rau0_rcp * z2d ) ! diffusive heat transport in j-direction312 IF( ktra == jp_sal ) CALL iom_put( "vdiff_salttr", rau0 * z2d ) ! diffusive salt transport in j-direction370 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 313 372 ENDIF 314 373 … … 323 382 !!---------------------------------------------------------------------- 324 383 INTEGER :: inum 325 INTEGER :: ik 384 INTEGER :: ik, idep 326 385 INTEGER :: ji, jj, jk ! dummy loop indices 327 386 REAL(wp) :: zztmp 328 387 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:,:) :: zsaldta ! Jan/Dec levitus salinity 388 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: zvol0 329 389 ! 330 390 !!---------------------------------------------------------------------- … … 340 400 IF( dia_ar5_alloc() /= 0 ) CALL ctl_stop( 'STOP', 'dia_ar5_init : unable to allocate arrays' ) 341 401 342 area(:,:) = e1e2t(:,:) * tmask_i(:,:)343 344 area_tot = SUM( area(:,:) ) ; CALL mpp_sum( 'diaar5', area_tot ) 345 346 vol0= 0._wp402 area(:,:) = e1e2t(:,:) 403 area_tot = glob_sum( 'diaar5', area(:,:) ) 404 405 ALLOCATE( zvol0(jpi,jpj) ) 406 zvol0 (:,:) = 0._wp 347 407 thick0(:,:) = 0._wp 348 408 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 ) 353 419 354 420 IF( iom_use( 'sshthster' ) ) THEN 355 ALLOCATE( zsaldta(jpi,jpj,jp j,jpts) )421 ALLOCATE( zsaldta(jpi,jpj,jpk,jpts) ) 356 422 CALL iom_open ( 'sali_ref_clim_monthly', inum ) 357 423 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 11 11 !! 3.2 ! 2009-07 (S. Masson) hc300 bugfix + cleaning + add new diag 12 12 !!---------------------------------------------------------------------- 13 #if defined key_diahth14 !!----------------------------------------------------------------------15 !! 'key_diahth' : thermocline depth diag.16 !!----------------------------------------------------------------------17 13 !! dia_hth : Compute varius diagnostics associated with the mixed layer 18 14 !!---------------------------------------------------------------------- … … 32 28 PUBLIC dia_hth_alloc ! routine called by nemogcm.F90 33 29 34 LOGICAL , PUBLIC, PARAMETER :: lk_diahth = .TRUE.!: thermocline-20d depths flag30 LOGICAL, SAVE :: l_hth !: thermocline-20d depths flag 35 31 36 32 ! note: following variables should move to local variables once iom_put is always used 37 33 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: hth !: depth of the max vertical temperature gradient [m] 38 34 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] 39 36 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: hd28 !: depth of 28 C isotherm [m] 40 37 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 41 41 42 42 !!---------------------------------------------------------------------- … … 52 52 !!--------------------------------------------------------------------- 53 53 ! 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 ) 55 56 ! 56 57 CALL mpp_sum ( 'diahth', dia_hth_alloc ) … … 82 83 INTEGER, INTENT( in ) :: kt ! ocean time-step index 83 84 !! 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 105 101 !!---------------------------------------------------------------------- 106 102 IF( ln_timing ) CALL timing_start('dia_hth') 107 103 108 104 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. 109 111 ! ! 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 133 119 ENDIF 134 120 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 ! 157 296 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 158 311 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 256 316 DO jk = 1, jpkm1 ! beware temperature is not always decreasing with depth => loop from top to bottom 257 317 DO jj = 1, jpj 258 318 DO ji = 1, jpi 259 319 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 262 321 END DO 263 322 END DO 264 323 END DO 265 324 266 ! --------------------------- !267 ! Depth of 20C/28C isotherm!268 ! --------------------------- !325 ! ------------------------------- ! 326 ! Depth of ptem isotherm ! 327 ! ------------------------------- ! 269 328 DO jj = 1, jpj 270 329 DO ji = 1, jpi 271 330 ! 272 zzdep = gdepw_n(ji,jj,mbkt(ji,jj)+1) ! depth of the o ean bottom331 zzdep = gdepw_n(ji,jj,mbkt(ji,jj)+1) ! depth of the ocean bottom 273 332 ! 274 iid = ik 20(ji,jj)333 iid = iktem(ji,jj) 275 334 IF( iid /= 1 ) THEN 276 zztmp =gdept_n(ji,jj,iid ) & ! linear interpolation335 zztmp = gdept_n(ji,jj,iid ) & ! linear interpolation 277 336 & + ( gdept_n(ji,jj,iid+1) - gdept_n(ji,jj,iid) ) & 278 337 & * ( 20.*tmask(ji,jj,iid+1) - tsn(ji,jj,iid,jp_tem) ) & 279 338 & / ( 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 depth339 pdept(ji,jj) = MIN( zztmp , zzdep) * tmask(ji,jj,1) ! bound by the ocean depth 281 340 ELSE 282 hd20(ji,jj) = 0._wp341 pdept(ji,jj) = 0._wp 283 342 ENDIF 284 !285 iid = ik28(ji,jj)286 IF( iid /= 1 ) THEN287 zztmp = gdept_n(ji,jj,iid ) & ! linear interpolation288 & + ( 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 depth292 ELSE293 hd28(ji,jj) = 0._wp294 ENDIF295 296 343 END DO 297 344 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 312 360 ! 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) 315 364 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 ! 323 379 DO jj = 1, jpj 324 380 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) 327 385 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 350 390 351 391 !!====================================================================== -
NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/OCE/DIA/diaptr.F90
r12143 r12706 10 10 !! 3.6 ! 2014-12 (C. Ethe) use of IOM 11 11 !! 3.6 ! 2016-06 (T. Graham) Addition of diagnostics for CMIP6 12 !! 4.0 ! 2010-08 ( C. Ethe, J. Deshayes ) Improvment 12 13 !!---------------------------------------------------------------------- 13 14 … … 42 43 43 44 ! !!** 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) 48 47 49 48 LOGICAL, PUBLIC :: ln_diaptr ! Poleward transport flag (T) or not (F) 50 49 LOGICAL, PUBLIC :: ln_subbas ! Atlantic/Pacific/Indian basins calculation 51 INTEGER, P UBLIC :: 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) 52 51 53 52 REAL(wp) :: rc_sv = 1.e-6_wp ! conversion from m3/s to Sverdrup 54 53 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 63 61 64 62 !! * Substitutions … … 80 78 REAL(wp) :: zsfc,zvfc ! local scalar 81 79 REAL(wp), DIMENSION(jpi,jpj) :: z2d ! 2D workspace 82 REAL(wp), DIMENSION(jpi,jpj,jpk) :: z3d ! 3D workspace83 80 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zmask ! 3D workspace 81 REAL(wp), DIMENSION(jpi,jpj,jpk) :: z3d ! 3D workspace 84 82 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 88 84 ! 89 85 !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 96 91 !!---------------------------------------------------------------------- 97 92 ! 98 93 IF( ln_timing ) CALL timing_start('dia_ptr') 99 100 94 ! 101 95 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 106 105 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 125 110 ! define fields multiplied by scalar 126 111 zmask(:,:,:) = 0._wp 127 112 zts(:,:,:,:) = 0._wp 128 zvn(:,:,:) = 0._wp129 113 DO jk = 1, jpkm1 130 114 DO jj = 1, jpjm1 … … 134 118 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 135 119 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) * zvfc137 120 ENDDO 138 121 ENDDO 139 122 ENDDO 140 123 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 242 182 ! 243 183 ELSE 244 184 ! 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 246 188 DO jk = 1, jpkm1 247 189 DO jj = 1, jpj … … 254 196 END DO 255 197 END DO 198 ! 256 199 DO jn = 1, nptr 257 200 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 ! 277 223 ENDIF 278 224 ! 279 225 ! ! 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 358 284 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 360 288 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 ) 371 313 ENDIF 372 314 ! … … 384 326 !! ** Purpose : Initialization, namelist read 385 327 !!---------------------------------------------------------------------- 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 389 329 !! 390 330 NAMELIST/namptr/ ln_diaptr, ln_subbas 391 !!---------------------------------------------------------------------- 331 REAL(wp), DIMENSION(jpi,jpj) :: zmsk 332 !!---------------------------------------------------------------------- 333 392 334 393 335 REWIND( numnam_ref ) ! Namelist namptr in reference namelist : Poleward transport … … 397 339 REWIND( numnam_cfg ) ! Namelist namptr in configuration namelist : Poleward transport 398 340 READ ( numnam_cfg, namptr, IOSTAT = ios, ERR = 902 ) 399 902 IF( ios >0 ) CALL ctl_nam ( ios , 'namptr in configuration namelist' )341 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namptr in configuration namelist' ) 400 342 IF(lwm) WRITE ( numond, namptr ) 401 343 … … 406 348 WRITE(numout,*) ' Namelist namptr : set ptr parameters' 407 349 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_subbas409 350 ENDIF 410 351 411 352 IF( ln_diaptr ) THEN 412 353 ! 413 IF( ln_subbas ) THEN414 nptr = 5 ! Global, Atlantic, Pacific, Indian, Indo-Pacific415 ALLOCATE( clsubb(nptr) )416 clsubb(1) = 'glo' ; clsubb(2) = 'atl' ; clsubb(3) = 'pac' ; clsubb(4) = 'ind' ; clsubb(5) = 'ipc'417 ELSE418 nptr = 1 ! Global only419 ALLOCATE( clsubb(nptr) )420 clsubb(1) = 'glo'421 ENDIF422 423 ! ! allocate dia_ptr arrays424 354 IF( dia_ptr_alloc() /= 0 ) CALL ctl_stop( 'STOP', 'dia_ptr_init : unable to allocate arrays' ) 425 355 426 356 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 427 358 428 359 IF( lk_mpp ) CALL mpp_ini_znl( numout ) ! Define MPI communicator for zonal sum 429 360 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 445 369 btmsk(:,:,jn) = btmsk(:,:,jn) * tmask_i(:,:) ! interior domain only 446 370 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 447 381 448 382 ! Initialise arrays to zero because diatpr is called before they are first calculated 449 383 ! 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 ! 455 390 ! 456 391 ENDIF … … 471 406 INTEGER :: jn ! 472 407 408 ! 473 409 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 476 420 ENDIF 421 ! 477 422 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 480 433 ENDIF 434 ! 481 435 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 484 446 ENDIF 485 447 ! 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 525 459 ENDIF 460 ! 526 461 END SUBROUTINE dia_ptr_hst 527 462 … … 536 471 ierr(:) = 0 537 472 ! 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 552 484 ! 553 485 END FUNCTION dia_ptr_alloc … … 565 497 !! ** Action : - p_fval: i-k-mean poleward flux of pva 566 498 !!---------------------------------------------------------------------- 567 REAL(wp), INTENT(in), DIMENSION(jpi,jpj,jpk) 568 REAL(wp), INTENT(in), DIMENSION(jpi,jpj) , OPTIONAL:: pmsk ! Optional 2D basin mask499 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 569 501 ! 570 502 INTEGER :: ji, jj, jk ! dummy loop arguments … … 577 509 ijpj = jpj 578 510 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) 585 515 END DO 586 516 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 596 518 #if defined key_mpp_mpi 597 519 CALL mpp_sum( 'diaptr', p_fval, ijpj, ncomm_znl) … … 612 534 !! ** Action : - p_fval: i-k-mean poleward flux of pva 613 535 !!---------------------------------------------------------------------- 614 REAL(wp) , INTENT(in), DIMENSION(jpi,jpj) 615 REAL(wp) , INTENT(in), DIMENSION(jpi,jpj) , OPTIONAL:: pmsk ! Optional 2D basin mask536 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 616 538 ! 617 539 INTEGER :: ji,jj ! dummy loop arguments … … 624 546 ijpj = jpj 625 547 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) 631 551 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 639 553 #if defined key_mpp_mpi 640 554 CALL mpp_sum( 'diaptr', p_fval, ijpj, ncomm_znl ) … … 643 557 END FUNCTION ptr_sj_2d 644 558 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 645 590 646 591 FUNCTION ptr_sjk( pta, pmsk ) RESULT ( p_fval ) … … 656 601 !! 657 602 IMPLICIT none 658 REAL(wp) , INTENT(in), DIMENSION(jpi,jpj,jpk) 659 REAL(wp) , INTENT(in), DIMENSION(jpi,jpj) , OPTIONAL:: pmsk ! Optional 2D basin mask603 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 660 605 !! 661 606 INTEGER :: ji, jj, jk ! dummy loop arguments … … 673 618 p_fval(:,:) = 0._wp 674 619 ! 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) 682 624 END DO 683 625 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 693 627 ! 694 628 #if defined key_mpp_mpi -
NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/OCE/DIA/diawri.F90
r12143 r12706 48 48 USE lbclnk ! ocean lateral boundary conditions (or mpp link) 49 49 USE in_out_manager ! I/O manager 50 USE diatmb ! Top,middle,bottom output51 50 USE dia25h ! 25h Mean output 52 51 USE iom ! … … 393 392 CALL iom_put( "bn2", rn2 ) ! Brunt-Vaisala buoyancy frequency (N^2) 394 393 ! 395 396 IF (ln_diatmb) CALL dia_tmb ! tmb values397 394 398 395 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 93 93 CALL ymds2ju( nyear, nmonth, nday, nhour*3600._wp+nminute*60._wp, fjulday ) 94 94 IF( ABS(fjulday - REAL(NINT(fjulday),wp)) < 0.1 / rday ) fjulday = REAL(NINT(fjulday),wp) ! avoid truncation error 95 IF( n n_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 97 97 nsec1jan000 = 0 98 98 CALL day_mth -
NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/OCE/DYN/divhor.F90
r11987 r12706 72 72 IF(lwp) WRITE(numout,*) 'div_hor : horizontal velocity divergence ' 73 73 IF(lwp) WRITE(numout,*) '~~~~~~~ ' 74 hdivn(:,:,:) = 0._wp ! initialize hdivn for the halos at the first time step 74 75 ENDIF 75 76 ! -
NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/OCE/DYN/dynnxt.F90
r12143 r12706 226 226 zcoef = atfp * rdt * r1_rau0 227 227 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 229 232 230 233 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 252 246 ! 253 247 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 47 47 USE updtide ! tide potential 48 48 USE sbcwave ! surface wave 49 USE diatmb ! Top,middle,bottom output50 49 #if defined key_agrif 51 50 USE agrif_oce_interp ! agrif … … 62 61 USE iom ! IOM library 63 62 USE restart ! only for lrst_oce 64 USE diatmb ! Top,middle,bottom output65 63 66 64 USE iom ! to remove … … 152 150 REAL(wp) :: r1_2dt_b, z1_hu, z1_hv ! local scalars 153 151 REAL(wp) :: za0, za1, za2, za3 ! - - 154 REAL(wp) :: z mdi, zztmp, zldg ! - -152 REAL(wp) :: zztmp, zldg ! - - 155 153 REAL(wp) :: zhu_bck, zhv_bck, zhdiv ! - - 156 154 REAL(wp) :: zun_save, zvn_save ! - - … … 175 173 ! !* Allocate temporary arrays 176 174 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 masking179 175 ! 180 176 zwdramp = r_rn_wdmin1 ! simplest ramp … … 856 852 IF( ln_wd_dl ) DEALLOCATE( ztwdmask, zuwdmask, zvwdmask, zuwdav2, zvwdav2 ) 857 853 ! 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 862 856 ! 863 857 END SUBROUTINE dyn_spg_ts -
NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/OCE/ICB/icbthm.F90
r10068 r12706 20 20 USE phycst ! NEMO physical constants 21 21 USE sbc_oce 22 USE lib_fortran, ONLY : DDPDD 22 23 23 24 USE icb_oce ! define iceberg arrays … … 55 56 TYPE(iceberg), POINTER :: this, next 56 57 TYPE(point) , POINTER :: pt 58 ! 59 COMPLEX(wp), DIMENSION(jpi,jpj) :: cicb_melt, cicb_hflx 57 60 !!---------------------------------------------------------------------- 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 ) 58 65 ! 59 66 z1_rday = 1._wp / rday … … 165 172 z1_e1e2 = r1_e1e2t(ii,ij) * this%mass_scaling 166 173 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 167 177 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 169 182 !! NB. The src_calving_hflx field is currently hardwired to zero in icb_stp, which means that the 170 183 !! heat density of the icebergs is zero and the heat content flux to the ocean from iceberg … … 172 185 zheat_hcflux = zmelt * pt%heat_density ! heat content flux : kg/s x J/kg = J/s 173 186 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 175 190 CALL icb_dia_melt( ii, ij, zMnew, zheat_hcflux, zheat_latent, this%mass_scaling, & 176 191 & zdM, zdMbitsE, zdMbitsM, zdMb, zdMe, & … … 214 229 ! 215 230 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 ! 217 235 ! now use melt and associated heat flux in ocean (or not) 218 236 ! -
NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/OCE/IOM/iom.F90
r12143 r12706 56 56 LOGICAL, PUBLIC, PARAMETER :: lk_iomput = .FALSE. !: iom_put flag 57 57 #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 59 59 PUBLIC iom_chkatt, iom_getatt, iom_putatt, iom_getszuld, iom_rstput, iom_delay_rst, iom_put 60 60 PUBLIC iom_use, iom_context_finalize, iom_miss_val … … 62 62 PRIVATE iom_rp0d, iom_rp1d, iom_rp2d, iom_rp3d 63 63 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 65 65 #if defined key_iomput 66 66 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 … … 83 83 END INTERFACE 84 84 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 86 86 END INTERFACE iom_put 87 87 … … 108 108 TYPE(xios_date) :: start_date 109 109 CHARACTER(len=lc) :: clname 110 INTEGER :: irefyear, irefmonth, irefday 110 111 INTEGER :: ji, jkmin 111 112 LOGICAL :: llrst_context ! is context related to restart … … 139 140 140 141 ! 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 141 146 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), & 143 148 & 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), & 145 150 & 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), & 147 152 & start_date = xios_date(nyear,nmonth,nday,0,0,0) ) 148 153 END SELECT … … 223 228 CALL iom_set_axis_attr( "icbcla", class_num ) 224 229 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... 225 231 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) /) ) 226 233 ENDIF 227 234 ! … … 795 802 CHARACTER(LEN=100) :: clinfo ! info character 796 803 !--------------------------------------------------------------------- 804 ! 805 IF( iom_open_init == 0 ) RETURN ! avoid to use iom_file(jf)%nfid that us not yet initialized 797 806 ! 798 807 clinfo = ' iom_close ~~~ ' … … 1329 1338 END SUBROUTINE iom_get_123d 1330 1339 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 1331 1353 1332 1354 FUNCTION iom_getszuld ( kiomid ) … … 1698 1720 END SUBROUTINE iom_p3d 1699 1721 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 1700 1733 #if defined key_iomput 1701 1734 !!---------------------------------------------------------------------- … … 2040 2073 ALLOCATE( zlon(ni*nj) ) ; zlon(:) = 0._wp 2041 2074 ! 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) 2044 2077 CALL iom_set_domain_attr("gznl", ni_glo=jpiglo, nj_glo=jpjglo, ibegin=nimpp+nldi-2, jbegin=njmpp+nldj-2, ni=ni, nj=nj) 2045 2078 CALL iom_set_domain_attr("gznl", data_dim=2, data_ibegin = 1-nldi, data_ni = jpi, data_jbegin = 1-nldj, data_nj = jpj) 2046 2079 CALL iom_set_domain_attr("gznl", lonvalue = zlon, & 2047 2080 & 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) 2050 2082 ! 2051 2083 CALL iom_update_file_name('ptr') -
NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/OCE/LDF/ldfdyn.F90
r12143 r12706 115 115 !!---------------------------------------------------------------------- 116 116 ! 117 REWIND( numnam_ref ) ! Namelist namdyn_ldf in reference namelist : Lateral physics117 REWIND( numnam_ref ) 118 118 READ ( numnam_ref, namdyn_ldf, IOSTAT = ios, ERR = 901) 119 119 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdyn_ldf in reference namelist' ) 120 120 121 REWIND( numnam_cfg ) ! Namelist namdyn_ldf in configuration namelist : Lateral physics121 REWIND( numnam_cfg ) 122 122 READ ( numnam_cfg, namdyn_ldf, IOSTAT = ios, ERR = 902 ) 123 123 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namdyn_ldf in configuration namelist' ) … … 417 417 ! 418 418 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 scaling419 zstabf_lo = rn_minfac * rn_minfac / ( 2._wp * 12._wp * 12._wp * zcmsmag ) ! lower limit stability factor scaling 420 420 zstabf_up = rn_maxfac / ( 4._wp * zcmsmag * 2._wp * rdt ) ! upper limit stability factor scaling 421 421 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 208 208 zbu = MIN( zbu, - z1_slpmax * ABS( zau ) , -7.e+3_wp/e3u_n(ji,jj,jk)* ABS( zau ) ) 209 209 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 ) ) 210 216 ! ! uslp and vslp output in zwz and zww, resp. 211 217 zfi = MAX( omlmask(ji,jj,jk), omlmask(ji+1,jj,jk) ) … … 403 409 REAL(wp) :: zbeta0, ze3_e1, ze3_e2 404 410 REAL(wp), DIMENSION(jpi,jpj) :: z1_mlbw 405 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zalbet406 411 REAL(wp), DIMENSION(jpi,jpj,jpk,0:1) :: zdxrho , zdyrho, zdzrho ! Horizontal and vertical density gradients 407 412 REAL(wp), DIMENSION(jpi,jpj,0:1,0:1) :: zti_mlb, ztj_mlb ! for Griffies operator only … … 459 464 zdks = 0._wp 460 465 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 & 463 468 & ) / e3w_n(ji,jj,jk+kp) 464 469 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 152 152 ! ================================= 153 153 ! 154 REWIND( numnam_ref ) ! Namelist namtra_ldf in reference namelist : Lateral physics on tracers154 REWIND( numnam_ref ) 155 155 READ ( numnam_ref, namtra_ldf, IOSTAT = ios, ERR = 901) 156 156 901 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 ) 158 159 READ ( numnam_cfg, namtra_ldf, IOSTAT = ios, ERR = 902 ) 159 160 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namtra_ldf in configuration namelist' ) … … 510 511 ENDIF 511 512 ! 512 REWIND( numnam_ref ) ! Namelist namtra_eiv in reference namelist : eddy induced velocity param.513 REWIND( numnam_ref ) 513 514 READ ( numnam_ref, namtra_eiv, IOSTAT = ios, ERR = 901) 514 515 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtra_eiv in reference namelist' ) 515 516 ! 516 REWIND( numnam_cfg ) ! Namelist namtra_eiv in configuration namelist : eddy induced velocity param.517 REWIND( numnam_cfg ) 517 518 READ ( numnam_cfg, namtra_eiv, IOSTAT = ios, ERR = 902 ) 518 519 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namtra_eiv in configuration namelist' ) … … 770 771 DO ji = 1, fs_jpim1 ! vector opt. 771 772 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) 773 774 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) 775 776 END DO 776 777 END DO … … 851 852 CALL iom_put( "woce_eiv", zw3d ) 852 853 ! 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 853 869 ! 854 870 zztmp = 0.5_wp * rau0 * rcp … … 870 886 CALL iom_put( "ueiv_heattr3d", zztmp * zw3d ) ! heat transport in i-direction 871 887 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 ! 872 897 zw2d(:,:) = 0._wp 873 898 zw3d(:,:,:) = 0._wp … … 885 910 CALL iom_put( "veiv_heattr", zztmp * zw3d ) ! heat transport in j-direction 886 911 ! 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 ) 888 913 ! 889 914 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 306 306 ! End of definition phase 307 307 !------------------------------------------------------------------ 308 308 ! 309 #if defined key_agrif 310 IF( agrif_fixed() == Agrif_Nb_Fine_Grids() ) THEN 311 #endif 309 312 CALL oasis_enddef(nerror) 310 313 IF( nerror /= OASIS_Ok ) CALL oasis_abort ( ncomp_id, 'cpl_define', 'Failure in oasis_enddef') 314 #if defined key_agrif 315 ENDIF 316 #endif 311 317 ! 312 318 IF ( ltmp_wapatch ) THEN … … 357 363 WRITE(numout,*) 'oasis_put: kstep ', kstep 358 364 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)) 362 368 WRITE(numout,*) '****************' 363 369 ENDIF -
NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/OCE/SBC/fldread.F90
r12143 r12706 833 833 834 834 REAL(wp), DIMENSION(:,:,:), INTENT(in ) :: pdta_read ! data read in bdy file 835 REAL(wp), DIMENSION(:,:,:), INTENT(in out) :: pdta_read_z ! depth of the data read in bdy file836 REAL(wp), DIMENSION(:,:,:), INTENT(in out) :: pdta_read_dz ! thickness of the levels in bdy file835 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 837 837 REAL(wp), DIMENSION(:,:,:), INTENT( out) :: pdta ! output field on model grid (2 dimensional) 838 838 REAL(wp) , INTENT(in ) :: pfv ! fillvalue of the data read in bdy file … … 841 841 INTEGER , INTENT(in ) :: kbdy ! bdy number 842 842 !! 843 INTEGER :: ipi! length of boundary data on local process844 INTEGER :: ipkb! number of vertical levels in boundary data file845 INTEGER :: jb, ji, jj, jk, jkb ! loop counters846 REAL(wp) :: zcoef847 REAL(wp) :: zl, zi, zh ! tmp variable for current depth and interpolation factor848 REAL(wp) :: zfv_alt, ztrans, ztrans_new ! fillvalue and alternative -ABS(pfv)849 REAL(wp), DIMENSION(jpk) :: zdepth, zdhalf! level and half-level depth843 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 850 850 !!--------------------------------------------------------------------- 851 851 … … 853 853 ipkb = SIZE( pdta_read, 3 ) 854 854 855 zfv_alt = -ABS(pfv) ! set _FillValue < 0 as we make use of MAXVAL and MAXLOC later856 !857 WHERE( pdta_read == pfv )858 pdta_read_z = zfv_alt ! safety: put fillvalue into external depth field so consistent with data859 pdta_read_dz = 0._wp ! safety: put 0._wp into external thickness factors to ensure transport is correct860 ENDWHERE861 862 855 DO jb = 1, ipi 863 856 ji = idx_bdy(kbdy)%nbi(jb,kgrd) 864 857 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 --- ! 868 866 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: 892 868 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... 896 871 zdhalf(1) = 0.0_wp 897 872 zdepth(1) = 0.5_wp * e3uw_n(ji,jj,1) … … 903 878 zcoef = ( umask(ji,jj,jk) - wumask(ji,jj,jk) ) 904 879 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)) 907 882 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... 911 885 zdhalf(1) = 0.0_wp 912 886 zdepth(1) = 0.5_wp * e3vw_n(ji,jj,1) … … 918 892 zcoef = ( vmask(ji,jj,jk) - wvmask(ji,jj,jk) ) 919 893 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)) 922 896 END DO 923 897 END SELECT 924 ! 925 DO jk = 1, jpk926 IF( zdepth(jk) < pdta_read_z(jb,1, 1) ) THEN ! above the first level of external data927 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 data929 pdta(jb,1,jk) = pdta_read(jb,1,MAXLOC(pdta_read_z(jb,1,:),1))930 ELSE ! inbetween: vertical interpolation between jkb & jkb+1931 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 levels898 ! 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 934 908 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) ) * zi909 pdta(jb,1,jk) = pdta_read(jb,1,jkb) + zi * ( pdta_read(jb,1,jkb+1) - pdta_read(jb,1,jkb) ) 936 910 ENDIF 937 911 END DO 938 912 ENDIF 939 END DO ! jpk913 END DO 940 914 ! 941 915 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) 944 921 DO jb = 1, ipi 945 922 ji = idx_bdy(kbdy)%nbi(jb,kgrd) 946 923 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) 948 933 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 949 937 ztrans_new = 0._wp 950 DO jkb = 1, ipkb ! calculate transport on input grid951 ztrans = ztrans + pdta_read(jb,1,jkb) * pdta_read_dz(jb, 1,jkb)952 ENDDO953 938 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) 955 940 ENDDO 956 941 DO jk = 1, jpk ! make transport correction 957 942 IF(ldtotvel) THEN ! bdy data are total velocity so adjust bt transport term to match input data 958 943 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 zero960 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) 961 946 ENDIF 962 947 ENDDO 963 948 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 967 951 DO jb = 1, ipi 968 952 ji = idx_bdy(kbdy)%nbi(jb,kgrd) 969 953 jj = idx_bdy(kbdy)%nbj(jb,kgrd) 970 zh = SUM(pdta_read_dz(jb,1,:) )971 954 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 972 958 ztrans_new = 0._wp 973 DO jkb = 1, ipkb ! calculate transport on input grid974 ztrans = ztrans + pdta_read(jb,1,jkb) * pdta_read_dz(jb, 1,jkb)975 ENDDO976 959 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) 978 961 ENDDO 979 962 DO jk = 1, jpk ! make transport correction 980 963 IF(ldtotvel) THEN ! bdy data are total velocity so adjust bt transport term to match input data 981 964 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 zero983 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) 984 967 ENDIF 985 968 ENDDO 986 969 ENDDO 987 END IF988 970 END SELECT 971 989 972 END SUBROUTINE fld_bdy_interp 990 973 991 974 992 975 SUBROUTINE fld_rot( kt, sd ) 993 976 !!--------------------------------------------------------------------- -
NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/OCE/SBC/sbc_oce.F90
r11521 r12706 104 104 !! Ocean Surface Boundary Condition fields 105 105 !!---------------------------------------------------------------------- 106 INTEGER , PUBLIC :: ncpl_qsr_freq !: qsr coupling frequency per days from atmosphere106 INTEGER , PUBLIC :: ncpl_qsr_freq = 0 !: qsr coupling frequency per days from atmosphere (used by top) 107 107 ! 108 108 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 801 801 REAL(wp), DIMENSION(jpi,jpj) :: zevap, zsnw ! evaporation and snw distribution after wind blowing (SI3) 802 802 REAL(wp), DIMENSION(jpi,jpj) :: zrhoa 803 REAL(wp), DIMENSION(jpi,jpj) :: ztmp, ztmp2 803 804 !!--------------------------------------------------------------------- 804 805 ! … … 913 914 qtr_ice_top(:,:,:) = 0._wp 914 915 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 915 936 ! 916 937 IF(ln_ctl) THEN -
NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/OCE/SBC/sbccpl.F90
r12143 r12706 574 574 IF ( TRIM( sn_rcv_emp%clcat ) == 'yes' ) srcv(jpr_ievp)%nct = nn_cats_cpl 575 575 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 576 582 ! ! ------------------------- ! 577 583 ! ! Wave breaking ! … … 863 869 ELSE IF( sn_snd_crt%clvgrd /= 'T' ) THEN 864 870 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 grid866 871 ENDIF 867 872 ssnd(jps_ocx1:jps_ivz1)%laction = .TRUE. ! default: all are send … … 1041 1046 ENDIF 1042 1047 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_freq1048 1048 ! 1049 1049 END SUBROUTINE sbc_cpl_init … … 1111 1111 REAL(wp), DIMENSION(jpi,jpj) :: ztx, zty, zmsk, zemp, zqns, zqsr 1112 1112 !!---------------------------------------------------------------------- 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 1113 1121 ! 1114 1122 IF( ln_mixcpl ) zmsk(:,:) = 1. - xcplmask(:,:,0) … … 1244 1252 IF( srcv(jpr_co2)%laction ) atm_co2(:,:) = frcv(jpr_co2)%z3(:,:,1) 1245 1253 ! 1246 ! ! ================== !1247 ! ! ice skin temp. !1248 ! ! ================== !1249 #if defined key_si31250 ! needed by Met Office1251 IF( srcv(jpr_ts_ice)%laction ) THEN1252 WHERE ( frcv(jpr_ts_ice)%z3(:,:,:) > 0.0 ) ; tsfc_ice(:,:,:) = 0.01253 ELSEWHERE( frcv(jpr_ts_ice)%z3(:,:,:) < -60. ) ; tsfc_ice(:,:,:) = -60.1254 ELSEWHERE ; tsfc_ice(:,:,:) = frcv(jpr_ts_ice)%z3(:,:,:)1255 END WHERE1256 ENDIF1257 #endif1258 1254 ! ! ========================= ! 1259 1255 ! ! Mean Sea Level Pressure ! (taum) … … 1635 1631 !! sprecip solid precipitation over the ocean 1636 1632 !!---------------------------------------------------------------------- 1637 REAL(wp), INTENT(in) , DIMENSION(:,:) :: picefr ! ice fraction [0 to 1]1638 ! !! ! optional arguments, used only in 'mixed oce-ice' case1639 REAL(wp), INTENT(in) , DIMENSION(:,:,:), OPTIONAL :: palbi ! all skies ice albedo1640 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] 1644 1640 ! 1645 1641 INTEGER :: ji, jj, jl ! dummy loop index … … 1648 1644 REAL(wp), DIMENSION(jpi,jpj) :: zemp_tot, zemp_ice, zemp_oce, ztprecip, zsprecip , zevap_oce, zdevap_ice 1649 1645 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_i1646 REAL(wp), DIMENSION(jpi,jpj,jpl) :: zqns_ice, zqsr_ice, zdqns_ice, zqevap_ice, zevap_ice, zqtr_ice_top, ztsu 1651 1647 !!---------------------------------------------------------------------- 1652 1648 ! … … 1774 1770 IF( srcv(jpr_cal)%laction ) CALL iom_put( 'calving_cea' , frcv(jpr_cal)%z3(:,:,1) * tmask(:,:,1) ) ! calving 1775 1771 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) & 1783 1780 & - frcv(jpr_ievp)%z3(:,:,1) * picefr(:,:) ) * tmask(:,:,1) ) ! ice-free oce evap (cell average) 1784 1781 ! note: runoff output is done in sbcrnf (which includes icebergs too) and iceshelf output is done in sbcisf … … 1815 1812 ! ** NEED TO SORT OUT HOW THIS SHOULD WORK IN THE MULTI-CATEGORY CASE - CURRENTLY NOT ALLOWED WHEN INTERFACE INITIALISED ** 1816 1813 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 1820 1827 END SELECT 1821 1828 ! … … 1902 1909 #endif 1903 1910 ! outputs 1904 IF ( srcv(jpr_cal)%laction ) CALL iom_put('hflx_cal_cea' , - frcv(jpr_cal)%z3(:,:,1) * rLfus )! latent heat from calving1905 IF ( srcv(jpr_icb)%laction ) CALL iom_put('hflx_icb_cea' , - frcv(jpr_icb)%z3(:,:,1) * rLfus )! latent heat from icebergs melting1906 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_a i_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) 1914 1921 ! note: hflx for runoff and iceshelf are done in sbcrnf and sbcisf resp. 1915 1922 ! … … 1929 1936 END DO 1930 1937 ENDIF 1931 zqsr_tot(:,: ) = frcv(jpr_qsrmix)%z3(:,:,1)1932 zqsr_ice(:,:,1) = frcv(jpr_qsrice)%z3(:,:,1)1933 1938 CASE( 'oce and ice' ) 1934 1939 zqsr_tot(:,: ) = ziceld(:,:) * frcv(jpr_qsroce)%z3(:,:,1) … … 1950 1955 ! Create solar heat flux over ice using incoming solar heat flux and albedos 1951 1956 ! ( 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 1955 1970 CASE( 'none' ) ! Not available as for now: needs additional coding 1956 1971 ! ! since fields received, here zqsr_tot, are not defined with none option … … 2012 2027 ! ! ========================= ! 2013 2028 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 2016 2038 END SELECT 2017 !2018 2039 ! ! ========================= ! 2019 2040 ! ! Transmitted Qsr ! [W/m2] … … 2022 2043 ! 2023 2044 ! ! ===> 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) 2025 2046 ! 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 2029 2054 ! 2030 2055 ELSEIF( ln_cndflx .AND. .NOT.ln_cndemulate ) THEN !== conduction flux as surface forcing ==! … … 2032 2057 ! ! ===> here we must receive the qtr_ice_top array from the coupler 2033 2058 ! 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 2035 2087 ! 2036 2088 ENDIF … … 2195 2247 CASE default ; CALL ctl_stop( 'sbc_cpl_snd: wrong definition of sn_snd_thick%clcat' ) 2196 2248 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 ) 2198 2250 ENDIF 2199 2251 … … 2255 2307 ! ! Ice melt ponds ! 2256 2308 ! ! ------------------------- ! 2257 ! needed by Met Office 2309 ! needed by Met Office: 1) fraction of ponded ice 2) local/actual pond depth 2258 2310 IF( ssnd(jps_a_p)%laction .OR. ssnd(jps_ht_p)%laction ) THEN 2259 2311 SELECT CASE( sn_snd_mpnd%cldes) … … 2261 2313 SELECT CASE( sn_snd_mpnd%clcat ) 2262 2314 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) 2265 2317 CASE( 'no' ) 2266 2318 ztmp3(:,:,:) = 0.0 2267 2319 ztmp4(:,:,:) = 0.0 2268 2320 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) 2271 2323 ENDDO 2272 2324 CASE default ; CALL ctl_stop( 'sbc_cpl_snd: wrong definition of sn_snd_mpnd%clcat' ) … … 2306 2358 ! ! CO2 flux from PISCES ! 2307 2359 ! ! ------------------------- ! 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 2309 2364 ! 2310 2365 ! ! ------------------------- ! -
NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/OCE/SBC/sbcmod.F90
r12143 r12706 236 236 #endif 237 237 ! 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 238 246 IF( nn_ice == 0 ) THEN !* No sea-ice in the domain : ice fraction is always zero 239 247 IF( nn_components /= jp_iam_opa ) fr_i(:,:) = 0._wp ! except for OPA in SAS-OPA coupled case … … 536 544 CALL iom_put( "taum" , taum ) ! wind stress module 537 545 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 538 548 ENDIF 539 549 ! -
NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/OCE/SBC/sbcrnf.F90
r12143 r12706 20 20 USE sbc_oce ! surface boundary condition variables 21 21 USE eosbn2 ! Equation Of State 22 USE closea 22 USE closea, ONLY: l_clo_rnf, clo_rnf ! closed seas 23 23 ! 24 24 USE in_out_manager ! I/O manager … … 42 42 REAL(wp) :: rn_dep_max !: depth over which runoffs is spread (ln_rnf_depth_ini =T) 43 43 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 44 45 LOGICAL :: ln_rnf_tem !: temperature river runoffs attribute specified in a file 45 46 LOGICAL , PUBLIC :: ln_rnf_sal !: salinity river runoffs attribute specified in a file 46 47 TYPE(FLD_N) , PUBLIC :: sn_rnf !: information about the runoff file to be read 47 48 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 48 50 TYPE(FLD_N) :: sn_s_rnf !: information about the salinities of runoff file to be read 49 51 TYPE(FLD_N) :: sn_t_rnf !: information about the temperatures of runoff file to be read … … 64 66 65 67 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) 66 69 TYPE(FLD), ALLOCATABLE, DIMENSION(:) :: sf_s_rnf ! structure: river runoff salinity (file information, fields read) 67 70 TYPE(FLD), ALLOCATABLE, DIMENSION(:) :: sf_t_rnf ! structure: river runoff temperature (file information, fields read) … … 111 114 ! !-------------------! 112 115 ! 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 114 121 IF( ln_rnf_tem ) CALL fld_read ( kt, nn_fsbc, sf_t_rnf ) ! idem for runoffs temperature if required 115 122 IF( ln_rnf_sal ) CALL fld_read ( kt, nn_fsbc, sf_s_rnf ) ! idem for runoffs salinity if required … … 117 124 IF( MOD( kt - 1, nn_fsbc ) == 0 ) THEN 118 125 ! 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 120 134 ! 121 135 ! ! set temperature & salinity content of runoffs … … 128 142 ELSE ! use SST as runoffs temperature 129 143 !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_rau0144 rnf_tsc(:,:,jp_tem) = MAX( sst_m(:,:), 0.0_wp ) * rnf(:,:) * r1_rau0 131 145 ENDIF 132 146 ! ! use runoffs salinity data 133 147 IF( ln_rnf_sal ) rnf_tsc(:,:,jp_sal) = ( sf_s_rnf(1)%fnow(:,:,1) ) * rnf(:,:) * r1_rau0 134 148 ! ! 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 flux149 CALL iom_put( 'runoffs' , rnf(:,:) ) ! output runoff mass flux 136 150 IF( iom_use('hflx_rnf_cea') ) CALL iom_put( 'hflx_rnf_cea', rnf_tsc(:,:,jp_tem) * rau0 * rcp ) ! output runoff sensible heat (W/m2) 137 151 ENDIF … … 238 252 REAL(wp), DIMENSION(jpi,jpj,2) :: zrnfcl 239 253 !! 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, & 242 256 & ln_rnf_mouth , rn_hrnf , rn_avt_rnf, rn_rfact, & 243 257 & ln_rnf_depth_ini , rn_dep_max , rn_rnf_max, nn_rnf_depth_file … … 261 275 ! ! ============ 262 276 ! 263 REWIND( numnam_ref ) ! Namelist namsbc_rnf in reference namelist : Runoffs277 REWIND( numnam_ref ) 264 278 READ ( numnam_ref, namsbc_rnf, IOSTAT = ios, ERR = 901) 265 279 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_rnf in reference namelist' ) 266 280 267 REWIND( numnam_cfg ) ! Namelist namsbc_rnf in configuration namelist : Runoffs281 REWIND( numnam_cfg ) 268 282 READ ( numnam_cfg, namsbc_rnf, IOSTAT = ios, ERR = 902 ) 269 283 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namsbc_rnf in configuration namelist' ) … … 295 309 IF( sn_rnf%ln_tint ) ALLOCATE( sf_rnf(1)%fdta(jpi,jpj,1,2) ) 296 310 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 297 326 ENDIF 298 327 ! … … 337 366 IF( h_rnf(ji,jj) > 0._wp ) THEN 338 367 jk = 2 339 DO WHILE ( jk /=mbkt(ji,jj) .AND. gdept_0(ji,jj,jk) < h_rnf(ji,jj) ) ; jk = jk + 1368 DO WHILE ( jk < mbkt(ji,jj) .AND. gdept_0(ji,jj,jk) < h_rnf(ji,jj) ) ; jk = jk + 1 340 369 END DO 341 370 nk_rnf(ji,jj) = jk … … 394 423 IF( zrnfcl(ji,jj,1) > 0._wp ) THEN 395 424 jk = 2 396 DO WHILE ( jk /=mbkt(ji,jj) .AND. gdept_0(ji,jj,jk) < h_rnf(ji,jj) ) ; jk = jk + 1425 DO WHILE ( jk < mbkt(ji,jj) .AND. gdept_0(ji,jj,jk) < h_rnf(ji,jj) ) ; jk = jk + 1 397 426 END DO 398 427 nk_rnf(ji,jj) = jk … … 435 464 ! ! - mixed upstream-centered (ln_traadv_cen2=T) 436 465 ! 437 IF 466 IF( ln_rnf_depth ) CALL ctl_warn( 'sbc_rnf_init: increased mixing turned on but effects may already', & 438 467 & 'be spread through depth by ln_rnf_depth' ) 439 468 ! -
NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/OCE/SBC/sbcssr.F90
r12143 r12706 30 30 PUBLIC sbc_ssr ! routine called in sbcmod 31 31 PUBLIC sbc_ssr_init ! routine called in sbcmod 32 PUBLIC sbc_ssr_alloc ! routine called in sbcmod 32 33 33 34 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: erp !: evaporation damping [kg/m2/s] 34 35 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: qrp !: heat flux damping [w/m2] 36 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: coefice !: under ice relaxation coefficient 35 37 36 38 ! !!* Namelist namsbc_ssr * … … 41 43 LOGICAL :: ln_sssr_bnd ! flag to bound erp term 42 44 REAL(wp) :: rn_sssr_bnd ! ABS(Max./Min.) value of erp term [mm/day] 45 INTEGER :: nn_sssr_ice ! Control of restoring under ice 43 46 44 47 REAL(wp) , ALLOCATABLE, DIMENSION(:) :: buffer ! Temporary buffer for exchange … … 97 100 END DO 98 101 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 100 115 ENDIF 101 116 ! … … 105 120 DO ji = 1, jpi 106 121 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 107 123 & * ( sss_m(ji,jj) - sf_sss(1)%fnow(ji,jj,1) ) * tmask(ji,jj,1) 108 124 sfx(ji,jj) = sfx(ji,jj) + zerp ! salt flux … … 110 126 END DO 111 127 END DO 112 CALL iom_put( "erp", erp ) ! freshwater flux damping113 128 ! 114 129 ELSEIF( nn_sssr == 2 ) THEN !* Salinity damping term (volume flux (emp) and associated heat flux (qns) … … 118 133 DO ji = 1, jpi 119 134 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 120 136 & * ( sss_m(ji,jj) - sf_sss(1)%fnow(ji,jj,1) ) & 121 137 & / MAX( sss_m(ji,jj), 1.e-20 ) * tmask(ji,jj,1) … … 126 142 END DO 127 143 END DO 128 CALL iom_put( "erp", erp ) ! freshwater flux damping129 144 ENDIF 130 145 ! … … 154 169 CHARACTER(len=100) :: cn_dir ! Root directory for location of ssr files 155 170 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 157 173 INTEGER :: ios 158 174 !!---------------------------------------------------------------------- … … 182 198 WRITE(numout,*) ' flag to bound erp term ln_sssr_bnd = ', ln_sssr_bnd 183 199 WRITE(numout,*) ' ABS(Max./Min.) erp threshold rn_sssr_bnd = ', rn_sssr_bnd, ' mm/day' 184 ENDIF185 !186 ! !* Allocate erp and qrp array187 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 189 205 ! 190 206 IF( nn_sstr == 1 ) THEN !* set sf_sst structure & allocate arrays … … 216 232 ENDIF 217 233 ! 234 coefice(:,:) = 1._wp ! Initialise coefice to 1._wp ; will not need to be changed if nn_sssr_ice=1 218 235 ! !* Initialize qrp and erp if no restoring 219 236 IF( nn_sstr /= 1 ) qrp(:,:) = 0._wp … … 221 238 ! 222 239 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 223 254 224 255 !!====================================================================== -
NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/OCE/TRA/trabbc.F90
r12143 r12706 100 100 ENDIF 101 101 ! 102 CALL iom_put ( "hfgeou" , rau0_rcp * qgh_trd0(:,:) ) 103 ! 102 104 IF(ln_ctl) CALL prt_ctl( tab3d_1=tsa(:,:,:,jp_tem), clinfo1=' bbc - Ta: ', mask1=tmask, clinfo3='tra-ta' ) 103 105 ! … … 133 135 !!---------------------------------------------------------------------- 134 136 ! 135 REWIND( numnam_ref ) ! Namelist nambbc in reference namelist : Bottom momentum boundary condition137 REWIND( numnam_ref ) 136 138 READ ( numnam_ref, nambbc, IOSTAT = ios, ERR = 901) 137 139 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambbc in reference namelist' ) 138 140 ! 139 REWIND( numnam_cfg ) ! Namelist nambbc in configuration namelist : Bottom momentum boundary condition141 REWIND( numnam_cfg ) 140 142 READ ( numnam_cfg, nambbc, IOSTAT = ios, ERR = 902 ) 141 143 902 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 267 267 INTEGER :: ji, jj, jk, jn ! dummy loop indices 268 268 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 ! - - 270 270 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:,:) :: ztrd_atf 271 271 !!---------------------------------------------------------------------- -
NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/OCE/nemogcm.F90
r12143 r12706 73 73 USE step_diu ! diurnal bulk SST timestepping (called from here if run offline) 74 74 USE crsini ! initialise grid coarsening utility 75 USE diatmb ! Top,middle,bottom output76 75 USE dia25h ! 25h mean output 77 76 USE sbc_oce , ONLY : lk_oasis … … 489 488 CALL trd_init ! Mixed-layer/Vorticity/Integral constraints trends 490 489 CALL dia_obs_init ! Initialize observational data 491 CALL dia_tmb_init ! TMB outputs492 490 CALL dia_25h_init ! 25h mean outputs 493 491 CALL dia_harm_init ! tidal harmonics outputs -
NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/OCE/step.F90
r12143 r12706 155 155 IF( l_ldftra_time .OR. l_ldfeiv_time ) CALL ldf_tra( kstp ) ! and/or eiv coeff. 156 156 IF( l_ldfdyn_time ) CALL ldf_dyn( kstp ) ! eddy viscosity coeff. 157 158 157 !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 159 158 ! Ocean dynamics : hdiv, ssh, e3, u, v, w … … 189 188 IF(.NOT.ln_linssh) CALL dom_vvl_sf_nxt( kstp, kcall=2 ) ! after vertical scale factors (update depth average component) 190 189 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 194 192 CALL wzv ( kstp ) ! now cross-level velocity 195 193 IF( ln_zad_Aimp ) CALL wAimp ( kstp ) ! Adaptive-implicit vertical advection partitioning 196 194 ENDIF 195 197 196 198 197 !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> … … 206 205 IF( ln_floats ) CALL flo_stp ( kstp ) ! drifting Floats 207 206 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) 209 208 IF( ln_diadct ) CALL dia_dct ( kstp ) ! Transports 210 209 CALL dia_ar5 ( kstp ) ! ar5 diag 210 IF( ln_diaptr ) CALL dia_ptr ! Poleward adv/ldf TRansports diagnostics 211 211 IF( ln_diaharm ) CALL dia_harm( kstp ) ! Tidal harmonic analysis 212 212 CALL dia_wri ( kstp ) ! ocean model: outputs … … 245 245 CALL tra_ldf ( kstp ) ! lateral mixing 246 246 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 diagnostics249 !!gm250 247 CALL tra_zdf ( kstp ) ! vertical mixing and after tracer fields 251 248 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 105 105 im2 = nmonth - 7 106 106 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 ! 107 111 iyear_end = iyear_beg + 1 108 112 -
NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/TOP/PISCES/P4Z/p4zfechem.F90
r12143 r12706 15 15 USE sms_pisces ! PISCES Source Minus Sink variables 16 16 USE p4zche ! chemical model 17 USE p4zsbc ! Boundary conditions from sediments17 USE p4zsbc ! Boundary conditions from sediments 18 18 USE prtctl_trc ! print control for debugging 19 19 USE iom ! I/O manager … … 71 71 IF( ln_timing ) CALL timing_start('p4z_fechem') 72 72 ! 73 zFe3 (:,:,:) = 0.74 zFeL1(:,:,:) = 0.75 zTL1 (:,:,:) = 0.76 73 77 74 ! Total ligand concentration : Ligands can be chosen to be constant or variable … … 209 206 IF( knt == nrdttrc ) THEN 210 207 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 219 228 ENDIF 220 229 ENDIF … … 254 263 ENDIF 255 264 ! 256 REWIND( numnatp_ref ) ! Namelist nampisfer in reference namelist : Pisces iron chemistry265 REWIND( numnatp_ref ) 257 266 READ ( numnatp_ref, nampisfer, IOSTAT = ios, ERR = 901) 258 267 901 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 ) 260 270 READ ( numnatp_cfg, nampisfer, IOSTAT = ios, ERR = 902 ) 261 271 902 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 80 80 CHARACTER (len=25) :: charout 81 81 REAL(wp), DIMENSION(jpi,jpj) :: zkgco2, zkgo2, zh2co3, zoflx, zpco2atm 82 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: zw2d83 82 !!--------------------------------------------------------------------- 84 83 ! … … 160 159 zfld = zfco2 * chemc(ji,jj,1) * zkgco2(ji,jj) ! (mol/L) * (m/s) 161 160 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) 163 162 ! 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) 165 164 166 165 ! Compute O2 flux … … 174 173 IF( iom_use("tcflx") .OR. iom_use("tcflxcum") .OR. kt == nitrst & 175 174 & .OR. (ln_check_mass .AND. kt == nitend) ) & 176 t_oce_co2_flx = glob_sum( 'p4zflx', oce_co2(:,:) ) ! Total Flux of Carbon175 t_oce_co2_flx = glob_sum( 'p4zflx', oce_co2(:,:) * e1e2t(:,:) * 1000. ) ! Total Flux of Carbon 177 176 t_oce_co2_flx_cum = t_oce_co2_flx_cum + t_oce_co2_flx ! Cumulative Total Flux of Carbon 178 177 ! t_atm_co2_flx = glob_sum( 'p4zflx', satmco2(:,:) * e1e2t(:,:) ) ! Total atmospheric pCO2 … … 186 185 187 186 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 213 196 ENDIF 214 197 ! … … 239 222 ENDIF 240 223 ! 241 REWIND( numnatp_ref ) ! Namelist nampisext in reference namelist : Pisces atm. conditions224 REWIND( numnatp_ref ) 242 225 READ ( numnatp_ref, nampisext, IOSTAT = ios, ERR = 901) 243 226 901 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 ) 245 229 READ ( numnatp_cfg, nampisext, IOSTAT = ios, ERR = 902 ) 246 230 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nampisext in configuration namelist' ) … … 320 304 ENDIF 321 305 ! 322 REWIND( numnatp_ref ) ! Namelist nampisatm in reference namelist : Pisces atm. sea level pressure file306 REWIND( numnatp_ref ) 323 307 READ ( numnatp_ref, nampisatm, IOSTAT = ios, ERR = 901) 324 308 901 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 ) 326 311 READ ( numnatp_cfg, nampisatm, IOSTAT = ios, ERR = 902 ) 327 312 902 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 43 43 INTEGER :: ji, jj, jk 44 44 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 47 46 CHARACTER (len=25) :: charout 48 47 !!--------------------------------------------------------------------- … … 69 68 zligrem(ji,jj,jk) = zlgwr 70 69 zligpr(ji,jj,jk) = zlgwpr 71 z rligprod(ji,jj,jk)= zlgwp70 zligprod(ji,jj,jk) = zlgwp 72 71 ! 73 72 END DO … … 78 77 ! --------------------------------- 79 78 IF( lk_iomput .AND. knt == nrdttrc ) THEN 80 ALLOCATE( zw3d(jpi,jpj,jpk) )81 79 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(:,:,:) ) 84 81 ENDIF 85 82 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(:,:,:) ) 88 84 ENDIF 89 85 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(:,:,:) ) 92 87 ENDIF 93 DEALLOCATE( zw3d )94 88 ENDIF 95 89 ! … … 125 119 WRITE(numout,*) '~~~~~~~~~~~~~~~' 126 120 ENDIF 127 REWIND( numnatp_ref ) ! Namelist nampislig in reference namelist : Pisces remineralization 121 122 REWIND( numnatp_ref ) 128 123 READ ( numnatp_ref, nampislig, IOSTAT = ios, ERR = 901) 129 124 901 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 ) 131 127 READ ( numnatp_cfg, nampislig, IOSTAT = ios, ERR = 902 ) 132 128 902 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 215 215 ! 216 216 IF( lk_iomput .AND. knt == nrdttrc ) THEN ! save output diagnostics 217 IF( iom_use( "xfracal" ) )CALL iom_put( "xfracal", xfracal(:,:,:) * tmask(:,:,:) ) ! euphotic layer deptht218 IF( iom_use( "LNnut" ) )CALL iom_put( "LNnut" , xlimphy(:,:,:) * tmask(:,:,:) ) ! Nutrient limitation term219 IF( iom_use( "LDnut" ) )CALL iom_put( "LDnut" , xlimdia(:,:,:) * tmask(:,:,:) ) ! Nutrient limitation term220 IF( iom_use( "LNFe" ) )CALL iom_put( "LNFe" , xlimnfe(:,:,:) * tmask(:,:,:) ) ! Iron limitation term221 IF( iom_use( "LDFe" ) )CALL iom_put( "LDFe" , xlimdfe(:,:,:) * tmask(:,:,:) ) ! Iron limitation term217 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 222 222 ENDIF 223 223 ! … … 252 252 ENDIF 253 253 ! 254 REWIND( numnatp_ref ) ! Namelist nampislim in reference namelist : Pisces nutrient limitation parameters254 REWIND( numnatp_ref ) 255 255 READ ( numnatp_ref, namp4zlim, IOSTAT = ios, ERR = 901) 256 256 901 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 ) 258 259 READ ( numnatp_cfg, namp4zlim, IOSTAT = ios, ERR = 902 ) 259 260 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namp4zlim in configuration namelist' ) … … 284 285 ENDIF 285 286 ! 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 287 294 ! 288 295 END SUBROUTINE p4z_lim_init -
NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/TOP/PISCES/P4Z/p4zlys.F90
r12143 r12706 64 64 IF( ln_timing ) CALL timing_start('p4z_lys') 65 65 ! 66 zco3 (:,:,:) = 0.67 zcaldiss(:,:,:) = 0.68 66 zhinit (:,:,:) = hi(:,:,:) * 1000. / ( rhop(:,:,:) + rtrn ) 69 67 ! … … 123 121 124 122 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 129 133 ENDIF 130 134 ! … … 162 166 ENDIF 163 167 ! 164 REWIND( numnatp_ref ) ! Namelist nampiscal in reference namelist : Pisces CaCO3 dissolution168 REWIND( numnatp_ref ) 165 169 READ ( numnatp_ref, nampiscal, IOSTAT = ios, ERR = 901) 166 170 901 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 ) 168 173 READ ( numnatp_cfg, nampiscal, IOSTAT = ios, ERR = 902 ) 169 174 902 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 71 71 REAL(wp) :: zgrazn, zgrazpoc, zgraznf, zgrazf 72 72 REAL(wp) :: zgrazfffp, zgrazfffg, zgrazffep, zgrazffeg 73 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zgrazing2, zfezoo2, zz2ligprod 73 74 CHARACTER (len=25) :: charout 74 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zgrazing, zfezoo275 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: zw3d, zz2ligprod76 75 !!--------------------------------------------------------------------- 77 76 ! 78 77 IF( ln_timing ) CALL timing_start('p4z_meso') 79 !80 zgrazing(:,:,:) = 0._wp81 zfezoo2 (:,:,:) = 0._wp82 !83 IF (ln_ligand) THEN84 ALLOCATE( zz2ligprod(jpi,jpj,jpk) )85 zz2ligprod(:,:,:) = 0._wp86 ENDIF87 78 ! 88 79 DO jk = 1, jpkm1 … … 162 153 163 154 ! Total grazing ( grazing by microzoo is already computed in p4zmicro ) 164 zgrazing (ji,jj,jk) = zgraztotc155 zgrazing2(ji,jj,jk) = zgraztotc 165 156 166 157 ! Mesozooplankton efficiency … … 233 224 ! 234 225 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(:,:,:) ) 239 229 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(:,:,:) ) 243 232 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(:,:,:) ) 247 235 ENDIF 248 IF( iom_use( "LPRODZ2" ) .AND. ln_ligand ) THEN249 zw3d(:,:,:) = zz2ligprod(:,:,:) * 1e9 * 1.e+3 * rfact2r * tmask(:,:,:)250 CALL iom_put( "LPRODZ2" , zw3d )251 ENDIF252 DEALLOCATE( zw3d )253 236 ENDIF 254 !255 IF (ln_ligand) DEALLOCATE( zz2ligprod )256 237 ! 257 238 IF(ln_ctl) THEN ! print mean trends (used for debugging) … … 290 271 ENDIF 291 272 ! 292 REWIND( numnatp_ref ) ! Namelist nampismes in reference namelist : Pisces mesozooplankton273 REWIND( numnatp_ref ) 293 274 READ ( numnatp_ref, namp4zmes, IOSTAT = ios, ERR = 901) 294 275 901 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 ) 296 278 READ ( numnatp_cfg, namp4zmes, IOSTAT = ios, ERR = 902 ) 297 279 902 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 69 69 REAL(wp) :: zgrazp, zgrazm, zgrazsd 70 70 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 73 72 CHARACTER (len=25) :: charout 74 73 !!--------------------------------------------------------------------- 75 74 ! 76 75 IF( ln_timing ) CALL timing_start('p4z_micro') 77 !78 IF (ln_ligand) THEN79 ALLOCATE( zzligprod(jpi,jpj,jpk) )80 zzligprod(:,:,:) = 0._wp81 ENDIF82 76 ! 83 77 DO jk = 1, jpkm1 … … 186 180 END DO 187 181 ! 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(:,:,:) ) 204 185 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 208 193 ! 209 194 IF(ln_ctl) THEN ! print mean trends (used for debugging) … … 243 228 ENDIF 244 229 ! 245 REWIND( numnatp_ref ) ! Namelist nampiszoo in reference namelist : Pisces microzooplankton230 REWIND( numnatp_ref ) 246 231 READ ( numnatp_ref, namp4zzoo, IOSTAT = ios, ERR = 901) 247 232 901 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 ) 249 235 READ ( numnatp_cfg, namp4zzoo, IOSTAT = ios, ERR = 902 ) 250 236 902 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 71 71 ! 72 72 IF( ln_timing ) CALL timing_start('p4z_opt') 73 IF( ln_p5z ) ALLOCATE( zetmp5(jpi,jpj) )74 73 75 74 IF( knt == 1 .AND. ln_varpar ) CALL p4z_opt_sbc( kt ) … … 133 132 ! 134 133 DO jk = 1, nksrp 135 etot (:,:,jk) = ze1(:,:,jk) + ze2(:,:,jk) + ze3(:,:,jk)134 etot (:,:,jk) = ze1(:,:,jk) + ze2(:,:,jk) + ze3(:,:,jk) 136 135 enano(:,:,jk) = 1.85 * ze1(:,:,jk) + 0.69 * ze2(:,:,jk) + 0.46 * ze3(:,:,jk) 137 136 ediat(:,:,jk) = 1.62 * ze1(:,:,jk) + 0.74 * ze2(:,:,jk) + 0.63 * ze3(:,:,jk) … … 241 240 ! 242 241 IF( ln_p5z ) THEN 243 zetmp5 (:,:) = 0.e0242 ALLOCATE( zetmp5(jpi,jpj) ) ; zetmp5 (:,:) = 0.e0 244 243 DO jk = 1, nksrp 245 244 DO jj = 1, jpj … … 264 263 END DO 265 264 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 ! 276 274 IF( ln_timing ) CALL timing_stop('p4z_opt') 277 275 ! … … 400 398 WRITE(numout,*) '~~~~~~~~~~~~ ' 401 399 ENDIF 402 REWIND( numnatp_ref ) ! Namelist nampisopt in reference namelist : Pisces attenuation coef. and PAR 400 401 REWIND( numnatp_ref ) 403 402 READ ( numnatp_ref, nampisopt, IOSTAT = ios, ERR = 901) 404 403 901 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 ) 406 406 READ ( numnatp_cfg, nampisopt, IOSTAT = ios, ERR = 902 ) 407 407 902 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 341 341 & tpp = glob_sum( 'p4zprod', ( zprorcan(:,:,:) + zprorcad(:,:,:) ) * cvol(:,:,:) ) 342 342 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(:,:,:) ) 455 356 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 456 366 ENDIF 457 367 … … 490 400 ENDIF 491 401 ! 492 REWIND( numnatp_ref ) ! Namelist nampisprod in reference namelist : Pisces phytoplankton production402 REWIND( numnatp_ref ) 493 403 READ ( numnatp_ref, namp4zprod, IOSTAT = ios, ERR = 901) 494 404 901 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 ) 496 407 READ ( numnatp_cfg, namp4zprod, IOSTAT = ios, ERR = 902 ) 497 408 902 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 68 68 REAL(wp), DIMENSION(jpi,jpj ) :: ztempbac 69 69 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zdepbac, zolimi, zdepprod, zfacsi, zfacsib, zdepeff, zfebact 70 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: zw3d71 70 !!--------------------------------------------------------------------- 72 71 ! … … 274 273 ENDIF 275 274 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 280 277 ! 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 ) 284 280 ENDIF 285 IF( iom_use( "DENIT" ) ) THEN286 zw3d(:,:,:) = denitr(:,:,:) * rdenit * rno3 * tmask(:,:,:) * zfact ! Denitrification287 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(:,:,:) ) 288 284 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 ) 299 286 ENDIF 300 287 ! … … 327 314 ENDIF 328 315 ! 329 REWIND( numnatp_ref ) ! Namelist nampisrem in reference namelist : Pisces remineralization316 REWIND( numnatp_ref ) 330 317 READ ( numnatp_ref, nampisrem, IOSTAT = ios, ERR = 901) 331 318 901 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 ) 333 321 READ ( numnatp_cfg, nampisrem, IOSTAT = ios, ERR = 902 ) 334 322 902 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 109 109 tra(:,:,1,jpfer) = tra(:,:,1,jpfer) + zironice(:,:) 110 110 ! 111 IF( lk_iomput .AND. knt == nrdttrc .AND. iom_use( "Ironice" )) &111 IF( lk_iomput .AND. knt == nrdttrc ) & 112 112 & CALL iom_put( "Ironice", zironice(:,:) * 1.e+3 * rfact2r * e3t_n(:,:,1) * tmask(:,:,1) ) ! iron flux from ice 113 113 ! … … 143 143 ENDDO 144 144 ! 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 152 148 ENDIF 153 149 DEALLOCATE( zsidep, zpdep, zirondep ) … … 207 203 ENDIF 208 204 ! 209 IF( lk_iomput .AND. knt == nrdttrc .AND. iom_use( "HYDR" )) &205 IF( lk_iomput .AND. knt == nrdttrc ) & 210 206 & CALL iom_put( "HYDR", hydrofe(:,:,:) * 1.e+3 * tmask(:,:,:) ) ! hydrothermal iron input 211 207 ENDIF … … 229 225 tra(:,:,:,jpfer) = tra(:,:,:,jpfer) + ironsed(:,:,:) * rfact2 230 226 ! 231 IF( lk_iomput .AND. knt == nrdttrc .AND. iom_use( "Ironsed" )) &227 IF( lk_iomput .AND. knt == nrdttrc ) & 232 228 & CALL iom_put( "Ironsed", ironsed(:,:,:) * 1.e+3 * tmask(:,:,:) ) ! iron inputs from sediments 233 229 ENDIF … … 467 463 IF( knt == nrdttrc ) THEN 468 464 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 ) 481 470 ENDIF 482 471 ENDIF -
NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/TOP/PISCES/P4Z/p4zsink.F90
r10425 r12706 62 62 CHARACTER (len=25) :: charout 63 63 REAL(wp) :: zmax, zfact 64 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: zw3d65 REAL(wp), ALLOCATABLE, DIMENSION(:,: ) :: zw2d66 64 !!--------------------------------------------------------------------- 67 65 ! … … 129 127 & t_oce_co2_exp = glob_sum( 'p4zsink', ( sinking(:,:,ik100) + sinking2(:,:,ik100) ) * e1e2t(:,:) * tmask(:,:,1) ) 130 128 ! 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 ! 172 142 ENDIF 173 143 ! -
NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/TOP/PISCES/P4Z/p4zsms.F90
r12143 r12706 35 35 INTEGER :: numco2, numnut, numnit ! logical unit for co2 budget 36 36 REAL(wp) :: alkbudget, no3budget, silbudget, ferbudget, po4budget 37 REAL(wp) :: xfact 1, xfact2, xfact337 REAL(wp) :: xfact, xfact1, xfact2, xfact3 38 38 39 39 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: xnegtr ! Array used to indicate negative tracer values … … 63 63 REAL(wp) :: ztra 64 64 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 65 69 !!--------------------------------------------------------------------- 66 70 ! … … 85 89 rfact = r2dttrc 86 90 ! 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 87 98 IF( ( ln_top_euler .AND. kt == nittrc000 ) .OR. ( .NOT.ln_top_euler .AND. kt <= nittrc000 + nn_dttrc ) ) THEN 88 99 rfactr = 1. / rfact … … 90 101 rfact2r = 1. / rfact2 91 102 xstep = rfact2 / rday ! Time step duration for biology 103 xfact = 1.e+3 * rfact2r 92 104 IF(lwp) WRITE(numout,*) 93 105 IF(lwp) WRITE(numout,*) ' Passive Tracer time step rfact = ', rfact, ' rdt = ', rdt … … 134 146 END DO 135 147 ! 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 ! 136 196 DO jn = jp_pcs0, jp_pcs1 137 197 tra(:,:,:,jn) = 0._wp … … 144 204 ENDIF 145 205 END DO 146 147 206 ! 148 207 IF( l_trdtrc ) THEN 149 208 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 151 211 END DO 212 DEALLOCATE( ztrdt ) 152 213 END IF 153 214 #endif -
NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/TOP/PISCES/P4Z/p5zlim.F90
r12143 r12706 406 406 ! 407 407 IF( lk_iomput .AND. knt == nrdttrc ) THEN ! save output diagnostics 408 IF( iom_use( "xfracal" ) )CALL iom_put( "xfracal", xfracal(:,:,:) * tmask(:,:,:) ) ! euphotic layer deptht409 IF( iom_use( "LNnut" ) )CALL iom_put( "LNnut" , xlimphy(:,:,:) * tmask(:,:,:) ) ! Nutrient limitation term410 IF( iom_use( "LPnut" ) )CALL iom_put( "LPnut" , xlimpic(:,:,:) * tmask(:,:,:) ) ! Nutrient limitation term411 IF( iom_use( "LDnut" ) )CALL iom_put( "LDnut" , xlimdia(:,:,:) * tmask(:,:,:) ) ! Nutrient limitation term412 IF( iom_use( "LNFe" ) )CALL iom_put( "LNFe" , xlimnfe(:,:,:) * tmask(:,:,:) ) ! Iron limitation term413 IF( iom_use( "LPFe" ) )CALL iom_put( "LPFe" , xlimpfe(:,:,:) * tmask(:,:,:) ) ! Iron limitation term414 IF( iom_use( "LDFe" ) )CALL iom_put( "LDFe" , xlimdfe(:,:,:) * tmask(:,:,:) ) ! Iron limitation term415 IF( iom_use( "SIZEN" ) ) CALL iom_put( "SIZEN" , sizen(:,:,:) * tmask(:,:,:) ) ! Iron limitation term416 IF( iom_use( "SIZEP" ) ) CALL iom_put( "SIZEP" , sizep(:,:,:) * tmask(:,:,:) ) ! Iron limitation term417 IF( iom_use( "SIZED" ) ) CALL iom_put( "SIZED" , sized(:,:,:) * tmask(:,:,:) ) ! Iron limitation term408 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 418 418 ENDIF 419 419 ! … … 448 448 !!---------------------------------------------------------------------- 449 449 ! 450 REWIND( numnatp_ref ) ! Namelist nampislim in reference namelist : Pisces nutrient limitation parameters450 REWIND( numnatp_ref ) 451 451 READ ( numnatp_ref, namp5zlim, IOSTAT = ios, ERR = 901) 452 452 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampislim in reference namelist' ) 453 453 ! 454 REWIND( numnatp_cfg ) ! Namelist nampislim in configuration namelist : Pisces nutrient limitation parameters454 REWIND( numnatp_cfg ) 455 455 READ ( numnatp_cfg, namp5zlim, IOSTAT = ios, ERR = 902 ) 456 456 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nampislim in configuration namelist' ) … … 489 489 ENDIF 490 490 491 REWIND( numnatp_ref ) ! Namelist nampislim in reference namelist : Pisces nutrient limitation parameters491 REWIND( numnatp_ref ) 492 492 READ ( numnatp_ref, namp5zquota, IOSTAT = ios, ERR = 903) 493 493 903 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisquota in reference namelist' ) 494 494 ! 495 REWIND( numnatp_cfg ) ! Namelist nampislim in configuration namelist : Pisces nutrient limitation parameters495 REWIND( numnatp_cfg ) 496 496 READ ( numnatp_cfg, namp5zquota, IOSTAT = ios, ERR = 904 ) 497 497 904 IF( ios > 0 ) CALL ctl_nam ( ios , 'nampisquota in configuration namelist' ) … … 526 526 zpsiuptk = 2.3 * rno3 527 527 ! 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 529 539 ! 530 540 END SUBROUTINE p5z_lim_init -
NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/TOP/PISCES/P4Z/p5zmeso.F90
r12143 r12706 86 86 CHARACTER (len=25) :: charout 87 87 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 90 89 91 90 !!--------------------------------------------------------------------- … … 93 92 IF( ln_timing ) CALL timing_start('p5z_meso') 94 93 ! 95 96 zgrazing(:,:,:) = 0._wp97 zfezoo2 (:,:,:) = 0._wp98 !99 IF (ln_ligand) THEN100 ALLOCATE( zz2ligprod(jpi,jpj,jpk) )101 zz2ligprod(:,:,:) = 0._wp102 ENDIF103 94 104 95 zmetexcess = 0.0 … … 224 215 225 216 ! Total grazing ( grazing by microzoo is already computed in p5zmicro ) 226 zgrazing (ji,jj,jk) = zgraztotc217 zgrazing2(ji,jj,jk) = zgraztotc 227 218 228 219 ! Stoichiometruc ratios of the food ingested by zooplanton … … 355 346 END DO 356 347 ! 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(:,:,:) ) 362 352 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(:,:,:) ) 366 355 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(:,:,:) ) 370 358 ENDIF 371 IF( iom_use( "LPRODZ2" ) .AND. ln_ligand ) THEN372 zw3d(:,:,:) = zz2ligprod(:,:,:) * 1e9 * 1.e+3 * rfact2r * tmask(:,:,:)373 CALL iom_put( "LPRODZ2" , zw3d )374 ENDIF375 DEALLOCATE( zw3d )376 359 ENDIF 377 360 ! … … 407 390 !!---------------------------------------------------------------------- 408 391 ! 409 REWIND( numnatp_ref ) ! Namelist nampismes in reference namelist : Pisces mesozooplankton392 REWIND( numnatp_ref ) 410 393 READ ( numnatp_ref, namp5zmes, IOSTAT = ios, ERR = 901) 411 394 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampismes in reference namelist' ) 412 395 ! 413 REWIND( numnatp_cfg ) ! Namelist nampismes in configuration namelist : Pisces mesozooplankton396 REWIND( numnatp_cfg ) 414 397 READ ( numnatp_cfg, namp5zmes, IOSTAT = ios, ERR = 902 ) 415 398 902 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 84 84 REAL(wp) :: zgrazdc, zgrazdn, zgrazdp, zgrazdf, zgraznf, zgrazz 85 85 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 88 87 CHARACTER (len=25) :: charout 89 88 !!--------------------------------------------------------------------- 90 89 ! 91 90 IF( ln_timing ) CALL timing_start('p5z_micro') 92 !93 IF (ln_ligand) THEN94 ALLOCATE( zzligprod(jpi,jpj,jpk) )95 zzligprod(:,:,:) = 0._wp96 ENDIF97 91 ! 98 92 zmetexcess = 0.0 … … 299 293 END DO 300 294 ! 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(:,:,:)) 317 304 ENDIF 318 305 ENDIF … … 349 336 !!---------------------------------------------------------------------- 350 337 ! 351 REWIND( numnatp_ref ) ! Namelist nampiszoo in reference namelist : Pisces microzooplankton338 REWIND( numnatp_ref ) 352 339 READ ( numnatp_ref, namp5zzoo, IOSTAT = ios, ERR = 901) 353 340 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namp5zzoo in reference namelist' ) 354 341 ! 355 REWIND( numnatp_cfg ) ! Namelist nampiszoo in configuration namelist : Pisces microzooplankton342 REWIND( numnatp_cfg ) 356 343 READ ( numnatp_cfg, namp5zzoo, IOSTAT = ios, ERR = 902 ) 357 344 902 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 94 94 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zmxl_fac, zmxl_chl 95 95 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zpligprod1, zpligprod2 96 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: zw3d97 REAL(wp), ALLOCATABLE, DIMENSION(:,: ) :: zw2d98 96 !!--------------------------------------------------------------------- 99 97 ! … … 101 99 ! 102 100 zprorcan(:,:,:) = 0._wp ; zprorcap(:,:,:) = 0._wp ; zprorcad(:,:,:) = 0._wp 101 zcroissn(:,:,:) = 0._wp ; zcroissp(:,:,:) = 0._wp ; zcroissd(:,:,:) = 0._wp 103 102 zprofed (:,:,:) = 0._wp ; zprofep (:,:,:) = 0._wp ; zprofen (:,:,:) = 0._wp 104 103 zpronewn(:,:,:) = 0._wp ; zpronewp(:,:,:) = 0._wp ; zpronewd(:,:,:) = 0._wp … … 107 106 zprdia (:,:,:) = 0._wp ; zprpic (:,:,:) = 0._wp ; zprbio (:,:,:) = 0._wp 108 107 zprodopn(:,:,:) = 0._wp ; zprodopp(:,:,:) = 0._wp ; zprodopd(:,:,:) = 0._wp 109 zysopt (:,:,:) = 0._wp 108 zysopt (:,:,:) = 0._wp 110 109 zrespn (:,:,:) = 0._wp ; zrespp (:,:,:) = 0._wp ; zrespd (:,:,:) = 0._wp 111 110 … … 444 443 ! 445 444 IF( ln_ligand ) THEN 446 zpligprod1(:,:,:) = 0._wp ; zpligprod2(:,:,:) = 0._wp 445 zpligprod1(:,:,:) = 0._wp ; zpligprod2(:,:,:) = 0._wp 447 446 DO jk = 1, jpkm1 448 447 DO jj = 1, jpj … … 465 464 & tpp = glob_sum( 'p5zprod', ( zprorcan(:,:,:) + zprorcad(:,:,:) + zprorcap(:,:,:) ) * cvol(:,:,:) ) 466 465 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(:,:,:) ) 553 482 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 554 497 ENDIF 555 498 … … 582 525 !!---------------------------------------------------------------------- 583 526 584 REWIND( numnatp_ref ) ! Namelist nampisprod in reference namelist : Pisces phytoplankton production527 REWIND( numnatp_ref ) 585 528 READ ( numnatp_ref, namp5zprod, IOSTAT = ios, ERR = 901) 586 529 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namp5zprod in reference namelist' ) 587 530 588 REWIND( numnatp_cfg ) ! Namelist nampisprod in configuration namelist : Pisces phytoplankton production531 REWIND( numnatp_cfg ) 589 532 READ ( numnatp_cfg, namp5zprod, IOSTAT = ios, ERR = 902 ) 590 533 902 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 58 58 IF(lwp) WRITE(numout,*) '~~~~~~~~' 59 59 ! 60 CALL trc_ini_ctl ! control61 60 CALL trc_nam ! read passive tracers namelists 62 61 CALL top_alloc() ! allocate TOP arrays … … 85 84 ! 86 85 END SUBROUTINE trc_init 87 88 89 SUBROUTINE trc_ini_ctl90 !!----------------------------------------------------------------------91 !! *** ROUTINE trc_ini_ctl ***92 !! ** Purpose : Control + ocean volume93 !!----------------------------------------------------------------------94 INTEGER :: jk ! dummy loop indices95 !96 ! Define logical parameter ton control dirunal cycle in TOP97 l_trcdm2dc = ln_dm2dc .OR. ( ln_cpl .AND. ncpl_qsr_freq /= 1 )98 l_trcdm2dc = l_trcdm2dc .AND. .NOT. l_offline99 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_ctl103 86 104 87 -
NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/TOP/trcstp.F90
r10570 r12706 71 71 ll_trcstat = ( ln_ctl .OR. sn_cfctl%l_trcstat ) .AND. & 72 72 & ( ( MOD( kt, sn_cfctl%ptimincr ) == 0 ) .OR. ( kt == nitend ) ) 73 74 IF( kt == nittrc000 ) CALL trc_stp_ctl ! control 73 75 IF( kt == nittrc000 .AND. lk_trdmxl_trc ) CALL trd_mxl_trc_init ! trends: Mixed-layer 74 76 ! … … 124 126 ! 125 127 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 126 142 127 143 -
NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/src/TOP/trcwri.F90
r10068 r12706 46 46 IF( ln_timing ) CALL timing_start('trc_wri') 47 47 ! 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 ! 53 64 ENDIF 54 65 ! 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 5 5 --> 6 6 <context id="nemo"> 7 <!-- $id$ -->7 <!-- $id$ --> 8 8 <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> 17 19 </variable_definition> 20 18 21 <!-- Fields definition --> 19 22 <field_definition src="./field_def_nemo-oce.xml"/> <!-- NEMO ocean dynamics --> … … 21 24 <!-- Files definition --> 22 25 <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"/> 40 29 30 <!-- Domain definition --> 41 31 <domain_definition src="./domain_def_nemo.xml"/> 32 33 <!-- Grids definition --> 34 <grid_definition src="./grid_def_nemo.xml"/> 42 35 43 <grid_definition src="./grid_def_nemo.xml"/>44 36 45 37 </context> -
NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/tests/CANAL/EXPREF/field_def_nemo-oce.xml
r9572 r12706 8 8 ============================================================================================================ 9 9 --> 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 --> 11 11 12 12 <!-- … … 19 19 20 20 <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 --> 113 127 114 128 <!-- Tides --> 115 129 116 130 <field_group id="Tides_T" grid_ref="grid_T_2D" operation="once" > 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 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" /> 140 154 </field_group> 141 155 142 156 <field_group id="Tides_U" grid_ref="grid_U_2D" operation="once" > 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 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" /> 165 179 </field_group> 166 180 167 181 <field_group id="Tides_V" grid_ref="grid_V_2D" operation="once" > 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 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" /> 190 204 </field_group> 191 205 … … 193 207 194 208 <field_group id="OSMOSIS_T" grid_ref="grid_T_2D"> 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 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" /> 216 230 </field_group> 217 231 218 232 <field_group id="OSMOSIS_W" grid_ref="grid_W_3D" operation="instant" > 219 220 221 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" /> 222 236 </field_group> 223 237 224 238 <field_group id="OSMOSIS_U" grid_ref="grid_U_2D" > 225 226 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" /> 227 241 </field_group> 228 242 229 243 <field_group id="OSMOSIS_V" grid_ref="grid_V_2D" > 230 231 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" /> 232 246 </field_group> 233 247 234 248 <!-- 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 --> 338 357 339 358 <!-- U grid --> 340 359 341 360 <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" /> 387 410 </field_group> 388 411 … … 390 413 391 414 <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" /> 437 464 </field_group> 438 465 … … 440 467 441 468 <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 474 504 <!-- F grid --> 475 505 <!-- f-eddy viscosity coefficients (ldfdyn) --> 476 506 <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" 478 479 <field_group id="scalar" grid_ref="grid_ T_2D" >480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 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 --> 507 537 508 538 <field_group id="floatvar" grid_ref="grid_T_nfloat" operation="instant" > 509 510 511 512 513 514 515 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" /> 516 546 </field_group> 517 547 … … 519 549 520 550 <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" /> 534 566 </field_group> 535 567 536 568 <!-- Poleward transport : ptr --> 537 569 <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 549 550 551 552 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 579 580 581 582 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 604 605 606 607 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" /> 608 640 </field_group> 609 641 … … 617 649 <!-- Asselin trends calculated on odd time steps--> 618 650 <field_group id="trendT_odd" grid_ref="grid_T_3D"> 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 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 721 722 723 724 725 726 727 728 729 730 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 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 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> 822 854 823 855 … … 828 860 --> 829 861 830 831 832 833 834 835 836 837 838 839 840 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" /> 841 873 </field_group> 842 874 843 875 <field_group id="mooring" > 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 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" /> 875 907 </field_group> 876 908 877 909 <field_group id="groupT" > 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 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" /> 898 930 </field_group> 899 931 900 932 <field_group id="groupU" > 901 902 903 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" /> 904 936 </field_group> 905 937 906 938 <field_group id="groupV" > 907 908 909 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" /> 910 942 </field_group> 911 943 912 944 <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" /> 925 946 </field_group> 926 947 927 948 <field_group id="1h_grid_U_tmb" grid_ref="grid_U_2D" operation="instant"> 928 929 930 931 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" /> 932 953 </field_group> 933 954 934 955 <field_group id="1h_grid_V_tmb" grid_ref="grid_V_2D" operation="instant"> 935 936 937 938 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" /> 939 960 </field_group> 940 961 941 962 <!-- 25h diagnostic output --> 942 963 <field_group id="25h_grid_T" grid_ref="grid_T_3D" operation="instant"> 943 944 945 946 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" /> 947 968 </field_group> 948 969 949 970 <field_group id="25h_grid_U" grid_ref="grid_U_3D" operation="instant" > 950 971 <field id="vozocrtx25h" name="i current 25h mean" unit="m/s" /> 951 972 </field_group> 952 973 953 974 <field_group id="25h_grid_V" grid_ref="grid_V_3D" operation="instant"> 954 975 <field id="vomecrty25h" name="j current 25h mean" unit="m/s" /> 955 976 </field_group> 956 977 957 978 <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 961 962 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 <!-- 966 987 ============================================================================================================ 967 968 969 988 --> 989 <!-- output variables for my configuration (example) --> 990 970 991 <field_group id="myvarOCE" > 971 972 973 974 975 976 977 978 979 980 981 982 983 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" /> 984 1005 </field_group> 985 1006 -
NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/tests/CANAL/EXPREF/namelist_cfg
r12143 r12706 278 278 !! nam_diaharm Harmonic analysis of tidal constituents (default: OFF) 279 279 !! nam_diadct transports through some sections (default: OFF) 280 !! nam_diatmb Top Middle Bottom Output (default: OFF)281 280 !! nam_dia25h 25h Mean Output (default: OFF) 282 281 !! 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 46 46 USE lbclnk ! ocean lateral boundary conditions (or mpp link) 47 47 USE in_out_manager ! I/O manager 48 USE diatmb ! Top,middle,bottom output49 48 USE dia25h ! 25h Mean output 50 49 USE iom ! … … 492 491 CALL iom_put( "bn2", rn2 ) ! Brunt-Vaisala buoyancy frequency (N^2) 493 492 ! 494 495 IF (ln_diatmb) CALL dia_tmb ! tmb values496 493 497 494 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 5 5 --> 6 6 <context id="nemo"> 7 <!-- $id$ -->7 <!-- $id$ --> 8 8 <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> 17 19 </variable_definition> 20 18 21 <!-- Fields definition --> 19 22 <field_definition src="./field_def_nemo-oce.xml"/> <!-- NEMO ocean dynamics --> … … 23 26 <file_definition src="./file_def_nemo-oce.xml"/> <!-- NEMO ocean dynamics --> 24 27 <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"/> 42 32 33 <!-- Domain definition --> 43 34 <domain_definition src="./domain_def_nemo.xml"/> 35 36 <!-- Grids definition --> 37 <grid_definition src="./grid_def_nemo.xml"/> 44 38 45 <grid_definition src="./grid_def_nemo.xml"/>46 39 47 40 </context> -
NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/tests/ICE_ADV1D/EXPREF/namelist_cfg
r12143 r12706 204 204 !! nam_diaharm Harmonic analysis of tidal constituents (default: OFF) 205 205 !! nam_diadct transports through some sections (default: OFF) 206 !! nam_diatmb Top Middle Bottom Output (default: OFF)207 206 !! nam_dia25h 25h Mean Output (default: OFF) 208 207 !! 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 204 204 !! nam_diaharm Harmonic analysis of tidal constituents (default: OFF) 205 205 !! nam_diadct transports through some sections (default: OFF) 206 !! nam_diatmb Top Middle Bottom Output (default: OFF)207 206 !! nam_dia25h 25h Mean Output (default: OFF) 208 207 !! 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 204 204 !! nam_diaharm Harmonic analysis of tidal constituents (default: OFF) 205 205 !! nam_diadct transports through some sections (default: OFF) 206 !! nam_diatmb Top Middle Bottom Output (default: OFF)207 206 !! nam_dia25h 25h Mean Output (default: OFF) 208 207 !! 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 204 204 !! nam_diaharm Harmonic analysis of tidal constituents (default: OFF) 205 205 !! nam_diadct transports through some sections (default: OFF) 206 !! nam_diatmb Top Middle Bottom Output (default: OFF)207 206 !! nam_dia25h 25h Mean Output (default: OFF) 208 207 !! 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 5 5 --> 6 6 <context id="nemo"> 7 <!-- $id$ -->7 <!-- $id$ --> 8 8 <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> 17 19 </variable_definition> 20 18 21 <!-- Fields definition --> 19 22 <field_definition src="./field_def_nemo-oce.xml"/> <!-- NEMO ocean dynamics --> … … 23 26 <file_definition src="./file_def_nemo-oce.xml"/> <!-- NEMO ocean dynamics --> 24 27 <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"/> 42 32 33 <!-- Domain definition --> 43 34 <domain_definition src="./domain_def_nemo.xml"/> 35 36 <!-- Grids definition --> 37 <grid_definition src="./grid_def_nemo.xml"/> 44 38 45 <grid_definition src="./grid_def_nemo.xml"/>46 39 47 40 </context> -
NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/tests/ICE_ADV2D/EXPREF/namelist_cfg
r12143 r12706 204 204 !! nam_diaharm Harmonic analysis of tidal constituents (default: OFF) 205 205 !! nam_diadct transports through some sections (default: OFF) 206 !! nam_diatmb Top Middle Bottom Output (default: OFF)207 206 !! nam_dia25h 25h Mean Output (default: OFF) 208 207 !! 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 204 204 !! nam_diaharm Harmonic analysis of tidal constituents (default: OFF) 205 205 !! nam_diadct transports through some sections (default: OFF) 206 !! nam_diatmb Top Middle Bottom Output (default: OFF)207 206 !! nam_dia25h 25h Mean Output (default: OFF) 208 207 !! 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 39 39 <axis id="iax_20C" long_name="20 degC isotherm" unit="degC" /> 40 40 <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> 41 44 </axis_definition> 42 45 -
NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/tests/ICE_AGRIF/EXPREF/namelist_cfg
r12143 r12706 204 204 !! nam_diaharm Harmonic analysis of tidal constituents (default: OFF) 205 205 !! nam_diadct transports through some sections (default: OFF) 206 !! nam_diatmb Top Middle Bottom Output (default: OFF)207 206 !! nam_dia25h 25h Mean Output (default: OFF) 208 207 !! 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 5 5 --> 6 6 <context id="nemo"> 7 <!-- $id$ -->7 <!-- $id$ --> 8 8 <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> 17 19 </variable_definition> 20 18 21 <!-- Fields definition --> 19 22 <field_definition src="./field_def_nemo-oce.xml"/> <!-- NEMO ocean dynamics --> … … 21 24 <!-- Files definition --> 22 25 <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"/> 40 29 30 <!-- Domain definition --> 41 31 <domain_definition src="./domain_def_nemo.xml"/> 32 33 <!-- Grids definition --> 34 <grid_definition src="./grid_def_nemo.xml"/> 42 35 43 <grid_definition src="./grid_def_nemo.xml"/>44 36 45 37 </context> -
NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/tests/ISOMIP/EXPREF/namelist_cfg
r12143 r12706 430 430 !! nam_diaharm Harmonic analysis of tidal constituents (default: OFF) 431 431 !! nam_diadct transports through some sections (default: OFF) 432 !! nam_diatmb Top Middle Bottom Output (default: OFF)433 432 !! nam_dia25h 25h Mean Output (default: OFF) 434 433 !! 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 5 5 --> 6 6 <context id="nemo"> 7 <!-- $id$ -->7 <!-- $id$ --> 8 8 <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> 17 19 </variable_definition> 20 18 21 <!-- Fields definition --> 19 22 <field_definition src="./field_def_nemo-oce.xml"/> <!-- NEMO ocean dynamics --> … … 21 24 <!-- Files definition --> 22 25 <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"/> 40 29 30 <!-- Domain definition --> 41 31 <domain_definition src="./domain_def_nemo.xml"/> 32 33 <!-- Grids definition --> 34 <grid_definition src="./grid_def_nemo.xml"/> 42 35 43 <grid_definition src="./grid_def_nemo.xml"/>44 36 45 37 </context> -
NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/tests/LOCK_EXCHANGE/EXPREF/namelist_FCT2_flux_ubs_cfg
r12143 r12706 278 278 !! nam_diaharm Harmonic analysis of tidal constituents (default: OFF) 279 279 !! nam_diadct transports through some sections (default: OFF) 280 !! nam_diatmb Top Middle Bottom Output (default: OFF)281 280 !! nam_dia25h 25h Mean Output (default: OFF) 282 281 !! 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 5 5 --> 6 6 <context id="nemo"> 7 <!-- $id$ -->7 <!-- $id$ --> 8 8 <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> 17 19 </variable_definition> 20 18 21 <!-- Fields definition --> 19 22 <field_definition src="./field_def_nemo-oce.xml"/> <!-- NEMO ocean dynamics --> … … 21 24 <!-- Files definition --> 22 25 <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"/> 40 29 30 <!-- Domain definition --> 41 31 <domain_definition src="./domain_def_nemo.xml"/> 32 33 <!-- Grids definition --> 34 <grid_definition src="./grid_def_nemo.xml"/> 42 35 43 <grid_definition src="./grid_def_nemo.xml"/>44 36 45 37 </context> -
NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/tests/OVERFLOW/EXPREF/namelist_zps_FCT4_flux_ubs_cfg
r12143 r12706 296 296 !! nam_diaharm Harmonic analysis of tidal constituents (default: OFF) 297 297 !! nam_diadct transports through some sections (default: OFF) 298 !! nam_diatmb Top Middle Bottom Output (default: OFF)299 298 !! nam_dia25h 25h Mean Output (default: OFF) 300 299 !! 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 5 5 --> 6 6 <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 8 21 <!-- Fields definition --> 9 22 <field_definition src="./field_def_nemo-oce.xml"/> <!-- NEMO ocean dynamics --> … … 11 24 <!-- Files definition --> 12 25 <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"/> 30 29 30 <!-- Domain definition --> 31 31 <domain_definition src="./domain_def_nemo.xml"/> 32 33 <!-- Grids definition --> 34 <grid_definition src="./grid_def_nemo.xml"/> 32 35 33 <grid_definition src="./grid_def_nemo.xml"/> 34 36 35 37 </context> -
NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/tests/VORTEX/EXPREF/1_namelist_cfg
r12143 r12706 275 275 !! nam_diaharm Harmonic analysis of tidal constituents (default: OFF) 276 276 !! nam_diadct transports through some sections (default: OFF) 277 !! nam_diatmb Top Middle Bottom Output (default: OFF)278 277 !! nam_dia25h 25h Mean Output (default: OFF) 279 278 !! 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 5 5 --> 6 6 <context id="nemo"> 7 <!-- $id$ -->7 <!-- $id$ --> 8 8 <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> 17 19 </variable_definition> 20 18 21 <!-- Fields definition --> 19 22 <field_definition src="./field_def_nemo-oce.xml"/> <!-- NEMO ocean dynamics --> … … 21 24 <!-- Files definition --> 22 25 <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"/> 40 29 30 <!-- Domain definition --> 41 31 <domain_definition src="./domain_def_nemo.xml"/> 32 33 <!-- Grids definition --> 34 <grid_definition src="./grid_def_nemo.xml"/> 42 35 43 <grid_definition src="./grid_def_nemo.xml"/>44 36 45 37 </context> -
NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/tests/VORTEX/EXPREF/namelist_cfg
r12143 r12706 266 266 !! nam_diaharm Harmonic analysis of tidal constituents (default; OFF) 267 267 !! nam_diadct transports through some sections (default: OFF) 268 !! nam_diatmb Top Middle Bottom Output (default: OFF)269 268 !! nam_dia25h 25h Mean Output (default: OFF) 270 269 !! 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 5 5 --> 6 6 <context id="nemo"> 7 <!-- $id$ -->7 <!-- $id$ --> 8 8 <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> 17 19 </variable_definition> 20 18 21 <!-- Fields definition --> 19 22 <field_definition src="./field_def_nemo-oce.xml"/> <!-- NEMO ocean dynamics --> … … 21 24 <!-- Files definition --> 22 25 <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"/> 40 29 30 <!-- Domain definition --> 41 31 <domain_definition src="./domain_def_nemo.xml"/> 32 33 <!-- Grids definition --> 34 <grid_definition src="./grid_def_nemo.xml"/> 42 35 43 <grid_definition src="./grid_def_nemo.xml"/>44 36 45 37 </context> -
NEMO/branches/UKMO/NEMO_4.0.2_ENHANCE-02_ISF_nemo/tests/WAD/EXPREF/namelist_cfg
r12143 r12706 424 424 !! nam_diaharm Harmonic analysis of tidal constituents (default: OFF) 425 425 !! nam_diadct transports through some sections (default: OFF) 426 !! nam_diatmb Top Middle Bottom Output (default: OFF)427 426 !! nam_dia25h 25h Mean Output (default: OFF) 428 427 !! namnc4 netcdf4 chunking and compression settings ("key_netcdf4")
Note: See TracChangeset
for help on using the changeset viewer.