Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • nemo/nemo
  • sparonuz/nemo
  • hatfield/nemo
  • extdevs/nemo
4 results
Show changes
Commits on Source (10)
Showing
with 155 additions and 155 deletions
......@@ -34,6 +34,8 @@
<field field_ref="qt_oce" name="qt_oce" />
<field field_ref="saltflx" name="sfx" />
<field field_ref="taum" name="taum" />
<field field_ref="utau" name="tauuo" />
<field field_ref="vtau" name="tauvo" />
<field field_ref="wspd" name="windsp" />
<field field_ref="precip" name="precip" />
<!-- ice and snow -->
......@@ -44,7 +46,6 @@
<field field_ref="e3u" />
<field field_ref="ssu" name="uos" />
<field field_ref="uoce" name="uo" operation="instant" freq_op="5d" > @uoce_e3u / @e3u </field>
<field field_ref="utau" name="tauuo" />
<field field_ref="uocetr_eff" name="uocetr_eff" />
<!-- available with diaar5 -->
<field field_ref="u_masstr" name="vozomatr" />
......@@ -56,7 +57,6 @@
<field field_ref="e3v" />
<field field_ref="ssv" name="vos" />
<field field_ref="voce" name="vo" operation="instant" freq_op="5d" > @voce_e3v / @e3v </field>
<field field_ref="vtau" name="tauvo" />
<field field_ref="vocetr_eff" name="vocetr_eff" />
<!-- available with diaar5 -->
<field field_ref="v_masstr" name="vomematr" />
......
......@@ -100,6 +100,8 @@
<field field_ref="qsr" name="rsntds" />
<field field_ref="qt" name="tohfls" />
<field field_ref="taum" />
<field field_ref="utau" name="tauuo" />
<field field_ref="vtau" name="tauvo" />
<field field_ref="mldkz5" />
<field field_ref="mldr10_1" />
</file>
......@@ -107,13 +109,11 @@
<file id="file5" name_suffix="_grid_U" description="ocean U grid variables" >
<field field_ref="uoce" name="uo" />
<field field_ref="ssu" name="uos" />
<field field_ref="utau" name="tauuo" />
</file>
<file id="file6" name_suffix="_grid_V" description="ocean V grid variables" >
<field field_ref="voce" name="vo" />
<field field_ref="ssv" name="vos" />
<field field_ref="vtau" name="tauvo" />
</file>
<file id="file7" name_suffix="_grid_W" description="ocean W grid variables" >
......
......@@ -32,16 +32,16 @@
<field field_ref="qt" name="sohefldo" />
<field field_ref="mldr10_1" name="somxl010" />
<field field_ref="mldkz5" name="somixhgt" />
<field field_ref="utau" name="sozotaux" />
<field field_ref="vtau" name="sometauy" />
</file>
<file id="file2" name_suffix="_grid_U" description="ocean U grid variables" >
<field field_ref="uoce" name="vozocrtx" />
<field field_ref="utau" name="sozotaux" />
</file>
<file id="file3" name_suffix="_grid_V" description="ocean V grid variables" >
<field field_ref="voce" name="vomecrty" />
<field field_ref="vtau" name="sometauy" />
</file>
<file id="file4" name_suffix="_grid_W" description="ocean W grid variables" >
......
......@@ -30,6 +30,8 @@
<field field_ref="qt_oce" name="qt_oce" />
<field field_ref="saltflx" name="sfx" />
<field field_ref="taum" name="taum" />
<field field_ref="utau" name="tauuo" />
<field field_ref="vtau" name="tauvo" />
<field field_ref="wspd" name="windsp" />
<field field_ref="precip" name="precip" />
<!-- ice and snow -->
......@@ -40,14 +42,12 @@
<field field_ref="e3u" />
<field field_ref="ssu" name="uos" />
<field field_ref="uoce" name="uo" />
<field field_ref="utau" name="tauuo" />
</file>
<file id="file13" name_suffix="_grid_V" description="ocean V grid variables" >
<field field_ref="e3v" />
<field field_ref="ssv" name="vos" />
<field field_ref="voce" name="vo" />
<field field_ref="vtau" name="tauvo" />
</file>
<file id="file14" name_suffix="_grid_ABL" description="ABL grid variables" >
......
......@@ -34,6 +34,8 @@
<field field_ref="qt_oce" name="qt_oce" />
<field field_ref="saltflx" name="sfx" />
<field field_ref="taum" name="taum" />
<field field_ref="utau" name="tauuo" />
<field field_ref="vtau" name="tauvo" />
<field field_ref="wspd" name="windsp" />
<field field_ref="precip" name="precip" />
<!-- ice and snow -->
......@@ -44,7 +46,6 @@
<field field_ref="e3u" />
<field field_ref="ssu" name="uos" />
<field field_ref="uoce" name="uo" operation="instant" freq_op="5d" > @uoce_e3u / @e3u </field>
<field field_ref="utau" name="tauuo" />
<field field_ref="uocetr_eff" name="uocetr_eff" />
<!-- available with diaar5 -->
<field field_ref="u_masstr" name="vozomatr" />
......@@ -56,7 +57,6 @@
<field field_ref="e3v" />
<field field_ref="ssv" name="vos" />
<field field_ref="voce" name="vo" operation="instant" freq_op="5d" > @voce_e3v / @e3v </field>
<field field_ref="vtau" name="tauvo" />
<field field_ref="vocetr_eff" name="vocetr_eff" />
<!-- available with diaar5 -->
<field field_ref="v_masstr" name="vomematr" />
......
......@@ -34,6 +34,8 @@
<field field_ref="qt_oce" name="qt_oce" />
<field field_ref="saltflx" name="sfx" />
<field field_ref="taum" name="taum" />
<field field_ref="utau" name="tauuo" />
<field field_ref="vtau" name="tauvo" />
<field field_ref="wspd" name="windsp" />
<field field_ref="precip" name="precip" />
<!-- ice and snow -->
......@@ -44,7 +46,6 @@
<field field_ref="e3u" />
<field field_ref="ssu" name="uos" />
<field field_ref="uoce" name="uo" operation="instant" freq_op="5d" > @uoce_e3u / @e3u </field>
<field field_ref="utau" name="tauuo" />
<field field_ref="uocetr_eff" name="uocetr_eff" />
<!-- available with diaar5 -->
<field field_ref="u_masstr" name="vozomatr" />
......@@ -56,7 +57,6 @@
<field field_ref="e3v" />
<field field_ref="ssv" name="vos" />
<field field_ref="voce" name="vo" operation="instant" freq_op="5d" > @voce_e3v / @e3v </field>
<field field_ref="vtau" name="tauvo" />
<field field_ref="vocetr_eff" name="vocetr_eff" />
<!-- available with diaar5 -->
<field field_ref="v_masstr" name="vomematr" />
......
......@@ -25,7 +25,7 @@ that are available in the tidal-forcing implementation (see
-->
<!-- Time -->
<field id="diamlr_time" grid_ref="diamlr_grid_T_2D" prec="8" />
<field id="diamlr_time" grid_ref="diamlr_grid_T_2D_inner" prec="8" />
<!-- Regressors for tidal harmonic analysis -->
<field id="diamlr_r001" field_ref="diamlr_time" expr="sin( __TDE_M2_omega__ * diamlr_time )" enabled=".TRUE." comment="harmonic:sin:M2" />
......@@ -199,22 +199,22 @@ that are available in the tidal-forcing implementation (see
<field id="wi_cff" long_name="Fraction of implicit vertical velocity" unit="#" grid_ref="grid_T_3D" />
<!-- next variables available with key_diahth -->
<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" />
<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" />
<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" />
<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" />
<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" />
<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" />
<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" />
<field id="BLT" long_name="Barrier Layer Thickness" unit="m" > topthdep - pycndep </field>
<field id="tinv" long_name="Max of vertical invertion of temperature" unit="degC" />
<field id="depti" long_name="Depth of max. vert. inv. of temperature" unit="m" />
<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" />
<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" />
<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" />
<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" />
<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" />
<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" />
<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" grid_ref="grid_T_2D_inner" />
<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" grid_ref="grid_T_2D_inner" />
<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" grid_ref="grid_T_2D_inner" />
<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" grid_ref="grid_T_2D_inner" />
<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" grid_ref="grid_T_2D_inner" />
<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" grid_ref="grid_T_2D_inner" />
<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" grid_ref="grid_T_2D_inner" />
<field id="BLT" long_name="Barrier Layer Thickness" unit="m" grid_ref="grid_T_2D_inner" > topthdep - pycndep </field>
<field id="tinv" long_name="Max of vertical invertion of temperature" unit="degC" grid_ref="grid_T_2D_inner" />
<field id="depti" long_name="Depth of max. vert. inv. of temperature" unit="m" grid_ref="grid_T_2D_inner" />
<field id="20d" long_name="Depth of 20C isotherm" standard_name="depth_of_isosurface_of_sea_water_potential_temperature" unit="m" grid_ref="grid_T_2D_inner" axis_ref="iax_20C" />
<field id="26d" long_name="Depth of 26C isotherm" standard_name="depth_of_isosurface_of_sea_water_potential_temperature" unit="m" grid_ref="grid_T_2D_inner" axis_ref="iax_26C" />
<field id="28d" long_name="Depth of 28C isotherm" standard_name="depth_of_isosurface_of_sea_water_potential_temperature" unit="m" grid_ref="grid_T_2D_inner" axis_ref="iax_28C" />
<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" grid_ref="grid_T_2D_inner" />
<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" grid_ref="grid_T_2D_inner" />
<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" grid_ref="grid_T_2D_inner" />
<!-- variables available with diaar5 -->
<field id="botpres" long_name="Sea Water Pressure at Sea Floor" standard_name="sea_water_pressure_at_sea_floor" unit="dbar" />
......@@ -432,6 +432,8 @@ that are available in the tidal-forcing implementation (see
<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" />
<field id="taum" long_name="wind stress module" standard_name="magnitude_of_surface_downward_stress" unit="N/m2" />
<field id="wspd" long_name="wind speed module" standard_name="wind_speed" unit="m/s" />
<field id="utau" long_name="Wind Stress along i-axis" standard_name="surface_downward_x_stress" unit="N/m2" />
<field id="vtau" long_name="Wind Stress along j-axis" standard_name="surface_downward_y_stress" unit="N/m2" />
<!-- * variable relative to atmospheric pressure forcing : available with ln_apr_dyn -->
<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" />
......@@ -583,7 +585,6 @@ that are available in the tidal-forcing implementation (see
<field id="e2u" long_name="U-cell width in meridional direction" standard_name="cell_width" unit="m" />
<field id="e3u" long_name="U-cell thickness" standard_name="cell_thickness" unit="m" grid_ref="grid_U_3D" />
<field id="e3u_0" long_name="Initial U-cell thickness" standard_name="ref_cell_thickness" unit="m" grid_ref="grid_U_3D"/>
<field id="utau" long_name="Wind Stress along i-axis" standard_name="surface_downward_x_stress" unit="N/m2" />
<field id="uoce" long_name="ocean current along i-axis" standard_name="sea_water_x_velocity" unit="m/s" grid_ref="grid_U_3D" />
<field id="uoce_e3u" long_name="ocean current along i-axis (thickness weighted)" unit="m/s" grid_ref="grid_U_3D" > uoce * e3u </field>
<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"/>
......@@ -651,7 +652,6 @@ that are available in the tidal-forcing implementation (see
<field id="e3v" long_name="V-cell thickness" standard_name="cell_thickness" unit="m" grid_ref="grid_V_3D" />
<field id="e3v_0" long_name="Initial V-cell thickness" standard_name="ref_cell_thickness" unit="m" grid_ref="grid_V_3D" />
<field id="hv" long_name="water column height at V point" standard_name="water_column_height_V" unit="m" />
<field id="vtau" long_name="Wind Stress along j-axis" standard_name="surface_downward_y_stress" unit="N/m2" />
<field id="voce" long_name="ocean current along j-axis" standard_name="sea_water_y_velocity" unit="m/s" grid_ref="grid_V_3D" />
<field id="voce_e3v" long_name="ocean current along j-axis (thickness weighted)" unit="m/s" grid_ref="grid_V_3D" > voce * e3v </field>
<field id="ssv" long_name="ocean surface current along j-axis" unit="m/s" />
......@@ -1018,7 +1018,7 @@ that are available in the tidal-forcing implementation (see
</field_group>
<!-- Total trends calculated every time step-->
<field_group id="trendT" grid_ref="grid_T_3D">
<field_group id="trendT" grid_ref="grid_T_3D_inner">
<field id="ttrd_tot" long_name="temperature-trend: total model trend" unit="degC/s" />
<field id="strd_tot" long_name="salinity -trend: total model trend" unit="1e-3/s" />
<!-- Thickness weighted versions: -->
......@@ -1034,10 +1034,10 @@ that are available in the tidal-forcing implementation (see
<field id="ketrd_spg" long_name="ke-trend: surface pressure gradient" unit="W/s^3" />
<field id="ketrd_spgexp" long_name="ke-trend: surface pressure gradient (explicit)" unit="W/s^3" />
<field id="ketrd_spgflt" long_name="ke-trend: surface pressure gradient (filter)" unit="W/s^3" />
<field id="ssh_flt" long_name="filtered contribution to ssh (dynspg_flt)" unit="m" grid_ref="grid_T_2D" />
<field id="w0" long_name="surface vertical velocity" unit="m/s" grid_ref="grid_T_2D" />
<field id="pw0_exp" long_name="surface pressure flux due to ssh" unit="W/s^2" grid_ref="grid_T_2D" />
<field id="pw0_flt" long_name="surface pressure flux due to filtered ssh" unit="W/s^2" grid_ref="grid_T_2D" />
<field id="ssh_flt" long_name="filtered contribution to ssh (dynspg_flt)" unit="m" grid_ref="grid_T_2D_inner" />
<field id="w0" long_name="surface vertical velocity" unit="m/s" grid_ref="grid_T_2D_inner" />
<field id="pw0_exp" long_name="surface pressure flux due to ssh" unit="W/s^2" grid_ref="grid_T_2D_inner" />
<field id="pw0_flt" long_name="surface pressure flux due to filtered ssh" unit="W/s^2" grid_ref="grid_T_2D_inner" />
<field id="ketrd_keg" long_name="ke-trend: KE gradient or hor. adv." unit="W/s^3" />
<field id="ketrd_rvo" long_name="ke-trend: relative vorticity or metric term" unit="W/s^3" />
<field id="ketrd_pvo" long_name="ke-trend: planetary vorticity" unit="W/s^3" />
......@@ -1045,7 +1045,7 @@ that are available in the tidal-forcing implementation (see
<field id="ketrd_udx" long_name="ke-trend: U.dx[U]" unit="W/s^3" />
<field id="ketrd_ldf" long_name="ke-trend: lateral diffusion" unit="W/s^3" />
<field id="ketrd_zdf" long_name="ke-trend: vertical diffusion" unit="W/s^3" />
<field id="ketrd_tau" long_name="ke-trend: wind stress " unit="W/s^3" grid_ref="grid_T_2D" />
<field id="ketrd_tau" long_name="ke-trend: wind stress " unit="W/s^3" grid_ref="grid_T_2D_inner" />
<field id="ketrd_bfr" long_name="ke-trend: bottom friction (explicit)" unit="W/s^3" />
<field id="ketrd_bfri" long_name="ke-trend: bottom friction (implicit)" unit="W/s^3" />
<field id="ketrd_atf" long_name="ke-trend: asselin time filter trend" unit="W/s^3" />
......@@ -1062,7 +1062,7 @@ that are available in the tidal-forcing implementation (see
<field id="petrd_xad" long_name="pe-trend: i-advection" unit="W/m^3" />
<field id="petrd_yad" long_name="pe-trend: j-advection" unit="W/m^3" />
<field id="petrd_zad" long_name="pe-trend: k-advection" unit="W/m^3" />
<field id="petrd_sad" long_name="pe-trend: surface adv. (linssh true)" unit="W/m^3" grid_ref="grid_T_2D" />
<field id="petrd_sad" long_name="pe-trend: surface adv. (linssh true)" unit="W/m^3" grid_ref="grid_T_2D_inner" />
<field id="petrd_ldf" long_name="pe-trend: lateral diffusion" unit="W/m^3" />
<field id="petrd_zdf" long_name="pe-trend: vertical diffusion" unit="W/m^3" />
<field id="petrd_zdfp" long_name="pe-trend: pure vert. diffusion" unit="W/m^3" />
......@@ -1080,42 +1080,42 @@ that are available in the tidal-forcing implementation (see
<field_group id="trendU" grid_ref="grid_U_3D">
<!-- variables available with ln_dyn_trd -->
<field id="utrd_hpg" long_name="i-trend: hydrostatic pressure gradient" unit="m/s^2" />
<field id="utrd_spg" long_name="i-trend: surface pressure gradient" unit="m/s^2" />
<field id="utrd_spgexp" long_name="i-trend: surface pressure gradient (explicit)" unit="m/s^2" />
<field id="utrd_spgflt" long_name="i-trend: surface pressure gradient (filtered)" unit="m/s^2" />
<field id="utrd_keg" long_name="i-trend: KE gradient or hor. adv." unit="m/s^2" />
<field id="utrd_rvo" long_name="i-trend: relative vorticity or metric term" unit="m/s^2" />
<field id="utrd_pvo" long_name="i-trend: planetary vorticity" unit="m/s^2" />
<field id="utrd_zad" long_name="i-trend: vertical advection" unit="m/s^2" />
<field id="utrd_udx" long_name="i-trend: U.dx[U]" unit="m/s^2" />
<field id="utrd_ldf" long_name="i-trend: lateral diffusion" unit="m/s^2" />
<field id="utrd_zdf" long_name="i-trend: vertical diffusion" unit="m/s^2" />
<field id="utrd_tau" long_name="i-trend: wind stress " unit="m/s^2" grid_ref="grid_U_2D" />
<field id="utrd_bfr" long_name="i-trend: bottom friction (explicit)" unit="m/s^2" />
<field id="utrd_bfri" long_name="i-trend: bottom friction (implicit)" unit="m/s^2" />
<field id="utrd_tot" long_name="i-trend: total momentum trend before atf" unit="m/s^2" />
<field id="utrd_atf" long_name="i-trend: asselin time filter trend" unit="m/s^2" />
<field id="utrd_hpg" long_name="i-trend: hydrostatic pressure gradient" unit="m/s^2" grid_ref="grid_T_3D_inner" />
<field id="utrd_spg" long_name="i-trend: surface pressure gradient" unit="m/s^2" grid_ref="grid_T_3D_inner" />
<field id="utrd_spgexp" long_name="i-trend: surface pressure gradient (explicit)" unit="m/s^2" grid_ref="grid_T_3D_inner" />
<field id="utrd_spgflt" long_name="i-trend: surface pressure gradient (filtered)" unit="m/s^2" grid_ref="grid_T_3D_inner" />
<field id="utrd_keg" long_name="i-trend: KE gradient or hor. adv." unit="m/s^2" grid_ref="grid_T_3D_inner" />
<field id="utrd_rvo" long_name="i-trend: relative vorticity or metric term" unit="m/s^2" grid_ref="grid_T_3D_inner" />
<field id="utrd_pvo" long_name="i-trend: planetary vorticity" unit="m/s^2" grid_ref="grid_T_3D_inner" />
<field id="utrd_zad" long_name="i-trend: vertical advection" unit="m/s^2" grid_ref="grid_T_3D_inner" />
<field id="utrd_udx" long_name="i-trend: U.dx[U]" unit="m/s^2" grid_ref="grid_T_3D_inner" />
<field id="utrd_ldf" long_name="i-trend: lateral diffusion" unit="m/s^2" grid_ref="grid_T_3D_inner" />
<field id="utrd_zdf" long_name="i-trend: vertical diffusion" unit="m/s^2" grid_ref="grid_T_3D_inner" />
<field id="utrd_tau" long_name="i-trend: wind stress " unit="m/s^2" grid_ref="grid_U_2D_inner" />
<field id="utrd_bfr" long_name="i-trend: bottom friction (explicit)" unit="m/s^2" grid_ref="grid_T_3D_inner" />
<field id="utrd_bfri" long_name="i-trend: bottom friction (implicit)" unit="m/s^2" grid_ref="grid_T_3D_inner" />
<field id="utrd_tot" long_name="i-trend: total momentum trend before atf" unit="m/s^2" grid_ref="grid_T_3D_inner" />
<field id="utrd_atf" long_name="i-trend: asselin time filter trend" unit="m/s^2" grid_ref="grid_T_3D_inner" />
</field_group>
<field_group id="trendV" grid_ref="grid_V_3D">
<!-- variables available with ln_dyn_trd -->
<field id="vtrd_hpg" long_name="j-trend: hydrostatic pressure gradient" unit="m/s^2" />
<field id="vtrd_spg" long_name="j-trend: surface pressure gradient" unit="m/s^2" />
<field id="vtrd_spgexp" long_name="j-trend: surface pressure gradient (explicit)" unit="m/s^2" />
<field id="vtrd_spgflt" long_name="j-trend: surface pressure gradient (filtered)" unit="m/s^2" />
<field id="vtrd_keg" long_name="j-trend: KE gradient or hor. adv." unit="m/s^2" />
<field id="vtrd_rvo" long_name="j-trend: relative vorticity or metric term" unit="m/s^2" />
<field id="vtrd_pvo" long_name="j-trend: planetary vorticity" unit="m/s^2" />
<field id="vtrd_zad" long_name="j-trend: vertical advection" unit="m/s^2" />
<field id="vtrd_vdy" long_name="i-trend: V.dx[V]" unit="m/s^2" />
<field id="vtrd_ldf" long_name="j-trend: lateral diffusion" unit="m/s^2" />
<field id="vtrd_zdf" long_name="j-trend: vertical diffusion" unit="m/s^2" />
<field id="vtrd_tau" long_name="j-trend: wind stress " unit="m/s^2" grid_ref="grid_V_2D" />
<field id="vtrd_bfr" long_name="j-trend: bottom friction (explicit)" unit="m/s^2" />
<field id="vtrd_bfri" long_name="j-trend: bottom friction (implicit)" unit="m/s^2" />
<field id="vtrd_tot" long_name="j-trend: total momentum trend before atf" unit="m/s^2" />
<field id="vtrd_atf" long_name="j-trend: asselin time filter trend" unit="m/s^2" />
<field id="vtrd_hpg" long_name="j-trend: hydrostatic pressure gradient" unit="m/s^2" grid_ref="grid_T_3D_inner" />
<field id="vtrd_spg" long_name="j-trend: surface pressure gradient" unit="m/s^2" grid_ref="grid_T_3D_inner" />
<field id="vtrd_spgexp" long_name="j-trend: surface pressure gradient (explicit)" unit="m/s^2" grid_ref="grid_T_3D_inner" />
<field id="vtrd_spgflt" long_name="j-trend: surface pressure gradient (filtered)" unit="m/s^2" grid_ref="grid_T_3D_inner" />
<field id="vtrd_keg" long_name="j-trend: KE gradient or hor. adv." unit="m/s^2" grid_ref="grid_T_3D_inner" />
<field id="vtrd_rvo" long_name="j-trend: relative vorticity or metric term" unit="m/s^2" grid_ref="grid_T_3D_inner" />
<field id="vtrd_pvo" long_name="j-trend: planetary vorticity" unit="m/s^2" grid_ref="grid_T_3D_inner" />
<field id="vtrd_zad" long_name="j-trend: vertical advection" unit="m/s^2" grid_ref="grid_T_3D_inner" />
<field id="vtrd_vdy" long_name="i-trend: V.dx[V]" unit="m/s^2" grid_ref="grid_T_3D_inner" />
<field id="vtrd_ldf" long_name="j-trend: lateral diffusion" unit="m/s^2" grid_ref="grid_T_3D_inner" />
<field id="vtrd_zdf" long_name="j-trend: vertical diffusion" unit="m/s^2" grid_ref="grid_T_3D_inner" />
<field id="vtrd_tau" long_name="j-trend: wind stress " unit="m/s^2" grid_ref="grid_V_2D_inner" />
<field id="vtrd_bfr" long_name="j-trend: bottom friction (explicit)" unit="m/s^2" grid_ref="grid_T_3D_inner" />
<field id="vtrd_bfri" long_name="j-trend: bottom friction (implicit)" unit="m/s^2" grid_ref="grid_T_3D_inner" />
<field id="vtrd_tot" long_name="j-trend: total momentum trend before atf" unit="m/s^2" grid_ref="grid_T_3D_inner" />
<field id="vtrd_atf" long_name="j-trend: asselin time filter trend" unit="m/s^2" grid_ref="grid_T_3D_inner" />
</field_group>
<!-- shared variables available with TOP interface -->
......@@ -1189,6 +1189,8 @@ that are available in the tidal-forcing implementation (see
<field field_ref="qsr" name="rsntds" long_name="surface_net_downward_shortwave_flux" />
<field field_ref="qt" name="tohfls" long_name="surface_net_downward_total_heat_flux" />
<field field_ref="taum" />
<field field_ref="utau" name="tauuo" long_name="surface_downward_x_stress" />
<field field_ref="vtau" name="tauvo" long_name="surface_downward_y_stress" />
<field field_ref="20d" />
<field field_ref="mldkz5" />
<field field_ref="mldr10_1" />
......@@ -1203,12 +1205,10 @@ that are available in the tidal-forcing implementation (see
<field_group id="groupU" >
<field field_ref="uoce" name="uo" long_name="sea_water_x_velocity" />
<field field_ref="utau" name="tauuo" long_name="surface_downward_x_stress" />
</field_group>
<field_group id="groupV" >
<field field_ref="voce" name="vo" long_name="sea_water_y_velocity" />
<field field_ref="vtau" name="tauvo" long_name="surface_downward_y_stress" />
</field_group>
<field_group id="groupW" >
......
......@@ -336,41 +336,44 @@
<scalar />
</grid>
<grid id="diamlr_grid_T_2D" >
<domain domain_ref="grid_T" />
<domain domain_ref="grid_T_inner" />
<scalar />
</grid>
<grid id="diamlr_grid_T_2D_inner" >
<domain domain_ref="grid_T_inner" />
</grid>
<grid id="diamlr_grid_U_2D" >
<domain domain_ref="grid_U" />
<domain domain_ref="grid_U_inner" />
<scalar />
</grid>
<grid id="diamlr_grid_V_2D" >
<domain domain_ref="grid_V" />
<domain domain_ref="grid_V_inner" />
<scalar />
</grid>
<grid id="diamlr_grid_W_2D" >
<domain domain_ref="grid_W" />
<domain domain_ref="grid_W_inner" />
<scalar />
</grid>
<grid id="diamlr_grid_2D_to_grid_T_3D" >
<domain domain_ref="grid_T" />
<domain domain_ref="grid_T_inner" />
<axis axis_ref="deptht">
<duplicate_scalar />
</axis>
</grid>
<grid id="diamlr_grid_2D_to_grid_U_3D" >
<domain domain_ref="grid_U" />
<domain domain_ref="grid_U_inner" />
<axis axis_ref="depthu">
<duplicate_scalar />
</axis>
</grid>
<grid id="diamlr_grid_2D_to_grid_V_3D" >
<domain domain_ref="grid_V" />
<domain domain_ref="grid_V_inner" />
<axis axis_ref="depthv">
<duplicate_scalar />
</axis>
</grid>
<grid id="diamlr_grid_2D_to_grid_W_3D" >
<domain domain_ref="grid_W" />
<domain domain_ref="grid_W_inner" />
<axis axis_ref="depthw">
<duplicate_scalar />
</axis>
......@@ -383,37 +386,37 @@
</grid>
<!-- grid definitions for the computation of daily detided model diagnostics (diadetide) -->
<grid id="diadetide_grid_T_2D" >
<domain domain_ref="grid_T" />
<domain domain_ref="grid_T_inner" />
<scalar />
</grid>
<grid id="diadetide_grid_U_2D" >
<domain domain_ref="grid_U" />
<domain domain_ref="grid_U_inner" />
<scalar />
</grid>
<grid id="diadetide_grid_V_2D" >
<domain domain_ref="grid_V" />
<domain domain_ref="grid_V_inner" />
<scalar />
</grid>
<grid id="diadetide_grid_2D_to_grid_T_3D" >
<domain domain_ref="grid_T" />
<domain domain_ref="grid_T_inner" />
<axis axis_ref="deptht">
<duplicate_scalar />
</axis>
</grid>
<grid id="diadetide_grid_2D_to_grid_U_3D" >
<domain domain_ref="grid_U" />
<domain domain_ref="grid_U_inner" />
<axis axis_ref="depthu">
<duplicate_scalar />
</axis>
</grid>
<grid id="diadetide_grid_2D_to_grid_V_3D" >
<domain domain_ref="grid_V" />
<domain domain_ref="grid_V_inner" />
<axis axis_ref="depthv">
<duplicate_scalar />
</axis>
</grid>
<grid id="diadetide_grid_2D_to_grid_W_3D" >
<domain domain_ref="grid_W" />
<domain domain_ref="grid_W_inner" />
<axis axis_ref="depthw">
<duplicate_scalar />
</axis>
......
......@@ -369,7 +369,7 @@
!*** receive ***
sn_rcv_w10m = 'none' , 'no' , '' , '' , ''
sn_rcv_taumod = 'coupled' , 'no' , '' , '' , ''
sn_rcv_tau = 'oce only' , 'no' , 'cartesian' , 'eastward-northward' , 'U,V'
sn_rcv_tau = 'oce only' , 'no' , 'cartesian' , 'eastward-northward' , ''
sn_rcv_dqnsdt = 'coupled' , 'no' , '' , '' , ''
sn_rcv_qsr = 'oce and ice' , 'no' , '' , '' , ''
sn_rcv_qns = 'oce and ice' , 'no' , '' , '' , ''
......@@ -380,21 +380,22 @@
sn_rcv_iceflx = 'none' , 'no' , '' , '' , ''
sn_rcv_mslp = 'none' , 'no' , '' , '' , ''
sn_rcv_ts_ice = 'none' , 'no' , '' , '' , ''
sn_rcv_qtrice = 'none' , 'no' , '' , '' , ''
sn_rcv_isf = 'none' , 'no' , '' , '' , ''
sn_rcv_icb = 'none' , 'no' , '' , '' , ''
sn_rcv_hsig = 'none' , 'no' , '' , '' , 'T'
sn_rcv_phioc = 'none' , 'no' , '' , '' , 'T'
sn_rcv_sdrfx = 'none' , 'no' , '' , '' , 'T'
sn_rcv_sdrfy = 'none' , 'no' , '' , '' , 'T'
sn_rcv_wper = 'none' , 'no' , '' , '' , 'T'
sn_rcv_wnum = 'none' , 'no' , '' , '' , 'T'
sn_rcv_wstrf = 'none' , 'no' , '' , '' , 'T'
sn_rcv_wdrag = 'none' , 'no' , '' , '' , 'T'
sn_rcv_charn = 'none' , 'no' , '' , '' , 'T'
sn_rcv_taw = 'none' , 'no' , '' , '' , 'U,V'
sn_rcv_bhd = 'none' , 'no' , '' , '' , 'T'
sn_rcv_tusd = 'none' , 'no' , '' , '' , 'T'
sn_rcv_tvsd = 'none' , 'no' , '' , '' , 'T'
sn_rcv_hsig = 'none' , 'no' , '' , '' , ''
sn_rcv_phioc = 'none' , 'no' , '' , '' , ''
sn_rcv_sdrfx = 'none' , 'no' , '' , '' , ''
sn_rcv_sdrfy = 'none' , 'no' , '' , '' , ''
sn_rcv_wper = 'none' , 'no' , '' , '' , ''
sn_rcv_wnum = 'none' , 'no' , '' , '' , ''
sn_rcv_wstrf = 'none' , 'no' , '' , '' , ''
sn_rcv_wdrag = 'none' , 'no' , '' , '' , ''
sn_rcv_charn = 'none' , 'no' , '' , '' , ''
sn_rcv_taw = 'none' , 'no' , '' , '' , ''
sn_rcv_bhd = 'none' , 'no' , '' , '' , ''
sn_rcv_tusd = 'none' , 'no' , '' , '' , ''
sn_rcv_tvsd = 'none' , 'no' , '' , '' , ''
/
!-----------------------------------------------------------------------
&namsbc_sas ! Stand-Alone Surface module: ocean data (SAS_SRC only)
......
......@@ -34,6 +34,8 @@
<field field_ref="qt_oce" name="qt_oce" />
<field field_ref="saltflx" name="sfx" />
<field field_ref="taum" name="taum" />
<field field_ref="utau" name="tauuo" />
<field field_ref="vtau" name="tauvo" />
<field field_ref="wspd" name="windsp" />
<field field_ref="precip" name="precip" />
<!-- ice and snow -->
......@@ -44,7 +46,6 @@
<field field_ref="e3u" />
<field field_ref="ssu" name="uos" />
<field field_ref="uoce" name="uo" operation="instant" freq_op="5d" > @uoce_e3u / @e3u </field>
<field field_ref="utau" name="tauuo" />
<field field_ref="uocetr_eff" name="uocetr_eff" />
<!-- available with diaar5 -->
<field field_ref="u_masstr" name="vozomatr" />
......@@ -56,7 +57,6 @@
<field field_ref="e3v" />
<field field_ref="ssv" name="vos" />
<field field_ref="voce" name="vo" operation="instant" freq_op="5d" > @voce_e3v / @e3v </field>
<field field_ref="vtau" name="tauvo" />
<field field_ref="vocetr_eff" name="vocetr_eff" />
<!-- available with diaar5 -->
<field field_ref="v_masstr" name="vomematr" />
......
......@@ -31,6 +31,8 @@
<field field_ref="qt_oce" name="qt_oce" />
<field field_ref="saltflx" name="sfx" />
<field field_ref="taum" name="taum" />
<field field_ref="utau" name="tauuo" />
<field field_ref="vtau" name="tauvo" />
<field field_ref="wspd" name="windsp" />
<field field_ref="precip" name="precip" />
<field field_ref="snowpre" />
......@@ -67,14 +69,12 @@
<field field_ref="e3u" />
<field field_ref="ssu" name="uos" />
<field field_ref="uoce" name="uo" operation="instant" freq_op="5d" > @uoce_e3u / @e3u </field>
<field field_ref="utau" name="tauuo" />
</file>
<file id="file13" name_suffix="_grid_V" description="ocean V grid variables" >
<field field_ref="e3v" />
<field field_ref="ssv" name="vos" />
<field field_ref="voce" name="vo" operation="instant" freq_op="5d" > @voce_e3v / @e3v </field>
<field field_ref="vtau" name="tauvo" />
</file>
<file id="file14" name_suffix="_grid_W" description="ocean W grid variables" >
......
......@@ -2,6 +2,7 @@
#SBATCH -A GROUP_IDRIS@cpu
#SBATCH --job-name=SETTE_JOB # nom du job
#SBATCH --partition=cpu_p1 # Nom de la partition d'exécution
#SBATCH --qos=qos_cpu-dev # quality of service
#SBATCH --ntasks=NPROCS # Nombre total de processus MPI
#SBATCH --ntasks-per-node=40 # Nombre de processus MPI par noeud
# /!\ Attention, la ligne suivante est trompeuse mais dans le vocabulaire
......
......@@ -98,8 +98,8 @@ CONTAINS
REAL(wp) , INTENT(in ), DIMENSION(:,: ) :: pevp_ice ! Ce x Du over ice (T-point)
REAL(wp) , INTENT(in ), DIMENSION(:,: ) :: pwndm_ice ! ||uwnd - uice||
REAL(wp) , INTENT(in ), DIMENSION(:,: ) :: pfrac_oce ! ocean fraction
REAL(wp) , INTENT( out), DIMENSION(:,: ) :: ptaui_ice ! ice-surface taux stress (U-point)
REAL(wp) , INTENT( out), DIMENSION(:,: ) :: ptauj_ice ! ice-surface tauy stress (V-point)
REAL(wp) , INTENT( out), DIMENSION(:,: ) :: ptaui_ice ! ice-surface taux stress (T-point)
REAL(wp) , INTENT( out), DIMENSION(:,: ) :: ptauj_ice ! ice-surface tauy stress (T-point)
#endif
!
REAL(wp), DIMENSION(1:jpi,1:jpj ) :: zwnd_i, zwnd_j
......@@ -617,25 +617,17 @@ CONTAINS
zwnd_i(ji,jj) = zztmp * zwnd_i(ji,jj)
zwnd_j(ji,jj) = zztmp * zwnd_j(ji,jj)
END_2D
! ... utau, vtau at U- and V_points, resp.
! Note the use of 0.5*(2-umask) in order to unmask the stress along coastlines
! Note the use of MAX(tmask(i,j),tmask(i+1,j) is to mask tau over ice shelves
DO_2D( 0, 0, 0, 0 )
zcff = 0.5_wp * ( 2._wp - msk_abl(ji,jj)*msk_abl(ji+1,jj) )
zztmp = MAX(msk_abl(ji,jj),msk_abl(ji+1,jj))
ptaui(ji,jj) = zcff * zztmp * ( zwnd_i(ji,jj) + zwnd_i(ji+1,jj ) )
zcff = 0.5_wp * ( 2._wp - msk_abl(ji,jj)*msk_abl(ji,jj+1) )
zztmp = MAX(msk_abl(ji,jj),msk_abl(ji,jj+1))
ptauj(ji,jj) = zcff * zztmp * ( zwnd_j(ji,jj) + zwnd_j(ji ,jj+1) )
! ... utau, vtau at T-points
DO_2D( nn_hls, nn_hls, nn_hls, nn_hls )
ptaui(ji,jj) = zwnd_i(ji,jj) * msk_abl(ji,jj) !!clem tau: check
ptauj(ji,jj) = zwnd_j(ji,jj) * msk_abl(ji,jj) !!clem tau: check
END_2D
!
CALL lbc_lnk( 'ablmod', ptaui(:,:), 'U', -1.0_wp, ptauj(:,:), 'V', -1.0_wp )
CALL iom_put( "taum_oce", ptaum )
IF(sn_cfctl%l_prtctl) THEN
CALL prt_ctl( tab2d_1=ptaui , clinfo1=' abl_stp: utau : ', mask1=umask, &
& tab2d_2=ptauj , clinfo2=' vtau : ', mask2=vmask )
CALL prt_ctl( tab2d_1=ptaui , clinfo1=' abl_stp: utau : ', mask1=tmask, &
& tab2d_2=ptauj , clinfo2=' vtau : ', mask2=tmask )
CALL prt_ctl( tab2d_1=pwndm , clinfo1=' abl_stp: wndm : ' )
ENDIF
......@@ -657,23 +649,14 @@ CONTAINS
! ------------------------------------------------------------ !
! Wind stress relative to the moving ice ( U10m - U_ice ) !
! ------------------------------------------------------------ !
DO_2D( 0, 0, 0, 0 )
zztmp1 = 0.5_wp * ( u_abl(ji+1,jj ,2,nt_a) + u_abl(ji,jj,2,nt_a) )
zztmp2 = 0.5_wp * ( v_abl(ji ,jj+1,2,nt_a) + v_abl(ji,jj,2,nt_a) )
ptaui_ice(ji,jj) = 0.5_wp * ( rhoa(ji+1,jj) * pCd_du_ice(ji+1,jj) &
& + rhoa(ji ,jj) * pCd_du_ice(ji ,jj) ) &
& * ( zztmp1 - pssu_ice(ji,jj) * rn_vfac )
ptauj_ice(ji,jj) = 0.5_wp * ( rhoa(ji,jj+1) * pCd_du_ice(ji,jj+1) &
& + rhoa(ji,jj ) * pCd_du_ice(ji,jj ) ) &
& * ( zztmp2 - pssv_ice(ji,jj) * rn_vfac )
DO_2D( nn_hls, nn_hls, nn_hls, nn_hls )
ptaui_ice(ji,jj) = rhoa(ji,jj) * pCd_du_ice(ji,jj) * ( u_abl(ji,jj,2,nt_a) - pssu_ice(ji,jj) * rn_vfac )
ptauj_ice(ji,jj) = rhoa(ji,jj) * pCd_du_ice(ji,jj) * ( v_abl(ji,jj,2,nt_a) - pssv_ice(ji,jj) * rn_vfac )
END_2D
CALL lbc_lnk( 'ablmod', ptaui_ice, 'U', -1.0_wp, ptauj_ice,'V', -1.0_wp )
!
IF(sn_cfctl%l_prtctl) THEN
CALL prt_ctl( tab2d_1=ptaui_ice , clinfo1=' abl_stp: utau_ice : ', mask1=umask, &
& tab2d_2=ptauj_ice , clinfo2=' vtau_ice : ', mask2=vmask )
CALL prt_ctl( tab2d_1=ptaui_ice , clinfo1=' abl_stp: utau_ice : ', mask1=tmask, &
& tab2d_2=ptauj_ice , clinfo2=' vtau_ice : ', mask2=tmask )
END IF
#endif
! !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
......
......@@ -308,8 +308,8 @@ CONTAINS
!! - Perform 1 time-step of the ABL model
!! - Finalize flux computation in blk_oce_2
!!
!! ** Outputs : - utau : i-component of the stress at U-point (N/m2)
!! - vtau : j-component of the stress at V-point (N/m2)
!! ** Outputs : - utau : i-component of the stress at T-point (N/m2)
!! - vtau : j-component of the stress at T-point (N/m2)
!! - taum : Wind stress module at T-point (N/m2)
!! - wndm : Wind speed module at T-point (m/s)
!! - qsr : Solar heat flux over the ocean (W/m2)
......
......@@ -733,10 +733,10 @@ CONTAINS
CALL prt_ctl_info(' ')
CALL prt_ctl_info(' - Stresses : ')
CALL prt_ctl_info(' ~~~~~~~~~~ ')
CALL prt_ctl(tab2d_1=utau , clinfo1= ' utau : ', mask1 = umask, &
& tab2d_2=vtau , clinfo2= ' vtau : ', mask2 = vmask)
CALL prt_ctl(tab2d_1=utau_ice , clinfo1= ' utau_ice : ', mask1 = umask, &
& tab2d_2=vtau_ice , clinfo2= ' vtau_ice : ', mask2 = vmask)
CALL prt_ctl(tab2d_1=utau , clinfo1= ' utau : ', mask1 = tmask, &
& tab2d_2=vtau , clinfo2= ' vtau : ', mask2 = tmask)
CALL prt_ctl(tab2d_1=utau_ice , clinfo1= ' utau_ice : ', mask1 = tmask, &
& tab2d_2=vtau_ice , clinfo2= ' vtau_ice : ', mask2 = tmask)
END SUBROUTINE ice_prt3D
......
......@@ -311,8 +311,12 @@ CONTAINS
zmV_t(ji,jj) = zmassV * z1_dtevp
! Drag ice-atm.
ztaux_ai(ji,jj) = zaU(ji,jj) * utau_ice(ji,jj)
ztauy_ai(ji,jj) = zaV(ji,jj) * vtau_ice(ji,jj)
! Note the use of 0.5*(2-umask) in order to unmask the stress along coastlines
! and the use of MAX(tmask(i,j),tmask(i+1,j) is to mask tau over ice shelves
ztaux_ai(ji,jj) = zaU(ji,jj) * 0.5_wp * ( utau_ice(ji,jj) + utau_ice(ji+1,jj) ) * &
& ( 2. - umask(ji,jj,1) ) * MAX( tmask(ji,jj,1), tmask(ji+1,jj,1) )
ztauy_ai(ji,jj) = zaV(ji,jj) * 0.5_wp * ( vtau_ice(ji,jj) + vtau_ice(ji,jj+1) ) * &
& ( 2. - vmask(ji,jj,1) ) * MAX( tmask(ji,jj,1), tmask(ji,jj+1,1) )
! Surface pressure gradient (- m*g*GRAD(ssh)) at U-V points
zspgU(ji,jj) = - zmassU * grav * ( zsshdyn(ji+1,jj) - zsshdyn(ji,jj) ) * r1_e1u(ji,jj)
......
......@@ -292,8 +292,12 @@ CONTAINS
zmV_t(ji,jj) = zmassV * z1_dtevp
! Drag ice-atm.
ztaux_ai(ji,jj) = zaU(ji,jj) * utau_ice(ji,jj)
ztauy_ai(ji,jj) = zaV(ji,jj) * vtau_ice(ji,jj)
! Note the use of 0.5*(2-umask) in order to unmask the stress along coastlines
! and the use of MAX(tmask(i,j),tmask(i+1,j) is to mask tau over ice shelves
ztaux_ai(ji,jj) = zaU(ji,jj) * 0.5_wp * ( utau_ice(ji,jj) + utau_ice(ji+1,jj) ) * &
& ( 2. - umask(ji,jj,1) ) * MAX( tmask(ji,jj,1), tmask(ji+1,jj,1) )
ztauy_ai(ji,jj) = zaV(ji,jj) * 0.5_wp * ( vtau_ice(ji,jj) + vtau_ice(ji,jj+1) ) * &
& ( 2. - vmask(ji,jj,1) ) * MAX( tmask(ji,jj,1), tmask(ji,jj+1,1) )
! Surface pressure gradient (- m*g*GRAD(ssh)) at U-V points
zspgU(ji,jj) = - zmassU * grav * ( zsshdyn(ji+1,jj) - zsshdyn(ji,jj) ) * r1_e1u(ji,jj)
......
......@@ -332,7 +332,10 @@ CONTAINS
v_oceU(ji,jj) = 0.25_wp * ( (v_oce(ji,jj) + v_oce(ji,jj-1)) + (v_oce(ji+1,jj) + v_oce(ji+1,jj-1)) ) * umask(ji,jj,1)
! Wind stress
ztaux_ai(ji,jj) = za_iU(ji,jj) * utau_ice(ji,jj)
! Note the use of 0.5*(2-umask) in order to unmask the stress along coastlines
! and the use of MAX(tmask(i,j),tmask(i+1,j) is to mask tau over ice shelves
ztaux_ai(ji,jj) = za_iU(ji,jj) * 0.5_wp * ( utau_ice(ji,jj) + utau_ice(ji+1,jj) ) * &
& ( 2. - umask(ji,jj,1) ) * MAX( tmask(ji,jj,1), tmask(ji+1,jj,1) )
! Force due to sea surface tilt(- m*g*GRAD(ssh))
zspgU(ji,jj) = - zmassU * grav * ( zsshdyn(ji+1,jj) - zsshdyn(ji,jj) ) * r1_e1u(ji,jj)
......@@ -369,7 +372,10 @@ CONTAINS
u_oceV(ji,jj) = 0.25_wp * ( (u_oce(ji,jj) + u_oce(ji-1,jj)) + (u_oce(ji,jj+1) + u_oce(ji-1,jj+1)) ) * vmask(ji,jj,1)
! Wind stress
ztauy_ai(ji,jj) = za_iV(ji,jj) * vtau_ice(ji,jj)
! Note the use of 0.5*(2-umask) in order to unmask the stress along coastlines
! and the use of MAX(tmask(i,j),tmask(i+1,j) is to mask tau over ice shelves
ztauy_ai(ji,jj) = za_iV(ji,jj) * 0.5_wp * ( vtau_ice(ji,jj) + vtau_ice(ji,jj+1) ) * &
& ( 2. - vmask(ji,jj,1) ) * MAX( tmask(ji,jj,1), tmask(ji,jj+1,1) )
! Force due to sea surface tilt(- m*g*GRAD(ssh))
zspgV(ji,jj) = - zmassV * grav * ( zsshdyn(ji,jj+1) - zsshdyn(ji,jj) ) * r1_e2v(ji,jj)
......
......@@ -272,15 +272,13 @@ CONTAINS
zvel (ji,jj) = 0.5_wp * SQRT( ( u_ice(ji-1,jj ) + u_ice(ji,jj) ) * ( u_ice(ji-1,jj ) + u_ice(ji,jj) ) + &
& ( v_ice(ji ,jj-1) + v_ice(ji,jj) ) * ( v_ice(ji ,jj-1) + v_ice(ji,jj) ) )
END_2D
CALL lbc_lnk( 'icesbc', zfric, 'T', 1.0_wp, zvel, 'T', 1.0_wp )
ELSE ! if no ice dynamics => transfer directly the atmospheric stress to the ocean
DO_2D( 0, 0, 0, 0 )
zfric(ji,jj) = r1_rho0 * SQRT( 0.5_wp * &
& ( utau(ji,jj) * utau(ji,jj) + utau(ji-1,jj) * utau(ji-1,jj) &
& + vtau(ji,jj) * vtau(ji,jj) + vtau(ji,jj-1) * vtau(ji,jj-1) ) ) * tmask(ji,jj,1)
zvel(ji,jj) = 0._wp
DO_2D( nn_hls, nn_hls, nn_hls, nn_hls )
zfric(ji,jj) = r1_rho0 * SQRT( utau(ji,jj)*utau(ji,jj) + vtau(ji,jj)*vtau(ji,jj) ) * tmask(ji,jj,1)
zvel (ji,jj) = 0._wp
END_2D
ENDIF
CALL lbc_lnk( 'icesbc', zfric, 'T', 1.0_wp, zvel, 'T', 1.0_wp )
!
!--------------------------------------------------------------------!
! Partial computation of forcing for the thermodynamic sea ice model
......
......@@ -372,8 +372,8 @@ CONTAINS
DO_2D( 0, 0, 0, 0 )
IF ( qlead(ji,jj) < 0._wp ) THEN ! cooling
! -- Wind stress -- !
ztaux = ( utau_ice(ji-1,jj ) * umask(ji-1,jj ,1) + utau_ice(ji,jj) * umask(ji,jj,1) ) * 0.5_wp
ztauy = ( vtau_ice(ji ,jj-1) * vmask(ji ,jj-1,1) + vtau_ice(ji,jj) * vmask(ji,jj,1) ) * 0.5_wp
ztaux = utau_ice(ji,jj) * tmask(ji,jj,1)
ztauy = vtau_ice(ji,jj) * tmask(ji,jj,1)
! Square root of wind stress
ztenagm = SQRT( SQRT( ztaux * ztaux + ztauy * ztauy ) )
......