From a3f3812207a5b2257a604597a83a728a6debfeec Mon Sep 17 00:00:00 2001 From: Clement Rousset <clement.rousset@locean.ipsl.fr> Date: Thu, 25 Aug 2022 15:21:24 +0000 Subject: [PATCH] Resolve "summer 2022 work- SBC halo cleanup" --- cfgs/SHARED/field_def_nemo-ice.xml | 14 +- cfgs/SHARED/field_def_nemo-oce.xml | 80 +- cfgs/SHARED/namelist_ref | 3 + src/ABL/sbcabl.F90 | 6 +- src/ICE/ice.F90 | 136 +- src/ICE/icealb.F90 | 28 +- src/ICE/icectl.F90 | 210 +- src/ICE/icedia.F90 | 51 +- src/ICE/icedyn.F90 | 9 +- src/ICE/icedyn_adv.F90 | 12 +- src/ICE/icedyn_adv_pra.F90 | 35 +- src/ICE/icedyn_adv_umx.F90 | 28 +- src/ICE/icedyn_rdgrft.F90 | 28 +- src/ICE/icedyn_rhg_eap.F90 | 17 - src/ICE/icedyn_rhg_evp.F90 | 172 +- src/ICE/iceistate.F90 | 220 ++- src/ICE/iceitd.F90 | 18 +- src/ICE/icesbc.F90 | 147 +- src/ICE/icestp.F90 | 118 +- src/ICE/icetab.F90 | 68 +- src/ICE/icethd.F90 | 11 +- src/ICE/icethd_do.F90 | 13 +- src/ICE/icethd_pnd.F90 | 24 +- src/ICE/iceupdate.F90 | 83 +- src/ICE/icevar.F90 | 149 +- src/ICE/icewri.F90 | 198 +- src/NST/agrif_all_update.F90 | 10 +- src/NST/agrif_ice_interp.F90 | 10 +- src/OCE/DIA/diaar5.F90 | 6 +- src/OCE/DIA/diahsb.F90 | 46 +- src/OCE/DIU/diu_bulk.F90 | 68 +- src/OCE/DIU/diu_coolskin.F90 | 26 +- src/OCE/DIU/step_diu.F90 | 3 +- src/OCE/DOM/dom_oce.F90 | 3 +- src/OCE/DOM/dommsk.F90 | 5 +- src/OCE/DYN/dynatf.F90 | 8 +- src/OCE/DYN/dynatf_qco.F90 | 8 +- src/OCE/ICB/icbthm.F90 | 6 +- src/OCE/ICB/icbutl.F90 | 3 +- src/OCE/IOM/iom.F90 | 1 + src/OCE/IOM/prtctl.F90 | 102 +- src/OCE/LBC/mppini.F90 | 6 +- src/OCE/SBC/cyclone.F90 | 12 +- src/OCE/SBC/fldread.F90 | 44 +- src/OCE/SBC/geo2ocean.F90 | 111 +- src/OCE/SBC/ocealb.F90 | 8 +- src/OCE/SBC/sbc_ice.F90 | 43 +- src/OCE/SBC/sbc_oce.F90 | 47 +- src/OCE/SBC/sbc_phy.F90 | 298 +-- src/OCE/SBC/sbcblk.F90 | 405 ++-- src/OCE/SBC/sbcblk_algo_andreas.F90 | 62 +- src/OCE/SBC/sbcblk_algo_coare3p0.F90 | 100 +- src/OCE/SBC/sbcblk_algo_coare3p6.F90 | 106 +- src/OCE/SBC/sbcblk_algo_ecmwf.F90 | 94 +- src/OCE/SBC/sbcblk_algo_ice_an05.F90 | 78 +- src/OCE/SBC/sbcblk_algo_ice_cdn.F90 | 54 +- src/OCE/SBC/sbcblk_algo_ice_lg15.F90 | 52 +- src/OCE/SBC/sbcblk_algo_ice_lu12.F90 | 46 +- src/OCE/SBC/sbcblk_algo_ncar.F90 | 72 +- src/OCE/SBC/sbcblk_skin_coare.F90 | 24 +- src/OCE/SBC/sbcblk_skin_ecmwf.F90 | 22 +- src/OCE/SBC/sbcclo.F90 | 8 +- src/OCE/SBC/sbccpl.F90 | 377 ++-- src/OCE/SBC/sbcdcy.F90 | 28 +- src/OCE/SBC/sbcflx.F90 | 30 +- src/OCE/SBC/sbcfwb.F90 | 89 +- src/OCE/SBC/sbcice_if.F90 | 18 +- src/OCE/SBC/sbcmod.F90 | 135 +- src/OCE/SBC/sbcrnf.F90 | 110 +- src/OCE/SBC/sbcssr.F90 | 32 +- src/OCE/SBC/sbcwave.F90 | 90 +- src/OCE/TRA/eosbn2.F90 | 136 +- src/OCE/TRA/traatf.F90 | 11 +- src/OCE/TRA/traatf_qco.F90 | 9 +- src/OCE/TRA/trasbc.F90 | 12 +- src/OCE/TRA/trazdf.F90 | 6 +- src/OCE/USR/usrdef_sbc.F90 | 8 +- src/OCE/ZDF/zdf_oce.F90 | 8 +- src/OCE/ZDF/zdfddm.F90 | 14 +- src/OCE/ZDF/zdfevd.F90 | 23 +- src/OCE/ZDF/zdfgls.F90 | 161 +- src/OCE/ZDF/zdfiwm.F90 | 80 +- src/OCE/ZDF/zdfmfc.F90 | 62 +- src/OCE/ZDF/zdfmxl.F90 | 18 +- src/OCE/ZDF/zdfphy.F90 | 49 +- src/OCE/ZDF/zdfric.F90 | 17 +- src/OCE/ZDF/zdfsh2.F90 | 16 +- src/OCE/ZDF/zdfswm.F90 | 10 +- src/OCE/ZDF/zdftke.F90 | 129 +- src/OCE/lib_fortran.F90 | 12 +- src/OCE/lib_fortran_generic.h90 | 61 +- src/OCE/par_oce.F90 | 3 +- src/OCE/step.F90 | 2 +- src/OCE/stpmlf.F90 | 2 +- src/SAS/nemogcm.F90 | 2 +- src/SAS/stpctl.F90 | 21 +- src/SWE/stpctl.F90 | 4 +- tests/BENCH/MY_SRC/usrdef_sbc.F90 | 8 +- tests/ICE_AGRIF/MY_SRC/usrdef_sbc.F90 | 22 +- tests/ICE_RHEO/MY_SRC/usrdef_sbc.F90 | 20 +- tests/ISOMIP+/EXPREF/namelist_cfg | 13 +- tests/ISOMIP+/MY_SRC/dtatsd.F90 | 57 +- tests/ISOMIP+/MY_SRC/eosbn2.F90 | 2078 -------------------- tests/ISOMIP+/MY_SRC/isf_oce.F90 | 32 +- tests/ISOMIP+/MY_SRC/isfcavgam.F90 | 253 --- tests/ISOMIP+/MY_SRC/isfstp.F90 | 322 --- tests/ISOMIP+/MY_SRC/istate.F90 | 47 +- tests/ISOMIP+/MY_SRC/sbcfwb.F90 | 277 --- tests/ISOMIP+/MY_SRC/tradmp.F90 | 243 --- tests/ISOMIP/EXPREF/ISOMIP_mlt.png | Bin 221790 -> 0 bytes tests/ISOMIP/EXPREF/ISOMIP_moc.png | Bin 507571 -> 0 bytes tests/ISOMIP/EXPREF/ISOMIP_psi.png | Bin 467568 -> 0 bytes tests/ISOMIP/EXPREF/README | 25 - tests/ISOMIP/EXPREF/axis_def_nemo.xml | 1 - tests/ISOMIP/EXPREF/context_nemo.xml | 37 - tests/ISOMIP/EXPREF/domain_def_nemo.xml | 1 - tests/ISOMIP/EXPREF/field_def_nemo-oce.xml | 1 - tests/ISOMIP/EXPREF/file_def_nemo-oce.xml | 50 - tests/ISOMIP/EXPREF/grid_def_nemo.xml | 1 - tests/ISOMIP/EXPREF/iodef.xml | 26 - tests/ISOMIP/EXPREF/namelist_cfg | 510 ----- tests/ISOMIP/EXPREF/namelist_ref | 1 - tests/ISOMIP/EXPREF/plot_mlt.py | 47 - tests/ISOMIP/EXPREF/plot_moc.py | 60 - tests/ISOMIP/EXPREF/plot_psi.py | 52 - tests/ISOMIP/MY_SRC/usrdef_hgr.F90 | 119 -- tests/ISOMIP/MY_SRC/usrdef_istate.F90 | 87 - tests/ISOMIP/MY_SRC/usrdef_nam.F90 | 108 - tests/ISOMIP/MY_SRC/usrdef_sbc.F90 | 90 - tests/ISOMIP/MY_SRC/usrdef_zgr.F90 | 235 --- tests/ISOMIP/cpp_ISOMIP.fcm | 1 - tests/STATION_ASF/MY_SRC/stpctl.F90 | 8 +- tests/SWG/MY_SRC/usrdef_sbc.F90 | 6 +- tools/MISCELLANEOUS/chk_jijj_in_doloops.sh | 55 + 134 files changed, 3260 insertions(+), 7293 deletions(-) delete mode 100644 tests/ISOMIP+/MY_SRC/eosbn2.F90 delete mode 100644 tests/ISOMIP+/MY_SRC/isfcavgam.F90 delete mode 100644 tests/ISOMIP+/MY_SRC/isfstp.F90 delete mode 100644 tests/ISOMIP+/MY_SRC/sbcfwb.F90 delete mode 100644 tests/ISOMIP+/MY_SRC/tradmp.F90 delete mode 100644 tests/ISOMIP/EXPREF/ISOMIP_mlt.png delete mode 100644 tests/ISOMIP/EXPREF/ISOMIP_moc.png delete mode 100644 tests/ISOMIP/EXPREF/ISOMIP_psi.png delete mode 100644 tests/ISOMIP/EXPREF/README delete mode 120000 tests/ISOMIP/EXPREF/axis_def_nemo.xml delete mode 100644 tests/ISOMIP/EXPREF/context_nemo.xml delete mode 120000 tests/ISOMIP/EXPREF/domain_def_nemo.xml delete mode 120000 tests/ISOMIP/EXPREF/field_def_nemo-oce.xml delete mode 100644 tests/ISOMIP/EXPREF/file_def_nemo-oce.xml delete mode 120000 tests/ISOMIP/EXPREF/grid_def_nemo.xml delete mode 100644 tests/ISOMIP/EXPREF/iodef.xml delete mode 100644 tests/ISOMIP/EXPREF/namelist_cfg delete mode 120000 tests/ISOMIP/EXPREF/namelist_ref delete mode 100644 tests/ISOMIP/EXPREF/plot_mlt.py delete mode 100644 tests/ISOMIP/EXPREF/plot_moc.py delete mode 100644 tests/ISOMIP/EXPREF/plot_psi.py delete mode 100644 tests/ISOMIP/MY_SRC/usrdef_hgr.F90 delete mode 100644 tests/ISOMIP/MY_SRC/usrdef_istate.F90 delete mode 100644 tests/ISOMIP/MY_SRC/usrdef_nam.F90 delete mode 100644 tests/ISOMIP/MY_SRC/usrdef_sbc.F90 delete mode 100644 tests/ISOMIP/MY_SRC/usrdef_zgr.F90 delete mode 100644 tests/ISOMIP/cpp_ISOMIP.fcm create mode 100755 tools/MISCELLANEOUS/chk_jijj_in_doloops.sh diff --git a/cfgs/SHARED/field_def_nemo-ice.xml b/cfgs/SHARED/field_def_nemo-ice.xml index 6f444b456..b04c13e1f 100644 --- a/cfgs/SHARED/field_def_nemo-ice.xml +++ b/cfgs/SHARED/field_def_nemo-ice.xml @@ -18,7 +18,7 @@ <field_group id="SBC" > <!-- time step automaticaly defined based on nn_fsbc --> <!-- 2D variables --> - <field_group id="SBC_2D" grid_ref="grid_T_2D" > + <field_group id="SBC_2D" grid_ref="grid_T_2D_inner" > <!-- =================== --> <!-- standard ice fields --> @@ -311,7 +311,7 @@ </field_group> <!-- SBC_2D --> <!-- categories --> - <field_group id="SBC_3D" grid_ref="grid_T_ncatice" > + <field_group id="SBC_3D" grid_ref="grid_T_ncatice_inner" > <!-- standard ice fields --> <field id="iceconc_cat" long_name="Sea-ice concentration per category" unit="" /> @@ -386,7 +386,7 @@ --> <!-- output variables for my configuration (example) --> - <field_group id="myvarICE" grid_ref="grid_T_2D" > + <field_group id="myvarICE" > <!-- ice mask --> <field field_ref="icemask" name="simsk" /> <field field_ref="icemask05" name="simsk05" /> @@ -495,7 +495,7 @@ </field_group> - <field_group id="myvarICE_cat" grid_ref="grid_T_ncatice" > + <field_group id="myvarICE_cat" > <!-- categories --> <field field_ref="icemask_cat" name="simskcat"/> @@ -524,7 +524,7 @@ <field field_ref="ilbgvol_tot" name="ilbgvol_tot" /> </field_group> - <field_group id="ICE_budget" grid_ref="grid_T_2D" > + <field_group id="ICE_budget" > <!-- general --> <field field_ref="icemask" name="simsk" /> <field field_ref="iceconc" name="siconc" /> @@ -579,7 +579,7 @@ </field_group> <!-- SIMIP daily fields --> - <field_group id="SIday_fields" grid_ref="grid_T_2D" > + <field_group id="SIday_fields" > <field field_ref="icepres" name="sitimefrac" /> <field field_ref="iceconc_pct" name="siconc" /> <field field_ref="icethic_cmip" name="sithick" /> @@ -591,7 +591,7 @@ </field_group> <!-- SIMIP monthly fields --> - <field_group id="SImon_fields" grid_ref="grid_T_2D" > + <field_group id="SImon_fields" > <!-- Sea-ice state variables --> <field field_ref="icepres" name="sitimefrac" /> <field field_ref="iceconc_pct" name="siconc" /> diff --git a/cfgs/SHARED/field_def_nemo-oce.xml b/cfgs/SHARED/field_def_nemo-oce.xml index 838cd2834..f1c958b87 100644 --- a/cfgs/SHARED/field_def_nemo-oce.xml +++ b/cfgs/SHARED/field_def_nemo-oce.xml @@ -172,10 +172,10 @@ that are available in the tidal-forcing implementation (see <field id="wetdep" long_name="wet depth" standard_name="wet_depth" unit="m" /> <field id="sshmax" long_name="max of sea surface height" field_ref="ssh" operation="maximum" /> - <field id="mldkz5" long_name="Turbocline depth (Kz = 5e-4)" standard_name="ocean_mixed_layer_thickness_defined_by_vertical_tracer_diffusivity" unit="m" /> - <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" /> - <field id="mldr10_1max" long_name="Max of Mixed Layer Depth (dsigma = 0.01 wrt 10m)" field_ref="mldr10_1" operation="maximum" /> - <field id="mldr10_1min" long_name="Min of Mixed Layer Depth (dsigma = 0.01 wrt 10m)" field_ref="mldr10_1" operation="minimum" /> + <field id="mldkz5" long_name="Turbocline depth (Kz = 5e-4)" standard_name="ocean_mixed_layer_thickness_defined_by_vertical_tracer_diffusivity" unit="m" grid_ref="grid_T_2D_inner" /> + <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" grid_ref="grid_T_2D_inner" /> + <field id="mldr10_1max" long_name="Max of Mixed Layer Depth (dsigma = 0.01 wrt 10m)" field_ref="mldr10_1" operation="maximum" grid_ref="grid_T_2D_inner" /> + <field id="mldr10_1min" long_name="Min of Mixed Layer Depth (dsigma = 0.01 wrt 10m)" field_ref="mldr10_1" operation="minimum" grid_ref="grid_T_2D_inner" /> <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" grid_ref="grid_T_2D_inner" /> <field id="saltc" long_name="Salt content vertically integrated" unit="PSU*kg/m2" grid_ref="grid_T_2D_inner" /> <field id="salt2c" long_name="square of Salt content vertically integrated" unit="PSU2*kg/m2" grid_ref="grid_T_2D_inner" /> @@ -410,7 +410,7 @@ that are available in the tidal-forcing implementation (see <!-- SBC --> <field_group id="SBC" > <!-- time step automaticaly defined based on nn_fsbc --> - <field_group id="SBC_2D" grid_ref="grid_T_2D" > + <field_group id="SBC_2D" grid_ref="grid_T_2D_inner" > <field id="empmr" long_name="Net Upward Water Flux" standard_name="water_flux_out_of_sea_ice_and_sea_water" unit="kg/m2/s" /> <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" /> @@ -423,20 +423,20 @@ that are available in the tidal-forcing implementation (see <field id="precip" long_name="Total precipitation" standard_name="precipitation_flux" unit="kg/m2/s" /> <field id="wclosea" long_name="closed sea empmr correction" standard_name="closea_empmr" unit="kg/m2/s" /> - <field id="qt" long_name="Net Downward Heat Flux" standard_name="surface_downward_heat_flux_in_sea_water" unit="W/m2" /> - <field id="qns" long_name="non solar Downward Heat Flux" unit="W/m2" /> - <field id="qsr" long_name="Shortwave Radiation" standard_name="net_downward_shortwave_flux_at_sea_water_surface" unit="W/m2" /> - <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" /> - <field id="qrp" long_name="Surface Heat Flux: Damping" standard_name="heat_flux_into_sea_water_due_to_newtonian_relaxation" unit="W/m2" /> + <field id="qt" long_name="Net Downward Heat Flux" standard_name="surface_downward_heat_flux_in_sea_water" unit="W/m2" /> + <field id="qns" long_name="non solar Downward Heat Flux" unit="W/m2" /> + <field id="qsr" long_name="Shortwave Radiation" standard_name="net_downward_shortwave_flux_at_sea_water_surface" unit="W/m2" /> + <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" /> + <field id="qrp" long_name="Surface Heat Flux: Damping" standard_name="heat_flux_into_sea_water_due_to_newtonian_relaxation" unit="W/m2" /> <field id="qclosea" long_name="closed sea heat content flux" standard_name="closea_heat_content_downward_flux" unit="W/m2" /> - <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" /> + <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" /> + <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" grid_ref="grid_T_2D" /> <!-- *_oce variables available with ln_blk_clio or ln_blk_core --> <field id="rho_air" long_name="Air density at 10m above sea surface" standard_name="rho_air_10m" unit="kg/m3" /> @@ -473,9 +473,9 @@ that are available in the tidal-forcing implementation (see <field id="snow_ai_cea" long_name="Snow over sea-ice (cell average)" standard_name="snowfall_flux" unit="kg/m2/s" /> <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" /> <field id="icealb_cea" long_name="Ice albedo (cell average)" standard_name="sea_ice_albedo" unit="1" /> - <field id="calving_cea" long_name="Calving" standard_name="water_flux_into_sea_water_from_icebergs" unit="kg/m2/s" /> - <field id="iceberg_cea" long_name="Iceberg" standard_name="water_flux_into_sea_water_from_icebergs" unit="kg/m2/s" /> - <field id="iceshelf_cea" long_name="Iceshelf" standard_name="water_flux_into_sea_water_from_iceshelf" unit="kg/m2/s" /> + <field id="calving_cea" long_name="Calving" standard_name="water_flux_into_sea_water_from_icebergs" unit="kg/m2/s" grid_ref="grid_T_2D" /> + <field id="iceberg_cea" long_name="Iceberg" standard_name="water_flux_into_sea_water_from_icebergs" unit="kg/m2/s" grid_ref="grid_T_2D" /> + <field id="iceshelf_cea" long_name="Iceshelf" standard_name="water_flux_into_sea_water_from_iceshelf" unit="kg/m2/s" grid_ref="grid_T_2D" /> <!-- available if key_oasis3 + conservative method --> @@ -512,7 +512,7 @@ that are available in the tidal-forcing implementation (see <field id="vflx_fwb_cea" long_name="volume flux due to fwb" standard_name="volume_flux_due_to_fwb" unit="kg/m2/s" /> <!-- ice field (nn_ice=1) --> - <field id="ice_cover" long_name="Ice fraction" standard_name="sea_ice_area_fraction" unit="1" /> + <field id="ice_cover" long_name="Ice fraction" standard_name="sea_ice_area_fraction" unit="1" grid_ref="grid_T_2D" /> <!-- dilution --> <field id="emp_x_sst" long_name="Concentration/Dilution term on SST" unit="kg*degC/m2/s" /> @@ -521,13 +521,13 @@ that are available in the tidal-forcing implementation (see <field id="rnf_x_sss" long_name="Runoff term on SSS" unit="kg*1e-3/m2/s" /> <!-- sbcssm variables --> - <field id="sst_m" unit="degC" /> - <field id="sss_m" unit="psu" /> - <field id="ssu_m" unit="m/s" /> - <field id="ssv_m" unit="m/s" /> - <field id="ssh_m" unit="m" /> - <field id="e3t_m" unit="m" /> - <field id="frq_m" unit="-" /> + <field id="sst_m" unit="degC" grid_ref="grid_T_2D" /> + <field id="sss_m" unit="psu" grid_ref="grid_T_2D" /> + <field id="ssu_m" unit="m/s" grid_ref="grid_T_2D" /> + <field id="ssv_m" unit="m/s" grid_ref="grid_T_2D" /> + <field id="ssh_m" unit="m" grid_ref="grid_T_2D" /> + <field id="e3t_m" unit="m" grid_ref="grid_T_2D" /> + <field id="frq_m" unit="-" grid_ref="grid_T_2D" /> </field_group> @@ -718,16 +718,16 @@ that are available in the tidal-forcing implementation (see <field id="weiv_heattr3d" long_name="ocean bolus heat transport" standard_name="ocean_heat_z_transport_due_to_bolus_advection" unit="W" /> <field id="weiv_salttr3d" long_name="ocean bolus salt transport" standard_name="ocean_salt_z_transport_due_to_bolus_advection" unit="kg" /> - <field id="avt" long_name="vertical eddy diffusivity" standard_name="ocean_vertical_heat_diffusivity" unit="m2/s" /> + <field id="avt" long_name="vertical eddy diffusivity" standard_name="ocean_vertical_heat_diffusivity" unit="m2/s" grid_ref="grid_W_3D_inner" /> <field id="avt_e3w" long_name="vertical heat diffusivity * e3w" unit="m3/s" > avt * e3w </field> - <field id="logavt" long_name="logarithm of vertical eddy diffusivity" standard_name="ocean_vertical_heat_diffusivity" unit="m2/s" /> + <field id="logavt" long_name="logarithm of vertical eddy diffusivity" standard_name="ocean_vertical_heat_diffusivity" unit="m2/s" grid_ref="grid_W_3D_inner" /> <field id="avm" long_name="vertical eddy viscosity" standard_name="ocean_vertical_momentum_diffusivity" unit="m2/s" /> <field id="avm_e3w" long_name="vertical eddy viscosity * e3w" unit="m3/s" > avm * e3w </field> <!-- avs: /= avt with ln_zdfddm=T --> - <field id="avs" long_name="salt vertical eddy diffusivity" standard_name="ocean_vertical_salt_diffusivity" unit="m2/s" /> + <field id="avs" long_name="salt vertical eddy diffusivity" standard_name="ocean_vertical_salt_diffusivity" unit="m2/s" grid_ref="grid_W_3D_inner" /> <field id="avs_e3w" long_name="vertical salt diffusivity * e3w" unit="m3/s" > avs * e3w </field> - <field id="logavs" long_name="logarithm of salt vertical eddy diffusivity" standard_name="ocean_vertical_heat_diffusivity" unit="m2/s" /> + <field id="logavs" long_name="logarithm of salt vertical eddy diffusivity" standard_name="ocean_vertical_heat_diffusivity" unit="m2/s" grid_ref="grid_W_3D_inner" /> <!-- avt_evd and avm_evd: available with ln_zdfevd --> <field id="avt_evd" long_name="convective enhancement of vertical diffusivity" standard_name="ocean_vertical_tracer_diffusivity_due_to_convection" unit="m2/s" /> @@ -740,11 +740,11 @@ that are available in the tidal-forcing implementation (see <!-- avt_tide: available with ln_zdfiwm=T --> - <field id="av_ratio" long_name="S over T diffusivity ratio" standard_name="salinity_over_temperature_diffusivity_ratio" unit="1" /> - <field id="av_wave" long_name="internal wave-induced vertical diffusivity" standard_name="ocean_vertical_tracer_diffusivity_due_to_internal_waves" unit="m2/s" /> - <field id="bflx_iwm" long_name="internal wave-induced buoyancy flux" standard_name="buoyancy_flux_due_to_internal_waves" unit="W/kg" /> - <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" /> - <field id="emix_iwm" long_name="power density available for mixing" standard_name="power_available_for_mixing_from_breaking_internal_waves" unit="W/kg" /> + <field id="av_ratio" long_name="S over T diffusivity ratio" standard_name="salinity_over_temperature_diffusivity_ratio" unit="1" grid_ref="grid_W_3D_inner" /> + <field id="av_wave" long_name="internal wave-induced vertical diffusivity" standard_name="ocean_vertical_tracer_diffusivity_due_to_internal_waves" unit="m2/s" grid_ref="grid_W_3D_inner" /> + <field id="bflx_iwm" long_name="internal wave-induced buoyancy flux" standard_name="buoyancy_flux_due_to_internal_waves" unit="W/kg" grid_ref="grid_W_3D_inner" /> + <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_inner" /> + <field id="emix_iwm" long_name="power density available for mixing" standard_name="power_available_for_mixing_from_breaking_internal_waves" unit="W/kg" grid_ref="grid_W_3D_inner" /> <!-- variables available with WAVE (ln_wave=T) --> <field id="wstokes" long_name="Stokes Drift vertical velocity" standard_name="upward_StokesDrift_velocity" unit="m/s" /> @@ -757,11 +757,11 @@ that are available in the tidal-forcing implementation (see <field id="bn2" long_name="squared Brunt-Vaisala frequency" unit="s-2" /> <!-- dissipation diagnostics (note: ediss_k is only available with tke scheme) --> - <field id="avt_k" long_name="vertical eddy diffusivity from closure schemes" standard_name="ocean_vertical_eddy_diffusivity" unit="m2/s" /> <field id="avm_k" long_name="vertical eddy viscosity from closure schemes" standard_name="ocean_vertical_eddy_viscosity" unit="m2/s" /> - <field id="ediss_k" long_name="Kolmogorov energy dissipation (tke scheme)" standard_name="Kolmogorov_energy_dissipation" unit="W/kg" /> - <field id="eshear_k" long_name="energy source from vertical shear" standard_name="energy_source_from_shear" unit="W/kg" /> - <field id="estrat_k" long_name="energy sink from stratification" standard_name="energy_sink_from_stratification" unit="W/kg" /> + <field id="avt_k" long_name="vertical eddy diffusivity from closure schemes" standard_name="ocean_vertical_eddy_diffusivity" unit="m2/s" grid_ref="grid_W_3D_inner" /> + <field id="ediss_k" long_name="Kolmogorov energy dissipation (tke scheme)" standard_name="Kolmogorov_energy_dissipation" unit="W/kg" grid_ref="grid_W_3D_inner" /> + <field id="eshear_k" long_name="energy source from vertical shear" standard_name="energy_source_from_shear" unit="W/kg" grid_ref="grid_W_3D_inner" /> + <field id="estrat_k" long_name="energy sink from stratification" standard_name="energy_sink_from_stratification" unit="W/kg" grid_ref="grid_W_3D_inner" /> </field_group> diff --git a/cfgs/SHARED/namelist_ref b/cfgs/SHARED/namelist_ref index dc77ca9a5..f146b16f5 100644 --- a/cfgs/SHARED/namelist_ref +++ b/cfgs/SHARED/namelist_ref @@ -883,6 +883,9 @@ ! ! ! S-EOS coefficients (ln_seos=T): ! ! rd(T,S,Z)*rho0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS + ! ! dT = T-rn_T0 ; dS = S-rn_S0 + rn_T0 = 10. ! reference temperature + rn_S0 = 35. ! reference salinity rn_a0 = 1.6550e-1 ! thermal expension coefficient rn_b0 = 7.6554e-1 ! saline expension coefficient rn_lambda1 = 5.9520e-2 ! cabbeling coeff in T^2 (=0 for linear eos) diff --git a/src/ABL/sbcabl.F90 b/src/ABL/sbcabl.F90 index c2c1d13c1..cd771f978 100644 --- a/src/ABL/sbcabl.F90 +++ b/src/ABL/sbcabl.F90 @@ -44,6 +44,8 @@ MODULE sbcabl PUBLIC sbc_abl_init ! routine called in sbcmod module PUBLIC sbc_abl ! routine called in sbcmod module + !! * Substitutions +# include "do_loop_substitute.h90" !!---------------------------------------------------------------------- !! NEMO/OPA 3.7 , NEMO-consortium (2014) !! $Id: sbcabl.F90 6416 2016-04-01 12:22:17Z clem $ @@ -340,7 +342,7 @@ CONTAINS CALL blk_oce_1( kt, u_abl(:,:,2,nt_n ), v_abl(:,:,2,nt_n ), & ! <<= in & tq_abl(:,:,2,nt_n,jp_ta), tq_abl(:,:,2,nt_n,jp_qa), & ! <<= in - & sf(jp_slp )%fnow(:,:,1) , sst_m, ssu_m, ssv_m , & ! <<= in + & sf(jp_slp )%fnow(:,:,1) , sst_m(A2D(0)), ssu_m(A2D(0)), ssv_m(A2D(0)), & ! <<= in & sf(jp_uoatm)%fnow(:,:,1), sf(jp_voatm)%fnow(:,:,1), & ! <<= in & sf(jp_qsr )%fnow(:,:,1) , sf(jp_qlw )%fnow(:,:,1) , & ! <<= in & tsk_m, zssq, zcd_du, zsen, zlat, zevp ) ! =>> out @@ -348,7 +350,7 @@ CONTAINS #if defined key_si3 CALL blk_ice_1( u_abl(:,:,2,nt_n ), v_abl(:,:,2,nt_n ), & ! <<= in & tq_abl(:,:,2,nt_n,jp_ta), tq_abl(:,:,2,nt_n,jp_qa), & ! <<= in - & sf(jp_slp)%fnow(:,:,1) , u_ice, v_ice, tm_su , & ! <<= in + & sf(jp_slp)%fnow(:,:,1) , u_ice(A2D(0)), v_ice(A2D(0)), tm_su , & ! <<= in & pseni=zseni, pevpi=zevpi, pssqi=zssqi, pcd_dui=zcd_dui ) ! <<= out #endif diff --git a/src/ICE/ice.F90 b/src/ICE/ice.F90 index 67bce2c4a..889e726d7 100644 --- a/src/ICE/ice.F90 +++ b/src/ICE/ice.F90 @@ -451,6 +451,8 @@ MODULE ice REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: qcn_ice_bot !: Bottom conduction flux (W/m2) REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: qcn_ice_top !: Surface conduction flux (W/m2) ! + !! * Substitutions +# include "do_loop_substitute.h90" !!---------------------------------------------------------------------- !! NEMO/ICE 4.0 , NEMO Consortium (2018) !! $Id: ice.F90 15388 2021-10-17 11:33:47Z clem $ @@ -464,71 +466,103 @@ CONTAINS !!----------------------------------------------------------------- INTEGER :: ice_alloc ! - INTEGER :: ierr(16), ii + INTEGER :: ierr(21), ii !!----------------------------------------------------------------- ierr(:) = 0 + ii = 0 + ! ----------------- ! + ! == FULL ARRAYS == ! + ! ----------------- ! + + ! * Ice global state variables + ii = ii + 1 + ALLOCATE( u_ice(jpi,jpj) , v_ice(jpi,jpj) , STAT=ierr(ii) ) - ii = 1 - ALLOCATE( u_oce (jpi,jpj) , v_oce (jpi,jpj) , ht_i_new (jpi,jpj) , fraz_frac (jpi,jpj) , & - & strength (jpi,jpj) , stress1_i(jpi,jpj) , stress2_i(jpi,jpj) , stress12_i(jpi,jpj) , & - & delta_i (jpi,jpj) , divu_i (jpi,jpj) , shear_i (jpi,jpj) , & - & aniso_11 (jpi,jpj) , aniso_12 (jpi,jpj) , rdg_conv (jpi,jpj) , STAT=ierr(ii) ) + ii = ii + 1 + ALLOCATE( h_i (jpi,jpj,jpl) , a_i (jpi,jpj,jpl) , v_i (jpi,jpj,jpl) , & + & v_s (jpi,jpj,jpl) , h_s (jpi,jpj,jpl) , & + & s_i (jpi,jpj,jpl) , sv_i(jpi,jpj,jpl) , o_i (jpi,jpj,jpl) , oa_i (jpi,jpj,jpl) , & + & a_ip (jpi,jpj,jpl) , v_ip(jpi,jpj,jpl) , h_ip(jpi,jpj,jpl), & + & v_il (jpi,jpj,jpl) , h_il(jpi,jpj,jpl) , & + & t_su (jpi,jpj,jpl) , t_s (jpi,jpj,nlay_s,jpl) , t_i(jpi,jpj,nlay_i,jpl) , sz_i(jpi,jpj,nlay_i,jpl) , & + & ato_i(jpi,jpj) , STAT = ierr(ii) ) ii = ii + 1 - ALLOCATE( t_bo (jpi,jpj) , wfx_snw_sni(jpi,jpj) , & - & wfx_snw (jpi,jpj) , wfx_snw_dyn(jpi,jpj) , wfx_snw_sum(jpi,jpj) , wfx_snw_sub(jpi,jpj) , & - & wfx_ice (jpi,jpj) , wfx_sub (jpi,jpj) , wfx_ice_sub(jpi,jpj) , wfx_lam (jpi,jpj) , & - & wfx_pnd (jpi,jpj) , & - & wfx_bog (jpi,jpj) , wfx_dyn (jpi,jpj) , wfx_bom(jpi,jpj) , wfx_sum(jpi,jpj) , & - & wfx_res (jpi,jpj) , wfx_sni (jpi,jpj) , wfx_opw(jpi,jpj) , wfx_spr(jpi,jpj) , & - & rn_amax_2d (jpi,jpj) , & - & qsb_ice_bot(jpi,jpj) , qlead (jpi,jpj) , & - & sfx_res (jpi,jpj) , sfx_bri (jpi,jpj) , sfx_dyn(jpi,jpj) , sfx_sub(jpi,jpj) , sfx_lam(jpi,jpj) , & - & sfx_bog (jpi,jpj) , sfx_bom (jpi,jpj) , sfx_sum(jpi,jpj) , sfx_sni(jpi,jpj) , sfx_opw(jpi,jpj) , & - & hfx_res (jpi,jpj) , hfx_snw (jpi,jpj) , hfx_sub(jpi,jpj) , & - & qt_atm_oi (jpi,jpj) , qt_oce_ai (jpi,jpj) , fhld (jpi,jpj) , & - & hfx_sum (jpi,jpj) , hfx_bom (jpi,jpj) , hfx_bog(jpi,jpj) , hfx_dif(jpi,jpj) , & - & hfx_opw (jpi,jpj) , hfx_thd (jpi,jpj) , hfx_dyn(jpi,jpj) , hfx_spr(jpi,jpj) , & - & hfx_err_dif(jpi,jpj) , wfx_err_sub(jpi,jpj) , STAT=ierr(ii) ) + ALLOCATE( e_s(jpi,jpj,nlay_s,jpl) , e_i(jpi,jpj,nlay_i,jpl) , STAT=ierr(ii) ) - ! * Ice global state variables + ! * Before values of global variables ii = ii + 1 - ALLOCATE( qtr_ice_bot(jpi,jpj,jpl) , cnd_ice(jpi,jpj,jpl) , t1_ice(jpi,jpj,jpl) , & - & h_i (jpi,jpj,jpl) , a_i (jpi,jpj,jpl) , v_i (jpi,jpj,jpl) , & - & v_s (jpi,jpj,jpl) , h_s (jpi,jpj,jpl) , t_su (jpi,jpj,jpl) , & - & s_i (jpi,jpj,jpl) , sv_i (jpi,jpj,jpl) , o_i (jpi,jpj,jpl) , & - & oa_i (jpi,jpj,jpl) , bv_i (jpi,jpj,jpl) , STAT=ierr(ii) ) + ALLOCATE( u_ice_b(jpi,jpj) , v_ice_b(jpi,jpj) , STAT=ierr(ii) ) + ! * fluxes ii = ii + 1 - ALLOCATE( u_ice(jpi,jpj) , v_ice(jpi,jpj) , & - & vt_i (jpi,jpj) , vt_s (jpi,jpj) , st_i(jpi,jpj) , at_i(jpi,jpj) , ato_i(jpi,jpj) , & - & et_i (jpi,jpj) , et_s (jpi,jpj) , tm_i(jpi,jpj) , tm_s(jpi,jpj) , & - & sm_i (jpi,jpj) , tm_su(jpi,jpj) , hm_i(jpi,jpj) , hm_s(jpi,jpj) , & - & om_i (jpi,jpj) , bvm_i(jpi,jpj) , tau_icebfr(jpi,jpj), icb_mask(jpi,jpj), STAT=ierr(ii) ) + ALLOCATE( wfx_res(jpi,jpj) , sfx_res(jpi,jpj) , hfx_res(jpi,jpj) , STAT=ierr(ii) ) ! full arrays since it is used in conjonction with global variables + + ! * ice rheology + ii = ii+1 + ALLOCATE( u_oce (jpi,jpj) , v_oce (jpi,jpj) , & + & strength (jpi,jpj) , stress1_i(jpi,jpj) , stress2_i(jpi,jpj) , stress12_i(jpi,jpj) , & + & aniso_11 (jpi,jpj) , aniso_12 (jpi,jpj) , rdg_conv (jpi,jpj) , & + & icb_mask (jpi,jpj) , STAT=ierr(ii) ) + ! * mean and total + ii = ii + 1 + ALLOCATE( vt_i (jpi,jpj) , vt_s (jpi,jpj) , at_i (jpi,jpj) , & ! full arrays since they are used in rheology + & vt_ip(jpi,jpj) , vt_il(jpi,jpj) , at_ip(jpi,jpj) , STAT=ierr(ii) ) + + ! * others ii = ii + 1 - ALLOCATE( t_s(jpi,jpj,nlay_s,jpl) , e_s(jpi,jpj,nlay_s,jpl) , STAT=ierr(ii) ) + ALLOCATE( t_bo(jpi,jpj) , rn_amax_2d(jpi,jpj) , STAT=ierr(ii) ) + + ! -------------------- ! + ! == REDUCED ARRAYS == ! + ! -------------------- ! + ! * Ice global state variables ii = ii + 1 - ALLOCATE( t_i(jpi,jpj,nlay_i,jpl) , e_i(jpi,jpj,nlay_i,jpl) , sz_i(jpi,jpj,nlay_i,jpl) , STAT=ierr(ii) ) + ALLOCATE( bv_i(A2D(0),jpl) , a_ip_frac(A2D(0),jpl) , a_ip_eff(A2D(0),jpl) , STAT=ierr(ii) ) + ! * Before values of global variables ii = ii + 1 - ALLOCATE( a_ip(jpi,jpj,jpl) , v_ip(jpi,jpj,jpl) , a_ip_frac(jpi,jpj,jpl) , h_ip(jpi,jpj,jpl), & - & v_il(jpi,jpj,jpl) , h_il(jpi,jpj,jpl) , a_ip_eff (jpi,jpj,jpl) , & - & dh_i_sum_2d(jpi,jpj,jpl) , dh_s_mlt_2d(jpi,jpj,jpl) , STAT = ierr(ii) ) + ALLOCATE( at_i_b(A2D(0)) , h_i_b (A2D(0),jpl) , a_i_b(A2D(0),jpl) , v_i_b(A2D(0),jpl) , & + & v_s_b (A2D(0),jpl) , h_s_b (A2D(0),jpl) , & + & v_ip_b(A2D(0),jpl) , v_il_b(A2D(0),jpl) , & + & sv_i_b(A2D(0),jpl) , e_i_b (A2D(0),nlay_i,jpl) , e_s_b(A2D(0),nlay_s,jpl) , STAT=ierr(ii) ) + ! * fluxes ii = ii + 1 - ALLOCATE( at_ip(jpi,jpj) , hm_ip(jpi,jpj) , vt_ip(jpi,jpj) , hm_il(jpi,jpj) , vt_il(jpi,jpj) , STAT = ierr(ii) ) + ALLOCATE( qsb_ice_bot(A2D(0)) , qlead (A2D(0)) , qt_atm_oi (A2D(0)) , qt_oce_ai (A2D(0)) , fhld (A2D(0)) , & + & wfx_snw_sni(A2D(0)) , wfx_snw (A2D(0)) , wfx_snw_dyn(A2D(0)) , wfx_snw_sum(A2D(0)) , wfx_snw_sub(A2D(0)) , & + & wfx_ice (A2D(0)) , wfx_sub (A2D(0)) , wfx_ice_sub(A2D(0)) , wfx_lam (A2D(0)) , & + & wfx_pnd (A2D(0)) , & + & wfx_bog (A2D(0)) , wfx_dyn (A2D(0)) , wfx_bom(A2D(0)) , wfx_sum(A2D(0)) , & + & wfx_sni (A2D(0)) , wfx_opw (A2D(0)) , wfx_spr(A2D(0)) , & + & & + & sfx_bri (A2D(0)) , sfx_dyn (A2D(0)) , sfx_sub(A2D(0)) , sfx_lam(A2D(0)) , & + & sfx_bog (A2D(0)) , sfx_bom (A2D(0)) , sfx_sum(A2D(0)) , sfx_sni(A2D(0)) , sfx_opw(A2D(0)) , & + & hfx_snw (A2D(0)) , hfx_sub (A2D(0)) , & + & hfx_sum (A2D(0)) , hfx_bom (A2D(0)) , hfx_bog(A2D(0)) , hfx_dif(A2D(0)) , & + & hfx_opw (A2D(0)) , hfx_thd (A2D(0)) , hfx_dyn(A2D(0)) , hfx_spr(A2D(0)) , & + & hfx_err_dif(A2D(0)) , wfx_err_sub(A2D(0)) , STAT=ierr(ii) ) + ii = ii + 1 + ALLOCATE( qtr_ice_bot(A2D(0),jpl) , cnd_ice(A2D(0),jpl) , t1_ice(A2D(0),jpl) , STAT=ierr(ii) ) + + ! * ice rheology + ii = ii+1 + ALLOCATE( delta_i(A2D(0)) , divu_i(A2D(0)) , shear_i(A2D(0)) , STAT=ierr(ii) ) - ! * Old values of global variables + ! * mean and total ii = ii + 1 - ALLOCATE( v_s_b (jpi,jpj,jpl) , v_i_b (jpi,jpj,jpl) , h_s_b(jpi,jpj,jpl) , h_i_b(jpi,jpj,jpl), & - & v_ip_b(jpi,jpj,jpl) , v_il_b(jpi,jpj,jpl) , & - & a_i_b (jpi,jpj,jpl) , sv_i_b(jpi,jpj,jpl) , e_i_b(jpi,jpj,nlay_i,jpl) , e_s_b(jpi,jpj,nlay_s,jpl) , & - & STAT=ierr(ii) ) + ALLOCATE( st_i (A2D(0)) , et_i (A2D(0)) , et_s(A2D(0)) , hm_i (A2D(0)) , & + & hm_ip(A2D(0)) , hm_il(A2D(0)) , tm_i(A2D(0)) , tm_s (A2D(0)) , & + & sm_i (A2D(0)) , hm_s (A2D(0)) , om_i(A2D(0)) , bvm_i(A2D(0)) , & + & tm_su(A2D(0)) , STAT=ierr(ii) ) + ! * others ii = ii + 1 - ALLOCATE( u_ice_b(jpi,jpj) , v_ice_b(jpi,jpj) , at_i_b(jpi,jpj) , STAT=ierr(ii) ) + ALLOCATE( tau_icebfr(A2D(0)) , dh_i_sum_2d(A2D(0),jpl) , dh_s_mlt_2d(A2D(0),jpl) , STAT=ierr(ii) ) + ii = 1 + ALLOCATE( ht_i_new (A2D(0)) , fraz_frac (A2D(0)) , STAT=ierr(ii) ) ! * Ice thickness distribution variables ii = ii + 1 @@ -536,19 +570,19 @@ CONTAINS ! * Ice diagnostics ii = ii + 1 - ALLOCATE( diag_trp_vi(jpi,jpj) , diag_trp_vs (jpi,jpj) , diag_trp_ei(jpi,jpj), & - & diag_trp_es(jpi,jpj) , diag_trp_sv (jpi,jpj) , diag_heat (jpi,jpj), & - & diag_sice (jpi,jpj) , diag_vice (jpi,jpj) , diag_vsnw (jpi,jpj), diag_aice(jpi,jpj), diag_vpnd(jpi,jpj), & - & diag_adv_mass(jpi,jpj), diag_adv_salt(jpi,jpj), diag_adv_heat(jpi,jpj), STAT=ierr(ii) ) + ALLOCATE( diag_trp_vi (A2D(0)) , diag_trp_vs (A2D(0)) , diag_trp_ei (A2D(0)) , & + & diag_trp_es (A2D(0)) , diag_trp_sv (A2D(0)) , diag_heat (A2D(0)) , & + & diag_sice (A2D(0)) , diag_vice (A2D(0)) , diag_vsnw (A2D(0)) , diag_aice(A2D(0)) , diag_vpnd(A2D(0)), & + & diag_adv_mass(A2D(0)) , diag_adv_salt(A2D(0)) , diag_adv_heat(A2D(0)) , STAT=ierr(ii) ) ! * Ice conservation ii = ii + 1 - ALLOCATE( diag_v (jpi,jpj) , diag_s (jpi,jpj) , diag_t (jpi,jpj), & - & diag_fv(jpi,jpj) , diag_fs(jpi,jpj) , diag_ft(jpi,jpj), STAT=ierr(ii) ) + ALLOCATE( diag_v (A2D(0)) , diag_s (A2D(0)) , diag_t (A2D(0)), & + & diag_fv(A2D(0)) , diag_fs(A2D(0)) , diag_ft(A2D(0)), STAT=ierr(ii) ) ! * SIMIP diagnostics ii = ii + 1 - ALLOCATE( t_si(jpi,jpj,jpl) , tm_si(jpi,jpj) , qcn_ice_bot(jpi,jpj,jpl) , qcn_ice_top(jpi,jpj,jpl) , STAT = ierr(ii) ) + ALLOCATE( t_si(A2D(0),jpl) , tm_si(A2D(0)) , qcn_ice_bot(A2D(0),jpl) , qcn_ice_top(A2D(0),jpl) , STAT = ierr(ii) ) ice_alloc = MAXVAL( ierr(:) ) IF( ice_alloc /= 0 ) CALL ctl_stop( 'STOP', 'ice_alloc: failed to allocate arrays.' ) diff --git a/src/ICE/icealb.F90 b/src/ICE/icealb.F90 index 7a7b3e42a..af7e86865 100644 --- a/src/ICE/icealb.F90 +++ b/src/ICE/icealb.F90 @@ -48,7 +48,7 @@ MODULE icealb !!---------------------------------------------------------------------- CONTAINS - SUBROUTINE ice_alb( pt_su, ph_ice, ph_snw, ld_pnd_alb, pafrac_pnd, ph_pnd, pcloud_fra, palb_ice ) + SUBROUTINE ice_alb( ld_pnd_alb, pt_su, ph_ice, ph_snw, pafrac_pnd, ph_pnd, pcloud_fra, palb_ice ) !!---------------------------------------------------------------------- !! *** ROUTINE ice_alb *** !! @@ -94,16 +94,16 @@ CONTAINS !! Brandt et al. 2005, J. Climate, vol 18 !! Grenfell & Perovich 2004, JGR, vol 109 !!---------------------------------------------------------------------- - REAL(wp), INTENT(in ), DIMENSION(:,:,:) :: pt_su ! ice surface temperature (Kelvin) - REAL(wp), INTENT(in ), DIMENSION(:,:,:) :: ph_ice ! sea-ice thickness - REAL(wp), INTENT(in ), DIMENSION(:,:,:) :: ph_snw ! snow depth - LOGICAL , INTENT(in ) :: ld_pnd_alb ! effect of melt ponds on albedo - REAL(wp), INTENT(in ), DIMENSION(:,:,:) :: pafrac_pnd ! melt pond relative fraction (per unit ice area) - REAL(wp), INTENT(in ), DIMENSION(:,:,:) :: ph_pnd ! melt pond depth - REAL(wp), INTENT(in ), DIMENSION(:,:) :: pcloud_fra ! cloud fraction - REAL(wp), INTENT( out), DIMENSION(:,:,:) :: palb_ice ! albedo of ice + LOGICAL , INTENT(in ) :: ld_pnd_alb ! effect of melt ponds on albedo + REAL(wp), INTENT(in ), DIMENSION(A2D(0),jpl) :: pt_su ! ice surface temperature (Kelvin) + REAL(wp), INTENT(in ), DIMENSION(A2D(0),jpl) :: ph_ice ! sea-ice thickness + REAL(wp), INTENT(in ), DIMENSION(A2D(0),jpl) :: ph_snw ! snow depth + REAL(wp), INTENT(in ), DIMENSION(A2D(0),jpl) :: pafrac_pnd ! melt pond relative fraction (per unit ice area) + REAL(wp), INTENT(in ), DIMENSION(A2D(0),jpl) :: ph_pnd ! melt pond depth + REAL(wp), INTENT(in ), DIMENSION(A2D(0)) :: pcloud_fra ! cloud fraction + REAL(wp), INTENT( out), DIMENSION(A2D(0),jpl) :: palb_ice ! albedo of ice ! - REAL(wp), DIMENSION(jpi,jpj,jpl) :: za_s_fra ! ice fraction covered by snow + REAL(wp), DIMENSION(A2D(0),jpl) :: za_s_fra ! ice fraction covered by snow INTEGER :: ji, jj, jl ! dummy loop indices REAL(wp) :: z1_c1, z1_c2,z1_c3, z1_c4 ! local scalar REAL(wp) :: z1_href_pnd ! inverse of the characteristic length scale (Lecomte et al. 2015) @@ -121,10 +121,10 @@ CONTAINS z1_c3 = 1._wp / 0.02_wp z1_c4 = 1._wp / 0.03_wp ! - CALL ice_var_snwfra( ph_snw, za_s_fra ) ! calculate ice fraction covered by snow + CALL ice_var_snwfra( ph_snw(:,:,:), za_s_fra(:,:,:) ) ! calculate ice fraction covered by snow ! DO jl = 1, jpl - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) ! palb_ice used over the full domain in icesbc + DO_2D( 0, 0, 0, 0 ) ! palb_ice used over the full domain in icesbc ! !---------------------------------------------! !--- Specific snow, ice and pond fractions ---! @@ -164,10 +164,10 @@ CONTAINS zalb_pnd = rn_alb_dpnd - ( rn_alb_dpnd - zalb_ice ) * EXP( - ph_pnd(ji,jj,jl) * z1_href_pnd ) ! ! !--- Surface albedo is weighted mean of snow, ponds and bare ice contributions - zalb_os = ( zafrac_snw * zalb_snw + zafrac_pnd * zalb_pnd + zafrac_ice * zalb_ice ) * tmask(ji,jj,1) + zalb_os = ( zafrac_snw * zalb_snw + zafrac_pnd * zalb_pnd + zafrac_ice * zalb_ice ) * smask0(ji,jj) ! zalb_cs = zalb_os - ( - 0.1010_wp * zalb_os * zalb_os & - & + 0.1933_wp * zalb_os - 0.0148_wp ) * tmask(ji,jj,1) + & + 0.1933_wp * zalb_os - 0.0148_wp ) * smask0(ji,jj) ! ! albedo depends on cloud fraction because of non-linear spectral effects palb_ice(ji,jj,jl) = ( 1._wp - pcloud_fra(ji,jj) ) * zalb_cs + pcloud_fra(ji,jj) * zalb_os diff --git a/src/ICE/icectl.F90 b/src/ICE/icectl.F90 index 78fb1563e..d2057625d 100644 --- a/src/ICE/icectl.F90 +++ b/src/ICE/icectl.F90 @@ -83,25 +83,33 @@ CONTAINS CHARACTER(len=*), INTENT(in) :: cd_routine ! name of the routine REAL(wp) , INTENT(inout) :: pdiag_v, pdiag_s, pdiag_t, pdiag_fv, pdiag_fs, pdiag_ft !! + INTEGER :: ji, jj, jl ! dummy loop index REAL(wp) :: zdiag_mass, zdiag_salt, zdiag_heat - REAL(wp), DIMENSION(jpi,jpj,10) :: ztmp3 - REAL(wp), DIMENSION(jpi,jpj,jpl,8) :: ztmp4 - REAL(wp), DIMENSION(10) :: zchk3 - REAL(wp), DIMENSION(8) :: zchk4 + REAL(wp), DIMENSION(A2D(0),10) :: ztmp3 + REAL(wp), DIMENSION(A2D(0),jpl,8) :: ztmp4 + REAL(wp), DIMENSION(10) :: zchk3 + REAL(wp), DIMENSION(8) :: zchk4 !!------------------------------------------------------------------- ! - ! -- quantities -- ! - ztmp3(:,:,1) = SUM( v_i * rhoi + v_s * rhos + ( v_ip + v_il ) * rhow, dim=3 ) * e1e2t ! volume - ztmp3(:,:,2) = SUM( sv_i * rhoi, dim=3 ) * e1e2t ! salt - ztmp3(:,:,3) = ( SUM( SUM( e_i, dim=4 ), dim=3 ) + SUM( SUM( e_s, dim=4 ), dim=3 ) ) * e1e2t ! heat - ! - ! -- fluxes -- ! - ztmp3(:,:,4) = ( wfx_bog + wfx_bom + wfx_sum + wfx_sni + wfx_opw + wfx_res + wfx_dyn + wfx_lam + wfx_pnd & ! mass - & + wfx_snw_sni + wfx_snw_sum + wfx_snw_dyn + wfx_snw_sub + wfx_ice_sub + wfx_spr ) * e1e2t - ztmp3(:,:,5) = ( sfx_bri + sfx_bog + sfx_bom + sfx_sum + sfx_sni + sfx_opw & ! salt - & + sfx_res + sfx_dyn + sfx_sub + sfx_lam ) * e1e2t - ztmp3(:,:,6) = ( hfx_sum + hfx_bom + hfx_bog + hfx_dif + hfx_opw + hfx_snw & ! heat - & - hfx_thd - hfx_dyn - hfx_res - hfx_sub - hfx_spr ) * e1e2t + DO_2D( 0, 0, 0, 0 ) + ! -- quantities -- ! + ztmp3(ji,jj,1) = SUM( v_i(ji,jj,:) * rhoi + v_s(ji,jj,:) * rhos + & + & ( v_ip(ji,jj,:) + v_il(ji,jj,:) ) * rhow ) * e1e2t(ji,jj) ! volume + ztmp3(ji,jj,2) = SUM( sv_i(ji,jj,:) * rhoi ) * e1e2t(ji,jj) ! salt + ztmp3(ji,jj,3) = ( SUM( SUM( e_i(ji,jj,:,:), dim=2 ) ) + & ! heat + & SUM( SUM( e_s(ji,jj,:,:), dim=2 ) ) ) * e1e2t(ji,jj) + ! + ! -- fluxes -- ! + ztmp3(ji,jj,4) = ( wfx_bog (ji,jj) + wfx_bom (ji,jj) + wfx_sum (ji,jj) + wfx_sni (ji,jj) & ! mass + & + wfx_opw (ji,jj) + wfx_res (ji,jj) + wfx_dyn (ji,jj) + wfx_lam (ji,jj) + wfx_pnd(ji,jj) & + & + wfx_snw_sni(ji,jj) + wfx_snw_sum(ji,jj) + wfx_snw_dyn(ji,jj) + wfx_snw_sub(ji,jj) & + & + wfx_ice_sub(ji,jj) + wfx_spr(ji,jj) ) * e1e2t(ji,jj) + ztmp3(ji,jj,5) = ( sfx_bri(ji,jj) + sfx_bog(ji,jj) + sfx_bom(ji,jj) + sfx_sum(ji,jj) + sfx_sni(ji,jj) + sfx_opw(ji,jj) & ! salt + & + sfx_res(ji,jj) + sfx_dyn(ji,jj) + sfx_sub(ji,jj) + sfx_lam(ji,jj) ) * e1e2t(ji,jj) + ztmp3(ji,jj,6) = ( hfx_sum(ji,jj) + hfx_bom(ji,jj) + hfx_bog(ji,jj) + hfx_dif(ji,jj) + hfx_opw(ji,jj) + hfx_snw(ji,jj) & ! heat + & - hfx_thd(ji,jj) - hfx_dyn(ji,jj) - hfx_res(ji,jj) - hfx_sub(ji,jj) - hfx_spr(ji,jj) ) * e1e2t(ji,jj) + ! + END_2D ! ! -- global sum -- ! zchk3(1:6) = glob_sum_vec( 'icectl', ztmp3(:,:,1:6) ) @@ -123,25 +131,33 @@ CONTAINS zdiag_heat = ( zchk3(3) - pdiag_t ) * r1_Dt_ice + ( zchk3(6) - pdiag_ft ) ! -- max concentration diag -- ! - ztmp3(:,:,7) = SUM( a_i, dim=3 ) - zchk3(7) = glob_max( 'icectl', ztmp3(:,:,7) ) - + DO_2D( 0, 0, 0, 0 ) + ztmp3(ji,jj,7) = SUM( a_i(ji,jj,:) ) + END_2D + zchk3(7) = glob_max( 'icectl', ztmp3(:,:,7) ) + ! -- advection scheme is conservative? -- ! - ztmp3(:,:,8 ) = diag_adv_mass * e1e2t - ztmp3(:,:,9 ) = diag_adv_heat * e1e2t - ztmp3(:,:,10) = SUM( a_i + epsi10, dim=3 ) * e1e2t ! ice area (+epsi10 to set a threshold > 0 when there is no ice) - zchk3(8:10) = glob_sum_vec( 'icectl', ztmp3(:,:,8:10) ) + DO_2D( 0, 0, 0, 0 ) + ztmp3(ji,jj,8 ) = diag_adv_mass(ji,jj) * e1e2t(ji,jj) + ztmp3(ji,jj,9 ) = diag_adv_heat(ji,jj) * e1e2t(ji,jj) + ztmp3(ji,jj,10) = SUM( a_i(ji,jj,:) + epsi10 ) * e1e2t(ji,jj) ! ice area (+epsi10 to set a threshold > 0 when there is no ice) + END_2D + zchk3(8:10) = glob_sum_vec( 'icectl', ztmp3(:,:,8:10) ) ! -- min diags -- ! - ztmp4(:,:,:,1) = v_i - ztmp4(:,:,:,2) = v_s - ztmp4(:,:,:,3) = v_ip - ztmp4(:,:,:,4) = v_il - ztmp4(:,:,:,5) = a_i - ztmp4(:,:,:,6) = sv_i - ztmp4(:,:,:,7) = SUM( e_i, dim=3 ) - ztmp4(:,:,:,8) = SUM( e_s, dim=3 ) - zchk4(1:8) = glob_min_vec( 'icectl', ztmp4(:,:,:,1:8) ) + DO jl = 1, jpl + DO_2D( 0, 0, 0, 0 ) + ztmp4(ji,jj,jl,1) = v_i(ji,jj,jl) + ztmp4(ji,jj,jl,2) = v_s(ji,jj,jl) + ztmp4(ji,jj,jl,3) = v_ip(ji,jj,jl) + ztmp4(ji,jj,jl,4) = v_il(ji,jj,jl) + ztmp4(ji,jj,jl,5) = a_i(ji,jj,jl) + ztmp4(ji,jj,jl,6) = sv_i(ji,jj,jl) + ztmp4(ji,jj,jl,7) = SUM( e_i(ji,jj,:,jl) ) + ztmp4(ji,jj,jl,8) = SUM( e_s(ji,jj,:,jl) ) + END_2D + ENDDO + zchk4(1:8) = glob_min_vec( 'icectl', ztmp4(:,:,:,1:8) ) IF( lwp ) THEN ! check conservation issues @@ -188,17 +204,21 @@ CONTAINS !!------------------------------------------------------------------- CHARACTER(len=*), INTENT(in) :: cd_routine ! name of the routine !! - REAL(wp), DIMENSION(jpi,jpj,4) :: ztmp - REAL(wp), DIMENSION(4) :: zchk + INTEGER :: ji, jj ! dummy loop index + REAL(wp), DIMENSION(A2D(0),4) :: ztmp + REAL(wp), DIMENSION(4) :: zchk !!------------------------------------------------------------------- - - ztmp(:,:,1) = ( wfx_ice + wfx_snw + wfx_spr + wfx_sub + wfx_pnd + diag_vice + diag_vsnw + diag_vpnd - diag_adv_mass ) * e1e2t ! mass diag - ztmp(:,:,2) = ( sfx + diag_sice - diag_adv_salt ) * e1e2t ! salt - ztmp(:,:,3) = ( qt_oce_ai - qt_atm_oi + diag_heat - diag_adv_heat ) * e1e2t ! heat - ! equivalent to this: - !! ( -diag_heat + hfx_sum + hfx_bom + hfx_bog + hfx_dif + hfx_opw + hfx_snw & - !! & - hfx_thd - hfx_dyn - hfx_res - hfx_sub - hfx_spr ) * e1e2t ) - ztmp(:,:,4) = SUM( a_i + epsi10, dim=3 ) * e1e2t ! ice area (+epsi10 to set a threshold > 0 when there is no ice) + DO_2D( 0, 0, 0, 0 ) + ! + ztmp(ji,jj,1) = ( wfx_ice (ji,jj) + wfx_snw (ji,jj) + wfx_pnd (ji,jj) + wfx_spr(ji,jj) + wfx_sub(ji,jj) & + & + diag_vice(ji,jj) + diag_vsnw(ji,jj) + diag_vpnd(ji,jj) - diag_adv_mass(ji,jj) ) * e1e2t(ji,jj) ! mass diag + ztmp(ji,jj,2) = ( sfx(ji,jj) + diag_sice(ji,jj) - diag_adv_salt(ji,jj) ) * e1e2t(ji,jj) ! salt + ztmp(ji,jj,3) = ( qt_oce_ai(ji,jj) - qt_atm_oi(ji,jj) + diag_heat(ji,jj) - diag_adv_heat(ji,jj) ) * e1e2t(ji,jj) ! heat + ! equivalent to this: + !! ( -diag_heat + hfx_sum + hfx_bom + hfx_bog + hfx_dif + hfx_opw + hfx_snw & + !! & - hfx_thd - hfx_dyn - hfx_res - hfx_sub - hfx_spr ) * e1e2t ) + ztmp(ji,jj,4) = SUM( a_i(ji,jj,:) + epsi10 ) * e1e2t(ji,jj) ! ice area (+epsi10 to set a threshold > 0 when there is no ice) + END_2D ! global sums zchk(1:4) = glob_sum_vec( 'icectl', ztmp(:,:,1:4) ) @@ -226,11 +246,11 @@ CONTAINS !!------------------------------------------------------------------- INTEGER , INTENT(in) :: icount ! called at: =0 the begining of the routine, =1 the end CHARACTER(len=*), INTENT(in) :: cd_routine ! name of the routine - REAL(wp) , DIMENSION(jpi,jpj), INTENT(inout) :: pdiag_v, pdiag_s, pdiag_t, pdiag_fv, pdiag_fs, pdiag_ft + REAL(wp) , DIMENSION(A2D(0)), INTENT(inout) :: pdiag_v, pdiag_s, pdiag_t, pdiag_fv, pdiag_fs, pdiag_ft !! - REAL(wp), DIMENSION(jpi,jpj) :: zdiag_mass, zdiag_salt, zdiag_heat, & - & zdiag_amin, zdiag_vmin, zdiag_smin, zdiag_emin !!, zdiag_amax - INTEGER :: jl, jk + REAL(wp), DIMENSION(A2D(0)) :: zdiag_mass, zdiag_salt, zdiag_heat, & + & zdiag_amin, zdiag_vmin, zdiag_smin, zdiag_emin !!, zdiag_amax + INTEGER :: ji, jj, jl, jk LOGICAL :: ll_stop_m = .FALSE. LOGICAL :: ll_stop_s = .FALSE. LOGICAL :: ll_stop_t = .FALSE. @@ -239,62 +259,79 @@ CONTAINS ! IF( icount == 0 ) THEN - pdiag_v = SUM( v_i * rhoi + v_s * rhos + ( v_ip + v_il ) * rhow, dim=3 ) - pdiag_s = SUM( sv_i * rhoi , dim=3 ) - pdiag_t = SUM( SUM( e_i, dim=4 ), dim=3 ) + SUM( SUM( e_s, dim=4 ), dim=3 ) + DO_2D( 0, 0, 0, 0 ) + pdiag_v(ji,jj) = SUM( v_i(ji,jj,:) * rhoi + v_s(ji,jj,:) * rhos + ( v_ip(ji,jj,:) + v_il(ji,jj,:) ) * rhow ) + pdiag_s(ji,jj) = SUM( sv_i(ji,jj,:) * rhoi ) + pdiag_t(ji,jj) = SUM( SUM( e_i(ji,jj,:,:), dim=2 ) ) + SUM( SUM( e_s(ji,jj,:,:), dim=2 ) ) ! mass flux - pdiag_fv = wfx_bog + wfx_bom + wfx_sum + wfx_sni + wfx_opw + wfx_res + wfx_dyn + wfx_lam + wfx_pnd + & - & wfx_snw_sni + wfx_snw_sum + wfx_snw_dyn + wfx_snw_sub + wfx_ice_sub + wfx_spr + pdiag_fv(ji,jj) = wfx_bog(ji,jj) + wfx_bom(ji,jj) + wfx_sum(ji,jj) + wfx_sni(ji,jj) & + & + wfx_opw(ji,jj) + wfx_res(ji,jj) + wfx_dyn(ji,jj) + wfx_lam(ji,jj) + wfx_pnd (ji,jj) & + & + wfx_snw_sni(ji,jj) + wfx_snw_sum(ji,jj) + wfx_snw_dyn(ji,jj) & + & + wfx_snw_sub(ji,jj) + wfx_ice_sub(ji,jj) + wfx_spr(ji,jj) ! salt flux - pdiag_fs = sfx_bri + sfx_bog + sfx_bom + sfx_sum + sfx_sni + sfx_opw + sfx_res + sfx_dyn + sfx_sub + sfx_lam + pdiag_fs(ji,jj) = sfx_bri(ji,jj) + sfx_bog(ji,jj) + sfx_bom(ji,jj) + sfx_sum(ji,jj) + sfx_sni(ji,jj) & + & + sfx_opw(ji,jj) + sfx_res(ji,jj) + sfx_dyn(ji,jj) + sfx_sub(ji,jj) + sfx_lam(ji,jj) ! heat flux - pdiag_ft = hfx_sum + hfx_bom + hfx_bog + hfx_dif + hfx_opw + hfx_snw & - & - hfx_thd - hfx_dyn - hfx_res - hfx_sub - hfx_spr + pdiag_ft(ji,jj) = hfx_sum(ji,jj) + hfx_bom(ji,jj) + hfx_bog(ji,jj) + hfx_dif(ji,jj) + hfx_opw(ji,jj) + hfx_snw(ji,jj) & + & - hfx_thd(ji,jj) - hfx_dyn(ji,jj) - hfx_res(ji,jj) - hfx_sub(ji,jj) - hfx_spr(ji,jj) + END_2D ELSEIF( icount == 1 ) THEN - + ! -- mass diag -- ! - zdiag_mass = ( SUM( v_i * rhoi + v_s * rhos + ( v_ip + v_il ) * rhow, dim=3 ) - pdiag_v ) * r1_Dt_ice & - & + ( wfx_bog + wfx_bom + wfx_sum + wfx_sni + wfx_opw + wfx_res + wfx_dyn + wfx_lam + wfx_pnd + & - & wfx_snw_sni + wfx_snw_sum + wfx_snw_dyn + wfx_snw_sub + wfx_ice_sub + wfx_spr ) & - & - pdiag_fv + DO_2D( 0, 0, 0, 0 ) + zdiag_mass(ji,jj) = ( SUM( v_i(ji,jj,:) * rhoi + v_s(ji,jj,:) * rhos & + & + ( v_ip(ji,jj,:) + v_il(ji,jj,:) ) * rhow ) - pdiag_v(ji,jj) ) * r1_Dt_ice & + & + ( wfx_bog(ji,jj) + wfx_bom(ji,jj) + wfx_sum(ji,jj) + wfx_sni(ji,jj) + wfx_opw(ji,jj) & + & + wfx_res(ji,jj) + wfx_dyn(ji,jj) + wfx_lam(ji,jj) + wfx_pnd(ji,jj) & + & + wfx_snw_sni(ji,jj) + wfx_snw_sum(ji,jj) + wfx_snw_dyn(ji,jj) & + & + wfx_snw_sub(ji,jj) + wfx_ice_sub(ji,jj) + wfx_spr(ji,jj) ) & + & - pdiag_fv(ji,jj) + END_2D IF( MAXVAL( ABS(zdiag_mass) ) > rchk_m * rn_icechk_cel ) ll_stop_m = .TRUE. ! ! -- salt diag -- ! - zdiag_salt = ( SUM( sv_i * rhoi , dim=3 ) - pdiag_s ) * r1_Dt_ice & - & + ( sfx_bri + sfx_bog + sfx_bom + sfx_sum + sfx_sni + sfx_opw + sfx_res + sfx_dyn + sfx_sub + sfx_lam ) & - & - pdiag_fs + DO_2D( 0, 0, 0, 0 ) + zdiag_salt(ji,jj) = ( SUM( sv_i(ji,jj,:) * rhoi ) - pdiag_s(ji,jj) ) * r1_Dt_ice & + & + ( sfx_bri(ji,jj) + sfx_bog(ji,jj) + sfx_bom(ji,jj) + sfx_sum(ji,jj) + sfx_sni(ji,jj) & + & + sfx_opw(ji,jj) + sfx_res(ji,jj) + sfx_dyn(ji,jj) + sfx_sub(ji,jj) + sfx_lam(ji,jj) ) & + & - pdiag_fs(ji,jj) + END_2D IF( MAXVAL( ABS(zdiag_salt) ) > rchk_s * rn_icechk_cel ) ll_stop_s = .TRUE. ! ! -- heat diag -- ! - zdiag_heat = ( SUM( SUM( e_i, dim=4 ), dim=3 ) + SUM( SUM( e_s, dim=4 ), dim=3 ) - pdiag_t ) * r1_Dt_ice & - & + ( hfx_sum + hfx_bom + hfx_bog + hfx_dif + hfx_opw + hfx_snw & - & - hfx_thd - hfx_dyn - hfx_res - hfx_sub - hfx_spr ) & - & - pdiag_ft + DO_2D( 0, 0, 0, 0 ) + zdiag_heat(ji,jj) = ( SUM( SUM( e_i(ji,jj,:,:), dim=2 ) ) & + & + SUM( SUM( e_s(ji,jj,:,:), dim=2 ) ) - pdiag_t(ji,jj) ) * r1_Dt_ice & + & + ( hfx_sum(ji,jj) + hfx_bom(ji,jj) + hfx_bog(ji,jj) & + & + hfx_dif(ji,jj) + hfx_opw(ji,jj) + hfx_snw(ji,jj) & + & - hfx_thd(ji,jj) - hfx_dyn(ji,jj) - hfx_res(ji,jj) - hfx_sub(ji,jj) - hfx_spr(ji,jj) ) & + & - pdiag_ft(ji,jj) + END_2D IF( MAXVAL( ABS(zdiag_heat) ) > rchk_t * rn_icechk_cel ) ll_stop_t = .TRUE. ! ! -- other diags -- ! ! a_i < 0 zdiag_amin(:,:) = 0._wp DO jl = 1, jpl - WHERE( a_i(:,:,jl) < 0._wp ) zdiag_amin(:,:) = 1._wp + WHERE( a_i(A2D(0),jl) < 0._wp ) zdiag_amin(:,:) = 1._wp ENDDO ! v_i < 0 zdiag_vmin(:,:) = 0._wp DO jl = 1, jpl - WHERE( v_i(:,:,jl) < 0._wp ) zdiag_vmin(:,:) = 1._wp + WHERE( v_i(A2D(0),jl) < 0._wp ) zdiag_vmin(:,:) = 1._wp ENDDO ! s_i < 0 zdiag_smin(:,:) = 0._wp DO jl = 1, jpl - WHERE( s_i(:,:,jl) < 0._wp ) zdiag_smin(:,:) = 1._wp + WHERE( s_i(A2D(0),jl) < 0._wp ) zdiag_smin(:,:) = 1._wp ENDDO ! e_i < 0 zdiag_emin(:,:) = 0._wp DO jl = 1, jpl DO jk = 1, nlay_i - WHERE( e_i(:,:,jk,jl) < 0._wp ) zdiag_emin(:,:) = 1._wp + WHERE( e_i(A2D(0),jk,jl) < 0._wp ) zdiag_emin(:,:) = 1._wp ENDDO ENDDO ! a_i > amax @@ -751,8 +788,9 @@ CONTAINS !!------------------------------------------------------------------- INTEGER, INTENT(in) :: kt ! ice time-step index ! - REAL(wp), DIMENSION(jpi,jpj,6) :: ztmp - REAL(wp), DIMENSION(6) :: zchk + INTEGER :: ji, jj ! dummy loop index + REAL(wp), DIMENSION(A2D(0),6) :: ztmp + REAL(wp), DIMENSION(6) :: zchk !!------------------------------------------------------------------- ! IF( kt == nit000 .AND. lwp ) THEN @@ -762,25 +800,27 @@ CONTAINS ENDIF ! ! -- 2D budgets (must be close to 0) -- ! - ztmp(:,:,1) = wfx_ice (:,:) + wfx_snw (:,:) + wfx_spr (:,:) + wfx_sub(:,:) + wfx_pnd(:,:) & - & + diag_vice(:,:) + diag_vsnw(:,:) + diag_vpnd(:,:) - diag_adv_mass(:,:) - ztmp(:,:,2) = sfx(:,:) + diag_sice(:,:) - diag_adv_salt(:,:) - ztmp(:,:,3) = qt_oce_ai(:,:) - qt_atm_oi(:,:) + diag_heat(:,:) - diag_adv_heat(:,:) - + DO_2D( 0, 0, 0, 0 ) + ztmp(ji,jj,1) = wfx_ice (ji,jj) + wfx_snw (ji,jj) + wfx_spr (ji,jj) + wfx_sub(ji,jj) + wfx_pnd(ji,jj) & + & + diag_vice(ji,jj) + diag_vsnw(ji,jj) + diag_vpnd(ji,jj) - diag_adv_mass(ji,jj) + ztmp(ji,jj,2) = sfx(ji,jj) + diag_sice(ji,jj) - diag_adv_salt(ji,jj) + ztmp(ji,jj,3) = qt_oce_ai(ji,jj) - qt_atm_oi(ji,jj) + diag_heat(ji,jj) - diag_adv_heat(ji,jj) + END_2D ! write outputs CALL iom_put( 'icedrift_mass', ztmp(:,:,1) ) CALL iom_put( 'icedrift_salt', ztmp(:,:,2) ) CALL iom_put( 'icedrift_heat', ztmp(:,:,3) ) ! -- 1D budgets -- ! - ztmp(:,:,1) = ztmp(:,:,1) * e1e2t * rDt_ice ! mass - ztmp(:,:,2) = ztmp(:,:,2) * e1e2t * rDt_ice * 1.e-3 ! salt - ztmp(:,:,3) = ztmp(:,:,3) * e1e2t ! heat - - ztmp(:,:,4) = diag_adv_mass * e1e2t * rDt_ice - ztmp(:,:,5) = diag_adv_salt * e1e2t * rDt_ice * 1.e-3 - ztmp(:,:,6) = diag_adv_heat * e1e2t - + DO_2D( 0, 0, 0, 0 ) + ztmp(ji,jj,1) = ztmp(ji,jj,1) * e1e2t(ji,jj) * rDt_ice ! mass + ztmp(ji,jj,2) = ztmp(ji,jj,2) * e1e2t(ji,jj) * rDt_ice * 1.e-3 ! salt + ztmp(ji,jj,3) = ztmp(ji,jj,3) * e1e2t(ji,jj) ! heat + + ztmp(ji,jj,4) = diag_adv_mass(ji,jj) * e1e2t(ji,jj) * rDt_ice + ztmp(ji,jj,5) = diag_adv_salt(ji,jj) * e1e2t(ji,jj) * rDt_ice * 1.e-3 + ztmp(ji,jj,6) = diag_adv_heat(ji,jj) * e1e2t(ji,jj) + END_2D ! global sums zchk(1:6) = glob_sum_vec( 'icectl', ztmp(:,:,1:6) ) diff --git a/src/ICE/icedia.F90 b/src/ICE/icedia.F90 index 154d89de1..197a6a6c7 100644 --- a/src/ICE/icedia.F90 +++ b/src/ICE/icedia.F90 @@ -33,6 +33,9 @@ MODULE icedia PUBLIC ice_dia ! called by icestp.F90 PUBLIC ice_dia_init ! called in icestp.F90 + !! * Substitutions +# include "do_loop_substitute.h90" + REAL(wp), SAVE :: r1_area ! inverse of the ocean area REAL(wp), DIMENSION(:,:), ALLOCATABLE :: vol_loc_ini, sal_loc_ini, tem_loc_ini ! initial volume, salt and heat contents REAL(wp) :: frc_sal, frc_voltop, frc_volbot, frc_temtop, frc_tembot ! global forcing trends @@ -48,7 +51,7 @@ CONTAINS !!---------------------------------------------------------------------! !! *** ROUTINE ice_dia_alloc *** !!---------------------------------------------------------------------! - ALLOCATE( vol_loc_ini(jpi,jpj), sal_loc_ini(jpi,jpj), tem_loc_ini(jpi,jpj), STAT=ice_dia_alloc ) + ALLOCATE( vol_loc_ini(A2D(0)), sal_loc_ini(A2D(0)), tem_loc_ini(A2D(0)), STAT=ice_dia_alloc ) CALL mpp_sum ( 'icedia', ice_dia_alloc ) IF( ice_dia_alloc /= 0 ) CALL ctl_stop( 'STOP', 'ice_dia_alloc: failed to allocate arrays' ) @@ -64,8 +67,9 @@ CONTAINS !!--------------------------------------------------------------------------- INTEGER, INTENT(in) :: kt ! ocean time step !! - REAL(wp), DIMENSION(jpi,jpj,16) :: ztmp - REAL(wp), DIMENSION(16) :: zbg + INTEGER :: ji, jj ! dummy loop index + REAL(wp), DIMENSION(A2D(0),16) :: ztmp + REAL(wp), DIMENSION(16) :: zbg !!--------------------------------------------------------------------------- IF( ln_timing ) CALL timing_start('ice_dia') @@ -85,31 +89,32 @@ CONTAINS ! 1 - Trends due to forcing ! ! ---------------------------! ! they must be kept outside an IF(iom_use) because of the call to dia_rst below - ztmp(:,:,1) = - ( wfx_ice(:,:) + wfx_snw(:,:) + wfx_err_sub(:,:) ) * e1e2t(:,:) ! freshwater flux ice/snow-ocean - ztmp(:,:,2) = - ( wfx_sub(:,:) + wfx_spr(:,:) ) * e1e2t(:,:) ! freshwater flux ice/snow-atm - ztmp(:,:,3) = - sfx (:,:) * e1e2t(:,:) ! salt fluxes ice/snow-ocean - ztmp(:,:,4) = qt_atm_oi(:,:) * e1e2t(:,:) ! heat on top of ice-ocean - ztmp(:,:,5) = qt_oce_ai(:,:) * e1e2t(:,:) ! heat on top of ocean (and below ice) - + DO_2D( 0, 0, 0, 0 ) + ztmp(ji,jj,1) = - ( wfx_ice(ji,jj) + wfx_snw(ji,jj) + wfx_err_sub(ji,jj) ) * e1e2t(ji,jj) ! freshwater flux ice/snow-ocean + ztmp(ji,jj,2) = - ( wfx_sub(ji,jj) + wfx_spr(ji,jj) ) * e1e2t(ji,jj) ! freshwater flux ice/snow-atm + ztmp(ji,jj,3) = - sfx (ji,jj) * e1e2t(ji,jj) ! salt fluxes ice/snow-ocean + ztmp(ji,jj,4) = qt_atm_oi(ji,jj) * e1e2t(ji,jj) ! heat on top of ice-ocean + ztmp(ji,jj,5) = qt_oce_ai(ji,jj) * e1e2t(ji,jj) ! heat on top of ocean (and below ice) + END_2D ! ----------------------- ! ! 2 - Contents ! ! ----------------------- ! - IF( iom_use('ibgvol_tot' ) ) ztmp(:,:,6 ) = vt_i (:,:) * e1e2t(:,:) ! ice volume - IF( iom_use('sbgvol_tot' ) ) ztmp(:,:,7 ) = vt_s (:,:) * e1e2t(:,:) ! snow volume - IF( iom_use('ibgarea_tot') ) ztmp(:,:,8 ) = at_i (:,:) * e1e2t(:,:) ! area - IF( iom_use('ibgsalt_tot') ) ztmp(:,:,9 ) = st_i (:,:) * e1e2t(:,:) ! salt content - IF( iom_use('ibgheat_tot') ) ztmp(:,:,10) = et_i (:,:) * e1e2t(:,:) ! heat content - IF( iom_use('sbgheat_tot') ) ztmp(:,:,11) = et_s (:,:) * e1e2t(:,:) ! heat content - IF( iom_use('ipbgvol_tot') ) ztmp(:,:,12) = vt_ip(:,:) * e1e2t(:,:) ! ice pond volume - IF( iom_use('ilbgvol_tot') ) ztmp(:,:,13) = vt_il(:,:) * e1e2t(:,:) ! ice pond lid volume + IF( iom_use('ibgvol_tot' ) ) ztmp(:,:,6 ) = vt_i (A2D(0)) * e1e2t(A2D(0)) ! ice volume + IF( iom_use('sbgvol_tot' ) ) ztmp(:,:,7 ) = vt_s (A2D(0)) * e1e2t(A2D(0)) ! snow volume + IF( iom_use('ibgarea_tot') ) ztmp(:,:,8 ) = at_i (A2D(0)) * e1e2t(A2D(0)) ! area + IF( iom_use('ibgsalt_tot') ) ztmp(:,:,9 ) = st_i (:,:) * e1e2t(A2D(0)) ! salt content + IF( iom_use('ibgheat_tot') ) ztmp(:,:,10) = et_i (:,:) * e1e2t(A2D(0)) ! heat content + IF( iom_use('sbgheat_tot') ) ztmp(:,:,11) = et_s (:,:) * e1e2t(A2D(0)) ! heat content + IF( iom_use('ipbgvol_tot') ) ztmp(:,:,12) = vt_ip(A2D(0)) * e1e2t(A2D(0)) ! ice pond volume + IF( iom_use('ilbgvol_tot') ) ztmp(:,:,13) = vt_il(A2D(0)) * e1e2t(A2D(0)) ! ice pond lid volume ! ---------------------------------- ! ! 3 - Content variations and drifts ! ! ---------------------------------- ! - IF( iom_use('ibgvolume') ) ztmp(:,:,14) = ( rhoi*vt_i(:,:) + rhos*vt_s(:,:) - vol_loc_ini(:,:) ) * e1e2t(:,:) ! freshwater trend - IF( iom_use('ibgsaltco') ) ztmp(:,:,15) = ( rhoi*st_i(:,:) - sal_loc_ini(:,:) ) * e1e2t(:,:) ! salt content trend + IF( iom_use('ibgvolume') ) ztmp(:,:,14) = ( rhoi*vt_i(A2D(0)) + rhos*vt_s(A2D(0)) - vol_loc_ini(:,:) ) * e1e2t(A2D(0)) ! freshwater trend + IF( iom_use('ibgsaltco') ) ztmp(:,:,15) = ( rhoi*st_i(:,:) - sal_loc_ini(:,:) ) * e1e2t(A2D(0)) ! salt content trend IF( iom_use('ibgheatco') .OR. iom_use('ibgheatfx') ) & - & ztmp(:,:,16) = ( et_i(:,:) + et_s(:,:) - tem_loc_ini(:,:) ) * e1e2t(:,:) ! heat content trend + & ztmp(:,:,16) = ( et_i(:,:) + et_s(:,:) - tem_loc_ini(:,:) ) * e1e2t(A2D(0)) ! heat content trend ! global sum zbg(1:16) = glob_sum_vec( 'icedia', ztmp(:,:,1:16) ) @@ -261,9 +266,9 @@ CONTAINS frc_tembot = 0._wp frc_sal = 0._wp ! record initial ice volume, salt and temp - vol_loc_ini(:,:) = rhoi * vt_i(:,:) + rhos * vt_s(:,:) ! ice/snow volume (kg/m2) - tem_loc_ini(:,:) = et_i(:,:) + et_s(:,:) ! ice/snow heat content (J) - sal_loc_ini(:,:) = rhoi * st_i(:,:) ! ice salt content (pss*kg/m2) + vol_loc_ini(:,:) = rhoi * vt_i(A2D(0)) + rhos * vt_s(A2D(0)) ! ice/snow volume (kg/m2) + tem_loc_ini(:,:) = et_i(:,:) + et_s(:,:) ! ice/snow heat content (J) + sal_loc_ini(:,:) = rhoi * st_i(:,:) ! ice salt content (pss*kg/m2) ENDIF ! ELSEIF( TRIM(cdrw) == 'WRITE' ) THEN ! Create restart file diff --git a/src/ICE/icedyn.F90 b/src/ICE/icedyn.F90 index dcbe3e77a..687cd916e 100644 --- a/src/ICE/icedyn.F90 +++ b/src/ICE/icedyn.F90 @@ -93,8 +93,8 @@ CONTAINS ! ! retrieve thickness from volume for landfast param. and UMx advection scheme WHERE( a_i(:,:,:) >= epsi20 ) - h_i(:,:,:) = v_i(:,:,:) / a_i_b(:,:,:) - h_s(:,:,:) = v_s(:,:,:) / a_i_b(:,:,:) + h_i(:,:,:) = v_i(:,:,:) / a_i(:,:,:) + h_s(:,:,:) = v_s(:,:,:) / a_i(:,:,:) ELSEWHERE h_i(:,:,:) = 0._wp h_s(:,:,:) = 0._wp @@ -162,15 +162,12 @@ CONTAINS CASE ( np_dynADV1D , np_dynADV2D ) - ALLOCATE( zdivu_i(jpi,jpj) ) + ALLOCATE( zdivu_i(A2D(0)) ) DO_2D( 0, 0, 0, 0 ) zdivu_i(ji,jj) = ( e2u(ji,jj) * u_ice(ji,jj) - e2u(ji-1,jj) * u_ice(ji-1,jj) & & + e1v(ji,jj) * v_ice(ji,jj) - e1v(ji,jj-1) * v_ice(ji,jj-1) ) * r1_e1e2t(ji,jj) END_2D - CALL lbc_lnk( 'icedyn', zdivu_i, 'T', 1.0_wp ) - ! output CALL iom_put( 'icediv' , zdivu_i ) - DEALLOCATE( zdivu_i ) END SELECT diff --git a/src/ICE/icedyn_adv.F90 b/src/ICE/icedyn_adv.F90 index e2beb79a2..a6d2e9577 100644 --- a/src/ICE/icedyn_adv.F90 +++ b/src/ICE/icedyn_adv.F90 @@ -41,6 +41,8 @@ MODULE icedyn_adv ! ** namelist (namdyn_adv) ** INTEGER :: nn_UMx ! order of the UMx advection scheme ! + !! * Substitutions +# include "do_loop_substitute.h90" !!---------------------------------------------------------------------- !! NEMO/ICE 4.0 , NEMO Consortium (2018) !! $Id: icedyn_adv.F90 13472 2020-09-16 13:05:19Z smasson $ @@ -92,11 +94,11 @@ CONTAINS !------------ ! diagnostics !------------ - diag_trp_ei(:,:) = SUM(SUM( e_i (:,:,1:nlay_i,:) - e_i_b (:,:,1:nlay_i,:), dim=4 ), dim=3 ) * r1_Dt_ice - diag_trp_es(:,:) = SUM(SUM( e_s (:,:,1:nlay_s,:) - e_s_b (:,:,1:nlay_s,:), dim=4 ), dim=3 ) * r1_Dt_ice - diag_trp_sv(:,:) = SUM( sv_i(:,:,:) - sv_i_b(:,:,:) , dim=3 ) * r1_Dt_ice - diag_trp_vi(:,:) = SUM( v_i (:,:,:) - v_i_b (:,:,:) , dim=3 ) * r1_Dt_ice - diag_trp_vs(:,:) = SUM( v_s (:,:,:) - v_s_b (:,:,:) , dim=3 ) * r1_Dt_ice + diag_trp_ei(:,:) = SUM(SUM( e_i (A2D(0),1:nlay_i,:) - e_i_b (A2D(0),1:nlay_i,:), dim=4 ), dim=3 ) * r1_Dt_ice + diag_trp_es(:,:) = SUM(SUM( e_s (A2D(0),1:nlay_s,:) - e_s_b (A2D(0),1:nlay_s,:), dim=4 ), dim=3 ) * r1_Dt_ice + diag_trp_sv(:,:) = SUM( sv_i(A2D(0),:) - sv_i_b(A2D(0),:) , dim=3 ) * r1_Dt_ice + diag_trp_vi(:,:) = SUM( v_i (A2D(0),:) - v_i_b (A2D(0),:) , dim=3 ) * r1_Dt_ice + diag_trp_vs(:,:) = SUM( v_s (A2D(0),:) - v_s_b (A2D(0),:) , dim=3 ) * r1_Dt_ice IF( iom_use('icemtrp') ) CALL iom_put( 'icemtrp' , diag_trp_vi * rhoi ) ! ice mass transport IF( iom_use('snwmtrp') ) CALL iom_put( 'snwmtrp' , diag_trp_vs * rhos ) ! snw mass transport IF( iom_use('salmtrp') ) CALL iom_put( 'salmtrp' , diag_trp_sv * rhoi * 1.e-03 ) ! salt mass transport (kg/m2/s) diff --git a/src/ICE/icedyn_adv_pra.F90 b/src/ICE/icedyn_adv_pra.F90 index 28c12eb81..54a90afdc 100644 --- a/src/ICE/icedyn_adv_pra.F90 +++ b/src/ICE/icedyn_adv_pra.F90 @@ -89,7 +89,7 @@ CONTAINS INTEGER :: icycle ! number of sub-timestep for the advection REAL(wp) :: zdt, z1_dt ! - - REAL(wp), DIMENSION(1) :: zcflprv, zcflnow ! for global communication - REAL(wp), DIMENSION(jpi,jpj) :: zati1, zati2 + REAL(wp), DIMENSION(A2D(0)) :: zati1, zati2 REAL(wp), DIMENSION(jpi,jpj) :: zudy, zvdx REAL(wp), DIMENSION(jpi,jpj,jpl) :: zhi_max, zhs_max, zhip_max, zs_i, zsi_max REAL(wp), DIMENSION(jpi,jpj,nlay_i,jpl) :: ze_i, zei_max @@ -100,7 +100,7 @@ CONTAINS REAL(wp), DIMENSION(jpi,jpj,nlay_s,jpl) :: z0es REAL(wp), DIMENSION(jpi,jpj,nlay_i,jpl) :: z0ei !! diagnostics - REAL(wp), DIMENSION(jpi,jpj) :: zdiag_adv_mass, zdiag_adv_salt, zdiag_adv_heat + REAL(wp), DIMENSION(A2D(0)) :: zdiag_adv_mass, zdiag_adv_salt, zdiag_adv_heat !!---------------------------------------------------------------------- ! IF( kt == nit000 .AND. lwp ) WRITE(numout,*) '-- ice_dyn_adv_pra: Prather advection scheme' @@ -129,8 +129,7 @@ CONTAINS END DO CALL icemax4D( ze_i , zei_max ) CALL icemax4D( ze_s , zes_max ) - CALL lbc_lnk( 'icedyn_adv_pra', zei_max, 'T', 1._wp ) - CALL lbc_lnk( 'icedyn_adv_pra', zes_max, 'T', 1._wp ) + CALL lbc_lnk( 'icedyn_adv_pra', zei_max, 'T', 1._wp, zes_max, 'T', 1._wp ) ! ! ! --- If ice drift is too fast, use subtime steps for advection (CFL test for stability) --- ! @@ -155,14 +154,14 @@ CONTAINS DO jt = 1, icycle ! diagnostics - zdiag_adv_mass(:,:) = SUM( pv_i (:,:,:) , dim=3 ) * rhoi + SUM( pv_s (:,:,:) , dim=3 ) * rhos & - & + SUM( pv_ip(:,:,:) , dim=3 ) * rhow + SUM( pv_il(:,:,:) , dim=3 ) * rhow - zdiag_adv_salt(:,:) = SUM( psv_i(:,:,:) , dim=3 ) * rhoi - zdiag_adv_heat(:,:) = - SUM(SUM( pe_i(:,:,1:nlay_i,:) , dim=4 ), dim=3 ) & - & - SUM(SUM( pe_s(:,:,1:nlay_s,:) , dim=4 ), dim=3 ) + zdiag_adv_mass(:,:) = SUM( pv_i (A2D(0),:) , dim=3 ) * rhoi + SUM( pv_s (A2D(0),:) , dim=3 ) * rhos & + & + SUM( pv_ip(A2D(0),:) , dim=3 ) * rhow + SUM( pv_il(A2D(0),:) , dim=3 ) * rhow + zdiag_adv_salt(:,:) = SUM( psv_i(A2D(0),:) , dim=3 ) * rhoi + zdiag_adv_heat(:,:) = - SUM(SUM( pe_i(A2D(0),1:nlay_i,:) , dim=4 ), dim=3 ) & + & - SUM(SUM( pe_s(A2D(0),1:nlay_s,:) , dim=4 ), dim=3 ) ! record at_i before advection (for open water) - zati1(:,:) = SUM( pa_i(:,:,:), dim=3 ) + zati1(:,:) = SUM( pa_i(A2D(0),:), dim=3 ) ! --- transported fields --- ! DO jl = 1, jpl @@ -275,8 +274,8 @@ CONTAINS & , z0oi , 'T', 1._wp, sxage , 'T', -1._wp, syage , 'T', -1._wp & ! ice age & , sxxage, 'T', 1._wp, syyage, 'T', 1._wp, sxyage, 'T', 1._wp ) CALL lbc_lnk( 'icedyn_adv_pra', z0es , 'T', 1._wp, sxc0 , 'T', -1._wp, syc0 , 'T', -1._wp & ! snw enthalpy - & , sxxc0 , 'T', 1._wp, syyc0 , 'T', 1._wp, sxyc0 , 'T', 1._wp ) - CALL lbc_lnk( 'icedyn_adv_pra', z0ei , 'T', 1._wp, sxe , 'T', -1._wp, sye , 'T', -1._wp & ! ice enthalpy + & , sxxc0 , 'T', 1._wp, syyc0 , 'T', 1._wp, sxyc0 , 'T', 1._wp & + & , z0ei , 'T', 1._wp, sxe , 'T', -1._wp, sye , 'T', -1._wp & ! ice enthalpy & , sxxe , 'T', 1._wp, syye , 'T', 1._wp, sxye , 'T', 1._wp ) IF ( ln_pnd_LEV .OR. ln_pnd_TOPO ) THEN IF( ln_pnd_lids ) THEN @@ -317,7 +316,7 @@ CONTAINS END DO ! ! derive open water from ice concentration - zati2(:,:) = SUM( pa_i(:,:,:), dim=3 ) + zati2(:,:) = SUM( pa_i(A2D(0),:), dim=3 ) DO_2D( 0, 0, 0, 0 ) pato_i(ji,jj) = pato_i(ji,jj) - ( zati2(ji,jj) - zati1(ji,jj) ) & !--- open water & - ( zudy(ji,jj) - zudy(ji-1,jj) + zvdx(ji,jj) - zvdx(ji,jj-1) ) * r1_e1e2t(ji,jj) * zdt @@ -325,13 +324,13 @@ CONTAINS CALL lbc_lnk( 'icedyn_adv_pra', pato_i, 'T', 1.0_wp ) ! ! --- diagnostics --- ! - diag_adv_mass(:,:) = diag_adv_mass(:,:) + ( SUM( pv_i (:,:,:) , dim=3 ) * rhoi + SUM( pv_s (:,:,:) , dim=3 ) * rhos & - & + SUM( pv_ip(:,:,:) , dim=3 ) * rhow + SUM( pv_il(:,:,:) , dim=3 ) * rhow & + diag_adv_mass(:,:) = diag_adv_mass(:,:) + ( SUM( pv_i (A2D(0),:) , dim=3 ) * rhoi + SUM( pv_s (A2D(0),:) , dim=3 ) * rhos & + & + SUM( pv_ip(A2D(0),:) , dim=3 ) * rhow + SUM( pv_il(A2D(0),:) , dim=3 ) * rhow & & - zdiag_adv_mass(:,:) ) * z1_dt - diag_adv_salt(:,:) = diag_adv_salt(:,:) + ( SUM( psv_i(:,:,:) , dim=3 ) * rhoi & + diag_adv_salt(:,:) = diag_adv_salt(:,:) + ( SUM( psv_i(A2D(0),:) , dim=3 ) * rhoi & & - zdiag_adv_salt(:,:) ) * z1_dt - diag_adv_heat(:,:) = diag_adv_heat(:,:) + ( - SUM(SUM( pe_i(:,:,1:nlay_i,:) , dim=4 ), dim=3 ) & - & - SUM(SUM( pe_s(:,:,1:nlay_s,:) , dim=4 ), dim=3 ) & + diag_adv_heat(:,:) = diag_adv_heat(:,:) + ( - SUM(SUM( pe_i(A2D(0),1:nlay_i,:) , dim=4 ), dim=3 ) & + & - SUM(SUM( pe_s(A2D(0),1:nlay_s,:) , dim=4 ), dim=3 ) & & - zdiag_adv_heat(:,:) ) * z1_dt ! ! --- Ensure non-negative fields --- ! diff --git a/src/ICE/icedyn_adv_umx.F90 b/src/ICE/icedyn_adv_umx.F90 index e5113ac90..d46b056b8 100644 --- a/src/ICE/icedyn_adv_umx.F90 +++ b/src/ICE/icedyn_adv_umx.F90 @@ -104,7 +104,7 @@ CONTAINS ! REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: zuv_ho, zvv_ho, zuv_ups, zvv_ups, z1_vi, z1_vs !! diagnostics - REAL(wp), DIMENSION(jpi,jpj) :: zdiag_adv_mass, zdiag_adv_salt, zdiag_adv_heat + REAL(wp), DIMENSION(A2D(0)) :: zdiag_adv_mass, zdiag_adv_salt, zdiag_adv_heat !!---------------------------------------------------------------------- ! IF( kt == nit000 .AND. lwp ) WRITE(numout,*) '-- ice_dyn_adv_umx: Ultimate-Macho advection scheme' @@ -133,8 +133,7 @@ CONTAINS END DO CALL icemax4D( ze_i , zei_max ) CALL icemax4D( ze_s , zes_max ) - CALL lbc_lnk( 'icedyn_adv_umx', zei_max, 'T', 1._wp ) - CALL lbc_lnk( 'icedyn_adv_umx', zes_max, 'T', 1._wp ) + CALL lbc_lnk( 'icedyn_adv_umx', zei_max, 'T', 1._wp, zes_max, 'T', 1._wp ) ! ! ! --- If ice drift is too fast, use subtime steps for advection (CFL test for stability) --- ! @@ -182,11 +181,11 @@ CONTAINS DO jt = 1, icycle ! diagnostics - zdiag_adv_mass(:,:) = SUM( pv_i (:,:,:) , dim=3 ) * rhoi + SUM( pv_s (:,:,:) , dim=3 ) * rhos & - & + SUM( pv_ip(:,:,:) , dim=3 ) * rhow + SUM( pv_il(:,:,:) , dim=3 ) * rhow - zdiag_adv_salt(:,:) = SUM( psv_i(:,:,:) , dim=3 ) * rhoi - zdiag_adv_heat(:,:) = - SUM(SUM( pe_i(:,:,1:nlay_i,:) , dim=4 ), dim=3 ) & - & - SUM(SUM( pe_s(:,:,1:nlay_s,:) , dim=4 ), dim=3 ) + zdiag_adv_mass(:,:) = SUM( pv_i (A2D(0),:) , dim=3 ) * rhoi + SUM( pv_s (A2D(0),:) , dim=3 ) * rhos & + & + SUM( pv_ip(A2D(0),:) , dim=3 ) * rhow + SUM( pv_il(A2D(0),:) , dim=3 ) * rhow + zdiag_adv_salt(:,:) = SUM( psv_i(A2D(0),:) , dim=3 ) * rhoi + zdiag_adv_heat(:,:) = - SUM(SUM( pe_i(A2D(0),1:nlay_i,:) , dim=4 ), dim=3 ) & + & - SUM(SUM( pe_s(A2D(0),1:nlay_s,:) , dim=4 ), dim=3 ) ! record at_i before advection (for open water) zati1(:,:) = SUM( pa_i(:,:,:), dim=3 ) @@ -370,8 +369,7 @@ CONTAINS ELSE CALL lbc_lnk( 'icedyn_adv_umx', pa_i,'T',1._wp, pv_i,'T',1._wp, pv_s,'T',1._wp, psv_i,'T',1._wp, poa_i,'T',1._wp ) ENDIF - CALL lbc_lnk( 'icedyn_adv_umx', pe_i, 'T', 1._wp ) - CALL lbc_lnk( 'icedyn_adv_umx', pe_s, 'T', 1._wp ) + CALL lbc_lnk( 'icedyn_adv_umx', pe_i, 'T', 1._wp, pe_s, 'T', 1._wp ) ! !== Open water area ==! zati2(:,:) = SUM( pa_i(:,:,:), dim=3 ) @@ -382,13 +380,13 @@ CONTAINS CALL lbc_lnk( 'icedyn_adv_umx', pato_i, 'T', 1._wp ) ! ! --- diagnostics --- ! - diag_adv_mass(:,:) = diag_adv_mass(:,:) + ( SUM( pv_i (:,:,:) , dim=3 ) * rhoi + SUM( pv_s (:,:,:) , dim=3 ) * rhos & - & + SUM( pv_ip(:,:,:) , dim=3 ) * rhow + SUM( pv_il(:,:,:) , dim=3 ) * rhow & + diag_adv_mass(:,:) = diag_adv_mass(:,:) + ( SUM( pv_i (A2D(0),:) , dim=3 ) * rhoi + SUM( pv_s (A2D(0),:) , dim=3 ) * rhos & + & + SUM( pv_ip(A2D(0),:) , dim=3 ) * rhow + SUM( pv_il(A2D(0),:) , dim=3 ) * rhow & & - zdiag_adv_mass(:,:) ) * z1_dt - diag_adv_salt(:,:) = diag_adv_salt(:,:) + ( SUM( psv_i(:,:,:) , dim=3 ) * rhoi & + diag_adv_salt(:,:) = diag_adv_salt(:,:) + ( SUM( psv_i(A2D(0),:) , dim=3 ) * rhoi & & - zdiag_adv_salt(:,:) ) * z1_dt - diag_adv_heat(:,:) = diag_adv_heat(:,:) + ( - SUM(SUM( pe_i(:,:,1:nlay_i,:) , dim=4 ), dim=3 ) & - & - SUM(SUM( pe_s(:,:,1:nlay_s,:) , dim=4 ), dim=3 ) & + diag_adv_heat(:,:) = diag_adv_heat(:,:) + ( - SUM(SUM( pe_i(A2D(0),1:nlay_i,:) , dim=4 ), dim=3 ) & + & - SUM(SUM( pe_s(A2D(0),1:nlay_s,:) , dim=4 ), dim=3 ) & & - zdiag_adv_heat(:,:) ) * z1_dt ! ! --- Ensure non-negative fields and in-bound thicknesses --- ! diff --git a/src/ICE/icedyn_rdgrft.F90 b/src/ICE/icedyn_rdgrft.F90 index 661748ea3..edf8f8215 100644 --- a/src/ICE/icedyn_rdgrft.F90 +++ b/src/ICE/icedyn_rdgrft.F90 @@ -174,7 +174,7 @@ CONTAINS ! npti = 0 ; nptidx(:) = 0 ipti = 0 ; iptidx(:) = 0 - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) IF ( at_i(ji,jj) > epsi10 ) THEN npti = npti + 1 nptidx( npti ) = (jj - 1) * jpi + ji @@ -280,8 +280,15 @@ CONTAINS CALL ice_dyn_1d2d( 2 ) ! --- Move to 2D arrays --- ! ENDIF + ! clem: the 3 lbc below could be avoided if calculations above were performed over the full domain + ! but we think it is more efficient this way => to check? + CALL lbc_lnk( 'icedyn_rdgrft', ato_i , 'T', 1._wp ) + CALL lbc_lnk( 'icedyn_rdgrft', a_i , 'T', 1._wp, v_i , 'T', 1._wp, v_s , 'T', 1._wp, sv_i, 'T', 1._wp, oa_i, 'T', 1._wp, & + & a_ip , 'T', 1._wp, v_ip, 'T', 1._wp, v_il, 'T', 1._wp ) + CALL lbc_lnk( 'icedyn_rdgrft', e_i , 'T', 1._wp, e_s , 'T', 1._wp ) - CALL ice_var_agg( 1 ) + ! clem: I think we can comment this line but I am not sure it does not change results +!!$ CALL ice_var_agg( 1 ) ! controls IF( sn_cfctl%l_prtctl ) CALL ice_prt3D('icedyn_rdgrft') ! prints @@ -861,7 +868,8 @@ CONTAINS !!---------------------------------------------------------------------- INTEGER :: ji, jj, jl ! dummy loop indices REAL(wp) :: z1_3 ! local scalars - REAL(wp), DIMENSION(jpi,jpj) :: zmsk, zworka ! temporary array used here + REAL(wp), DIMENSION(A2D(0)) :: zworka ! temporary array used here + REAL(wp), DIMENSION(jpi,jpj) :: zmsk ! temporary array used here !! LOGICAL :: ln_str_R75 REAL(wp) :: zhi, zcp @@ -886,7 +894,7 @@ CONTAINS ! ! Identify grid cells with ice npti = 0 ; nptidx(:) = 0 - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) IF ( at_i(ji,jj) > epsi10 ) THEN npti = npti + 1 nptidx( npti ) = (jj - 1) * jpi + ji @@ -956,12 +964,20 @@ CONTAINS CALL tab_1d_2d( npti, nptidx(1:npti), zstrength(1:npti), strength ) ! ENDIF + CALL lbc_lnk( 'icedyn_rdgrft', strength, 'T', 1.0_wp ) ! this call could be removed if calculations were done on the full domain + ! ! but we decided it is more efficient this way ! CASE ( np_strh79 ) !== Hibler(1979)'s method ==! - strength(:,:) = rn_pstar * SUM( v_i(:,:,:), dim=3 ) * EXP( -rn_crhg * ( 1._wp - at_i(:,:) ) ) * zmsk(:,:) + ! + DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + strength(ji,jj) = rn_pstar * SUM( v_i(ji,jj,:) ) * EXP( -rn_crhg * ( 1._wp - at_i(ji,jj) ) ) * zmsk(ji,jj) + END_2D ! CASE ( np_strcst ) !== Constant strength ==! - strength(:,:) = rn_str * zmsk(:,:) + ! + DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + strength(ji,jj) = rn_str * zmsk(ji,jj) + END_2D ! END SELECT ! diff --git a/src/ICE/icedyn_rhg_eap.F90 b/src/ICE/icedyn_rhg_eap.F90 index 797ceba71..7f3ac9e9a 100644 --- a/src/ICE/icedyn_rhg_eap.F90 +++ b/src/ICE/icedyn_rhg_eap.F90 @@ -352,7 +352,6 @@ CONTAINS zvCr = at_i(ji,jj) * rn_lf_depfra * ht(ji,jj) * ( 1._wp - icb_mask(ji,jj) ) ! if grounded icebergs are read: ocean depth = 0 tau_icebfr(ji,jj) = - rn_lf_bfr * MAX( 0._wp, vt_i(ji,jj) - zvCr ) * EXP( -rn_crhg * ( 1._wp - at_i(ji,jj) ) ) END_2D - CALL lbc_lnk( 'icedyn_rhg_eap', tau_icebfr(:,:), 'T', 1.0_wp ) ! ELSE !-- no landfast DO_2D( 0, 0, 0, 0 ) @@ -810,9 +809,6 @@ CONTAINS IF( iom_use('utau_oi') .OR. iom_use('vtau_oi') .OR. iom_use('utau_ai') .OR. iom_use('vtau_ai') .OR. & & iom_use('utau_bi') .OR. iom_use('vtau_bi') ) THEN ! - CALL lbc_lnk( 'icedyn_rhg_eap', ztaux_oi, 'U', -1.0_wp, ztauy_oi, 'V', -1.0_wp, ztaux_ai, 'U', -1.0_wp, & - & ztauy_ai, 'V', -1.0_wp, ztaux_bi, 'U', -1.0_wp, ztauy_bi, 'V', -1.0_wp ) - ! CALL iom_put( 'utau_oi' , ztaux_oi * zmsk00 ) CALL iom_put( 'vtau_oi' , ztauy_oi * zmsk00 ) CALL iom_put( 'utau_ai' , ztaux_ai * zmsk00 ) @@ -894,9 +890,6 @@ CONTAINS ! --- yieldcurve --- ! IF( iom_use('yield11') .OR. iom_use('yield12') .OR. iom_use('yield22')) THEN - - CALL lbc_lnk( 'icedyn_rhg_eap', zyield11, 'T', 1.0_wp, zyield22, 'T', 1.0_wp, zyield12, 'T', 1.0_wp ) - CALL iom_put( 'yield11', zyield11 * zmsk00 ) CALL iom_put( 'yield22', zyield22 * zmsk00 ) CALL iom_put( 'yield12', zyield12 * zmsk00 ) @@ -904,18 +897,12 @@ CONTAINS ! --- anisotropy tensor --- ! IF( iom_use('aniso') ) THEN - CALL lbc_lnk( 'icedyn_rhg_eap', paniso_11, 'T', 1.0_wp ) CALL iom_put( 'aniso' , paniso_11 * zmsk00 ) ENDIF ! --- SIMIP --- ! IF( iom_use('dssh_dx') .OR. iom_use('dssh_dy') .OR. & & iom_use('corstrx') .OR. iom_use('corstry') .OR. iom_use('intstrx') .OR. iom_use('intstry') ) THEN - ! - CALL lbc_lnk( 'icedyn_rhg_eap', zspgU, 'U', -1.0_wp, zspgV, 'V', -1.0_wp, & - & zCorU, 'U', -1.0_wp, zCorV, 'V', -1.0_wp, & - & zfU, 'U', -1.0_wp, zfV, 'V', -1.0_wp ) - CALL iom_put( 'dssh_dx' , zspgU * zmsk00 ) ! Sea-surface tilt term in force balance (x) CALL iom_put( 'dssh_dy' , zspgV * zmsk00 ) ! Sea-surface tilt term in force balance (y) CALL iom_put( 'corstrx' , zCorU * zmsk00 ) ! Coriolis force term in force balance (x) @@ -946,10 +933,6 @@ CONTAINS END_2D - CALL lbc_lnk( 'icedyn_rhg_eap', zdiag_xmtrp_ice, 'U', -1.0_wp, zdiag_ymtrp_ice, 'V', -1.0_wp, & - & zdiag_xmtrp_snw, 'U', -1.0_wp, zdiag_ymtrp_snw, 'V', -1.0_wp, & - & zdiag_xatrp , 'U', -1.0_wp, zdiag_yatrp , 'V', -1.0_wp ) - CALL iom_put( 'xmtrpice' , zdiag_xmtrp_ice ) ! X-component of sea-ice mass transport (kg/s) CALL iom_put( 'ymtrpice' , zdiag_ymtrp_ice ) ! Y-component of sea-ice mass transport CALL iom_put( 'xmtrpsnw' , zdiag_xmtrp_snw ) ! X-component of snow mass transport (kg/s) diff --git a/src/ICE/icedyn_rhg_evp.F90 b/src/ICE/icedyn_rhg_evp.F90 index a260797a2..9e367e52a 100644 --- a/src/ICE/icedyn_rhg_evp.F90 +++ b/src/ICE/icedyn_rhg_evp.F90 @@ -114,10 +114,10 @@ CONTAINS !! Bouillon et al., Ocean Modelling 2013 !! Kimmritz et al., Ocean Modelling 2016 & 2017 !!------------------------------------------------------------------- - INTEGER , INTENT(in ) :: kt ! time step - INTEGER , INTENT(in ) :: Kmm ! ocean time level index - REAL(wp), DIMENSION(:,:), INTENT(inout) :: pstress1_i, pstress2_i, pstress12_i ! - REAL(wp), DIMENSION(:,:), INTENT( out) :: pshear_i , pdivu_i , pdelta_i ! + INTEGER , INTENT(in ) :: kt ! time step + INTEGER , INTENT(in ) :: Kmm ! ocean time level index + REAL(wp), DIMENSION(:,:) , INTENT(inout) :: pstress1_i, pstress2_i, pstress12_i ! + REAL(wp), DIMENSION(A2D(0)), INTENT( out) :: pshear_i , pdivu_i , pdelta_i ! !! INTEGER :: ji, jj ! dummy loop indices INTEGER :: jter ! local integers @@ -135,38 +135,39 @@ CONTAINS ! REAL(wp) :: zfac_x, zfac_y ! - REAL(wp), DIMENSION(jpi,jpj) :: zdelta, zp_delt ! delta and P/delta at T points - REAL(wp), DIMENSION(jpi,jpj) :: zbeta ! beta coef from Kimmritz 2017 + REAL(wp), DIMENSION(jpi,jpj) :: zdelta, zp_delt ! delta, P/delta at T points + REAL(wp), DIMENSION(jpi,jpj) :: zbeta ! beta coef from Kimmritz 2017 ! - REAL(wp), DIMENSION(jpi,jpj) :: zdt_m ! (dt / ice-snow_mass) on T points - REAL(wp), DIMENSION(jpi,jpj) :: zaU , zaV ! ice fraction on U/V points - REAL(wp), DIMENSION(jpi,jpj) :: zmU_t, zmV_t ! (ice-snow_mass / dt) on U/V points - REAL(wp), DIMENSION(jpi,jpj) :: zmf ! coriolis parameter at T points - REAL(wp), DIMENSION(jpi,jpj) :: v_oceU, u_oceV, v_iceU, u_iceV ! ocean/ice u/v component on V/U points + REAL(wp), DIMENSION(jpi,jpj) :: zdt_m ! (dt / ice-snow_mass) on T points + REAL(wp), DIMENSION(A2D(nn_hls-1)) :: zaU , zaV ! ice fraction on U/V points + REAL(wp), DIMENSION(A2D(nn_hls-1)) :: zmU_t, zmV_t ! (ice-snow_mass / dt) on U/V points + REAL(wp), DIMENSION(jpi,jpj) :: zmf ! coriolis parameter at T points + REAL(wp), DIMENSION(A2D(nn_hls-1)) :: v_oceU, u_oceV, v_iceU, u_iceV ! ocean/ice u/v component on V/U points ! - REAL(wp), DIMENSION(jpi,jpj) :: zds ! shear - REAL(wp), DIMENSION(jpi,jpj) :: zten_i, zshear ! tension, shear - REAL(wp), DIMENSION(jpi,jpj) :: zs1, zs2, zs12 ! stress tensor components - REAL(wp), DIMENSION(jpi,jpj) :: zsshdyn ! array used for the calculation of ice surface slope: - ! ! ocean surface (ssh_m) if ice is not embedded - ! ! ice bottom surface if ice is embedded - REAL(wp), DIMENSION(jpi,jpj) :: zfU , zfV ! internal stresses - REAL(wp), DIMENSION(jpi,jpj) :: zspgU, zspgV ! surface pressure gradient at U/V points - REAL(wp), DIMENSION(jpi,jpj) :: zCorU, zCorV ! Coriolis stress array - REAL(wp), DIMENSION(jpi,jpj) :: ztaux_ai, ztauy_ai ! ice-atm. stress at U-V points - REAL(wp), DIMENSION(jpi,jpj) :: ztaux_oi, ztauy_oi ! ice-ocean stress at U-V points - REAL(wp), DIMENSION(jpi,jpj) :: ztaux_bi, ztauy_bi ! ice-OceanBottom stress at U-V points (landfast) - REAL(wp), DIMENSION(jpi,jpj) :: ztaux_base, ztauy_base ! ice-bottom stress at U-V points (landfast) + REAL(wp), DIMENSION(jpi,jpj) :: zds ! shear + REAL(wp), DIMENSION(A2D(0)) :: zten_i, zshear ! tension, shear + REAL(wp), DIMENSION(jpi,jpj) :: zs1, zs2, zs12 ! stress tensor components + REAL(wp), DIMENSION(jpi,jpj) :: zsshdyn ! array used for the calculation of ice surface slope: + ! ! ocean surface (ssh_m) if ice is not embedded + ! ! ice bottom surface if ice is embedded + REAL(wp), DIMENSION(A2D(nn_hls-1)) :: zfU , zfV ! internal stresses + REAL(wp), DIMENSION(A2D(nn_hls-1)) :: zspgU, zspgV ! surface pressure gradient at U/V points + REAL(wp), DIMENSION(A2D(nn_hls-1)) :: zCorU, zCorV ! Coriolis stress array + REAL(wp), DIMENSION(A2D(nn_hls-1)) :: ztaux_ai, ztauy_ai ! ice-atm. stress at U-V points + REAL(wp), DIMENSION(A2D(nn_hls-1)) :: ztaux_oi, ztauy_oi ! ice-ocean stress at U-V points + REAL(wp), DIMENSION(A2D(nn_hls-1)) :: ztaux_bi, ztauy_bi ! ice-OceanBottom stress at U-V points (landfast) + REAL(wp), DIMENSION(A2D(nn_hls-1)) :: ztaux_base, ztauy_base ! ice-bottom stress at U-V points (landfast) ! - REAL(wp), DIMENSION(jpi,jpj) :: zmsk, zmsk00, zmsk15 - REAL(wp), DIMENSION(jpi,jpj) :: zmsk01x, zmsk01y ! dummy arrays - REAL(wp), DIMENSION(jpi,jpj) :: zmsk00x, zmsk00y ! mask for ice presence + REAL(wp), DIMENSION(jpi,jpj) :: zmsk + REAL(wp), DIMENSION(A2D(nn_hls-1)) :: zmsk01x, zmsk01y ! dummy arrays + REAL(wp), DIMENSION(A2D(nn_hls-1)) :: zmsk00x, zmsk00y ! mask for ice presence REAL(wp), PARAMETER :: zepsi = 1.0e-20_wp ! tolerance parameter REAL(wp), PARAMETER :: zmmin = 1._wp ! ice mass (kg/m2) below which ice velocity becomes very small REAL(wp), PARAMETER :: zamin = 0.001_wp ! ice concentration below which ice velocity becomes very small !! --- check convergence - REAL(wp), DIMENSION(jpi,jpj) :: zu_ice, zv_ice + REAL(wp), DIMENSION(A2D(0)) :: zmsk00, zmsk15 + REAL(wp), DIMENSION(A2D(0)) :: zu_ice, zv_ice !! --- diags REAL(wp) :: zsig1, zsig2, zsig12, zfac, z1_strength REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: zsig_I, zsig_II, zsig1_p, zsig2_p @@ -186,13 +187,15 @@ CONTAINS IF( kt == nit000 .AND. lwp ) WRITE(numout,*) '-- ice_dyn_rhg_evp: EVP sea-ice rheology' ! - ! for diagnostics and convergence tests DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) - zmsk00(ji,jj) = MAX( 0._wp , SIGN( 1._wp , at_i(ji,jj) - epsi06 ) ) ! 1 if ice , 0 if no ice - zmsk (ji,jj) = MAX( 0._wp , SIGN( 1._wp , at_i(ji,jj) - epsi10 ) ) ! 1 if ice , 0 if no ice + zmsk (ji,jj) = MAX( 0._wp , SIGN( 1._wp , at_i(ji,jj) - epsi10 ) ) ! 1 if ice , 0 if no ice + END_2D + ! for diagnostics and convergence tests + DO_2D( 0, 0, 0, 0 ) + zmsk00(ji,jj) = MAX( 0._wp , SIGN( 1._wp , at_i(ji,jj) - epsi06 ) ) ! 1 if ice , 0 if no ice END_2D IF( nn_rhg_chkcvg > 0 ) THEN - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) zmsk15(ji,jj) = MAX( 0._wp , SIGN( 1._wp , at_i(ji,jj) - 0.15_wp ) ) ! 1 if 15% ice, 0 if less END_2D ENDIF @@ -265,6 +268,7 @@ CONTAINS DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) zm1 = ( rhos * vt_s(ji,jj) + rhoi * vt_i(ji,jj) ) ! Ice/snow mass at U-V points +!!$ zm1 = ( rhos * vt_s(ji,jj) + rhoi * vt_i(ji,jj) + rhow * (vt_ip(ji,jj) + vt_il(ji,jj)) ) ! clem: this should replace the above zmf (ji,jj) = zm1 * ff_t(ji,jj) ! Coriolis at T points (m*f) zdt_m(ji,jj) = zdtevp / MAX( zm1, zmmin ) ! dt/m at T points (for alpha and beta coefficients) END_2D @@ -277,8 +281,11 @@ CONTAINS ! Ice/snow mass at U-V points zm1 = ( rhos * vt_s(ji ,jj ) + rhoi * vt_i(ji ,jj ) ) +!!$ zm1 = ( rhos * vt_s(ji ,jj ) + rhoi * vt_i(ji ,jj ) + rhow * (vt_ip(ji ,jj ) + vt_il(ji ,jj )) ) ! clem: this should replace the above zm2 = ( rhos * vt_s(ji+1,jj ) + rhoi * vt_i(ji+1,jj ) ) +!!$ zm2 = ( rhos * vt_s(ji+1,jj ) + rhoi * vt_i(ji+1,jj ) + rhow * (vt_ip(ji+1,jj ) + vt_il(ji+1,jj )) ) ! clem: this should replace the above zm3 = ( rhos * vt_s(ji ,jj+1) + rhoi * vt_i(ji ,jj+1) ) +!!$ zm3 = ( rhos * vt_s(ji ,jj+1) + rhoi * vt_i(ji ,jj+1) + rhow * (vt_ip(ji ,jj+1) + vt_il(ji ,jj+1)) ) ! clem: this should replace the above zmassU = 0.5_wp * ( zm1 * e1e2t(ji,jj) + zm2 * e1e2t(ji+1,jj) ) * r1_e1e2u(ji,jj) * umask(ji,jj,1) zmassV = 0.5_wp * ( zm1 * e1e2t(ji,jj) + zm3 * e1e2t(ji,jj+1) ) * r1_e1e2v(ji,jj) * vmask(ji,jj,1) @@ -328,11 +335,12 @@ CONTAINS ! ice-bottom stress at V points zvCr = zaV(ji,jj) * rn_lf_depfra * hv(ji,jj,Kmm) * ( 1._wp - icb_mask(ji,jj) ) ! if grounded icebergs are read: ocean depth = 0 ztauy_base(ji,jj) = - rn_lf_bfr * MAX( 0._wp, zvV - zvCr ) * EXP( -rn_crhg * ( 1._wp - zaV(ji,jj) ) ) + END_2D + DO_2D( 0, 0, 0, 0 ) ! ice_bottom stress at T points zvCr = at_i(ji,jj) * rn_lf_depfra * ht(ji,jj) * ( 1._wp - icb_mask(ji,jj) ) ! if grounded icebergs are read: ocean depth = 0 tau_icebfr(ji,jj) = - rn_lf_bfr * MAX( 0._wp, vt_i(ji,jj) - zvCr ) * EXP( -rn_crhg * ( 1._wp - at_i(ji,jj) ) ) END_2D - CALL lbc_lnk( 'icedyn_rhg_evp', tau_icebfr(:,:), 'T', 1.0_wp ) ! ELSE !-- no landfast DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) @@ -352,7 +360,7 @@ CONTAINS ! ! convergence test IF( nn_rhg_chkcvg == 1 .OR. nn_rhg_chkcvg == 2 ) THEN - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) zu_ice(ji,jj) = u_ice(ji,jj) * umask(ji,jj,1) ! velocity at previous time step zv_ice(ji,jj) = v_ice(ji,jj) * vmask(ji,jj,1) END_2D @@ -722,7 +730,7 @@ CONTAINS ! ! ==================== ! END DO ! end loop over jter ! ! ! ==================== ! - IF( ln_aEVP ) CALL iom_put( 'beta_evp' , zbeta ) + IF( ln_aEVP ) CALL iom_put( 'beta_evp' , zbeta(A2D(0)) ) ! IF( ll_advups .AND. ln_str_H79 ) CALL lbc_lnk( 'icedyn_rhg_evp', strength, 'T', 1.0_wp ) ! @@ -776,8 +784,7 @@ CONTAINS END_2D - CALL lbc_lnk( 'icedyn_rhg_evp', pshear_i, 'T', 1._wp, pdivu_i, 'T', 1._wp, pdelta_i, 'T', 1._wp, zten_i, 'T', 1._wp, & - & zshear , 'T', 1._wp, zdelta , 'T', 1._wp, zs1 , 'T', 1._wp, zs2 , 'T', 1._wp, zs12, 'F', 1._wp ) + CALL lbc_lnk( 'icedyn_rhg_evp', zs1 , 'T', 1._wp, zs2 , 'T', 1._wp, zs12 , 'F', 1._wp ) ! --- Store the stress tensor for the next time step --- ! pstress1_i (:,:) = zs1 (:,:) @@ -787,34 +794,25 @@ CONTAINS ! 5) diagnostics !------------------------------------------------------------------------------! ! --- ice-ocean, ice-atm. & ice-oceanbottom(landfast) stresses --- ! - IF( iom_use('utau_oi') .OR. iom_use('vtau_oi') .OR. iom_use('utau_ai') .OR. iom_use('vtau_ai') .OR. & - & iom_use('utau_bi') .OR. iom_use('vtau_bi') ) THEN - ! - CALL lbc_lnk( 'icedyn_rhg_evp', ztaux_oi, 'U', -1.0_wp, ztauy_oi, 'V', -1.0_wp, & - & ztaux_ai, 'U', -1.0_wp, ztauy_ai, 'V', -1.0_wp, & - & ztaux_bi, 'U', -1.0_wp, ztauy_bi, 'V', -1.0_wp ) - ! - CALL iom_put( 'utau_oi' , ztaux_oi * zmsk00 ) - CALL iom_put( 'vtau_oi' , ztauy_oi * zmsk00 ) - CALL iom_put( 'utau_ai' , ztaux_ai * zmsk00 ) - CALL iom_put( 'vtau_ai' , ztauy_ai * zmsk00 ) - CALL iom_put( 'utau_bi' , ztaux_bi * zmsk00 ) - CALL iom_put( 'vtau_bi' , ztauy_bi * zmsk00 ) - ENDIF + IF( iom_use('utau_oi') ) CALL iom_put( 'utau_oi' , ztaux_oi(A2D(0)) * zmsk00 ) + IF( iom_use('vtau_oi') ) CALL iom_put( 'vtau_oi' , ztauy_oi(A2D(0)) * zmsk00 ) + IF( iom_use('utau_ai') ) CALL iom_put( 'utau_ai' , ztaux_ai(A2D(0)) * zmsk00 ) + IF( iom_use('vtau_ai') ) CALL iom_put( 'vtau_ai' , ztauy_ai(A2D(0)) * zmsk00 ) + IF( iom_use('utau_bi') ) CALL iom_put( 'utau_bi' , ztaux_bi(A2D(0)) * zmsk00 ) + IF( iom_use('vtau_bi') ) CALL iom_put( 'vtau_bi' , ztauy_bi(A2D(0)) * zmsk00 ) ! --- divergence, shear and strength --- ! - IF( iom_use('icediv') ) CALL iom_put( 'icediv' , pdivu_i * zmsk00 ) ! divergence - IF( iom_use('iceshe') ) CALL iom_put( 'iceshe' , pshear_i * zmsk00 ) ! shear - IF( iom_use('icestr') ) CALL iom_put( 'icestr' , strength * zmsk00 ) ! strength - IF( iom_use('icedlt') ) CALL iom_put( 'icedlt' , zdelta * zmsk00 ) ! delta + IF( iom_use('icediv') ) CALL iom_put( 'icediv' , pdivu_i (A2D(0)) * zmsk00 ) ! divergence + IF( iom_use('iceshe') ) CALL iom_put( 'iceshe' , pshear_i(A2D(0)) * zmsk00 ) ! shear + IF( iom_use('icestr') ) CALL iom_put( 'icestr' , strength(A2D(0)) * zmsk00 ) ! strength + IF( iom_use('icedlt') ) CALL iom_put( 'icedlt' , zdelta (A2D(0)) * zmsk00 ) ! delta ! --- Stress tensor invariants (SIMIP diags) --- ! IF( iom_use('normstr') .OR. iom_use('sheastr') ) THEN ! - ALLOCATE( zsig_I(jpi,jpj) , zsig_II(jpi,jpj) ) + ALLOCATE( zsig_I(A2D(0)) , zsig_II(A2D(0)) ) ! - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) - + DO_2D( 0, 0, 0, 0 ) ! Ice stresses ! sigma1, sigma2, sigma12 are some recombination of the stresses (HD MWR002, Bouillon et al., OM2013) ! not to be confused with stress tensor components, stress invariants, or stress principal components @@ -829,8 +827,8 @@ CONTAINS END_2D ! - IF( iom_use('normstr') ) CALL iom_put( 'normstr', zsig_I (:,:) * zmsk00(:,:) ) ! Normal stress - IF( iom_use('sheastr') ) CALL iom_put( 'sheastr', zsig_II(:,:) * zmsk00(:,:) ) ! Maximum shear stress + IF( iom_use('normstr') ) CALL iom_put( 'normstr', zsig_I (:,:) * zmsk00 ) ! Normal stress + IF( iom_use('sheastr') ) CALL iom_put( 'sheastr', zsig_II(:,:) * zmsk00 ) ! Maximum shear stress DEALLOCATE ( zsig_I, zsig_II ) @@ -842,9 +840,9 @@ CONTAINS ! Recommendation 2 : for EVP, no need to use viscosities at last iteration (stress is properly iterated) IF( iom_use('sig1_pnorm') .OR. iom_use('sig2_pnorm') ) THEN ! - ALLOCATE( zsig1_p(jpi,jpj) , zsig2_p(jpi,jpj) , zsig_I(jpi,jpj) , zsig_II(jpi,jpj) ) + ALLOCATE( zsig1_p(A2D(0)) , zsig2_p(A2D(0)) , zsig_I(A2D(0)) , zsig_II(A2D(0)) ) ! - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) ! For EVP solvers, ice stresses at current iterates can be used ! following Lemieux & Dupont (2020) @@ -863,33 +861,26 @@ CONTAINS zsig2_p(ji,jj) = ( zsig_I(ji,jj) - zsig_II(ji,jj) ) * z1_strength END_2D ! - CALL iom_put( 'sig1_pnorm' , zsig1_p * zmsk00 ) - CALL iom_put( 'sig2_pnorm' , zsig2_p * zmsk00 ) + CALL iom_put( 'sig1_pnorm' , zsig1_p(:,:) * zmsk00 ) + CALL iom_put( 'sig2_pnorm' , zsig2_p(:,:) * zmsk00 ) DEALLOCATE( zsig1_p , zsig2_p , zsig_I, zsig_II ) ENDIF ! --- SIMIP --- ! - IF( iom_use('dssh_dx') .OR. iom_use('dssh_dy') .OR. & - & iom_use('corstrx') .OR. iom_use('corstry') .OR. iom_use('intstrx') .OR. iom_use('intstry') ) THEN - ! - CALL lbc_lnk( 'icedyn_rhg_evp', zspgU, 'U', -1.0_wp, zspgV, 'V', -1.0_wp, & - & zCorU, 'U', -1.0_wp, zCorV, 'V', -1.0_wp, zfU, 'U', -1.0_wp, zfV, 'V', -1.0_wp ) - - CALL iom_put( 'dssh_dx' , zspgU * zmsk00 ) ! Sea-surface tilt term in force balance (x) - CALL iom_put( 'dssh_dy' , zspgV * zmsk00 ) ! Sea-surface tilt term in force balance (y) - CALL iom_put( 'corstrx' , zCorU * zmsk00 ) ! Coriolis force term in force balance (x) - CALL iom_put( 'corstry' , zCorV * zmsk00 ) ! Coriolis force term in force balance (y) - CALL iom_put( 'intstrx' , zfU * zmsk00 ) ! Internal force term in force balance (x) - CALL iom_put( 'intstry' , zfV * zmsk00 ) ! Internal force term in force balance (y) - ENDIF + IF( iom_use('dssh_dx') ) CALL iom_put( 'dssh_dx' , zspgU(A2D(0)) * zmsk00 ) ! Sea-surface tilt term in force balance (x) + IF( iom_use('dssh_dy') ) CALL iom_put( 'dssh_dy' , zspgV(A2D(0)) * zmsk00 ) ! Sea-surface tilt term in force balance (y) + IF( iom_use('corstrx') ) CALL iom_put( 'corstrx' , zCorU(A2D(0)) * zmsk00 ) ! Coriolis force term in force balance (x) + IF( iom_use('corstry') ) CALL iom_put( 'corstry' , zCorV(A2D(0)) * zmsk00 ) ! Coriolis force term in force balance (y) + IF( iom_use('intstrx') ) CALL iom_put( 'intstrx' , zfU (A2D(0)) * zmsk00 ) ! Internal force term in force balance (x) + IF( iom_use('intstry') ) CALL iom_put( 'intstry' , zfV (A2D(0)) * zmsk00 ) ! Internal force term in force balance (y) IF( iom_use('xmtrpice') .OR. iom_use('ymtrpice') .OR. & & iom_use('xmtrpsnw') .OR. iom_use('ymtrpsnw') .OR. iom_use('xatrp') .OR. iom_use('yatrp') ) THEN ! - ALLOCATE( zdiag_xmtrp_ice(jpi,jpj) , zdiag_ymtrp_ice(jpi,jpj) , & - & zdiag_xmtrp_snw(jpi,jpj) , zdiag_ymtrp_snw(jpi,jpj) , zdiag_xatrp(jpi,jpj) , zdiag_yatrp(jpi,jpj) ) + ALLOCATE( zdiag_xmtrp_ice(A2D(0)) , zdiag_ymtrp_ice(A2D(0)) , & + & zdiag_xmtrp_snw(A2D(0)) , zdiag_ymtrp_snw(A2D(0)) , zdiag_xatrp(A2D(0)) , zdiag_yatrp(A2D(0)) ) ! DO_2D( 0, 0, 0, 0 ) ! 2D ice mass, snow mass, area transport arrays (X, Y) @@ -907,10 +898,6 @@ CONTAINS END_2D - CALL lbc_lnk( 'icedyn_rhg_evp', zdiag_xmtrp_ice, 'U', -1.0_wp, zdiag_ymtrp_ice, 'V', -1.0_wp, & - & zdiag_xmtrp_snw, 'U', -1.0_wp, zdiag_ymtrp_snw, 'V', -1.0_wp, & - & zdiag_xatrp , 'U', -1.0_wp, zdiag_yatrp , 'V', -1.0_wp ) - CALL iom_put( 'xmtrpice' , zdiag_xmtrp_ice ) ! X-component of sea-ice mass transport (kg/s) CALL iom_put( 'ymtrpice' , zdiag_ymtrp_ice ) ! Y-component of sea-ice mass transport CALL iom_put( 'xmtrpsnw' , zdiag_xmtrp_snw ) ! X-component of snow mass transport (kg/s) @@ -927,11 +914,11 @@ CONTAINS IF( nn_rhg_chkcvg == 1 .OR. nn_rhg_chkcvg == 2 ) THEN IF( iom_use('uice_cvg') ) THEN IF( ln_aEVP ) THEN ! output: beta * ( u(t=nn_nevp) - u(t=nn_nevp-1) ) - CALL iom_put( 'uice_cvg', MAX( ABS( u_ice(:,:) - zu_ice(:,:) ) * zbeta(:,:) * umask(:,:,1) , & - & ABS( v_ice(:,:) - zv_ice(:,:) ) * zbeta(:,:) * vmask(:,:,1) ) * zmsk15(:,:) ) + CALL iom_put( 'uice_cvg', MAX( ABS( u_ice(A2D(0)) - zu_ice(:,:) ) * zbeta(A2D(0)) * umask(A2D(0),1) , & + & ABS( v_ice(A2D(0)) - zv_ice(:,:) ) * zbeta(A2D(0)) * vmask(A2D(0),1) ) * zmsk15(:,:) ) ELSE ! output: nn_nevp * ( u(t=nn_nevp) - u(t=nn_nevp-1) ) - CALL iom_put( 'uice_cvg', REAL( nn_nevp ) * MAX( ABS( u_ice(:,:) - zu_ice(:,:) ) * umask(:,:,1) , & - & ABS( v_ice(:,:) - zv_ice(:,:) ) * vmask(:,:,1) ) * zmsk15(:,:) ) + CALL iom_put( 'uice_cvg', REAL( nn_nevp ) * MAX( ABS( u_ice(A2D(0)) - zu_ice(:,:) ) * umask(A2D(0),1) , & + & ABS( v_ice(A2D(0)) - zv_ice(:,:) ) * vmask(A2D(0),1) ) * zmsk15(:,:) ) ENDIF ENDIF ENDIF @@ -952,17 +939,18 @@ CONTAINS !! !! ** Note : for the first sub-iteration, uice_cvg is set to 0 (too large otherwise) !!---------------------------------------------------------------------- - INTEGER , INTENT(in) :: kt, kiter, kitermax ! ocean time-step index - REAL(wp), DIMENSION(:,:), INTENT(in) :: pu, pv, pub, pvb ! now and before velocities - REAL(wp), DIMENSION(:,:), INTENT(in) :: pmsk15 + INTEGER , INTENT(in) :: kt, kiter, kitermax ! ocean time-step index + REAL(wp), DIMENSION(:,:) , INTENT(in) :: pu, pv ! now velocities + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pub, pvb ! before velocities + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pmsk15 !! INTEGER :: it, idtime, istatus INTEGER :: ji, jj ! dummy loop indices REAL(wp) :: zresm ! local real CHARACTER(len=20) :: clname LOGICAL :: ll_maxcvg - REAL(wp), DIMENSION(jpi,jpj,2) :: zres - REAL(wp), DIMENSION(2) :: ztmp + REAL(wp), DIMENSION(A2D(0),2) :: zres + REAL(wp), DIMENSION(2) :: ztmp !!---------------------------------------------------------------------- ll_maxcvg = .FALSE. ! diff --git a/src/ICE/iceistate.F90 b/src/ICE/iceistate.F90 index 97c783148..283c6c34c 100644 --- a/src/ICE/iceistate.F90 +++ b/src/ICE/iceistate.F90 @@ -37,6 +37,7 @@ MODULE iceistate USE lib_mpp ! MPP library USE lib_fortran ! fortran utilities (glob_sum + no signed zero) USE fldread ! read input fields + USE lbclnk ! ocean lateral boundary conditions (or mpp link) # if defined key_agrif USE agrif_oce @@ -113,11 +114,11 @@ CONTAINS INTEGER :: ji, jj, jk, jl ! dummy loop indices REAL(wp) :: ztmelts, zsshadj, area INTEGER , DIMENSION(4) :: itest - REAL(wp), DIMENSION(jpi,jpj) :: z2d REAL(wp), DIMENSION(jpi,jpj) :: zswitch ! ice indicator - REAL(wp), DIMENSION(jpi,jpj) :: zht_i_ini, zat_i_ini, ztm_s_ini !data from namelist or nc file - REAL(wp), DIMENSION(jpi,jpj) :: zt_su_ini, zht_s_ini, zsm_i_ini, ztm_i_ini !data from namelist or nc file - REAL(wp), DIMENSION(jpi,jpj) :: zapnd_ini, zhpnd_ini, zhlid_ini !data from namelist or nc file + REAL(wp), DIMENSION(A2D(0)) :: zmsk ! ice indicator + REAL(wp), DIMENSION(A2D(0)) :: zht_i_ini, zat_i_ini, ztm_s_ini !data from namelist or nc file + REAL(wp), DIMENSION(A2D(0)) :: zt_su_ini, zht_s_ini, zsm_i_ini, ztm_i_ini !data from namelist or nc file + REAL(wp), DIMENSION(A2D(0)) :: zapnd_ini, zhpnd_ini, zhlid_ini !data from namelist or nc file REAL(wp), DIMENSION(jpi,jpj,jpl) :: zti_3d , zts_3d !temporary arrays !! REAL(wp), DIMENSION(:,:), ALLOCATABLE :: zhi_2d, zhs_2d, zai_2d, zti_2d, zts_2d, ztsu_2d, zsi_2d, zaip_2d, zhip_2d, zhil_2d @@ -135,53 +136,59 @@ CONTAINS CALL eos_fzp( sss_m(:,:), t_bo(:,:) ) t_bo(:,:) = ( t_bo(:,:) + rt0 ) * tmask(:,:,1) ! - ! surface temperature and conductivity DO jl = 1, jpl - t_su (:,:,jl) = rt0 * tmask(:,:,1) ! temp at the surface - cnd_ice(:,:,jl) = 0._wp ! initialisation of the effective conductivity at the top of ice/snow (ln_cndflx=T) - END DO - ! - ! ice and snw temperatures - DO jl = 1, jpl - DO jk = 1, nlay_i - t_i(:,:,jk,jl) = rt0 * tmask(:,:,1) - END DO - DO jk = 1, nlay_s - t_s(:,:,jk,jl) = rt0 * tmask(:,:,1) - END DO - END DO - ! - ! specific temperatures for coupled runs - tn_ice (:,:,:) = t_i (:,:,1,:) - t1_ice (:,:,:) = t_i (:,:,1,:) - - ! heat contents - e_i (:,:,:,:) = 0._wp - e_s (:,:,:,:) = 0._wp - - ! general fields - a_i (:,:,:) = 0._wp - v_i (:,:,:) = 0._wp - v_s (:,:,:) = 0._wp - sv_i(:,:,:) = 0._wp - oa_i(:,:,:) = 0._wp - ! - h_i (:,:,:) = 0._wp - h_s (:,:,:) = 0._wp - s_i (:,:,:) = 0._wp - o_i (:,:,:) = 0._wp - ! - ! melt ponds - a_ip (:,:,:) = 0._wp - v_ip (:,:,:) = 0._wp - v_il (:,:,:) = 0._wp - a_ip_eff (:,:,:) = 0._wp - h_ip (:,:,:) = 0._wp - h_il (:,:,:) = 0._wp + ! == reduced arrays == ! + DO_2D( 0, 0, 0, 0 ) + ! + cnd_ice(ji,jj,jl) = 0._wp ! conductivity at the ice top + ! + tn_ice(ji,jj,jl) = t_i (ji,jj,1,jl) ! temp for coupled runs + t1_ice(ji,jj,jl) = t_i (ji,jj,1,jl) ! temp for coupled runs + ! + a_ip_eff(ji,jj,jl) = 0._wp ! melt pond effective fraction + END_2D + ! + ! == full arrays == ! + DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + ! + ! heat contents + DO jk = 1, nlay_i + e_i(ji,jj,jk,jl) = 0._wp + t_i(ji,jj,jk,jl) = rt0 * tmask(ji,jj,1) ! ice temp + ENDDO + DO jk = 1, nlay_s + e_s(ji,jj,jk,jl) = 0._wp + t_s(ji,jj,jk,jl) = rt0 * tmask(ji,jj,1) ! snw temp + ENDDO + ! + ! general fields + a_i (ji,jj,jl) = 0._wp + v_i (ji,jj,jl) = 0._wp + v_s (ji,jj,jl) = 0._wp + sv_i(ji,jj,jl) = 0._wp + oa_i(ji,jj,jl) = 0._wp + h_i (ji,jj,jl) = 0._wp + h_s (ji,jj,jl) = 0._wp + s_i (ji,jj,jl) = 0._wp + o_i (ji,jj,jl) = 0._wp + t_su(ji,jj,jl) = rt0 * tmask(ji,jj,1) + ! + ! melt ponds + a_ip(ji,jj,jl) = 0._wp + v_ip(ji,jj,jl) = 0._wp + v_il(ji,jj,jl) = 0._wp + h_ip(ji,jj,jl) = 0._wp + h_il(ji,jj,jl) = 0._wp + ! + END_2D + ! + ENDDO ! ! ice velocities - u_ice (:,:) = 0._wp - v_ice (:,:) = 0._wp + DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + u_ice(ji,jj) = 0._wp + v_ice(ji,jj) = 0._wp + END_2D ! !------------------------------------------------------------------------ ! 2) overwrite some of the fields with namelist parameters or netcdf file @@ -194,30 +201,30 @@ CONTAINS ! !---------------! IF( nn_iceini_file == 1 )THEN ! Read a file ! ! !---------------! - WHERE( ff_t(:,:) >= 0._wp ) ; zswitch(:,:) = 1._wp - ELSEWHERE ; zswitch(:,:) = 0._wp + WHERE( ff_t(A2D(0)) >= 0._wp ) ; zmsk(:,:) = 1._wp + ELSEWHERE ; zmsk(:,:) = 0._wp END WHERE ! CALL fld_read( kt, 1, si ) ! input fields provided at the current time-step ! ! -- mandatory fields -- ! - zht_i_ini(:,:) = si(jp_hti)%fnow(:,:,1) * tmask(:,:,1) - zht_s_ini(:,:) = si(jp_hts)%fnow(:,:,1) * tmask(:,:,1) - zat_i_ini(:,:) = si(jp_ati)%fnow(:,:,1) * tmask(:,:,1) + zht_i_ini(:,:) = si(jp_hti)%fnow(:,:,1) * smask0(:,:) + zht_s_ini(:,:) = si(jp_hts)%fnow(:,:,1) * smask0(:,:) + zat_i_ini(:,:) = si(jp_ati)%fnow(:,:,1) * smask0(:,:) ! -- optional fields -- ! ! if fields do not exist then set them to the values present in the namelist (except for temperatures) ! ! ice salinity IF( TRIM(si(jp_smi)%clrootname) == 'NOT USED' ) & - & si(jp_smi)%fnow(:,:,1) = ( rn_smi_ini_n * zswitch + rn_smi_ini_s * (1._wp - zswitch) ) * tmask(:,:,1) + & si(jp_smi)%fnow(:,:,1) = ( rn_smi_ini_n * zmsk + rn_smi_ini_s * (1._wp - zmsk) ) * smask0(:,:) ! ! temperatures IF ( TRIM(si(jp_tmi)%clrootname) == 'NOT USED' .AND. TRIM(si(jp_tsu)%clrootname) == 'NOT USED' .AND. & & TRIM(si(jp_tms)%clrootname) == 'NOT USED' ) THEN - si(jp_tmi)%fnow(:,:,1) = ( rn_tmi_ini_n * zswitch + rn_tmi_ini_s * (1._wp - zswitch) ) * tmask(:,:,1) - si(jp_tsu)%fnow(:,:,1) = ( rn_tsu_ini_n * zswitch + rn_tsu_ini_s * (1._wp - zswitch) ) * tmask(:,:,1) - si(jp_tms)%fnow(:,:,1) = ( rn_tms_ini_n * zswitch + rn_tms_ini_s * (1._wp - zswitch) ) * tmask(:,:,1) + si(jp_tmi)%fnow(:,:,1) = ( rn_tmi_ini_n * zmsk + rn_tmi_ini_s * (1._wp - zmsk) ) * smask0(:,:) + si(jp_tsu)%fnow(:,:,1) = ( rn_tsu_ini_n * zmsk + rn_tsu_ini_s * (1._wp - zmsk) ) * smask0(:,:) + si(jp_tms)%fnow(:,:,1) = ( rn_tms_ini_n * zmsk + rn_tms_ini_s * (1._wp - zmsk) ) * smask0(:,:) ENDIF IF( TRIM(si(jp_tmi)%clrootname) == 'NOT USED' .AND. TRIM(si(jp_tms)%clrootname) /= 'NOT USED' ) & ! if T_s is read and not T_i, set T_i = (T_s + T_freeze)/2 & si(jp_tmi)%fnow(:,:,1) = 0.5_wp * ( si(jp_tms)%fnow(:,:,1) + 271.15 ) @@ -234,67 +241,60 @@ CONTAINS ! ! pond concentration IF( TRIM(si(jp_apd)%clrootname) == 'NOT USED' ) & - & si(jp_apd)%fnow(:,:,1) = ( rn_apd_ini_n * zswitch + rn_apd_ini_s * (1._wp - zswitch) ) * tmask(:,:,1) & ! rn_apd = pond fraction => rn_apnd * a_i = pond conc. + & si(jp_apd)%fnow(:,:,1) = ( rn_apd_ini_n * zmsk + rn_apd_ini_s * (1._wp - zmsk) ) * smask0(:,:) & ! rn_apd = pond fraction => rn_apnd * a_i = pond conc. & * si(jp_ati)%fnow(:,:,1) ! ! pond depth IF( TRIM(si(jp_hpd)%clrootname) == 'NOT USED' ) & - & si(jp_hpd)%fnow(:,:,1) = ( rn_hpd_ini_n * zswitch + rn_hpd_ini_s * (1._wp - zswitch) ) * tmask(:,:,1) + & si(jp_hpd)%fnow(:,:,1) = ( rn_hpd_ini_n * zmsk + rn_hpd_ini_s * (1._wp - zmsk) ) * smask0(:,:) ! ! pond lid depth IF( TRIM(si(jp_hld)%clrootname) == 'NOT USED' ) & - & si(jp_hld)%fnow(:,:,1) = ( rn_hld_ini_n * zswitch + rn_hld_ini_s * (1._wp - zswitch) ) * tmask(:,:,1) + & si(jp_hld)%fnow(:,:,1) = ( rn_hld_ini_n * zmsk + rn_hld_ini_s * (1._wp - zmsk) ) * smask0(:,:) ! - zsm_i_ini(:,:) = si(jp_smi)%fnow(:,:,1) * tmask(:,:,1) - ztm_i_ini(:,:) = si(jp_tmi)%fnow(:,:,1) * tmask(:,:,1) - zt_su_ini(:,:) = si(jp_tsu)%fnow(:,:,1) * tmask(:,:,1) - ztm_s_ini(:,:) = si(jp_tms)%fnow(:,:,1) * tmask(:,:,1) - zapnd_ini(:,:) = si(jp_apd)%fnow(:,:,1) * tmask(:,:,1) - zhpnd_ini(:,:) = si(jp_hpd)%fnow(:,:,1) * tmask(:,:,1) - zhlid_ini(:,:) = si(jp_hld)%fnow(:,:,1) * tmask(:,:,1) + zsm_i_ini(:,:) = si(jp_smi)%fnow(:,:,1) * smask0(:,:) + ztm_i_ini(:,:) = si(jp_tmi)%fnow(:,:,1) * smask0(:,:) + zt_su_ini(:,:) = si(jp_tsu)%fnow(:,:,1) * smask0(:,:) + ztm_s_ini(:,:) = si(jp_tms)%fnow(:,:,1) * smask0(:,:) + zapnd_ini(:,:) = si(jp_apd)%fnow(:,:,1) * smask0(:,:) + zhpnd_ini(:,:) = si(jp_hpd)%fnow(:,:,1) * smask0(:,:) + zhlid_ini(:,:) = si(jp_hld)%fnow(:,:,1) * smask0(:,:) ! - ! change the switch for the following - WHERE( zat_i_ini(:,:) > 0._wp ) ; zswitch(:,:) = tmask(:,:,1) - ELSEWHERE ; zswitch(:,:) = 0._wp - END WHERE - ! !---------------! ELSE ! Read namelist ! ! !---------------! ! no ice if (sst - Tfreez) >= thresold - WHERE( ( sst_m(:,:) - (t_bo(:,:) - rt0) ) * tmask(:,:,1) >= rn_thres_sst ) ; zswitch(:,:) = 0._wp - ELSEWHERE ; zswitch(:,:) = tmask(:,:,1) + WHERE( ( sst_m(A2D(0)) - (t_bo(A2D(0)) - rt0) ) * smask0(:,:) >= rn_thres_sst ) ; zmsk(:,:) = 0._wp + ELSEWHERE ; zmsk(:,:) = smask0(:,:) END WHERE ! ! assign initial thickness, concentration, snow depth and salinity to an hemisphere-dependent array - WHERE( ff_t(:,:) >= 0._wp ) - zht_i_ini(:,:) = rn_hti_ini_n * zswitch(:,:) - zht_s_ini(:,:) = rn_hts_ini_n * zswitch(:,:) - zat_i_ini(:,:) = rn_ati_ini_n * zswitch(:,:) - zsm_i_ini(:,:) = rn_smi_ini_n * zswitch(:,:) - ztm_i_ini(:,:) = rn_tmi_ini_n * zswitch(:,:) - zt_su_ini(:,:) = rn_tsu_ini_n * zswitch(:,:) - ztm_s_ini(:,:) = rn_tms_ini_n * zswitch(:,:) - zapnd_ini(:,:) = rn_apd_ini_n * zswitch(:,:) * zat_i_ini(:,:) ! rn_apd = pond fraction => rn_apd * a_i = pond conc. - zhpnd_ini(:,:) = rn_hpd_ini_n * zswitch(:,:) - zhlid_ini(:,:) = rn_hld_ini_n * zswitch(:,:) + WHERE( ff_t(A2D(0)) >= 0._wp ) + zht_i_ini(:,:) = rn_hti_ini_n * zmsk(:,:) + zht_s_ini(:,:) = rn_hts_ini_n * zmsk(:,:) + zat_i_ini(:,:) = rn_ati_ini_n * zmsk(:,:) + zsm_i_ini(:,:) = rn_smi_ini_n * zmsk(:,:) + ztm_i_ini(:,:) = rn_tmi_ini_n * zmsk(:,:) + zt_su_ini(:,:) = rn_tsu_ini_n * zmsk(:,:) + ztm_s_ini(:,:) = rn_tms_ini_n * zmsk(:,:) + zapnd_ini(:,:) = rn_apd_ini_n * zmsk(:,:) * zat_i_ini(:,:) ! rn_apd = pond fraction => rn_apd * a_i = pond conc. + zhpnd_ini(:,:) = rn_hpd_ini_n * zmsk(:,:) + zhlid_ini(:,:) = rn_hld_ini_n * zmsk(:,:) ELSEWHERE - zht_i_ini(:,:) = rn_hti_ini_s * zswitch(:,:) - zht_s_ini(:,:) = rn_hts_ini_s * zswitch(:,:) - zat_i_ini(:,:) = rn_ati_ini_s * zswitch(:,:) - zsm_i_ini(:,:) = rn_smi_ini_s * zswitch(:,:) - ztm_i_ini(:,:) = rn_tmi_ini_s * zswitch(:,:) - zt_su_ini(:,:) = rn_tsu_ini_s * zswitch(:,:) - ztm_s_ini(:,:) = rn_tms_ini_s * zswitch(:,:) - zapnd_ini(:,:) = rn_apd_ini_s * zswitch(:,:) * zat_i_ini(:,:) ! rn_apd = pond fraction => rn_apd * a_i = pond conc. - zhpnd_ini(:,:) = rn_hpd_ini_s * zswitch(:,:) - zhlid_ini(:,:) = rn_hld_ini_s * zswitch(:,:) + zht_i_ini(:,:) = rn_hti_ini_s * zmsk(:,:) + zht_s_ini(:,:) = rn_hts_ini_s * zmsk(:,:) + zat_i_ini(:,:) = rn_ati_ini_s * zmsk(:,:) + zsm_i_ini(:,:) = rn_smi_ini_s * zmsk(:,:) + ztm_i_ini(:,:) = rn_tmi_ini_s * zmsk(:,:) + zt_su_ini(:,:) = rn_tsu_ini_s * zmsk(:,:) + ztm_s_ini(:,:) = rn_tms_ini_s * zmsk(:,:) + zapnd_ini(:,:) = rn_apd_ini_s * zmsk(:,:) * zat_i_ini(:,:) ! rn_apd = pond fraction => rn_apd * a_i = pond conc. + zhpnd_ini(:,:) = rn_hpd_ini_s * zmsk(:,:) + zhlid_ini(:,:) = rn_hld_ini_s * zmsk(:,:) END WHERE ! ENDIF - - ! make sure ponds = 0 if no ponds scheme IF ( .NOT.ln_pnd ) THEN zapnd_ini(:,:) = 0._wp @@ -311,7 +311,7 @@ CONTAINS !----------------! ! select ice covered grid points npti = 0 ; nptidx(:) = 0 - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) IF ( zht_i_ini(ji,jj) > 0._wp ) THEN npti = npti + 1 nptidx(npti) = (jj - 1) * jpi + ji @@ -363,6 +363,16 @@ CONTAINS DEALLOCATE( zhi_2d, zhs_2d, zai_2d , & & zti_2d, zts_2d, ztsu_2d, zsi_2d, zaip_2d, zhip_2d, zhil_2d ) + ! this call is needed because of the calculations above that are done only in the interior + CALL lbc_lnk( 'iceistate', a_i , 'T', 1._wp, h_i , 'T', 1._wp, h_s , 'T', 1._wp, & + & zti_3d, 'T', 1._wp, zts_3d, 'T', 1._wp, t_su, 'T', 1._wp, & + & s_i , 'T', 1._wp, a_ip , 'T', 1._wp, h_ip, 'T', 1._wp, h_il, 'T', 1._wp ) + + ! switch for the following + WHERE( SUM(a_i(:,:,:),dim=3) > 0._wp ) ; zswitch(:,:) = tmask(:,:,1) + ELSEWHERE ; zswitch(:,:) = 0._wp + END WHERE + ! calculate extensive and intensive variables CALL ice_var_salprof ! for sz_i DO jl = 1, jpl @@ -398,15 +408,17 @@ CONTAINS ENDIF #endif ! Melt ponds - WHERE( a_i > epsi10 ) ; a_ip_eff(:,:,:) = a_ip(:,:,:) / a_i(:,:,:) - ELSEWHERE ; a_ip_eff(:,:,:) = 0._wp + WHERE( a_i(A2D(0),:) > epsi10 ) ; a_ip_eff(:,:,:) = a_ip(A2D(0),:) / a_i(A2D(0),:) + ELSEWHERE ; a_ip_eff(:,:,:) = 0._wp END WHERE v_ip(:,:,:) = h_ip(:,:,:) * a_ip(:,:,:) v_il(:,:,:) = h_il(:,:,:) * a_ip(:,:,:) ! specific temperatures for coupled runs - tn_ice(:,:,:) = t_su(:,:,:) - t1_ice(:,:,:) = t_i (:,:,1,:) + DO_2D( 0, 0, 0, 0 ) + tn_ice(ji,jj,:) = t_su(ji,jj,:) + t1_ice(ji,jj,:) = t_i (ji,jj,1,:) + END_2D ! ! ice concentration should not exceed amax at_i(:,:) = SUM( a_i, dim=3 ) @@ -546,8 +558,8 @@ CONTAINS ENDIF ! DO ifpr = 1, jpfldi - ALLOCATE( si(ifpr)%fnow(jpi,jpj,1) ) - IF( slf_i(ifpr)%ln_tint ) ALLOCATE( si(ifpr)%fdta(jpi,jpj,1,2) ) + ALLOCATE( si(ifpr)%fnow(A2D(0),1) ) + IF( slf_i(ifpr)%ln_tint ) ALLOCATE( si(ifpr)%fdta(A2D(0),1,2) ) END DO ! ! fill si with slf_i and control print diff --git a/src/ICE/iceitd.F90 b/src/ICE/iceitd.F90 index f3e662748..caa37df09 100644 --- a/src/ICE/iceitd.F90 +++ b/src/ICE/iceitd.F90 @@ -29,6 +29,7 @@ MODULE iceitd USE lib_fortran ! fortran utilities (glob_sum + no signed zero) USE prtctl ! Print control USE timing ! Timing + USE lbclnk ! lateral boundary conditions (or mpp links) IMPLICIT NONE PRIVATE @@ -100,7 +101,7 @@ CONTAINS at_i(:,:) = SUM( a_i, dim=3 ) ! npti = 0 ; nptidx(:) = 0 - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) IF ( at_i(ji,jj) > epsi10 ) THEN npti = npti + 1 nptidx( npti ) = (jj - 1) * jpi + ji @@ -327,6 +328,9 @@ CONTAINS ! ENDIF ! + ! the following fields need to be updated in the halos (done afterwards): + ! a_i, v_i, v_s, sv_i, oa_i, h_i, a_ip, v_ip, v_il, t_su, e_i, e_s + ! IF( ln_icediachk ) CALL ice_cons_hsm(1, 'iceitd_rem', rdiag_v, rdiag_s, rdiag_t, rdiag_fv, rdiag_fs, rdiag_ft) IF( ln_icediachk ) CALL ice_cons2D (1, 'iceitd_rem', diag_v, diag_s, diag_t, diag_fv, diag_fs, diag_ft) IF( ln_timing ) CALL timing_stop ('iceitd_rem') @@ -626,7 +630,7 @@ CONTAINS DO jl = 1, jpl-1 ! identify thicknesses that are too big ! !--------------------------------------- npti = 0 ; nptidx(:) = 0 - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) IF( a_i(ji,jj,jl) > 0._wp .AND. v_i(ji,jj,jl) > (a_i(ji,jj,jl) * hi_max(jl)) ) THEN npti = npti + 1 nptidx( npti ) = (jj - 1) * jpi + ji @@ -662,7 +666,7 @@ CONTAINS DO jl = jpl-1, 1, -1 ! Identify thicknesses that are too small ! !----------------------------------------- npti = 0 ; nptidx(:) = 0 - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) IF( a_i(ji,jj,jl+1) > 0._wp .AND. v_i(ji,jj,jl+1) <= (a_i(ji,jj,jl+1) * hi_max(jl)) ) THEN npti = npti + 1 nptidx( npti ) = (jj - 1) * jpi + ji @@ -687,6 +691,14 @@ CONTAINS ! END DO ! + ! clem: the 2 lbc below could be avoided if calculations above were performed over the full domain + ! => decide if it is more efficient this way or not? + ! note: ice_itd_reb is called in icedyn + ! and in icethd (but once the arrays are already updated on the boundaries) + CALL lbc_lnk( 'iceitd_reb', a_i, 'T', 1._wp, v_i , 'T', 1._wp, v_s , 'T', 1._wp, sv_i, 'T', 1._wp, oa_i, 'T', 1._wp, & + & h_i, 'T', 1._wp, a_ip, 'T', 1._wp, v_ip, 'T', 1._wp, v_il, 'T', 1._wp, t_su, 'T', 1._wp ) + CALL lbc_lnk( 'iceitd_reb', e_i, 'T', 1._wp, e_s , 'T', 1._wp ) + ! IF( ln_icediachk ) CALL ice_cons_hsm(1, 'iceitd_reb', rdiag_v, rdiag_s, rdiag_t, rdiag_fv, rdiag_fs, rdiag_ft) IF( ln_icediachk ) CALL ice_cons2D (1, 'iceitd_reb', diag_v, diag_s, diag_t, diag_fv, diag_fs, diag_ft) IF( ln_timing ) CALL timing_stop ('iceitd_reb') diff --git a/src/ICE/icesbc.F90 b/src/ICE/icesbc.F90 index 553e44997..03d5b83a6 100644 --- a/src/ICE/icesbc.F90 +++ b/src/ICE/icesbc.F90 @@ -58,7 +58,7 @@ CONTAINS REAL(wp), DIMENSION(jpi,jpj), INTENT( out) :: utau_ice, vtau_ice ! air-ice stress [N/m2] !! INTEGER :: ji, jj ! dummy loop index - REAL(wp), DIMENSION(jpi,jpj) :: zutau_ice, zvtau_ice + REAL(wp), DIMENSION(A2D(0)) :: zutau_ice, zvtau_ice !!------------------------------------------------------------------- ! IF( ln_timing ) CALL timing_start('icesbc') @@ -70,25 +70,38 @@ CONTAINS ENDIF ! SELECT CASE( ksbc ) - CASE( jp_usr ) ; CALL usrdef_sbc_ice_tau( kt ) ! user defined formulation - CASE( jp_blk ) - CALL blk_ice_1( sf(jp_wndi)%fnow(:,:,1), sf(jp_wndj)%fnow(:,:,1), & - & theta_air_zt(:,:), q_air_zt(:,:), & ! #LB: known from "sbc_oce" module... - & sf(jp_slp )%fnow(:,:,1), u_ice, v_ice, tm_su , & ! inputs - & putaui = utau_ice, pvtaui = vtau_ice ) ! outputs - ! CASE( jp_abl ) utau_ice & vtau_ice are computed in ablmod - CASE( jp_purecpl ) ; CALL sbc_cpl_ice_tau( utau_ice , vtau_ice ) ! Coupled formulation + ! + CASE( jp_usr ) !--- User defined formulation + ! + CALL usrdef_sbc_ice_tau( kt ) + ! + CASE( jp_blk ) !--- Forced formulation + ! + CALL blk_ice_1( sf(jp_wndi)%fnow(:,:,1), sf(jp_wndj)%fnow(:,:,1), theta_air_zt(:,:), q_air_zt(:,:), & ! <<== in + & sf(jp_slp )%fnow(:,:,1), u_ice(A2D(0)), v_ice(A2D(0)), tm_su(:,:), & ! <<== in + & putaui = utau_ice(A2D(0)), pvtaui = vtau_ice(A2D(0)) ) ! ==>> out + ! + !CASE( jp_abl ) !--- ABL formulation (utau_ice & vtau_ice are computed in ablmod) + ! + CASE( jp_purecpl ) !--- Coupled formulation + ! + CALL sbc_cpl_ice_tau( utau_ice(A2D(0)) , vtau_ice(A2D(0)) ) + ! END SELECT ! - IF( ln_mixcpl) THEN ! Case of a mixed Bulk/Coupled formulation - CALL sbc_cpl_ice_tau( zutau_ice , zvtau_ice ) + IF( ln_mixcpl) THEN !--- Case of a mixed Bulk/Coupled formulation + ! + CALL sbc_cpl_ice_tau( zutau_ice , zvtau_ice ) + ! DO_2D( 0, 0, 0, 0 ) utau_ice(ji,jj) = utau_ice(ji,jj) * xcplmask(ji,jj,0) + zutau_ice(ji,jj) * ( 1. - xcplmask(ji,jj,0) ) vtau_ice(ji,jj) = vtau_ice(ji,jj) * xcplmask(ji,jj,0) + zvtau_ice(ji,jj) * ( 1. - xcplmask(ji,jj,0) ) END_2D - CALL lbc_lnk( 'icesbc', utau_ice, 'U', -1.0_wp, vtau_ice, 'V', -1.0_wp ) + ! ENDIF ! + CALL lbc_lnk( 'icesbc', utau_ice, 'U', -1.0_wp, vtau_ice, 'V', -1.0_wp ) + ! IF( ln_timing ) CALL timing_stop('icesbc') ! END SUBROUTINE ice_sbc_tau @@ -129,25 +142,49 @@ CONTAINS WRITE(numout,*)'~~~~~~~~~~~~~~~' ENDIF ! !== ice albedo ==! - CALL ice_alb( t_su, h_i, h_s, ln_pnd_alb, a_ip_eff, h_ip, cloud_fra, alb_ice ) + CALL ice_alb( ln_pnd_alb, t_su(A2D(0),:), h_i(A2D(0),:), h_s(A2D(0),:), a_ip_eff(:,:,:), h_ip(A2D(0),:), cloud_fra(:,:), & ! <<== in + & alb_ice(:,:,:) ) ! ==>> out ! SELECT CASE( ksbc ) !== fluxes over sea ice ==! ! CASE( jp_usr ) !--- user defined formulation + ! CALL usrdef_sbc_ice_flx( kt, h_s, h_i ) + ! CASE( jp_blk, jp_abl ) !--- bulk formulation & ABL formulation - CALL blk_ice_2 ( t_su, h_s, h_i, alb_ice, & - & theta_air_zt(:,:), q_air_zt(:,:), & ! #LB: known from "sbc_oce" module... - & sf(jp_slp)%fnow(:,:,1), sf(jp_qlw)%fnow(:,:,1), & - & sf(jp_prec)%fnow(:,:,1), sf(jp_snow)%fnow(:,:,1) ) - IF( ln_mixcpl ) CALL sbc_cpl_ice_flx( kt, picefr=at_i_b, palbi=alb_ice, psst=sst_m, pist=t_su, phs=h_s, phi=h_i ) - IF( nn_flxdist /= -1 ) CALL ice_flx_dist ( t_su, alb_ice, qns_ice, qsr_ice, dqns_ice, evap_ice, devap_ice, nn_flxdist ) + ! + CALL blk_ice_2( t_su(A2D(0),:), h_s(A2D(0),:), h_i(A2D(0),:), & ! <<== in + & alb_ice(:,:,:), theta_air_zt(:,:), q_air_zt(:,:), & ! <<== in + & sf(jp_slp)%fnow(:,:,1), sf(jp_qlw)%fnow(:,:,1), & ! <<== in + & sf(jp_prec)%fnow(:,:,1), sf(jp_snow)%fnow(:,:,1) ) ! <<== in + ! + IF( ln_mixcpl ) CALL sbc_cpl_ice_flx( kt, picefr=at_i_b(:,:), palbi=alb_ice(:,:,:), & + & psst=sst_m(A2D(0)), pist=t_su(A2D(0),:), & + & phs=h_s(A2D(0),:), phi=h_i(A2D(0),:) ) + CALL lbc_lnk( 'icesbc', t_su, 'T', 1.0_wp ) ! clem: t_su is needed for Met-Office only => necessary? + ! + IF( nn_flxdist /= -1 ) CALL ice_flx_dist( nn_flxdist, at_i(A2D(0)), a_i(A2D(0),:), t_su(A2D(0),:), alb_ice(:,:,:), & ! <<== in + & qns_ice(:,:,:), qsr_ice(:,:,:), dqns_ice(:,:,:), & ! ==>> inout + & evap_ice(:,:,:), devap_ice(:,:,:) ) ! ==>> inout + ! ! ! compute conduction flux and surface temperature (as in Jules surface module) - IF( ln_cndflx .AND. .NOT.ln_cndemulate ) & - & CALL blk_ice_qcn ( ln_virtual_itd, t_su, t_bo, h_s, h_i ) + IF( ln_cndflx .AND. .NOT.ln_cndemulate ) THEN + CALL blk_ice_qcn( ln_virtual_itd, t_bo(A2D(0)), h_s(A2D(0),:), h_i(A2D(0),:), & ! <<== in + & qcn_ice(:,:,:), qml_ice(:,:,:), & ! ==>> out + & qns_ice(:,:,:), t_su(A2D(0),:) ) ! ==>> inout + CALL lbc_lnk( 'icesbc', t_su, 'T', 1.0_wp ) ! clem: t_su is updated in ice_qcn => necessary? + ENDIF + ! CASE ( jp_purecpl ) !--- coupled formulation - CALL sbc_cpl_ice_flx( kt, picefr=at_i_b, palbi=alb_ice, psst=sst_m, pist=t_su, phs=h_s, phi=h_i ) - IF( nn_flxdist /= -1 ) CALL ice_flx_dist ( t_su, alb_ice, qns_ice, qsr_ice, dqns_ice, evap_ice, devap_ice, nn_flxdist ) + ! + CALL sbc_cpl_ice_flx( kt, picefr=at_i_b(:,:), palbi=alb_ice(:,:,:), psst=sst_m(A2D(0)), & + & pist=t_su(A2D(0),:), phs=h_s(A2D(0),:), phi=h_i(A2D(0),:) ) + CALL lbc_lnk( 'icesbc', t_su, 'T', 1.0_wp ) ! clem: t_su is needed for Met-Office only => necessary? + ! + IF( nn_flxdist /= -1 ) CALL ice_flx_dist( nn_flxdist, at_i(A2D(0)), a_i(A2D(0),:), t_su(A2D(0),:), alb_ice(:,:,:), & ! <<== in + & qns_ice(:,:,:), qsr_ice(:,:,:), dqns_ice(:,:,:), & ! ==>> inout + & evap_ice(:,:,:), devap_ice(:,:,:) ) ! ==>> inout + ! END SELECT ! !== some fluxes at the ice-ocean interface and in the leads CALL ice_flx_other @@ -157,7 +194,8 @@ CONTAINS END SUBROUTINE ice_sbc_flx - SUBROUTINE ice_flx_dist( ptn_ice, palb_ice, pqns_ice, pqsr_ice, pdqn_ice, pevap_ice, pdevap_ice, k_flxdist ) + SUBROUTINE ice_flx_dist( k_flxdist, pat_i, pa_i, ptn_ice, palb_ice, & + & pqns_ice, pqsr_ice, pdqn_ice, pevap_ice, pdevap_ice ) !!------------------------------------------------------------------- !! *** ROUTINE ice_flx_dist *** !! @@ -173,18 +211,20 @@ CONTAINS !! using T-ice and albedo sensitivity !! = 2 Redistribute a single flux over categories !!------------------------------------------------------------------- - INTEGER , INTENT(in ) :: k_flxdist ! redistributor - REAL(wp), DIMENSION(:,:,:), INTENT(in ) :: ptn_ice ! ice surface temperature - REAL(wp), DIMENSION(:,:,:), INTENT(in ) :: palb_ice ! ice albedo - REAL(wp), DIMENSION(:,:,:), INTENT(inout) :: pqns_ice ! non solar flux - REAL(wp), DIMENSION(:,:,:), INTENT(inout) :: pqsr_ice ! net solar flux - REAL(wp), DIMENSION(:,:,:), INTENT(inout) :: pdqn_ice ! non solar flux sensitivity - REAL(wp), DIMENSION(:,:,:), INTENT(inout) :: pevap_ice ! sublimation - REAL(wp), DIMENSION(:,:,:), INTENT(inout) :: pdevap_ice ! sublimation sensitivity + INTEGER , INTENT(in ) :: k_flxdist ! redistributor + REAL(wp), DIMENSION(A2D(0)) , INTENT(in ) :: pat_i ! ice concentration + REAL(wp), DIMENSION(A2D(0),jpl), INTENT(in ) :: pa_i ! ice concentration + REAL(wp), DIMENSION(A2D(0),jpl), INTENT(in ) :: ptn_ice ! ice surface temperature + REAL(wp), DIMENSION(A2D(0),jpl), INTENT(in ) :: palb_ice ! ice albedo + REAL(wp), DIMENSION(A2D(0),jpl), INTENT(inout) :: pqns_ice ! non solar flux + REAL(wp), DIMENSION(A2D(0),jpl), INTENT(inout) :: pqsr_ice ! net solar flux + REAL(wp), DIMENSION(A2D(0),jpl), INTENT(inout) :: pdqn_ice ! non solar flux sensitivity + REAL(wp), DIMENSION(A2D(0),jpl), INTENT(inout) :: pevap_ice ! sublimation + REAL(wp), DIMENSION(A2D(0),jpl), INTENT(inout) :: pdevap_ice ! sublimation sensitivity ! INTEGER :: jl ! dummy loop index ! - REAL(wp), DIMENSION(jpi,jpj) :: z1_at_i ! inverse of concentration + REAL(wp), DIMENSION(A2D(0)) :: z1_at_i ! inverse of concentration ! REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: z_qsr_m ! Mean solar heat flux over all categories REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: z_qns_m ! Mean non solar heat flux over all categories @@ -195,7 +235,7 @@ CONTAINS REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: ztem_m ! Mean temperature over all categories !!---------------------------------------------------------------------- ! - WHERE ( at_i (:,:) > 0._wp ) ; z1_at_i(:,:) = 1._wp / at_i (:,:) + WHERE ( pat_i(:,:) > 0._wp ) ; z1_at_i(:,:) = 1._wp / pat_i(:,:) ELSEWHERE ; z1_at_i(:,:) = 0._wp END WHERE @@ -203,13 +243,13 @@ CONTAINS ! CASE( 0 , 1 ) ! - ALLOCATE( z_qns_m(jpi,jpj), z_qsr_m(jpi,jpj), z_dqn_m(jpi,jpj), z_evap_m(jpi,jpj), z_devap_m(jpi,jpj) ) + ALLOCATE( z_qns_m(A2D(0)), z_qsr_m(A2D(0)), z_dqn_m(A2D(0)), z_evap_m(A2D(0)), z_devap_m(A2D(0)) ) ! - z_qns_m (:,:) = SUM( a_i(:,:,:) * pqns_ice (:,:,:) , dim=3 ) * z1_at_i(:,:) - z_qsr_m (:,:) = SUM( a_i(:,:,:) * pqsr_ice (:,:,:) , dim=3 ) * z1_at_i(:,:) - z_dqn_m (:,:) = SUM( a_i(:,:,:) * pdqn_ice (:,:,:) , dim=3 ) * z1_at_i(:,:) - z_evap_m (:,:) = SUM( a_i(:,:,:) * pevap_ice (:,:,:) , dim=3 ) * z1_at_i(:,:) - z_devap_m(:,:) = SUM( a_i(:,:,:) * pdevap_ice(:,:,:) , dim=3 ) * z1_at_i(:,:) + z_qns_m (:,:) = SUM( pa_i(:,:,:) * pqns_ice (:,:,:) , dim=3 ) * z1_at_i(:,:) + z_qsr_m (:,:) = SUM( pa_i(:,:,:) * pqsr_ice (:,:,:) , dim=3 ) * z1_at_i(:,:) + z_dqn_m (:,:) = SUM( pa_i(:,:,:) * pdqn_ice (:,:,:) , dim=3 ) * z1_at_i(:,:) + z_evap_m (:,:) = SUM( pa_i(:,:,:) * pevap_ice (:,:,:) , dim=3 ) * z1_at_i(:,:) + z_devap_m(:,:) = SUM( pa_i(:,:,:) * pdevap_ice(:,:,:) , dim=3 ) * z1_at_i(:,:) DO jl = 1, jpl pqns_ice (:,:,jl) = z_qns_m (:,:) pqsr_ice (:,:,jl) = z_qsr_m (:,:) @@ -226,10 +266,10 @@ CONTAINS ! CASE( 1 , 2 ) ! - ALLOCATE( zalb_m(jpi,jpj), ztem_m(jpi,jpj) ) + ALLOCATE( zalb_m(A2D(0)), ztem_m(A2D(0)) ) ! - zalb_m(:,:) = SUM( a_i(:,:,:) * palb_ice(:,:,:) , dim=3 ) * z1_at_i(:,:) - ztem_m(:,:) = SUM( a_i(:,:,:) * ptn_ice (:,:,:) , dim=3 ) * z1_at_i(:,:) + zalb_m(:,:) = SUM( pa_i(:,:,:) * palb_ice(:,:,:) , dim=3 ) * z1_at_i(:,:) + ztem_m(:,:) = SUM( pa_i(:,:,:) * ptn_ice (:,:,:) , dim=3 ) * z1_at_i(:,:) DO jl = 1, jpl pqns_ice (:,:,jl) = pqns_ice (:,:,jl) + pdqn_ice (:,:,jl) * ( ptn_ice(:,:,jl) - ztem_m(:,:) ) pevap_ice(:,:,jl) = pevap_ice(:,:,jl) + pdevap_ice(:,:,jl) * ( ptn_ice(:,:,jl) - ztem_m(:,:) ) @@ -257,7 +297,7 @@ CONTAINS REAL(wp) :: zfric_u, zqld, zqfr, zqfr_neg, zqfr_pos, zu_io, zv_io, zu_iom1, zv_iom1 REAL(wp), PARAMETER :: zfric_umin = 0._wp ! lower bound for the friction velocity (cice value=5.e-04) REAL(wp), PARAMETER :: zch = 0.0057_wp ! heat transfer coefficient - REAL(wp), DIMENSION(jpi,jpj) :: zfric, zvel ! ice-ocean velocity (m/s) and frictional velocity (m2/s2) + REAL(wp), DIMENSION(A2D(0)) :: zfric, zvel ! ice-ocean velocity (m/s) and frictional velocity (m2/s2) !!----------------------------------------------------------------------- ! ! computation of friction velocity at T points @@ -268,14 +308,13 @@ CONTAINS zv_io = v_ice(ji ,jj ) - ssv_m(ji ,jj ) zv_iom1 = v_ice(ji ,jj-1) - ssv_m(ji ,jj-1) ! - zfric(ji,jj) = rn_cio * ( 0.5_wp * ( zu_io*zu_io + zu_iom1*zu_iom1 + zv_io*zv_io + zv_iom1*zv_iom1 ) ) * tmask(ji,jj,1) + zfric(ji,jj) = rn_cio * ( 0.5_wp * ( zu_io*zu_io + zu_iom1*zu_iom1 + zv_io*zv_io + zv_iom1*zv_iom1 ) ) * smask0(ji,jj) 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( 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) + DO_2D( 0, 0, 0, 0 ) + zfric(ji,jj) = r1_rho0 * SQRT( utau(ji,jj)*utau(ji,jj) + vtau(ji,jj)*vtau(ji,jj) ) * smask0(ji,jj) zvel (ji,jj) = 0._wp END_2D ENDIF @@ -283,19 +322,19 @@ CONTAINS !--------------------------------------------------------------------! ! Partial computation of forcing for the thermodynamic sea ice model !--------------------------------------------------------------------! - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) ! needed for qlead - rswitch = tmask(ji,jj,1) * MAX( 0._wp , SIGN( 1._wp , at_i(ji,jj) - epsi10 ) ) ! 0 if no ice + DO_2D( 0, 0, 0, 0 ) ! needed for qlead + rswitch = smask0(ji,jj) * MAX( 0._wp , SIGN( 1._wp , at_i(ji,jj) - epsi10 ) ) ! 0 if no ice ! ! --- Energy received in the lead from atm-oce exchanges, zqld is defined everywhere (J.m-2) --- ! - zqld = tmask(ji,jj,1) * rDt_ice * & + zqld = smask0(ji,jj) * rDt_ice * & & ( ( 1._wp - at_i_b(ji,jj) ) * qsr_oce(ji,jj) * frq_m(ji,jj) + & & ( 1._wp - at_i_b(ji,jj) ) * qns_oce(ji,jj) + qemp_oce(ji,jj) ) ! --- Energy needed to bring ocean surface layer until its freezing, zqfr is defined everywhere (J.m-2) --- ! ! (mostly<0 but >0 if supercooling) - zqfr = rho0 * rcp * e3t_m(ji,jj) * ( t_bo(ji,jj) - ( sst_m(ji,jj) + rt0 ) ) * tmask(ji,jj,1) ! both < 0 (t_bo < sst) and > 0 (t_bo > sst) - zqfr_neg = MIN( zqfr , 0._wp ) ! only < 0 - zqfr_pos = MAX( zqfr , 0._wp ) ! only > 0 + zqfr = rho0 * rcp * e3t_m(ji,jj) * ( t_bo(ji,jj) - ( sst_m(ji,jj) + rt0 ) ) * smask0(ji,jj) ! both < 0 (t_bo < sst) and > 0 (t_bo > sst) + zqfr_neg = MIN( zqfr , 0._wp ) ! only < 0 + zqfr_pos = MAX( zqfr , 0._wp ) ! only > 0 ! --- Sensible ocean-to-ice heat flux (W/m2) --- ! ! (mostly>0 but <0 if supercooling) diff --git a/src/ICE/icestp.F90 b/src/ICE/icestp.F90 index 070052dbb..61d65ff74 100644 --- a/src/ICE/icestp.F90 +++ b/src/ICE/icestp.F90 @@ -77,6 +77,7 @@ MODULE icestp USE lib_fortran ! fortran utilities (glob_sum + no signed zero) USE timing ! Timing USE prtctl ! Print control + USE lbclnk ! lateral boundary conditions (or mpp links) IMPLICIT NONE PRIVATE @@ -109,7 +110,7 @@ CONTAINS !! - save the outputs !! - save the outputs for restart when necessary !! - !! ** Action : - time evolution of the LIM sea-ice model + !! ** Action : - time evolution of the SI3 sea-ice model !! - update all sbc variables below sea-ice: !! utau, vtau, taum, wndm, qns , qsr, emp , sfx !!--------------------------------------------------------------------- @@ -117,7 +118,7 @@ CONTAINS INTEGER, INTENT(in) :: Kbb, Kmm ! ocean time level indices INTEGER, INTENT(in) :: ksbc ! flux formulation (user defined, bulk, or Pure Coupled) ! - INTEGER :: jl ! dummy loop index + INTEGER :: ji, jj, jl ! dummy loop index !!---------------------------------------------------------------------- ! IF( ln_timing ) CALL timing_start('icestp') @@ -128,9 +129,12 @@ CONTAINS ! kt_ice = kt ! -- Ice model time step ! - u_oce(:,:) = ssu_m(:,:) ! -- mean surface ocean current - v_oce(:,:) = ssv_m(:,:) + DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) ! -- mean surface ocean current + u_oce(ji,jj) = ssu_m(ji,jj) + v_oce(ji,jj) = ssv_m(ji,jj) + END_2D ! + ! clem: I think t_bo needs to be defined everywhere but check CALL eos_fzp( sss_m(:,:) , t_bo(:,:) ) ! -- freezing temperature [Kelvin] (set to rt0 over land) t_bo(:,:) = ( t_bo(:,:) + rt0 ) * tmask(:,:,1) + rt0 * ( 1._wp - tmask(:,:,1) ) ! @@ -152,6 +156,7 @@ CONTAINS ! utau_ice, vtau_ice = surface ice stress [N/m2] !------------------------------------------------! CALL ice_sbc_tau( kt, ksbc, utau_ice, vtau_ice ) + ! => clem: here utau_ice and vtau_ice are defined everywhere !-------------------------------------! ! --- ice dynamics and advection --- ! !-------------------------------------! @@ -161,6 +166,11 @@ CONTAINS IF( ln_icedyn .AND. .NOT.ln_c1d ) & & CALL ice_dyn( kt, Kmm ) ! -- Ice dynamics ! + ! ==> clem: here, all the global variables are correctly defined in the halos: + ! ato_i, a_i, v_i, v_s, sv_i, oa_i, a_ip, v_ip, v_il, e_i, e_s + ! as well as h_i and t_su for practical reasons + ! It may not be necessary. If it is not, then remove lbc_lnk in icedyn_rdgrft and iceitd_reb + CALL diag_trends( 1 ) ! record dyn trends ! ! !== lateral boundary conditions ==! @@ -170,7 +180,8 @@ CONTAINS CALL ice_var_glo2eqv ! h_i and h_s for ice albedo calculation CALL ice_var_agg(1) ! at_i for coupling CALL store_fields ! Store now ice values - ! + ! ==> clem: here, full arrays = vt_i, vt_s, vt_ip, vt_il, at_i, at_ip, ato_i + ! reduced arrays = st_i, et_i, et_s, tm_su !------------------------------------------------------! ! --- Thermodynamical coupling with the atmosphere --- ! !------------------------------------------------------! @@ -184,11 +195,15 @@ CONTAINS ! qemp_oce, qemp_ice, = sensible heat (associated with evap & precip) [W/m2] ! qprec_ice, qevap_ice !------------------------------------------------------! + ! ==> clem: From here on, we only need to work on the interior domain + ! though it necessitates a large lbc at the end of the time step CALL ice_sbc_flx( kt, ksbc ) !----------------------------! ! --- ice thermodynamics --- ! !----------------------------! IF( ln_icethd ) CALL ice_thd( kt ) ! -- Ice thermodynamics + ! + ! ==> clem: here, all the global variables are correctly defined in the halos ! CALL diag_trends( 2 ) ! record thermo trends CALL ice_var_glo2eqv ! necessary calls (at least for coupling) @@ -288,7 +303,7 @@ CONTAINS CALL ice_drift_init ! initialization for diags of conservation ! fr_i (:,:) = at_i(:,:) ! initialisation of sea-ice fraction - tn_ice(:,:,:) = t_su(:,:,:) ! initialisation of surface temp for coupled simu + tn_ice(:,:,:) = t_su(A2D(0),:) ! initialisation of surface temp for coupled simu ! IF( ln_rstart ) THEN CALL iom_close( numrir ) ! close input ice restart file @@ -369,26 +384,33 @@ CONTAINS INTEGER :: ji, jj, jl ! dummy loop index !!---------------------------------------------------------------------- ! - a_i_b (:,:,:) = a_i (:,:,:) ! ice area - v_i_b (:,:,:) = v_i (:,:,:) ! ice volume - v_s_b (:,:,:) = v_s (:,:,:) ! snow volume - v_ip_b(:,:,:) = v_ip(:,:,:) ! pond volume - v_il_b(:,:,:) = v_il(:,:,:) ! pond lid volume - sv_i_b(:,:,:) = sv_i(:,:,:) ! salt content - e_s_b (:,:,:,:) = e_s (:,:,:,:) ! snow thermal energy - e_i_b (:,:,:,:) = e_i (:,:,:,:) ! ice thermal energy - WHERE( a_i_b(:,:,:) >= epsi20 ) - h_i_b(:,:,:) = v_i_b(:,:,:) / a_i_b(:,:,:) ! ice thickness - h_s_b(:,:,:) = v_s_b(:,:,:) / a_i_b(:,:,:) ! snw thickness - ELSEWHERE - h_i_b(:,:,:) = 0._wp - h_s_b(:,:,:) = 0._wp - END WHERE - ! - ! ice velocities & total concentration + DO jl = 1, jpl + DO_2D( 0, 0, 0, 0 ) + a_i_b (ji,jj,jl) = a_i (ji,jj,jl) ! ice area + v_i_b (ji,jj,jl) = v_i (ji,jj,jl) ! ice volume + v_s_b (ji,jj,jl) = v_s (ji,jj,jl) ! snow volume + v_ip_b(ji,jj,jl) = v_ip(ji,jj,jl) ! pond volume + v_il_b(ji,jj,jl) = v_il(ji,jj,jl) ! pond lid volume + sv_i_b(ji,jj,jl) = sv_i(ji,jj,jl) ! salt content + IF( a_i_b(ji,jj,jl) >= epsi20 ) THEN + h_i_b(ji,jj,jl) = v_i_b(ji,jj,jl) / a_i_b(ji,jj,jl) ! ice thickness + h_s_b(ji,jj,jl) = v_s_b(ji,jj,jl) / a_i_b(ji,jj,jl) ! snw thickness + ELSE + h_i_b(ji,jj,jl) = 0._wp + h_s_b(ji,jj,jl) = 0._wp + ENDIF + e_s_b (ji,jj,:,jl) = e_s (ji,jj,:,jl) ! snow thermal energy + e_i_b (ji,jj,:,jl) = e_i (ji,jj,:,jl) ! ice thermal energy + END_2D + ENDDO + ! total concentration at_i_b(:,:) = SUM( a_i_b(:,:,:), dim=3 ) - u_ice_b(:,:) = u_ice(:,:) - v_ice_b(:,:) = v_ice(:,:) + + ! ice velocity + DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + u_ice_b(ji,jj) = u_ice(ji,jj) + v_ice_b(ji,jj) = v_ice(ji,jj) + END_2D ! END SUBROUTINE store_fields @@ -402,20 +424,23 @@ CONTAINS !!---------------------------------------------------------------------- INTEGER :: ji, jj, jl ! dummy loop index !!---------------------------------------------------------------------- + DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + sfx_res(ji,jj) = 0._wp ; wfx_res(ji,jj) = 0._wp ; hfx_res(ji,jj) = 0._wp + END_2D - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) ! needed for (at least) diag_adv_mass -> to be removed + DO_2D( 0, 0, 0, 0 ) sfx (ji,jj) = 0._wp ; sfx_bri(ji,jj) = 0._wp ; sfx_lam(ji,jj) = 0._wp sfx_sni(ji,jj) = 0._wp ; sfx_opw(ji,jj) = 0._wp sfx_bog(ji,jj) = 0._wp ; sfx_dyn(ji,jj) = 0._wp sfx_bom(ji,jj) = 0._wp ; sfx_sum(ji,jj) = 0._wp - sfx_res(ji,jj) = 0._wp ; sfx_sub(ji,jj) = 0._wp + sfx_sub(ji,jj) = 0._wp ! wfx_snw(ji,jj) = 0._wp ; wfx_ice(ji,jj) = 0._wp wfx_sni(ji,jj) = 0._wp ; wfx_opw(ji,jj) = 0._wp wfx_bog(ji,jj) = 0._wp ; wfx_dyn(ji,jj) = 0._wp wfx_bom(ji,jj) = 0._wp ; wfx_sum(ji,jj) = 0._wp - wfx_res(ji,jj) = 0._wp ; wfx_sub(ji,jj) = 0._wp + wfx_sub(ji,jj) = 0._wp wfx_spr(ji,jj) = 0._wp ; wfx_lam(ji,jj) = 0._wp wfx_snw_dyn(ji,jj) = 0._wp ; wfx_snw_sum(ji,jj) = 0._wp wfx_snw_sub(ji,jj) = 0._wp ; wfx_ice_sub(ji,jj) = 0._wp @@ -426,7 +451,7 @@ CONTAINS hfx_snw(ji,jj) = 0._wp ; hfx_opw(ji,jj) = 0._wp hfx_bog(ji,jj) = 0._wp ; hfx_dyn(ji,jj) = 0._wp hfx_bom(ji,jj) = 0._wp ; hfx_sum(ji,jj) = 0._wp - hfx_res(ji,jj) = 0._wp ; hfx_sub(ji,jj) = 0._wp + hfx_sub(ji,jj) = 0._wp hfx_spr(ji,jj) = 0._wp ; hfx_dif(ji,jj) = 0._wp hfx_err_dif(ji,jj) = 0._wp wfx_err_sub(ji,jj) = 0._wp @@ -451,7 +476,7 @@ CONTAINS END_2D DO jl = 1, jpl - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) ! SIMIP diagnostics t_si (ji,jj,jl) = rt0 ! temp at the ice-snow interface qcn_ice_bot(ji,jj,jl) = 0._wp @@ -477,22 +502,25 @@ CONTAINS !! and outputs !!---------------------------------------------------------------------- INTEGER, INTENT(in) :: kn ! 1 = after dyn ; 2 = after thermo - !!---------------------------------------------------------------------- + INTEGER :: ji, jj, jl ! dummy loop index + !!---------------------------------------------------------------------- ! ! --- trends of heat, salt, mass (used for conservation controls) IF( ln_icediachk .OR. iom_use('hfxdhc') ) THEN ! - diag_heat(:,:) = diag_heat(:,:) & - & - SUM(SUM( e_i (:,:,1:nlay_i,:) - e_i_b (:,:,1:nlay_i,:), dim=4 ), dim=3 ) * r1_Dt_ice & - & - SUM(SUM( e_s (:,:,1:nlay_s,:) - e_s_b (:,:,1:nlay_s,:), dim=4 ), dim=3 ) * r1_Dt_ice - diag_sice(:,:) = diag_sice(:,:) & - & + SUM( sv_i(:,:,:) - sv_i_b(:,:,:) , dim=3 ) * r1_Dt_ice * rhoi - diag_vice(:,:) = diag_vice(:,:) & - & + SUM( v_i (:,:,:) - v_i_b (:,:,:) , dim=3 ) * r1_Dt_ice * rhoi - diag_vsnw(:,:) = diag_vsnw(:,:) & - & + SUM( v_s (:,:,:) - v_s_b (:,:,:) , dim=3 ) * r1_Dt_ice * rhos - diag_vpnd(:,:) = diag_vpnd(:,:) & - & + SUM( v_ip + v_il - v_ip_b - v_il_b , dim=3 ) * r1_Dt_ice * rhow + DO_2D( 0, 0, 0, 0 ) + diag_heat(ji,jj) = diag_heat(ji,jj) & + & - SUM(SUM( e_i (ji,jj,1:nlay_i,:) - e_i_b (ji,jj,1:nlay_i,:), dim=2 ) ) * r1_Dt_ice & + & - SUM(SUM( e_s (ji,jj,1:nlay_s,:) - e_s_b (ji,jj,1:nlay_s,:), dim=2 ) ) * r1_Dt_ice + diag_sice(ji,jj) = diag_sice(ji,jj) & + & + SUM( sv_i(ji,jj,:) - sv_i_b(ji,jj,:) ) * r1_Dt_ice * rhoi + diag_vice(ji,jj) = diag_vice(ji,jj) & + & + SUM( v_i (ji,jj,:) - v_i_b (ji,jj,:) ) * r1_Dt_ice * rhoi + diag_vsnw(ji,jj) = diag_vsnw(ji,jj) & + & + SUM( v_s (ji,jj,:) - v_s_b (ji,jj,:) ) * r1_Dt_ice * rhos + diag_vpnd(ji,jj) = diag_vpnd(ji,jj) & + & + SUM( v_ip(ji,jj,:)+v_il(ji,jj,:) - v_ip_b(ji,jj,:)-v_il_b(ji,jj,:) ) * r1_Dt_ice * rhow + END_2D ! IF( kn == 2 ) CALL iom_put ( 'hfxdhc' , diag_heat ) ! output of heat trend ! @@ -501,10 +529,12 @@ CONTAINS ! --- trends of concentration (used for simip outputs) IF( iom_use('afxdyn') .OR. iom_use('afxthd') .OR. iom_use('afxtot') ) THEN ! - diag_aice(:,:) = diag_aice(:,:) + SUM( a_i(:,:,:) - a_i_b(:,:,:), dim=3 ) * r1_Dt_ice + DO_2D( 0, 0, 0, 0 ) + diag_aice(ji,jj) = diag_aice(ji,jj) + SUM( a_i(ji,jj,:) - a_i_b(ji,jj,:) ) * r1_Dt_ice + END_2D ! IF( kn == 1 ) CALL iom_put( 'afxdyn' , diag_aice ) ! dyn trend - IF( kn == 2 ) CALL iom_put( 'afxthd' , SUM( a_i(:,:,:) - a_i_b(:,:,:), dim=3 ) * r1_Dt_ice ) ! thermo trend + IF( kn == 2 ) CALL iom_put( 'afxthd' , SUM( a_i(A2D(0),:) - a_i_b(A2D(0),:), dim=3 ) * r1_Dt_ice ) ! thermo trend IF( kn == 2 ) CALL iom_put( 'afxtot' , diag_aice ) ! total trend ! ENDIF diff --git a/src/ICE/icetab.F90 b/src/ICE/icetab.F90 index 2b1b880f5..02d3501ea 100644 --- a/src/ICE/icetab.F90 +++ b/src/ICE/icetab.F90 @@ -38,15 +38,24 @@ CONTAINS !!---------------------------------------------------------------------- INTEGER , INTENT(in ) :: ndim1d ! 1d size INTEGER , DIMENSION(ndim1d) , INTENT(in ) :: tab_ind ! input index - REAL(wp), DIMENSION(jpi,jpj,jpl), INTENT(in ) :: tab2d ! input 2D field + REAL(wp), DIMENSION(:,:,:) , INTENT(in ) :: tab2d ! input 2D field REAL(wp), DIMENSION(ndim1d,jpl) , INTENT(inout) :: tab1d ! output 1D field ! - INTEGER :: jl, jn, jid, jjd + INTEGER :: ipi, ipj, ji0, jj0, jl, jn, jid, jjd !!---------------------------------------------------------------------- + ipi = SIZE(tab2d,1) ! 1st dimension + ipj = SIZE(tab2d,2) ! 2nd dimension + ! + IF( ipi == jpi .AND. ipj == jpj ) THEN ! full arrays then no need to change index jid and jjd + ji0 = 0 ; jj0 = 0 + ELSE ! reduced arrays then need to shift index by nn_hls + ji0 = nn_hls ; jj0 = nn_hls ! since tab2d is shifted by nn_hls + ENDIF ! (i.e. from hls+1:jpi-hls to 1:jpi-2*hls) + ! DO jl = 1, jpl DO jn = 1, ndim1d - jid = MOD( tab_ind(jn) - 1 , jpi ) + 1 - jjd = ( tab_ind(jn) - 1 ) / jpi + 1 + jid = MOD( tab_ind(jn) - 1 , jpi ) + 1 - ji0 + jjd = ( tab_ind(jn) - 1 ) / jpi + 1 - jj0 tab1d(jn,jl) = tab2d(jid,jjd,jl) END DO END DO @@ -59,14 +68,23 @@ CONTAINS !!---------------------------------------------------------------------- INTEGER , INTENT(in ) :: ndim1d ! 1d size INTEGER , DIMENSION(ndim1d) , INTENT(in ) :: tab_ind ! input index - REAL(wp), DIMENSION(jpi,jpj), INTENT(in ) :: tab2d ! input 2D field + REAL(wp), DIMENSION(:,:) , INTENT(in ) :: tab2d ! input 2D field REAL(wp), DIMENSION(ndim1d) , INTENT(inout) :: tab1d ! output 1D field ! - INTEGER :: jn , jid, jjd + INTEGER :: ipi, ipj, ji0, jj0, jn, jid, jjd !!---------------------------------------------------------------------- + ipi = SIZE(tab2d,1) ! 1st dimension + ipj = SIZE(tab2d,2) ! 2nd dimension + ! + IF( ipi == jpi .AND. ipj == jpj ) THEN ! full arrays then no need to change index jid and jjd + ji0 = 0 ; jj0 = 0 + ELSE ! reduced arrays then need to shift index by nn_hls + ji0 = nn_hls ; jj0 = nn_hls ! since tab2d is shifted by nn_hls + ENDIF ! (i.e. from hls+1:jpi-hls to 1:jpi-2*hls) + ! DO jn = 1, ndim1d - jid = MOD( tab_ind(jn) - 1 , jpi ) + 1 - jjd = ( tab_ind(jn) - 1 ) / jpi + 1 + jid = MOD( tab_ind(jn) - 1 , jpi ) + 1 - ji0 + jjd = ( tab_ind(jn) - 1 ) / jpi + 1 - jj0 tab1d( jn) = tab2d( jid, jjd) END DO END SUBROUTINE tab_2d_1d @@ -79,14 +97,23 @@ CONTAINS INTEGER , INTENT(in ) :: ndim1d ! 1D size INTEGER , DIMENSION(ndim1d) , INTENT(in ) :: tab_ind ! input index REAL(wp), DIMENSION(ndim1d,jpl) , INTENT(in ) :: tab1d ! input 1D field - REAL(wp), DIMENSION(jpi,jpj,jpl), INTENT(inout) :: tab2d ! output 2D field + REAL(wp), DIMENSION(:,:,:) , INTENT(inout) :: tab2d ! output 2D field ! - INTEGER :: jl, jn, jid, jjd + INTEGER :: ipi, ipj, ji0, jj0, jl, jn, jid, jjd !!---------------------------------------------------------------------- + ipi = SIZE(tab2d,1) ! 1st dimension + ipj = SIZE(tab2d,2) ! 2nd dimension + ! + IF( ipi == jpi .AND. ipj == jpj ) THEN ! full arrays then no need to change index jid and jjd + ji0 = 0 ; jj0 = 0 + ELSE ! reduced arrays then need to shift index by nn_hls + ji0 = nn_hls ; jj0 = nn_hls ! since tab2d is shifted by nn_hls + ENDIF ! (i.e. from hls+1:jpi-hls to 1:jpi-2*hls) + ! DO jl = 1, jpl DO jn = 1, ndim1d - jid = MOD( tab_ind(jn) - 1 , jpi ) + 1 - jjd = ( tab_ind(jn) - 1 ) / jpi + 1 + jid = MOD( tab_ind(jn) - 1 , jpi ) + 1 - ji0 + jjd = ( tab_ind(jn) - 1 ) / jpi + 1 - jj0 tab2d(jid,jjd,jl) = tab1d(jn,jl) END DO END DO @@ -100,13 +127,22 @@ CONTAINS INTEGER , INTENT(in ) :: ndim1d ! 1D size INTEGER , DIMENSION(ndim1d) , INTENT(in ) :: tab_ind ! input index REAL(wp), DIMENSION(ndim1d) , INTENT(in ) :: tab1d ! input 1D field - REAL(wp), DIMENSION(jpi,jpj), INTENT(inout) :: tab2d ! output 2D field + REAL(wp), DIMENSION(:,:) , INTENT(inout) :: tab2d ! output 2D field ! - INTEGER :: jn , jid, jjd + INTEGER :: ipi, ipj, ji0, jj0, jn, jid, jjd !!---------------------------------------------------------------------- + ipi = SIZE(tab2d,1) ! 1st dimension + ipj = SIZE(tab2d,2) ! 2nd dimension + ! + IF( ipi == jpi .AND. ipj == jpj ) THEN ! full arrays then no need to change index jid and jjd + ji0 = 0 ; jj0 = 0 + ELSE ! reduced arrays then need to shift index by nn_hls + ji0 = nn_hls ; jj0 = nn_hls ! since tab2d is shifted by nn_hls + ENDIF ! (i.e. from hls+1:jpi-hls to 1:jpi-2*hls) + ! DO jn = 1, ndim1d - jid = MOD( tab_ind(jn) - 1 , jpi ) + 1 - jjd = ( tab_ind(jn) - 1 ) / jpi + 1 + jid = MOD( tab_ind(jn) - 1 , jpi ) + 1 - ji0 + jjd = ( tab_ind(jn) - 1 ) / jpi + 1 - jj0 tab2d(jid, jjd) = tab1d( jn) END DO END SUBROUTINE tab_1d_2d diff --git a/src/ICE/icethd.F90 b/src/ICE/icethd.F90 index 3971c4415..e831a062e 100644 --- a/src/ICE/icethd.F90 +++ b/src/ICE/icethd.F90 @@ -98,7 +98,7 @@ CONTAINS ! convergence tests IF( ln_zdf_chkcvg ) THEN - ALLOCATE( ztice_cvgerr(jpi,jpj,jpl) , ztice_cvgstp(jpi,jpj,jpl) ) + ALLOCATE( ztice_cvgerr(A2D(0),jpl) , ztice_cvgstp(A2D(0),jpl) ) ztice_cvgerr = 0._wp ; ztice_cvgstp = 0._wp ENDIF ! @@ -111,7 +111,7 @@ CONTAINS ! select ice covered grid points npti = 0 ; nptidx(:) = 0 - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) IF ( a_i(ji,jj,jl) > epsi10 ) THEN npti = npti + 1 nptidx(npti) = (jj - 1) * jpi + ji @@ -158,6 +158,13 @@ CONTAINS IF( jpl > 1 ) CALL ice_itd_rem( kt ) ! --- Transport ice between thickness categories --- ! ! IF( ln_icedO ) CALL ice_thd_do ! --- Frazil ice growth in leads --- ! + ! + ! ! --- LBC for the halos --- ! + ! the 2 lbc below could be avoided if calculations above were performed over the full domain + ! but we think it is more efficient this way + CALL lbc_lnk( 'icethd', a_i , 'T', 1._wp, v_i , 'T', 1._wp, v_s , 'T', 1._wp, sv_i, 'T', 1._wp, oa_i, 'T', 1._wp, & + & a_ip, 'T', 1._wp, v_ip, 'T', 1._wp, v_il, 'T', 1._wp, t_su, 'T', 1._wp ) + CALL lbc_lnk( 'icethd', e_i , 'T', 1._wp, e_s , 'T', 1._wp ) ! CALL ice_cor( kt , 2 ) ! --- Corrections --- ! ! diff --git a/src/ICE/icethd_do.F90 b/src/ICE/icethd_do.F90 index ace1000aa..690af0e21 100644 --- a/src/ICE/icethd_do.F90 +++ b/src/ICE/icethd_do.F90 @@ -28,7 +28,6 @@ MODULE icethd_do USE in_out_manager ! I/O manager USE lib_mpp ! MPP library USE lib_fortran ! fortran utilities (glob_sum + no signed zero) - USE lbclnk ! lateral boundary conditions (or mpp links) IMPLICIT NONE PRIVATE @@ -105,7 +104,7 @@ CONTAINS IF( ln_icediachk ) CALL ice_cons_hsm( 0, 'icethd_do', rdiag_v, rdiag_s, rdiag_t, rdiag_fv, rdiag_fs, rdiag_ft ) IF( ln_icediachk ) CALL ice_cons2D ( 0, 'icethd_do', diag_v, diag_s, diag_t, diag_fv, diag_fs, diag_ft ) - at_i(:,:) = SUM( a_i, dim=3 ) + at_i(A2D(0)) = SUM( a_i(A2D(0),:), dim=3 ) !------------------------------------------------------------------------------! ! 1) Compute thickness, salinity, enthalpy, age, area and volume of new ice !------------------------------------------------------------------------------! @@ -113,7 +112,7 @@ CONTAINS ! Identify grid points where new ice forms npti = 0 ; nptidx(:) = 0 - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) IF ( qlead(ji,jj) < 0._wp ) THEN npti = npti + 1 nptidx( npti ) = (jj - 1) * jpi + ji @@ -325,6 +324,8 @@ CONTAINS ! ENDIF ! npti > 0 ! + ! the following fields need to be updated on the halos (done in icethd): a_i, v_i, sv_i, e_i + ! IF( ln_icediachk ) CALL ice_cons_hsm(1, 'icethd_do', rdiag_v, rdiag_s, rdiag_t, rdiag_fv, rdiag_fs, rdiag_ft) IF( ln_icediachk ) CALL ice_cons2D (1, 'icethd_do', diag_v, diag_s, diag_t, diag_fv, diag_fs, diag_ft) ! @@ -372,8 +373,8 @@ CONTAINS DO_2D( 0, 0, 0, 0 ) IF ( qlead(ji,jj) < 0._wp ) THEN ! cooling ! -- Wind stress -- ! - ztaux = utau_ice(ji,jj) * tmask(ji,jj,1) - ztauy = vtau_ice(ji,jj) * tmask(ji,jj,1) + ztaux = utau_ice(ji,jj) * smask0(ji,jj) + ztauy = vtau_ice(ji,jj) * smask0(ji,jj) ! Square root of wind stress ztenagm = SQRT( SQRT( ztaux * ztaux + ztauy * ztauy ) ) @@ -415,8 +416,6 @@ CONTAINS ! END_2D ! - CALL lbc_lnk( 'icethd_frazil', fraz_frac, 'T', 1.0_wp, ht_i_new, 'T', 1.0_wp ) - ENDIF END SUBROUTINE ice_thd_frazil diff --git a/src/ICE/icethd_pnd.F90 b/src/ICE/icethd_pnd.F90 index f0949d8f0..8f5b63df6 100644 --- a/src/ICE/icethd_pnd.F90 +++ b/src/ICE/icethd_pnd.F90 @@ -84,7 +84,7 @@ CONTAINS INTEGER :: ji, jj, jl ! loop indices !!------------------------------------------------------------------- - ALLOCATE( diag_dvpn_mlt(jpi,jpj), diag_dvpn_lid(jpi,jpj), diag_dvpn_drn(jpi,jpj), diag_dvpn_rnf(jpi,jpj) ) + ALLOCATE( diag_dvpn_mlt(A2D(0)) , diag_dvpn_lid(A2D(0)) , diag_dvpn_drn(A2D(0)) , diag_dvpn_rnf(A2D(0)) ) ALLOCATE( diag_dvpn_mlt_1d(jpij), diag_dvpn_lid_1d(jpij), diag_dvpn_drn_1d(jpij), diag_dvpn_rnf_1d(jpij) ) ! diag_dvpn_mlt (:,:) = 0._wp ; diag_dvpn_drn (:,:) = 0._wp @@ -98,7 +98,7 @@ CONTAINS at_i(:,:) = SUM( a_i, dim=3 ) ! DO jl = 1, jpl - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) IF( v_i(ji,jj,jl) < epsi10 .OR. at_i(ji,jj) < epsi10 ) THEN wfx_pnd (ji,jj) = wfx_pnd(ji,jj) + ( v_ip(ji,jj,jl) + v_il(ji,jj,jl) ) * rhow * r1_Dt_ice a_ip (ji,jj,jl) = 0._wp @@ -115,7 +115,7 @@ CONTAINS ! Identify grid cells with ice !------------------------------ npti = 0 ; nptidx(:) = 0 - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) IF( at_i(ji,jj) >= epsi10 ) THEN npti = npti + 1 nptidx( npti ) = (jj - 1) * jpi + ji @@ -137,6 +137,8 @@ CONTAINS END SELECT ENDIF + ! the following fields need to be updated in the halos (done in icethd): a_ip, v_ip, v_il, h_ip, h_il + !------------------------------------ ! Diagnostics !------------------------------------ @@ -529,7 +531,7 @@ CONTAINS zv_pnd , & ! volume of meltwater contributing to ponds zv_mlt ! total amount of meltwater produced - REAL(wp), DIMENSION(jpi,jpj) :: zvolp_ini , & !! total melt pond water available before redistribution and drainage + REAL(wp), DIMENSION(A2D(0)) :: zvolp_ini , & !! total melt pond water available before redistribution and drainage zvolp , & !! total melt pond water volume zvolp_res !! remaining melt pond water available after drainage @@ -589,7 +591,7 @@ CONTAINS zvolp(:,:) = 0._wp DO jl = 1, jpl - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) IF ( a_i(ji,jj,jl) > epsi10 ) THEN @@ -637,7 +639,7 @@ CONTAINS IF( ln_pnd_lids ) THEN - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) IF ( at_i(ji,jj) > 0.01 .AND. hm_i(ji,jj) > rn_himin .AND. zvolp_ini(ji,jj) > zvp_min * at_i(ji,jj) ) THEN @@ -764,7 +766,7 @@ CONTAINS DO jl = 1, jpl - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) ! ! zap lids on small ponds ! IF ( a_i(ji,jj,jl) > epsi10 .AND. v_ip(ji,jj,jl) < epsi10 & @@ -826,7 +828,7 @@ CONTAINS !! !!------------------------------------------------------------------ - REAL (wp), DIMENSION(jpi,jpj), INTENT(INOUT) :: & + REAL (wp), DIMENSION(A2D(0)), INTENT(INOUT) :: & zvolp, & ! total available pond water zdvolp ! remaining meltwater after redistribution @@ -865,10 +867,10 @@ CONTAINS INTEGER :: ji, jj, jk, jl ! loop indices - a_ip(:,:,:) = 0._wp - h_ip(:,:,:) = 0._wp + a_ip(A2D(0),:) = 0._wp + h_ip(A2D(0),:) = 0._wp - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) IF ( at_i(ji,jj) > 0.01 .AND. hm_i(ji,jj) > rn_himin .AND. zvolp(ji,jj) > zvp_min * at_i(ji,jj) ) THEN diff --git a/src/ICE/iceupdate.F90 b/src/ICE/iceupdate.F90 index f6d047adf..aac48c07c 100644 --- a/src/ICE/iceupdate.F90 +++ b/src/ICE/iceupdate.F90 @@ -55,7 +55,7 @@ CONTAINS !!------------------------------------------------------------------- !! *** ROUTINE ice_update_alloc *** !!------------------------------------------------------------------- - ALLOCATE( utau_oce(jpi,jpj), vtau_oce(jpi,jpj), tmod_io(jpi,jpj), STAT=ice_update_alloc ) + ALLOCATE( utau_oce(A2D(0)), vtau_oce(A2D(0)), tmod_io(A2D(1)), STAT=ice_update_alloc ) ! CALL mpp_sum( 'iceupdate', ice_update_alloc ) IF( ice_update_alloc /= 0 ) CALL ctl_stop( 'STOP', 'ice_update_alloc: failed to allocate arrays' ) @@ -104,22 +104,29 @@ CONTAINS ! Net heat flux on top of the ice-ocean (W.m-2) !---------------------------------------------- IF( ln_cndflx ) THEN ! ice-atm interface = conduction (and melting) fluxes - qt_atm_oi(:,:) = ( 1._wp - at_i_b(:,:) ) * ( qns_oce(:,:) + qsr_oce(:,:) ) + qemp_oce(:,:) + & - & SUM( a_i_b * ( qcn_ice + qml_ice + qtr_ice_top ), dim=3 ) + qemp_ice(:,:) + DO_2D( 0, 0, 0, 0 ) + qt_atm_oi(ji,jj) = ( 1._wp - at_i_b(ji,jj) ) * ( qns_oce(ji,jj) + qsr_oce(ji,jj) ) + qemp_oce(ji,jj) & + & + SUM( a_i_b(ji,jj,:) * ( qcn_ice(ji,jj,:) + qml_ice(ji,jj,:) + qtr_ice_top(ji,jj,:) ) ) & + & + qemp_ice(ji,jj) + END_2D ELSE ! ice-atm interface = solar and non-solar fluxes - qt_atm_oi(:,:) = qns_tot(:,:) + qsr_tot(:,:) + DO_2D( 0, 0, 0, 0 ) + qt_atm_oi(ji,jj) = qns_tot(ji,jj) + qsr_tot(ji,jj) + END_2D ENDIF ! --- case we bypass ice thermodynamics --- ! IF( .NOT. ln_icethd ) THEN ! we suppose ice is impermeable => ocean is isolated from atmosphere - qt_atm_oi (:,:) = ( 1._wp - at_i_b(:,:) ) * ( qns_oce(:,:) + qsr_oce(:,:) ) + qemp_oce(:,:) - qt_oce_ai (:,:) = ( 1._wp - at_i_b(:,:) ) * qns_oce(:,:) + qemp_oce(:,:) - emp_ice (:,:) = 0._wp - qemp_ice (:,:) = 0._wp - qevap_ice (:,:,:) = 0._wp + DO_2D( 0, 0, 0, 0 ) + qt_atm_oi (ji,jj) = ( 1._wp - at_i_b(ji,jj) ) * ( qns_oce(ji,jj) + qsr_oce(ji,jj) ) + qemp_oce(ji,jj) + qt_oce_ai (ji,jj) = ( 1._wp - at_i_b(ji,jj) ) * qns_oce(ji,jj) + qemp_oce(ji,jj) + emp_ice (ji,jj) = 0._wp + qemp_ice (ji,jj) = 0._wp + qevap_ice (ji,jj,:) = 0._wp + END_2D ENDIF - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) ! Solar heat flux reaching the ocean (max) = zqsr (W.m-2) !--------------------------------------------------- @@ -183,20 +190,22 @@ CONTAINS snwice_mass_b(ji,jj) = snwice_mass(ji,jj) ! save mass from the previous ice time step ! ! new mass per unit area snwice_mass (ji,jj) = tmask(ji,jj,1) * ( rhos * vt_s(ji,jj) + rhoi * vt_i(ji,jj) + rhow * (vt_ip(ji,jj) + vt_il(ji,jj)) ) - ! ! time evolution of snow+ice mass - snwice_fmass (ji,jj) = ( snwice_mass(ji,jj) - snwice_mass_b(ji,jj) ) * r1_Dt_ice END_2D + CALL lbc_lnk( 'iceupdate', snwice_mass, 'T', 1.0_wp, snwice_mass_b, 'T', 1.0_wp ) ! needed for sshwzv and dynspg_ts (lbc on emp is done in sbcmod) + + ! time evolution of snow+ice mass + snwice_fmass (:,:) = ( snwice_mass(:,:) - snwice_mass_b(:,:) ) * r1_Dt_ice ! Storing the transmitted variables !---------------------------------- fr_i (:,:) = at_i(:,:) ! Sea-ice fraction - tn_ice(:,:,:) = t_su(:,:,:) ! Ice surface temperature + tn_ice(:,:,:) = t_su(A2D(0),:) ! Ice surface temperature ! Snow/ice albedo (only if sent to coupler, useless in forced mode) !------------------------------------------------------------------ - CALL ice_alb( t_su, h_i, h_s, ln_pnd_alb, a_ip_eff, h_ip, cloud_fra, alb_ice ) ! ice albedo - + CALL ice_alb( ln_pnd_alb, t_su(A2D(0),:), h_i(A2D(0),:), h_s(A2D(0),:), a_ip_eff(:,:,:), h_ip(A2D(0),:), cloud_fra(:,:), & ! <<== in + & alb_ice(:,:,:) ) ! ==>> out ! IF( lrst_ice ) THEN !* write snwice_mass fields in the restart file CALL update_rst( 'WRITE', kt ) @@ -216,8 +225,8 @@ CONTAINS IF( iom_use('sfxopw' ) ) CALL iom_put( 'sfxopw', sfx_opw * 1.e-03 ) ! salt flux from open water formation IF( iom_use('sfxdyn' ) ) CALL iom_put( 'sfxdyn', sfx_dyn * 1.e-03 ) ! salt flux from ridging rafting IF( iom_use('sfxbri' ) ) CALL iom_put( 'sfxbri', sfx_bri * 1.e-03 ) ! salt flux from brines - IF( iom_use('sfxres' ) ) CALL iom_put( 'sfxres', sfx_res * 1.e-03 ) ! salt flux from undiagnosed processes IF( iom_use('sfxsub' ) ) CALL iom_put( 'sfxsub', sfx_sub * 1.e-03 ) ! salt flux from sublimation + IF( iom_use('sfxres' ) ) CALL iom_put( 'sfxres', sfx_res(A2D(0)) * 1.e-03 ) ! salt flux from undiagnosed processes ! --- mass fluxes [kg/m2/s] --- ! CALL iom_put( 'emp_oce', emp_oce ) ! emp over ocean (taking into account the snow blown away from the ice) @@ -232,13 +241,13 @@ CONTAINS CALL iom_put( 'vfxsni' , wfx_sni ) ! mass flux from snow-ice formation CALL iom_put( 'vfxopw' , wfx_opw ) ! mass flux from growth in open water CALL iom_put( 'vfxdyn' , wfx_dyn ) ! mass flux from dynamics (ridging) - CALL iom_put( 'vfxres' , wfx_res ) ! mass flux from undiagnosed processes CALL iom_put( 'vfxpnd' , wfx_pnd ) ! mass flux from melt ponds CALL iom_put( 'vfxsub' , wfx_ice_sub ) ! mass flux from ice sublimation (ice-atm.) CALL iom_put( 'vfxsub_err', wfx_err_sub ) ! "excess" of sublimation sent to ocean + CALL iom_put( 'vfxres' , wfx_res(A2D(0)) ) ! mass flux from undiagnosed processes IF ( iom_use( 'vfxthin' ) ) THEN ! mass flux from ice growth in open water + thin ice (<20cm) => comparable to observations - ALLOCATE( z2d(jpi,jpj) ) + ALLOCATE( z2d(A2D(0)) ) WHERE( hm_i(:,:) < 0.2 .AND. hm_i(:,:) > 0. ) ; z2d = wfx_bog ELSEWHERE ; z2d = 0._wp END WHERE @@ -264,8 +273,8 @@ CONTAINS IF( iom_use('qtr_ice_top') ) CALL iom_put( 'qtr_ice_top', SUM( qtr_ice_top * a_i_b, dim=3 ) ) ! solar flux transmitted thru ice surface IF( iom_use('qt_oce' ) ) CALL iom_put( 'qt_oce' , ( qsr_oce + qns_oce ) * ( 1._wp - at_i_b ) + qemp_oce ) IF( iom_use('qt_ice' ) ) CALL iom_put( 'qt_ice' , SUM( ( qns_ice + qsr_ice ) * a_i_b, dim=3 ) + qemp_ice ) - IF( iom_use('qt_oce_ai' ) ) CALL iom_put( 'qt_oce_ai' , qt_oce_ai * tmask(:,:,1) ) ! total heat flux at the ocean surface: interface oce-(ice+atm) - IF( iom_use('qt_atm_oi' ) ) CALL iom_put( 'qt_atm_oi' , qt_atm_oi * tmask(:,:,1) ) ! total heat flux at the oce-ice surface: interface atm-(ice+oce) + IF( iom_use('qt_oce_ai' ) ) CALL iom_put( 'qt_oce_ai' , qt_oce_ai * smask0 ) ! total heat flux at the ocean surface: interface oce-(ice+atm) + IF( iom_use('qt_atm_oi' ) ) CALL iom_put( 'qt_atm_oi' , qt_atm_oi * smask0 ) ! total heat flux at the oce-ice surface: interface atm-(ice+oce) IF( iom_use('qemp_oce' ) ) CALL iom_put( 'qemp_oce' , qemp_oce ) ! Downward Heat Flux from E-P over ocean IF( iom_use('qemp_ice' ) ) CALL iom_put( 'qemp_ice' , qemp_ice ) ! Downward Heat Flux from E-P over ice @@ -282,9 +291,9 @@ CONTAINS ! heat fluxes associated with mass exchange (freeze/melt/precip...) CALL iom_put ('hfxthd' , hfx_thd ) ! CALL iom_put ('hfxdyn' , hfx_dyn ) ! - CALL iom_put ('hfxres' , hfx_res ) ! CALL iom_put ('hfxsub' , hfx_sub ) ! CALL iom_put ('hfxspr' , hfx_spr ) ! Heat flux from snow precip heat content + CALL iom_put ('hfxres' , hfx_res(A2D(0)) ) ! ! other heat fluxes IF( iom_use('hfxsensib' ) ) CALL iom_put( 'hfxsensib' , qsb_ice_bot * at_i_b ) ! Sensible oceanic heat flux @@ -350,27 +359,38 @@ CONTAINS zrhoco = rho0 * rn_cio ! IF( MOD( kt-1, nn_fsbc ) == 0 ) THEN !== Ice time-step only ==! (i.e. surface module time-step) - DO_2D( 0, 0, 0, 0 ) !* update the modulus of stress at ocean surface (T-point) + DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) !* rhoco * |U_ice-U_oce| at T-point + ! ! 2*(U_ice-U_oce) at T-point + zu_t = u_ice(ji,jj) + u_ice(ji-1,jj) - u_oce(ji,jj) - u_oce(ji-1,jj) ! u_oce = ssu_m + zv_t = v_ice(ji,jj) + v_ice(ji,jj-1) - v_oce(ji,jj) - v_oce(ji,jj-1) ! v_oce = ssv_m + ! ! |U_ice-U_oce|^2 + zmodt = 0.25_wp * ( zu_t * zu_t + zv_t * zv_t ) + ! + tmod_io(ji,jj) = zrhoco * SQRT( zmodt ) + END_2D + IF( nn_hls == 1 ) CALL lbc_lnk( 'iceupdate', tmod_io, 'T', 1._wp ) + ! + DO_2D( 0, 0, 0, 0 ) !* save the air-ocean stresses at ice time-step ! ! 2*(U_ice-U_oce) at T-point zu_t = u_ice(ji,jj) + u_ice(ji-1,jj) - u_oce(ji,jj) - u_oce(ji-1,jj) ! u_oce = ssu_m zv_t = v_ice(ji,jj) + v_ice(ji,jj-1) - v_oce(ji,jj) - v_oce(ji,jj-1) ! v_oce = ssv_m - ! ! |U_ice-U_oce|^2 + ! ! |U_ice-U_oce|^2 zmodt = 0.25_wp * ( zu_t * zu_t + zv_t * zv_t ) ! ! update the ocean stress modulus taum(ji,jj) = ( 1._wp - at_i(ji,jj) ) * taum(ji,jj) + at_i(ji,jj) * zrhoco * zmodt - tmod_io(ji,jj) = zrhoco * SQRT( zmodt ) ! rhoco * |U_ice-U_oce| at T-point + ! + utau_oce(ji,jj) = utau(ji,jj) + vtau_oce(ji,jj) = vtau(ji,jj) END_2D - CALL lbc_lnk( 'iceupdate', taum, 'T', 1.0_wp, tmod_io, 'T', 1.0_wp ) - ! - utau_oce(:,:) = utau(:,:) !* save the air-ocean stresses at ice time-step - vtau_oce(:,:) = vtau(:,:) ! ENDIF ! ! !== every ocean time-step ==! IF ( ln_drgice_imp ) THEN ! Save drag with right sign to update top drag in the ocean implicit friction - rCdU_ice(:,:) = -r1_rho0 * tmod_io(:,:) * at_i(:,:) * tmask(:,:,1) + DO_2D( 1, 1, 1, 1 ) + rCdU_ice(ji,jj) = -r1_rho0 * tmod_io(ji,jj) * at_i(ji,jj) * tmask(ji,jj,1) + END_2D zflagi = 0._wp ELSE zflagi = 1._wp @@ -384,7 +404,6 @@ CONTAINS utau(ji,jj) = ( 1._wp - at_i(ji,jj) ) * utau_oce(ji,jj) + at_i(ji,jj) * zutau_ice vtau(ji,jj) = ( 1._wp - at_i(ji,jj) ) * vtau_oce(ji,jj) + at_i(ji,jj) * zvtau_ice END_2D - CALL lbc_lnk( 'iceupdate', utau, 'T', -1.0_wp, vtau, 'T', -1.0_wp ) ! lateral boundary condition ! IF( ln_timing ) CALL timing_stop('iceupdate') ! @@ -441,12 +460,12 @@ CONTAINS CALL iom_get( numrir, jpdom_auto, 'snwice_mass_b', snwice_mass_b ) ELSE ! start from rest IF(lwp) WRITE(numout,*) ' ==>> previous run without snow-ice mass output then set it' - snwice_mass (:,:) = tmask(:,:,1) * ( rhos * vt_s(:,:) + rhoi * vt_i(:,:) ) + snwice_mass (:,:) = tmask(:,:,1) * ( rhos * vt_s(:,:) + rhoi * vt_i(:,:) + rhow * (vt_ip(:,:) + vt_il(:,:)) ) snwice_mass_b(:,:) = snwice_mass(:,:) ENDIF ELSE !* Start from rest IF(lwp) WRITE(numout,*) ' ==>> start from rest: set the snow-ice mass' - snwice_mass (:,:) = tmask(:,:,1) * ( rhos * vt_s(:,:) + rhoi * vt_i(:,:) ) + snwice_mass (:,:) = tmask(:,:,1) * ( rhos * vt_s(:,:) + rhoi * vt_i(:,:) + rhow * (vt_ip(:,:) + vt_il(:,:)) ) snwice_mass_b(:,:) = snwice_mass(:,:) ENDIF ! diff --git a/src/ICE/icevar.F90 b/src/ICE/icevar.F90 index 535c5eb62..a51496309 100644 --- a/src/ICE/icevar.F90 +++ b/src/ICE/icevar.F90 @@ -117,70 +117,88 @@ CONTAINS REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: z1_at_i, z1_vt_i, z1_vt_s !!------------------------------------------------------------------- ! - ! ! integrated values - vt_i(:,:) = SUM( v_i (:,:,:) , dim=3 ) - vt_s(:,:) = SUM( v_s (:,:,:) , dim=3 ) - st_i(:,:) = SUM( sv_i(:,:,:) , dim=3 ) - at_i(:,:) = SUM( a_i (:,:,:) , dim=3 ) - et_s(:,:) = SUM( SUM( e_s (:,:,:,:), dim=4 ), dim=3 ) - et_i(:,:) = SUM( SUM( e_i (:,:,:,:), dim=4 ), dim=3 ) + ! full arrays: vt_i, vt_s, at_i, vt_ip, vt_il, at_ip + ! reduced arrays: the rest ! - at_ip(:,:) = SUM( a_ip(:,:,:), dim=3 ) ! melt ponds - vt_ip(:,:) = SUM( v_ip(:,:,:), dim=3 ) - vt_il(:,:) = SUM( v_il(:,:,:), dim=3 ) + ! ! integrated values + DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + vt_i(ji,jj) = SUM( v_i (ji,jj,:) ) + vt_s(ji,jj) = SUM( v_s (ji,jj,:) ) + at_i(ji,jj) = SUM( a_i (ji,jj,:) ) + ! + at_ip(ji,jj) = SUM( a_ip(ji,jj,:) ) ! melt ponds + vt_ip(ji,jj) = SUM( v_ip(ji,jj,:) ) + vt_il(ji,jj) = SUM( v_il(ji,jj,:) ) + END_2D + DO_2D( 0, 0, 0, 0 ) + st_i(ji,jj) = SUM( sv_i(ji,jj,:) ) + et_s(ji,jj) = SUM( SUM( e_s (ji,jj,:,:), dim=2 ) ) + et_i(ji,jj) = SUM( SUM( e_i (ji,jj,:,:), dim=2 ) ) + END_2D ! ato_i(:,:) = 1._wp - at_i(:,:) ! open water fraction ! !!GS: tm_su always needed by ABL over sea-ice - ALLOCATE( z1_at_i(jpi,jpj) ) - WHERE( at_i(:,:) > epsi20 ) ; z1_at_i(:,:) = 1._wp / at_i(:,:) - ELSEWHERE ; z1_at_i(:,:) = 0._wp + ALLOCATE( z1_at_i(A2D(0)) ) + WHERE( at_i(A2D(0)) > epsi20 ) ; z1_at_i(:,:) = 1._wp / at_i(A2D(0)) + ELSEWHERE ; z1_at_i(:,:) = 0._wp END WHERE - tm_su(:,:) = SUM( t_su(:,:,:) * a_i(:,:,:) , dim=3 ) * z1_at_i(:,:) - WHERE( at_i(:,:)<=epsi20 ) tm_su(:,:) = rt0 + DO_2D( 0, 0, 0, 0 ) + IF( at_i(ji,jj)<=epsi20 ) THEN + tm_su(ji,jj) = rt0 + ELSE + tm_su(ji,jj) = SUM( t_su(ji,jj,:) * a_i(ji,jj,:) ) * z1_at_i(ji,jj) + ENDIF + END_2D ! ! The following fields are calculated for diagnostics and outputs only ! ==> Do not use them for other purposes IF( kn > 1 ) THEN ! - ALLOCATE( z1_vt_i(jpi,jpj) , z1_vt_s(jpi,jpj) ) - WHERE( vt_i(:,:) > epsi20 ) ; z1_vt_i(:,:) = 1._wp / vt_i(:,:) - ELSEWHERE ; z1_vt_i(:,:) = 0._wp + ALLOCATE( z1_vt_i(A2D(0)) , z1_vt_s(A2D(0)) ) + WHERE( vt_i(A2D(0)) > epsi20 ) ; z1_vt_i(:,:) = 1._wp / vt_i(A2D(0)) + ELSEWHERE ; z1_vt_i(:,:) = 0._wp END WHERE - WHERE( vt_s(:,:) > epsi20 ) ; z1_vt_s(:,:) = 1._wp / vt_s(:,:) - ELSEWHERE ; z1_vt_s(:,:) = 0._wp + WHERE( vt_s(A2D(0)) > epsi20 ) ; z1_vt_s(:,:) = 1._wp / vt_s(A2D(0)) + ELSEWHERE ; z1_vt_s(:,:) = 0._wp END WHERE ! ! ! mean ice/snow thickness - hm_i(:,:) = vt_i(:,:) * z1_at_i(:,:) - hm_s(:,:) = vt_s(:,:) * z1_at_i(:,:) - ! - ! ! mean temperature (K), salinity and age - tm_si(:,:) = SUM( t_si(:,:,:) * a_i(:,:,:) , dim=3 ) * z1_at_i(:,:) - om_i (:,:) = SUM( oa_i(:,:,:) , dim=3 ) * z1_at_i(:,:) - sm_i (:,:) = st_i(:,:) * z1_vt_i(:,:) - ! - tm_i(:,:) = 0._wp - tm_s(:,:) = 0._wp - DO jl = 1, jpl - DO jk = 1, nlay_i - tm_i(:,:) = tm_i(:,:) + r1_nlay_i * t_i (:,:,jk,jl) * v_i(:,:,jl) * z1_vt_i(:,:) - END DO - DO jk = 1, nlay_s - tm_s(:,:) = tm_s(:,:) + r1_nlay_s * t_s (:,:,jk,jl) * v_s(:,:,jl) * z1_vt_s(:,:) + DO_2D( 0, 0, 0, 0 ) + hm_i(ji,jj) = vt_i(ji,jj) * z1_at_i(ji,jj) + hm_s(ji,jj) = vt_s(ji,jj) * z1_at_i(ji,jj) + ! + ! ! mean temperature (K), salinity and age + tm_si(ji,jj) = SUM( t_si(ji,jj,:) * a_i(ji,jj,:) ) * z1_at_i(ji,jj) + om_i (ji,jj) = SUM( oa_i(ji,jj,:) ) * z1_at_i(ji,jj) + sm_i (ji,jj) = st_i(ji,jj) * z1_vt_i(ji,jj) + ! + tm_i(ji,jj) = 0._wp + tm_s(ji,jj) = 0._wp + DO jl = 1, jpl + DO jk = 1, nlay_i + tm_i(ji,jj) = tm_i(ji,jj) + r1_nlay_i * t_i (ji,jj,jk,jl) * v_i(ji,jj,jl) * z1_vt_i(ji,jj) + END DO + DO jk = 1, nlay_s + tm_s(ji,jj) = tm_s(ji,jj) + r1_nlay_s * t_s (ji,jj,jk,jl) * v_s(ji,jj,jl) * z1_vt_s(ji,jj) + END DO END DO - END DO - ! + ! + END_2D ! ! put rt0 where there is no ice - WHERE( at_i(:,:)<=epsi20 ) + WHERE( at_i(A2D(0)) <= epsi20 ) tm_si(:,:) = rt0 tm_i (:,:) = rt0 tm_s (:,:) = rt0 END WHERE ! ! ! mean melt pond depth - WHERE( at_ip(:,:) > epsi20 ) ; hm_ip(:,:) = vt_ip(:,:) / at_ip(:,:) ; hm_il(:,:) = vt_il(:,:) / at_ip(:,:) - ELSEWHERE ; hm_ip(:,:) = 0._wp ; hm_il(:,:) = 0._wp + WHERE( at_ip(A2D(0)) > epsi20 ) + hm_ip(:,:) = vt_ip(A2D(0)) / at_ip(A2D(0)) + hm_il(:,:) = vt_il(A2D(0)) / at_ip(A2D(0)) + ELSEWHERE + hm_ip(:,:) = 0._wp + hm_il(:,:) = 0._wp END WHERE ! DEALLOCATE( z1_vt_i , z1_vt_s ) @@ -206,7 +224,8 @@ CONTAINS REAL(wp) :: zlay_i, zlay_s ! - - REAL(wp), PARAMETER :: zhl_max = 0.015_wp ! pond lid thickness above which the ponds disappear from the albedo calculation REAL(wp), PARAMETER :: zhl_min = 0.005_wp ! pond lid thickness below which the full pond area is used in the albedo calculation - REAL(wp), DIMENSION(jpi,jpj,jpl) :: z1_a_i, z1_v_i, z1_a_ip, za_s_fra + REAL(wp), DIMENSION(jpi,jpj,jpl) :: z1_a_i, z1_v_i, z1_a_ip + REAL(wp), DIMENSION(A2D(0),jpl) :: za_s_fra !!------------------------------------------------------------------- !!gm Question 2: It is possible to define existence of sea-ice in a common way between @@ -247,15 +266,15 @@ CONTAINS h_ip(:,:,:) = v_ip(:,:,:) * z1_a_ip(:,:,:) h_il(:,:,:) = v_il(:,:,:) * z1_a_ip(:,:,:) ! !--- melt pond effective area (used for albedo) - a_ip_frac(:,:,:) = a_ip(:,:,:) * z1_a_i(:,:,:) - WHERE ( h_il(:,:,:) <= zhl_min ) ; a_ip_eff(:,:,:) = a_ip_frac(:,:,:) ! lid is very thin. Expose all the pond - ELSEWHERE( h_il(:,:,:) >= zhl_max ) ; a_ip_eff(:,:,:) = 0._wp ! lid is very thick. Cover all the pond up with ice and snow - ELSEWHERE ; a_ip_eff(:,:,:) = a_ip_frac(:,:,:) * & ! lid is in between. Expose part of the pond - & ( zhl_max - h_il(:,:,:) ) / ( zhl_max - zhl_min ) + a_ip_frac(:,:,:) = a_ip(A2D(0),:) * z1_a_i(A2D(0),:) + WHERE ( h_il(A2D(0),:) <= zhl_min ) ; a_ip_eff(:,:,:) = a_ip_frac(:,:,:) ! lid is very thin. Expose all the pond + ELSEWHERE( h_il(A2D(0),:) >= zhl_max ) ; a_ip_eff(:,:,:) = 0._wp ! lid is very thick. Cover all the pond up with ice and snow + ELSEWHERE ; a_ip_eff(:,:,:) = a_ip_frac(:,:,:) * & ! lid is in between. Expose part of the pond + & ( zhl_max - h_il(A2D(0),:) ) / ( zhl_max - zhl_min ) END WHERE ! - CALL ice_var_snwfra( h_s, za_s_fra ) ! calculate ice fraction covered by snow - a_ip_eff = MIN( a_ip_eff, 1._wp - za_s_fra ) ! make sure (a_ip_eff + a_s_fra) <= 1 + CALL ice_var_snwfra( h_s(A2D(0),:), za_s_fra(:,:,:) ) ! calculate ice fraction covered by snow + a_ip_eff(:,:,:) = MIN( a_ip_eff(:,:,:), 1._wp - za_s_fra(:,:,:) ) ! make sure (a_ip_eff + a_s_fra) <= 1 ! ! !--- salinity (with a minimum value imposed everywhere) IF( nn_icesal == 2 ) THEN @@ -300,9 +319,9 @@ CONTAINS END DO ! ! integrated values - vt_i (:,:) = SUM( v_i , dim=3 ) - vt_s (:,:) = SUM( v_s , dim=3 ) - at_i (:,:) = SUM( a_i , dim=3 ) + vt_i (:,:) = SUM( v_i, dim=3 ) + vt_s (:,:) = SUM( v_s, dim=3 ) + at_i (:,:) = SUM( a_i, dim=3 ) ! END SUBROUTINE ice_var_glo2eqv @@ -538,7 +557,7 @@ CONTAINS sfx_res(ji,jj) = sfx_res(ji,jj) + ( 1._wp - zswitch(ji,jj) ) * sv_i(ji,jj,jl) * rhoi * r1_Dt_ice wfx_res(ji,jj) = wfx_res(ji,jj) + ( 1._wp - zswitch(ji,jj) ) * v_i (ji,jj,jl) * rhoi * r1_Dt_ice wfx_res(ji,jj) = wfx_res(ji,jj) + ( 1._wp - zswitch(ji,jj) ) * v_s (ji,jj,jl) * rhos * r1_Dt_ice - wfx_pnd(ji,jj) = wfx_pnd(ji,jj) + ( 1._wp - zswitch(ji,jj) ) * ( v_ip(ji,jj,jl)+v_il(ji,jj,jl) ) * rhow * r1_Dt_ice + wfx_res(ji,jj) = wfx_res(ji,jj) + ( 1._wp - zswitch(ji,jj) ) * ( v_ip(ji,jj,jl)+v_il(ji,jj,jl) ) * rhow * r1_Dt_ice ! a_i (ji,jj,jl) = a_i (ji,jj,jl) * zswitch(ji,jj) v_i (ji,jj,jl) = v_i (ji,jj,jl) * zswitch(ji,jj) @@ -640,11 +659,11 @@ CONTAINS psv_i (ji,jj,jl) = 0._wp ENDIF IF( pv_ip(ji,jj,jl) < 0._wp .OR. pv_il(ji,jj,jl) < 0._wp .OR. pa_ip(ji,jj,jl) <= 0._wp ) THEN - wfx_pnd(ji,jj) = wfx_pnd(ji,jj) + pv_il(ji,jj,jl) * rhow * z1_dt + wfx_res(ji,jj) = wfx_res(ji,jj) + pv_il(ji,jj,jl) * rhow * z1_dt pv_il (ji,jj,jl) = 0._wp ENDIF IF( pv_ip(ji,jj,jl) < 0._wp .OR. pa_ip(ji,jj,jl) <= 0._wp ) THEN - wfx_pnd(ji,jj) = wfx_pnd(ji,jj) + pv_ip(ji,jj,jl) * rhow * z1_dt + wfx_res(ji,jj) = wfx_res(ji,jj) + pv_ip(ji,jj,jl) * rhow * z1_dt pv_ip (ji,jj,jl) = 0._wp ENDIF END_2D @@ -713,15 +732,19 @@ CONTAINS !! instead of setting everything to zero as just below bv_i (:,:,:) = 0._wp DO jl = 1, jpl - DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, nlay_i ) + DO_3D( 0, 0, 0, 0, 1, nlay_i ) IF( t_i(ji,jj,jk,jl) < rt0 - epsi10 ) THEN bv_i(ji,jj,jl) = bv_i(ji,jj,jl) - rTmlt * sz_i(ji,jj,jk,jl) * r1_nlay_i / ( t_i(ji,jj,jk,jl) - rt0 ) ENDIF END_3D END DO - WHERE( vt_i(:,:) > epsi20 ) ; bvm_i(:,:) = SUM( bv_i(:,:,:) * v_i(:,:,:) , dim=3 ) / vt_i(:,:) - ELSEWHERE ; bvm_i(:,:) = 0._wp - END WHERE + DO_2D( 0, 0, 0, 0 ) + IF( vt_i(ji,jj) > epsi20 ) THEN + bvm_i(ji,jj) = SUM( bv_i(ji,jj,:) * v_i(ji,jj,:) ) / vt_i(ji,jj) + ELSE + bvm_i(ji,jj) = 0._wp + ENDIF + END_2D ! END SUBROUTINE ice_var_bv @@ -1286,8 +1309,8 @@ CONTAINS !! !!------------------------------------------------------------------- SUBROUTINE ice_var_snwfra_3d( ph_s, pa_s_fra ) - REAL(wp), DIMENSION(:,:,:), INTENT(in ) :: ph_s ! snow thickness - REAL(wp), DIMENSION(:,:,:), INTENT( out) :: pa_s_fra ! ice fraction covered by snow + REAL(wp), DIMENSION(A2D(0),jpl), INTENT(in ) :: ph_s ! snow thickness + REAL(wp), DIMENSION(A2D(0),jpl), INTENT( out) :: pa_s_fra ! ice fraction covered by snow IF ( nn_snwfra == 0 ) THEN ! basic 0 or 1 snow cover WHERE( ph_s > 0._wp ) ; pa_s_fra = 1._wp ELSEWHERE ; pa_s_fra = 0._wp @@ -1344,8 +1367,8 @@ CONTAINS !!-------------------------------------------------------------------------- !!gm I think it can be usefull to set this as a FUNCTION, not a SUBROUTINE.... SUBROUTINE ice_var_snwblow_2d( pin, pout ) - REAL(wp), DIMENSION(:,:), INTENT(in ) :: pin ! previous fraction lead ( 1. - a_i_b ) - REAL(wp), DIMENSION(:,:), INTENT(inout) :: pout + REAL(wp), DIMENSION(A2D(0)), INTENT(in ) :: pin ! previous fraction lead ( 1. - a_i_b ) + REAL(wp), DIMENSION(A2D(0)), INTENT(inout) :: pout pout = ( 1._wp - ( pin )**rn_snwblow ) END SUBROUTINE ice_var_snwblow_2d diff --git a/src/ICE/icewri.F90 b/src/ICE/icewri.F90 index 078e3b007..6da84cd4e 100644 --- a/src/ICE/icewri.F90 +++ b/src/ICE/icewri.F90 @@ -26,7 +26,6 @@ MODULE icewri USE iom ! I/O manager library USE lib_mpp ! MPP library USE lib_fortran ! fortran utilities (glob_sum + no signed zero) - USE lbclnk ! lateral boundary conditions (or mpp links) USE timing ! Timing IMPLICIT NONE @@ -53,10 +52,10 @@ CONTAINS INTEGER :: ji, jj, jk, jl ! dummy loop indices REAL(wp) :: z2da, z2db, zrho1, zrho2 REAL(wp) :: zmiss_val ! missing value retrieved from xios - REAL(wp), DIMENSION(jpi,jpj) :: z2d ! 2D workspace - REAL(wp), DIMENSION(jpi,jpj) :: zmsk00, zmsk05, zmsk15, zmsksn ! O%, 5% and 15% concentration mask and snow mask - REAL(wp), DIMENSION(jpi,jpj,jpl) :: zmsk00l, zmsksnl ! cat masks - REAL(wp), DIMENSION(:,:), ALLOCATABLE :: zfast, zalb, zmskalb ! 2D workspace + REAL(wp), DIMENSION(A2D(0)) :: z2d ! 2D workspace + REAL(wp), DIMENSION(A2D(0)) :: zmsk00, zmsk05, zmsk15, zmsksn ! O%, 5% and 15% concentration mask and snow mask + REAL(wp), DIMENSION(A2D(0),jpl) :: zmsk00l, zmsksnl ! cat masks + REAL(wp), DIMENSION(:,:), ALLOCATABLE :: zfast, zalb, zmskalb ! 2D workspace ! ! Global ice diagnostics (SIMIP) REAL(wp) :: zdiag_area_nh, zdiag_extt_nh, zdiag_volu_nh ! area, extent, volume @@ -72,14 +71,14 @@ CONTAINS CALL ice_var_bv ! tresholds for outputs - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) zmsk00(ji,jj) = MAX( 0._wp , SIGN( 1._wp , at_i(ji,jj) - epsi06 ) ) ! 1 if ice , 0 if no ice zmsk05(ji,jj) = MAX( 0._wp , SIGN( 1._wp , at_i(ji,jj) - 0.05_wp ) ) ! 1 if 5% ice , 0 if less zmsk15(ji,jj) = MAX( 0._wp , SIGN( 1._wp , at_i(ji,jj) - 0.15_wp ) ) ! 1 if 15% ice, 0 if less zmsksn(ji,jj) = MAX( 0._wp , SIGN( 1._wp , vt_s(ji,jj) - epsi06 ) ) ! 1 if snow , 0 if no snow END_2D DO jl = 1, jpl - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) zmsk00l(ji,jj,jl) = MAX( 0._wp , SIGN( 1._wp , a_i(ji,jj,jl) - epsi06 ) ) zmsksnl(ji,jj,jl) = MAX( 0._wp , SIGN( 1._wp , v_s(ji,jj,jl) - epsi06 ) ) END_2D @@ -96,102 +95,111 @@ CONTAINS CALL iom_put( 'icepres' , zmsk00 ) ! Ice presence (1 or 0) ! ! general fields - IF( iom_use('icemass' ) ) CALL iom_put( 'icemass', vt_i * rhoi * zmsk00 ) ! Ice mass per cell area - IF( iom_use('snwmass' ) ) CALL iom_put( 'snwmass', vt_s * rhos * zmsksn ) ! Snow mass per cell area - IF( iom_use('iceconc' ) ) CALL iom_put( 'iceconc', at_i * zmsk00 ) ! ice concentration - IF( iom_use('icevolu' ) ) CALL iom_put( 'icevolu', vt_i * zmsk00 ) ! ice volume = mean ice thickness over the cell - IF( iom_use('icethic' ) ) CALL iom_put( 'icethic', hm_i * zmsk00 ) ! ice thickness - IF( iom_use('snwthic' ) ) CALL iom_put( 'snwthic', hm_s * zmsk00 ) ! snw thickness - IF( iom_use('icebrv' ) ) CALL iom_put( 'icebrv' , bvm_i* 100. * zmsk00 ) ! brine volume - IF( iom_use('iceage' ) ) CALL iom_put( 'iceage' , om_i / rday * zmsk15 + zmiss_val * ( 1._wp - zmsk15 ) ) ! ice age - IF( iom_use('icehnew' ) ) CALL iom_put( 'icehnew', ht_i_new ) ! new ice thickness formed in the leads - IF( iom_use('snwvolu' ) ) CALL iom_put( 'snwvolu', vt_s * zmsksn ) ! snow volume - IF( iom_use('icefrb' ) ) THEN ! Ice freeboard - z2d(:,:) = ( zrho1 * hm_i(:,:) - zrho2 * hm_s(:,:) ) + IF( iom_use('icemass' ) ) CALL iom_put( 'icemass', vt_i(A2D(0)) * rhoi * zmsk00 ) ! Ice mass per cell area + IF( iom_use('snwmass' ) ) CALL iom_put( 'snwmass', vt_s(A2D(0)) * rhos * zmsksn ) ! Snow mass per cell area + IF( iom_use('iceconc' ) ) CALL iom_put( 'iceconc', at_i(A2D(0)) * zmsk00 ) ! ice concentration + IF( iom_use('icevolu' ) ) CALL iom_put( 'icevolu', vt_i(A2D(0)) * zmsk00 ) ! ice volume = mean ice thickness over the cell + IF( iom_use('icethic' ) ) CALL iom_put( 'icethic', hm_i(:,:) * zmsk00 ) ! ice thickness + IF( iom_use('snwthic' ) ) CALL iom_put( 'snwthic', hm_s(:,:) * zmsk00 ) ! snw thickness + IF( iom_use('icebrv' ) ) CALL iom_put( 'icebrv' , bvm_i(:,:)* 100. * zmsk00 ) ! brine volume + IF( iom_use('iceage' ) ) CALL iom_put( 'iceage' , om_i(:,:) / rday * zmsk15 + zmiss_val * ( 1._wp - zmsk15 ) ) ! ice age + IF( iom_use('icehnew' ) ) CALL iom_put( 'icehnew', ht_i_new(:,:) ) ! new ice thickness formed in the leads + IF( iom_use('snwvolu' ) ) CALL iom_put( 'snwvolu', vt_s(A2D(0)) * zmsksn ) ! snow volume + IF( iom_use('icefrb' ) ) THEN ! Ice freeboard + z2d(:,:) = zrho1 * hm_i(:,:) - zrho2 * hm_s(:,:) WHERE( z2d < 0._wp ) z2d = 0._wp - CALL iom_put( 'icefrb' , z2d * zmsk00 ) + CALL iom_put( 'icefrb' , z2d * zmsk00 ) ENDIF ! melt ponds - IF( iom_use('iceapnd' ) ) CALL iom_put( 'iceapnd', at_ip * zmsk00 ) ! melt pond total fraction - IF( iom_use('icehpnd' ) ) CALL iom_put( 'icehpnd', hm_ip * zmsk00 ) ! melt pond depth - IF( iom_use('icevpnd' ) ) CALL iom_put( 'icevpnd', vt_ip * zmsk00 ) ! melt pond total volume per unit area - IF( iom_use('icehlid' ) ) CALL iom_put( 'icehlid', hm_il * zmsk00 ) ! melt pond lid depth - IF( iom_use('icevlid' ) ) CALL iom_put( 'icevlid', vt_il * zmsk00 ) ! melt pond lid total volume per unit area + IF( iom_use('iceapnd' ) ) CALL iom_put( 'iceapnd', at_ip(A2D(0)) * zmsk00 ) ! melt pond total fraction + IF( iom_use('icehpnd' ) ) CALL iom_put( 'icehpnd', hm_ip(:,:) * zmsk00 ) ! melt pond depth + IF( iom_use('icevpnd' ) ) CALL iom_put( 'icevpnd', vt_ip(A2D(0)) * zmsk00 ) ! melt pond total volume per unit area + IF( iom_use('icehlid' ) ) CALL iom_put( 'icehlid', hm_il(:,:) * zmsk00 ) ! melt pond lid depth + IF( iom_use('icevlid' ) ) CALL iom_put( 'icevlid', vt_il(A2D(0)) * zmsk00 ) ! melt pond lid total volume per unit area ! salt - IF( iom_use('icesalt' ) ) CALL iom_put( 'icesalt', sm_i * zmsk00 + zmiss_val * ( 1._wp - zmsk00 ) ) ! mean ice salinity - IF( iom_use('icesalm' ) ) CALL iom_put( 'icesalm', st_i * rhoi * 1.0e-3 * zmsk00 ) ! Mass of salt in sea ice per cell area + IF( iom_use('icesalt' ) ) CALL iom_put( 'icesalt', sm_i(:,:) * zmsk00 + zmiss_val * ( 1._wp - zmsk00 ) ) ! mean ice salinity + IF( iom_use('icesalm' ) ) CALL iom_put( 'icesalm', st_i(:,:) * rhoi * 1.0e-3 * zmsk00 ) ! Mass of salt in sea ice per cell area ! heat - IF( iom_use('icetemp' ) ) CALL iom_put( 'icetemp', ( tm_i - rt0 ) * zmsk00 + zmiss_val * ( 1._wp - zmsk00 ) ) ! ice mean temperature - IF( iom_use('snwtemp' ) ) CALL iom_put( 'snwtemp', ( tm_s - rt0 ) * zmsksn + zmiss_val * ( 1._wp - zmsksn ) ) ! snw mean temperature - IF( iom_use('icettop' ) ) CALL iom_put( 'icettop', ( tm_su - rt0 ) * zmsk00 + zmiss_val * ( 1._wp - zmsk00 ) ) ! temperature at the ice surface - IF( iom_use('icetbot' ) ) CALL iom_put( 'icetbot', ( t_bo - rt0 ) * zmsk00 + zmiss_val * ( 1._wp - zmsk00 ) ) ! temperature at the ice bottom - IF( iom_use('icetsni' ) ) CALL iom_put( 'icetsni', ( tm_si - rt0 ) * zmsk00 + zmiss_val * ( 1._wp - zmsk00 ) ) ! temperature at the snow-ice interface - IF( iom_use('icehc' ) ) CALL iom_put( 'icehc' , -et_i * zmsk00 ) ! ice heat content - IF( iom_use('snwhc' ) ) CALL iom_put( 'snwhc' , -et_s * zmsksn ) ! snow heat content + IF( iom_use('icetemp' ) ) CALL iom_put( 'icetemp', ( tm_i(:,:) - rt0 ) * zmsk00 + zmiss_val * ( 1._wp - zmsk00 ) ) ! ice mean temperature + IF( iom_use('snwtemp' ) ) CALL iom_put( 'snwtemp', ( tm_s(:,:) - rt0 ) * zmsksn + zmiss_val * ( 1._wp - zmsksn ) ) ! snw mean temperature + IF( iom_use('icettop' ) ) CALL iom_put( 'icettop', ( tm_su(:,:) - rt0 ) * zmsk00 + zmiss_val * ( 1._wp - zmsk00 ) ) ! temperature at the ice surface + IF( iom_use('icetbot' ) ) CALL iom_put( 'icetbot', ( t_bo(A2D(0)) - rt0 ) * zmsk00 + zmiss_val * ( 1._wp - zmsk00 ) ) ! temperature at the ice bottom + IF( iom_use('icetsni' ) ) CALL iom_put( 'icetsni', ( tm_si(:,:) - rt0 ) * zmsk00 + zmiss_val * ( 1._wp - zmsk00 ) ) ! temperature at the snow-ice interface + IF( iom_use('icehc' ) ) CALL iom_put( 'icehc' , -et_i(:,:) * zmsk00 ) ! ice heat content + IF( iom_use('snwhc' ) ) CALL iom_put( 'snwhc' , -et_s(:,:) * zmsksn ) ! snow heat content ! momentum - IF( iom_use('uice' ) ) CALL iom_put( 'uice' , u_ice ) ! ice velocity u - IF( iom_use('vice' ) ) CALL iom_put( 'vice' , v_ice ) ! ice velocity v + IF( iom_use('uice' ) ) CALL iom_put( 'uice' , u_ice(A2D(0)) ) ! ice velocity u + IF( iom_use('vice' ) ) CALL iom_put( 'vice' , v_ice(A2D(0)) ) ! ice velocity v ! - IF( iom_use('icevel') .OR. iom_use('fasticepres') ) THEN ! module of ice velocity & fast ice - ALLOCATE( zfast(jpi,jpj) ) + IF( iom_use('icevel') .OR. iom_use('fasticepres') ) THEN ! module of ice velocity & fast ice + ALLOCATE( zfast(A2D(0)) ) DO_2D( 0, 0, 0, 0 ) z2da = u_ice(ji,jj) + u_ice(ji-1,jj) z2db = v_ice(ji,jj) + v_ice(ji,jj-1) z2d(ji,jj) = 0.5_wp * SQRT( z2da * z2da + z2db * z2db ) END_2D - CALL lbc_lnk( 'icewri', z2d, 'T', 1.0_wp ) CALL iom_put( 'icevel', z2d ) - WHERE( z2d(:,:) < 5.e-04_wp .AND. zmsk15(:,:) == 1._wp ) ; zfast(:,:) = 1._wp ! record presence of fast ice + WHERE( z2d(:,:) < 5.e-04_wp .AND. zmsk15(:,:) == 1._wp ) ; zfast(:,:) = 1._wp ! record presence of fast ice ELSEWHERE ; zfast(:,:) = 0._wp END WHERE CALL iom_put( 'fasticepres', zfast ) DEALLOCATE( zfast ) ENDIF ! - IF( iom_use('icealb') .OR. iom_use('albedo') ) THEN ! ice albedo and surface albedo - ALLOCATE( zalb(jpi,jpj), zmskalb(jpi,jpj) ) + IF( iom_use('icealb') .OR. iom_use('albedo') ) THEN ! ice albedo and surface albedo + ALLOCATE( zalb(A2D(0)), zmskalb(A2D(0)) ) ! ice albedo - WHERE( at_i_b < 1.e-03 ) + WHERE( at_i_b(:,:) < 1.e-03 ) zmskalb(:,:) = 0._wp zalb (:,:) = rn_alb_oce ELSEWHERE zmskalb(:,:) = 1._wp - zalb (:,:) = SUM( alb_ice * a_i_b, dim=3 ) / at_i_b + zalb (:,:) = SUM( alb_ice(:,:,:) * a_i_b(:,:,:), dim=3 ) / at_i_b(:,:) END WHERE CALL iom_put( 'icealb' , zalb * zmskalb + zmiss_val * ( 1._wp - zmskalb ) ) ! ice+ocean albedo - zalb(:,:) = SUM( alb_ice * a_i_b, dim=3 ) + rn_alb_oce * ( 1._wp - at_i_b ) + zalb(:,:) = SUM( alb_ice(:,:,:) * a_i_b(:,:,:), dim=3 ) + rn_alb_oce * ( 1._wp - at_i_b(:,:) ) CALL iom_put( 'albedo' , zalb ) DEALLOCATE( zalb, zmskalb ) ENDIF ! ! --- category-dependent fields --- ! - IF( iom_use('icemask_cat' ) ) CALL iom_put( 'icemask_cat' , zmsk00l ) ! ice mask 0% - IF( iom_use('iceconc_cat' ) ) CALL iom_put( 'iceconc_cat' , a_i * zmsk00l ) ! area for categories - IF( iom_use('icethic_cat' ) ) CALL iom_put( 'icethic_cat' , h_i * zmsk00l + zmiss_val * ( 1._wp - zmsk00l ) ) ! thickness for categories - IF( iom_use('snwthic_cat' ) ) CALL iom_put( 'snwthic_cat' , h_s * zmsksnl + zmiss_val * ( 1._wp - zmsksnl ) ) ! snow depth for categories - IF( iom_use('icesalt_cat' ) ) CALL iom_put( 'icesalt_cat' , s_i * zmsk00l + zmiss_val * ( 1._wp - zmsk00l ) ) ! salinity for categories - IF( iom_use('iceage_cat' ) ) CALL iom_put( 'iceage_cat' , o_i / rday * zmsk00l + zmiss_val * ( 1._wp - zmsk00l ) ) ! ice age - IF( iom_use('icetemp_cat' ) ) CALL iom_put( 'icetemp_cat' , ( SUM( t_i, dim=3 ) * r1_nlay_i - rt0 ) & - & * zmsk00l + zmiss_val * ( 1._wp - zmsk00l ) ) ! ice temperature - IF( iom_use('snwtemp_cat' ) ) CALL iom_put( 'snwtemp_cat' , ( SUM( t_s, dim=3 ) * r1_nlay_s - rt0 ) & - & * zmsksnl + zmiss_val * ( 1._wp - zmsksnl ) ) ! snow temperature - IF( iom_use('icettop_cat' ) ) CALL iom_put( 'icettop_cat' , ( t_su - rt0 ) * zmsk00l + zmiss_val * ( 1._wp - zmsk00l ) ) ! surface temperature - IF( iom_use('icebrv_cat' ) ) CALL iom_put( 'icebrv_cat' , bv_i * 100. * zmsk00l + zmiss_val * ( 1._wp - zmsk00l ) ) ! brine volume - IF( iom_use('iceapnd_cat' ) ) CALL iom_put( 'iceapnd_cat' , a_ip * zmsk00l ) ! melt pond frac for categories - IF( iom_use('icevpnd_cat' ) ) CALL iom_put( 'icevpnd_cat' , v_ip * zmsk00l ) ! melt pond volume for categories - IF( iom_use('icehpnd_cat' ) ) CALL iom_put( 'icehpnd_cat' , h_ip * zmsk00l + zmiss_val * ( 1._wp - zmsk00l ) ) ! melt pond thickness for categories - IF( iom_use('icehlid_cat' ) ) CALL iom_put( 'icehlid_cat' , h_il * zmsk00l + zmiss_val * ( 1._wp - zmsk00l ) ) ! melt pond lid thickness for categories - IF( iom_use('iceafpnd_cat') ) CALL iom_put( 'iceafpnd_cat', a_ip_frac * zmsk00l ) ! melt pond frac per ice area for categories - IF( iom_use('iceaepnd_cat') ) CALL iom_put( 'iceaepnd_cat', a_ip_eff * zmsk00l ) ! melt pond effective frac for categories - IF( iom_use('icealb_cat' ) ) CALL iom_put( 'icealb_cat' , alb_ice * zmsk00l + zmiss_val * ( 1._wp - zmsk00l ) ) ! ice albedo for categories + IF( iom_use('icemask_cat' ) ) CALL iom_put( 'icemask_cat' , zmsk00l ) ! ice mask 0% + IF( iom_use('iceconc_cat' ) ) CALL iom_put( 'iceconc_cat' , a_i(A2D(0),:) * zmsk00l ) ! area for categories + IF( iom_use('icethic_cat' ) ) CALL iom_put( 'icethic_cat' , h_i(A2D(0),:) * zmsk00l + zmiss_val & + & * ( 1._wp - zmsk00l ) ) ! thickness for categories + IF( iom_use('snwthic_cat' ) ) CALL iom_put( 'snwthic_cat' , h_s(A2D(0),:) * zmsksnl + zmiss_val & + & * ( 1._wp - zmsksnl ) ) ! snow depth for categories + IF( iom_use('icesalt_cat' ) ) CALL iom_put( 'icesalt_cat' , s_i(A2D(0),:) * zmsk00l + zmiss_val & + & * ( 1._wp - zmsk00l ) ) ! salinity for categories + IF( iom_use('iceage_cat' ) ) CALL iom_put( 'iceage_cat' , o_i(A2D(0),:) / rday * zmsk00l + zmiss_val & + & * ( 1._wp - zmsk00l ) ) ! ice age + IF( iom_use('icetemp_cat' ) ) CALL iom_put( 'icetemp_cat' , ( SUM( t_i(A2D(0),:,:), dim=3 ) * r1_nlay_i - rt0 ) & + & * zmsk00l + zmiss_val * ( 1._wp - zmsk00l ) ) ! ice temperature + IF( iom_use('snwtemp_cat' ) ) CALL iom_put( 'snwtemp_cat' , ( SUM( t_s(A2D(0),:,:), dim=3 ) * r1_nlay_s - rt0 ) & + & * zmsksnl + zmiss_val * ( 1._wp - zmsksnl ) ) ! snow temperature + IF( iom_use('icettop_cat' ) ) CALL iom_put( 'icettop_cat' , ( t_su(A2D(0),:) - rt0 ) * zmsk00l + zmiss_val & + & * ( 1._wp - zmsk00l ) ) ! surface temperature + IF( iom_use('icebrv_cat' ) ) CALL iom_put( 'icebrv_cat' , bv_i(:,:,:) * 100. * zmsk00l + zmiss_val & + & * ( 1._wp - zmsk00l ) ) ! brine volume + IF( iom_use('iceapnd_cat' ) ) CALL iom_put( 'iceapnd_cat' , a_ip(A2D(0),:) * zmsk00l ) ! melt pond frac for categories + IF( iom_use('icevpnd_cat' ) ) CALL iom_put( 'icevpnd_cat' , v_ip(A2D(0),:) * zmsk00l ) ! melt pond volume for categories + IF( iom_use('icehpnd_cat' ) ) CALL iom_put( 'icehpnd_cat' , h_ip(A2D(0),:) * zmsk00l + zmiss_val & + & * ( 1._wp - zmsk00l ) ) ! melt pond thickness for categories + IF( iom_use('icehlid_cat' ) ) CALL iom_put( 'icehlid_cat' , h_il(A2D(0),:) * zmsk00l + zmiss_val & + & * ( 1._wp - zmsk00l ) ) ! melt pond lid thickness for categories + IF( iom_use('iceafpnd_cat') ) CALL iom_put( 'iceafpnd_cat', a_ip_frac(:,:,:) * zmsk00l ) ! melt pond frac per ice area for categories + IF( iom_use('iceaepnd_cat') ) CALL iom_put( 'iceaepnd_cat', a_ip_eff(:,:,:) * zmsk00l ) ! melt pond effective frac for categories + IF( iom_use('icealb_cat' ) ) CALL iom_put( 'icealb_cat' , alb_ice(:,:,:) * zmsk00l + zmiss_val & + & * ( 1._wp - zmsk00l ) ) ! ice albedo for categories !------------------ ! Add-ons for SIMIP !------------------ ! trends - IF( iom_use('dmithd') ) CALL iom_put( 'dmithd', - wfx_bog - wfx_bom - wfx_sum - wfx_sni - wfx_opw - wfx_lam - wfx_res ) ! Sea-ice mass change from thermodynamics + IF( iom_use('dmithd') ) CALL iom_put( 'dmithd', - wfx_bog(:,:) - wfx_bom(:,:) - wfx_sum(:,:) - wfx_sni(:,:) & + & - wfx_opw(:,:) - wfx_lam(:,:) - wfx_res(A2D(0)) ) ! Sea-ice mass change from thermodynamics IF( iom_use('dmidyn') ) CALL iom_put( 'dmidyn', - wfx_dyn + rhoi * diag_trp_vi ) ! Sea-ice mass change from dynamics(kg/m2/s) IF( iom_use('dmiopw') ) CALL iom_put( 'dmiopw', - wfx_opw ) ! Sea-ice mass change through growth in open water IF( iom_use('dmibog') ) CALL iom_put( 'dmibog', - wfx_bog ) ! Sea-ice mass change through basal growth @@ -211,17 +219,23 @@ CONTAINS IF( iom_use('NH_icearea') .OR. iom_use('NH_icevolu') .OR. iom_use('NH_iceextt') .OR. & & iom_use('SH_icearea') .OR. iom_use('SH_icevolu') .OR. iom_use('SH_iceextt') ) THEN ! - WHERE( ff_t(:,:) > 0._wp ) ; z2d(:,:) = 1._wp - ELSEWHERE ; z2d(:,:) = 0. + WHERE( ff_t(A2D(0)) > 0._wp ) ; z2d(:,:) = 1._wp + ELSEWHERE ; z2d(:,:) = 0. END WHERE ! - IF( iom_use('NH_icearea') ) zdiag_area_nh = glob_sum( 'icewri', at_i * z2d * e1e2t * 1.e-12 ) - IF( iom_use('NH_icevolu') ) zdiag_volu_nh = glob_sum( 'icewri', vt_i * z2d * e1e2t * 1.e-12 ) - IF( iom_use('NH_iceextt') ) zdiag_extt_nh = glob_sum( 'icewri', z2d * e1e2t * 1.e-12 * zmsk15 ) + IF( iom_use('NH_icearea') ) zdiag_area_nh = glob_sum( 'icewri', at_i(A2D(0)) * z2d * e1e2t(A2D(0)) & + & * 1.e-12 ) + IF( iom_use('NH_icevolu') ) zdiag_volu_nh = glob_sum( 'icewri', vt_i(A2D(0)) * z2d * e1e2t(A2D(0)) & + & * 1.e-12 ) + IF( iom_use('NH_iceextt') ) zdiag_extt_nh = glob_sum( 'icewri', z2d * e1e2t(A2D(0)) & + & * 1.e-12 * zmsk15 ) ! - IF( iom_use('SH_icearea') ) zdiag_area_sh = glob_sum( 'icewri', at_i * ( 1._wp - z2d ) * e1e2t * 1.e-12 ) - IF( iom_use('SH_icevolu') ) zdiag_volu_sh = glob_sum( 'icewri', vt_i * ( 1._wp - z2d ) * e1e2t * 1.e-12 ) - IF( iom_use('SH_iceextt') ) zdiag_extt_sh = glob_sum( 'icewri', ( 1._wp - z2d ) * e1e2t * 1.e-12 * zmsk15 ) + IF( iom_use('SH_icearea') ) zdiag_area_sh = glob_sum( 'icewri', at_i(A2D(0)) * ( 1._wp - z2d ) * e1e2t(A2D(0)) & + & * 1.e-12 ) + IF( iom_use('SH_icevolu') ) zdiag_volu_sh = glob_sum( 'icewri', vt_i(A2D(0)) * ( 1._wp - z2d ) * e1e2t(A2D(0)) & + & * 1.e-12 ) + IF( iom_use('SH_iceextt') ) zdiag_extt_sh = glob_sum( 'icewri', ( 1._wp - z2d ) * e1e2t(A2D(0)) & + & * 1.e-12 * zmsk15 ) ! CALL iom_put( 'NH_icearea' , zdiag_area_nh ) CALL iom_put( 'NH_icevolu' , zdiag_volu_nh ) @@ -258,25 +272,25 @@ CONTAINS ! !! The file is open in dia_wri_state (ocean routine) - CALL iom_rstput( 0, 0, kid, 'sithic', hm_i ) ! Ice thickness - CALL iom_rstput( 0, 0, kid, 'siconc', at_i ) ! Ice concentration - CALL iom_rstput( 0, 0, kid, 'sitemp', tm_i - rt0 ) ! Ice temperature - CALL iom_rstput( 0, 0, kid, 'sivelu', u_ice ) ! i-Ice speed - CALL iom_rstput( 0, 0, kid, 'sivelv', v_ice ) ! j-Ice speed - CALL iom_rstput( 0, 0, kid, 'sistru', utau_ice ) ! i-Wind stress over ice - CALL iom_rstput( 0, 0, kid, 'sistrv', vtau_ice ) ! i-Wind stress over ice - CALL iom_rstput( 0, 0, kid, 'sisflx', qsr ) ! Solar flx over ocean - CALL iom_rstput( 0, 0, kid, 'sinflx', qns ) ! NonSolar flx over ocean - CALL iom_rstput( 0, 0, kid, 'snwpre', sprecip ) ! Snow precipitation - CALL iom_rstput( 0, 0, kid, 'sisali', sm_i ) ! Ice salinity - CALL iom_rstput( 0, 0, kid, 'sivolu', vt_i ) ! Ice volume - CALL iom_rstput( 0, 0, kid, 'sidive', divu_i*1.0e8 ) ! Ice divergence - CALL iom_rstput( 0, 0, kid, 'si_amp', at_ip ) ! Melt pond fraction - CALL iom_rstput( 0, 0, kid, 'si_vmp', vt_ip ) ! Melt pond volume - CALL iom_rstput( 0, 0, kid, 'sithicat', h_i ) ! Ice thickness - CALL iom_rstput( 0, 0, kid, 'siconcat', a_i ) ! Ice concentration - CALL iom_rstput( 0, 0, kid, 'sisalcat', s_i ) ! Ice salinity - CALL iom_rstput( 0, 0, kid, 'snthicat', h_s ) ! Snw thickness + CALL iom_rstput( 0, 0, kid, 'sithic', hm_i(A2D(0)) ) ! Ice thickness + CALL iom_rstput( 0, 0, kid, 'siconc', at_i(A2D(0)) ) ! Ice concentration + CALL iom_rstput( 0, 0, kid, 'sitemp', tm_i(A2D(0)) - rt0 ) ! Ice temperature + CALL iom_rstput( 0, 0, kid, 'sivelu', u_ice(A2D(0)) ) ! i-Ice speed + CALL iom_rstput( 0, 0, kid, 'sivelv', v_ice(A2D(0)) ) ! j-Ice speed + CALL iom_rstput( 0, 0, kid, 'sistru', utau_ice(A2D(0)) ) ! i-Wind stress over ice + CALL iom_rstput( 0, 0, kid, 'sistrv', vtau_ice(A2D(0)) ) ! i-Wind stress over ice + CALL iom_rstput( 0, 0, kid, 'sisflx', qsr(A2D(0)) ) ! Solar flx over ocean + CALL iom_rstput( 0, 0, kid, 'sinflx', qns(A2D(0)) ) ! NonSolar flx over ocean + CALL iom_rstput( 0, 0, kid, 'snwpre', sprecip(A2D(0)) ) ! Snow precipitation + CALL iom_rstput( 0, 0, kid, 'sisali', sm_i(A2D(0)) ) ! Ice salinity + CALL iom_rstput( 0, 0, kid, 'sivolu', vt_i(A2D(0)) ) ! Ice volume + CALL iom_rstput( 0, 0, kid, 'sidive', divu_i(A2D(0))*1.0e8 ) ! Ice divergence + CALL iom_rstput( 0, 0, kid, 'si_amp', at_ip(A2D(0)) ) ! Melt pond fraction + CALL iom_rstput( 0, 0, kid, 'si_vmp', vt_ip(A2D(0)) ) ! Melt pond volume + CALL iom_rstput( 0, 0, kid, 'sithicat', h_i(A2D(0),:) ) ! Ice thickness + CALL iom_rstput( 0, 0, kid, 'siconcat', a_i(A2D(0),:) ) ! Ice concentration + CALL iom_rstput( 0, 0, kid, 'sisalcat', s_i(A2D(0),:) ) ! Ice salinity + CALL iom_rstput( 0, 0, kid, 'snthicat', h_s(A2D(0),:) ) ! Snw thickness END SUBROUTINE ice_wri_state diff --git a/src/NST/agrif_all_update.F90 b/src/NST/agrif_all_update.F90 index 753bee7cd..bf320ca10 100644 --- a/src/NST/agrif_all_update.F90 +++ b/src/NST/agrif_all_update.F90 @@ -112,12 +112,10 @@ CONTAINS CALL dom_qco_zgr( Kbb_a, Kmm_a ) #endif #if defined key_si3 - CALL lbc_lnk( 'finalize_lbc_for_agrif', a_i, 'T',1._wp, v_i,'T',1._wp, & - & v_s, 'T',1._wp, sv_i,'T',1._wp, oa_i,'T',1._wp, & - & a_ip,'T',1._wp, v_ip,'T',1._wp, v_il,'T',1._wp ) - CALL lbc_lnk( 'finalize_lbc_for_agrif', t_su,'T',1._wp ) - CALL lbc_lnk( 'finalize_lbc_for_agrif', e_s,'T',1._wp ) - CALL lbc_lnk( 'finalize_lbc_for_agrif', e_i,'T',1._wp ) + CALL lbc_lnk( 'finalize_lbc_for_agrif', a_i, 'T',1._wp, v_i,'T',1._wp, & + & v_s, 'T',1._wp, sv_i,'T',1._wp, oa_i,'T',1._wp, & + & a_ip,'T',1._wp, v_ip,'T',1._wp, v_il,'T',1._wp, t_su,'T',1._wp ) + CALL lbc_lnk( 'finalize_lbc_for_agrif', e_i,'T',1._wp, e_s,'T',1._wp ) CALL lbc_lnk( 'finalize_lbc_for_agrif', u_ice, 'U', -1._wp, v_ice, 'V', -1._wp ) #endif #if defined key_top diff --git a/src/NST/agrif_ice_interp.F90 b/src/NST/agrif_ice_interp.F90 index 13d056d04..e51c38684 100644 --- a/src/NST/agrif_ice_interp.F90 +++ b/src/NST/agrif_ice_interp.F90 @@ -59,12 +59,10 @@ CONTAINS Agrif_UseSpecialValue = .TRUE. CALL Agrif_init_variable(tra_iceini_id,procname=interp_tra_ice) ! - CALL lbc_lnk( 'agrif_istate_ice', a_i,'T',1._wp, v_i,'T',1._wp, & - & v_s,'T',1._wp, sv_i,'T',1._wp, oa_i,'T',1._wp, & - & a_ip,'T',1._wp, v_ip,'T',1._wp, v_il,'T',1._wp ) - CALL lbc_lnk( 'agrif_istate_ice', t_su,'T',1._wp ) - CALL lbc_lnk( 'agrif_istate_ice', e_s,'T',1._wp ) - CALL lbc_lnk( 'agrif_istate_ice', e_i,'T',1._wp ) + CALL lbc_lnk( 'agrif_istate_ice', a_i,'T',1._wp, v_i,'T',1._wp, & + & v_s,'T',1._wp, sv_i,'T',1._wp, oa_i,'T',1._wp, & + & a_ip,'T',1._wp, v_ip,'T',1._wp, v_il,'T',1._wp, t_su,'T',1._wp ) + CALL lbc_lnk( 'agrif_istate_ice', e_i,'T',1._wp, e_s,'T',1._wp ) ! ! Set u_ice, v_ice: use_sign_north = .TRUE. diff --git a/src/OCE/DIA/diaar5.F90 b/src/OCE/DIA/diaar5.F90 index c90cea702..da501c5c1 100644 --- a/src/OCE/DIA/diaar5.F90 +++ b/src/OCE/DIA/diaar5.F90 @@ -269,10 +269,10 @@ CONTAINS ! Work done against stratification by vertical mixing ! Exclude points where rn2 is negative as convection kicks in here and ! work is not being done against stratification - ALLOCATE( zpe(jpi,jpj) ) + ALLOCATE( zpe(A2D(0)) ) zpe(:,:) = 0._wp IF( ln_zdfddm ) THEN - DO_3D( 1, 1, 1, 1, 2, jpk ) + DO_3D( 0, 0, 0, 0, 2, jpk ) IF( rn2(ji,jj,jk) > 0._wp ) THEN zrw = ( gdept(ji,jj,jk,Kmm) - gdepw(ji,jj,jk,Kmm) ) / e3w(ji,jj,jk,Kmm) ! @@ -285,7 +285,7 @@ CONTAINS ENDIF END_3D ELSE - DO_3D( 1, 1, 1, 1, 1, jpk ) + DO_3D( 0, 0, 0, 0, 1, jpk ) zpe(ji,jj) = zpe(ji,jj) + avt(ji,jj,jk) * MIN(0._wp,rn2(ji,jj,jk)) * rho0 * e3w(ji,jj,jk,Kmm) END_3D ENDIF diff --git a/src/OCE/DIA/diahsb.F90 b/src/OCE/DIA/diahsb.F90 index 1039d5c3c..71c049260 100644 --- a/src/OCE/DIA/diahsb.F90 +++ b/src/OCE/DIA/diahsb.F90 @@ -85,7 +85,7 @@ CONTAINS REAL(wp) :: z_ssh_hc , z_ssh_sc ! - - REAL(wp), DIMENSION(A2D(0),13) :: ztmp REAL(wp), DIMENSION(A2D(0),jpkm1,4) :: ztmpk - REAL(wp), DIMENSION(17) :: zbg + REAL(wp), DIMENSION(17) :: zbg !!--------------------------------------------------------------------------- IF( ln_timing ) CALL timing_start('dia_hsb') ! @@ -193,12 +193,10 @@ CONTAINS ! ! heat & salt content variation (associated with ssh) IF( ln_linssh ) THEN ! linear free surface case IF( ln_isfcav ) THEN ! ISF case - DO ji = 1, jpi - DO jj = 1, jpj - ztmp(ji,jj,12) = surf(ji,jj) * ( ts(ji,jj,mikt(ji,jj),jp_tem,Kmm) * ssh(ji,jj,Kmm) - ssh_hc_loc_ini(ji,jj) ) - ztmp(ji,jj,13) = surf(ji,jj) * ( ts(ji,jj,mikt(ji,jj),jp_sal,Kmm) * ssh(ji,jj,Kmm) - ssh_sc_loc_ini(ji,jj) ) - END DO - END DO + DO_2D( 0, 0, 0, 0 ) + ztmp(ji,jj,12) = surf(ji,jj) * ( ts(ji,jj,mikt(ji,jj),jp_tem,Kmm) * ssh(ji,jj,Kmm) - ssh_hc_loc_ini(ji,jj) ) + ztmp(ji,jj,13) = surf(ji,jj) * ( ts(ji,jj,mikt(ji,jj),jp_sal,Kmm) * ssh(ji,jj,Kmm) - ssh_sc_loc_ini(ji,jj) ) + END_2D ELSE ! no under ice-shelf seas DO_2D( 0, 0, 0, 0 ) ztmp(ji,jj,12) = surf(ji,jj) * ( ts(ji,jj,1,jp_tem,Kmm) * ssh(ji,jj,Kmm) - ssh_hc_loc_ini(ji,jj) ) @@ -365,26 +363,22 @@ CONTAINS surf_ini(ji,jj) = e1e2t(ji,jj) * tmask_i(ji,jj) ! initial ocean surface ssh_ini(ji,jj) = ssh(ji,jj,Kmm) ! initial ssh END_2D - DO jk = 1, jpk - ! if ice sheet/oceqn coupling, need to mask ini variables here (mask could change at the next NEMO instance). - DO_2D( 0, 0, 0, 0 ) - e3t_ini (ji,jj,jk) = e3t(ji,jj,jk,Kmm) * tmask(ji,jj,jk) ! initial vertical scale factors - tmask_ini (ji,jj,jk) = tmask(ji,jj,jk) ! initial mask - hc_loc_ini(ji,jj,jk) = ts(ji,jj,jk,jp_tem,Kmm) * e3t(ji,jj,jk,Kmm) * tmask(ji,jj,jk) ! initial heat content - sc_loc_ini(ji,jj,jk) = ts(ji,jj,jk,jp_sal,Kmm) * e3t(ji,jj,jk,Kmm) * tmask(ji,jj,jk) ! initial salt content - END_2D - END DO + ! if ice sheet/oceqn coupling, need to mask ini variables here (mask could change at the next NEMO instance). + DO_3D( 0, 0, 0, 0, 1, jpk ) + e3t_ini (ji,jj,jk) = e3t(ji,jj,jk,Kmm) * tmask(ji,jj,jk) ! initial vertical scale factors + tmask_ini (ji,jj,jk) = tmask(ji,jj,jk) ! initial mask + hc_loc_ini(ji,jj,jk) = ts(ji,jj,jk,jp_tem,Kmm) * e3t(ji,jj,jk,Kmm) * tmask(ji,jj,jk) ! initial heat content + sc_loc_ini(ji,jj,jk) = ts(ji,jj,jk,jp_sal,Kmm) * e3t(ji,jj,jk,Kmm) * tmask(ji,jj,jk) ! initial salt content + END_3D frc_v = 0._wp ! volume trend due to forcing frc_t = 0._wp ! heat content - - - - frc_s = 0._wp ! salt content - - - - IF( ln_linssh ) THEN IF( ln_isfcav ) THEN - DO ji = 1, jpi - DO jj = 1, jpj - ssh_hc_loc_ini(ji,jj) = ts(ji,jj,mikt(ji,jj),jp_tem,Kmm) * ssh(ji,jj,Kmm) ! initial heat content in ssh - ssh_sc_loc_ini(ji,jj) = ts(ji,jj,mikt(ji,jj),jp_sal,Kmm) * ssh(ji,jj,Kmm) ! initial salt content in ssh - END DO - END DO + DO_2D( 0, 0, 0, 0 ) + ssh_hc_loc_ini(ji,jj) = ts(ji,jj,mikt(ji,jj),jp_tem,Kmm) * ssh(ji,jj,Kmm) ! initial heat content in ssh + ssh_sc_loc_ini(ji,jj) = ts(ji,jj,mikt(ji,jj),jp_sal,Kmm) * ssh(ji,jj,Kmm) ! initial salt content in ssh + END_2D ELSE DO_2D( 0, 0, 0, 0 ) ssh_hc_loc_ini(ji,jj) = ts(ji,jj,1,jp_tem,Kmm) * ssh(ji,jj,Kmm) ! initial heat content in ssh @@ -466,13 +460,13 @@ CONTAINS ! ------------------- ! ! 1 - Allocate memory ! ! ------------------- ! - ALLOCATE( hc_loc_ini(jpi,jpj,jpk), sc_loc_ini(jpi,jpj,jpk), surf_ini(jpi,jpj), & - & e3t_ini(jpi,jpj,jpk), surf(jpi,jpj), ssh_ini(jpi,jpj), tmask_ini(jpi,jpj,jpk),STAT=ierror ) + ALLOCATE( hc_loc_ini(A2D(0),jpk), sc_loc_ini(A2D(0),jpk), surf_ini(A2D(0)), & + & e3t_ini(A2D(0),jpk), surf(A2D(0)), ssh_ini(A2D(0)), tmask_ini(A2D(0),jpk),STAT=ierror ) IF( ierror > 0 ) THEN CALL ctl_stop( 'dia_hsb_init: unable to allocate hc_loc_ini' ) ; RETURN ENDIF - IF( ln_linssh ) ALLOCATE( ssh_hc_loc_ini(jpi,jpj), ssh_sc_loc_ini(jpi,jpj),STAT=ierror ) + IF( ln_linssh ) ALLOCATE( ssh_hc_loc_ini(A2D(0)), ssh_sc_loc_ini(A2D(0)),STAT=ierror ) IF( ierror > 0 ) THEN CALL ctl_stop( 'dia_hsb: unable to allocate ssh_hc_loc_ini' ) ; RETURN ENDIF @@ -482,7 +476,7 @@ CONTAINS ! ----------------------------------------------- ! DO_2D( 0, 0, 0, 0 ) - surf(ji,jj) = e1e2t(ji,jj) * tmask_i(ji,jj) ! masked surface grid cell area + surf(ji,jj) = e1e2t(ji,jj) * smask0_i(ji,jj) ! masked surface grid cell area END_2D surf_tot = glob_sum( 'diahsb', surf(:,:) ) ! total ocean surface area diff --git a/src/OCE/DIU/diu_bulk.F90 b/src/OCE/DIU/diu_bulk.F90 index af1e5adfe..aa7e96004 100644 --- a/src/OCE/DIU/diu_bulk.F90 +++ b/src/OCE/DIU/diu_bulk.F90 @@ -64,7 +64,7 @@ CONTAINS IF( ln_diurnal ) THEN ! - ALLOCATE( x_dsst(jpi,jpj), x_solfrac(jpi,jpj) ) + ALLOCATE( x_dsst(A2D(0)), x_solfrac(A2D(0)) ) ! x_solfrac = 0._wp ! Initialise the solar fraction x_dsst = 0._wp @@ -92,25 +92,25 @@ CONTAINS !! ** Reference : Refinements to a prognostic scheme of skin sea surface !! temperature, Takaya et al, JGR, 2010 !!---------------------------------------------------------------------- - INTEGER , INTENT(in) :: kt ! time step - REAL(wp), DIMENSION(jpi,jpj) , INTENT(in) :: psolflux ! solar flux (Watts) - REAL(wp), DIMENSION(jpi,jpj) , INTENT(in) :: pqflux ! heat (non-solar) flux (Watts) - REAL(wp), DIMENSION(jpi,jpj) , INTENT(in) :: ptauflux ! wind stress (kg/ m s^2) - REAL(wp), DIMENSION(jpi,jpj) , INTENT(in) :: prho ! water density (kg/m^3) - REAL(wp) , INTENT(in) :: p_rdt ! time-step - REAL(wp), DIMENSION(jpi,jpj), OPTIONAL, INTENT(in) :: pLa ! Langmuir number - REAL(wp), DIMENSION(jpi,jpj), OPTIONAL, INTENT(in) :: pthick ! warm layer thickness (m) - REAL(wp), DIMENSION(jpi,jpj), OPTIONAL, INTENT(in) :: pcoolthick ! cool skin thickness (m) - REAL(wp), DIMENSION(jpi,jpj), OPTIONAL, INTENT(in) :: pmu ! mu parameter - REAL(wp), DIMENSION(jpi,jpj), OPTIONAL, INTENT(in) :: p_hflux_bkginc ! increment to the heat flux - REAL(wp), DIMENSION(jpi,jpj), OPTIONAL, INTENT(in) :: p_fvel_bkginc ! increment to the friction velocity + INTEGER , INTENT(in) :: kt ! time step + REAL(wp), DIMENSION(A2D(0)) , INTENT(in) :: psolflux ! solar flux (Watts) + REAL(wp), DIMENSION(A2D(0)) , INTENT(in) :: pqflux ! heat (non-solar) flux (Watts) + REAL(wp), DIMENSION(A2D(0)) , INTENT(in) :: ptauflux ! wind stress (kg/ m s^2) + REAL(wp), DIMENSION(jpi,jpj) , INTENT(in) :: prho ! water density (kg/m^3) + REAL(wp) , INTENT(in) :: p_rdt ! time-step + REAL(wp), DIMENSION(A2D(0)), OPTIONAL, INTENT(in) :: pLa ! Langmuir number + REAL(wp), DIMENSION(A2D(0)), OPTIONAL, INTENT(in) :: pthick ! warm layer thickness (m) + REAL(wp), DIMENSION(A2D(0)), OPTIONAL, INTENT(in) :: pcoolthick ! cool skin thickness (m) + REAL(wp), DIMENSION(A2D(0)), OPTIONAL, INTENT(in) :: pmu ! mu parameter + REAL(wp), DIMENSION(A2D(0)), OPTIONAL, INTENT(in) :: p_hflux_bkginc ! increment to the heat flux + REAL(wp), DIMENSION(A2D(0)), OPTIONAL, INTENT(in) :: p_fvel_bkginc ! increment to the friction velocity ! INTEGER :: ji,jj LOGICAL :: ll_calcfrac - REAL(wp), DIMENSION(jpi,jpj) :: z_fvel ! friction velocity - REAL(wp), DIMENSION(jpi,jpj) :: zthick, zcoolthick, zmu, zla - REAL(wp), DIMENSION(jpi,jpj) :: z_abflux ! absorbed flux - REAL(wp), DIMENSION(jpi,jpj) :: z_fla ! Langmuir function value + REAL(wp), DIMENSION(A2D(0)) :: z_fvel ! friction velocity + REAL(wp), DIMENSION(A2D(0)) :: zthick, zcoolthick, zmu, zla + REAL(wp), DIMENSION(A2D(0)) :: z_abflux ! absorbed flux + REAL(wp), DIMENSION(A2D(0)) :: z_fla ! Langmuir function value !!---------------------------------------------------------------------- ! Set optional arguments to their defaults @@ -129,14 +129,14 @@ CONTAINS ! If not done already, calculate the solar fraction IF ( kt==nit000 ) THEN - DO_2D( 1, 1, 1, 1 ) - IF( ( x_solfrac(ji,jj) == 0._wp ) .AND. ( tmask(ji,jj,1) == 1._wp ) ) & + DO_2D( 0, 0, 0, 0 ) + IF( ( x_solfrac(ji,jj) == 0._wp ) .AND. ( smask0(ji,jj) == 1._wp ) ) & & x_solfrac(ji,jj) = solfrac( zcoolthick(ji,jj),zthick(ji,jj) ) END_2D ENDIF ! convert solar flux and heat flux to absorbed flux - WHERE ( tmask(:,:,1) == 1._wp) + WHERE ( smask0(:,:) == 1._wp) z_abflux(:,:) = ( x_solfrac(:,:) * psolflux (:,:)) + pqflux(:,:) ELSEWHERE z_abflux(:,:) = 0._wp @@ -147,8 +147,8 @@ CONTAINS ENDWHERE ! Calculate the friction velocity - WHERE ( (ptauflux /= 0) .AND. ( tmask(:,:,1) == 1.) ) - z_fvel(:,:) = SQRT( ptauflux(:,:) / prho(:,:) ) + WHERE ( (ptauflux(:,:) /= 0) .AND. ( smask0(:,:) == 1.) ) + z_fvel(:,:) = SQRT( ptauflux(:,:) / prho(A2D(0)) ) ELSEWHERE z_fvel(:,:) = 0._wp ENDWHERE @@ -157,7 +157,7 @@ CONTAINS ! Calculate the Langmuir function value - WHERE ( tmask(:,:,1) == 1.) + WHERE ( smask0(:,:) == 1.) z_fla(:,:) = MAX( 1._wp, zla(:,:)**( -2._wp / 3._wp ) ) ELSEWHERE z_fla(:,:) = 0._wp @@ -176,16 +176,16 @@ CONTAINS IMPLICIT NONE ! Function definition - REAL(wp), DIMENSION(jpi,jpj) :: t_imp + REAL(wp), DIMENSION(A2D(0)) :: t_imp ! Dummy variables - REAL(wp), DIMENSION(jpi,jpj), INTENT(IN) :: p_dsst ! Delta SST - REAL(wp), INTENT(IN) :: p_rdt ! Time-step - REAL(wp), DIMENSION(jpi,jpj), INTENT(IN) :: p_abflux ! Heat forcing - REAL(wp), DIMENSION(jpi,jpj), INTENT(IN) :: p_fvel ! Friction velocity - REAL(wp), DIMENSION(jpi,jpj), INTENT(IN) :: p_fla ! Langmuir number - REAL(wp), DIMENSION(jpi,jpj), INTENT(IN) :: pmu ! Structure parameter - REAL(wp), DIMENSION(jpi,jpj), INTENT(IN) :: pthick ! Layer thickness - REAL(wp), DIMENSION(jpi,jpj), INTENT(IN) :: prho ! Water density + REAL(wp), DIMENSION(A2D(0)), INTENT(IN) :: p_dsst ! Delta SST + REAL(wp), INTENT(IN) :: p_rdt ! Time-step + REAL(wp), DIMENSION(A2D(0)), INTENT(IN) :: p_abflux ! Heat forcing + REAL(wp), DIMENSION(A2D(0)), INTENT(IN) :: p_fvel ! Friction velocity + REAL(wp), DIMENSION(A2D(0)), INTENT(IN) :: p_fla ! Langmuir number + REAL(wp), DIMENSION(A2D(0)), INTENT(IN) :: pmu ! Structure parameter + REAL(wp), DIMENSION(A2D(0)), INTENT(IN) :: pthick ! Layer thickness + REAL(wp), DIMENSION(jpi,jpj),INTENT(IN) :: prho ! Water density ! Local variables REAL(wp) :: z_olength ! Obukhov length @@ -198,10 +198,10 @@ CONTAINS INTEGER :: ji,jj - DO_2D( 1, 1, 1, 1 ) + DO_2D( 0, 0, 0, 0 ) ! Only calculate outside tmask - IF ( tmask(ji,jj,1) /= 1._wp ) THEN + IF ( smask0(ji,jj) /= 1._wp ) THEN t_imp(ji,jj) = 0._wp CYCLE END IF diff --git a/src/OCE/DIU/diu_coolskin.F90 b/src/OCE/DIU/diu_coolskin.F90 index 594a8b13a..92ec5e84b 100644 --- a/src/OCE/DIU/diu_coolskin.F90 +++ b/src/OCE/DIU/diu_coolskin.F90 @@ -59,7 +59,7 @@ MODULE diu_coolskin !! ** Reference : !! !!---------------------------------------------------------------------- - ALLOCATE( x_csdsst(jpi,jpj), x_csthick(jpi,jpj) ) + ALLOCATE( x_csdsst(A2D(0)), x_csthick(A2D(0)) ) x_csdsst = 0. x_csthick = 0. ! @@ -77,16 +77,16 @@ MODULE diu_coolskin !! ** Reference : !!---------------------------------------------------------------------- ! Dummy variables - REAL(wp), INTENT(IN), DIMENSION(jpi,jpj) :: psqflux ! Heat (non-solar)(Watts) - REAL(wp), INTENT(IN), DIMENSION(jpi,jpj) :: pstauflux ! Wind stress (kg/ m s^2) + REAL(wp), INTENT(IN), DIMENSION(A2D(0)) :: psqflux ! Heat (non-solar)(Watts) + REAL(wp), INTENT(IN), DIMENSION(A2D(0)) :: pstauflux ! Wind stress (kg/ m s^2) REAL(wp), INTENT(IN), DIMENSION(jpi,jpj) :: psrho ! Water density (kg/m^3) REAL(wp), INTENT(IN) :: pDt ! Time-step ! Local variables - REAL(wp), DIMENSION(jpi,jpj) :: z_fv ! Friction velocity - REAL(wp), DIMENSION(jpi,jpj) :: z_gamma ! Dimensionless function of wind speed - REAL(wp), DIMENSION(jpi,jpj) :: z_lamda ! Sauders (dimensionless) proportionality constant - REAL(wp), DIMENSION(jpi,jpj) :: z_wspd ! Wind speed (m/s) + REAL(wp), DIMENSION(A2D(0)) :: z_fv ! Friction velocity + REAL(wp), DIMENSION(A2D(0)) :: z_gamma ! Dimensionless function of wind speed + REAL(wp), DIMENSION(A2D(0)) :: z_lamda ! Sauders (dimensionless) proportionality constant + REAL(wp), DIMENSION(A2D(0)) :: z_wspd ! Wind speed (m/s) REAL(wp) :: z_ztx ! Temporary u wind stress REAL(wp) :: z_zty ! Temporary v wind stress REAL(wp) :: z_zmod ! Temporary total wind stress @@ -96,10 +96,10 @@ MODULE diu_coolskin ! IF( .NOT. (ln_blk .OR. ln_abl) ) CALL ctl_stop("diu_coolskin.f90: diurnal flux processing only implemented for bulk forcing") ! - DO_2D( 1, 1, 1, 1 ) + DO_2D( 0, 0, 0, 0 ) ! ! Calcualte wind speed from wind stress and friction velocity - IF( tmask(ji,jj,1) == 1. .AND. pstauflux(ji,jj) /= 0 .AND. psrho(ji,jj) /=0 ) THEN + IF( smask0(ji,jj) == 1. .AND. pstauflux(ji,jj) /= 0 .AND. psrho(ji,jj) /=0 ) THEN z_fv(ji,jj) = SQRT( pstauflux(ji,jj) / psrho(ji,jj) ) z_wspd(ji,jj) = SQRT( pstauflux(ji,jj) / ( pp_cda * pp_rhoa ) ) ELSE @@ -108,28 +108,28 @@ MODULE diu_coolskin ENDIF ! ! Calculate gamma function which is dependent upon wind speed - IF( tmask(ji,jj,1) == 1. ) THEN + IF( smask0(ji,jj) == 1. ) THEN IF( ( z_wspd(ji,jj) <= 7.5 ) ) z_gamma(ji,jj) = ( 0.2 * z_wspd(ji,jj) ) + 0.5 IF( ( z_wspd(ji,jj) > 7.5 ) .AND. ( z_wspd(ji,jj) < 10. ) ) z_gamma(ji,jj) = ( 1.6 * z_wspd(ji,jj) ) - 10. IF( ( z_wspd(ji,jj) >= 10. ) ) z_gamma(ji,jj) = 6. ENDIF ! ! Calculate lamda function - IF( tmask(ji,jj,1) == 1. .AND. z_fv(ji,jj) /= 0 ) THEN + IF( smask0(ji,jj) == 1. .AND. z_fv(ji,jj) /= 0 ) THEN z_lamda(ji,jj) = ( z_fv(ji,jj) * pp_k * pp_C ) / ( z_gamma(ji,jj) * psrho(ji,jj) * pp_cw * pp_h * pp_v ) ELSE z_lamda(ji,jj) = 0. ENDIF ! ! Calculate the cool skin thickness - only when heat flux is out of the ocean - IF( tmask(ji,jj,1) == 1. .AND. z_fv(ji,jj) /= 0 .AND. psqflux(ji,jj) < 0 ) THEN + IF( smask0(ji,jj) == 1. .AND. z_fv(ji,jj) /= 0 .AND. psqflux(ji,jj) < 0 ) THEN x_csthick(ji,jj) = ( z_lamda(ji,jj) * pp_v ) / z_fv(ji,jj) ELSE x_csthick(ji,jj) = 0. ENDIF ! ! Calculate the cool skin correction - only when the heat flux is out of the ocean - IF( tmask(ji,jj,1) == 1. .AND. x_csthick(ji,jj) /= 0. .AND. psqflux(ji,jj) < 0. ) THEN + IF( smask0(ji,jj) == 1. .AND. x_csthick(ji,jj) /= 0. .AND. psqflux(ji,jj) < 0. ) THEN x_csdsst(ji,jj) = ( psqflux(ji,jj) * x_csthick(ji,jj) ) / pp_k ELSE x_csdsst(ji,jj) = 0. diff --git a/src/OCE/DIU/step_diu.F90 b/src/OCE/DIU/step_diu.F90 index ed8baa717..a4b44e38d 100644 --- a/src/OCE/DIU/step_diu.F90 +++ b/src/OCE/DIU/step_diu.F90 @@ -46,8 +46,7 @@ MODULE step_diu !!---------------------------------------------------------------------- INTEGER :: jk ! dummy loop indices INTEGER :: indic ! error indicator if < 0 - REAL(wp), DIMENSION(jpi,jpj) :: z_fvel_bkginc, z_hflux_bkginc - INTEGER :: Nbb, Nnn, Naa, Nrhs ! local definitions as placeholders for now + INTEGER :: Nbb, Nnn, Naa, Nrhs ! local definitions as placeholders for now !! --------------------------------------------------------------------- IF(ln_diurnal_only) THEN diff --git a/src/OCE/DOM/dom_oce.F90 b/src/OCE/DOM/dom_oce.F90 index 480d3d2fb..313fc5eb1 100644 --- a/src/OCE/DOM/dom_oce.F90 +++ b/src/OCE/DOM/dom_oce.F90 @@ -195,6 +195,7 @@ MODULE dom_oce INTEGER , PUBLIC, ALLOCATABLE, DIMENSION(:,:) :: mikt, miku, mikv, mikf !: top first wet T-, U-, V-, F-level (ISF) REAL(wp), PUBLIC, ALLOCATABLE, DIMENSION(:,:) :: smask0 !: surface mask at T-pts on inner domain + REAL(wp), PUBLIC, ALLOCATABLE, DIMENSION(:,:) :: smask0_i !: equivalent of tmask_i for inner domain REAL(wp), PUBLIC, ALLOCATABLE, DIMENSION(:,:) :: ssmask, ssumask, ssvmask, ssfmask !: surface mask at T-,U-, V- and F-pts REAL(wp), PUBLIC, ALLOCATABLE, DIMENSION(:,:,:), TARGET :: tmask, umask, vmask, wmask, fmask !: land/ocean mask at T-, U-, V-, W- and F-pts REAL(wp), PUBLIC, ALLOCATABLE, DIMENSION(:,:,:), TARGET :: wumask, wvmask !: land/ocean mask at WU- and WV-pts @@ -327,7 +328,7 @@ CONTAINS ALLOCATE( risfdep(jpi,jpj) , bathy(jpi,jpj) , STAT=ierr(ii) ) ! ii = ii+1 - ALLOCATE( tmask_i(jpi,jpj) , smask0(A2D(0)) , & + ALLOCATE( tmask_i(jpi,jpj) , smask0(Nis0-(0):Nie0+(0),Njs0-(0):Nje0+(0)) , smask0_i(Nis0-(0):Nie0+(0),Njs0-(0):Nje0+(0)) , & & ssmask (jpi,jpj) , ssumask(jpi,jpj) , ssvmask(jpi,jpj) , ssfmask(jpi,jpj) , & & mbkt (jpi,jpj) , mbku (jpi,jpj) , mbkv (jpi,jpj) , mbkf(jpi,jpj) , STAT=ierr(ii) ) ! diff --git a/src/OCE/DOM/dommsk.F90 b/src/OCE/DOM/dommsk.F90 index ce234ad27..dcf95510b 100644 --- a/src/OCE/DOM/dommsk.F90 +++ b/src/OCE/DOM/dommsk.F90 @@ -144,7 +144,7 @@ CONTAINS tmask(ji,jj,jk) = tmask(ji,jj,jk) * bdytmask(ji,jj) END_3D ENDIF - smask0(A2D(0)) = tmask(A2D(0),1) + smask0(:,:) = tmask(A2D(0),1) ! Ocean/land mask at u-, v-, and f-points (computed from tmask) ! ---------------------------------------- @@ -195,7 +195,8 @@ CONTAINS ! -------------------- ! CALL dom_uniq( tmask_i, 'T' ) - tmask_i(:,:) = ssmask(:,:) * tmask_i(:,:) + tmask_i (:,:) = ssmask(:,:) * tmask_i(:,:) + smask0_i(:,:) = tmask_i(A2D(0)) ! Lateral boundary conditions on velocity (modify fmask) ! --------------------------------------- diff --git a/src/OCE/DYN/dynatf.F90 b/src/OCE/DYN/dynatf.F90 index 1a5df9967..86439f587 100644 --- a/src/OCE/DYN/dynatf.F90 +++ b/src/OCE/DYN/dynatf.F90 @@ -328,7 +328,7 @@ CONTAINS ! IF ( iom_use("utau") ) THEN IF ( ln_drgice_imp.OR.ln_isfcav ) THEN - ALLOCATE(zutau(jpi,jpj)) + ALLOCATE(zutau(A2D(0))) DO_2D( 0, 0, 0, 0 ) jk = miku(ji,jj) zutau(ji,jj) = utau(ji,jj) + 0.5_wp * rho0 * rCdU_top(ji,jj) * ( puu(ji-1,jj,jk,Kaa) + puu(ji,jj,jk,Kaa) ) @@ -336,13 +336,13 @@ CONTAINS CALL iom_put( "utau", zutau(:,:) ) DEALLOCATE(zutau) ELSE - CALL iom_put( "utau", utau(:,:) ) + CALL iom_put( "utau", utau(A2D(0)) ) ENDIF ENDIF ! IF ( iom_use("vtau") ) THEN IF ( ln_drgice_imp.OR.ln_isfcav ) THEN - ALLOCATE(zvtau(jpi,jpj)) + ALLOCATE(zvtau(A2D(0))) DO_2D( 0, 0, 0, 0 ) jk = mikv(ji,jj) zvtau(ji,jj) = vtau(ji,jj) + 0.5_wp * rho0 * rCdU_top(ji,jj) * ( pvv(ji,jj-1,jk,Kaa) + pvv(ji,jj,jk,Kaa) ) @@ -350,7 +350,7 @@ CONTAINS CALL iom_put( "vtau", zvtau(:,:) ) DEALLOCATE(zvtau) ELSE - CALL iom_put( "vtau", vtau(:,:) ) + CALL iom_put( "vtau", vtau(A2D(0)) ) ENDIF ENDIF ! diff --git a/src/OCE/DYN/dynatf_qco.F90 b/src/OCE/DYN/dynatf_qco.F90 index 3dd46032e..7ec004fb3 100644 --- a/src/OCE/DYN/dynatf_qco.F90 +++ b/src/OCE/DYN/dynatf_qco.F90 @@ -245,7 +245,7 @@ CONTAINS ! IF ( iom_use("utau") ) THEN IF ( ln_drgice_imp.OR.ln_isfcav ) THEN - ALLOCATE(zutau(jpi,jpj)) + ALLOCATE(zutau(A2D(0))) DO_2D( 0, 0, 0, 0 ) jk = miku(ji,jj) zutau(ji,jj) = utau(ji,jj) + 0.5_wp * rho0 * rCdU_top(ji,jj) * ( puu(ji-1,jj,jk,Kaa) + puu(ji,jj,jk,Kaa) ) @@ -253,13 +253,13 @@ CONTAINS CALL iom_put( "utau", zutau(:,:) ) DEALLOCATE(zutau) ELSE - CALL iom_put( "utau", utau(:,:) ) + CALL iom_put( "utau", utau(A2D(0)) ) ENDIF ENDIF ! IF ( iom_use("vtau") ) THEN IF ( ln_drgice_imp.OR.ln_isfcav ) THEN - ALLOCATE(zvtau(jpi,jpj)) + ALLOCATE(zvtau(A2D(0))) DO_2D( 0, 0, 0, 0 ) jk = mikv(ji,jj) zvtau(ji,jj) = vtau(ji,jj) + 0.5_wp * rho0 * rCdU_top(ji,jj) * ( pvv(ji,jj-1,jk,Kaa) + pvv(ji,jj,jk,Kaa) ) @@ -267,7 +267,7 @@ CONTAINS CALL iom_put( "vtau", zvtau(:,:) ) DEALLOCATE(zvtau) ELSE - CALL iom_put( "vtau", vtau(:,:) ) + CALL iom_put( "vtau", vtau(A2D(0)) ) ENDIF ENDIF ! diff --git a/src/OCE/ICB/icbthm.F90 b/src/OCE/ICB/icbthm.F90 index 89999acfd..cff42aead 100644 --- a/src/OCE/ICB/icbthm.F90 +++ b/src/OCE/ICB/icbthm.F90 @@ -31,6 +31,8 @@ MODULE icbthm PUBLIC icb_thm ! routine called in icbstp.F90 module + !! * Substitutions +# include "do_loop_substitute.h90" !!---------------------------------------------------------------------- !! NEMO/OCE 4.0 , NEMO Consortium (2018) !! $Id: icbthm.F90 15088 2021-07-06 13:03:34Z acc $ @@ -287,8 +289,8 @@ CONTAINS ! now use melt and associated heat flux in ocean (or not) ! IF(.NOT. ln_passive_mode ) THEN - emp (:,:) = emp (:,:) - berg_grid%floating_melt(:,:) - qns (:,:) = qns (:,:) + berg_grid%calving_hflx (:,:) + emp (A2D(0)) = emp (A2D(0)) - berg_grid%floating_melt(A2D(0)) + qns (:,:) = qns (:,:) + berg_grid%calving_hflx (A2D(0)) ENDIF ! END SUBROUTINE icb_thm diff --git a/src/OCE/ICB/icbutl.F90 b/src/OCE/ICB/icbutl.F90 index 0666a6143..11634f302 100644 --- a/src/OCE/ICB/icbutl.F90 +++ b/src/OCE/ICB/icbutl.F90 @@ -57,6 +57,7 @@ MODULE icbutl PUBLIC icb_utl_heat ! routine called in icbdia module !! * Substitutions +# include "do_loop_substitute.h90" # include "domzgr_substitute.h90" !!---------------------------------------------------------------------- !! NEMO/OCE 4.0 , NEMO Consortium (2018) @@ -101,7 +102,7 @@ CONTAINS CALL lbc_lnk_icb( 'icbutl', ua_e , 'U', -1._wp, 1, 1 ) CALL lbc_lnk_icb( 'icbutl', va_e , 'V', -1._wp, 1, 1 ) #if defined key_si3 - hi_e(1:jpi, 1:jpj) = hm_i (:,:) + hi_e(A2D(0)) = hm_i (:,:) ! clem: something is wrong here (hm_i defined in the interior only) but I do not what to do ui_e(1:jpi, 1:jpj) = u_ice(:,:) vi_e(1:jpi, 1:jpj) = v_ice(:,:) ! diff --git a/src/OCE/IOM/iom.F90 b/src/OCE/IOM/iom.F90 index 6c6d61097..49433e40e 100644 --- a/src/OCE/IOM/iom.F90 +++ b/src/OCE/IOM/iom.F90 @@ -1202,6 +1202,7 @@ CONTAINS CHARACTER(LEN=1) :: cl_type ! local value of cd_type LOGICAL :: ll_only3rd ! T => if kstart, kcount present then *only* use values for 3rd spatial dimension. INTEGER :: inlev ! number of levels for 3D data + INTEGER :: ihls ! local value of the halo size REAL(dp) :: gma, gmi !--------------------------------------------------------------------- CHARACTER(LEN=lc) :: context diff --git a/src/OCE/IOM/prtctl.F90 b/src/OCE/IOM/prtctl.F90 index 863932c9e..75103afdd 100644 --- a/src/OCE/IOM/prtctl.F90 +++ b/src/OCE/IOM/prtctl.F90 @@ -119,11 +119,11 @@ CONTAINS !! clinfo3 : additional information !!---------------------------------------------------------------------- INTEGER , INTENT(in) :: ktab2d_1, ktab3d_1, ktab4d_1, ktab2d_2, ktab3d_2 - REAL(2*wp), DIMENSION(A2D_T(ktab2d_1)) , INTENT(in), OPTIONAL :: tab2d_1 - REAL(2*wp), DIMENSION(A2D_T(ktab3d_1),:) , INTENT(in), OPTIONAL :: tab3d_1 - REAL(2*wp), DIMENSION(A2D_T(ktab4d_1),:,:), INTENT(in), OPTIONAL :: tab4d_1 - REAL(2*wp), DIMENSION(A2D_T(ktab2d_2)) , INTENT(in), OPTIONAL :: tab2d_2 - REAL(2*wp), DIMENSION(A2D_T(ktab3d_2),:) , INTENT(in), OPTIONAL :: tab3d_2 + REAL(2*wp), DIMENSION(:,:) , INTENT(in), OPTIONAL :: tab2d_1 + REAL(2*wp), DIMENSION(:,:,:) , INTENT(in), OPTIONAL :: tab3d_1 + REAL(2*wp), DIMENSION(:,:,:,:), INTENT(in), OPTIONAL :: tab4d_1 + REAL(2*wp), DIMENSION(:,:) , INTENT(in), OPTIONAL :: tab2d_2 + REAL(2*wp), DIMENSION(:,:,:) , INTENT(in), OPTIONAL :: tab3d_2 REAL(wp), DIMENSION(:,:,:) , INTENT(in), OPTIONAL :: mask1 REAL(wp), DIMENSION(:,:,:) , INTENT(in), OPTIONAL :: mask2 CHARACTER(len=*), DIMENSION(:) , INTENT(in), OPTIONAL :: clinfo ! information about the tab3d array @@ -135,14 +135,18 @@ CONTAINS CHARACTER(len=30) :: cl1, cl2 CHARACTER(len=6) :: clfmt INTEGER :: jn, jl, kdir - INTEGER :: iis, iie, jjs, jje + INTEGER :: ipi1, ipi2, ipim1, ipim2 + INTEGER :: isht1, isht2, ishtm1, ishtm2 + INTEGER :: ii1s, ii1e, jj1s, jj1e + INTEGER :: ii2s, ii2e, jj2s, jj2e + INTEGER :: iim1s, iim1e, jjm1s, jjm1e + INTEGER :: iim2s, iim2e, jjm2s, jjm2e INTEGER :: itra, inum - INTEGER, DIMENSION(4) :: ishape REAL(2*wp) :: zsum1, zsum2, zvctl1, zvctl2 !!---------------------------------------------------------------------- ! IF( ( ktab2d_1 * ktab3d_1 * ktab4d_1 * ktab2d_2 * ktab3d_2 ) /= 0 ) THEN - CALL ctl_stop( 'prt_ctl is not working with tiles' ) + CALL ctl_stop( 'prt_ctl is a debugging toll that should not be used with tiles' ) ENDIF ! Arrays, scalars initialization @@ -159,29 +163,55 @@ CONTAINS IF( wp == sp ) clfmt = 'D23.16' ! 16 significant numbers IF( wp == dp ) clfmt = 'D41.34' ! 34 significant numbers + + IF( PRESENT(tab2d_1) ) ipi1 = SIZE(tab2d_1,1) + IF( PRESENT(tab3d_1) ) ipi1 = SIZE(tab3d_1,1) + IF( PRESENT(tab4d_1) ) ipi1 = SIZE(tab4d_1,1) + isht1 = ( jpi - ipi1 ) / 2 + + ipi2 = -1 ! default definition + IF( PRESENT(tab2d_2) ) ipi2 = SIZE(tab2d_2,1) + IF( PRESENT(tab3d_2) ) ipi2 = SIZE(tab3d_2,1) + isht2 = ( jpi - ipi2 ) / 2 + + ipim1 = -1 ! default definition + IF( PRESENT(mask1) ) ipim1 = SIZE(mask1,1) + ishtm1 = ( jpi - ipim1 ) / 2 + + ipim2 = -1 ! default definition + IF( PRESENT(mask2) ) ipim2 = SIZE(mask2,1) + ishtm2 = ( jpi - ipim2 ) / 2 ! Loop over each sub-domain, i.e. the total number of processors ijsplt DO jl = 1, SIZE(nall_ictls) - IF( PRESENT(tab2d_1) ) ishape(1:2) = SHAPE(tab2d_1) - IF( PRESENT(tab3d_1) ) ishape(1:3) = SHAPE(tab3d_1) - IF( PRESENT(tab4d_1) ) ishape(1:4) = SHAPE(tab4d_1) - IF( ishape(1) == jpi .AND. ishape(2) == jpj ) THEN - iis = Nis0 ; iie = Nie0 ; jjs = Njs0 ; jje = Nje0 - ELSE - iis = 1 ; iie = ishape(1) ; jjs = 1 ; jje = ishape(2) - ENDIF - iis = MAX( nall_ictls(jl), iis ) - iie = MIN( nall_ictle(jl), iie ) - jjs = MAX( nall_jctls(jl), jjs ) - jje = MIN( nall_jctle(jl), jje ) + + ii1s = MAX( nall_ictls(jl), Nis0 ) - isht1 + ii1e = MIN( nall_ictle(jl), Nie0 ) - isht1 + jj1s = MAX( nall_jctls(jl), Njs0 ) - isht1 + jj1e = MIN( nall_jctle(jl), Nje0 ) - isht1 + + ii2s = MAX( nall_ictls(jl), Nis0 ) - isht2 + ii2e = MIN( nall_ictle(jl), Nie0 ) - isht2 + jj2s = MAX( nall_jctls(jl), Njs0 ) - isht2 + jj2e = MIN( nall_jctle(jl), Nje0 ) - isht2 + + iim1s = MAX( nall_ictls(jl), Nis0 ) - ishtm1 + iim1e = MIN( nall_ictle(jl), Nie0 ) - ishtm1 + jjm1s = MAX( nall_jctls(jl), Njs0 ) - ishtm1 + jjm1e = MIN( nall_jctle(jl), Nje0 ) - ishtm1 + + iim2s = MAX( nall_ictls(jl), Nis0 ) - ishtm2 + iim2e = MIN( nall_ictle(jl), Nie0 ) - ishtm2 + jjm2s = MAX( nall_jctls(jl), Njs0 ) - ishtm2 + jjm2e = MIN( nall_jctle(jl), Nje0 ) - ishtm2 IF( PRESENT(clinfo) ) THEN ; inum = numprt_top(jl) ELSE ; inum = numprt_oce(jl) ENDIF ! Compute the sum control only where the tile domain and control print area overlap - IF( iie >= iis .AND. jje >= jjs ) THEN + IF( ii1e >= ii1s .AND. jj1e >= jj1s ) THEN DO jn = 1, itra IF( PRESENT(clinfo3) ) THEN @@ -200,32 +230,42 @@ CONTAINS ! 2D arrays IF( PRESENT(tab2d_1) ) THEN - IF( PRESENT(mask1) ) THEN ; zsum1 = SUM( tab2d_1(iis:iie,jjs:jje) * mask1(A2D(0),1) ) - ELSE ; zsum1 = SUM( tab2d_1(iis:iie,jjs:jje) ) + IF( PRESENT(mask1) ) THEN + zsum1 = SUM( tab2d_1(ii1s:ii1e,jj1s:jj1e) * mask1(iim1s:iim1e,jjm1s:jjm1e,1) ) + ELSE + zsum1 = SUM( tab2d_1(ii1s:ii1e,jj1s:jj1e) ) ENDIF ENDIF IF( PRESENT(tab2d_2) ) THEN - IF( PRESENT(mask2) ) THEN ; zsum2 = SUM( tab2d_2(iis:iie,jjs:jje) * mask2(A2D(0),1) ) - ELSE ; zsum2 = SUM( tab2d_2(iis:iie,jjs:jje) ) + IF( PRESENT(mask2) ) THEN + zsum2 = SUM( tab2d_2(ii2s:ii2e,jj2s:jj2e) * mask2(iim2s:iim2e,jjm2s:jjm2e,1) ) + ELSE + zsum2 = SUM( tab2d_2(ii2s:ii2e,jj2s:jj2e) ) ENDIF ENDIF ! 3D arrays IF( PRESENT(tab3d_1) ) THEN - IF( PRESENT(mask1) ) THEN ; zsum1 = SUM( tab3d_1(iis:iie,jjs:jje,1:kdir) * mask1(A2D(0),1:kdir) ) - ELSE ; zsum1 = SUM( tab3d_1(iis:iie,jjs:jje,1:kdir) ) + IF( PRESENT(mask1) ) THEN + zsum1 = SUM( tab3d_1(ii1s:ii1e,jj1s:jj1e,1:kdir) * mask1(iim1s:iim1e,jjm1s:jjm1e,1:kdir) ) + ELSE + zsum1 = SUM( tab3d_1(ii1s:ii1e,jj1s:jj1e,1:kdir) ) ENDIF ENDIF IF( PRESENT(tab3d_2) ) THEN - IF( PRESENT(mask2) ) THEN ; zsum2 = SUM( tab3d_2(iis:iie,jjs:jje,1:kdir) * mask2(A2D(0),1:kdir) ) - ELSE ; zsum2 = SUM( tab3d_2(iis:iie,jjs:jje,1:kdir) ) + IF( PRESENT(mask2) ) THEN + zsum2 = SUM( tab3d_2(ii2s:ii2e,jj2s:jj2e,1:kdir) * mask2(iim2s:iim2e,jjm2s:jjm2e,1:kdir) ) + ELSE + zsum2 = SUM( tab3d_2(ii2s:ii2e,jj2s:jj2e,1:kdir) ) ENDIF ENDIF ! 4D arrays IF( PRESENT(tab4d_1) ) THEN - IF( PRESENT(mask1) ) THEN ; zsum1 = SUM( tab4d_1(iis:iie,jjs:jje,1:kdir,jn) * mask1(A2D(0),1:kdir) ) - ELSE ; zsum1 = SUM( tab4d_1(iis:iie,jjs:jje,1:kdir,jn) ) + IF( PRESENT(mask1) ) THEN + zsum1 = SUM( tab4d_1(ii1s:ii1e,jj1s:jj1e,1:kdir,jn) * mask1(iim1s:iim1e,jjm1s:jjm1e,1:kdir) ) + ELSE + zsum1 = SUM( tab4d_1(ii1s:ii1e,jj1s:jj1e,1:kdir,jn) ) ENDIF ENDIF diff --git a/src/OCE/LBC/mppini.F90 b/src/OCE/LBC/mppini.F90 index 99df2fa79..a3d3de962 100644 --- a/src/OCE/LBC/mppini.F90 +++ b/src/OCE/LBC/mppini.F90 @@ -70,7 +70,8 @@ CONTAINS jpi = jpiglo jpj = jpjglo jpk = MAX( 2, jpkglo ) - jpij = jpi*jpj + !jpij = jpi*jpj + jpij = Ni0glo*Nj0glo jpni = 1 jpnj = 1 jpnij = jpni*jpnj @@ -331,7 +332,8 @@ CONTAINS jpi = ijpi(ii,ij) jpj = ijpj(ii,ij) jpk = MAX( 2, jpkglo ) - jpij = jpi*jpj + !jpij = jpi*jpj + jpij = (jpi-2*nn_hls)*(jpj-2*nn_hls) nimpp = iimppt(ii,ij) njmpp = ijmppt(ii,ij) ! diff --git a/src/OCE/SBC/cyclone.F90 b/src/OCE/SBC/cyclone.F90 index 6a66bb02e..175a36633 100644 --- a/src/OCE/SBC/cyclone.F90 +++ b/src/OCE/SBC/cyclone.F90 @@ -54,9 +54,9 @@ CONTAINS !! ** Action : - open TC data, find TCs for the current timestep !! - for each potential TC, add the winds on the grid !!---------------------------------------------------------------------- - INTEGER , INTENT(in) :: kt ! time step index - REAL(wp), INTENT(out), DIMENSION(jpi,jpj) :: pwnd_i ! wind speed i-components at T-point ORCA direction - REAL(wp), INTENT(out), DIMENSION(jpi,jpj) :: pwnd_j ! wind speed j-components at T-point ORCA direction + INTEGER , INTENT(in) :: kt ! time step index + REAL(wp), INTENT(out), DIMENSION(A2D(0)) :: pwnd_i ! wind speed i-components at T-point ORCA direction + REAL(wp), INTENT(out), DIMENSION(A2D(0)) :: pwnd_j ! wind speed j-components at T-point ORCA direction ! !! INTEGER :: ji, jj , jtc ! loop arguments @@ -79,7 +79,7 @@ CONTAINS REAL(wp) :: zwnd_r, zwnd_t ! radial and tangential components of the wind REAL(wp) :: zvmax ! timestep interpolated vmax REAL(wp) :: zrlon, zrlat ! temporary - REAL(wp), DIMENSION(jpi,jpj) :: zwnd_x, zwnd_y ! zonal and meridional components of the wind + REAL(wp), DIMENSION(A2D(0)) :: zwnd_x, zwnd_y ! zonal and meridional components of the wind REAL(wp), DIMENSION(14,5) :: ztct ! tropical cyclone track data at kt ! CHARACTER(len=100) :: cn_dir ! Root directory for location of files @@ -146,7 +146,7 @@ CONTAINS ! fitted B parameter (Willoughby 2004) zb = 2. - DO_2D( 1, 1, 1, 1 ) + DO_2D( 0, 0, 0, 0 ) ! calc distance between TC center and any point following great circle ! source : http://www.movable-type.co.uk/scripts/latlong.html @@ -207,7 +207,7 @@ CONTAINS zA=0 ENDIF - DO_2D( 1, 1, 1, 1 ) + DO_2D( 0, 0, 0, 0 ) zzrglam = rad * glamt(ji,jj) - zrlon zzrgphi = rad * gphit(ji,jj) diff --git a/src/OCE/SBC/fldread.F90 b/src/OCE/SBC/fldread.F90 index f7a6d90fa..8b84b0c3c 100644 --- a/src/OCE/SBC/fldread.F90 +++ b/src/OCE/SBC/fldread.F90 @@ -699,9 +699,10 @@ CONTAINS INTEGER :: imf ! size of the structure sd INTEGER :: ill ! character length INTEGER :: iv ! indice of V component + INTEGER :: ipi, ipj CHARACTER (LEN=100) :: clcomp ! dummy weight name - REAL(wp), DIMENSION(jpi,jpj) :: utmp, vtmp ! temporary arrays for vector rotation - REAL(wp), DIMENSION(:,:,:), POINTER :: dta_u, dta_v ! short cut + REAL(wp), DIMENSION(:,:), ALLOCATABLE :: utmp, vtmp ! temporary arrays for vector rotation + REAL(wp), DIMENSION(:,:,:), POINTER :: dta_u, dta_v ! short cut !!--------------------------------------------------------------------- ! !! (sga: following code should be modified so that pairs arent searched for each time @@ -724,11 +725,14 @@ CONTAINS IF( sd(ju)%ln_tint ) THEN ; dta_u => sd(ju)%fdta(:,:,:,jn) ; dta_v => sd(iv)%fdta(:,:,:,jn) ELSE ; dta_u => sd(ju)%fnow(:,:,: ) ; dta_v => sd(iv)%fnow(:,:,: ) ENDIF + ipi = SIZE(dta_u,1) ; ipj = SIZE(dta_u,2) + ALLOCATE( utmp(ipi,ipj), vtmp(ipi,ipj) ) DO jk = 1, SIZE( sd(ju)%fnow, 3 ) CALL rot_rep( dta_u(:,:,jk), dta_v(:,:,jk), 'T', 'en->i', utmp(:,:) ) CALL rot_rep( dta_u(:,:,jk), dta_v(:,:,jk), 'T', 'en->j', vtmp(:,:) ) dta_u(:,:,jk) = utmp(:,:) ; dta_v(:,:,jk) = vtmp(:,:) END DO + DEALLOCATE( utmp, vtmp ) sd(ju)%rotn(jn) = .TRUE. ! vector was rotated IF( lwp .AND. kt == nit000 ) WRITE(numout,*) & & 'fld_read: vector pair ('//TRIM(sd(ju)%clvar)//', '//TRIM(sd(iv)%clvar)//') rotated on to model grid' @@ -1100,7 +1104,7 @@ CONTAINS CHARACTER (len=5) :: clname ! INTEGER , DIMENSION(4) :: ddims INTEGER :: isrc - REAL(wp), DIMENSION(jpi,jpj) :: data_tmp + REAL(wp), DIMENSION(A2D(0)) :: data_tmp !!---------------------------------------------------------------------- ! IF( nxt_wgt > tot_wgts ) THEN @@ -1155,9 +1159,9 @@ CONTAINS ELSE ; ref_wgts(nxt_wgt)%numwgt = 16 ENDIF - ALLOCATE( ref_wgts(nxt_wgt)%data_jpi(Nis0:Nie0,Njs0:Nje0,4) ) - ALLOCATE( ref_wgts(nxt_wgt)%data_jpj(Nis0:Nie0,Njs0:Nje0,4) ) - ALLOCATE( ref_wgts(nxt_wgt)%data_wgt(Nis0:Nie0,Njs0:Nje0,ref_wgts(nxt_wgt)%numwgt) ) + ALLOCATE( ref_wgts(nxt_wgt)%data_jpi(A2D(0),4) ) + ALLOCATE( ref_wgts(nxt_wgt)%data_jpj(A2D(0),4) ) + ALLOCATE( ref_wgts(nxt_wgt)%data_wgt(A2D(0),ref_wgts(nxt_wgt)%numwgt) ) DO jn = 1,4 WRITE(clname,'(a3,i2.2)') 'src',jn @@ -1332,7 +1336,9 @@ CONTAINS INTEGER, DIMENSION(3) :: rec1_lsm, recn_lsm ! temporary arrays for start and length in case of seaoverland INTEGER :: ii_lsm1,ii_lsm2,ij_lsm1,ij_lsm2 ! temporary indices INTEGER :: ji, jj, jk, jn, jir, jjr ! loop counters - INTEGER :: ipk + INTEGER :: ipi, ipj, ipk + INTEGER :: iisht, ijsht + INTEGER :: ii, ij INTEGER :: ni, nj ! lengths INTEGER :: jpimin,jpiwid ! temporary indices INTEGER :: jpimin_lsm,jpiwid_lsm ! temporary indices @@ -1343,7 +1349,11 @@ CONTAINS INTEGER :: itmpi,itmpj,itmpz ! lengths REAL(wp),DIMENSION(:,:,:), ALLOCATABLE :: ztmp_fly_dta ! local array of values on input grid !!---------------------------------------------------------------------- + ipi = SIZE(dta, 1) + ipj = SIZE(dta, 2) ipk = SIZE(dta, 3) + iisht = ( jpi - ipi ) / 2 + ijsht = ( jpj - ipj ) / 2 ! !! for weighted interpolation we have weights at four corners of a box surrounding !! a model grid point, each weight is multiplied by a grid value (bilinear case) @@ -1438,7 +1448,9 @@ CONTAINS DO_3D( 0, 0, 0, 0, 1,ipk ) ni = ref_wgts(kw)%data_jpi(ji,jj,jn) + 1 nj = ref_wgts(kw)%data_jpj(ji,jj,jn) + 1 - dta(ji,jj,jk) = dta(ji,jj,jk) + ref_wgts(kw)%data_wgt(ji,jj,jn) * ref_wgts(kw)%fly_dta(ni,nj,jk) + ii = ji - iisht + ij = jj - ijsht + dta(ii,ij,jk) = dta(ii,ij,jk) + ref_wgts(kw)%data_wgt(ji,jj,jn) * ref_wgts(kw)%fly_dta(ni,nj,jk) END_3D END DO @@ -1482,7 +1494,9 @@ CONTAINS !!$ DO_3D( 0, 0, 0, 0, 1,ipk ) !!$ ni = ref_wgts(kw)%data_jpi(ji,jj,jn) + 1 !!$ nj = ref_wgts(kw)%data_jpj(ji,jj,jn) + 1 -!!$ dta(ji,jj,jk) = dta(ji,jj,jk) & +!!$ ii = ji - iisht +!!$ ij = jj - ijsht +!!$ dta(ii,ij,jk) = dta(ii,ij,jk) & !!$ ! gradient in the i direction !!$ & + ref_wgts(kw)%data_wgt(ji,jj,jn+4) * 0.5_wp * & !!$ & (ref_wgts(kw)%fly_dta(ni+1,nj ,jk) - ref_wgts(kw)%fly_dta(ni-1,nj ,jk)) & @@ -1500,8 +1514,10 @@ CONTAINS DO_3D( 0, 0, 0, 0, 1,ipk ) ni = ref_wgts(kw)%data_jpi(ji,jj,jn) nj = ref_wgts(kw)%data_jpj(ji,jj,jn) + ii = ji - iisht + ij = jj - ijsht ! gradient in the i direction - dta(ji,jj,jk) = dta(ji,jj,jk) + ref_wgts(kw)%data_wgt(ji,jj,jn+4) * 0.5_wp * & + dta(ii,ij,jk) = dta(ii,ij,jk) + ref_wgts(kw)%data_wgt(ji,jj,jn+4) * 0.5_wp * & & (ref_wgts(kw)%fly_dta(ni+2,nj+1,jk) - ref_wgts(kw)%fly_dta(ni ,nj+1,jk)) END_3D END DO @@ -1509,8 +1525,10 @@ CONTAINS DO_3D( 0, 0, 0, 0, 1,ipk ) ni = ref_wgts(kw)%data_jpi(ji,jj,jn) nj = ref_wgts(kw)%data_jpj(ji,jj,jn) + ii = ji - iisht + ij = jj - ijsht ! gradient in the j direction - dta(ji,jj,jk) = dta(ji,jj,jk) + ref_wgts(kw)%data_wgt(ji,jj,jn+8) * 0.5_wp * & + dta(ii,ij,jk) = dta(ii,ij,jk) + ref_wgts(kw)%data_wgt(ji,jj,jn+8) * 0.5_wp * & & (ref_wgts(kw)%fly_dta(ni+1,nj+2,jk) - ref_wgts(kw)%fly_dta(ni+1,nj ,jk)) END_3D END DO @@ -1518,8 +1536,10 @@ CONTAINS DO_3D( 0, 0, 0, 0, 1,ipk ) ni = ref_wgts(kw)%data_jpi(ji,jj,jn) nj = ref_wgts(kw)%data_jpj(ji,jj,jn) + ii = ji - iisht + ij = jj - ijsht ! gradient in the ij direction - dta(ji,jj,jk) = dta(ji,jj,jk) + ref_wgts(kw)%data_wgt(ji,jj,jn+12) * 0.25_wp * ( & + dta(ii,ij,jk) = dta(ii,ij,jk) + ref_wgts(kw)%data_wgt(ji,jj,jn+12) * 0.25_wp * ( & & (ref_wgts(kw)%fly_dta(ni+2,nj+2,jk) - ref_wgts(kw)%fly_dta(ni ,nj+2,jk)) - & & (ref_wgts(kw)%fly_dta(ni+2,nj ,jk) - ref_wgts(kw)%fly_dta(ni ,nj ,jk))) END_3D diff --git a/src/OCE/SBC/geo2ocean.F90 b/src/OCE/SBC/geo2ocean.F90 index 182e5e030..734ce4ef9 100644 --- a/src/OCE/SBC/geo2ocean.F90 +++ b/src/OCE/SBC/geo2ocean.F90 @@ -57,15 +57,23 @@ CONTAINS !! ** Purpose : Rotate the Repere: Change vector componantes between !! geographic grid <--> stretched coordinates grid. !!---------------------------------------------------------------------- - REAL(wp), DIMENSION(jpi,jpj), INTENT(in ) :: pxin, pyin ! vector componantes - CHARACTER(len=1), INTENT(in ) :: cd_type ! define the nature of pt2d array grid-points - CHARACTER(len=5), INTENT(in ) :: cdtodo ! type of transpormation: - ! ! 'en->i' = east-north to i-component - ! ! 'en->j' = east-north to j-component - ! ! 'ij->e' = (i,j) components to east - ! ! 'ij->n' = (i,j) components to north - REAL(wp), DIMENSION(jpi,jpj), INTENT( out) :: prot + REAL(wp), DIMENSION(:,:), INTENT(in ) :: pxin, pyin ! vector componantes + CHARACTER(len=1), INTENT(in ) :: cd_type ! define the nature of pt2d array grid-points + CHARACTER(len=5), INTENT(in ) :: cdtodo ! type of transpormation: + ! ! 'en->i' = east-north to i-component + ! ! 'en->j' = east-north to j-component + ! ! 'ij->e' = (i,j) components to east + ! ! 'ij->n' = (i,j) components to north + REAL(wp), DIMENSION(:,:), INTENT( out) :: prot + ! + INTEGER :: ipi, ipj, iipi, ijpj + INTEGER :: iisht, ijsht + INTEGER :: ii, ij, ii1, ij1 !!---------------------------------------------------------------------- + ipi = SIZE(pxin, 1) ; ipj = SIZE(pxin, 2) + iisht = ( jpi - ipi ) / 2 ; ijsht = ( jpj - ipj ) / 2 + ii1 = 1 + iisht ; ij1 = 1 + iisht + iipi = ipi + iisht ; ijpj = ipj + ijsht ! IF( lmust_init ) THEN ! at 1st call only: set gsin. & gcos. IF(lwp) WRITE(numout,*) @@ -80,34 +88,50 @@ CONTAINS ! CASE( 'en->i' ) ! east-north to i-component SELECT CASE (cd_type) - CASE ('T') ; prot(:,:) = pxin(:,:) * gcost(:,:) + pyin(:,:) * gsint(:,:) - CASE ('U') ; prot(:,:) = pxin(:,:) * gcosu(:,:) + pyin(:,:) * gsinu(:,:) - CASE ('V') ; prot(:,:) = pxin(:,:) * gcosv(:,:) + pyin(:,:) * gsinv(:,:) - CASE ('F') ; prot(:,:) = pxin(:,:) * gcosf(:,:) + pyin(:,:) * gsinf(:,:) + CASE ('T') ; prot(1:ipi,1:ipj) = pxin(1:ipi,1:ipj) * gcost(ii1:iipi,ij1:ijpj) & + & + pyin(1:ipi,1:ipj) * gsint(ii1:iipi,ij1:ijpj) + CASE ('U') ; prot(1:ipi,1:ipj) = pxin(1:ipi,1:ipj) * gcosu(ii1:iipi,ij1:ijpj) & + & + pyin(1:ipi,1:ipj) * gsinu(ii1:iipi,ij1:ijpj) + CASE ('V') ; prot(1:ipi,1:ipj) = pxin(1:ipi,1:ipj) * gcosv(ii1:iipi,ij1:ijpj) & + & + pyin(1:ipi,1:ipj) * gsinv(ii1:iipi,ij1:ijpj) + CASE ('F') ; prot(1:ipi,1:ipj) = pxin(1:ipi,1:ipj) * gcosf(ii1:iipi,ij1:ijpj) & + & + pyin(1:ipi,1:ipj) * gsinf(ii1:iipi,ij1:ijpj) CASE DEFAULT ; CALL ctl_stop( 'Only T, U, V and F grid points are coded' ) END SELECT CASE ('en->j') ! east-north to j-component SELECT CASE (cd_type) - CASE ('T') ; prot(:,:) = pyin(:,:) * gcost(:,:) - pxin(:,:) * gsint(:,:) - CASE ('U') ; prot(:,:) = pyin(:,:) * gcosu(:,:) - pxin(:,:) * gsinu(:,:) - CASE ('V') ; prot(:,:) = pyin(:,:) * gcosv(:,:) - pxin(:,:) * gsinv(:,:) - CASE ('F') ; prot(:,:) = pyin(:,:) * gcosf(:,:) - pxin(:,:) * gsinf(:,:) + CASE ('T') ; prot(1:ipi,1:ipj) = pyin(1:ipi,1:ipj) * gcost(ii1:iipi,ij1:ijpj) & + & - pxin(1:ipi,1:ipj) * gsint(ii1:iipi,ij1:ijpj) + CASE ('U') ; prot(1:ipi,1:ipj) = pyin(1:ipi,1:ipj) * gcosu(ii1:iipi,ij1:ijpj) & + & - pxin(1:ipi,1:ipj) * gsinu(ii1:iipi,ij1:ijpj) + CASE ('V') ; prot(1:ipi,1:ipj) = pyin(1:ipi,1:ipj) * gcosv(ii1:iipi,ij1:ijpj) & + & - pxin(1:ipi,1:ipj) * gsinv(ii1:iipi,ij1:ijpj) + CASE ('F') ; prot(1:ipi,1:ipj) = pyin(1:ipi,1:ipj) * gcosf(ii1:iipi,ij1:ijpj) & + & - pxin(1:ipi,1:ipj) * gsinf(ii1:iipi,ij1:ijpj) CASE DEFAULT ; CALL ctl_stop( 'Only T, U, V and F grid points are coded' ) END SELECT CASE ('ij->e') ! (i,j)-components to east SELECT CASE (cd_type) - CASE ('T') ; prot(:,:) = pxin(:,:) * gcost(:,:) - pyin(:,:) * gsint(:,:) - CASE ('U') ; prot(:,:) = pxin(:,:) * gcosu(:,:) - pyin(:,:) * gsinu(:,:) - CASE ('V') ; prot(:,:) = pxin(:,:) * gcosv(:,:) - pyin(:,:) * gsinv(:,:) - CASE ('F') ; prot(:,:) = pxin(:,:) * gcosf(:,:) - pyin(:,:) * gsinf(:,:) + CASE ('T') ; prot(1:ipi,1:ipj) = pxin(1:ipi,1:ipj) * gcost(ii1:iipi,ij1:ijpj) & + & - pyin(1:ipi,1:ipj) * gsint(ii1:iipi,ij1:ijpj) + CASE ('U') ; prot(1:ipi,1:ipj) = pxin(1:ipi,1:ipj) * gcosu(ii1:iipi,ij1:ijpj) & + & - pyin(1:ipi,1:ipj) * gsinu(ii1:iipi,ij1:ijpj) + CASE ('V') ; prot(1:ipi,1:ipj) = pxin(1:ipi,1:ipj) * gcosv(ii1:iipi,ij1:ijpj) & + & - pyin(1:ipi,1:ipj) * gsinv(ii1:iipi,ij1:ijpj) + CASE ('F') ; prot(1:ipi,1:ipj) = pxin(1:ipi,1:ipj) * gcosf(ii1:iipi,ij1:ijpj) & + & - pyin(1:ipi,1:ipj) * gsinf(ii1:iipi,ij1:ijpj) CASE DEFAULT ; CALL ctl_stop( 'Only T, U, V and F grid points are coded' ) END SELECT CASE ('ij->n') ! (i,j)-components to north SELECT CASE (cd_type) - CASE ('T') ; prot(:,:) = pyin(:,:) * gcost(:,:) + pxin(:,:) * gsint(:,:) - CASE ('U') ; prot(:,:) = pyin(:,:) * gcosu(:,:) + pxin(:,:) * gsinu(:,:) - CASE ('V') ; prot(:,:) = pyin(:,:) * gcosv(:,:) + pxin(:,:) * gsinv(:,:) - CASE ('F') ; prot(:,:) = pyin(:,:) * gcosf(:,:) + pxin(:,:) * gsinf(:,:) + CASE ('T') ; prot(1:ipi,1:ipj) = pyin(1:ipi,1:ipj) * gcost(ii1:iipi,ij1:ijpj) & + & + pxin(1:ipi,1:ipj) * gsint(ii1:iipi,ij1:ijpj) + CASE ('U') ; prot(1:ipi,1:ipj) = pyin(1:ipi,1:ipj) * gcosu(ii1:iipi,ij1:ijpj) & + & + pxin(1:ipi,1:ipj) * gsinu(ii1:iipi,ij1:ijpj) + CASE ('V') ; prot(1:ipi,1:ipj) = pyin(1:ipi,1:ipj) * gcosv(ii1:iipi,ij1:ijpj) & + & + pxin(1:ipi,1:ipj) * gsinv(ii1:iipi,ij1:ijpj) + CASE ('F') ; prot(1:ipi,1:ipj) = pyin(1:ipi,1:ipj) * gcosf(ii1:iipi,ij1:ijpj) & + & + pxin(1:ipi,1:ipj) * gsinf(ii1:iipi,ij1:ijpj) CASE DEFAULT ; CALL ctl_stop( 'Only T, U, V and F grid points are coded' ) END SELECT CASE DEFAULT ; CALL ctl_stop( 'rot_rep: Syntax Error in the definition of cdtodo' ) @@ -286,14 +310,17 @@ CONTAINS !! ** Method : Change a vector from geocentric to east/north !! !!---------------------------------------------------------------------- - REAL(wp), DIMENSION(jpi,jpj), INTENT(in ) :: pxx, pyy, pzz - CHARACTER(len=1) , INTENT(in ) :: cgrid - REAL(wp), DIMENSION(jpi,jpj), INTENT( out) :: pte, ptn + REAL(wp), DIMENSION(:,:), INTENT(in ) :: pxx, pyy, pzz + CHARACTER(len=1) , INTENT(in ) :: cgrid + REAL(wp), DIMENSION(:,:), INTENT( out) :: pte, ptn ! REAL(wp), PARAMETER :: rpi = 3.141592653e0 REAL(wp), PARAMETER :: rad = rpi / 180.e0 INTEGER :: ig ! INTEGER :: ierr ! local integer + INTEGER :: ipi, ipj, iipi, ijpj + INTEGER :: iisht, ijsht + INTEGER :: ii, ij, ii1, ij1 !!---------------------------------------------------------------------- ! IF( .NOT. ALLOCATED( gsinlon ) ) THEN @@ -345,10 +372,16 @@ CONTAINS CALL ctl_stop( ctmp1 ) END SELECT ! - pte = - gsinlon(:,:,ig) * pxx + gcoslon(:,:,ig) * pyy - ptn = - gcoslon(:,:,ig) * gsinlat(:,:,ig) * pxx & - & - gsinlon(:,:,ig) * gsinlat(:,:,ig) * pyy & - & + gcoslat(:,:,ig) * pzz + ipi = SIZE(pxx, 1) ; ipj = SIZE(pxx, 2) + iisht = ( jpi - ipi ) / 2 ; ijsht = ( jpj - ipj ) / 2 + ii1 = 1 + iisht ; ij1 = 1 + iisht + iipi = ipi + iisht ; ijpj = ipj + ijsht + ! + pte(1:ipi,1:ipj) = - gsinlon(ii1:iipi,ij1:ijpj,ig) * pxx(1:ipi,1:ipj) & + & + gcoslon(ii1:iipi,ij1:ijpj,ig) * pyy(1:ipi,1:ipj) + ptn(1:ipi,1:ipj) = - gcoslon(ii1:iipi,ij1:ijpj,ig) * gsinlat(ii1:iipi,ij1:ijpj,ig) * pxx(1:ipi,1:ipj) & + & - gsinlon(ii1:iipi,ij1:ijpj,ig) * gsinlat(ii1:iipi,ij1:ijpj,ig) * pyy(1:ipi,1:ipj) & + & + gcoslat(ii1:iipi,ij1:ijpj,ig) * pzz(1:ipi,1:ipj) ! END SUBROUTINE geo2oce @@ -371,6 +404,9 @@ CONTAINS REAL(wp), PARAMETER :: rad = rpi / 180.e0_wp INTEGER :: ig ! INTEGER :: ierr ! local integer + INTEGER :: ipi, ipj, iipi, ijpj + INTEGER :: iisht, ijsht + INTEGER :: ii, ij, ii1, ij1 !!---------------------------------------------------------------------- IF( .NOT. ALLOCATED( gsinlon ) ) THEN @@ -422,9 +458,16 @@ CONTAINS CALL ctl_stop( ctmp1 ) END SELECT ! - pxx = - gsinlon(:,:,ig) * pte - gcoslon(:,:,ig) * gsinlat(:,:,ig) * ptn - pyy = gcoslon(:,:,ig) * pte - gsinlon(:,:,ig) * gsinlat(:,:,ig) * ptn - pzz = gcoslat(:,:,ig) * ptn + ipi = SIZE(pte, 1) ; ipj = SIZE(pte, 2) + iisht = ( jpi - ipi ) / 2 ; ijsht = ( jpj - ipj ) / 2 + ii1 = 1 + iisht ; ij1 = 1 + iisht + iipi = ipi + iisht ; ijpj = ipj + ijsht + ! + pxx(1:ipi,1:ipj) = - gsinlon(ii1:iipi,ij1:ijpj,ig) * pte(1:ipi,1:ipj) & + & - gcoslon(ii1:iipi,ij1:ijpj,ig) * gsinlat(ii1:iipi,ij1:ijpj,ig) * ptn(1:ipi,1:ipj) + pyy(1:ipi,1:ipj) = gcoslon(ii1:iipi,ij1:ijpj,ig) * pte(1:ipi,1:ipj) & + & - gsinlon(ii1:iipi,ij1:ijpj,ig) * gsinlat(ii1:iipi,ij1:ijpj,ig) * ptn(1:ipi,1:ipj) + pzz(1:ipi,1:ipj) = gcoslat(ii1:iipi,ij1:ijpj,ig) * ptn(1:ipi,1:ipj) ! END SUBROUTINE oce2geo diff --git a/src/OCE/SBC/ocealb.F90 b/src/OCE/SBC/ocealb.F90 index e40f6f201..6ea068681 100644 --- a/src/OCE/SBC/ocealb.F90 +++ b/src/OCE/SBC/ocealb.F90 @@ -17,7 +17,9 @@ MODULE ocealb PRIVATE PUBLIC oce_alb ! routine called by sbccpl - + + !! Substitution +# include "do_loop_substitute.h90" !!---------------------------------------------------------------------- !! NEMO/OCE 4.0 , NEMO Consortium (2018) !! $Id: ocealb.F90 10069 2018-08-28 14:12:24Z nicolasmartin $ @@ -31,8 +33,8 @@ CONTAINS !! !! ** Purpose : Computation of the albedo of the ocean !!---------------------------------------------------------------------- - REAL(wp), DIMENSION(:,:), INTENT(out) :: palb_os ! albedo of ocean under overcast sky - REAL(wp), DIMENSION(:,:), INTENT(out) :: palb_cs ! albedo of ocean under clear sky + REAL(wp), DIMENSION(A2D(0)), INTENT(out) :: palb_os ! albedo of ocean under overcast sky + REAL(wp), DIMENSION(A2D(0)), INTENT(out) :: palb_cs ! albedo of ocean under clear sky !! REAL(wp) :: zcoef REAL(wp) :: rmue = 0.40 ! cosine of local solar altitude diff --git a/src/OCE/SBC/sbc_ice.F90 b/src/OCE/SBC/sbc_ice.F90 index cac087f79..7cde0d4cb 100644 --- a/src/OCE/SBC/sbc_ice.F90 +++ b/src/OCE/SBC/sbc_ice.F90 @@ -103,6 +103,8 @@ MODULE sbc_ice REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: snwice_mass_b !: mass of snow and ice at previous ice time step [Kg/m2] REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: snwice_fmass !: time evolution of mass of snow+ice [Kg/m2/s] + !! * Substitutions +# include "do_loop_substitute.h90" !!---------------------------------------------------------------------- !! NEMO/OCE 4.0 , NEMO Consortium (2018) !! $Id: sbc_ice.F90 14072 2020-12-04 07:48:38Z laurent $ @@ -114,36 +116,49 @@ CONTAINS !!---------------------------------------------------------------------- !! *** FUNCTION sbc_ice_alloc *** !!---------------------------------------------------------------------- - INTEGER :: ierr(4) + INTEGER :: ierr(5), ii !!---------------------------------------------------------------------- ierr(:) = 0 + ii = 0 - ALLOCATE( snwice_mass(jpi,jpj) , snwice_mass_b(jpi,jpj), snwice_fmass(jpi,jpj) , STAT=ierr(1) ) + ii = ii + 1 + ALLOCATE( snwice_mass(jpi,jpj) , snwice_mass_b(jpi,jpj), snwice_fmass(jpi,jpj) , STAT=ierr(ii) ) #if defined key_si3 - ALLOCATE( qns_ice (jpi,jpj,jpl) , qsr_ice (jpi,jpj,jpl) , & - & qla_ice (jpi,jpj,jpl) , dqla_ice (jpi,jpj,jpl) , & - & dqns_ice(jpi,jpj,jpl) , tn_ice (jpi,jpj,jpl) , alb_ice (jpi,jpj,jpl) , & - & qml_ice (jpi,jpj,jpl) , qcn_ice (jpi,jpj,jpl) , qtr_ice_top(jpi,jpj,jpl) , & - & utau_ice(jpi,jpj) , vtau_ice (jpi,jpj) , wndm_ice (jpi,jpj) , & - & evap_ice(jpi,jpj,jpl) , devap_ice(jpi,jpj,jpl) , qprec_ice (jpi,jpj) , & - & qemp_ice(jpi,jpj) , qevap_ice(jpi,jpj,jpl) , qemp_oce (jpi,jpj) , & - & qns_oce (jpi,jpj) , qsr_oce (jpi,jpj) , emp_oce (jpi,jpj) , & - & emp_ice (jpi,jpj) , sstfrz (jpi,jpj) , rCdU_ice (jpi,jpj) , STAT= ierr(2) ) + ! ----------------- ! + ! == FULL ARRAYS == ! + ! ----------------- ! + ii = ii + 1 + ALLOCATE( utau_ice(jpi,jpj) , vtau_ice(jpi,jpj) , & + & rCdU_ice(A2D(1)) , STAT= ierr(ii) ) + ! -------------------- ! + ! == REDUCED ARRAYS == ! + ! -------------------- ! + ii = ii + 1 + ALLOCATE( wndm_ice(A2D(0)) , & + & qns_ice (A2D(0),jpl) , qsr_ice (A2D(0),jpl) , & + & qla_ice (A2D(0),jpl) , dqla_ice (A2D(0),jpl) , & + & dqns_ice(A2D(0),jpl) , tn_ice (A2D(0),jpl) , alb_ice (A2D(0),jpl) , & + & qml_ice (A2D(0),jpl) , qcn_ice (A2D(0),jpl) , qtr_ice_top(A2D(0),jpl) , & + & evap_ice(A2D(0),jpl) , devap_ice(A2D(0),jpl) , qprec_ice (A2D(0)) , & + & qemp_ice(A2D(0)) , qevap_ice(A2D(0),jpl) , qemp_oce (A2D(0)) , & + & qns_oce (A2D(0)) , qsr_oce (A2D(0)) , emp_oce (A2D(0)) , & + & emp_ice (A2D(0)) , sstfrz (A2D(0)) , STAT= ierr(ii) ) #endif #if defined key_cice + ii = ii + 1 ALLOCATE( qla_ice(jpi,jpj,1) , qlw_ice(jpi,jpj,1) , qsr_ice(jpi,jpj,1) , & wndi_ice(jpi,jpj) , tatm_ice(jpi,jpj) , qatm_ice(jpi,jpj) , & wndj_ice(jpi,jpj) , nfrzmlt(jpi,jpj) , ss_iou(jpi,jpj) , & ss_iov(jpi,jpj) , fr_iu(jpi,jpj) , fr_iv(jpi,jpj) , & a_i(jpi,jpj,ncat) , topmelt(jpi,jpj,ncat) , botmelt(jpi,jpj,ncat) , & - STAT= ierr(2) ) + STAT= ierr(ii) ) + ii = ii + 1 IF( ln_cpl ) ALLOCATE( u_ice(jpi,jpj) , tn_ice (jpi,jpj,1) , & & v_ice(jpi,jpj) , alb_ice(jpi,jpj,1) , & & emp_ice(jpi,jpj) , qns_ice(jpi,jpj,1) , dqns_ice(jpi,jpj,1) , & - & STAT= ierr(3) ) - IF( ln_cpl ) ALLOCATE( h_i(jpi,jpj,jpl) , h_s(jpi,jpj,jpl) , STAT=ierr(4) ) + & h_i(jpi,jpj,jpl) , h_s(jpi,jpj,jpl) ,STAT= ierr(ii) ) #endif sbc_ice_alloc = MAXVAL( ierr ) diff --git a/src/OCE/SBC/sbc_oce.F90 b/src/OCE/SBC/sbc_oce.F90 index f4cd6c97e..56117e4fd 100644 --- a/src/OCE/SBC/sbc_oce.F90 +++ b/src/OCE/SBC/sbc_oce.F90 @@ -121,7 +121,7 @@ MODULE sbc_oce REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: emp_tot !: total E-P over ocean and ice [Kg/m2/s] REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: fmmflx !: freshwater budget: freezing/melting [Kg/m2/s] REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: rnf , rnf_b !: river runoff [Kg/m2/s] - REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: fwficb , fwficb_b !: iceberg melting [Kg/m2/s] + REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: fwficb !: iceberg melting [Kg/m2/s] !! REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: sbc_tsc, sbc_tsc_b !: sbc content trend [K.m/s] jpi,jpj,jpts REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: qsr_hc , qsr_hc_b !: heat content trend due to qsr flux [K.m/s] jpi,jpj,jpk @@ -175,30 +175,41 @@ CONTAINS !!--------------------------------------------------------------------- !! *** FUNCTION sbc_oce_alloc *** !!--------------------------------------------------------------------- - INTEGER :: ierr(6) + INTEGER :: ierr(8) !!--------------------------------------------------------------------- ierr(:) = 0 ! - ALLOCATE( utau(jpi,jpj) , utau_b(jpi,jpj) , utauU(jpi,jpj) , taum(jpi,jpj) , & - & vtau(jpi,jpj) , vtau_b(jpi,jpj) , vtauV(jpi,jpj) , wndm(jpi,jpj) , rhoa(jpi,jpj) , STAT=ierr(1) ) + ! ----------------- ! + ! == FULL ARRAYS == ! + ! ----------------- ! + ALLOCATE( utau(jpi,jpj) , utau_b(jpi,jpj) , utauU(jpi,jpj) , & + & vtau(jpi,jpj) , vtau_b(jpi,jpj) , vtauV(jpi,jpj) , STAT=ierr(1) ) ! - ALLOCATE( qns_tot(jpi,jpj) , qns (jpi,jpj) , qns_b(jpi,jpj), & - & qsr_tot(jpi,jpj) , qsr (jpi,jpj) , & - & emp (jpi,jpj) , emp_b(jpi,jpj) , & - & sfx (jpi,jpj) , sfx_b(jpi,jpj) , emp_tot(jpi,jpj), fmmflx(jpi,jpj), STAT=ierr(2) ) + ALLOCATE( emp(jpi,jpj) , emp_b(jpi,jpj) , & + & STAT=ierr(2) ) ! - ALLOCATE( rnf (jpi,jpj) , sbc_tsc (jpi,jpj,jpts) , qsr_hc (jpi,jpj,jpk) , & - & rnf_b(jpi,jpj) , sbc_tsc_b(jpi,jpj,jpts) , qsr_hc_b(jpi,jpj,jpk) , & - & fwficb (jpi,jpj), fwficb_b(jpi,jpj), STAT=ierr(3) ) + ALLOCATE( rnf (jpi,jpj) , rnf_b (jpi,jpj) , & + & fwficb (jpi,jpj) , STAT=ierr(3) ) ! - ALLOCATE( tprecip(jpi,jpj) , sprecip(jpi,jpj) , fr_i(jpi,jpj) , & - & atm_co2(jpi,jpj) , tsk_m(jpi,jpj) , cloud_fra(jpi,jpj), & + ALLOCATE( fr_i(jpi,jpj) , & & ssu_m (jpi,jpj) , sst_m(jpi,jpj) , frq_m(jpi,jpj) , & - & ssv_m (jpi,jpj) , sss_m(jpi,jpj) , ssh_m(jpi,jpj) , STAT=ierr(4) ) + & ssv_m (jpi,jpj) , sss_m(jpi,jpj) , ssh_m(jpi,jpj) , e3t_m(jpi,jpj) , STAT=ierr(4) ) ! - ALLOCATE( e3t_m(jpi,jpj) , STAT=ierr(5) ) + ! -------------------- ! + ! == REDUCED ARRAYS == ! + ! -------------------- ! + ALLOCATE( qns (A2D(0)) , qns_b (A2D(0)) , qsr (A2D(0)) , & + & qns_tot(A2D(0)) , qsr_tot(A2D(0)) , qsr_hc(A2D(0),jpk) , qsr_hc_b(A2D(0),jpk) , STAT=ierr(5) ) + ! + ALLOCATE( sbc_tsc(A2D(0),jpts) , sbc_tsc_b(A2D(0),jpts) , & + & sfx (A2D(0)) , sfx_b(A2D(0)) , emp_tot(A2D(0)), fmmflx(A2D(0)) ,& + & wndm(A2D(0)) , taum (A2D(0)) , STAT=ierr(6) ) + ! + ALLOCATE( tprecip(A2D(0)) , sprecip(A2D(0)) , & + & atm_co2(A2D(0)) , tsk_m (A2D(0)) , cloud_fra(A2D(0)), STAT=ierr(7) ) + + ALLOCATE( rhoa(A2D(0)) , q_air_zt(A2D(0)) , theta_air_zt(A2D(0)) , STAT=ierr(8) ) ! - ALLOCATE( q_air_zt(jpi,jpj) , theta_air_zt(jpi,jpj) , STAT=ierr(6) ) !#LB ! sbc_oce_alloc = MAXVAL( ierr ) CALL mpp_sum ( 'sbc_oce', sbc_oce_alloc ) @@ -224,9 +235,9 @@ CONTAINS INTEGER :: ji, jj ! dummy indices !!--------------------------------------------------------------------- zcoef = 0.5 / ( zrhoa * zcdrag ) - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) ztau = SQRT( utau(ji,jj)*utau(ji,jj) + vtau(ji,jj)*vtau(ji,jj) ) - wndm(ji,jj) = SQRT ( ztau * zcoef ) * tmask(ji,jj,1) + wndm(ji,jj) = SQRT ( ztau * zcoef ) * smask0(ji,jj) END_2D ! END SUBROUTINE sbc_tau2wnd diff --git a/src/OCE/SBC/sbc_phy.F90 b/src/OCE/SBC/sbc_phy.F90 index cabec70fc..2a845e3a5 100644 --- a/src/OCE/SBC/sbc_phy.F90 +++ b/src/OCE/SBC/sbc_phy.F90 @@ -223,9 +223,9 @@ CONTAINS FUNCTION virt_temp_vctr( pta, pqa ) - REAL(wp), DIMENSION(jpi,jpj) :: virt_temp_vctr !: virtual temperature [K] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pta !: absolute or potential air temperature [K] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pqa !: specific humidity of air [kg/kg] + REAL(wp), DIMENSION(A2D(0)) :: virt_temp_vctr !: virtual temperature [K] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pta !: absolute or potential air temperature [K] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pqa !: specific humidity of air [kg/kg] virt_temp_vctr(:,:) = pta(:,:) * (1._wp + rctv0*pqa(:,:)) @@ -290,25 +290,25 @@ CONTAINS !! ** Author: G. Samson, Feb 2021 !!------------------------------------------------------------------------------- - REAL(wp), DIMENSION(jpi,jpj) :: pres_temp_vctr ! air pressure [Pa] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in ) :: pqspe ! air specific humidity [kg/kg] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in ) :: pslp ! sea-level pressure [Pa] - REAL(wp), INTENT(in ) :: pz ! height above surface [m] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in ) , OPTIONAL :: ptpot ! air potential temperature [K] - REAL(wp), DIMENSION(jpi,jpj), INTENT(inout), OPTIONAL :: pta ! air absolute temperature [K] - INTEGER :: ji, jj ! loop indices - LOGICAL , INTENT(in) , OPTIONAL :: l_ice ! sea-ice presence - LOGICAL :: lice ! sea-ice presence + REAL(wp), DIMENSION(A2D(0)) :: pres_temp_vctr ! air pressure [Pa] + REAL(wp), DIMENSION(A2D(0)), INTENT(in ) :: pqspe ! air specific humidity [kg/kg] + REAL(wp), DIMENSION(A2D(0)), INTENT(in ) :: pslp ! sea-level pressure [Pa] + REAL(wp), INTENT(in ) :: pz ! height above surface [m] + REAL(wp), DIMENSION(A2D(0)), INTENT(in ) , OPTIONAL :: ptpot ! air potential temperature [K] + REAL(wp), DIMENSION(A2D(0)), INTENT(inout), OPTIONAL :: pta ! air absolute temperature [K] + INTEGER :: ji, jj ! loop indices + LOGICAL , INTENT(in) , OPTIONAL :: l_ice ! sea-ice presence + LOGICAL :: lice ! sea-ice presence lice = .FALSE. IF( PRESENT(l_ice) ) lice = l_ice IF( PRESENT(ptpot) ) THEN - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) pres_temp_vctr(ji,jj) = pres_temp_sclr( pqspe(ji,jj), pslp(ji,jj), pz, ptpot=ptpot(ji,jj), pta=pta(ji,jj), l_ice=lice ) END_2D ELSE - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) pres_temp_vctr(ji,jj) = pres_temp_sclr( pqspe(ji,jj), pslp(ji,jj), pz, pta=pta(ji,jj), l_ice=lice ) END_2D ENDIF @@ -344,12 +344,12 @@ CONTAINS !! ** Author: G. Samson, Feb 2021 !!------------------------------------------------------------------------------- - REAL(wp), DIMENSION(jpi,jpj) :: theta_exner_vctr ! air/surface potential temperature [K] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pta ! air/surface absolute temperature [K] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: ppa ! air/surface pressure [Pa] - INTEGER :: ji, jj ! loop indices + REAL(wp), DIMENSION(A2D(0)) :: theta_exner_vctr ! air/surface potential temperature [K] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pta ! air/surface absolute temperature [K] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: ppa ! air/surface pressure [Pa] + INTEGER :: ji, jj ! loop indices - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) theta_exner_vctr(ji,jj) = theta_exner_sclr( pta(ji,jj), ppa(ji,jj) ) END_2D @@ -364,10 +364,10 @@ CONTAINS !! !! ** Author: L. Brodeau, June 2016 / AeroBulk (https://github.com/brodeau/aerobulk/) !!------------------------------------------------------------------------------- - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: ptak ! air temperature [K] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pqa ! air specific humidity [kg/kg] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: ppa ! pressure in [Pa] - REAL(wp), DIMENSION(jpi,jpj) :: rho_air_vctr ! density of moist air [kg/m^3] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: ptak ! air temperature [K] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pqa ! air specific humidity [kg/kg] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: ppa ! pressure in [Pa] + REAL(wp), DIMENSION(A2D(0)) :: rho_air_vctr ! density of moist air [kg/m^3] !!------------------------------------------------------------------------------- rho_air_vctr = MAX( ppa / (R_dry*ptak * ( 1._wp + rctv0*pqa )) , 0.8_wp ) @@ -412,11 +412,11 @@ CONTAINS FUNCTION visc_air_vctr(ptak) - REAL(wp), DIMENSION(jpi,jpj) :: visc_air_vctr ! kinetic viscosity (m^2/s) - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: ptak ! air temperature in (K) + REAL(wp), DIMENSION(A2D(0)) :: visc_air_vctr ! kinetic viscosity (m^2/s) + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: ptak ! air temperature in (K) INTEGER :: ji, jj ! dummy loop indices - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) visc_air_vctr(ji,jj) = visc_air_sclr( ptak(ji,jj) ) END_2D @@ -431,8 +431,8 @@ CONTAINS !! !! ** Author: L. Brodeau, june 2016 / AeroBulk (https://github.com/brodeau/aerobulk/) !!---------------------------------------------------------------------------------- - REAL(wp), DIMENSION(jpi,jpj) :: L_vap_vctr ! latent heat of vaporization [J/kg] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: psst ! water temperature [K] + REAL(wp), DIMENSION(A2D(0)) :: L_vap_vctr ! latent heat of vaporization [J/kg] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: psst ! water temperature [K] !!---------------------------------------------------------------------------------- ! L_vap_vctr = ( 2.501_wp - 0.00237_wp * ( psst(:,:) - rt0) ) * 1.e6_wp @@ -464,8 +464,8 @@ CONTAINS !! !! ** Author: L. Brodeau, june 2016 / AeroBulk (https://github.com/brodeau/aerobulk/) !!------------------------------------------------------------------------------- - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pqa ! air specific humidity [kg/kg] - REAL(wp), DIMENSION(jpi,jpj) :: cp_air_vctr ! specific heat of moist air [J/K/kg] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pqa ! air specific humidity [kg/kg] + REAL(wp), DIMENSION(A2D(0)) :: cp_air_vctr ! specific heat of moist air [J/K/kg] !!------------------------------------------------------------------------------- cp_air_vctr = rCp_dry + rCp_vap * pqa @@ -516,12 +516,12 @@ CONTAINS FUNCTION gamma_moist_vctr( ptak, pqa ) - REAL(wp), DIMENSION(jpi,jpj) :: gamma_moist_vctr - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: ptak - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pqa + REAL(wp), DIMENSION(A2D(0)) :: gamma_moist_vctr + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: ptak + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pqa INTEGER :: ji, jj - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) gamma_moist_vctr(ji,jj) = gamma_moist_sclr( ptak(ji,jj), pqa(ji,jj) ) END_2D @@ -537,17 +537,17 @@ CONTAINS !! Author: L. Brodeau, June 2019 / AeroBulk !! (https://github.com/brodeau/aerobulk/) !!------------------------------------------------------------------------ - REAL(wp), DIMENSION(jpi,jpj) :: One_on_L !: 1./(Obukhov length) [m^-1] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: ptha !: reference potential temperature of air [K] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pqa !: reference specific humidity of air [kg/kg] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pus !: u*: friction velocity [m/s] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pts, pqs !: \theta* and q* friction aka turb. scales for temp. and spec. hum. + REAL(wp), DIMENSION(A2D(0)) :: One_on_L !: 1./(Obukhov length) [m^-1] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: ptha !: reference potential temperature of air [K] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pqa !: reference specific humidity of air [kg/kg] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pus !: u*: friction velocity [m/s] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pts, pqs !: \theta* and q* friction aka turb. scales for temp. and spec. hum. ! INTEGER :: ji, jj ! dummy loop indices REAL(wp) :: zqa ! local scalar !!------------------------------------------------------------------- ! - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) zqa = (1._wp + rctv0*pqa(ji,jj)) ! ! The main concern is to know whether, the vertical turbulent flux of virtual temperature, < u' theta_v' > is estimated with: @@ -598,27 +598,27 @@ CONTAINS FUNCTION Ri_bulk_vctr( pz, psst, ptha, pssq, pqa, pub, pta_layer, pqa_layer ) - REAL(wp), DIMENSION(jpi,jpj) :: Ri_bulk_vctr - REAL(wp) , INTENT(in) :: pz ! height above the sea (aka "delta z") [m] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: psst ! SST [K] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: ptha ! pot. air temp. at height "pz" [K] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pssq ! 0.98*q_sat(SST) [kg/kg] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pqa ! air spec. hum. at height "pz" [kg/kg] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pub ! bulk wind speed [m/s] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in), OPTIONAL :: pta_layer ! when possible, a better guess of absolute temperature WITHIN the layer [K] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in), OPTIONAL :: pqa_layer ! when possible, a better guess of specific humidity WITHIN the layer [kg/kg] + REAL(wp), DIMENSION(A2D(0)) :: Ri_bulk_vctr + REAL(wp) , INTENT(in) :: pz ! height above the sea (aka "delta z") [m] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: psst ! SST [K] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: ptha ! pot. air temp. at height "pz" [K] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pssq ! 0.98*q_sat(SST) [kg/kg] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pqa ! air spec. hum. at height "pz" [kg/kg] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pub ! bulk wind speed [m/s] + REAL(wp), DIMENSION(A2D(0)), INTENT(in), OPTIONAL :: pta_layer ! when possible, a better guess of absolute temperature WITHIN the layer [K] + REAL(wp), DIMENSION(A2D(0)), INTENT(in), OPTIONAL :: pqa_layer ! when possible, a better guess of specific humidity WITHIN the layer [kg/kg] !! LOGICAL :: l_ptqa_l_prvd = .FALSE. INTEGER :: ji, jj IF( PRESENT(pta_layer) .AND. PRESENT(pqa_layer) ) l_ptqa_l_prvd = .TRUE. IF( l_ptqa_l_prvd ) THEN - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) Ri_bulk_vctr(ji,jj) = Ri_bulk_sclr( pz, psst(ji,jj), ptha(ji,jj), pssq(ji,jj), pqa(ji,jj), pub(ji,jj), & & pta_layer=pta_layer(ji,jj ), pqa_layer=pqa_layer(ji,jj ) ) END_2D ELSE - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) Ri_bulk_vctr(ji,jj) = Ri_bulk_sclr( pz, psst(ji,jj), ptha(ji,jj), pssq(ji,jj), pqa(ji,jj), pub(ji,jj) ) END_2D END IF @@ -652,10 +652,10 @@ CONTAINS END FUNCTION e_sat_sclr FUNCTION e_sat_vctr(ptak) - REAL(wp), DIMENSION(jpi,jpj) :: e_sat_vctr !: vapour pressure at saturation [Pa] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: ptak !: temperature (K) + REAL(wp), DIMENSION(A2D(0)) :: e_sat_vctr !: vapour pressure at saturation [Pa] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: ptak !: temperature (K) INTEGER :: ji, jj ! dummy loop indices - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) e_sat_vctr(ji,jj) = e_sat_sclr(ptak(ji,jj)) END_2D END FUNCTION e_sat_vctr @@ -681,11 +681,11 @@ CONTAINS FUNCTION e_sat_ice_vctr(ptak) !! Same as "e_sat" but over ice rather than water! - REAL(wp), DIMENSION(jpi,jpj) :: e_sat_ice_vctr !: vapour pressure at saturation in presence of ice [Pa] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: ptak + REAL(wp), DIMENSION(A2D(0)) :: e_sat_ice_vctr !: vapour pressure at saturation in presence of ice [Pa] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: ptak INTEGER :: ji, jj !!---------------------------------------------------------------------------------- - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) e_sat_ice_vctr(ji,jj) = e_sat_ice_sclr( ptak(ji,jj) ) END_2D @@ -712,11 +712,11 @@ CONTAINS FUNCTION de_sat_dt_ice_vctr(ptak) !! Same as "e_sat" but over ice rather than water! - REAL(wp), DIMENSION(jpi,jpj) :: de_sat_dt_ice_vctr !: vapour pressure at saturation in presence of ice [Pa] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: ptak + REAL(wp), DIMENSION(A2D(0)) :: de_sat_dt_ice_vctr !: vapour pressure at saturation in presence of ice [Pa] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: ptak INTEGER :: ji, jj !!---------------------------------------------------------------------------------- - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) de_sat_dt_ice_vctr(ji,jj) = de_sat_dt_ice_sclr( ptak(ji,jj) ) END_2D @@ -751,16 +751,16 @@ CONTAINS FUNCTION q_sat_vctr( pta, ppa, l_ice ) - REAL(wp), DIMENSION(jpi,jpj) :: q_sat_vctr - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pta !: absolute temperature of air [K] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: ppa !: atmospheric pressure [Pa] + REAL(wp), DIMENSION(A2D(0)) :: q_sat_vctr + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pta !: absolute temperature of air [K] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: ppa !: atmospheric pressure [Pa] LOGICAL, INTENT(in), OPTIONAL :: l_ice !: we are above ice LOGICAL :: lice INTEGER :: ji, jj !!---------------------------------------------------------------------------------- lice = .FALSE. IF( PRESENT(l_ice) ) lice = l_ice - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) q_sat_vctr(ji,jj) = q_sat_sclr( pta(ji,jj) , ppa(ji,jj), l_ice=lice ) END_2D @@ -790,12 +790,12 @@ CONTAINS FUNCTION dq_sat_dt_ice_vctr( pta, ppa ) - REAL(wp), DIMENSION(jpi,jpj) :: dq_sat_dt_ice_vctr - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pta !: absolute temperature of air [K] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: ppa !: atmospheric pressure [Pa] + REAL(wp), DIMENSION(A2D(0)) :: dq_sat_dt_ice_vctr + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pta !: absolute temperature of air [K] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: ppa !: atmospheric pressure [Pa] INTEGER :: ji, jj !!---------------------------------------------------------------------------------- - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) dq_sat_dt_ice_vctr(ji,jj) = dq_sat_dt_ice_sclr( pta(ji,jj) , ppa(ji,jj) ) END_2D @@ -808,16 +808,16 @@ CONTAINS !! !! ** Author: L. Brodeau, june 2016 / AeroBulk (https://github.com/brodeau/aerobulk/) !!---------------------------------------------------------------------------------- - REAL(wp), DIMENSION(jpi,jpj) :: q_air_rh - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: prha !: relative humidity [fraction, not %!!!] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: ptak !: air temperature [K] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: ppa !: atmospheric pressure [Pa] + REAL(wp), DIMENSION(A2D(0)) :: q_air_rh + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: prha !: relative humidity [fraction, not %!!!] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: ptak !: air temperature [K] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: ppa !: atmospheric pressure [Pa] ! INTEGER :: ji, jj ! dummy loop indices REAL(wp) :: ze ! local scalar !!---------------------------------------------------------------------------------- ! - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) ze = prha(ji,jj)*e_sat_sclr(ptak(ji,jj)) q_air_rh(ji,jj) = ze*reps0/(ppa(ji,jj) - (1. - reps0)*ze) END_2D @@ -833,29 +833,29 @@ CONTAINS !! and the module of the wind stress => pTau = Tau !! ** Author: L. Brodeau, Sept. 2019 / AeroBulk (https://github.com/brodeau/aerobulk/) !!---------------------------------------------------------------------------------- - REAL(wp), INTENT(in) :: pzu ! height above the sea-level where all this takes place (normally 10m) - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pTs ! water temperature at the air-sea interface [K] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pqs ! satur. spec. hum. at T=pTs [kg/kg] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pTa ! potential air temperature at z=pzu [K] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pqa ! specific humidity at z=pzu [kg/kg] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pust ! u* - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: ptst ! t* - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pqst ! q* - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pwnd ! wind speed module at z=pzu [m/s] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pUb ! bulk wind speed at z=pzu (inc. pot. effect of gustiness etc) [m/s] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: ppa ! sea-level atmospheric pressure [Pa] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: prlw ! downwelling longwave radiative flux [W/m^2] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: prhoa ! air density [kg/m3] + REAL(wp), INTENT(in) :: pzu ! height above the sea-level where all this takes place (normally 10m) + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pTs ! water temperature at the air-sea interface [K] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pqs ! satur. spec. hum. at T=pTs [kg/kg] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pTa ! potential air temperature at z=pzu [K] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pqa ! specific humidity at z=pzu [kg/kg] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pust ! u* + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: ptst ! t* + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pqst ! q* + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pwnd ! wind speed module at z=pzu [m/s] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pUb ! bulk wind speed at z=pzu (inc. pot. effect of gustiness etc) [m/s] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: ppa ! sea-level atmospheric pressure [Pa] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: prlw ! downwelling longwave radiative flux [W/m^2] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: prhoa ! air density [kg/m3] ! - REAL(wp), DIMENSION(jpi,jpj), INTENT(out) :: pQns ! non-solar heat flux to the ocean aka "Qlat + Qsen + Qlw" [W/m^2]] - REAL(wp), DIMENSION(jpi,jpj), INTENT(out) :: pTau ! module of the wind stress [N/m^2] + REAL(wp), DIMENSION(A2D(0)), INTENT(out) :: pQns ! non-solar heat flux to the ocean aka "Qlat + Qsen + Qlw" [W/m^2]] + REAL(wp), DIMENSION(A2D(0)), INTENT(out) :: pTau ! module of the wind stress [N/m^2] ! - REAL(wp), DIMENSION(jpi,jpj), OPTIONAL, INTENT(out) :: Qlat + REAL(wp), DIMENSION(A2D(0)), OPTIONAL, INTENT(out) :: Qlat ! REAL(wp) :: zdt, zdq, zCd, zCh, zCe, zz0, zQlat, zQsen, zQlw INTEGER :: ji, jj ! dummy loop indices !!---------------------------------------------------------------------------------- - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) zdt = pTa(ji,jj) - pTs(ji,jj) ; zdt = SIGN( MAX(ABS(zdt),1.E-6_wp), zdt ) zdq = pqa(ji,jj) - pqs(ji,jj) ; zdq = SIGN( MAX(ABS(zdq),1.E-9_wp), zdq ) @@ -929,25 +929,25 @@ CONTAINS & pTau, pQsen, pQlat, & & pEvap, pfact_evap ) !!---------------------------------------------------------------------------------- - REAL(wp), INTENT(in) :: pzu ! height above the sea-level where all this takes place (normally 10m) - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pTs ! water temperature at the air-sea interface [K] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pqs ! satur. spec. hum. at T=pTs [kg/kg] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pTa ! potential air temperature at z=pzu [K] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pqa ! specific humidity at z=pzu [kg/kg] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pCd - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pCh - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pCe - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pwnd ! wind speed module at z=pzu [m/s] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pUb ! bulk wind speed at z=pzu (inc. pot. effect of gustiness etc) [m/s] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: ppa ! sea-level atmospheric pressure [Pa] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: prhoa ! Air density at z=pzu [kg/m^3] + REAL(wp), INTENT(in) :: pzu ! height above the sea-level where all this takes place (normally 10m) + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pTs ! water temperature at the air-sea interface [K] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pqs ! satur. spec. hum. at T=pTs [kg/kg] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pTa ! potential air temperature at z=pzu [K] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pqa ! specific humidity at z=pzu [kg/kg] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pCd + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pCh + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pCe + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pwnd ! wind speed module at z=pzu [m/s] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pUb ! bulk wind speed at z=pzu (inc. pot. effect of gustiness etc) [m/s] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: ppa ! sea-level atmospheric pressure [Pa] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: prhoa ! Air density at z=pzu [kg/m^3] !! - REAL(wp), DIMENSION(jpi,jpj), INTENT(out) :: pTau ! module of the wind stress [N/m^2] - REAL(wp), DIMENSION(jpi,jpj), INTENT(out) :: pQsen ! [W/m^2] - REAL(wp), DIMENSION(jpi,jpj), INTENT(out) :: pQlat ! [W/m^2] + REAL(wp), DIMENSION(A2D(0)), INTENT(out) :: pTau ! module of the wind stress [N/m^2] + REAL(wp), DIMENSION(A2D(0)), INTENT(out) :: pQsen ! [W/m^2] + REAL(wp), DIMENSION(A2D(0)), INTENT(out) :: pQlat ! [W/m^2] !! - REAL(wp), DIMENSION(jpi,jpj), INTENT(out), OPTIONAL :: pEvap ! Evaporation [kg/m^2/s] - REAL(wp), INTENT(in) , OPTIONAL :: pfact_evap ! ABOMINATION: corrective factor for evaporation (doing this against my will! /laurent) + REAL(wp), DIMENSION(A2D(0)), INTENT(out), OPTIONAL :: pEvap ! Evaporation [kg/m^2/s] + REAL(wp), INTENT(in) , OPTIONAL :: pfact_evap ! ABOMINATION: corrective factor for evaporation (doing this against my will! /laurent) !! REAL(wp) :: ztaa, zgamma, zrho, zUrho, zevap, zfact_evap INTEGER :: ji, jj @@ -955,7 +955,7 @@ CONTAINS zfact_evap = 1._wp IF( PRESENT(pfact_evap) ) zfact_evap = pfact_evap - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) CALL BULK_FORMULA_SCLR( pzu, pTs(ji,jj), pqs(ji,jj), pTa(ji,jj), pqa(ji,jj), & & pCd(ji,jj), pCh(ji,jj), pCe(ji,jj), & @@ -977,8 +977,8 @@ CONTAINS !! !! ** Author: L. Brodeau, june 2016 / AeroBulk (https://github.com/brodeau/aerobulk/) !!---------------------------------------------------------------------------------- - REAL(wp), DIMENSION(jpi,jpj) :: alpha_sw_vctr ! thermal expansion coefficient of sea-water [1/K] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: psst ! water temperature [K] + REAL(wp), DIMENSION(A2D(0)) :: alpha_sw_vctr ! thermal expansion coefficient of sea-water [1/K] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: psst ! water temperature [K] !!---------------------------------------------------------------------------------- alpha_sw_vctr = 2.1e-5_wp * MAX(psst(:,:)-rt0 + 3.2_wp, 0._wp)**0.79 @@ -1027,16 +1027,16 @@ CONTAINS FUNCTION qlw_net_vctr( pdwlw, pts, l_ice ) - REAL(wp), DIMENSION(jpi,jpj) :: qlw_net_vctr - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pdwlw !: downwelling longwave (aka infrared, aka thermal) radiation [W/m^2] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pts !: surface temperature [K] + REAL(wp), DIMENSION(A2D(0)) :: qlw_net_vctr + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pdwlw !: downwelling longwave (aka infrared, aka thermal) radiation [W/m^2] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pts !: surface temperature [K] LOGICAL, INTENT(in), OPTIONAL :: l_ice !: we are above ice LOGICAL :: lice INTEGER :: ji, jj !!---------------------------------------------------------------------------------- lice = .FALSE. IF( PRESENT(l_ice) ) lice = l_ice - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) qlw_net_vctr(ji,jj) = qlw_net_sclr( pdwlw(ji,jj) , pts(ji,jj), l_ice=lice ) END_2D @@ -1045,10 +1045,10 @@ CONTAINS FUNCTION z0_from_Cd( pzu, pCd, ppsi ) - REAL(wp), DIMENSION(jpi,jpj) :: z0_from_Cd !: roughness length [m] - REAL(wp) , INTENT(in) :: pzu !: reference height zu [m] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pCd !: (neutral or non-neutral) drag coefficient [] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in), OPTIONAL :: ppsi !: "Psi_m(pzu/L)" stability correction profile for momentum [] + REAL(wp), DIMENSION(A2D(0)) :: z0_from_Cd !: roughness length [m] + REAL(wp) , INTENT(in) :: pzu !: reference height zu [m] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pCd !: (neutral or non-neutral) drag coefficient [] + REAL(wp), DIMENSION(A2D(0)), INTENT(in), OPTIONAL :: ppsi !: "Psi_m(pzu/L)" stability correction profile for momentum [] !! !! If pCd is the NEUTRAL-STABILITY drag coefficient then ppsi must be 0 or not given !! If pCd is the drag coefficient (in stable or unstable conditions) then pssi must be provided @@ -1066,10 +1066,10 @@ CONTAINS FUNCTION Cd_from_z0( pzu, pz0, ppsi ) - REAL(wp), DIMENSION(jpi,jpj) :: Cd_from_z0 !: (neutral or non-neutral) drag coefficient [] - REAL(wp) , INTENT(in) :: pzu !: reference height zu [m] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pz0 !: roughness length [m] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in), OPTIONAL :: ppsi !: "Psi_m(pzu/L)" stability correction profile for momentum [] + REAL(wp), DIMENSION(A2D(0)) :: Cd_from_z0 !: (neutral or non-neutral) drag coefficient [] + REAL(wp) , INTENT(in) :: pzu !: reference height zu [m] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pz0 !: roughness length [m] + REAL(wp), DIMENSION(A2D(0)), INTENT(in), OPTIONAL :: ppsi !: "Psi_m(pzu/L)" stability correction profile for momentum [] !! !! If we want to return the NEUTRAL-STABILITY drag coefficient then ppsi must be 0 or not given !! If we want to return the stability-corrected Cd (i.e. in stable or unstable conditions) then pssi must be provided @@ -1111,14 +1111,14 @@ CONTAINS FUNCTION f_m_louis_vctr( pzu, pRib, pCdn, pz0 ) - REAL(wp), DIMENSION(jpi,jpj) :: f_m_louis_vctr - REAL(wp), INTENT(in) :: pzu - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pRib - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pCdn - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pz0 + REAL(wp), DIMENSION(A2D(0)) :: f_m_louis_vctr + REAL(wp), INTENT(in) :: pzu + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pRib + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pCdn + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pz0 INTEGER :: ji, jj - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) f_m_louis_vctr(ji,jj) = f_m_louis_sclr( pzu, pRib(ji,jj), pCdn(ji,jj), pz0(ji,jj) ) END_2D @@ -1150,14 +1150,14 @@ CONTAINS FUNCTION f_h_louis_vctr( pzu, pRib, pChn, pz0 ) - REAL(wp), DIMENSION(jpi,jpj) :: f_h_louis_vctr - REAL(wp), INTENT(in) :: pzu - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pRib - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pChn - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pz0 + REAL(wp), DIMENSION(A2D(0)) :: f_h_louis_vctr + REAL(wp), INTENT(in) :: pzu + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pRib + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pChn + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pz0 INTEGER :: ji, jj - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) f_h_louis_vctr(ji,jj) = f_h_louis_sclr( pzu, pRib(ji,jj), pChn(ji,jj), pz0(ji,jj) ) END_2D @@ -1168,11 +1168,11 @@ CONTAINS !!---------------------------------------------------------------------------------- !! Provides the neutral-stability wind speed at 10 m !!---------------------------------------------------------------------------------- - REAL(wp), DIMENSION(jpi,jpj) :: UN10_from_ustar !: neutral stability wind speed at 10m [m/s] - REAL(wp), INTENT(in) :: pzu !: measurement heigh of wind speed [m] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pUzu !: bulk wind speed at height pzu m [m/s] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pus !: friction velocity [m/s] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: ppsi !: "Psi_m(pzu/L)" stability correction profile for momentum [] + REAL(wp), DIMENSION(A2D(0)) :: UN10_from_ustar !: neutral stability wind speed at 10m [m/s] + REAL(wp), INTENT(in) :: pzu !: measurement heigh of wind speed [m] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pUzu !: bulk wind speed at height pzu m [m/s] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pus !: friction velocity [m/s] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: ppsi !: "Psi_m(pzu/L)" stability correction profile for momentum [] !!---------------------------------------------------------------------------------- UN10_from_ustar(:,:) = pUzu(:,:) - pus(:,:)/vkarmn * ( LOG(pzu/10._wp) - ppsi(:,:) ) !! @@ -1183,11 +1183,11 @@ CONTAINS !!---------------------------------------------------------------------------------- !! Provides the neutral-stability wind speed at 10 m !!---------------------------------------------------------------------------------- - REAL(wp), DIMENSION(jpi,jpj) :: UN10_from_CD !: [m/s] - REAL(wp), INTENT(in) :: pzu !: measurement heigh of bulk wind speed - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pUb !: bulk wind speed at height pzu m [m/s] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pCd !: drag coefficient - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: ppsi !: "Psi_m(pzu/L)" stability correction profile for momentum [] + REAL(wp), DIMENSION(A2D(0)) :: UN10_from_CD !: [m/s] + REAL(wp), INTENT(in) :: pzu !: measurement heigh of bulk wind speed + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pUb !: bulk wind speed at height pzu m [m/s] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pCd !: drag coefficient + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: ppsi !: "Psi_m(pzu/L)" stability correction profile for momentum [] !!---------------------------------------------------------------------------------- !! Reminder: UN10 = u*/vkarmn * log(10/z0) !! and: u* = sqrt(Cd) * Ub @@ -1214,10 +1214,10 @@ CONTAINS !! !! ** Author: L. Brodeau, April 2020 / AeroBulk (https://github.com/brodeau/aerobulk/) !!---------------------------------------------------------------------------------- - REAL(wp), DIMENSION(jpi,jpj) :: z0tq_LKB - INTEGER, INTENT(in) :: iflag !: 1 => dealing with temperature; 2 => dealing with humidity - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pRer !: roughness Reynolds number [z_0 u*]/Nu_{air} - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pz0 !: roughness length (for momentum) [m] + REAL(wp), DIMENSION(A2D(0)) :: z0tq_LKB + INTEGER, INTENT(in) :: iflag !: 1 => dealing with temperature; 2 => dealing with humidity + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pRer !: roughness Reynolds number [z_0 u*]/Nu_{air} + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pz0 !: roughness length (for momentum) [m] !------------------------------------------------------------------- ! Scalar Re_r relation from Liu et al. REAL(wp), DIMENSION(8,2), PARAMETER :: & @@ -1250,7 +1250,7 @@ CONTAINS z0tq_LKB(:,:) = -999._wp - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) zrr = pRer(ji,jj) lfound = .FALSE. diff --git a/src/OCE/SBC/sbcblk.F90 b/src/OCE/SBC/sbcblk.F90 index 397155a58..9db8db10f 100644 --- a/src/OCE/SBC/sbcblk.F90 +++ b/src/OCE/SBC/sbcblk.F90 @@ -124,7 +124,7 @@ MODULE sbcblk ! INTEGER :: nn_iter_algo ! Number of iterations in bulk param. algo ("stable ABL + weak wind" requires more) - REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: theta_zu, q_zu ! air temp. and spec. hum. at wind speed height (L15 bulk scheme) + REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: theta_zu, q_zu ! air temp. and spec. hum. at wind speed height (L15 bulk scheme) #if defined key_si3 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: Cd_ice , Ch_ice , Ce_ice !#LB transfert coefficients over ice @@ -180,7 +180,7 @@ CONTAINS !!------------------------------------------------------------------- !! *** ROUTINE sbc_blk_alloc *** !!------------------------------------------------------------------- - ALLOCATE( theta_zu(jpi,jpj), q_zu(jpi,jpj), STAT=sbc_blk_alloc ) + ALLOCATE( theta_zu(A2D(0)), q_zu(A2D(0)), STAT=sbc_blk_alloc ) CALL mpp_sum ( 'sbcblk', sbc_blk_alloc ) IF( sbc_blk_alloc /= 0 ) CALL ctl_stop( 'STOP', 'sbc_blk_alloc: failed to allocate arrays' ) END FUNCTION sbc_blk_alloc @@ -190,8 +190,7 @@ CONTAINS !!------------------------------------------------------------------- !! *** ROUTINE sbc_blk_ice_alloc *** !!------------------------------------------------------------------- - ALLOCATE( Cd_ice (jpi,jpj), Ch_ice (jpi,jpj), Ce_ice (jpi,jpj), & - & theta_zu_i(jpi,jpj), q_zu_i(jpi,jpj), STAT=sbc_blk_ice_alloc ) + ALLOCATE( Cd_ice(A2D(0)), Ch_ice(A2D(0)), Ce_ice(A2D(0)), theta_zu_i(A2D(0)), q_zu_i(A2D(0)), STAT=sbc_blk_ice_alloc ) CALL mpp_sum ( 'sbcblk', sbc_blk_ice_alloc ) IF( sbc_blk_ice_alloc /= 0 ) CALL ctl_stop( 'STOP', 'sbc_blk_ice_alloc: failed to allocate arrays' ) END FUNCTION sbc_blk_ice_alloc @@ -362,7 +361,7 @@ CONTAINS ipka = 1 ENDIF ! - ALLOCATE( sf(jfpr)%fnow(jpi,jpj,ipka) ) + ALLOCATE( sf(jfpr)%fnow(A2D(0),ipka) ) ! IF( TRIM(sf(jfpr)%clrootname) == 'NOT USED' ) THEN !-- not used field --! (only now allocated and set to default) IF( jfpr == jp_slp ) THEN @@ -384,7 +383,7 @@ CONTAINS CALL ctl_stop( ctmp1 ) ENDIF ELSE !-- used field --! - IF( sf(jfpr)%ln_tint ) ALLOCATE( sf(jfpr)%fdta(jpi,jpj,ipka,2) ) ! allocate array for temporal interpolation + IF( sf(jfpr)%ln_tint ) ALLOCATE( sf(jfpr)%fdta(A2D(0),ipka,2) ) ! allocate array for temporal interpolation ! IF( sf(jfpr)%freqh > 0. .AND. MOD( NINT(3600. * sf(jfpr)%freqh), nn_fsbc * NINT(rn_Dt) ) /= 0 ) & & CALL ctl_warn( 'sbc_blk_init: sbcmod timestep rn_Dt*nn_fsbc is NOT a submultiple of atmospheric forcing frequency.', & @@ -505,7 +504,7 @@ CONTAINS !!---------------------------------------------------------------------- INTEGER, INTENT(in) :: kt ! ocean time step !!---------------------------------------------------------------------- - REAL(wp), DIMENSION(jpi,jpj) :: zssq, zcd_du, zsen, zlat, zevp, zpre, ztheta + REAL(wp), DIMENSION(A2D(0)) :: zssq, zcd_du, zsen, zlat, zevp, zpre, ztheta REAL(wp) :: ztst LOGICAL :: llerr !!---------------------------------------------------------------------- @@ -515,7 +514,8 @@ CONTAINS ! Sanity/consistence test on humidity at first time step to detect potential screw-up: IF( kt == nit000 ) THEN ! mean humidity over ocean on proc - ztst = glob_sum( 'sbcblk', sf(jp_humi)%fnow(:,:,1) * e1e2t(:,:) * tmask(:,:,1) ) / glob_sum( 'sbcblk', e1e2t(:,:) * tmask(:,:,1) ) + ztst = glob_sum( 'sbcblk', sf(jp_humi)%fnow(:,:,1) * e1e2t(A2D(0)) * smask0(:,:) ) & + & / glob_sum( 'sbcblk', e1e2t(A2D(0)) * smask0(:,:) ) llerr = .FALSE. SELECT CASE( nhumi ) CASE( np_humi_sph ) ! specific humidity => expect: 0. <= something < 0.065 [kg/kg] (0.061 is saturation at 45degC !!!) @@ -568,7 +568,7 @@ CONTAINS ! CALL blk_oce_1( kt, sf(jp_wndi )%fnow(:,:,1), sf(jp_wndj )%fnow(:,:,1), & ! <<= in & theta_air_zt(:,:), q_air_zt(:,:), & ! <<= in - & sf(jp_slp )%fnow(:,:,1), sst_m, ssu_m, ssv_m, & ! <<= in + & sf(jp_slp )%fnow(:,:,1), sst_m(A2D(0)), ssu_m(A2D(0)), ssv_m(A2D(0)), & ! <<= in & sf(jp_uoatm)%fnow(:,:,1), sf(jp_voatm)%fnow(:,:,1), & ! <<= in & sf(jp_qsr )%fnow(:,:,1), sf(jp_qlw )%fnow(:,:,1), & ! <<= in (wl/cs) & tsk_m, zssq, zcd_du, zsen, zlat, zevp ) ! =>> out @@ -600,7 +600,7 @@ CONTAINS IF( ln_trcdc2dm ) THEN ! diurnal cycle in TOP IF( MOD( kt - 1, nn_fsbc ) == 0 ) THEN IF( ln_dm2dc ) THEN - qsr_mean(:,:) = ( 1. - albo ) * sf(jp_qsr)%fnow(:,:,1) * tmask(:,:,1) + qsr_mean(:,:) = ( 1. - albo ) * sf(jp_qsr)%fnow(:,:,1) * smask0(:,:) ELSE ncpl_qsr_freq = sf(jp_qsr)%freqh * 3600 ! qsr_mean will be computed in TOP ENDIF @@ -631,39 +631,39 @@ CONTAINS !! - plat : latent heat flux (W/m^2) !! - pevp : evaporation (mm/s) #lolo !!--------------------------------------------------------------------- - INTEGER , INTENT(in ) :: kt ! time step index - REAL(wp), INTENT(in ), DIMENSION(:,:) :: pwndi ! atmospheric wind at T-point [m/s] - REAL(wp), INTENT(in ), DIMENSION(:,:) :: pwndj ! atmospheric wind at T-point [m/s] - REAL(wp), INTENT(in ), DIMENSION(:,:) :: pqair ! specific humidity at T-points [kg/kg] - REAL(wp), INTENT(in ), DIMENSION(:,:) :: ptair ! potential temperature at T-points [Kelvin] - REAL(wp), INTENT(in ), DIMENSION(:,:) :: pslp ! sea-level pressure [Pa] - REAL(wp), INTENT(in ), DIMENSION(:,:) :: pst ! surface temperature [Celsius] - REAL(wp), INTENT(in ), DIMENSION(:,:) :: pu ! surface current at U-point (i-component) [m/s] - REAL(wp), INTENT(in ), DIMENSION(:,:) :: pv ! surface current at V-point (j-component) [m/s] - REAL(wp), INTENT(in ), DIMENSION(:,:) :: puatm ! surface current seen by the atm at T-point (i-component) [m/s] - REAL(wp), INTENT(in ), DIMENSION(:,:) :: pvatm ! surface current seen by the atm at T-point (j-component) [m/s] - REAL(wp), INTENT(in ), DIMENSION(:,:) :: pdqsr ! downwelling solar (shortwave) radiation at surface [W/m^2] - REAL(wp), INTENT(in ), DIMENSION(:,:) :: pdqlw ! downwelling longwave radiation at surface [W/m^2] - REAL(wp), INTENT( out), DIMENSION(:,:) :: ptsk ! skin temp. (or SST if CS & WL not used) [Celsius] - REAL(wp), INTENT( out), DIMENSION(:,:) :: pssq ! specific humidity at pst [kg/kg] - REAL(wp), INTENT( out), DIMENSION(:,:) :: pcd_du - REAL(wp), INTENT( out), DIMENSION(:,:) :: psen - REAL(wp), INTENT( out), DIMENSION(:,:) :: plat - REAL(wp), INTENT( out), DIMENSION(:,:) :: pevp + INTEGER , INTENT(in ) :: kt ! time step index + REAL(wp), INTENT(in ), DIMENSION(A2D(0)) :: pwndi ! atmospheric wind at T-point [m/s] + REAL(wp), INTENT(in ), DIMENSION(A2D(0)) :: pwndj ! atmospheric wind at T-point [m/s] + REAL(wp), INTENT(in ), DIMENSION(A2D(0)) :: pqair ! specific humidity at T-points [kg/kg] + REAL(wp), INTENT(in ), DIMENSION(A2D(0)) :: ptair ! potential temperature at T-points [Kelvin] + REAL(wp), INTENT(in ), DIMENSION(A2D(0)) :: pslp ! sea-level pressure [Pa] + REAL(wp), INTENT(in ), DIMENSION(A2D(0)) :: pst ! surface temperature [Celsius] + REAL(wp), INTENT(in ), DIMENSION(A2D(0)) :: pu ! surface current at U-point (i-component) [m/s] + REAL(wp), INTENT(in ), DIMENSION(A2D(0)) :: pv ! surface current at V-point (j-component) [m/s] + REAL(wp), INTENT(in ), DIMENSION(A2D(0)) :: puatm ! surface current seen by the atm at T-point (i-component) [m/s] + REAL(wp), INTENT(in ), DIMENSION(A2D(0)) :: pvatm ! surface current seen by the atm at T-point (j-component) [m/s] + REAL(wp), INTENT(in ), DIMENSION(A2D(0)) :: pdqsr ! downwelling solar (shortwave) radiation at surface [W/m^2] + REAL(wp), INTENT(in ), DIMENSION(A2D(0)) :: pdqlw ! downwelling longwave radiation at surface [W/m^2] + REAL(wp), INTENT( out), DIMENSION(A2D(0)) :: ptsk ! skin temp. (or SST if CS & WL not used) [Celsius] + REAL(wp), INTENT( out), DIMENSION(A2D(0)) :: pssq ! specific humidity at pst [kg/kg] + REAL(wp), INTENT( out), DIMENSION(A2D(0)) :: pcd_du + REAL(wp), INTENT( out), DIMENSION(A2D(0)) :: psen + REAL(wp), INTENT( out), DIMENSION(A2D(0)) :: plat + REAL(wp), INTENT( out), DIMENSION(A2D(0)) :: pevp ! INTEGER :: ji, jj ! dummy loop indices REAL(wp) :: zztmp ! local variable REAL(wp) :: zstmax, zstau #if defined key_cyclone - REAL(wp), DIMENSION(jpi,jpj) :: zwnd_i, zwnd_j ! wind speed components at T-point + REAL(wp), DIMENSION(A2D(0)) :: zwnd_i, zwnd_j ! wind speed components at T-point #endif - REAL(wp), DIMENSION(jpi,jpj) :: zU_zu ! bulk wind speed at height zu [m/s] - REAL(wp), DIMENSION(jpi,jpj) :: zcd_oce ! momentum transfert coefficient over ocean - REAL(wp), DIMENSION(jpi,jpj) :: zch_oce ! sensible heat transfert coefficient over ocean - REAL(wp), DIMENSION(jpi,jpj) :: zce_oce ! latent heat transfert coefficient over ocean - REAL(wp), DIMENSION(jpi,jpj) :: zsspt ! potential sea-surface temperature [K] - REAL(wp), DIMENSION(jpi,jpj) :: zpre, ztabs ! air pressure [Pa] & absolute temperature [K] - REAL(wp), DIMENSION(jpi,jpj) :: zztmp1, zztmp2 + REAL(wp), DIMENSION(A2D(0)) :: zU_zu ! bulk wind speed at height zu [m/s] + REAL(wp), DIMENSION(A2D(0)) :: zcd_oce ! momentum transfert coefficient over ocean + REAL(wp), DIMENSION(A2D(0)) :: zch_oce ! sensible heat transfert coefficient over ocean + REAL(wp), DIMENSION(A2D(0)) :: zce_oce ! latent heat transfert coefficient over ocean + REAL(wp), DIMENSION(A2D(0)) :: zsspt ! potential sea-surface temperature [K] + REAL(wp), DIMENSION(A2D(0)) :: zpre, ztabs ! air pressure [Pa] & absolute temperature [K] + REAL(wp), DIMENSION(A2D(0)) :: zztmp1, zztmp2 !!--------------------------------------------------------------------- ! ! local scalars ( place there for vector optimisation purposes) @@ -685,7 +685,7 @@ CONTAINS zwnd_i(:,:) = 0._wp zwnd_j(:,:) = 0._wp CALL wnd_cyc( kt, zwnd_i, zwnd_j ) ! add analytical tropical cyclone (Vincent et al. JGR 2012) - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) zwnd_i(ji,jj) = pwndi(ji,jj) + zwnd_i(ji,jj) zwnd_j(ji,jj) = pwndj(ji,jj) + zwnd_j(ji,jj) ! ... scalar wind at T-point (not masked) @@ -693,7 +693,7 @@ CONTAINS END_2D #else ! ... scalar wind module at T-point (not masked) - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) wndm(ji,jj) = SQRT( pwndi(ji,jj) * pwndi(ji,jj) + pwndj(ji,jj) * pwndj(ji,jj) ) END_2D #endif @@ -703,9 +703,9 @@ CONTAINS ! ocean albedo assumed to be constant + modify now Qsr to include the diurnal cycle IF( ln_dm2dc ) THEN - qsr(:,:) = ( 1._wp - albo ) * sbc_dcy( pdqsr(:,:) ) * tmask(:,:,1) + qsr(:,:) = ( 1._wp - albo ) * sbc_dcy( pdqsr(:,:) ) * smask0(:,:) ELSE - qsr(:,:) = ( 1._wp - albo ) * pdqsr(:,:) * tmask(:,:,1) + qsr(:,:) = ( 1._wp - albo ) * pdqsr(:,:) * smask0(:,:) ENDIF ! ----------------------------------------------------------------------------- ! @@ -755,20 +755,20 @@ CONTAINS END SELECT ! outputs - IF( iom_use('Cd_oce') ) CALL iom_put( "Cd_oce", zcd_oce * tmask(:,:,1) ) - IF( iom_use('Ce_oce') ) CALL iom_put( "Ce_oce", zce_oce * tmask(:,:,1) ) - IF( iom_use('Ch_oce') ) CALL iom_put( "Ch_oce", zch_oce * tmask(:,:,1) ) + IF( iom_use('Cd_oce') ) CALL iom_put( "Cd_oce", zcd_oce * smask0(:,:) ) + IF( iom_use('Ce_oce') ) CALL iom_put( "Ce_oce", zce_oce * smask0(:,:) ) + IF( iom_use('Ch_oce') ) CALL iom_put( "Ch_oce", zch_oce * smask0(:,:) ) !! LB: mainly here for debugging purpose: - IF( iom_use('theta_zt') ) CALL iom_put( "theta_zt", (ptair-rt0) * tmask(:,:,1) ) ! potential temperature at z=zt - IF( iom_use('q_zt') ) CALL iom_put( "q_zt", pqair * tmask(:,:,1) ) ! specific humidity " - IF( iom_use('theta_zu') ) CALL iom_put( "theta_zu", (theta_zu -rt0) * tmask(:,:,1) ) ! potential temperature at z=zu - IF( iom_use('q_zu') ) CALL iom_put( "q_zu", q_zu * tmask(:,:,1) ) ! specific humidity " - IF( iom_use('ssq') ) CALL iom_put( "ssq", pssq * tmask(:,:,1) ) ! saturation specific humidity at z=0 - IF( iom_use('wspd_blk') ) CALL iom_put( "wspd_blk", zU_zu * tmask(:,:,1) ) ! bulk wind speed at z=zu + IF( iom_use('theta_zt') ) CALL iom_put( "theta_zt", (ptair-rt0) * smask0(:,:) ) ! potential temperature at z=zt + IF( iom_use('q_zt') ) CALL iom_put( "q_zt", pqair * smask0(:,:) ) ! specific humidity " + IF( iom_use('theta_zu') ) CALL iom_put( "theta_zu", (theta_zu -rt0) * smask0(:,:) ) ! potential temperature at z=zu + IF( iom_use('q_zu') ) CALL iom_put( "q_zu", q_zu * smask0(:,:) ) ! specific humidity " + IF( iom_use('ssq') ) CALL iom_put( "ssq", pssq * smask0(:,:) ) ! saturation specific humidity at z=0 + IF( iom_use('wspd_blk') ) CALL iom_put( "wspd_blk", zU_zu * smask0(:,:) ) ! bulk wind speed at z=zu ! In the presence of sea-ice we do not use the cool-skin/warm-layer update of zsspt, pssq & ptsk from turb_*() IF( ln_skin_cs .OR. ln_skin_wl ) THEN - WHERE ( fr_i(:,:) > 0.001_wp ) + WHERE ( fr_i(A2D(0)) > 0.001_wp ) zsspt(:,:) = zztmp1(:,:) pssq (:,:) = zztmp2(:,:) END WHERE @@ -781,7 +781,7 @@ CONTAINS IF( ln_abl ) THEN !== ABL formulation ==! multiplication by rho_air and turbulent fluxes computation done in ablstp - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) zztmp = zU_zu(ji,jj) wndm(ji,jj) = zztmp ! Store zU_zu in wndm to compute ustar2 in ablmod pcd_du(ji,jj) = zztmp * zcd_oce(ji,jj) @@ -793,7 +793,7 @@ CONTAINS ELSE !== BLK formulation ==! turbulent fluxes computation - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) zpre(ji,jj) = pres_temp( q_zu(ji,jj), pslp(ji,jj), rn_zu, ptpot=theta_zu(ji,jj), pta=ztabs(ji,jj) ) rhoa(ji,jj) = rho_air( ztabs(ji,jj), q_zu(ji,jj), zpre(ji,jj) ) END_2D @@ -804,12 +804,12 @@ CONTAINS & taum(:,:), psen(:,:), plat(:,:), & & pEvap=pevp(:,:), pfact_evap=rn_efac ) - psen(:,:) = psen(:,:) * tmask(:,:,1) - plat(:,:) = plat(:,:) * tmask(:,:,1) - taum(:,:) = taum(:,:) * tmask(:,:,1) - pevp(:,:) = pevp(:,:) * tmask(:,:,1) + psen(:,:) = psen(:,:) * smask0(:,:) + plat(:,:) = plat(:,:) * smask0(:,:) + taum(:,:) = taum(:,:) * smask0(:,:) + pevp(:,:) = pevp(:,:) * smask0(:,:) - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) IF( wndm(ji,jj) > 0._wp ) THEN zztmp = taum(ji,jj) / wndm(ji,jj) #if defined key_cyclone @@ -828,19 +828,19 @@ CONTAINS IF( ln_crt_fbk ) THEN ! aply eq. 10 and 11 of Renault et al. 2020 (doi: 10.1029/2019MS001715) zstmax = MIN( rn_stau_a * 3._wp + rn_stau_b, 0._wp ) ! set the max value of Stau corresponding to a wind of 3 m/s (<0) DO_2D( 0, 0, 0, 0 ) - zstau = MIN( rn_stau_a * wndm(ji,jj) + rn_stau_b, zstmax ) * tmask(ji,jj,1) ! stau (<0) must be smaller than zstmax + zstau = MIN( rn_stau_a * wndm(ji,jj) + rn_stau_b, zstmax ) * smask0(ji,jj) ! stau (<0) must be smaller than zstmax utau(ji,jj) = utau(ji,jj) + zstau * ( 0.5_wp * ( pu(ji-1,jj ) + pu(ji,jj) ) - puatm(ji,jj) ) vtau(ji,jj) = vtau(ji,jj) + zstau * ( 0.5_wp * ( pv(ji ,jj-1) + pv(ji,jj) ) - pvatm(ji,jj) ) taum(ji,jj) = SQRT( utau(ji,jj) * utau(ji,jj) + vtau(ji,jj) * vtau(ji,jj) ) END_2D - CALL lbc_lnk( 'sbcblk', utau, 'T', -1._wp, vtau, 'T', -1._wp, taum, 'T', 1._wp ) + CALL lbc_lnk( 'sbcblk', utau, 'T', -1._wp, vtau, 'T', -1._wp ) ENDIF ! Saving open-ocean wind-stress (module and components) CALL iom_put( "taum_oce", taum(:,:) ) ! wind stress module ! ! LB: These 2 lines below mostly here for 'STATION_ASF' test-case - CALL iom_put( "utau_oce", utau(:,:) ) ! utau - CALL iom_put( "vtau_oce", vtau(:,:) ) ! vtau + CALL iom_put( "utau_oce", utau(A2D(0)) ) ! utau + CALL iom_put( "vtau_oce", vtau(A2D(0)) ) ! vtau IF(sn_cfctl%l_prtctl) THEN CALL prt_ctl( tab2d_1=pssq , clinfo1=' blk_oce_1: pssq : ', mask1=tmask ) @@ -852,7 +852,7 @@ CONTAINS ! ENDIF ! ln_blk / ln_abl - ptsk(:,:) = ( ptsk(:,:) - rt0 ) * tmask(:,:,1) ! Back to Celsius + ptsk(:,:) = ( ptsk(:,:) - rt0 ) * smask0(:,:) ! Back to Celsius IF( ln_skin_cs .OR. ln_skin_wl ) THEN CALL iom_put( "t_skin" , ptsk ) ! T_skin in Celsius @@ -879,60 +879,66 @@ CONTAINS !! - qns : Non Solar heat flux over the ocean (W/m2) !! - emp : evaporation minus precipitation (kg/m2/s) !!--------------------------------------------------------------------- - REAL(wp), INTENT(in), DIMENSION(:,:) :: ptair ! potential temperature of air #LB: confirm! - REAL(wp), INTENT(in), DIMENSION(:,:) :: pdqlw ! downwelling longwave radiation at surface [W/m^2] - REAL(wp), INTENT(in), DIMENSION(:,:) :: pprec - REAL(wp), INTENT(in), DIMENSION(:,:) :: psnow - REAL(wp), INTENT(in), DIMENSION(:,:) :: ptsk ! SKIN surface temperature [Celsius] - REAL(wp), INTENT(in), DIMENSION(:,:) :: psen - REAL(wp), INTENT(in), DIMENSION(:,:) :: plat - REAL(wp), INTENT(in), DIMENSION(:,:) :: pevp + REAL(wp), INTENT(in), DIMENSION(A2D(0)) :: ptair ! potential temperature of air #LB: confirm! + REAL(wp), INTENT(in), DIMENSION(A2D(0)) :: pdqlw ! downwelling longwave radiation at surface [W/m^2] + REAL(wp), INTENT(in), DIMENSION(A2D(0)) :: pprec + REAL(wp), INTENT(in), DIMENSION(A2D(0)) :: psnow + REAL(wp), INTENT(in), DIMENSION(A2D(0)) :: ptsk ! SKIN surface temperature [Celsius] + REAL(wp), INTENT(in), DIMENSION(A2D(0)) :: psen + REAL(wp), INTENT(in), DIMENSION(A2D(0)) :: plat + REAL(wp), INTENT(in), DIMENSION(A2D(0)) :: pevp ! INTEGER :: ji, jj ! dummy loop indices REAL(wp) :: zztmp,zz1,zz2,zz3 ! local variable - REAL(wp), DIMENSION(jpi,jpj) :: zqlw ! net long wave radiative heat flux - REAL(wp), DIMENSION(jpi,jpj) :: zcptrain, zcptsnw, zcptn ! Heat content per unit mass (J/kg) + REAL(wp), DIMENSION(A2D(0)) :: zqlw ! net long wave radiative heat flux + REAL(wp), DIMENSION(A2D(0)) :: zcptrain, zcptsnw, zcptn ! Heat content per unit mass (J/kg) !!--------------------------------------------------------------------- ! - ! Heat content per unit mass (J/kg) - zcptrain(:,:) = ( ptair - rt0 ) * rcp * tmask(:,:,1) - zcptsnw (:,:) = ( MIN( ptair, rt0 ) - rt0 ) * rcpi * tmask(:,:,1) - zcptn (:,:) = ptsk * rcp * tmask(:,:,1) - ! + DO_2D( 0, 0, 0, 0 ) + ! Heat content per unit mass (J/kg) + zcptrain(ji,jj) = ( ptair(ji,jj) - rt0 ) * rcp * smask0(ji,jj) + zcptsnw (ji,jj) = ( MIN( ptair(ji,jj), rt0 ) - rt0 ) * rcpi * smask0(ji,jj) + zcptn (ji,jj) = ptsk (ji,jj) * rcp * smask0(ji,jj) + ! + END_2D ! ----------------------------------------------------------------------------- ! ! III Net longwave radiative FLUX ! ! ----------------------------------------------------------------------------- ! !! #LB: now moved after Turbulent fluxes because must use the skin temperature rather than bulk SST !! (ptsk is skin temperature if ln_skin_cs==.TRUE. .OR. ln_skin_wl==.TRUE.) zqlw(:,:) = qlw_net( pdqlw(:,:), ptsk(:,:)+rt0 ) - + ! ----------------------------------------------------------------------------- ! ! IV Total FLUXES ! ! ----------------------------------------------------------------------------- ! ! - emp (:,:) = ( pevp(:,:) - pprec(:,:) * rn_pfac ) * tmask(:,:,1) ! mass flux (evap. - precip.) - ! - qns(:,:) = zqlw(:,:) + psen(:,:) + plat(:,:) & ! Downward Non Solar - & - psnow(:,:) * rn_pfac * rLfus & ! remove latent melting heat for solid precip - & - pevp(:,:) * zcptn(:,:) & ! remove evap heat content at SST - & + ( pprec(:,:) - psnow(:,:) ) * rn_pfac * zcptrain(:,:) & ! add liquid precip heat content at Tair - & + psnow(:,:) * rn_pfac * zcptsnw(:,:) ! add solid precip heat content at min(Tair,Tsnow) - qns(:,:) = qns(:,:) * tmask(:,:,1) + DO_2D( 0, 0, 0, 0 ) + emp (ji,jj) = ( pevp(ji,jj) - pprec(ji,jj) * rn_pfac ) * smask0(ji,jj) ! mass flux (evap. - precip.) + ! + qns(ji,jj) = zqlw(ji,jj) + psen(ji,jj) + plat(ji,jj) & ! Downward Non Solar + & - psnow(ji,jj) * rn_pfac * rLfus & ! remove latent melting heat for solid precip + & - pevp(ji,jj) * zcptn(ji,jj) & ! remove evap heat content at SST + & + ( pprec(ji,jj) - psnow(ji,jj) ) * rn_pfac * zcptrain(ji,jj) & ! add liquid precip heat content at Tair + & + psnow(ji,jj) * rn_pfac * zcptsnw(ji,jj) ! add solid precip heat content at min(Tair,Tsnow) + qns(ji,jj) = qns(ji,jj) * smask0(ji,jj) + END_2D ! #if defined key_si3 IF ( nn_ice == 2 ) THEN - qns_oce(:,:) = zqlw(:,:) + psen(:,:) + plat(:,:) ! non solar without emp (only needed by SI3) - qsr_oce(:,:) = qsr(:,:) + DO_2D( 0, 0, 0, 0 ) + qns_oce(ji,jj) = zqlw(ji,jj) + psen(ji,jj) + plat(ji,jj) ! non solar without emp (only needed by SI3) + qsr_oce(ji,jj) = qsr(ji,jj) + END_2D ENDIF #endif ! - CALL iom_put( "rho_air" , rhoa*tmask(:,:,1) ) ! output air density [kg/m^3] + CALL iom_put( "rho_air" , rhoa*smask0(:,:) ) ! output air density [kg/m^3] CALL iom_put( "evap_oce" , pevp ) ! evaporation CALL iom_put( "qlw_oce" , zqlw ) ! output downward longwave heat over the ocean CALL iom_put( "qsb_oce" , psen ) ! output downward sensible heat over the ocean CALL iom_put( "qla_oce" , plat ) ! output downward latent heat over the ocean - tprecip(:,:) = pprec(:,:) * rn_pfac * tmask(:,:,1) ! output total precipitation [kg/m2/s] - sprecip(:,:) = psnow(:,:) * rn_pfac * tmask(:,:,1) ! output solid precipitation [kg/m2/s] + tprecip(:,:) = pprec(:,:) * rn_pfac * smask0(:,:) ! output total precipitation [kg/m2/s] + sprecip(:,:) = psnow(:,:) * rn_pfac * smask0(:,:) ! output solid precipitation [kg/m2/s] CALL iom_put( 'snowpre', sprecip ) ! Snow CALL iom_put( 'precip' , tprecip ) ! Total precipitation ! @@ -974,29 +980,29 @@ CONTAINS !! formulea, ice variables and read atmospheric fields. !! NB: ice drag coefficient is assumed to be a constant !!--------------------------------------------------------------------- - REAL(wp) , INTENT(in ), DIMENSION(:,: ) :: pslp ! sea-level pressure [Pa] - REAL(wp) , INTENT(in ), DIMENSION(:,: ) :: pwndi ! atmospheric wind at T-point [m/s] - REAL(wp) , INTENT(in ), DIMENSION(:,: ) :: pwndj ! atmospheric wind at T-point [m/s] - REAL(wp) , INTENT(in ), DIMENSION(:,: ) :: ptair ! atmospheric potential temperature at T-point [K] - REAL(wp) , INTENT(in ), DIMENSION(:,: ) :: pqair ! atmospheric specific humidity at T-point [kg/kg] - REAL(wp) , INTENT(in ), DIMENSION(:,: ) :: puice ! sea-ice velocity on I or C grid [m/s] - REAL(wp) , INTENT(in ), DIMENSION(:,: ) :: pvice ! " - REAL(wp) , INTENT(in ), DIMENSION(:,: ) :: ptsui ! sea-ice surface temperature [K] - REAL(wp) , INTENT( out), DIMENSION(:,: ), OPTIONAL :: putaui ! if ln_blk - REAL(wp) , INTENT( out), DIMENSION(:,: ), OPTIONAL :: pvtaui ! if ln_blk - REAL(wp) , INTENT( out), DIMENSION(:,: ), OPTIONAL :: pseni ! if ln_abl - REAL(wp) , INTENT( out), DIMENSION(:,: ), OPTIONAL :: pevpi ! if ln_abl - REAL(wp) , INTENT( out), DIMENSION(:,: ), OPTIONAL :: pssqi ! if ln_abl - REAL(wp) , INTENT( out), DIMENSION(:,: ), OPTIONAL :: pcd_dui ! if ln_abl + REAL(wp) , INTENT(in ), DIMENSION(A2D(0) ) :: pslp ! sea-level pressure [Pa] + REAL(wp) , INTENT(in ), DIMENSION(A2D(0) ) :: pwndi ! atmospheric wind at T-point [m/s] + REAL(wp) , INTENT(in ), DIMENSION(A2D(0) ) :: pwndj ! atmospheric wind at T-point [m/s] + REAL(wp) , INTENT(in ), DIMENSION(A2D(0) ) :: ptair ! atmospheric potential temperature at T-point [K] + REAL(wp) , INTENT(in ), DIMENSION(A2D(0) ) :: pqair ! atmospheric specific humidity at T-point [kg/kg] + REAL(wp) , INTENT(in ), DIMENSION(A2D(0) ) :: puice ! sea-ice velocity on I or C grid [m/s] + REAL(wp) , INTENT(in ), DIMENSION(A2D(0) ) :: pvice ! " + REAL(wp) , INTENT(in ), DIMENSION(A2D(0) ) :: ptsui ! sea-ice surface temperature [K] + REAL(wp) , INTENT( out), DIMENSION(A2D(0) ), OPTIONAL :: putaui ! if ln_blk + REAL(wp) , INTENT( out), DIMENSION(A2D(0) ), OPTIONAL :: pvtaui ! if ln_blk + REAL(wp) , INTENT( out), DIMENSION(A2D(0) ), OPTIONAL :: pseni ! if ln_abl + REAL(wp) , INTENT( out), DIMENSION(A2D(0) ), OPTIONAL :: pevpi ! if ln_abl + REAL(wp) , INTENT( out), DIMENSION(A2D(0) ), OPTIONAL :: pssqi ! if ln_abl + REAL(wp) , INTENT( out), DIMENSION(A2D(0) ), OPTIONAL :: pcd_dui ! if ln_abl ! INTEGER :: ji, jj ! dummy loop indices REAL(wp) :: zztmp ! temporary scalars - REAL(wp), DIMENSION(jpi,jpj) :: ztmp, zsipt ! temporary array - REAL(wp), DIMENSION(jpi,jpj) :: zmsk00 ! O% concentration ice mask + REAL(wp), DIMENSION(A2D(0)) :: ztmp, zsipt ! temporary array + REAL(wp), DIMENSION(A2D(0)) :: zmsk00 ! O% concentration ice mask !!--------------------------------------------------------------------- ! ! treshold for outputs - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) zmsk00(ji,jj) = MAX( 0._wp , SIGN( 1._wp , fr_i(ji,jj) - 1.e-6_wp ) ) ! 1 if ice, 0 if no ice END_2D @@ -1004,7 +1010,7 @@ CONTAINS ! Wind module relative to the moving ice ( U10m - U_ice ) ! ! ------------------------------------------------------------ ! ! C-grid ice dynamics : U & V-points (same as ocean) - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) wndm_ice(ji,jj) = SQRT( pwndi(ji,jj) * pwndi(ji,jj) + pwndj(ji,jj) * pwndj(ji,jj) ) END_2D ! @@ -1030,12 +1036,12 @@ CONTAINS ! CASE( np_ice_lu12 ) ! from Lupkes(2012) equations ztmp(:,:) = q_sat( ptsui(:,:), pslp(:,:), l_ice=.TRUE. ) ! temporary array for SSQ - CALL turb_ice_lu12( rn_zqt, rn_zu, zsipt, ptair, ztmp, pqair, wndm_ice, fr_i, & + CALL turb_ice_lu12( rn_zqt, rn_zu, zsipt, ptair, ztmp, pqair, wndm_ice, fr_i(A2D(0)), & & Cd_ice, Ch_ice, Ce_ice, theta_zu_i, q_zu_i ) ! CASE( np_ice_lg15 ) ! from Lupkes and Gryanik (2015) equations ztmp(:,:) = q_sat( ptsui(:,:), pslp(:,:), l_ice=.TRUE. ) ! temporary array for SSQ - CALL turb_ice_lg15( rn_zqt, rn_zu, zsipt, ptair, ztmp, pqair, wndm_ice, fr_i, & + CALL turb_ice_lg15( rn_zqt, rn_zu, zsipt, ptair, ztmp, pqair, wndm_ice, fr_i(A2D(0)), & & Cd_ice, Ch_ice, Ce_ice, theta_zu_i, q_zu_i ) ! END SELECT @@ -1046,7 +1052,7 @@ CONTAINS ! Wind stress relative to nonmoving ice ( U10m ) ! ! ---------------------------------------------------- ! ! supress moving ice in wind stress computation as we don't know how to do it properly... - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) zztmp = rhoa(ji,jj) * Cd_ice(ji,jj) * wndm_ice(ji,jj) putaui(ji,jj) = zztmp * pwndi(ji,jj) pvtaui(ji,jj) = zztmp * pwndj(ji,jj) @@ -1063,7 +1069,7 @@ CONTAINS & , tab2d_2=pvtaui , clinfo2=' pvtaui : ', mask2=tmask ) ELSE ! ln_abl - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) pcd_dui(ji,jj) = wndm_ice(ji,jj) * Cd_ice(ji,jj) pseni (ji,jj) = wndm_ice(ji,jj) * Ch_ice(ji,jj) pevpi (ji,jj) = wndm_ice(ji,jj) * Ce_ice(ji,jj) @@ -1094,30 +1100,30 @@ CONTAINS !! !! caution : the net upward water flux has with mm/day unit !!--------------------------------------------------------------------- - REAL(wp), DIMENSION(:,:,:), INTENT(in) :: ptsu ! sea ice surface temperature [K] - REAL(wp), DIMENSION(:,:,:), INTENT(in) :: phs ! snow thickness - REAL(wp), DIMENSION(:,:,:), INTENT(in) :: phi ! ice thickness - REAL(wp), DIMENSION(:,:,:), INTENT(in) :: palb ! ice albedo (all skies) - REAL(wp), DIMENSION(:,: ), INTENT(in) :: ptair ! potential temperature of air #LB: okay ??? - REAL(wp), DIMENSION(:,: ), INTENT(in) :: pqair ! specific humidity of air - REAL(wp), DIMENSION(:,: ), INTENT(in) :: pslp - REAL(wp), DIMENSION(:,: ), INTENT(in) :: pdqlw - REAL(wp), DIMENSION(:,: ), INTENT(in) :: pprec - REAL(wp), DIMENSION(:,: ), INTENT(in) :: psnow + REAL(wp), DIMENSION(A2D(0),jpl), INTENT(in) :: ptsu ! sea ice surface temperature [K] + REAL(wp), DIMENSION(A2D(0),jpl), INTENT(in) :: phs ! snow thickness + REAL(wp), DIMENSION(A2D(0),jpl), INTENT(in) :: phi ! ice thickness + REAL(wp), DIMENSION(A2D(0),jpl), INTENT(in) :: palb ! ice albedo (all skies) + REAL(wp), DIMENSION(A2D(0) ), INTENT(in) :: ptair ! potential temperature of air #LB: okay ??? + REAL(wp), DIMENSION(A2D(0) ), INTENT(in) :: pqair ! specific humidity of air + REAL(wp), DIMENSION(A2D(0) ), INTENT(in) :: pslp + REAL(wp), DIMENSION(A2D(0) ), INTENT(in) :: pdqlw + REAL(wp), DIMENSION(A2D(0) ), INTENT(in) :: pprec + REAL(wp), DIMENSION(A2D(0) ), INTENT(in) :: psnow !! INTEGER :: ji, jj, jl ! dummy loop indices REAL(wp) :: zst, zst3, zsq, zsipt ! local variable REAL(wp) :: zcoef_dqlw, zcoef_dqla ! - - REAL(wp) :: zztmp, zzblk, zztmp1, z1_rLsub ! - - REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: zmsk ! temporary mask for prt_ctl - REAL(wp), DIMENSION(jpi,jpj,jpl) :: z_qlw ! long wave heat flux over ice - REAL(wp), DIMENSION(jpi,jpj,jpl) :: z_qsb ! sensible heat flux over ice - REAL(wp), DIMENSION(jpi,jpj,jpl) :: z_dqlw ! long wave heat sensitivity over ice - REAL(wp), DIMENSION(jpi,jpj,jpl) :: z_dqsb ! sensible heat sensitivity over ice - REAL(wp), DIMENSION(jpi,jpj) :: zevap, zsnw ! evaporation and snw distribution after wind blowing (SI3) - REAL(wp), DIMENSION(jpi,jpj) :: ztmp, ztmp2 - REAL(wp), DIMENSION(jpi,jpj) :: ztri - REAL(wp), DIMENSION(jpi,jpj) :: zcptrain, zcptsnw, zcptn ! Heat content per unit mass (J/kg) + REAL(wp), DIMENSION(A2D(0),jpl) :: z_qlw ! long wave heat flux over ice + REAL(wp), DIMENSION(A2D(0),jpl) :: z_qsb ! sensible heat flux over ice + REAL(wp), DIMENSION(A2D(0),jpl) :: z_dqlw ! long wave heat sensitivity over ice + REAL(wp), DIMENSION(A2D(0),jpl) :: z_dqsb ! sensible heat sensitivity over ice + REAL(wp), DIMENSION(A2D(0)) :: zevap, zsnw ! evaporation and snw distribution after wind blowing (SI3) + REAL(wp), DIMENSION(A2D(0)) :: ztmp, ztmp2 + REAL(wp), DIMENSION(A2D(0)) :: ztri + REAL(wp), DIMENSION(A2D(0)) :: zcptrain, zcptsnw, zcptn ! Heat content per unit mass (J/kg) !!--------------------------------------------------------------------- ! zcoef_dqlw = 4._wp * emiss_i * stefan ! local scalars @@ -1125,14 +1131,14 @@ CONTAINS dqla_ice(:,:,:) = 0._wp ! Heat content per unit mass (J/kg) - zcptrain(:,:) = ( ptair - rt0 ) * rcp * tmask(:,:,1) - zcptsnw (:,:) = ( MIN( ptair, rt0 ) - rt0 ) * rcpi * tmask(:,:,1) - zcptn (:,:) = sst_m * rcp * tmask(:,:,1) + zcptrain(:,:) = ( ptair(:,:) - rt0 ) * rcp * smask0(:,:) + zcptsnw (:,:) = ( MIN( ptair(:,:), rt0 ) - rt0 ) * rcpi * smask0(:,:) + zcptn (:,:) = sst_m(A2D(0)) * rcp * smask0(:,:) ! ! ! ========================== ! DO jl = 1, jpl ! Loop over ice categories ! ! ! ========================== ! - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) zst = ptsu(ji,jj,jl) ! surface temperature of sea-ice [K] zsq = q_sat( zst, pslp(ji,jj), l_ice=.TRUE. ) ! surface saturation specific humidity when ice present @@ -1146,7 +1152,7 @@ CONTAINS ! Long Wave (lw) zst3 = zst * zst * zst - z_qlw(ji,jj,jl) = emiss_i * ( pdqlw(ji,jj) - stefan * zst * zst3 ) * tmask(ji,jj,1) + z_qlw(ji,jj,jl) = emiss_i * ( pdqlw(ji,jj) - stefan * zst * zst3 ) * smask0(ji,jj) ! lw sensitivity z_dqlw(ji,jj,jl) = zcoef_dqlw * zst3 @@ -1173,7 +1179,6 @@ CONTAINS !qla_ice( ji,jj,jl) = zztmp1 * (zsq - q_zu_i(ji,jj)) !dqla_ice(ji,jj,jl) = zztmp1 * dq_sat_dt_ice(zst, pslp(ji,jj)) ! ==> Qlat sensitivity (dQlat/dT) - ! ----------------------------! ! III Total FLUXES ! ! ----------------------------! @@ -1186,43 +1191,48 @@ CONTAINS ! END DO ! - tprecip(:,:) = pprec(:,:) * rn_pfac * tmask(:,:,1) ! total precipitation [kg/m2/s] - sprecip(:,:) = psnow(:,:) * rn_pfac * tmask(:,:,1) ! solid precipitation [kg/m2/s] - CALL iom_put( 'snowpre', sprecip ) ! Snow precipitation - CALL iom_put( 'precip' , tprecip ) ! Total precipitation - - ! --- evaporation --- ! z1_rLsub = 1._wp / rLsub - evap_ice (:,:,:) = rn_efac * qla_ice (:,:,:) * z1_rLsub ! sublimation - devap_ice(:,:,:) = rn_efac * dqla_ice(:,:,:) * z1_rLsub ! d(sublimation)/dT - zevap (:,:) = emp(:,:) + tprecip(:,:) ! evaporation over ocean !LB: removed rn_efac here, correct??? + DO_2D( 0, 0, 0, 0 ) + ! --- precipitation --- ! + tprecip(ji,jj) = pprec(ji,jj) * rn_pfac * smask0(ji,jj) ! total precipitation [kg/m2/s] + sprecip(ji,jj) = psnow(ji,jj) * rn_pfac * smask0(ji,jj) ! solid precipitation [kg/m2/s] + + ! --- evaporation --- ! + zevap(ji,jj) = emp(ji,jj) + tprecip(ji,jj) ! evaporation over ocean !LB: removed rn_efac here, correct??? + DO jl = 1, jpl + evap_ice (ji,jj,jl) = rn_efac * qla_ice (ji,jj,jl) * z1_rLsub ! sublimation + devap_ice(ji,jj,jl) = rn_efac * dqla_ice(ji,jj,jl) * z1_rLsub ! d(sublimation)/dT + ENDDO + END_2D - ! --- evaporation minus precipitation --- ! zsnw(:,:) = 0._wp - CALL ice_var_snwblow( (1.-at_i_b(:,:)), zsnw ) ! snow distribution over ice after wind blowing - emp_oce(:,:) = ( 1._wp - at_i_b(:,:) ) * zevap(:,:) - ( tprecip(:,:) - sprecip(:,:) ) - sprecip(:,:) * (1._wp - zsnw ) - emp_ice(:,:) = SUM( a_i_b(:,:,:) * evap_ice(:,:,:), dim=3 ) - sprecip(:,:) * zsnw - emp_tot(:,:) = emp_oce(:,:) + emp_ice(:,:) - - ! --- heat flux associated with emp --- ! - qemp_oce(:,:) = - ( 1._wp - at_i_b(:,:) ) * zevap(:,:) * zcptn(:,:) & ! evap at sst - & + ( tprecip(:,:) - sprecip(:,:) ) * zcptrain(:,:) & ! liquid precip at Tair - & + sprecip(:,:) * ( 1._wp - zsnw ) * ( zcptsnw (:,:) - rLfus ) ! solid precip at min(Tair,Tsnow) - qemp_ice(:,:) = sprecip(:,:) * zsnw * ( zcptsnw (:,:) - rLfus ) ! solid precip (only) - - ! --- total solar and non solar fluxes --- ! - qns_tot(:,:) = ( 1._wp - at_i_b(:,:) ) * qns_oce(:,:) + SUM( a_i_b(:,:,:) * qns_ice(:,:,:), dim=3 ) & - & + qemp_ice(:,:) + qemp_oce(:,:) - qsr_tot(:,:) = ( 1._wp - at_i_b(:,:) ) * qsr_oce(:,:) + SUM( a_i_b(:,:,:) * qsr_ice(:,:,:), dim=3 ) - - ! --- heat content of precip over ice in J/m3 (to be used in 1D-thermo) --- ! - qprec_ice(:,:) = rhos * ( zcptsnw(:,:) - rLfus ) - - ! --- heat content of evap over ice in W/m2 (to be used in 1D-thermo) --- - DO jl = 1, jpl - qevap_ice(:,:,jl) = 0._wp ! should be -evap_ice(:,:,jl)*( ( Tice - rt0 ) * rcpi * tmask(:,:,1) ) - ! ! But we do not have Tice => consider it at 0degC => evap=0 - END DO + CALL ice_var_snwblow( (1.-at_i_b(:,:)), zsnw(:,:) ) ! snow distribution over ice after wind blowing + DO_2D( 0, 0, 0, 0 ) + ! --- evaporation minus precipitation --- ! + emp_oce(ji,jj) = ( 1._wp - at_i_b(ji,jj) ) * zevap(ji,jj) - ( tprecip(ji,jj) - sprecip(ji,jj) ) - sprecip(ji,jj) * (1._wp - zsnw(ji,jj) ) + emp_ice(ji,jj) = SUM( a_i_b(ji,jj,:) * evap_ice(ji,jj,:) ) - sprecip(ji,jj) * zsnw(ji,jj) + emp_tot(ji,jj) = emp_oce(ji,jj) + emp_ice(ji,jj) + + ! --- heat flux associated with emp --- ! + qemp_oce(ji,jj) = - ( 1._wp - at_i_b(ji,jj) ) * zevap(ji,jj) * zcptn(ji,jj) & ! evap at sst + & + ( tprecip(ji,jj) - sprecip(ji,jj) ) * zcptrain(ji,jj) & ! liquid precip at Tair + & + sprecip(ji,jj) * ( 1._wp - zsnw(ji,jj) ) * ( zcptsnw (ji,jj) - rLfus ) ! solid precip at min(Tair,Tsnow) + qemp_ice(ji,jj) = sprecip(ji,jj) * zsnw(ji,jj) * ( zcptsnw (ji,jj) - rLfus ) ! solid precip (only) + + ! --- total solar and non solar fluxes --- ! + qns_tot(ji,jj) = ( 1._wp - at_i_b(ji,jj) ) * qns_oce(ji,jj) + SUM( a_i_b(ji,jj,:) * qns_ice(ji,jj,:) ) & + & + qemp_ice(ji,jj) + qemp_oce(ji,jj) + qsr_tot(ji,jj) = ( 1._wp - at_i_b(ji,jj) ) * qsr_oce(ji,jj) + SUM( a_i_b(ji,jj,:) * qsr_ice(ji,jj,:) ) + + ! --- heat content of precip over ice in J/m3 (to be used in 1D-thermo) --- ! + qprec_ice(ji,jj) = rhos * ( zcptsnw(ji,jj) - rLfus ) + + ! --- heat content of evap over ice in W/m2 (to be used in 1D-thermo) --- + DO jl = 1, jpl + qevap_ice(ji,jj,jl) = 0._wp ! should be -evap_ice(ji,jj,jl)*( ( Tice - rt0 ) * rcpi * smask0(ji,jj) ) + ! ! But we do not have Tice => consider it at 0degC => evap=0 + ENDDO + END_2D ! --- shortwave radiation transmitted thru the surface scattering layer (W/m2) --- ! IF( nn_qtrice == 0 ) THEN @@ -1247,9 +1257,11 @@ CONTAINS qtr_ice_top(:,:,:) = 0.3_wp * qsr_ice(:,:,:) ENDIF ! + CALL iom_put( 'snowpre', sprecip ) ! Snow precipitation + CALL iom_put( 'precip' , tprecip ) ! Total precipitation IF( iom_use('evap_ao_cea') .OR. iom_use('hflx_evap_cea') ) THEN - CALL iom_put( 'evap_ao_cea' , zevap(:,:) * ( 1._wp - at_i_b(:,:) ) * tmask(:,:,1) ) ! ice-free oce evap (cell average) - CALL iom_put( 'hflx_evap_cea', zevap(:,:) * ( 1._wp - at_i_b(:,:) ) * tmask(:,:,1) * zcptn(:,:) ) ! heat flux from evap (cell average) + CALL iom_put( 'evap_ao_cea' , zevap(:,:) * ( 1._wp - at_i_b(:,:) ) * smask0(:,:) ) ! ice-free oce evap (cell average) + CALL iom_put( 'hflx_evap_cea', zevap(:,:) * ( 1._wp - at_i_b(:,:) ) * smask0(:,:) * zcptn(:,:) ) ! heat flux from evap (cell average) ENDIF IF( iom_use('rain') .OR. iom_use('rain_ao_cea') .OR. iom_use('hflx_rain_cea') ) THEN CALL iom_put( 'rain' , tprecip(:,:) - sprecip(:,:) ) ! liquid precipitation @@ -1269,14 +1281,14 @@ CONTAINS & + ( tprecip(:,:) - sprecip(:,:) ) * zcptrain(:,:) ) ENDIF IF( iom_use('subl_ai_cea') .OR. iom_use('hflx_subl_cea') ) THEN - CALL iom_put( 'subl_ai_cea' , SUM( a_i_b(:,:,:) * evap_ice(:,:,:), dim=3 ) * tmask(:,:,1) ) ! Sublimation over sea-ice (cell average) - CALL iom_put( 'hflx_subl_cea', SUM( a_i_b(:,:,:) * qevap_ice(:,:,:), dim=3 ) * tmask(:,:,1) ) ! Heat flux from sublimation (cell average) + CALL iom_put( 'subl_ai_cea' , SUM( a_i_b(:,:,:) * evap_ice(:,:,:), dim=3 ) * smask0(:,:) ) ! Sublimation over sea-ice (cell average) + CALL iom_put( 'hflx_subl_cea', SUM( a_i_b(:,:,:) * qevap_ice(:,:,:), dim=3 ) * smask0(:,:) ) ! Heat flux from sublimation (cell average) ENDIF ! IF(sn_cfctl%l_prtctl) THEN - ALLOCATE(zmsk(jpi,jpj,jpl)) + ALLOCATE(zmsk(A2D(0),jpl)) DO jl = 1, jpl - zmsk(:,:,jl) = tmask(:,:,1) + zmsk(:,:,jl) = smask0(:,:) END DO CALL prt_ctl(tab3d_1=qla_ice , clinfo1=' blk_ice: qla_ice : ', mask1=zmsk, & & tab3d_2=z_qsb , clinfo2=' z_qsb : ' , mask2=zmsk, kdim=jpl) @@ -1289,7 +1301,7 @@ CONTAINS CALL prt_ctl(tab3d_1=ptsu , clinfo1=' blk_ice: ptsu : ', mask1=zmsk, & & tab3d_2=qns_ice , clinfo2=' qns_ice : ' , mask2=zmsk, kdim=jpl) CALL prt_ctl(tab2d_1=tprecip , clinfo1=' blk_ice: tprecip : ', mask1=tmask, & - & tab2d_2=sprecip , clinfo2=' sprecip : ' , mask2=tmask ) + & tab2d_2=sprecip , clinfo2=' sprecip : ' , mask2=tmask ) DEALLOCATE(zmsk) ENDIF @@ -1303,7 +1315,9 @@ CONTAINS END SUBROUTINE blk_ice_2 - SUBROUTINE blk_ice_qcn( ld_virtual_itd, ptsu, ptb, phs, phi ) + SUBROUTINE blk_ice_qcn( ld_virtual_itd, ptb, phs, phi, & ! <<== in + & pqcn_ice, pqml_ice, & ! ==>> out + & pqns_ice, ptsu ) ! ==>> inout !!--------------------------------------------------------------------- !! *** ROUTINE blk_ice_qcn *** !! @@ -1318,12 +1332,15 @@ CONTAINS !! - qcn_ice : surface inner conduction flux (W/m2) !! !!--------------------------------------------------------------------- - LOGICAL , INTENT(in ) :: ld_virtual_itd ! single-category option - REAL(wp), DIMENSION(:,:,:), INTENT(inout) :: ptsu ! sea ice / snow surface temperature - REAL(wp), DIMENSION(:,:) , INTENT(in ) :: ptb ! sea ice base temperature - REAL(wp), DIMENSION(:,:,:), INTENT(in ) :: phs ! snow thickness - REAL(wp), DIMENSION(:,:,:), INTENT(in ) :: phi ! sea ice thickness - ! + LOGICAL , INTENT(in ) :: ld_virtual_itd ! single-category option + REAL(wp), DIMENSION(A2D(0)) , INTENT(in ) :: ptb ! sea ice base temperature + REAL(wp), DIMENSION(A2D(0),jpl), INTENT(in ) :: phs ! snow thickness + REAL(wp), DIMENSION(A2D(0),jpl), INTENT(in ) :: phi ! sea ice thickness + REAL(wp), DIMENSION(A2D(0),jpl), INTENT( out) :: pqcn_ice + REAL(wp), DIMENSION(A2D(0),jpl), INTENT( out) :: pqml_ice + REAL(wp), DIMENSION(A2D(0),jpl), INTENT(inout) :: pqns_ice + REAL(wp), DIMENSION(A2D(0),jpl), INTENT(inout) :: ptsu ! sea ice / snow surface temperature + ! INTEGER , PARAMETER :: nit = 10 ! number of iterations REAL(wp), PARAMETER :: zepsilon = 0.1_wp ! characteristic thickness for enhanced conduction ! @@ -1333,7 +1350,7 @@ CONTAINS REAL(wp) :: zkeff_h, ztsu, ztsu0 ! REAL(wp) :: zqc, zqnet ! REAL(wp) :: zhe, zqa0 ! - REAL(wp), DIMENSION(jpi,jpj,jpl) :: zgfac ! enhanced conduction factor + REAL(wp), DIMENSION(A2D(0),jpl) :: zgfac ! enhanced conduction factor !!--------------------------------------------------------------------- ! -------------------------------------! @@ -1351,7 +1368,7 @@ CONTAINS zfac3 = 2._wp / zepsilon ! DO jl = 1, jpl - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) zhe = ( rn_cnd_s * phi(ji,jj,jl) + rcnd_i * phs(ji,jj,jl) ) * zfac ! Effective thickness IF( zhe >= zfac2 ) zgfac(ji,jj,jl) = MIN( 2._wp, 0.5_wp * ( 1._wp + LOG( zhe * zfac3 ) ) ) ! Enhanced conduction factor END_2D @@ -1366,13 +1383,13 @@ CONTAINS zfac = rcnd_i * rn_cnd_s ! DO jl = 1, jpl - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) ! zkeff_h = zfac * zgfac(ji,jj,jl) / & ! Effective conductivity of the snow-ice system divided by thickness & ( rcnd_i * phs(ji,jj,jl) + rn_cnd_s * MAX( 0.01, phi(ji,jj,jl) ) ) ztsu = ptsu(ji,jj,jl) ! Store current iteration temperature ztsu0 = ptsu(ji,jj,jl) ! Store initial surface temperature - zqa0 = qsr_ice(ji,jj,jl) - qtr_ice_top(ji,jj,jl) + qns_ice(ji,jj,jl) ! Net initial atmospheric heat flux + zqa0 = qsr_ice(ji,jj,jl) - qtr_ice_top(ji,jj,jl) + pqns_ice(ji,jj,jl) ! Net initial atmospheric heat flux ! DO iter = 1, nit ! --- Iterative loop zqc = zkeff_h * ( ztsu - ptb(ji,jj) ) ! Conduction heat flux through snow-ice system (>0 downwards) @@ -1380,10 +1397,10 @@ CONTAINS ztsu = ztsu - zqnet / ( dqns_ice(ji,jj,jl) - zkeff_h ) ! Temperature update END DO ! - ptsu (ji,jj,jl) = MIN( rt0, ztsu ) - qcn_ice(ji,jj,jl) = zkeff_h * ( ptsu(ji,jj,jl) - ptb(ji,jj) ) - qns_ice(ji,jj,jl) = qns_ice(ji,jj,jl) + dqns_ice(ji,jj,jl) * ( ptsu(ji,jj,jl) - ztsu0 ) - qml_ice(ji,jj,jl) = ( qsr_ice(ji,jj,jl) - qtr_ice_top(ji,jj,jl) + qns_ice(ji,jj,jl) - qcn_ice(ji,jj,jl) ) & + ptsu (ji,jj,jl) = MIN( rt0, ztsu ) + pqcn_ice(ji,jj,jl) = zkeff_h * ( ptsu(ji,jj,jl) - ptb(ji,jj) ) + pqns_ice(ji,jj,jl) = pqns_ice(ji,jj,jl) + dqns_ice(ji,jj,jl) * ( ptsu(ji,jj,jl) - ztsu0 ) + pqml_ice(ji,jj,jl) = ( qsr_ice(ji,jj,jl) - qtr_ice_top(ji,jj,jl) + pqns_ice(ji,jj,jl) - pqcn_ice(ji,jj,jl) ) & & * MAX( 0._wp , SIGN( 1._wp, ptsu(ji,jj,jl) - rt0 ) ) ! --- Diagnose the heat loss due to changing non-solar flux (as in icethd_zdf_bl99) --- ! diff --git a/src/OCE/SBC/sbcblk_algo_andreas.F90 b/src/OCE/SBC/sbcblk_algo_andreas.F90 index 5a2eb4113..7145a156f 100644 --- a/src/OCE/SBC/sbcblk_algo_andreas.F90 +++ b/src/OCE/SBC/sbcblk_algo_andreas.F90 @@ -85,34 +85,34 @@ CONTAINS !! !! ** Author: L. Brodeau, June 2019 / AeroBulk (https://github.com/brodeau/aerobulk/) !!---------------------------------------------------------------------------------- - REAL(wp), INTENT(in ) :: zt ! height for t_zt and q_zt [m] - REAL(wp), INTENT(in ) :: zu ! height for U_zu [m] - REAL(wp), INTENT(in ), DIMENSION(jpi,jpj) :: sst ! sea surface temperature [Kelvin] - REAL(wp), INTENT(in ), DIMENSION(jpi,jpj) :: t_zt ! potential air temperature [Kelvin] - REAL(wp), INTENT(in ), DIMENSION(jpi,jpj) :: ssq ! sea surface specific humidity [kg/kg] - REAL(wp), INTENT(in ), DIMENSION(jpi,jpj) :: q_zt ! specific air humidity at zt [kg/kg] - REAL(wp), INTENT(in ), DIMENSION(jpi,jpj) :: U_zu ! relative wind module at zu [m/s] - REAL(wp), INTENT( out), DIMENSION(jpi,jpj) :: Cd ! transfer coefficient for momentum (tau) - REAL(wp), INTENT( out), DIMENSION(jpi,jpj) :: Ch ! transfer coefficient for sensible heat (Q_sens) - REAL(wp), INTENT( out), DIMENSION(jpi,jpj) :: Ce ! transfert coefficient for evaporation (Q_lat) - REAL(wp), INTENT( out), DIMENSION(jpi,jpj) :: t_zu ! pot. air temp. adjusted at zu [K] - REAL(wp), INTENT( out), DIMENSION(jpi,jpj) :: q_zu ! spec. humidity adjusted at zu [kg/kg] - REAL(wp), INTENT( out), DIMENSION(jpi,jpj) :: Ubzu ! bulk wind speed at zu [m/s] + REAL(wp), INTENT(in ) :: zt ! height for t_zt and q_zt [m] + REAL(wp), INTENT(in ) :: zu ! height for U_zu [m] + REAL(wp), INTENT(in ), DIMENSION(A2D(0)) :: sst ! sea surface temperature [Kelvin] + REAL(wp), INTENT(in ), DIMENSION(A2D(0)) :: t_zt ! potential air temperature [Kelvin] + REAL(wp), INTENT(in ), DIMENSION(A2D(0)) :: ssq ! sea surface specific humidity [kg/kg] + REAL(wp), INTENT(in ), DIMENSION(A2D(0)) :: q_zt ! specific air humidity at zt [kg/kg] + REAL(wp), INTENT(in ), DIMENSION(A2D(0)) :: U_zu ! relative wind module at zu [m/s] + REAL(wp), INTENT( out), DIMENSION(A2D(0)) :: Cd ! transfer coefficient for momentum (tau) + REAL(wp), INTENT( out), DIMENSION(A2D(0)) :: Ch ! transfer coefficient for sensible heat (Q_sens) + REAL(wp), INTENT( out), DIMENSION(A2D(0)) :: Ce ! transfert coefficient for evaporation (Q_lat) + REAL(wp), INTENT( out), DIMENSION(A2D(0)) :: t_zu ! pot. air temp. adjusted at zu [K] + REAL(wp), INTENT( out), DIMENSION(A2D(0)) :: q_zu ! spec. humidity adjusted at zu [kg/kg] + REAL(wp), INTENT( out), DIMENSION(A2D(0)) :: Ubzu ! bulk wind speed at zu [m/s] ! INTEGER , INTENT(in ), OPTIONAL :: nb_iter ! number of iterations - REAL(wp), INTENT( out), OPTIONAL, DIMENSION(jpi,jpj) :: CdN - REAL(wp), INTENT( out), OPTIONAL, DIMENSION(jpi,jpj) :: ChN - REAL(wp), INTENT( out), OPTIONAL, DIMENSION(jpi,jpj) :: CeN + REAL(wp), INTENT( out), OPTIONAL, DIMENSION(A2D(0)) :: CdN + REAL(wp), INTENT( out), OPTIONAL, DIMENSION(A2D(0)) :: ChN + REAL(wp), INTENT( out), OPTIONAL, DIMENSION(A2D(0)) :: CeN ! INTEGER :: nbit, jit ! iterations... LOGICAL :: l_zt_equal_zu = .FALSE. ! if q and t are given at same height as U !! - REAL(wp), DIMENSION(jpi,jpj) :: u_star, t_star, q_star - REAL(wp), DIMENSION(jpi,jpj) :: z0 ! roughness length (momentum) [m] - REAL(wp), DIMENSION(jpi,jpj) :: UN10 ! Neutral wind speed at zu [m/s] - REAL(wp), DIMENSION(jpi,jpj) :: zeta_u ! stability parameter at height zu - REAL(wp), DIMENSION(jpi,jpj) :: ztmp0, ztmp1, ztmp2 - REAL(wp), DIMENSION(jpi,jpj) :: RiB ! square root of Cd + REAL(wp), DIMENSION(A2D(0)) :: u_star, t_star, q_star + REAL(wp), DIMENSION(A2D(0)) :: z0 ! roughness length (momentum) [m] + REAL(wp), DIMENSION(A2D(0)) :: UN10 ! Neutral wind speed at zu [m/s] + REAL(wp), DIMENSION(A2D(0)) :: zeta_u ! stability parameter at height zu + REAL(wp), DIMENSION(A2D(0)) :: ztmp0, ztmp1, ztmp2 + REAL(wp), DIMENSION(A2D(0)) :: RiB ! square root of Cd !! !!---------------------------------------------------------------------------------- nbit = nb_iter0 @@ -217,13 +217,13 @@ CONTAINS !! !! ** Author: L. Brodeau, April 2020 / AeroBulk (https://github.com/brodeau/aerobulk/) !!---------------------------------------------------------------------------------- - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pun10 !: neutral-stability scalar wind speed at 10m (m/s) - REAL(wp), DIMENSION(jpi,jpj) :: u_star_andreas !: friction velocity [m/s] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pun10 !: neutral-stability scalar wind speed at 10m (m/s) + REAL(wp), DIMENSION(A2D(0)) :: u_star_andreas !: friction velocity [m/s] ! INTEGER :: ji, jj ! dummy loop indices REAL(wp) :: za, zt, zw ! local scalars !!---------------------------------------------------------------------------------- - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) zw = pun10(ji,jj) za = zw - 8.271_wp zt = za + SQRT( 0.12_wp*za*za + 0.181_wp ) @@ -243,8 +243,8 @@ CONTAINS !! !! ** Author: L. Brodeau, April 2020 / AeroBulk (https://github.com/brodeau/aerobulk/) !!---------------------------------------------------------------------------------- - REAL(wp), DIMENSION(jpi,jpj) :: psi_m_andreas - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pzeta + REAL(wp), DIMENSION(A2D(0)) :: psi_m_andreas + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pzeta ! REAL(wp), PARAMETER :: zam = 5._wp ! a_m (just below Eq.(9b) REAL(wp), PARAMETER :: zbm = zam/6.5_wp ! b_m (just below Eq.(9b) @@ -255,7 +255,7 @@ CONTAINS INTEGER :: ji, jj ! dummy loop indices REAL(wp) :: zta, zx2, zx, zpsi_unst, zbbm, zpsi_stab, zstab ! local scalars !!---------------------------------------------------------------------------------- - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) ! zta = MIN( pzeta(ji,jj) , 15._wp ) !! Very stable conditions (L positif and big!) ! @@ -298,8 +298,8 @@ CONTAINS !! !! ** Author: L. Brodeau, June 2016 / AeroBulk (https://github.com/brodeau/aerobulk/) !!---------------------------------------------------------------------------------- - REAL(wp), DIMENSION(jpi,jpj) :: psi_h_andreas - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pzeta + REAL(wp), DIMENSION(A2D(0)) :: psi_h_andreas + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pzeta ! REAL(wp), PARAMETER :: zah = 5._wp ! a_h (just below Eq.(9b) REAL(wp), PARAMETER :: zbh = 5._wp ! b_h (just below Eq.(9b) @@ -309,7 +309,7 @@ CONTAINS INTEGER :: ji, jj ! dummy loop indices REAL(wp) :: zta, zz, zx2, zpsi_unst, zpsi_stab, zstab ! local scalars !!---------------------------------------------------------------------------------- - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) ! zta = MIN( pzeta(ji,jj) , 15._wp ) !! Very stable conditions (L positif and large!) ! diff --git a/src/OCE/SBC/sbcblk_algo_coare3p0.F90 b/src/OCE/SBC/sbcblk_algo_coare3p0.F90 index 2ad244fcb..cd3da3ebd 100644 --- a/src/OCE/SBC/sbcblk_algo_coare3p0.F90 +++ b/src/OCE/SBC/sbcblk_algo_coare3p0.F90 @@ -71,7 +71,7 @@ CONTAINS !!--------------------------------------------------------------------- IF( l_use_wl ) THEN ierr = 0 - ALLOCATE ( Tau_ac(jpi,jpj) , Qnt_ac(jpi,jpj), dT_wl(jpi,jpj), Hz_wl(jpi,jpj), STAT=ierr ) + ALLOCATE ( Tau_ac(A2D(0)) , Qnt_ac(A2D(0)), dT_wl(A2D(0)), Hz_wl(A2D(0)), STAT=ierr ) IF( ierr > 0 ) CALL ctl_stop( ' SBCBLK_ALGO_COARE3P0_INIT => allocation of Tau_ac, Qnt_ac, dT_wl & Hz_wl failed!' ) Tau_ac(:,:) = 0._wp Qnt_ac(:,:) = 0._wp @@ -80,7 +80,7 @@ CONTAINS ENDIF IF( l_use_cs ) THEN ierr = 0 - ALLOCATE ( dT_cs(jpi,jpj), STAT=ierr ) + ALLOCATE ( dT_cs(A2D(0)), STAT=ierr ) IF( ierr > 0 ) CALL ctl_stop( ' SBCBLK_ALGO_COARE3P0_INIT => allocation of dT_cs failed!' ) dT_cs(:,:) = -0.25_wp ! First guess of skin correction ENDIF @@ -151,44 +151,44 @@ CONTAINS !! !! ** Author: L. Brodeau, June 2019 / AeroBulk (https://github.com/brodeau/aerobulk/) !!---------------------------------------------------------------------------------- - INTEGER, INTENT(in ) :: kt ! current time step - REAL(wp), INTENT(in ) :: zt ! height for t_zt and q_zt [m] - REAL(wp), INTENT(in ) :: zu ! height for U_zu [m] - REAL(wp), INTENT(inout), DIMENSION(jpi,jpj) :: T_s ! sea surface temperature [Kelvin] - REAL(wp), INTENT(in ), DIMENSION(jpi,jpj) :: t_zt ! potential air temperature [Kelvin] - REAL(wp), INTENT(inout), DIMENSION(jpi,jpj) :: q_s ! sea surface specific humidity [kg/kg] - REAL(wp), INTENT(in ), DIMENSION(jpi,jpj) :: q_zt ! specific air humidity at zt [kg/kg] - REAL(wp), INTENT(in ), DIMENSION(jpi,jpj) :: U_zu ! relative wind module at zu [m/s] - LOGICAL , INTENT(in ) :: l_use_cs ! use the cool-skin parameterization - LOGICAL , INTENT(in ) :: l_use_wl ! use the warm-layer parameterization - REAL(wp), INTENT( out), DIMENSION(jpi,jpj) :: Cd ! transfer coefficient for momentum (tau) - REAL(wp), INTENT( out), DIMENSION(jpi,jpj) :: Ch ! transfer coefficient for sensible heat (Q_sens) - REAL(wp), INTENT( out), DIMENSION(jpi,jpj) :: Ce ! transfert coefficient for evaporation (Q_lat) - REAL(wp), INTENT( out), DIMENSION(jpi,jpj) :: t_zu ! pot. air temp. adjusted at zu [K] - REAL(wp), INTENT( out), DIMENSION(jpi,jpj) :: q_zu ! spec. humidity adjusted at zu [kg/kg] - REAL(wp), INTENT( out), DIMENSION(jpi,jpj) :: Ubzu ! bulk wind speed at zu [m/s] + INTEGER, INTENT(in ) :: kt ! current time step + REAL(wp), INTENT(in ) :: zt ! height for t_zt and q_zt [m] + REAL(wp), INTENT(in ) :: zu ! height for U_zu [m] + REAL(wp), INTENT(inout), DIMENSION(A2D(0)) :: T_s ! sea surface temperature [Kelvin] + REAL(wp), INTENT(in ), DIMENSION(A2D(0)) :: t_zt ! potential air temperature [Kelvin] + REAL(wp), INTENT(inout), DIMENSION(A2D(0)) :: q_s ! sea surface specific humidity [kg/kg] + REAL(wp), INTENT(in ), DIMENSION(A2D(0)) :: q_zt ! specific air humidity at zt [kg/kg] + REAL(wp), INTENT(in ), DIMENSION(A2D(0)) :: U_zu ! relative wind module at zu [m/s] + LOGICAL , INTENT(in ) :: l_use_cs ! use the cool-skin parameterization + LOGICAL , INTENT(in ) :: l_use_wl ! use the warm-layer parameterization + REAL(wp), INTENT( out), DIMENSION(A2D(0)) :: Cd ! transfer coefficient for momentum (tau) + REAL(wp), INTENT( out), DIMENSION(A2D(0)) :: Ch ! transfer coefficient for sensible heat (Q_sens) + REAL(wp), INTENT( out), DIMENSION(A2D(0)) :: Ce ! transfert coefficient for evaporation (Q_lat) + REAL(wp), INTENT( out), DIMENSION(A2D(0)) :: t_zu ! pot. air temp. adjusted at zu [K] + REAL(wp), INTENT( out), DIMENSION(A2D(0)) :: q_zu ! spec. humidity adjusted at zu [kg/kg] + REAL(wp), INTENT( out), DIMENSION(A2D(0)) :: Ubzu ! bulk wind speed at zu [m/s] ! - INTEGER , INTENT(in ), OPTIONAL :: nb_iter ! number of iterations - REAL(wp), INTENT( out), OPTIONAL, DIMENSION(jpi,jpj) :: CdN - REAL(wp), INTENT( out), OPTIONAL, DIMENSION(jpi,jpj) :: ChN - REAL(wp), INTENT( out), OPTIONAL, DIMENSION(jpi,jpj) :: CeN - REAL(wp), INTENT(in ), OPTIONAL, DIMENSION(jpi,jpj) :: Qsw ! [W/m^2] - REAL(wp), INTENT(in ), OPTIONAL, DIMENSION(jpi,jpj) :: rad_lw ! [W/m^2] - REAL(wp), INTENT(in ), OPTIONAL, DIMENSION(jpi,jpj) :: slp ! [Pa] - REAL(wp), INTENT( out), OPTIONAL, DIMENSION(jpi,jpj) :: pdT_cs - REAL(wp), INTENT( out), OPTIONAL, DIMENSION(jpi,jpj) :: pdT_wl ! [K] - REAL(wp), INTENT( out), OPTIONAL, DIMENSION(jpi,jpj) :: pHz_wl ! [m] + INTEGER , INTENT(in ), OPTIONAL :: nb_iter ! number of iterations + REAL(wp), INTENT( out), OPTIONAL, DIMENSION(A2D(0)) :: CdN + REAL(wp), INTENT( out), OPTIONAL, DIMENSION(A2D(0)) :: ChN + REAL(wp), INTENT( out), OPTIONAL, DIMENSION(A2D(0)) :: CeN + REAL(wp), INTENT(in ), OPTIONAL, DIMENSION(A2D(0)) :: Qsw ! [W/m^2] + REAL(wp), INTENT(in ), OPTIONAL, DIMENSION(A2D(0)) :: rad_lw ! [W/m^2] + REAL(wp), INTENT(in ), OPTIONAL, DIMENSION(A2D(0)) :: slp ! [Pa] + REAL(wp), INTENT( out), OPTIONAL, DIMENSION(A2D(0)) :: pdT_cs + REAL(wp), INTENT( out), OPTIONAL, DIMENSION(A2D(0)) :: pdT_wl ! [K] + REAL(wp), INTENT( out), OPTIONAL, DIMENSION(A2D(0)) :: pHz_wl ! [m] ! INTEGER :: nbit, jit LOGICAL :: l_zt_equal_zu = .FALSE. ! if q and t are given at same height as U ! - REAL(wp), DIMENSION(jpi,jpj) :: u_star, t_star, q_star - REAL(wp), DIMENSION(jpi,jpj) :: dt_zu, dq_zu - REAL(wp), DIMENSION(jpi,jpj) :: znu_a !: Nu_air, Viscosity of air - REAL(wp), DIMENSION(jpi,jpj) :: z0, z0t - REAL(wp), DIMENSION(jpi,jpj) :: zeta_u ! stability parameter at height zu - REAL(wp), DIMENSION(jpi,jpj) :: ztmp0, ztmp1, ztmp2 - REAL(wp), DIMENSION(jpi,jpj) :: zpre, zrhoa, zta ! air pressure [Pa], density [kg/m3] & absolute temperature [k] + REAL(wp), DIMENSION(A2D(0)) :: u_star, t_star, q_star + REAL(wp), DIMENSION(A2D(0)) :: dt_zu, dq_zu + REAL(wp), DIMENSION(A2D(0)) :: znu_a !: Nu_air, Viscosity of air + REAL(wp), DIMENSION(A2D(0)) :: z0, z0t + REAL(wp), DIMENSION(A2D(0)) :: zeta_u ! stability parameter at height zu + REAL(wp), DIMENSION(A2D(0)) :: ztmp0, ztmp1, ztmp2 + REAL(wp), DIMENSION(A2D(0)) :: zpre, zrhoa, zta ! air pressure [Pa], density [kg/m3] & absolute temperature [k] ! REAL(wp), DIMENSION(:,:), ALLOCATABLE :: zeta_t ! stability parameter at height zt REAL(wp), DIMENSION(:,:), ALLOCATABLE :: zsst ! to back up the initial bulk SST @@ -201,7 +201,7 @@ CONTAINS IF( PRESENT(nb_iter) ) nbit = nb_iter l_zt_equal_zu = ( ABS(zu - zt) < 0.01_wp ) ! testing "zu == zt" is risky with double precision - IF( .NOT. l_zt_equal_zu ) ALLOCATE( zeta_t(jpi,jpj) ) + IF( .NOT. l_zt_equal_zu ) ALLOCATE( zeta_t(A2D(0)) ) !! Initializations for cool skin and warm layer: IF( l_use_cs .AND. (.NOT.(PRESENT(Qsw) .AND. PRESENT(rad_lw) .AND. PRESENT(slp))) ) & @@ -211,7 +211,7 @@ CONTAINS & CALL ctl_stop( '['//TRIM(crtnm)//'] => ' , 'you need to provide Qsw, rad_lw & slp to use warm-layer param!' ) IF( l_use_cs .OR. l_use_wl ) THEN - ALLOCATE ( zsst(jpi,jpj) ) + ALLOCATE ( zsst(A2D(0)) ) zsst = T_s ! backing up the bulk SST IF( l_use_cs ) T_s = T_s - 0.25_wp ! First guess of correction q_s = rdct_qsat_salt*q_sat(MAX(T_s, 200._wp), slp) ! First guess of q_s @@ -334,8 +334,8 @@ CONTAINS CALL CS_COARE( Qsw, ztmp1, u_star, zsst, ztmp2 ) ! ! Qnsol -> ztmp1 / Qlat -> ztmp2 - T_s(:,:) = zsst(:,:) + dT_cs(:,:)*tmask(:,:,1) - IF( l_use_wl ) T_s(:,:) = T_s(:,:) + dT_wl(:,:)*tmask(:,:,1) + T_s(:,:) = zsst(:,:) + dT_cs(:,:)*smask0(:,:) + IF( l_use_wl ) T_s(:,:) = T_s(:,:) + dT_wl(:,:)*smask0(:,:) q_s(:,:) = rdct_qsat_salt*q_sat(MAX(T_s(:,:), 200._wp), slp(:,:)) ENDIF @@ -347,8 +347,8 @@ CONTAINS CALL WL_COARE( Qsw, ztmp1, zeta_u, zsst, MOD(nbit,jit) ) !! Updating T_s and q_s !!! - T_s(:,:) = zsst(:,:) + dT_wl(:,:)*tmask(:,:,1) - IF( l_use_cs ) T_s(:,:) = T_s(:,:) + dT_cs(:,:)*tmask(:,:,1) + T_s(:,:) = zsst(:,:) + dT_wl(:,:)*smask0(:,:) + IF( l_use_cs ) T_s(:,:) = T_s(:,:) + dT_cs(:,:)*smask0(:,:) q_s(:,:) = rdct_qsat_salt*q_sat(MAX(T_s(:,:), 200._wp), slp(:,:)) ENDIF @@ -392,13 +392,13 @@ CONTAINS !! !! Author: L. Brodeau, June 2016 / AeroBulk (https://github.com/brodeau/aerobulk/) !!------------------------------------------------------------------- - REAL(wp), DIMENSION(jpi,jpj) :: charn_coare3p0 - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pwnd ! wind speed + REAL(wp), DIMENSION(A2D(0)) :: charn_coare3p0 + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pwnd ! wind speed ! INTEGER :: ji, jj ! dummy loop indices REAL(wp) :: zw, zgt10, zgt18 !!------------------------------------------------------------------- - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) ! zw = pwnd(ji,jj) ! wind speed ! @@ -426,13 +426,13 @@ CONTAINS !! !! ** Author: L. Brodeau, June 2016 / AeroBulk (https://github.com/brodeau/aerobulk/) !!---------------------------------------------------------------------------------- - REAL(wp), DIMENSION(jpi,jpj) :: psi_m_coare - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pzeta + REAL(wp), DIMENSION(A2D(0)) :: psi_m_coare + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pzeta ! INTEGER :: ji, jj ! dummy loop indices REAL(wp) :: zta, zphi_m, zphi_c, zpsi_k, zpsi_c, zf, zc, zstab !!---------------------------------------------------------------------------------- - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) ! zta = pzeta(ji,jj) ! @@ -474,13 +474,13 @@ CONTAINS !! Author: L. Brodeau, June 2016 / AeroBulk !! (https://github.com/brodeau/aerobulk/) !!---------------------------------------------------------------- - REAL(wp), DIMENSION(jpi,jpj) :: psi_h_coare - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pzeta + REAL(wp), DIMENSION(A2D(0)) :: psi_h_coare + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pzeta ! INTEGER :: ji, jj ! dummy loop indices REAL(wp) :: zta, zphi_h, zphi_c, zpsi_k, zpsi_c, zf, zc, zstab !!---------------------------------------------------------------- - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) ! zta = pzeta(ji,jj) ! diff --git a/src/OCE/SBC/sbcblk_algo_coare3p6.F90 b/src/OCE/SBC/sbcblk_algo_coare3p6.F90 index cb7fff12b..50f6800a0 100644 --- a/src/OCE/SBC/sbcblk_algo_coare3p6.F90 +++ b/src/OCE/SBC/sbcblk_algo_coare3p6.F90 @@ -61,7 +61,7 @@ CONTAINS !!--------------------------------------------------------------------- IF( l_use_wl ) THEN ierr = 0 - ALLOCATE ( Tau_ac(jpi,jpj) , Qnt_ac(jpi,jpj), dT_wl(jpi,jpj), Hz_wl(jpi,jpj), STAT=ierr ) + ALLOCATE ( Tau_ac(A2D(0)) , Qnt_ac(A2D(0)), dT_wl(A2D(0)), Hz_wl(A2D(0)), STAT=ierr ) IF( ierr > 0 ) CALL ctl_stop( ' SBCBLK_ALGO_COARE3P6_INIT => allocation of Tau_ac, Qnt_ac, dT_wl & Hz_wl failed!' ) Tau_ac(:,:) = 0._wp Qnt_ac(:,:) = 0._wp @@ -70,7 +70,7 @@ CONTAINS ENDIF IF( l_use_cs ) THEN ierr = 0 - ALLOCATE ( dT_cs(jpi,jpj), STAT=ierr ) + ALLOCATE ( dT_cs(A2D(0)), STAT=ierr ) IF( ierr > 0 ) CALL ctl_stop( ' SBCBLK_ALGO_COARE3P6_INIT => allocation of dT_cs failed!' ) dT_cs(:,:) = -0.25_wp ! First guess of skin correction ENDIF @@ -141,44 +141,44 @@ CONTAINS !! !! ** Author: L. Brodeau, June 2019 / AeroBulk (https://github.com/brodeau/aerobulk/) !!---------------------------------------------------------------------------------- - INTEGER, INTENT(in ) :: kt ! current time step - REAL(wp), INTENT(in ) :: zt ! height for t_zt and q_zt [m] - REAL(wp), INTENT(in ) :: zu ! height for U_zu [m] - REAL(wp), INTENT(inout), DIMENSION(jpi,jpj) :: T_s ! sea surface temperature [Kelvin] - REAL(wp), INTENT(in ), DIMENSION(jpi,jpj) :: t_zt ! potential air temperature [Kelvin] - REAL(wp), INTENT(inout), DIMENSION(jpi,jpj) :: q_s ! sea surface specific humidity [kg/kg] - REAL(wp), INTENT(in ), DIMENSION(jpi,jpj) :: q_zt ! specific air humidity at zt [kg/kg] - REAL(wp), INTENT(in ), DIMENSION(jpi,jpj) :: U_zu ! relative wind module at zu [m/s] - LOGICAL , INTENT(in ) :: l_use_cs ! use the cool-skin parameterization - LOGICAL , INTENT(in ) :: l_use_wl ! use the warm-layer parameterization - REAL(wp), INTENT( out), DIMENSION(jpi,jpj) :: Cd ! transfer coefficient for momentum (tau) - REAL(wp), INTENT( out), DIMENSION(jpi,jpj) :: Ch ! transfer coefficient for sensible heat (Q_sens) - REAL(wp), INTENT( out), DIMENSION(jpi,jpj) :: Ce ! transfert coefficient for evaporation (Q_lat) - REAL(wp), INTENT( out), DIMENSION(jpi,jpj) :: t_zu ! pot. air temp. adjusted at zu [K] - REAL(wp), INTENT( out), DIMENSION(jpi,jpj) :: q_zu ! spec. humidity adjusted at zu [kg/kg] - REAL(wp), INTENT( out), DIMENSION(jpi,jpj) :: Ubzu ! bulk wind speed at zu [m/s] + INTEGER, INTENT(in ) :: kt ! current time step + REAL(wp), INTENT(in ) :: zt ! height for t_zt and q_zt [m] + REAL(wp), INTENT(in ) :: zu ! height for U_zu [m] + REAL(wp), INTENT(inout), DIMENSION(A2D(0)) :: T_s ! sea surface temperature [Kelvin] + REAL(wp), INTENT(in ), DIMENSION(A2D(0)) :: t_zt ! potential air temperature [Kelvin] + REAL(wp), INTENT(inout), DIMENSION(A2D(0)) :: q_s ! sea surface specific humidity [kg/kg] + REAL(wp), INTENT(in ), DIMENSION(A2D(0)) :: q_zt ! specific air humidity at zt [kg/kg] + REAL(wp), INTENT(in ), DIMENSION(A2D(0)) :: U_zu ! relative wind module at zu [m/s] + LOGICAL , INTENT(in ) :: l_use_cs ! use the cool-skin parameterization + LOGICAL , INTENT(in ) :: l_use_wl ! use the warm-layer parameterization + REAL(wp), INTENT( out), DIMENSION(A2D(0)) :: Cd ! transfer coefficient for momentum (tau) + REAL(wp), INTENT( out), DIMENSION(A2D(0)) :: Ch ! transfer coefficient for sensible heat (Q_sens) + REAL(wp), INTENT( out), DIMENSION(A2D(0)) :: Ce ! transfert coefficient for evaporation (Q_lat) + REAL(wp), INTENT( out), DIMENSION(A2D(0)) :: t_zu ! pot. air temp. adjusted at zu [K] + REAL(wp), INTENT( out), DIMENSION(A2D(0)) :: q_zu ! spec. humidity adjusted at zu [kg/kg] + REAL(wp), INTENT( out), DIMENSION(A2D(0)) :: Ubzu ! bulk wind speed at zu [m/s] ! - INTEGER , INTENT(in ), OPTIONAL :: nb_iter ! number of iterations - REAL(wp), INTENT( out), OPTIONAL, DIMENSION(jpi,jpj) :: CdN - REAL(wp), INTENT( out), OPTIONAL, DIMENSION(jpi,jpj) :: ChN - REAL(wp), INTENT( out), OPTIONAL, DIMENSION(jpi,jpj) :: CeN - REAL(wp), INTENT(in ), OPTIONAL, DIMENSION(jpi,jpj) :: Qsw ! [W/m^2] - REAL(wp), INTENT(in ), OPTIONAL, DIMENSION(jpi,jpj) :: rad_lw ! [W/m^2] - REAL(wp), INTENT(in ), OPTIONAL, DIMENSION(jpi,jpj) :: slp ! [Pa] - REAL(wp), INTENT( out), OPTIONAL, DIMENSION(jpi,jpj) :: pdT_cs - REAL(wp), INTENT( out), OPTIONAL, DIMENSION(jpi,jpj) :: pdT_wl ! [K] - REAL(wp), INTENT( out), OPTIONAL, DIMENSION(jpi,jpj) :: pHz_wl ! [m] + INTEGER , INTENT(in ), OPTIONAL :: nb_iter ! number of iterations + REAL(wp), INTENT( out), OPTIONAL, DIMENSION(A2D(0)) :: CdN + REAL(wp), INTENT( out), OPTIONAL, DIMENSION(A2D(0)) :: ChN + REAL(wp), INTENT( out), OPTIONAL, DIMENSION(A2D(0)) :: CeN + REAL(wp), INTENT(in ), OPTIONAL, DIMENSION(A2D(0)) :: Qsw ! [W/m^2] + REAL(wp), INTENT(in ), OPTIONAL, DIMENSION(A2D(0)) :: rad_lw ! [W/m^2] + REAL(wp), INTENT(in ), OPTIONAL, DIMENSION(A2D(0)) :: slp ! [Pa] + REAL(wp), INTENT( out), OPTIONAL, DIMENSION(A2D(0)) :: pdT_cs + REAL(wp), INTENT( out), OPTIONAL, DIMENSION(A2D(0)) :: pdT_wl ! [K] + REAL(wp), INTENT( out), OPTIONAL, DIMENSION(A2D(0)) :: pHz_wl ! [m] ! INTEGER :: nbit, jit LOGICAL :: l_zt_equal_zu = .FALSE. ! if q and t are given at same height as U ! - REAL(wp), DIMENSION(jpi,jpj) :: u_star, t_star, q_star - REAL(wp), DIMENSION(jpi,jpj) :: dt_zu, dq_zu - REAL(wp), DIMENSION(jpi,jpj) :: znu_a !: Nu_air, Viscosity of air - REAL(wp), DIMENSION(jpi,jpj) :: z0, z0t - REAL(wp), DIMENSION(jpi,jpj) :: zeta_u ! stability parameter at height zu - REAL(wp), DIMENSION(jpi,jpj) :: ztmp0, ztmp1, ztmp2 - REAL(wp), DIMENSION(jpi,jpj) :: zpre, zrhoa, zta ! air pressure [Pa], density [kg/m3] & absolute temperature [k] + REAL(wp), DIMENSION(A2D(0)) :: u_star, t_star, q_star + REAL(wp), DIMENSION(A2D(0)) :: dt_zu, dq_zu + REAL(wp), DIMENSION(A2D(0)) :: znu_a !: Nu_air, Viscosity of air + REAL(wp), DIMENSION(A2D(0)) :: z0, z0t + REAL(wp), DIMENSION(A2D(0)) :: zeta_u ! stability parameter at height zu + REAL(wp), DIMENSION(A2D(0)) :: ztmp0, ztmp1, ztmp2 + REAL(wp), DIMENSION(A2D(0)) :: zpre, zrhoa, zta ! air pressure [Pa], density [kg/m3] & absolute temperature [k] ! REAL(wp), DIMENSION(:,:), ALLOCATABLE :: zeta_t ! stability parameter at height zt REAL(wp), DIMENSION(:,:), ALLOCATABLE :: zsst ! to back up the initial bulk SST @@ -191,7 +191,7 @@ CONTAINS IF( PRESENT(nb_iter) ) nbit = nb_iter l_zt_equal_zu = ( ABS(zu - zt) < 0.01_wp ) ! testing "zu == zt" is risky with double precision - IF( .NOT. l_zt_equal_zu ) ALLOCATE( zeta_t(jpi,jpj) ) + IF( .NOT. l_zt_equal_zu ) ALLOCATE( zeta_t(A2D(0)) ) !! Initializations for cool skin and warm layer: IF( l_use_cs .AND. (.NOT.(PRESENT(Qsw) .AND. PRESENT(rad_lw) .AND. PRESENT(slp))) ) & @@ -201,7 +201,7 @@ CONTAINS & CALL ctl_stop( '['//TRIM(crtnm)//'] => ' , 'you need to provide Qsw, rad_lw & slp to use warm-layer param!' ) IF( l_use_cs .OR. l_use_wl ) THEN - ALLOCATE ( zsst(jpi,jpj) ) + ALLOCATE ( zsst(A2D(0)) ) zsst = T_s ! backing up the bulk SST IF( l_use_cs ) T_s = T_s - 0.25_wp ! First guess of correction q_s = rdct_qsat_salt*q_sat(MAX(T_s, 200._wp), slp) ! First guess of q_s @@ -324,8 +324,8 @@ CONTAINS CALL CS_COARE( Qsw, ztmp1, u_star, zsst, ztmp2 ) ! ! Qnsol -> ztmp1 / Qlat -> ztmp2 - T_s(:,:) = zsst(:,:) + dT_cs(:,:)*tmask(:,:,1) - IF( l_use_wl ) T_s(:,:) = T_s(:,:) + dT_wl(:,:)*tmask(:,:,1) + T_s(:,:) = zsst(:,:) + dT_cs(:,:)*smask0(:,:) + IF( l_use_wl ) T_s(:,:) = T_s(:,:) + dT_wl(:,:)*smask0(:,:) q_s(:,:) = rdct_qsat_salt*q_sat(MAX(T_s(:,:), 200._wp), slp(:,:)) ENDIF @@ -337,8 +337,8 @@ CONTAINS CALL WL_COARE( Qsw, ztmp1, zeta_u, zsst, MOD(nbit,jit) ) !! Updating T_s and q_s !!! - T_s(:,:) = zsst(:,:) + dT_wl(:,:)*tmask(:,:,1) - IF( l_use_cs ) T_s(:,:) = T_s(:,:) + dT_cs(:,:)*tmask(:,:,1) + T_s(:,:) = zsst(:,:) + dT_wl(:,:)*smask0(:,:) + IF( l_use_cs ) T_s(:,:) = T_s(:,:) + dT_cs(:,:)*smask0(:,:) q_s(:,:) = rdct_qsat_salt*q_sat(MAX(T_s(:,:), 200._wp), slp(:,:)) ENDIF @@ -378,8 +378,8 @@ CONTAINS !! !! Author: L. Brodeau, July 2019 / AeroBulk (https://github.com/brodeau/aerobulk/) !!------------------------------------------------------------------- - REAL(wp), DIMENSION(jpi,jpj) :: charn_coare3p6 - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pwnd ! neutral wind speed at 10m + REAL(wp), DIMENSION(A2D(0)) :: charn_coare3p6 + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pwnd ! neutral wind speed at 10m ! REAL(wp), PARAMETER :: charn0_max = 0.028 !: value above which the Charnock parameter levels off for winds > 18 m/s !!------------------------------------------------------------------- @@ -395,10 +395,10 @@ CONTAINS !! !! Author: L. Brodeau, October 2019 / AeroBulk (https://github.com/brodeau/aerobulk/) !!------------------------------------------------------------------- - REAL(wp), DIMENSION(jpi,jpj) :: charn_coare3p6_wave - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pus ! friction velocity [m/s] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pwsh ! significant wave height [m] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pwps ! phase speed of dominant waves [m/s] + REAL(wp), DIMENSION(A2D(0)) :: charn_coare3p6_wave + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pus ! friction velocity [m/s] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pwsh ! significant wave height [m] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pwps ! phase speed of dominant waves [m/s] !!------------------------------------------------------------------- charn_coare3p6_wave = ( pwsh*0.2_wp*(pus/pwps)**2.2_wp ) * grav/(pus*pus) !! @@ -418,13 +418,13 @@ CONTAINS !! !! ** Author: L. Brodeau, June 2016 / AeroBulk (https://github.com/brodeau/aerobulk/) !!---------------------------------------------------------------------------------- - REAL(wp), DIMENSION(jpi,jpj) :: psi_m_coare - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pzeta + REAL(wp), DIMENSION(A2D(0)) :: psi_m_coare + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pzeta ! INTEGER :: ji, jj ! dummy loop indices REAL(wp) :: zta, zphi_m, zphi_c, zpsi_k, zpsi_c, zf, zc, zstab !!---------------------------------------------------------------------------------- - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) ! zta = pzeta(ji,jj) ! @@ -466,13 +466,13 @@ CONTAINS !! Author: L. Brodeau, June 2016 / AeroBulk !! (https://github.com/brodeau/aerobulk/) !!---------------------------------------------------------------- - REAL(wp), DIMENSION(jpi,jpj) :: psi_h_coare - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pzeta + REAL(wp), DIMENSION(A2D(0)) :: psi_h_coare + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pzeta ! INTEGER :: ji, jj ! dummy loop indices REAL(wp) :: zta, zphi_h, zphi_c, zpsi_k, zpsi_c, zf, zc, zstab !!---------------------------------------------------------------- - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) ! zta = pzeta(ji,jj) ! diff --git a/src/OCE/SBC/sbcblk_algo_ecmwf.F90 b/src/OCE/SBC/sbcblk_algo_ecmwf.F90 index d86c99756..eb316c81a 100644 --- a/src/OCE/SBC/sbcblk_algo_ecmwf.F90 +++ b/src/OCE/SBC/sbcblk_algo_ecmwf.F90 @@ -69,14 +69,14 @@ CONTAINS !!--------------------------------------------------------------------- IF( l_use_wl ) THEN ierr = 0 - ALLOCATE ( dT_wl(jpi,jpj), Hz_wl(jpi,jpj), STAT=ierr ) + ALLOCATE ( dT_wl(A2D(0)), Hz_wl(A2D(0)), STAT=ierr ) IF( ierr > 0 ) CALL ctl_stop( ' SBCBLK_ALGO_ECMWF_INIT => allocation of dT_wl & Hz_wl failed!' ) dT_wl(:,:) = 0._wp Hz_wl(:,:) = rd0 ! (rd0, constant, = 3m is default for Zeng & Beljaars) ENDIF IF( l_use_cs ) THEN ierr = 0 - ALLOCATE ( dT_cs(jpi,jpj), STAT=ierr ) + ALLOCATE ( dT_cs(A2D(0)), STAT=ierr ) IF( ierr > 0 ) CALL ctl_stop( ' SBCBLK_ALGO_ECMWF_INIT => allocation of dT_cs failed!' ) dT_cs(:,:) = -0.25_wp ! First guess of skin correction ENDIF @@ -147,48 +147,48 @@ CONTAINS !! !! ** Author: L. Brodeau, June 2019 / AeroBulk (https://github.com/brodeau/aerobulk/) !!---------------------------------------------------------------------------------- - INTEGER, INTENT(in ) :: kt ! current time step - REAL(wp), INTENT(in ) :: zt ! height for t_zt and q_zt [m] - REAL(wp), INTENT(in ) :: zu ! height for U_zu [m] - REAL(wp), INTENT(inout), DIMENSION(jpi,jpj) :: T_s ! sea surface temperature [Kelvin] - REAL(wp), INTENT(in ), DIMENSION(jpi,jpj) :: t_zt ! potential air temperature [Kelvin] - REAL(wp), INTENT(inout), DIMENSION(jpi,jpj) :: q_s ! sea surface specific humidity [kg/kg] - REAL(wp), INTENT(in ), DIMENSION(jpi,jpj) :: q_zt ! specific air humidity at zt [kg/kg] - REAL(wp), INTENT(in ), DIMENSION(jpi,jpj) :: U_zu ! relative wind module at zu [m/s] - LOGICAL , INTENT(in ) :: l_use_cs ! use the cool-skin parameterization - LOGICAL , INTENT(in ) :: l_use_wl ! use the warm-layer parameterization - REAL(wp), INTENT( out), DIMENSION(jpi,jpj) :: Cd ! transfer coefficient for momentum (tau) - REAL(wp), INTENT( out), DIMENSION(jpi,jpj) :: Ch ! transfer coefficient for sensible heat (Q_sens) - REAL(wp), INTENT( out), DIMENSION(jpi,jpj) :: Ce ! transfert coefficient for evaporation (Q_lat) - REAL(wp), INTENT( out), DIMENSION(jpi,jpj) :: t_zu ! pot. air temp. adjusted at zu [K] - REAL(wp), INTENT( out), DIMENSION(jpi,jpj) :: q_zu ! spec. humidity adjusted at zu [kg/kg] - REAL(wp), INTENT( out), DIMENSION(jpi,jpj) :: Ubzu ! bulk wind speed at zu [m/s] + INTEGER, INTENT(in ) :: kt ! current time step + REAL(wp), INTENT(in ) :: zt ! height for t_zt and q_zt [m] + REAL(wp), INTENT(in ) :: zu ! height for U_zu [m] + REAL(wp), INTENT(inout), DIMENSION(A2D(0)) :: T_s ! sea surface temperature [Kelvin] + REAL(wp), INTENT(in ), DIMENSION(A2D(0)) :: t_zt ! potential air temperature [Kelvin] + REAL(wp), INTENT(inout), DIMENSION(A2D(0)) :: q_s ! sea surface specific humidity [kg/kg] + REAL(wp), INTENT(in ), DIMENSION(A2D(0)) :: q_zt ! specific air humidity at zt [kg/kg] + REAL(wp), INTENT(in ), DIMENSION(A2D(0)) :: U_zu ! relative wind module at zu [m/s] + LOGICAL , INTENT(in ) :: l_use_cs ! use the cool-skin parameterization + LOGICAL , INTENT(in ) :: l_use_wl ! use the warm-layer parameterization + REAL(wp), INTENT( out), DIMENSION(A2D(0)) :: Cd ! transfer coefficient for momentum (tau) + REAL(wp), INTENT( out), DIMENSION(A2D(0)) :: Ch ! transfer coefficient for sensible heat (Q_sens) + REAL(wp), INTENT( out), DIMENSION(A2D(0)) :: Ce ! transfert coefficient for evaporation (Q_lat) + REAL(wp), INTENT( out), DIMENSION(A2D(0)) :: t_zu ! pot. air temp. adjusted at zu [K] + REAL(wp), INTENT( out), DIMENSION(A2D(0)) :: q_zu ! spec. humidity adjusted at zu [kg/kg] + REAL(wp), INTENT( out), DIMENSION(A2D(0)) :: Ubzu ! bulk wind speed at zu [m/s] ! - INTEGER , INTENT(in ), OPTIONAL :: nb_iter ! number of iterations - REAL(wp), INTENT( out), OPTIONAL, DIMENSION(jpi,jpj) :: CdN - REAL(wp), INTENT( out), OPTIONAL, DIMENSION(jpi,jpj) :: ChN - REAL(wp), INTENT( out), OPTIONAL, DIMENSION(jpi,jpj) :: CeN - REAL(wp), INTENT(in ), OPTIONAL, DIMENSION(jpi,jpj) :: Qsw ! [W/m^2] - REAL(wp), INTENT(in ), OPTIONAL, DIMENSION(jpi,jpj) :: rad_lw ! [W/m^2] - REAL(wp), INTENT(in ), OPTIONAL, DIMENSION(jpi,jpj) :: slp ! [Pa] - REAL(wp), INTENT( out), OPTIONAL, DIMENSION(jpi,jpj) :: pdT_cs - REAL(wp), INTENT( out), OPTIONAL, DIMENSION(jpi,jpj) :: pdT_wl ! [K] - REAL(wp), INTENT( out), OPTIONAL, DIMENSION(jpi,jpj) :: pHz_wl ! [m] + INTEGER , INTENT(in ), OPTIONAL :: nb_iter ! number of iterations + REAL(wp), INTENT( out), OPTIONAL, DIMENSION(A2D(0)) :: CdN + REAL(wp), INTENT( out), OPTIONAL, DIMENSION(A2D(0)) :: ChN + REAL(wp), INTENT( out), OPTIONAL, DIMENSION(A2D(0)) :: CeN + REAL(wp), INTENT(in ), OPTIONAL, DIMENSION(A2D(0)) :: Qsw ! [W/m^2] + REAL(wp), INTENT(in ), OPTIONAL, DIMENSION(A2D(0)) :: rad_lw ! [W/m^2] + REAL(wp), INTENT(in ), OPTIONAL, DIMENSION(A2D(0)) :: slp ! [Pa] + REAL(wp), INTENT( out), OPTIONAL, DIMENSION(A2D(0)) :: pdT_cs + REAL(wp), INTENT( out), OPTIONAL, DIMENSION(A2D(0)) :: pdT_wl ! [K] + REAL(wp), INTENT( out), OPTIONAL, DIMENSION(A2D(0)) :: pHz_wl ! [m] ! INTEGER :: nbit, jit LOGICAL :: l_zt_equal_zu = .FALSE. ! if q and t are given at same height as U ! - REAL(wp), DIMENSION(jpi,jpj) :: u_star, t_star, q_star - REAL(wp), DIMENSION(jpi,jpj) :: dt_zu, dq_zu - REAL(wp), DIMENSION(jpi,jpj) :: znu_a !: Nu_air, Viscosity of air - REAL(wp), DIMENSION(jpi,jpj) :: Linv !: 1/L (inverse of Monin Obukhov length... - REAL(wp), DIMENSION(jpi,jpj) :: z0, z0t, z0q - REAL(wp), DIMENSION(jpi,jpj) :: zrhoa, zpre, zta ! air pressure [Pa], density [kg/m3] & absolute temperature [k] + REAL(wp), DIMENSION(A2D(0)) :: u_star, t_star, q_star + REAL(wp), DIMENSION(A2D(0)) :: dt_zu, dq_zu + REAL(wp), DIMENSION(A2D(0)) :: znu_a !: Nu_air, Viscosity of air + REAL(wp), DIMENSION(A2D(0)) :: Linv !: 1/L (inverse of Monin Obukhov length... + REAL(wp), DIMENSION(A2D(0)) :: z0, z0t, z0q + REAL(wp), DIMENSION(A2D(0)) :: zrhoa, zpre, zta ! air pressure [Pa], density [kg/m3] & absolute temperature [k] ! REAL(wp), DIMENSION(:,:), ALLOCATABLE :: zsst ! to back up the initial bulk SST ! - REAL(wp), DIMENSION(jpi,jpj) :: func_m, func_h - REAL(wp), DIMENSION(jpi,jpj) :: ztmp0, ztmp1, ztmp2 + REAL(wp), DIMENSION(A2D(0)) :: func_m, func_h + REAL(wp), DIMENSION(A2D(0)) :: ztmp0, ztmp1, ztmp2 CHARACTER(len=40), PARAMETER :: crtnm = 'turb_ecmwf@sbcblk_algo_ecmwf.F90' !!---------------------------------------------------------------------------------- IF( kt == nit000 ) CALL SBCBLK_ALGO_ECMWF_INIT(l_use_cs, l_use_wl) @@ -206,7 +206,7 @@ CONTAINS & CALL ctl_stop( '['//TRIM(crtnm)//'] => ' , 'you need to provide Qsw, rad_lw & slp to use warm-layer param!' ) IF( l_use_cs .OR. l_use_wl ) THEN - ALLOCATE ( zsst(jpi,jpj) ) + ALLOCATE ( zsst(A2D(0)) ) zsst = T_s ! backing up the bulk SST IF( l_use_cs ) T_s = T_s - 0.25_wp ! First guess of correction q_s = rdct_qsat_salt*q_sat(MAX(T_s, 200._wp), slp) ! First guess of q_s @@ -360,8 +360,8 @@ CONTAINS CALL CS_ECMWF( Qsw, ztmp1, u_star, zsst ) ! Qnsol -> ztmp1 - T_s(:,:) = zsst(:,:) + dT_cs(:,:)*tmask(:,:,1) - IF( l_use_wl ) T_s(:,:) = T_s(:,:) + dT_wl(:,:)*tmask(:,:,1) + T_s(:,:) = zsst(:,:) + dT_cs(:,:)*smask0(:,:) + IF( l_use_wl ) T_s(:,:) = T_s(:,:) + dT_wl(:,:)*smask0(:,:) q_s(:,:) = rdct_qsat_salt*q_sat(MAX(T_s(:,:), 200._wp), slp(:,:)) ENDIF @@ -372,8 +372,8 @@ CONTAINS & ztmp1, ztmp2) ! Qnsol -> ztmp1 / Tau -> ztmp2 CALL WL_ECMWF( Qsw, ztmp1, u_star, zsst ) !! Updating T_s and q_s !!! - T_s(:,:) = zsst(:,:) + dT_wl(:,:)*tmask(:,:,1) ! - IF( l_use_cs ) T_s(:,:) = T_s(:,:) + dT_cs(:,:)*tmask(:,:,1) + T_s(:,:) = zsst(:,:) + dT_wl(:,:)*smask0(:,:) ! + IF( l_use_cs ) T_s(:,:) = T_s(:,:) + dT_cs(:,:)*smask0(:,:) q_s(:,:) = rdct_qsat_salt*q_sat(MAX(T_s(:,:), 200._wp), slp(:,:)) ENDIF @@ -413,14 +413,14 @@ CONTAINS !! !! ** Author: L. Brodeau, June 2016 / AeroBulk (https://github.com/brodeau/aerobulk/) !!---------------------------------------------------------------------------------- - REAL(wp), DIMENSION(jpi,jpj) :: psi_m_ecmwf - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pzeta + REAL(wp), DIMENSION(A2D(0)) :: psi_m_ecmwf + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pzeta ! INTEGER :: ji, jj ! dummy loop indices REAL(wp) :: zta, zx2, zx, ztmp, zpsi_unst, zpsi_stab, zstab, zc !!---------------------------------------------------------------------------------- zc = 5._wp/0.35_wp - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) ! zta = MIN( pzeta(ji,jj) , 5._wp ) !! Very stable conditions (L positif and big!): @@ -454,15 +454,15 @@ CONTAINS !! !! ** Author: L. Brodeau, June 2016 / AeroBulk (https://github.com/brodeau/aerobulk/) !!---------------------------------------------------------------------------------- - REAL(wp), DIMENSION(jpi,jpj) :: psi_h_ecmwf - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pzeta + REAL(wp), DIMENSION(A2D(0)) :: psi_h_ecmwf + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pzeta ! INTEGER :: ji, jj ! dummy loop indices REAL(wp) :: zta, zx2, zpsi_unst, zpsi_stab, zstab, zc !!---------------------------------------------------------------------------------- zc = 5._wp/0.35_wp ! - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) ! zta = MIN(pzeta(ji,jj) , 5._wp) ! Very stable conditions (L positif and big!): ! diff --git a/src/OCE/SBC/sbcblk_algo_ice_an05.F90 b/src/OCE/SBC/sbcblk_algo_ice_an05.F90 index 50ea20f66..36ed050ea 100644 --- a/src/OCE/SBC/sbcblk_algo_ice_an05.F90 +++ b/src/OCE/SBC/sbcblk_algo_ice_an05.F90 @@ -79,26 +79,26 @@ CONTAINS !! !! ** Author: L. Brodeau, January 2020 / AeroBulk (https://github.com/brodeau/aerobulk/) !!---------------------------------------------------------------------------------- - REAL(wp), INTENT(in ) :: zt ! height for t_zt and q_zt [m] - REAL(wp), INTENT(in ) :: zu ! height for U_zu [m] - REAL(wp), INTENT(in ), DIMENSION(jpi,jpj) :: Ts_i ! ice surface temperature [Kelvin] - REAL(wp), INTENT(in ), DIMENSION(jpi,jpj) :: t_zt ! potential air temperature [Kelvin] - REAL(wp), INTENT(in ), DIMENSION(jpi,jpj) :: qs_i ! sat. spec. hum. at ice/air interface [kg/kg] - REAL(wp), INTENT(in ), DIMENSION(jpi,jpj) :: q_zt ! spec. air humidity at zt [kg/kg] - REAL(wp), INTENT(in ), DIMENSION(jpi,jpj) :: U_zu ! relative wind module at zu [m/s] - REAL(wp), INTENT(out), DIMENSION(jpi,jpj) :: Cd_i ! drag coefficient over sea-ice - REAL(wp), INTENT(out), DIMENSION(jpi,jpj) :: Ch_i ! transfert coefficient for heat over ice - REAL(wp), INTENT(out), DIMENSION(jpi,jpj) :: Ce_i ! transfert coefficient for sublimation over ice - REAL(wp), INTENT(out), DIMENSION(jpi,jpj) :: t_zu_i ! pot. air temp. adjusted at zu [K] - REAL(wp), INTENT(out), DIMENSION(jpi,jpj) :: q_zu_i ! spec. humidity adjusted at zu [kg/kg] + REAL(wp), INTENT(in ) :: zt ! height for t_zt and q_zt [m] + REAL(wp), INTENT(in ) :: zu ! height for U_zu [m] + REAL(wp), INTENT(in ), DIMENSION(A2D(0)) :: Ts_i ! ice surface temperature [Kelvin] + REAL(wp), INTENT(in ), DIMENSION(A2D(0)) :: t_zt ! potential air temperature [Kelvin] + REAL(wp), INTENT(in ), DIMENSION(A2D(0)) :: qs_i ! sat. spec. hum. at ice/air interface [kg/kg] + REAL(wp), INTENT(in ), DIMENSION(A2D(0)) :: q_zt ! spec. air humidity at zt [kg/kg] + REAL(wp), INTENT(in ), DIMENSION(A2D(0)) :: U_zu ! relative wind module at zu [m/s] + REAL(wp), INTENT(out), DIMENSION(A2D(0)) :: Cd_i ! drag coefficient over sea-ice + REAL(wp), INTENT(out), DIMENSION(A2D(0)) :: Ch_i ! transfert coefficient for heat over ice + REAL(wp), INTENT(out), DIMENSION(A2D(0)) :: Ce_i ! transfert coefficient for sublimation over ice + REAL(wp), INTENT(out), DIMENSION(A2D(0)) :: t_zu_i ! pot. air temp. adjusted at zu [K] + REAL(wp), INTENT(out), DIMENSION(A2D(0)) :: q_zu_i ! spec. humidity adjusted at zu [kg/kg] !!---------------------------------------------------------------------------------- - REAL(wp), INTENT(out), DIMENSION(jpi,jpj), OPTIONAL :: CdN - REAL(wp), INTENT(out), DIMENSION(jpi,jpj), OPTIONAL :: ChN - REAL(wp), INTENT(out), DIMENSION(jpi,jpj), OPTIONAL :: CeN - REAL(wp), INTENT(out), DIMENSION(jpi,jpj), OPTIONAL :: xz0 ! Aerodynamic roughness length [m] - REAL(wp), INTENT(out), DIMENSION(jpi,jpj), OPTIONAL :: xu_star ! u*, friction velocity - REAL(wp), INTENT(out), DIMENSION(jpi,jpj), OPTIONAL :: xL ! zeta (zu/L) - REAL(wp), INTENT(out), DIMENSION(jpi,jpj), OPTIONAL :: xUN10 ! Neutral wind at zu + REAL(wp), INTENT(out), DIMENSION(A2D(0)), OPTIONAL :: CdN + REAL(wp), INTENT(out), DIMENSION(A2D(0)), OPTIONAL :: ChN + REAL(wp), INTENT(out), DIMENSION(A2D(0)), OPTIONAL :: CeN + REAL(wp), INTENT(out), DIMENSION(A2D(0)), OPTIONAL :: xz0 ! Aerodynamic roughness length [m] + REAL(wp), INTENT(out), DIMENSION(A2D(0)), OPTIONAL :: xu_star ! u*, friction velocity + REAL(wp), INTENT(out), DIMENSION(A2D(0)), OPTIONAL :: xL ! zeta (zu/L) + REAL(wp), INTENT(out), DIMENSION(A2D(0)), OPTIONAL :: xUN10 ! Neutral wind at zu !!---------------------------------------------------------------------------------- REAL(wp), DIMENSION(:,:), ALLOCATABLE :: Ubzu REAL(wp), DIMENSION(:,:), ALLOCATABLE :: ztmp0, ztmp1, ztmp2 ! temporary stuff @@ -116,10 +116,10 @@ CONTAINS !! CHARACTER(len=40), PARAMETER :: crtnm = 'turb_ice_an05@sbcblk_algo_ice_an05.f90' !!---------------------------------------------------------------------------------- - ALLOCATE ( Ubzu(jpi,jpj), u_star(jpi,jpj), t_star(jpi,jpj), q_star(jpi,jpj), & - & zeta_u(jpi,jpj), dt_zu(jpi,jpj), dq_zu(jpi,jpj), & - & znu_a(jpi,jpj), ztmp1(jpi,jpj), ztmp2(jpi,jpj), & - & z0(jpi,jpj), z0tq(jpi,jpj,2), ztmp0(jpi,jpj) ) + ALLOCATE ( Ubzu(A2D(0)), u_star(A2D(0)), t_star(A2D(0)), q_star(A2D(0)), & + & zeta_u(A2D(0)), dt_zu(A2D(0)), dq_zu(A2D(0)), & + & znu_a(A2D(0)), ztmp1(A2D(0)), ztmp2(A2D(0)), & + & z0(A2D(0)), z0tq(A2D(0),2), ztmp0(A2D(0)) ) lreturn_cdn = PRESENT(CdN) lreturn_chn = PRESENT(ChN) @@ -130,7 +130,7 @@ CONTAINS lreturn_UN10 = PRESENT(xUN10) l_zt_equal_zu = ( ABS(zu - zt) < 0.01_wp ) - IF( .NOT. l_zt_equal_zu ) ALLOCATE( zeta_t(jpi,jpj) ) + IF( .NOT. l_zt_equal_zu ) ALLOCATE( zeta_t(A2D(0)) ) !! Scalar wind speed cannot be below 0.2 m/s Ubzu = MAX( U_zu, wspd_thrshld_ice ) @@ -227,14 +227,14 @@ CONTAINS !! !! Author: L. Brodeau, January 2020 / AeroBulk (https://github.com/brodeau/aerobulk/) !!---------------------------------------------------------------------------------- - REAL(wp), DIMENSION(jpi,jpj) :: rough_leng_m ! roughness length over sea-ice [m] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pus ! u* = friction velocity [m/s] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pnua ! kinematic viscosity of air [m^2/s] + REAL(wp), DIMENSION(A2D(0)) :: rough_leng_m ! roughness length over sea-ice [m] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pus ! u* = friction velocity [m/s] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pnua ! kinematic viscosity of air [m^2/s] !! INTEGER :: ji, jj ! dummy loop indices REAL(wp) :: zus, zz !!---------------------------------------------------------------------------------- - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) zus = MAX( pus(ji,jj) , 1.E-9_wp ) zz = (zus - 0.18_wp) / 0.1_wp @@ -251,16 +251,16 @@ CONTAINS !! !! Author: L. Brodeau, January 2020 / AeroBulk (https://github.com/brodeau/aerobulk/) !!---------------------------------------------------------------------------------- - REAL(wp), DIMENSION(jpi,jpj,2) :: rough_leng_tq ! temp.,hum. roughness lengthes over sea-ice [m] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pz0 ! roughness length [m] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pus ! u* = friction velocity [m/s] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pnua ! kinematic viscosity of air [m^2/s] + REAL(wp), DIMENSION(A2D(0),2) :: rough_leng_tq ! temp.,hum. roughness lengthes over sea-ice [m] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pz0 ! roughness length [m] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pus ! u* = friction velocity [m/s] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pnua ! kinematic viscosity of air [m^2/s] !! INTEGER :: ji, jj ! dummy loop indices REAL(wp) :: zz0, zus, zre, zsmoot, ztrans, zrough REAL(wp) :: zb0, zb1, zb2, zlog, zlog2, zlog_z0s_on_z0 !!---------------------------------------------------------------------------------- - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) zz0 = pz0(ji,jj) zus = MAX( pus(ji,jj) , 1.E-9_wp ) zre = MAX( zus*zz0/pnua(ji,jj) , 0._wp ) ! Roughness Reynolds number @@ -315,13 +315,13 @@ CONTAINS !! !! ** Author: L. Brodeau, 2020 / AeroBulk (https://github.com/brodeau/aerobulk/) !!---------------------------------------------------------------------------------- - REAL(wp), DIMENSION(jpi,jpj) :: psi_m_ice - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pzeta + REAL(wp), DIMENSION(A2D(0)) :: psi_m_ice + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pzeta ! INTEGER :: ji, jj ! dummy loop indices REAL(wp) :: zta, zx, zpsi_u, zpsi_s, zstab !!---------------------------------------------------------------------------------- - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) ! + DO_2D( 0, 0, 0, 0 ) ! zta = pzeta(ji,jj) ! ! Unstable stratification: @@ -360,13 +360,13 @@ CONTAINS !! !! ** Author: L. Brodeau, 2020 / AeroBulk (https://github.com/brodeau/aerobulk/) !!---------------------------------------------------------------------------------- - REAL(wp), DIMENSION(jpi,jpj) :: psi_h_ice - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pzeta + REAL(wp), DIMENSION(A2D(0)) :: psi_h_ice + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pzeta ! INTEGER :: ji, jj ! dummy loop indices REAL(wp) :: zta, zx, zpsi_u, zpsi_s, zstab !!---------------------------------------------------------------------------------- - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) ! + DO_2D( 0, 0, 0, 0 ) ! zta = pzeta(ji,jj) ! ! Unstable stratification: diff --git a/src/OCE/SBC/sbcblk_algo_ice_cdn.F90 b/src/OCE/SBC/sbcblk_algo_ice_cdn.F90 index 87932e396..0a9103f8a 100644 --- a/src/OCE/SBC/sbcblk_algo_ice_cdn.F90 +++ b/src/OCE/SBC/sbcblk_algo_ice_cdn.F90 @@ -59,12 +59,12 @@ CONTAINS !! ** References : Lupkes et al. JGR 2012 (theory) !! !!---------------------------------------------------------------------- - REAL(wp), DIMENSION(jpi,jpj) :: CdN10_f_LU12 ! neutral FORM drag coefficient contribution over sea-ice - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pfrice ! ice concentration [fraction] => at_i_b ! NOT USED if pSc2, phf and pDi all provided... - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pz0w ! roughness length over water [m] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in), OPTIONAL :: pSc2 ! squared shletering function [0-1] (Sc->1 for large distance between floes, ->0 for small distances) - REAL(wp), DIMENSION(jpi,jpj), INTENT(in), OPTIONAL :: phf ! mean freeboard of floes [m] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in), OPTIONAL :: pDi ! cross wind dimension of the floe (aka effective edge length for form drag) [m] + REAL(wp), DIMENSION(A2D(0)) :: CdN10_f_LU12 ! neutral FORM drag coefficient contribution over sea-ice + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pfrice ! ice concentration [fraction] => at_i_b ! NOT USED if pSc2, phf and pDi all provided... + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pz0w ! roughness length over water [m] + REAL(wp), DIMENSION(A2D(0)), INTENT(in), OPTIONAL :: pSc2 ! squared shletering function [0-1] (Sc->1 for large distance between floes, ->0 for small distances) + REAL(wp), DIMENSION(A2D(0)), INTENT(in), OPTIONAL :: phf ! mean freeboard of floes [m] + REAL(wp), DIMENSION(A2D(0)), INTENT(in), OPTIONAL :: pDi ! cross wind dimension of the floe (aka effective edge length for form drag) [m] !!---------------------------------------------------------------------- LOGICAL :: l_known_Sc2=.FALSE., l_known_hf=.FALSE., l_known_Di=.FALSE. REAL(wp) :: ztmp, zrlog, zfri, zfrw, zSc2, zhf, zDi @@ -74,7 +74,7 @@ CONTAINS l_known_hf = PRESENT(phf) l_known_Di = PRESENT(pDi) - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) zfri = pfrice(ji,jj) zfrw = (1._wp - zfri) @@ -113,9 +113,9 @@ CONTAINS FUNCTION CdN_f_LU12_eq36( pzu, pfrice ) !!---------------------------------------------------------------------- - REAL(wp), DIMENSION(jpi,jpj) :: CdN_f_LU12_eq36 ! neutral FORM drag coefficient contribution over sea-ice - REAL(wp), INTENT(in) :: pzu ! reference height [m] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pfrice ! ice concentration [fraction] => at_i_b ! NOT USED if pSc2, phf and pDi all provided... + REAL(wp), DIMENSION(A2D(0)) :: CdN_f_LU12_eq36 ! neutral FORM drag coefficient contribution over sea-ice + REAL(wp), INTENT(in) :: pzu ! reference height [m] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pfrice ! ice concentration [fraction] => at_i_b ! NOT USED if pSc2, phf and pDi all provided... !!---------------------------------------------------------------------- REAL(wp) :: ztmp, zrlog, zfri, zhf, zDi INTEGER :: ji, jj @@ -127,7 +127,7 @@ CONTAINS ztmp = 1._wp/rz0_w_0 zrlog = LOG(zhf*ztmp) / LOG(pzu*ztmp) - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) zfri = pfrice(ji,jj) CdN_f_LU12_eq36(ji,jj) = 0.5_wp* 0.3_wp * zrlog*zrlog * zhf/zDi * (1._wp - zfri)**rBeta_0 ! Eq.(35) & (36) !! 1/2 Ce @@ -167,8 +167,8 @@ CONTAINS !! Lupkes et al. GRL 2013 (application to GCM) !! !!---------------------------------------------------------------------- - REAL(wp), DIMENSION(jpi,jpj) :: CdN10_f_LU13 ! neutral FORM drag coefficient contribution over sea-ice - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pfrice ! ice concentration [fraction] => at_i_b + REAL(wp), DIMENSION(A2D(0)) :: CdN10_f_LU13 ! neutral FORM drag coefficient contribution over sea-ice + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pfrice ! ice concentration [fraction] => at_i_b !!---------------------------------------------------------------------- INTEGER :: ji, jj REAL(wp) :: zcoef @@ -178,7 +178,7 @@ CONTAINS !! We are not an AGCM, we are an OGCM!!! => we drop term "(1 - A)*Cd_w" !! => so we keep only the last rhs terms of Eq.(1) of Lupkes et al, 2013 that we divide by "A": !! (we multiply Cd_i_s and Cd_i_f by A later, when applying ocean-ice partitioning... - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) CdN10_f_LU13(ji,jj) = rCe_0 * pfrice(ji,jj)**(rMu_0 - 1._wp) * (1._wp - pfrice(ji,jj))**zcoef END_2D !! => seems okay for winter 100% sea-ice as second rhs term vanishes as pfrice == 1.... @@ -203,13 +203,13 @@ CONTAINS !! ** References : Lupkes & Gryanik (2015) !! !!---------------------------------------------------------------------- - REAL(wp), DIMENSION(jpi,jpj) :: CdN_f_LG15 ! neutral FORM drag coefficient contribution over sea-ice - REAL(wp), INTENT(in ) :: pzu ! reference height [m] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pfrice ! ice concentration [fraction] => at_i_b ! NOT USED if pSc2, phf and pDi all provided... - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pz0i ! roughness length over ICE [m] (in LU12, it's over water ???) - REAL(wp), DIMENSION(jpi,jpj), INTENT(in), OPTIONAL :: pSc2 ! squared shletering function [0-1] (Sc->1 for large distance between floes, ->0 for small distances) - REAL(wp), DIMENSION(jpi,jpj), INTENT(in), OPTIONAL :: phf ! mean freeboard of floes [m] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in), OPTIONAL :: pDi ! cross wind dimension of the floe (aka effective edge length for form drag) [m] + REAL(wp), DIMENSION(A2D(0)) :: CdN_f_LG15 ! neutral FORM drag coefficient contribution over sea-ice + REAL(wp), INTENT(in ) :: pzu ! reference height [m] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pfrice ! ice concentration [fraction] => at_i_b ! NOT USED if pSc2, phf and pDi all provided... + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pz0i ! roughness length over ICE [m] (in LU12, it's over water ???) + REAL(wp), DIMENSION(A2D(0)), INTENT(in), OPTIONAL :: pSc2 ! squared shletering function [0-1] (Sc->1 for large distance between floes, ->0 for small distances) + REAL(wp), DIMENSION(A2D(0)), INTENT(in), OPTIONAL :: phf ! mean freeboard of floes [m] + REAL(wp), DIMENSION(A2D(0)), INTENT(in), OPTIONAL :: pDi ! cross wind dimension of the floe (aka effective edge length for form drag) [m] !!---------------------------------------------------------------------- LOGICAL :: l_known_Sc2=.FALSE., l_known_hf=.FALSE., l_known_Di=.FALSE. REAL(wp) :: ztmp, zrlog, zfri, zfrw, zSc2, zhf, zDi @@ -219,7 +219,7 @@ CONTAINS l_known_hf = PRESENT(phf) l_known_Di = PRESENT(pDi) - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) zfri = pfrice(ji,jj) zfrw = (1._wp - zfri) @@ -270,15 +270,15 @@ CONTAINS !! ** References : Lupkes & Gryanik (2015) !! !!---------------------------------------------------------------------- - REAL(wp), DIMENSION(jpi,jpj) :: CdN_f_LG15_light ! neutral FORM drag coefficient contribution over sea-ice - REAL(wp), INTENT(in) :: pzu ! reference height [m] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pfrice ! ice concentration [fraction] => at_i_b - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pz0w ! roughness length over water [m] + REAL(wp), DIMENSION(A2D(0)) :: CdN_f_LG15_light ! neutral FORM drag coefficient contribution over sea-ice + REAL(wp), INTENT(in) :: pzu ! reference height [m] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pfrice ! ice concentration [fraction] => at_i_b + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pz0w ! roughness length over water [m] !!---------------------------------------------------------------------- REAL(wp) :: ztmp, zrlog, zfri INTEGER :: ji, jj !!---------------------------------------------------------------------- - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) zfri = pfrice(ji,jj) diff --git a/src/OCE/SBC/sbcblk_algo_ice_lg15.F90 b/src/OCE/SBC/sbcblk_algo_ice_lg15.F90 index 62ec01b82..9c9302faa 100644 --- a/src/OCE/SBC/sbcblk_algo_ice_lg15.F90 +++ b/src/OCE/SBC/sbcblk_algo_ice_lg15.F90 @@ -42,6 +42,8 @@ MODULE sbcblk_algo_ice_lg15 INTEGER , PARAMETER :: nbit = 8 ! number of itterations + !! * Substitutions +# include "do_loop_substitute.h90" !!---------------------------------------------------------------------- CONTAINS @@ -92,27 +94,27 @@ CONTAINS !! !! ** Author: L. Brodeau, January 2020 / AeroBulk (https://github.com/brodeau/aerobulk/) !!---------------------------------------------------------------------------------- - REAL(wp), INTENT(in ) :: zt ! height for t_zt and q_zt [m] - REAL(wp), INTENT(in ) :: zu ! height for U_zu [m] - REAL(wp), INTENT(in ), DIMENSION(jpi,jpj) :: Ts_i ! ice surface temperature [Kelvin] - REAL(wp), INTENT(in ), DIMENSION(jpi,jpj) :: t_zt ! potential air temperature [Kelvin] - REAL(wp), INTENT(in ), DIMENSION(jpi,jpj) :: qs_i ! sat. spec. hum. at ice/air interface [kg/kg] - REAL(wp), INTENT(in ), DIMENSION(jpi,jpj) :: q_zt ! spec. air humidity at zt [kg/kg] - REAL(wp), INTENT(in ), DIMENSION(jpi,jpj) :: U_zu ! relative wind module at zu [m/s] - REAL(wp), INTENT(in ), DIMENSION(jpi,jpj) :: frice ! sea-ice concentration (fraction) - REAL(wp), INTENT(out), DIMENSION(jpi,jpj) :: Cd_i ! drag coefficient over sea-ice - REAL(wp), INTENT(out), DIMENSION(jpi,jpj) :: Ch_i ! transfert coefficient for heat over ice - REAL(wp), INTENT(out), DIMENSION(jpi,jpj) :: Ce_i ! transfert coefficient for sublimation over ice - REAL(wp), INTENT(out), DIMENSION(jpi,jpj) :: t_zu_i ! pot. air temp. adjusted at zu [K] - REAL(wp), INTENT(out), DIMENSION(jpi,jpj) :: q_zu_i ! spec. humidity adjusted at zu [kg/kg] + REAL(wp), INTENT(in ) :: zt ! height for t_zt and q_zt [m] + REAL(wp), INTENT(in ) :: zu ! height for U_zu [m] + REAL(wp), INTENT(in ), DIMENSION(A2D(0)) :: Ts_i ! ice surface temperature [Kelvin] + REAL(wp), INTENT(in ), DIMENSION(A2D(0)) :: t_zt ! potential air temperature [Kelvin] + REAL(wp), INTENT(in ), DIMENSION(A2D(0)) :: qs_i ! sat. spec. hum. at ice/air interface [kg/kg] + REAL(wp), INTENT(in ), DIMENSION(A2D(0)) :: q_zt ! spec. air humidity at zt [kg/kg] + REAL(wp), INTENT(in ), DIMENSION(A2D(0)) :: U_zu ! relative wind module at zu [m/s] + REAL(wp), INTENT(in ), DIMENSION(A2D(0)) :: frice ! sea-ice concentration (fraction) + REAL(wp), INTENT(out), DIMENSION(A2D(0)) :: Cd_i ! drag coefficient over sea-ice + REAL(wp), INTENT(out), DIMENSION(A2D(0)) :: Ch_i ! transfert coefficient for heat over ice + REAL(wp), INTENT(out), DIMENSION(A2D(0)) :: Ce_i ! transfert coefficient for sublimation over ice + REAL(wp), INTENT(out), DIMENSION(A2D(0)) :: t_zu_i ! pot. air temp. adjusted at zu [K] + REAL(wp), INTENT(out), DIMENSION(A2D(0)) :: q_zu_i ! spec. humidity adjusted at zu [kg/kg] !!---------------------------------------------------------------------------------- - REAL(wp), INTENT(out), DIMENSION(jpi,jpj), OPTIONAL :: CdN - REAL(wp), INTENT(out), DIMENSION(jpi,jpj), OPTIONAL :: ChN - REAL(wp), INTENT(out), DIMENSION(jpi,jpj), OPTIONAL :: CeN - REAL(wp), INTENT(out), DIMENSION(jpi,jpj), OPTIONAL :: xz0 ! Aerodynamic roughness length [m] - REAL(wp), INTENT(out), DIMENSION(jpi,jpj), OPTIONAL :: xu_star ! u*, friction velocity - REAL(wp), INTENT(out), DIMENSION(jpi,jpj), OPTIONAL :: xL ! zeta (zu/L) - REAL(wp), INTENT(out), DIMENSION(jpi,jpj), OPTIONAL :: xUN10 ! Neutral wind at zu + REAL(wp), INTENT(out), DIMENSION(A2D(0)), OPTIONAL :: CdN + REAL(wp), INTENT(out), DIMENSION(A2D(0)), OPTIONAL :: ChN + REAL(wp), INTENT(out), DIMENSION(A2D(0)), OPTIONAL :: CeN + REAL(wp), INTENT(out), DIMENSION(A2D(0)), OPTIONAL :: xz0 ! Aerodynamic roughness length [m] + REAL(wp), INTENT(out), DIMENSION(A2D(0)), OPTIONAL :: xu_star ! u*, friction velocity + REAL(wp), INTENT(out), DIMENSION(A2D(0)), OPTIONAL :: xL ! zeta (zu/L) + REAL(wp), INTENT(out), DIMENSION(A2D(0)), OPTIONAL :: xUN10 ! Neutral wind at zu !!---------------------------------------------------------------------------------- REAL(wp), DIMENSION(:,:), ALLOCATABLE :: Ubzu REAL(wp), DIMENSION(:,:), ALLOCATABLE :: ztmp1, ztmp2 ! temporary stuff @@ -128,11 +130,11 @@ CONTAINS !! CHARACTER(len=40), PARAMETER :: crtnm = 'turb_ice_lg15@sbcblk_algo_ice_lg15.f90' !!---------------------------------------------------------------------------------- - ALLOCATE ( Ubzu(jpi,jpj) ) - ALLOCATE ( ztmp1(jpi,jpj), ztmp2(jpi,jpj) ) - ALLOCATE ( dt_zu(jpi,jpj), dq_zu(jpi,jpj) ) - ALLOCATE ( zz0_s(jpi,jpj), zz0_f(jpi,jpj), RiB(jpi,jpj), & - & zCdN_s(jpi,jpj), zChN_s(jpi,jpj), zCdN_f(jpi,jpj), zChN_f(jpi,jpj) ) + ALLOCATE ( Ubzu(A2D(0)) ) + ALLOCATE ( ztmp1(A2D(0)), ztmp2(A2D(0)) ) + ALLOCATE ( dt_zu(A2D(0)), dq_zu(A2D(0)) ) + ALLOCATE ( zz0_s(A2D(0)), zz0_f(A2D(0)), RiB(A2D(0)), & + & zCdN_s(A2D(0)), zChN_s(A2D(0)), zCdN_f(A2D(0)), zChN_f(A2D(0)) ) lreturn_cdn = PRESENT(CdN) lreturn_chn = PRESENT(ChN) diff --git a/src/OCE/SBC/sbcblk_algo_ice_lu12.F90 b/src/OCE/SBC/sbcblk_algo_ice_lu12.F90 index d46534a36..10a4dbf60 100644 --- a/src/OCE/SBC/sbcblk_algo_ice_lu12.F90 +++ b/src/OCE/SBC/sbcblk_algo_ice_lu12.F90 @@ -32,6 +32,8 @@ MODULE sbcblk_algo_ice_lu12 REAL(wp), PARAMETER :: rz0_i_s_0 = 0.69e-3_wp ! Eq.(43) of Lupkes & Gryanik (2015) [m] => to estimate CdN10 for skin drag! REAL(wp), PARAMETER :: rz0_i_f_0 = 4.54e-4_wp ! bottom p.562 MIZ [m] (LG15) + !! * Substitutions +# include "do_loop_substitute.h90" !!---------------------------------------------------------------------- CONTAINS @@ -79,27 +81,27 @@ CONTAINS !! !! ** Author: L. Brodeau, January 2020 / AeroBulk (https://github.com/brodeau/aerobulk/) !!---------------------------------------------------------------------------------- - REAL(wp), INTENT(in ) :: zt ! height for t_zt and q_zt [m] - REAL(wp), INTENT(in ) :: zu ! height for U_zu [m] - REAL(wp), INTENT(in ), DIMENSION(jpi,jpj) :: Ts_i ! ice surface temperature [Kelvin] - REAL(wp), INTENT(in ), DIMENSION(jpi,jpj) :: t_zt ! potential air temperature [Kelvin] - REAL(wp), INTENT(in ), DIMENSION(jpi,jpj) :: qs_i ! sat. spec. hum. at ice/air interface [kg/kg] - REAL(wp), INTENT(in ), DIMENSION(jpi,jpj) :: q_zt ! spec. air humidity at zt [kg/kg] - REAL(wp), INTENT(in ), DIMENSION(jpi,jpj) :: U_zu ! relative wind module at zu [m/s] - REAL(wp), INTENT(in ), DIMENSION(jpi,jpj) :: frice ! sea-ice concentration (fraction) - REAL(wp), INTENT(out), DIMENSION(jpi,jpj) :: Cd_i ! drag coefficient over sea-ice - REAL(wp), INTENT(out), DIMENSION(jpi,jpj) :: Ch_i ! transfert coefficient for heat over ice - REAL(wp), INTENT(out), DIMENSION(jpi,jpj) :: Ce_i ! transfert coefficient for sublimation over ice - REAL(wp), INTENT(out), DIMENSION(jpi,jpj) :: t_zu_i ! pot. air temp. adjusted at zu [K] - REAL(wp), INTENT(out), DIMENSION(jpi,jpj) :: q_zu_i ! spec. humidity adjusted at zu [kg/kg] + REAL(wp), INTENT(in ) :: zt ! height for t_zt and q_zt [m] + REAL(wp), INTENT(in ) :: zu ! height for U_zu [m] + REAL(wp), INTENT(in ), DIMENSION(A2D(0)) :: Ts_i ! ice surface temperature [Kelvin] + REAL(wp), INTENT(in ), DIMENSION(A2D(0)) :: t_zt ! potential air temperature [Kelvin] + REAL(wp), INTENT(in ), DIMENSION(A2D(0)) :: qs_i ! sat. spec. hum. at ice/air interface [kg/kg] + REAL(wp), INTENT(in ), DIMENSION(A2D(0)) :: q_zt ! spec. air humidity at zt [kg/kg] + REAL(wp), INTENT(in ), DIMENSION(A2D(0)) :: U_zu ! relative wind module at zu [m/s] + REAL(wp), INTENT(in ), DIMENSION(A2D(0)) :: frice ! sea-ice concentration (fraction) + REAL(wp), INTENT(out), DIMENSION(A2D(0)) :: Cd_i ! drag coefficient over sea-ice + REAL(wp), INTENT(out), DIMENSION(A2D(0)) :: Ch_i ! transfert coefficient for heat over ice + REAL(wp), INTENT(out), DIMENSION(A2D(0)) :: Ce_i ! transfert coefficient for sublimation over ice + REAL(wp), INTENT(out), DIMENSION(A2D(0)) :: t_zu_i ! pot. air temp. adjusted at zu [K] + REAL(wp), INTENT(out), DIMENSION(A2D(0)) :: q_zu_i ! spec. humidity adjusted at zu [kg/kg] !!---------------------------------------------------------------------------------- - REAL(wp), INTENT(out), DIMENSION(jpi,jpj), OPTIONAL :: CdN - REAL(wp), INTENT(out), DIMENSION(jpi,jpj), OPTIONAL :: ChN - REAL(wp), INTENT(out), DIMENSION(jpi,jpj), OPTIONAL :: CeN - REAL(wp), INTENT(out), DIMENSION(jpi,jpj), OPTIONAL :: xz0 ! Aerodynamic roughness length [m] - REAL(wp), INTENT(out), DIMENSION(jpi,jpj), OPTIONAL :: xu_star ! u*, friction velocity - REAL(wp), INTENT(out), DIMENSION(jpi,jpj), OPTIONAL :: xL ! zeta (zu/L) - REAL(wp), INTENT(out), DIMENSION(jpi,jpj), OPTIONAL :: xUN10 ! Neutral wind at zu + REAL(wp), INTENT(out), DIMENSION(A2D(0)), OPTIONAL :: CdN + REAL(wp), INTENT(out), DIMENSION(A2D(0)), OPTIONAL :: ChN + REAL(wp), INTENT(out), DIMENSION(A2D(0)), OPTIONAL :: CeN + REAL(wp), INTENT(out), DIMENSION(A2D(0)), OPTIONAL :: xz0 ! Aerodynamic roughness length [m] + REAL(wp), INTENT(out), DIMENSION(A2D(0)), OPTIONAL :: xu_star ! u*, friction velocity + REAL(wp), INTENT(out), DIMENSION(A2D(0)), OPTIONAL :: xL ! zeta (zu/L) + REAL(wp), INTENT(out), DIMENSION(A2D(0)), OPTIONAL :: xUN10 ! Neutral wind at zu !!---------------------------------------------------------------------------------- REAL(wp), DIMENSION(:,:), ALLOCATABLE :: dt_zu, dq_zu, z0 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: Ubzu @@ -109,8 +111,8 @@ CONTAINS !! CHARACTER(len=40), PARAMETER :: crtnm = 'turb_ice_lu12@sbcblk_algo_ice_lu12.f90' !!---------------------------------------------------------------------------------- - ALLOCATE ( Ubzu(jpi,jpj) ) - ALLOCATE ( dt_zu(jpi,jpj), dq_zu(jpi,jpj), z0(jpi,jpj) ) + ALLOCATE ( Ubzu(A2D(0)) ) + ALLOCATE ( dt_zu(A2D(0)), dq_zu(A2D(0)), z0(A2D(0)) ) lreturn_cdn = PRESENT(CdN) lreturn_chn = PRESENT(ChN) diff --git a/src/OCE/SBC/sbcblk_algo_ncar.F90 b/src/OCE/SBC/sbcblk_algo_ncar.F90 index bb520dbf0..4e218454e 100644 --- a/src/OCE/SBC/sbcblk_algo_ncar.F90 +++ b/src/OCE/SBC/sbcblk_algo_ncar.F90 @@ -79,32 +79,32 @@ CONTAINS !! !! ** Author: L. Brodeau, June 2019 / AeroBulk (https://github.com/brodeau/aerobulk/) !!---------------------------------------------------------------------------------- - REAL(wp), INTENT(in ) :: zt ! height for t_zt and q_zt [m] - REAL(wp), INTENT(in ) :: zu ! height for U_zu [m] - REAL(wp), INTENT(in ), DIMENSION(jpi,jpj) :: sst ! sea surface temperature [Kelvin] - REAL(wp), INTENT(in ), DIMENSION(jpi,jpj) :: t_zt ! potential air temperature [Kelvin] - REAL(wp), INTENT(in ), DIMENSION(jpi,jpj) :: ssq ! sea surface specific humidity [kg/kg] - REAL(wp), INTENT(in ), DIMENSION(jpi,jpj) :: q_zt ! specific air humidity at zt [kg/kg] - REAL(wp), INTENT(in ), DIMENSION(jpi,jpj) :: U_zu ! relative wind module at zu [m/s] - REAL(wp), INTENT( out), DIMENSION(jpi,jpj) :: Cd ! transfer coefficient for momentum (tau) - REAL(wp), INTENT( out), DIMENSION(jpi,jpj) :: Ch ! transfer coefficient for sensible heat (Q_sens) - REAL(wp), INTENT( out), DIMENSION(jpi,jpj) :: Ce ! transfert coefficient for evaporation (Q_lat) - REAL(wp), INTENT( out), DIMENSION(jpi,jpj) :: t_zu ! pot. air temp. adjusted at zu [K] - REAL(wp), INTENT( out), DIMENSION(jpi,jpj) :: q_zu ! spec. humidity adjusted at zu [kg/kg] - REAL(wp), INTENT( out), DIMENSION(jpi,jpj) :: Ubzu ! bulk wind speed at zu [m/s] + REAL(wp), INTENT(in ) :: zt ! height for t_zt and q_zt [m] + REAL(wp), INTENT(in ) :: zu ! height for U_zu [m] + REAL(wp), INTENT(in ), DIMENSION(A2D(0)) :: sst ! sea surface temperature [Kelvin] + REAL(wp), INTENT(in ), DIMENSION(A2D(0)) :: t_zt ! potential air temperature [Kelvin] + REAL(wp), INTENT(in ), DIMENSION(A2D(0)) :: ssq ! sea surface specific humidity [kg/kg] + REAL(wp), INTENT(in ), DIMENSION(A2D(0)) :: q_zt ! specific air humidity at zt [kg/kg] + REAL(wp), INTENT(in ), DIMENSION(A2D(0)) :: U_zu ! relative wind module at zu [m/s] + REAL(wp), INTENT( out), DIMENSION(A2D(0)) :: Cd ! transfer coefficient for momentum (tau) + REAL(wp), INTENT( out), DIMENSION(A2D(0)) :: Ch ! transfer coefficient for sensible heat (Q_sens) + REAL(wp), INTENT( out), DIMENSION(A2D(0)) :: Ce ! transfert coefficient for evaporation (Q_lat) + REAL(wp), INTENT( out), DIMENSION(A2D(0)) :: t_zu ! pot. air temp. adjusted at zu [K] + REAL(wp), INTENT( out), DIMENSION(A2D(0)) :: q_zu ! spec. humidity adjusted at zu [kg/kg] + REAL(wp), INTENT( out), DIMENSION(A2D(0)) :: Ubzu ! bulk wind speed at zu [m/s] ! - INTEGER , INTENT(in ), OPTIONAL :: nb_iter ! number of iterations - REAL(wp), INTENT( out), OPTIONAL, DIMENSION(jpi,jpj) :: CdN - REAL(wp), INTENT( out), OPTIONAL, DIMENSION(jpi,jpj) :: ChN - REAL(wp), INTENT( out), OPTIONAL, DIMENSION(jpi,jpj) :: CeN + INTEGER , INTENT(in ), OPTIONAL :: nb_iter ! number of iterations + REAL(wp), INTENT( out), OPTIONAL, DIMENSION(A2D(0)) :: CdN + REAL(wp), INTENT( out), OPTIONAL, DIMENSION(A2D(0)) :: ChN + REAL(wp), INTENT( out), OPTIONAL, DIMENSION(A2D(0)) :: CeN ! INTEGER :: nbit, jit ! iterations... LOGICAL :: l_zt_equal_zu = .FALSE. ! if q and t are given at same height as U ! - REAL(wp), DIMENSION(jpi,jpj) :: zCdN, zCeN, zChN ! 10m neutral latent/sensible coefficient - REAL(wp), DIMENSION(jpi,jpj) :: zsqrt_Cd, zsqrt_CdN ! root square of Cd and Cd_neutral - REAL(wp), DIMENSION(jpi,jpj) :: zeta_u ! stability parameter at height zu - REAL(wp), DIMENSION(jpi,jpj) :: ztmp0, ztmp1, ztmp2 + REAL(wp), DIMENSION(A2D(0)) :: zCdN, zCeN, zChN ! 10m neutral latent/sensible coefficient + REAL(wp), DIMENSION(A2D(0)) :: zsqrt_Cd, zsqrt_CdN ! root square of Cd and Cd_neutral + REAL(wp), DIMENSION(A2D(0)) :: zeta_u ! stability parameter at height zu + REAL(wp), DIMENSION(A2D(0)) :: ztmp0, ztmp1, ztmp2 !!---------------------------------------------------------------------------------- nbit = nb_iter0 IF( PRESENT(nb_iter) ) nbit = nb_iter @@ -119,7 +119,7 @@ CONTAINS !! Neutral coefficients at 10m: IF( ln_cdgw ) THEN ! wave drag case - cdn_wave(:,:) = cdn_wave(:,:) + rsmall * ( 1._wp - tmask(:,:,1) ) + cdn_wave(:,:) = cdn_wave(:,:) + rsmall * ( 1._wp - smask0(:,:) ) zCdN (:,:) = cdn_wave(:,:) ELSE zCdN = cd_n10_ncar( Ubzu ) @@ -231,14 +231,14 @@ CONTAINS !! !! ** Author: L. Brodeau, june 2016 / AeroBulk (https://github.com/brodeau/aerobulk/) !!---------------------------------------------------------------------------------- - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pw10 ! scalar wind speed at 10m (m/s) - REAL(wp), DIMENSION(jpi,jpj) :: cd_n10_ncar + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pw10 ! scalar wind speed at 10m (m/s) + REAL(wp), DIMENSION(A2D(0)) :: cd_n10_ncar ! INTEGER :: ji, jj ! dummy loop indices REAL(wp) :: zgt33, zw, zw6 ! local scalars !!---------------------------------------------------------------------------------- ! - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) ! zw = pw10(ji,jj) zw6 = zw*zw*zw @@ -264,9 +264,9 @@ CONTAINS !! Origin: Large & Yeager 2008, Eq. (9) and (12) !!---------------------------------------------------------------------------------- - REAL(wp), DIMENSION(jpi,jpj) :: ch_n10_ncar - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: psqrtcdn10 ! sqrt( CdN10 ) - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pstab ! stable ABL => 1 / unstable ABL => 0 + REAL(wp), DIMENSION(A2D(0)) :: ch_n10_ncar + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: psqrtcdn10 ! sqrt( CdN10 ) + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pstab ! stable ABL => 1 / unstable ABL => 0 !!---------------------------------------------------------------------------------- IF( ANY(pstab < -0.00001) .OR. ANY(pstab > 1.00001) ) THEN PRINT *, 'ERROR: ch_n10_ncar@mod_blk_ncar.f90: pstab =' @@ -283,8 +283,8 @@ CONTAINS !! Estimate of the neutral heat transfer coefficient at 10m !! !! Origin: Large & Yeager 2008, Eq. (9) and (13) !!---------------------------------------------------------------------------------- - REAL(wp), DIMENSION(jpi,jpj) :: ce_n10_ncar - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: psqrtcdn10 ! sqrt( CdN10 ) + REAL(wp), DIMENSION(A2D(0)) :: ce_n10_ncar + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: psqrtcdn10 ! sqrt( CdN10 ) !!---------------------------------------------------------------------------------- ce_n10_ncar = MAX( 1.e-3_wp * ( 34.6_wp * psqrtcdn10 ) , Cx_min ) ! @@ -301,13 +301,13 @@ CONTAINS !! !! ** Author: L. Brodeau, June 2016 / AeroBulk (https://github.com/brodeau/aerobulk/) !!---------------------------------------------------------------------------------- - REAL(wp), DIMENSION(jpi,jpj) :: psi_m_ncar - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pzeta + REAL(wp), DIMENSION(A2D(0)) :: psi_m_ncar + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pzeta ! INTEGER :: ji, jj ! dummy loop indices REAL(wp) :: zta, zx2, zx, zpsi_unst, zpsi_stab, zstab ! local scalars !!---------------------------------------------------------------------------------- - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) zta = pzeta(ji,jj) ! zx2 = SQRT( ABS(1._wp - 16._wp*zta) ) ! (1 - 16z)^0.5 @@ -339,14 +339,14 @@ CONTAINS !! !! ** Author: L. Brodeau, June 2016 / AeroBulk (https://github.com/brodeau/aerobulk/) !!---------------------------------------------------------------------------------- - REAL(wp), DIMENSION(jpi,jpj) :: psi_h_ncar - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pzeta + REAL(wp), DIMENSION(A2D(0)) :: psi_h_ncar + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pzeta ! INTEGER :: ji, jj ! dummy loop indices REAL(wp) :: zta, zx2, zpsi_unst, zpsi_stab, zstab ! local scalars !!---------------------------------------------------------------------------------- ! - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) ! zta = pzeta(ji,jj) ! diff --git a/src/OCE/SBC/sbcblk_skin_coare.F90 b/src/OCE/SBC/sbcblk_skin_coare.F90 index 42720bd93..ddd6af7f2 100644 --- a/src/OCE/SBC/sbcblk_skin_coare.F90 +++ b/src/OCE/SBC/sbcblk_skin_coare.F90 @@ -79,16 +79,16 @@ CONTAINS !! *pSST* bulk SST (taken at depth gdept_1d(1)) [K] !! *pQlat* surface latent heat flux [K] !!------------------------------------------------------------------ - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pQsw ! net solar a.k.a shortwave radiation into the ocean (after albedo) [W/m^2] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pQnsol ! non-solar heat flux to the ocean [W/m^2] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pustar ! friction velocity, temperature and humidity (u*,t*,q*) - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pSST ! bulk SST [K] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pQlat ! latent heat flux [W/m^2] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pQsw ! net solar a.k.a shortwave radiation into the ocean (after albedo) [W/m^2] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pQnsol ! non-solar heat flux to the ocean [W/m^2] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pustar ! friction velocity, temperature and humidity (u*,t*,q*) + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pSST ! bulk SST [K] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pQlat ! latent heat flux [W/m^2] !!--------------------------------------------------------------------- INTEGER :: ji, jj, jc REAL(wp) :: zQabs, zdlt, zfr, zalfa, zqlat, zus !!--------------------------------------------------------------------- - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) zQabs = pQnsol(ji,jj) ! first guess of heat flux absorbed within the viscous sublayer of thicknes delta, ! ! => we DO not miss a lot assuming 0 solar flux absorbed in the tiny layer of thicknes zdlt... @@ -129,11 +129,11 @@ CONTAINS !! *pSST* bulk SST (taken at depth gdept_1d(1)) [K] !! *iwait* if /= 0 then wait before updating accumulated fluxes, we are within a converging itteration loop... !!--------------------------------------------------------------------- - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pQsw ! surface net solar radiation into the ocean [W/m^2] => >= 0 ! - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pQnsol ! surface net non-solar heat flux into the ocean [W/m^2] => normally < 0 ! - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pTau ! wind stress [N/m^2] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pSST ! bulk SST at depth gdept_1d(1) [K] - INTEGER , INTENT(in) :: iwait ! if /= 0 then wait before updating accumulated fluxes + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pQsw ! surface net solar radiation into the ocean [W/m^2] => >= 0 ! + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pQnsol ! surface net non-solar heat flux into the ocean [W/m^2] => normally < 0 ! + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pTau ! wind stress [N/m^2] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pSST ! bulk SST at depth gdept_1d(1) [K] + INTEGER , INTENT(in) :: iwait ! if /= 0 then wait before updating accumulated fluxes !! INTEGER :: ji,jj ! @@ -155,7 +155,7 @@ CONTAINS ztime = REAL(nsec_day,wp)/(24._wp*3600._wp) ! time of current time step since 00:00 for current day (UTC) -> ztime = 0 -> 00:00 / ztime = 0.5 -> 12:00 ... - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) l_exit = .FALSE. l_destroy_wl = .FALSE. diff --git a/src/OCE/SBC/sbcblk_skin_ecmwf.F90 b/src/OCE/SBC/sbcblk_skin_ecmwf.F90 index 0f4cf8d5d..e38437168 100644 --- a/src/OCE/SBC/sbcblk_skin_ecmwf.F90 +++ b/src/OCE/SBC/sbcblk_skin_ecmwf.F90 @@ -87,15 +87,15 @@ CONTAINS !! *pustar* friction velocity u* [m/s] !! *pSST* bulk SST (taken at depth gdept_1d(1)) [K] !!------------------------------------------------------------------ - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pQsw ! net solar a.k.a shortwave radiation into the ocean (after albedo) [W/m^2] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pQnsol ! non-solar heat flux to the ocean [W/m^2] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pustar ! friction velocity, temperature and humidity (u*,t*,q*) - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pSST ! bulk SST [K] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pQsw ! net solar a.k.a shortwave radiation into the ocean (after albedo) [W/m^2] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pQnsol ! non-solar heat flux to the ocean [W/m^2] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pustar ! friction velocity, temperature and humidity (u*,t*,q*) + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pSST ! bulk SST [K] !!--------------------------------------------------------------------- INTEGER :: ji, jj, jc REAL(wp) :: zQabs, zdlt, zfr, zalfa, zus !!--------------------------------------------------------------------- - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) zQabs = pQnsol(ji,jj) ! first guess of heat flux absorbed within the viscous sublayer of thicknes delta, ! ! => we DO not miss a lot assuming 0 solar flux absorbed in the tiny layer of thicknes zdlt... @@ -147,12 +147,12 @@ CONTAINS !! *pustar* friction velocity u* [m/s] !! *pSST* bulk SST (taken at depth gdept_1d(1)) [K] !!------------------------------------------------------------------ - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pQsw ! surface net solar radiation into the ocean [W/m^2] => >= 0 ! - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pQnsol ! surface net non-solar heat flux into the ocean [W/m^2] => normally < 0 ! - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pustar ! friction velocity [m/s] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pSST ! bulk SST at depth gdept_1d(1) [K] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pQsw ! surface net solar radiation into the ocean [W/m^2] => >= 0 ! + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pQnsol ! surface net non-solar heat flux into the ocean [W/m^2] => normally < 0 ! + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pustar ! friction velocity [m/s] + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pSST ! bulk SST at depth gdept_1d(1) [K] !! - REAL(wp), DIMENSION(jpi,jpj), OPTIONAL, INTENT(in) :: pustk ! surface Stokes velocity [m/s] + REAL(wp), DIMENSION(A2D(0)), OPTIONAL, INTENT(in) :: pustk ! surface Stokes velocity [m/s] ! INTEGER :: ji, jj, jc ! @@ -173,7 +173,7 @@ CONTAINS l_pustk_known = .FALSE. IF( PRESENT(pustk) ) l_pustk_known = .TRUE. - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) zHwl = Hz_wl(ji,jj) ! first guess for warm-layer depth (and unique..., less advanced than COARE3p6 !) ! it is = rd0 (3m) in default Zeng & Beljaars case... diff --git a/src/OCE/SBC/sbcclo.F90 b/src/OCE/SBC/sbcclo.F90 index ba956f5e3..1f48db25b 100644 --- a/src/OCE/SBC/sbcclo.F90 +++ b/src/OCE/SBC/sbcclo.F90 @@ -44,6 +44,8 @@ MODULE sbcclo ! INTEGER, SAVE, ALLOCATABLE, DIMENSION(:) :: mcsgrpg, mcsgrpr, mcsgrpe !: closed sea group for glo, rnf and emp ! + !! * Substitutions +# include "do_loop_substitute.h90" CONTAINS ! !!---------------------------------------------------------------------- @@ -120,8 +122,8 @@ MODULE sbcclo CALL iom_put('qclosea',zqcs) ! ! 3. update emp and qns - emp(:,:) = emp(:,:) + zwcs(:,:) - qns(:,:) = qns(:,:) + zqcs(:,:) + emp(A2D(0)) = emp(A2D(0)) + zwcs(A2D(0)) + qns(:,:) = qns(:,:) + zqcs(A2D(0)) ! END SUBROUTINE sbc_clo ! @@ -289,7 +291,7 @@ MODULE sbcclo !! 1. Work out net freshwater over the closed sea from EMP - RNF. !! Work out net heat associated with the correction (needed for conservation) !! (PM: should we consider used delayed glob sum ?) - zcsfw = glob_sum( 'closea', e1e2t(:,:) * ( emp(:,:)-rnf(:,:) ) * imsk_src(:,:) ) + zcsfw = glob_sum( 'closea', e1e2t(A2D(0)) * ( emp(A2D(0))-rnf(A2D(0)) ) * imsk_src(A2D(0)) ) ! !! 2. Deal with runoff special case (net evaporation spread globally) !! and compute trg mask diff --git a/src/OCE/SBC/sbccpl.F90 b/src/OCE/SBC/sbccpl.F90 index 64d77b504..dcb56415d 100644 --- a/src/OCE/SBC/sbccpl.F90 +++ b/src/OCE/SBC/sbccpl.F90 @@ -65,6 +65,7 @@ MODULE sbccpl PUBLIC sbc_cpl_ice_flx ! routine called by icestp.F90 PUBLIC sbc_cpl_alloc ! routine called in sbcice_cice.F90 + !! received fields are only in the interior (without halos) INTEGER, PARAMETER :: jpr_otx1 = 1 ! 3 atmosphere-ocean stress components on grid 1 INTEGER, PARAMETER :: jpr_oty1 = 2 ! INTEGER, PARAMETER :: jpr_otz1 = 3 ! @@ -131,7 +132,8 @@ MODULE sbccpl INTEGER, PARAMETER :: jpr_qtrice = 63 ! Transmitted solar thru sea-ice INTEGER, PARAMETER :: jprcv = 63 ! total number of fields received - + + !! sent fields are only in the interior (without halos) INTEGER, PARAMETER :: jps_fice = 1 ! ice fraction sent to the atmosphere INTEGER, PARAMETER :: jps_toce = 2 ! ocean temperature INTEGER, PARAMETER :: jps_tice = 3 ! ice temperature @@ -238,12 +240,12 @@ CONTAINS !!---------------------------------------------------------------------- ierr(:) = 0 ! - ALLOCATE( alb_oce_mix(jpi,jpj), nrcvinfo(jprcv), STAT=ierr(1) ) + ALLOCATE( alb_oce_mix(A2D(0)), nrcvinfo(jprcv), STAT=ierr(1) ) #if ! defined key_si3 && ! defined key_cice ALLOCATE( a_i(jpi,jpj,1) , STAT=ierr(2) ) ! used in sbcice_if.F90 (done here as there is no sbc_ice_if_init) #endif - ALLOCATE( xcplmask(jpi,jpj,0:nn_cplmodel) , STAT=ierr(3) ) + ALLOCATE( xcplmask(A2D(0),0:nn_cplmodel) , STAT=ierr(3) ) ! IF( .NOT. ln_apr_dyn ) ALLOCATE( ssh_ib(jpi,jpj), ssh_ibb(jpi,jpj), apr(jpi, jpj), STAT=ierr(4) ) @@ -270,7 +272,7 @@ CONTAINS ! INTEGER :: jn ! dummy loop index INTEGER :: ios, inum ! Local integer - REAL(wp), DIMENSION(jpi,jpj) :: zacs, zaos + REAL(wp), DIMENSION(A2D(0)) :: zacs, zaos !! NAMELIST/namsbc_cpl/ nn_cplmodel , ln_usecplmask, nn_cats_cpl , ln_scale_ice_flux, & & sn_snd_temp , sn_snd_alb , sn_snd_thick, sn_snd_crt , sn_snd_co2 , & @@ -739,19 +741,19 @@ CONTAINS ! Allocate all parts of frcv used for received fields ! ! =================================================== ! DO jn = 1, jprcv - IF( srcv(jn)%laction ) ALLOCATE( frcv(jn)%z3(jpi,jpj,srcv(jn)%nct) ) + IF( srcv(jn)%laction ) ALLOCATE( frcv(jn)%z3(A2D(0),srcv(jn)%nct) ) END DO ! Allocate taum part of frcv which is used even when not received as coupling field - IF( .NOT. srcv(jpr_taum)%laction ) ALLOCATE( frcv(jpr_taum)%z3(jpi,jpj,srcv(jpr_taum)%nct) ) + IF( .NOT. srcv(jpr_taum)%laction ) ALLOCATE( frcv(jpr_taum)%z3(A2D(0),srcv(jpr_taum)%nct) ) ! Allocate w10m part of frcv which is used even when not received as coupling field - IF( .NOT. srcv(jpr_w10m)%laction ) ALLOCATE( frcv(jpr_w10m)%z3(jpi,jpj,srcv(jpr_w10m)%nct) ) + IF( .NOT. srcv(jpr_w10m)%laction ) ALLOCATE( frcv(jpr_w10m)%z3(A2D(0),srcv(jpr_w10m)%nct) ) ! Allocate jpr_otx1 part of frcv which is used even when not received as coupling field - IF( .NOT. srcv(jpr_otx1)%laction ) ALLOCATE( frcv(jpr_otx1)%z3(jpi,jpj,srcv(jpr_otx1)%nct) ) - IF( .NOT. srcv(jpr_oty1)%laction ) ALLOCATE( frcv(jpr_oty1)%z3(jpi,jpj,srcv(jpr_oty1)%nct) ) + IF( .NOT. srcv(jpr_otx1)%laction ) ALLOCATE( frcv(jpr_otx1)%z3(A2D(0),srcv(jpr_otx1)%nct) ) + IF( .NOT. srcv(jpr_oty1)%laction ) ALLOCATE( frcv(jpr_oty1)%z3(A2D(0),srcv(jpr_oty1)%nct) ) ! Allocate itx1 and ity1 as they are used in sbc_cpl_ice_tau even if srcv(jpr_itx1)%laction = .FALSE. IF( k_ice /= 0 ) THEN - IF( .NOT. srcv(jpr_itx1)%laction ) ALLOCATE( frcv(jpr_itx1)%z3(jpi,jpj,srcv(jpr_itx1)%nct) ) - IF( .NOT. srcv(jpr_ity1)%laction ) ALLOCATE( frcv(jpr_ity1)%z3(jpi,jpj,srcv(jpr_ity1)%nct) ) + IF( .NOT. srcv(jpr_itx1)%laction ) ALLOCATE( frcv(jpr_itx1)%z3(A2D(0),srcv(jpr_itx1)%nct) ) + IF( .NOT. srcv(jpr_ity1)%laction ) ALLOCATE( frcv(jpr_ity1)%z3(A2D(0),srcv(jpr_ity1)%nct) ) ENDIF ! ================================ ! @@ -1051,15 +1053,14 @@ CONTAINS IF(ln_usecplmask) THEN xcplmask(:,:,:) = 0. CALL iom_open( 'cplmask', inum ) - CALL iom_get( inum, jpdom_unknown, 'cplmask', xcplmask(1:jpi,1:jpj,1:nn_cplmodel), & - & kstart = (/ mig(1,nn_hls),mjg(1,nn_hls),1 /), kcount = (/ jpi,jpj,nn_cplmodel /) ) + CALL iom_get( inum, jpdom_unknown, 'cplmask', xcplmask(:,:,1:nn_cplmodel), & + & kstart = (/ mig(Nis0,0),mjg(Njs0,0),1 /), kcount = (/ Ni_0,Nj_0,nn_cplmodel /) ) CALL iom_close( inum ) ELSE xcplmask(:,:,:) = 1. ENDIF xcplmask(:,:,0) = 1. - SUM( xcplmask(:,:,1:nn_cplmodel), dim = 3 ) ! - ! END SUBROUTINE sbc_cpl_init @@ -1124,7 +1125,8 @@ CONTAINS REAL(wp) :: zcdrag = 1.5e-3 ! drag coefficient REAL(wp) :: zzx, zzy ! temporary variables REAL(wp) :: r1_grau ! = 1.e0 / (grav * rho0) - REAL(wp), DIMENSION(jpi,jpj) :: ztx, zty, zmsk, zemp, zqns, zqsr, zcloud_fra + REAL(wp), DIMENSION(A2D(0)) :: ztx, zty, zmsk, zemp + REAL(wp), DIMENSION(A2D(0)) :: zqns, zqsr, zcloud_fra !!---------------------------------------------------------------------- ! IF( kt == nit000 ) THEN @@ -1139,7 +1141,7 @@ CONTAINS ENDIF ENDIF ! - IF( ln_mixcpl ) zmsk(:,:) = 1. - xcplmask(:,:,0) + IF( ln_mixcpl ) zmsk (:,:) = 1. - xcplmask (:,:,0) ! ! ! ======================================================= ! ! ! Receive all the atmos. fields (including ice information) @@ -1191,9 +1193,11 @@ CONTAINS IF( .NOT. srcv(jpr_taum)%laction ) THEN ! compute wind stress module from its components if not received ! => need to be done only when otx1 was changed IF( llnewtx ) THEN - zzx = frcv(jpr_otx1)%z3(ji,jj,1) - zzy = frcv(jpr_oty1)%z3(ji,jj,1) - frcv(jpr_taum)%z3(ji,jj,1) = 0.5 * SQRT( zzx * zzx + zzy * zzy ) + DO_2D( 0, 0, 0, 0 ) + zzx = frcv(jpr_otx1)%z3(ji,jj,1) + zzy = frcv(jpr_oty1)%z3(ji,jj,1) + frcv(jpr_taum)%z3(ji,jj,1) = 0.5 * SQRT( zzx * zzx + zzy * zzy ) + END_2D llnewtau = .TRUE. ELSE llnewtau = .FALSE. @@ -1202,7 +1206,7 @@ CONTAINS llnewtau = nrcvinfo(jpr_taum) == OASIS_Rcv ! Stress module can be negative when received (interpolation problem) IF( llnewtau ) THEN - frcv(jpr_taum)%z3(:,:,1) = MAX( 0._wp, frcv(jpr_taum)%z3(:,:,1) ) + frcv(jpr_taum)%z3(A2D(0),1) = MAX( 0._wp, frcv(jpr_taum)%z3(A2D(0),1) ) ENDIF ENDIF ! @@ -1213,7 +1217,7 @@ CONTAINS ! => need to be done only when taumod was changed IF( llnewtau ) THEN zcoef = 1. / ( zrhoa * zcdrag ) - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) frcv(jpr_w10m)%z3(ji,jj,1) = SQRT( frcv(jpr_taum)%z3(ji,jj,1) * zcoef ) END_2D ENDIF @@ -1221,7 +1225,7 @@ CONTAINS !!$ ! ! ========================= ! !!$ SELECT CASE( TRIM( sn_rcv_clouds%cldes ) ) ! cloud fraction ! !!$ ! ! ========================= ! -!!$ cloud_fra(:,:) = frcv(jpr_clfra)*z3(:,:,1) +!!$ cloud_fra(:,:) = frcv(jpr_clfra)*z3(A2D(0),1) !!$ END SELECT !!$ zcloud_fra(:,:) = pp_cldf ! should be real cloud fraction instead (as in the bulk) but needs to be read from atm. @@ -1259,13 +1263,14 @@ CONTAINS ! ! Mean Sea Level Pressure ! (taum) ! ! ========================= ! IF( srcv(jpr_mslp)%laction ) THEN ! UKMO SHELF effect of atmospheric pressure on SSH - IF( kt /= nit000 ) ssh_ibb(:,:) = ssh_ib(:,:) !* Swap of ssh_ib fields + IF( kt /= nit000 ) ssh_ibb(A2D(0)) = ssh_ib(A2D(0)) !* Swap of ssh_ib fields r1_grau = 1.e0 / (grav * rho0) !* constant for optimization - ssh_ib(:,:) = - ( frcv(jpr_mslp)%z3(:,:,1) - rpref ) * r1_grau ! equivalent ssh (inverse barometer) - apr (:,:) = frcv(jpr_mslp)%z3(:,:,1) !atmospheric pressure + ssh_ib(A2D(0)) = - ( frcv(jpr_mslp)%z3(:,:,1) - rpref ) * r1_grau ! equivalent ssh (inverse barometer) + apr (A2D(0)) = frcv(jpr_mslp)%z3(:,:,1) !atmospheric pressure - IF( kt == nit000 ) ssh_ibb(:,:) = ssh_ib(:,:) ! correct this later (read from restart if possible) + IF( kt == nit000 ) ssh_ibb(A2D(0)) = ssh_ib(A2D(0)) ! correct this later (read from restart if possible) + CALL lbc_lnk( 'sbccpl', ssh_ib, 'T', 1.0_wp, ssh_ibb, 'T', 1.0_wp ) ENDIF ! IF( ln_sdw ) THEN ! Stokes Drift correction activated @@ -1361,30 +1366,33 @@ CONTAINS ! ! SST ! ! ! ================== ! IF( srcv(jpr_toce)%laction ) THEN ! received by sas in case of opa <-> sas coupling - sst_m(:,:) = frcv(jpr_toce)%z3(:,:,1) + sst_m(A2D(0)) = frcv(jpr_toce)%z3(:,:,1) IF( srcv(jpr_soce)%laction .AND. l_useCT ) THEN ! make sure that sst_m is the potential temperature - sst_m(:,:) = eos_pt_from_ct( sst_m(:,:), sss_m(:,:) ) + sst_m(A2D(0)) = eos_pt_from_ct( sst_m(A2D(0)), sss_m(A2D(0)) ) ENDIF + CALL iom_put( 'sst_m', sst_m ) ENDIF ! ! ================== ! ! ! SSH ! ! ! ================== ! IF( srcv(jpr_ssh )%laction ) THEN ! received by sas in case of opa <-> sas coupling - ssh_m(:,:) = frcv(jpr_ssh )%z3(:,:,1) + ssh_m(A2D(0)) = frcv(jpr_ssh )%z3(:,:,1) CALL iom_put( 'ssh_m', ssh_m ) ENDIF ! ! ================== ! ! ! surface currents ! ! ! ================== ! IF( srcv(jpr_ocx1)%laction ) THEN ! received by sas in case of opa <-> sas coupling - ssu_m(:,:) = frcv(jpr_ocx1)%z3(:,:,1) - uu(:,:,1,Kbb) = ssu_m(:,:) ! will be used in icestp in the call of ice_forcing_tau + ssu_m(A2D(0)) = frcv(jpr_ocx1)%z3(:,:,1) + CALL lbc_lnk( 'sbccpl', ssu_m, 'U', -1.0_wp ) + uu(:,:,1,Kbb) = ssu_m(:,:) ! will be used in icestp in the call of ice_update_tau uu(:,:,1,Kmm) = ssu_m(:,:) ! will be used in sbc_cpl_snd if atmosphere coupling CALL iom_put( 'ssu_m', ssu_m ) ENDIF IF( srcv(jpr_ocy1)%laction ) THEN - ssv_m(:,:) = frcv(jpr_ocy1)%z3(:,:,1) - vv(:,:,1,Kbb) = ssv_m(:,:) ! will be used in icestp in the call of ice_forcing_tau + ssv_m(A2D(0)) = frcv(jpr_ocy1)%z3(:,:,1) + CALL lbc_lnk( 'sbccpl', ssv_m, 'V', -1.0_wp ) + vv(:,:,1,Kbb) = ssv_m(:,:) ! will be used in icestp in the call of ice_update_tau vv(:,:,1,Kmm) = ssv_m(:,:) ! will be used in sbc_cpl_snd if atmosphere coupling CALL iom_put( 'ssv_m', ssv_m ) ENDIF @@ -1392,14 +1400,14 @@ CONTAINS ! ! first T level thickness ! ! ! ======================== ! IF( srcv(jpr_e3t1st )%laction ) THEN ! received by sas in case of opa <-> sas coupling - e3t_m(:,:) = frcv(jpr_e3t1st )%z3(:,:,1) - CALL iom_put( 'e3t_m', e3t_m(:,:) ) + e3t_m(A2D(0)) = frcv(jpr_e3t1st )%z3(:,:,1) + CALL iom_put( 'e3t_m', e3t_m ) ENDIF ! ! ================================ ! ! ! fraction of solar net radiation ! ! ! ================================ ! IF( srcv(jpr_fraqsr)%laction ) THEN ! received by sas in case of opa <-> sas coupling - frq_m(:,:) = frcv(jpr_fraqsr)%z3(:,:,1) + frq_m(A2D(0)) = frcv(jpr_fraqsr)%z3(:,:,1) CALL iom_put( 'frq_m', frq_m ) ENDIF @@ -1422,21 +1430,21 @@ CONTAINS ENDIF ! ! ! runoffs and calving (added in emp) - IF( srcv(jpr_rnf)%laction ) rnf(:,:) = frcv(jpr_rnf)%z3(:,:,1) + IF( srcv(jpr_rnf)%laction ) rnf(A2D(0)) = frcv(jpr_rnf)%z3(:,:,1) IF( srcv(jpr_cal)%laction ) zemp(:,:) = zemp(:,:) - frcv(jpr_cal)%z3(:,:,1) IF( srcv(jpr_icb)%laction ) THEN - fwficb(:,:) = frcv(jpr_icb)%z3(:,:,1) - rnf(:,:) = rnf(:,:) + fwficb(:,:) ! iceberg added to runfofs + fwficb(A2D(0)) = frcv(jpr_icb)%z3(:,:,1) + rnf (A2D(0)) = rnf(A2D(0)) + fwficb(A2D(0)) ! iceberg added to runfofs ENDIF ! ! ice shelf fwf IF( srcv(jpr_isf)%laction ) THEN - fwfisf_oasis(:,:) = frcv(jpr_isf)%z3(:,:,1) ! fresh water flux from the isf to the ocean ( > 0 = melting ) + fwfisf_oasis(A2D(0)) = frcv(jpr_isf)%z3(:,:,1) ! fresh water flux from the isf to the ocean ( > 0 = melting ) END IF - IF( ln_mixcpl ) THEN ; emp(:,:) = emp(:,:) * xcplmask(:,:,0) + zemp(:,:) * zmsk(:,:) - ELSE ; emp(:,:) = zemp(:,:) + IF( ln_mixcpl ) THEN ; emp(A2D(0)) = emp(A2D(0)) * xcplmask(:,:,0) + zemp(:,:) * zmsk(:,:) + ELSE ; emp(A2D(0)) = zemp(:,:) ENDIF ! ! ! non solar heat flux over the ocean (qns) @@ -1446,7 +1454,7 @@ CONTAINS ENDIF ! update qns over the free ocean with: IF( nn_components /= jp_iam_oce ) THEN - zqns(:,:) = zqns(:,:) - zemp(:,:) * sst_m(:,:) * rcp ! remove heat content due to mass flux (assumed to be at SST) + zqns(:,:) = zqns(:,:) - zemp(:,:) * sst_m(A2D(0)) * rcp ! remove heat content due to mass flux (assumed to be at SST) IF( srcv(jpr_snow )%laction ) THEN zqns(:,:) = zqns(:,:) - frcv(jpr_snow)%z3(:,:,1) * rLfus ! energy for melting solid precipitation over the free ocean ENDIF @@ -1509,13 +1517,13 @@ CONTAINS !! !! ** Action : return ptau_i, ptau_j, the stress over the ice !!---------------------------------------------------------------------- - REAL(wp), INTENT(inout), DIMENSION(:,:) :: p_taui ! i- & j-components of atmos-ice stress [N/m2] - REAL(wp), INTENT(inout), DIMENSION(:,:) :: p_tauj ! at T-point + REAL(wp), INTENT(inout), DIMENSION(A2D(0)) :: p_taui ! i- & j-components of atmos-ice stress [N/m2] + REAL(wp), INTENT(inout), DIMENSION(A2D(0)) :: p_tauj ! at T-point !! INTEGER :: ji, jj ! dummy loop indices INTEGER :: itx ! index of taux over ice - REAL(wp) :: zztmp1, zztmp2 - REAL(wp), DIMENSION(jpi,jpj) :: ztx, zty + REAL(wp) :: zztmp1, zztmp2 + REAL(wp), DIMENSION(A2D(0)) :: ztx, zty !!---------------------------------------------------------------------- ! #if defined key_si3 || defined key_cice @@ -1622,22 +1630,23 @@ CONTAINS !! dqns_ice d(non-solar heat flux)/d(Temperature) over the ice !! sprecip solid precipitation over the ocean !!---------------------------------------------------------------------- - INTEGER, INTENT(in) :: kt ! ocean model time step index (only for a_i_last_couple) - REAL(wp), INTENT(in) , DIMENSION(:,:) :: picefr ! ice fraction [0 to 1] - ! !! ! optional arguments, used only in 'mixed oce-ice' case or for Met-Office coupling - REAL(wp), INTENT(in) , DIMENSION(:,:,:), OPTIONAL :: palbi ! all skies ice albedo - REAL(wp), INTENT(in) , DIMENSION(:,: ), OPTIONAL :: psst ! sea surface temperature [Celsius] - REAL(wp), INTENT(inout), DIMENSION(:,:,:), OPTIONAL :: pist ! ice surface temperature [Kelvin] => inout for Met-Office - REAL(wp), INTENT(in) , DIMENSION(:,:,:), OPTIONAL :: phs ! snow depth [m] - REAL(wp), INTENT(in) , DIMENSION(:,:,:), OPTIONAL :: phi ! ice thickness [m] + INTEGER, INTENT(in) :: kt ! ocean model time step index (only for a_i_last_couple) + REAL(wp), INTENT(in) , DIMENSION(A2D(0)) :: picefr ! ice fraction [0 to 1] + ! !! optional arguments, used only in 'mixed oce-ice' case or for Met-Office coupling + REAL(wp), INTENT(in) , DIMENSION(A2D(0),jpl), OPTIONAL :: palbi ! all skies ice albedo + REAL(wp), INTENT(in) , DIMENSION(A2D(0) ), OPTIONAL :: psst ! sea surface temperature [Celsius] + REAL(wp), INTENT(inout), DIMENSION(A2D(0),jpl), OPTIONAL :: pist ! ice surface temperature [Kelvin] => inout for Met-Office + REAL(wp), INTENT(in) , DIMENSION(A2D(0),jpl), OPTIONAL :: phs ! snow depth [m] + REAL(wp), INTENT(in) , DIMENSION(A2D(0),jpl), OPTIONAL :: phi ! ice thickness [m] ! INTEGER :: ji, jj, jl ! dummy loop index - REAL(wp), DIMENSION(jpi,jpj) :: zcptn, zcptrain, zcptsnw, ziceld, zmsk, zsnw - REAL(wp), DIMENSION(jpi,jpj) :: zemp_tot, zemp_ice, zemp_oce, ztprecip, zsprecip , zevap_oce, zdevap_ice - REAL(wp), DIMENSION(jpi,jpj) :: zqns_tot, zqns_oce, zqsr_tot, zqsr_oce, zqprec_ice, zqemp_oce, zqemp_ice - REAL(wp), DIMENSION(jpi,jpj) :: zevap_ice_total - REAL(wp), DIMENSION(jpi,jpj,jpl) :: zqns_ice, zqsr_ice, zdqns_ice, zqevap_ice, zevap_ice, zqtr_ice_top, ztsu - REAL(wp), DIMENSION(jpi,jpj) :: ztri + REAL(wp), DIMENSION(A2D(0)) :: zcptn, zcptrain, zcptsnw, ziceld, zmsk, zsnw + REAL(wp), DIMENSION(A2D(0)) :: zemp_tot, zemp_ice, zemp_oce, ztprecip, zsprecip , zevap_oce, zdevap_ice + REAL(wp), DIMENSION(A2D(0)) :: zqns_tot, zqns_oce, zqsr_tot, zqsr_oce, zqprec_ice, zqemp_oce, zqemp_ice + REAL(wp), DIMENSION(A2D(0)) :: zevap_ice_total + REAL(wp), DIMENSION(A2D(0)) :: ztri + REAL(wp), DIMENSION(A2D(0),jpl) :: zqns_ice, zqsr_ice, zdqns_ice, zqevap_ice, zevap_ice, zqtr_ice_top + REAL(wp), DIMENSION(A2D(0),jpl) :: ztsu !!---------------------------------------------------------------------- ! #if defined key_si3 || defined key_cice @@ -1651,7 +1660,7 @@ CONTAINS ! IF( ln_mixcpl ) zmsk(:,:) = 1. - xcplmask(:,:,0) ziceld(:,:) = 1._wp - picefr(:,:) - zcptn (:,:) = rcp * sst_m(:,:) + zcptn (:,:) = rcp * sst_m(A2D(0)) ! ! ! ========================= ! ! ! freshwater budget ! (emp_tot) @@ -1663,9 +1672,9 @@ CONTAINS ! ! sublimation - solid precipitation (cell average) (emp_ice) SELECT CASE( TRIM( sn_rcv_emp%cldes ) ) CASE( 'conservative' ) ! received fields: jpr_rain, jpr_snow, jpr_ievp, jpr_tevp - zsprecip(:,:) = frcv(jpr_snow)%z3(:,:,1) ! May need to ensure positive here - ztprecip(:,:) = frcv(jpr_rain)%z3(:,:,1) + zsprecip(:,:) ! May need to ensure positive here - zemp_tot(:,:) = frcv(jpr_tevp)%z3(:,:,1) - ztprecip(:,:) + zsprecip(:,:) = frcv(jpr_snow)%z3(:,:,1) ! May need to ensure positive here + ztprecip(:,:) = frcv(jpr_rain)%z3(:,:,1) + zsprecip(:,:) ! May need to ensure positive here + zemp_tot(:,:) = frcv(jpr_tevp)%z3(:,:,1) - ztprecip(:,:) CASE( 'oce and ice' ) ! received fields: jpr_sbpr, jpr_semp, jpr_oemp, jpr_ievp zemp_tot(:,:) = ziceld(:,:) * frcv(jpr_oemp)%z3(:,:,1) + picefr(:,:) * frcv(jpr_sbpr)%z3(:,:,1) zemp_ice(:,:) = frcv(jpr_semp)%z3(:,:,1) * picefr(:,:) @@ -1679,15 +1688,17 @@ CONTAINS ! --- evaporation over ice (kg/m2/s) --- ! IF( ln_scale_ice_flux ) THEN ! typically met-office requirements IF( sn_rcv_emp%clcat == 'yes' ) THEN - WHERE( a_i(:,:,:) > 1.e-10 ) ; zevap_ice(:,:,:) = frcv(jpr_ievp)%z3(:,:,:) * a_i_last_couple(:,:,:) / a_i(:,:,:) - ELSEWHERE ; zevap_ice(:,:,:) = 0._wp + WHERE( a_i(A2D(0),:) > 1.e-10 ) ; zevap_ice(:,:,:) = frcv(jpr_ievp)%z3(:,:,:) * & + & a_i_last_couple(A2D(0),:) / a_i(A2D(0),:) + ELSEWHERE ; zevap_ice(:,:,:) = 0._wp END WHERE - WHERE( picefr(:,:) > 1.e-10 ) ; zevap_ice_total(:,:) = SUM( zevap_ice(:,:,:) * a_i(:,:,:), dim=3 ) / picefr(:,:) - ELSEWHERE ; zevap_ice_total(:,:) = 0._wp + WHERE( picefr(:,:) > 1.e-10 ) ; zevap_ice_total(:,:) = SUM( zevap_ice(:,:,:) * a_i(A2D(0),:), dim=3 ) / picefr(:,:) + ELSEWHERE ; zevap_ice_total(:,:) = 0._wp END WHERE ELSE - WHERE( picefr(:,:) > 1.e-10 ) ; zevap_ice(:,:,1) = frcv(jpr_ievp)%z3(:,:,1) * SUM( a_i_last_couple, dim=3 ) / picefr(:,:) - ELSEWHERE ; zevap_ice(:,:,1) = 0._wp + WHERE( picefr(:,:) > 1.e-10 ) ; zevap_ice(:,:,1) = frcv(jpr_ievp)%z3(:,:,1) * & + & SUM( a_i_last_couple(A2D(0),:), dim=3 ) / picefr(:,:) + ELSEWHERE ; zevap_ice(:,:,1) = 0._wp END WHERE zevap_ice_total(:,:) = zevap_ice(:,:,1) DO jl = 2, jpl @@ -1697,7 +1708,7 @@ CONTAINS ELSE IF( sn_rcv_emp%clcat == 'yes' ) THEN zevap_ice(:,:,1:jpl) = frcv(jpr_ievp)%z3(:,:,1:jpl) - WHERE( picefr(:,:) > 1.e-10 ) ; zevap_ice_total(:,:) = SUM( zevap_ice(:,:,:) * a_i(:,:,:), dim=3 ) / picefr(:,:) + WHERE( picefr(:,:) > 1.e-10 ) ; zevap_ice_total(:,:) = SUM( zevap_ice(:,:,:) * a_i(A2D(0),:), dim=3 ) / picefr(:,:) ELSEWHERE ; zevap_ice_total(:,:) = 0._wp END WHERE ELSE @@ -1730,18 +1741,18 @@ CONTAINS ! --- Continental fluxes --- ! IF( srcv(jpr_rnf)%laction ) THEN ! runoffs (included in emp later on) - rnf(:,:) = frcv(jpr_rnf)%z3(:,:,1) + rnf(A2D(0)) = frcv(jpr_rnf)%z3(:,:,1) ENDIF IF( srcv(jpr_cal)%laction ) THEN ! calving (put in emp_tot and emp_oce) zemp_tot(:,:) = zemp_tot(:,:) - frcv(jpr_cal)%z3(:,:,1) zemp_oce(:,:) = zemp_oce(:,:) - frcv(jpr_cal)%z3(:,:,1) ENDIF IF( srcv(jpr_icb)%laction ) THEN ! iceberg added to runoffs - fwficb(:,:) = frcv(jpr_icb)%z3(:,:,1) - rnf(:,:) = rnf(:,:) + fwficb(:,:) + fwficb(A2D(0)) = frcv(jpr_icb)%z3(:,:,1) + rnf (A2D(0)) = rnf(A2D(0)) + fwficb(A2D(0)) ENDIF IF( srcv(jpr_isf)%laction ) THEN ! iceshelf (fwfisf > 0 mean melting) - fwfisf_oasis(:,:) = frcv(jpr_isf)%z3(:,:,1) + fwfisf_oasis(A2D(0)) = frcv(jpr_isf)%z3(:,:,1) ENDIF IF( ln_mixcpl ) THEN @@ -1796,17 +1807,17 @@ CONTAINS !!$ ENDIF ! ! outputs - IF( srcv(jpr_cal)%laction ) CALL iom_put( 'calving_cea' , frcv(jpr_cal)%z3(:,:,1) * tmask(:,:,1) ) ! calving - IF( srcv(jpr_icb)%laction ) CALL iom_put( 'iceberg_cea' , frcv(jpr_icb)%z3(:,:,1) * tmask(:,:,1) ) ! icebergs + IF( srcv(jpr_cal)%laction ) CALL iom_put( 'calving_cea' , frcv(jpr_cal)%z3(:,:,1) * tmask(A2D(0),1) ) ! calving + IF( srcv(jpr_icb)%laction ) CALL iom_put( 'iceberg_cea' , frcv(jpr_icb)%z3(:,:,1) * tmask(A2D(0),1) ) ! icebergs IF( iom_use('snowpre') ) CALL iom_put( 'snowpre' , sprecip(:,:) ) ! Snow IF( iom_use('precip') ) CALL iom_put( 'precip' , tprecip(:,:) ) ! total precipitation IF( iom_use('rain') ) CALL iom_put( 'rain' , tprecip(:,:) - sprecip(:,:) ) ! liquid precipitation IF( iom_use('snow_ao_cea') ) CALL iom_put( 'snow_ao_cea' , sprecip(:,:) * ( 1._wp - zsnw(:,:) ) ) ! Snow over ice-free ocean (cell average) IF( iom_use('snow_ai_cea') ) CALL iom_put( 'snow_ai_cea' , sprecip(:,:) * zsnw(:,:) ) ! Snow over sea-ice (cell average) IF( iom_use('rain_ao_cea') ) CALL iom_put( 'rain_ao_cea' , ( tprecip(:,:) - sprecip(:,:) ) * ziceld(:,:) ) ! liquid precipitation over ocean (cell average) - IF( iom_use('subl_ai_cea') ) CALL iom_put( 'subl_ai_cea' , zevap_ice_total(:,:) * picefr(:,:) * tmask(:,:,1) ) ! Sublimation over sea-ice (cell average) + IF( iom_use('subl_ai_cea') ) CALL iom_put( 'subl_ai_cea' , zevap_ice_total(:,:) * picefr(:,:) * smask0(:,:) ) ! Sublimation over sea-ice (cell average) IF( iom_use('evap_ao_cea') ) CALL iom_put( 'evap_ao_cea' , ( frcv(jpr_tevp)%z3(:,:,1) & - & - zevap_ice_total(:,:) * picefr(:,:) ) * tmask(:,:,1) ) ! ice-free oce evap (cell average) + & - zevap_ice_total(:,:) * picefr(:,:) ) * smask0(:,:) ) ! ice-free oce evap (cell average) ! note: runoff output is done in sbcrnf (which includes icebergs too) and iceshelf output is done in sbcisf !! IF( srcv(jpr_rnf)%laction ) CALL iom_put( 'runoffs' , rnf(:,:) * tmask(:,:,1) ) ! runoff !! IF( srcv(jpr_isf)%laction ) CALL iom_put( 'iceshelf_cea', fwfisf(:,:) * tmask(:,:,1) ) ! iceshelf @@ -1816,9 +1827,9 @@ CONTAINS ! ! ========================= ! CASE( 'coupled' ) IF( ln_scale_ice_flux ) THEN - WHERE( a_i(:,:,:) > 1.e-10_wp ) - qml_ice(:,:,:) = frcv(jpr_topm)%z3(:,:,:) * a_i_last_couple(:,:,:) / a_i(:,:,:) - qcn_ice(:,:,:) = frcv(jpr_botm)%z3(:,:,:) * a_i_last_couple(:,:,:) / a_i(:,:,:) + WHERE( a_i(A2D(0),:) > 1.e-10_wp ) + qml_ice(:,:,:) = frcv(jpr_topm)%z3(:,:,:) * a_i_last_couple(A2D(0),:) / a_i(A2D(0),:) + qcn_ice(:,:,:) = frcv(jpr_botm)%z3(:,:,:) * a_i_last_couple(A2D(0),:) / a_i(A2D(0),:) ELSEWHERE qml_ice(:,:,:) = 0.0_wp qcn_ice(:,:,:) = 0.0_wp @@ -1841,7 +1852,7 @@ CONTAINS ENDIF ! Calculate the total non solar heat flux. The ocean only non solar heat flux (zqns_oce) will be recalculated after this CASE ! statement to be consistent with other coupling methods even though .zqns_oce = frcv(jpr_qnsoce)%z3(:,:,1) - zqns_tot(:,:) = frcv(jpr_qnsoce)%z3(:,:,1) + SUM( zqns_ice(:,:,:) * a_i(:,:,:), dim=3 ) + zqns_tot(:,:) = frcv(jpr_qnsoce)%z3(:,:,1) + SUM( zqns_ice(:,:,:) * a_i(A2D(0),:), dim=3 ) CASE( 'conservative' ) ! the required fields are directly provided zqns_tot(:,:) = frcv(jpr_qnsmix)%z3(:,:,1) IF( TRIM(sn_rcv_qns%clcat) == 'yes' ) THEN @@ -1855,7 +1866,7 @@ CONTAINS zqns_tot(:,:) = ziceld(:,:) * frcv(jpr_qnsoce)%z3(:,:,1) IF( TRIM(sn_rcv_qns%clcat) == 'yes' ) THEN DO jl=1,jpl - zqns_tot(:,: ) = zqns_tot(:,:) + a_i(:,:,jl) * frcv(jpr_qnsice)%z3(:,:,jl) + zqns_tot(:,: ) = zqns_tot(:,:) + a_i(A2D(0),jl) * frcv(jpr_qnsice)%z3(:,:,jl) zqns_ice(:,:,jl) = frcv(jpr_qnsice)%z3(:,:,jl) ENDDO ELSE @@ -1884,21 +1895,22 @@ CONTAINS ! ! --- calving (removed from qns_tot) --- ! IF( srcv(jpr_cal)%laction ) zqns_tot(:,:) = zqns_tot(:,:) - frcv(jpr_cal)%z3(:,:,1) * rLfus ! remove latent heat of calving - ! we suppose it melts at 0deg, though it should be temp. of surrounding ocean + ! we suppose it melts at 0deg, though it should be temp. of surrounding ocean ! --- iceberg (removed from qns_tot) --- ! IF( srcv(jpr_icb)%laction ) zqns_tot(:,:) = zqns_tot(:,:) - frcv(jpr_icb)%z3(:,:,1) * rLfus ! remove latent heat of iceberg melting ! --- non solar flux over ocean --- ! ! note: ziceld cannot be = 0 since we limit the ice concentration to amax zqns_oce = 0._wp - WHERE( ziceld /= 0._wp ) zqns_oce(:,:) = ( zqns_tot(:,:) - SUM( a_i * zqns_ice, dim=3 ) ) / ziceld(:,:) + WHERE( ziceld /= 0._wp ) zqns_oce(:,:) = ( zqns_tot(:,:) - SUM( a_i(A2D(0),:) * zqns_ice(:,:,:), dim=3 ) ) / ziceld(:,:) ! Heat content per unit mass of snow (J/kg) - WHERE( SUM( a_i, dim=3 ) > 1.e-10 ) ; zcptsnw(:,:) = rcpi * SUM( (tn_ice - rt0) * a_i, dim=3 ) / SUM( a_i, dim=3 ) - ELSEWHERE ; zcptsnw(:,:) = zcptn(:,:) + WHERE( SUM( a_i(A2D(0),:), dim=3 ) > 1.e-10 ) ; zcptsnw(:,:) = rcpi * SUM( (tn_ice(:,:,:) - rt0) * a_i(A2D(0),:), dim=3 ) & + & / SUM( a_i(A2D(0),:), dim=3 ) + ELSEWHERE ; zcptsnw(:,:) = zcptn(:,:) ENDWHERE ! Heat content per unit mass of rain (J/kg) - zcptrain(:,:) = rcp * ( SUM( (tn_ice(:,:,:) - rt0) * a_i(:,:,:), dim=3 ) + sst_m(:,:) * ziceld(:,:) ) + zcptrain(:,:) = rcp * ( SUM( (tn_ice(:,:,:) - rt0) * a_i(A2D(0),:), dim=3 ) + sst_m(A2D(0)) * ziceld(:,:) ) ! --- enthalpy of snow precip over ice in J/m3 (to be used in 1D-thermo) --- ! zqprec_ice(:,:) = rhos * ( zcptsnw(:,:) - rLfus ) @@ -1969,7 +1981,7 @@ CONTAINS & CALL iom_put('hflx_rain_cea' , ( tprecip(:,:) - sprecip(:,:) ) * zcptrain(:,:) ) IF ( iom_use('hflx_evap_cea') ) & ! heat flux from evap (cell average) & CALL iom_put('hflx_evap_cea' , ( frcv(jpr_tevp)%z3(:,:,1) - zevap_ice_total(:,:) * picefr(:,:) ) & - & * zcptn(:,:) * tmask(:,:,1) ) + & * zcptn(:,:) * smask0(:,:) ) IF ( iom_use('hflx_prec_cea') ) & ! heat flux from all precip (cell avg) & CALL iom_put('hflx_prec_cea' , sprecip(:,:) * ( zcptsnw(:,:) - rLfus ) & & + ( tprecip(:,:) - sprecip(:,:) ) * zcptrain(:,:) ) @@ -1980,7 +1992,7 @@ CONTAINS IF ( iom_use('hflx_snow_ai_cea') ) & ! heat flux from snow (over ice) & CALL iom_put('hflx_snow_ai_cea', sprecip(:,:) * ( zcptsnw(:,:) - rLfus ) * zsnw(:,:) ) IF( iom_use('hflx_subl_cea') ) & ! heat flux from sublimation - & CALL iom_put('hflx_subl_cea' , SUM( qevap_ice(:,:,:) * a_i(:,:,:), dim=3 ) * tmask(:,:,1) ) + & CALL iom_put('hflx_subl_cea' , SUM( qevap_ice(:,:,:) * a_i(A2D(0),:), dim=3 ) * smask0(:,:) ) ! note: hflx for runoff and iceshelf are done in sbcrnf and sbcisf resp. ! ! ! ========================= ! @@ -2028,7 +2040,7 @@ CONTAINS zqsr_tot(:,: ) = ziceld(:,:) * frcv(jpr_qsroce)%z3(:,:,1) IF( TRIM(sn_rcv_qsr%clcat) == 'yes' ) THEN DO jl = 1, jpl - zqsr_tot(:,: ) = zqsr_tot(:,:) + a_i(:,:,jl) * frcv(jpr_qsrice)%z3(:,:,jl) + zqsr_tot(:,: ) = zqsr_tot(:,:) + a_i(A2D(0),jl) * frcv(jpr_qsrice)%z3(:,:,jl) zqsr_ice(:,:,jl) = frcv(jpr_qsrice)%z3(:,:,jl) END DO ELSE @@ -2045,14 +2057,14 @@ CONTAINS IF ( TRIM(sn_rcv_qsr%clcat) == 'yes' ) THEN DO jl = 1, jpl zqsr_ice(:,:,jl) = frcv(jpr_qsrmix)%z3(:,:,jl) * ( 1.- palbi(:,:,jl) ) & - & / ( 1.- ( alb_oce_mix(:,: ) * ziceld(:,:) & - & + palbi (:,:,jl) * picefr(:,:) ) ) + & / ( 1.- ( alb_oce_mix(:,: ) * ziceld(:,:) & + & + palbi (:,:,jl) * picefr(:,:) ) ) END DO ELSE DO jl = 1, jpl zqsr_ice(:,:,jl) = frcv(jpr_qsrmix)%z3(:,:, 1) * ( 1.- palbi(:,:,jl) ) & - & / ( 1.- ( alb_oce_mix(:,: ) * ziceld(:,:) & - & + palbi (:,:,jl) * picefr(:,:) ) ) + & / ( 1.- ( alb_oce_mix(:,: ) * ziceld(:,:) & + & + palbi (:,:,jl) * picefr(:,:) ) ) END DO ENDIF CASE( 'none' ) ! Not available as for now: needs additional coding @@ -2060,7 +2072,7 @@ CONTAINS CALL ctl_stop('STOP', 'sbccpl/sbc_cpl_ice_flx: some fields are not defined. Change sn_rcv_qsr value in namelist namsbc_cpl') END SELECT IF( ln_dm2dc .AND. ln_cpl ) THEN ! modify qsr to include the diurnal cycle - zqsr_tot(:,: ) = sbc_dcy( zqsr_tot(:,: ) ) + zqsr_tot(:,:) = sbc_dcy( zqsr_tot(:,:) ) DO jl = 1, jpl zqsr_ice(:,:,jl) = sbc_dcy( zqsr_ice(:,:,jl) ) END DO @@ -2102,8 +2114,8 @@ CONTAINS ! ! ===> here we receive the qtr_ice_top array from the coupler CASE ('coupled') IF (ln_scale_ice_flux) THEN - WHERE( a_i(:,:,:) > 1.e-10_wp ) - zqtr_ice_top(:,:,:) = frcv(jpr_qtrice)%z3(:,:,:) * a_i_last_couple(:,:,:) / a_i(:,:,:) + WHERE( a_i(A2D(0),:) > 1.e-10_wp ) + zqtr_ice_top(:,:,:) = frcv(jpr_qtrice)%z3(:,:,:) * a_i_last_couple(A2D(0),:) / a_i(A2D(0),:) ELSEWHERE zqtr_ice_top(:,:,:) = 0.0_wp ENDWHERE @@ -2113,7 +2125,7 @@ CONTAINS ! Add retrieved transmitted solar radiation onto the ice and total solar radiation zqsr_ice(:,:,:) = zqsr_ice(:,:,:) + zqtr_ice_top(:,:,:) - zqsr_tot(:,:) = zqsr_tot(:,:) + SUM( zqtr_ice_top(:,:,:) * a_i(:,:,:), dim=3 ) + zqsr_tot(:,:) = zqsr_tot(:,:) + SUM( zqtr_ice_top(:,:,:) * a_i(A2D(0),:), dim=3 ) ! if we are not getting this data from the coupler then assume zero (fully opaque ice) CASE ('none') @@ -2123,7 +2135,7 @@ CONTAINS ENDIF IF( ln_mixcpl ) THEN - qsr_tot(:,:) = qsr(:,:) * ziceld(:,:) + SUM( qsr_ice(:,:,:) * a_i(:,:,:), dim=3 ) ! total flux from blk + qsr_tot(:,:) = qsr(:,:) * ziceld(:,:) + SUM( qsr_ice(:,:,:) * a_i(A2D(0),:), dim=3 ) ! total flux from blk qsr_tot(:,:) = qsr_tot(:,:) * xcplmask(:,:,0) + zqsr_tot(:,:) * zmsk(:,:) DO jl = 1, jpl qsr_ice (:,:,jl) = qsr_ice (:,:,jl) * xcplmask(:,:,0) + zqsr_ice (:,:,jl) * zmsk(:,:) @@ -2138,7 +2150,7 @@ CONTAINS ! --- solar flux over ocean --- ! ! note: ziceld cannot be = 0 since we limit the ice concentration to amax zqsr_oce = 0._wp - WHERE( ziceld /= 0._wp ) zqsr_oce(:,:) = ( zqsr_tot(:,:) - SUM( a_i * zqsr_ice, dim=3 ) ) / ziceld(:,:) + WHERE( ziceld /= 0._wp ) zqsr_oce(:,:) = ( zqsr_tot(:,:) - SUM( a_i(A2D(0),:) * zqsr_ice(:,:,:), dim=3 ) ) / ziceld(:,:) IF( ln_mixcpl ) THEN ; qsr_oce(:,:) = qsr_oce(:,:) * xcplmask(:,:,0) + zqsr_oce(:,:)* zmsk(:,:) ELSE ; qsr_oce(:,:) = zqsr_oce(:,:) ; ENDIF @@ -2183,25 +2195,26 @@ CONTAINS INTEGER :: ji, jj, jl ! dummy loop indices INTEGER :: isec, info ! local integer REAL(wp) :: zumax, zvmax - REAL(wp), DIMENSION(jpi,jpj) :: zfr_l, ztmp1, ztmp2, zotx1, zoty1, zotz1, zitx1, zity1, zitz1 - REAL(wp), DIMENSION(jpi,jpj,jpl) :: ztmp3, ztmp4 + REAL(wp), DIMENSION(A2D(0)) :: zat_i, zfr_l, ztmp1, ztmp2, zotx1, zoty1, zotz1, zitx1, zity1, zitz1 + REAL(wp), DIMENSION(A2D(0),jpl) :: ztmp3, ztmp4 !!---------------------------------------------------------------------- ! isec = ( kt - nit000 ) * NINT( rn_Dt ) ! date of exchanges info = OASIS_idle - zfr_l(:,:) = 1.- fr_i(:,:) + zfr_l(:,:) = 1.- fr_i(A2D(0)) + zat_i(:,:) = SUM( a_i(A2D(0),:), dim=3 ) ! ! ------------------------- ! ! ! Surface temperature ! in Kelvin ! ! ------------------------- ! IF( ssnd(jps_toce)%laction .OR. ssnd(jps_tice)%laction .OR. ssnd(jps_tmix)%laction ) THEN IF( nn_components == jp_iam_oce ) THEN - ztmp1(:,:) = ts(:,:,1,jp_tem,Kmm) ! send temperature as it is (potential or conservative) -> use of l_useCT on the received part + ztmp1(:,:) = ts(A2D(0),1,jp_tem,Kmm) ! send temperature as it is (potential or conservative) -> use of l_useCT on the received part ELSE ! we must send the surface potential temperature - IF( l_useCT ) THEN ; ztmp1(:,:) = eos_pt_from_ct( ts(:,:,1,jp_tem,Kmm), ts(:,:,1,jp_sal,Kmm) ) - ELSE ; ztmp1(:,:) = ts(:,:,1,jp_tem,Kmm) + IF( l_useCT ) THEN ; ztmp1(:,:) = eos_pt_from_ct( ts(A2D(0),1,jp_tem,Kmm), ts(A2D(0),1,jp_sal,Kmm) ) + ELSE ; ztmp1(:,:) = ts(A2D(0),1,jp_tem,Kmm) ENDIF ! SELECT CASE( sn_snd_temp%cldes) @@ -2211,8 +2224,8 @@ CONTAINS CASE( 'yes' ) ztmp3(:,:,1:jpl) = tn_ice(:,:,1:jpl) CASE( 'no' ) - WHERE( SUM( a_i, dim=3 ) /= 0. ) - ztmp3(:,:,1) = SUM( tn_ice * a_i, dim=3 ) / SUM( a_i, dim=3 ) + WHERE( zat_i(:,:) /= 0. ) + ztmp3(:,:,1) = SUM( tn_ice(:,:,:) * a_i(A2D(0),:), dim=3 ) / zat_i(:,:) ELSEWHERE ztmp3(:,:,1) = rt0 END WHERE @@ -2221,36 +2234,36 @@ CONTAINS CASE( 'weighted oce and ice' ) ; ztmp1(:,:) = ( ztmp1(:,:) + rt0 ) * zfr_l(:,:) SELECT CASE( sn_snd_temp%clcat ) CASE( 'yes' ) - ztmp3(:,:,1:jpl) = tn_ice(:,:,1:jpl) * a_i(:,:,1:jpl) + ztmp3(:,:,1:jpl) = tn_ice(:,:,1:jpl) * a_i(A2D(0),1:jpl) CASE( 'no' ) ztmp3(:,:,:) = 0.0 DO jl=1,jpl - ztmp3(:,:,1) = ztmp3(:,:,1) + tn_ice(:,:,jl) * a_i(:,:,jl) + ztmp3(:,:,1) = ztmp3(:,:,1) + tn_ice(:,:,jl) * a_i(A2D(0),jl) ENDDO CASE default ; CALL ctl_stop( 'sbc_cpl_snd: wrong definition of sn_snd_temp%clcat' ) END SELECT - CASE( 'oce and weighted ice') ; ztmp1(:,:) = ts(:,:,1,jp_tem,Kmm) + rt0 + CASE( 'oce and weighted ice') ; ztmp1(:,:) = ts(A2D(0),1,jp_tem,Kmm) + rt0 SELECT CASE( sn_snd_temp%clcat ) CASE( 'yes' ) - ztmp3(:,:,1:jpl) = tn_ice(:,:,1:jpl) * a_i(:,:,1:jpl) + ztmp3(:,:,1:jpl) = tn_ice(:,:,1:jpl) * a_i(A2D(0),1:jpl) CASE( 'no' ) ztmp3(:,:,:) = 0.0 DO jl=1,jpl - ztmp3(:,:,1) = ztmp3(:,:,1) + tn_ice(:,:,jl) * a_i(:,:,jl) + ztmp3(:,:,1) = ztmp3(:,:,1) + tn_ice(:,:,jl) * a_i(A2D(0),jl) ENDDO CASE default ; CALL ctl_stop( 'sbc_cpl_snd: wrong definition of sn_snd_temp%clcat' ) END SELECT CASE( 'mixed oce-ice' ) ztmp1(:,:) = ( ztmp1(:,:) + rt0 ) * zfr_l(:,:) DO jl=1,jpl - ztmp1(:,:) = ztmp1(:,:) + tn_ice(:,:,jl) * a_i(:,:,jl) + ztmp1(:,:) = ztmp1(:,:) + tn_ice(:,:,jl) * a_i(A2D(0),jl) ENDDO CASE default ; CALL ctl_stop( 'sbc_cpl_snd: wrong definition of sn_snd_temp%cldes' ) END SELECT ENDIF - IF( ssnd(jps_toce)%laction ) CALL cpl_snd( jps_toce, isec, RESHAPE ( ztmp1, (/jpi,jpj,1/) ), info ) + IF( ssnd(jps_toce)%laction ) CALL cpl_snd( jps_toce, isec, RESHAPE ( ztmp1, (/Ni_0,Nj_0,1/) ), info ) IF( ssnd(jps_tice)%laction ) CALL cpl_snd( jps_tice, isec, ztmp3, info ) - IF( ssnd(jps_tmix)%laction ) CALL cpl_snd( jps_tmix, isec, RESHAPE ( ztmp1, (/jpi,jpj,1/) ), info ) + IF( ssnd(jps_tmix)%laction ) CALL cpl_snd( jps_tmix, isec, RESHAPE ( ztmp1, (/Ni_0,Nj_0,1/) ), info ) ENDIF ! ! ! ------------------------- ! @@ -2261,7 +2274,7 @@ CONTAINS IF( ssnd(jps_ttilyr)%laction) THEN SELECT CASE( sn_snd_ttilyr%cldes) CASE ('weighted ice') - ztmp3(:,:,1:jpl) = t1_ice(:,:,1:jpl) * a_i(:,:,1:jpl) + ztmp3(:,:,1:jpl) = t1_ice(:,:,1:jpl) * a_i(A2D(0),1:jpl) CASE default ; CALL ctl_stop( 'sbc_cpl_snd: wrong definition of sn_snd_ttilyr%cldes' ) END SELECT IF( ssnd(jps_ttilyr)%laction ) CALL cpl_snd( jps_ttilyr, isec, ztmp3, info ) @@ -2277,8 +2290,8 @@ CONTAINS CASE( 'yes' ) ztmp3(:,:,1:jpl) = alb_ice(:,:,1:jpl) CASE( 'no' ) - WHERE( SUM( a_i, dim=3 ) /= 0. ) - ztmp1(:,:) = SUM( alb_ice (:,:,1:jpl) * a_i(:,:,1:jpl), dim=3 ) / SUM( a_i(:,:,1:jpl), dim=3 ) + WHERE( zat_i(:,:) /= 0. ) + ztmp1(:,:) = SUM( alb_ice (:,:,1:jpl) * a_i(A2D(0),1:jpl), dim=3 ) / zat_i(:,:) ELSEWHERE ztmp1(:,:) = alb_oce_mix(:,:) END WHERE @@ -2287,10 +2300,10 @@ CONTAINS CASE( 'weighted ice' ) ; SELECT CASE( sn_snd_alb%clcat ) CASE( 'yes' ) - ztmp3(:,:,1:jpl) = alb_ice(:,:,1:jpl) * a_i(:,:,1:jpl) + ztmp3(:,:,1:jpl) = alb_ice(:,:,1:jpl) * a_i(A2D(0),1:jpl) CASE( 'no' ) - WHERE( fr_i (:,:) > 0. ) - ztmp1(:,:) = SUM ( alb_ice(:,:,1:jpl) * a_i(:,:,1:jpl), dim=3 ) + WHERE( fr_i (A2D(0)) > 0. ) + ztmp1(:,:) = SUM ( alb_ice(:,:,1:jpl) * a_i(A2D(0),1:jpl), dim=3 ) ELSEWHERE ztmp1(:,:) = 0. END WHERE @@ -2303,16 +2316,16 @@ CONTAINS CASE( 'yes' ) CALL cpl_snd( jps_albice, isec, ztmp3, info ) !-> MV this has never been checked in coupled mode CASE( 'no' ) - CALL cpl_snd( jps_albice, isec, RESHAPE ( ztmp1, (/jpi,jpj,1/) ), info ) + CALL cpl_snd( jps_albice, isec, RESHAPE ( ztmp1, (/Ni_0,Nj_0,1/) ), info ) END SELECT ENDIF IF( ssnd(jps_albmix)%laction ) THEN ! mixed ice-ocean ztmp1(:,:) = alb_oce_mix(:,:) * zfr_l(:,:) DO jl = 1, jpl - ztmp1(:,:) = ztmp1(:,:) + alb_ice(:,:,jl) * a_i(:,:,jl) + ztmp1(:,:) = ztmp1(:,:) + alb_ice(:,:,jl) * a_i(A2D(0),jl) END DO - CALL cpl_snd( jps_albmix, isec, RESHAPE ( ztmp1, (/jpi,jpj,1/) ), info ) + CALL cpl_snd( jps_albmix, isec, RESHAPE ( ztmp1, (/Ni_0,Nj_0,1/) ), info ) ENDIF ! ! ------------------------- ! ! ! Ice fraction & Thickness ! @@ -2320,8 +2333,8 @@ CONTAINS ! Send ice fraction field to atmosphere IF( ssnd(jps_fice)%laction ) THEN SELECT CASE( sn_snd_thick%clcat ) - CASE( 'yes' ) ; ztmp3(:,:,1:jpl) = a_i(:,:,1:jpl) - CASE( 'no' ) ; ztmp3(:,:,1 ) = fr_i(:,: ) + CASE( 'yes' ) ; ztmp3(:,:,1:jpl) = a_i(A2D(0),1:jpl) + CASE( 'no' ) ; ztmp3(:,:,1 ) = fr_i(A2D(0) ) CASE default ; CALL ctl_stop( 'sbc_cpl_snd: wrong definition of sn_snd_thick%clcat' ) END SELECT CALL cpl_snd( jps_fice, isec, ztmp3, info ) @@ -2341,8 +2354,8 @@ CONTAINS IF( ssnd(jps_fice1)%laction ) THEN SELECT CASE( sn_snd_thick1%clcat ) - CASE( 'yes' ) ; ztmp3(:,:,1:jpl) = a_i(:,:,1:jpl) - CASE( 'no' ) ; ztmp3(:,:,1 ) = fr_i(:,: ) + CASE( 'yes' ) ; ztmp3(:,:,1:jpl) = a_i(A2D(0),1:jpl) + CASE( 'no' ) ; ztmp3(:,:,1 ) = fr_i(A2D(0) ) CASE default ; CALL ctl_stop( 'sbc_cpl_snd: wrong definition of sn_snd_thick1%clcat' ) END SELECT CALL cpl_snd( jps_fice1, isec, ztmp3, info ) @@ -2350,7 +2363,7 @@ CONTAINS ! Send ice fraction field to OCE (sent by SAS in SAS-OCE coupling) IF( ssnd(jps_fice2)%laction ) THEN - ztmp3(:,:,1) = fr_i(:,:) + ztmp3(:,:,1) = fr_i(A2D(0)) IF( ssnd(jps_fice2)%laction ) CALL cpl_snd( jps_fice2, isec, ztmp3, info ) ENDIF @@ -2361,25 +2374,25 @@ CONTAINS CASE( 'weighted ice and snow' ) SELECT CASE( sn_snd_thick%clcat ) CASE( 'yes' ) - ztmp3(:,:,1:jpl) = h_i(:,:,1:jpl) * a_i(:,:,1:jpl) - ztmp4(:,:,1:jpl) = h_s(:,:,1:jpl) * a_i(:,:,1:jpl) + ztmp3(:,:,1:jpl) = h_i(A2D(0),1:jpl) * a_i(A2D(0),1:jpl) + ztmp4(:,:,1:jpl) = h_s(A2D(0),1:jpl) * a_i(A2D(0),1:jpl) CASE( 'no' ) ztmp3(:,:,:) = 0.0 ; ztmp4(:,:,:) = 0.0 DO jl=1,jpl - ztmp3(:,:,1) = ztmp3(:,:,1) + h_i(:,:,jl) * a_i(:,:,jl) - ztmp4(:,:,1) = ztmp4(:,:,1) + h_s(:,:,jl) * a_i(:,:,jl) + ztmp3(:,:,1) = ztmp3(:,:,1) + h_i(A2D(0),jl) * a_i(A2D(0),jl) + ztmp4(:,:,1) = ztmp4(:,:,1) + h_s(A2D(0),jl) * a_i(A2D(0),jl) ENDDO CASE default ; CALL ctl_stop( 'sbc_cpl_snd: wrong definition of sn_snd_thick%clcat' ) END SELECT CASE( 'ice and snow' ) SELECT CASE( sn_snd_thick%clcat ) CASE( 'yes' ) - ztmp3(:,:,1:jpl) = h_i(:,:,1:jpl) - ztmp4(:,:,1:jpl) = h_s(:,:,1:jpl) + ztmp3(:,:,1:jpl) = h_i(A2D(0),1:jpl) + ztmp4(:,:,1:jpl) = h_s(A2D(0),1:jpl) CASE( 'no' ) WHERE( SUM( a_i, dim=3 ) /= 0. ) - ztmp3(:,:,1) = SUM( h_i * a_i, dim=3 ) / SUM( a_i, dim=3 ) - ztmp4(:,:,1) = SUM( h_s * a_i, dim=3 ) / SUM( a_i, dim=3 ) + ztmp3(:,:,1) = SUM( h_i(A2D(0),:) * a_i(A2D(0),:), dim=3 ) / zat_i(:,:) + ztmp4(:,:,1) = SUM( h_s(A2D(0),:) * a_i(A2D(0),:), dim=3 ) / zat_i(:,:) ELSEWHERE ztmp3(:,:,1) = 0. ztmp4(:,:,1) = 0. @@ -2403,13 +2416,13 @@ CONTAINS SELECT CASE( sn_snd_mpnd%clcat ) CASE( 'yes' ) ztmp3(:,:,1:jpl) = a_ip_eff(:,:,1:jpl) - ztmp4(:,:,1:jpl) = h_ip(:,:,1:jpl) + ztmp4(:,:,1:jpl) = h_ip(A2D(0),1:jpl) CASE( 'no' ) ztmp3(:,:,:) = 0.0 ztmp4(:,:,:) = 0.0 DO jl=1,jpl ztmp3(:,:,1) = ztmp3(:,:,1) + a_ip_frac(:,:,jpl) - ztmp4(:,:,1) = ztmp4(:,:,1) + h_ip(:,:,jpl) + ztmp4(:,:,1) = ztmp4(:,:,1) + h_ip(A2D(0),jpl) ENDDO CASE default ; CALL ctl_stop( 'sbc_cpl_snd: wrong definition of sn_snd_mpnd%clcat' ) END SELECT @@ -2428,11 +2441,11 @@ CONTAINS CASE( 'weighted ice' ) SELECT CASE( sn_snd_cond%clcat ) CASE( 'yes' ) - ztmp3(:,:,1:jpl) = cnd_ice(:,:,1:jpl) * a_i(:,:,1:jpl) + ztmp3(:,:,1:jpl) = cnd_ice(:,:,1:jpl) * a_i(A2D(0),1:jpl) CASE( 'no' ) ztmp3(:,:,:) = 0.0 DO jl=1,jpl - ztmp3(:,:,1) = ztmp3(:,:,1) + cnd_ice(:,:,jl) * a_i(:,:,jl) + ztmp3(:,:,1) = ztmp3(:,:,1) + cnd_ice(:,:,jl) * a_i(A2D(0),jl) ENDDO CASE default ; CALL ctl_stop( 'sbc_cpl_snd: wrong definition of sn_snd_cond%clcat' ) END SELECT @@ -2448,8 +2461,8 @@ CONTAINS ! ! CO2 flux from PISCES ! ! ! ------------------------- ! IF( ssnd(jps_co2)%laction .AND. l_co2cpl ) THEN - ztmp1(:,:) = oce_co2(:,:) * 1000. ! conversion in molC/m2/s - CALL cpl_snd( jps_co2, isec, RESHAPE ( ztmp1, (/jpi,jpj,1/) ) , info ) + ztmp1(:,:) = oce_co2(A2D(0)) * 1000. ! conversion in molC/m2/s + CALL cpl_snd( jps_co2, isec, RESHAPE ( ztmp1, (/Ni_0,Nj_0,1/) ) , info ) ENDIF ! ! ! ------------------------- ! @@ -2465,8 +2478,8 @@ CONTAINS ! i-1 i i !!clem: make a new variable at T-point to replace uu and vv => uuT and vvT for instance IF( nn_components == jp_iam_oce ) THEN - zotx1(:,:) = uu(:,:,1,Kmm) - zoty1(:,:) = vv(:,:,1,Kmm) + zotx1(:,:) = uu(A2D(0),1,Kmm) + zoty1(:,:) = vv(A2D(0),1,Kmm) !!clem : should be demi sum, no? Or uuT and vvT ELSE SELECT CASE( TRIM( sn_snd_crt%cldes ) ) @@ -2482,7 +2495,7 @@ CONTAINS zitx1(ji,jj) = 0.5 * ( u_ice(ji,jj ) + u_ice(ji-1,jj ) ) * fr_i(ji,jj) zity1(ji,jj) = 0.5 * ( v_ice(ji,jj ) + v_ice(ji ,jj-1 ) ) * fr_i(ji,jj) END_2D - CALL lbc_lnk( 'sbccpl', zitx1, 'T', -1.0_wp, zity1, 'T', -1.0_wp ) +!!$ CALL lbc_lnk( 'sbccpl', zitx1, 'T', -1.0_wp, zity1, 'T', -1.0_wp ) CASE( 'mixed oce-ice' ) ! Ocean and Ice on C-grid ==> T DO_2D( 0, 0, 0, 0 ) zotx1(ji,jj) = 0.5 * ( uu (ji,jj,1,Kmm) + uu (ji-1,jj ,1,Kmm) ) * zfr_l(ji,jj) & @@ -2491,7 +2504,7 @@ CONTAINS & + 0.5 * ( v_ice(ji,jj ) + v_ice(ji ,jj-1 ) ) * fr_i(ji,jj) END_2D END SELECT - CALL lbc_lnk( 'sbccpl', zotx1, ssnd(jps_ocx1)%clgrid, -1.0_wp, zoty1, ssnd(jps_ocy1)%clgrid, -1.0_wp ) +!!$ CALL lbc_lnk( 'sbccpl', zotx1, ssnd(jps_ocx1)%clgrid, -1.0_wp, zoty1, ssnd(jps_ocy1)%clgrid, -1.0_wp ) ! ENDIF ! @@ -2523,13 +2536,13 @@ CONTAINS ENDIF ENDIF ! - IF( ssnd(jps_ocx1)%laction ) CALL cpl_snd( jps_ocx1, isec, RESHAPE ( zotx1, (/jpi,jpj,1/) ), info ) ! ocean x current 1st grid - IF( ssnd(jps_ocy1)%laction ) CALL cpl_snd( jps_ocy1, isec, RESHAPE ( zoty1, (/jpi,jpj,1/) ), info ) ! ocean y current 1st grid - IF( ssnd(jps_ocz1)%laction ) CALL cpl_snd( jps_ocz1, isec, RESHAPE ( zotz1, (/jpi,jpj,1/) ), info ) ! ocean z current 1st grid + IF( ssnd(jps_ocx1)%laction ) CALL cpl_snd( jps_ocx1, isec, RESHAPE ( zotx1, (/Ni_0,Nj_0,1/) ), info ) ! ocean x current 1st grid + IF( ssnd(jps_ocy1)%laction ) CALL cpl_snd( jps_ocy1, isec, RESHAPE ( zoty1, (/Ni_0,Nj_0,1/) ), info ) ! ocean y current 1st grid + IF( ssnd(jps_ocz1)%laction ) CALL cpl_snd( jps_ocz1, isec, RESHAPE ( zotz1, (/Ni_0,Nj_0,1/) ), info ) ! ocean z current 1st grid ! - IF( ssnd(jps_ivx1)%laction ) CALL cpl_snd( jps_ivx1, isec, RESHAPE ( zitx1, (/jpi,jpj,1/) ), info ) ! ice x current 1st grid - IF( ssnd(jps_ivy1)%laction ) CALL cpl_snd( jps_ivy1, isec, RESHAPE ( zity1, (/jpi,jpj,1/) ), info ) ! ice y current 1st grid - IF( ssnd(jps_ivz1)%laction ) CALL cpl_snd( jps_ivz1, isec, RESHAPE ( zitz1, (/jpi,jpj,1/) ), info ) ! ice z current 1st grid + IF( ssnd(jps_ivx1)%laction ) CALL cpl_snd( jps_ivx1, isec, RESHAPE ( zitx1, (/Ni_0,Nj_0,1/) ), info ) ! ice x current 1st grid + IF( ssnd(jps_ivy1)%laction ) CALL cpl_snd( jps_ivy1, isec, RESHAPE ( zity1, (/Ni_0,Nj_0,1/) ), info ) ! ice y current 1st grid + IF( ssnd(jps_ivz1)%laction ) CALL cpl_snd( jps_ivz1, isec, RESHAPE ( zitz1, (/Ni_0,Nj_0,1/) ), info ) ! ice z current 1st grid ! ENDIF ! @@ -2559,7 +2572,7 @@ CONTAINS zitx1(ji,jj) = 0.5 * ( u_ice(ji,jj ) + u_ice(ji-1,jj ) ) * fr_i(ji,jj) zity1(ji,jj) = 0.5 * ( v_ice(ji,jj ) + v_ice(ji ,jj-1 ) ) * fr_i(ji,jj) END_2D - CALL lbc_lnk( 'sbccpl', zitx1, 'T', -1.0_wp, zity1, 'T', -1.0_wp ) +!!$ CALL lbc_lnk( 'sbccpl', zitx1, 'T', -1.0_wp, zity1, 'T', -1.0_wp ) CASE( 'mixed oce-ice' ) ! Ocean and Ice on C-grid ==> T DO_2D( 0, 0, 0, 0 ) zotx1(ji,jj) = 0.5 * ( uu (ji,jj,1,Kmm) + uu (ji-1,jj ,1,Kmm) ) * zfr_l(ji,jj) & @@ -2568,7 +2581,7 @@ CONTAINS & + 0.5 * ( v_ice(ji,jj ) + v_ice(ji ,jj-1 ) ) * fr_i(ji,jj) END_2D END SELECT - CALL lbc_lnk( 'sbccpl', zotx1, ssnd(jps_ocxw)%clgrid, -1.0_wp, zoty1, ssnd(jps_ocyw)%clgrid, -1.0_wp ) +!!$ CALL lbc_lnk( 'sbccpl', zotx1, ssnd(jps_ocxw)%clgrid, -1.0_wp, zoty1, ssnd(jps_ocyw)%clgrid, -1.0_wp ) ! ! IF( TRIM( sn_snd_crtw%clvor ) == 'eastward-northward' ) THEN ! Rotation of the components @@ -2598,13 +2611,13 @@ CONTAINS ! ENDIF ! ENDIF ! - IF( ssnd(jps_ocxw)%laction ) CALL cpl_snd( jps_ocxw, isec, RESHAPE ( zotx1, (/jpi,jpj,1/) ), info ) ! ocean x current 1st grid - IF( ssnd(jps_ocyw)%laction ) CALL cpl_snd( jps_ocyw, isec, RESHAPE ( zoty1, (/jpi,jpj,1/) ), info ) ! ocean y current 1st grid + IF( ssnd(jps_ocxw)%laction ) CALL cpl_snd( jps_ocxw, isec, RESHAPE ( zotx1, (/Ni_0,Nj_0,1/) ), info ) ! ocean x current 1st grid + IF( ssnd(jps_ocyw)%laction ) CALL cpl_snd( jps_ocyw, isec, RESHAPE ( zoty1, (/Ni_0,Nj_0,1/) ), info ) ! ocean y current 1st grid ! ENDIF ! IF( ssnd(jps_ficet)%laction ) THEN - CALL cpl_snd( jps_ficet, isec, RESHAPE ( fr_i, (/jpi,jpj,1/) ), info ) + CALL cpl_snd( jps_ficet, isec, RESHAPE ( fr_i(A2D(0)), (/Ni_0,Nj_0,1/) ), info ) ENDIF ! ! ------------------------- ! ! ! Water levels to waves ! @@ -2612,14 +2625,14 @@ CONTAINS IF( ssnd(jps_wlev)%laction ) THEN IF( ln_apr_dyn ) THEN IF( kt /= nit000 ) THEN - ztmp1(:,:) = ssh(:,:,Kbb) - 0.5 * ( ssh_ib(:,:) + ssh_ibb(:,:) ) + ztmp1(:,:) = ssh(A2D(0),Kbb) - 0.5 * ( ssh_ib(A2D(0)) + ssh_ibb(A2D(0)) ) ELSE - ztmp1(:,:) = ssh(:,:,Kbb) + ztmp1(:,:) = ssh(A2D(0),Kbb) ENDIF ELSE - ztmp1(:,:) = ssh(:,:,Kmm) + ztmp1(:,:) = ssh(A2D(0),Kmm) ENDIF - CALL cpl_snd( jps_wlev , isec, RESHAPE ( ztmp1, (/jpi,jpj,1/) ), info ) + CALL cpl_snd( jps_wlev , isec, RESHAPE ( ztmp1, (/Ni_0,Nj_0,1/) ), info ) ENDIF ! ! Fields sent by OCE to SAS when doing OCE<->SAS coupling @@ -2627,44 +2640,44 @@ CONTAINS IF( ssnd(jps_ssh )%laction ) THEN ! ! removed inverse barometer ssh when Patm ! forcing is used (for sea-ice dynamics) - IF( ln_apr_dyn ) THEN ; ztmp1(:,:) = ssh(:,:,Kbb) - 0.5 * ( ssh_ib(:,:) + ssh_ibb(:,:) ) - ELSE ; ztmp1(:,:) = ssh(:,:,Kmm) + IF( ln_apr_dyn ) THEN ; ztmp1(:,:) = ssh(A2D(0),Kbb) - 0.5 * ( ssh_ib(A2D(0)) + ssh_ibb(A2D(0)) ) + ELSE ; ztmp1(:,:) = ssh(A2D(0),Kmm) ENDIF - CALL cpl_snd( jps_ssh , isec, RESHAPE ( ztmp1 , (/jpi,jpj,1/) ), info ) + CALL cpl_snd( jps_ssh , isec, RESHAPE ( ztmp1 , (/Ni_0,Nj_0,1/) ), info ) ENDIF ! ! SSS IF( ssnd(jps_soce )%laction ) THEN - CALL cpl_snd( jps_soce , isec, RESHAPE ( ts(:,:,1,jp_sal,Kmm), (/jpi,jpj,1/) ), info ) + CALL cpl_snd( jps_soce , isec, RESHAPE ( ts(A2D(0),1,jp_sal,Kmm), (/Ni_0,Nj_0,1/) ), info ) ENDIF ! ! first T level thickness IF( ssnd(jps_e3t1st )%laction ) THEN - CALL cpl_snd( jps_e3t1st, isec, RESHAPE ( e3t(:,:,1,Kmm) , (/jpi,jpj,1/) ), info ) + CALL cpl_snd( jps_e3t1st, isec, RESHAPE ( e3t(Nis0:Nie0,Njs0:Nje0,1,Kmm) , (/Ni_0,Nj_0,1/) ), info ) ENDIF ! ! Qsr fraction IF( ssnd(jps_fraqsr)%laction ) THEN - CALL cpl_snd( jps_fraqsr, isec, RESHAPE ( fraqsr_1lev(:,:) , (/jpi,jpj,1/) ), info ) + CALL cpl_snd( jps_fraqsr, isec, RESHAPE ( fraqsr_1lev(A2D(0)) , (/Ni_0,Nj_0,1/) ), info ) ENDIF ! ! Fields sent by SAS to OCE when OASIS coupling ! ! Solar heat flux - IF( ssnd(jps_qsroce)%laction ) CALL cpl_snd( jps_qsroce, isec, RESHAPE ( qsr , (/jpi,jpj,1/) ), info ) - IF( ssnd(jps_qnsoce)%laction ) CALL cpl_snd( jps_qnsoce, isec, RESHAPE ( qns , (/jpi,jpj,1/) ), info ) - IF( ssnd(jps_oemp )%laction ) CALL cpl_snd( jps_oemp , isec, RESHAPE ( emp , (/jpi,jpj,1/) ), info ) - IF( ssnd(jps_sflx )%laction ) CALL cpl_snd( jps_sflx , isec, RESHAPE ( sfx , (/jpi,jpj,1/) ), info ) - IF( ssnd(jps_otx1 )%laction ) CALL cpl_snd( jps_otx1 , isec, RESHAPE ( utau, (/jpi,jpj,1/) ), info ) - IF( ssnd(jps_oty1 )%laction ) CALL cpl_snd( jps_oty1 , isec, RESHAPE ( vtau, (/jpi,jpj,1/) ), info ) - IF( ssnd(jps_rnf )%laction ) CALL cpl_snd( jps_rnf , isec, RESHAPE ( rnf , (/jpi,jpj,1/) ), info ) - IF( ssnd(jps_taum )%laction ) CALL cpl_snd( jps_taum , isec, RESHAPE ( taum, (/jpi,jpj,1/) ), info ) + IF( ssnd(jps_qsroce)%laction ) CALL cpl_snd( jps_qsroce, isec, RESHAPE ( qsr (:,:) , (/Ni_0,Nj_0,1/) ), info ) + IF( ssnd(jps_qnsoce)%laction ) CALL cpl_snd( jps_qnsoce, isec, RESHAPE ( qns (:,:) , (/Ni_0,Nj_0,1/) ), info ) + IF( ssnd(jps_oemp )%laction ) CALL cpl_snd( jps_oemp , isec, RESHAPE ( emp (A2D(0)), (/Ni_0,Nj_0,1/) ), info ) + IF( ssnd(jps_sflx )%laction ) CALL cpl_snd( jps_sflx , isec, RESHAPE ( sfx (:,:) , (/Ni_0,Nj_0,1/) ), info ) + IF( ssnd(jps_otx1 )%laction ) CALL cpl_snd( jps_otx1 , isec, RESHAPE ( utau(A2D(0)), (/Ni_0,Nj_0,1/) ), info ) + IF( ssnd(jps_oty1 )%laction ) CALL cpl_snd( jps_oty1 , isec, RESHAPE ( vtau(A2D(0)), (/Ni_0,Nj_0,1/) ), info ) + IF( ssnd(jps_rnf )%laction ) CALL cpl_snd( jps_rnf , isec, RESHAPE ( rnf (A2D(0)), (/Ni_0,Nj_0,1/) ), info ) + IF( ssnd(jps_taum )%laction ) CALL cpl_snd( jps_taum , isec, RESHAPE ( taum(:,:) , (/Ni_0,Nj_0,1/) ), info ) #if defined key_si3 ! ! ------------------------- ! ! ! Sea surface freezing temp ! ! ! ------------------------- ! ! needed by Met Office - CALL eos_fzp(ts(:,:,1,jp_sal,Kmm), sstfrz) + CALL eos_fzp(ts(A2D(0),1,jp_sal,Kmm), sstfrz) ztmp1(:,:) = sstfrz(:,:) + rt0 - IF( ssnd(jps_sstfrz)%laction ) CALL cpl_snd( jps_sstfrz, isec, RESHAPE ( ztmp1, (/jpi,jpj,1/) ), info) + IF( ssnd(jps_sstfrz)%laction ) CALL cpl_snd( jps_sstfrz, isec, RESHAPE ( ztmp1, (/Ni_0,Nj_0,1/) ), info) #endif ! END SUBROUTINE sbc_cpl_snd diff --git a/src/OCE/SBC/sbcdcy.F90 b/src/OCE/SBC/sbcdcy.F90 index a6ccd0332..5ccd7ec71 100644 --- a/src/OCE/SBC/sbcdcy.F90 +++ b/src/OCE/SBC/sbcdcy.F90 @@ -49,8 +49,8 @@ CONTAINS !!---------------------------------------------------------------------- !! *** FUNCTION sbc_dcy_alloc *** !!---------------------------------------------------------------------- - ALLOCATE( raa (jpi,jpj) , rbb (jpi,jpj) , rcc (jpi,jpj) , rab (jpi,jpj) , & - & rtmd(jpi,jpj) , rdawn_dcy(jpi,jpj) , rdusk_dcy(jpi,jpj) , rscal(jpi,jpj) , STAT=sbc_dcy_alloc ) + ALLOCATE( raa (A2D(0)) , rbb (A2D(0)) , rcc (A2D(0)) , rab (A2D(0)) , & + & rtmd(A2D(0)) , rdawn_dcy(A2D(0)) , rdusk_dcy(A2D(0)) , rscal(A2D(0)) , STAT=sbc_dcy_alloc ) ! CALL mpp_sum ( 'sbcdcy', sbc_dcy_alloc ) IF( sbc_dcy_alloc /= 0 ) CALL ctl_stop( 'STOP', 'sbc_dcy_alloc: failed to allocate arrays' ) @@ -71,12 +71,12 @@ CONTAINS !! Impact of resolving the diurnal cycle in an ocean--atmosphere GCM. !! Part 1: a diurnally forced OGCM. Climate Dynamics 29:6, 575-590. !!---------------------------------------------------------------------- - LOGICAL , OPTIONAL , INTENT(in) :: l_mask ! use the routine for night mask computation - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: pqsrin ! input daily QSR flux - REAL(wp), DIMENSION(jpi,jpj) :: zqsrout ! output QSR flux with diurnal cycle + LOGICAL , OPTIONAL , INTENT(in) :: l_mask ! use the routine for night mask computation + REAL(wp), DIMENSION(A2D(0)), INTENT(in) :: pqsrin ! input daily QSR flux + REAL(wp), DIMENSION(A2D(0)) :: zqsrout ! output QSR flux with diurnal cycle !! INTEGER :: ji, jj ! dummy loop indices - INTEGER, DIMENSION(jpi,jpj) :: imask_night ! night mask + INTEGER, DIMENSION(A2D(0)) :: imask_night ! night mask REAL(wp) :: zlo, zup, zlousd, zupusd REAL(wp) :: ztmp, ztmp1, ztmp2 REAL(wp) :: ztmpm, ztmpm1, ztmpm2 @@ -100,16 +100,16 @@ CONTAINS ! Setting parameters for each new day: CALL sbc_dcy_param() - !CALL iom_put( "rdusk_dcy", rdusk_dcy(:,:)*tmask(:,:,1) ) !LB - !CALL iom_put( "rdawn_dcy", rdawn_dcy(:,:)*tmask(:,:,1) ) !LB - !CALL iom_put( "rscal_dcy", rscal(:,:)*tmask(:,:,1) ) !LB + !CALL iom_put( "rdusk_dcy", rdusk_dcy(:,:)*smask0(:,:) ) !LB + !CALL iom_put( "rdawn_dcy", rdawn_dcy(:,:)*smask0(:,:) ) !LB + !CALL iom_put( "rscal_dcy", rscal(:,:)*smask0(:,:) ) !LB ! 3. update qsr with the diurnal cycle ! ------------------------------------ imask_night(:,:) = 0 - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) ztmpm = 0._wp IF( ABS(rab(ji,jj)) < 1. ) THEN ! day duration is less than 24h ! @@ -161,7 +161,7 @@ CONTAINS SUBROUTINE sbc_dcy_param( ) !! INTEGER :: ji, jj ! dummy loop indices - !INTEGER, DIMENSION(jpi,jpj) :: imask_night ! night mask + !INTEGER, DIMENSION(A2D(0)) :: imask_night ! night mask REAL(wp) :: zdsws, zdecrad, ztx, zsin, zcos REAL(wp) :: ztmp, ztest !---------------------------statement functions------------------------ @@ -192,7 +192,7 @@ CONTAINS ! Compute A and B needed to compute the time integral of the diurnal cycle zsin = SIN( zdecrad ) ; zcos = COS( zdecrad ) - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) ztmp = rad * gphit(ji,jj) raa(ji,jj) = SIN( ztmp ) * zsin rbb(ji,jj) = COS( ztmp ) * zcos @@ -201,7 +201,7 @@ CONTAINS ! rab to test if the day time is equal to 0, less than 24h of full day rab(:,:) = -raa(:,:) / rbb(:,:) - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) IF( ABS(rab(ji,jj)) < 1._wp ) THEN ! day duration is less than 24h ! When is it night? ztx = 1._wp/(2._wp*rpi) * (ACOS(rab(ji,jj)) - rcc(ji,jj)) @@ -225,7 +225,7 @@ CONTAINS ! S* = the inverse of the time integral of the diurnal cycle from dawn to dusk ! Avoid possible infinite scaling factor, associated with very short daylight ! periods, by ignoring periods less than 1/1000th of a day (ticket #1040) - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) IF( ABS(rab(ji,jj)) < 1._wp ) THEN ! day duration is less than 24h rscal(ji,jj) = 0.0_wp IF( rdawn_dcy(ji,jj) < rdusk_dcy(ji,jj) ) THEN ! day time in one part diff --git a/src/OCE/SBC/sbcflx.F90 b/src/OCE/SBC/sbcflx.F90 index 7607f8e24..b5e94d0e4 100644 --- a/src/OCE/SBC/sbcflx.F90 +++ b/src/OCE/SBC/sbcflx.F90 @@ -114,8 +114,8 @@ CONTAINS CALL ctl_stop( 'sbc_flx: unable to allocate sf structure' ) ; RETURN ENDIF DO ji= 1, jpfld - ALLOCATE( sf(ji)%fnow(jpi,jpj,1) ) - IF( slf_i(ji)%ln_tint ) ALLOCATE( sf(ji)%fdta(jpi,jpj,1,2) ) + ALLOCATE( sf(ji)%fnow(A2D(0),1) ) + IF( slf_i(ji)%ln_tint ) ALLOCATE( sf(ji)%fdta(A2D(0),1,2) ) END DO ! ! fill sf with slf_i and control print CALL fld_fill( sf, slf_i, cn_dir, 'sbc_flx', 'flux formulation for ocean surface boundary condition', 'namsbc_flx' ) @@ -129,29 +129,25 @@ CONTAINS IF( MOD( kt-1, nn_fsbc ) == 0 ) THEN ! update ocean fluxes at each SBC frequency IF( ln_dm2dc ) THEN ! modify now Qsr to include the diurnal cycle - qsr(:,:) = sbc_dcy( sf(jp_qsr)%fnow(:,:,1) ) * tmask(:,:,1) + qsr(:,:) = sbc_dcy( sf(jp_qsr)%fnow(:,:,1) ) * smask0(:,:) ELSE - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) - qsr(ji,jj) = sf(jp_qsr)%fnow(ji,jj,1) * tmask(ji,jj,1) - END_2D + qsr(:,:) = sf(jp_qsr)%fnow(:,:,1) * smask0(:,:) ENDIF #if defined key_top IF( ln_trcdc2dm ) THEN ! diurnal cycle in TOP IF( ln_dm2dc ) THEN - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) - qsr_mean(ji,jj) = sf(jp_qsr)%fnow(ji,jj,1) * tmask(ji,jj,1) - END_2D + qsr_mean(:,:) = sf(jp_qsr)%fnow(:,:,1) * smask0(:,:) ELSE ncpl_qsr_freq = sf(jp_qsr)%freqh * 3600 ! qsr_mean will be computed in TOP ENDIF ENDIF #endif - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) ! set the ocean fluxes from read fields - utau(ji,jj) = sf(jp_utau)%fnow(ji,jj,1) * tmask(ji,jj,1) - vtau(ji,jj) = sf(jp_vtau)%fnow(ji,jj,1) * tmask(ji,jj,1) - qns (ji,jj) = ( sf(jp_qtot)%fnow(ji,jj,1) - sf(jp_qsr)%fnow(ji,jj,1) ) * tmask(ji,jj,1) - emp (ji,jj) = sf(jp_emp )%fnow(ji,jj,1) * tmask(ji,jj,1) - !!sfx (ji,jj) = sf(jp_sfx )%fnow(ji,jj,1) * tmask(ji,jj,1) + DO_2D( 0, 0, 0, 0 ) ! set the ocean fluxes from read fields + utau(ji,jj) = sf(jp_utau)%fnow(ji,jj,1) * smask0(ji,jj) + vtau(ji,jj) = sf(jp_vtau)%fnow(ji,jj,1) * smask0(ji,jj) + qns (ji,jj) = ( sf(jp_qtot)%fnow(ji,jj,1) - sf(jp_qsr)%fnow(ji,jj,1) ) * smask0(ji,jj) + emp (ji,jj) = sf(jp_emp )%fnow(ji,jj,1) * smask0(ji,jj) + !!sfx (ji,jj) = sf(jp_sfx )%fnow(ji,jj,1) * smask0(ji,jj) END_2D ! ! add to qns the heat due to e-p !!clem: I do not think it is needed @@ -173,8 +169,8 @@ CONTAINS ! ! module of wind stress and wind speed at T-point zcoef = 1. / ( zrhoa * zcdrag ) - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) - zmod = SQRT( utau(ji,jj) * utau(ji,jj) + vtau(ji,jj) * vtau(ji,jj) ) * tmask(ji,jj,1) + DO_2D( 0, 0, 0, 0 ) + zmod = SQRT( utau(ji,jj) * utau(ji,jj) + vtau(ji,jj) * vtau(ji,jj) ) * smask0(ji,jj) taum(ji,jj) = zmod wndm(ji,jj) = SQRT( zmod * zcoef ) !!clem: not used? END_2D diff --git a/src/OCE/SBC/sbcfwb.F90 b/src/OCE/SBC/sbcfwb.F90 index 58a17f028..7f9126cac 100644 --- a/src/OCE/SBC/sbcfwb.F90 +++ b/src/OCE/SBC/sbcfwb.F90 @@ -16,7 +16,7 @@ MODULE sbcfwb USE oce ! ocean dynamics and tracers USE dom_oce ! ocean space and time domain USE sbc_oce ! surface ocean boundary condition - USE isf_oce , ONLY : fwfisf_cav, fwfisf_par ! ice shelf melting contribution + USE isf_oce , ONLY : fwfisf_cav, fwfisf_par, ln_isfcpl, ln_isfcpl_cons, risfcpl_cons_ssh ! ice shelf melting contribution USE sbc_ice , ONLY : snwice_mass, snwice_mass_b, snwice_fmass USE phycst ! physical constants USE sbcrnf ! ocean runoffs @@ -40,6 +40,8 @@ MODULE sbcfwb REAL(wp) :: a_fwb_ini ! initial domain averaged freshwater budget REAL(wp) :: area ! global mean ocean surface (interior domain) + !! * Substitutions +# include "do_loop_substitute.h90" !!---------------------------------------------------------------------- !! NEMO/OCE 4.0 , NEMO Consortium (2018) !! $Id: sbcfwb.F90 15439 2021-10-22 17:53:09Z clem $ @@ -100,7 +102,7 @@ CONTAINS IF( kn_fwb == 3 .AND. nn_sssr /= 2 ) CALL ctl_stop( 'sbc_fwb: nn_fwb = 3 requires nn_sssr = 2, we stop ' ) IF( kn_fwb == 3 .AND. ln_isfcav ) CALL ctl_stop( 'sbc_fwb: nn_fwb = 3 with ln_isfcav = .TRUE. not working, we stop ' ) ! - area = glob_sum( 'sbcfwb', e1e2t(:,:) * tmask(:,:,1)) ! interior global domain surface + area = glob_sum( 'sbcfwb', e1e2t(A2D(0)) * smask0(:,:) ) ! interior global domain surface ! isf cavities are excluded because it can feedback to the melting with generation of inhibition of plumes ! and in case of no melt, it can generate HSSW. ! @@ -117,15 +119,15 @@ CONTAINS CASE ( 1 ) !== global mean fwf set to zero ==! ! IF( MOD( kt-1, kn_fsbc ) == 0 ) THEN - y_fwfnow(1) = local_sum( e1e2t(:,:) * ( emp(:,:) - rnf(:,:) - fwfisf_cav(:,:) - fwfisf_par(:,:) - snwice_fmass(:,:) ) ) + y_fwfnow(1) = local_sum( e1e2t(A2D(0)) * ( emp(A2D(0)) - rnf(A2D(0)) - fwfisf_cav(A2D(0)) - fwfisf_par(A2D(0)) & + & - snwice_fmass(A2D(0)) ) ) CALL mpp_delay_sum( 'sbcfwb', 'fwb', y_fwfnow(:), z_fwfprv(:), kt == nitend - nn_fsbc + 1 ) - z_fwfprv(1) = z_fwfprv(1) / area - zcoef = z_fwfprv(1) * rcp - emp(:,:) = emp(:,:) - z_fwfprv(1) * tmask(:,:,1) - qns(:,:) = qns(:,:) + zcoef * sst_m(:,:) * tmask(:,:,1) ! account for change to the heat budget due to fw correction + zcoef = z_fwfprv(1) / area + emp(A2D(0)) = emp(A2D(0)) - zcoef * smask0(:,:) + qns(:,:) = qns(:,:) + zcoef * rcp * sst_m(A2D(0)) * smask0(:,:) ! account for change to the heat budget due to fw correction ! outputs - IF( iom_use('hflx_fwb_cea') ) CALL iom_put( 'hflx_fwb_cea', zcoef * sst_m(:,:) * tmask(:,:,1) ) - IF( iom_use('vflx_fwb_cea') ) CALL iom_put( 'vflx_fwb_cea', z_fwfprv(1) * tmask(:,:,1) ) + IF( iom_use('hflx_fwb_cea') ) CALL iom_put( 'hflx_fwb_cea', zcoef * rcp * sst_m(A2D(0)) * smask0(:,:) ) + IF( iom_use('vflx_fwb_cea') ) CALL iom_put( 'vflx_fwb_cea', zcoef * smask0(:,:) ) ENDIF ! CASE ( 2 ) !== fw adjustment based on fw budget at the end of the previous year ==! @@ -136,7 +138,7 @@ CONTAINS & .AND. iom_varid( numror, 'a_fwb', ldstop = .FALSE. ) > 0 ) THEN IF(lwp) WRITE(numout,*) 'sbc_fwb : reading freshwater-budget from restart file' CALL iom_get( numror, 'a_fwb_b', a_fwb_b ) - CALL iom_get( numror, 'a_fwb' , a_fwb ) + CALL iom_get( numror, 'a_fwb' , a_fwb ) ! a_fwb_ini = a_fwb_b ELSE ! as specified in namelist @@ -168,11 +170,11 @@ CONTAINS ! IF( MOD( kt-1, kn_fsbc ) == 0 ) THEN ! correct the freshwater fluxes using previous year budget minus initial state zcoef = ( a_fwb - a_fwb_b ) - emp(:,:) = emp(:,:) + zcoef * tmask(:,:,1) - qns(:,:) = qns(:,:) - zcoef * rcp * sst_m(:,:) * tmask(:,:,1) ! account for change to the heat budget due to fw correction + emp(A2D(0)) = emp(A2D(0)) + zcoef * smask0(:,:) + qns(:,:) = qns(:,:) - zcoef * rcp * sst_m(A2D(0)) * smask0(:,:) ! account for change to the heat budget due to fw correction ! outputs - IF( iom_use('hflx_fwb_cea') ) CALL iom_put( 'hflx_fwb_cea', -zcoef * rcp * sst_m(:,:) * tmask(:,:,1) ) - IF( iom_use('vflx_fwb_cea') ) CALL iom_put( 'vflx_fwb_cea', -zcoef * tmask(:,:,1) ) + IF( iom_use('hflx_fwb_cea') ) CALL iom_put( 'hflx_fwb_cea', -zcoef * rcp * sst_m(A2D(0)) * smask0(:,:) ) + IF( iom_use('vflx_fwb_cea') ) CALL iom_put( 'vflx_fwb_cea', -zcoef * smask0(:,:) ) ENDIF ! Output restart information IF( lrst_oce ) THEN @@ -190,53 +192,51 @@ CONTAINS ! CASE ( 3 ) !== global fwf set to zero and spread out over erp area ==! ! - ALLOCATE( ztmsk_neg(jpi,jpj) , ztmsk_pos(jpi,jpj) , ztmsk_tospread(jpi,jpj) , z_wgt(jpi,jpj) , zerp_cor(jpi,jpj) ) + ALLOCATE( ztmsk_neg(A2D(0)) , ztmsk_pos(A2D(0)) , ztmsk_tospread(A2D(0)) , z_wgt(A2D(0)) , zerp_cor(A2D(0)) ) ! IF( MOD( kt-1, kn_fsbc ) == 0 ) THEN - ztmsk_pos(:,:) = tmask_i(:,:) ! Select <0 and >0 area of erp + ztmsk_pos(:,:) = smask0_i(:,:) ! Select <0 and >0 area of erp WHERE( erp < 0._wp ) ztmsk_pos = 0._wp - ztmsk_neg(:,:) = tmask_i(:,:) - ztmsk_pos(:,:) + ztmsk_neg(:,:) = smask0_i(:,:) - ztmsk_pos(:,:) ! ! fwf global mean (excluding ocean to ice/snow exchanges) - z_fwf = glob_sum( 'sbcfwb', e1e2t(:,:) * ( emp(:,:) - rnf(:,:) - fwfisf_cav(:,:) - fwfisf_par(:,:) - snwice_fmass(:,:) ) ) / area + z_fwf = glob_sum( 'sbcfwb', e1e2t(A2D(0)) * ( emp(A2D(0)) - rnf(A2D(0)) - fwfisf_cav(A2D(0)) - fwfisf_par(A2D(0)) & + & - snwice_fmass(A2D(0)) ) ) / area ! IF( z_fwf < 0._wp ) THEN ! spread out over >0 erp area to increase evaporation - zsurf_pos = glob_sum( 'sbcfwb', e1e2t(:,:)*ztmsk_pos(:,:) ) + zsurf_pos = glob_sum( 'sbcfwb', e1e2t(A2D(0))*ztmsk_pos(:,:) ) zsurf_tospread = zsurf_pos ztmsk_tospread(:,:) = ztmsk_pos(:,:) ELSE ! spread out over <0 erp area to increase precipitation - zsurf_neg = glob_sum( 'sbcfwb', e1e2t(:,:)*ztmsk_neg(:,:) ) ! Area filled by <0 and >0 erp + zsurf_neg = glob_sum( 'sbcfwb', e1e2t(A2D(0))*ztmsk_neg(:,:) ) ! Area filled by <0 and >0 erp zsurf_tospread = zsurf_neg ztmsk_tospread(:,:) = ztmsk_neg(:,:) ENDIF ! - zsum_fwf = glob_sum( 'sbcfwb', e1e2t(:,:) * z_fwf ) ! fwf global mean over <0 or >0 erp area + zsum_fwf = glob_sum( 'sbcfwb', e1e2t(A2D(0)) * z_fwf ) ! fwf global mean over <0 or >0 erp area !!gm : zsum_fwf = z_fwf * area ??? it is right? I think so.... z_fwf_nsrf = zsum_fwf / ( zsurf_tospread + rsmall ) ! ! weight to respect erp field 2D structure - zsum_erp = glob_sum( 'sbcfwb', ztmsk_tospread(:,:) * erp(:,:) * e1e2t(:,:) ) + zsum_erp = glob_sum( 'sbcfwb', ztmsk_tospread(:,:) * erp(:,:) * e1e2t(A2D(0)) ) z_wgt(:,:) = ztmsk_tospread(:,:) * erp(:,:) / ( zsum_erp + rsmall ) ! ! final correction term to apply zerp_cor(:,:) = -1. * z_fwf_nsrf * zsurf_tospread * z_wgt(:,:) ! -!!gm ===>>>> lbc_lnk should be useless as all the computation is done over the whole domain ! - CALL lbc_lnk( 'sbcfwb', zerp_cor, 'T', 1.0_wp ) - ! - emp(:,:) = emp(:,:) + zerp_cor(:,:) - qns(:,:) = qns(:,:) - zerp_cor(:,:) * rcp * sst_m(:,:) ! account for change to the heat budget due to fw correction - erp(:,:) = erp(:,:) + zerp_cor(:,:) + emp(A2D(0)) = emp(A2D(0)) + zerp_cor(:,:) + qns(:,:) = qns(:,:) - zerp_cor(:,:) * rcp * sst_m(A2D(0)) ! account for change to the heat budget due to fw correction + erp(:,:) = erp(:,:) + zerp_cor(:,:) ! outputs - IF( iom_use('hflx_fwb_cea') ) CALL iom_put( 'hflx_fwb_cea', -zerp_cor(:,:) * rcp * sst_m(:,:) ) + IF( iom_use('hflx_fwb_cea') ) CALL iom_put( 'hflx_fwb_cea', -zerp_cor(:,:) * rcp * sst_m(A2D(0)) ) IF( iom_use('vflx_fwb_cea') ) CALL iom_put( 'vflx_fwb_cea', -zerp_cor(:,:) ) ! IF( lwp ) THEN ! control print IF( z_fwf < 0._wp ) THEN WRITE(numout,*)' z_fwf < 0' - WRITE(numout,*)' SUM(erp+) = ', SUM( ztmsk_tospread(:,:)*erp(:,:)*e1e2t(:,:) )*1.e-9,' Sv' + WRITE(numout,*)' SUM(erp+) = ', SUM( ztmsk_tospread(:,:)*erp(:,:)*e1e2t(A2D(0)) )*1.e-9,' Sv' ELSE WRITE(numout,*)' z_fwf >= 0' - WRITE(numout,*)' SUM(erp-) = ', SUM( ztmsk_tospread(:,:)*erp(:,:)*e1e2t(:,:) )*1.e-9,' Sv' + WRITE(numout,*)' SUM(erp-) = ', SUM( ztmsk_tospread(:,:)*erp(:,:)*e1e2t(A2D(0)) )*1.e-9,' Sv' ENDIF - WRITE(numout,*)' SUM(empG) = ', SUM( z_fwf*e1e2t(:,:) )*1.e-9,' Sv' + WRITE(numout,*)' SUM(empG) = ', SUM( z_fwf*e1e2t(A2D(0)) )*1.e-9,' Sv' WRITE(numout,*)' z_fwf = ', z_fwf ,' Kg/m2/s' WRITE(numout,*)' z_fwf_nsrf = ', z_fwf_nsrf ,' Kg/m2/s' WRITE(numout,*)' MIN(zerp_cor) = ', MINVAL(zerp_cor) @@ -245,6 +245,31 @@ CONTAINS ENDIF DEALLOCATE( ztmsk_neg , ztmsk_pos , ztmsk_tospread , z_wgt , zerp_cor ) ! + CASE ( 4 ) !== global mean fwf set to zero (ISOMIP case) ==! + ! + IF( MOD( kt-1, kn_fsbc ) == 0 ) THEN + ! ! fwf global mean (excluding ocean to ice/snow exchanges) + zcoef = glob_sum( 'sbcfwb', e1e2t(A2D(0)) * ( emp(A2D(0)) - rnf(A2D(0)) - fwfisf_cav(A2D(0)) - fwfisf_par(A2D(0)) & + & - snwice_fmass(A2D(0)) ) ) / area + ! clem: use y_fwfnow instead to improve performance? + !y_fwfnow(1) = local_sum( e1e2t(A2D(0)) * ( emp(A2D(0)) - rnf(A2D(0)) - fwfisf_cav(A2D(0)) - fwfisf_par(A2D(0)) & + ! & - snwice_fmass(A2D(0)) ) ) + ! correction for ice sheet coupling testing (ie remove the excess through the surface) + ! test impact on the melt as conservation correction made in depth + ! test conservation level as sbcfwb is conserving + ! avoid the model to blow up for large ssh drop (isomip OCEAN3 with melt switch off and uniform T/S) + IF (ln_isfcpl .AND. ln_isfcpl_cons) THEN + zcoef = zcoef + glob_sum( 'sbcfwb', e1e2t(A2D(0)) * risfcpl_cons_ssh(A2D(0)) * rho0 ) / area + ! y_fwfnow(1) = y_fwfnow(1) + local_sum( e1e2t(A2D(0)) * risfcpl_cons_ssh(A2D(0)) * rho0 ) + END IF + !CALL mpp_delay_sum( 'sbcfwb', 'fwb', y_fwfnow(:), z_fwfprv(:), kt == nitend - nn_fsbc + 1 ) + !zcoef = z_fwfprv(1) / area + ! + emp(A2D(0)) = emp(A2D(0)) - zcoef * smask0(:,:) ! (Eq. 34 AD2015) + qns(:,:) = qns(:,:) + zcoef * rcp * sst_m(A2D(0)) * smask0(:,:) ! (Eq. 35 AD2015) ! use sst_m to avoid generation of any bouyancy fluxes + sfx(:,:) = sfx(:,:) + zcoef * sss_m(A2D(0)) * smask0(:,:) ! (Eq. 36 AD2015) ! use sss_m to avoid generation of any bouyancy fluxes + ENDIF + ! CASE DEFAULT !== you should never be there ==! CALL ctl_stop( 'sbc_fwb : wrong nn_fwb value for the FreshWater Budget correction, choose either 1, 2 or 3' ) ! diff --git a/src/OCE/SBC/sbcice_if.F90 b/src/OCE/SBC/sbcice_if.F90 index d5acb2918..c406c7408 100644 --- a/src/OCE/SBC/sbcice_if.F90 +++ b/src/OCE/SBC/sbcice_if.F90 @@ -85,8 +85,8 @@ CONTAINS ALLOCATE( sf_ice(1), STAT=ierror ) IF( ierror > 0 ) CALL ctl_stop( 'STOP', 'sbc_ice_if: unable to allocate sf_ice structure' ) - ALLOCATE( sf_ice(1)%fnow(jpi,jpj,1) ) - IF( sn_ice%ln_tint ) ALLOCATE( sf_ice(1)%fdta(jpi,jpj,1,2) ) + ALLOCATE( sf_ice(1)%fnow(A2D(0),1) ) + IF( sn_ice%ln_tint ) ALLOCATE( sf_ice(1)%fdta(A2D(0),1,2) ) ! fill sf_ice with sn_ice and control print CALL fld_fill( sf_ice, (/ sn_ice /), cn_dir, 'sbc_ice_if', 'ice-if sea-ice model', 'namsbc_iif' ) @@ -108,8 +108,12 @@ CONTAINS IF( ln_cpl ) a_i(:,:,1) = fr_i(:,:) ! Flux and ice fraction computation - DO_2D( 1, 1, 1, 1 ) - ! + DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + zt_fzp = fr_i(ji,jj) ! freezing point temperature + ts(ji,jj,1,jp_tem,Kmm) = MAX( ts(ji,jj,1,jp_tem,Kmm), zt_fzp ) ! avoid over-freezing point temperature + END_2D + + DO_2D( 0, 0, 0, 0 ) zt_fzp = fr_i(ji,jj) ! freezing point temperature zfr_obs = sf_ice(1)%fnow(ji,jj,1) ! observed ice cover ! ! ocean ice fraction (0/1) from the freezing point temperature @@ -117,8 +121,6 @@ CONTAINS ELSE ; fr_i(ji,jj) = 0.e0 ENDIF - ts(ji,jj,1,jp_tem,Kmm) = MAX( ts(ji,jj,1,jp_tem,Kmm), zt_fzp ) ! avoid over-freezing point temperature - qsr(ji,jj) = ( 1. - zfr_obs ) * qsr(ji,jj) ! solar heat flux : zero below observed ice cover ! ! non solar heat flux : add a damping term @@ -127,7 +129,7 @@ CONTAINS zqri = ztrp * ( ts(ji,jj,1,jp_tem,Kbb) - ( zt_fzp - 1.) ) zqrj = ztrp * MIN( 0., ts(ji,jj,1,jp_tem,Kbb) - zt_fzp ) zqrp = ( zfr_obs * ( (1. - fr_i(ji,jj) ) * zqri & - & + fr_i(ji,jj) * zqrj ) ) * tmask(ji,jj,1) + & + fr_i(ji,jj) * zqrj ) ) * smask0(ji,jj) ! ! non-solar heat flux ! # qns unchanged if no climatological ice (zfr_obs=0) @@ -136,7 +138,7 @@ CONTAINS ! (-2=arctic, -4=antarctic) zqi = -3. + SIGN( 1._wp, ff_f(ji,jj) ) qns(ji,jj) = ( ( 1.- zfr_obs ) * qns(ji,jj) & - & + zfr_obs * fr_i(ji,jj) * zqi ) * tmask(ji,jj,1) & + & + zfr_obs * fr_i(ji,jj) * zqi ) * smask0(ji,jj) & & + zqrp END_2D ! diff --git a/src/OCE/SBC/sbcmod.F90 b/src/OCE/SBC/sbcmod.F90 index 81f018a49..78e2e3aea 100644 --- a/src/OCE/SBC/sbcmod.F90 +++ b/src/OCE/SBC/sbcmod.F90 @@ -51,6 +51,7 @@ MODULE sbcmod USE sbcfwb ! surface boundary condition: freshwater budget USE icbstp ! Icebergs USE icb_oce , ONLY : ln_passive_mode ! iceberg interaction mode + USE isf_oce , ONLY : ln_isf, l_isfoasis, fwfisf_oasis USE traqsr ! active tracers: light penetration USE sbcwave ! Wave module USE bdy_oce , ONLY: ln_bdy @@ -374,7 +375,7 @@ CONTAINS !! !! ** Action : - set the ocean surface boundary condition at before and now !! time step, i.e. - !! utau_b, vtau_b, qns_b, qsr_b, emp_n, sfx_b, qrp_b, erp_b + !! utau_b, vtau_b, qns_b, qsr_b, emp_b, sfx_b !! utau , vtau , qns , qsr , emp , sfx , qrp , erp !! - updte the ice fraction : fr_i !!---------------------------------------------------------------------- @@ -382,12 +383,10 @@ CONTAINS INTEGER, INTENT(in) :: Kbb, Kmm ! ocean time level indices INTEGER :: jj, ji ! dummy loop argument ! - LOGICAL :: ll_sas, ll_opa ! local logical + LOGICAL :: ll_sas, ll_opa ! local logical ! - REAL(wp) :: zthscl ! wd tanh scale - REAL(wp), DIMENSION(jpi,jpj) :: zwdht, zwght ! wd dep over wd limit, wgt - REAL(wp), DIMENSION(jpi,jpj) :: z2d ! temporary array used for iom_put - + REAL(wp) :: zthscl ! wd tanh scale + REAL(wp) :: zwdht, zwght ! wd dep over wd limit, wgt !!--------------------------------------------------------------------- ! IF( ln_timing ) CALL timing_start('sbc') @@ -409,6 +408,8 @@ CONTAINS ! ! ---------------------------------------- ! ! ! forcing field computation ! ! ! ---------------------------------------- ! + ! most of the following routines update fields only in the interior + ! with the exception of sbcssm, sbcrnf and sbcwave modules ! ll_sas = nn_components == jp_iam_sas ! component flags ll_opa = nn_components == jp_iam_oce @@ -417,7 +418,6 @@ CONTAINS ! ! !== sbc formulation ==! ! - ! SELECT CASE( nsbc ) ! Compute ocean surface boundary condition ! ! (i.e. utau,vtau, qns, qsr, emp, sfx) CASE( jp_usr ) ; CALL usrdef_sbc_oce( kt, Kbb ) ! user defined formulation @@ -427,7 +427,7 @@ CONTAINS !!!!!!!!!!! ATTENTION:ln_wave is not only used for oasis coupling !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! IF( ln_wave ) THEN IF ( lk_oasis ) CALL sbc_cpl_rcv ( kt, nn_fsbc, nn_ice, Kbb, Kmm ) ! OCE-wave coupling - CALL sbc_wave ( kt, Kmm ) + CALL sbc_wave ( kt, Kmm ) ENDIF CALL sbc_blk ( kt ) ! bulk formulation for the ocean ! @@ -444,7 +444,7 @@ CONTAINS ! IF( ln_wave .AND. ln_tauoc ) THEN ! Wave stress reduction ! - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) utau(ji,jj) = utau(ji,jj) * tauoc_wave(ji,jj) vtau(ji,jj) = vtau(ji,jj) * tauoc_wave(ji,jj) taum(ji,jj) = taum(ji,jj) * tauoc_wave(ji,jj) @@ -453,8 +453,8 @@ CONTAINS IF( kt == nit000 ) CALL ctl_warn( 'sbc: You are subtracting the wave stress to the ocean.', & & 'If not requested select ln_tauoc=.false.' ) ! - ELSEIF( ln_wave .AND. ln_taw ) THEN ! Wave stress reduction - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + ELSEIF( ln_wave .AND. ln_taw ) THEN ! Wave stress reduction + DO_2D( 0, 0, 0, 0 ) utau(ji,jj) = utau(ji,jj) - tawx(ji,jj) + twox(ji,jj) vtau(ji,jj) = vtau(ji,jj) - tawy(ji,jj) + twoy(ji,jj) taum(ji,jj) = SQRT( utau(ji,jj)*utau(ji,jj) + vtau(ji,jj)*vtau(ji,jj) ) @@ -465,10 +465,17 @@ CONTAINS ! ENDIF ! + !clem: these calls are needed for sbccpl only => only for SAS I think? + IF( ll_sas .OR. ll_opa ) CALL lbc_lnk( 'sbcmod', sst_m, 'T', 1.0_wp, sss_m, 'T', 1.0_wp, ssh_m, 'T', 1.0_wp, & + & frq_m, 'T', 1.0_wp, e3t_m, 'T', 1.0_wp, fr_i , 'T', 1.0_wp ) + !clem : these calls are needed for sbccpl => it needs an IF statement but it's complicated + IF( ln_isf .AND. l_isfoasis ) CALL lbc_lnk( 'sbcmod', fwfisf_oasis, 'T', 1.0_wp ) + IF( ln_rnf .AND. l_rnfcpl ) CALL lbc_lnk( 'sbcmod', rnf, 'T', 1.0_wp, fwficb , 'T', 1.0_wp ) ! IF( ln_icebergs ) THEN ! save pure stresses (with no ice-ocean stress) for use by icebergs ! 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 + CALL lbc_lnk( 'sbcmod', utau, 'T', -1.0_wp, vtau, 'T', -1.0_wp ) DO_2D( 0, 0, 0, 0 ) utau_icb(ji,jj) = 0.5_wp * ( utau(ji,jj) + utau(ji+1,jj) ) * & & ( 2. - umask(ji,jj,1) ) * MAX( tmask(ji,jj,1), tmask(ji+1,jj,1) ) @@ -480,26 +487,26 @@ CONTAINS ! ! !== Misc. Options ==! ! - SELECT CASE( nn_ice ) ! Update heat and freshwater fluxes over sea-ice areas - CASE( 1 ) ; CALL sbc_ice_if ( kt, Kbb, Kmm ) ! Ice-cover climatology ("Ice-if" model) + SELECT CASE( nn_ice ) ! Update heat and freshwater fluxes over sea-ice areas + CASE( 1 ) ; CALL sbc_ice_if ( kt, Kbb, Kmm ) ! Ice-cover climatology ("Ice-if" model) #if defined key_si3 - CASE( 2 ) ; CALL ice_stp ( kt, Kbb, Kmm, nsbc ) ! SI3 ice model + CASE( 2 ) ; CALL ice_stp ( kt, Kbb, Kmm, nsbc ) ! SI3 ice model #endif - CASE( 3 ) ; CALL sbc_ice_cice ( kt, nsbc ) ! CICE ice model + CASE( 3 ) ; CALL sbc_ice_cice ( kt, nsbc ) ! CICE ice model END SELECT - - IF( ln_icebergs ) CALL icb_stp( kt, Kmm ) ! compute icebergs + !==> clem: from here on, the following fields are ok on the halos: snwice_mass, snwice_mass_b, snwice_fmass + ! but not utau, vtau, emp (must be done later on) + + IF( ln_icebergs ) CALL icb_stp( kt, Kmm ) ! compute icebergs ! Icebergs do not melt over the haloes. ! So emp values over the haloes are no more consistent with the inner domain values. ! A lbc_lnk is therefore needed to ensure reproducibility and restartability. ! see ticket #2113 for discussion about this lbc_lnk. - ! The lbc_lnk is also needed for SI3 with nn_hls > 1 as emp is not yet defined for these points in iceupdate.F90 - IF( (ln_icebergs .AND. .NOT. ln_passive_mode) .OR. (nn_ice == 2 .AND. nn_hls == 2) ) THEN - CALL lbc_lnk( 'sbcmod', emp, 'T', 1.0_wp ) - ENDIF - - IF( ln_rnf ) CALL sbc_rnf( kt ) ! add runoffs to fresh water fluxes +!!$ IF( ln_icebergs .AND. .NOT. ln_passive_mode ) CALL lbc_lnk( 'sbcmod', emp, 'T', 1.0_wp ) + !clem: not needed anymore since lbc is done afterwards + + IF( ln_rnf ) CALL sbc_rnf( kt ) ! add runoffs to fresh water fluxes IF( ln_ssr ) CALL sbc_ssr( kt ) ! add SST/SSS damping term @@ -511,27 +518,36 @@ CONTAINS IF( ll_wd ) THEN ! If near WAD point limit the flux for now zthscl = atanh(rn_wd_sbcfra) ! taper frac default is .999 - zwdht(:,:) = ssh(:,:,Kmm) + ht_0(:,:) - rn_wdmin1 ! do this calc of water - ! depth above wd limit once - WHERE( zwdht(:,:) <= 0.0 ) - taum(:,:) = 0.0 - utau(:,:) = 0.0 - vtau(:,:) = 0.0 - qns (:,:) = 0.0 - qsr (:,:) = 0.0 - emp (:,:) = min(emp(:,:),0.0) !can allow puddles to grow but not shrink - sfx (:,:) = 0.0 - END WHERE - zwght(:,:) = tanh(zthscl*zwdht(:,:)) - WHERE( zwdht(:,:) > 0.0 .and. zwdht(:,:) < rn_wd_sbcdep ) ! 5 m hard limit here is arbitrary - qsr (:,:) = qsr(:,:) * zwght(:,:) - qns (:,:) = qns(:,:) * zwght(:,:) - taum (:,:) = taum(:,:) * zwght(:,:) - utau (:,:) = utau(:,:) * zwght(:,:) - vtau (:,:) = vtau(:,:) * zwght(:,:) - sfx (:,:) = sfx(:,:) * zwght(:,:) - emp (:,:) = emp(:,:) * zwght(:,:) - END WHERE + DO_2D( 0, 0, 0, 0 ) + zwdht = ssh(ji,jj,Kmm) + ht_0(ji,jj) - rn_wdmin1 ! do this calc of water depth above wd limit once + zwght = TANH(zthscl*zwdht) + IF( zwdht <= 0.0 ) THEN + taum(ji,jj) = 0.0 + utau(ji,jj) = 0.0 + vtau(ji,jj) = 0.0 + qns (ji,jj) = 0.0 + qsr (ji,jj) = 0.0 + emp (ji,jj) = MIN(emp(ji,jj),0.0) !can allow puddles to grow but not shrink + sfx (ji,jj) = 0.0 + ELSEIF( zwdht > 0.0 .AND. zwdht < rn_wd_sbcdep ) THEN ! 5 m hard limit here is arbitrary + qsr (ji,jj) = qsr(ji,jj) * zwght + qns (ji,jj) = qns(ji,jj) * zwght + taum (ji,jj) = taum(ji,jj) * zwght + utau (ji,jj) = utau(ji,jj) * zwght + vtau (ji,jj) = vtau(ji,jj) * zwght + sfx (ji,jj) = sfx(ji,jj) * zwght + emp (ji,jj) = emp(ji,jj) * zwght + ENDIF + END_2D + ENDIF + + ! clem: these should be the only fields that are needed over the entire domain + ! (in addition to snwice_mass) + IF( ln_rnf ) THEN + CALL lbc_lnk( 'sbcmod', utau, 'T', -1.0_wp, vtau , 'T', -1.0_wp, emp, 'T', 1.0_wp, & + & rnf , 'T', 1.0_wp, fwficb, 'T', 1.0_wp ) ! fwficb is used on the halos in pisces (only) + ELSE + CALL lbc_lnk( 'sbcmod', utau, 'T', -1.0_wp, vtau , 'T', -1.0_wp, emp, 'T', 1.0_wp ) ENDIF ! --- calculate utau and vtau on U,V-points --- ! ! Note the use of 0.5*(2-umask) in order to unmask the stress along coastlines @@ -600,29 +616,14 @@ CONTAINS ! ! Outputs and control print ! ! ! ---------------------------------------- ! IF( MOD( kt-1, nn_fsbc ) == 0 ) THEN - IF( iom_use("empmr") ) THEN - DO_2D( 0, 0, 0, 0 ) - z2d(ji,jj) = emp(ji,jj) - rnf(ji,jj) - END_2D - CALL iom_put( "empmr" , z2d ) ! upward water flux - ENDIF - IF( iom_use("empbmr") ) THEN - DO_2D( 0, 0, 0, 0 ) - z2d(ji,jj) = emp_b(ji,jj) - rnf(ji,jj) - END_2D - CALL iom_put( "empbmr" , z2d ) ! before upward water flux ( needed to recalculate the time evolution of ssh in offline ) - ENDIF - CALL iom_put( "saltflx", sfx ) ! downward salt flux (includes virtual salt flux beneath ice in linear free surface case) + CALL iom_put( "empmr" , emp(A2D(0))-rnf(A2D(0)) ) ! upward water flux + CALL iom_put( "empbmr" , emp_b(A2D(0))-rnf(A2D(0)) ) ! before upward water flux (for ssh in offline ) + CALL iom_put( "saltflx", sfx ) ! downward salt flux CALL iom_put( "fmmflx" , fmmflx ) ! Freezing-melting water flux - IF( iom_use("qt") ) THEN - DO_2D( 0, 0, 0, 0 ) - z2d(ji,jj) = qns(ji,jj) + qsr(ji,jj) - END_2D - CALL iom_put( "qt" , z2d ) ! total heat flux - ENDIF + CALL iom_put( "qt" , qns+qsr ) ! total heat flux CALL iom_put( "qns" , qns ) ! solar heat flux CALL iom_put( "qsr" , qsr ) ! solar heat flux - IF( nn_ice > 0 .OR. ll_opa ) CALL iom_put( "ice_cover", fr_i ) ! ice fraction + IF( nn_ice > 0 .OR. ll_opa ) CALL iom_put( "ice_cover", fr_i(:,:) ) ! ice fraction CALL iom_put( "taum" , taum ) ! wind stress module CALL iom_put( "wspd" , wndm ) ! wind speed module over free ocean or leads in presence of sea-ice CALL iom_put( "qrp" , qrp ) ! heat flux damping @@ -632,12 +633,12 @@ CONTAINS IF(sn_cfctl%l_prtctl) THEN ! print mean trends (used for debugging) CALL prt_ctl(tab2d_1=fr_i , clinfo1=' fr_i - : ', mask1=tmask ) CALL prt_ctl(tab2d_1=(emp-rnf) , clinfo1=' emp-rnf - : ', mask1=tmask ) - CALL prt_ctl(tab2d_1=(sfx-rnf) , clinfo1=' sfx-rnf - : ', mask1=tmask ) + CALL prt_ctl(tab2d_1=(sfx-rnf(A2D(0))) , clinfo1=' sfx-rnf - : ', mask1=tmask ) CALL prt_ctl(tab2d_1=qns , clinfo1=' qns - : ', mask1=tmask ) CALL prt_ctl(tab2d_1=qsr , clinfo1=' qsr - : ', mask1=tmask ) CALL prt_ctl(tab3d_1=tmask , clinfo1=' tmask - : ', mask1=tmask, kdim=jpk ) - CALL prt_ctl(tab3d_1=ts(:,:,:,jp_tem,Kmm), clinfo1=' sst - : ', mask1=tmask, kdim=1 ) - CALL prt_ctl(tab3d_1=ts(:,:,:,jp_sal,Kmm), clinfo1=' sss - : ', mask1=tmask, kdim=1 ) + CALL prt_ctl(tab2d_1=sst_m , clinfo1=' sst - : ', mask1=tmask ) + CALL prt_ctl(tab2d_1=sss_m , clinfo1=' sss - : ', mask1=tmask ) CALL prt_ctl(tab2d_1=utau , clinfo1=' utau - : ', mask1=tmask, & & tab2d_2=vtau , clinfo2=' vtau - : ', mask2=tmask ) ENDIF diff --git a/src/OCE/SBC/sbcrnf.F90 b/src/OCE/SBC/sbcrnf.F90 index 758d4f4ba..367e3c7cf 100644 --- a/src/OCE/SBC/sbcrnf.F90 +++ b/src/OCE/SBC/sbcrnf.F90 @@ -83,9 +83,9 @@ CONTAINS !!---------------------------------------------------------------------- !! *** ROUTINE sbc_rnf_alloc *** !!---------------------------------------------------------------------- - ALLOCATE( rnfmsk(jpi,jpj) , rnfmsk_z(jpk) , & - & h_rnf (jpi,jpj) , nk_rnf (jpi,jpj) , & - & rnf_tsc_b(jpi,jpj,jpts) , rnf_tsc (jpi,jpj,jpts) , STAT=sbc_rnf_alloc ) + ALLOCATE( rnfmsk(jpi,jpj) , rnfmsk_z(jpk) , & + & h_rnf (jpi,jpj) , nk_rnf (jpi,jpj) , & + & rnf_tsc_b(A2D(0),jpts) , rnf_tsc (A2D(0),jpts) , STAT=sbc_rnf_alloc ) ! CALL mpp_sum ( 'sbcrnf', sbc_rnf_alloc ) IF( sbc_rnf_alloc > 0 ) CALL ctl_warn('sbc_rnf_alloc: allocation of arrays failed') @@ -109,8 +109,6 @@ CONTAINS INTEGER :: ji, jj ! dummy loop indices INTEGER :: z_err = 0 ! dummy integer for error handling !!---------------------------------------------------------------------- - REAL(wp), DIMENSION(jpi,jpj) :: ztfrz ! freezing point used for temperature correction - ! ! ! !-------------------! ! ! Update runoff ! @@ -118,8 +116,8 @@ CONTAINS ! ! IF( .NOT. l_rnfcpl ) THEN - CALL fld_read ( kt, nn_fsbc, sf_rnf ) ! Read Runoffs data and provide it at kt ( runoffs + iceberg ) - IF( ln_rnf_icb ) CALL fld_read ( kt, nn_fsbc, sf_i_rnf ) ! idem for iceberg flux if required + CALL fld_read ( kt, nn_fsbc, sf_rnf ) ! Read Runoffs data and provide it at kt ( runoffs + iceberg ) + IF( ln_rnf_icb ) CALL fld_read ( kt, nn_fsbc, sf_i_rnf ) ! idem for iceberg flux if required ENDIF IF( ln_rnf_tem ) CALL fld_read ( kt, nn_fsbc, sf_t_rnf ) ! idem for runoffs temperature if required IF( ln_rnf_sal ) CALL fld_read ( kt, nn_fsbc, sf_s_rnf ) ! idem for runoffs salinity if required @@ -127,33 +125,32 @@ CONTAINS IF( MOD( kt - 1, nn_fsbc ) == 0 ) THEN ! IF( .NOT. l_rnfcpl ) THEN - rnf(:,:) = rn_rfact * ( sf_rnf(1)%fnow(:,:,1) ) * tmask(:,:,1) ! updated runoff value at time step kt + rnf(A2D(0)) = rn_rfact * ( sf_rnf(1)%fnow(:,:,1) ) * smask0(:,:) ! updated runoff value at time step kt IF( ln_rnf_icb ) THEN - fwficb(:,:) = rn_rfact * ( sf_i_rnf(1)%fnow(:,:,1) ) * tmask(:,:,1) ! updated runoff value at time step kt - rnf(:,:) = rnf(:,:) + fwficb(:,:) - qns(:,:) = qns(:,:) - fwficb(:,:) * rLfus + fwficb(A2D(0)) = rn_rfact * ( sf_i_rnf(1)%fnow(:,:,1) ) * smask0(:,:) ! updated runoff value at time step kt + rnf(A2D(0)) = rnf(A2D(0)) + fwficb(A2D(0)) + qns(:,:) = qns(:,:) - fwficb(A2D(0)) * rLfus !!qns_tot(:,:) = qns_tot(:,:) - fwficb(:,:) * rLfus !!qns_oce(:,:) = qns_oce(:,:) - fwficb(:,:) * rLfus - CALL iom_put( 'iceberg_cea' , fwficb(:,:) ) ! output iceberg flux - CALL iom_put( 'hflx_icb_cea' , -fwficb(:,:) * rLfus ) ! output Heat Flux into Sea Water due to Iceberg Thermodynamics --> + CALL iom_put( 'iceberg_cea' , fwficb(A2D(0)) ) ! output iceberg flux + CALL iom_put( 'hflx_icb_cea' , -fwficb(A2D(0)) * rLfus ) ! output Heat Flux into Sea Water due to Iceberg Thermodynamics --> ENDIF ENDIF ! ! ! set temperature & salinity content of runoffs IF( ln_rnf_tem ) THEN ! use runoffs temperature data - rnf_tsc(:,:,jp_tem) = ( sf_t_rnf(1)%fnow(:,:,1) ) * rnf(:,:) * r1_rho0 - CALL eos_fzp( sss_m(:,:), ztfrz(:,:) ) + rnf_tsc(:,:,jp_tem) = ( sf_t_rnf(1)%fnow(:,:,1) ) * rnf(A2D(0)) * r1_rho0 WHERE( sf_t_rnf(1)%fnow(:,:,1) == -999._wp ) ! if missing data value use SST as runoffs temperature - rnf_tsc(:,:,jp_tem) = sst_m(:,:) * rnf(:,:) * r1_rho0 + rnf_tsc(:,:,jp_tem) = sst_m(A2D(0)) * rnf(A2D(0)) * r1_rho0 END WHERE ELSE ! use SST as runoffs temperature !CEOD River is fresh water so must at least be 0 unless we consider ice - rnf_tsc(:,:,jp_tem) = MAX( sst_m(:,:), 0.0_wp ) * rnf(:,:) * r1_rho0 + rnf_tsc(:,:,jp_tem) = MAX( sst_m(A2D(0)), 0.0_wp ) * rnf(A2D(0)) * r1_rho0 ENDIF ! ! use runoffs salinity data - IF( ln_rnf_sal ) rnf_tsc(:,:,jp_sal) = ( sf_s_rnf(1)%fnow(:,:,1) ) * rnf(:,:) * r1_rho0 + IF( ln_rnf_sal ) rnf_tsc(:,:,jp_sal) = ( sf_s_rnf(1)%fnow(:,:,1) ) * rnf(A2D(0)) * r1_rho0 ! ! else use S=0 for runoffs (done one for all in the init) - CALL iom_put( 'runoffs' , rnf(:,:) ) ! output runoff mass flux + CALL iom_put( 'runoffs' , rnf(A2D(0)) ) ! output runoff mass flux IF( iom_use('hflx_rnf_cea') ) CALL iom_put( 'hflx_rnf_cea', rnf_tsc(:,:,jp_tem) * rho0 * rcp ) ! output runoff sensible heat (W/m2) IF( iom_use('sflx_rnf_cea') ) CALL iom_put( 'sflx_rnf_cea', rnf_tsc(:,:,jp_sal) * rho0 ) ! output runoff salt flux (g/m2/s) ENDIF @@ -168,13 +165,15 @@ CONTAINS CALL iom_get( numror, jpdom_auto, 'rnf_sc_b', rnf_tsc_b(:,:,jp_sal) ) ! before salinity content of runoff ELSE !* no restart: set from nit000 values IF(lwp) WRITE(numout,*) ' nit000-1 runoff forcing fields set to nit000' - rnf_b (:,: ) = rnf (:,: ) - rnf_tsc_b(:,:,:) = rnf_tsc(:,:,:) + CALL lbc_lnk( 'sbcrnf', rnf, 'T', 1.0_wp ) + rnf_b (:,:) = rnf (:,:) + rnf_tsc_b(:,:,:) = rnf_tsc(:,:,:) ENDIF ENDIF ! ! ---------------------------------------- ! IF( lrst_oce ) THEN ! Write in the ocean restart file ! ! ! ---------------------------------------- ! + ! IF(lwp) WRITE(numout,*) IF(lwp) WRITE(numout,*) 'sbcrnf : runoff forcing fields written in ocean restart file ', & & 'at it= ', kt,' date= ', ndastp @@ -323,8 +322,8 @@ CONTAINS IF( ierror > 0 ) THEN CALL ctl_stop( 'sbc_rnf_init: unable to allocate sf_rnf structure' ) ; RETURN ENDIF - ALLOCATE( sf_rnf(1)%fnow(jpi,jpj,1) ) - IF( sn_rnf%ln_tint ) ALLOCATE( sf_rnf(1)%fdta(jpi,jpj,1,2) ) + ALLOCATE( sf_rnf(1)%fnow(A2D(0),1) ) + IF( sn_rnf%ln_tint ) ALLOCATE( sf_rnf(1)%fdta(A2D(0),1,2) ) CALL fld_fill( sf_rnf, (/ sn_rnf /), cn_dir, 'sbc_rnf_init', 'read runoffs data', 'namsbc_rnf', no_print ) ! IF( ln_rnf_icb ) THEN ! Create (if required) sf_i_rnf structure @@ -334,11 +333,13 @@ CONTAINS IF( ierror > 0 ) THEN CALL ctl_stop( 'sbc_rnf_init: unable to allocate sf_i_rnf structure' ) ; RETURN ENDIF - ALLOCATE( sf_i_rnf(1)%fnow(jpi,jpj,1) ) - IF( sn_i_rnf%ln_tint ) ALLOCATE( sf_i_rnf(1)%fdta(jpi,jpj,1,2) ) + ALLOCATE( sf_i_rnf(1)%fnow(A2D(0),1) ) + IF( sn_i_rnf%ln_tint ) ALLOCATE( sf_i_rnf(1)%fdta(A2D(0),1,2) ) CALL fld_fill (sf_i_rnf, (/ sn_i_rnf /), cn_dir, 'sbc_rnf_init', 'read iceberg flux data', 'namsbc_rnf' ) ELSE - fwficb(:,:) = 0._wp + DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + fwficb(ji,jj) = 0._wp + END_2D ENDIF ENDIF @@ -350,8 +351,8 @@ CONTAINS IF( ierror > 0 ) THEN CALL ctl_stop( 'sbc_rnf_init: unable to allocate sf_t_rnf structure' ) ; RETURN ENDIF - ALLOCATE( sf_t_rnf(1)%fnow(jpi,jpj,1) ) - IF( sn_t_rnf%ln_tint ) ALLOCATE( sf_t_rnf(1)%fdta(jpi,jpj,1,2) ) + ALLOCATE( sf_t_rnf(1)%fnow(A2D(0),1) ) + IF( sn_t_rnf%ln_tint ) ALLOCATE( sf_t_rnf(1)%fdta(A2D(0),1,2) ) CALL fld_fill (sf_t_rnf, (/ sn_t_rnf /), cn_dir, 'sbc_rnf_init', 'read runoff temperature data', 'namsbc_rnf', no_print ) ENDIF ! @@ -362,8 +363,8 @@ CONTAINS IF( ierror > 0 ) THEN CALL ctl_stop( 'sbc_rnf_init: unable to allocate sf_s_rnf structure' ) ; RETURN ENDIF - ALLOCATE( sf_s_rnf(1)%fnow(jpi,jpj,1) ) - IF( sn_s_rnf%ln_tint ) ALLOCATE( sf_s_rnf(1)%fdta(jpi,jpj,1,2) ) + ALLOCATE( sf_s_rnf(1)%fnow(A2D(0),1) ) + IF( sn_s_rnf%ln_tint ) ALLOCATE( sf_s_rnf(1)%fdta(A2D(0),1,2) ) CALL fld_fill (sf_s_rnf, (/ sn_s_rnf /), cn_dir, 'sbc_rnf_init', 'read runoff salinity data', 'namsbc_rnf', no_print ) ENDIF ! @@ -378,8 +379,7 @@ CONTAINS CALL iom_get ( inum, jpdom_global, sn_dep_rnf%clvar, h_rnf, kfill = jpfillcopy ) ! read the river mouth. no 0 on halos! CALL iom_close( inum ) ! close file ! - nk_rnf(:,:) = 0 ! set the number of level over which river runoffs are applied - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) ! set the number of level over which river runoffs are applied IF( h_rnf(ji,jj) > 0._wp ) THEN jk = 2 DO WHILE ( jk < mbkt(ji,jj) .AND. gdept_0(ji,jj,jk) < h_rnf(ji,jj) ) ; jk = jk + 1 @@ -392,7 +392,8 @@ CONTAINS WRITE(999,*) 'ji, jj, h_rnf(ji,jj) :', ji, jj, h_rnf(ji,jj) ENDIF END_2D - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) ! set the associated depth + ! + DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) ! set the associated depth h_rnf(ji,jj) = 0._wp DO jk = 1, nk_rnf(ji,jj) h_rnf(ji,jj) = h_rnf(ji,jj) + e3t(ji,jj,jk,Kmm) @@ -407,7 +408,7 @@ CONTAINS IF(lwp) WRITE(numout,*) ' depth over which runoffs is spread rn_dep_max = ', rn_dep_max IF(lwp) WRITE(numout,*) ' create (=1) a runoff depth file or not (=0) nn_rnf_depth_file = ', nn_rnf_depth_file - CALL iom_open( TRIM( sn_rnf%clname ), inum ) ! open runoff file + CALL iom_open( TRIM( sn_rnf%clname ), inum ) ! open runoff file nbrec = iom_getszuld( inum ) zrnfcl(:,:,1) = 0._wp ! init the max to 0. in 1 DO jm = 1, nbrec @@ -416,21 +417,20 @@ CONTAINS END DO CALL iom_close( inum ) ! - h_rnf(:,:) = 1. - ! - zacoef = rn_dep_max / rn_rnf_max ! coef of linear relation between runoff and its depth (150m for max of runoff) + zacoef = rn_dep_max / rn_rnf_max ! coef of linear relation between runoff and its depth (150m for max of runoff) ! - WHERE( zrnfcl(:,:,1) > 0._wp ) h_rnf(:,:) = zacoef * zrnfcl(:,:,1) ! compute depth for all runoffs + WHERE( zrnfcl(:,:,1) > 0._wp ) ; h_rnf(:,:) = zacoef * zrnfcl(:,:,1) ! compute depth for all runoffs + ELSEWHERE ; h_rnf(:,:) = 1._wp + ENDWHERE ! - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) ! take in account min depth of ocean rn_hmin + DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) ! take in account min depth of ocean rn_hmin IF( zrnfcl(ji,jj,1) > 0._wp ) THEN jk = mbkt(ji,jj) h_rnf(ji,jj) = MIN( h_rnf(ji,jj), gdept_0(ji,jj,jk ) ) ENDIF END_2D ! - nk_rnf(:,:) = 0 ! number of levels on which runoffs are distributed - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) ! number of levels on which runoffs are distributed IF( zrnfcl(ji,jj,1) > 0._wp ) THEN jk = 2 DO WHILE ( jk < mbkt(ji,jj) .AND. gdept_0(ji,jj,jk) < h_rnf(ji,jj) ) ; jk = jk + 1 @@ -441,27 +441,33 @@ CONTAINS ENDIF END_2D ! - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) ! set the associated depth + DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) ! set the associated depth h_rnf(ji,jj) = 0._wp DO jk = 1, nk_rnf(ji,jj) h_rnf(ji,jj) = h_rnf(ji,jj) + e3t(ji,jj,jk,Kmm) END DO END_2D ! - IF( nn_rnf_depth_file == 1 ) THEN ! save output nb levels for runoff + IF( nn_rnf_depth_file == 1 ) THEN ! save output nb levels for runoff IF(lwp) WRITE(numout,*) ' ==>>> create runoff depht file' CALL iom_open ( TRIM( sn_dep_rnf%clname ), inum, ldwrt = .TRUE. ) CALL iom_rstput( 0, 0, inum, 'rodepth', h_rnf ) CALL iom_close ( inum ) ENDIF - ELSE ! runoffs applied at the surface - nk_rnf(:,:) = 1 - h_rnf (:,:) = e3t(:,:,1,Kmm) + ELSE ! runoffs applied at the surface + DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + nk_rnf(ji,jj) = 1 + h_rnf (ji,jj) = e3t(ji,jj,1,Kmm) + END_2D ENDIF ! - rnf(:,:) = 0._wp ! runoff initialisation - rnf_tsc(:,:,:) = 0._wp ! runoffs temperature & salinty contents initilisation - ! + DO_2D( 0, 0, 0, 0 ) + rnf(ji,jj) = 0._wp ! runoff initialisation + END_2D + DO_3D( 0, 0, 0, 0, 1, jpts ) + rnf_tsc(ji,jj,jk) = 0._wp ! runoffs temperature & salinty contents initilisation + END_3D + ! ! ! ======================== ! ! River mouth vicinity ! ! ======================== @@ -493,11 +499,13 @@ CONTAINS ELSE ! No treatment at river mouths IF(lwp) WRITE(numout,*) IF(lwp) WRITE(numout,*) ' ==>>> No specific treatment at river mouths' - rnfmsk (:,:) = 0._wp + DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + rnfmsk(ji,jj) = 0._wp + END_2D rnfmsk_z(:) = 0._wp nkrnf = 0 ENDIF - ! + ! END SUBROUTINE sbc_rnf_init diff --git a/src/OCE/SBC/sbcssr.F90 b/src/OCE/SBC/sbcssr.F90 index 09088c45c..2b607dbb9 100644 --- a/src/OCE/SBC/sbcssr.F90 +++ b/src/OCE/SBC/sbcssr.F90 @@ -97,8 +97,8 @@ CONTAINS erp(:,:) = 0._wp ! IF( nn_sstr == 1 ) THEN !* Temperature restoring term - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) - zqrp = rn_dqdt * ( sst_m(ji,jj) - sf_sst(1)%fnow(ji,jj,1) ) * tmask(ji,jj,1) + DO_2D( 0, 0, 0, 0 ) + zqrp = rn_dqdt * ( sst_m(ji,jj) - sf_sst(1)%fnow(ji,jj,1) ) * smask0(ji,jj) qns(ji,jj) = qns(ji,jj) + zqrp qrp(ji,jj) = zqrp END_2D @@ -107,7 +107,7 @@ CONTAINS IF( nn_sssr /= 0 .AND. nn_sssr_ice /= 1 ) THEN ! use fraction of ice ( fr_i ) to adjust relaxation under ice if nn_sssr_ice .ne. 1 ! n.b. coefice is initialised and fixed to 1._wp if nn_sssr_ice = 1 - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) SELECT CASE ( nn_sssr_ice ) CASE ( 0 ) ; coefice(ji,jj) = 1._wp - fr_i(ji,jj) ! no/reduced damping under ice CASE DEFAULT ; coefice(ji,jj) = 1._wp + ( nn_sssr_ice - 1 ) * fr_i(ji,jj) ! reinforced damping (x nn_sssr_ice) under ice ) @@ -117,10 +117,10 @@ CONTAINS ! IF( nn_sssr == 1 ) THEN !* Salinity damping term (salt flux only (sfx)) zsrp = rn_deds / rday ! from [mm/day] to [kg/m2/s] - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) zerp = zsrp * ( 1. - 2.*rnfmsk(ji,jj) ) & ! No damping in vicinity of river mouths & * coefice(ji,jj) & ! Optional control of damping under sea-ice - & * ( sss_m(ji,jj) - sf_sss(1)%fnow(ji,jj,1) ) * tmask(ji,jj,1) + & * ( sss_m(ji,jj) - sf_sss(1)%fnow(ji,jj,1) ) * smask0(ji,jj) sfx(ji,jj) = sfx(ji,jj) + zerp ! salt flux erp(ji,jj) = zerp / MAX( sss_m(ji,jj), 1.e-20 ) ! converted into an equivalent volume flux (diagnostic only) END_2D @@ -128,21 +128,21 @@ CONTAINS ELSEIF( nn_sssr == 2 ) THEN !* Salinity damping term (volume flux (emp) and associated heat flux (qns) zsrp = rn_deds / rday ! from [mm/day] to [kg/m2/s] zerp_bnd = rn_sssr_bnd / rday ! - - - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) zerp = zsrp * ( 1. - 2.*rnfmsk(ji,jj) ) & ! No damping in vicinity of river mouths & * coefice(ji,jj) & ! Optional control of damping under sea-ice & * ( sss_m(ji,jj) - sf_sss(1)%fnow(ji,jj,1) ) & - & / MAX( sss_m(ji,jj), 1.e-20 ) * tmask(ji,jj,1) + & / MAX( sss_m(ji,jj), 1.e-20 ) * smask0(ji,jj) IF( ln_sssr_bnd ) zerp = SIGN( 1.0_wp, zerp ) * MIN( zerp_bnd, ABS(zerp) ) - emp(ji,jj) = emp (ji,jj) + zerp - qns(ji,jj) = qns(ji,jj) - zerp * rcp * sst_m(ji,jj) erp(ji,jj) = zerp - qrp(ji,jj) = qrp(ji,jj) - zerp * rcp * sst_m(ji,jj) + emp(ji,jj) = emp(ji,jj) + erp(ji,jj) + qns(ji,jj) = qns(ji,jj) - erp(ji,jj) * rcp * sst_m(ji,jj) + qrp(ji,jj) = qrp(ji,jj) - erp(ji,jj) * rcp * sst_m(ji,jj) END_2D ENDIF ! outputs CALL iom_put( 'hflx_ssr_cea', qrp(:,:) ) - IF( nn_sssr == 1 ) CALL iom_put( 'sflx_ssr_cea', erp(:,:) * sss_m(:,:) ) + IF( nn_sssr == 1 ) CALL iom_put( 'sflx_ssr_cea', erp(:,:) * sss_m(A2D(0)) ) IF( nn_sssr == 2 ) CALL iom_put( 'vflx_ssr_cea', -erp(:,:) ) ! ENDIF @@ -207,12 +207,12 @@ CONTAINS ! ALLOCATE( sf_sst(1), STAT=ierror ) IF( ierror > 0 ) CALL ctl_stop( 'STOP', 'sbc_ssr: unable to allocate sf_sst structure' ) - ALLOCATE( sf_sst(1)%fnow(jpi,jpj,1), STAT=ierror ) + ALLOCATE( sf_sst(1)%fnow(A2D(0),1), STAT=ierror ) IF( ierror > 0 ) CALL ctl_stop( 'STOP', 'sbc_ssr: unable to allocate sf_sst now array' ) ! ! fill sf_sst with sn_sst and control print CALL fld_fill( sf_sst, (/ sn_sst /), cn_dir, 'sbc_ssr', 'SST restoring term toward SST data', 'namsbc_ssr', no_print ) - IF( sf_sst(1)%ln_tint ) ALLOCATE( sf_sst(1)%fdta(jpi,jpj,1,2), STAT=ierror ) + IF( sf_sst(1)%ln_tint ) ALLOCATE( sf_sst(1)%fdta(A2D(0),1,2), STAT=ierror ) IF( ierror > 0 ) CALL ctl_stop( 'STOP', 'sbc_ssr: unable to allocate sf_sst data array' ) ! ENDIF @@ -221,12 +221,12 @@ CONTAINS ! ALLOCATE( sf_sss(1), STAT=ierror ) IF( ierror > 0 ) CALL ctl_stop( 'STOP', 'sbc_ssr: unable to allocate sf_sss structure' ) - ALLOCATE( sf_sss(1)%fnow(jpi,jpj,1), STAT=ierror ) + ALLOCATE( sf_sss(1)%fnow(A2D(0),1), STAT=ierror ) IF( ierror > 0 ) CALL ctl_stop( 'STOP', 'sbc_ssr: unable to allocate sf_sss now array' ) ! ! fill sf_sss with sn_sss and control print CALL fld_fill( sf_sss, (/ sn_sss /), cn_dir, 'sbc_ssr', 'SSS restoring term toward SSS data', 'namsbc_ssr', no_print ) - IF( sf_sss(1)%ln_tint ) ALLOCATE( sf_sss(1)%fdta(jpi,jpj,1,2), STAT=ierror ) + IF( sf_sss(1)%ln_tint ) ALLOCATE( sf_sss(1)%fdta(A2D(0),1,2), STAT=ierror ) IF( ierror > 0 ) CALL ctl_stop( 'STOP', 'sbc_ssr: unable to allocate sf_sss data array' ) ! ENDIF @@ -244,7 +244,7 @@ CONTAINS !!---------------------------------------------------------------------- sbc_ssr_alloc = 0 ! set to zero if no array to be allocated IF( .NOT. ALLOCATED( erp ) ) THEN - ALLOCATE( qrp(jpi,jpj), erp(jpi,jpj), coefice(jpi,jpj), STAT= sbc_ssr_alloc ) + ALLOCATE( qrp(A2D(0)), erp(A2D(0)), coefice(A2D(0)), STAT= sbc_ssr_alloc ) ! IF( lk_mpp ) CALL mpp_sum ( 'sbcssr', sbc_ssr_alloc ) IF( sbc_ssr_alloc /= 0 ) CALL ctl_warn('sbc_ssr_alloc: failed to allocate arrays.') diff --git a/src/OCE/SBC/sbcwave.F90 b/src/OCE/SBC/sbcwave.F90 index 2264938d7..cb0b219ef 100644 --- a/src/OCE/SBC/sbcwave.F90 +++ b/src/OCE/SBC/sbcwave.F90 @@ -115,14 +115,13 @@ CONTAINS INTEGER :: jj, ji, jk ! dummy loop argument INTEGER :: ik ! local integer REAL(wp) :: ztransp, zfac, ztemp, zsp0, zsqrt, zbreiv16_w - REAL(wp) :: zdep_u, zdep_v, zkh_u, zkh_v, zda_u, zda_v, sdtrp + REAL(wp) :: zdep_u, zdep_v, zkh_u, zkh_v, zda_u, zda_v, sdtrp, zInt_w0, zInt_w1 REAL(wp), DIMENSION(:,:) , ALLOCATABLE :: zk_t, zk_u, zk_v, zu0_sd, zv0_sd ! 2D workspace - REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: ze3divh, zInt_w ! 3D workspace + REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: ze3divh ! 3D workspace !!--------------------------------------------------------------------- ! ALLOCATE( ze3divh(jpi,jpj,jpkm1) ) ! jpkm1 -> avoid lbc_lnk on jpk that is not defined - ALLOCATE( zInt_w(jpi,jpj,jpk) ) - ALLOCATE( zk_t(jpi,jpj), zk_u(jpi,jpj), zk_v(jpi,jpj), zu0_sd(jpi,jpj), zv0_sd(jpi,jpj) ) + ALLOCATE( zk_t(A2D(1)), zk_u(A2D(0)), zk_v(A2D(0)), zu0_sd(A2D(1)), zv0_sd(A2D(1)) ) zk_t (:,:) = 0._wp zk_u (:,:) = 0._wp zk_v (:,:) = 0._wp @@ -138,7 +137,7 @@ CONTAINS ! sdtrp is the norm of Stokes transport ! zfac = 0.166666666667_wp - DO_2D( 1, 1, 1, 1 ) ! In the deep-water limit we have ke = ||ust0||/( 6 * ||transport|| ) + DO_2D( 0, 1, 0, 1 ) ! In the deep-water limit we have ke = ||ust0||/( 6 * ||transport|| ) zsp0 = SQRT( ut0sd(ji,jj)*ut0sd(ji,jj) + vt0sd(ji,jj)*vt0sd(ji,jj) ) !<-- norm of Surface Stokes drift tsd2d(ji,jj) = zsp0 IF( cpl_tusd .AND. cpl_tvsd ) THEN !stokes transport is provided in coupled mode @@ -150,35 +149,40 @@ CONTAINS ENDIF zk_t (ji,jj) = zfac * zsp0 / MAX ( sdtrp, 0.0000001_wp ) !<-- ke = ||ust0||/( 6 * ||transport|| ) END_2D - !# define zInt_w ze3divh - DO_3D( 1, 1, 1, 1, 1, jpk ) ! Compute the primitive of Breivik 2016 function at W-points - zfac = - 2._wp * zk_t (ji,jj) * gdepw(ji,jj,jk,Kmm) !<-- zfac should be negative definite - ztemp = EXP ( zfac ) - zsqrt = SQRT( -zfac ) - zbreiv16_w = ztemp - SQRT(rpi)*zsqrt*ERFC(zsqrt) !Eq. 16 Breivik 2016 - zInt_w(ji,jj,jk) = ztemp - 4._wp * zk_t (ji,jj) * gdepw(ji,jj,jk,Kmm) * zbreiv16_w - END_3D -! + ! DO jk = 1, jpkm1 zfac = 0.166666666667_wp - DO_2D( 1, 1, 1, 1 ) !++ Compute the FV Breivik 2016 function at T-points + DO_2D( 0, 1, 0, 1 ) !++ Compute the FV Breivik 2016 function at T-points + ! zInt at jk + zfac = - 2._wp * zk_t (ji,jj) * gdepw(ji,jj,jk,Kmm) !<-- zfac should be negative definite + ztemp = EXP ( zfac ) + zsqrt = SQRT( -zfac ) + zbreiv16_w = ztemp - SQRT(rpi)*zsqrt*ERFC(zsqrt) !Eq. 16 Breivik 2016 + zInt_w0 = ztemp - 4._wp * zk_t (ji,jj) * gdepw(ji,jj,jk,Kmm) * zbreiv16_w + ! zInt at jk+1 + zfac = - 2._wp * zk_t (ji,jj) * gdepw(ji,jj,jk+1,Kmm) !<-- zfac should be negative definite + ztemp = EXP ( zfac ) + zsqrt = SQRT( -zfac ) + zbreiv16_w = ztemp - SQRT(rpi)*zsqrt*ERFC(zsqrt) !Eq. 16 Breivik 2016 + zInt_w1 = ztemp - 4._wp * zk_t (ji,jj) * gdepw(ji,jj,jk+1,Kmm) * zbreiv16_w + ! + ! zsp0 = zfac / MAX(zk_t (ji,jj),0.0000001_wp) - ztemp = zInt_w(ji,jj,jk) - zInt_w(ji,jj,jk+1) + ztemp = zInt_w0 - zInt_w1 zu0_sd(ji,jj) = ut0sd(ji,jj) * zsp0 * ztemp * tmask(ji,jj,jk) zv0_sd(ji,jj) = vt0sd(ji,jj) * zsp0 * ztemp * tmask(ji,jj,jk) END_2D - DO_2D( 1, 0, 1, 0 ) ! ++ Interpolate at U/V points + DO_2D( 0, 0, 0, 0 ) ! ++ Interpolate at U/V points zfac = 1.0_wp / e3u(ji ,jj,jk,Kmm) usd(ji,jj,jk) = 0.5_wp * zfac * ( zu0_sd(ji,jj)+zu0_sd(ji+1,jj) ) * umask(ji,jj,jk) zfac = 1.0_wp / e3v(ji ,jj,jk,Kmm) vsd(ji,jj,jk) = 0.5_wp * zfac * ( zv0_sd(ji,jj)+zv0_sd(ji,jj+1) ) * vmask(ji,jj,jk) END_2D ENDDO - !# undef zInt_w - ! + ! ELSE zfac = 2.0_wp * rpi / 16.0_wp - DO_2D( 1, 1, 1, 1 ) + DO_2D( 0, 1, 0, 1 ) ! Stokes drift velocity estimated from Hs and Tmean ztransp = zfac * hsw(ji,jj)*hsw(ji,jj) / MAX( wmp(ji,jj), 0.0000001_wp ) ! Stokes surface speed @@ -186,7 +190,7 @@ CONTAINS ! Wavenumber scale zk_t(ji,jj) = ABS( tsd2d(ji,jj) ) / MAX( ABS( 5.97_wp*ztransp ), 0.0000001_wp ) END_2D - DO_2D( 1, 0, 1, 0 ) ! exp. wave number & Stokes drift velocity at u- & v-points + DO_2D( 0, 0, 0, 0 ) ! exp. wave number & Stokes drift velocity at u- & v-points zk_u(ji,jj) = 0.5_wp * ( zk_t(ji,jj) + zk_t(ji+1,jj) ) zk_v(ji,jj) = 0.5_wp * ( zk_t(ji,jj) + zk_t(ji,jj+1) ) ! @@ -248,7 +252,7 @@ CONTAINS CALL iom_put( "vstokes", vsd ) CALL iom_put( "wstokes", wsd ) ! ! - DEALLOCATE( ze3divh, zInt_w ) + DEALLOCATE( ze3divh ) DEALLOCATE( zk_t, zk_u, zk_v, zu0_sd, zv0_sd ) ! END SUBROUTINE sbc_stokes @@ -274,12 +278,12 @@ CONTAINS ! IF( ln_cdgw .AND. .NOT. cpl_wdrag ) THEN !== Neutral drag coefficient ==! CALL fld_read( kt, nn_fsbc, sf_cd ) ! read from external forcing - cdn_wave(:,:) = sf_cd(1)%fnow(:,:,1) * tmask(:,:,1) + cdn_wave(:,:) = sf_cd(1)%fnow(:,:,1) * smask0(:,:) ENDIF IF( ln_tauoc .AND. .NOT. cpl_wstrf ) THEN !== Wave induced stress ==! CALL fld_read( kt, nn_fsbc, sf_tauoc ) ! read stress reduction factor due to wave from external forcing - tauoc_wave(:,:) = sf_tauoc(1)%fnow(:,:,1) * tmask(:,:,1) + tauoc_wave(:,:) = sf_tauoc(1)%fnow(:,:,1) * smask0(:,:) ELSEIF ( ln_taw .AND. cpl_taw ) THEN IF (kt < 1) THEN ! The first fields gave by OASIS have very high erroneous values .... twox(:,:)=0._wp @@ -315,7 +319,7 @@ CONTAINS ! coupling routines IF( ln_zdfswm .AND. .NOT. cpl_wnum ) THEN !==wavenumber==! CALL fld_read( kt, nn_fsbc, sf_wn ) ! read wave parameters from external forcing - wnum(:,:) = sf_wn(1)%fnow(:,:,1) * tmask(:,:,1) + wnum(:,:) = sf_wn(1)%fnow(:,:,1) * smask0(:,:) ENDIF ! @@ -391,10 +395,10 @@ CONTAINS ! !== Allocate wave arrays ==! ALLOCATE( ut0sd (jpi,jpj) , vt0sd (jpi,jpj) ) ALLOCATE( hsw (jpi,jpj) , wmp (jpi,jpj) ) - ALLOCATE( wnum (jpi,jpj) ) ALLOCATE( tsd2d (jpi,jpj) , div_sd(jpi,jpj) , bhd_wave(jpi,jpj) ) ALLOCATE( usd (jpi,jpj,jpk), vsd (jpi,jpj,jpk), wsd (jpi,jpj,jpk) ) - ALLOCATE( tusd (jpi,jpj) , tvsd (jpi,jpj) , ZMX (jpi,jpj,jpk) ) + ALLOCATE( tusd (jpi,jpj) , tvsd (jpi,jpj) ) + ALLOCATE( wnum (A2D(0)) , ZMX (A2D(0),jpk) ) usd (:,:,:) = 0._wp vsd (:,:,:) = 0._wp wsd (:,:,:) = 0._wp @@ -422,30 +426,30 @@ CONTAINS ALLOCATE( sf_cd(1), STAT=ierror ) !* allocate and fill sf_wave with sn_cdg IF( ierror > 0 ) CALL ctl_stop( 'STOP', 'sbc_wave_init: unable to allocate sf_wave structure' ) ! - ALLOCATE( sf_cd(1)%fnow(jpi,jpj,1) ) - IF( sn_cdg%ln_tint ) ALLOCATE( sf_cd(1)%fdta(jpi,jpj,1,2) ) + ALLOCATE( sf_cd(1)%fnow(A2D(0),1) ) + IF( sn_cdg%ln_tint ) ALLOCATE( sf_cd(1)%fdta(A2D(0),1,2) ) CALL fld_fill( sf_cd, (/ sn_cdg /), cn_dir, 'sbc_wave_init', 'Wave module ', 'namsbc_wave' ) ENDIF - ALLOCATE( cdn_wave(jpi,jpj) ) + ALLOCATE( cdn_wave(A2D(0)) ) cdn_wave(:,:) = 0._wp ENDIF IF( ln_charn ) THEN ! wave drag IF( .NOT. cpl_charn ) THEN CALL ctl_stop( 'STOP', 'Charnock based wind stress can be used in coupled mode only' ) ENDIF - ALLOCATE( charn(jpi,jpj) ) + ALLOCATE( charn(A2D(0)) ) charn(:,:) = 0._wp ENDIF IF( ln_taw ) THEN ! wind stress IF( .NOT. cpl_taw ) THEN CALL ctl_stop( 'STOP', 'wind stress from wave model can be used in coupled mode only, use ln_cdgw instead' ) ENDIF - ALLOCATE( tawx(jpi,jpj) ) - ALLOCATE( tawy(jpi,jpj) ) - ALLOCATE( twox(jpi,jpj) ) - ALLOCATE( twoy(jpi,jpj) ) - ALLOCATE( tauoc_wavex(jpi,jpj) ) - ALLOCATE( tauoc_wavey(jpi,jpj) ) + ALLOCATE( tawx(A2D(0)) ) + ALLOCATE( tawy(A2D(0)) ) + ALLOCATE( twox(A2D(0)) ) + ALLOCATE( twoy(A2D(0)) ) + ALLOCATE( tauoc_wavex(A2D(0)) ) + ALLOCATE( tauoc_wavey(A2D(0)) ) tawx(:,:) = 0._wp tawy(:,:) = 0._wp twox(:,:) = 0._wp @@ -458,7 +462,7 @@ CONTAINS IF( .NOT. cpl_phioc ) THEN CALL ctl_stop( 'STOP', 'phioc can be used in coupled mode only' ) ENDIF - ALLOCATE( phioc(jpi,jpj) ) + ALLOCATE( phioc(A2D(0)) ) phioc(:,:) = 0._wp ENDIF @@ -467,11 +471,11 @@ CONTAINS ALLOCATE( sf_tauoc(1), STAT=ierror ) !* allocate and fill sf_wave with sn_tauoc IF( ierror > 0 ) CALL ctl_stop( 'STOP', 'sbc_wave_init: unable to allocate sf_tauoc structure' ) ! - ALLOCATE( sf_tauoc(1)%fnow(jpi,jpj,1) ) - IF( sn_tauoc%ln_tint ) ALLOCATE( sf_tauoc(1)%fdta(jpi,jpj,1,2) ) + ALLOCATE( sf_tauoc(1)%fnow(A2D(0),1) ) + IF( sn_tauoc%ln_tint ) ALLOCATE( sf_tauoc(1)%fdta(A2D(0),1,2) ) CALL fld_fill( sf_tauoc, (/ sn_tauoc /), cn_dir, 'sbc_wave_init', 'Wave module', 'namsbc_wave' ) ENDIF - ALLOCATE( tauoc_wave(jpi,jpj) ) + ALLOCATE( tauoc_wave(A2D(0)) ) tauoc_wave(:,:) = 0._wp ENDIF @@ -518,8 +522,8 @@ CONTAINS IF( .NOT. cpl_wnum ) THEN ALLOCATE( sf_wn(1), STAT=ierror ) !* allocate and fill sf_wave with sn_wnum IF( ierror > 0 ) CALL ctl_stop( 'STOP', 'sbc_wave_init: unable to allocate sf_wn structure' ) - ALLOCATE( sf_wn(1)%fnow(jpi,jpj,1) ) - IF( sn_wnum%ln_tint ) ALLOCATE( sf_wn(1)%fdta(jpi,jpj,1,2) ) + ALLOCATE( sf_wn(1)%fnow(A2D(0),1) ) + IF( sn_wnum%ln_tint ) ALLOCATE( sf_wn(1)%fdta(A2D(0),1,2) ) CALL fld_fill( sf_wn, (/ sn_wnum /), cn_dir, 'sbc_wave', 'Wave module', 'namsbc_wave' ) ENDIF ! diff --git a/src/OCE/TRA/eosbn2.F90 b/src/OCE/TRA/eosbn2.F90 index 1f808dfb9..5a04a3ca0 100644 --- a/src/OCE/TRA/eosbn2.F90 +++ b/src/OCE/TRA/eosbn2.F90 @@ -83,9 +83,11 @@ MODULE eosbn2 INTEGER , PARAMETER :: np_teos10 = -1 ! parameter for using TEOS10 INTEGER , PARAMETER :: np_eos80 = 0 ! parameter for using EOS80 - INTEGER , PARAMETER :: np_seos = 1 ! parameter for using Simplified Equation of state + INTEGER , PARAMETER :: np_seos = 1 ! parameter for using Simplified Equation of state ! !!! simplified eos coefficients (default value: Vallis 2006) + REAL(wp), PUBLIC :: rn_T0 = 10._wp ! reference temperature + REAL(wp), PUBLIC :: rn_S0 = 35._wp ! reference salinity REAL(wp), PUBLIC :: rn_a0 = 1.6550e-1_wp ! thermal expansion coeff. REAL(wp), PUBLIC :: rn_b0 = 7.6554e-1_wp ! saline expansion coeff. REAL(wp) :: rn_lambda1 = 5.9520e-2_wp ! cabbeling coeff. in T^2 @@ -272,8 +274,8 @@ CONTAINS CASE( np_seos ) !== simplified EOS ==! ! DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpkm1 ) - zt = pts (ji,jj,jk,jp_tem,Knn) - 10._wp - zs = pts (ji,jj,jk,jp_sal,Knn) - 35._wp + zt = pts (ji,jj,jk,jp_tem,Knn) - rn_T0 + zs = pts (ji,jj,jk,jp_sal,Knn) - rn_S0 zh = gdept(ji,jj,jk,Knn) ztm = tmask(ji,jj,jk) ! @@ -391,8 +393,8 @@ CONTAINS CASE( np_seos ) !== simplified EOS ==! ! DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpkm1 ) - zt = pts (ji,jj,jk,jp_tem) - 10._wp - zs = pts (ji,jj,jk,jp_sal) - 35._wp + zt = pts (ji,jj,jk,jp_tem) - rn_T0 + zs = pts (ji,jj,jk,jp_sal) - rn_S0 zh = pdep (ji,jj,jk) ztm = tmask(ji,jj,jk) ! @@ -556,8 +558,8 @@ CONTAINS CASE( np_seos ) !== simplified EOS ==! ! DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpkm1 ) - zt = pts (ji,jj,jk,jp_tem) - 10._wp - zs = pts (ji,jj,jk,jp_sal) - 35._wp + zt = pts (ji,jj,jk,jp_tem) - rn_T0 + zs = pts (ji,jj,jk,jp_sal) - rn_S0 zh = pdep (ji,jj,jk) ztm = tmask(ji,jj,jk) ! ! potential density referenced at the surface @@ -658,8 +660,8 @@ CONTAINS ! DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) ! - zt = pts (ji,jj,jp_tem) - 10._wp - zs = pts (ji,jj,jp_sal) - 35._wp + zt = pts (ji,jj,jp_tem) - rn_T0 + zs = pts (ji,jj,jp_sal) - rn_S0 zh = pdep (ji,jj) ! depth at the partial step level ! zn = - rn_a0 * ( 1._wp + 0.5_wp*rn_lambda1*zt + rn_mu1*zh ) * zt & @@ -742,8 +744,8 @@ CONTAINS CASE( np_seos ) !== simplified EOS ==! ! DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) - zt = pts (ji,jj,jp_tem) - 10._wp - zs = pts (ji,jj,jp_sal) - 35._wp + zt = pts (ji,jj,jp_tem) - rn_T0 + zs = pts (ji,jj,jp_sal) - rn_S0 ztm = tmask(ji,jj,1) ! ! potential density referenced at the surface zn = - rn_a0 * ( 1._wp + 0.5_wp*rn_lambda1*zt ) * zt & @@ -853,9 +855,9 @@ CONTAINS CASE( np_seos ) !== simplified EOS ==! ! DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpkm1 ) - zt = pts (ji,jj,jk,jp_tem) - 10._wp ! pot. temperature anomaly (t-T0) - zs = pts (ji,jj,jk,jp_sal) - 35._wp ! abs. salinity anomaly (s-S0) - zh = gdept(ji,jj,jk,Kmm) ! depth in meters at t-point + zt = pts (ji,jj,jk,jp_tem) - rn_T0 ! pot. temperature anomaly (t-T0) + zs = pts (ji,jj,jk,jp_sal) - rn_S0 ! abs. salinity anomaly (s-S0) + zh = gdept(ji,jj,jk,Kmm) ! depth in meters at t-point ztm = tmask(ji,jj,jk) ! land/sea bottom mask = surf. mask ! zn = rn_a0 * ( 1._wp + rn_lambda1*zt + rn_mu1*zh ) + rn_nu*zs @@ -973,9 +975,9 @@ CONTAINS ! DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) ! - zt = pts (ji,jj,jp_tem) - 10._wp ! pot. temperature anomaly (t-T0) - zs = pts (ji,jj,jp_sal) - 35._wp ! abs. salinity anomaly (s-S0) - zh = pdep (ji,jj) ! depth at the partial step level + zt = pts (ji,jj,jp_tem) - rn_T0 ! pot. temperature anomaly (t-T0) + zs = pts (ji,jj,jp_sal) - rn_S0 ! abs. salinity anomaly (s-S0) + zh = pdep (ji,jj) ! depth at the partial step level ! zn = rn_a0 * ( 1._wp + rn_lambda1*zt + rn_mu1*zh ) + rn_nu*zs pab(ji,jj,jp_tem) = zn * r1_rho0 ! alpha @@ -1075,9 +1077,9 @@ CONTAINS ! CASE( np_seos ) !== simplified EOS ==! ! - zt = pts(jp_tem) - 10._wp ! pot. temperature anomaly (t-T0) - zs = pts(jp_sal) - 35._wp ! abs. salinity anomaly (s-S0) - zh = pdep ! depth at the partial step level + zt = pts(jp_tem) - rn_T0 ! pot. temperature anomaly (t-T0) + zs = pts(jp_sal) - rn_S0 ! abs. salinity anomaly (s-S0) + zh = pdep ! depth at the partial step level ! zn = rn_a0 * ( 1._wp + rn_lambda1*zt + rn_mu1*zh ) + rn_nu*zs pab(jp_tem) = zn * r1_rho0 ! alpha @@ -1164,28 +1166,37 @@ CONTAINS !! Reference : TEOS-10, UNESCO !! Rational approximation to TEOS10 algorithm (rms error on WOA13 values: 4.0e-5 degC) !!---------------------------------------------------------------------- - REAL(wp), DIMENSION(jpi,jpj), INTENT(in ) :: ctmp ! Cons. Temp [Celsius] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in ) :: psal ! salinity [psu] + REAL(wp), DIMENSION(:,:), INTENT(in ) :: ctmp ! Cons. Temp [Celsius] + REAL(wp), DIMENSION(:,:), INTENT(in ) :: psal ! salinity [psu] ! Leave result array automatic rather than making explicitly allocated - REAL(wp), DIMENSION(jpi,jpj) :: ptmp ! potential temperature [Celsius] + REAL(wp), DIMENSION(:,:), ALLOCATABLE :: ptmp ! potential temperature [Celsius] ! INTEGER :: ji, jj ! dummy loop indices REAL(wp) :: zt , zs , ztm ! local scalars REAL(wp) :: zn , zd ! local scalars REAL(wp) :: zdeltaS , z1_S0 , z1_T0 + INTEGER :: ipi, ipj, iisht, ijsht ! dimensions and shift indices !!---------------------------------------------------------------------- ! + ipi = SIZE(psal,1) ! 1st dimension + ipj = SIZE(psal,2) ! 2nd dimension + ! + iisht = ( jpi - ipi ) / 2 + ijsht = ( jpj - ipj ) / 2 ! should be the same as iisht... + ! + IF( .NOT.ALLOCATED(ptmp) ) ALLOCATE( ptmp(ipi,ipj) ) + ! IF( ln_timing ) CALL timing_start('eos_pt_from_ct') ! zdeltaS = 5._wp z1_S0 = 0.875_wp/35.16504_wp z1_T0 = 1._wp/40._wp ! - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( nn_hls-iisht, nn_hls-iisht, nn_hls-ijsht, nn_hls-ijsht ) ! - zt = ctmp (ji,jj) * z1_T0 - zs = SQRT( ABS( psal(ji,jj) + zdeltaS ) * z1_S0 ) - ztm = tmask(ji,jj,1) + zt = ctmp (ji-iisht,jj-ijsht) * z1_T0 + zs = SQRT( ABS( psal(ji-iisht,jj-ijsht) + zdeltaS ) * z1_S0 ) + ztm = tmask(ji-iisht,jj-ijsht,1) ! zn = ((((-2.1385727895e-01_wp*zt & & - 2.7674419971e-01_wp*zs+1.0728094330_wp)*zt & @@ -1200,7 +1211,7 @@ CONTAINS & -3.4570358592e-01_wp*zs+5.6471810638_wp)*zt & & + (1.5393993508_wp*zs-6.9394762624_wp)*zs+1.2750522650e+01_wp ! - ptmp(ji,jj) = ( zt / z1_T0 + zn / zd ) * ztm + ptmp(ji-iisht,jj-ijsht) = ( zt / z1_T0 + zn / zd ) * ztm ! END_2D ! @@ -1211,9 +1222,9 @@ CONTAINS SUBROUTINE eos_fzp_2d( psal, ptf, pdep ) !! - REAL(wp), DIMENSION(jpi,jpj), INTENT(in ) :: psal ! salinity [psu] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in ), OPTIONAL :: pdep ! depth [m] - REAL(wp), DIMENSION(:,:) , INTENT(out ) :: ptf ! freezing temperature [Celsius] + REAL(wp), DIMENSION(:,:), INTENT(in ) :: psal ! salinity [psu] + REAL(wp), DIMENSION(:,:), INTENT(in ), OPTIONAL :: pdep ! depth [m] + REAL(wp), DIMENSION(:,:), INTENT(out ) :: ptf ! freezing temperature [Celsius] !! CALL eos_fzp_2d_t( psal, ptf, is_tile(ptf), pdep ) END SUBROUTINE eos_fzp_2d @@ -1231,35 +1242,52 @@ CONTAINS !! !! Reference : UNESCO tech. papers in the marine science no. 28. 1978 !!---------------------------------------------------------------------- - INTEGER , INTENT(in ) :: kttf - REAL(wp), DIMENSION(jpi,jpj) , INTENT(in ) :: psal ! salinity [psu] - REAL(wp), DIMENSION(jpi,jpj) , INTENT(in ), OPTIONAL :: pdep ! depth [m] - REAL(wp), DIMENSION(A2D_T(kttf)), INTENT(out ) :: ptf ! freezing temperature [Celsius] + INTEGER , INTENT(in ) :: kttf + REAL(wp), DIMENSION(:,:), INTENT(in ) :: psal ! salinity [psu] + REAL(wp), DIMENSION(:,:), INTENT(in ), OPTIONAL :: pdep ! depth [m] + REAL(wp), DIMENSION(:,:), INTENT(out ) :: ptf ! freezing temperature [Celsius] ! INTEGER :: ji, jj ! dummy loop indices REAL(wp) :: zt, zs, z1_S0 ! local scalars + INTEGER :: ipi, ipj, iisht, ijsht ! dimensions and shift indices !!---------------------------------------------------------------------- ! + ipi = SIZE(psal,1) ! 1st dimension + ipj = SIZE(psal,2) ! 2nd dimension + ! + iisht = ( jpi - ipi ) / 2 + ijsht = ( jpj - ipj ) / 2 ! should be the same as iisht... + ! SELECT CASE ( neos ) ! CASE ( np_teos10, np_seos ) !== CT,SA (TEOS-10 and S-EOS formulations) ==! ! z1_S0 = 1._wp / 35.16504_wp - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) - zs= SQRT( ABS( psal(ji,jj) ) * z1_S0 ) ! square root salinity - ptf(ji,jj) = ((((1.46873e-03_wp*zs-9.64972e-03_wp)*zs+2.28348e-02_wp)*zs & - & - 3.12775e-02_wp)*zs+2.07679e-02_wp)*zs-5.87701e-02_wp + DO_2D( nn_hls-iisht, nn_hls-iisht, nn_hls-ijsht, nn_hls-ijsht ) + zs= SQRT( ABS( psal(ji-iisht,jj-ijsht) ) * z1_S0 ) ! square root salinity + ptf(ji-iisht,jj-ijsht) = ((((1.46873e-03_wp*zs-9.64972e-03_wp)*zs+2.28348e-02_wp)*zs & + & - 3.12775e-02_wp)*zs+2.07679e-02_wp)*zs-5.87701e-02_wp + ptf(ji-iisht,jj-ijsht) = ptf(ji-iisht,jj-ijsht) * psal(ji-iisht,jj-ijsht) END_2D - ptf(:,:) = ptf(:,:) * psal(:,:) ! - IF( PRESENT( pdep ) ) ptf(:,:) = ptf(:,:) - 7.53e-4 * pdep(:,:) + IF( PRESENT( pdep ) ) THEN + DO_2D( nn_hls-iisht, nn_hls-iisht, nn_hls-ijsht, nn_hls-ijsht ) + ptf(ji-iisht,jj-ijsht) = ptf(ji-iisht,jj-ijsht) - 7.53e-4 * pdep(ji-iisht,jj-ijsht) + END_2D + ENDIF ! CASE ( np_eos80 ) !== PT,SP (UNESCO formulation) ==! ! - ptf(:,:) = ( - 0.0575_wp + 1.710523e-3_wp * SQRT( psal(:,:) ) & - & - 2.154996e-4_wp * psal(:,:) ) * psal(:,:) - ! - IF( PRESENT( pdep ) ) ptf(:,:) = ptf(:,:) - 7.53e-4 * pdep(:,:) + DO_2D( nn_hls-iisht, nn_hls-iisht, nn_hls-ijsht, nn_hls-ijsht ) + ptf(ji-iisht,jj-ijsht) = ( - 0.0575_wp + 1.710523e-3_wp * SQRT( psal(ji-iisht,jj-ijsht) ) & + & - 2.154996e-4_wp * psal(ji-iisht,jj-ijsht) ) * psal(ji-iisht,jj-ijsht) + END_2D + ! + IF( PRESENT( pdep ) ) THEN + DO_2D( nn_hls-iisht, nn_hls-iisht, nn_hls-ijsht, nn_hls-ijsht ) + ptf(ji-iisht,jj-ijsht) = ptf(ji-iisht,jj-ijsht) - 7.53e-4 * pdep(ji-iisht,jj-ijsht) + END_2D + ENDIF ! CASE DEFAULT WRITE(ctmp1,*) ' bad flag value for neos = ', neos @@ -1412,10 +1440,10 @@ CONTAINS CASE( np_seos ) !== Vallis (2006) simplified EOS ==! ! DO_3D( 0, 0, 0, 0, 1, jpkm1 ) - zt = pts(ji,jj,jk,jp_tem) - 10._wp ! temperature anomaly (t-T0) - zs = pts (ji,jj,jk,jp_sal) - 35._wp ! abs. salinity anomaly (s-S0) - zh = gdept(ji,jj,jk,Kmm) ! depth in meters at t-point - ztm = tmask(ji,jj,jk) ! tmask + zt = pts (ji,jj,jk,jp_tem) - rn_T0 ! temperature anomaly (t-T0) + zs = pts (ji,jj,jk,jp_sal) - rn_S0 ! abs. salinity anomaly (s-S0) + zh = gdept(ji,jj,jk,Kmm) ! depth in meters at t-point + ztm = tmask(ji,jj,jk) ! tmask zn = 0.5_wp * zh * r1_rho0 * ztm ! ! Potential Energy ppen(ji,jj,jk) = ( rn_a0 * rn_mu1 * zt + rn_b0 * rn_mu2 * zs ) * zn @@ -1447,8 +1475,8 @@ CONTAINS INTEGER :: ios ! local integer INTEGER :: ioptio ! local integer !! - NAMELIST/nameos/ ln_TEOS10, ln_EOS80, ln_SEOS, rn_a0, rn_b0, rn_lambda1, rn_mu1, & - & rn_lambda2, rn_mu2, rn_nu + NAMELIST/nameos/ ln_TEOS10, ln_EOS80, ln_SEOS, rn_T0, rn_S0, rn_a0, rn_b0, rn_lambda1, rn_mu1, & + & rn_lambda2, rn_mu2, rn_nu !!---------------------------------------------------------------------- ! READ ( numnam_ref, nameos, IOSTAT = ios, ERR = 901 ) @@ -1869,9 +1897,11 @@ CONTAINS IF(lwp) THEN WRITE(numout,*) WRITE(numout,*) ' ==>>> use of simplified eos: ' - WRITE(numout,*) ' rhd(dT=T-10,dS=S-35,Z) = [-a0*(1+lambda1/2*dT+mu1*Z)*dT ' - WRITE(numout,*) ' + b0*(1+lambda2/2*dT+mu2*Z)*dS - nu*dT*dS] / rho0' + WRITE(numout,*) ' rhd(dT=T-rn_T0,dS=S-rn_S0,Z) = [-a0*(1+lambda1/2*dT+mu1*Z)*dT ' + WRITE(numout,*) ' + b0*(1+lambda2/2*dT+mu2*Z)*dS - nu*dT*dS] / rho0' WRITE(numout,*) ' with the following coefficients :' + WRITE(numout,*) ' reference temperature rn_T0 = ', rn_T0 + WRITE(numout,*) ' reference salinity rn_S0 = ', rn_S0 WRITE(numout,*) ' thermal exp. coef. rn_a0 = ', rn_a0 WRITE(numout,*) ' saline cont. coef. rn_b0 = ', rn_b0 WRITE(numout,*) ' cabbeling coef. rn_lambda1 = ', rn_lambda1 diff --git a/src/OCE/TRA/traatf.F90 b/src/OCE/TRA/traatf.F90 index 57a9ca0a4..ec745d779 100644 --- a/src/OCE/TRA/traatf.F90 +++ b/src/OCE/TRA/traatf.F90 @@ -207,7 +207,7 @@ CONTAINS ! DO jn = 1, kjpt ! - DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpkm1 ) + DO_3D( 0, 0, 0, 0, 1, jpkm1 ) ztn = pt(ji,jj,jk,jn,Kmm) ztd = pt(ji,jj,jk,jn,Kaa) - 2._wp * ztn + pt(ji,jj,jk,jn,Kbb) ! time laplacian on tracers ! @@ -238,8 +238,8 @@ CONTAINS CHARACTER(len=3) , INTENT(in ) :: cdtype ! =TRA or TRC (tracer indicator) INTEGER , INTENT(in ) :: kjpt ! number of tracers REAL(wp), DIMENSION(jpi,jpj,jpk,kjpt,jpt), INTENT(inout) :: pt ! tracer fields - REAL(wp), DIMENSION(jpi,jpj ,kjpt) , INTENT(in ) :: psbc_tc ! surface tracer content - REAL(wp), DIMENSION(jpi,jpj ,kjpt) , INTENT(in ) :: psbc_tc_b ! before surface tracer content + REAL(wp), DIMENSION(A2D(0) ,kjpt) , INTENT(in ) :: psbc_tc ! surface tracer content + REAL(wp), DIMENSION(A2D(0) ,kjpt) , INTENT(in ) :: psbc_tc_b ! before surface tracer content ! LOGICAL :: ll_traqsr, ll_rnf, ll_isf ! local logical INTEGER :: ji, jj, jk, jn ! dummy loop indices @@ -269,14 +269,11 @@ CONTAINS ztrd_atf(:,:,:,:) = 0.0_wp ENDIF ! -!!st variables only computed in the interior by traqsr - IF( ll_traqsr ) CALL lbc_lnk( 'traatf', qsr_hc_b(:,:,:) , 'T', 1.0_wp, qsr_hc(:,:,:) , 'T', 1.0_wp ) - ! zfact = 1._wp / p2dt zfact1 = rn_atfp * p2dt zfact2 = zfact1 * r1_rho0 DO jn = 1, kjpt - DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpkm1 ) + DO_3D( 0, 0, 0, 0, 1, jpkm1 ) ze3t_b = e3t(ji,jj,jk,Kbb) ze3t_n = e3t(ji,jj,jk,Kmm) ze3t_a = e3t(ji,jj,jk,Kaa) diff --git a/src/OCE/TRA/traatf_qco.F90 b/src/OCE/TRA/traatf_qco.F90 index 57034bd06..5563febbe 100644 --- a/src/OCE/TRA/traatf_qco.F90 +++ b/src/OCE/TRA/traatf_qco.F90 @@ -150,7 +150,7 @@ CONTAINS ELSE ; CALL tra_atf_qco_lf( kt, Kbb, Kmm, Kaa, nit000, rn_Dt, 'TRA', pts, sbc_tsc, sbc_tsc_b, jpts ) ! non-linear free surface ENDIF ! - CALL lbc_lnk( 'traatfqco', pts(:,:,:,jp_tem,Kmm) , 'T', 1._wp, pts(:,:,:,jp_sal,Kmm) , 'T', 1._wp ) + CALL lbc_lnk( 'traatf_qco', pts(:,:,:,jp_tem,Kmm) , 'T', 1._wp, pts(:,:,:,jp_sal,Kmm) , 'T', 1._wp ) ! ENDIF ! @@ -203,7 +203,6 @@ CONTAINS DO jn = 1, kjpt ! DO_3D( 0, 0, 0, 0, 1, jpkm1 ) -!!st DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpkm1 ) ztn = pt(ji,jj,jk,jn,Kmm) ztd = pt(ji,jj,jk,jn,Kaa) - 2._wp * ztn + pt(ji,jj,jk,jn,Kbb) ! time laplacian on tracers ! @@ -234,8 +233,8 @@ CONTAINS CHARACTER(len=3) , INTENT(in ) :: cdtype ! =TRA or TRC (tracer indicator) INTEGER , INTENT(in ) :: kjpt ! number of tracers REAL(wp), DIMENSION(jpi,jpj,jpk,kjpt,jpt), INTENT(inout) :: pt ! tracer fields - REAL(wp), DIMENSION(jpi,jpj ,kjpt) , INTENT(in ) :: psbc_tc ! surface tracer content - REAL(wp), DIMENSION(jpi,jpj ,kjpt) , INTENT(in ) :: psbc_tc_b ! before surface tracer content + REAL(wp), DIMENSION(A2D(0) ,kjpt) , INTENT(in ) :: psbc_tc ! surface tracer content + REAL(wp), DIMENSION(A2D(0) ,kjpt) , INTENT(in ) :: psbc_tc_b ! before surface tracer content ! LOGICAL :: ll_traqsr, ll_rnf, ll_isf ! local logical INTEGER :: ji, jj, jk, jn ! dummy loop indices @@ -264,12 +263,12 @@ CONTAINS ALLOCATE( ztrd_atf(jpi,jpj,jpk,kjpt) ) ztrd_atf(:,:,:,:) = 0._wp ENDIF + ! zfact = 1._wp / p2dt zfact1 = rn_atfp * p2dt zfact2 = zfact1 * r1_rho0 DO jn = 1, kjpt DO_3D( 0, 0, 0, 0, 1, jpkm1 ) -!!st DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpkm1 ) ze3t_b = e3t(ji,jj,jk,Kbb) ze3t_n = e3t(ji,jj,jk,Kmm) ze3t_a = e3t(ji,jj,jk,Kaa) diff --git a/src/OCE/TRA/trasbc.F90 b/src/OCE/TRA/trasbc.F90 index 0f8472a32..b0cc6580b 100644 --- a/src/OCE/TRA/trasbc.F90 +++ b/src/OCE/TRA/trasbc.F90 @@ -100,7 +100,7 @@ CONTAINS ! !!gm This should be moved into sbcmod.F90 module ? (especially now that ln_traqsr is read in namsbc namelist) IF( .NOT.ln_traqsr ) THEN ! no solar radiation penetration - DO_2D_OVR( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D_OVR( 0, 0, 0, 0 ) qns(ji,jj) = qns(ji,jj) + qsr(ji,jj) ! total heat flux in qns qsr(ji,jj) = 0._wp ! qsr set to zero END_2D @@ -121,24 +121,24 @@ CONTAINS ENDIF ELSE ! No restart or restart not found: Euler forward time stepping zfact = 1._wp - DO_2D_OVR( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D_OVR( 0, 0, 0, 0 ) sbc_tsc(ji,jj,:) = 0._wp sbc_tsc_b(ji,jj,:) = 0._wp END_2D ENDIF ELSE !* other time-steps: swap of forcing fields zfact = 0.5_wp - DO_2D_OVR( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D_OVR( 0, 0, 0, 0 ) sbc_tsc_b(ji,jj,:) = sbc_tsc(ji,jj,:) END_2D ENDIF ! !== Now sbc tracer content fields ==! - DO_2D_OVR( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D_OVR( 0, 0, 0, 0 ) sbc_tsc(ji,jj,jp_tem) = r1_rho0_rcp * qns(ji,jj) ! non solar heat flux sbc_tsc(ji,jj,jp_sal) = r1_rho0 * sfx(ji,jj) ! salt flux due to freezing/melting END_2D IF( ln_linssh ) THEN !* linear free surface - DO_2D_OVR( nn_hls, nn_hls, nn_hls, nn_hls ) !==>> add concentration/dilution effect due to constant volume cell + DO_2D_OVR( 0, 0, 0, 0 ) !==>> add concentration/dilution effect due to constant volume cell sbc_tsc(ji,jj,jp_tem) = sbc_tsc(ji,jj,jp_tem) + r1_rho0 * emp(ji,jj) * pts(ji,jj,1,jp_tem,Kmm) sbc_tsc(ji,jj,jp_sal) = sbc_tsc(ji,jj,jp_sal) + r1_rho0 * emp(ji,jj) * pts(ji,jj,1,jp_sal,Kmm) END_2D !==>> output c./d. term @@ -275,7 +275,7 @@ CONTAINS !!gm This should be moved into sbcmod.F90 module ? (especially now that ln_traqsr is read in namsbc namelist) IF( .NOT.ln_traqsr .AND. kstg == 1) THEN ! no solar radiation penetration - DO_2D_OVR( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D_OVR( 0, 0, 0, 0 ) qns(ji,jj) = qns(ji,jj) + qsr(ji,jj) ! total heat flux in qns qsr(ji,jj) = 0._wp ! qsr set to zero END_2D diff --git a/src/OCE/TRA/trazdf.F90 b/src/OCE/TRA/trazdf.F90 index 8280d3181..6e7dd9a24 100644 --- a/src/OCE/TRA/trazdf.F90 +++ b/src/OCE/TRA/trazdf.F90 @@ -146,7 +146,7 @@ CONTAINS ! INTEGER :: ji, jj, jk, jn ! dummy loop indices REAL(wp) :: zrhs, zzwi, zzws ! local scalars - REAL(wp), DIMENSION(A2D(nn_hls),jpk) :: zwi, zwt, zwd, zws + REAL(wp), DIMENSION(A2D(0),jpk) :: zwi, zwt, zwd, zws !!--------------------------------------------------------------------- ! ! ! ============= ! @@ -161,11 +161,11 @@ CONTAINS ! ! vertical mixing coef.: avt for temperature, avs for salinity and passive tracers IF( cdtype == 'TRA' .AND. jn == jp_tem ) THEN - DO_3D( 1, 1, 1, 1, 2, jpk ) + DO_3D( 0, 0, 0, 0, 2, jpk ) zwt(ji,jj,jk) = avt(ji,jj,jk) END_3D ELSE - DO_3D( 1, 1, 1, 1, 2, jpk ) + DO_3D( 0, 0, 0, 0, 2, jpk ) zwt(ji,jj,jk) = avs(ji,jj,jk) END_3D ENDIF diff --git a/src/OCE/USR/usrdef_sbc.F90 b/src/OCE/USR/usrdef_sbc.F90 index 2af3f30d2..0be3bd7e9 100644 --- a/src/OCE/USR/usrdef_sbc.F90 +++ b/src/OCE/USR/usrdef_sbc.F90 @@ -109,7 +109,7 @@ CONTAINS ztrp= - 40.e0 ! retroaction term on heat fluxes (W/m2/K) zconv = 3.16e-5 ! convertion factor: 1 m/yr => 3.16e-5 mm/s - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) ! emp and rnf used in sshwzv over the whole domain + DO_2D( 0, 0, 0, 0 ) ! domain from 15 deg to 50 deg between 27 and 28 degC at 15N, -3 ! and 13 degC at 50N 53.5 + or - 11 = 1/4 period : ! 64.5 in summer, 42.5 in winter @@ -119,6 +119,8 @@ CONTAINS ! 23.5 deg : tropics qsr (ji,jj) = 230 * COS( 3.1415 * ( gphit(ji,jj) - 23.5 * zcos_sais1 ) / ( 0.9 * 180 ) ) qns (ji,jj) = ztrp * ( ts(ji,jj,1,jp_tem,Kbb) - t_star ) - qsr(ji,jj) + END_2D + DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) ! emp and rnf used in sshwzv over the whole domain IF( gphit(ji,jj) >= 14.845 .AND. 37.2 >= gphit(ji,jj) ) THEN ! zero at 37.8 deg, max at 24.6 deg emp (ji,jj) = zemp_S * zconv & & * SIN( rpi / 2 * (gphit(ji,jj) - 37.2) / (24.6 - 37.2) ) & @@ -137,6 +139,8 @@ CONTAINS ! freshwater (mass flux) and update of qns with heat content of emp DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) ! emp used in sshwzv over the whole domain emp (ji,jj) = emp(ji,jj) - zsumemp * tmask(ji,jj,1) ! freshwater flux (=0 in domain average) + END_2D + DO_2D( 0, 0, 0, 0 ) sfx (ji,jj) = 0.0_wp ! no salt flux qns (ji,jj) = qns(ji,jj) - emp(ji,jj) * sst_m(ji,jj) * rcp ! evap and precip are at SST END_2D @@ -175,7 +179,7 @@ CONTAINS ! module of wind stress and wind speed at T-point zcoef = 1. / ( zrhoa * zcdrag ) - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) zmod = SQRT( utau(ji,jj) * utau(ji,jj) + vtau(ji,jj) * vtau(ji,jj) ) taum(ji,jj) = zmod wndm(ji,jj) = SQRT( zmod * zcoef ) diff --git a/src/OCE/ZDF/zdf_oce.F90 b/src/OCE/ZDF/zdf_oce.F90 index 40bcb56ce..bb470370d 100644 --- a/src/OCE/ZDF/zdf_oce.F90 +++ b/src/OCE/ZDF/zdf_oce.F90 @@ -53,6 +53,8 @@ MODULE zdf_oce REAL(wp), PUBLIC, SAVE, ALLOCATABLE, DIMENSION(:) :: avmb , avtb !: background profile of avm and avt [m2/s] REAL(wp), PUBLIC, SAVE, ALLOCATABLE, DIMENSION(:,:) :: avtb_2d !: horizontal shape of background Kz profile [-] + !! * Substitutions +# include "do_loop_substitute.h90" !!---------------------------------------------------------------------- !! NEMO/OCE 4.0 , NEMO Consortium (2018) !! $Id: zdf_oce.F90 14072 2020-12-04 07:48:38Z laurent $ @@ -65,9 +67,9 @@ CONTAINS !! *** FUNCTION zdf_oce_alloc *** !!---------------------------------------------------------------------- ! - ALLOCATE( avm (jpi,jpj,jpk) , avm_k(jpi,jpj,jpk) , avs(jpi,jpj,jpk) , & - & avt (jpi,jpj,jpk) , avt_k(jpi,jpj,jpk) , en (jpi,jpj,jpk) , & - & avmb(jpk) , avtb(jpk) , avtb_2d(jpi,jpj) , STAT = zdf_oce_alloc ) + ALLOCATE( avm (jpi,jpj,jpk) , avm_k(jpi,jpj,jpk) , avs(A2D(0),jpk) , & + & avt (A2D(0) ,jpk) , avt_k(A2D(0) ,jpk) , en (A2D(0),jpk) , & + & avmb(jpk) , avtb(jpk) , avtb_2d(A2D(0)) , STAT = zdf_oce_alloc ) ! IF( zdf_oce_alloc /= 0 ) CALL ctl_stop( 'STOP', 'zdf_oce_alloc: failed to allocate arrays' ) ! diff --git a/src/OCE/ZDF/zdfddm.F90 b/src/OCE/ZDF/zdfddm.F90 index a08cf3439..3004091bb 100644 --- a/src/OCE/ZDF/zdfddm.F90 +++ b/src/OCE/ZDF/zdfddm.F90 @@ -70,9 +70,9 @@ CONTAINS !!---------------------------------------------------------------------- INTEGER, INTENT(in ) :: kt ! ocean time-step index INTEGER, INTENT(in ) :: Kmm ! ocean time level index - REAL(wp), DIMENSION(:,:,:), INTENT(inout) :: p_avm ! Kz on momentum (w-points) - REAL(wp), DIMENSION(:,:,:), INTENT(inout) :: p_avt ! Kz on temperature (w-points) - REAL(wp), DIMENSION(:,:,:), INTENT( out) :: p_avs ! Kz on salinity (w-points) + REAL(wp), DIMENSION(:,:,:) , INTENT(inout) :: p_avm ! Kz on momentum (w-points) + REAL(wp), DIMENSION(A2D(0),jpk), INTENT(inout) :: p_avt ! Kz on temperature (w-points) + REAL(wp), DIMENSION(A2D(0),jpk), INTENT( out) :: p_avs ! Kz on salinity (w-points) ! INTEGER :: ji, jj , jk ! dummy loop indices REAL(wp) :: zaw, zbw, zrw ! local scalars @@ -82,7 +82,7 @@ CONTAINS REAL(wp) :: zavft ! - - REAL(dp) :: zavfs ! - - REAL(wp) :: zavdt, zavds ! - - - REAL(wp), DIMENSION(A2D(nn_hls)) :: zrau, zmsks, zmskf, zmskd1, zmskd2, zmskd3 + REAL(wp), DIMENSION(A2D(0)) :: zrau, zmsks, zmskf, zmskd1, zmskd2, zmskd3 !!---------------------------------------------------------------------- ! ! ! =============== @@ -94,7 +94,7 @@ CONTAINS !!gm ==>>> test in the loop instead of use of mask arrays !!gm and many acces in memory - DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) !== R=zrau = (alpha / beta) (dk[t] / dk[s]) ==! + DO_2D( 0, 0, 0, 0 ) !== R=zrau = (alpha / beta) (dk[t] / dk[s]) ==! zrw = ( gdepw(ji,jj,jk ,Kmm) - gdept(ji,jj,jk,Kmm) ) & !!gm please, use e3w at Kmm below & / ( gdept(ji,jj,jk-1,Kmm) - gdept(ji,jj,jk,Kmm) ) @@ -110,7 +110,7 @@ CONTAINS zrau(ji,jj) = MAX( 1.e-20, zdt / zds ) ! only retains positive value of zrau END_2D - DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) !== indicators ==! + DO_2D( 0, 0, 0, 0 ) !== indicators ==! ! stability indicator: msks=1 if rn2>0; 0 elsewhere IF( rn2(ji,jj,jk) + 1.e-12 <= 0. ) THEN ; zmsks(ji,jj) = 0._wp ELSE ; zmsks(ji,jj) = 1._wp * wmask(ji,jj,jk) ! mask so avt and avs masked @@ -137,7 +137,7 @@ CONTAINS ! Update avt and avs ! ------------------ ! Constant eddy coefficient: reset to the background value - DO_2D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) + DO_2D_OVR( 0, 0, 0, 0 ) zinr = 1._wp / zrau(ji,jj) ! salt fingering zrr = zrau(ji,jj) / rn_hsbfr diff --git a/src/OCE/ZDF/zdfevd.F90 b/src/OCE/ZDF/zdfevd.F90 index df8bfeaa5..6d8217000 100644 --- a/src/OCE/ZDF/zdfevd.F90 +++ b/src/OCE/ZDF/zdfevd.F90 @@ -56,9 +56,10 @@ CONTAINS !! !! ** Action : avt, avm enhanced where static instability occurs !!---------------------------------------------------------------------- - INTEGER , INTENT(in ) :: kt ! ocean time-step indexocean time step - INTEGER , INTENT(in ) :: Kmm, Krhs ! time level indices - REAL(wp), DIMENSION(:,:,:) , INTENT(inout) :: p_avm, p_avt ! momentum and tracer Kz (w-points) + INTEGER , INTENT(in ) :: kt ! ocean time-step indexocean time step + INTEGER , INTENT(in ) :: Kmm, Krhs ! time level indices + REAL(wp), DIMENSION(:,:,:) , INTENT(inout) :: p_avm ! momentum Kz (w-points) + REAL(wp), DIMENSION(A2D(0),jpk), INTENT(inout) :: p_avt ! tracer Kz (w-points) ! INTEGER :: ji, jj, jk ! dummy loop indices ! NOTE: [tiling] use a SAVE array to store diagnostics, then send after all tiles are finished. This is necessary because p_avt/p_avm are modified on adjacent tiles when using nn_hls > 1. zavt_evd/zavm_evd are then zero on some points when subsequently calculated for these tiles. @@ -73,12 +74,12 @@ CONTAINS IF(lwp) WRITE(numout,*) ENDIF - ALLOCATE( zavt_evd(jpi,jpj,jpk) ) - IF( nn_evdm == 1 ) ALLOCATE( zavm_evd(jpi,jpj,jpk) ) + ALLOCATE( zavt_evd(A2D(0),jpk) ) + IF( nn_evdm == 1 ) ALLOCATE( zavm_evd(A2D(0),jpk) ) ENDIF ! ! - DO_3D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 1, jpk ) + DO_3D_OVR( 0, 0, 0, 0, 1, jpk ) zavt_evd(ji,jj,jk) = p_avt(ji,jj,jk) ! set avt prior to evd application END_3D ! @@ -86,7 +87,7 @@ CONTAINS ! CASE ( 1 ) !== enhance tracer & momentum Kz ==! (if rn2<-1.e-12) ! - DO_3D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 1, jpk ) + DO_3D_OVR( 0, 0, 0, 0, 1, jpk ) zavm_evd(ji,jj,jk) = p_avm(ji,jj,jk) ! set avm prior to evd application END_3D ! @@ -96,14 +97,14 @@ CONTAINS ! p_avm(2:jpi,2:jpj,2:jpkm1) = rn_evd * wmask(2:jpi,2:jpj,2:jpkm1) ! END WHERE ! - DO_3D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 1, jpkm1 ) + DO_3D_OVR( 0, 0, 0, 0, 1, jpkm1 ) IF( MIN( rn2(ji,jj,jk), rn2b(ji,jj,jk) ) <= -1.e-12 ) THEN p_avt(ji,jj,jk) = rn_evd * wmask(ji,jj,jk) p_avm(ji,jj,jk) = rn_evd * wmask(ji,jj,jk) ENDIF END_3D ! - DO_3D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 1, jpk ) + DO_3D_OVR( 0, 0, 0, 0, 1, jpk ) zavm_evd(ji,jj,jk) = p_avm(ji,jj,jk) - zavm_evd(ji,jj,jk) ! change in avm due to evd END_3D IF( .NOT. l_istiled .OR. ntile == nijtile ) THEN ! Do only on the last tile @@ -117,14 +118,14 @@ CONTAINS ! p_avt(2:jpi,2:jpj,2:jpkm1) = rn_evd * wmask(2:jpi,2:jpj,2:jpkm1) ! END WHERE - DO_3D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 1, jpkm1 ) + DO_3D_OVR( 0, 0, 0, 0, 1, jpkm1 ) IF( MIN( rn2(ji,jj,jk), rn2b(ji,jj,jk) ) <= -1.e-12 ) & p_avt(ji,jj,jk) = rn_evd * wmask(ji,jj,jk) END_3D ! END SELECT ! - DO_3D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 1, jpk ) + DO_3D_OVR( 0, 0, 0, 0, 1, jpk ) zavt_evd(ji,jj,jk) = p_avt(ji,jj,jk) - zavt_evd(ji,jj,jk) ! change in avt due to evd END_3D ! diff --git a/src/OCE/ZDF/zdfgls.F90 b/src/OCE/ZDF/zdfgls.F90 index b25670799..f44ccc814 100644 --- a/src/OCE/ZDF/zdfgls.F90 +++ b/src/OCE/ZDF/zdfgls.F90 @@ -126,8 +126,8 @@ CONTAINS !!---------------------------------------------------------------------- !! *** FUNCTION zdf_gls_alloc *** !!---------------------------------------------------------------------- - ALLOCATE( hmxl_n(jpi,jpj,jpk) , ustar2_surf(jpi,jpj) , & - & zwall (jpi,jpj,jpk) , ustar2_top (jpi,jpj) , ustar2_bot(jpi,jpj) , STAT= zdf_gls_alloc ) + ALLOCATE( hmxl_n(A2D(0),jpk) , ustar2_surf(A2D(0)) , & + & zwall (A2D(0),jpk) , ustar2_top (A2D(0)) , ustar2_bot(A2D(0)) , STAT= zdf_gls_alloc ) ! CALL mpp_sum ( 'zdfgls', zdf_gls_alloc ) IF( zdf_gls_alloc /= 0 ) CALL ctl_stop( 'STOP', 'zdf_gls_alloc: failed to allocate arrays' ) @@ -143,10 +143,11 @@ CONTAINS !!---------------------------------------------------------------------- USE zdf_oce , ONLY : en, avtb, avmb ! ocean vertical physics !! - INTEGER , INTENT(in ) :: kt ! ocean time step - INTEGER , INTENT(in ) :: Kbb, Kmm ! ocean time level indices - REAL(wp), DIMENSION(A2D(nn_hls),jpk), INTENT(in ) :: p_sh2 ! shear production term - REAL(wp), DIMENSION(:,:,:) , INTENT(inout) :: p_avm, p_avt ! momentum and tracer Kz (w-points) + INTEGER , INTENT(in ) :: kt ! ocean time step + INTEGER , INTENT(in ) :: Kbb, Kmm ! ocean time level indices + REAL(wp), DIMENSION(A2D(0),jpk), INTENT(in ) :: p_sh2 ! shear production term + REAL(wp), DIMENSION(:,:,:) , INTENT(inout) :: p_avm ! momentum Kz (w-points) + REAL(wp), DIMENSION(A2D(0),jpk), INTENT(inout) :: p_avt ! tracer Kz (w-points) ! INTEGER :: ji, jj, jk ! dummy loop arguments INTEGER :: ibot, ibotm1 ! local integers @@ -157,51 +158,51 @@ CONTAINS REAL(wp) :: prod, buoy, diss, zdiss, sm ! - - REAL(wp) :: gh, gm, shr, dif, zsqen, zavt, zavm ! - - REAL(wp) :: zmsku, zmskv ! - - - REAL(wp), DIMENSION(A2D(nn_hls)) :: zdep - REAL(wp), DIMENSION(A2D(nn_hls)) :: zkar - REAL(wp), DIMENSION(A2D(nn_hls)) :: zflxs ! Turbulence fluxed induced by internal waves - REAL(wp), DIMENSION(A2D(nn_hls)) :: zhsro ! Surface roughness (surface waves) - REAL(wp), DIMENSION(A2D(nn_hls)) :: zice_fra ! Tapering of wave breaking under sea ice - REAL(wp), DIMENSION(A2D(nn_hls),jpk) :: eb ! tke at time before - REAL(wp), DIMENSION(A2D(nn_hls),jpk) :: hmxl_b ! mixing length at time before - REAL(wp), DIMENSION(A2D(nn_hls),jpk) :: eps ! dissipation rate - REAL(wp), DIMENSION(A2D(nn_hls),jpk) :: zwall_psi ! Wall function use in the wb case (ln_sigpsi) - REAL(wp), DIMENSION(A2D(nn_hls),jpk) :: psi ! psi at time now - REAL(wp), DIMENSION(A2D(nn_hls),jpk) :: zd_lw, zd_up, zdiag ! lower, upper and diagonal of the matrix - REAL(wp), DIMENSION(A2D(nn_hls),jpk) :: zstt, zstm ! stability function on tracer and momentum + REAL(wp), DIMENSION(A2D(0)) :: zdep + REAL(wp), DIMENSION(A2D(0)) :: zkar + REAL(wp), DIMENSION(A2D(0)) :: zflxs ! Turbulence fluxed induced by internal waves + REAL(wp), DIMENSION(A2D(0)) :: zhsro ! Surface roughness (surface waves) + REAL(wp), DIMENSION(A2D(0)) :: zice_fra ! Tapering of wave breaking under sea ice + REAL(wp), DIMENSION(A2D(0),jpk) :: eb ! tke at time before + REAL(wp), DIMENSION(A2D(0),jpk) :: hmxl_b ! mixing length at time before + REAL(wp), DIMENSION(A2D(0),jpk) :: eps ! dissipation rate + REAL(wp), DIMENSION(A2D(0),jpk) :: zwall_psi ! Wall function use in the wb case (ln_sigpsi) + REAL(wp), DIMENSION(A2D(0),jpk) :: psi ! psi at time now + REAL(wp), DIMENSION(A2D(0),jpk) :: zd_lw, zd_up, zdiag ! lower, upper and diagonal of the matrix + REAL(wp), DIMENSION(A2D(0),jpk) :: zstt, zstm ! stability function on tracer and momentum !!-------------------------------------------------------------------- ! ! Preliminary computing - DO_2D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) + DO_2D_OVR( 0, 0, 0, 0 ) ustar2_surf(ji,jj) = 0._wp ; ustar2_top(ji,jj) = 0._wp ; ustar2_bot(ji,jj) = 0._wp END_2D - DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 1, jpk ) + DO_3D( 0, 0, 0, 0, 1, jpk ) psi(ji,jj,jk) = 0._wp ; zwall_psi(ji,jj,jk) = 0._wp END_3D SELECT CASE ( nn_z0_ice ) CASE( 0 ) ; zice_fra(:,:) = 0._wp - CASE( 1 ) ; zice_fra(:,:) = TANH( fr_i(A2D(nn_hls)) * 10._wp ) - CASE( 2 ) ; zice_fra(:,:) = fr_i(A2D(nn_hls)) - CASE( 3 ) ; zice_fra(:,:) = MIN( 4._wp * fr_i(A2D(nn_hls)) , 1._wp ) + CASE( 1 ) ; zice_fra(:,:) = TANH( fr_i(A2D(0)) * 10._wp ) + CASE( 2 ) ; zice_fra(:,:) = fr_i(A2D(0)) + CASE( 3 ) ; zice_fra(:,:) = MIN( 4._wp * fr_i(A2D(0)) , 1._wp ) END SELECT ! Compute surface, top and bottom friction at T-points - DO_2D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) !== surface ocean friction + DO_2D_OVR( 0, 0, 0, 0 ) !== surface ocean friction ustar2_surf(ji,jj) = r1_rho0 * taum(ji,jj) * tmask(ji,jj,1) ! surface friction END_2D ! !!gm Rq we may add here r_ke0(_top/_bot) ? ==>> think about that... ! IF( .NOT.ln_drg_OFF ) THEN !== top/bottom friction (explicit before friction) - DO_2D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) ! bottom friction (explicit before friction) + DO_2D_OVR( 0, 0, 0, 0 ) ! bottom friction (explicit before friction) zmsku = 0.5_wp * ( 2._wp - umask(ji-1,jj,mbkt(ji,jj)) * umask(ji,jj,mbkt(ji,jj)) ) zmskv = 0.5_wp * ( 2._wp - vmask(ji,jj-1,mbkt(ji,jj)) * vmask(ji,jj,mbkt(ji,jj)) ) ! (CAUTION: CdU<0) ustar2_bot(ji,jj) = - rCdU_bot(ji,jj) * SQRT( ( zmsku*( uu(ji,jj,mbkt(ji,jj),Kbb)+uu(ji-1,jj,mbkt(ji,jj),Kbb) ) )**2 & & + ( zmskv*( vv(ji,jj,mbkt(ji,jj),Kbb)+vv(ji,jj-1,mbkt(ji,jj),Kbb) ) )**2 ) END_2D IF( ln_isfcav ) THEN - DO_2D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) ! top friction + DO_2D_OVR( 0, 0, 0, 0 ) ! top friction zmsku = 0.5_wp * ( 2. - umask(ji-1,jj,mikt(ji,jj)) * umask(ji,jj,mikt(ji,jj)) ) zmskv = 0.5_wp * ( 2. - vmask(ji,jj-1,mikt(ji,jj)) * vmask(ji,jj,mikt(ji,jj)) ) ! (CAUTION: CdU<0) ustar2_top(ji,jj) = - rCdU_top(ji,jj) * SQRT( ( zmsku*( uu(ji,jj,mikt(ji,jj),Kbb)+uu(ji-1,jj,mikt(ji,jj),Kbb) ) )**2 & @@ -214,57 +215,59 @@ CONTAINS CASE ( 0 ) ! Constant roughness zhsro(:,:) = rn_hsro CASE ( 1 ) ! Standard Charnock formula - DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) + DO_2D( 0, 0, 0, 0 ) zhsro(ji,jj) = MAX( rsbc_zs1 * ustar2_surf(ji,jj) , rn_hsro ) END_2D CASE ( 2 ) ! Roughness formulae according to Rascle et al., Ocean Modelling (2008) !!gm faster coding : the 2 comment lines should be used !!gm zcof = 2._wp * 0.6_wp / 28._wp !!gm zdep(:,:) = 30._wp * TANH( zcof/ SQRT( MAX(ustar2_surf(:,:),rsmall) ) ) ! Wave age (eq. 10) - DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) + DO_2D( 0, 0, 0, 0 ) zcof = 30.*TANH( 2.*0.3/(28.*SQRT(MAX(ustar2_surf(ji,jj),rsmall))) ) ! Wave age (eq. 10) zhsro(ji,jj) = MAX(rsbc_zs2 * ustar2_surf(ji,jj) * zcof**1.5, rn_hsro) ! zhsro = rn_frac_hs * Hsw (eq. 11) END_2D CASE ( 3 ) ! Roughness given by the wave model (coupled or read in file) - zhsro(:,:) = MAX(rn_frac_hs * hsw(A2D(nn_hls)), rn_hsro) ! (rn_frac_hs=1.6 see Eq. (5) of Rascle et al. 2008 ) + DO_2D( 0, 0, 0, 0 ) + zhsro(ji,jj) = MAX(rn_frac_hs * hsw(ji,jj), rn_hsro) ! (rn_frac_hs=1.6 see Eq. (5) of Rascle et al. 2008 ) + END_2D END SELECT ! ! adapt roughness where there is sea ice SELECT CASE( nn_mxlice ) ! Type of scaling under sea-ice ! CASE( 1 ) ! scaling with constant sea-ice roughness - DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) + DO_2D( 0, 0, 0, 0 ) zhsro(ji,jj) = ( (1._wp-zice_fra(ji,jj)) * zhsro(ji,jj) + zice_fra(ji,jj) * rn_hsri )*tmask(ji,jj,1) + (1._wp - tmask(ji,jj,1))*rn_hsro END_2D ! CASE( 2 ) ! scaling with mean sea-ice thickness #if defined key_si3 - DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) + DO_2D( 0, 0, 0, 0 ) zhsro(ji,jj) = ( (1._wp-zice_fra(ji,jj)) * zhsro(ji,jj) + zice_fra(ji,jj) * hm_i(ji,jj) )*tmask(ji,jj,1) + (1._wp - tmask(ji,jj,1))*rn_hsro END_2D #endif ! CASE( 3 ) ! scaling with max sea-ice thickness #if defined key_si3 || defined key_cice - DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) + DO_2D( 0, 0, 0, 0 ) zhsro(ji,jj) = ( (1._wp-zice_fra(ji,jj)) * zhsro(ji,jj) + zice_fra(ji,jj) * MAXVAL(h_i(ji,jj,:)) )*tmask(ji,jj,1) + (1._wp - tmask(ji,jj,1))*rn_hsro END_2D #endif ! END SELECT ! - DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) !== Compute dissipation rate ==! + DO_3D( 0, 0, 0, 0, 2, jpkm1 ) !== Compute dissipation rate ==! eps(ji,jj,jk) = rc03 * en(ji,jj,jk) * SQRT( en(ji,jj,jk) ) / hmxl_n(ji,jj,jk) END_3D ! Save tke at before time step - DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 1, jpk ) + DO_3D( 0, 0, 0, 0, 1, jpk ) eb (ji,jj,jk) = en (ji,jj,jk) hmxl_b(ji,jj,jk) = hmxl_n(ji,jj,jk) END_3D IF( nn_clos == 0 ) THEN ! Mellor-Yamada - DO_3D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) + DO_3D_OVR( 0, 0, 0, 0, 2, jpkm1 ) zup = hmxl_n(ji,jj,jk) * gdepw(ji,jj,mbkt(ji,jj)+1,Kmm) zdown = vkarmn * gdepw(ji,jj,jk,Kmm) * ( -gdepw(ji,jj,jk,Kmm) + gdepw(ji,jj,mbkt(ji,jj)+1,Kmm) ) zcoef = ( zup / MAX( zdown, rsmall ) ) @@ -285,7 +288,7 @@ CONTAINS ! zdiag : diagonal zd_up : upper diagonal zd_lw : lower diagonal ! Warning : after this step, en : right hand side of the matrix - DO_3D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) + DO_3D_OVR( 0, 0, 0, 0, 2, jpkm1 ) ! buoy = - p_avt(ji,jj,jk) * rn2(ji,jj,jk) ! stratif. destruction ! @@ -326,7 +329,7 @@ CONTAINS en(ji,jj,jk) = en(ji,jj,jk) + rn_Dt * zesh2 * wmask(ji,jj,jk) END_3D ! - DO_2D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) + DO_2D_OVR( 0, 0, 0, 0 ) zdiag(ji,jj,jpk) = 1._wp ! ! Set surface condition on zwall_psi (1 at the bottom) @@ -340,7 +343,7 @@ CONTAINS SELECT CASE ( nn_bc_surf ) ! CASE ( 0 ) ! Dirichlet boundary condition (set e at k=1 & 2) - DO_2D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) + DO_2D_OVR( 0, 0, 0, 0 ) ! First level en (ji,jj,1) = MAX( rn_emin , rc02r * ustar2_surf(ji,jj) * (1._wp + (1._wp-zice_fra(ji,jj))*rsbc_tke1)**r2_3 ) zd_lw(ji,jj,1) = en(ji,jj,1) @@ -356,7 +359,7 @@ CONTAINS END_2D ! IF( ln_isfcav) THEN ! top boundary (ocean cavity) - DO_2D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) + DO_2D_OVR( 0, 0, 0, 0 ) IF( mikt(ji,jj) > 1 )THEN itop = mikt(ji,jj) ! k top w-point itopp1 = mikt(ji,jj) + 1 ! k+1 1st w-point below the top one @@ -377,7 +380,7 @@ CONTAINS ! CASE ( 1 ) ! Neumann boundary condition (set d(e)/dz) ! - DO_2D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) + DO_2D_OVR( 0, 0, 0, 0 ) ! Dirichlet conditions at k=1 en (ji,jj,1) = MAX( rn_emin , rc02r * ustar2_surf(ji,jj) * (1._wp + (1._wp-zice_fra(ji,jj))*rsbc_tke1)**r2_3 ) zd_lw(ji,jj,1) = en(ji,jj,1) @@ -398,7 +401,7 @@ CONTAINS END_2D ! IF( ln_isfcav) THEN ! top boundary (ocean cavity) - DO_2D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) + DO_2D_OVR( 0, 0, 0, 0 ) IF( mikt(ji,jj) > 1 )THEN itop = mikt(ji,jj) ! k top w-point itopp1 = mikt(ji,jj) + 1 ! k+1 1st w-point below the top one @@ -428,7 +431,7 @@ CONTAINS CASE ( 0 ) ! Dirichlet ! ! en(ibot) = u*^2 / Co2 and hmxl_n(ibot) = rn_lmin ! ! Balance between the production and the dissipation terms - DO_2D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) + DO_2D_OVR( 0, 0, 0, 0 ) !!gm This means that bottom and ocean w-level above have a specified "en" value. Sure ???? !! With thick deep ocean level thickness, this may be quite large, no ??? !! in particular in ocean cavities where top stratification can be large... @@ -447,7 +450,7 @@ CONTAINS ! ! NOTE: ctl_stop with ln_isfcav when using GLS IF( ln_isfcav) THEN ! top boundary (ocean cavity) - DO_2D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) + DO_2D_OVR( 0, 0, 0, 0 ) itop = mikt(ji,jj) ! k top w-point itopp1 = mikt(ji,jj) + 1 ! k+1 1st w-point below the top one ! ! mask at the ocean surface points @@ -465,7 +468,7 @@ CONTAINS ! CASE ( 1 ) ! Neumman boundary condition ! - DO_2D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) + DO_2D_OVR( 0, 0, 0, 0 ) ibot = mbkt(ji,jj) + 1 ! k bottom level of w-point ibotm1 = mbkt(ji,jj) ! k-1 bottom level of w-point but >=1 ! @@ -481,7 +484,7 @@ CONTAINS END_2D ! NOTE: ctl_stop with ln_isfcav when using GLS IF( ln_isfcav) THEN ! top boundary (ocean cavity) - DO_2D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) + DO_2D_OVR( 0, 0, 0, 0 ) itop = mikt(ji,jj) ! k top w-point itopp1 = mikt(ji,jj) + 1 ! k+1 1st w-point below the top one ! ! mask at the ocean surface points @@ -502,17 +505,17 @@ CONTAINS ! Matrix inversion (en prescribed at surface and the bottom) ! ---------------------------------------------------------- ! - DO_3D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) ! First recurrence : Dk = Dk - Lk * Uk-1 / Dk-1 + DO_3D_OVR( 0, 0, 0, 0, 2, jpkm1 ) ! First recurrence : Dk = Dk - Lk * Uk-1 / Dk-1 zdiag(ji,jj,jk) = zdiag(ji,jj,jk) - zd_lw(ji,jj,jk) * zd_up(ji,jj,jk-1) / zdiag(ji,jj,jk-1) END_3D - DO_3D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) ! Second recurrence : Lk = RHSk - Lk / Dk-1 * Lk-1 + DO_3D_OVR( 0, 0, 0, 0, 2, jpkm1 ) ! Second recurrence : Lk = RHSk - Lk / Dk-1 * Lk-1 zd_lw(ji,jj,jk) = en(ji,jj,jk) - zd_lw(ji,jj,jk) / zdiag(ji,jj,jk-1) * zd_lw(ji,jj,jk-1) END_3D - DO_3DS_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, jpkm1, 2, -1 ) ! Third recurrence : Ek = ( Lk - Uk * Ek+1 ) / Dk + DO_3DS_OVR( 0, 0, 0, 0, jpkm1, 2, -1 ) ! Third recurrence : Ek = ( Lk - Uk * Ek+1 ) / Dk en(ji,jj,jk) = ( zd_lw(ji,jj,jk) - zd_up(ji,jj,jk) * en(ji,jj,jk+1) ) / zdiag(ji,jj,jk) END_3D ! ! set the minimum value of tke - DO_3D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 1, jpk ) + DO_3D_OVR( 0, 0, 0, 0, 1, jpk ) en(ji,jj,jk) = MAX( en(ji,jj,jk), rn_emin ) END_3D @@ -525,22 +528,22 @@ CONTAINS SELECT CASE ( nn_clos ) ! CASE( 0 ) ! k-kl (Mellor-Yamada) - DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) + DO_3D( 0, 0, 0, 0, 2, jpkm1 ) psi(ji,jj,jk) = eb(ji,jj,jk) * hmxl_b(ji,jj,jk) END_3D ! CASE( 1 ) ! k-eps - DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) + DO_3D( 0, 0, 0, 0, 2, jpkm1 ) psi(ji,jj,jk) = eps(ji,jj,jk) END_3D ! CASE( 2 ) ! k-w - DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) + DO_3D( 0, 0, 0, 0, 2, jpkm1 ) psi(ji,jj,jk) = SQRT( eb(ji,jj,jk) ) / ( rc0 * hmxl_b(ji,jj,jk) ) END_3D ! CASE( 3 ) ! generic - DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) + DO_3D( 0, 0, 0, 0, 2, jpkm1 ) psi(ji,jj,jk) = rc02 * eb(ji,jj,jk) * hmxl_b(ji,jj,jk)**rnn END_3D ! @@ -553,7 +556,7 @@ CONTAINS ! zdiag : diagonal zd_up : upper diagonal zd_lw : lower diagonal ! Warning : after this step, en : right hand side of the matrix - DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) + DO_3D( 0, 0, 0, 0, 2, jpkm1 ) ! ! psi / k zratio = psi(ji,jj,jk) / eb(ji,jj,jk) @@ -591,7 +594,7 @@ CONTAINS psi(ji,jj,jk) = psi(ji,jj,jk) + rn_Dt * zesh2 * wmask(ji,jj,jk) END_3D ! - DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) + DO_2D( 0, 0, 0, 0 ) zdiag(ji,jj,jpk) = 1._wp END_2D @@ -602,7 +605,7 @@ CONTAINS ! CASE ( 0 ) ! Dirichlet boundary conditions ! - DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) + DO_2D( 0, 0, 0, 0 ) ! Surface value zdep (ji,jj) = zhsro(ji,jj) * rl_sf ! Cosmetic psi (ji,jj,1) = rc0**rpp * en(ji,jj,1)**rmm * zdep(ji,jj)**rnn * tmask(ji,jj,1) @@ -621,7 +624,7 @@ CONTAINS ! CASE ( 1 ) ! Neumann boundary condition on d(psi)/dz ! - DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) + DO_2D( 0, 0, 0, 0 ) ! Surface value: Dirichlet zdep (ji,jj) = zhsro(ji,jj) * rl_sf psi (ji,jj,1) = rc0**rpp * en(ji,jj,1)**rmm * zdep(ji,jj)**rnn * tmask(ji,jj,1) @@ -657,7 +660,7 @@ CONTAINS CASE ( 0 ) ! Dirichlet ! ! en(ibot) = u*^2 / Co2 and hmxl_n(ibot) = vkarmn * r_z0_bot ! ! Balance between the production and the dissipation terms - DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) + DO_2D( 0, 0, 0, 0 ) ibot = mbkt(ji,jj) + 1 ! k bottom level of w-point ibotm1 = mbkt(ji,jj) ! k-1 bottom level of w-point but >=1 zdep(ji,jj) = vkarmn * r_z0_bot @@ -675,7 +678,7 @@ CONTAINS END_2D ! IF( ln_isfcav) THEN ! top boundary (ocean cavity) - DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) + DO_2D( 0, 0, 0, 0 ) IF ( mikt(ji,jj) > 1 ) THEN itop = mikt(ji,jj) ! k top w-point itopp1 = mikt(ji,jj) + 1 ! k+1 1st w-point below the top one @@ -698,7 +701,7 @@ CONTAINS ! CASE ( 1 ) ! Neumman boundary condition ! - DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) + DO_2D( 0, 0, 0, 0 ) ibot = mbkt(ji,jj) + 1 ! k bottom level of w-point ibotm1 = mbkt(ji,jj) ! k-1 bottom level of w-point but >=1 ! @@ -722,7 +725,7 @@ CONTAINS END_2D ! IF( ln_isfcav) THEN ! top boundary (ocean cavity) - DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) + DO_2D( 0, 0, 0, 0 ) IF ( mikt(ji,jj) > 1 ) THEN itop = mikt(ji,jj) ! k top w-point itopp1 = mikt(ji,jj) + 1 ! k+1 1st w-point below the top one @@ -755,13 +758,13 @@ CONTAINS ! Matrix inversion ! ---------------- ! - DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) ! First recurrence : Dk = Dk - Lk * Uk-1 / Dk-1 + DO_3D( 0, 0, 0, 0, 2, jpkm1 ) ! First recurrence : Dk = Dk - Lk * Uk-1 / Dk-1 zdiag(ji,jj,jk) = zdiag(ji,jj,jk) - zd_lw(ji,jj,jk) * zd_up(ji,jj,jk-1) / zdiag(ji,jj,jk-1) END_3D - DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) ! Second recurrence : Lk = RHSk - Lk / Dk-1 * Lk-1 + DO_3D( 0, 0, 0, 0, 2, jpkm1 ) ! Second recurrence : Lk = RHSk - Lk / Dk-1 * Lk-1 zd_lw(ji,jj,jk) = psi(ji,jj,jk) - zd_lw(ji,jj,jk) / zdiag(ji,jj,jk-1) * zd_lw(ji,jj,jk-1) END_3D - DO_3DS( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, jpkm1, 2, -1 ) ! Third recurrence : Ek = ( Lk - Uk * Ek+1 ) / Dk + DO_3DS( 0, 0, 0, 0, jpkm1, 2, -1 ) ! Third recurrence : Ek = ( Lk - Uk * Ek+1 ) / Dk psi(ji,jj,jk) = ( zd_lw(ji,jj,jk) - zd_up(ji,jj,jk) * psi(ji,jj,jk+1) ) / zdiag(ji,jj,jk) END_3D @@ -771,17 +774,17 @@ CONTAINS SELECT CASE ( nn_clos ) ! CASE( 0 ) ! k-kl (Mellor-Yamada) - DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 1, jpkm1 ) + DO_3D( 0, 0, 0, 0, 1, jpkm1 ) eps(ji,jj,jk) = rc03 * en(ji,jj,jk) * en(ji,jj,jk) * SQRT( en(ji,jj,jk) ) / MAX( psi(ji,jj,jk), rn_epsmin) END_3D ! CASE( 1 ) ! k-eps - DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 1, jpkm1 ) + DO_3D( 0, 0, 0, 0, 1, jpkm1 ) eps(ji,jj,jk) = psi(ji,jj,jk) END_3D ! CASE( 2 ) ! k-w - DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 1, jpkm1 ) + DO_3D( 0, 0, 0, 0, 1, jpkm1 ) eps(ji,jj,jk) = rc04 * en(ji,jj,jk) * psi(ji,jj,jk) END_3D ! @@ -789,7 +792,7 @@ CONTAINS zcoef = rc0**( 3._wp + rpp/rnn ) zex1 = ( 1.5_wp + rmm/rnn ) zex2 = -1._wp / rnn - DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 1, jpkm1 ) + DO_3D( 0, 0, 0, 0, 1, jpkm1 ) eps(ji,jj,jk) = zcoef * en(ji,jj,jk)**zex1 * psi(ji,jj,jk)**zex2 END_3D ! @@ -797,13 +800,13 @@ CONTAINS ! Limit dissipation rate under stable stratification ! -------------------------------------------------- - DO_3D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 1, jpkm1 ) ! Note that this set boundary conditions on hmxl_n at the same time + DO_3D_OVR( 0, 0, 0, 0, 1, jpkm1 ) ! Note that this set boundary conditions on hmxl_n at the same time ! limitation eps (ji,jj,jk) = MAX( eps(ji,jj,jk), rn_epsmin ) hmxl_n(ji,jj,jk) = rc03 * en(ji,jj,jk) * SQRT( en(ji,jj,jk) ) / eps(ji,jj,jk) END_3D IF( ln_length_lim ) THEN ! Galperin criterium (NOTE : Not required if the proper value of C3 in stable cases is calculated) - DO_3D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 1, jpkm1 ) + DO_3D_OVR( 0, 0, 0, 0, 1, jpkm1 ) zrn2 = MAX( rn2(ji,jj,jk), rsmall ) hmxl_n(ji,jj,jk) = MIN( rn_clim_galp * SQRT( 2._wp * en(ji,jj,jk) / zrn2 ), hmxl_n(ji,jj,jk) ) END_3D @@ -816,7 +819,7 @@ CONTAINS SELECT CASE ( nn_stab_func ) ! CASE ( 0 , 1 ) ! Galperin or Kantha-Clayson stability functions - DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) + DO_3D( 0, 0, 0, 0, 2, jpkm1 ) ! zcof = l²/q² zcof = hmxl_b(ji,jj,jk) * hmxl_b(ji,jj,jk) / ( 2._wp*eb(ji,jj,jk) ) ! Gh = -N²l²/q² @@ -833,7 +836,7 @@ CONTAINS END_3D ! CASE ( 2, 3 ) ! Canuto stability functions - DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) + DO_3D( 0, 0, 0, 0, 2, jpkm1 ) ! zcof = l²/q² zcof = hmxl_b(ji,jj,jk)*hmxl_b(ji,jj,jk) / ( 2._wp * eb(ji,jj,jk) ) ! Gh = -N²l²/q² @@ -861,17 +864,17 @@ CONTAINS ! Boundary conditions on stability functions for momentum (Neumann): ! Lines below are useless if GOTM style Dirichlet conditions are used - DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) + DO_2D( 0, 0, 0, 0 ) zstm(ji,jj,1) = zstm(ji,jj,2) zstm(ji,jj,jpk) = 0. ! default value, in case jpk > mbkt(ji,jj)+1 ! ! Not needed but avoid a bug when looking for undefined values (-fpe0) END_2D - DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) ! update bottom with good values + DO_2D( 0, 0, 0, 0 ) ! update bottom with good values zstm(ji,jj,mbkt(ji,jj)+1) = zstm(ji,jj,mbkt(ji,jj)) END_2D - zstt(:,:, 1) = wmask(A2D(nn_hls), 1) ! default value not needed but avoid a bug when looking for undefined values (-fpe0) - zstt(:,:,jpk) = wmask(A2D(nn_hls),jpk) ! default value not needed but avoid a bug when looking for undefined values (-fpe0) + zstt(:,:, 1) = wmask(A2D(0), 1) ! default value not needed but avoid a bug when looking for undefined values (-fpe0) + zstt(:,:,jpk) = wmask(A2D(0),jpk) ! default value not needed but avoid a bug when looking for undefined values (-fpe0) !!gm should be done for ISF (top boundary cond.) !!gm so, totally new staff needed!!gm @@ -881,14 +884,14 @@ CONTAINS ! -> yes BUT p_avm(:,:1) and p_avm(:,:jpk) are used when we compute zd_lw(:,:2) and zd_up(:,:jpkm1). These values are ! later overwritten by surface/bottom boundaries conditions, so we don't really care of p_avm(:,:1) and p_avm(:,:jpk) ! for zd_lw and zd_up but they have to be defined to avoid a bug when looking for undefined values (-fpe0) - DO_3D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 1, jpk ) + DO_3D_OVR( 0, 0, 0, 0, 1, jpk ) zsqen = SQRT( 2._wp * en(ji,jj,jk) ) * hmxl_n(ji,jj,jk) zavt = zsqen * zstt(ji,jj,jk) zavm = zsqen * zstm(ji,jj,jk) p_avt(ji,jj,jk) = MAX( zavt, avtb(jk) ) * wmask(ji,jj,jk) ! apply mask for zdfmxl routine p_avm(ji,jj,jk) = MAX( zavm, avmb(jk) ) ! Note that avm is not masked at the surface and the bottom END_3D - p_avt(A2D(nn_hls),1) = 0._wp + p_avt(:,:,1) = 0._wp ! IF(sn_cfctl%l_prtctl) THEN CALL prt_ctl( tab3d_1=en , clinfo1=' gls - e: ', tab3d_2=p_avt, clinfo2=' t: ' ) @@ -1212,7 +1215,7 @@ CONTAINS ! ! !* Wall proximity function !!gm tmask or wmask ???? - zwall(:,:,:) = 1._wp * tmask(:,:,:) + zwall(:,:,:) = 1._wp * tmask(A2D(0),:) ! !* read or initialize all required files CALL gls_rst( nit000, 'READ' ) ! (en, avt_k, avm_k, hmxl_n) diff --git a/src/OCE/ZDF/zdfiwm.F90 b/src/OCE/ZDF/zdfiwm.F90 index d0a9540ea..e28833945 100644 --- a/src/OCE/ZDF/zdfiwm.F90 +++ b/src/OCE/ZDF/zdfiwm.F90 @@ -65,8 +65,8 @@ CONTAINS !!---------------------------------------------------------------------- !! *** FUNCTION zdf_iwm_alloc *** !!---------------------------------------------------------------------- - ALLOCATE( ebot_iwm(jpi,jpj), ecri_iwm(jpi,jpj), ensq_iwm(jpi,jpj) , & - & esho_iwm(jpi,jpj), hbot_iwm(jpi,jpj), hcri_iwm(jpi,jpj) , STAT=zdf_iwm_alloc ) + ALLOCATE( ebot_iwm(A2D(0)), ecri_iwm(A2D(0)), ensq_iwm(A2D(0)) , & + & esho_iwm(A2D(0)), hbot_iwm(A2D(0)), hcri_iwm(A2D(0)) , STAT=zdf_iwm_alloc ) ! CALL mpp_sum ( 'zdfiwm', zdf_iwm_alloc ) IF( zdf_iwm_alloc /= 0 ) CALL ctl_stop( 'STOP', 'zdf_iwm_alloc: failed to allocate arrays' ) @@ -127,25 +127,25 @@ CONTAINS !! References : de Lavergne et al. JAMES 2020, https://doi.org/10.1029/2020MS002065 !! de Lavergne et al. JPO 2016, https://doi.org/10.1175/JPO-D-14-0259.1 !!---------------------------------------------------------------------- - INTEGER , INTENT(in ) :: kt ! ocean time step - INTEGER , INTENT(in ) :: Kmm ! time level index - REAL(wp), DIMENSION(:,:,:) , INTENT(inout) :: p_avm ! momentum Kz (w-points) - REAL(wp), DIMENSION(:,:,:) , INTENT(inout) :: p_avt, p_avs ! tracer Kz (w-points) + INTEGER , INTENT(in ) :: kt ! ocean time step + INTEGER , INTENT(in ) :: Kmm ! time level index + REAL(wp), DIMENSION(:,:,:) , INTENT(inout) :: p_avm ! momentum Kz (w-points) + REAL(wp), DIMENSION(A2D(0),jpk) , INTENT(inout) :: p_avt, p_avs ! tracer Kz (w-points) ! INTEGER :: ji, jj, jk ! dummy loop indices REAL(wp), SAVE :: zztmp ! - REAL(wp), DIMENSION(A2D(nn_hls)) :: zfact ! Used for vertical structure - REAL(wp), DIMENSION(A2D(nn_hls),jpk) :: zReb ! Turbulence intensity parameter - REAL(wp), DIMENSION(A2D(nn_hls),jpk) :: zemx_iwm ! local energy density available for mixing (W/kg) - REAL(wp), DIMENSION(A2D(nn_hls),jpk) :: zav_ratio ! S/T diffusivity ratio (only for ln_tsdiff=T) - REAL(wp), DIMENSION(A2D(nn_hls),jpk) :: zav_wave ! Internal wave-induced diffusivity + REAL(wp), DIMENSION(A2D(0)) :: zfact ! Used for vertical structure + REAL(wp), DIMENSION(A2D(0),jpk) :: zReb ! Turbulence intensity parameter + REAL(wp), DIMENSION(A2D(0),jpk) :: zemx_iwm ! local energy density available for mixing (W/kg) + REAL(wp), DIMENSION(A2D(0),jpk) :: zav_ratio ! S/T diffusivity ratio (only for ln_tsdiff=T) + REAL(wp), DIMENSION(A2D(0),jpk) :: zav_wave ! Internal wave-induced diffusivity REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: z3d ! 3D workspace used for iom_put REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: z2d ! 2D - - - - !!---------------------------------------------------------------------- ! ! !* Initialize appropriately certain variables - DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 1, jpk ) + DO_3D( 0, 0, 0, 0, 1, jpk ) zav_ratio(ji,jj,jk) = 1._wp * wmask(ji,jj,jk) ! important to set it to 1 here END_3D IF( iom_use("emix_iwm") ) zemx_iwm (:,:,:) = 0._wp @@ -157,13 +157,13 @@ CONTAINS ! ! !* 'cri' component: distribute energy over the time-varying ! !* ocean depth using an exponential decay from the seafloor. - DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) ! part independent of the level + DO_2D( 0, 0, 0, 0 ) ! part independent of the level IF( ht(ji,jj) /= 0._wp ) THEN ; zfact(ji,jj) = ecri_iwm(ji,jj) * r1_rho0 / ( 1._wp - EXP( -ht(ji,jj) * hcri_iwm(ji,jj) ) ) ELSE ; zfact(ji,jj) = 0._wp ENDIF END_2D - DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) ! complete with the level-dependent part + DO_3D( 0, 0, 0, 0, 2, jpkm1 ) ! complete with the level-dependent part zemx_iwm(ji,jj,jk) = zfact(ji,jj) * ( EXP( ( gdept(ji,jj,jk ,Kmm) - ht(ji,jj) ) * hcri_iwm(ji,jj) ) & & - EXP( ( gdept(ji,jj,jk-1,Kmm) - ht(ji,jj) ) * hcri_iwm(ji,jj) ) & & ) * wmask(ji,jj,jk) / e3w(ji,jj,jk,Kmm) @@ -171,13 +171,13 @@ CONTAINS !* 'bot' component: distribute energy over the time-varying !* ocean depth using an algebraic decay above the seafloor. - DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) ! part independent of the level + DO_2D( 0, 0, 0, 0 ) ! part independent of the level IF( ht(ji,jj) /= 0._wp ) THEN ; zfact(ji,jj) = ebot_iwm(ji,jj) * ( 1._wp + hbot_iwm(ji,jj) / ht(ji,jj) ) * r1_rho0 ELSE ; zfact(ji,jj) = 0._wp ENDIF END_2D - DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) ! complete with the level-dependent part + DO_3D( 0, 0, 0, 0, 2, jpkm1 ) ! complete with the level-dependent part zemx_iwm(ji,jj,jk) = zemx_iwm(ji,jj,jk) + & & zfact(ji,jj) * ( 1._wp / ( 1._wp + ( ht(ji,jj) - gdept(ji,jj,jk ,Kmm) ) / hbot_iwm(ji,jj) ) & & - 1._wp / ( 1._wp + ( ht(ji,jj) - gdept(ji,jj,jk-1,Kmm) ) / hbot_iwm(ji,jj) ) & @@ -186,50 +186,50 @@ CONTAINS !* 'nsq' component: distribute energy over the time-varying !* ocean depth as proportional to rn2 - DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) + DO_2D( 0, 0, 0, 0 ) zfact(ji,jj) = 0._wp END_2D - DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) ! part independent of the level + DO_3D( 0, 0, 0, 0, 2, jpkm1 ) ! part independent of the level zfact(ji,jj) = zfact(ji,jj) + e3w(ji,jj,jk,Kmm) * MAX( 0._wp, rn2(ji,jj,jk) ) END_3D ! - DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) + DO_2D( 0, 0, 0, 0 ) IF( zfact(ji,jj) /= 0._wp ) zfact(ji,jj) = ensq_iwm(ji,jj) * r1_rho0 / zfact(ji,jj) END_2D ! - DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) ! complete with the level-dependent part + DO_3D( 0, 0, 0, 0, 2, jpkm1 ) ! complete with the level-dependent part zemx_iwm(ji,jj,jk) = zemx_iwm(ji,jj,jk) + zfact(ji,jj) * MAX( 0._wp, rn2(ji,jj,jk) ) END_3D !* 'sho' component: distribute energy over the time-varying !* ocean depth as proportional to sqrt(rn2) - DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) + DO_2D( 0, 0, 0, 0 ) zfact(ji,jj) = 0._wp END_2D - DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) ! part independent of the level + DO_3D( 0, 0, 0, 0, 2, jpkm1 ) ! part independent of the level zfact(ji,jj) = zfact(ji,jj) + e3w(ji,jj,jk,Kmm) * SQRT( MAX( 0._wp, rn2(ji,jj,jk) ) ) END_3D ! - DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) + DO_2D( 0, 0, 0, 0 ) IF( zfact(ji,jj) /= 0._wp ) zfact(ji,jj) = esho_iwm(ji,jj) * r1_rho0 / zfact(ji,jj) END_2D ! - DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) ! complete with the level-dependent part + DO_3D( 0, 0, 0, 0, 2, jpkm1 ) ! complete with the level-dependent part zemx_iwm(ji,jj,jk) = zemx_iwm(ji,jj,jk) + zfact(ji,jj) * SQRT( MAX( 0._wp, rn2(ji,jj,jk) ) ) END_3D ! Calculate turbulence intensity parameter Reb - DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) + DO_3D( 0, 0, 0, 0, 2, jpkm1 ) zReb(ji,jj,jk) = zemx_iwm(ji,jj,jk) / MAX( 1.e-20_wp, rnu * rn2(ji,jj,jk) ) END_3D ! ! Define internal wave-induced diffusivity - DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) + DO_3D( 0, 0, 0, 0, 2, jpkm1 ) zav_wave(ji,jj,jk) = zReb(ji,jj,jk) * r1_6 * rnu ! This corresponds to a constant mixing efficiency of 1/6 END_3D ! IF( ln_mevar ) THEN ! Variable mixing efficiency case : modify zav_wave in the - DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) ! energetic (Reb > 480) and buoyancy-controlled (Reb <10.224) regimes + DO_3D( 0, 0, 0, 0, 2, jpkm1 ) ! energetic (Reb > 480) and buoyancy-controlled (Reb <10.224) regimes IF( zReb(ji,jj,jk) > 480.00_wp ) THEN zav_wave(ji,jj,jk) = 3.6515_wp * rnu * SQRT( zReb(ji,jj,jk) ) ELSEIF( zReb(ji,jj,jk) < 10.224_wp ) THEN @@ -238,7 +238,7 @@ CONTAINS END_3D ENDIF ! - DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) ! Bound diffusivity by molecular value and 100 cm2/s + DO_3D( 0, 0, 0, 0, 2, jpkm1 ) ! Bound diffusivity by molecular value and 100 cm2/s zav_wave(ji,jj,jk) = MIN( MAX( 1.4e-7_wp, zav_wave(ji,jj,jk) ), 1.e-2_wp ) * wmask(ji,jj,jk) END_3D ! @@ -247,7 +247,7 @@ CONTAINS ! ! ----------------------- ! ! IF( ln_tsdiff ) THEN !* Option for differential mixing of salinity and temperature - DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) ! Calculate S/T diffusivity ratio as a function of Reb (else it is set to 1) + DO_3D( 0, 0, 0, 0, 2, jpkm1 ) ! Calculate S/T diffusivity ratio as a function of Reb (else it is set to 1) zav_ratio(ji,jj,jk) = ( 0.505_wp + & & 0.495_wp * TANH( 0.92_wp * ( LOG10( MAX( 1.e-20, zReb(ji,jj,jk) * 5._wp * r1_6 ) ) - 0.60_wp ) ) & & ) * wmask(ji,jj,jk) @@ -255,7 +255,7 @@ CONTAINS ENDIF CALL iom_put( "av_ratio", zav_ratio ) ! - DO_3D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) !* update momentum & tracer diffusivity with wave-driven mixing + DO_3D_OVR( 0, 0, 0, 0, 2, jpkm1 ) !* update momentum & tracer diffusivity with wave-driven mixing p_avs(ji,jj,jk) = p_avs(ji,jj,jk) + zav_wave(ji,jj,jk) * zav_ratio(ji,jj,jk) p_avt(ji,jj,jk) = p_avt(ji,jj,jk) + zav_wave(ji,jj,jk) p_avm(ji,jj,jk) = p_avm(ji,jj,jk) + zav_wave(ji,jj,jk) @@ -265,7 +265,7 @@ CONTAINS !* output useful diagnostics: Kz*N^2 , ! vertical integral of rho0 * Kz * N^2 , energy density (zemx_iwm) IF( iom_use("bflx_iwm") .OR. iom_use("pcmap_iwm") ) THEN - ALLOCATE( z2d(A2D(nn_hls)) , z3d(A2D(nn_hls),jpk) ) + ALLOCATE( z2d(A2D(0)) , z3d(A2D(0),jpk) ) z2d(:,:) = 0._wp ; z3d(:,:,:) = 0._wp ! Initialisation for iom_put DO_3D( 0, 0, 0, 0, 2, jpkm1 ) z3d(ji,jj,jk) = MAX( 0._wp, rn2(ji,jj,jk) ) * zav_wave(ji,jj,jk) @@ -282,7 +282,7 @@ CONTAINS IF( .NOT. l_istiled .OR. ntile == 1 ) zztmp = 0._wp ! Do only on the first tile DO_3D( 0, 0, 0, 0, 2, jpkm1 ) zztmp = zztmp + e3w(ji,jj,jk,Kmm) * e1e2t(ji,jj) & - & * MAX( 0._wp, rn2(ji,jj,jk) ) * zav_wave(ji,jj,jk) * wmask(ji,jj,jk) * tmask_i(ji,jj) + & * MAX( 0._wp, rn2(ji,jj,jk) ) * zav_wave(ji,jj,jk) * wmask(ji,jj,jk) * smask0_i(ji,jj) END_3D IF( .NOT. l_istiled .OR. ntile == nijtile ) THEN ! Do only on the last tile @@ -347,8 +347,8 @@ CONTAINS TYPE(FLD_N) :: sn_dsb, sn_dsc ! information about Decay Scale field to be read TYPE(FLD ), DIMENSION(jpiwm) :: sf_iwm ! structure of input fields (file informations, fields read) ! - REAL(wp), DIMENSION(jpi,jpj,4) :: ztmp - REAL(wp), DIMENSION(4) :: zdia + REAL(wp), DIMENSION(A2D(0),4) :: ztmp + REAL(wp), DIMENSION(4) :: zdia ! NAMELIST/namzdf_iwm/ ln_mevar, ln_tsdiff, & & cn_dir, sn_mpb, sn_mpc, sn_mpn, sn_mps, sn_dsb, sn_dsc @@ -390,8 +390,8 @@ CONTAINS slf_iwm(jp_dsb) = sn_dsb ; slf_iwm(jp_dsc) = sn_dsc ! DO ifpr= 1, jpiwm - ALLOCATE( sf_iwm(ifpr)%fnow(jpi,jpj,1) ) - IF( slf_iwm(ifpr)%ln_tint ) ALLOCATE( sf_iwm(ifpr)%fdta(jpi,jpj,1,2) ) + ALLOCATE( sf_iwm(ifpr)%fnow(A2D(0),1) ) + IF( slf_iwm(ifpr)%ln_tint ) ALLOCATE( sf_iwm(ifpr)%fdta(A2D(0),1,2) ) END DO ! fill sf_iwm with sf_iwm and control print @@ -408,10 +408,10 @@ CONTAINS ! ! read necessary fields CALL fld_read( nit000, 1, sf_iwm ) - ebot_iwm(:,:) = sf_iwm(1)%fnow(:,:,1) * ssmask(:,:) ! energy flux for dissipation above abyssal hills [W/m2] - ecri_iwm(:,:) = sf_iwm(2)%fnow(:,:,1) * ssmask(:,:) ! energy flux for dissipation at topographic slopes [W/m2] - ensq_iwm(:,:) = sf_iwm(3)%fnow(:,:,1) * ssmask(:,:) ! energy flux for dissipation scaling with N^2 [W/m2] - esho_iwm(:,:) = sf_iwm(4)%fnow(:,:,1) * ssmask(:,:) ! energy flux for dissipation due to shoaling [W/m2] + ebot_iwm(:,:) = sf_iwm(1)%fnow(:,:,1) * smask0(:,:) ! energy flux for dissipation above abyssal hills [W/m2] + ecri_iwm(:,:) = sf_iwm(2)%fnow(:,:,1) * smask0(:,:) ! energy flux for dissipation at topographic slopes [W/m2] + ensq_iwm(:,:) = sf_iwm(3)%fnow(:,:,1) * smask0(:,:) ! energy flux for dissipation scaling with N^2 [W/m2] + esho_iwm(:,:) = sf_iwm(4)%fnow(:,:,1) * smask0(:,:) ! energy flux for dissipation due to shoaling [W/m2] hbot_iwm(:,:) = sf_iwm(5)%fnow(:,:,1) ! spatially variable decay scale for abyssal hill dissipation [m] hcri_iwm(:,:) = sf_iwm(6)%fnow(:,:,1) ! spatially variable decay scale for topographic-slope [m] diff --git a/src/OCE/ZDF/zdfmfc.F90 b/src/OCE/ZDF/zdfmfc.F90 index f984b2bfa..d83c10182 100644 --- a/src/OCE/ZDF/zdfmfc.F90 +++ b/src/OCE/ZDF/zdfmfc.F90 @@ -69,8 +69,8 @@ CONTAINS !!---------------------------------------------------------------------- !! *** FUNCTION zdf_edmf_alloc *** !!---------------------------------------------------------------------- - ALLOCATE( edmfa(jpi,jpj,jpk) , edmfb(jpi,jpj,jpk) , edmfc(jpi,jpj,jpk) & - & , edmftra(jpi,jpj,jpk,2), edmfm(jpi,jpj,jpk) , STAT= zdf_mfc_alloc ) + ALLOCATE( edmfa(A2D(0),jpk) , edmfb(A2D(0),jpk) , edmfc(A2D(0),jpk), & + & edmftra(A2D(0),jpk,2), edmfm(A2D(0),jpk) , STAT= zdf_mfc_alloc ) ! IF( lk_mpp ) CALL mpp_sum ( 'zdfmfc', zdf_mfc_alloc ) IF( zdf_mfc_alloc /= 0 ) CALL ctl_warn('zdf_mfc_alloc: failed to allocate arrays') @@ -97,24 +97,25 @@ CONTAINS REAL(wp), DIMENSION(jpi,jpj,jpk,jpts,jpt), INTENT(inout) :: pts ! active tracers and RHS of tracer equation REAL(wp), DIMENSION(A2D(nn_hls),jpk,2) :: ztsp ! T/S of the plume REAL(wp), DIMENSION(A2D(nn_hls),jpk,2) :: ztse ! T/S at W point - REAL(wp), DIMENSION(A2D(nn_hls),jpk) :: zrwp ! - REAL(wp), DIMENSION(A2D(nn_hls),jpk) :: zrwp2 ! - REAL(wp), DIMENSION(A2D(nn_hls),jpk) :: zapp ! - REAL(wp), DIMENSION(A2D(nn_hls),jpk) :: zedmf ! - REAL(wp), DIMENSION(A2D(nn_hls),jpk) :: zepsT, zepsW ! + REAL(wp), DIMENSION(A2D(nn_hls)) :: zrautb, zraupl + REAL(wp), DIMENSION(A2D(0),jpk) :: zrwp ! + REAL(wp), DIMENSION(A2D(0),jpk) :: zrwp2 ! + REAL(wp), DIMENSION(A2D(0),jpk) :: zapp ! + REAL(wp), DIMENSION(A2D(0),jpk) :: zedmf ! + REAL(wp), DIMENSION(A2D(0),jpk) :: zepsT, zepsW ! ! - REAL(wp), DIMENSION(A2D(nn_hls)) :: zustar, zustar2 ! - REAL(wp), DIMENSION(A2D(nn_hls)) :: zuws, zvws, zsws, zfnet ! - REAL(wp), DIMENSION(A2D(nn_hls)) :: zfbuo, zrautbm1, zrautb, zraupl - REAL(wp), DIMENSION(A2D(nn_hls)) :: zwpsurf ! - REAL(wp), DIMENSION(A2D(nn_hls)) :: zop0 , zsp0 ! - REAL(wp), DIMENSION(A2D(nn_hls)) :: zrwp_0, zrwp2_0 ! - REAL(wp), DIMENSION(A2D(nn_hls)) :: zapp0 ! - REAL(wp), DIMENSION(A2D(nn_hls)) :: zphp, zph, zphpm1, zphm1, zNHydro - REAL(wp), DIMENSION(A2D(nn_hls)) :: zhcmo ! + REAL(wp), DIMENSION(A2D(0)) :: zustar, zustar2 ! + REAL(wp), DIMENSION(A2D(0)) :: zuws, zvws, zsws, zfnet ! + REAL(wp), DIMENSION(A2D(0)) :: zfbuo, zrautbm1 + REAL(wp), DIMENSION(A2D(0)) :: zwpsurf ! + REAL(wp), DIMENSION(A2D(0)) :: zop0 , zsp0 ! + REAL(wp), DIMENSION(A2D(0)) :: zrwp_0, zrwp2_0 ! + REAL(wp), DIMENSION(A2D(0)) :: zapp0 ! + REAL(wp), DIMENSION(A2D(0)) :: zphp, zph, zphpm1, zphm1, zNHydro + REAL(wp), DIMENSION(A2D(0)) :: zhcmo ! ! - REAL(wp), DIMENSION(A2D(nn_hls),jpk) :: zn2 ! N^2 - REAL(wp), DIMENSION(A2D(nn_hls),2 ) :: zab, zabm1, zabp ! alpha and beta + REAL(wp), DIMENSION(A2D(0),jpk) :: zn2 ! N^2 + REAL(wp), DIMENSION(A2D(0),2 ) :: zab, zabm1, zabp ! alpha and beta REAL(wp), PARAMETER :: zepsilon = 1.e-30 ! local small value @@ -135,7 +136,7 @@ CONTAINS zcb = 1._wp zcd = 1._wp - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) !------------------------------------------------------------------ ! Surface boundary condition !------------------------------------------------------------------ @@ -160,8 +161,11 @@ CONTAINS !------------------------------------------- zrwp (ji,jj,:) = 0._wp ; zrwp2(ji,jj,:) = 0._wp ; zedmf(ji,jj,:) = 0._wp zph (ji,jj) = 0._wp ; zphm1(ji,jj) = 0._wp ; zphpm1(ji,jj) = 0._wp - ztsp(ji,jj,:,:)= 0._wp + END_2D + !clem: we should be able to do all calculations in the interior if eos is changed to allow A2D(0) arrays + DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + ztsp(ji,jj,:,:) = 0._wp ; ztse(ji,jj,:,:) = 0._wp ! Tracers inside plume (ztsp) and environment (ztse) ztsp(ji,jj,1,jp_tem) = pts(ji,jj,1,jp_tem,Kmm) * tmask(ji,jj,1) ztsp(ji,jj,1,jp_sal) = pts(ji,jj,1,jp_sal,Kmm) * tmask(ji,jj,1) @@ -175,12 +179,12 @@ CONTAINS !------------------------------------------- ! Boundary Condition of Mass Flux (plume velo.; convective area, entrain/detrain) !------------------------------------------- - zhcmo(:,:) = e3t(A1Di(nn_hls),A1Dj(nn_hls),1,Kmm) + zhcmo(:,:) = e3t(A1Di(0),A1Dj(0),1,Kmm) zfbuo(:,:) = 0._wp - WHERE ( ABS(zrautb(:,:)) > 1.e-20 ) zfbuo(:,:) = & + WHERE ( ABS(zrautb(A2D(0))) > 1.e-20 ) zfbuo(:,:) = & & grav * ( 2.e-4_wp *zfnet(:,:) & - & - 7.6E-4_wp*pts(A2D(nn_hls),1,jp_sal,Kmm) & - & * zsws(:,:)/zrautb(:,:)) * zhcmo(:,:) + & - 7.6E-4_wp*pts(A2D(0),1,jp_sal,Kmm) & + & * zsws(:,:)/zrautb(A2D(0))) * zhcmo(:,:) zedmf(:,:,1) = -0.065_wp*(ABS(zfbuo(:,:)))**(1._wp/3._wp)*SIGN(1.,zfbuo(:,:)) zedmf(:,:,1) = MAX(0., zedmf(:,:,1)) @@ -210,7 +214,7 @@ CONTAINS DO jk= 2, jpk ! Compute the buoyancy acceleration on T-points at jk-1 - zrautbm1(:,:) = zrautb(:,:) + zrautbm1(:,:) = zrautb(A2D(0)) CALL eos( pts (:,:,jk ,:,Kmm) , zrautb(:,:) ) CALL eos( ztsp(:,:,jk-1,: ) , zraupl(:,:) ) @@ -221,7 +225,7 @@ CONTAINS zph(ji,jj) = MAX( zph(ji,jj), zepsilon) END_2D - WHERE(zrautbm1 .NE. 0.) zfbuo(:,:) = grav * (zraupl(:,:) - zrautbm1(:,:)) / zrautbm1(:,:) + WHERE(zrautbm1 .NE. 0.) zfbuo(:,:) = grav * (zraupl(A2D(0)) - zrautbm1(:,:)) / zrautbm1(:,:) DO_2D( 0, 0, 0, 0 ) @@ -395,9 +399,9 @@ CONTAINS SUBROUTINE diag_mfc( zdiagi, zdiagd, zdiags, p2dt, Kaa ) - REAL(wp), DIMENSION(A2D(nn_hls),jpk), INTENT(inout) :: zdiagi, zdiagd, zdiags ! inout: tridaig. terms - REAL(wp) , INTENT(in ) :: p2dt ! tracer time-step - INTEGER , INTENT(in ) :: Kaa ! ocean time level indices + REAL(wp), DIMENSION(A2D(0),jpk), INTENT(inout) :: zdiagi, zdiagd, zdiags ! inout: tridaig. terms + REAL(wp) , INTENT(in ) :: p2dt ! tracer time-step + INTEGER , INTENT(in ) :: Kaa ! ocean time level indices INTEGER :: ji, jj, jk ! dummy loop arguments diff --git a/src/OCE/ZDF/zdfmxl.F90 b/src/OCE/ZDF/zdfmxl.F90 index c387bdb14..e298785aa 100644 --- a/src/OCE/ZDF/zdfmxl.F90 +++ b/src/OCE/ZDF/zdfmxl.F90 @@ -51,7 +51,7 @@ CONTAINS !!---------------------------------------------------------------------- zdf_mxl_alloc = 0 ! set to zero if no array to be allocated IF( .NOT. ALLOCATED( nmln ) ) THEN - ALLOCATE( nmln(jpi,jpj), hmld(jpi,jpj), hmlp(jpi,jpj), hmlpt(jpi,jpj), STAT= zdf_mxl_alloc ) + ALLOCATE( hmld(A2D(0)), nmln(jpi,jpj), hmlp(jpi,jpj), hmlpt(jpi,jpj), STAT= zdf_mxl_alloc ) ! CALL mpp_sum ( 'zdfmxl', zdf_mxl_alloc ) IF( zdf_mxl_alloc /= 0 ) CALL ctl_stop( 'STOP', 'zdf_mxl_alloc: failed to allocate arrays.' ) @@ -109,8 +109,8 @@ CONTAINS ! IF( .NOT.l_offline .AND. iom_use("mldr10_1") ) THEN IF( .NOT. l_istiled .OR. ntile == nijtile ) THEN ! Do only on the last tile - IF( ln_isfcav ) THEN ; CALL iom_put( "mldr10_1", hmlp - risfdep) ! mixed layer thickness - ELSE ; CALL iom_put( "mldr10_1", hmlp ) ! mixed layer depth + IF( ln_isfcav ) THEN ; CALL iom_put( "mldr10_1", hmlp(A2D(0)) - risfdep(A2D(0))) ! mixed layer thickness + ELSE ; CALL iom_put( "mldr10_1", hmlp(A2D(0)) ) ! mixed layer depth END IF ENDIF ENDIF @@ -138,24 +138,24 @@ CONTAINS ! INTEGER :: ji, jj, jk ! dummy loop indices INTEGER :: iik ! local integer - INTEGER, DIMENSION(A2D(nn_hls)) :: imld ! 2D workspace + INTEGER, DIMENSION(A2D(0)) :: imld ! 2D workspace !!---------------------------------------------------------------------- ! ! w-level of the turbocline and mixing layer (iom_use) - imld(:,:) = mbkt(A2D(nn_hls)) + 1 ! Initialization to the number of w ocean point - DO_3DS( 1, 1, 1, 1, jpkm1, nlb10, -1 ) ! from the bottom to nlb10 + imld(:,:) = mbkt(A2D(0)) + 1 ! Initialization to the number of w ocean point + DO_3DS( 0, 0, 0, 0, jpkm1, nlb10, -1 ) ! from the bottom to nlb10 IF( avt (ji,jj,jk) < avt_c * wmask(ji,jj,jk) ) imld(ji,jj) = jk ! Turbocline END_3D ! depth of the mixing layer - DO_2D_OVR( 1, 1, 1, 1 ) + DO_2D_OVR( 0, 0, 0, 0 ) iik = imld(ji,jj) hmld (ji,jj) = gdepw(ji,jj,iik ,Kmm) * ssmask(ji,jj) ! Turbocline depth END_2D ! IF( .NOT.l_offline .AND. iom_use("mldkz5") ) THEN IF( .NOT. l_istiled .OR. ntile == nijtile ) THEN ! Do only on the last tile - IF( ln_isfcav ) THEN ; CALL iom_put( "mldkz5" , hmld - risfdep ) ! turbocline thickness - ELSE ; CALL iom_put( "mldkz5" , hmld ) ! turbocline depth + IF( ln_isfcav ) THEN ; CALL iom_put( "mldkz5" , hmld - risfdep(A2D(0)) ) ! turbocline thickness + ELSE ; CALL iom_put( "mldkz5" , hmld ) ! turbocline depth END IF ENDIF ENDIF diff --git a/src/OCE/ZDF/zdfphy.F90 b/src/OCE/ZDF/zdfphy.F90 index 5fbf23220..746614a3b 100644 --- a/src/OCE/ZDF/zdfphy.F90 +++ b/src/OCE/ZDF/zdfphy.F90 @@ -79,7 +79,7 @@ CONTAINS !!---------------------------------------------------------------------- INTEGER, INTENT(in) :: Kmm ! time level index (middle) ! - INTEGER :: jk ! dummy loop indices + INTEGER :: ji, jj, jk ! dummy loop indices INTEGER :: ioptio, ios ! local integers !! NAMELIST/namzdf/ ln_zdfcst, ln_zdfric, ln_zdftke, ln_zdfgls, & ! type of closure scheme @@ -164,13 +164,13 @@ CONTAINS ! ! -15S -5S : linear decrease from avt0 to avt0/10. ! ! -5S +5N : cst value avt0/10. ! ! 5N 15N : linear increase from avt0/10, to avt0 - WHERE(-15. <= gphit .AND. gphit < -5 ) avtb_2d = (1. - 0.09 * (gphit + 15.)) - WHERE( -5. <= gphit .AND. gphit < 5 ) avtb_2d = 0.1 - WHERE( 5. <= gphit .AND. gphit < 15 ) avtb_2d = (0.1 + 0.09 * (gphit - 5.)) + WHERE(-15. <= gphit(A2D(0)) .AND. gphit(A2D(0)) < -5 ) avtb_2d = (1. - 0.09 * (gphit(A2D(0)) + 15.)) + WHERE( -5. <= gphit(A2D(0)) .AND. gphit(A2D(0)) < 5 ) avtb_2d = 0.1 + WHERE( 5. <= gphit(A2D(0)) .AND. gphit(A2D(0)) < 15 ) avtb_2d = (0.1 + 0.09 * (gphit(A2D(0)) - 5.)) ENDIF ! DO jk = 1, jpk ! set turbulent closure Kz to the background value (avt_k, avm_k) - avt_k(:,:,jk) = avtb_2d(:,:) * avtb(jk) * wmask (:,:,jk) + avt_k(:,:,jk) = avtb_2d(:,:) * avtb(jk) * wmask (A2D(0),jk) avm_k(:,:,jk) = avmb(jk) * wmask (:,:,jk) END DO !!gm to be tested only the 1st & last levels @@ -178,7 +178,7 @@ CONTAINS ! avt (:,:,jpk) = 0._wp ; avs(:,:,jpk) = 0._wp ; avm (:,:,jpk) = 0._wp !!gm avt (:,:,:) = 0._wp ; avs(:,:,:) = 0._wp ; avm (:,:,:) = 0._wp - + ! !== Convection ==! ! IF( ln_zdfnpc .AND. ln_zdfevd ) CALL ctl_stop( 'zdf_phy_init: chose between ln_zdfnpc and ln_zdfevd' ) @@ -255,7 +255,7 @@ CONTAINS INTEGER, INTENT(in) :: Kbb, Kmm, Krhs ! ocean time level indices ! INTEGER :: ji, jj, jk ! dummy loop indice - REAL(wp), DIMENSION(A2D(nn_hls),jpk) :: zsh2 ! shear production + REAL(wp), DIMENSION(A2D(0),jpk) :: zsh2 ! shear production !! --------------------------------------------------------------------- ! IF( ln_timing ) CALL timing_start('zdf_phy') @@ -308,6 +308,9 @@ CONTAINS CASE( np_TKE ) ; CALL zdf_tke( kt, Kbb, Kmm, zsh2, avm_k, avt_k ) ! TKE closure scheme for Kz CASE( np_GLS ) ; CALL zdf_gls( kt, Kbb, Kmm, zsh2, avm_k, avt_k ) ! GLS closure scheme for Kz CASE( np_OSM ) ; CALL zdf_osm( kt, Kbb, Kmm, Krhs, avm_k, avt_k ) ! OSMOSIS closure scheme for Kz + ! ! clem: osmosis currently cannot work because + ! it uses qns and qsr that are only defined in the interior (A2D(0)) + ! we should do calculations in the interior and put a lbc_lnk at the end ! CASE( np_CST ) ! Constant Kz (reset avt, avm to the background value) ! ! avt_k and avm_k set one for all at initialisation phase !!gm avt(2:jpim1,2:jpjm1,1:jpkm1) = rn_avt0 * wmask(2:jpim1,2:jpjm1,1:jpkm1) @@ -323,13 +326,13 @@ CONTAINS #endif ! ! !* start from turbulent closure values - DO_3D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) + DO_3D_OVR( 0, 0, 0, 0, 2, jpkm1 ) avt(ji,jj,jk) = avt_k(ji,jj,jk) avm(ji,jj,jk) = avm_k(ji,jj,jk) END_3D ! IF( ln_rnf_mouth ) THEN !* increase diffusivity at rivers mouths - DO_3D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, nkrnf ) + DO_3D_OVR( 0, 0, 0, 0, 2, nkrnf ) avt(ji,jj,jk) = avt(ji,jj,jk) + 2._wp * rn_avt_rnf * rnfmsk(ji,jj) * wmask(ji,jj,jk) END_3D ENDIF @@ -340,7 +343,7 @@ CONTAINS IF( ln_zdfddm ) THEN ! update avt and compute avs CALL zdf_ddm( kt, Kmm, avm, avt, avs ) ELSE ! same mixing on all tracers - DO_3D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 1, jpkm1 ) + DO_3D_OVR( 0, 0, 0, 0, 1, jpkm1 ) avs(ji,jj,jk) = avt(ji,jj,jk) END_3D ENDIF @@ -350,14 +353,18 @@ CONTAINS IF( ln_zdfiwm ) CALL zdf_iwm( kt, Kmm, avm, avt, avs ) ! internal wave (de Lavergne et al 2017) ! !* Lateral boundary conditions (sign unchanged) - IF(nn_hls==1) THEN ! if nn_hls==2 lbc_lnk done in stp routines - IF( l_zdfsh2 ) THEN - CALL lbc_lnk( 'zdfphy', avm_k, 'W', 1.0_wp , avt_k, 'W', 1.0_wp, & - & avm , 'W', 1.0_wp , avt , 'W', 1.0_wp , avs , 'W', 1.0_wp ) - ELSE - CALL lbc_lnk( 'zdfphy', avm , 'W', 1.0_wp , avt , 'W', 1.0_wp , avs , 'W', 1.0_wp ) - ENDIF + !clem: this is probably not compatible with tiling + !clem: calculating avm, avt and avt in the interior only allows to have most of SBC arrays only defined in the interior + ! but then one needs a lbc_lnk. If this lbc is critical, then one should get back to calculations on (nn_hls-1) +!!$ IF(nn_hls==1) THEN ! if nn_hls==2 lbc_lnk done in stp routines + IF( l_zdfsh2 ) THEN + CALL lbc_lnk( 'zdfphy', avm, 'W', 1.0_wp, avm_k, 'W', 1.0_wp ) + ELSE + CALL lbc_lnk( 'zdfphy', avm, 'W', 1.0_wp ) + ENDIF ! +!!$ ENDIF + IF(nn_hls==1) THEN IF( l_zdfdrg ) THEN ! drag have been updated (non-linear cases) IF( ln_isfcav ) THEN ; CALL lbc_lnk( 'zdfphy', rCdU_top, 'T', 1.0_wp , rCdU_bot, 'T', 1.0_wp ) ! top & bot drag ELSE ; CALL lbc_lnk( 'zdfphy', rCdU_bot, 'T', 1.0_wp ) ! bottom drag only @@ -379,10 +386,10 @@ CONTAINS ! diagnostics of energy dissipation IF( iom_use('avt_k') .OR. iom_use('avm_k') .OR. iom_use('eshear_k') .OR. iom_use('estrat_k') ) THEN IF( l_zdfsh2 ) THEN - CALL iom_put( 'avt_k' , avt_k * wmask ) - CALL iom_put( 'avm_k' , avm_k * wmask ) - CALL iom_put( 'eshear_k', zsh2 * wmask ) - CALL iom_put( 'estrat_k', - avt_k * rn2 * wmask ) + CALL iom_put( 'avt_k' , avt_k * wmask(A2D(0),:) ) + CALL iom_put( 'avm_k' , avm_k * wmask(A2D(0),:) ) + CALL iom_put( 'eshear_k', zsh2 * wmask(A2D(0),:) ) + CALL iom_put( 'estrat_k', - avt_k * rn2 * wmask(A2D(0),:) ) ENDIF ENDIF ! diff --git a/src/OCE/ZDF/zdfric.F90 b/src/OCE/ZDF/zdfric.F90 index 655cf49cd..44a635a15 100644 --- a/src/OCE/ZDF/zdfric.F90 +++ b/src/OCE/ZDF/zdfric.F90 @@ -145,18 +145,19 @@ CONTAINS !! References : Pacanowski & Philander 1981, JPO, 1441-1451. !! PFJ Lermusiaux 2001. !!---------------------------------------------------------------------- - INTEGER , INTENT(in ) :: kt ! ocean time-step - INTEGER , INTENT(in ) :: Kmm ! ocean time level index - REAL(wp), DIMENSION(A2D(nn_hls),jpk), INTENT(in ) :: p_sh2 ! shear production term - REAL(wp), DIMENSION(:,:,:) , INTENT(inout) :: p_avm, p_avt ! momentum and tracer Kz (w-points) + INTEGER , INTENT(in ) :: kt ! ocean time-step + INTEGER , INTENT(in ) :: Kmm ! ocean time level index + REAL(wp), DIMENSION(A2D(0),jpk), INTENT(in ) :: p_sh2 ! shear production term + REAL(wp), DIMENSION(:,:,:) , INTENT(inout) :: p_avm ! momentum Kz (w-points) + REAL(wp), DIMENSION(A2D(0),jpk), INTENT(inout) :: p_avt ! tracer Kz (w-points) !! INTEGER :: ji, jj, jk ! dummy loop indices REAL(wp) :: zcfRi, zav, zustar, zhek ! local scalars - REAL(wp), DIMENSION(A2D(nn_hls)) :: zh_ekm ! 2D workspace + REAL(wp), DIMENSION(A2D(0)) :: zh_ekm ! 2D workspace !!---------------------------------------------------------------------- ! ! !== avm and avt = F(Richardson number) ==! - DO_3D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) ! coefficient = F(richardson number) (avm-weighted Ri) + DO_3D_OVR( 0, 0, 0, 0, 2, jpkm1 ) ! coefficient = F(richardson number) (avm-weighted Ri) zcfRi = 1._wp / ( 1._wp + rn_alp * MAX( 0._wp , avm(ji,jj,jk) * rn2(ji,jj,jk) / ( p_sh2(ji,jj,jk) + 1.e-20 ) ) ) zav = rn_avmri * zcfRi**nn_ric ! ! avm and avt coefficients @@ -169,12 +170,12 @@ CONTAINS ! IF( ln_mldw ) THEN !== set a minimum value in the Ekman layer ==! ! - DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) + DO_2D( 0, 0, 0, 0 ) zustar = SQRT( taum(ji,jj) * r1_rho0 ) zhek = rn_ekmfc * zustar / ( ABS( ff_t(ji,jj) ) + rsmall ) ! Ekman depth zh_ekm(ji,jj) = MAX( rn_mldmin , MIN( zhek , rn_mldmax ) ) ! set allowed range END_2D - DO_3D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) !* minimum mixing coeff. within the Ekman layer + DO_3D_OVR( 0, 0, 0, 0, 2, jpkm1 ) !* minimum mixing coeff. within the Ekman layer IF( gdept(ji,jj,jk,Kmm) < zh_ekm(ji,jj) ) THEN p_avm(ji,jj,jk) = MAX( p_avm(ji,jj,jk), rn_wvmix ) * wmask(ji,jj,jk) p_avt(ji,jj,jk) = MAX( p_avt(ji,jj,jk), rn_wtmix ) * wmask(ji,jj,jk) diff --git a/src/OCE/ZDF/zdfsh2.F90 b/src/OCE/ZDF/zdfsh2.F90 index 1654a2e10..8aa5a7340 100644 --- a/src/OCE/ZDF/zdfsh2.F90 +++ b/src/OCE/ZDF/zdfsh2.F90 @@ -54,17 +54,17 @@ CONTAINS !! ***** !! References : Bruchard, OM 2002 !! --------------------------------------------------------------------- - INTEGER , INTENT(in ) :: Kbb, Kmm ! ocean time level indices - REAL(wp), DIMENSION(:,:,:) , INTENT(in ) :: p_avm ! vertical eddy viscosity (w-points) - REAL(wp), DIMENSION(A2D(nn_hls),jpk) , INTENT( out) :: p_sh2 ! shear production of TKE (w-points) + INTEGER , INTENT(in ) :: Kbb, Kmm ! ocean time level indices + REAL(wp), DIMENSION(:,:,:) , INTENT(in ) :: p_avm ! vertical eddy viscosity (w-points) + REAL(wp), DIMENSION(A2D(0),jpk) , INTENT( out) :: p_sh2 ! shear production of TKE (w-points) ! INTEGER :: ji, jj, jk ! dummy loop arguments - REAL(wp), DIMENSION(A2D(nn_hls)) :: zsh2u, zsh2v ! 2D workspace + REAL(wp), DIMENSION(A2D(1)) :: zsh2u, zsh2v ! 2D workspace !!-------------------------------------------------------------------- ! DO jk = 2, jpkm1 !* Shear production at uw- and vw-points (energy conserving form) IF ( cpl_sdrftx .AND. ln_stshear ) THEN ! Surface Stokes Drift available ===>>> shear + stokes drift contibution - DO_2D( nn_hls, nn_hls-1, nn_hls, nn_hls-1 ) + DO_2D( 1, 0, 1, 0 ) zsh2u(ji,jj) = ( p_avm(ji+1,jj,jk) + p_avm(ji,jj,jk) ) & & * ( uu (ji,jj,jk-1,Kmm) - uu (ji,jj,jk,Kmm) & & + usd(ji,jj,jk-1) - usd(ji,jj,jk) ) & @@ -77,7 +77,7 @@ CONTAINS &/ ( e3vw(ji,jj,jk,Kmm) * e3vw(ji,jj,jk,Kbb) ) * wvmask(ji,jj,jk) END_2D ELSE - DO_2D( nn_hls, nn_hls-1, nn_hls, nn_hls-1 ) !* 2 x shear production at uw- and vw-points (energy conserving form) + DO_2D( 1, 0, 1, 0 ) !* 2 x shear production at uw- and vw-points (energy conserving form) zsh2u(ji,jj) = ( p_avm(ji+1,jj,jk) + p_avm(ji,jj,jk) ) & & * ( uu(ji,jj,jk-1,Kmm) - uu(ji,jj,jk,Kmm) ) & & * ( uu(ji,jj,jk-1,Kbb) - uu(ji,jj,jk,Kbb) ) & @@ -90,12 +90,12 @@ CONTAINS & * wvmask(ji,jj,jk) END_2D ENDIF - DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) !* shear production at w-point ! coast mask: =2 at the coast ; =1 otherwise (NB: wmask useless as zsh2 are masked) + DO_2D( 0, 0, 0, 0 ) !* shear production at w-point ! coast mask: =2 at the coast ; =1 otherwise (NB: wmask useless as zsh2 are masked) p_sh2(ji,jj,jk) = 0.25 * ( ( zsh2u(ji-1,jj) + zsh2u(ji,jj) ) * ( 2. - umask(ji-1,jj,jk) * umask(ji,jj,jk) ) & & + ( zsh2v(ji,jj-1) + zsh2v(ji,jj) ) * ( 2. - vmask(ji,jj-1,jk) * vmask(ji,jj,jk) ) ) END_2D END DO - DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) ! set p_sh2 to 0 at the surface and bottom for output purpose + DO_2D( 0, 0, 0, 0 ) ! set p_sh2 to 0 at the surface and bottom for output purpose p_sh2(ji,jj,1) = 0._wp p_sh2(ji,jj,jpk) = 0._wp END_2D diff --git a/src/OCE/ZDF/zdfswm.F90 b/src/OCE/ZDF/zdfswm.F90 index 7c6f94d88..9a3b20585 100644 --- a/src/OCE/ZDF/zdfswm.F90 +++ b/src/OCE/ZDF/zdfswm.F90 @@ -53,17 +53,17 @@ CONTAINS !! !! reference : Qiao et al. GRL, 2004 !!--------------------------------------------------------------------- - INTEGER , INTENT(in ) :: kt ! ocean time step - INTEGER , INTENT(in ) :: Kmm ! time level index - REAL(wp), DIMENSION(:,:,:) , INTENT(inout) :: p_avm ! momentum Kz (w-points) - REAL(wp), DIMENSION(:,:,:) , INTENT(inout) :: p_avt, p_avs ! tracer Kz (w-points) + INTEGER , INTENT(in ) :: kt ! ocean time step + INTEGER , INTENT(in ) :: Kmm ! time level index + REAL(wp), DIMENSION(:,:,:) , INTENT(inout) :: p_avm ! momentum Kz (w-points) + REAL(wp), DIMENSION(A2D(0),jpk) , INTENT(inout) :: p_avt, p_avs ! tracer Kz (w-points) ! INTEGER :: ji, jj, jk ! dummy loop indices REAL(wp):: zcoef, zqb ! local scalar !!--------------------------------------------------------------------- ! zcoef = 1._wp * 0.353553_wp - DO_3D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) + DO_3D_OVR( 0, 0, 0, 0, 2, jpkm1 ) zqb = zcoef * hsw(ji,jj) * tsd2d(ji,jj) * EXP( -3. * wnum(ji,jj) * gdepw(ji,jj,jk,Kmm) ) * wmask(ji,jj,jk) ! p_avt(ji,jj,jk) = p_avt(ji,jj,jk) + zqb diff --git a/src/OCE/ZDF/zdftke.F90 b/src/OCE/ZDF/zdftke.F90 index 4d3adbd3e..e2285b2c8 100644 --- a/src/OCE/ZDF/zdftke.F90 +++ b/src/OCE/ZDF/zdftke.F90 @@ -114,7 +114,7 @@ CONTAINS !!---------------------------------------------------------------------- !! *** FUNCTION zdf_tke_alloc *** !!---------------------------------------------------------------------- - ALLOCATE( htau(jpi,jpj) , dissl(jpi,jpj,jpk) , apdlr(jpi,jpj,jpk) , STAT= zdf_tke_alloc ) + ALLOCATE( htau(A2D(0)) , dissl(A2D(0),jpk) , apdlr(A2D(0),jpk) , STAT= zdf_tke_alloc ) ! CALL mpp_sum ( 'zdftke', zdf_tke_alloc ) IF( zdf_tke_alloc /= 0 ) CALL ctl_stop( 'STOP', 'zdf_tke_alloc: failed to allocate arrays' ) @@ -167,10 +167,11 @@ CONTAINS !! Axell, JGR, 2002 !! Bruchard OM 2002 !!---------------------------------------------------------------------- - INTEGER , INTENT(in ) :: kt ! ocean time step - INTEGER , INTENT(in ) :: Kbb, Kmm ! ocean time level indices - REAL(wp), DIMENSION(A2D(nn_hls),jpk), INTENT(in ) :: p_sh2 ! shear production term - REAL(wp), DIMENSION(:,:,:) , INTENT(inout) :: p_avm, p_avt ! momentum and tracer Kz (w-points) + INTEGER , INTENT(in ) :: kt ! ocean time step + INTEGER , INTENT(in ) :: Kbb, Kmm ! ocean time level indices + REAL(wp), DIMENSION(A2D(0),jpk), INTENT(in ) :: p_sh2 ! shear production term + REAL(wp), DIMENSION(:,:,:) , INTENT(inout) :: p_avm ! momentum Kz (w-points) + REAL(wp), DIMENSION(A2D(0),jpk), INTENT(inout) :: p_avt ! tracer Kz (w-points) !!---------------------------------------------------------------------- ! CALL tke_tke( Kbb, Kmm, p_sh2, p_avm, p_avt ) ! now tke (en) @@ -200,9 +201,10 @@ CONTAINS !! --------------------------------------------------------------------- USE zdf_oce , ONLY : en ! ocean vertical physics !! - INTEGER , INTENT(in ) :: Kbb, Kmm ! ocean time level indices - REAL(wp), DIMENSION(A2D(nn_hls),jpk) , INTENT(in ) :: p_sh2 ! shear production term - REAL(wp), DIMENSION(:,:,:) , INTENT(in ) :: p_avm, p_avt ! vertical eddy viscosity & diffusivity (w-points) + INTEGER , INTENT(in ) :: Kbb, Kmm ! ocean time level indices + REAL(wp), DIMENSION(A2D(0),jpk) , INTENT(in ) :: p_sh2 ! shear production term + REAL(wp), DIMENSION(:,:,:) , INTENT(in ) :: p_avm ! momentum Kz (w-points) + REAL(wp), DIMENSION(A2D(0),jpk) , INTENT(in ) :: p_avt ! tracer Kz (w-points) ! INTEGER :: ji, jj, jk ! dummy loop arguments REAL(wp) :: zetop, zebot, zmsku, zmskv ! local scalars @@ -215,9 +217,9 @@ CONTAINS REAL(wp) :: zus , zwlc , zind ! - - REAL(wp) :: zzd_up, zzd_lw ! - - REAL(wp) :: ztaui, ztauj, z1_norm - INTEGER , DIMENSION(A2D(nn_hls)) :: imlc - REAL(wp), DIMENSION(A2D(nn_hls)) :: zice_fra, zhlc, zus3, zWlc2 - REAL(wp), DIMENSION(A2D(nn_hls),jpk) :: zpelc, zdiag, zd_up, zd_lw + INTEGER , DIMENSION(A2D(0)) :: imlc + REAL(wp), DIMENSION(A2D(0)) :: zice_fra, zhlc, zus3, zWlc2 + REAL(wp), DIMENSION(A2D(0),jpk) :: zpelc, zdiag, zd_up, zd_lw REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: ztmp ! for diags !!-------------------------------------------------------------------- ! @@ -232,16 +234,16 @@ CONTAINS ! ice fraction considered for attenuation of langmuir & wave breaking SELECT CASE ( nn_eice ) CASE( 0 ) ; zice_fra(:,:) = 0._wp - CASE( 1 ) ; zice_fra(:,:) = TANH( fr_i(A2D(nn_hls)) * 10._wp ) - CASE( 2 ) ; zice_fra(:,:) = fr_i(A2D(nn_hls)) - CASE( 3 ) ; zice_fra(:,:) = MIN( 4._wp * fr_i(A2D(nn_hls)) , 1._wp ) + CASE( 1 ) ; zice_fra(:,:) = TANH( fr_i(A2D(0)) * 10._wp ) + CASE( 2 ) ; zice_fra(:,:) = fr_i(A2D(0)) + CASE( 3 ) ; zice_fra(:,:) = MIN( 4._wp * fr_i(A2D(0)) , 1._wp ) END SELECT ! ! !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ! ! Surface/top/bottom boundary condition on tke ! !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ! - DO_2D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) + DO_2D_OVR( 0, 0, 0, 0 ) en(ji,jj,1) = MAX( rn_emin0, zbbrau * taum(ji,jj) ) zdiag(ji,jj,1) = 1._wp/en(ji,jj,1) zd_lw(ji,jj,1) = 1._wp @@ -258,7 +260,7 @@ CONTAINS ! IF( .NOT.ln_drg_OFF ) THEN !== friction used as top/bottom boundary condition on TKE ! - DO_2D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) ! bottom friction + DO_2D_OVR( 0, 0, 0, 0 ) ! bottom friction zmsku = ( 2. - umask(ji-1,jj,mbkt(ji,jj)) * umask(ji,jj,mbkt(ji,jj)) ) zmskv = ( 2. - vmask(ji,jj-1,mbkt(ji,jj)) * vmask(ji,jj,mbkt(ji,jj)) ) ! ! where 0.001875 = (rn_ebb0/rho0) * 0.5 = 3.75*0.5/1000. (CAUTION CdU<0) @@ -267,7 +269,7 @@ CONTAINS en(ji,jj,mbkt(ji,jj)+1) = MAX( zebot, rn_emin ) * ssmask(ji,jj) END_2D IF( ln_isfcav ) THEN - DO_2D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) ! top friction + DO_2D_OVR( 0, 0, 0, 0 ) ! top friction zmsku = ( 2. - umask(ji-1,jj,mikt(ji,jj)) * umask(ji,jj,mikt(ji,jj)) ) zmskv = ( 2. - vmask(ji,jj-1,mikt(ji,jj)) * vmask(ji,jj,mikt(ji,jj)) ) ! ! where 0.001875 = (rn_ebb0/rho0) * 0.5 = 3.75*0.5/1000. (CAUTION CdU<0) @@ -294,14 +296,14 @@ CONTAINS ! ! 1/2 (W_lc)^2 = MAX( u* u_s + v* v_s , 0 ) only the positive part !!gm ! PS: currently we don't have neither the 2 stress components at t-point !nor the angle between u* and u_s !!gm ! so we will overestimate the LC velocity.... !!gm I will do the work if !LC have an effect ! - DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) + DO_2D( 0, 0, 0, 0 ) !!XC zWlc2(ji,jj) = 0.5_wp * SQRT( taum(ji,jj) * r1_rho0 * ( ut0sd(ji,jj)**2 +vt0sd(ji,jj)**2 ) ) zWlc2(ji,jj) = 0.5_wp * ( ut0sd(ji,jj)**2 +vt0sd(ji,jj)**2 ) END_2D ! ! Projection of Stokes drift in the wind stress direction ! - DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) + DO_2D( 0, 0, 0, 0 ) ztaui = utau(ji,jj) ztauj = vtau(ji,jj) z1_norm = 1._wp / MAX( SQRT(ztaui*ztaui+ztauj*ztauj), 1.e-12 ) * tmask(ji,jj,1) @@ -313,7 +315,7 @@ CONTAINS ! ! Wlc = 0.016 * [|tau|/(rho_air Cdrag) ]^1/2 and thus: ! ! 1/2 Wlc^2 = 0.5 * 0.016 * 0.016 |tau| /( rho_air Cdrag ) zcof = 0.5 * 0.016 * 0.016 / ( zrhoa * zcdrag ) ! to convert stress in 10m wind using a constant drag - DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) + DO_2D( 0, 0, 0, 0 ) zWlc2(ji,jj) = zcof * taum(ji,jj) END_2D ! @@ -321,30 +323,30 @@ CONTAINS ! ! !* Depth of the LC circulation (Axell 2002, Eq.47) ! !- LHS of Eq.47 - DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) + DO_2D( 0, 0, 0, 0 ) zpelc(ji,jj,1) = MAX( rn2b(ji,jj,1), 0._wp ) * gdepw(ji,jj,1,Kmm) * e3w(ji,jj,1,Kmm) END_2D - DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpk ) + DO_3D( 0, 0, 0, 0, 2, jpk ) zpelc(ji,jj,jk) = zpelc(ji,jj,jk-1) + & & MAX( rn2b(ji,jj,jk), 0._wp ) * gdepw(ji,jj,jk,Kmm) * e3w(ji,jj,jk,Kmm) END_3D ! ! !- compare LHS to RHS of Eq.47 - imlc(:,:) = mbkt(A2D(nn_hls)) + 1 ! Initialization to the number of w ocean point (=2 over land) - DO_3DS( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, jpkm1, 2, -1 ) + imlc(:,:) = mbkt(A2D(0)) + 1 ! Initialization to the number of w ocean point (=2 over land) + DO_3DS( 0, 0, 0, 0, jpkm1, 2, -1 ) IF( zpelc(ji,jj,jk) > zWlc2(ji,jj) ) imlc(ji,jj) = jk END_3D ! ! finite LC depth - DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) + DO_2D( 0, 0, 0, 0 ) zhlc(ji,jj) = gdepw(ji,jj,imlc(ji,jj),Kmm) END_2D ! zcof = 0.016 / SQRT( zrhoa * zcdrag ) - DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) + DO_2D( 0, 0, 0, 0 ) zus = SQRT( 2. * zWlc2(ji,jj) ) ! Stokes drift zus3(ji,jj) = MAX( 0._wp, 1._wp - zice_fra(ji,jj) ) * zus * zus * zus * tmask(ji,jj,1) ! zus > 0. ok END_2D - DO_3D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) !* TKE Langmuir circulation source term added to en + DO_3D_OVR( 0, 0, 0, 0, 2, jpkm1 ) !* TKE Langmuir circulation source term added to en IF ( zus3(ji,jj) /= 0._wp ) THEN IF ( gdepw(ji,jj,jk,Kmm) - zhlc(ji,jj) < 0 .AND. wmask(ji,jj,jk) /= 0. ) THEN ! ! vertical velocity due to LC @@ -365,7 +367,7 @@ CONTAINS ! ! zdiag : diagonal zd_up : upper diagonal zd_lw : lower diagonal ! IF( nn_pdl == 1 ) THEN !* Prandtl number = F( Ri ) - DO_3D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) + DO_3D_OVR( 0, 0, 0, 0, 2, jpkm1 ) ! ! local Richardson number IF (rn2b(ji,jj,jk) <= 0.0_wp) then zri = 0.0_wp @@ -377,7 +379,7 @@ CONTAINS END_3D ENDIF ! - DO_3D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) !* Matrix and right hand side in en + DO_3D_OVR( 0, 0, 0, 0, 2, jpkm1 ) !* Matrix and right hand side in en zcof = zfact1 * tmask(ji,jj,jk) ! ! A minimum of 2.e-5 m2/s is imposed on TKE vertical ! ! eddy coefficient (ensure numerical stability) @@ -406,14 +408,14 @@ CONTAINS SELECT CASE (nn_bc_surf) ! Boundary Condition using surface TKE flux from waves CASE ( 0 ) ! Dirichlet BC - DO_2D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) ! en(1) = rn_ebb taum / rho0 (min value rn_emin0) + DO_2D_OVR( 0, 0, 0, 0 ) ! en(1) = rn_ebb taum / rho0 (min value rn_emin0) IF ( phioc(ji,jj) < 0 ) phioc(ji,jj) = 0._wp en(ji,jj,1) = MAX( rn_emin0, .5 * ( 15.8 * phioc(ji,jj) / rho0 )**(2./3.) ) * tmask(ji,jj,1) zdiag(ji,jj,1) = 1._wp/en(ji,jj,1) ! choose to keep coherence with former estimation of END_2D CASE ( 1 ) ! Neumann BC - DO_2D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) + DO_2D_OVR( 0, 0, 0, 0 ) IF ( phioc(ji,jj) < 0 ) phioc(ji,jj) = 0._wp en(ji,jj,2) = en(ji,jj,2) + ( rn_Dt * phioc(ji,jj) / rho0 ) /e3w(ji,jj,2,Kmm) en(ji,jj,1) = en(ji,jj,2) + (2 * e3t(ji,jj,1,Kmm) * phioc(ji,jj)/rho0) / ( p_avm(ji,jj,1) + p_avm(ji,jj,2) ) @@ -427,23 +429,23 @@ CONTAINS ENDIF ! ! !* Matrix inversion from level 2 (tke prescribed at level 1) - DO_3D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) ! First recurrence : Dk = Dk - Lk * Uk-1 / Dk-1 + DO_3D_OVR( 0, 0, 0, 0, 2, jpkm1 ) ! First recurrence : Dk = Dk - Lk * Uk-1 / Dk-1 zdiag(ji,jj,jk) = zdiag(ji,jj,jk) - zd_lw(ji,jj,jk) * zd_up(ji,jj,jk-1) / zdiag(ji,jj,jk-1) END_3D !XC : commented to allow for neumann boundary condition ! DO_2D( 0, 0, 0, 0 ) ! zd_lw(ji,jj,2) = en(ji,jj,2) - zd_lw(ji,jj,2) * en(ji,jj,1) ! Surface boudary conditions on tke ! END_2D - DO_3D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) + DO_3D_OVR( 0, 0, 0, 0, 2, jpkm1 ) zd_lw(ji,jj,jk) = en(ji,jj,jk) - zd_lw(ji,jj,jk) / zdiag(ji,jj,jk-1) *zd_lw(ji,jj,jk-1) END_3D - DO_2D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) ! thrid recurrence : Ek = ( Lk - Uk * Ek+1 ) / Dk + DO_2D_OVR( 0, 0, 0, 0 ) ! thrid recurrence : Ek = ( Lk - Uk * Ek+1 ) / Dk en(ji,jj,jpkm1) = zd_lw(ji,jj,jpkm1) / zdiag(ji,jj,jpkm1) END_2D - DO_3DS_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, jpk-2, 2, -1 ) + DO_3DS_OVR( 0, 0, 0, 0, jpk-2, 2, -1 ) en(ji,jj,jk) = ( zd_lw(ji,jj,jk) - zd_up(ji,jj,jk) * en(ji,jj,jk+1) ) / zdiag(ji,jj,jk) END_3D - DO_3D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) ! set the minimum value of tke + DO_3D_OVR( 0, 0, 0, 0, 2, jpkm1 ) ! set the minimum value of tke en(ji,jj,jk) = MAX( en(ji,jj,jk), rn_emin ) * wmask(ji,jj,jk) END_3D ! @@ -451,11 +453,11 @@ CONTAINS ! ediss = Ce*sqrt(en)/L*en ! dissl = sqrt(en)/L IF( iom_use('ediss_k') ) THEN - ALLOCATE( ztmp(A2D(nn_hls),jpk) ) - DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 1, jpkm1 ) + ALLOCATE( ztmp(A2D(0),jpk) ) + DO_3D( 0, 0, 0, 0, 1, jpkm1 ) ztmp(ji,jj,jk) = zfact3 * dissl(ji,jj,jk) * en(ji,jj,jk) * wmask(ji,jj,jk) END_3D - DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) + DO_2D( 0, 0, 0, 0 ) ztmp(ji,jj,jpk) = 0._wp END_2D CALL iom_put( 'ediss_k', ztmp ) @@ -471,18 +473,18 @@ CONTAINS ! penetration is partly switched off below sea-ice if nn_eice/=0 ! IF( nn_etau == 1 ) THEN !* penetration below the mixed layer (rn_efr fraction) - DO_3D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) + DO_3D_OVR( 0, 0, 0, 0, 2, jpkm1 ) en(ji,jj,jk) = en(ji,jj,jk) + rn_efr * en(ji,jj,1) * EXP( -gdepw(ji,jj,jk,Kmm) / htau(ji,jj) ) & & * MAX( 0._wp, 1._wp - zice_fra(ji,jj) ) * wmask(ji,jj,jk) * tmask(ji,jj,1) END_3D ELSEIF( nn_etau == 2 ) THEN !* act only at the base of the mixed layer (jk=nmln) (rn_efr fraction) - DO_2D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) + DO_2D_OVR( 0, 0, 0, 0 ) jk = nmln(ji,jj) en(ji,jj,jk) = en(ji,jj,jk) + rn_efr * en(ji,jj,1) * EXP( -gdepw(ji,jj,jk,Kmm) / htau(ji,jj) ) & & * MAX( 0._wp, 1._wp - zice_fra(ji,jj) ) * wmask(ji,jj,jk) * tmask(ji,jj,1) END_2D ELSEIF( nn_etau == 3 ) THEN !* penetration belox the mixed layer (HF variability) - DO_3D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) + DO_3D_OVR( 0, 0, 0, 0, 2, jpkm1 ) ztau = SQRT( utau(ji,jj)*utau(ji,jj) + vtau(ji,jj)*vtau(ji,jj) ) * tmask(ji,jj,1) ! module of the mean stress zdif = taum(ji,jj) - ztau ! mean of modulus - modulus of the mean zdif = rhftau_scl * MAX( 0._wp, zdif + rhftau_add ) ! apply some modifications... @@ -530,14 +532,15 @@ CONTAINS !!---------------------------------------------------------------------- USE zdf_oce , ONLY : en, avtb, avmb, avtb_2d ! ocean vertical physics !! - INTEGER , INTENT(in ) :: Kbb, Kmm ! ocean time level indices - REAL(wp), DIMENSION(:,:,:), INTENT( out) :: p_avm, p_avt ! vertical eddy viscosity & diffusivity (w-points) + INTEGER , INTENT(in ) :: Kbb, Kmm ! ocean time level indices + REAL(wp), DIMENSION(:,:,:) , INTENT( out) :: p_avm ! momentum Kz (w-points) + REAL(wp), DIMENSION(A2D(0),jpk), INTENT( out) :: p_avt ! tracer Kz (w-points) ! INTEGER :: ji, jj, jk ! dummy loop indices REAL(wp) :: zrn2, zraug, zcoef, zav ! local scalars REAL(wp) :: zdku, zdkv, zsqen ! - - REAL(wp) :: zemxl, zemlm, zemlp, zmaxice ! - - - REAL(wp), DIMENSION(A2D(nn_hls),jpk) :: zmxlm, zmxld ! 3D workspace + REAL(wp), DIMENSION(A2D(0),jpk) :: zmxlm, zmxld ! 3D workspace !!-------------------------------------------------------------------- ! ! !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< @@ -561,25 +564,25 @@ CONTAINS ! zraug = vkarmn * 2.e5_wp / ( rho0 * grav ) #if ! defined key_si3 && ! defined key_cice - DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) ! No sea-ice + DO_2D( 0, 0, 0, 0 ) ! No sea-ice zmxlm(ji,jj,1) = zraug * taum(ji,jj) * tmask(ji,jj,1) END_2D #else SELECT CASE( nn_mxlice ) ! Type of scaling under sea-ice ! CASE( 0 ) ! No scaling under sea-ice - DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) + DO_2D( 0, 0, 0, 0 ) zmxlm(ji,jj,1) = zraug * taum(ji,jj) * tmask(ji,jj,1) END_2D ! CASE( 1 ) ! scaling with constant sea-ice thickness - DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) + DO_2D( 0, 0, 0, 0 ) zmxlm(ji,jj,1) = ( ( 1._wp - fr_i(ji,jj) ) * zraug * taum(ji,jj) + & & fr_i(ji,jj) * rn_mxlice ) * tmask(ji,jj,1) END_2D ! CASE( 2 ) ! scaling with mean sea-ice thickness - DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) + DO_2D( 0, 0, 0, 0 ) #if defined key_si3 zmxlm(ji,jj,1) = ( ( 1._wp - fr_i(ji,jj) ) * zraug * taum(ji,jj) + & & fr_i(ji,jj) * hm_i(ji,jj) * 2._wp ) * tmask(ji,jj,1) @@ -591,7 +594,7 @@ CONTAINS END_2D ! CASE( 3 ) ! scaling with max sea-ice thickness - DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) + DO_2D( 0, 0, 0, 0 ) zmaxice = MAXVAL( h_i(ji,jj,:) ) zmxlm(ji,jj,1) = ( ( 1._wp - fr_i(ji,jj) ) * zraug * taum(ji,jj) + & & fr_i(ji,jj) * zmaxice ) * tmask(ji,jj,1) @@ -600,7 +603,7 @@ CONTAINS END SELECT #endif ! - DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) + DO_2D( 0, 0, 0, 0 ) zmxlm(ji,jj,1) = MAX( rn_mxl0, zmxlm(ji,jj,1) ) END_2D ! @@ -609,7 +612,7 @@ CONTAINS ENDIF ENDIF ! - DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) + DO_3D( 0, 0, 0, 0, 2, jpkm1 ) zrn2 = MAX( rn2(ji,jj,jk), rsmall ) zmxlm(ji,jj,jk) = MAX( rmxl_min, SQRT( 2._wp * en(ji,jj,jk) / zrn2 ) ) END_3D @@ -624,7 +627,7 @@ CONTAINS !!gm Not sure of that coding for ISF.... ! where wmask = 0 set zmxlm == e3w(:,:,:,Kmm) CASE ( 0 ) ! bounded by the distance to surface and bottom - DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) + DO_3D( 0, 0, 0, 0, 2, jpkm1 ) zemxl = MIN( gdepw(ji,jj,jk,Kmm) - gdepw(ji,jj,mikt(ji,jj),Kmm), zmxlm(ji,jj,jk), & & gdepw(ji,jj,mbkt(ji,jj)+1,Kmm) - gdepw(ji,jj,jk,Kmm) ) ! wmask prevent zmxlm = 0 if jk = mikt(ji,jj) @@ -635,33 +638,33 @@ CONTAINS END_3D ! CASE ( 1 ) ! bounded by the vertical scale factor - DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) + DO_3D( 0, 0, 0, 0, 2, jpkm1 ) zemxl = MIN( e3w(ji,jj,jk,Kmm), zmxlm(ji,jj,jk) ) zmxlm(ji,jj,jk) = zemxl zmxld(ji,jj,jk) = zemxl END_3D ! CASE ( 2 ) ! |dk[xml]| bounded by e3t : - DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) ! from the surface to the bottom : + DO_3D( 0, 0, 0, 0, 2, jpkm1 ) ! from the surface to the bottom : zmxlm(ji,jj,jk) = & & MIN( zmxlm(ji,jj,jk-1) + e3t(ji,jj,jk-1,Kmm), zmxlm(ji,jj,jk) ) END_3D - DO_3DS( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, jpkm1, 2, -1 ) ! from the bottom to the surface : + DO_3DS( 0, 0, 0, 0, jpkm1, 2, -1 ) ! from the bottom to the surface : zemxl = MIN( zmxlm(ji,jj,jk+1) + e3t(ji,jj,jk+1,Kmm), zmxlm(ji,jj,jk) ) zmxlm(ji,jj,jk) = zemxl zmxld(ji,jj,jk) = zemxl END_3D ! CASE ( 3 ) ! lup and ldown, |dk[xml]| bounded by e3t : - DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) ! from the surface to the bottom : lup + DO_3D( 0, 0, 0, 0, 2, jpkm1 ) ! from the surface to the bottom : lup zmxld(ji,jj,jk) = & & MIN( zmxld(ji,jj,jk-1) + e3t(ji,jj,jk-1,Kmm), zmxlm(ji,jj,jk) ) END_3D - DO_3DS( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, jpkm1, 2, -1 ) ! from the bottom to the surface : ldown + DO_3DS( 0, 0, 0, 0, jpkm1, 2, -1 ) ! from the bottom to the surface : ldown zmxlm(ji,jj,jk) = & & MIN( zmxlm(ji,jj,jk+1) + e3t(ji,jj,jk+1,Kmm), zmxlm(ji,jj,jk) ) END_3D - DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) + DO_3D( 0, 0, 0, 0, 2, jpkm1 ) zemlm = MIN ( zmxld(ji,jj,jk), zmxlm(ji,jj,jk) ) zemlp = SQRT( zmxld(ji,jj,jk) * zmxlm(ji,jj,jk) ) zmxlm(ji,jj,jk) = zemlm @@ -673,7 +676,7 @@ CONTAINS ! !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ! ! Vertical eddy viscosity and diffusivity (avm and avt) ! !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - DO_3D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 1, jpkm1 ) !* vertical eddy viscosity & diffivity at w-points + DO_3D_OVR( 0, 0, 0, 0, 1, jpkm1 ) !* vertical eddy viscosity & diffivity at w-points zsqen = SQRT( en(ji,jj,jk) ) zav = rn_ediff * zmxlm(ji,jj,jk) * zsqen p_avm(ji,jj,jk) = MAX( zav, avmb(jk) ) * wmask(ji,jj,jk) @@ -683,7 +686,7 @@ CONTAINS ! ! IF( nn_pdl == 1 ) THEN !* Prandtl number case: update avt - DO_3D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) + DO_3D_OVR( 0, 0, 0, 0, 2, jpkm1 ) p_avt(ji,jj,jk) = MAX( apdlr(ji,jj,jk) * p_avt(ji,jj,jk), avtb_2d(ji,jj) * avtb(jk) ) * wmask(ji,jj,jk) END_3D ENDIF @@ -863,14 +866,14 @@ CONTAINS ELSE ! start TKE from rest IF(lwp) WRITE(numout,*) IF(lwp) WRITE(numout,*) ' ==>>> previous run without TKE scheme, set en to background values' - en (:,:,:) = rn_emin * wmask(:,:,:) + en (:,:,:) = rn_emin * wmask(A2D(0),:) dissl(:,:,:) = 1.e-12_wp ! avt_k, avm_k already set to the background value in zdf_phy_init ENDIF ELSE !* Start from rest IF(lwp) WRITE(numout,*) IF(lwp) WRITE(numout,*) ' ==>>> start from rest: set en to the background value' - en (:,:,:) = rn_emin * wmask(:,:,:) + en (:,:,:) = rn_emin * wmask(A2D(0),:) dissl(:,:,:) = 1.e-12_wp ! avt_k, avm_k already set to the background value in zdf_phy_init ENDIF diff --git a/src/OCE/lib_fortran.F90 b/src/OCE/lib_fortran.F90 index 2a0e1eeda..a9857b8ae 100644 --- a/src/OCE/lib_fortran.F90 +++ b/src/OCE/lib_fortran.F90 @@ -304,9 +304,9 @@ CONTAINS IF( ipi == jpi .AND. ipj == jpj ) THEN ! do 2D loop only over the inner domain (-> avoid to use undefined values) iis = Nis0 ; iie = Nie0 ijs = Njs0 ; ije = Nje0 - ELSE ! I think we are never in this case... - iis = 1 ; iie = jpi - ijs = 1 ; ije = jpj + ELSE ! if ptab is not defined over the whole domain (-> avoid out of bounds) + iis = 1 ; iie = jpi-2*nn_hls + ijs = 1 ; ije = jpj-2*nn_hls ENDIF ! ALLOCATE( ctmp(ipk) ) @@ -349,9 +349,9 @@ CONTAINS IF( ipi == jpi .AND. ipj == jpj ) THEN ! do 2D loop only over the inner domain (-> avoid to use undefined values) iis = Nis0 ; iie = Nie0 ijs = Njs0 ; ije = Nje0 - ELSE ! I think we are never in this case... - iis = 1 ; iie = jpi - ijs = 1 ; ije = jpj + ELSE ! if ptab is not defined over the whole domain (-> avoid out of bounds) + iis = 1 ; iie = jpi-2*nn_hls + ijs = 1 ; ije = jpj-2*nn_hls ENDIF ! ALLOCATE( ctmp(ipl) ) diff --git a/src/OCE/lib_fortran_generic.h90 b/src/OCE/lib_fortran_generic.h90 index d09c2cd02..e0702190b 100644 --- a/src/OCE/lib_fortran_generic.h90 +++ b/src/OCE/lib_fortran_generic.h90 @@ -4,8 +4,6 @@ # define XD 1d # define ARRAY_TYPE(i,j,k) REAL(wp) , INTENT(in ) :: ARRAY_IN(i,j,k) # define ARRAY_IN(i,j,k) ptab(i) -# define ARRAY2_IN(i,j,k) ptab2(i) -# define J_SIZE(ptab) 1 # define K_SIZE(ptab) 1 # define MASK_ARRAY(i,j) 1. # endif @@ -13,8 +11,6 @@ # define XD 2d # define ARRAY_TYPE(i,j,k) REAL(wp) , INTENT(in ) :: ARRAY_IN(i,j,k) # define ARRAY_IN(i,j,k) ptab(i,j) -# define ARRAY2_IN(i,j,k) ptab2(i,j) -# define J_SIZE(ptab) SIZE(ptab,2) # define K_SIZE(ptab) 1 # define MASK_ARRAY(i,j) tmask_i(i,j) # endif @@ -22,8 +18,6 @@ # define XD 3d # define ARRAY_TYPE(i,j,k) REAL(wp) , INTENT(in ) :: ARRAY_IN(i,j,k) # define ARRAY_IN(i,j,k) ptab(i,j,k) -# define ARRAY2_IN(i,j,k) ptab2(i,j,k) -# define J_SIZE(ptab) SIZE(ptab,2) # define K_SIZE(ptab) SIZE(ptab,3) # define MASK_ARRAY(i,j) tmask_i(i,j) # endif @@ -39,31 +33,31 @@ COMPLEX(dp):: ctmp REAL(wp) :: ztmp INTEGER :: ji, jj, jk ! dummy loop indices - INTEGER :: ipi,ipj, ipk ! dimensions - INTEGER :: iis, iie, ijs, ije ! loop start and end + INTEGER :: ipi, ipj, ipk ! dimensions + INTEGER :: iisht, ijsht !!----------------------------------------------------------------------- ! + ctmp = CMPLX( 0.e0, 0.e0, dp ) ! warning ctmp is cumulated + ! +# if defined DIM_1d + DO ji = 1, SIZE(ptab,1) + CALL DDPDD( CMPLX( ptab(ji), 0.e0, dp ), ctmp ) + END DO +# else ipi = SIZE(ptab,1) ! 1st dimension - ipj = J_SIZE(ptab) ! 2nd dimension + ipj = SIZE(ptab,2) ! 2nd dimension ipk = K_SIZE(ptab) ! 3rd dimension ! - IF( ipi == jpi .AND. ipj == jpj ) THEN ! do 2D loop only over the inner domain (-> avoid to use undefined values) - iis = Nis0 ; iie = Nie0 - ijs = Njs0 ; ije = Nje0 - ELSE - iis = 1 ; iie = ipi - ijs = 1 ; ije = ipj - ENDIF + iisht = ( jpi - ipi ) / 2 + ijsht = ( jpj - ipj ) / 2 ! should be the same as iisht... ! - ctmp = CMPLX( 0.e0, 0.e0, dp ) ! warning ctmp is cumulated DO jk = 1, ipk - DO jj = ijs, ije - DO ji = iis, iie - ztmp = ARRAY_IN(ji,jj,jk) * MASK_ARRAY(ji,jj) - CALL DDPDD( CMPLX( ztmp, 0.e0, dp ), ctmp ) - END DO - END DO + DO_2D( 0, 0, 0, 0 ) + ztmp = ARRAY_IN(ji-iisht,jj-ijsht,jk) * MASK_ARRAY(ji,jj) ! warning tmask_iis defined over the full MPI domain + CALL DDPDD( CMPLX( ztmp, 0.e0, dp ), ctmp ) + END_2D END DO +# endif CALL mpp_sum( cdname, ctmp ) ! sum over the global domain glob_sum_/**/XD = REAL(ctmp,wp) @@ -71,10 +65,7 @@ #undef XD #undef ARRAY_TYPE -#undef ARRAY2_TYPE #undef ARRAY_IN -#undef ARRAY2_IN -#undef J_SIZE #undef K_SIZE #undef MASK_ARRAY ! @@ -85,14 +76,12 @@ # define XD 2d # define ARRAY_TYPE(i,j,k) REAL(wp) , INTENT(in ) :: ARRAY_IN(i,j,k) # define ARRAY_IN(i,j,k) ptab(i,j) -# define ARRAY2_IN(i,j,k) ptab2(i,j) # define K_SIZE(ptab) 1 # endif # if defined DIM_3d # define XD 3d # define ARRAY_TYPE(i,j,k) REAL(wp) , INTENT(in ) :: ARRAY_IN(i,j,k) # define ARRAY_IN(i,j,k) ptab(i,j,k) -# define ARRAY2_IN(i,j,k) ptab2(i,j,k) # define K_SIZE(ptab) SIZE(ptab,3) # endif # if defined OPERATION_GLOBMIN @@ -113,27 +102,31 @@ COMPLEX(dp):: ctmp REAL(wp) :: ztmp INTEGER :: jk ! dummy loop indices - INTEGER :: ipk ! dimensions + INTEGER :: ipi, ipj, ipk ! dimensions + INTEGER :: iisht, ijsht !!----------------------------------------------------------------------- ! + ipi = SIZE(ptab,1) ! 1st dimension + ipj = SIZE(ptab,2) ! 2nd dimension ipk = K_SIZE(ptab) ! 3rd dimension ! - ztmp = OPER/**/val( ARRAY_IN(:,:,1)*tmask_i(:,:) ) + iisht = ( jpi - ipi ) / 2 + ijsht = ( jpj - ipj ) / 2 ! should be the same as iisht... + ! + ztmp = OPER/**/val( ARRAY_IN(Nis0-iisht:Nie0-iisht,Njs0-ijsht:Nje0-ijsht,1)*tmask_i(Nis0:Nie0,Njs0:Nje0) ) DO jk = 2, ipk - ztmp = OPER/**/(ztmp, OPER/**/val( ARRAY_IN(:,:,jk)*tmask_i(:,:) )) + ztmp = OPER/**/(ztmp, OPER/**/val( ARRAY_IN(Nis0-iisht:Nie0-iisht,Njs0-ijsht:Nje0-ijsht,jk)*tmask_i(Nis0:Nie0,Njs0:Nje0) )) ENDDO CALL mpp_/**/OPER/**/( cdname, ztmp) - glob_/**/OPER/**/_/**/XD = ztmp + glob_/**/OPER/**/_/**/XD = ztmp END FUNCTION glob_/**/OPER/**/_/**/XD #undef XD #undef ARRAY_TYPE -#undef ARRAY2_TYPE #undef ARRAY_IN -#undef ARRAY2_IN #undef K_SIZE #undef OPER # endif diff --git a/src/OCE/par_oce.F90 b/src/OCE/par_oce.F90 index f72dce448..f6ef02fe9 100644 --- a/src/OCE/par_oce.F90 +++ b/src/OCE/par_oce.F90 @@ -59,7 +59,8 @@ MODULE par_oce INTEGER, PUBLIC :: jpj ! !: second dimension INTEGER, PUBLIC :: jpk ! = jpkglo !: third dimension INTEGER, PUBLIC :: jpkm1 ! = jpk-1 !: - - - - INTEGER, PUBLIC :: jpij ! = jpi*jpj !: jpi x jpj + !INTEGER, PUBLIC :: jpij ! = jpi*jpj !: jpi x jpj + INTEGER, PUBLIC :: jpij ! = (jpi-2*nn_hls)*(jpj-2*nn_hls) !: jpi x jpj but without the halos INTEGER, PUBLIC :: jpimax! = ( Ni0glo + jpni-1 ) / jpni + 2*nn_hls !: maximum jpi INTEGER, PUBLIC :: jpjmax! = ( Nj0glo + jpnj-1 ) / jpnj + 2*nn_hls !: maximum jpj diff --git a/src/OCE/step.F90 b/src/OCE/step.F90 index ff2759f8c..d7036efb3 100644 --- a/src/OCE/step.F90 +++ b/src/OCE/step.F90 @@ -174,7 +174,7 @@ CONTAINS ! VERTICAL PHYSICS ! lbc_lnk needed for zdf_sh2 when using nn_hls = 2, moved here to allow tiling in zdf_phy - IF( nn_hls == 2 .AND. l_zdfsh2 ) CALL lbc_lnk( 'stp', avm_k, 'W', 1.0_wp ) +!!$ IF( nn_hls == 2 .AND. l_zdfsh2 ) CALL lbc_lnk( 'stp', avm_k, 'W', 1.0_wp ) IF( ln_tile ) CALL dom_tile_start ! [tiling] ZDF tiling loop DO jtile = 1, nijtile diff --git a/src/OCE/stpmlf.F90 b/src/OCE/stpmlf.F90 index bae696704..2afa912fc 100644 --- a/src/OCE/stpmlf.F90 +++ b/src/OCE/stpmlf.F90 @@ -555,7 +555,7 @@ CONTAINS & , pts(:,:,:,jp_tem,Kaa), 'T', 1., pts(:,:,:,jp_sal,Kaa), 'T', 1. ) ! ! lbc_lnk needed for zdf_sh2 when using nn_hls = 2, moved here to allow tiling in zdf_phy - IF( nn_hls == 2 .AND. l_zdfsh2 ) CALL lbc_lnk( 'stp', avm_k, 'W', 1.0_wp ) +!!$ IF( nn_hls == 2 .AND. l_zdfsh2 ) CALL lbc_lnk( 'stp', avm_k, 'W', 1.0_wp ) ! dom_qco_r3c defines over [nn_hls, nn_hls-1, nn_hls, nn_hls-1] IF( nn_hls == 2 .AND. .NOT. lk_linssh ) THEN diff --git a/src/SAS/nemogcm.F90 b/src/SAS/nemogcm.F90 index ce1716e48..8e0712636 100644 --- a/src/SAS/nemogcm.F90 +++ b/src/SAS/nemogcm.F90 @@ -217,7 +217,6 @@ CONTAINS IF( lk_oasis ) THEN ; cxios_context = 'sas' ! when coupling SAS to OCE ELSE ; cxios_context = 'nemo' ! ENDIF - nn_hls = 1 ! l_SAS = .TRUE. ! used in domain:dom_nam ! @@ -390,6 +389,7 @@ CONTAINS #if defined key_agrif uu(:,:,:,:) = 0.0_wp ; vv(:,:,:,:) = 0.0_wp ; ts(:,:,:,:,:) = 0.0_wp ! needed for interp done at initialization phase + uu_b(:,:,:) = 0.0_wp ; vv_b(:,:,:) = 0.0_wp #endif ! ! external forcing CALL sbc_init( Nbb, Nnn, Naa ) ! Forcings : surface module diff --git a/src/SAS/stpctl.F90 b/src/SAS/stpctl.F90 index e5c9a573b..9ecbe24ba 100644 --- a/src/SAS/stpctl.F90 +++ b/src/SAS/stpctl.F90 @@ -36,6 +36,9 @@ MODULE stpctl INTEGER, PARAMETER :: jpvar = 3 INTEGER :: nrunid ! netcdf file id INTEGER, DIMENSION(jpvar) :: nvarid ! netcdf variable id + + !! * Substitutions +# include "do_loop_substitute.h90" !!---------------------------------------------------------------------- !! NEMO/SAS 4.0 , NEMO Consortium (2018) !! $Id: stpctl.F90 14433 2021-02-11 08:06:49Z smasson $ @@ -77,8 +80,8 @@ CONTAINS IF( nstop > 0 .AND. ngrdstop > -1 ) RETURN ! stpctl was already called by a child grid ! ll_wrtstp = ( MOD( kt-nit000, sn_cfctl%ptimincr ) == 0 ) .OR. ( kt == nitend ) - ll_colruns = ll_wrtstp .AND. sn_cfctl%l_runstat .AND. jpnij > 1 - ll_wrtruns = ( ll_colruns .OR. jpnij == 1 ) .AND. lwm + ll_colruns = sn_cfctl%l_runstat .AND. ll_wrtstp .AND. jpnij > 1 + ll_wrtruns = sn_cfctl%l_runstat .AND. ll_wrtstp .AND. lwm ! IF( kt == nit000 ) THEN ! @@ -132,7 +135,7 @@ CONTAINS ! zmax(1) = MAXVAL( vt_i (:,:) , mask = llmsk ) ! max ice thickness zmax(2) = MAXVAL( ABS( u_ice(:,:) ) , mask = llmsk ) ! max ice velocity (zonal only) - zmax(3) = MAXVAL( -tm_i (:,:) + rt0, mask = llmsk ) ! min ice temperature (in degC) + zmax(3) = MAXVAL( -tm_i (:,:) + rt0, mask = llmsk(A2D(0)) ) ! min ice temperature (in degC) zmax(jpvar+1) = REAL( nstop, wp ) ! stop indicator ! ! !== get global extrema ==! @@ -172,9 +175,9 @@ CONTAINS ! first: close the netcdf file, so we can read it IF( lwm .AND. kt /= nitend ) istatus = NF90_CLOSE(nrunid) ! get global loc on the min/max - CALL mpp_maxloc( 'stpctl', vt_i(:,:) , llmsk, zzz, iloc(1:2,1) ) ! mpp_maxloc ok if mask = F - CALL mpp_maxloc( 'stpctl',ABS( u_ice(:,:) ) , llmsk, zzz, iloc(1:2,2) ) - CALL mpp_minloc( 'stpctl', tm_i(:,:) - rt0, llmsk, zzz, iloc(1:2,3) ) + CALL mpp_maxloc( 'stpctl', vt_i(:,:) , llmsk , zzz, iloc(1:2,1) ) ! mpp_maxloc ok if mask = F + CALL mpp_maxloc( 'stpctl',ABS( u_ice(:,:) ) , llmsk , zzz, iloc(1:2,2) ) + CALL mpp_minloc( 'stpctl', tm_i(:,:) - rt0, llmsk(A2D(0)), zzz, iloc(1:2,3) ) ! find which subdomain has the max. iareamin(:) = jpnij+1 ; iareamax(:) = 0 ; iareasum(:) = 0 DO ji = 1, jptst @@ -187,9 +190,9 @@ CONTAINS CALL mpp_sum( "stpctl", iareasum ) ! sum over the global domain ELSE ! find local min and max locations: ! if we are here, this means that the subdomain contains some oce points -> no need to test the mask used in maxloc - iloc(1:2,1) = MAXLOC( vt_i(:,:) , mask = llmsk ) - iloc(1:2,2) = MAXLOC( ABS( u_ice(:,:) ) , mask = llmsk ) - iloc(1:2,3) = MINLOC( tm_i(:,:) - rt0, mask = llmsk ) + iloc(1:2,1) = MAXLOC( vt_i(:,:) , mask = llmsk ) + iloc(1:2,2) = MAXLOC( ABS( u_ice(:,:) ) , mask = llmsk ) + iloc(1:2,3) = MINLOC( tm_i(:,:) - rt0, mask = llmsk(A2D(0)) ) DO ji = 1, jptst ! local domain indices ==> global domain indices, excluding halos iloc(1:2,ji) = (/ mig(iloc(1,ji),0), mjg(iloc(2,ji),0) /) END DO diff --git a/src/SWE/stpctl.F90 b/src/SWE/stpctl.F90 index 24e3bef8d..f69bb2597 100644 --- a/src/SWE/stpctl.F90 +++ b/src/SWE/stpctl.F90 @@ -75,8 +75,8 @@ CONTAINS IF( nstop > 0 .AND. ngrdstop > -1 ) RETURN ! stpctl was already called by a child grid ! ll_wrtstp = ( MOD( kt-nit000, sn_cfctl%ptimincr ) == 0 ) .OR. ( kt == nitend ) - ll_colruns = ll_wrtstp .AND. sn_cfctl%l_runstat .AND. jpnij > 1 - ll_wrtruns = ( ll_colruns .OR. jpnij == 1 ) .AND. lwm + ll_colruns = sn_cfctl%l_runstat .AND. ll_wrtstp .AND. jpnij > 1 + ll_wrtruns = sn_cfctl%l_runstat .AND. ll_wrtstp .AND. lwm ! IF( kt == nit000 ) THEN ! diff --git a/tests/BENCH/MY_SRC/usrdef_sbc.F90 b/tests/BENCH/MY_SRC/usrdef_sbc.F90 index ee91c35e0..7ad3b7064 100644 --- a/tests/BENCH/MY_SRC/usrdef_sbc.F90 +++ b/tests/BENCH/MY_SRC/usrdef_sbc.F90 @@ -125,7 +125,7 @@ CONTAINS REAL(wp), DIMENSION(:,:,:), INTENT(in) :: phs ! snow thickness REAL(wp), DIMENSION(:,:,:), INTENT(in) :: phi ! ice thickness !! - REAL(wp), DIMENSION(jpi,jpj) :: zsnw ! snw distribution after wind blowing + REAL(wp), DIMENSION(A2D(0)) :: zsnw ! snw distribution after wind blowing !!--------------------------------------------------------------------- #if defined key_si3 ! @@ -150,9 +150,9 @@ CONTAINS emp_ice (:,:) = SUM( a_i_b(:,:,:) * evap_ice(:,:,:), dim=3 ) - sprecip(:,:) * zsnw(:,:) emp_oce (:,:) = emp_oce(:,:) - sprecip(:,:) * (1._wp - zsnw(:,:) ) qevap_ice(:,:,:) = 0._wp - qprec_ice(:,:) = rhos * ( sst_m(:,:) * rcpi - rLfus ) * tmask(:,:,1) ! in J/m3 - qemp_oce (:,:) = - emp_oce(:,:) * sst_m(:,:) * rcp - qemp_ice (:,:) = sprecip(:,:) * zsnw * ( sst_m(:,:) * rcpi - rLfus ) * tmask(:,:,1) ! solid precip (only) + qprec_ice(:,:) = rhos * ( sst_m(A2D(0)) * rcpi - rLfus ) * smask0(:,:) ! in J/m3 + qemp_oce (:,:) = - emp_oce(:,:) * sst_m(A2D(0)) * rcp + qemp_ice (:,:) = sprecip(:,:) * zsnw * ( sst_m(A2D(0)) * rcpi - rLfus ) * smask0(:,:) ! solid precip (only) ! total fluxes emp_tot (:,:) = emp_ice + emp_oce diff --git a/tests/ICE_AGRIF/MY_SRC/usrdef_sbc.F90 b/tests/ICE_AGRIF/MY_SRC/usrdef_sbc.F90 index 6e7c527bf..5ba2758fd 100644 --- a/tests/ICE_AGRIF/MY_SRC/usrdef_sbc.F90 +++ b/tests/ICE_AGRIF/MY_SRC/usrdef_sbc.F90 @@ -18,7 +18,7 @@ MODULE usrdef_sbc USE sbc_ice ! Surface boundary condition: ice fields USE phycst ! physical constants USE ice, ONLY : at_i_b, a_i_b - USE icethd_dh ! for CALL ice_thd_snwblow +!! USE icethd_dh ! for CALL ice_thd_snwblow USE sbc_phy, ONLY : pp_cldf ! USE in_out_manager ! I/O manager @@ -33,6 +33,8 @@ MODULE usrdef_sbc PUBLIC usrdef_sbc_ice_tau ! routine called by icestp.F90 for ice dynamics PUBLIC usrdef_sbc_ice_flx ! routine called by icestp.F90 for ice thermo + !! * Substitutions +# include "do_loop_substitute.h90" !!---------------------------------------------------------------------- !! NEMO/OCE 4.0 , NEMO Consortium (2018) !! $Id: usrdef_sbc.F90 14273 2021-01-06 10:57:45Z smasson $ @@ -109,8 +111,8 @@ CONTAINS !! INTEGER :: jl REAL(wp) :: zfr1, zfr2 ! local variables - REAL(wp), DIMENSION(jpi,jpj) :: zsnw ! snw distribution after wind blowing - REAL(wp), DIMENSION(jpi,jpj) :: ztri + REAL(wp), DIMENSION(A2D(0)) :: zsnw ! snw distribution after wind blowing + REAL(wp), DIMENSION(A2D(0)) :: ztri !!--------------------------------------------------------------------- ! IF( kt==nit000 .AND. lwp) WRITE(numout,*)' usrdef_sbc_ice : ICE_AGRIF case: NO flux forcing' @@ -134,9 +136,9 @@ CONTAINS emp_ice (:,:) = SUM( a_i_b(:,:,:) * evap_ice(:,:,:), dim=3 ) - sprecip(:,:) * zsnw(:,:) emp_oce (:,:) = emp_oce(:,:) - sprecip(:,:) * (1._wp - zsnw(:,:) ) qevap_ice(:,:,:) = 0._wp - qprec_ice(:,:) = rhos * ( sst_m(:,:) * rcpi - rLfus ) * tmask(:,:,1) ! in J/m3 - qemp_oce (:,:) = - emp_oce(:,:) * sst_m(:,:) * rcp - qemp_ice (:,:) = sprecip(:,:) * zsnw * ( sst_m(:,:) * rcpi - rLfus ) * tmask(:,:,1) ! solid precip (only) + qprec_ice(:,:) = rhos * ( sst_m(A2D(0)) * rcpi - rLfus ) * smask0(:,:) ! in J/m3 + qemp_oce (:,:) = - emp_oce(:,:) * sst_m(A2D(0)) * rcp + qemp_ice (:,:) = sprecip(:,:) * zsnw * ( sst_m(A2D(0)) * rcpi - rLfus ) * smask0(:,:) ! solid precip (only) ! total fluxes emp_tot (:,:) = emp_ice + emp_oce @@ -148,11 +150,11 @@ CONTAINS ztri(:,:) = 0.18 * ( 1.0 - cloud_fra(:,:) ) + 0.35 * cloud_fra(:,:) ! surface transmission when hi>10cm ! DO jl = 1, jpl - WHERE ( phs(:,:,jl) <= 0._wp .AND. phi(:,:,jl) < 0.1_wp ) ! linear decrease from hi=0 to 10cm - qtr_ice_top(:,:,jl) = qsr_ice(:,:,jl) * ( ztri(:,:) + ( 1._wp - ztri(:,:) ) * ( 1._wp - phi(:,:,jl) * 10._wp ) ) - ELSEWHERE( phs(:,:,jl) <= 0._wp .AND. phi(:,:,jl) >= 0.1_wp ) ! constant (ztri) when hi>10cm + WHERE ( phs(A2D(0),jl) <= 0._wp .AND. phi(A2D(0),jl) < 0.1_wp ) ! linear decrease from hi=0 to 10cm + qtr_ice_top(:,:,jl) = qsr_ice(:,:,jl) * ( ztri(:,:) + ( 1._wp - ztri(:,:) ) * ( 1._wp - phi(A2D(0),jl) * 10._wp ) ) + ELSEWHERE( phs(A2D(0),jl) <= 0._wp .AND. phi(A2D(0),jl) >= 0.1_wp ) ! constant (ztri) when hi>10cm qtr_ice_top(:,:,jl) = qsr_ice(:,:,jl) * ztri(:,:) - ELSEWHERE ! zero when hs>0 + ELSEWHERE ! zero when hs>0 qtr_ice_top(:,:,jl) = 0._wp END WHERE ENDDO diff --git a/tests/ICE_RHEO/MY_SRC/usrdef_sbc.F90 b/tests/ICE_RHEO/MY_SRC/usrdef_sbc.F90 index 0d9d07e01..603cb78a3 100644 --- a/tests/ICE_RHEO/MY_SRC/usrdef_sbc.F90 +++ b/tests/ICE_RHEO/MY_SRC/usrdef_sbc.F90 @@ -108,7 +108,7 @@ CONTAINS REAL(wp) :: zwndi_f , zwndj_f, zwnorm_f ! relative wind module and components at F-point REAL(wp) :: zwndi_t , zwndj_t ! relative wind components at T-point - REAL(wp), DIMENSION(jpi,jpj) :: windu, windv ! wind components (idealised forcing) + REAL(wp), DIMENSION(A2D(0)) :: windu, windv ! wind components (idealised forcing) REAL(wp), PARAMETER :: r_vfac = 1._wp ! relative velocity (make 0 for absolute velocity) REAL(wp), PARAMETER :: Rwind = -0.8_wp ! ratio of wind components REAL(wp), PARAMETER :: Umax = 15._wp ! maximum wind speed (m/s) @@ -140,7 +140,7 @@ CONTAINS utau_ice(ji,jj) = zrhoa * Cd_atm * wndm_ice(ji,jj) * zwndi_t vtau_ice(ji,jj) = zrhoa * Cd_atm * wndm_ice(ji,jj) * zwndj_t END_2D - CALL lbc_lnk( 'usrdef_sbc', wndm_ice, 'T', 1., utau_ice, 'T', -1., vtau_ice, 'T', -1. ) + CALL lbc_lnk( 'usrdef_sbc', utau_ice, 'T', -1., vtau_ice, 'T', -1. ) ! END SUBROUTINE usrdef_sbc_ice_tau @@ -156,7 +156,7 @@ CONTAINS REAL(wp), DIMENSION(:,:,:), INTENT(in) :: phi ! ice thickness !! REAL(wp) :: zfr1, zfr2 ! local variables - REAL(wp), DIMENSION(jpi,jpj) :: zsnw ! snw distribution after wind blowing + REAL(wp), DIMENSION(A2D(0)) :: zsnw ! snw distribution after wind blowing !!--------------------------------------------------------------------- ! IF( kt==nit000 .AND. lwp) WRITE(numout,*)' usrdef_sbc_ice : ICE_RHEO case: NO flux forcing' @@ -180,9 +180,9 @@ CONTAINS emp_ice (:,:) = SUM( a_i_b(:,:,:) * evap_ice(:,:,:), dim=3 ) - sprecip(:,:) * zsnw(:,:) emp_oce (:,:) = emp_oce(:,:) - sprecip(:,:) * (1._wp - zsnw(:,:) ) qevap_ice(:,:,:) = 0._wp - qprec_ice(:,:) = rhos * ( sst_m(:,:) * rcpi - rLfus ) * tmask(:,:,1) ! in J/m3 - qemp_oce (:,:) = - emp_oce(:,:) * sst_m(:,:) * rcp - qemp_ice (:,:) = sprecip(:,:) * zsnw * ( sst_m(:,:) * rcpi - rLfus ) * tmask(:,:,1) ! solid precip (only) + qprec_ice(:,:) = rhos * ( sst_m(A2D(0)) * rcpi - rLfus ) * smask0(:,:) ! in J/m3 + qemp_oce (:,:) = - emp_oce(:,:) * sst_m(A2D(0)) * rcp + qemp_ice (:,:) = sprecip(:,:) * zsnw * ( sst_m(A2D(0)) * rcpi - rLfus ) * smask0(:,:) ! solid precip (only) ! total fluxes emp_tot (:,:) = emp_ice + emp_oce @@ -193,11 +193,11 @@ CONTAINS zfr1 = ( 0.18 * ( 1.0 - pp_cldf ) + 0.35 * pp_cldf ) ! transmission when hi>10cm zfr2 = ( 0.82 * ( 1.0 - pp_cldf ) + 0.65 * pp_cldf ) ! zfr2 such that zfr1 + zfr2 to equal 1 ! - WHERE ( phs(:,:,:) <= 0._wp .AND. phi(:,:,:) < 0.1_wp ) ! linear decrease from hi=0 to 10cm - qtr_ice_top(:,:,:) = qsr_ice(:,:,:) * ( zfr1 + zfr2 * ( 1._wp - phi(:,:,:) * 10._wp ) ) - ELSEWHERE( phs(:,:,:) <= 0._wp .AND. phi(:,:,:) >= 0.1_wp ) ! constant (zfr1) when hi>10cm + WHERE ( phs(A2D(0),:) <= 0._wp .AND. phi(A2D(0),:) < 0.1_wp ) ! linear decrease from hi=0 to 10cm + qtr_ice_top(:,:,:) = qsr_ice(:,:,:) * ( zfr1 + zfr2 * ( 1._wp - phi(A2D(0),:) * 10._wp ) ) + ELSEWHERE( phs(A2D(0),:) <= 0._wp .AND. phi(A2D(0),:) >= 0.1_wp ) ! constant (zfr1) when hi>10cm qtr_ice_top(:,:,:) = qsr_ice(:,:,:) * zfr1 - ELSEWHERE ! zero when hs>0 + ELSEWHERE ! zero when hs>0 qtr_ice_top(:,:,:) = 0._wp END WHERE diff --git a/tests/ISOMIP+/EXPREF/namelist_cfg b/tests/ISOMIP+/EXPREF/namelist_cfg index 0b8ae4c94..4f520bed6 100644 --- a/tests/ISOMIP+/EXPREF/namelist_cfg +++ b/tests/ISOMIP+/EXPREF/namelist_cfg @@ -310,14 +310,19 @@ rn_Dt = 720. !----------------------------------------------------------------------- &nameos ! ocean Equation Of Seawater (default: NO selection) !----------------------------------------------------------------------- - ln_leos = .true. ! = Use L-EOS (linear Eq.) - ! + ln_seos = .true. ! = Use S-EOS (simplified Eq.) ! ! S-EOS coefficients (ln_seos=T): ! ! rd(T,S,Z)*rho0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS - ! ! L-EOS coefficients (ln_seos=T): - ! ! rd(T,S,Z)*rho0 = rho0*(-a0*dT+b0*dS) + ! ! dT = T-rn_T0 ; dS = S-rn_S0 + rn_T0 = -1. ! reference temperature + rn_S0 = 34.2 ! reference salinity rn_a0 = 3.7330e-5 ! thermal expension coefficient rn_b0 = 7.8430e-4 ! saline expension coefficient + rn_lambda1 = 0. ! cabbeling coeff in T^2 (=0 for linear eos) + rn_lambda2 = 0. ! cabbeling coeff in S^2 (=0 for linear eos) + rn_mu1 = 0. ! thermobaric coeff. in T (=0 for linear eos) + rn_mu2 = 0. ! thermobaric coeff. in S (=0 for linear eos) + rn_nu = 0. ! cabbeling coeff in T*S (=0 for linear eos) / !----------------------------------------------------------------------- &namtra_adv ! advection scheme for tracer (default: NO selection) diff --git a/tests/ISOMIP+/MY_SRC/dtatsd.F90 b/tests/ISOMIP+/MY_SRC/dtatsd.F90 index cdee4ac5f..485fae65c 100644 --- a/tests/ISOMIP+/MY_SRC/dtatsd.F90 +++ b/tests/ISOMIP+/MY_SRC/dtatsd.F90 @@ -33,8 +33,8 @@ MODULE dtatsd LOGICAL , PUBLIC :: ln_tsd_init !: T & S data flag LOGICAL , PUBLIC :: ln_tsd_dmp !: internal damping toward input data flag + TYPE(FLD), ALLOCATABLE, DIMENSION(:) :: sf_tsd ! structure of input SST (file informations, fields read) TYPE(FLD), ALLOCATABLE, DIMENSION(:) :: sf_tsdini ! structure of input SST (file informations, fields read) - TYPE(FLD), ALLOCATABLE, DIMENSION(:) :: sf_tsddmp ! structure of input SST (file informations, fields read) !! * Substitutions # include "do_loop_substitute.h90" @@ -121,16 +121,16 @@ CONTAINS IF( ln_tsd_dmp ) THEN ! - ALLOCATE( sf_tsddmp(jpts), STAT=ierr0 ) + ALLOCATE( sf_tsd(jpts), STAT=ierr0 ) IF( ierr0 > 0 ) THEN - CALL ctl_stop( 'dta_tsd_init: unable to allocate sf_tsddmp structure' ) ; RETURN + CALL ctl_stop( 'dta_tsd_init: unable to allocate sf_tsd structure' ) ; RETURN ENDIF ! ! dmp file - ALLOCATE( sf_tsddmp(jp_tem)%fnow(jpi,jpj,jpk) , STAT=ierr0 ) - IF( sn_dmpt%ln_tint ) ALLOCATE( sf_tsddmp(jp_tem)%fdta(jpi,jpj,jpk,2) , STAT=ierr1 ) - ALLOCATE( sf_tsddmp(jp_sal)%fnow(jpi,jpj,jpk) , STAT=ierr2 ) - IF( sn_dmps%ln_tint ) ALLOCATE( sf_tsddmp(jp_sal)%fdta(jpi,jpj,jpk,2) , STAT=ierr3 ) + ALLOCATE( sf_tsd(jp_tem)%fnow(jpi,jpj,jpk) , STAT=ierr0 ) + IF( sn_dmpt%ln_tint ) ALLOCATE( sf_tsd(jp_tem)%fdta(jpi,jpj,jpk,2) , STAT=ierr1 ) + ALLOCATE( sf_tsd(jp_sal)%fnow(jpi,jpj,jpk) , STAT=ierr2 ) + IF( sn_dmps%ln_tint ) ALLOCATE( sf_tsd(jp_sal)%fdta(jpi,jpj,jpk,2) , STAT=ierr3 ) ! IF( ierr0 + ierr1 + ierr2 + ierr3 > 0 ) THEN CALL ctl_stop( 'dta_tsd : unable to allocate T & S dmp data arrays' ) ; RETURN @@ -138,14 +138,14 @@ CONTAINS ! ! ! fill sf_tsd with sn_tem & sn_sal and control print slf_i(jp_tem) = sn_dmpt ; slf_i(jp_sal) = sn_dmps - CALL fld_fill( sf_tsddmp, slf_i, cn_dir, 'dta_tsd', 'Temperature & Salinity dmp data', 'namtsd', no_print ) + CALL fld_fill( sf_tsd, slf_i, cn_dir, 'dta_tsd', 'Temperature & Salinity dmp data', 'namtsd', no_print ) ! ENDIF ! END SUBROUTINE dta_tsd_init - SUBROUTINE dta_tsd( kt, cddta, ptsd ) + SUBROUTINE dta_tsd( kt, ptsd, cddta ) !!---------------------------------------------------------------------- !! *** ROUTINE dta_tsd *** !! @@ -159,45 +159,43 @@ CONTAINS !! !! ** Action : ptsd T-S data on medl mesh and interpolated at time-step kt !!---------------------------------------------------------------------- - INTEGER , INTENT(in ) :: kt ! ocean time-step - CHARACTER(LEN=3) , INTENT(in ) :: cddta ! dmp or ini - REAL(wp), DIMENSION(A2D(nn_hls),jpk,jpts), INTENT( out) :: ptsd ! T & S data + INTEGER , INTENT(in ) :: kt ! ocean time-step + REAL(wp), DIMENSION(A2D(nn_hls),jpk,jpts), INTENT( out) :: ptsd ! T & S data + CHARACTER(len=*), OPTIONAL , INTENT(in ) :: cddta ! force the initialization when tradmp is used ! INTEGER :: ji, jj, jk, jl, jkk ! dummy loop indicies INTEGER :: ik, il0, il1, ii0, ii1, ij0, ij1 ! local integers REAL(wp):: zl, zi ! local scalars + LOGICAL :: ll_tsdini REAL(wp), DIMENSION(jpk) :: ztp, zsp ! 1D workspace !!---------------------------------------------------------------------- ! + ll_tsdini = .FALSE. + IF( PRESENT(cddta) ) ll_tsdini = .TRUE. + IF( .NOT. l_istiled .OR. ntile == 1 ) THEN ! Do only for the full domain IF( ln_tile ) CALL dom_tile_stop( ldhold=.TRUE. ) ! Use full domain - SELECT CASE(cddta) - CASE('ini') + IF( ll_tsdini ) THEN CALL fld_read( kt, 1, sf_tsdini ) !== read T & S data at kt time step ==! - CASE('dmp') - CALL fld_read( kt, 1, sf_tsddmp ) !== read T & S data at kt time step ==! - CASE DEFAULT - CALL ctl_stop('STOP', 'dta_tsd: cddta case unknown') - END SELECT + ELSE + CALL fld_read( kt, 1, sf_tsd ) !== read T & S data at kt time step ==! + ENDIF IF( ln_tile ) CALL dom_tile_start( ldhold=.TRUE. ) ! Revert to tile domain ENDIF ! - SELECT CASE(cddta) - CASE('ini') + IF( ll_tsdini ) THEN DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpk ) ptsd(ji,jj,jk,jp_tem) = sf_tsdini(jp_tem)%fnow(ji,jj,jk) ! NO mask ptsd(ji,jj,jk,jp_sal) = sf_tsdini(jp_sal)%fnow(ji,jj,jk) END_3D - CASE('dmp') + ELSE DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpk ) - ptsd(ji,jj,jk,jp_tem) = sf_tsddmp(jp_tem)%fnow(ji,jj,jk) ! NO mask - ptsd(ji,jj,jk,jp_sal) = sf_tsddmp(jp_sal)%fnow(ji,jj,jk) + ptsd(ji,jj,jk,jp_tem) = sf_tsd(jp_tem)%fnow(ji,jj,jk) ! NO mask + ptsd(ji,jj,jk,jp_sal) = sf_tsd(jp_sal)%fnow(ji,jj,jk) END_3D - CASE DEFAULT - CALL ctl_stop('STOP', 'dta_tsd: cddta case unknown') - END SELECT + ENDIF ! IF( ln_sco ) THEN !== s- or mixed s-zps-coordinate ==! ! @@ -261,8 +259,7 @@ CONTAINS ! ENDIF ! - SELECT CASE(cddta) - CASE('ini') + IF( ll_tsdini ) THEN ! !== deallocate T & S structure ==! ! (data used only for initialisation) IF(lwp) WRITE(numout,*) 'dta_tsd: deallocte T & S arrays as they are only use to initialize the run' @@ -272,7 +269,7 @@ CONTAINS IF( sf_tsdini(jp_sal)%ln_tint ) DEALLOCATE( sf_tsdini(jp_sal)%fdta ) DEALLOCATE( sf_tsdini ) ! the structure itself ! - END SELECT + ENDIF ! END SUBROUTINE dta_tsd diff --git a/tests/ISOMIP+/MY_SRC/eosbn2.F90 b/tests/ISOMIP+/MY_SRC/eosbn2.F90 deleted file mode 100644 index d2da8cfd5..000000000 --- a/tests/ISOMIP+/MY_SRC/eosbn2.F90 +++ /dev/null @@ -1,2078 +0,0 @@ -MODULE eosbn2 - !!============================================================================== - !! *** MODULE eosbn2 *** - !! Equation Of Seawater : in situ density - Brunt-Vaisala frequency - !!============================================================================== - !! History : OPA ! 1989-03 (O. Marti) Original code - !! 6.0 ! 1994-07 (G. Madec, M. Imbard) add bn2 - !! 6.0 ! 1994-08 (G. Madec) Add Jackett & McDougall eos - !! 7.0 ! 1996-01 (G. Madec) statement function for e3 - !! 8.1 ! 1997-07 (G. Madec) density instead of volumic mass - !! - ! 1999-02 (G. Madec, N. Grima) semi-implicit pressure gradient - !! 8.2 ! 2001-09 (M. Ben Jelloul) bugfix on linear eos - !! NEMO 1.0 ! 2002-10 (G. Madec) add eos_init - !! - ! 2002-11 (G. Madec, A. Bozec) partial step, eos_insitu_2d - !! - ! 2003-08 (G. Madec) F90, free form - !! 3.0 ! 2006-08 (G. Madec) add tfreez function (now eos_fzp function) - !! 3.3 ! 2010-05 (C. Ethe, G. Madec) merge TRC-TRA - !! - ! 2010-10 (G. Nurser, G. Madec) add alpha/beta used in ldfslp - !! 3.7 ! 2012-03 (F. Roquet, G. Madec) add primitive of alpha and beta used in PE computation - !! - ! 2012-05 (F. Roquet) add Vallis and original JM95 equation of state - !! - ! 2013-04 (F. Roquet, G. Madec) add eos_rab, change bn2 computation and reorganize the module - !! - ! 2014-09 (F. Roquet) add TEOS-10, S-EOS, and modify EOS-80 - !! - ! 2015-06 (P.A. Bouttier) eos_fzp functions changed to subroutines for AGRIF - !!---------------------------------------------------------------------- - - !!---------------------------------------------------------------------- - !! eos : generic interface of the equation of state - !! eos_insitu : Compute the in situ density - !! eos_insitu_pot: Compute the insitu and surface referenced potential volumic mass - !! eos_insitu_2d : Compute the in situ density for 2d fields - !! bn2 : compute the Brunt-Vaisala frequency - !! eos_pt_from_ct: compute the potential temperature from the Conservative Temperature - !! eos_rab : generic interface of in situ thermal/haline expansion ratio - !! eos_rab_3d : compute in situ thermal/haline expansion ratio - !! eos_rab_2d : compute in situ thermal/haline expansion ratio for 2d fields - !! eos_fzp_2d : freezing temperature for 2d fields - !! eos_fzp_0d : freezing temperature for scalar - !! eos_init : set eos parameters (namelist) - !!---------------------------------------------------------------------- - USE dom_oce ! ocean space and time domain - USE domutl, ONLY : is_tile - USE phycst ! physical constants - USE stopar ! Stochastic T/S fluctuations - USE stopts ! Stochastic T/S fluctuations - ! - USE in_out_manager ! I/O manager - USE lib_mpp ! MPP library - USE lib_fortran ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined) - USE prtctl ! Print control - USE lbclnk ! ocean lateral boundary conditions - USE timing ! Timing - - IMPLICIT NONE - PRIVATE - - ! !! * Interface - INTERFACE eos - MODULE PROCEDURE eos_insitu_New, eos_insitu, eos_insitu_pot, eos_insitu_2d, eos_insitu_pot_2d - END INTERFACE - ! - INTERFACE eos_rab - MODULE PROCEDURE rab_3d, rab_2d, rab_0d - END INTERFACE - ! - INTERFACE eos_fzp - MODULE PROCEDURE eos_fzp_2d, eos_fzp_0d - END INTERFACE - ! - PUBLIC eos ! called by step, istate, tranpc and zpsgrd modules - PUBLIC bn2 ! called by step module - PUBLIC eos_rab ! called by ldfslp, zdfddm, trabbl - PUBLIC eos_pt_from_ct ! called by sbcssm - PUBLIC eos_fzp ! called by traadv_cen2 and sbcice_... modules - PUBLIC eos_pen ! used for pe diagnostics in trdpen module - PUBLIC eos_init ! called by istate module - - ! !!** Namelist nameos ** - LOGICAL , PUBLIC :: ln_TEOS10 - LOGICAL , PUBLIC :: ln_EOS80 - LOGICAL , PUBLIC :: ln_SEOS - LOGICAL , PUBLIC :: ln_LEOS ! determine if linear eos is used - - ! Parameters - LOGICAL , PUBLIC :: l_useCT ! =T in ln_TEOS10=T (i.e. use eos_pt_from_ct to compute sst_m), =F otherwise - INTEGER , PUBLIC :: neos ! Identifier for equation of state used - - INTEGER , PARAMETER :: np_teos10 = -1 ! parameter for using TEOS10 - INTEGER , PARAMETER :: np_eos80 = 0 ! parameter for using EOS80 - INTEGER , PARAMETER :: np_seos = 1 ! parameter for using Simplified Equation of state - INTEGER , PARAMETER :: np_leos = 2 ! parameter for using linear equation of state (ISOMIP+) - - ! !!! simplified eos coefficients (default value: Vallis 2006) - REAL(wp), PUBLIC :: rn_a0 = 1.6550e-1_wp ! thermal expansion coeff. - REAL(wp), PUBLIC :: rn_b0 = 7.6554e-1_wp ! saline expansion coeff. - REAL(wp) :: rn_lambda1 = 5.9520e-2_wp ! cabbeling coeff. in T^2 - REAL(wp) :: rn_lambda2 = 5.4914e-4_wp ! cabbeling coeff. in S^2 - REAL(wp) :: rn_mu1 = 1.4970e-4_wp ! thermobaric coeff. in T - REAL(wp) :: rn_mu2 = 1.1090e-5_wp ! thermobaric coeff. in S - REAL(wp) :: rn_nu = 2.4341e-3_wp ! cabbeling coeff. in theta*salt - - ! TEOS10/EOS80 parameters - REAL(wp) :: r1_S0, r1_T0, r1_Z0, rdeltaS - - ! EOS parameters - REAL(wp) :: EOS000 , EOS100 , EOS200 , EOS300 , EOS400 , EOS500 , EOS600 - REAL(wp) :: EOS010 , EOS110 , EOS210 , EOS310 , EOS410 , EOS510 - REAL(wp) :: EOS020 , EOS120 , EOS220 , EOS320 , EOS420 - REAL(wp) :: EOS030 , EOS130 , EOS230 , EOS330 - REAL(wp) :: EOS040 , EOS140 , EOS240 - REAL(wp) :: EOS050 , EOS150 - REAL(wp) :: EOS060 - REAL(wp) :: EOS001 , EOS101 , EOS201 , EOS301 , EOS401 - REAL(wp) :: EOS011 , EOS111 , EOS211 , EOS311 - REAL(wp) :: EOS021 , EOS121 , EOS221 - REAL(wp) :: EOS031 , EOS131 - REAL(wp) :: EOS041 - REAL(wp) :: EOS002 , EOS102 , EOS202 - REAL(wp) :: EOS012 , EOS112 - REAL(wp) :: EOS022 - REAL(wp) :: EOS003 , EOS103 - REAL(wp) :: EOS013 - - ! ALPHA parameters - REAL(wp) :: ALP000 , ALP100 , ALP200 , ALP300 , ALP400 , ALP500 - REAL(wp) :: ALP010 , ALP110 , ALP210 , ALP310 , ALP410 - REAL(wp) :: ALP020 , ALP120 , ALP220 , ALP320 - REAL(wp) :: ALP030 , ALP130 , ALP230 - REAL(wp) :: ALP040 , ALP140 - REAL(wp) :: ALP050 - REAL(wp) :: ALP001 , ALP101 , ALP201 , ALP301 - REAL(wp) :: ALP011 , ALP111 , ALP211 - REAL(wp) :: ALP021 , ALP121 - REAL(wp) :: ALP031 - REAL(wp) :: ALP002 , ALP102 - REAL(wp) :: ALP012 - REAL(wp) :: ALP003 - - ! BETA parameters - REAL(wp) :: BET000 , BET100 , BET200 , BET300 , BET400 , BET500 - REAL(wp) :: BET010 , BET110 , BET210 , BET310 , BET410 - REAL(wp) :: BET020 , BET120 , BET220 , BET320 - REAL(wp) :: BET030 , BET130 , BET230 - REAL(wp) :: BET040 , BET140 - REAL(wp) :: BET050 - REAL(wp) :: BET001 , BET101 , BET201 , BET301 - REAL(wp) :: BET011 , BET111 , BET211 - REAL(wp) :: BET021 , BET121 - REAL(wp) :: BET031 - REAL(wp) :: BET002 , BET102 - REAL(wp) :: BET012 - REAL(wp) :: BET003 - - ! PEN parameters - REAL(wp) :: PEN000 , PEN100 , PEN200 , PEN300 , PEN400 - REAL(wp) :: PEN010 , PEN110 , PEN210 , PEN310 - REAL(wp) :: PEN020 , PEN120 , PEN220 - REAL(wp) :: PEN030 , PEN130 - REAL(wp) :: PEN040 - REAL(wp) :: PEN001 , PEN101 , PEN201 - REAL(wp) :: PEN011 , PEN111 - REAL(wp) :: PEN021 - REAL(wp) :: PEN002 , PEN102 - REAL(wp) :: PEN012 - - ! ALPHA_PEN parameters - REAL(wp) :: APE000 , APE100 , APE200 , APE300 - REAL(wp) :: APE010 , APE110 , APE210 - REAL(wp) :: APE020 , APE120 - REAL(wp) :: APE030 - REAL(wp) :: APE001 , APE101 - REAL(wp) :: APE011 - REAL(wp) :: APE002 - - ! BETA_PEN parameters - REAL(wp) :: BPE000 , BPE100 , BPE200 , BPE300 - REAL(wp) :: BPE010 , BPE110 , BPE210 - REAL(wp) :: BPE020 , BPE120 - REAL(wp) :: BPE030 - REAL(wp) :: BPE001 , BPE101 - REAL(wp) :: BPE011 - REAL(wp) :: BPE002 - - !! * Substitutions -# include "do_loop_substitute.h90" -# include "domzgr_substitute.h90" - !!---------------------------------------------------------------------- - !! NEMO/OCE 4.0 , NEMO Consortium (2018) - !! $Id: eosbn2.F90 10425 2018-12-19 21:54:16Z smasson $ - !! Software governed by the CeCILL license (see ./LICENSE) - !!---------------------------------------------------------------------- -CONTAINS - - SUBROUTINE eos_insitu_New( pts, Knn, prd ) - !!---------------------------------------------------------------------- - !! *** ROUTINE eos_insitu_New *** - !! - !! ** Purpose : Compute the in situ density (ratio rho/rho0) from - !! potential temperature and salinity using an equation of state - !! selected in the nameos namelist - !! - !! ** Method : prd(t,s,z) = ( rho(t,s,z) - rho0 ) / rho0 - !! with prd in situ density anomaly no units - !! t TEOS10: CT or EOS80: PT Celsius - !! s TEOS10: SA or EOS80: SP TEOS10: g/kg or EOS80: psu - !! z depth meters - !! rho in situ density kg/m^3 - !! rho0 reference density kg/m^3 - !! - !! ln_teos10 : polynomial TEOS-10 equation of state is used for rho(t,s,z). - !! Check value: rho = 1028.21993233072 kg/m^3 for z=3000 dbar, ct=3 Celsius, sa=35.5 g/kg - !! - !! ln_eos80 : polynomial EOS-80 equation of state is used for rho(t,s,z). - !! Check value: rho = 1028.35011066567 kg/m^3 for z=3000 dbar, pt=3 Celsius, sp=35.5 psu - !! - !! ln_seos : simplified equation of state - !! prd(t,s,z) = ( -a0*(1+lambda/2*(T-T0)+mu*z+nu*(S-S0))*(T-T0) + b0*(S-S0) ) / rho0 - !! linear case function of T only: rn_alpha<>0, other coefficients = 0 - !! linear eos function of T and S: rn_alpha and rn_beta<>0, other coefficients=0 - !! Vallis like equation: use default values of coefficients - !! - !! ln_leos : linear ISOMIP equation of state - !! prd(t,s,z) = ( -a0*(T-T0) + b0*(S-S0) ) / rho0 - !! setup for ISOMIP linear eos - !! - !! ** Action : compute prd , the in situ density (no units) - !! - !! References : Roquet et al, Ocean Modelling, in preparation (2014) - !! Vallis, Atmospheric and Oceanic Fluid Dynamics, 2006 - !! TEOS-10 Manual, 2010 - !!---------------------------------------------------------------------- - REAL(wp), DIMENSION(:,:,:,:,:), INTENT(in ) :: pts ! T-S - INTEGER , INTENT(in ) :: Knn ! time-level - REAL(wp), DIMENSION(:,:,: ), INTENT( out) :: prd ! in situ density - ! - INTEGER :: ji, jj, jk ! dummy loop indices - REAL(wp) :: zt , zh , zs , ztm ! local scalars - REAL(wp) :: zn , zn0, zn1, zn2, zn3 ! - - - !!---------------------------------------------------------------------- - ! - IF( ln_timing ) CALL timing_start('eos-insitu') - ! - SELECT CASE( neos ) - ! - CASE( np_teos10, np_eos80 ) !== polynomial TEOS-10 / EOS-80 ==! - ! - DO_3D(nn_hls, nn_hls, nn_hls, nn_hls, 1, jpkm1 ) - ! - zh = gdept(ji,jj,jk,Knn) * r1_Z0 ! depth - zt = pts (ji,jj,jk,jp_tem,Knn) * r1_T0 ! temperature - zs = SQRT( ABS( pts(ji,jj,jk,jp_sal,Knn) + rdeltaS ) * r1_S0 ) ! square root salinity - ztm = tmask(ji,jj,jk) ! tmask - ! - zn3 = EOS013*zt & - & + EOS103*zs+EOS003 - ! - zn2 = (EOS022*zt & - & + EOS112*zs+EOS012)*zt & - & + (EOS202*zs+EOS102)*zs+EOS002 - ! - zn1 = (((EOS041*zt & - & + EOS131*zs+EOS031)*zt & - & + (EOS221*zs+EOS121)*zs+EOS021)*zt & - & + ((EOS311*zs+EOS211)*zs+EOS111)*zs+EOS011)*zt & - & + (((EOS401*zs+EOS301)*zs+EOS201)*zs+EOS101)*zs+EOS001 - ! - zn0 = (((((EOS060*zt & - & + EOS150*zs+EOS050)*zt & - & + (EOS240*zs+EOS140)*zs+EOS040)*zt & - & + ((EOS330*zs+EOS230)*zs+EOS130)*zs+EOS030)*zt & - & + (((EOS420*zs+EOS320)*zs+EOS220)*zs+EOS120)*zs+EOS020)*zt & - & + ((((EOS510*zs+EOS410)*zs+EOS310)*zs+EOS210)*zs+EOS110)*zs+EOS010)*zt & - & + (((((EOS600*zs+EOS500)*zs+EOS400)*zs+EOS300)*zs+EOS200)*zs+EOS100)*zs+EOS000 - ! - zn = ( ( zn3 * zh + zn2 ) * zh + zn1 ) * zh + zn0 - ! - prd(ji,jj,jk) = ( zn * r1_rho0 - 1._wp ) * ztm ! density anomaly (masked) - ! - END_3D - ! - CASE( np_seos ) !== simplified EOS ==! - ! - DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpkm1 ) - zt = pts (ji,jj,jk,jp_tem,Knn) - 10._wp - zs = pts (ji,jj,jk,jp_sal,Knn) - 35._wp - zh = gdept(ji,jj,jk,Knn) - ztm = tmask(ji,jj,jk) - ! - zn = - rn_a0 * ( 1._wp + 0.5_wp*rn_lambda1*zt + rn_mu1*zh ) * zt & - & + rn_b0 * ( 1._wp - 0.5_wp*rn_lambda2*zs - rn_mu2*zh ) * zs & - & - rn_nu * zt * zs - ! - prd(ji,jj,jk) = zn * r1_rho0 * ztm ! density anomaly (masked) - END_3D - ! - CASE( np_leos ) !== linear ISOMIP EOS ==! - ! - DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpkm1 ) - zt = pts (ji,jj,jk,jp_tem,Knn) - (-1._wp) - zs = pts (ji,jj,jk,jp_sal,Knn) - 34.2_wp - zh = gdept(ji,jj,jk, Knn) - ztm = tmask(ji,jj,jk) - ! - zn = rho0 * ( - rn_a0 * zt + rn_b0 * zs ) - ! - prd(ji,jj,jk) = zn * r1_rho0 * ztm ! density anomaly (masked) - END_3D - ! - END SELECT - ! - IF(sn_cfctl%l_prtctl) CALL prt_ctl( tab3d_1=prd, clinfo1=' eos-insitu : ', kdim=jpk ) - ! - IF( ln_timing ) CALL timing_stop('eos-insitu') - ! - END SUBROUTINE eos_insitu_New - - - SUBROUTINE eos_insitu( pts, prd, pdep ) - !! - REAL(wp), DIMENSION(:,:,:,:), INTENT(in ) :: pts ! 1 : potential temperature [Celsius] - ! ! 2 : salinity [psu] - REAL(wp), DIMENSION(:,:,:) , INTENT( out) :: prd ! in situ density [-] - REAL(wp), DIMENSION(:,:,:) , INTENT(in ) :: pdep ! depth [m] - !! - CALL eos_insitu_t( pts, is_tile(pts), prd, is_tile(prd), pdep, is_tile(pdep) ) - END SUBROUTINE eos_insitu - - SUBROUTINE eos_insitu_t( pts, ktts, prd, ktrd, pdep, ktdep ) - !!---------------------------------------------------------------------- - !! *** ROUTINE eos_insitu *** - !! - !! ** Purpose : Compute the in situ density (ratio rho/rho0) from - !! potential temperature and salinity using an equation of state - !! selected in the nameos namelist - !! - !! ** Method : prd(t,s,z) = ( rho(t,s,z) - rho0 ) / rho0 - !! with prd in situ density anomaly no units - !! t TEOS10: CT or EOS80: PT Celsius - !! s TEOS10: SA or EOS80: SP TEOS10: g/kg or EOS80: psu - !! z depth meters - !! rho in situ density kg/m^3 - !! rho0 reference density kg/m^3 - !! - !! ln_teos10 : polynomial TEOS-10 equation of state is used for rho(t,s,z). - !! Check value: rho = 1028.21993233072 kg/m^3 for z=3000 dbar, ct=3 Celsius, sa=35.5 g/kg - !! - !! ln_eos80 : polynomial EOS-80 equation of state is used for rho(t,s,z). - !! Check value: rho = 1028.35011066567 kg/m^3 for z=3000 dbar, pt=3 Celsius, sp=35.5 psu - !! - !! ln_seos : simplified equation of state - !! prd(t,s,z) = ( -a0*(1+lambda/2*(T-T0)+mu*z+nu*(S-S0))*(T-T0) + b0*(S-S0) ) / rho0 - !! linear case function of T only: rn_alpha<>0, other coefficients = 0 - !! linear eos function of T and S: rn_alpha and rn_beta<>0, other coefficients=0 - !! Vallis like equation: use default values of coefficients - !! - !! ln_leos : linear ISOMIP equation of state - !! prd(t,s,z) = ( -a0*(T-T0) + b0*(S-S0) ) / rho0 - !! setup for ISOMIP linear eos - !! - !! ** Action : compute prd , the in situ density (no units) - !! - !! References : Roquet et al, Ocean Modelling, in preparation (2014) - !! Vallis, Atmospheric and Oceanic Fluid Dynamics, 2006 - !! TEOS-10 Manual, 2010 - !!---------------------------------------------------------------------- - INTEGER , INTENT(in ) :: ktts, ktrd, ktdep - REAL(wp), DIMENSION(A2D_T(ktts) ,JPK,JPTS), INTENT(in ) :: pts ! 1 : potential temperature [Celsius] - ! ! 2 : salinity [psu] - REAL(wp), DIMENSION(A2D_T(ktrd) ,JPK ), INTENT( out) :: prd ! in situ density [-] - REAL(wp), DIMENSION(A2D_T(ktdep),JPK ), INTENT(in ) :: pdep ! depth [m] - ! - INTEGER :: ji, jj, jk ! dummy loop indices - REAL(wp) :: zt , zh , zs , ztm ! local scalars - REAL(wp) :: zn , zn0, zn1, zn2, zn3 ! - - - !!---------------------------------------------------------------------- - ! - IF( ln_timing ) CALL timing_start('eos-insitu') - ! - SELECT CASE( neos ) - ! - CASE( np_teos10, np_eos80 ) !== polynomial TEOS-10 / EOS-80 ==! - ! - DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpkm1 ) - ! - zh = pdep(ji,jj,jk) * r1_Z0 ! depth - zt = pts (ji,jj,jk,jp_tem) * r1_T0 ! temperature - zs = SQRT( ABS( pts(ji,jj,jk,jp_sal) + rdeltaS ) * r1_S0 ) ! square root salinity - ztm = tmask(ji,jj,jk) ! tmask - ! - zn3 = EOS013*zt & - & + EOS103*zs+EOS003 - ! - zn2 = (EOS022*zt & - & + EOS112*zs+EOS012)*zt & - & + (EOS202*zs+EOS102)*zs+EOS002 - ! - zn1 = (((EOS041*zt & - & + EOS131*zs+EOS031)*zt & - & + (EOS221*zs+EOS121)*zs+EOS021)*zt & - & + ((EOS311*zs+EOS211)*zs+EOS111)*zs+EOS011)*zt & - & + (((EOS401*zs+EOS301)*zs+EOS201)*zs+EOS101)*zs+EOS001 - ! - zn0 = (((((EOS060*zt & - & + EOS150*zs+EOS050)*zt & - & + (EOS240*zs+EOS140)*zs+EOS040)*zt & - & + ((EOS330*zs+EOS230)*zs+EOS130)*zs+EOS030)*zt & - & + (((EOS420*zs+EOS320)*zs+EOS220)*zs+EOS120)*zs+EOS020)*zt & - & + ((((EOS510*zs+EOS410)*zs+EOS310)*zs+EOS210)*zs+EOS110)*zs+EOS010)*zt & - & + (((((EOS600*zs+EOS500)*zs+EOS400)*zs+EOS300)*zs+EOS200)*zs+EOS100)*zs+EOS000 - ! - zn = ( ( zn3 * zh + zn2 ) * zh + zn1 ) * zh + zn0 - ! - prd(ji,jj,jk) = ( zn * r1_rho0 - 1._wp ) * ztm ! density anomaly (masked) - ! - END_3D - ! - CASE( np_seos ) !== simplified EOS ==! - ! - DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpkm1 ) - zt = pts (ji,jj,jk,jp_tem) - 10._wp - zs = pts (ji,jj,jk,jp_sal) - 35._wp - zh = pdep (ji,jj,jk) - ztm = tmask(ji,jj,jk) - ! - zn = - rn_a0 * ( 1._wp + 0.5_wp*rn_lambda1*zt + rn_mu1*zh ) * zt & - & + rn_b0 * ( 1._wp - 0.5_wp*rn_lambda2*zs - rn_mu2*zh ) * zs & - & - rn_nu * zt * zs - ! - prd(ji,jj,jk) = zn * r1_rho0 * ztm ! density anomaly (masked) - END_3D - ! - CASE( np_leos ) !== linear ISOMIP EOS ==! - ! - DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpkm1 ) - zt = pts (ji,jj,jk,jp_tem) - (-1._wp) - zs = pts (ji,jj,jk,jp_sal) - 34.2_wp - zh = pdep (ji,jj,jk) - ztm = tmask(ji,jj,jk) - ! - zn = rho0 * ( - rn_a0 * zt + rn_b0 * zs ) - ! - prd(ji,jj,jk) = zn * r1_rho0 * ztm ! density anomaly (masked) - END_3D - ! - END SELECT - ! - IF(sn_cfctl%l_prtctl) CALL prt_ctl( tab3d_1=prd, clinfo1=' eos-insitu : ', kdim=jpk ) - ! - IF( ln_timing ) CALL timing_stop('eos-insitu') - ! - END SUBROUTINE eos_insitu_t - - - SUBROUTINE eos_insitu_pot( pts, prd, prhop, pdep ) - !! - REAL(wp), DIMENSION(:,:,:,:), INTENT(in ) :: pts ! 1 : potential temperature [Celsius] - ! ! 2 : salinity [psu] - REAL(wp), DIMENSION(:,:,:) , INTENT( out) :: prd ! in situ density [-] - REAL(wp), DIMENSION(:,:,:) , INTENT( out) :: prhop ! potential density (surface referenced) - REAL(wp), DIMENSION(:,:,:) , INTENT(in ) :: pdep ! depth [m] - !! - CALL eos_insitu_pot_t( pts, is_tile(pts), prd, is_tile(prd), prhop, is_tile(prhop), pdep, is_tile(pdep) ) - END SUBROUTINE eos_insitu_pot - - - SUBROUTINE eos_insitu_pot_t( pts, ktts, prd, ktrd, prhop, ktrhop, pdep, ktdep ) - !!---------------------------------------------------------------------- - !! *** ROUTINE eos_insitu_pot *** - !! - !! ** Purpose : Compute the in situ density (ratio rho/rho0) and the - !! potential volumic mass (Kg/m3) from potential temperature and - !! salinity fields using an equation of state selected in the - !! namelist. - !! - !! ** Action : - prd , the in situ density (no units) - !! - prhop, the potential volumic mass (Kg/m3) - !! - !!---------------------------------------------------------------------- - INTEGER , INTENT(in ) :: ktts, ktrd, ktrhop, ktdep - REAL(wp), DIMENSION(A2D_T(ktts) ,JPK,JPTS), INTENT(in ) :: pts ! 1 : potential temperature [Celsius] - ! ! 2 : salinity [psu] - REAL(wp), DIMENSION(A2D_T(ktrd) ,JPK ), INTENT( out) :: prd ! in situ density [-] - REAL(wp), DIMENSION(A2D_T(ktrhop),JPK ), INTENT( out) :: prhop ! potential density (surface referenced) - REAL(wp), DIMENSION(A2D_T(ktdep) ,JPK ), INTENT(in ) :: pdep ! depth [m] - ! - INTEGER :: ji, jj, jk, jsmp ! dummy loop indices - INTEGER :: jdof - REAL(wp) :: zt , zh , zstemp, zs , ztm ! local scalars - REAL(wp) :: zn , zn0, zn1, zn2, zn3 ! - - - REAL(wp), DIMENSION(:), ALLOCATABLE :: zn0_sto, zn_sto, zsign ! local vectors - !!---------------------------------------------------------------------- - ! - IF( ln_timing ) CALL timing_start('eos-pot') - ! - SELECT CASE ( neos ) - ! - CASE( np_teos10, np_eos80 ) !== polynomial TEOS-10 / EOS-80 ==! - ! - ! Stochastic equation of state - IF ( ln_sto_eos ) THEN - ALLOCATE(zn0_sto(1:2*nn_sto_eos)) - ALLOCATE(zn_sto(1:2*nn_sto_eos)) - ALLOCATE(zsign(1:2*nn_sto_eos)) - DO jsmp = 1, 2*nn_sto_eos, 2 - zsign(jsmp) = 1._wp - zsign(jsmp+1) = -1._wp - END DO - ! - DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpkm1 ) - ! - ! compute density (2*nn_sto_eos) times: - ! (1) for t+dt, s+ds (with the random TS fluctutation computed in sto_pts) - ! (2) for t-dt, s-ds (with the opposite fluctuation) - DO jsmp = 1, nn_sto_eos*2 - jdof = (jsmp + 1) / 2 - zh = pdep(ji,jj,jk) * r1_Z0 ! depth - zt = (pts (ji,jj,jk,jp_tem) + pts_ran(ji,jj,jk,jp_tem,jdof) * zsign(jsmp)) * r1_T0 ! temperature - zstemp = pts (ji,jj,jk,jp_sal) + pts_ran(ji,jj,jk,jp_sal,jdof) * zsign(jsmp) - zs = SQRT( ABS( zstemp + rdeltaS ) * r1_S0 ) ! square root salinity - ztm = tmask(ji,jj,jk) ! tmask - ! - zn3 = EOS013*zt & - & + EOS103*zs+EOS003 - ! - zn2 = (EOS022*zt & - & + EOS112*zs+EOS012)*zt & - & + (EOS202*zs+EOS102)*zs+EOS002 - ! - zn1 = (((EOS041*zt & - & + EOS131*zs+EOS031)*zt & - & + (EOS221*zs+EOS121)*zs+EOS021)*zt & - & + ((EOS311*zs+EOS211)*zs+EOS111)*zs+EOS011)*zt & - & + (((EOS401*zs+EOS301)*zs+EOS201)*zs+EOS101)*zs+EOS001 - ! - zn0_sto(jsmp) = (((((EOS060*zt & - & + EOS150*zs+EOS050)*zt & - & + (EOS240*zs+EOS140)*zs+EOS040)*zt & - & + ((EOS330*zs+EOS230)*zs+EOS130)*zs+EOS030)*zt & - & + (((EOS420*zs+EOS320)*zs+EOS220)*zs+EOS120)*zs+EOS020)*zt & - & + ((((EOS510*zs+EOS410)*zs+EOS310)*zs+EOS210)*zs+EOS110)*zs+EOS010)*zt & - & + (((((EOS600*zs+EOS500)*zs+EOS400)*zs+EOS300)*zs+EOS200)*zs+EOS100)*zs+EOS000 - ! - zn_sto(jsmp) = ( ( zn3 * zh + zn2 ) * zh + zn1 ) * zh + zn0_sto(jsmp) - END DO - ! - ! compute stochastic density as the mean of the (2*nn_sto_eos) densities - prhop(ji,jj,jk) = 0._wp ; prd(ji,jj,jk) = 0._wp - DO jsmp = 1, nn_sto_eos*2 - prhop(ji,jj,jk) = prhop(ji,jj,jk) + zn0_sto(jsmp) ! potential density referenced at the surface - ! - prd(ji,jj,jk) = prd(ji,jj,jk) + ( zn_sto(jsmp) * r1_rho0 - 1._wp ) ! density anomaly (masked) - END DO - prhop(ji,jj,jk) = 0.5_wp * prhop(ji,jj,jk) * ztm / nn_sto_eos - prd (ji,jj,jk) = 0.5_wp * prd (ji,jj,jk) * ztm / nn_sto_eos - END_3D - DEALLOCATE(zn0_sto,zn_sto,zsign) - ! Non-stochastic equation of state - ELSE - DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpkm1 ) - ! - zh = pdep(ji,jj,jk) * r1_Z0 ! depth - zt = pts (ji,jj,jk,jp_tem) * r1_T0 ! temperature - zs = SQRT( ABS( pts(ji,jj,jk,jp_sal) + rdeltaS ) * r1_S0 ) ! square root salinity - ztm = tmask(ji,jj,jk) ! tmask - ! - zn3 = EOS013*zt & - & + EOS103*zs+EOS003 - ! - zn2 = (EOS022*zt & - & + EOS112*zs+EOS012)*zt & - & + (EOS202*zs+EOS102)*zs+EOS002 - ! - zn1 = (((EOS041*zt & - & + EOS131*zs+EOS031)*zt & - & + (EOS221*zs+EOS121)*zs+EOS021)*zt & - & + ((EOS311*zs+EOS211)*zs+EOS111)*zs+EOS011)*zt & - & + (((EOS401*zs+EOS301)*zs+EOS201)*zs+EOS101)*zs+EOS001 - ! - zn0 = (((((EOS060*zt & - & + EOS150*zs+EOS050)*zt & - & + (EOS240*zs+EOS140)*zs+EOS040)*zt & - & + ((EOS330*zs+EOS230)*zs+EOS130)*zs+EOS030)*zt & - & + (((EOS420*zs+EOS320)*zs+EOS220)*zs+EOS120)*zs+EOS020)*zt & - & + ((((EOS510*zs+EOS410)*zs+EOS310)*zs+EOS210)*zs+EOS110)*zs+EOS010)*zt & - & + (((((EOS600*zs+EOS500)*zs+EOS400)*zs+EOS300)*zs+EOS200)*zs+EOS100)*zs+EOS000 - ! - zn = ( ( zn3 * zh + zn2 ) * zh + zn1 ) * zh + zn0 - ! - prhop(ji,jj,jk) = zn0 * ztm ! potential density referenced at the surface - ! - prd(ji,jj,jk) = ( zn * r1_rho0 - 1._wp ) * ztm ! density anomaly (masked) - END_3D - ENDIF - - CASE( np_seos ) !== simplified EOS ==! - ! - DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpkm1 ) - zt = pts (ji,jj,jk,jp_tem) - 10._wp - zs = pts (ji,jj,jk,jp_sal) - 35._wp - zh = pdep (ji,jj,jk) - ztm = tmask(ji,jj,jk) - ! ! potential density referenced at the surface - zn = - rn_a0 * ( 1._wp + 0.5_wp*rn_lambda1*zt ) * zt & - & + rn_b0 * ( 1._wp - 0.5_wp*rn_lambda2*zs ) * zs & - & - rn_nu * zt * zs - prhop(ji,jj,jk) = ( rho0 + zn ) * ztm - ! ! density anomaly (masked) - zn = zn - ( rn_a0 * rn_mu1 * zt + rn_b0 * rn_mu2 * zs ) * zh - prd(ji,jj,jk) = zn * r1_rho0 * ztm - ! - END_3D - ! - CASE( np_leos ) !== linear ISOMIP EOS ==! - ! - DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpkm1 ) - zt = pts (ji,jj,jk,jp_tem) - (-1._wp) - zs = pts (ji,jj,jk,jp_sal) - 34.2_wp - zh = pdep (ji,jj,jk) - ztm = tmask(ji,jj,jk) - ! ! potential density referenced at the surface - zn = rho0 * ( - rn_a0 * zt + rn_b0 * zs ) - prhop(ji,jj,jk) = ( rho0 + zn ) * ztm - ! ! density anomaly (masked) - prd(ji,jj,jk) = zn * r1_rho0 * ztm - ! - END_3D - ! - END SELECT - ! - IF(sn_cfctl%l_prtctl) CALL prt_ctl( tab3d_1=prd, clinfo1=' eos-pot: ', & - & tab3d_2=prhop, clinfo2=' pot : ', kdim=jpk ) - ! - IF( ln_timing ) CALL timing_stop('eos-pot') - ! - END SUBROUTINE eos_insitu_pot_t - - - SUBROUTINE eos_insitu_2d( pts, pdep, prd ) - !! - REAL(wp), DIMENSION(:,:,:), INTENT(in ) :: pts ! 1 : potential temperature [Celsius] - ! ! 2 : salinity [psu] - REAL(wp), DIMENSION(:,:) , INTENT(in ) :: pdep ! depth [m] - REAL(wp), DIMENSION(:,:) , INTENT( out) :: prd ! in situ density - !! - CALL eos_insitu_2d_t( pts, is_tile(pts), pdep, is_tile(pdep), prd, is_tile(prd) ) - END SUBROUTINE eos_insitu_2d - - - SUBROUTINE eos_insitu_2d_t( pts, ktts, pdep, ktdep, prd, ktrd ) - !!---------------------------------------------------------------------- - !! *** ROUTINE eos_insitu_2d *** - !! - !! ** Purpose : Compute the in situ density (ratio rho/rho0) from - !! potential temperature and salinity using an equation of state - !! selected in the nameos namelist. * 2D field case - !! - !! ** Action : - prd , the in situ density (no units) (unmasked) - !! - !!---------------------------------------------------------------------- - INTEGER , INTENT(in ) :: ktts, ktdep, ktrd - REAL(wp), DIMENSION(A2D_T(ktts),JPTS), INTENT(in ) :: pts ! 1 : potential temperature [Celsius] - ! ! 2 : salinity [psu] - REAL(wp), DIMENSION(A2D_T(ktdep) ), INTENT(in ) :: pdep ! depth [m] - REAL(wp), DIMENSION(A2D_T(ktrd) ), INTENT( out) :: prd ! in situ density - ! - INTEGER :: ji, jj, jk ! dummy loop indices - REAL(wp) :: zt , zh , zs ! local scalars - REAL(wp) :: zn , zn0, zn1, zn2, zn3 ! - - - !!---------------------------------------------------------------------- - ! - IF( ln_timing ) CALL timing_start('eos2d') - ! - prd(:,:) = 0._wp - ! - SELECT CASE( neos ) - ! - CASE( np_teos10, np_eos80 ) !== polynomial TEOS-10 / EOS-80 ==! - ! - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) - ! - zh = pdep(ji,jj) * r1_Z0 ! depth - zt = pts (ji,jj,jp_tem) * r1_T0 ! temperature - zs = SQRT( ABS( pts(ji,jj,jp_sal) + rdeltaS ) * r1_S0 ) ! square root salinity - ! - zn3 = EOS013*zt & - & + EOS103*zs+EOS003 - ! - zn2 = (EOS022*zt & - & + EOS112*zs+EOS012)*zt & - & + (EOS202*zs+EOS102)*zs+EOS002 - ! - zn1 = (((EOS041*zt & - & + EOS131*zs+EOS031)*zt & - & + (EOS221*zs+EOS121)*zs+EOS021)*zt & - & + ((EOS311*zs+EOS211)*zs+EOS111)*zs+EOS011)*zt & - & + (((EOS401*zs+EOS301)*zs+EOS201)*zs+EOS101)*zs+EOS001 - ! - zn0 = (((((EOS060*zt & - & + EOS150*zs+EOS050)*zt & - & + (EOS240*zs+EOS140)*zs+EOS040)*zt & - & + ((EOS330*zs+EOS230)*zs+EOS130)*zs+EOS030)*zt & - & + (((EOS420*zs+EOS320)*zs+EOS220)*zs+EOS120)*zs+EOS020)*zt & - & + ((((EOS510*zs+EOS410)*zs+EOS310)*zs+EOS210)*zs+EOS110)*zs+EOS010)*zt & - & + (((((EOS600*zs+EOS500)*zs+EOS400)*zs+EOS300)*zs+EOS200)*zs+EOS100)*zs+EOS000 - ! - zn = ( ( zn3 * zh + zn2 ) * zh + zn1 ) * zh + zn0 - ! - prd(ji,jj) = zn * r1_rho0 - 1._wp ! unmasked in situ density anomaly - ! - END_2D - ! - CASE( np_seos ) !== simplified EOS ==! - ! - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) - ! - zt = pts (ji,jj,jp_tem) - 10._wp - zs = pts (ji,jj,jp_sal) - 35._wp - zh = pdep (ji,jj) ! depth at the partial step level - ! - zn = - rn_a0 * ( 1._wp + 0.5_wp*rn_lambda1*zt + rn_mu1*zh ) * zt & - & + rn_b0 * ( 1._wp - 0.5_wp*rn_lambda2*zs - rn_mu2*zh ) * zs & - & - rn_nu * zt * zs - ! - prd(ji,jj) = zn * r1_rho0 ! unmasked in situ density anomaly - ! - END_2D - ! - CASE( np_leos ) !== ISOMIP EOS ==! - ! - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) - ! - zt = pts (ji,jj,jp_tem) - (-1._wp) - zs = pts (ji,jj,jp_sal) - 34.2_wp - zh = pdep (ji,jj) ! depth at the partial step level - ! - zn = rho0 * ( - rn_a0 * zt + rn_b0 * zs ) - ! - prd(ji,jj) = zn * r1_rho0 ! unmasked in situ density anomaly - ! - END_2D - ! - ! - END SELECT - ! - IF(sn_cfctl%l_prtctl) CALL prt_ctl( tab2d_1=prd, clinfo1=' eos2d: ' ) - ! - IF( ln_timing ) CALL timing_stop('eos2d') - ! - END SUBROUTINE eos_insitu_2d_t - - - SUBROUTINE eos_insitu_pot_2d( pts, prhop ) - !! - REAL(wp), DIMENSION(:,:,:), INTENT(in ) :: pts ! 1 : potential temperature [Celsius] - ! ! 2 : salinity [psu] - REAL(wp), DIMENSION(:,:) , INTENT( out) :: prhop ! potential density (surface referenced) - !! - CALL eos_insitu_pot_2d_t( pts, is_tile(pts), prhop, is_tile(prhop) ) - END SUBROUTINE eos_insitu_pot_2d - - - SUBROUTINE eos_insitu_pot_2d_t( pts, ktts, prhop, ktrhop ) - !!---------------------------------------------------------------------- - !! *** ROUTINE eos_insitu_pot *** - !! - !! ** Purpose : Compute the in situ density (ratio rho/rho0) and the - !! potential volumic mass (Kg/m3) from potential temperature and - !! salinity fields using an equation of state selected in the - !! namelist. - !! - !! ** Action : - !! - prhop, the potential volumic mass (Kg/m3) - !! - !!---------------------------------------------------------------------- - INTEGER , INTENT(in ) :: ktts, ktrhop - REAL(wp), DIMENSION(A2D_T(ktts),JPTS), INTENT(in ) :: pts ! 1 : potential temperature [Celsius] - ! ! 2 : salinity [psu] - REAL(wp), DIMENSION(A2D_T(ktrhop) ), INTENT( out) :: prhop ! potential density (surface referenced) - ! - INTEGER :: ji, jj, jk, jsmp ! dummy loop indices - INTEGER :: jdof - REAL(wp) :: zt , zh , zstemp, zs , ztm ! local scalars - REAL(wp) :: zn , zn0, zn1, zn2, zn3 ! - - - REAL(wp), DIMENSION(:), ALLOCATABLE :: zn0_sto, zn_sto, zsign ! local vectors - !!---------------------------------------------------------------------- - ! - IF( ln_timing ) CALL timing_start('eos-pot') - ! - SELECT CASE ( neos ) - ! - CASE( np_teos10, np_eos80 ) !== polynomial TEOS-10 / EOS-80 ==! - ! - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) - ! - zt = pts (ji,jj,jp_tem) * r1_T0 ! temperature - zs = SQRT( ABS( pts(ji,jj,jp_sal) + rdeltaS ) * r1_S0 ) ! square root salinity - ztm = tmask(ji,jj,1) ! tmask - ! - zn0 = (((((EOS060*zt & - & + EOS150*zs+EOS050)*zt & - & + (EOS240*zs+EOS140)*zs+EOS040)*zt & - & + ((EOS330*zs+EOS230)*zs+EOS130)*zs+EOS030)*zt & - & + (((EOS420*zs+EOS320)*zs+EOS220)*zs+EOS120)*zs+EOS020)*zt & - & + ((((EOS510*zs+EOS410)*zs+EOS310)*zs+EOS210)*zs+EOS110)*zs+EOS010)*zt & - & + (((((EOS600*zs+EOS500)*zs+EOS400)*zs+EOS300)*zs+EOS200)*zs+EOS100)*zs+EOS000 - ! - ! - prhop(ji,jj) = zn0 * ztm ! potential density referenced at the surface - ! - END_2D - - CASE( np_seos ) !== simplified EOS ==! - ! - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) - zt = pts (ji,jj,jp_tem) - 10._wp - zs = pts (ji,jj,jp_sal) - 35._wp - ztm = tmask(ji,jj,1) - ! ! potential density referenced at the surface - zn = - rn_a0 * ( 1._wp + 0.5_wp*rn_lambda1*zt ) * zt & - & + rn_b0 * ( 1._wp - 0.5_wp*rn_lambda2*zs ) * zs & - & - rn_nu * zt * zs - prhop(ji,jj) = ( rho0 + zn ) * ztm - ! - END_2D - ! - CASE( np_leos ) !== ISOMIP EOS ==! - ! - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) - ! - zt = pts (ji,jj,jp_tem) - (-1._wp) - zs = pts (ji,jj,jp_sal) - 34.2_wp - !zh = pdep (ji,jj) ! depth at the partial step level - ! - zn = rho0 * ( - rn_a0 * zt + rn_b0 * zs ) - ! - prhop(ji,jj) = zn * r1_rho0 ! unmasked in situ density anomaly - ! - END_2D - ! - END SELECT - IF(sn_cfctl%l_prtctl) CALL prt_ctl( tab2d_1=prhop, clinfo1=' pot: ', kdim=1 ) - ! - IF(sn_cfctl%l_prtctl) CALL prt_ctl( tab2d_1=prhop, clinfo1=' eos-pot: ' ) - ! - IF( ln_timing ) CALL timing_stop('eos-pot') - ! - END SUBROUTINE eos_insitu_pot_2d_t - - - SUBROUTINE rab_3d( pts, pab, Kmm ) - !! - INTEGER , INTENT(in ) :: Kmm ! time level index - REAL(wp), DIMENSION(:,:,:,:), INTENT(in ) :: pts ! pot. temperature & salinity - REAL(wp), DIMENSION(:,:,:,:), INTENT( out) :: pab ! thermal/haline expansion ratio - !! - CALL rab_3d_t( pts, is_tile(pts), pab, is_tile(pab), Kmm ) - END SUBROUTINE rab_3d - - - SUBROUTINE rab_3d_t( pts, ktts, pab, ktab, Kmm ) - !!---------------------------------------------------------------------- - !! *** ROUTINE rab_3d *** - !! - !! ** Purpose : Calculates thermal/haline expansion ratio at T-points - !! - !! ** Method : calculates alpha / beta at T-points - !! - !! ** Action : - pab : thermal/haline expansion ratio at T-points - !!---------------------------------------------------------------------- - INTEGER , INTENT(in ) :: Kmm ! time level index - INTEGER , INTENT(in ) :: ktts, ktab - REAL(wp), DIMENSION(A2D_T(ktts),JPK,JPTS), INTENT(in ) :: pts ! pot. temperature & salinity - REAL(wp), DIMENSION(A2D_T(ktab),JPK,JPTS), INTENT( out) :: pab ! thermal/haline expansion ratio - ! - INTEGER :: ji, jj, jk ! dummy loop indices - REAL(wp) :: zt , zh , zs , ztm ! local scalars - REAL(wp) :: zn , zn0, zn1, zn2, zn3 ! - - - !!---------------------------------------------------------------------- - ! - IF( ln_timing ) CALL timing_start('rab_3d') - ! - SELECT CASE ( neos ) - ! - CASE( np_teos10, np_eos80 ) !== polynomial TEOS-10 / EOS-80 ==! - ! - DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpkm1 ) - ! - zh = gdept(ji,jj,jk,Kmm) * r1_Z0 ! depth - zt = pts (ji,jj,jk,jp_tem) * r1_T0 ! temperature - zs = SQRT( ABS( pts(ji,jj,jk,jp_sal) + rdeltaS ) * r1_S0 ) ! square root salinity - ztm = tmask(ji,jj,jk) ! tmask - ! - ! alpha - zn3 = ALP003 - ! - zn2 = ALP012*zt + ALP102*zs+ALP002 - ! - zn1 = ((ALP031*zt & - & + ALP121*zs+ALP021)*zt & - & + (ALP211*zs+ALP111)*zs+ALP011)*zt & - & + ((ALP301*zs+ALP201)*zs+ALP101)*zs+ALP001 - ! - zn0 = ((((ALP050*zt & - & + ALP140*zs+ALP040)*zt & - & + (ALP230*zs+ALP130)*zs+ALP030)*zt & - & + ((ALP320*zs+ALP220)*zs+ALP120)*zs+ALP020)*zt & - & + (((ALP410*zs+ALP310)*zs+ALP210)*zs+ALP110)*zs+ALP010)*zt & - & + ((((ALP500*zs+ALP400)*zs+ALP300)*zs+ALP200)*zs+ALP100)*zs+ALP000 - ! - zn = ( ( zn3 * zh + zn2 ) * zh + zn1 ) * zh + zn0 - ! - pab(ji,jj,jk,jp_tem) = zn * r1_rho0 * ztm - ! - ! beta - zn3 = BET003 - ! - zn2 = BET012*zt + BET102*zs+BET002 - ! - zn1 = ((BET031*zt & - & + BET121*zs+BET021)*zt & - & + (BET211*zs+BET111)*zs+BET011)*zt & - & + ((BET301*zs+BET201)*zs+BET101)*zs+BET001 - ! - zn0 = ((((BET050*zt & - & + BET140*zs+BET040)*zt & - & + (BET230*zs+BET130)*zs+BET030)*zt & - & + ((BET320*zs+BET220)*zs+BET120)*zs+BET020)*zt & - & + (((BET410*zs+BET310)*zs+BET210)*zs+BET110)*zs+BET010)*zt & - & + ((((BET500*zs+BET400)*zs+BET300)*zs+BET200)*zs+BET100)*zs+BET000 - ! - zn = ( ( zn3 * zh + zn2 ) * zh + zn1 ) * zh + zn0 - ! - pab(ji,jj,jk,jp_sal) = zn / zs * r1_rho0 * ztm - ! - END_3D - ! - CASE( np_seos ) !== simplified EOS ==! - ! - DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpkm1 ) - zt = pts (ji,jj,jk,jp_tem) - 10._wp ! pot. temperature anomaly (t-T0) - zs = pts (ji,jj,jk,jp_sal) - 35._wp ! abs. salinity anomaly (s-S0) - zh = gdept(ji,jj,jk,Kmm) ! depth in meters at t-point - ztm = tmask(ji,jj,jk) ! land/sea bottom mask = surf. mask - ! - zn = rn_a0 * ( 1._wp + rn_lambda1*zt + rn_mu1*zh ) + rn_nu*zs - pab(ji,jj,jk,jp_tem) = zn * r1_rho0 * ztm ! alpha - ! - zn = rn_b0 * ( 1._wp - rn_lambda2*zs - rn_mu2*zh ) - rn_nu*zt - pab(ji,jj,jk,jp_sal) = zn * r1_rho0 * ztm ! beta - ! - END_3D - ! - CASE( np_leos ) !== linear ISOMIP EOS ==! - ! - DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpkm1 ) - zt = pts (ji,jj,jk,jp_tem) - (-1._wp) - zs = pts (ji,jj,jk,jp_sal) - 34.2_wp ! abs. salinity anomaly (s-S0) - zh = gdept(ji,jj,jk,Kmm) ! depth in meters at t-point - ztm = tmask(ji,jj,jk) ! land/sea bottom mask = surf. mask - ! - zn = rn_a0 * rho0 - pab(ji,jj,jk,jp_tem) = zn * r1_rho0 * ztm ! alpha - ! - zn = rn_b0 * rho0 - pab(ji,jj,jk,jp_sal) = zn * r1_rho0 * ztm ! beta - ! - END_3D - ! - CASE DEFAULT - WRITE(ctmp1,*) ' bad flag value for neos = ', neos - CALL ctl_stop( 'rab_3d:', ctmp1 ) - ! - END SELECT - ! - IF(sn_cfctl%l_prtctl) CALL prt_ctl( tab3d_1=pab(:,:,:,jp_tem), clinfo1=' rab_3d_t: ', & - & tab3d_2=pab(:,:,:,jp_sal), clinfo2=' rab_3d_s : ', kdim=jpk ) - ! - IF( ln_timing ) CALL timing_stop('rab_3d') - ! - END SUBROUTINE rab_3d_t - - - SUBROUTINE rab_2d( pts, pdep, pab, Kmm ) - !! - INTEGER , INTENT(in ) :: Kmm ! time level index - REAL(wp), DIMENSION(:,:,:), INTENT(in ) :: pts ! pot. temperature & salinity - REAL(wp), DIMENSION(:,:) , INTENT(in ) :: pdep ! depth [m] - REAL(wp), DIMENSION(:,:,:), INTENT( out) :: pab ! thermal/haline expansion ratio - !! - CALL rab_2d_t(pts, is_tile(pts), pdep, is_tile(pdep), pab, is_tile(pab), Kmm) - END SUBROUTINE rab_2d - - - SUBROUTINE rab_2d_t( pts, ktts, pdep, ktdep, pab, ktab, Kmm ) - !!---------------------------------------------------------------------- - !! *** ROUTINE rab_2d *** - !! - !! ** Purpose : Calculates thermal/haline expansion ratio for a 2d field (unmasked) - !! - !! ** Action : - pab : thermal/haline expansion ratio at T-points - !!---------------------------------------------------------------------- - INTEGER , INTENT(in ) :: Kmm ! time level index - INTEGER , INTENT(in ) :: ktts, ktdep, ktab - REAL(wp), DIMENSION(A2D_T(ktts),JPTS), INTENT(in ) :: pts ! pot. temperature & salinity - REAL(wp), DIMENSION(A2D_T(ktdep) ), INTENT(in ) :: pdep ! depth [m] - REAL(wp), DIMENSION(A2D_T(ktab),JPTS), INTENT( out) :: pab ! thermal/haline expansion ratio - ! - INTEGER :: ji, jj, jk ! dummy loop indices - REAL(wp) :: zt , zh , zs ! local scalars - REAL(wp) :: zn , zn0, zn1, zn2, zn3 ! - - - !!---------------------------------------------------------------------- - ! - IF( ln_timing ) CALL timing_start('rab_2d') - ! - pab(:,:,:) = 0._wp - ! - SELECT CASE ( neos ) - ! - CASE( np_teos10, np_eos80 ) !== polynomial TEOS-10 / EOS-80 ==! - ! - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) - ! - zh = pdep(ji,jj) * r1_Z0 ! depth - zt = pts (ji,jj,jp_tem) * r1_T0 ! temperature - zs = SQRT( ABS( pts(ji,jj,jp_sal) + rdeltaS ) * r1_S0 ) ! square root salinity - ! - ! alpha - zn3 = ALP003 - ! - zn2 = ALP012*zt + ALP102*zs+ALP002 - ! - zn1 = ((ALP031*zt & - & + ALP121*zs+ALP021)*zt & - & + (ALP211*zs+ALP111)*zs+ALP011)*zt & - & + ((ALP301*zs+ALP201)*zs+ALP101)*zs+ALP001 - ! - zn0 = ((((ALP050*zt & - & + ALP140*zs+ALP040)*zt & - & + (ALP230*zs+ALP130)*zs+ALP030)*zt & - & + ((ALP320*zs+ALP220)*zs+ALP120)*zs+ALP020)*zt & - & + (((ALP410*zs+ALP310)*zs+ALP210)*zs+ALP110)*zs+ALP010)*zt & - & + ((((ALP500*zs+ALP400)*zs+ALP300)*zs+ALP200)*zs+ALP100)*zs+ALP000 - ! - zn = ( ( zn3 * zh + zn2 ) * zh + zn1 ) * zh + zn0 - ! - pab(ji,jj,jp_tem) = zn * r1_rho0 - ! - ! beta - zn3 = BET003 - ! - zn2 = BET012*zt + BET102*zs+BET002 - ! - zn1 = ((BET031*zt & - & + BET121*zs+BET021)*zt & - & + (BET211*zs+BET111)*zs+BET011)*zt & - & + ((BET301*zs+BET201)*zs+BET101)*zs+BET001 - ! - zn0 = ((((BET050*zt & - & + BET140*zs+BET040)*zt & - & + (BET230*zs+BET130)*zs+BET030)*zt & - & + ((BET320*zs+BET220)*zs+BET120)*zs+BET020)*zt & - & + (((BET410*zs+BET310)*zs+BET210)*zs+BET110)*zs+BET010)*zt & - & + ((((BET500*zs+BET400)*zs+BET300)*zs+BET200)*zs+BET100)*zs+BET000 - ! - zn = ( ( zn3 * zh + zn2 ) * zh + zn1 ) * zh + zn0 - ! - pab(ji,jj,jp_sal) = zn / zs * r1_rho0 - ! - ! - END_2D - ! - CASE( np_seos ) !== simplified EOS ==! - ! - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) - ! - zt = pts (ji,jj,jp_tem) - 10._wp ! pot. temperature anomaly (t-T0) - zs = pts (ji,jj,jp_sal) - 35._wp ! abs. salinity anomaly (s-S0) - zh = pdep (ji,jj) ! depth at the partial step level - ! - zn = rn_a0 * ( 1._wp + rn_lambda1*zt + rn_mu1*zh ) + rn_nu*zs - pab(ji,jj,jp_tem) = zn * r1_rho0 ! alpha - ! - zn = rn_b0 * ( 1._wp - rn_lambda2*zs - rn_mu2*zh ) - rn_nu*zt - pab(ji,jj,jp_sal) = zn * r1_rho0 ! beta - ! - END_2D - ! - CASE( np_leos ) !== linear ISOMIP EOS ==! - ! - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) - ! - zt = pts (ji,jj,jp_tem) - (-1._wp) ! pot. temperature anomaly (t-T0) - zs = pts (ji,jj,jp_sal) - 34.2_wp ! abs. salinity anomaly (s-S0) - zh = pdep (ji,jj) ! depth at the partial step level - ! - zn = rn_a0 * rho0 - pab(ji,jj,jp_tem) = zn * r1_rho0 ! alpha - ! - zn = rn_b0 * rho0 - pab(ji,jj,jp_sal) = zn * r1_rho0 ! beta - ! - END_2D - ! - CASE DEFAULT - WRITE(ctmp1,*) ' bad flag value for neos = ', neos - CALL ctl_stop( 'rab_2d:', ctmp1 ) - ! - END SELECT - ! - IF(sn_cfctl%l_prtctl) CALL prt_ctl( tab2d_1=pab(:,:,jp_tem), clinfo1=' rab_2d_t: ', & - & tab2d_2=pab(:,:,jp_sal), clinfo2=' rab_2d_s : ' ) - ! - IF( ln_timing ) CALL timing_stop('rab_2d') - ! - END SUBROUTINE rab_2d_t - - - SUBROUTINE rab_0d( pts, pdep, pab, Kmm ) - !!---------------------------------------------------------------------- - !! *** ROUTINE rab_0d *** - !! - !! ** Purpose : Calculates thermal/haline expansion ratio for a 2d field (unmasked) - !! - !! ** Action : - pab : thermal/haline expansion ratio at T-points - !!---------------------------------------------------------------------- - INTEGER , INTENT(in ) :: Kmm ! time level index - REAL(wp), DIMENSION(jpts) , INTENT(in ) :: pts ! pot. temperature & salinity - REAL(wp), INTENT(in ) :: pdep ! depth [m] - REAL(wp), DIMENSION(jpts) , INTENT( out) :: pab ! thermal/haline expansion ratio - ! - REAL(wp) :: zt , zh , zs ! local scalars - REAL(wp) :: zn , zn0, zn1, zn2, zn3 ! - - - !!---------------------------------------------------------------------- - ! - IF( ln_timing ) CALL timing_start('rab_0d') - ! - pab(:) = 0._wp - ! - SELECT CASE ( neos ) - ! - CASE( np_teos10, np_eos80 ) !== polynomial TEOS-10 / EOS-80 ==! - ! - ! - zh = pdep * r1_Z0 ! depth - zt = pts (jp_tem) * r1_T0 ! temperature - zs = SQRT( ABS( pts(jp_sal) + rdeltaS ) * r1_S0 ) ! square root salinity - ! - ! alpha - zn3 = ALP003 - ! - zn2 = ALP012*zt + ALP102*zs+ALP002 - ! - zn1 = ((ALP031*zt & - & + ALP121*zs+ALP021)*zt & - & + (ALP211*zs+ALP111)*zs+ALP011)*zt & - & + ((ALP301*zs+ALP201)*zs+ALP101)*zs+ALP001 - ! - zn0 = ((((ALP050*zt & - & + ALP140*zs+ALP040)*zt & - & + (ALP230*zs+ALP130)*zs+ALP030)*zt & - & + ((ALP320*zs+ALP220)*zs+ALP120)*zs+ALP020)*zt & - & + (((ALP410*zs+ALP310)*zs+ALP210)*zs+ALP110)*zs+ALP010)*zt & - & + ((((ALP500*zs+ALP400)*zs+ALP300)*zs+ALP200)*zs+ALP100)*zs+ALP000 - ! - zn = ( ( zn3 * zh + zn2 ) * zh + zn1 ) * zh + zn0 - ! - pab(jp_tem) = zn * r1_rho0 - ! - ! beta - zn3 = BET003 - ! - zn2 = BET012*zt + BET102*zs+BET002 - ! - zn1 = ((BET031*zt & - & + BET121*zs+BET021)*zt & - & + (BET211*zs+BET111)*zs+BET011)*zt & - & + ((BET301*zs+BET201)*zs+BET101)*zs+BET001 - ! - zn0 = ((((BET050*zt & - & + BET140*zs+BET040)*zt & - & + (BET230*zs+BET130)*zs+BET030)*zt & - & + ((BET320*zs+BET220)*zs+BET120)*zs+BET020)*zt & - & + (((BET410*zs+BET310)*zs+BET210)*zs+BET110)*zs+BET010)*zt & - & + ((((BET500*zs+BET400)*zs+BET300)*zs+BET200)*zs+BET100)*zs+BET000 - ! - zn = ( ( zn3 * zh + zn2 ) * zh + zn1 ) * zh + zn0 - ! - pab(jp_sal) = zn / zs * r1_rho0 - ! - ! - ! - CASE( np_seos ) !== simplified EOS ==! - ! - zt = pts(jp_tem) - 10._wp ! pot. temperature anomaly (t-T0) - zs = pts(jp_sal) - 35._wp ! abs. salinity anomaly (s-S0) - zh = pdep ! depth at the partial step level - ! - zn = rn_a0 * ( 1._wp + rn_lambda1*zt + rn_mu1*zh ) + rn_nu*zs - pab(jp_tem) = zn * r1_rho0 ! alpha - ! - zn = rn_b0 * ( 1._wp - rn_lambda2*zs - rn_mu2*zh ) - rn_nu*zt - pab(jp_sal) = zn * r1_rho0 ! beta - ! - CASE( np_leos ) !== linear ISOMIP EOS ==! - ! - zt = pts(jp_tem) - (-1._wp) ! pot. temperature anomaly (t-T0) - zs = pts(jp_sal) - 34.2_wp ! abs. salinity anomaly (s-S0) - zh = pdep ! depth at the partial step level - ! - zn = rn_a0 * rho0 - pab(jp_tem) = zn * r1_rho0 ! alpha - ! - zn = rn_b0 * rho0 - pab(jp_sal) = zn * r1_rho0 ! beta - ! - CASE DEFAULT - WRITE(ctmp1,*) ' bad flag value for neos = ', neos - CALL ctl_stop( 'rab_0d:', ctmp1 ) - ! - END SELECT - ! - IF( ln_timing ) CALL timing_stop('rab_0d') - ! - END SUBROUTINE rab_0d - - - SUBROUTINE bn2( pts, pab, pn2, Kmm ) - !! - INTEGER , INTENT(in ) :: Kmm ! time level index - REAL(wp), DIMENSION(jpi,jpj,jpk,jpts), INTENT(in ) :: pts ! pot. temperature and salinity [Celsius,psu] - REAL(wp), DIMENSION(:,:,:,:) , INTENT(in ) :: pab ! thermal/haline expansion coef. [Celsius-1,psu-1] - REAL(wp), DIMENSION(:,:,:) , INTENT( out) :: pn2 ! Brunt-Vaisala frequency squared [1/s^2] - !! - CALL bn2_t( pts, pab, is_tile(pab), pn2, is_tile(pn2), Kmm ) - END SUBROUTINE bn2 - - - SUBROUTINE bn2_t( pts, pab, ktab, pn2, ktn2, Kmm ) - !!---------------------------------------------------------------------- - !! *** ROUTINE bn2 *** - !! - !! ** Purpose : Compute the local Brunt-Vaisala frequency at the - !! time-step of the input arguments - !! - !! ** Method : pn2 = grav * (alpha dk[T] + beta dk[S] ) / e3w - !! where alpha and beta are given in pab, and computed on T-points. - !! N.B. N^2 is set one for all to zero at jk=1 in istate module. - !! - !! ** Action : pn2 : square of the brunt-vaisala frequency at w-point - !! - !!---------------------------------------------------------------------- - INTEGER , INTENT(in ) :: Kmm ! time level index - INTEGER , INTENT(in ) :: ktab, ktn2 - REAL(wp), DIMENSION(jpi,jpj, jpk,jpts), INTENT(in ) :: pts ! pot. temperature and salinity [Celsius,psu] - REAL(wp), DIMENSION(A2D_T(ktab),JPK,JPTS), INTENT(in ) :: pab ! thermal/haline expansion coef. [Celsius-1,psu-1] - REAL(wp), DIMENSION(A2D_T(ktn2),JPK ), INTENT( out) :: pn2 ! Brunt-Vaisala frequency squared [1/s^2] - ! - INTEGER :: ji, jj, jk ! dummy loop indices - REAL(wp) :: zaw, zbw, zrw ! local scalars - !!---------------------------------------------------------------------- - ! - IF( ln_timing ) CALL timing_start('bn2') - ! - DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 2, jpkm1 ) ! interior points only (2=< jk =< jpkm1 ); surface and bottom value set to zero one for all in istate.F90 - zrw = ( gdepw(ji,jj,jk ,Kmm) - gdept(ji,jj,jk,Kmm) ) & - & / ( gdept(ji,jj,jk-1,Kmm) - gdept(ji,jj,jk,Kmm) ) - ! - zaw = pab(ji,jj,jk,jp_tem) * (1. - zrw) + pab(ji,jj,jk-1,jp_tem) * zrw - zbw = pab(ji,jj,jk,jp_sal) * (1. - zrw) + pab(ji,jj,jk-1,jp_sal) * zrw - ! - pn2(ji,jj,jk) = grav * ( zaw * ( pts(ji,jj,jk-1,jp_tem) - pts(ji,jj,jk,jp_tem) ) & - & - zbw * ( pts(ji,jj,jk-1,jp_sal) - pts(ji,jj,jk,jp_sal) ) ) & - & / e3w(ji,jj,jk,Kmm) * wmask(ji,jj,jk) - END_3D - ! - IF(sn_cfctl%l_prtctl) CALL prt_ctl( tab3d_1=pn2, clinfo1=' bn2 : ', kdim=jpk ) - ! - IF( ln_timing ) CALL timing_stop('bn2') - ! - END SUBROUTINE bn2_t - - - FUNCTION eos_pt_from_ct( ctmp, psal ) RESULT( ptmp ) - !!---------------------------------------------------------------------- - !! *** ROUTINE eos_pt_from_ct *** - !! - !! ** Purpose : Compute pot.temp. from cons. temp. [Celsius] - !! - !! ** Method : rational approximation (5/3th order) of TEOS-10 algorithm - !! checkvalue: pt=20.02391895 Celsius for sa=35.7g/kg, ct=20degC - !! - !! Reference : TEOS-10, UNESCO - !! Rational approximation to TEOS10 algorithm (rms error on WOA13 values: 4.0e-5 degC) - !!---------------------------------------------------------------------- - REAL(wp), DIMENSION(jpi,jpj), INTENT(in ) :: ctmp ! Cons. Temp [Celsius] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in ) :: psal ! salinity [psu] - ! Leave result array automatic rather than making explicitly allocated - REAL(wp), DIMENSION(jpi,jpj) :: ptmp ! potential temperature [Celsius] - ! - INTEGER :: ji, jj ! dummy loop indices - REAL(wp) :: zt , zs , ztm ! local scalars - REAL(wp) :: zn , zd ! local scalars - REAL(wp) :: zdeltaS , z1_S0 , z1_T0 - !!---------------------------------------------------------------------- - ! - IF( ln_timing ) CALL timing_start('eos_pt_from_ct') - ! - zdeltaS = 5._wp - z1_S0 = 0.875_wp/35.16504_wp - z1_T0 = 1._wp/40._wp - ! - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) - ! - zt = ctmp (ji,jj) * z1_T0 - zs = SQRT( ABS( psal(ji,jj) + zdeltaS ) * z1_S0 ) - ztm = tmask(ji,jj,1) - ! - zn = ((((-2.1385727895e-01_wp*zt & - & - 2.7674419971e-01_wp*zs+1.0728094330_wp)*zt & - & + (2.6366564313_wp*zs+3.3546960647_wp)*zs-7.8012209473_wp)*zt & - & + ((1.8835586562_wp*zs+7.3949191679_wp)*zs-3.3937395875_wp)*zs-5.6414948432_wp)*zt & - & + (((3.5737370589_wp*zs-1.5512427389e+01_wp)*zs+2.4625741105e+01_wp)*zs & - & +1.9912291000e+01_wp)*zs-3.2191146312e+01_wp)*zt & - & + ((((5.7153204649e-01_wp*zs-3.0943149543_wp)*zs+9.3052495181_wp)*zs & - & -9.4528934807_wp)*zs+3.1066408996_wp)*zs-4.3504021262e-01_wp - ! - zd = (2.0035003456_wp*zt & - & -3.4570358592e-01_wp*zs+5.6471810638_wp)*zt & - & + (1.5393993508_wp*zs-6.9394762624_wp)*zs+1.2750522650e+01_wp - ! - ptmp(ji,jj) = ( zt / z1_T0 + zn / zd ) * ztm - ! - END_2D - ! - IF( ln_timing ) CALL timing_stop('eos_pt_from_ct') - ! - END FUNCTION eos_pt_from_ct - - - SUBROUTINE eos_fzp_2d( psal, ptf, pdep ) - !! - REAL(wp), DIMENSION(jpi,jpj), INTENT(in ) :: psal ! salinity [psu] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in ), OPTIONAL :: pdep ! depth [m] - REAL(wp), DIMENSION(:,:) , INTENT(out ) :: ptf ! freezing temperature [Celsius] - !! - CALL eos_fzp_2d_t( psal, ptf, is_tile(ptf), pdep ) - END SUBROUTINE eos_fzp_2d - - - SUBROUTINE eos_fzp_2d_t( psal, ptf, kttf, pdep ) - !!---------------------------------------------------------------------- - !! *** ROUTINE eos_fzp *** - !! - !! ** Purpose : Compute the freezing point temperature [Celsius] - !! - !! ** Method : UNESCO freezing point (ptf) in Celsius is given by - !! ptf(t,z) = (-.0575+1.710523e-3*sqrt(abs(s))-2.154996e-4*s)*s - 7.53e-4*z - !! checkvalue: tf=-2.588567 Celsius for s=40psu, z=500m - !! - !! Reference : UNESCO tech. papers in the marine science no. 28. 1978 - !!---------------------------------------------------------------------- - INTEGER , INTENT(in ) :: kttf - REAL(wp), DIMENSION(jpi,jpj) , INTENT(in ) :: psal ! salinity [psu] - REAL(wp), DIMENSION(jpi,jpj) , INTENT(in ), OPTIONAL :: pdep ! depth [m] - REAL(wp), DIMENSION(A2D_T(kttf)), INTENT(out ) :: ptf ! freezing temperature [Celsius] - ! - INTEGER :: ji, jj ! dummy loop indices - REAL(wp) :: zt, zs, z1_S0 ! local scalars - !!---------------------------------------------------------------------- - ! - SELECT CASE ( neos ) - ! - CASE ( np_teos10, np_seos ) !== CT,SA (TEOS-10 and S-EOS formulations) ==! - ! - z1_S0 = 1._wp / 35.16504_wp - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) - zs= SQRT( ABS( psal(ji,jj) ) * z1_S0 ) ! square root salinity - ptf(ji,jj) = ((((1.46873e-03_wp*zs-9.64972e-03_wp)*zs+2.28348e-02_wp)*zs & - & - 3.12775e-02_wp)*zs+2.07679e-02_wp)*zs-5.87701e-02_wp - END_2D - ptf(:,:) = ptf(:,:) * psal(:,:) - ! - IF( PRESENT( pdep ) ) ptf(:,:) = ptf(:,:) - 7.53e-4 * pdep(:,:) - ! - CASE ( np_eos80 ) !== PT,SP (UNESCO formulation) ==! - ! - ptf(:,:) = ( - 0.0575_wp + 1.710523e-3_wp * SQRT( psal(:,:) ) & - & - 2.154996e-4_wp * psal(:,:) ) * psal(:,:) - ! - IF( PRESENT( pdep ) ) ptf(:,:) = ptf(:,:) - 7.53e-4 * pdep(:,:) - ! - CASE DEFAULT - WRITE(ctmp1,*) ' bad flag value for neos = ', neos - CALL ctl_stop( 'eos_fzp_2d:', ctmp1 ) - ! - END SELECT - ! - END SUBROUTINE eos_fzp_2d_t - - - SUBROUTINE eos_fzp_0d( psal, ptf, pdep ) - !!---------------------------------------------------------------------- - !! *** ROUTINE eos_fzp *** - !! - !! ** Purpose : Compute the freezing point temperature [Celsius] - !! - !! ** Method : UNESCO freezing point (ptf) in Celsius is given by - !! ptf(t,z) = (-.0575+1.710523e-3*sqrt(abs(s))-2.154996e-4*s)*s - 7.53e-4*z - !! checkvalue: tf=-2.588567 Celsius for s=40psu, z=500m - !! - !! Reference : UNESCO tech. papers in the marine science no. 28. 1978 - !!---------------------------------------------------------------------- - REAL(wp), INTENT(in ) :: psal ! salinity [psu] - REAL(wp), INTENT(in ), OPTIONAL :: pdep ! depth [m] - REAL(wp), INTENT(out) :: ptf ! freezing temperature [Celsius] - ! - REAL(wp) :: zs ! local scalars - !!---------------------------------------------------------------------- - ! - SELECT CASE ( neos ) - ! - CASE ( np_teos10, np_seos ) !== CT,SA (TEOS-10 and S-EOS formulations) ==! - ! - zs = SQRT( ABS( psal ) / 35.16504_wp ) ! square root salinity - ptf = ((((1.46873e-03_wp*zs-9.64972e-03_wp)*zs+2.28348e-02_wp)*zs & - & - 3.12775e-02_wp)*zs+2.07679e-02_wp)*zs-5.87701e-02_wp - ptf = ptf * psal - ! - IF( PRESENT( pdep ) ) ptf = ptf - 7.53e-4 * pdep - ! - CASE ( np_eos80 ) !== PT,SP (UNESCO formulation) ==! - ! - ptf = ( - 0.0575_wp + 1.710523e-3_wp * SQRT( psal ) & - & - 2.154996e-4_wp * psal ) * psal - ! - IF( PRESENT( pdep ) ) ptf = ptf - 7.53e-4 * pdep - ! - CASE DEFAULT - WRITE(ctmp1,*) ' bad flag value for neos = ', neos - CALL ctl_stop( 'eos_fzp_0d:', ctmp1 ) - ! - END SELECT - ! - END SUBROUTINE eos_fzp_0d - - - SUBROUTINE eos_pen( pts, pab_pe, ppen, Kmm ) - !!---------------------------------------------------------------------- - !! *** ROUTINE eos_pen *** - !! - !! ** Purpose : Calculates nonlinear anomalies of alpha_PE, beta_PE and PE at T-points - !! - !! ** Method : PE is defined analytically as the vertical - !! primitive of EOS times -g integrated between 0 and z>0. - !! pen is the nonlinear bsq-PE anomaly: pen = ( PE - rho0 gz ) / rho0 gz - rd - !! = 1/z * /int_0^z rd dz - rd - !! where rd is the density anomaly (see eos_rhd function) - !! ab_pe are partial derivatives of PE anomaly with respect to T and S: - !! ab_pe(1) = - 1/(rho0 gz) * dPE/dT + drd/dT = - d(pen)/dT - !! ab_pe(2) = 1/(rho0 gz) * dPE/dS + drd/dS = d(pen)/dS - !! - !! ** Action : - pen : PE anomaly given at T-points - !! : - pab_pe : given at T-points - !! pab_pe(:,:,:,jp_tem) is alpha_pe - !! pab_pe(:,:,:,jp_sal) is beta_pe - !!---------------------------------------------------------------------- - INTEGER , INTENT(in ) :: Kmm ! time level index - REAL(wp), DIMENSION(jpi,jpj,jpk,jpts), INTENT(in ) :: pts ! pot. temperature & salinity - REAL(wp), DIMENSION(jpi,jpj,jpk,jpts), INTENT( out) :: pab_pe ! alpha_pe and beta_pe - REAL(wp), DIMENSION(jpi,jpj,jpk) , INTENT( out) :: ppen ! potential energy anomaly - ! - INTEGER :: ji, jj, jk ! dummy loop indices - REAL(wp) :: zt , zh , zs , ztm ! local scalars - REAL(wp) :: zn , zn0, zn1, zn2 ! - - - !!---------------------------------------------------------------------- - ! - IF( ln_timing ) CALL timing_start('eos_pen') - ! - SELECT CASE ( neos ) - ! - CASE( np_teos10, np_eos80 ) !== polynomial TEOS-10 / EOS-80 ==! - ! - DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpkm1 ) - ! - zh = gdept(ji,jj,jk,Kmm) * r1_Z0 ! depth - zt = pts (ji,jj,jk,jp_tem) * r1_T0 ! temperature - zs = SQRT( ABS( pts(ji,jj,jk,jp_sal) + rdeltaS ) * r1_S0 ) ! square root salinity - ztm = tmask(ji,jj,jk) ! tmask - ! - ! potential energy non-linear anomaly - zn2 = (PEN012)*zt & - & + PEN102*zs+PEN002 - ! - zn1 = ((PEN021)*zt & - & + PEN111*zs+PEN011)*zt & - & + (PEN201*zs+PEN101)*zs+PEN001 - ! - zn0 = ((((PEN040)*zt & - & + PEN130*zs+PEN030)*zt & - & + (PEN220*zs+PEN120)*zs+PEN020)*zt & - & + ((PEN310*zs+PEN210)*zs+PEN110)*zs+PEN010)*zt & - & + (((PEN400*zs+PEN300)*zs+PEN200)*zs+PEN100)*zs+PEN000 - ! - zn = ( zn2 * zh + zn1 ) * zh + zn0 - ! - ppen(ji,jj,jk) = zn * zh * r1_rho0 * ztm - ! - ! alphaPE non-linear anomaly - zn2 = APE002 - ! - zn1 = (APE011)*zt & - & + APE101*zs+APE001 - ! - zn0 = (((APE030)*zt & - & + APE120*zs+APE020)*zt & - & + (APE210*zs+APE110)*zs+APE010)*zt & - & + ((APE300*zs+APE200)*zs+APE100)*zs+APE000 - ! - zn = ( zn2 * zh + zn1 ) * zh + zn0 - ! - pab_pe(ji,jj,jk,jp_tem) = zn * zh * r1_rho0 * ztm - ! - ! betaPE non-linear anomaly - zn2 = BPE002 - ! - zn1 = (BPE011)*zt & - & + BPE101*zs+BPE001 - ! - zn0 = (((BPE030)*zt & - & + BPE120*zs+BPE020)*zt & - & + (BPE210*zs+BPE110)*zs+BPE010)*zt & - & + ((BPE300*zs+BPE200)*zs+BPE100)*zs+BPE000 - ! - zn = ( zn2 * zh + zn1 ) * zh + zn0 - ! - pab_pe(ji,jj,jk,jp_sal) = zn / zs * zh * r1_rho0 * ztm - ! - END_3D - ! - CASE( np_seos ) !== Vallis (2006) simplified EOS ==! - ! - DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpkm1 ) - zt = pts(ji,jj,jk,jp_tem) - 10._wp ! temperature anomaly (t-T0) - zs = pts (ji,jj,jk,jp_sal) - 35._wp ! abs. salinity anomaly (s-S0) - zh = gdept(ji,jj,jk,Kmm) ! depth in meters at t-point - ztm = tmask(ji,jj,jk) ! tmask - zn = 0.5_wp * zh * r1_rho0 * ztm - ! ! Potential Energy - ppen(ji,jj,jk) = ( rn_a0 * rn_mu1 * zt + rn_b0 * rn_mu2 * zs ) * zn - ! ! alphaPE - pab_pe(ji,jj,jk,jp_tem) = - rn_a0 * rn_mu1 * zn - pab_pe(ji,jj,jk,jp_sal) = rn_b0 * rn_mu2 * zn - ! - END_3D - ! - CASE( np_leos ) !== linear ISOMIP EOS ==! - ! - DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpkm1 ) - zt = pts(ji,jj,jk,jp_tem) - (-1._wp) ! temperature anomaly (t-T0) - zs = pts (ji,jj,jk,jp_sal) - 34.2_wp ! abs. salinity anomaly (s-S0) - zh = gdept(ji,jj,jk,Kmm) ! depth in meters at t-point - ztm = tmask(ji,jj,jk) ! tmask - zn = 0.5_wp * zh * r1_rho0 * ztm - ! ! Potential Energy - ppen(ji,jj,jk) = 0. - ! ! alphaPE - pab_pe(ji,jj,jk,jp_tem) = 0. - pab_pe(ji,jj,jk,jp_sal) = 0. - ! - END_3D - ! - CASE DEFAULT - WRITE(ctmp1,*) ' bad flag value for neos = ', neos - CALL ctl_stop( 'eos_pen:', ctmp1 ) - ! - END SELECT - ! - IF( ln_timing ) CALL timing_stop('eos_pen') - ! - END SUBROUTINE eos_pen - - - SUBROUTINE eos_init - !!---------------------------------------------------------------------- - !! *** ROUTINE eos_init *** - !! - !! ** Purpose : initializations for the equation of state - !! - !! ** Method : Read the namelist nameos and control the parameters - !!---------------------------------------------------------------------- - INTEGER :: ios ! local integer - INTEGER :: ioptio ! local integer - !! - NAMELIST/nameos/ ln_TEOS10, ln_EOS80, ln_SEOS, ln_LEOS, rn_a0, rn_b0, & - & rn_lambda1, rn_mu1, rn_lambda2, rn_mu2, rn_nu - !!---------------------------------------------------------------------- - ! - READ ( numnam_ref, nameos, IOSTAT = ios, ERR = 901 ) -901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nameos in reference namelist' ) - ! - READ ( numnam_cfg, nameos, IOSTAT = ios, ERR = 902 ) -902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nameos in configuration namelist' ) - IF(lwm) WRITE( numond, nameos ) - ! - rho0 = 1027.51_wp !: volumic mass of reference [kg/m3] - rcp = 3974.00_wp !: heat capacity [J/K] - ! - IF(lwp) THEN ! Control print - WRITE(numout,*) - WRITE(numout,*) 'eos_init : equation of state' - WRITE(numout,*) '~~~~~~~~' - WRITE(numout,*) ' Namelist nameos : Chosen the Equation Of Seawater (EOS)' - WRITE(numout,*) ' TEOS-10 : rho=F(Conservative Temperature, Absolute Salinity, depth) ln_TEOS10 = ', ln_TEOS10 - WRITE(numout,*) ' EOS-80 : rho=F(Potential Temperature, Practical Salinity, depth) ln_EOS80 = ', ln_EOS80 - WRITE(numout,*) ' S-EOS : rho=F(Conservative Temperature, Absolute Salinity, depth) ln_SEOS = ', ln_SEOS - WRITE(numout,*) ' L-EOS : rho=F(Potential Temperature, Practical Salinity, depth) ln_LEOS = ', ln_LEOS - ENDIF - - ! Check options for equation of state & set neos based on logical flags - ioptio = 0 - IF( ln_TEOS10 ) THEN ; ioptio = ioptio+1 ; neos = np_teos10 ; ENDIF - IF( ln_EOS80 ) THEN ; ioptio = ioptio+1 ; neos = np_eos80 ; ENDIF - IF( ln_SEOS ) THEN ; ioptio = ioptio+1 ; neos = np_seos ; ENDIF - IF( ln_LEOS ) THEN ; ioptio = ioptio+1 ; neos = np_leos ; ENDIF - IF( ioptio /= 1 ) CALL ctl_stop("Exactly one equation of state option must be selected") - ! - SELECT CASE( neos ) ! check option - ! - CASE( np_teos10 ) !== polynomial TEOS-10 ==! - IF(lwp) WRITE(numout,*) - IF(lwp) WRITE(numout,*) ' ==>>> use of TEOS-10 equation of state (cons. temp. and abs. salinity)' - ! - l_useCT = .TRUE. ! model temperature is Conservative temperature - ! - rdeltaS = 32._wp - r1_S0 = 0.875_wp/35.16504_wp - r1_T0 = 1._wp/40._wp - r1_Z0 = 1.e-4_wp - ! - EOS000 = 8.0189615746e+02_wp - EOS100 = 8.6672408165e+02_wp - EOS200 = -1.7864682637e+03_wp - EOS300 = 2.0375295546e+03_wp - EOS400 = -1.2849161071e+03_wp - EOS500 = 4.3227585684e+02_wp - EOS600 = -6.0579916612e+01_wp - EOS010 = 2.6010145068e+01_wp - EOS110 = -6.5281885265e+01_wp - EOS210 = 8.1770425108e+01_wp - EOS310 = -5.6888046321e+01_wp - EOS410 = 1.7681814114e+01_wp - EOS510 = -1.9193502195_wp - EOS020 = -3.7074170417e+01_wp - EOS120 = 6.1548258127e+01_wp - EOS220 = -6.0362551501e+01_wp - EOS320 = 2.9130021253e+01_wp - EOS420 = -5.4723692739_wp - EOS030 = 2.1661789529e+01_wp - EOS130 = -3.3449108469e+01_wp - EOS230 = 1.9717078466e+01_wp - EOS330 = -3.1742946532_wp - EOS040 = -8.3627885467_wp - EOS140 = 1.1311538584e+01_wp - EOS240 = -5.3563304045_wp - EOS050 = 5.4048723791e-01_wp - EOS150 = 4.8169980163e-01_wp - EOS060 = -1.9083568888e-01_wp - EOS001 = 1.9681925209e+01_wp - EOS101 = -4.2549998214e+01_wp - EOS201 = 5.0774768218e+01_wp - EOS301 = -3.0938076334e+01_wp - EOS401 = 6.6051753097_wp - EOS011 = -1.3336301113e+01_wp - EOS111 = -4.4870114575_wp - EOS211 = 5.0042598061_wp - EOS311 = -6.5399043664e-01_wp - EOS021 = 6.7080479603_wp - EOS121 = 3.5063081279_wp - EOS221 = -1.8795372996_wp - EOS031 = -2.4649669534_wp - EOS131 = -5.5077101279e-01_wp - EOS041 = 5.5927935970e-01_wp - EOS002 = 2.0660924175_wp - EOS102 = -4.9527603989_wp - EOS202 = 2.5019633244_wp - EOS012 = 2.0564311499_wp - EOS112 = -2.1311365518e-01_wp - EOS022 = -1.2419983026_wp - EOS003 = -2.3342758797e-02_wp - EOS103 = -1.8507636718e-02_wp - EOS013 = 3.7969820455e-01_wp - ! - ALP000 = -6.5025362670e-01_wp - ALP100 = 1.6320471316_wp - ALP200 = -2.0442606277_wp - ALP300 = 1.4222011580_wp - ALP400 = -4.4204535284e-01_wp - ALP500 = 4.7983755487e-02_wp - ALP010 = 1.8537085209_wp - ALP110 = -3.0774129064_wp - ALP210 = 3.0181275751_wp - ALP310 = -1.4565010626_wp - ALP410 = 2.7361846370e-01_wp - ALP020 = -1.6246342147_wp - ALP120 = 2.5086831352_wp - ALP220 = -1.4787808849_wp - ALP320 = 2.3807209899e-01_wp - ALP030 = 8.3627885467e-01_wp - ALP130 = -1.1311538584_wp - ALP230 = 5.3563304045e-01_wp - ALP040 = -6.7560904739e-02_wp - ALP140 = -6.0212475204e-02_wp - ALP050 = 2.8625353333e-02_wp - ALP001 = 3.3340752782e-01_wp - ALP101 = 1.1217528644e-01_wp - ALP201 = -1.2510649515e-01_wp - ALP301 = 1.6349760916e-02_wp - ALP011 = -3.3540239802e-01_wp - ALP111 = -1.7531540640e-01_wp - ALP211 = 9.3976864981e-02_wp - ALP021 = 1.8487252150e-01_wp - ALP121 = 4.1307825959e-02_wp - ALP031 = -5.5927935970e-02_wp - ALP002 = -5.1410778748e-02_wp - ALP102 = 5.3278413794e-03_wp - ALP012 = 6.2099915132e-02_wp - ALP003 = -9.4924551138e-03_wp - ! - BET000 = 1.0783203594e+01_wp - BET100 = -4.4452095908e+01_wp - BET200 = 7.6048755820e+01_wp - BET300 = -6.3944280668e+01_wp - BET400 = 2.6890441098e+01_wp - BET500 = -4.5221697773_wp - BET010 = -8.1219372432e-01_wp - BET110 = 2.0346663041_wp - BET210 = -2.1232895170_wp - BET310 = 8.7994140485e-01_wp - BET410 = -1.1939638360e-01_wp - BET020 = 7.6574242289e-01_wp - BET120 = -1.5019813020_wp - BET220 = 1.0872489522_wp - BET320 = -2.7233429080e-01_wp - BET030 = -4.1615152308e-01_wp - BET130 = 4.9061350869e-01_wp - BET230 = -1.1847737788e-01_wp - BET040 = 1.4073062708e-01_wp - BET140 = -1.3327978879e-01_wp - BET050 = 5.9929880134e-03_wp - BET001 = -5.2937873009e-01_wp - BET101 = 1.2634116779_wp - BET201 = -1.1547328025_wp - BET301 = 3.2870876279e-01_wp - BET011 = -5.5824407214e-02_wp - BET111 = 1.2451933313e-01_wp - BET211 = -2.4409539932e-02_wp - BET021 = 4.3623149752e-02_wp - BET121 = -4.6767901790e-02_wp - BET031 = -6.8523260060e-03_wp - BET002 = -6.1618945251e-02_wp - BET102 = 6.2255521644e-02_wp - BET012 = -2.6514181169e-03_wp - BET003 = -2.3025968587e-04_wp - ! - PEN000 = -9.8409626043_wp - PEN100 = 2.1274999107e+01_wp - PEN200 = -2.5387384109e+01_wp - PEN300 = 1.5469038167e+01_wp - PEN400 = -3.3025876549_wp - PEN010 = 6.6681505563_wp - PEN110 = 2.2435057288_wp - PEN210 = -2.5021299030_wp - PEN310 = 3.2699521832e-01_wp - PEN020 = -3.3540239802_wp - PEN120 = -1.7531540640_wp - PEN220 = 9.3976864981e-01_wp - PEN030 = 1.2324834767_wp - PEN130 = 2.7538550639e-01_wp - PEN040 = -2.7963967985e-01_wp - PEN001 = -1.3773949450_wp - PEN101 = 3.3018402659_wp - PEN201 = -1.6679755496_wp - PEN011 = -1.3709540999_wp - PEN111 = 1.4207577012e-01_wp - PEN021 = 8.2799886843e-01_wp - PEN002 = 1.7507069098e-02_wp - PEN102 = 1.3880727538e-02_wp - PEN012 = -2.8477365341e-01_wp - ! - APE000 = -1.6670376391e-01_wp - APE100 = -5.6087643219e-02_wp - APE200 = 6.2553247576e-02_wp - APE300 = -8.1748804580e-03_wp - APE010 = 1.6770119901e-01_wp - APE110 = 8.7657703198e-02_wp - APE210 = -4.6988432490e-02_wp - APE020 = -9.2436260751e-02_wp - APE120 = -2.0653912979e-02_wp - APE030 = 2.7963967985e-02_wp - APE001 = 3.4273852498e-02_wp - APE101 = -3.5518942529e-03_wp - APE011 = -4.1399943421e-02_wp - APE002 = 7.1193413354e-03_wp - ! - BPE000 = 2.6468936504e-01_wp - BPE100 = -6.3170583896e-01_wp - BPE200 = 5.7736640125e-01_wp - BPE300 = -1.6435438140e-01_wp - BPE010 = 2.7912203607e-02_wp - BPE110 = -6.2259666565e-02_wp - BPE210 = 1.2204769966e-02_wp - BPE020 = -2.1811574876e-02_wp - BPE120 = 2.3383950895e-02_wp - BPE030 = 3.4261630030e-03_wp - BPE001 = 4.1079296834e-02_wp - BPE101 = -4.1503681096e-02_wp - BPE011 = 1.7676120780e-03_wp - BPE002 = 1.7269476440e-04_wp - ! - CASE( np_eos80 ) !== polynomial EOS-80 formulation ==! - ! - IF(lwp) WRITE(numout,*) - IF(lwp) WRITE(numout,*) ' ==>>> use of EOS-80 equation of state (pot. temp. and pract. salinity)' - ! - l_useCT = .FALSE. ! model temperature is Potential temperature - rdeltaS = 20._wp - r1_S0 = 1._wp/40._wp - r1_T0 = 1._wp/40._wp - r1_Z0 = 1.e-4_wp - ! - EOS000 = 9.5356891948e+02_wp - EOS100 = 1.7136499189e+02_wp - EOS200 = -3.7501039454e+02_wp - EOS300 = 5.1856810420e+02_wp - EOS400 = -3.7264470465e+02_wp - EOS500 = 1.4302533998e+02_wp - EOS600 = -2.2856621162e+01_wp - EOS010 = 1.0087518651e+01_wp - EOS110 = -1.3647741861e+01_wp - EOS210 = 8.8478359933_wp - EOS310 = -7.2329388377_wp - EOS410 = 1.4774410611_wp - EOS510 = 2.0036720553e-01_wp - EOS020 = -2.5579830599e+01_wp - EOS120 = 2.4043512327e+01_wp - EOS220 = -1.6807503990e+01_wp - EOS320 = 8.3811577084_wp - EOS420 = -1.9771060192_wp - EOS030 = 1.6846451198e+01_wp - EOS130 = -2.1482926901e+01_wp - EOS230 = 1.0108954054e+01_wp - EOS330 = -6.2675951440e-01_wp - EOS040 = -8.0812310102_wp - EOS140 = 1.0102374985e+01_wp - EOS240 = -4.8340368631_wp - EOS050 = 1.2079167803_wp - EOS150 = 1.1515380987e-01_wp - EOS060 = -2.4520288837e-01_wp - EOS001 = 1.0748601068e+01_wp - EOS101 = -1.7817043500e+01_wp - EOS201 = 2.2181366768e+01_wp - EOS301 = -1.6750916338e+01_wp - EOS401 = 4.1202230403_wp - EOS011 = -1.5852644587e+01_wp - EOS111 = -7.6639383522e-01_wp - EOS211 = 4.1144627302_wp - EOS311 = -6.6955877448e-01_wp - EOS021 = 9.9994861860_wp - EOS121 = -1.9467067787e-01_wp - EOS221 = -1.2177554330_wp - EOS031 = -3.4866102017_wp - EOS131 = 2.2229155620e-01_wp - EOS041 = 5.9503008642e-01_wp - EOS002 = 1.0375676547_wp - EOS102 = -3.4249470629_wp - EOS202 = 2.0542026429_wp - EOS012 = 2.1836324814_wp - EOS112 = -3.4453674320e-01_wp - EOS022 = -1.2548163097_wp - EOS003 = 1.8729078427e-02_wp - EOS103 = -5.7238495240e-02_wp - EOS013 = 3.8306136687e-01_wp - ! - ALP000 = -2.5218796628e-01_wp - ALP100 = 3.4119354654e-01_wp - ALP200 = -2.2119589983e-01_wp - ALP300 = 1.8082347094e-01_wp - ALP400 = -3.6936026529e-02_wp - ALP500 = -5.0091801383e-03_wp - ALP010 = 1.2789915300_wp - ALP110 = -1.2021756164_wp - ALP210 = 8.4037519952e-01_wp - ALP310 = -4.1905788542e-01_wp - ALP410 = 9.8855300959e-02_wp - ALP020 = -1.2634838399_wp - ALP120 = 1.6112195176_wp - ALP220 = -7.5817155402e-01_wp - ALP320 = 4.7006963580e-02_wp - ALP030 = 8.0812310102e-01_wp - ALP130 = -1.0102374985_wp - ALP230 = 4.8340368631e-01_wp - ALP040 = -1.5098959754e-01_wp - ALP140 = -1.4394226233e-02_wp - ALP050 = 3.6780433255e-02_wp - ALP001 = 3.9631611467e-01_wp - ALP101 = 1.9159845880e-02_wp - ALP201 = -1.0286156825e-01_wp - ALP301 = 1.6738969362e-02_wp - ALP011 = -4.9997430930e-01_wp - ALP111 = 9.7335338937e-03_wp - ALP211 = 6.0887771651e-02_wp - ALP021 = 2.6149576513e-01_wp - ALP121 = -1.6671866715e-02_wp - ALP031 = -5.9503008642e-02_wp - ALP002 = -5.4590812035e-02_wp - ALP102 = 8.6134185799e-03_wp - ALP012 = 6.2740815484e-02_wp - ALP003 = -9.5765341718e-03_wp - ! - BET000 = 2.1420623987_wp - BET100 = -9.3752598635_wp - BET200 = 1.9446303907e+01_wp - BET300 = -1.8632235232e+01_wp - BET400 = 8.9390837485_wp - BET500 = -1.7142465871_wp - BET010 = -1.7059677327e-01_wp - BET110 = 2.2119589983e-01_wp - BET210 = -2.7123520642e-01_wp - BET310 = 7.3872053057e-02_wp - BET410 = 1.2522950346e-02_wp - BET020 = 3.0054390409e-01_wp - BET120 = -4.2018759976e-01_wp - BET220 = 3.1429341406e-01_wp - BET320 = -9.8855300959e-02_wp - BET030 = -2.6853658626e-01_wp - BET130 = 2.5272385134e-01_wp - BET230 = -2.3503481790e-02_wp - BET040 = 1.2627968731e-01_wp - BET140 = -1.2085092158e-01_wp - BET050 = 1.4394226233e-03_wp - BET001 = -2.2271304375e-01_wp - BET101 = 5.5453416919e-01_wp - BET201 = -6.2815936268e-01_wp - BET301 = 2.0601115202e-01_wp - BET011 = -9.5799229402e-03_wp - BET111 = 1.0286156825e-01_wp - BET211 = -2.5108454043e-02_wp - BET021 = -2.4333834734e-03_wp - BET121 = -3.0443885826e-02_wp - BET031 = 2.7786444526e-03_wp - BET002 = -4.2811838287e-02_wp - BET102 = 5.1355066072e-02_wp - BET012 = -4.3067092900e-03_wp - BET003 = -7.1548119050e-04_wp - ! - PEN000 = -5.3743005340_wp - PEN100 = 8.9085217499_wp - PEN200 = -1.1090683384e+01_wp - PEN300 = 8.3754581690_wp - PEN400 = -2.0601115202_wp - PEN010 = 7.9263222935_wp - PEN110 = 3.8319691761e-01_wp - PEN210 = -2.0572313651_wp - PEN310 = 3.3477938724e-01_wp - PEN020 = -4.9997430930_wp - PEN120 = 9.7335338937e-02_wp - PEN220 = 6.0887771651e-01_wp - PEN030 = 1.7433051009_wp - PEN130 = -1.1114577810e-01_wp - PEN040 = -2.9751504321e-01_wp - PEN001 = -6.9171176978e-01_wp - PEN101 = 2.2832980419_wp - PEN201 = -1.3694684286_wp - PEN011 = -1.4557549876_wp - PEN111 = 2.2969116213e-01_wp - PEN021 = 8.3654420645e-01_wp - PEN002 = -1.4046808820e-02_wp - PEN102 = 4.2928871430e-02_wp - PEN012 = -2.8729602515e-01_wp - ! - APE000 = -1.9815805734e-01_wp - APE100 = -9.5799229402e-03_wp - APE200 = 5.1430784127e-02_wp - APE300 = -8.3694846809e-03_wp - APE010 = 2.4998715465e-01_wp - APE110 = -4.8667669469e-03_wp - APE210 = -3.0443885826e-02_wp - APE020 = -1.3074788257e-01_wp - APE120 = 8.3359333577e-03_wp - APE030 = 2.9751504321e-02_wp - APE001 = 3.6393874690e-02_wp - APE101 = -5.7422790533e-03_wp - APE011 = -4.1827210323e-02_wp - APE002 = 7.1824006288e-03_wp - ! - BPE000 = 1.1135652187e-01_wp - BPE100 = -2.7726708459e-01_wp - BPE200 = 3.1407968134e-01_wp - BPE300 = -1.0300557601e-01_wp - BPE010 = 4.7899614701e-03_wp - BPE110 = -5.1430784127e-02_wp - BPE210 = 1.2554227021e-02_wp - BPE020 = 1.2166917367e-03_wp - BPE120 = 1.5221942913e-02_wp - BPE030 = -1.3893222263e-03_wp - BPE001 = 2.8541225524e-02_wp - BPE101 = -3.4236710714e-02_wp - BPE011 = 2.8711395266e-03_wp - BPE002 = 5.3661089288e-04_wp - ! - CASE( np_seos ) !== Simplified EOS ==! - - r1_S0 = 0.875_wp/35.16504_wp ! Used to convert CT in potential temperature when using bulk formulae (eos_pt_from_ct) - - IF(lwp) THEN - WRITE(numout,*) - WRITE(numout,*) ' ==>>> use of simplified eos: ' - WRITE(numout,*) ' rhd(dT=T-10,dS=S-35,Z) = [-a0*(1+lambda1/2*dT+mu1*Z)*dT ' - WRITE(numout,*) ' + b0*(1+lambda2/2*dT+mu2*Z)*dS - nu*dT*dS] / rho0' - WRITE(numout,*) ' with the following coefficients :' - WRITE(numout,*) ' thermal exp. coef. rn_a0 = ', rn_a0 - WRITE(numout,*) ' saline cont. coef. rn_b0 = ', rn_b0 - WRITE(numout,*) ' cabbeling coef. rn_lambda1 = ', rn_lambda1 - WRITE(numout,*) ' cabbeling coef. rn_lambda2 = ', rn_lambda2 - WRITE(numout,*) ' thermobar. coef. rn_mu1 = ', rn_mu1 - WRITE(numout,*) ' thermobar. coef. rn_mu2 = ', rn_mu2 - WRITE(numout,*) ' 2nd cabbel. coef. rn_nu = ', rn_nu - WRITE(numout,*) ' Caution: rn_beta0=0 incompatible with ddm parameterization ' - ENDIF - l_useCT = .TRUE. ! Use conservative temperature - ! - CASE( np_leos ) !== Linear ISOMIP EOS ==! - - r1_S0 = 0.875_wp/35.16504_wp ! Used to convert CT in potential temperature when using bulk formulae (eos_pt_from_ct) - - IF(lwp) THEN - WRITE(numout,*) - WRITE(numout,*) ' use of linear ISOMIP eos: rhd(dT=T-(-1),dS=S-(34.2),Z) = ' - WRITE(numout,*) ' [ -a0*dT + b0*dS ]/rho0' - WRITE(numout,*) - WRITE(numout,*) ' thermal exp. coef. rn_a0 = ', rn_a0 - WRITE(numout,*) ' saline cont. coef. rn_b0 = ', rn_b0 - ENDIF - l_useCT = .TRUE. ! Use conservative temperature - ! - CASE DEFAULT !== ERROR in neos ==! - WRITE(ctmp1,*) ' bad flag value for neos = ', neos, '. You should never see this error' - CALL ctl_stop( ctmp1 ) - ! - END SELECT - ! - rho0_rcp = rho0 * rcp - r1_rho0 = 1._wp / rho0 - r1_rcp = 1._wp / rcp - r1_rho0_rcp = 1._wp / rho0_rcp - ! - IF(lwp) THEN - IF( l_useCT ) THEN - WRITE(numout,*) - WRITE(numout,*) ' ==>>> model uses Conservative Temperature' - WRITE(numout,*) ' Important: model must be initialized with CT and SA fields' - ELSE - WRITE(numout,*) - WRITE(numout,*) ' ==>>> model does not use Conservative Temperature' - ENDIF - ENDIF - ! - IF(lwp) WRITE(numout,*) - IF(lwp) WRITE(numout,*) ' Associated physical constant' - IF(lwp) WRITE(numout,*) ' volumic mass of reference rho0 = ', rho0 , ' kg/m^3' - IF(lwp) WRITE(numout,*) ' 1. / rho0 r1_rho0 = ', r1_rho0, ' m^3/kg' - IF(lwp) WRITE(numout,*) ' ocean specific heat rcp = ', rcp , ' J/Kelvin' - IF(lwp) WRITE(numout,*) ' rho0 * rcp rho0_rcp = ', rho0_rcp - IF(lwp) WRITE(numout,*) ' 1. / ( rho0 * rcp ) r1_rho0_rcp = ', r1_rho0_rcp - ! - END SUBROUTINE eos_init - - !!====================================================================== -END MODULE eosbn2 diff --git a/tests/ISOMIP+/MY_SRC/isf_oce.F90 b/tests/ISOMIP+/MY_SRC/isf_oce.F90 index 3bf1b30da..01aab242c 100644 --- a/tests/ISOMIP+/MY_SRC/isf_oce.F90 +++ b/tests/ISOMIP+/MY_SRC/isf_oce.F90 @@ -65,7 +65,7 @@ MODULE isf_oce ! REAL(wp), PARAMETER, PUBLIC :: rLfusisf = 0.334e6_wp !: latent heat of fusion of ice shelf [J/kg] REAL(wp), PARAMETER, PUBLIC :: rcpisf = 2000.0_wp !: specific heat of ice shelf [J/kg/K] - REAL(wp), PARAMETER, PUBLIC :: rkappa = 0.0_wp !: ISOMIP+ no heat diffusivity through the ice-shelf [m2/s] + REAL(wp), PARAMETER, PUBLIC :: rkappa = 0._wp !: ISOMIP: no heat diffusivity [m2/s] REAL(wp), PARAMETER, PUBLIC :: rhoisf = 920.0_wp !: volumic mass of ice shelf [kg/m3] REAL(wp), PARAMETER, PUBLIC :: rtsurf = -20.0 !: surface temperature [C] ! @@ -80,8 +80,8 @@ MODULE isf_oce ! ! 2.2 -------- ice shelf cavity melt namelist parameter ------------- INTEGER , PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: mskisf_cav !: - INTEGER , PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: misfkt_cav , misfkb_cav !: - REAL(wp) , PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: rhisf_tbl_cav, rfrac_tbl_cav !: + INTEGER , PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: misfkt_cav , misfkb_cav !: shallowest and deepest level of the ice shelf + REAL(wp) , PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: rhisf_tbl_cav, rfrac_tbl_cav !: thickness and fraction of deepest cell affected by the ice shelf REAL(wp) , PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: fwfisf_cav , fwfisf_cav_b !: before and now net fwf from the ice shelf [kg/m2/s] REAL(wp) , PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: risf_cav_tsc , risf_cav_tsc_b !: before and now T & S isf contents [K.m/s & PSU.m/s] TYPE(FLD), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:) :: sf_isfcav_fwf !: @@ -237,17 +237,28 @@ CONTAINS ! ierr = 0 ! set to zero if no array to be allocated ! - ALLOCATE( fwfisf_par (jpi,jpj) , fwfisf_par_b(jpi,jpj) , & - & fwfisf_cav (jpi,jpj) , fwfisf_cav_b(jpi,jpj) , & + ALLOCATE( fwfisf_par (jpi,jpj) , fwfisf_cav (jpi,jpj) , & & fwfisf_oasis(jpi,jpj) , STAT=ialloc ) ierr = ierr + ialloc ! - ALLOCATE( risf_par_tsc(jpi,jpj,jpts) , risf_par_tsc_b(jpi,jpj,jpts) , STAT=ialloc ) + ALLOCATE( risf_par_tsc(jpi,jpj,jpts) , STAT=ialloc ) ierr = ierr + ialloc ! - ALLOCATE( risf_cav_tsc(jpi,jpj,jpts) , risf_cav_tsc_b(jpi,jpj,jpts) , STAT=ialloc ) + ALLOCATE( risf_cav_tsc(jpi,jpj,jpts) , STAT=ialloc ) ierr = ierr + ialloc ! +#if ! defined key_RK3 + ! MLF : need to allocate before arrays + ALLOCATE( fwfisf_par_b(jpi,jpj) , fwfisf_cav_b(jpi,jpj) , STAT=ialloc ) + ierr = ierr + ialloc + ! + ALLOCATE( risf_par_tsc_b(jpi,jpj,jpts) , STAT=ialloc ) + ierr = ierr + ialloc + ! + ALLOCATE( risf_cav_tsc_b(jpi,jpj,jpts) , STAT=ialloc ) + ierr = ierr + ialloc +#endif + ! ALLOCATE( risfload(jpi,jpj) , STAT=ialloc ) ierr = ierr + ialloc ! @@ -260,10 +271,17 @@ CONTAINS ! initalisation of fwf and tsc array to 0 risfload (:,:) = 0._wp fwfisf_oasis(:,:) = 0._wp +#if defined key_RK3 + fwfisf_par (:,:) = 0._wp + fwfisf_cav (:,:) = 0._wp + risf_cav_tsc(:,:,:) = 0._wp + risf_par_tsc(:,:,:) = 0._wp +#else fwfisf_par (:,:) = 0._wp ; fwfisf_par_b (:,:) = 0._wp fwfisf_cav (:,:) = 0._wp ; fwfisf_cav_b (:,:) = 0._wp risf_cav_tsc(:,:,:) = 0._wp ; risf_cav_tsc_b(:,:,:) = 0._wp risf_par_tsc(:,:,:) = 0._wp ; risf_par_tsc_b(:,:,:) = 0._wp +#endif ! END SUBROUTINE isf_alloc diff --git a/tests/ISOMIP+/MY_SRC/isfcavgam.F90 b/tests/ISOMIP+/MY_SRC/isfcavgam.F90 deleted file mode 100644 index 6c0ac2a4d..000000000 --- a/tests/ISOMIP+/MY_SRC/isfcavgam.F90 +++ /dev/null @@ -1,253 +0,0 @@ -MODULE isfcavgam - !!====================================================================== - !! *** MODULE isfgammats *** - !! Ice shelf gamma module : compute exchange coeficient at the ice/ocean interface - !!====================================================================== - !! History : 4.1 ! (P. Mathiot) original - !!---------------------------------------------------------------------- - - !!---------------------------------------------------------------------- - !! isfcav_gammats : compute exchange coeficient gamma - !!---------------------------------------------------------------------- - USE isf_oce - USE isfutils, ONLY: debug - USE isftbl , ONLY: isf_tbl - - USE oce , ONLY: uu, vv ! ocean dynamics - USE phycst , ONLY: grav, vkarmn ! physical constant - USE eosbn2 , ONLY: eos_rab ! equation of state - USE zdfdrg , ONLY: rCd0_top, r_ke0_top ! vertical physics: top/bottom drag coef. - USE iom , ONLY: iom_put ! - USE lib_mpp , ONLY: ctl_stop - - USE dom_oce ! ocean space and time domain - USE in_out_manager ! I/O manager - ! - IMPLICIT NONE - ! - PRIVATE - ! - PUBLIC isfcav_gammats - - !! * Substitutions -# include "do_loop_substitute.h90" -# include "domzgr_substitute.h90" - !!---------------------------------------------------------------------- - !! NEMO/OCE 4.0 , NEMO Consortium (2018) - !! $Id: sbcisf.F90 10536 2019-01-16 19:21:09Z mathiot $ - !! Software governed by the CeCILL license (see ./LICENSE) - !!---------------------------------------------------------------------- -CONTAINS - ! - !!----------------------------------------------------------------------------------------------------- - !! PUBLIC SUBROUTINES - !!----------------------------------------------------------------------------------------------------- - ! - SUBROUTINE isfcav_gammats( Kmm, pttbl, pstbl, pqoce, pqfwf, pRc, pgt, pgs ) - !!---------------------------------------------------------------------- - !! ** Purpose : compute the coefficient echange for heat and fwf flux - !! - !! ** Method : select the gamma formulation - !! 3 method available (cst, vel and vel_stab) - !!--------------------------------------------------------------------- - !!-------------------------- OUT ------------------------------------- - REAL(wp), DIMENSION(jpi,jpj), INTENT( out) :: pgt , pgs ! gamma t and gamma s - !!-------------------------- IN ------------------------------------- - INTEGER :: Kmm ! ocean time level index - REAL(wp), DIMENSION(jpi,jpj), INTENT(in ) :: pqoce, pqfwf ! isf heat and fwf - REAL(wp), DIMENSION(jpi,jpj), INTENT(in ) :: pttbl, pstbl ! top boundary layer tracer - REAL(wp), DIMENSION(jpi,jpj), INTENT(in ) :: pRc ! Richardson number - !!--------------------------------------------------------------------- - REAL(wp), DIMENSION(jpi,jpj) :: zutbl, zvtbl ! top boundary layer velocity - !!--------------------------------------------------------------------- - ! - !========================================== - ! 1.: compute velocity in the tbl if needed - !========================================== - ! - SELECT CASE ( cn_gammablk ) - CASE ( 'spe' ) - ! gamma is constant (specified in namelist) - ! nothing to do - CASE ('vel', 'vel_stab') - ! compute velocity in tbl - CALL isf_tbl(Kmm, uu(:,:,:,Kmm) ,zutbl(:,:),'U', miku, rhisf_tbl_cav) - CALL isf_tbl(Kmm, vv(:,:,:,Kmm) ,zvtbl(:,:),'V', mikv, rhisf_tbl_cav) - ! - ! mask velocity in tbl with ice shelf mask - zutbl(:,:) = zutbl(:,:) * mskisf_cav(:,:) - zvtbl(:,:) = zvtbl(:,:) * mskisf_cav(:,:) - ! - ! output - CALL iom_put('utbl',zutbl(:,:)) - CALL iom_put('vtbl',zvtbl(:,:)) - CASE DEFAULT - CALL ctl_stop('STOP','method to compute gamma (cn_gammablk) is unknown (should not see this)') - END SELECT - ! - !========================================== - ! 2.: compute gamma - !========================================== - ! - SELECT CASE ( cn_gammablk ) - CASE ( 'spe' ) ! gamma is constant (specified in namelist) - pgt(:,:) = rn_gammat0 - pgs(:,:) = rn_gammas0 - CASE ( 'vel' ) ! gamma is proportional to u* - CALL gammats_vel ( zutbl, zvtbl, rCd0_top, r_ke0_top, pgt, pgs ) - CASE ( 'vel_stab' ) ! gamma depends of stability of boundary layer and u* - CALL gammats_vel_stab (Kmm, pttbl, pstbl, zutbl, zvtbl, rCd0_top, r_ke0_top, pqoce, pqfwf, pRc, pgt, pgs ) - CASE DEFAULT - CALL ctl_stop('STOP','method to compute gamma (cn_gammablk) is unknown (should not see this)') - END SELECT - ! - !========================================== - ! 3.: output and debug - !========================================== - ! - CALL iom_put('isfgammat', pgt(:,:)) - CALL iom_put('isfgammas', pgs(:,:)) - ! - IF (ln_isfdebug) THEN - CALL debug( 'isfcav_gam pgt:', pgt(:,:) ) - CALL debug( 'isfcav_gam pgs:', pgs(:,:) ) - END IF - ! - END SUBROUTINE isfcav_gammats - ! - !!----------------------------------------------------------------------------------------------------- - !! PRIVATE SUBROUTINES - !!----------------------------------------------------------------------------------------------------- - ! - SUBROUTINE gammats_vel( putbl, pvtbl, pCd, pke2, & ! <<== in - & pgt, pgs ) ! ==>> out gammats [m/s] - !!---------------------------------------------------------------------- - !! ** Purpose : compute the coefficient echange coefficient - !! - !! ** Method : gamma is velocity dependent ( gt= gt0 * Ustar ) - !! - !! ** Reference : Asay-Davis et al., Geosci. Model Dev., 9, 2471-2497, 2016 - !!--------------------------------------------------------------------- - !!-------------------------- OUT ------------------------------------- - REAL(wp), DIMENSION(jpi,jpj), INTENT( out) :: pgt, pgs ! gammat and gammas [m/s] - !!-------------------------- IN ------------------------------------- - REAL(wp), DIMENSION(jpi,jpj), INTENT(in ) :: putbl, pvtbl ! velocity in the losch top boundary layer - REAL(wp), DIMENSION(jpi,jpj), INTENT(in ) :: pCd ! drag coefficient - REAL(wp), INTENT(in ) :: pke2 ! background velocity - !!--------------------------------------------------------------------- - INTEGER :: ji, jj ! loop index - REAL(wp), DIMENSION(jpi,jpj) :: zustar - !!--------------------------------------------------------------------- - ! - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) - ! compute ustar (AD15 eq. 27) - zustar(ji,jj) = SQRT( pCd(ji,jj) * ( putbl(ji,jj) * putbl(ji,jj) + pvtbl(ji,jj) * pvtbl(ji,jj) + pke2 ) ) * mskisf_cav(ji,jj) - ! - ! Compute gammats - pgt(ji,jj) = zustar(ji,jj) * rn_gammat0 - pgs(ji,jj) = zustar(ji,jj) * rn_gammas0 - END_2D - ! - ! output ustar - CALL iom_put('isfustar',zustar(:,:)) - ! - END SUBROUTINE gammats_vel - - SUBROUTINE gammats_vel_stab( Kmm, pttbl, pstbl, putbl, pvtbl, pCd, pke2, pqoce, pqfwf, pRc, & ! <<== in - & pgt , pgs ) ! ==>> out gammats [m/s] - !!---------------------------------------------------------------------- - !! ** Purpose : compute the coefficient echange coefficient - !! - !! ** Method : gamma is velocity dependent and stability dependent - !! - !! ** Reference : Holland and Jenkins, 1999, JPO, p1787-1800 - !!--------------------------------------------------------------------- - !!-------------------------- OUT ------------------------------------- - REAL(wp), DIMENSION(jpi,jpj), INTENT( out) :: pgt, pgs ! gammat and gammas - !!-------------------------- IN ------------------------------------- - INTEGER :: Kmm ! ocean time level index - REAL(wp), INTENT(in ) :: pke2 ! background velocity squared - REAL(wp), DIMENSION(jpi,jpj), INTENT(in ) :: pqoce, pqfwf ! surface heat flux and fwf flux - REAL(wp), DIMENSION(jpi,jpj), INTENT(in ) :: pCd ! drag coeficient - REAL(wp), DIMENSION(jpi,jpj), INTENT(in ) :: putbl, pvtbl ! velocity in the losch top boundary layer - REAL(wp), DIMENSION(jpi,jpj), INTENT(in ) :: pttbl, pstbl ! tracer in the losch top boundary layer - REAL(wp), DIMENSION(jpi,jpj), INTENT(in ) :: pRc ! Richardson number - !!--------------------------------------------------------------------- - INTEGER :: ji, jj ! loop index - INTEGER :: ikt ! local integer - REAL(wp) :: zdku, zdkv ! U, V shear - REAL(wp) :: zPr, zSc ! Prandtl and Scmidth number - REAL(wp) :: zmob, zmols ! Monin Obukov length, coriolis factor at T point - REAL(wp) :: zbuofdep, zhnu ! Bouyancy length scale, sublayer tickness - REAL(wp) :: zhmax ! limitation of mol - REAL(wp) :: zetastar ! stability parameter - REAL(wp) :: zgmolet, zgmoles, zgturb ! contribution of modelecular sublayer and turbulence - REAL(wp) :: zcoef ! temporary coef - REAL(wp) :: zdep - REAL(wp) :: zeps = 1.0e-20_wp - REAL(wp), PARAMETER :: zxsiN = 0.052_wp ! dimensionless constant - REAL(wp), PARAMETER :: znu = 1.95e-6_wp ! kinamatic viscosity of sea water (m2.s-1) - REAL(wp), DIMENSION(2) :: zts, zab - REAL(wp), DIMENSION(jpi,jpj) :: zustar ! friction velocity - !!--------------------------------------------------------------------- - ! - ! compute Pr and Sc number (eq ??) - zPr = 13.8_wp - zSc = 2432.0_wp - ! - ! compute gamma mole (eq ??) - zgmolet = 12.5_wp * zPr ** (2.0/3.0) - 6.0_wp - zgmoles = 12.5_wp * zSc ** (2.0/3.0) - 6.0_wp - ! - ! compute gamma - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) - - ikt = mikt(ji,jj) - - ! compute ustar - zustar(ji,jj) = SQRT( pCd(ji,jj) * ( putbl(ji,jj) * putbl(ji,jj) + pvtbl(ji,jj) * pvtbl(ji,jj) + pke2 ) ) - - IF( zustar(ji,jj) == 0._wp ) THEN ! only for kt = 1 I think - pgt(ji,jj) = rn_gammat0 - pgs(ji,jj) = rn_gammas0 - ELSE - ! compute bouyancy - zts(jp_tem) = pttbl(ji,jj) - zts(jp_sal) = pstbl(ji,jj) - zdep = gdepw(ji,jj,ikt,Kmm) - ! - CALL eos_rab( zts, zdep, zab, Kmm ) - ! - ! compute length scale (Eq ??) - zbuofdep = grav * ( zab(jp_tem) * pqoce(ji,jj) - zab(jp_sal) * pqfwf(ji,jj) ) - ! - ! compute Monin Obukov Length - ! Maximum boundary layer depth (Eq ??) - zhmax = gdept(ji,jj,mbkt(ji,jj),Kmm) - gdepw(ji,jj,mikt(ji,jj),Kmm) -0.001_wp - ! - ! Compute Monin obukhov length scale at the surface and Ekman depth: (Eq ??) - zmob = zustar(ji,jj) ** 3 / (vkarmn * (zbuofdep + zeps)) - zmols = SIGN(1._wp, zmob) * MIN(ABS(zmob), zhmax) * tmask(ji,jj,ikt) - ! - ! compute eta* (stability parameter) (Eq ??) - zetastar = 1._wp / ( SQRT(1._wp + MAX( 0._wp, zxsiN * zustar(ji,jj) & - & / MAX( 1.e-20, ABS(ff_t(ji,jj)) * zmols * pRc(ji,jj) ) ))) - ! - ! compute the sublayer thickness (Eq ??) - zhnu = 5 * znu / MAX( 1.e-20, zustar(ji,jj) ) - ! - ! compute gamma turb (Eq ??) - zgturb = 1._wp / vkarmn * LOG(zustar(ji,jj) * zxsiN * zetastar * zetastar / MAX( 1.e-10, ABS(ff_t(ji,jj)) * zhnu )) & - & + 1._wp / ( 2 * zxsiN * zetastar ) - 1._wp / vkarmn - ! - ! compute gammats - pgt(ji,jj) = zustar(ji,jj) / (zgturb + zgmolet) - pgs(ji,jj) = zustar(ji,jj) / (zgturb + zgmoles) - END IF - END_2D - ! output ustar - CALL iom_put('isfustar',zustar(:,:)) - - END SUBROUTINE gammats_vel_stab - -END MODULE isfcavgam diff --git a/tests/ISOMIP+/MY_SRC/isfstp.F90 b/tests/ISOMIP+/MY_SRC/isfstp.F90 deleted file mode 100644 index 2ab920844..000000000 --- a/tests/ISOMIP+/MY_SRC/isfstp.F90 +++ /dev/null @@ -1,322 +0,0 @@ -MODULE isfstp - !!====================================================================== - !! *** MODULE isfstp *** - !! Ice Shelves : compute iceshelf load, melt and heat flux - !!====================================================================== - !! History : 3.2 ! 2011-02 (C.Harris ) Original code isf cav - !! X.X ! 2006-02 (C. Wang ) Original code bg03 - !! 3.4 ! 2013-03 (P. Mathiot) Merging + parametrization - !! 4.1 ! 2019-09 (P. Mathiot) Split param/explicit ice shelf and re-organisation - !!---------------------------------------------------------------------- - - !!---------------------------------------------------------------------- - !! isfstp : compute iceshelf melt and heat flux - !!---------------------------------------------------------------------- - USE isf_oce ! isf variables - USE isfload, ONLY: isf_load ! ice shelf load - USE isftbl , ONLY: isf_tbl_lvl ! ice shelf boundary layer - USE isfpar , ONLY: isf_par, isf_par_init ! ice shelf parametrisation - USE isfcav , ONLY: isf_cav, isf_cav_init ! ice shelf cavity - USE isfcpl , ONLY: isfcpl_rst_write, isfcpl_init ! isf variables - - USE dom_oce ! ocean space and time domain - USE oce , ONLY: ssh ! sea surface height - USE domvvl, ONLY: ln_vvl_zstar ! zstar logical - USE zdfdrg, ONLY: r_Cdmin_top, r_ke0_top ! vertical physics: top/bottom drag coef. - ! - USE lib_mpp, ONLY: ctl_stop, ctl_nam - USE fldread, ONLY: FLD, FLD_N - USE in_out_manager ! I/O manager - USE timing - - IMPLICIT NONE - PRIVATE - - PUBLIC isf_stp, isf_init, isf_nam ! routine called in sbcmod and divhor - - !! * Substitutions -# include "domzgr_substitute.h90" - !!---------------------------------------------------------------------- - !! NEMO/OCE 4.0 , NEMO Consortium (2018) - !! $Id: isfstp.F90 15574 2021-12-03 19:32:50Z techene $ - !! Software governed by the CeCILL license (see ./LICENSE) - !!---------------------------------------------------------------------- -CONTAINS - - SUBROUTINE isf_stp( kt, Kmm ) - !!--------------------------------------------------------------------- - !! *** ROUTINE isf_stp *** - !! - !! ** Purpose : compute total heat flux and total fwf due to ice shelf melt - !! - !! ** Method : For each case (parametrisation or explicity cavity) : - !! - define the before fields - !! - compute top boundary layer properties - !! (in case of parametrisation, this is the - !! depth range model array used to compute mean far fields properties) - !! - compute fluxes - !! - write restart variables - !!---------------------------------------------------------------------- - INTEGER, INTENT(in) :: kt ! ocean time step - INTEGER, INTENT(in) :: Kmm ! ocean time level index - ! - INTEGER :: jk ! loop index -#if defined key_qco - REAL(wp), DIMENSION(jpi,jpj,jpk) :: ze3t ! 3D workspace -#endif - !!--------------------------------------------------------------------- - ! - IF( ln_timing ) CALL timing_start('isf') - ! - !======================================================================= - ! 1.: compute melt and associated heat fluxes in the ice shelf cavities - !======================================================================= - ! - IF ( ln_isfcav_mlt ) THEN - ! - ! 1.1: before time step - IF ( kt /= nit000 ) THEN - risf_cav_tsc_b (:,:,:) = risf_cav_tsc (:,:,:) - fwfisf_cav_b(:,:) = fwfisf_cav(:,:) - END IF - ! - ! 1.2: compute misfkb, rhisf_tbl, rfrac (deepest level, thickness, fraction of deepest cell affected by tbl) - rhisf_tbl_cav(:,:) = rn_htbl * mskisf_cav(:,:) -#if defined key_qco - DO jk = 1, jpk - ze3t(:,:,jk) = e3t(:,:,jk,Kmm) - END DO - CALL isf_tbl_lvl( ht(:,:), ze3t , misfkt_cav, misfkb_cav, rhisf_tbl_cav, rfrac_tbl_cav ) -#else - CALL isf_tbl_lvl( ht(:,:), e3t(:,:,:,Kmm), misfkt_cav, misfkb_cav, rhisf_tbl_cav, rfrac_tbl_cav ) -#endif - ! - ! 1.3: compute ice shelf melt - CALL isf_cav( kt, Kmm, risf_cav_tsc, fwfisf_cav ) - ! - END IF - ! - !================================================================================= - ! 2.: compute melt and associated heat fluxes for not resolved ice shelf cavities - !================================================================================= - ! - IF ( ln_isfpar_mlt ) THEN - ! - ! 2.1: before time step - IF ( kt /= nit000 ) THEN - risf_par_tsc_b(:,:,:) = risf_par_tsc(:,:,:) - fwfisf_par_b (:,:) = fwfisf_par (:,:) - END IF - ! - ! 2.2: compute misfkb, rhisf_tbl, rfrac (deepest level, thickness, fraction of deepest cell affected by tbl) - ! by simplicity, we assume the top level where param applied do not change with time (done in init part) - rhisf_tbl_par(:,:) = rhisf0_tbl_par(:,:) -#if defined key_qco - DO jk = 1, jpk - ze3t(:,:,jk) = e3t(:,:,jk,Kmm) - END DO - CALL isf_tbl_lvl( ht(:,:), ze3t , misfkt_par, misfkb_par, rhisf_tbl_par, rfrac_tbl_par ) -#else - CALL isf_tbl_lvl( ht(:,:), e3t(:,:,:,Kmm), misfkt_par, misfkb_par, rhisf_tbl_par, rfrac_tbl_par ) -#endif - ! - ! 2.3: compute ice shelf melt - CALL isf_par( kt, Kmm, risf_par_tsc, fwfisf_par ) - ! - END IF - ! - !================================================================================== - ! 3.: output specific restart variable in case of coupling with an ice sheet model - !================================================================================== - ! - IF ( ln_isfcpl .AND. lrst_oce ) CALL isfcpl_rst_write(kt, Kmm) - ! - IF( ln_timing ) CALL timing_stop('isf') - ! - END SUBROUTINE isf_stp - - - SUBROUTINE isf_init( Kbb, Kmm, Kaa ) - !!--------------------------------------------------------------------- - !! *** ROUTINE isfstp_init *** - !! - !! ** Purpose : Initialisation of the ice shelf public variables - !! - !! ** Method : Read the namisf namelist, check option compatibility and set derived parameters - !! - !! ** Action : - read namisf parameters - !! - allocate memory - !! - output print - !! - ckeck option compatibility - !! - call cav/param/isfcpl init routine - !!---------------------------------------------------------------------- - INTEGER, INTENT(in) :: Kbb, Kmm, Kaa ! ocean time level indices - !!---------------------------------------------------------------------- - ! - ! constrain: l_isfoasis need to be known - ! - CALL isf_nam() ! Read namelist - ! - CALL isf_alloc() ! Allocate public array - ! - CALL isf_ctl() ! check option compatibility - ! - IF( ln_isfcav ) CALL isf_load( Kmm, risfload ) ! compute ice shelf load - ! - ! terminate routine now if no ice shelf melt formulation specify - IF( ln_isf ) THEN - ! - IF( ln_isfcav_mlt ) CALL isf_cav_init() ! initialisation melt in the cavity - ! - IF( ln_isfpar_mlt ) CALL isf_par_init() ! initialisation parametrised melt - ! - IF( ln_isfcpl ) CALL isfcpl_init( Kbb, Kmm, Kaa ) ! initialisation ice sheet coupling - ! - END IF - - END SUBROUTINE isf_init - - - SUBROUTINE isf_ctl() - !!--------------------------------------------------------------------- - !! *** ROUTINE isf_ctl *** - !! - !! ** Purpose : output print and option compatibility check - !! - !!---------------------------------------------------------------------- - IF (lwp) THEN - WRITE(numout,*) - WRITE(numout,*) 'isf_init : ice shelf initialisation' - WRITE(numout,*) '~~~~~~~~~~~~' - WRITE(numout,*) ' Namelist namisf :' - ! - WRITE(numout,*) ' ice shelf cavity (open or parametrised) ln_isf = ', ln_isf - WRITE(numout,*) - ! - IF ( ln_isf ) THEN -#if key_qco -# if ! defined key_isf - CALL ctl_stop( 'STOP', 'isf_ctl: ice shelf requires both ln_isf=T AND key_isf activated' ) -# endif -#endif - WRITE(numout,*) ' Add debug print in isf module ln_isfdebug = ', ln_isfdebug - WRITE(numout,*) - WRITE(numout,*) ' melt inside the cavity ln_isfcav_mlt = ', ln_isfcav_mlt - IF ( ln_isfcav_mlt) THEN - WRITE(numout,*) ' melt formulation cn_isfcav_mlt= ', TRIM(cn_isfcav_mlt) - WRITE(numout,*) ' thickness of the top boundary layer rn_htbl = ', rn_htbl - WRITE(numout,*) ' gamma formulation cn_gammablk = ', TRIM(cn_gammablk) - IF ( TRIM(cn_gammablk) .NE. 'spe' ) THEN - WRITE(numout,*) ' gammat coefficient rn_gammat0 = ', rn_gammat0 - WRITE(numout,*) ' gammas coefficient rn_gammas0 = ', rn_gammas0 - WRITE(numout,*) ' top background ke used (from namdrg_top) rn_ke0 = ', r_ke0_top - WRITE(numout,*) ' top drag coef. used (from namdrg_top) rn_Cd0 = ', r_Cdmin_top - END IF - END IF - WRITE(numout,*) '' - ! - WRITE(numout,*) ' ice shelf melt parametrisation ln_isfpar_mlt = ', ln_isfpar_mlt - IF ( ln_isfpar_mlt ) THEN - WRITE(numout,*) ' isf parametrisation formulation cn_isfpar_mlt = ', TRIM(cn_isfpar_mlt) - END IF - WRITE(numout,*) '' - ! - WRITE(numout,*) ' Coupling to an ice sheet model ln_isfcpl = ', ln_isfcpl - IF ( ln_isfcpl ) THEN - WRITE(numout,*) ' conservation activated ln_isfcpl_cons = ', ln_isfcpl_cons - WRITE(numout,*) ' number of call of the extrapolation loop = ', nn_drown - ENDIF - WRITE(numout,*) '' - ! - ELSE - ! - IF ( ln_isfcav ) THEN - WRITE(numout,*) '' - WRITE(numout,*) ' W A R N I N G: ice shelf cavities are open BUT no melt will be computed or read from file !' - WRITE(numout,*) '' - END IF - ! - END IF - - IF (ln_isfcav) THEN - WRITE(numout,*) ' Ice shelf load method cn_isfload = ', TRIM(cn_isfload) - WRITE(numout,*) ' Temperature used to compute the ice shelf load = ', rn_isfload_T - WRITE(numout,*) ' Salinity used to compute the ice shelf load = ', rn_isfload_S - END IF - WRITE(numout,*) '' - FLUSH(numout) - - END IF - ! - - !--------------------------------------------------------------------------------------------------------------------- - ! sanity check ! issue ln_isfcav not yet known as well as l_isfoasis => move this call in isf_stp ? - ! melt in the cavity without cavity - IF ( ln_isfcav_mlt .AND. (.NOT. ln_isfcav) ) & - & CALL ctl_stop('ice shelf melt in the cavity activated (ln_isfcav_mlt) but no cavity detected in domcfg (ln_isfcav), STOP' ) - ! - ! ice sheet coupling without cavity - IF ( ln_isfcpl .AND. (.NOT. ln_isfcav) ) & - & CALL ctl_stop('coupling with an ice sheet model detected (ln_isfcpl) but no cavity detected in domcfg (ln_isfcav), STOP' ) - ! - IF ( ln_isfcpl .AND. ln_isfcpl_cons .AND. ln_linssh ) & - & CALL ctl_stop( 'The coupling between NEMO and an ice sheet model with the conservation option does not work with the linssh option' ) - ! - IF ( l_isfoasis .AND. .NOT. ln_isf ) CALL ctl_stop( ' OASIS send ice shelf fluxes to NEMO but NEMO does not have the isf module activated' ) - ! - IF ( l_isfoasis .AND. ln_isf ) THEN - ! - CALL ctl_stop( 'namelist combination ln_cpl and ln_isf not tested' ) - ! - ! NEMO coupled to ATMO model with isf cavity need oasis method for melt computation - IF ( ln_isfcav_mlt .AND. TRIM(cn_isfcav_mlt) /= 'oasis' ) CALL ctl_stop( 'cn_isfcav_mlt = oasis is the only option availble if fwf send by oasis' ) - IF ( ln_isfpar_mlt .AND. TRIM(cn_isfpar_mlt) /= 'oasis' ) CALL ctl_stop( 'cn_isfpar_mlt = oasis is the only option availble if fwf send by oasis' ) - ! - ! oasis melt computation not tested (coded but not tested) - IF ( ln_isfcav_mlt .OR. ln_isfpar_mlt ) THEN - IF ( TRIM(cn_isfcav_mlt) == 'oasis' ) CALL ctl_stop( 'cn_isfcav_mlt = oasis not tested' ) - IF ( TRIM(cn_isfpar_mlt) == 'oasis' ) CALL ctl_stop( 'cn_isfpar_mlt = oasis not tested' ) - END IF - ! - ! oasis melt computation with cavity open and cavity parametrised (not coded) - IF ( ln_isfcav_mlt .AND. ln_isfpar_mlt ) THEN - IF ( TRIM(cn_isfpar_mlt) == 'oasis' .AND. TRIM(cn_isfcav_mlt) == 'oasis' ) CALL ctl_stop( 'cn_isfpar_mlt = oasis and cn_isfcav_mlt = oasis not coded' ) - END IF - ! - ! compatibility ice shelf and vvl - IF( .NOT. ln_vvl_zstar .AND. ln_isf ) CALL ctl_stop( 'Only vvl_zstar has been tested with ice shelf cavity' ) - ! - END IF - END SUBROUTINE isf_ctl - - - SUBROUTINE isf_nam - !!--------------------------------------------------------------------- - !! *** ROUTINE isf_nam *** - !! - !! ** Purpose : Read ice shelf namelist cfg and ref - !! - !!---------------------------------------------------------------------- - INTEGER :: ios ! Local integer output status for namelist read - !!---------------------------------------------------------------------- - NAMELIST/namisf/ ln_isf , & - & cn_gammablk , rn_gammat0 , rn_gammas0 , rn_htbl, sn_isfcav_fwf, & - & ln_isfcav_mlt , cn_isfcav_mlt , sn_isfcav_fwf , & - & ln_isfpar_mlt , cn_isfpar_mlt , sn_isfpar_fwf , & - & sn_isfpar_zmin, sn_isfpar_zmax, sn_isfpar_Leff, & - & ln_isfcpl , nn_drown , ln_isfcpl_cons, ln_isfdebug, & - & cn_isfload , rn_isfload_T , rn_isfload_S , cn_isfdir , & - & rn_isfpar_bg03_gt0 - !!---------------------------------------------------------------------- - ! - READ ( numnam_ref, namisf, IOSTAT = ios, ERR = 901) -901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namisf in reference namelist' ) - ! - READ ( numnam_cfg, namisf, IOSTAT = ios, ERR = 902 ) -902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namisf in configuration namelist' ) - IF(lwm) WRITE ( numond, namisf ) - - END SUBROUTINE isf_nam - !! - !!====================================================================== -END MODULE isfstp diff --git a/tests/ISOMIP+/MY_SRC/istate.F90 b/tests/ISOMIP+/MY_SRC/istate.F90 index 0f32b25a9..f8cdc2627 100644 --- a/tests/ISOMIP+/MY_SRC/istate.F90 +++ b/tests/ISOMIP+/MY_SRC/istate.F90 @@ -50,7 +50,7 @@ MODULE istate # include "domzgr_substitute.h90" !!---------------------------------------------------------------------- !! NEMO/OCE 4.0 , NEMO Consortium (2018) - !! $Id: istate.F90 15581 2021-12-07 13:08:22Z techene $ + !! $Id: istate.F90 14991 2021-06-14 19:52:31Z techene $ !! Software governed by the CeCILL license (see ./LICENSE) !!---------------------------------------------------------------------- CONTAINS @@ -79,10 +79,12 @@ CONTAINS CALL dta_tsd_init ! Initialisation of T & S input data IF( ln_c1d) CALL dta_uvd_init ! Initialisation of U & V input data (c1d only) - rhd (:,:,: ) = 0._wp ; rhop (:,:,: ) = 0._wp ! set one for all to 0 at level jpk - rn2b (:,:,: ) = 0._wp ; rn2 (:,:,: ) = 0._wp ! set one for all to 0 at levels 1 and jpk - ts (:,:,:,:,Kaa) = 0._wp ! set one for all to 0 at level jpk - rab_b(:,:,:,: ) = 0._wp ; rab_n(:,:,:,:) = 0._wp ! set one for all to 0 at level jpk + ts (:,:,:,:,Kaa) = 0._wp ; rn2 (:,:,: ) = 0._wp ! set one for all to 0 at levels 1 and jpk + IF ( ALLOCATED( rhd ) ) THEN ! SWE, for example, will not have allocated these + rhd (:,:,: ) = 0._wp ; rhop (:,:,: ) = 0._wp ! set one for all to 0 at level jpk + rn2b (:,:,: ) = 0._wp ! set one for all to 0 at level jpk + rab_b(:,:,:,: ) = 0._wp ; rab_n(:,:,:,:) = 0._wp ! set one for all to 0 at level jpk + ENDIF #if defined key_agrif uu (:,:,: ,Kaa) = 0._wp ! used in agrif_oce_sponge at initialization vv (:,:,: ,Kaa) = 0._wp ! used in agrif_oce_sponge at initialization @@ -113,7 +115,7 @@ CONTAINS ! ! Initialization of ocean to zero ! IF( ln_tsd_init ) THEN - CALL dta_tsd( nit000, 'ini', ts(:,:,:,:,Kbb) ) ! read 3D T and S data at nit000 + CALL dta_tsd( nit000, ts(:,:,:,:,Kbb), 'ini' ) ! read 3D T and S data at nit000 ENDIF ! IF( ln_uvd_init .AND. ln_c1d ) THEN @@ -141,20 +143,6 @@ CONTAINS ENDIF #endif ! - ! Initialize "now" barotropic velocities: - ! Do it whatever the free surface method, these arrays being used eventually - ! -!!gm the use of umask & vmask is not necessary below as uu(:,:,:,Kmm), vv(:,:,:,Kmm), uu(:,:,:,Kbb), vv(:,:,:,Kbb) are always masked -#if ! defined key_RK3 - uu_b(:,:,Kmm) = 0._wp ; vv_b(:,:,Kmm) = 0._wp - DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpkm1 ) - uu_b(ji,jj,Kmm) = uu_b(ji,jj,Kmm) + e3u(ji,jj,jk,Kmm) * uu(ji,jj,jk,Kmm) * umask(ji,jj,jk) - vv_b(ji,jj,Kmm) = vv_b(ji,jj,Kmm) + e3v(ji,jj,jk,Kmm) * vv(ji,jj,jk,Kmm) * vmask(ji,jj,jk) - END_3D - uu_b(:,:,Kmm) = uu_b(:,:,Kmm) * r1_hu(:,:,Kmm) - vv_b(:,:,Kmm) = vv_b(:,:,Kmm) * r1_hv(:,:,Kmm) -#endif - ! #if defined key_RK3 IF( .NOT. ln_rstart ) THEN #endif @@ -171,6 +159,25 @@ CONTAINS ! #if defined key_RK3 ENDIF +#endif + ! + ! Initialize "now" barotropic velocities: + ! Do it whatever the free surface method, these arrays being used eventually + ! +#if defined key_RK3 + IF( .NOT. ln_rstart ) THEN + uu_b(:,:,Kmm) = uu_b(:,:,Kbb) ! Kmm value set to Kbb for initialisation in Agrif_Regrid in namo_gcm + vv_b(:,:,Kmm) = vv_b(:,:,Kbb) + ENDIF +#else +!!gm the use of umask & vmask is not necessary below as uu(:,:,:,Kmm), vv(:,:,:,Kmm), uu(:,:,:,Kbb), vv(:,:,:,Kbb) are always masked + uu_b(:,:,Kmm) = 0._wp ; vv_b(:,:,Kmm) = 0._wp + DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpkm1 ) + uu_b(ji,jj,Kmm) = uu_b(ji,jj,Kmm) + e3u(ji,jj,jk,Kmm) * uu(ji,jj,jk,Kmm) * umask(ji,jj,jk) + vv_b(ji,jj,Kmm) = vv_b(ji,jj,Kmm) + e3v(ji,jj,jk,Kmm) * vv(ji,jj,jk,Kmm) * vmask(ji,jj,jk) + END_3D + uu_b(:,:,Kmm) = uu_b(:,:,Kmm) * r1_hu(:,:,Kmm) + vv_b(:,:,Kmm) = vv_b(:,:,Kmm) * r1_hv(:,:,Kmm) #endif ! END SUBROUTINE istate_init diff --git a/tests/ISOMIP+/MY_SRC/sbcfwb.F90 b/tests/ISOMIP+/MY_SRC/sbcfwb.F90 deleted file mode 100644 index 0102aa127..000000000 --- a/tests/ISOMIP+/MY_SRC/sbcfwb.F90 +++ /dev/null @@ -1,277 +0,0 @@ -MODULE sbcfwb - !!====================================================================== - !! *** MODULE sbcfwb *** - !! Ocean fluxes : domain averaged freshwater budget - !!====================================================================== - !! History : OPA ! 2001-02 (E. Durand) Original code - !! NEMO 1.0 ! 2002-06 (G. Madec) F90: Free form and module - !! 3.0 ! 2006-08 (G. Madec) Surface module - !! 3.2 ! 2009-07 (C. Talandier) emp mean s spread over erp area - !! 3.6 ! 2014-11 (P. Mathiot ) add ice shelf melting - !!---------------------------------------------------------------------- - - !!---------------------------------------------------------------------- - !! sbc_fwb : freshwater budget for global ocean configurations (free surface & forced mode) - !!---------------------------------------------------------------------- - USE oce ! ocean dynamics and tracers - USE dom_oce ! ocean space and time domain - USE sbc_oce ! surface ocean boundary condition - USE isf_oce , ONLY : fwfisf_cav, fwfisf_par, ln_isfcpl, ln_isfcpl_cons, risfcpl_cons_ssh ! ice shelf melting contribution - USE sbc_ice , ONLY : snwice_mass, snwice_mass_b, snwice_fmass - USE phycst ! physical constants - USE sbcrnf ! ocean runoffs - USE sbcssr ! Sea-Surface damping terms - ! - USE in_out_manager ! I/O manager - USE iom ! IOM - USE lib_mpp ! distribued memory computing library - USE timing ! Timing - USE lbclnk ! ocean lateral boundary conditions - USE lib_fortran ! - - IMPLICIT NONE - PRIVATE - - PUBLIC sbc_fwb ! routine called by step - - REAL(wp) :: rn_fwb0 ! initial freshwater adjustment flux [kg/m2/s] (nn_fwb = 2 only) - REAL(wp) :: a_fwb ! annual domain averaged freshwater budget from the previous year - REAL(wp) :: a_fwb_b ! annual domain averaged freshwater budget from the year before or at initial state - REAL(wp) :: a_fwb_ini ! initial domain averaged freshwater budget - REAL(wp) :: area ! global mean ocean surface (interior domain) - - !!---------------------------------------------------------------------- - !! NEMO/OCE 4.0 , NEMO Consortium (2018) - !! $Id: sbcfwb.F90 11395 2019-08-02 14:19:00Z mathiot $ - !! Software governed by the CeCILL license (see ./LICENSE) - !!---------------------------------------------------------------------- -CONTAINS - - SUBROUTINE sbc_fwb( kt, kn_fwb, kn_fsbc, Kmm ) - !!--------------------------------------------------------------------- - !! *** ROUTINE sbc_fwb *** - !! - !! ** Purpose : Control the mean sea surface drift - !! - !! ** Method : several ways depending on kn_fwb - !! =0 no control - !! =1 global mean of emp set to zero at each nn_fsbc time step - !! =2 annual global mean corrected from previous year - !! =3 global mean of emp set to zero at each nn_fsbc time step - !! & spread out over erp area depending its sign - !! Note: if sea ice is embedded it is taken into account when computing the budget - !!---------------------------------------------------------------------- - INTEGER, INTENT( in ) :: kt ! ocean time-step index - INTEGER, INTENT( in ) :: kn_fsbc ! - INTEGER, INTENT( in ) :: kn_fwb ! ocean time-step index - INTEGER, INTENT( in ) :: Kmm ! ocean time level index - ! - INTEGER :: ios, inum, ikty ! local integers - REAL(wp) :: z_fwf, z_fwf_nsrf, zsum_fwf, zsum_erp ! local scalars - REAL(wp) :: zsurf_neg, zsurf_pos, zsurf_tospread, zcoef ! - - - REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: ztmsk_neg, ztmsk_pos, z_wgt ! 2D workspaces - REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: ztmsk_tospread, zerp_cor ! - - - REAL(wp) ,DIMENSION(1) :: z_fwfprv - COMPLEX(dp),DIMENSION(1) :: y_fwfnow - ! - NAMELIST/namsbc_fwb/rn_fwb0 - !!---------------------------------------------------------------------- - ! - IF( kt == nit000 ) THEN - READ( numnam_ref, namsbc_fwb, IOSTAT = ios, ERR = 901 ) -901 IF( ios /= 0 ) CALL ctl_nam( ios, 'namsbc_fwb in reference namelist' ) - READ( numnam_cfg, namsbc_fwb, IOSTAT = ios, ERR = 902 ) -902 IF( ios > 0 ) CALL ctl_nam( ios, 'namsbc_fwb in configuration namelist' ) - IF(lwm) WRITE( numond, namsbc_fwb ) - IF(lwp) THEN - WRITE(numout,*) - WRITE(numout,*) 'sbc_fwb : FreshWater Budget correction' - WRITE(numout,*) '~~~~~~~' - IF( kn_fwb == 1 ) WRITE(numout,*) ' instantaneously set to zero' - IF( kn_fwb == 4 ) WRITE(numout,*) ' instantaneously set to zero with heat and salt flux correction (ISOMIP+)' - IF( kn_fwb == 3 ) WRITE(numout,*) ' fwf set to zero and spread out over erp area' - IF( kn_fwb == 2 ) THEN - WRITE(numout,*) ' adjusted from previous year budget' - WRITE(numout,*) - WRITE(numout,*) ' Namelist namsbc_fwb' - WRITE(numout,*) ' Initial freshwater adjustment flux [kg/m2/s] = ', rn_fwb0 - END IF - ENDIF - ! - IF( kn_fwb == 3 .AND. nn_sssr /= 2 ) CALL ctl_stop( 'sbc_fwb: nn_fwb = 3 requires nn_sssr = 2, we stop ' ) - IF( kn_fwb == 3 .AND. ln_isfcav ) CALL ctl_stop( 'sbc_fwb: nn_fwb = 3 with ln_isfcav = .TRUE. not working, we stop ' ) - ! - area = glob_sum( 'sbcfwb', e1e2t(:,:) * tmask(:,:,1)) ! interior global domain surface - ! isf cavities are excluded because it can feedback to the melting with generation of inhibition of plumes - ! and in case of no melt, it can generate HSSW. - ! -#if ! defined key_si3 && ! defined key_cice - snwice_mass_b(:,:) = 0.e0 ! no sea-ice model is being used : no snow+ice mass - snwice_mass (:,:) = 0.e0 - snwice_fmass (:,:) = 0.e0 -#endif - ! - ENDIF - - SELECT CASE ( kn_fwb ) - ! - CASE ( 1 ) !== global mean fwf set to zero ==! - ! - IF( MOD( kt-1, kn_fsbc ) == 0 ) THEN - y_fwfnow(1) = local_sum( e1e2t(:,:) * ( emp(:,:) - rnf(:,:) - fwfisf_cav(:,:) - fwfisf_par(:,:) - snwice_fmass(:,:) ) ) - CALL mpp_delay_sum( 'sbcfwb', 'fwb', y_fwfnow(:), z_fwfprv(:), kt == nitend - nn_fsbc + 1 ) - z_fwfprv(1) = z_fwfprv(1) / area - zcoef = z_fwfprv(1) * rcp - emp(:,:) = emp(:,:) - z_fwfprv(1) * tmask(:,:,1) - qns(:,:) = qns(:,:) + zcoef * sst_m(:,:) * tmask(:,:,1) ! account for change to the heat budget due to fw correction - ! outputs - IF( iom_use('hflx_fwb_cea') ) CALL iom_put( 'hflx_fwb_cea', zcoef * sst_m(:,:) * tmask(:,:,1) ) - IF( iom_use('vflx_fwb_cea') ) CALL iom_put( 'vflx_fwb_cea', z_fwfprv(1) * tmask(:,:,1) ) - ENDIF - ! - CASE ( 2 ) !== fw adjustment based on fw budget at the end of the previous year ==! - ! simulation is supposed to start 1st of January - IF( kt == nit000 ) THEN ! initialisation - ! ! set the fw adjustment (a_fwb) - IF ( ln_rstart .AND. iom_varid( numror, 'a_fwb_b', ldstop = .FALSE. ) > 0 & ! as read from restart file - & .AND. iom_varid( numror, 'a_fwb', ldstop = .FALSE. ) > 0 ) THEN - IF(lwp) WRITE(numout,*) 'sbc_fwb : reading freshwater-budget from restart file' - CALL iom_get( numror, 'a_fwb_b', a_fwb_b ) - CALL iom_get( numror, 'a_fwb' , a_fwb ) - ! - a_fwb_ini = a_fwb_b - ELSE ! as specified in namelist - IF(lwp) WRITE(numout,*) 'sbc_fwb : setting freshwater-budget from namelist rn_fwb0' - a_fwb = rn_fwb0 - a_fwb_b = 0._wp ! used only the first year then it is replaced by a_fwb_ini - ! - a_fwb_ini = glob_sum( 'sbcfwb', e1e2t(:,:) * ( ssh(:,:,Kmm) + snwice_mass(:,:) * r1_rho0 ) ) & - & * rho0 / ( area * rday * REAL(nyear_len(1), wp) ) - END IF - ! - IF(lwp) WRITE(numout,*) - IF(lwp) WRITE(numout,*)'sbc_fwb : freshwater-budget at the end of previous year = ', a_fwb , 'kg/m2/s' - IF(lwp) WRITE(numout,*)' freshwater-budget at initial state = ', a_fwb_ini, 'kg/m2/s' - ! - ELSE - ! at the end of year n: - ikty = nyear_len(1) * 86400 / NINT(rn_Dt) - IF( MOD( kt, ikty ) == 0 ) THEN ! Update a_fwb at the last time step of a year - ! It should be the first time step of a year MOD(kt-1,ikty) but then the restart would be wrong - ! Hence, we make a small error here but the code is restartable - a_fwb_b = a_fwb_ini - ! mean sea level taking into account ice+snow - a_fwb = glob_sum( 'sbcfwb', e1e2t(:,:) * ( ssh(:,:,Kmm) + snwice_mass(:,:) * r1_rho0 ) ) - a_fwb = a_fwb * rho0 / ( area * rday * REAL(nyear_len(1), wp) ) ! convert in kg/m2/s - ENDIF - ! - ENDIF - ! - IF( MOD( kt-1, kn_fsbc ) == 0 ) THEN ! correct the freshwater fluxes using previous year budget minus initial state - zcoef = ( a_fwb - a_fwb_b ) - emp(:,:) = emp(:,:) + zcoef * tmask(:,:,1) - qns(:,:) = qns(:,:) - zcoef * rcp * sst_m(:,:) * tmask(:,:,1) ! account for change to the heat budget due to fw correction - ! outputs - IF( iom_use('hflx_fwb_cea') ) CALL iom_put( 'hflx_fwb_cea', -zcoef * rcp * sst_m(:,:) * tmask(:,:,1) ) - IF( iom_use('vflx_fwb_cea') ) CALL iom_put( 'vflx_fwb_cea', -zcoef * tmask(:,:,1) ) - ENDIF - ! Output restart information - IF( lrst_oce ) THEN - IF(lwp) WRITE(numout,*) - IF(lwp) WRITE(numout,*) 'sbc_fwb : writing FW-budget adjustment to ocean restart file at it = ', kt - IF(lwp) WRITE(numout,*) '~~~~' - CALL iom_rstput( kt, nitrst, numrow, 'a_fwb_b', a_fwb_b ) - CALL iom_rstput( kt, nitrst, numrow, 'a_fwb', a_fwb ) - END IF - ! - IF( kt == nitend .AND. lwp ) THEN - WRITE(numout,*) 'sbc_fwb : freshwater-budget at the end of simulation (year now) = ', a_fwb , 'kg/m2/s' - WRITE(numout,*) ' freshwater-budget at initial state = ', a_fwb_b, 'kg/m2/s' - ENDIF - ! - CASE ( 3 ) !== global fwf set to zero and spread out over erp area ==! - ! - ALLOCATE( ztmsk_neg(jpi,jpj) , ztmsk_pos(jpi,jpj) , ztmsk_tospread(jpi,jpj) , z_wgt(jpi,jpj) , zerp_cor(jpi,jpj) ) - ! - IF( MOD( kt-1, kn_fsbc ) == 0 ) THEN - ztmsk_pos(:,:) = tmask_i(:,:) ! Select <0 and >0 area of erp - WHERE( erp < 0._wp ) ztmsk_pos = 0._wp - ztmsk_neg(:,:) = tmask_i(:,:) - ztmsk_pos(:,:) - ! ! fwf global mean (excluding ocean to ice/snow exchanges) - z_fwf = glob_sum( 'sbcfwb', e1e2t(:,:) * ( emp(:,:) - rnf(:,:) - fwfisf_cav(:,:) - fwfisf_par(:,:) - snwice_fmass(:,:) ) ) / area - ! - IF( z_fwf < 0._wp ) THEN ! spread out over >0 erp area to increase evaporation - zsurf_pos = glob_sum( 'sbcfwb', e1e2t(:,:)*ztmsk_pos(:,:) ) - zsurf_tospread = zsurf_pos - ztmsk_tospread(:,:) = ztmsk_pos(:,:) - ELSE ! spread out over <0 erp area to increase precipitation - zsurf_neg = glob_sum( 'sbcfwb', e1e2t(:,:)*ztmsk_neg(:,:) ) ! Area filled by <0 and >0 erp - zsurf_tospread = zsurf_neg - ztmsk_tospread(:,:) = ztmsk_neg(:,:) - ENDIF - ! - zsum_fwf = glob_sum( 'sbcfwb', e1e2t(:,:) * z_fwf ) ! fwf global mean over <0 or >0 erp area -!!gm : zsum_fwf = z_fwf * area ??? it is right? I think so.... - z_fwf_nsrf = zsum_fwf / ( zsurf_tospread + rsmall ) - ! ! weight to respect erp field 2D structure - zsum_erp = glob_sum( 'sbcfwb', ztmsk_tospread(:,:) * erp(:,:) * e1e2t(:,:) ) - z_wgt(:,:) = ztmsk_tospread(:,:) * erp(:,:) / ( zsum_erp + rsmall ) - ! ! final correction term to apply - zerp_cor(:,:) = -1. * z_fwf_nsrf * zsurf_tospread * z_wgt(:,:) - ! -!!gm ===>>>> lbc_lnk should be useless as all the computation is done over the whole domain ! - CALL lbc_lnk( 'sbcfwb', zerp_cor, 'T', 1.0_wp ) - ! - emp(:,:) = emp(:,:) + zerp_cor(:,:) - qns(:,:) = qns(:,:) - zerp_cor(:,:) * rcp * sst_m(:,:) ! account for change to the heat budget due to fw correction - erp(:,:) = erp(:,:) + zerp_cor(:,:) - ! outputs - IF( iom_use('hflx_fwb_cea') ) CALL iom_put( 'hflx_fwb_cea', -zerp_cor(:,:) * rcp * sst_m(:,:) ) - IF( iom_use('vflx_fwb_cea') ) CALL iom_put( 'vflx_fwb_cea', -zerp_cor(:,:) ) - ! - IF( lwp ) THEN ! control print - IF( z_fwf < 0._wp ) THEN - WRITE(numout,*)' z_fwf < 0' - WRITE(numout,*)' SUM(erp+) = ', SUM( ztmsk_tospread(:,:)*erp(:,:)*e1e2t(:,:) )*1.e-9,' Sv' - ELSE - WRITE(numout,*)' z_fwf >= 0' - WRITE(numout,*)' SUM(erp-) = ', SUM( ztmsk_tospread(:,:)*erp(:,:)*e1e2t(:,:) )*1.e-9,' Sv' - ENDIF - WRITE(numout,*)' SUM(empG) = ', SUM( z_fwf*e1e2t(:,:) )*1.e-9,' Sv' - WRITE(numout,*)' z_fwf = ', z_fwf ,' Kg/m2/s' - WRITE(numout,*)' z_fwf_nsrf = ', z_fwf_nsrf ,' Kg/m2/s' - WRITE(numout,*)' MIN(zerp_cor) = ', MINVAL(zerp_cor) - WRITE(numout,*)' MAX(zerp_cor) = ', MAXVAL(zerp_cor) - ENDIF - ENDIF - DEALLOCATE( ztmsk_neg , ztmsk_pos , ztmsk_tospread , z_wgt , zerp_cor ) - ! - CASE ( 4 ) !== global mean fwf set to zero (ISOMIP case) ==! - ! - IF( MOD( kt-1, kn_fsbc ) == 0 ) THEN - z_fwf = glob_sum( 'sbcfwb', e1e2t(:,:) * ( emp(:,:) - rnf(:,:) - fwfisf_cav(:,:) - fwfisf_par(:,:) - snwice_fmass(:,:) ) ) - ! - ! correction for ice sheet coupling testing (ie remove the excess through the surface) - ! test impact on the melt as conservation correction made in depth - ! test conservation level as sbcfwb is conserving - ! avoid the model to blow up for large ssh drop (isomip OCEAN3 with melt switch off and uniform T/S) - IF (ln_isfcpl .AND. ln_isfcpl_cons) THEN - z_fwf = z_fwf + glob_sum( 'sbcfwb', e1e2t(:,:) * risfcpl_cons_ssh(:,:) * rho0 ) - END IF - ! - z_fwf = z_fwf / area - zcoef = z_fwf * rcp - emp(:,:) = emp(:,:) - z_fwf * tmask(:,:,1) ! (Eq. 34 AD2015) - qns(:,:) = qns(:,:) + zcoef * sst_m(:,:) * tmask(:,:,1) ! (Eq. 35 AD2015) ! use sst_m to avoid generation of any bouyancy fluxes - sfx(:,:) = sfx(:,:) + z_fwf * sss_m(:,:) * tmask(:,:,1) ! (Eq. 36 AD2015) ! use sss_m to avoid generation of any bouyancy fluxes - ENDIF - ! - CASE DEFAULT !== you should never be there ==! - CALL ctl_stop( 'sbc_fwb : wrong nn_fwb value for the FreshWater Budget correction, choose either 1, 2 or 3' ) - ! - END SELECT - ! - END SUBROUTINE sbc_fwb - - !!====================================================================== -END MODULE sbcfwb diff --git a/tests/ISOMIP+/MY_SRC/tradmp.F90 b/tests/ISOMIP+/MY_SRC/tradmp.F90 deleted file mode 100644 index 05ed5b09a..000000000 --- a/tests/ISOMIP+/MY_SRC/tradmp.F90 +++ /dev/null @@ -1,243 +0,0 @@ -MODULE tradmp - !!====================================================================== - !! *** MODULE tradmp *** - !! Ocean physics: internal restoring trend on active tracers (T and S) - !!====================================================================== - !! History : OPA ! 1991-03 (O. Marti, G. Madec) Original code - !! ! 1992-06 (M. Imbard) doctor norme - !! ! 1998-07 (M. Imbard, G. Madec) ORCA version - !! 7.0 ! 2001-02 (M. Imbard) add distance to coast, Original code - !! 8.1 ! 2001-02 (G. Madec, E. Durand) cleaning - !! NEMO 1.0 ! 2002-08 (G. Madec, E. Durand) free form + modules - !! 3.2 ! 2009-08 (G. Madec, C. Talandier) DOCTOR norm for namelist parameter - !! 3.3 ! 2010-06 (C. Ethe, G. Madec) merge TRA-TRC - !! 3.4 ! 2011-04 (G. Madec, C. Ethe) Merge of dtatem and dtasal + suppression of CPP keys - !! 3.6 ! 2015-06 (T. Graham) read restoring coefficient in a file - !! 3.7 ! 2015-10 (G. Madec) remove useless trends arrays - !!---------------------------------------------------------------------- - - !!---------------------------------------------------------------------- - !! tra_dmp_alloc : allocate tradmp arrays - !! tra_dmp : update the tracer trend with the internal damping - !! tra_dmp_init : initialization, namlist read, parameters control - !!---------------------------------------------------------------------- - USE oce ! ocean: variables - USE dom_oce ! ocean: domain variables - USE trd_oce ! trends: ocean variables - USE trdtra ! trends manager: tracers - USE zdf_oce ! ocean: vertical physics - USE phycst ! physical constants - USE dtatsd ! data: temperature & salinity - USE zdfmxl ! vertical physics: mixed layer depth - ! - USE in_out_manager ! I/O manager - USE iom ! XIOS - USE lib_mpp ! MPP library - USE prtctl ! Print control - USE timing ! Timing - - IMPLICIT NONE - PRIVATE - - PUBLIC tra_dmp ! called by step.F90 - PUBLIC tra_dmp_init ! called by nemogcm.F90 - - ! !!* Namelist namtra_dmp : T & S newtonian damping * - LOGICAL , PUBLIC :: ln_tradmp !: internal damping flag - INTEGER , PUBLIC :: nn_zdmp !: = 0/1/2 flag for damping in the mixed layer - CHARACTER(LEN=200) , PUBLIC :: cn_resto !: name of netcdf file containing restoration coefficient field - ! - REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: resto !: restoring coeff. on T and S (s-1) - - !! * Substitutions -# include "do_loop_substitute.h90" -# include "domzgr_substitute.h90" - !!---------------------------------------------------------------------- - !! NEMO/OCE 4.0 , NEMO Consortium (2018) - !! $Id: tradmp.F90 15574 2021-12-03 19:32:50Z techene $ - !! Software governed by the CeCILL license (see ./LICENSE) - !!---------------------------------------------------------------------- -CONTAINS - - INTEGER FUNCTION tra_dmp_alloc() - !!---------------------------------------------------------------------- - !! *** FUNCTION tra_dmp_alloc *** - !!---------------------------------------------------------------------- - ALLOCATE( resto(jpi,jpj,jpk), STAT= tra_dmp_alloc ) - ! - CALL mpp_sum ( 'tradmp', tra_dmp_alloc ) - IF( tra_dmp_alloc > 0 ) CALL ctl_warn('tra_dmp_alloc: allocation of arrays failed') - ! - END FUNCTION tra_dmp_alloc - - - SUBROUTINE tra_dmp( kt, Kbb, Kmm, pts, Krhs ) - !!---------------------------------------------------------------------- - !! *** ROUTINE tra_dmp *** - !! - !! ** Purpose : Compute the tracer trend due to a newtonian damping - !! of the tracer field towards given data field and add it to the - !! general tracer trends. - !! - !! ** Method : Newtonian damping towards t_dta and s_dta computed - !! and add to the general tracer trends: - !! ta = ta + resto * (t_dta - tb) - !! sa = sa + resto * (s_dta - sb) - !! The trend is computed either throughout the water column - !! (nlmdmp=0) or in area of weak vertical mixing (nlmdmp=1) or - !! below the well mixed layer (nlmdmp=2) - !! - !! ** Action : - tsa: tracer trends updated with the damping trend - !!---------------------------------------------------------------------- - INTEGER, INTENT(in ) :: kt ! ocean time-step index - INTEGER, INTENT(in ) :: Kbb, Kmm, Krhs ! time level indices - REAL(wp), DIMENSION(jpi,jpj,jpk,jpts,jpt), INTENT(inout) :: pts ! active tracers and RHS of tracer equation - ! - INTEGER :: ji, jj, jk, jn ! dummy loop indices - REAL(wp), DIMENSION(A2D(nn_hls),jpk,jpts) :: zts_dta - REAL(wp), DIMENSION(:,:,:) , ALLOCATABLE :: zwrk - REAL(wp), DIMENSION(:,:,:,:), ALLOCATABLE :: ztrdts - !!---------------------------------------------------------------------- - ! - IF( ln_timing ) CALL timing_start('tra_dmp') - ! - IF( l_trdtra .OR. iom_use('hflx_dmp_cea') .OR. iom_use('sflx_dmp_cea') ) THEN !* Save ta and sa trends - ALLOCATE( ztrdts(A2D(nn_hls),jpk,jpts) ) - DO jn = 1, jpts - DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpk ) - ztrdts(ji,jj,jk,jn) = pts(ji,jj,jk,jn,Krhs) - END_3D - END DO - ENDIF - ! !== input T-S data at kt ==! - CALL dta_tsd( kt, 'dmp', zts_dta ) ! read and interpolates T-S data at kt - ! - SELECT CASE ( nn_zdmp ) !== type of damping ==! - ! - CASE( 0 ) !* newtonian damping throughout the water column *! - DO jn = 1, jpts - DO_3D( 0, 0, 0, 0, 1, jpkm1 ) - pts(ji,jj,jk,jn,Krhs) = pts(ji,jj,jk,jn,Krhs) & - & + resto(ji,jj,jk) * ( zts_dta(ji,jj,jk,jn) - pts(ji,jj,jk,jn,Kbb) ) - END_3D - END DO - ! - CASE ( 1 ) !* no damping in the turbocline (avt > 5 cm2/s) *! - DO_3D( 0, 0, 0, 0, 1, jpkm1 ) - IF( avt(ji,jj,jk) <= avt_c ) THEN - pts(ji,jj,jk,jp_tem,Krhs) = pts(ji,jj,jk,jp_tem,Krhs) & - & + resto(ji,jj,jk) * ( zts_dta(ji,jj,jk,jp_tem) - pts(ji,jj,jk,jp_tem,Kbb) ) - pts(ji,jj,jk,jp_sal,Krhs) = pts(ji,jj,jk,jp_sal,Krhs) & - & + resto(ji,jj,jk) * ( zts_dta(ji,jj,jk,jp_sal) - pts(ji,jj,jk,jp_sal,Kbb) ) - ENDIF - END_3D - ! - CASE ( 2 ) !* no damping in the mixed layer *! - DO_3D( 0, 0, 0, 0, 1, jpkm1 ) - IF( gdept(ji,jj,jk,Kmm) >= hmlp (ji,jj) ) THEN - pts(ji,jj,jk,jp_tem,Krhs) = pts(ji,jj,jk,jp_tem,Krhs) & - & + resto(ji,jj,jk) * ( zts_dta(ji,jj,jk,jp_tem) - pts(ji,jj,jk,jp_tem,Kbb) ) - pts(ji,jj,jk,jp_sal,Krhs) = pts(ji,jj,jk,jp_sal,Krhs) & - & + resto(ji,jj,jk) * ( zts_dta(ji,jj,jk,jp_sal) - pts(ji,jj,jk,jp_sal,Kbb) ) - ENDIF - END_3D - ! - END SELECT - ! - ! outputs (clem trunk) - IF( iom_use('hflx_dmp_cea') .OR. iom_use('sflx_dmp_cea') ) THEN - ALLOCATE( zwrk(A2D(nn_hls),jpk) ) ! Needed to handle expressions containing e3t when using key_qco or key_linssh - zwrk(:,:,:) = 0._wp - - IF( iom_use('hflx_dmp_cea') ) THEN - DO_3D( 0, 0, 0, 0, 1, jpk ) - zwrk(ji,jj,jk) = ( pts(ji,jj,jk,jp_tem,Krhs) - ztrdts(ji,jj,jk,jp_tem) ) * e3t(ji,jj,jk,Kmm) - END_3D - CALL iom_put('hflx_dmp_cea', SUM( zwrk(:,:,:), dim=3 ) * rcp * rho0 ) ! W/m2 - ENDIF - IF( iom_use('sflx_dmp_cea') ) THEN - DO_3D( 0, 0, 0, 0, 1, jpk ) - zwrk(ji,jj,jk) = ( pts(ji,jj,jk,jp_sal,Krhs) - ztrdts(ji,jj,jk,jp_sal) ) * e3t(ji,jj,jk,Kmm) - END_3D - CALL iom_put('sflx_dmp_cea', SUM( zwrk(:,:,:), dim=3 ) * rho0 ) ! g/m2/s - ENDIF - - DEALLOCATE( zwrk ) - ENDIF - ! - IF( l_trdtra ) THEN ! trend diagnostic - ztrdts(:,:,:,:) = pts(:,:,:,:,Krhs) - ztrdts(:,:,:,:) - CALL trd_tra( kt, Kmm, Krhs, 'TRA', jp_tem, jptra_dmp, ztrdts(:,:,:,jp_tem) ) - CALL trd_tra( kt, Kmm, Krhs, 'TRA', jp_sal, jptra_dmp, ztrdts(:,:,:,jp_sal) ) - DEALLOCATE( ztrdts ) - ENDIF - ! ! Control print - IF(sn_cfctl%l_prtctl) CALL prt_ctl( tab3d_1=pts(:,:,:,jp_tem,Krhs), clinfo1=' dmp - Ta: ', mask1=tmask, & - & tab3d_2=pts(:,:,:,jp_sal,Krhs), clinfo2= ' Sa: ', mask2=tmask, clinfo3='tra' ) - ! - IF( ln_timing ) CALL timing_stop('tra_dmp') - ! - END SUBROUTINE tra_dmp - - - SUBROUTINE tra_dmp_init - !!---------------------------------------------------------------------- - !! *** ROUTINE tra_dmp_init *** - !! - !! ** Purpose : Initialization for the newtonian damping - !! - !! ** Method : read the namtra_dmp namelist and check the parameters - !!---------------------------------------------------------------------- - INTEGER :: ios, imask ! local integers - ! - NAMELIST/namtra_dmp/ ln_tradmp, nn_zdmp, cn_resto - !!---------------------------------------------------------------------- - ! - READ ( numnam_ref, namtra_dmp, IOSTAT = ios, ERR = 901) -901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtra_dmp in reference namelist' ) - ! - READ ( numnam_cfg, namtra_dmp, IOSTAT = ios, ERR = 902 ) -902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namtra_dmp in configuration namelist' ) - IF(lwm) WRITE ( numond, namtra_dmp ) - ! - IF(lwp) THEN ! Namelist print - WRITE(numout,*) - WRITE(numout,*) 'tra_dmp_init : T and S newtonian relaxation' - WRITE(numout,*) '~~~~~~~~~~~~' - WRITE(numout,*) ' Namelist namtra_dmp : set relaxation parameters' - WRITE(numout,*) ' Apply relaxation or not ln_tradmp = ', ln_tradmp - WRITE(numout,*) ' mixed layer damping option nn_zdmp = ', nn_zdmp - WRITE(numout,*) ' Damping file name cn_resto = ', cn_resto - WRITE(numout,*) - ENDIF - ! - IF( ln_tradmp ) THEN - ! ! Allocate arrays - IF( tra_dmp_alloc() /= 0 ) CALL ctl_stop( 'STOP', 'tra_dmp_init: unable to allocate arrays' ) - ! - SELECT CASE (nn_zdmp) ! Check values of nn_zdmp - CASE ( 0 ) ; IF(lwp) WRITE(numout,*) ' tracer damping as specified by mask' - CASE ( 1 ) ; IF(lwp) WRITE(numout,*) ' no tracer damping in the mixing layer (kz > 5 cm2/s)' - CASE ( 2 ) ; IF(lwp) WRITE(numout,*) ' no tracer damping in the mixed layer' - CASE DEFAULT - CALL ctl_stop('tra_dmp_init : wrong value of nn_zdmp') - END SELECT - ! - !!TG: Initialisation of dtatsd - Would it be better to have dmpdta routine - ! so can damp to something other than intitial conditions files? - !!gm: In principle yes. Nevertheless, we can't anticipate demands that have never been formulated. - IF( .NOT.ln_tsd_dmp ) THEN - IF(lwp) WRITE(numout,*) - IF(lwp) WRITE(numout, *) ' read T-S data not initialized, we force ln_tsd_dmp=T' - CALL dta_tsd_init( ld_tradmp=ln_tradmp ) ! forces the initialisation of T-S data - ENDIF - ! ! Read in mask from file - CALL iom_open ( cn_resto, imask) - CALL iom_get ( imask, jpdom_auto, 'resto', resto ) - CALL iom_close( imask ) - ENDIF - ! - END SUBROUTINE tra_dmp_init - - !!====================================================================== -END MODULE tradmp diff --git a/tests/ISOMIP/EXPREF/ISOMIP_mlt.png b/tests/ISOMIP/EXPREF/ISOMIP_mlt.png deleted file mode 100644 index 5435a75b3ce83568f9458cd51df0209e9b108b83..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 221790 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%0AJzYGiDauL5 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 diff --git a/tests/ISOMIP/EXPREF/ISOMIP_moc.png b/tests/ISOMIP/EXPREF/ISOMIP_moc.png deleted file mode 100644 index 5afdfbd5c5f22d809056dbdb913beef70447b0bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 507571 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%0AX-nuGL|=K*d=*j> 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	TZg8nmvHA2YOzEhzUO$7y< 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ËTLppl=__J0{X1PaV_|9c=tdT#T&!6~w~~ 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 QL)KC3q~wW+<Ckv#U+H5Ex&QzG diff --git a/tests/ISOMIP/EXPREF/ISOMIP_psi.png b/tests/ISOMIP/EXPREF/ISOMIP_psi.png deleted file mode 100644 index 5c46d728c3b6dc012e6ffb669f52687b2abb58cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 467568 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®1hp z_(${KbErnf-s|UhJoPhgZFfxwCOosPPSdm121|5fyf9<|`aba>Pd5>lxW+5T<adb; zFMA}h?~#XlC@Ir6w|W_>eq&V8_{Jh@nBB8Dz05dfmsGp!LiyWZPmcE{NE26ot<9`| zDk;&eW85*(=HROFg~mg15y)<$Q^P9J4Tpz?J$|k+D?Xqv;Ed|`eV(_r`k{7)kLMHz za=AT<G4#_5@_J5I<e9t)Nhd>Pod}_TJt@L|8F4FpHLa<6ywDoQwIIfCZA`>02AByc z_D6wo-u?H}vWXH1n0gA|x<6~5&9KwCK52_Uh4*%ywshT6f1ybfhlS4|C40hJabo|z ze!hM-8Ox!e9QsYR#z;1{*jTn~ZBHBl{c<&3(n+V4z=o&OdIFk7?~AJi+Xsb}(fz3% zNWWalU$bu5rgpLq!TT$2_IiHgwZGx)o&3n>F4uggp8ZHf{WC#n5?yCI>$2AQ3gjO; zMn)<orkLAXPhd*jb++E~vJiG3xaH-S<+GRSHpKOQ#;>to<N?FiCeL$9jgsV_Kj{_# zbNF<n?Zw)Qcg2%xVq!wRx)9Vx?N5JoIXF4NhGX9TIMV!|KM~3_<a~XF5D^hye8yjV zL>!hHz1<ybZG!mc)DR|^thm{P$ndht%FD(+ksD<gO%_AjWiWdn9V4-`SQzO^ah($k z6bX<vL_?prVj4~5n?mVp4Xr>Hc+fbbo<-og1SaCiP&T26OKdC$EndqJcA^@PS6rml zC|6cx9qKzYsD5BU9yF&|cYBjCNbLe6y`g_X9{qt|oGfiCNtT~>>7<DE8(Hgn<Z_4Z z>1hQqW872F6K+_Id6J=|o~4rtIwtJn7!bcF+T1@ZQs<5v<39udJ#;{B3Fz{`<EAmv zz~Rw7GSiqF;99($aGud1^*-SG$hMzq^oMi!XD_uZ8igdrZ-(#=@?dnuz#re%PC}_Y z3w5`-@hBwMepYrb=X3_^k1js@3JY;+bQe<AK03W4HGsJt8GGAG<GaZxa&=JhwiU1R zWe}BH0g9I4bneff^|<q)M|Id5NC4}NCs&7*q9P;LfTh+h__?`JA<BH=zWZ}evUl$I zPtxYc2*h+Ik6CL4sap^?g!1S7u1)EW9Icq}vqgnllJQCDCwrd`u$yq?OzIpQU%7mA zQ-&gbN#)py+{L?aoJm>g>BCLy;!G+h+*7AGsjVv5k_`4DbCO-Y3a89j>p`W&RB^d* zxZ%{{aJ5nT3vDs7w66l89eRjGFv7R!>(snm2SN?8VP?4}W#qC<yk`W`(7Q-uDR$-+ z5`1i7u!Woq1<lWXaxAP)zlxs&+>AeRA^`)#Pz-rlWgN6c98mW%Ra91un&kib%wnrd zL}34iy-RD}x-7&^8(SQ<N*{l{BEtBY-U)wo8mgf_WYs;)|ALU10($g^OXHoe*0xjA zhy0*f$FMYsry3RtqAAyZ>Y{P+VQCGwmdup5{4dfJD<>74unm)!WD<H7^S{&Ura*Q% z!^&igpvF(jdLJ9UF3nsrJe}g0(t=p|D#in$lC&Un>g&{~)SI8k_Eu6jyY%G{zfqd( zHR)OrSl5`)gsvyw!BwT7t(O-4eMl?omXGA&LqS}QQi;;E+0@DX{A1oOcj3r(eb;a8 ziSg$;;dqR`zeW5=oiHdl*;`aWO2;tpHU}46Q}zcTZw0<$YA0d)Mi^n`*jDjV5+kbB z8ZC8BBNME6Y$?W<5<mm3CWaKE!?iBdeVr;!N757y{k%nq!VhpNnn83%uyln&d={>y zo56Ma{Wz$}X^#x3X9C^Y!V#r~U*Z$D75fKdYzoOQi+WIF<iU=vOQ-p>oy*7T`wru6 z)`dw36s=!1QD!^fL^D-pV+C%v92%LO!l4l+j66ug!w&z{&3}?GYYdp73I@sxaS7{U z(w3fM#{W*#N#?(j_5d4Z!n;vTnD8qqoRhBL?1Q1>pPJux<=(BO-Qj>dtG85oAcw-f zM_+KiW=pr`kcnO{)q~M|&Mc}njpmZ>eq@fLd3Tm2W-Bn2BMWhwlyaFHhL(0oQS2`@ zs0i}x!x$rA04^eq{QZ;-`JBvpYbZHR;fj%Yv{4@^g3k94<4TtCSiX!gTnrXOk_R<A zI;30432nYN62f#t96&Rso$J>TQJLnlA{+~$UbFaCPEJA_kFJ#uQ1lBn>`3Iq912Cd zZOSnxgbax%F_qL0XTuTr;8dZL)s^RLs%kb|tN;n{q`u}0;{*|bYW|Rp&we#cD8j2~ zXhzp{)(9j0_J^mBI*p>Z*#}6Zl<9U};s~syqUf6|p*>y)-d_>%R*>_j9$&8LV$Q0% zr~@tx`sz+jUF4dk8m#D3LAh)oGar8(I^6%xRPnzvowQwF;M4LbZ>|?v^$WCbmF+(| zps~)ZW;|-3znT<`NV>8jkY&V6&{fwxrs;%d3-b5vr%=bQhqI%}!oi9>KOt_hgW`1x zZrgGxh192TyR9*(>>p3Dlcv3YlSWu;Dv&bQ%a4~h_TlJj(^5z36HZNzX{#hjzN{G% z`<0A@(K1x6OBD1>q9P6cJiI~`r6v4E6m1A>AGTCQAWE6O^Vck<UDPAA)mem-f{^&! z!9FEP`ig2;*Vs37omnWf%%S4?E%Y0*XhzNmGAr`BC&-lvHQ-Do+4ya0YFhI+D(e^Q z@&`WC*b;ruF&N@YibKhdqnI?8N5B;SZGSdTf2+vzsI}+cVI?fIglOR&G{e$74VD!3 zx04Xuz-Q8{%wp#m?Zb?Bv<1w(l{8(v!S=1v(SNw+ij2D&^OihYyt2g(`F~u1Hr*$! ziim9Cry4wE(HFJ^!aC~9SwA{RwhDA=EYimL>~R%XaYN3<hZyVt4ufVGOQV1bc4EA} z`1z)*7h%jP=A$JSYt>JPMo{vN)`*?Mh4t5;Xu_sVIb(O&8W6$$vK_y|bD3`9N}ptS zROUSi<oofcq5;ddO-y-_Su8gVs$yhvgQoN}3yA}$)EsGS3tV&Qt>*bLm!-5hA6Y61 z;pDQ$Ca@)hOrtDGnD;`$I|DA0dU-T142#Zm$orB;-Ji9;B5T;Sj&i8~#5SUCBam&* z(U?9%Q|+#pQ*4qzPtB0s&@2GzP8GoRLf}d{Lb5H7f#Y5rsQ2Q<t1Z)z2v_b0hs-Wb zil}oZ%oK{iZ25cbn(Aza9YEC`hM83ywSV8!T3OpwZzEFpUM;hyUh(KT-3nPpeEY(W z-Ar?DsxHnI+tI2yuY47qO6Pfm_ODC^Rus$|guUOT!rp}>ng)&-jT>>mX>h`U5FaG* z-z_F4tnhCw!WhlSP5z8r3+m5v8dAp;^-m!>7WEfq1zp=!ud(E)1wPoohRrx-=QJT& zU*`!^?e_}&Ri8$44X-;gu8k+1(wR)Ry(2ulZG>n@W7^(+IrM5&?q(OD1SOyB$K04r zP}RF=$H2|*cOs2CB{uL4F8*>t1%JVv&CNew#a&=`4I0@>8uXemEovRz-HW7-Q~t#n zM*yFPnrCSFdTxM7<el^0RdV0EaF-Imc32SN`O>Sc&K%40(X=r~<Ih=~YG3}*W}-wY zTZpH>oaGBh9E#yyNslC0>Y<@`Qe8i9@@a2Tr-jWZRJp%#D7P+K0F~&!5WyY|tvlK? zB-#}`WmNWdagnFg<>MYqF$STKqkEXu%r~+?-PH(=h%w{8HmE}Zh{q;Rz&k$uSFY*V zJd*pdrYfU^o%ro<_Rg7xihvo4gE257UVf=h{z$WgfH9-PJ2`|Y@w@FE8KlZ$D4G^) zSe~w*XqEPCi}dx3l1+P~Mv_AaI#pj=AqzH0OYn104wiI2{9><CAU4Riac%-%_BQDz z3}UtjTKE;*PY?4S2VU_^)&S=aP*x?&?01If86h_@Z3rDI>#gXh(U}p4*-6N7A%1)l zMK3woCKe*(QHoQY<;y{Dgvt|vW>{{;J`s)ii!=Khir8V^XM^vHBMdxjW5p{W#(Mo@ z#P%_^*4FedNH-LiH_%d2=8f*!8FerWAdW}Vk(of>zu9xyjUr+2Ol`~jw0HH1nfVUe zdJlBC;;F2=fRDX*@i)`yw*~E#ovBn<EGT*4R=Bk{8QQ{~rG*KlNqb^-x~VH^B;O^> zBBB;`!(S?D!q3(l{`6ZNO*nJYy!Ap#72jk|LBMoT__<6g+8N_zq|WPZX~p2{N?x0Y z8BGa0EyQ}&WG(37bL~YTP|X1(N`8FsbN5&0V*;U;Ha=xaYSb?{9!B<yS$g+rj1B?T zYg-7XMd=VIaf$8!<VHYlli{@N>)GE9U(?&;I76To(U6)V!?g51*(3K1ph%ya#46`m zl(rhiE9bp5s{%P35!FOpji|mK1e-A>Hpei>zZc>5SoN|o>Ai{nk!ect<8jL+fH-Bq zScHF=HkgH)Jq)(I|D9Y;dwXyerAOkJ%Y}AW@@KNr`FC>RSYv!T>?EXJJ_%Q^zg32@ zW*xK<_OP8;)t(Ur=FuIkc61zc9J-`K?^KDYbAI2%q?x3Q{D)@4&^g?5w5=CA(GK-w z)wQ}Go{RZUBoqO51uU<^$So^(6)(=Ke7<-;j*H9l*M}dEOALmPhLo`Hcfi8l)=eo! z&_@H>KdbW`o|km3&N!pf95gsaAEAX-2x;nGWo>y$K_$8d`~1^JuW9!vS3G)kStJn} z^ADE-vg5UG6nfu!ws$=KyJ0L4`Bh*qw9gI17Rw0PuC7hv3);(W&DIxBQ^|J(gcWF& zWuJuiu>$dQPysJsMh7Cg(AfG7YEj7qQ9_PC`C&1rE_0VAamhcH%t1P;+=AD%X`#mP zw-_vYjER7p=MRX*k6_%^9%iA~dc+nTLMvI_lLFK!x*ez{Cdzno2f^Ir#1ZA^UUq{* zT&nkGNX&#Wg>i;dNJza$R5>3nw1b+Yzl;l$R_RFyZAO~nc<1@uf`!Au-5Tv1ufOrx zAC5`FJG;J%EiUcs&M-6a*c;~!nQ(j4rC4I4C8g!{)i2YDKyxvP4&dnB;srgK07_eD zlv19vulujQ$e&jry+g)@VH^H#z69td02|hMi6B<+_4;Jk_jmM_e-bYdXVpD)d}^@^ zhUEPzg5&Z!|1pPkl)9~Wd<yXV#6Yk$8Ei#!#M9_P&&)xR-8fV+gh{bBPVv*p6UMvF zvB69d>dVVE8wAG}xg;ir^sf@~(?*08CXC}|St5W!st4L@hoMR-k2f~5<AulN)|zp{ zsn<>8{2?+5`K_Gyz$fM(8)t1;9aggU4y%gHS94TgG9nwrG9dOuW0$WRooStj=D}_F ze*8N{dbZ?LlA48cc3q|^W|*C8Q%7(zw1#S@4a%=1kO0}!oCN;N$>e^uyBMU7|H#01 zJfWjAehTU=E@>U^fty`NBoCeo!WQlAT6?yJ@ti1sE%jp&Qz}co3P|h*1N_9aBBPDg zkGa%d|7tq*X+g}cp)2YS21Fn(TkVk1l^WR>hr4>53Y5CdS`V-t5LiyKPyVD*fd+#m zi*CCJxT5uKyE&cy)NwS-<lH(R)!bw^3oJ^y`J=NlXiwYEm-X6IYrXW}lPzlU(!BRH zB5#hXn=sT#`XdSp-j$3u>W?$M_?=RO@@}z|VNkw7u|b5Fzoz|ak7Or;zPW5ROha(} zh$c6^Y3dQy!xQG<J<I!B8oLOo(teY&SIZW)L@f@BbVO8JOTC5T!xg>5U+b@QopnoH z^k^z-`NZ=c?G#}K)Dwe6raZ8u#?)*<urx}egf7}2Syq+0v{N2*2X?tmUDI!@#mKQ5 zUm@RZRb_I-d0%no@5zFzNeiP&8q{rM+CQozvIRw)RgY@QpvhT3IAg+*_M*2cd0xyq zHmk~hg6Q~c+!9I<yZg!ifEKLb?>r&ORSWb8Jtt~gio?aD#PRYr0K>a-MpH4(H2YGf zx_qxg2`CYDH!C58in>3YsY6s^oF4@Q2DFqY#KT(^&W4*VezWIRkOyT7ET|daqjwxY zCz*fzi69OFu7*QUi%2-@4WFZrKjotb%KLCbuGch4Q89v|mc4lIbiE7^IJ=Hoo?2Ki ziAZ4VI7GP4rvK^yk@^1@0wTwIIyEYb1x)+yeQ#dXms}Ao*l=eSJG+8g8~bv`qu~=+ zFhophCyr9aFuP6JzjS7&v&^IuMv4AvOjq;iRw(C5cMq)jw{M-&rSzvW%xQN8G=*5Q zul@TRWL*0;%y2UMfqu(pv?}tlv}^h7C#8qVFNKsv5~=ZRa5G6jzq?fp6OPJQ;+eu! zq~Jj$&7PHwVmo=gckK-vRR8MS4Ca49*DisijdLcQ6Ns;E2jc=#0mdSo+B7!X1yNh1 z%mR7jPH)m>Fa~AqS9+vHCJ&xe`%?DBIlC&;@&$+#=k_<9oC+9t;@X%N5-sBIvw2B^ zwc?@FURi6|E_Xd1j$~nD3hEw)uC!oYRMcsjmD>=5h%5GS6frsa_j=(cWBK~#^6Acu zhMuR8myY<6qUhaNbAE%WYh>SW1_k|SfGt)oD9pNw>SvMuR|m(gbx<*fA`nt-{CQRH zes^*MfV~*r1J8;j9d%us`ty?av!q}1#yKOkcvOVPOu6CQU#bXm1Rp*z5h?XL)_L&& zfvLow0y(E2Yy~(2W$kt|AUYJgbH6oFOd*Q>b|^%(zc{{V!JBMjc`?zZNZ|;&?L*`U zj-xDv5X~^ecBOUfjT+yhrM1eF^{cxx3-q~=TcZG8*%IR#);|k&b8ZJyn5Dt@I#ZJ% zkn$DL@7|D@u=YZ{QNSup{9^<__jo~T`c$nn!68<4*;(fI_Iaoqjc}5>6ZH|g$8a7H znE%1dPwoWTI<MdK5$KAYE&Xds&c_e+=n*mkT~EaryZ^?D5GjZ{%ct0`srXV$$}_Im zP8}MX8bD_e+VObp$EJxc(`6RA`nco>BB~_d;o{l6aB(rZiC+#8HU{(jY_?}Q{*yte zZ_h?~RS#^EKxh55iG(r^mqRvNIv)tEuchedtPTj^bc8=#9YWFx84u_B<xwuy1YOHS zllVprTx??&mwI%(lf;mrPd9D6^Q?R9Yu9-`4A7)VZB@fE;_II{Qb&3AC3Nyp?i=jp zxK^qv@eR<-aH5w;6bUeU)118_MQr`FXvsGw$Fu?c7IKf#?99CUR0|2Oi4l7Kt@!o3 ze?Cc6oaUYsE#+e^2dHB5jJFqX!3DHyCDB<luTzyXeUp;M&352oWS^-lW68T58-|g` zUpZ$ii`MEx(mwJ^mvkyw=2y>V)_Nb$n<7OD@sPaE5@O@Oyh_IEj-PqD@*dWjS)R2s zFrKUbA++8lH+%ex9p~v1J;co2zICRfQ<^RRYmX6!fbsV2!Qq9n^8apN_6sQUDqpwu z-Z=^ti5cV2qS`PZ<UZOd0on_Rx_MCcT0*!cAA`{=Rrbor%<|I$dkmS~);o23(udSv zP$;*5gLOd?I<X`R=v3HNXA{(D-zApj>;b_u`F-<v0_|R>sh$zcuGTN9`tP*iFJJ;+ z-hOQOj`MVTu*%E@=Dgjfg~I*;NwOcp!cUde3#1eg|0+|lB0BYLO`1Mq`s=9o(Dn9- z@^$lW3D|SyZm(W_kBBG5dBOYNIW1XOw$1nT4Vj9ePbZf;t^d{<2Q8LqtN=VwErA&m z&`zfbdLpg}qLGtCxZ>8G+D>-sA2arc{*AIvzec1;mli`@dZ1@o*llHINBZ`Jbx*_l z)Es(7+d^vbjBCezK}SO+#JoH!2{YfU{=~<ECg5=ecy&E&8Gr}+k)~+}Y>w|1eraW) zrFHRD9~F|D&?|pfaTADfBhe4p&`#_LD9zwuC+w+ZrJ|{BC<mgx2`N#3RWJ9oDkO(M zQZqjL^aGP@0cYZJDFi}lhV7U3PEO~+cd0P1_Z>-olqnaI#yk9rtQnH5x1T}j^cE?z zzOI0q@G%iq<q;g!@g{XeRVdOQata4IM*k7BZl_C80}Q_R>|;)m*k1+hZ50W|rsM(H z7|;cx^XN!w=~G~AlSyY37TVBDt%F3onR{Y%q>0^Qxc00lOvS=5f=w8G{UOzh3pBe8 z9tzFUU2UXm?P`%JVE0UDX5GBg4Xso2xR-8+nHC$V0Q|}sECtbW0DiZ0#Ce?J3fwWw zKaP3?EZzE_<mg0O{^IcnXcjfiysZ;+Lg{26Tc5@Lch!0dLL{-bW^O|-i#guMJGXTx z<b%mlPZ!ZL4cg+7-eDnCIv%Qiq!B*olC-~a#AuL}RggNn<&#G6>8tCGWP8KSLEUpE zJlS=6^G6qbuZ*n#xYD(NgX$DljUl~<-D4+KeGLNKF7bdcVHev;=bG`mYI;9K9>*H! zj2@#Z1?qD?UW~BMT-F$s`E2o=!`pls_yM#@@7H+UD67++N&!NOAfh2<oH9KMUz3H3 zM@&4zbI~?dVhjr|6$<YGfyFq78YpEDl%<r{S}xC4L9<x=o8_!7YP^edFuAMFc5}-D zf{{C56C!HSZK$D<O+_N?MJgnU8RMcY#wEdjcb3s~pwnM}_TckWLx!17B3Ow^w3Xu? z8NN9eG-CA?e*!$PrKAQO@yNhLk`of668Ut4p)Mlfp_;O~)p<FpNs3O5jp=*ogmR?H zCrPya!F(7*1Ja^G1e3iHEsx3q$hVQ3t4+yw9w%5zlCK!OB5KU|?Kv^K=nALOp8d77 zmuIR|6t#A7PCw9wMWhBIh8WJM8}71mM%eMVc3JCE3;4^?meWq4Gro{k4>Zc@>>B3g zt*WY4>~;k|$I6Mo&QNl*{rPTs3kv0TA>Y_!wZPN;puq3zmIv-mmz?{lXo0$UQC&`5 z$ljW73w7vO=lP}6Zhz%n>Sg^ex?3Znk9!kaLs*nXkN0mI_s)DSV^_r_o&3=>VBgdb zdK@Xuf)M}s{}1tBx18pjtL~k%Uh!nz_d0wVIk6ZUdcZDTSsjAXB^Q`Xe9!X7bA{+H zTgZd~X}_{zUrh>kYVmV;!v#0*nP*!ZBas2mYE3x0T7afz?GHwP8(E>Z+;hK$3v;{+ zs+d2hwSQy1G(>Ra(2Nh?3;<4aGv&ZuYhA@W&+Kw)?30M(7sR1lznammes0dHs;0}% zG^1BRYFW`0t0>4A^uDM9;ly=U6Sfm_MxZdw)H<%DF5;-I=X-7E9vX@*e|Cv;EA@JB zKF@lFF7zztPH;VFEVpvWOIKR+_DsQwc^7&jhItt_#{y#eDK5epR1e@@cpL{KMez2) zyuP<&&Rf@FI>29n57Dc6>0JI7wBOECn5t+7mVH(z@y=B5SKli~dsV;rRXHw}4LwBA z+b!lhKJvVV`r>b62UDxIK9+DySwou2WZ-vh&uclDhiWZCuE|Bhxox+lidH#codM4b zlO`@olP7h!G5>5Xv+l}Mm8h?<2r4)(>F;lESNL=)FNtVxe@biqN-vy>doA0A5f}j6 z>nPIErIh*1HRo)Kk4oz&>?|Xu6^_YUoS3ysj2o4Q*h1nkrAe3FiE6R5z>Nafm>o-? zqGH$M)Pcikxm8e98DmSCybUV67cqt803&x#X~p_6^XTH$!f)qXMT6Hm{N#}qr3ENt z_btsc)o`s>p#TgQPXVG7hvo0)a{o%DxJYWW{jPhgz8XUQdv#tU^WOn<pwM!=Wh$?K zeSqIGuOS$n_ubi*s)7^K>bs3^9x0zVy>QfD&seIxL6i1=kGuMOIN}VxPS1O9UldJm z&hX{Zg3`XoDQ4eZd7&^GgdV9}>iA8w3p{-O-CE{!&%Sf0vi+lo<mr*<*c<H;JTyW3 zjA5ukHa5C|b_JEbQ~qK9=&br)<26M$bBro~tu&CZcFHA{Z&yq#OM3e>K4;nE30fYB z48y=RA8?_xEa}^aD$Bes>pMQw1DEYPU9$eNs4!ekR&bKLFCE$&W~7s2rFrMFGA;+a zy!kml_(Ff!*O{!><Me1d%cwAdTp)2FaJjAoZ(2^*1w12R!8k&NA-Kf7;vpm_BKmKQ z=l|_Il@|E9*e^Z6E=s4q@^OXTdnqSafkebj>gmBoCRP|bcFD<{Q9G&<NPT#lnUi~4 zvm+s5zG%|iK#_VKC&>==gKTcfSU+yNYGq9luHCxa(OhPI5qo69Qdks%Xlc0vu9j!g z_R&t`RJ}EdB}&^<CFFiljG|))>MhH&LivxkuJ7~T!i$!Ee9<15YT}?R;HYca$Hy;E zb9I8Y8(<6J#O^4ZR@P-niZsX+p|pST)x&2*gyFPDbDW*Aazj8^@liF_B6-iF6}cm! zyjCZFwnh1~QoymJhP>6Exc1C%JQ#ywvtQzDQpnxjO!T(b>|d!&XgxF9GTZB+$b~O& zNI}UX?)d_dMh0#iBTUrmpsv3gSq3w)g=r2<uGsexP`XjGha|n~5GY*{siSS!HreZY zE$$zjiCJbU!*`GcjrKfY;gD)M4K~KyFY2vBvVTE@H8P?8G!;t$p0(wNVk4H-#9nQj zmaNYyqADb_`KUKG{T!(d{sy^@^-e*w{O`jgxH<#F`(@1;?6&|MBV^RD$nUfU1qEDJ z-Z64Ihn~I9ZsRDeA2G4~3~K7nS(K~kCB{(j1hps~OUCv;#bionL_2!6GT(&$q}Lin zl=-kWl?1wJVX16kODD$03YbSGLY)Ci1MoqWnb<<gO3*ic@W?j;j-R=@Z5z6UVW|Hw zzy^-McRb2%cT}(ut&OY(<;~4^h;of0Q?lXUyz{7UrXigRma(tEeVLN}Kj1<M^oRJ& zN_Js%yq1h*(h?vyIoP_Vz8$i${5s(mT*jDCTKN6o+?X8NPTxx2XM<nXU)`SD=YZ5` z%6N^421H?qO%ur`o#<qg|FuB<*%G@)P5O=6re4MS0;)~VKmx3%N{%rcm2NrTp5h_V z-5CyK!@_@Xfv3?o?0g)2J+`*=YoAEEgYV@XUw7Xj>+dUk&C#HdJfjB#cVS`Dz>N(P zN-C<SR!RzJ#jw0e@U?7XoxjW2i4;x;YN4WV?Gd;%^(?#z`4$P)B*?G}OCc#A<g37^ z51(UrQd@r<Y&o`1h&r{<19JJMco@bC;+AVL?~Hkmeop7U_^!R*Vpq}4yV=gRKU9)Q zKHILh&w<T<hgrYtGJO3S+UF$(3%n5i#P@WAja`p5c<XHo28=Iw4*)A(5*h;Cad(z& z(a?8YW^55a#6K#ZxDaiLBmQiSwn<h)Cnk0du}y+U&2NlG*H%?u96}s*PM|gs7KvkA zCj5=|O?jXRvVhl4lPq#gq|9(&(c5jYQxh@GQg5@@4-4-?)eQA~ohC!^&jiz}(Lu}! zmo(i|3e}X~OK8ZrC^whNx;JP417BUOKF&*G|4xV0fAj&odl|i>XrD=I;`^swwO#AL z6V{@DS)JW@LgCbR)GwfO0}7p1q}vTQb1Qp45l^hQCpd_zNya)H1^rz2SYa5ihC!uc z-kqbV5r^)6_3OQ-KUOOAjY>R*{D~RbV+Ze_x|8Cw#eIM6I4gL7;h+&f!S8<~#$v)F zq+kH`v+G6uM+8hI%Ion-D14^rI#qYrxk)#jpP07%b~P=lX)mla{q8>g;o82fX`R;z zeb79rAEeannSGi<j6t?fz#|Q5O!&A0f#|QHXxpLgB_wy92w4tn$s_R{*D@z+fu45o z>a6Ft(5FP-=Mi2U6$qrCFO(-_gmUzpWL|+6(uX}pE-S&>r2yit0Ru?#6%*R_CB4$w zrz6wvXKV<}#yJL*=C#WVq1-jG#UqW>tb!`WI$M(}Inafy1Ls*vtA`f;m=TPtNJAk} ztlfGwUYgGN4twc}<Ftz6()_i%Fh|53$AKgBdKEpLg70-m$VT{7LxXu=@1QRF?L0TP zrwS&c>kaE9=xG{hU*OhGS+q}RmD4ox75-fr_GQAIGep?RdvxWP-a~o64xus-VP+?@ z067(6zww5b9Rd6L!BYtz{tQNre$7nXo)~$*oBP%B6C(jV-H|CN@f`{=UePh>evg#} z2Hx5xeGT8x5L4lBuI5K*=F~xgor^Cy8XBTGuHW$aHq<&2B(rmo1y}`WK^<(BZ5Q1w zQlf&Zv1n0MwOZ);r>j31!Kib)a^anXc}ks!0HP`~g`{7yma#LMuQ%4WOc>W=$KzL# zyxqsgMm9bKc&~N5eBOjM+I6vbuDLeuZ8UGpm7lF=jTcHyRmerYyV)kXwFr4>RM}d= zgoR2xXZb`(Tn*YTS3)`xe1Ws@0?=Z;qU9&~`zO_33;0c}hp#L0z-8opcfEABMJ1Yy z-0CNy!b4Z>cGB@`n>l=M`L+e(5co}{O9PEF*ua2Xu1%Ubq$$nOs|lhZDe`*mok0G9 zyPa}brisSoE15e`^`OD@G=><&T-mgiiXQC{I98HyYN)pfI}e+1uqPzYmG79rHlp+Q z4v~C<tcnq57f>xg{qw=3{2~Rv4<ts4pf6&5J<T9k;^$bWsuxdwLneR<!}>{s*lawp zd^Qigs$RrJ0ZfekeBBL2B4!fR<R^2R(59=Je#*r2Zv0^nUaF7Kdv7I}B=eE#XAyr` z++NR~&EW0Ydow@Yd3)O6SZyy+geG;Hcpi}-=$J5it~<Lk&w&tKX>Q&XhJ3KF)&;bp zXY%&Dur=EMJGB2;DzA$48}F+cUh!}`b(fDT?>_hCnFca{#&S$S1nBV<WmsG0Pe_?D zde6T0>A33a@;vUW!Sy1@f(PDImhA-9)575)&TH*K!LLpe*19Ce18XV2CPvX2FGumv z&dEvuOOh&8nwZQK3)8>@4+Rzp$<aBn!Pf0fs|ozEXDHe$at07%CT{Jb#p~sbi>5~% zK4<CA{0<nM^Xo{!D$2D%*?SWbXN#g^@*@juapj^bA)VO*X}(<u20x3~SP*fx>nl(4 zrWh@?SZewCEInw+d`3I}#2fwN-?b;z?P~QgQi>=9UbtNwX`1VH?ahBrX}|w)W5kIa zaQ3yz;Q5ky1P1)!Kj@-?k`olnxc@cj3e_pE>Lr;aZP!#{XS=jD1W9cPxBny~Om8xM zXw$byp3wV&RGC!}Xg8WD4M>rQ$ypoluE>U}PgM;nNb@~J_Z;m8{SKpcTJwFB9+fzH zDCmbH1mRA^_ug?q_DGELy+w9z5JPzeAOvJb2pD0cYaM16*@&5{e=WN%k_d=Lz&Ky2 zO5eDlPN1NE(Z({q*C1Zg$q4FxkFf=U3Nn-3_@r!+7`DmsbSMTT#vJaPni8Q-MgY+T z!-0RC7|d)#xb>iu1aTx%djl^ZN#)U<-CKB?P^f8TH7Fh;SFFObua7Q<VkEaOqE-at zmdg`BtM=bn3g_K90k>Wv*o%50t~tBpj(pn}S1Iwx|3lSR2G!LC%i<Q?o#5`lEqJg1 z!QK7f?(PH)?iS$S4#6RCa1HK3gF7Ke-X`C@@74Q36@^s6+I!9P^z=-x43|;>(dLr3 z_v?)HA$aa8wD}vXMvGEm%l(2u6fpK6N3^$uH1L?<Ts9XBr<<r%T)awrw;=TD9q!On zMo+(Nq_H{<1GFKulaKtL_P-|Tb9ra$#|zrOp^o8PQ(ywXAJ;iUt*Gnx|7rmkSj<Uc zA2w`OF~4!<svi3P*16*oLSc6bgWu)1f8?oH!-FHceC@C%6fpp5i&XJuVuSgB21Yj1 zgAKWPTd-gy8ZfS8H;qlFH3;xyGYlwCPOr`L<-b<v-8+?4Q-2eB&bX6Pq!BRR(gbtB zK$|1MFcqobspq_{(bd(fZn0Ic@6og;tM+Z-4~TDJa|+^jqAD*K#!So%qYR@7gF;?@ zjC;I?2<+xO?&hSV<fOQA)g0_3$-0Q%^XDh-?&mxPY%aRD-QM3p`3!F0-yEs8vA|=O z{%*r8!lSp{UOexY?a*V3jSf1f34$+^Ba}cg8pm(@Wnw=~!-Q?vruO0?1z9~@xYAjP z^q{b8tRBp0!o&mK(AZaUBsbnSsJguH);{7FUdy*NllIM(tMGbD|DqXj*EwmD3mo@2 z${JQR`1g_h0&ylp$Jvk;mmm~dIj1+H%@AC+MYyH+7RdLBeQ*&jOrb=wC3?~Vg{4Kw zV}c8p=$5)0NBKhx0Yhlt6EP!}n?IwGI9`(3S$kXF2@g5bS`{6K;Eh(53lA&%jXO`Y z!91lFj+X{{(E%@Q(Ew>{#YxN3aQ)J-$3r>NyNZY|!E+n>0b7K}g8<Q$F#x6`p*Ny+ zvxX<cnn-i*KIkxAS8d!)uXF|{f{vC1P$<74YJ_8W_SsXsSG5@1!$DZli-`Y#{=61; zXq)GS<3TYUFLI$boaiejjaXS5nJd(6ruH?=ijC^`+G=Eo`oBB;x>n`C6Dq;7W$9iG zN98*#m|1!9Y8~_pnh48#S2PUqe)HP_yov{GN=ac6HOH|$aji4m;pyJzWs^`g_WW`~ z9ZIRV^>+2$jyH%p!TyjVafkspDxx@u6zKibVy?FJPo&4CK3f!FxNf(@%u&3!1K}@F zfgcNvhx!AxCp6KUv_0U}+Jn?O%zc%z(=W2n+Y+|*!*cBLC8BDo#=j=p*Eb_orXo<5 zBTO5WaZDDN<%mPHL*t!g$f$2nd>HY7Y(}Z7j$uR|nhM#DHB+&<bL@~qc5){kr$DlC zQBK1wLc1f6Tm`l&-1`{5Kz>~ul16>0q>yN`ou_NNr#)S2+rEI<^>b6qG(KIxYU`um z9J+DXeEPjl9WtgC1dvCrJOH%oOlftJi27*d)YN4kHNV$<N&q?WH1*{kDnO&Cwr@}c zHFLf{7y0roMq4T9lseuS4|W9)DrWFIE|-q1!}XE_iuRCCjiqk({lOV(%`O9CMe!bM zDKE=zV~U?gk>u2S8Nq%KPSjVe-l=s!wfaR(5xRr%Z8r7EK+HiU{pHP$p94*1UtzAf z(EQA>tKX1ly!8;?)<Mp|avb{9cbHw)&ablDlw1Poq9$3dWpN9*sbV(=6|AF-Fs~lJ z5|W}m2TOg60?@ca`KXmdB@F-s4bu&sH?*)XrEW?y*!$a3?Aymv;iSQYn&Mj<hH0-p zhlEiRQnnbfyyD`WPv~_@+-9wQct9tm^(7lo>jkfhEl@cIrgjZhrrn1@Vyo-EDFG56 zuI>GK$^J{ao^IUW(9r+~4gmiQ!aL#cB-{i!5%|k6{4{=&>KX0|^?Hbh<q^W$k}b+s z_a-B}35<`v=tlE@AU#MqDT~il=dQ^utX0SuM@LsZ#g5UNKu1U<bZTSBGv9aN(|ZU5 zjHG482wtFgt8kN*D3_}&I2q%N8OpfA)H<Ym$M38Q(gt=v^*W%8e2uu$Y#lKro@>iO z`X=L;g<|_aK;fE!ljRI67%<?iXsVrIiBCwvgy9;5=djH~jgr8f-1q@yZXAf0zdu>1 zE!(-<KiXi_;2|&q@1H^+(I@Ve%F55Yha7SmJirYV&<J0%l{G#ktYQsE*p!~)iTJ)G zX{S}zpYc0By9~4F@so!3H?lMB?REo(-uBFkp=OQ(tMxHPsg6|5-kfk1ono?{11%@r z#ZF~SH%?8vF{o8ME#Q(Cnc))f*^u8KmC_69{?{^mRcI8cWeKT}7(ecoKeIWeq%XGA z3x<0qAs9M3A#@nlwmQi+VGWLjPgc-yVB$!>dza7!nejkeN{-s|9N%XY?GL#Iz3BNV zi2Wpzv+cO^{lxCW9SWZ_sgGVC3JWR?BCR#y#Y?5SQ~6Hby=RZWF^*-K{Xw4q9bvi7 zIj3`<$qq6iIoR`Nf95-Ps1ZkoGnw$%mVms#)CDJf`9fSahYK?S!jmr^8?QR~HWY=6 zBDcf)ZDbj)>NkJm0WUu-Ei*L%bG4DimEl$}X~W8JBY46n9g)3E1~<`Snsc<kEKc0y z3w1f~hcYjJG+@fIXeSkr<L*o{*+m}fZ4S-bL_0YLws}Ft#kOj>Vo5~Z4U3|*c42Hj z?RtC5vwIx@Rvw+Cc3~G<W;psU1pL}1Wcflk<iG8`_Gx_b9DBlxWt+{k4Dj;WqvE&8 zjY&9qefwTHNSN0m^00(WIe62tOdw6&ELa0_O5f9^gIS7Jx2LVqq7BNiyvgyIE96KI zV4>>q2Jw_WMWbSKw%Bb9$ZZphZw30z3tJ8jz47Z4880@%1Q%pRS<qN<C3D-9#QS+T z2eIxpuG)1dsxVrL4W3w$ozEsvqHe24a3y*DK@cvB*OVlJH&=Vl8#z*#B-qocq4I$) zv@gyAm74==E|?pwCY00yEC16Db^}}#eU=zU<PF<J<F%CZo-_JYaOB0x&g(L+D0Hnd zFsVz}%vCj$cUG-^4wC8n(-I`(5^)GaXg^_SysD3{3aeyoK|1qiU=4@|J_(4;6Ja5M zA(R(ahq@2xfNr45ysb{GM9O_hJseX+N&{B74jbR!N=&Am`*2IyYG89Rw5>+f*eL3w zxW@KSr184P>F*L2uN~;=U;W(dGuNHh@pqTMFB3C~UJuxLHws9*{)_9tJ-Q)%ZHu|d zKPx#|I%*%xa$Y`DZ9=y+#@)phcxxVLEG{0g8p490(x(#$7z;+QQn`y8Ld;l@3c&M3 zaU~fpq6d)udO>2H?`3Nf`lcaEEnLagT$vJdYSu-;FdnW!tfZy{_{3cfo^he1J8wz6 z61q#c!=h2msE}_kR@Pul3Ztn{?9i)IT}zZ!A;}+zi{-3PE6m+1rdQ-Th7bN;!Yeu8 z-TlFuqG%86KCQwfbf6!wJ1^|&`k2sP9B2IPRXtB-j0RpIl@T&`56E@Y5HN3a?qrP) z<K=?N^s%CCPN5jMK|w$UBU4J1eNs69z4@botnSr8F$zn@AuvL&ojpHg=sfY3pfem( zyZ~Hh&iu4z#;<$oo$JcIy*y@O-ZMR^6m_<>t+hQd)nryNQuos)DvhHY39FGPjeRlR zz~9|#pGq+PU&@}*{CAkTu86j<APT(DWds>^`a$=YewdWtN4s3B^-Y_)3w3=sI(7m@ z91a&Y|KF%qJ+t=$qqnG1vXATyhLh^?pC);)vLNxQeX&)$7~_3G_bLXy(#EEQDTG5b zEbmm`^CB)ukPC5iXk55xNI=u#)<t7{FnueTIjlmLEQKNu^%uduu;|lAPWY3riJ+LJ zgW@cG1)n%nnnr=9wBew{i7sltDRRRDJCH-QDq_kwMTR7)L1RvE%xKDP{kVeHDXCAS zjU`o%Jcwx-pF|)&!9`;*D1@AY;f|mZ0kY_GlKMv<aywzfJaKH@s-eH&9Dlrix8wYG z!pv9&mnz6G=J_uPWq*aL24kIIWjUD(+}uY^H6h#MAZ%L)w_Xkm@n*#?iLj^702x}Q zZWY{I3Pcd!PB_U<xz8@ZE1!lc=khFvgk>%iv$b$<Vvu*R_bd8hywvG|ah6Rz>Q1|b z_~q_zlNqP##pN7Ff%0qk_*&Z&fkWS9c6|^D#O57b0=wGFe-xCI-M{G3RP!M?TqrkT zY@+Tf+~l>h=iaUA3Y1<r3Nvx_IG?xJ+C*^=U9YATHA(rFBKE3?CmBl5zCQVmKZ<iV z&e$Huc|-g$f5-acU1Ts)1V=EXVsA{QgbSHT%c<z9W16ZIku=B>KKjNgih6t@vZ(;E zpSXOFqkW>VnRs-y$)Ad`L<q)?5f$=&G4Q&$=n8&SdolulOeSTLb-e#a{CQ(VMKmxH zNEp;{-klv4HT_qwqFh*s{QOfD(IPBH$_OfQt-G&9e8GxCdYx{|po|>k02Cq*{S)uQ z4@MeB6lB2<>bThMF+1EeZNeXCXP(@xP<q@Wc0w-3i@;wh?|L!^vW&BeL$WmXqLgTH z0|jB-P(p7}LT^xre8@syKfjA<weblb{&@As0z(ghqx?p%5x%Z5*}LLdI(?{&_t6!n z^Dl=Fe1OOGx_%;Y-@`~E9(^ztrB9Jc=f`38P~V;)zSfllgEOj|i*zEV`*uuLcC|3; zbc%*;f_pm%F8oFS=1_w5YWMDQDAJFPb6X1KJX9j0?aWxDoK~~{pze%j4A{p<fg$V= zEH5wr;p4}JI5J?s2w1!lVIvcq`Gf}Y7~y&5g*D9C^38S~J9-#85oQ)+mYA}N-Z;*$ zEZ2vi->I$&d*DY450raMJ(l38Ut^Ay7a4K~u+C+UFhZaAR99&;n6e`-jfw}91QYkP z97}KRkAg-}9kengB0lfz3ao^j0j_dQdsn_RGbLOxZZauD)<3`LRLYSsDLmxOpIFy} zm@=P|Gf!*QwDj~8Kp++<9v+_W-@{r;!7-yf{NJ%#HS2t~C}o`3Tw<*}KW!s{d9*Zu zeA*KBl}g>JY=9_0!R<{Ctv6B+t%vb%)-_0YUN0D|&L3h;4`Q+aKf8Lzax%15<fv$j zf|yb%pVZ_Q`iyhq`+R&kCdkzr19NM%qLRNzBv8ISql8%*ZFkacVFV-cNa~GPXWw^U z3C80pEoRgO=#VH+1h3pBY|w<C@PvENv#RnI+d1C6_!FTXXO;1WAL63K_wT|xRVfO+ z{GixYUTpRcym}FbE2_u(a~nD;f3T#c+?W4?+bs~?>m@`NM|?}&-act(rjTata@u@F z;p6$kphn5}kLU+M^lvq{{>IF~4K;tSF-1~dW1yR@t6CFu3r2kJ_0B2lPNxp0#TH59 z^<=z;l4eX5FT#<?J-LQThHN1D{`>1C!BGK4*a|O<?uTMN=e5yr;mJsCr@Uz2$n!&4 z;bJ)q>%aD;kgalE-mJ#<c<K{J^u~GBU+x`D@=HSmpq)3Sa<=G=w^m3fhCbh5c)ke0 z*e#RNL9A~1JW)`d34dC@5zI2@ntt%AsTq$;)q04bSlTpQeu%Row}SgI%bTOFj_-|B z`zt6gnQ^<Bt!nlwua;_K<PXrU_DO1Cm=$k<ez;2|ihWgnDJ*tp*yhKGbyK`>26$84 za6<SZvV1e#aO?ETn&mKlKM+_%U2`9sOUNYjYQI(lafazf%gdM0+SZURm#hsP0sBM+ zZB`i=TYw_k%e1enA6K<FB?MJlul^O2!*Vig=;Aqics4f1{jtzrgq~fGDe>N(TKJk( z_!3Rs8+pZ&rmu%RQlPlxPcde2c};li-yd9^9y=Cw7b_RzayKBOfC{wQ;3kaI8eL6e z?g$$?pd|W+^2z`SHn+oW*Dg;&ASBz5I2`M;`+F!U!FrY1<<2?Ht<Va@EKf#p_gCK= ze~tABNL5pte}xIOqG0EYh=P(-lRTWN%@|>>vL$aUyrN=mk8Ljrt4Pj37paJ&NlnTb z<RRS)q8@LVw-TBn9$o5V@~Dd;#3t;oK((NPC5%UVBfF&huTFAlo&IEJD(42bFq9~d zPxtNbx-Z(hOX2*Kv2FaZnq5@O8TpaEkBZWJ0$1L1l3u42<}RWxt+HAw_G$(&ws*F+ z0{A46p@izOa5BVhaa;@~$8P08@OW>GRr^pTjPz7Q;+7%yH3?+-)k}I@y7~*A4#%Xe zf(v|e0?R>Mc%v&=0oOF(1s!)c7aKBXG{GVR2}jle$Gh5Rv|&bQLz7P$c+8Xesm%`u zpjy!W)AG04V%r7Jnz^g{U%P+ivz&<InQY>L5Netww!Y9$sahz#_ioW6-&wGI7Qn&l zs)p6vb$9N_>N-!Gnzg+@Xnc+BHN`SA4j&OXff|Ia5$~k~nOqxLwo;@PhXnaAAMA@C zx|CcQCnbz&b3adDXs*Nk_{+&Vua}R=kueuejue9S#3f%NUQ^kRMIaeWr)j0)7Xgn{ zm->|}*IokERU`d@^!37>AEU*F*I(An?ZxNpNp}OC%$WXEpy04~${P%<-sm?f`fSKv zE?azno$Q_cbHCm|{TdFjJ<=o~&}c)EGR1WCA&hmx?DpLyOTG(+7B-1-Y3uu6(@FhK zp9m-4?YqWFk{UB3F3Izh8n#xJh8Xxwuys2uULSFCC64b;>r%n4%;z;#f(z25{p6u( zvz$c)0|phpa#1l%6)zrV@;Mq_FBTRQUBSS2eoV5|hd#67Z=~&9`1NB+-Nk^ZA{Vs^ z500}OA3BbMA#V1V&>pBVjQ<Kt)fyj4St;2&Kv$&nRUl}TuBm!gu3@==ohrU-oM{_6 zyR=h3{fMv|rBo|h9LO1i8kUYUMRt&4CeD&{n2D#T_9Z+uZ=2?c^SU~oBqn^*Y#1K| zSlyNVoIRT(*NjaM%0fzZ>eK`Z$l7x9g|z+^?B8E;?-rZvAH`>YoHyQ`I6dl4{Tf8| z;de3sKnOy7I(1z#`sqzpOzt26dnQ1Tyt5*tM;TVx!xEyrXakW!4Y5cF;S8z_z0wtL z(()JayGimm0ax~O6JQDF#Uslmv~(%~TghIZU~xH^_-v9_BI@nYiT{w;Sg>cyz^I5* zCjxmV)S1B4J@4P)@JE;21hwL~fxN%JS$5Qnj4to3ki%`#XJrs?Kcl(RS_br?$5{V} z+Z<HcpWVEtc{Y~Zv(Ri9EY)CqPsjKat-vw;uyImZ{^e7zay*9~Ed*x6ii$Cw_p8|l z6Mh7r{p_^U-AiI4wa~l!ci6D4PS9o&YlgfT>gt9iL4Ut#q^boy5>ApPi#Re!6dAhP zJpaO07sCBskOfUxsFek4OD~3TY%bocqN0(iJI}K#6MLc8uJC)}q1oTS?pT@fTM)xr zxw2`!vc!_5o{zJy2&K#YZlSIVuhhG<wb-DlBJ#NlXb#pfgClup>%RUV*SE7XX4S<w zxT!~6u)GZ&*RH6e3PZ}Tz3Vd)3ug__OJ_#W7lM9qhDQBGw$hF~liPJ8y7m<1!NN$+ z+l4YP+s{o;nZ}MNJBbXHiyjkG5V)0YBt_pC;E!jO*IxPHto|i_Wu*ez(;hQd&8mm@ zlwElfQ4S)$*xZc)qE%VA4Fp!CC!+wJ@x(u-7@h6Xk8RCRt82k4P^;TMOZw<)er_AW zbLD2`hTB2&M8jTPeLuN-@e`8hM}BIZl=PL}jp2}*6VAjHr=Lf+NJRG6{wAVTPdfkP zY)2uhJ+6z-Q9P$Xp{8;;_Vy1~RE7RWBIyYe-ut@(I#Zj1z0}kXMRFFnzvAdV&wLNB zu&}k72@AKVIw0|A*2a&G2Fgj)Kj9{peb-#!<O6p1T)+k>lcr76oqAnvM;`4p({HC` zh!MU>V6;VMso@c%-VJ$f&0uZZ*_8}6O^sAyJf(u_wXdJ{$pacI)XP;4kj8R>ji%rq z6>Wp&(r>APHUxbSS>&7}rjtp{qGPB_7Dzt;&DEmab8+AaVT8Ni6|7`oKOW@U0tNnh zo0qIHE79Z$T2k)$3j?JTM&oInNZZ|>;ra16IdXzN+zw)dgQ3I?TqR%MImKc;5!yxH zYxTRmw;_6y<4V)HV1W0^nqUxOQf>q63}*E|r-u@@;Sei>(KN^5$QYjwQCHm)<@|(L zZ+s0JRL5fd5SMVJO@c>yyP7At2G4o5y#(3%52SauzdNxHv}OBGnBl9xB#5wBlKMyA zJUlnkVN<udP-0w?<MG$ZS5c?qCiCZCLZ9|fGcw%JrEZjPg)1=bAR#^^<u8pQqX>Lf zSQ;(+p(ZUB!M_p`PnU`6cGxfS{BfIu-Yb(`Ktd<h!vAnkg6%7XsLzoHbgfD+b5m#a zA4k-kpKRpg$6$|4d*M&3-y3A?I##)kf=tfDdAi~iLnTUbybd{HiZILGlcM~B)(>kD z3<0^vtLRmuxLZp)G*2A2CA8`<=)k%No;W((1c^I8>(&P%+{9m|7#-ImqUO#|pA>T2 zV@~LBvJ&r_zxFMH@D`RUD|4$FJnG1Tn?<plx~c0t47pG*F7tGOY207$E4nleg;qOj zxdq6`yO1nVG1fc74jEmpjW>+?jx=YVQ+<v9RBUIaU;>!+VuXH$(}rTjACJIJFAAN| z7<En&AOhTIUu)N}AIp-IvrwP$AI&P!G*82s{dZe%2MxndP11#U(<y=>L%$tDUHrcU zKiW>@RP||A^hcs;)<j?V9}4An?|vG~#^p)K?H$iO*^?f^#4;viPSSSRlOR8U&8mBs zz-}h;EN9FT3cC_mPLm{o&8TRKjz>Bm#qvD-HqTt~dzi0JZcNPR;)yBIalMx{5`Qo% zK1YhSqDh9q#Z#n&;T54F$!ICI;hXjeOJ<D4ES;IdKpc5^!Xsk!IUs?k5SmQOF%PgQ zZjy$<3Kq<ki9rj%D{phbhf2gcEssoR9{-ti$5nzl-4*nq(SD`*ubIkSBjy*ryf-vh zy~lD4YxEfq@IO5Tx^O`sUycDVO9cUM=Nt7ako5lCJF6J)zPJc?8q~J2XOWU+s16c% zQ#e~KH)PNg2JhO>MN66G|HS!YQHbLB)@cxLJ3HY}JCEsg5FE2Q=~basQbfI#Q&=}k z8+Z3Wz6s46)XoS*nLgbmRpcFi+)DYy;|!w0ok}{ub9j-2rTU-n9rLl=0tauxOsHZX z8QleAKzF^HCsb}9Az&!B3Pi4^>Yd3B;4;(_&)z94dE|Jf<mfn#sgmo8qIj)`EQ8%v zZT#Ti%8Vg58TW5@_4c<+k={um_&c85U&ayzFA8t$Q&J;sv$fZEyEd|5%n$Ko-=CTv zD~Bf`<TeT7+AqvN3jlw8QKf+TF$nqFS6uXF>bf-JuwVXLC!%+~D{XMTUV2EBg4tjM zFWb-0#VsS(g0Mb)&y8CVBgTpN5DB-aA-c9FcBi@zLZY5@!d?nMxgN%Re^+>ri|GI7 zl}X+CH`pTO`)@?Zg}~ef7G!h+t#RvruonhLNLnp&+0!}f3E1@pj|^)meV$0r;?rSl zTKO>dSX1<mRM+W6k8yJN3k?~jN@EVe9M1gC!B!lCvHU}LAt=-8;Y&xREPD}b06Lao z2jf;?)z_Fm_+zt&6Q6UGQAB;VJ+Nw>GY&-HZeB(c3!bW@7AnA_qjby(KeBYJ?#T6H zHMTreWnKvFOY-%hfu<FJ=VBzASJDa|PEo6J{kiHE2!@7U6_7LSJi1$@w--|yDo3Sw zE}h6{Imm$-4m}kbNHd)3cn*F@3-*ig%A+BC<WL62XwqRw+7`5aFYO+RKv&H1pD=xf z{NMdsJ4srB3~JO}BgK&%`e&!uOXaVelj;S)y$Gz_yBavm&Q%hFN&TfXjGaTnJ4|&0 z>vMvV=!ajE5th~4U1xNzIP0O=%6b2$eJZ+7ibUB?0cNG@*Dyv-i0P(M4hp9+<Jw;N zpQ}tGA$td$@yz^PdQX0vTO3nBCG<=onE?sn7%#W7QP&W4Xu9&M&aB?>X@ZJISp)Wl zE?85`&DzNWr+`_su8tP~4nLRA)mT8$-Kd=fOBHihd3aFpOTP|1vGv=Adbad!ibZyE zO&v=SZ?)K5Ear=!XG~8jN97$REpGikE{!+bLSDk!?*{8#`)(!`)mFn;KOe=+WlZcu z76cZ7aNym)HpM^3ZOZgz0<PpH`gYOH9iS(B$6Hhb-LhsoTphwfA<$qgZPGo`8+Zgj z+S*0E-*y1op1|v!`7c#O{!0~S=Imn`??FM4s_@}PTq)RK{^9!l%Y24?gM~}iNp$PK zR863zrD0K^k!JCuNqZxf!C^~(D3Ls38D5J>Nm!bknbE%fWXhbwsNark2n?>`S@r7J z=zsi-&!m2Sd^gAV#JJMySRD6V&goSEg;_Mg!V6sP<Bves;rL^3{m??IYdY>W2+@bD zj*fi_=)OeHBb+-lYU!`Ku3ZZX!sF*yIuc~%5w1KS&!}~EVV`-63*qCyQ;4C#mWUJ| z(rkFkK6)*%e6TL<h(BB@fqBghcdtWsRJ*u?8!|WH=ecIb7|q@5UuZsX_9Y=4Eb-9- zWdYQiH5kxiH4|bL(*Wv=0c(b|(VfabHmMCcb76D>|B!oA^0(_yEZCj{81kPYN{2SA z9hs91v%g3#T%+PkiyC76(i)SfK6>d}v4sAn<?isa)5c3p5SZ-Ym%>ZKANwnXpp}9h zk?HOT1~)95?&Ko8Q6Q<pUG*zj2zr;>Z)6&`hH3G3G@-5r(9{9Yud=y!-^Ew^v;(KE z5Y<+<`@~-39LXxY+4WEFq2a4!)=de&vg_wcXr)PQ`WA67ZSnSYtg+kQ=?SH%ytCNb zi`d5|vltjhF{B;YFsqLeZOp9U8kJ3ET1I35yFFc}t06DngtzqPKK)<Qf8jO6VBwps zeYDIixA!N>g_-jin58<<?xv{L{m6H8Sp2?1VS^fCYL+2>uxTE=$(=!JyCko1y~Gvo zg2s4=^u#13%(*rsE!^*tMOye4PkZ!!t*?|p+zWk%6Wt|l4`j?PO`c9N&7IGk(Z^`; za-jV|1ZY`JsQc)@$kvP;g8x?wfZ$pkwiv>+h^6b>(bo@Mc|J|t%hA=J%PAA!z=cWK z_lk-nkn%xHC$+(!EhZCkQ@6S}J3Rf@VC;&4N#n4?pDdbQ$Fjao_JPs&x0B;Rko_gG zH<S`qJ8T)gWzUZD^C^Krv1O6KnRqq0F>32OAVtT7#ImDr`bk0TY#R!{<&MV3&P7^r z0ngzZ?khpiPem#J*w&x$miRq*)g$tG>7y!c1FB#*w-CGJN&QOO_ntDi-k^R~)SrAO zE~0#BRb@FgG|eW;8>KUmZ!(7?K`xUiR31)Im%}=}llz2tol`O`F1^QsnI%rFb8@Ag zNLKiM_#l>jq*|2^#gSv)&W8`&l5J7D9OE^QjCCtst$qDMXqqj0PaS@O6XiSm4Afd# zH-t28Kz0T+0;=9PAQ!lK-qh6|Hon>>59KZ5CODY1cmznmKU5!szwTK@^36Fhs3B z<<gBs5;08j40wWs7A-$)iLj58;%(NHKX|Mmjy)*&h9r3c$lDXiv@4KwLlkG{SN`$y z&`=tmsjSp+?CT1F>en6~70VhdC>1Sl(KUU4!N0z4vgZ`|LVMZ*Gf_K<ENSNVIt;7! zwo+U~)?NfB(Vd4hkP`FEz4jF0EazL#ayNw3A6J}uzvD@(3~jklOZZ$fM;TF%t~3@s z)FvdKz6S{Zt<ROEIC~o^`T_ak{g)N>G#+i>42lFaAGkIOc8F8*9_V0y`TS*;2gG1N za|R9{aLS(5)LPY>`{S`;KD5Fdl0Of5@wSeG;|2cv*kzR1)_%##tzP8wV<keQ`-z5D z)YP2<%))dd)Pqd~3kNjpnryVGC%G3k=>wOGw^c^9WF2SUF2<$9KB}pWU9To3xx4@n zQtJ4hSToiu<<41F(-_t_XhNeVU*oerBg1%^7{)jCHC<(R_#Y`Bza+3e69fm3WsU~w ztP6X5LFuN=&WuAFb&a~SDTq!5?I^U&MGfu<%6)esQp=F16BL{xY54X{@T1V_J1Abq z4MjIMH)g%}BASM8^F0}c)Ycj)u+|2r3lR8yvuv|RWj||fIMmgB8#&r*mA3<GF5;Bn zN~H*V2oL2-k;tn_+C41<ZibB1emY{FH(fHf`Sw(JhM7ZjgGe)bf#gr7?q*F#qFD&0 z2yirxpomCKNyE%CyrZq^IS!)j31wbxPtzti^Dv~8WEcLwnhb(9WIbD`Ubmvt;fLx; z04?z1bIf|Wv(W|YZUhd=jr873!pv;U6!jBeOG6nZ_V1M5+@pY+mF{pXhcsj2O55$V zen9ay-)gc_->%@@Y1@~BV`hiA9RNy=>Z-yeI*X+^Lx^zp>+^4}aK&y@`bdD^)b6wV znka`VatM~AH|ZPIZ2*WE^&J6DA|)CE&ZNwokb0b#MKG92KtN!^sC8eK$vY^Yp~%8U z3cf81daeI$Q7MygHV>F7pHJ7jtgoN`vnG3wsxH9nUn}|4a1v#hPd7ib(T366i?9I~ zolk%+s^;qq$|_THaI>FSrK@kUX~<lPu`RZuTu3xB=K6!-LS!5%PS_z)7R$vDzOU11 zV%b*KKv*!->Zpq~6x;A8K*}YRp}yE39vI{gzj8UJ9Q;aogw-1CHiuk9f?Gfof`Ouh zpSLp;4*Aa@a22o9ibY*M7r*!^rTE(sm!QDJ1)g!|r)$i0Jj(?o^|u|{>&$o>l`7_H za`UaHRoTcQ>B-}-8A-42vLM3SjbZ#ik^CTZzn+-*_m}GNgYg34Nb6j*RMw~Oh@g@% zri5d{nQQJLXUZ~cCG#jNLO(QZ?+w}c=4~lgi~&MP{o#X!R2_{}9wlDjeYyxJ4wo03 zJf>yfSX8w+1r?)r=~KSuA}Neg@SRhZowmJR>2sH{uhfz8ry`LmULNGHbP`}(G%Sgm zw@Ub4_T0jq#8+cowR{3(XF?QT%Ouwf3bXSui%S2&+d5h;AyFSBzbn-5aAg8fnBvX$ zBqz(oWGQ!rB9g${gR}MjzdiUx#*Wl0x<S=FBO8;0M^}IDo&1lXThwzUs$h87R`+z( zKdmMSWJ93vT}uSE)M8Vo_$P%Cn*6N{&6E43A{ypP4Sp@2?2-;8D*8?5$$F(JP@dNZ z`^gKlX{qq1B<c5?Cr6=Oo(K+kfW3mAaed0a;YY`l$n6}I0MuHwst~t^#xkfrav_aZ zTfo*%q!}MxpVX$diI@44a>?r!et@Kgo!34&72|7%TZrdr2@I4p)9<&H<KQKy+NG_= zEJ6gANB#wcNpFgqgx}wOEg5)jG+y|if?HmVwoV$3$*NO*aqYWZIk9pn4r{#Em`GC= zBTc_&=x={v%)b*?rzjnk;S0|jDlWdLOF|38IhcQ$h(-_wRj{tDGrszwI6cp>zSWb_ zO{cYvoR03##%or(5#;R<HmR8(@;)uk;>E<7`>-pN(^|n+n$dnEOX<blf8ZjxIx-OB zKM5opE7(>JA?qp1CKLt}0g~ab)5n54MB{sk7H_*G`5SwsWMmrLe$DRJ8t@qJ{Z;MN zV=GkD+KJi`jYx@K8~v3aqp?@&^JZ#3Q^43>q{$L$GPW*qf$j4T9A?K|>8Rg=z_s!r z2d<S<eMMdCO6fOUfs>jr4}2}^NvIS9aHW!5NcR=<x}}REW|6Oe7Yx4to4?P{wtjFS z$`qj5HjfviclHu{8E>V2mou&Xf$O|a_2^WF@q1uFRYafa+--ZSYu4Pq>Szb4=|H!U zTvuwRz#%4SCU`9Q^Xd~4_#dE&F?FQYJ#rzivKZ@ECNGr%N~g$Yq;BZAcWv-XET>&8 zFj`4P$iQ;3JXUoVV&v0}vJUf~Kr^h$RQ7sF6TL2<8kL^bdWyOrj0pg|*-HoRxrH}Y z<Yk^Cfxf^x+EgvWWm7+TjkT!&lumVnN3vh~N+^HcB5-#wSArW#`ud-FEU%u+TX@&Y zcbHOwz3E{60bi2--c@IDq#5oJPVul1@X98{o;9)>FP_P6PsPSz^99#fo!$4%bV_h@ zmEm1>o|G}*UMaO$2EOno7jDECU9-nP^>ww35NY#p_<CR*48$a){71tOf^<8GY4LWf zbfN%*uq%uJThxO8H5$<9g_QVP-|qz|I@R{#6EV`(0gCe9uRFq`>Z198^LSA=hW!v5 zg2tBc=6Q{6tU%;VD}4~us`*bMDclGCd_TrPakM(<aTDz0Wl7daJ@d^y-!n^cL1aAm zsw^K-3ue2e@Ii&#$QK%}^olro>T<lh{t9Sjz>gU_-s`Cbf(_|HHRG6}%-7Q@ehtPt z?HymE4e&SnnvoI6w6bsXEw~cDrt_V?qTa)9bvzW{7SW5P^EL<O`%^Wg&VN)0^D?{G zX8|&K@G{EzX&vGsuP-|rMsE|UZ{>96Kq*x`X6{VmdB51-O0rmvep%)I??76TLketf z#mMD=ZrHtV0ru(t$fHjO2uxr<5AAD%V2P&9o#uwGH|?k;cN1@E4Td^c-FU9hiT2q$ zxpTk1`HQL|EG$Q}Z_k-2hcj}DclLP}1l>8Or!nkT+&-!dHhneOY84iD<x-z~i)z9_ zrS+whD`Sd43d@aKe%*`%xIO=wv}ljwBOFRAN0eRZQI-)euTFdA*J#IyjRaaiY_XVu zs&CK5F+1%aknkE!C_jGE7_OZ|m~YYSjfU#CMSvfI2*KK^r5JyRg9HBg{_GeZFAG=} zUBpP{&e}3H<1=k-ua+(gV4B$#@K#!TDe+J&3vDG2%Pb2ApzZI<Zt}Da4fHQZb|SI= z$u124mCm05)Ut_RWaA)Rh;sb2$~ML-{HaKyLdo6}u(_wXhI#lQV5_|xv`4z9iO^~n zxREnq-EBz#amou8mZ2Tfo<aoesz<o+7LU-BuBsy)GiZVU3K8$=J#Ai~b5WErFAjgY zv(&7=yx=?29San%6siP`#UaeGXVi4CUBHrAy|c0s4h64nR}D9CB`E5#6uFO7cI7Ky zPvBd0ib*pon@KYTENW%&Gac<>-AV;AW+}#G4j}3k5>i3=`-1;+5BuW}KR!gd|Fhb5 zOQW&Vr^9{vFzb%=&B#sBS(m55p8mDW!u$kG``ZzE6@yd1Dh8(s9)M>;68WEm`wyOE zt7sXM6lq04DRour$9`_4TJf}?!G|SC8t01VP4MsK43H$I3-N3o49ctIPm%UpG0lW0 z5v$9mSW*te2I{^^W14#LDwsvG@^U~kdcWMOD!ds3dJjSUxGh2F(E;{YR=<XN6gVtA z%EAiImOBtcFinIiQI^&u!T6Eo-MpbUpu;~{aNz`kBak|z{fFeE*pxK36C+1$EubUj zvEw*6q3P)Qccn6tkt$p;Uhk}uhKT{Wa2JB;Xp7jLr4#nkHcOic%1yGGw1k__6l?fu zp0&Ws^!e7%n4}m5<%-#*>FG`;Hzh5tuq)Q~wqdZ+zxK-iy#L=ja`~@;_kW+V*HZ1& z9@CGL0VNY5d>#KFvkTaX4W-5T9>=)ydq0zWdqw~d7U|81#y{sk=s|@UE(yn^r8%X3 zQ;#6?<YJ~(4uqQ}Fo;(@hQE(IW@$VC-DP~o2ZbYCk<ARn{}69Q&ZCYF)G0yf=tQX8 z+%F>lu0cxz+li*Gs*_jpT!V6n9K)&R+)*&T6Sq&Azi0oi!gJ#Uqj<Zo6s#nOBURE8 zpNcm}BTr82$}}~>-~shKhn~r@hnEj4NaVzKof~0wHO!C~0rk_&rzp1VU$jn;9^LrO zTZP9+OapNpqW|HL?u5_qmP*3Q|8I8SJ+-GiG7O%ml8~dmx!(CWo8&{*!8*w>MPAt| zDE~sF_%0>-0FfyhvQe5LK!Yg4&l|2t$DISL<x2y#xIo1M0(W?3l4Xd@9l+Dh5e@!| zd;2w8%R)_6KnA`Yw?1;<q%?}S)|tA4v&0o%O|Hx_%92P>K;2bL%z0X}QXLkhhc@>Z zhz-iO;89n1OY&+Swe7w5yA6~zGMv7N83aWaTFqCA#2^UV-=}M(VsF<jQl;sD4(d5G zX_kxT(C!C%<yduBf?nRR!X4-_OkK5Qi+!E-cUvo8#9y%&l~Y1Df~Ux)%hOBt*2d=W zG2@Ioiyney`aND!(tq?T62|{`E$&({PaR>pU^LU;%b9cqLbtGlq7wr`R{hun(Ki8E zQ&37l_8844MOpP^DiaFglqtAea@)j{rXs%D3cQfcra@r|qVu}=J<!&>2v^=>B8eUc zwbbe`raPB5fhNsglvR5pK#wPZdzh*@)QZr@67))0Uw?9EjU_xY;~$7Zepvg45(~ca z2@OZI9mic3rl2kg4(F6Pi{i!J)P0bBE%>51R5kcjD(zwan8B;V5o#*LOlxXnXS_9e zm9w@y(_WlAZqHAs928Sovg541!*dXNGm9h1Cq^md^t6N5cD|RkgYk@h_M&lkKrQt) zjb%o(dlx$@0b@#E>h}lu*Ii<#|K*6L*6?z}VB8duCXd-|pGUHn>Jct$BZdQAm`b3q z#g{{Un`}z_`gXJdQ=>JeoX(;<0twD1dq|st;07I=2a(MBhCGofD-76Q6U%XyOqo(R z%Z09}EiSf8l32b#lj0K?&^{UYI18u&jI7%_&G!Ra3?2YW1YCV`KjkaAR6sC&zro>C z1ZJY((S6WU!fDr>>f;f)$Yy{IOyJ~t&;B?5U)mHN=Uq}mTV*o#EqylA!|b>15(%3} zkkbarF~Kl!e=FivrlW~;%X2*+k=#Y(FQ)<XsN)Uk`|!gwb-XiwEb=F#F$?82^uTV> z8&_;9%!h}Ibzr3j(Ei|-1J1*TPD5j4WQ0;kC>vPBuL|gT)YWnQAMY#x<Cz?nQO3jD zKTgVx0HUjW^<4l~yB8M~!89%_>g$t+BA}T9?p!6MrQyCY>k+S7eUrJ3f7t$r-1u5H zO>e7Y`s*h%wP>`0kYw_3@0$ait89p-Ye@LJnaC)Q^F<>R6l$X34+x)>L^e~#T6djD zr~GMwNTcUB=38ZjJ;0x<D8qqiK#$6!Q-6sw2%=9g*meD(P%2>bXF4_s)g0F*XA~3F zZGu3yTU+&kBK#?GK-<RKLnwui+?am=xO}nz9|s;86|<cHark018xmC<<kw@N^0{^Q z;Jv<WH!K!Pb;YwU^>dfro_O!zy#hbxBiXCin^Kj?{&&K<{y3c->l<`8kb&;S+%ywM z9G_o=zN>&8?_x3dV)0<>l24cI@t(}-alSA=1vB_x_559`Z3~c}Nr$Ba*}2FHIA4>Q zB56NhL;II6UjQpyQPI3u_U?>ThmOy4AB9-MxIq+^^P{h8@qsT7uQc1$YqJ<Gk_oub z06X4U`8NHy{r}t`Z?iO`lL>y$;4~|*yk4t6>3%%h0Y2VbR;>UYv;g9B#;8kuTztj~ zYGPR0y5irQvgbxa5uE<PFxIk?QS^r8ha2OwSEd9pnQsdqN_bcsy9l~l)pVBP%vKY~ zM?Tr(up6-?@g}cq;4!hO8BP0usy1xSME#-E^TWYOO)#B@TCc~|lANeJTk7dk()&2- z>GaVL2(x9O%-i95w3aWEq6@xA_rFwsqg6b`s8@X34+ew%)~xrob-A<s)y;B%)=ttA z5*<;8(Qnn)$d{Wvi129FB;HJxs`4WuJFwFkqf$w}sb?y=?p6LjS;*z(Eb?T9lT&`% zoo9%s6(1TtXL40AJ)w+*<;P3%^y2L0>^)||zJ}a7{^l956#4@0|2eo)&s-Z872nfi z<R$@Bol$v(U~r7kd1p$xQ2^1r)-UVG(NTGPcEfSNPb5<;P&5{wl?q@P;JEEO0DC1T zz}ck141(UXu-RyZalhfqt}OaMgCY9+ZR>`Q9pcn<<L1j<t0CY<Bu~Kq>)+_+5)H(b z;vjushUxHJc7tJ{I`PM-*~NFpYDcS2xWH7;U3(Lv{)(}Qd{EyPxVZ5m3}*ff;g*mc z#R39?Irako)=2blmf2yd&+<oEl?|z%_MD$xY#&1G{rY%;HjTOrkZZ9e)axtbh&>V^ z9_aPy1KPrHXPwc5yV%+ar4*M8>vbaK^pE9x?7N?KDR=pDtO1<~b=06`V^VH5+Ivk+ zd_jXL^hSUS*!!$WUcu8iC+lP%A`Tg-mzj*6_KYTQmuL!~u%zbWBS_o{!IX$c&Xx8~ z;Vo$?#%`!ApzH<PLitl0tON;4*a0@Z8^fI903{Bt^Pv!KMHd}`&Q7osxuk3R<<<s> zc4#9U;%i<jnu`q9x~%{&-%<~K)vZ+Dt;O^R3tf9U2>iCg9NqB9OuXFVbl$*ohSN!g zPNOidrUNQLQHOxn#aqDh#bhc^<a8zA*KBE(QBNKovnEHt)9<%aY#g;cFM@pQZa9{W z?YF7xfZe$B<7sQ7$Eogy-?fq=of_i!bmQxeb=!GxqKJ{~zm_A2u0%qgM!mz_QFJnb zMA^}Q_069?v&WnSPmR7Bd4AgNTYL7{cNbo{*J8PR$E?DnB;w{lT8;tIOqC3!8?=76 z42VSHESV;tbwcHL1YAkWIr41bRkYcsyC&Duw%7%UIJgaY_e<~bD->x{)QCbDqfS*c z)KM5MI;fj8gYJ_X&H&&XR%~(f;gcLCvH=EiRr{Z~9pUf6``|$OU%@0Fb`U;s3W96q z7Z<rL#|fcqZEd5Xe`Qunv4ThS(C`7+(71T?jM9hM)h}jB)izopORwcF%|{C`fnm%7 zbYW>4;rX_@El{jg7?UrE(gVM}Adx_elF5W;2H~~%HdE*6J<i^KI5#<W-aJM>MGMS8 z@5w@~Pb$pJ=L3F#ivNgYYqVo)&V9u>7yaelQ=5Zc_}UgjfDOs>??b}f<#Zv3y)Gc| zmY90ZNK7fNe&IHi`cgIl02g%=6H4H3E~u*mxP=;N%1#X{A-~@ofZr3F-9nX(Xhhhm zU2WG88sFNMD_LN7>)u$pnvu~I5ay!#rZ1DKfGzj<Z2C*vQ#k)tqlGDzKm$^U($!ou z<|ov;+<8a<)_&cXbY3gUHkKF+s3(3F*zZw(AzqwXsT53xJs0(pJmQisXXKj<Xl;ai z!<@9<M0EE^g-}VbSgtHYm$yFQ^GRtU4*8;%>PTTCDT>axE?r_Dfa7A{-JDv>+VqVY z#w<-zdL+sc@dP+#f20^n>eEKxjOsr0aS~E|!}~Hwxl!0Q*sww99fp+?LlKB1@}U@f zCDRoSIU3(>#@6rPUKwUDLX{fEGki@ZaN^Q9Csnfu^B!8_T|5{5vWLcQq;av4&d3}s z=^}M$H1<9KC#W_eiZWFj%GWBPGzN1-d|=UkUe=eRde;Kjvz`@#5!l*c7hcNA_=vYo zBaP3-FUA$3jLT~xJU3?IpZ_f0Iek6Mba83&wE9epNA@)n*z;5k$fw8Hd)Canl*;Bf z17G~`S+sjg<WfE;DwZ@fB%iLfUIV-Aum2p^wwBv!YHALZrW=m7*smVWk0s#SlUeT! zeO_~$QzB2l{WTZ)nvxXQ+QY`j72{+8V-`}A)0O7Vi~cvDm8Ob8-hBT%BEZFvURmT; zT~;|4FtBj>8Fp~|Z18W<lZpF?wSAENt!TM@Scc{q+dQL_5|eQKroi2uiI;Vge<u3? zs-PvIyPuhdX3Za?E`cp5l3viChES$7=O*u}M1(UdF=dX1xuzDyw-Gvu#`rk=<H)=X z=}ITXIl2kQd?qG1kIUZ!e6R-1xdd{tO6DL3_v(_c9V1pk-X~v!5T2M@!LpDK2wd@~ zL!22K-<yvgPaNcJezM&)Oh_^>sYUH@$|NdgI8K~N9ciTgUC{F?S{OH>5Ydr2!aIwJ z-m*<05B+DUj5LF;iHH8fI@DH(sqpOwjd_F&Qt@Ul!sFjLL~mr;8EAmyl{{$MBX`~I zelelkz4$q{NlW)}J(Gh<;N3N#A^B(nKi*B&vTqA1R=ViJaeDdj?>TxOkd?c)R~0M{ zguuU6t+lhCxFHF4wXmOwY4MiA4%x`Pwx9!^E+P0k0A^q@`1a-3T$$Yv4h~Kxrx^lp z*Zw&ZG>ozBZ1sg^xnEsfwLRahdY?8g3c4JL^1OTJwC=uWQm?Jck}cxP>)3UR57<Ry zT>{RjH9apruOEOHn*ea>qUOO}X1A{nOn`mQeva$pue$cYhrM(bodzjxUiTw)UWc_M zld0vTfAw_bo5mB*FS=wp4G3?lRuI#3XaBSSKF_eA2X~-<IeD`Fr==&J>+18e_v*2h z5-++o2$cse0N$FCXjetDMIpSN=SzJCwf<CZ&^-mH;>MEP$_ZX=c?^rUF1?zxU`Ao7 zD#k~%F?9aK7%Dnv66tH=GAS2xVY2;heW>KgLDZsV=~+?qE-nIRFse+-M|DiSG!I0f zil2X%Br78G$Atg5A`(roO8R~y&K^~`#m@tCyN&}X4w%DS=ai|5`l4C*ilZ+!FA;q4 zfMFORW)m&EAMh36m2!Rn>VbrBQhjlOi>a{WNou$W;|K~K!0TQlo5yg-MG(tJa{f9! z4ge0_$b`O!R&j?s4`ES!(MN(DPB!6dY^n@kSk=%CtEA+0a`ox%Y`z8KbCe39Ah6It z!VM8HaJkV|V&UaY18jGkM;W`>&k~5ZBY5l<IJ~dS<H<$9I(L9IsLL2@D~HACmx9S< zBj9G?0%nn{LspYHBQbc)y7sU>$JMRaczA<=`_+=^vVH6N&}6O<Pql1lX-!Rhwqv&r zcUn?X-{#*JPquG|MFnC;4F9wwn$a^H{!w=hKN37135-by9DCYQ)J{qDK5ZEVow}st zmDn=4j<h`0ZuCn!2S<LTn!Y5YZjV1z|EXvz2BDO}0Svx`j;52OnRH5A$mW*&D1pZX zLg|c{j$u6T=e-g=RdBv9CD<7;CM7~G7DKoR_ItCQ95d<?e?{Z1y$0w_7}f?=*uLgZ z`G5cZ-RpE<BUgP%J+GGgx>m4p-*I)_JT%_d^s_#0;dvrKoP-;^$X?squ!{sz9O24$ zk{+qNRV^JT^13#E_iJC00IHzPix7)mV_xbvK&(c!RFp@0wl0U-k)S^qYSo4+$gYOk z9iWERT%@VTBTF<*DTh0qom2K`3+3g&8Hv8x;TqtsH3r}fzs<qN-`j|%8IgAPMcJ+* zbe%WJykEFXrEn1>3B3BK!>s24lR<ekHMQ7F`h35J`HK~~ii(QPKS!1NPJQrM&KepI z2V#FmfbU^{X>XCXw`Wxrdv=Sx1Z;OUfCr^HU`G#x=^o45qxsIqvyQCGlM_%HyU}E) z_jL%Dk=84sj6^514X9#3nG*XeOsBTkB`N<8y?409@%G-y#dlF<cc;GLi!rV3ziTBu zSem8!ec!gg{wD)BJYSYbTm1kvqiex<`$e02=xvV3i82jF^2q7#JK6ZEUV{@0<egu0 zBbBkzrsiA&nd462@*Tvx#w35zpI+}DHG)w82uRq4%28I#HEEp25!YQ2B0ek)^!Nr+ zd50vKW03$72DVb()WF3|@0v-))C5<nxzB=U(a~F0Sc1qkuR^XOoi02V5x9Aj&>t^z z<-O&G4jS`5;x3CK=|E5v$s4pie+z6V`0d2^uI1!i@eCinLl#Pp2-z&QB)2T3lw=z| z(f?`zexIyi9BiUMMw@niJ)7KKa|nyP-l(Ou%G%PB-jijZKYd6Fq&mDMna?rkuL`|B zbs&3@ICjpM`rRDPye2LCmBlKZ#ta@id}ghhA8~<q%T_0=tqJ4f(_f#A0-xOh8&JKt zP4`6u8hZLx8zW`mOSto%zoM3nE!hizy(i8M)M|p*%W%)jE&BxEq<WnJgiQduARoDg zC;zKwJx8p6??g^QN}KCADJI9Q{a5V(B?*0&@w{_eUEuNR3*Bfr&|zq<@LRFo<5F`% z|6G<b?D$~^4<+|{V0`^#4}Qq_kgBiRP|B5U2VhTe)h1=`8j}2T3clTbhNkwBNgDFv zA{=}BBIbKfwxQ|W6Zlkpdb$+Po%?;+{QU>H40sreFG@Y|x(vQ*49F&FL<~(;Q1J3& z=$I(9HxQO=y2AHwp(XBUR*5FBT6m_;6U<~q(?}IsKx22$-`EUV$jL-}aL4QYCjCY8 zL9=?^gSi8iwr$aSEM;6j>tRRsr%=mCYCN=cu9mP-FF&N_2dcxDuZ(#>zLBkEo&7{= zWqJbqaNI0jFsr~(sNiRH=t8(InJF1CxLrd-NvcFmyI~%+TInx&%NL%mXYuC=TRW>W z405t)f?wDGtB*r3E*C0UHh|b$rYzAz7_S%W1~)%{G0MD9AIla(_-6hCJsy#<+M`O+ zr14N3k!oeFQl4<T&h@&}02&q`4+OHGE8sEr&Tewwr*xa0d%UF_P0w|xsGuOIaZ)f= z%gBG8OBC>m25bfg3dBRRx+ed?1Vg18`Y;x%{Eo8p@Zb%6J~qPP3iO?YAYs{f!d@G1 zZq$_<3fy|)L-37BzMvx>^z+@;SUw&MEx~|_b3D+Umos-T&e!rQ(P>x!9*FT-TS{P4 zrNQb1arC#)@dIo)vTtt7Y&L1YU|-IVc$MXw&AO2D-_cB+Pg#<`Gal4cB<U*R3KO4+ zhLKP%+%5|=I=c(QR<%uR#Ptqf{#^MYY#qLZ9$rwfAY9Yf-f`4`zFX)!#!Vp77n&~J z%8H8mpoPt4Y=FnY){HQpmL4i5o*Vy(jDrhD#wxS*Td%INh6WDSFE<a(emk)YR*9a~ zrJK74qKl6FKKLDzzunb6qF8d|`2larHlZ|l7B2HoVJSq=AHcl~xx;#n;&RdMCqH9X ztyq(V)7YBRxU}GTlP0$(_%`DR73Ac$$GN9K3x2W`{_g;~!Q^^>BJGlh+p@_9SWr<O z<=FGgYx)G3l+ki?H|n_N0Wc7FL>!x|z^|`W36S^zW^%tTAr!1;uQ9I6$Nh<!7S|Xj zsl@4s!7k`@o%Ujjv0mif^SKJTrIk<80&3Rm{}A=nQBl3$*B}DY(j6it-5@DSNq47| z#Ly|-ol3WKcQ;5VB{jedF++Dq_j~z#*KfVJhP7DBf9{$4oU_l~`#fi1z%XggJWf1| z<Y|G}+>BGQr}#E?Xe2P!n{?>-IuR6NyiFgqkgC9tkeV=WZR>7_S%5RJGq6Z8@e#}u zV&uyB-GG}^7U!UJOtKRb)97bJi4L_YG98w%2iFhdzg>pl6xQxD)b~BJqfsX34U_yZ z%=lpO;trC6{{mfNNm5(HQ2!H>#9fNcu*H|f-w>o{s8V&r&q+yPc=hcCZlcm8bqG#s z`W$#g-)3c%JQYca)H)2TL}I!^oLIeCm3{(+_F5g148qOeT{1Mn1-@YVX}ug@@VBQl zGa89di^5>$cWAX<4NV`vzp$gFG*(o^GWNT%_;rmdLm?q8eI^E5u;W(}gul%3fAku? z2Fm?HqcuJ<GV*wafKe{6MRoS{yRul@q6?MVtSZ2>scKqO$=>Xi<TB9pUIM#sxh(z= zj4oWCuD1d8NngZ+TO~kIGO6FX0Ny>>f2B>3*#hTkOc86~P|$nj=9Th?rn6(vjsx<e zK`qNb`>3Gvvh9tDo?C!0_mWdj_>k+sAkx7=5i9KnL06toO$El-7eel67Q{-}CY%WC zq>zb<-BxBa&d|9rbE{uwNV1!zm!>p^SMgl|rY9eYa=n=!RQIL>kpzVYe^bvG9;|D4 zs!2)~HY{#dV3qQfmN!FJ&t1$+2P%)2I7|5z4#lM;+ka3;kNt&Ii1%Jb6}M2&<FJ#U zT0LR@o7VUDrA^8z?m|sn!pKL_F3fRc>byZHER(Bo<*v}`tJDS8$#Z~Gi)8V1o5#q& zjzS<z(w~%hvN8e=D<YjMBYv{@3<_VTI%O!`G$aA<?B&7Y{gFqH?bK4;EdZ2=xhxwN z_0Cre*onibzA*t^O}d58MArM4!4ed4DTarxz=m2ib$s@#eODo`+uag<UMp_Z|3Zt1 z{8t#G`A6vRiXo-|)$+NEcX2P*&54tf=Rq#H8Afdp)GjM~Z6kfpk!~w=522;F!*Kym zTg{X=-C+0w)tB*{I`p8WU+6|A#%h0y+6)(k%3A|BD+`3y>d-d0L-WmD;l_*N$R7<< zwwfC6s@7ky%epzMXGHg*S3l?BuVIMLuG&V5l;nZw`jabtn+!j{%G=^ul-c?Li6-3i zI!#9++{B5J)+Nl!E?yiWJNs{UE4q$Hh?Y%Fs+2vSq9Ypr8XE_Hj+cyk+S2j7v3Kl% z_$ks>9flHDUb(oy&u9M24P?zYltR47E!D5^cTfDT;o$&?pm6*Uy+tWtZ!mj$bGF^0 z8^8wf-k+<`j@EaIBNt$&?bT9O2bS=Tl8AnDZP@nRElPd9`ku|~dHKlQagTq)wgSJ9 z2n+4!K6?RZgqSF!$mK*5kaH1w_8qWleH*ddzrC59Id|buY(iP!55W|>K)xwrtm_zQ z*cp8B=Q@Padq_*|cW@<KNt1oQ-m?DtyUL$<w&Hl?C*CNIh`x0*e0S=kVSQ(Fhz#1- zr7_c7uAMUz@{3eqEUgT*wA1+{C<L0B@W!Ie+Dg{@2X^C`$#~6b@=K74DoBH9gRXj^ z9*D2X3PNYkOQTzCF&&h?k^Lf85hX$2Mp8XtcM?H2%Ac~SRwRyB4O><DqyEUs%b0Ae zwQrJs-20{Rj|;g!-oPT^1~IPo@~L_(wPn7gvfH(e@csy{%<-X8)dD@<W1weqYBRWg z0AHd5q@&GLXB|39Fwo@je(5Ya#xMa^(BYbenbv-t`e})}@VqnfV&2$+l!b{2rtE*K z-moRFg<cyeJN=c!<nCMcV)YyGu*=1gt1trL*;y(_OcKt5SJf1==Po#o?@9I>dBk6f z>D?H((ZCV;$@%TAUR9KugSzDOkJZLV>IGwS(0oNd+w;A=A>a3kWy6iPSl=)Tb9(ju zu(p0fg@U`ab8OUm#pIWnJFMB2xTUDWk-k>#XGBB<oz~v~x8$a|**)aBl;lrdjXALK zA4jFcY8Bd=RVAqBsuGftdn716EmM_^mk^%?&AD?I?03BSAvsOr8#@%05wqx_CjSaf z=I7s1ckKGKK9TuiCr|8)KLu9lSDD#RGb6~S@M6{$HP6UN(j@|Q9iJ;DBSS7%%vX=M zW&myi>kX_lXq)Elc0Ys=jgwaZD@~<Bwh_WGNvGG^fOd<*O$5?oQTe=O7Fa~gY6hS? z!QI{6@f;q~cfAa>pVxQt6OO|EK*}+~5RW-Rqp|I7+tS$un*=&l38?;u0uWLQh1!Zm z436NU4hdBN@kS9@b?_rB7<DoHO!osHymu+M(v*6dR0-2sboWF{rH``GT=7Rr{($WE zo6CHTch4a_=@#g<urP`$FhCSvFkRnd#X;?GL#qJFd;LkciJO#QX>;S)y`PuY^^5P4 zj!@HF1)eOeo_f6}-rD__`4JJkUtHcPJgs0>vn_+qFOipF_fA_N&v>wLZiFjqAcBEA zwSu?!zq%d+tQLcXEqOd^^+{2yF8`4?2?1aDrqN1YWXf(g`aRr6)B*dk8O@J?-!d;3 z`0W-F652BH4t){N0a|F#MS$qY_JA+*AFy=$-|aq_g;5FMb(D@n9y$o0D|g~r(0cg5 zQ-wC^`SM^La0&Ost`%18g9D>oDYx=hzMCZiMuC*O%U_W%dYd-I9+MCIQedN-C`m(y zm~j67o`kND)<{AHE6j8VpNF0VX0iIO)x{41BROe|Nt0EW458Je6XmZ+msH^Ei+elt zy6lQ>+<XIyVG}CR5fP2i88nqlINGWe80A%!oGdhqa#56FR{bLiB<aX+ZF;Da5ZT?Z ziE$H2H11&8^p;-_zZ1T;S-a9G$MEaQU8FrPeUkv&CzUGvesT*tfWoSD!A_Z2kM8&e zZqgmB@`dAekeAecUn$iu_z;;`FlwC&Cb^3dfUv0m$`%*6Lc1npj1olEv#R|0Gum>y zoBW6^F9YPx#!m6n#x8Ei$i;z~g{5t;yn@w?l$2EDX5;&~o_@W$+(*fzKh_0Rh|S7c z8K{)%%ZlPxAx1#sxqMOX+ue<3PX<1BX*lHf`@Uwbrzj|R=HQUfqlwzeFitou95H^n z(GcLgQaUeIA3;`J8x_8YN{+tc%CBDvXV*GKvcQe^s^y9NIFYBF`rz<XB|dUfWTb`q zc9MAm3QK3jDJkAD141XO&vcbJH?xO2my$97k&`u%;N#AMJL)~;>6r=%wr|PM;^JB( z4g|d42WoGRU&wSuajwfR8lFb?A(D~3_RzmlbSQ+HCl%!IhBmNMIFeD$i|zY*!xZ}I zVk4g^yL^4dw@4F06%XLIzs+u(ZCgk?D8q2HF;o-dCbrL1H8lyja<a3t6K=>et>&u@ ztEfzD7vdU}Xjd|a*ZU6L*Uxl=yJEYxR+ikMAY9GeVukdN5)u;8;Iv9t1|1-Jk#EN? z#oe@rv~FN$nvTwx^rg%0f(0BR9qb~Pd(SW(L7m&6b04d=!pLtc%$XXs?I6a3zMB^8 zMo|C5nMl3P%8tLoGo6+_&*gD?HwqI|%tRQcK1?nMHy-D0HUKSY^p0)lawms#pYE*? z?7J?smX1j9@<G2GNbcLFCw-G2nVy6k>!E!Oi&WoA_cCNZ(x3TBNJ7F)flE1cG|{3x zZar`6#2W@MR%RS5)M@JOLMT#6RcuK#SY-JsG$Ul4r?y}2egz+wgK%#tD<LcAmq;$Q z`XO=Q5?)n3-Em5HFL4(PQ5cni9Efy>)kQehIUN7N4;!j4e?EMiCqVBzo75kkct4C; z_j%s(2>%Gh9dR3pJq+`6-@58&{lvKH&Q6g%Pw61{$Mp2{=Ze95+a5VfbPU>_$mZ&@ zG~1fU9>rG{F(oDEvBdn&plEY?o0JT|&m@g@tKLb}eq!5xvt#y1z`kusK6Q)O99mS{ zN+3P_I^}4)mWK^GP)5HZYUT$Mpf~Csm8TczLnI@1KeD3s8;<{hSABme0OpCp9GYtX z?QHF9Te`*t{>Mj;8^0KUu`^0|J}kBW_-6a+t_`3*5L-`&$iHvpO(%Vbh?ej2A&#ir zOtKFyBee$(Izwk{O$6OB5LdiW&b$ST3g*3K=JA>emb`j)QKR*6|FpZ8ac#J287;~? zn{_C&(z9XUZ=M7i_`9;_?<JD5O?#(7Cy#j7S0B?_>UOuyJz-;9j&RSj*6)Vf>So2h zL9T8r^O?!>Db-DJR>cF}>hKXHh?U{t=eyAA-Lpy4hj067kZ|<0yAY3+bUp85ir%8j zeA;Zu0rW3!co!Y3n^7ys<NFuVl*)ydo(`v-H6LhtEm94`OhZ_X7Y^NX0BnAceT}1s zydX)pn<XT~-Fq3YVuwl`zk}_oo>yv=8KKSJkHn>QC-QrJW2^Bsjz;KRLNyL)mj2#m zmpv5)n%Ef_1Luk>M!fb%yRrBin57nH?88pD9IJ<9$LSd_xo32hYDLt=(10kW1#9HH zI_T6(%;4~f`z1p-BV>3W*wEeR&p*yzi(cXZ05YVDGVR4S4o=WJ1i8`wK+VW`YxJOA zCDGJ=?Bcp2Cn>4-IT^>YI_!xx6ep$c7D!6Nmca$#Km+;YU@Uvp_$VY*=#qX)YT(TA zLtAh7tR7x4Y`QdZshcY6?YV)w|L|}b?6eL6`o?>prQ4;r_w%21D&gVcDj0fU7u#h| z+cfMQz3nS{{`V8Bo;ll-_aLFRBP<ZL*%S0z0g)f~vrtKF5cvw$>Z%s@s(rvG^i03% zWfZHc;Bf8GVIw1)tJn~o2F@$<)@um$hX13ZW@)^y#8KI~i-+{u<R3}}?9{1vt5?R{ z266%WIz!P1GR5w5lwt9&YZ}tG7YUkxyUTu`!%$F?rlg)a*sH4A`8nj~_)s0K+N1TS z4Fxrer6eVPeJK$z5Ur{PT0E(yX)VEGGgOo!8I-xp-yt#8H(b(^l8^;RHXN9LpHsm% zWAgqgX26L(L5}+1qURAyJN^FV-f?FAKiIPW9Vb@|?Ja84L%SqobgAuRN(Njv%C24n zvR)cVWS*dzCgs)IWg&<X8J?$z9iJg09D=NO4c>NZ)fkP7UM-oC0=Svj|7O$}ufEy5 zcwmAy$u(?apwy_=+}87;O6s}LvQwB~)q*bihoP{-l{(Q?>xR=wJDhcoxmrE~_E9f~ zqFg6-;Sx{0p8d`reyk-)91BfWc9e7XiG(6UvROMEedd-XC+~&5g4_sjyY6j043>In z;_|)8Yp^M>QLVC^hH{RfpL#jd^fs;J-fGT=3EOr4I5h37@C7qY&(RG4$CCE&Qn#XH zuBN!TBbi-9p>8109{W$6Sg-=)68B2qqo|1vO5xWlnrZr7m!L*sV}x!!j3-@7l=&3m z;m4&cjRvV5<n{4&8KL|fK?tL)c7ru})`d)31Jl2{sbKhW8E35nw1y@9YtP?{S@)Rb z0vVjv>$OYWXu8~TW~4L~?@3In7^>_Qqfy+%mo}BzmNW@zDLBu;Jp2v)FPQ8-_x~c? z0j~CzNmo}FO;?{={kcJ#uDOiGtQB>1wnL?nvFMX{e*)@q$K$As7X@xG9X8#*u)`TX zsLp?^NyU)s8XIq7>}<-XB=`Tqlv*F5sc}g96oyA-!6xui{x)gu%O9^FO{{q$d+SsO zS<1!}1sv9mlZe?reh^rWrA@KdV0qWHTcR?Qw527%X*I1#Bq0jk$HbED^=kgX%r+N6 zHo^r(o%p?=@V;G6-hxZ5<Gb!Mla`|1NC;y@#OGZ6LN?I5V1QoG1dHh+Zcf#pMVA{3 z2zt@oulhM|nEbs^srq#Ha#v35foP(Q(*1{|nET^rpy{JwD>|G{wre!r(c2mi#u2NH zTlRcgSoW!KR<B_Q;b_@q)jk|Ppc$xGI2iM%xaIT4*-zQek&k^Pz!1utGi^;xshCAO zel>M{f9h$fW44s53!qWsu?4e^E;tQS4m<drWrkF;EdB?Vch9FBk4xZp6&}6yAkKPi zyUCuf0eroeM??!pp+3q7wt`ECuzUr9`Q-3Px)idL{b{o92}OF*KGRIsERp_K>?UtI zUZpNv6YG=6GF!ctd7-SgtkroRd*L&3Dc$lu(WlxHK{Rq5wFV!J1SMYMrp=Z^bKYp= zpJT1Q6)8X-oV^M$QRk~H3u)490xsODu`M5)EUfCY2<{{0Ec8>Uy3|TQ$KL!UB}s?& z@)M^+FsaVnB=@zc`oW~z0=)L4pfz2VV1MOG&3>LF9qz|Btyf-Y|5!=FF1X^!b2@R^ z-z(lx>}HU;a=sO(u5K^)1=Iev{*7lVYqs-OLrqPu=OI_Nq=l!TOZ$VRC1Cs%{Yh!* z<#qm(3V?t)Sy@>jV?6?~UD7{S^rfVv#%gq}pv|Bq&-K`py4hKcoNs$&A(drs|D$B4 zC(-lr$nDBKnxOj8UvO$4nyCRwhOend83{#U6=5DL)`8Mr){T3fdZQ@=mQy!~7(6=K zsWAD^ME*oIdZqA$^Ue`D`V?PG@84_N9T{fSDYpC?#?uPgkx{!fLjHC7Z`9`xzrS#Y z#?UpyYNv{%pnNn?+q19-&UUrDi&INEKp)7Wnv+--HGV~GYSOID|8sw^NS4J<@`FmW z5G=0vh7T9_vr<O|Y@HB*(gPN?Z{vaxZb%*b#ehE-OcM%hIB1hhgympM!mxD*T59rH z;uRl+A#8^`w@A9+<DT%V)t0zrN2J0E;lkMl&pN(dew!a+wUMqw{F$*!O9t)-3#OzF zo;_`3nT!Gg0&mWa6^)FHW=|zMTMRqgO?f++gNj$@o92z=KSwqZoIHzMc@l;t>Y2~L z<%b=A13L7(aoF&R5oQY|IrOZ-&{5hrt(!~aa_w6hFI_jwrX4@IvXz$(MX9A~7f)i% z{LA+vgfIxN_QChTuj2Ks!Ecs+my4Q7z=%?KV!1Fs6s1Bxy$-&5xAhL(&|nnWd3&4G z--HSK`mc71Z<1zS(=byF&ZrldZrY?dkF7fQ9Gx$75<EYeo11O)9s(d4a=@LqqB1V; z?KnBH!ptR`?<o>c(17t;TG}MXFvRHQSuI_CbmN*}6$<!~)593LEn_TaPs_eXZbV~} z1Mxt5OYaaUF+SU!PN4&%-EDbaU5d86#_brp=gIf3QYuM%0Nt)YhNYJwd!%~&^@W|b zzRuLx_TdZc&kM}x=;*W`4fR{>6-Sn!%~F1^M#sko*R3BWv;f~;tWZwG715z@;Els# z+Ov1*r_@~p?%USg;!M5HoH)tnYOIHaWVZ?miS5WYj?w(YK?c+sHs;`Cc@u*yO_>=G z|H_yWyw`B<2Ur;P&8#iHPDwbt<>TvZ$#1nOHb!(y@&#Em^L0P0W8TPj9P?jL(u?#9 zY2iI^pSn^Q$cg)Xa#(U*e!D;V;tjif;a&z-T4lK{5EZ&0fPs-gnb|vX0Bx?Tx#w{% zV-{mst9-8F#4<3vS`T^VUy_ZkeUgDgY|_^B(@(u#4b}>`G&xMY`%qH})-Q>8^??Qf zM>$+L7sWp~TAc#>dUVclpv{Jq*${evb8^%HuG_B(kGVYl%J^BDa6wW}-sQ=-Txo|H z9RuU$KWch#aL}`Bg$Q*VTy03s#qS8~B^oEK=<n|@U7rFI)C_GcK)v<bU9EpD)S3>o zK0V&yU*0xYO>O};yXaDE55U0ZGR8Ih>p`eW0__zLNEytqER6-j<Ew)XdDvd=@Z~+) z%@$g(+l82LPc8c+U~hO`lAYQhnx%y&mPv}>r@pt@u|#kyi07Yj%6!`pXJc9KGP!_a z)0${;pV&vhe-|A6%SLqWKH1Huuevl|IN+&(ICUnM0?#<Mrr;G=%dkUUb6!%CF7m*> zaC|#MPRAJeQOo8`mvP3r`Hmt@>yA&<Ko?{p)Jmv^kDG{Xe{l(6wjDJA+ngYq`5#5( z0KqIwbX@r0xH~C@YyEa~zAw}R*lb3&myG&!%R_P6z;B!)J8iAw%O*fv-QE725N)rH z5HbbsSk20N8K&DXsi_v_mpL)DsttYvL4h84$;-<ZH1AXJ+vzlH$H)MZi>UWyOleB9 z^X4C-$u7W(Rl0uK-2$iu;lQV4aKDVlWlO<wB8!wu%xO&$z|WEyYtFsD3t-8|{bmkq zQKG$;E$NyIM|wn5-XMI1WgN9kCzEsY`0vn}PfPlw_S9``<|mnI9J$+tFr^cEFL%48 z0TuS5Fv1IFe_v%%E6&`9kqz^2j;zbSXOBek<xbBi$i0HAUPk)4->EpKNxlhg_e^l~ zqWLvwVbpygQ`7ElnDO14d#St~;0e(-vHFYmPC#Z|#{wGZAaVHuk9#GO60F-2sjyj; zqIBc4rSb(DTH5Sr0fZ-gb$tsEY2^~tor`*w<GD%$-%jLP6BDETDs@S^43pQ7w?a#o z9;K1a$Xg*uuqN+(?W<<vOxb$fT7(rpsF3@^MM7Ch`}Bu_%Y63K*!)lG5Nkf#X|ka> zN^&ks5)|>rYqRJVc4ym@@i!NGqYHIrH#-IKtY)JrY;Rw`g1PcPEqOOy0Yo<BylZeE zMH00x+4FT`q5JJu+W-()xwZq{`O6rlAtypHtC{l4vR^n34q**<d=8=>#T{weIHyis zqftGV;jQ^g!|S?{$HUoC!7?O$H>@U%;D%a^cUEtJSur;Jkxd|$G|P?&B0c6p83=DI zYm==OWk~}|p_sI>`%D|JGgSWo)td|@UhAgK1*qORlm8q`|Eo7yHkWuxP#xq<8xwDq zmg~xy0et#AE$<#0!mRS2K(Mn7RMC6@s=CUz8J&6Uno@*jxU$xL`c)d|%ju=67A4%o zF5NC%_IA|nd#-<69hCNM2uIx%dX712h3e0*C?jfhTk-QNT4fplx(03)Wv67t-BrLA zIq5B3U-db|+RpYcYS?}N92RTey1>s3iS)|_z+jgK*gn^X;~g$Lr&ja<6PuS;ds4-_ zTS0c(&xhCWEzNemCf%PVBO+hF9knjxh|^&CO(BV~V8?gWcHbcKhmQ}P+u@)dm0N;1 z4bt}=<`A)6-wO)xop#LSc&7b%Rc(ouEP1(pg12Voe!?ZZ6PStrd)xe5>EKriOw4W* zVt)%t^3uq5MQrx!Lh+I*d@EucG<KYj*21w-f&X4Yr*eA|rHUxb^1~B8QRSb7@5yjV z35!34J$?bmeRfN$qD5?1%R|s^b8)WvuyuGY4lhe(Ht)0@ez`b?RH10-$CKGi$1{8t z!p(%$+DFbqc0u!=|6V-3*4K}#PYrR3IheY-hYeJp?W2kHk?abjcRPQ`TB+;k$O6IG z2Uj)3_yeK`TZRDSY-VQW{YJtkJzfWqII-KWN7iYOAp?CEBs+2e`xr=AV;NDlo916U zRjhH&pB}{Wv-ee>!`G$g%8I;!)O~W4bg}@AHp8h!G!W?}Gr8*|0c)qjo3}=qplOM9 zGJcx>=LI-~Z+F<Rs+O>fb{_0Eat$S4N2wS5-Y|~Y<l{ek16`Cl&(RsYPLsx+Vftds z{XWts?rkpX;SqUL5IU6^<r!1#Z7T-(_TTVmCYpliC*krvKuJAN)HLBpp0VjUvKw$D z3!vN~t{S&Ge4wJr)&Xe4>Z(Gr?(26HI{LNmySJ}KUbP^L+6$VOG*1XgNv<{7^BDYN zygv3wj9;|lJZ*7YJ$|E@eI&{Hc+R;0V80B*@&B6JB>T@+ClGZ06-Z)21pwueSd#PY z4|nso3!7&P9^lhn%W(i4^J6)p!e8#w%;Kz7_a{6lzwP9^?t^2KlJG{aV@P>gFTnbl zeA|GJht%!<7rye+{@F8o{VNhb^CAOlJV!LMAWn$+i_f1Q@0Pr_v(da_!P8BXzoKQs z9dEnA2+;7+d<be8S96YF7mj&HUL*gR1p-G^xUdYbzoMBTcFrGX7bo3oRy#gN>9W+e zwz7={e1C>UVybF08h;Z6WA%P-f-`Y<T$*oD-*7ise`d+(j3#b4p^FO2vPoYp1jd)> zOnMUt{Ns2voHWcwFilMP+opUEQpn5buLi)PM5STQu}KxEuO)P%9jfJEE(p>l51;9+ zOaODt*=_44kUjdDfId|Dla;!J0@S3A7nV;O7_;KRgK&%^NM)VaN`|l77-ai5@uZ>K z@=g>t(cF~eWC_Z7!&O=u<>O;Q-LMD26}P=>ilplpjLwI9UF}x~9~@lj#?y&w0$c>y z#QW{62%yjcaww%+=R3eIK#{MqaWmvH@xDZN-<G{(<~ONTRv+Laup%|CH9>UQo`~(p zE;A(&IUD1_T?eRLTkhTzS?`M8l!O2DYL9=iwa|W4jS8QWMP@+@4ZBHYx8C>2Cs$4I zI^y|(!@IOI{(0mw_O07b_XR?=R(6ViVV!Cm$L?n)4n;Ka_`)&?qqrMtLAmh@6aGw= zq{*r+SEeWLgs*>4Zp_<q3Drh7lT^JKapgb5%PeL1H-OvA#GN+wVJNSCM`8e0SB~JJ zas5-vkX%pS?T}N`5Rm&{e?$Qu7|D9jt*`O+O%vqU!?SNy$^Y1rA5ZC-b1Ww;%piUT zs57$b<vu4D?T#j(73o*fPwK6zi|;Jmn!Zc-b6f@Hq*v8z;3g758?o5Ch{YZmZr6Ln zk*Kbb%w5L^e$pzoUm5K`9N4v9LZ18Zp0zL3&=&m;<g#Zi!F4A;oZERrHig~LhBTKS zMAow8jPY=H74KDDU(ZeDeNY#1nj`A%46!b0@~k>-Kd2w2ePL&!#c~G=##zhQ2drx* zgHeRI>)W~hV(h8d=EEPKf#^5Dx^NbFGMMq4CV;jG(ZJv<R&7;9kS-LyL&c^KEl9Wb z!wg~7EE79NzELmA?cn~xiaY;e+3{5W_C)`-HbZWuBn@YAVnSLk#(sEMp5PQuDuy;# zeP_x-FD8uhI_*&8_qS%;E=dLDrTf5-aRtJcN*ZO=<>fZYHJ4szTZt(|Q0hb$n~Lgj z>%u+AFG#tqHIRd+;k+I_G`|^Nb3>h_U;ZUSD?B`x;6!8Z{o@P{`>R$N*mx_^#QLDP zYT2m#I`Otqd1s*$@!HZ5WCG&z>7erIyWWy@OCL6kBm1&~y@Seb*f48hol8R*Xxcma z6d0+V-$?uK^sx(e1BIsrL;OJ5iI*7JGt)&UL*(GP&)>(0e$q~bK*PZZsb3lvcjjzW zz1crY>P-Pr9FZb6G$*YnD}zU|RKo^v#ACd2$n9GL0Xat|#@PF?sdc$7SHA}^?0Nxq z&bLFxKBrRbz%WYMHmSIuhzymNxupCIK$=7VgC(&IlVZZfUO;QsxAFV?+aW`C?OCVD z>N7?nz}O?`Yy6*UV~cPgjs&Vf@fS<ls&B3SWFdNApUT7qYS)=~Xu4Ew6SZ&Q12A<w z6BgTa%Fsj0@Pr9E6lW}?v`=Wq>SM$Q{j0LUWAqxeA?U^RDQFwcc%p)76j|9!t;m*+ zAVdq1A)%Dlo3DrxqOvi7C2!|%LMJ>lRyboswWWTk@q;-rbIPze+m>V$e+-8U*@>iX z!nc9%XM6)I;}ErF7MSpb)HJpH>B=&ILRZS_C^n69@wW}!X~q$)m1LVTjb|vp`sHt( zMdon*a^8M+uRA>=F1$egsDfMCg*;w^#Zn}NQPd;@ohUZ%xKw-3MtIAdmE!t;->J^M zL|V%m3Z1)eY_l&j{EU357%8~(_-pwIun!#KA_FeblJ1+20!E)Oj~_U0*Hg1l;uV4_ zW10=Mt%@H$Zo3|LS&}p=X%Q)8E%@yxZnT(xc02Sysl^^pvGq!vIOsf^Sg#wVGV2RM zPB{g1%Cty)#((oYk4?Yd7b|6xH9>TH{2tPHt<^q)t!<^JVgaW@L@>4x)0)dTz(h++ zNFV}E`fH<HV<V#p>yqrD6gGWYs*bG;+qH6)`MF({kO<dTCGlauk3)`+OG9eF{kXwq z-reIU#5e)JFW4VF8(!rs^=wv^+zK6Z=4AKRb=a2Xb_fDynI!|^;B3%c<Z@*8!0*iy z2vI?9Ezl}kTEB&}iKFD!e^*}oOvSELh{`w<+(%hE_!SvZOMQ@;Syzg_qU;M_vIgHY z^DIi198UEYgk|f8C@)G0>k(KKHwRB=;yYSR!|%l!DE$(R<9uKfy$5}66njV%l!|^q zi{m_HF9LJ0=zT$a3BPAGuy*OVE_fJ`U4PwF#9C}1AS2=CY=zU2=mNZ8hBegX)cnr| zrwn_<<5M^4H_x9f7YCUy($Px*HoP(8!|N^LQ2ijkHX`Qrd!NHbz#S3TR1n_VheV_4 zj~6YAYDRKWqYU3eHPyD>Soi%0UxdPb4FD&RmU8^x<_VyM)<xpKVJz_lzoi^l8%#dz zdWmcO$-N`n|9+jC0<c89d;zW~&hcDB)2h-N1WJD&tS^!A7;vAA0d}adikfb+)3kBR z^+?7X8a}=zz(DlFX?@7)Vov*P<GZrnP(^vU;N^l@I=2NnpwQ6L)6=iD<@!Iq?|FJS z)@`!U{ACsz8mf@aUDTAa{O*~FqwMb$A(=rXvI9_Pm*6E(@7f;V#e=U)v6SaSU>C8D zgLx@6$FeQKsN73SD!5`c248wfi;TMeC|bAFDhn87NjXgX6cAS(ydyY69E@!yS&q!r zW?CbRBKeHc^OKP=A=g#&cMyqPVaA+BUA>VG2xBE}n?#v^o-4t$uw_k7IOTme&33An zE`CwV((CZpZB4f-dGwGmIc5E>+Nz=Z_9m3(Iln4u1(x`R=}+1l80jrZJ00+ldQ+@M zuLF2OX2Z(SzuB5MY@(gnP|Ia8$QgOup;vWRpU$D+hY?PF?J&$&Q!v}E<G0P$wGTPN zX1;#GATqHYAsvnwq8PR`Fk-zW*KgMh)5dlcNKU5k?bYt>zAC^Fj?Z1g?-VU9nmE8| zE%jfE>aY6kg8{;&7NYtIU;qJe<BzkHB;?oDp=HNk0rB|9>o&&Tb%75`TF`3w!h+kG z+{(FmZk};K{qe@H1|n@ZD1l1(>)~p35*S>0eYybH;eG*RfFPi4kP6sS0C=IGvN8r4 zgNW1n(k`fP=g@;eG2>TRNe%=e?=THy<gu*xz>3JbW43j%+<1M5u4Ggy&j7Qy_hI>; z!q=SJ7V0f9fUJxR7*=D1jBRX~p8&h?$k>=&^ri=y5b_&Z%Awr?@|O!leY5IjHSFJy z1J%C`=wEDkI{AJ9w9oI;Sz{NdUIj**<)MME0r~w}U+a#VluCgN|J{ZS$_ZA7SMC?f z<D$VGHD(<-WaYX*z(A9JUQ7-$Rx66>&55$vs*1`j?T3zCfACjJ`}F~v5mlejHWfk= zKRf_<YwNb}!uU}>E$PA6bNQykMU1}hZE&QQw}aC|Fc;uh;eYqK!8m1ezRU2U#I6uJ zVWfugRDqYgn8YZej$LiW*A9`Wf1uyorpcTQVnhD^44H2CrjbfFFPodSLdM<IYgGPf zJh*vsA=I#UKfe#_h=oNzmgp7O@h|k?P>9X~_j_K`j6`*+7|<~QvH^ElWmwq^JTNt% zSuU+bhF#=AM$q?TCP$V0lwZEf&8_YAws@7<Ja8Rm8_>?|l3)&$Y6p%ZFAa<f5P!|3 znMPK~5lIKOgHi#bml4C512EuVt^uDY>*})!;rKH35{7S)<7@66&z*G|r|Ap%6xK-3 z&c?<c{!e$ST;rRko&btR0eVH{b8cZ#0OuDD0EMyj?)%9@Q-_H<+Ie(A%*7xQU}<#l z$V?9Xhkud|v1~ZCO9=;-66&he1kKINAwK&Wz{wO=k=YB^@7wOP4CHL}W4c>Xi3<Kx z`qHIwOa2DC?0oXaGahQHE{6dBY%0pk>67i=a&@72uWcFJI-_(sPBnuJp_wzg8-PtS zhNOlUldAgsOr<FI>%83N0_+Bm|BH6kKgtmCny9|>X~XY^pt-pB72CLUcC{V;6(0OH z>V%8S2C^%g8j6+XkF$-FZpI23voX}{JJB9xGoe)8OG&_Hq#$cEPS}7qXM!fkE5g7h zemUd@hWqoGbSh@Kgp!4}(_;CDFN11b$pM(tt!EVm);j*WVo=~6iexK;8Dv06p89f1 zOd?5w>1B-%LW`J%mT~mfm>H}rGvB+V*-&4*5GahQn#jaPUnxib1npPbrf$lj)_XO? zCndF4ux9m688{6h3T6wX(o7RB`9D1n5D_^8GcE9op%u!CIN;%dQKsz);bXhdIX<B9 zQ5pMQ5CUyJ)p6IAQNtD!6VtPgn8Nk11e%fIeBLVH{4$N%H8bKe=+PXC&s@i-rCi0I zrm(Edn>e6!lwSQ+$u(fVK5qYxqP8KU9KwZ^rgLQGu7uu9S7DMI8_lyjo_=nr*hN$z z{Iikd0&h*R`JY3xGhJJjyzx-NVkNU>(Y3DBTuuUHk4Q_iVlpr`u#o$QYgob%=QOFD zkXLKF!eCQz2xhQ9_+?vDzl<u=H;rwT)NJhr(Q^+btf?st6d2SH+^eVGayjNGjWY9d z+1a2@d+Hz}NE(#KhA{W$%vKV{2Jz&)?<`%%qLSasGaybp;`BdaYx!yxD*`^b*;V2J zk`_Rwgqx<p8@<R)R;17PdtQ}ic#Q)al>bYECjGBRCS?!4Nl7LRjvd2phfN-%cH*}! zGW(hufYr5bk*+8$%P19Ey2D4E`2YSvtVE}sSoJh4+Hw<3t$GnOjq!KosyqM5#fe_( z*tcyG0do#)AM=ZqH30K!-1{vO;B-j<QJ?uaUn9Jov*U6M2yy_p5gtq93I?uPiw5TY zhVMIBs#}AEk6MFcVlE$$x|$wAkf3o+vI=z|;Z0p0LU*SM!YwLWThs3E@7?uOzfj)L z`P4D^JRPmWC)U?9*RMI?-`7qaDp32r-!WSHx;+}e*W=`DUmXD6svdd8$0bLEV26eA zeLFb0+-3V=w>hv|ChY@N922~@H>cdja(}X&KQFSpJS99jzmVrgBcx`RAPKU`TsdeK z$1$?uOzna+B`#|Tg<ZM|_{+Mi?FCTVwf|(BJDFp@b`B@i$ux!t&CMNrz`;3J2sEPF zNydBZRxamDOG&)%Xjh{D`auztFiwuyf^`wrOB_WJ&);m-*{Abx=%YGB24(mglq*4Q z(vmLj;;w(~9X|f8=TTc`;IvB=Y?4VJBlsa@MK;gQA+V7*{C(<kA4fS5@KenexF9lC z1+VJd4HFPR`XQ!B@RLAGlPYERFY~OlNp@P5!I?P$9z79{t;^WNxi7AakVOfbaU-F` z#=RkEV0#o)YD{B4w78A03~xUl<cIS+%_#0)Es0;l6t>0|Ybdqp4$B&{GUG1AU^00H zzJC|cbd-HsF8$*#_UF&Q`VL%xCJ2DaA#jy`S#>o7J$>lWatF_sU$3ym?;ZUvDvY^& zu1~b|Wo)0PCZ5MCfY#aqn0o<c++V+XIWjVmXWZj=(6Z`B;j!eD<qoknx3p}&auycJ zHX=yGwy*;l43MAdy$eM$-~b)BD?IR#S5Wde{h}DaccDfnpnWYkw@$<Jd(wH{fvY`A z4zQ06AJDumDqErb)0R$nP9N&BGhi}(88WM-`kSmAUrlp76gYpnK{lU0za{pF-acaH zfBEUYu77x+udg&78aS$+t?=9Nd+vsKfuZh5z~&}=&&K#DgfE#bv!SDdKW3}WugT{) zP$Zu8WzxoaZF*mY`5qo2Z)IRBfH_uzEZtUFgjs;2Mmatq2V9u8g0i5ua(^?u?0AA8 z*!UN-ic$ojULC*L05`F)x#8uJANJ#8@uJQ93^SadaK?VWPf&LdZMKvJy@6{YUuR0v zi<#ngoeXu>0EM*bI|H$%r%l2{!6bPe-F!y<-W>GsIFWy{z-Q#rNIEqiAv402$qb|N zDihx%^Dm7_cOylVZJvzW+5DVJ)cDXWra%uf*44ub9{06NQErd9d)D7MmFc!jQ-g7Y z$3ddUaV_Qu5oZlaESx%qKbWWc-6iFEt@V0u$^<nvt8|$^qTp!Wc(qO|E53!^_k*?* z6>ti&Zv~Y2`6RCGJp^kn=ad#G7vTa7!87n}FGn4!m_rm_HJVi<_6Ms}Em*BY`9LRt zy(3&12#v1&3iv9U-L*%zSjYH2*@P4J=OdZ+tiWcsnQ(W%bc%WY!)m=kX0oPxDe{Fz zA^TO2hz7BEWaBTkmfj4M@U!C%93dT53Tqj_?;0U%`>db}{iyS;x|%-@GfYk(msw0l zYENhDVSWLx(-nqQ1`XxTP?UI5P#n9T)NxQ;e{1|RDOIKv=2n}hf+GU-{p`g79!y)g zc9twF#ksA-Zklspi4zHsnopk@QMH4#mYYH`gLnB5?JG_i-V=1CuBwE`hVv|EZMeIR zi0x!gVRQI&@c?~b^{>h=gd8Q~m}PUwVC+#Ima^vuj*va*MAT6+$EsjsY1U$i)Sgrz zS*^JQQx9DP-^cu_(v>VM;KIDV@`rCRnkc>{X4&5E71i!7DhX7#YLe75-%{}W_j!N8 zG`#Ou<THx#e1RBjF-nHAkW?n{EQ)E|mU7Ti{)xzexqs+VAi>}tP<8qd?XftnGAsk_ zH*08S6zc_408ieT@wDu@Swe+>NZ&_&J9B5azSHdrz7H1zu>a#Iwo!hB1@CeXC$&fL zW$rE}jg;n`-tYNt8sPtqVMr>Axi$1<@7h<(xvXh9RxOjD+-q2aP}@7xL1En4j$hgD zJ3C0VggJ-p-n|2k04;4DTA0bM7H|yUL?;5%-RwjF)AXT=y^_D1n!r_kjs`bT$R)LR zLk3=fJVkxg3U6<Kr(nF%H#JTqV&Mpn=4g&9D(;WwD0eIUWj|ML(`mF%NC_xRw6u|V z>Y0FFyOn~oUEsd<od|yqQ#a7=sNMiv=NM(AuJNaVY<Gs@HqTb(rL*Ht#tBzlh)S2P zONO=h<im-Rb*|f}f6|n2UEU4$ny7$Os{AyY?90o+3}DnxOKL~!SPthrtk|$94Mq=( z)?NE~((lb%IDPkcwkB1r>7kf+MPU^c4<b0yR+((%fNcoqFs#E6#Sd%4=KPp~n2pc2 z6`cAf(JM`x-YoZ3?>9?I(pIj%XnDkXym4BGX8DTT-(0CIlpF$sAdA3F1(o_%lpRlg zBxKt+gu4*HSAVz+l`_hiKm^|FQMaXYphwp=yOTy)SaZ|x*nimEtZgcG(>qvBIr{QV zF`()KBB;cE<x~j`ED1Jt2Mr7%n!6w@l8}TTpi<t6x=9kg2}Z5BSExEypBdo?X0{Z@ zU3tobn`#b6<Q_OnjD-I>czkl>DHm7>c&M*B{BXA)#E%R7B&Ly|*fDb<*_`qBE@7Q4 zOD`BM-@m7HU#Mx}tK=^y7SwE$lr*pT!wh>&g(dn2wIu#M$-nD+JKrZ!@Lv*JF3If| ze>9~OUVGKLl>u<Et_IOWx*h*YeM_IcXn<xvy(PzDqL}D)x9CW+Ake)X532Qbd0}VP zk<NDY2MIW~P<YG3T5iQVU3c;;tJc<9Rv(S6lDxhGO+Wk39*mF3&`2zDA+6Qsk70c* z|2vuV=90^nX#+z8>Gn#l!nJNEz2-8tb?C)a;r<R`p+&DBdj6~w3Bh0nf|bqmJAG{l zRTzM{2>fJd90t=vP2iR~D&G37Z5F0{0lwctf^F9C`qIP_AYPAI#JJXOfe0c`>`OPi z1jkX`<Go@hz0|N6<I=f$*`LYDee|h1!_zb4;QVqTmQx#@K*hsPfagT@nJ?zQh^~P3 ztcD&xJrK42n?D_&;_PkiTo93^oa{3zp^V$Xep)1>%4{lddmeU>clzh*7V!S@Z%*AE z^L<w4T48T~&ue-=<J%ww_N!B08iI>cd;V6IfpN_;B?F<o`SMN)PY(=WiIv#9IPpgC zj2Un!{RJGYTL2XjK(|Z)P?$!MXkx4VNkZ1v%xL-G0_*)|+Jtl~p~a$MON_gVj)^3e zgETLWB0n#^${>tn-$U|vLVm(T!8*-c-9yE1-xw!)O@m1`E4H5)2RdB~L*xf|b=<^X z&uJH;VI;8sz&Bo+(`-zA#w=2Bndi#+GP=1p5NR#b>SHi)Bo9w(=(XH4V~2T`DOxKm zm0OF@Tig1FD;9<D*z5F(F`eYw;z?I_x|k??lgpHj{y2WO5(u`<SBbC~O+n-Y(8NJ| zCHotq<c$2LU2;>aw;+z6q=}^16_hEc!82|ab&aBj#FB+#hxn3(-R4ln*=y6?W=Ni1 zBB_RcEvdUE-@{Vzh86H_x)FlEnK%0wB~H*SUZPEN0YeD?u$JzCJ0;D|K@`}nd-IO- z7Js|+&p~wWt$Y5~0r#zoTxGc(>=eNNus{LKTc@doqT5hB#LaJ`feti+hyV|Wo0#%E z_XC;D69eCggQEQ7FmW&sv03(!C;XNu`~wb4efA%c32WQPZVQKcigoVCHeu5mjFVd7 zcPZUQ_#08PG%~GoKI)g%BIYL_l5=I4A3Vtyw>(>df%+2Ts`vDvvbx$57-mJ#(9lT8 zsb=|^Q89~C1L6&~T}|fg>VjggyYvS(eR2V2WA;V~tdlM=Xw`Br(P-5Gt`{E@sriSl zzCZf{CQEZBadnf17CMEB30B3$<kTP?ts-DUjtn>Ly?f#bwslG6?OuKtJ`g<LFBS@F z=KV}_NGueWgx7kmwyz_NBJ$L!7cO_ks;kyi()uz@TqZO$A-Bdi2;kDPo=<Zz3bD?y zK*<a8G?3&z>cW<QS<XX;MDr+S;cR*n(u8#p|4#(}KaM;F3?Dvs;auYbHDy$>udHAT zPilnIvy7qlkkGH0e;UJz`hS%bHdS*0e$5SwrUdLo<FuvLYa6;L_!CE{R>Zv$Z3#bp z%AX5sM5q9Qd`p<VKR6WZuGQ>gpNSRb8vgKYAWduw)Fa0E!4wdnwD8gU^c!F++wkG! zScjG;&NLykII2}kdHmgJ;PTKYvMk|rp*c*7NZ#R}Qef_pPho`#8RbYYz>-2DG{Z&< zvQaSxUU8|dWUo^yNh&Duqh<}zgIH=fyDY#WL_BMZ$ftCn`oL{^4lPc~VVSn00}m*~ zC?7@iDPiTj+WTF#uCm70K?cT0>){{He`&;F6`QxV(auH6TYbT+E+qr<6ES!ogG8y2 za*>k#U5N2jAg^yf-g6%A<212tYr5DD8n5jX<kFnu7PS-vDXUZo#2kUN>;aJyOpMu2 zp4;ck(VN5<>o8x#xa9jj%RgyRNJCO@_3n6}(HdN579Tpw{@g}0)_qO9_;AyGR}KNx zPr5jznkd;!8xj+iiV(x1gn71ZuS*Bc$$qx2J_ngBiyFoaK>For5$Fc}G)UarShNw3 zegU`91H>mmmch?ChHvNsoBCc0q~2Y(2#{Pjp`P3UCDXF?_uQny$D5BQD?|+t$S^do z%*Do64c3q7IE6rxG)2Th@cdw(l~xc~p+xo%y4r>yZ>cX^)LF#U#ahHV<Ov0r+O)KX zebfQk;vwS7!J6b`tM)3!*XyB{j^kCf9#W98YD34HO>kW$YlB;9b#O|`*Z&WYX{Z02 z;sKQ#E1xlUm~<ITWc<8FvNHqdvhoKY14>^;Iph@ltGd$G?k{F$`Z_qdqy%IpZqfTM z9>D0`av13sZ)W+_NDqt6H^Ds`w_cTh;#(3yN{+&wOf%!JtPZTKr)OrkVs;K?1{({< zFsr)i5#6sZyQ^kUN-p^;swn4?)~=P`B=I&H|0nwZzcL`tDQVMPr=Bpyo<~2BeG#R? zgRZz-FKoE7P)od&zn$2;xY5TRH!@d@QPx*XT)`XX$RFs=?0q`mNHB0TENi{5tU)C^ z?h@m-!<ytm{h-k0PQl+A!j4JV`PZZ-^7CTAOckEAzfgp1rn8Xg2M(S_Eh|Ob7;3^* z5mD}ZWg<IvjQ9r~0{;Mz0{=#<NsG7$zb$GORJ_}3jj!(zrVt-YdckZbs!j>3*I+a= zEH7A{dx;fn&4+kYdeXo~@PN~Wi%pJW)qYbX)6<S$G=@{-zzt*!4}q?S5d~l>#9n+S z|GU+H<>t5Mor%<sJczPzUZS}E8b8w{X2qd3A_Ns>tGqk|m~JXN?RPouMdIiyUK?s5 z7bO9z&BS%6UT9QfYRhWa?o5>#V-^Cj;d8N>FoW^~65|~k;4IRGUylBt7vLEK7B;{D z2!V0|%mVr`+xS4cNc9miQ^SrYIf7iUBOI_huz<RHJljEL4ZZ{ex}nIA-7WDIo4smn zt^ivg`HX$;D-&8V98xe&AP4@$k>t=!unq3uSu#l3`&E=1O~iwFZ7*<dRz+%55w%j} z7O%i~-;BV{9un-V@x}NVGzg`dyaFGGB@bF^Hr=*h(Qj>UOUil-bYlhC++BvT8j=9{ zV-{=&1d5{*1M1G#y}ST-9Hw`KB%;5GZY){*(z=Geuj9@ya#tB=D>uql*`1PMWA&HD zHxD@1zy2#KOL-`V;;A*ZD<Woh{r-E%3*83LPOrE>Ehr0OODNs1TlH^D<i*3Yfsy6b z0&btdKl6{TiBrA2xJH9N`K!9?Ar8P+S7_q3Z*GRDMO(LCRx7zU%d}@wbodeJmD3_T zExl5%38j|HSb01V0S+sv?;FG1l;>wFMB>3*(4rz$(QjL>EZ(wR`x)m+xCO>2p9=${ zY`*(TLp!Z{eSb1x=XnXbK8JQWc>n#%)9Suvias3C*b;><cw^4<OKWvK{?lsrRPI~6 z_)rWMwkw%fxdHg!2_SlSG9~6xh2yalU%Q_Av|%^_EEA&Bfmr2*z714F1bu0OPb7Cz z-4~BrWNF=fm94W7hLR4?I)>g1lk56RZQCHvlT+6e@{YKBSLTjSD3jWEUiHkqLtW=f z@23u7a0P*ZY@vY}H4J$;wXMmmG!xE&FLdRdqlAC!R|L#ayUdIKx-vRBYraYdZdZn0 zo4{$!yf~`#Wr%9mSj}7S{t=_{at7cTt5&{-fsK4{nvYlRnq^}6f^B;QRr>f6&0%MK zHU3y<Te`!_?~x~jYka|U*^^I?+LmqNmNAg<s0i6F&!P<I=*NKR^jr9yu)OJ(hvQP; z>A1_i<4!V~{^)?2vJcwi14FkL&`HdtJht$NxIf9Ynjkb@4!(WIPtIZPCFtjYbur1< zse<2Y7R<=Kyx>YuI-pPb>Qpj0H`V5a#!(USr0jp?lHz!(W;>-6yPrIB%*NK`a(d-O zuXXTu@ASYq{BJ?r!OurCX{-~m!A7sq#s>N))6dU^U`rZhPWn7V0eKF1nMG=FR&tOh zJCUCrs&^0L-~Yv|raW!XGR}zj#Y6z?#|TpvtBboj#+ei;NGPL|W-{mWZszNC-$-0M zY$U_Q-K}&DGmwNV<-H&g$J?5-eYzR4Iz?SrQfgg$-P*B2ZCT@ogOi2nwR<}5w(lqi z-#>ZKBy^nQZuK_zIpZCM+oL`mZNatajqWdoo{T_Y3se&-5mj%wF@w_|U&m|S-t-ci zbF}f@E`pYlj@AGGrS#BZ-@LgAfP<ooT4>J|2(_@!BGmB|VJ92HFpB?NW2}=*d#jms z8u0xfx_53e*N??&E}4@1Dd+=draCwzDb(FqhuFJ0zj|^25L1)94_r+#vl328@4d>; zh%q6K%PveQjb#tKEV2joow!E6b3!SpRwxj_ypzlKdAq^Ul)l45Uq4GBEe{}GBIr_{ zVG#R-&=6o_^5=mcxBOa_K9BkY4BFGY=02W(3A=HC7Z<E&ZeQnc@{@0+h7BL-Vt1** z$|X+6=O`FGv+h~QCzvnPo|FTI%U^ibIvIz_ziGz)ImGE%#n8L1iAV%~FyUV_NzIP5 zW`CSqS8=RL2cW+#&%GJj*h<|M=&<*57wnJ3*3(&)p(&tz0WMHL=HyQa`D87A7{J%j zFVQre0rpxZV8k46L7CmN_u4I=ctbnA=;gb`wP3Xpq`L|vbl|3fe>3oTnNQ{A_EB_2 z;nZO=RCRGhMScE{NCV+5lNp6B8GNI9z(w^ig4>IkWOm@q(s>>`?hrg9X+1qXd04hM zS!{9aH$5Gn5yqIHK&lzXi5I;fG!RFmaB6(fxCra>g|~9lY5ZxwmDxE8<H1<d*LKND zSu+=MR4Plott&w-zb{;XO*~Dm_zufxZaz`_k1H@xzM^~i@guQHMxLyyM5XQE$1|%M zCgv2w(du^Ji;Dg74kE|7CQ~Fy+|lYN4cym1j6zkA=-$wUoR5t?JUHQ7F{Gbce_oj! zUKg`GYP$j!oj9hqoptBpQ<Gjx$QD=#VHv$+-%eh0uDAJJwHR=!%6}By#KS#J)Ogy& z>m6+(E!0^@TrY3CDnL(Wzi-OE{3V!6=)bq@FfLW2?B|xMBFLfoj)B#`K`+k=HQq5p zMyjdN-2~LTZ4SJOq|Jwc^J0N5Jpox}O~=rD$|cW8UC?1+js$5=1n;!)aoXIxh?HdS zQXA(N$*)6nZ1Zb_D^Gzjlu&-jw?IFh@;oGk7J2lJ)A@Df(vE#*R~|679bjG1g=FXL z0&f@x<lV3f7b9*3>KE$sZBR^DJ6{3`+BThlj~x~tmrxKllKmLR1^V<uTWuB-h6rBC zYyDPT<D(5@DQqz&Cl#$xKQy9N(V>auI$T$fY`a<~#k<fRQ1I@qiqY`wXJWd6Y*F|$ zLG8Xa@O{(L`fWJ(<@+4}vCc7VItc3R_LI|JO`iS6@bO3WWn@I-H~Jz@k9=JaXcy9c zCB9FP=1gzk#xGfs7bm-L_fNicGiC44p%anVh~)lMc67^`l+|$0Fi>&kId9VJB&9@z zj1``BBH87#hWU%5C;mUC-a0DE_6rx5mXMS#K@pMe1|<YRK)PE%VgMzE?ovQRB&3lN zsX=DwMnGw47-9hFmX3k%p7(dox6b^>TA=gX&%Nu~*S_{i)UognX_74>=aWXH#Z?7( za)Dx+ex68qh*xcLJ?dXF?3GC7NXufN*cd{P;<Jsre+!gp^H12@uQ2yuGo0Y3OHjT} zRICu^&0`)1ZQq?js*5R}Sw`ozsP)@R<>^VqRqvVhhqCsM09RnF$+G8BUA^>+4Xozn za50(x-f^f}ul1=mbOml%bk!d^C;3vR?{cK*hjE_2|9aN#W=dI>r2d|o^j-}mrGTkV zq?H50rR6KDlPzvG(sdg;)iWloESML4*4~>e@P=I?YkueEjKC~75c8&yQFkK$uKER^ zVM4wV_EXG@{zACcR+$5>WaSQVGic{<5G!Mi#Vg7p6c0kVnw|-}$dTYki3gYkOHh!e zwsAMkLGVcH*8PowXfnwoUiR|}diRplUDiQkcEs`QjCkFlFL1?TJ6^UMpoDxHf3_1V zuWWlxSX^&qs&b!p&D2YbMCk_`#IK5=%A5D2dEH?JtLQ;Bq0(~mX}qr@!eA&pCT2{r z1m|R}Bin4sf2?fP{5-&r^wpT)fQc^Roe+*=i-MCmRa?a=f}LH5EV66Y$+>TGviU}` z6LrG9*jq(j_?ty3JsE;TeNxZ;_Nx&s-YQ6&_{0eQ>oWWgA*WJOO3~XacJ`%Uj34>s zxkFM+7PTi{hqMnI-3Q3t-@JX4!~7_`>4>>MZFs+hhsMY8HWOEPg3#=aaiM!V)INrn zqi7K=HkMW8-5WyiJz|PQ!lHXLa>b0^&NjdkH-E=~{q9GiZ-JV${Irrj&2^bgCU2b+ z+eH6R%+fkLxYG?78w24eprk_Bh7tFA_3F$rON8WXNkHZYVGYx1vsMAM>mC;LG%RTb z-^+)6z`{d@KSmX`o_UW~U;7Ka8q$A^`2{j*%T?NQHei8X)sb+xG`#U`x`Pp~;NaC2 zy{o4tIfa%KXGHNQowL2uRm9j(%2RD#aWvKgj<$hRpdWMLNjykbxH96)CL$z+GHeaY zS7}C8Hi8bp>2Tb0ljyEk=Nvh`HCzgc1KL<?+zXwo7+hVzr3Wg277)-*^W2^iRJ#9t zj+nJ0aHwGt+5L3YkbEvCL!9M?GTR7ckq{pdC$FGzztg@@6A&i9y6l}KA=^I*4)duB z`^xDWb-NMwI?vAk!8UxRA|UrTtSXVH`h2t(m<-S3wPhX7L6Z~pnvO9#Y3R?XjaS62 z3&DU1d~jgD(H0hly|lEXAoF#mT#AUyEv!(*X?|^{V!!r!_<mFH-9*^<>>x2arI8e; zsz<UVw*LnM!jhE+q>P(8(dYHs!XFLj)ecF%AFto~^YmhN9UM|j3}+Tqhe|yTO<5RO zYp8E5TPtkWc979EYJyK*eSG3)u&2fCmRU18VSF*jKiAfMg*18A?SXySVi7XU;-@+z zkN^FfUHI5^>B?HsJb{)i7$h8-ZON#3SDAw|f%PtrPLt~IEyX62^yQprxF!ZtW)r<; zs=JXqHQzgr+&@;MgBo;RHXM5TII&5Xuli}zH=X0i49B#zWk$KrtI{>zo$%9BwFoBR zv&6cQ#`zj9P}ryVCh;@FeviTeTa62j1+VwMQ&qSUu^9z(``IJLHKiFCcmISHX{VKI zNm4L%a`pFF{jHYp`(?AVjP2upD3rFKbFZX{QGW&mIP+Hn2i2pB3EH@J!o~S8-iHt{ zoAQ<CL*bSkPSit(@56;tJ{-&^kIE=IWg$aE1K#t;#;6i6dv=T<_7^Aj|0qb9By5x? zNw@K)wnGe`?7`a-w3V<+>*%`UOIa)!<(O9cwS6?OojaoxD)$-mDlwS)5<kZDR0|(= zeo?fVHi06`+!$!B)YU^u@!K<xcWY8x!u?gk%M&dh!4aLoLm|Q`ZF~uh45>_^&IX;C z6y$MXrU_ls8;;fgUTD)ZGK<m<_6wrqyGXBfw{x5E_!8b*1;FDE*&#}gt@KOHQrow> zR+`NITD6w0E>z*wJs9amzwz##DK|Ruhx{m`JnIuXJ9YiGQF;1%2epT@7^d0I3{tF^ z7~Cl9C#!E3+Tp!D9Y0WUh30T$-g19`kBvX=W{(w}Az#CVNx_NTN+mXM72z%)FuoP- zu_@PWAAYDAj;xI6d!|@`&CAXk)`?|kd1oPTZEn7j6)<h|?lw~rrYXlZC5;ANC?%!O z#BhBE>C@(azPSGPnlAvf_`{bdV;p~`;*LJ^Czu-XK((4Kj$p;JS{A=PyLcfHDEKO+ z0VyweTX(XfHCiE8_ytXDq_Zu1o!G;$9a37>RH-!6rB~(ot3=lI_)YptsB%hz9UgaM zJzT1<kW5xbU4#IcG!vi2qsMDIHU!FuZCc{lyHxGXRo)j$B9)ZHU`URT>fzNt8MC`m zsQR46J$c2@&QrNL8`L{2cMU_>W@UNILd2HuQzZq(HQWR7&JbG;m^|&t+PMYk->1*- z>|vpKxdxeE9FmlHxslCDKT&w$-u=f6crf;CPtDt;ogoP1fSPl4OK4#9mRz?@sG#EF zCUL(ppVW7gX54p!#O>B}0$$%GmA@79nFE&0JuWVh<xdlK2R3`RGAcKnF=iXnY6SQ- z_5E=%BGLnIvJW~{a{Ib=9hI=;uBFX<y*n?3Na!wj%H-Ew8*^C$yi`Ve>iNh9O^D9* zTVDA#v0fnvvFeMaHYn^(b=A`bbQy`w80>5n^l)3>|DYHp>U06pH?aP$*7v>VU;B-> zTFlF7cHhOLCg`Mhl5_tNM-yLH6I{coNmDQ8i<_BQq$zfHsWVFesR7ip*F@^hq(%CC zc%n^1#1Vs#*--fRggK;QCJ`=Z&!x>Ym9oQYZUxO7w%R@;6>__s?UOCp7#Rb95qySo zbzC_Q*_mnoVJGnVC5YJNv7?S3)9T*a_RKEiHJw^mR@6TXXm$HM{QAR!#^uu1T8P&Z zn@3TjxRPz;l_{%dYi#97k1>JGOEaumGqg*-0cp?w+AL(iCe+cP15!N)v2=^xF&?gb zN9!5&pshF`)v@w&Gm-id>8<)9%CR|PBG@*Q+<Ij(MwR75_?#xVOcGyAH?8!22drzB z@dI8i{SBw&d_&_Q)qn7Z!i>r8eobWbv>HkHsX9~BOFfG%y|P>PcML#2>!JTSK8EJn zpOB_AM2oC_Ppq?Mx#jfTkB;W%MJPHq@RfTHCnmjnxhYVZe@;@Qucz0?OFHjUMxzQ@ zlg^yT$MMt%d99HI9LB(}L9~4`f~+-4qj3}3|FOls5b=EN>Cjl)2Q4Lqy_M9`=*h2N z`<+~fDxbs3EG^fmEpX_hYalVt?z6L(hk{y(lICI78ne}<3;o^XCocDkD4JLA`kZ-4 zYzngeRbOb2H53iZw3Y6-EN=g)kD{k&bd!Cc(*74-)cVZ!7;b#7k(s>kb9#D>!v3-) zMZh!<t6Dv)pU;bu*zB%d)HL5aIK@KP_xS%eujkTp!0A?*uH&B={H2<V{#Q&bxj+2S zD0|tz5w9+f@v2bXGxpBrFs5)axf4xAx@t&P;LB%>*UqdPLEWIAH8HyEYl1y>JYfbp zM)iTw)+geCp*%2g!R%o}CJYxl4>+ukfs=Zyw!t0eAqLz5XKZowROy1xx8Sc6Pml5f zFQ1JT#`c;5Z;g5coUXO?m8AQSFzWklT56ik)IRHu`a65v4=G()3AOk=Ynu@a*>!X? zV(jFG<N756wvT43Cg$vKO;$#cdP}tGj#}oIG)$MxvO26>OGwjWZiUnr(<M~nTUya^ zW^U}&6!7Eb1BN<*-tMz+xB23K{1NN#bm53<mn&{(DUO}f3~#0$I;|r)k+>sdjxaP; zhqdhpdhdRS&n+EbDA2AYMJ8lWPs&Le9m>&qhZW<u{U&T@{EvI0uDctdcy50TkF#}0 z86B%RMgPnDP}?1p%H(G7{Lo}317lfgro*Q0pz?V~${LzLlb$@0QdzkmDBGBphbZL_ zdCHkqtr4TTRpriR2F;R8iY%rVM!n}&5Ps;`Ov8Ud3X5k(^8Hu&Okm~!2#J3)qqcPy zk>k5H)5IV$;iUOV$yEPBue^B5)zr*T6z_UrgjIAD(NB36-ou=<f^UW(qKS{P-a#Kq zU4L|{7UG@gg&RpnXY#EkOPzoF***e}iTXY_7Wnat;pPLPx_iCd5#MfC#MMyHhH*Q9 zP~F;RRXcibZqcT)ls$J<1jmVh@toI;H6!xUX2*<``OnwKgOTCQ%KKy9J`geq=d)!= z4y<cA@<GVbQ47Y1c)wUbv8XbZ+<7U-Bx5gE$)MNA^X*#MFc*<<Kw6-0K0<j<%`hAI zCThumpP9xs6XLLSmD7O+#B&WXhvK>mY>Dz#1!wm1@fn1@YI#|IBbq-rluP%&Bg)ha zFH}Elo&oJeio_?Qc1je4j7fusq_Dsi5~BC_S|~;dz4vaVl0|5VH6Vdn*{<YhFl{J{ zJcW?@;)*BKG!%#LoJA~~_;=8^lT|k^F>YPk@)z-lqz#cY!%dK+gm>BTWr{NC5(OA+ z{;k&GJY|Y5&A(qK`7mse!hk2}!j2)zm;+KfYIY)FUf{2%hujl#VzRW&WOQ7aH<G4R znSpJ7&t3RjZ*|S)6DS^#r5rzg?f0`I38$Y6n#>3~0ErX50w|+*^s3UI-J(XCvi-|a zCBo!e#I(mdU+d#Iy-Ak^dK)H^ogwkk1H&^{h5MbW7tE7YvM*#NNy@X{{E(E*je%P* zinT@3b{s6v??C79669GhwpQb6&USu2ztD>@G4@cP*c1~HUpg4tcuhL^{`6;8A<T&? zQ@ZI5T0?qNx~=9uqZn&cD3=B+ciPjs;4G5qLILT{xomwRGS@I@)cKkhc45*$2XmG8 zZVV!6N9YXxvt6Z7lO{#dnIx839EGqUsHB!&cdK^yh|AitVOOnCA=*gmvw|w$gCvX| z)}I?~FR)goKSJFotGHX1Wwm>oQy&$VpYP{1?+?lyE+}eH-XB1%jb)SD5zn7tTu<0< zfqSh5yDw+j10L~_4bbJ^cdAG?sE5ZA4q%$q9p=W8Jm<ej$^vUhPFTJ#ydi{GT}cX@ z2Y5Vue>+h6K6_ibD3Brkn6Wh{XN}#oANE~H?KO|-s(E0!Wh<SI4!fcVfa@H2k0_oi zbv)C-CfU5R<z0sy5zbAljuAS+J&a97`|j50`=f!8!HoNJO*H8PGIm^Z>d9O;NNuGr z_7K=5`QsgsDsR_VMAEWQnkBd}?~?HBG@ULqA+e*VyfC34!<XHK+G4IB-sM&fT&N2` zpvtP{LS^0}w@2x{U{A<0l6S?3Wg#h+*{3k$4M;V4zSd=s?s|wM{r&}uQMT@7%O3+D z6s}JJE4-S(&Ie;nK|oj!ew&n49Ord3chQlIXOo|5`M0v&YitfFY#rnm>QNo!IcYIR z_eQJ$xL#4eq`+)_#Cabom>cC|js6e|nqWO?$rF5ZgozCR!(d6la7>~C_R7d@dpi2R zSdD75QL>jB_@?5>EXRqlF<_<y9%7PWqmAh<a8WL;mM?!8S?Q5YwGPhJyyc&j`f(6= zL1`Bb)d~-?RBY)PlY^Frd#x$F66QWhel5yfI>%(oS;^ji^7LJjTW_XZafIisL$$1a z?&GxwIW35)Ct4ZFEG$?E76a(Z@~qW-640s7`3D5IE-#yJS}sQhNhiG`7fvGK&tBm1 zfD@o3u_G1!>|MtmXF&hrlH=Rzff37DZ4*K*E}Rd-R>)g`@E{nM$$`e`O8^|9poA#a zdP56_A~1q6h+Uc8*dl+nE9YB{oVy=vkW(?&y?L*Cc)U|9;L3ED+P5}=<xWlz(H|+O z>TUfyuy{HQmn;T18xy7t{Jak=w1)PZEd%4%@vCLAT}n?x%UjbuKSXijx4}ViP~NjR zodXgG?8Ef-k5&kG#ked+o9%6AgHQ2PyD10hNLDCUv3>OWO-BPizlbqEeYh7aM0ueb z&)oG3y^(()S(&uK>9y@AR1J$j3-Qm*tSFF6Mub?mRehT2d=0i}AD87)sxsRQyfjIz z87|C{E?BLfujf_TXif&n+Y<>Un4h|`)eeDC6-Dn>-J2oZ1U~oa*L30x-I-t2oY{36 z`CCE`mh<3ajp(aG>v@@&@qso<h3V;)?fD&asxF8x6omNZ7ob!f5gzw%=Axdu_00R! zV!@N{L+X=^TeHm~2-+qDZO~ELkE2Q?YExvLe(h$GxTZpkJE2SEU!#PydY^fd@iwr7 z@Fn~sYpe#NIZ&c}G_kWPj~x%wz(T;R=wLhq7RWoSc2C}wo}iQRQAN9}WA*4GV*_B+ z*gqE|%CPsy(}%1~<UWg_)YqOok13J;oT5{uw59F}?sKjX$y5W9q%^RRfd*}K<M@<2 zp6>Q?cUn6lv{@fZUuknKKLM5QoZB?pi2l)Mb>gCLku+Rt638ny(HnxLrVoHM6s93z zU6`7K<D#g`)<N{){eHZ4+a}swGpFcyD|P_8k|c65_RQ}4fDPwtBg<-nlO%0b84a=R zeMnq9{6HZ?)jnCmr+TWLjJoyj3H4}z0sg3;PsCUQl1Hibv!xQTR~eK2ZaDo0Y{h5i z(j<gf8o(NS8jeAuEAPQ;@^P=fSNw}4%Z>(AaKbSuzO(2ncV!9Q#^C@hR;Og@QK{Mk z(n4QZHypvlJeCr01N3@-33WOp>rap}J5C)ORJjidfL`No`e8{ff#ti2DbA}e>NXx8 z3V$sAoiqUPo||H~&UFfbOu>M|IBNdz|KH#5nr!J=#CXc9cwf6?-bJvL!0cNaA>;FH zxKp>H5aQfb8d}iWz#uv~SzJTUlJmON?^)v=pN*t-ZFZQT^b&%_%*p#YdU`*>2o-+Y z=6LD5W9{%DNH)ERf3W;rDd)XPQ<B*k9M@e^bFbxO)oQ(*!>|}QOQ-~=Uet(;;_LBj z+O&4~wu1YF_KqmswixtY`HZcp@W+XIUQeg|5}87~QK0vBFqSz)*h6IXI{}spN)az; z=Z6GX`>&_&^X?w>a<{hq$nK4l4H4(r(Cz>0bKh$ocl%Yp@z4kD1)Ek75=nFlI?HQw zZm!r+^a4l|Mev^<UJ62PS)K2-J94+fHD3qh+;0SBtHCZL!1DM&DL5?y>r3HojsIk) z?{D&ju%QOXT{B`+P+$Shjb*ms<2N1KI0ClfWilrItlqKo9Zlr~nHeqyOm`DkON%hi zr+F;PS!d=B|HUkGNRp>to|&Rg&XOl0P<&7(nr2Wn&sMXdr$OUL)C?#xS_2!IFHP{d z#SQd~Oz)J|hE#vZIQq`uiJj@6PH)60e0Sz2o_!hnfU$=Ze?<6*PMX*q3;*(qn#SEQ zT1(tg`<jmei*M<#_QRogHH)3g&a%(`!@*K%m<q`gS06oOkmBrEWP&1h<BIU6o_U6+ z%1jvU2=Bcm8cWqBOx)kTSLYhv2niOvvg5uAd}(E&TfpW`17Op|fo6Aj*-7AKcjxD9 zcSZ4aI_k^=;P+McCCoqWyzw~R_WHQCZ!XDOdW*@LQmxuJPdDIr^R+&}T}0!H!SBVc zylwB!+U0thS`qp6Q`B){3dvf601ntQFbdCQU$TrQZ9hAJ*(e`F$mDJZ-!!^@P2B%? zIMnrb#kaV1>pwE%|A3dNjp;(QkR7Yh3&!a=f7wHc?SV)Z=JW|SNW}(`+jeB+^lr@> zG@UIsbO-yif!&M#RF+4^;!;kG*euaTGumHM#as#C9*&wMI7EH@Fk=Jd^)jJ=RfHa# znF}{nB^RAShUNb&O3NmbUTSNso8+69tFxT<_uGZ~_@kee^a`JVfFU~LLEciHMtOuB z|Coh@EhD=!o+5f3pI&;7dXZ5O#wBwvelP7OH`Ncm7QVVZmAX+qGe-3KUkrb~EA8mm z!2JT`E{d33UAkGvy6f4gpDvC|b5cKl$6KN~Na+c_Set!STc4uUKK7%^Z)w{CR+~~r zLii%cBHX?_n=`22UFIP1jC?zo06&pS%jpg!#K5$%oS>i^*DH;k@|Cu>HkgvXOkHEA zoKF${jrzY_fZi<oWcc?*Varf>8TKPSHx%*ISJbEJ-L;?zwh3mnOODLdW#1kj*yO&P zvQn7J9+lEh-ETvLlD;6>h9)D-2^hQs3YZ6FrkRbTSCn8I=qS~sh>NCSrlte@7g<Dh z`u43c@sZ*S5zmtpg!vL1%1l-QPk~+z1U8lkACm;ci!0^-9$L21r?S{Vq+C9>EA!b= zU-@oLvcL7e;i6;HR4Qa!XW-(yo!y$fx2T<FcaMa&mKwM#5CQsO-R+tNC1-kuOOj!< ze7(leX)e3?<8I7L4yr^0Hg@)~cT~=D0BN?O$Nx(+&Z2PW0_ySokTQzlTI;n4(yEry z0$<t6+l9)Tz2U0WUr!0ym$;_ZB9<tPT3Xm)H4H&B_ASuw{IPgZCmsY7gA(*M`8eVh zi4&@O)J_H#q+~L;_*=~aO%qrI+*mRL-VR4|=(x3DyLkQi--D$lDnHmhdU0&w=7a}Y zE)?YqR>V;~nh~d`oxAK%q+*7Z8PS8yXLk>(n}mG)S(|<^){F~ky!Mx#on_u#Ck))W zCV31p7sMlvCz^@I96PFc{s)L`eJeRBvpg0ruN~XXicb?IcOGzm2B|uG(5EDa!JqqR zeBrtpC*jX2<AIsQ7A3oFGt-^-xYz`2sVPb{Ftf6^)l&@?ym#vboM|3B#1A%OKi1b- zvO!<4S7N-w|MJ^-&)>#M9h&1rE{$aAP?HJm!a9Td4gQst10gyDN_b~HbhhECQEeOx zjmWpXsM?H0gf8~w%!uDr8u94pVmQvr?Xtjy#T{!W{<KW{Ycz(l<i<z)ms+t#Wq(^$ znY`S|bj2^|`8SmvQ@sdj_f>=sT;Emez3wBBdMRP|30U=57`3!B8zF0o7tsLYuP^=* zitx}X4H7PkQH7z;?wk2?Y%f>_A_0p)Oa2bUMH7d$>&^@|6Df3B7rd@J7_B;RU)@rb z9&GE~fdPOZQD%Lr<sguBZ?)NCGvt_Fps8^Wjow%qbl0ano67$*yXD`%X;{4Vf!ncw zouFUJN|UNVs`ez%*2NuSm^MSD>DbYVX(g_93*>(5zaOxwO);?M$M*MbSSi-19$wP8 z4gSFQsNn#-(ND{4a^D@rLqQCV5mA0aST^m1Ki*P#yL^So*+*VbTfqKXWA6+~&I)l6 z+{Dfve=zUwj)c6_S?MlXf9<m)TDRLU9H(B8XHfol-(+t=KBWdi%>kH_s6RJS?3CUk zpV&I^NfXp`8p*_X+fvAJIK9Hkzkr(KGK|U!=WNaD>@gLQY*10j7OJP3O@Vf{0IP;o zy!dvYGymV@$(Fr$5RfF_nY+g(B(V${{e-xkAxm$6@rLCqe>8QG^OLKb^@jhF&NW!N zeZ1~G`SAPdlNtW;(Z?*(Kf^Tkm;oI4;03ePQbpMb8vo3Z@w50+bJ{pj@iCNO;@O?B zN9L2{i2}>+ZTAz}JcjfaQc~~_SKCX9G50JU;WYlH@|fbjULfY>sQ+j86coed!UYbP z63Xf<r07`sYX&p~vSN`Y*5DX8VK`}Y<`L}Up5F-R6!fvCy=u^M@4h!+SWmpl8b-gd z5Aoi)d}f5|<#RXWm*9S`ZwS6!lLU9s+7(BDLBbQ06+g!`f<KSFVnj;|IJ%zp_?#a0 zc7fbMkksbLt_<^j6g4?rG@;SsDV5@GPatt=j}99aHo^y1`q@4XcegH6Qydg$GSyu; z8NqTdYX0O~4>GNfah)wwI=<h;5<@$H%A&mxQzI8<n}d#Pqp;I_ZOb$7=vsruNy8n8 zU(TI3Zf-vQ{4V{_TJ#(47iy94Dbxq$^yoMnABcEU4FPG&Sc}^vUD^nh>kcWGAg0Y3 z1J{YdinJTYvCpO+4stA|G>|svxp7#0$oFGaAidJvB-*I@6AXNLRdtUhasx=%3bk%% z#q90#$oQ>Nbrp%_R}z6A&wbun#=tM3;DUwzu*NZagSS0z9*CTSW>8PFd*y!;5&kcM zH{Tq`l=v~Y7#%pu6ilt+w#}TG{Y>u*pC{;1(xzF;;fK!=2}gB&QJ=;1N!@S)L==*L z{QN6~Lh__lA<G(8MVuCH41WtCXw629NB@9ac|eWXy$Sb2s>0Kf^Y!|x5rd`t0S~Uw zE1l|3CLUDQ<&r+D+?gqKrJJvT-x`skPHwwkUcH+u4~b^2?dUc~IsNp1Qc8`V^OC}d z(M8UCt8B}PedLM`zX@GKufzTL-@JWo=g|f*nmqapRb4d5Y>p9AM%*~~-~ItcEpF=n zo~6*Q((P0c0T0b$6Qg|JI}2I3CNU&~_$?fJJ^O0Rwk6LZKh#68*v-0#$RjU&&s=Vx z$<>4)vv?kz<u%)$Nk>@g87=Lnuy+qnK$)RKAh&K-`j+mR?HBquE|0Krn;@WF7lL<4 zOh(*-4ED9?6SP3`v?P>3Ojq&;uoEfB_3Ni(vM-I;16>l}8?g)}8GUy6gG7C^H(~)% z1Dg~Qr7qmisEgu%l@WBWS#1quoLNCm5hIG6>G2^Ld7M)lKhY`={AS|!540UKJG-zM zEu_^}c6a3Xt(l+g-=4ZZ>+;OKkDm?!VDfa4hWn&B%*FT^!o?*3<%?sWzIyZStnc5- zJXVdaRy-%W0xe*)JgCF)>0x7)Y6!U9menQ8`egn=;Ik<!C2=G8=-f%qP5W896`76u z_C~0{9{FD%+zn8X0F3V7wrU*FywL+V3623vq@j0b8O}?So~}i0W<Zys(q%KTRynvI zU48QM%cN~GI$+22rIP{G-Gu-=WI*H+`xeEg!&%o_U!Do6iLI)H@?--q&-&b-*7(2F zm|p7aR#{k_)_i*V$jiXEa<+A|A>mq$+5Tg-Xv}+ef}zKq4%wmb-sA5`N*mw{wJ-<L zEkyFGUy!?`ytJ&M=8pHavq@{S&Rp`iCMyY!U#P|;k5WP8qemg~H}u)TESYk0r3rLc ztidGa4SEX?N6aL$@b{WicgDru78H?D1Fwn+6&)kz_wVK1`Kv#B1k`c1{r5L*HMXF= zkM?dMKe(Kop1KdM7ab$X-)Zmf<q5o@_F0uqVF^u)U5p*gtCVAe8%1F`A6gmU_siY# zfA6#)KZrl+4ajbalwrcp93_d=t=A|{{~c0HdEvf&-xU73@WaalxEGg4df&mw%Y*`N znppZ8XO~-p9?bnO^R4w{49qL@(WwwV*2}T#<|2rl=H5$V^-?{W*EGZrl>BiA0wRZ; zZWlQEX<|;JO~T@K#;EnO<`le-q#QC!sPZp;qEZ%HQ?lx7gNd>gFUN0rTN(;N&M0dG zeK0EX>(_qsP<d@fAHU*fSJhPe-3+&XQ?)~v3M&QA-?1^o1NUS9A8zABMF6$H(`w#v z^<Psz+sYa)A>7O0%pw`$jT*n4g9KkNR502b9NtbjDB0h5bQUcCB(H~dMVi=pjIx>% zY0Mlh&O+Fv(Sz#55s=0S;``=*g9Wj6(yFUqgjb92Ak6t_fx;plsvt?T!%2TSJ>{<t z;dXDy?QeGe(c`2m(SDwkH6*lu)7J1PwXoHX55ug}^7!zWOpDGQz1FomaEd*dn-`lw zPqER=C}-%Ns2vua60t8mU&BpY&7Z}RK54*lN)AQL5oFBQjuUYnhvcEn3Tmc%LoD3K zl{qPBOFhC=ohL^YxVL8sPiJu~16Tb0hqCvVV%>jpv@@rw=7No6)|JP3ipvtmV`qM> z3nN2>07R0Z=@bxYPf{iRl$E9N_U#WtQ?UM(Sz4@BWGwIgur1T)<VGY*Bi^+b!V%4< z9xcf4TPqtNCKG5pdI5<;__|M@e$-x?bFFQ2E^dpT3uNUS=sa0o9m}mIZA)49+H<RI zi_im9(l77q^%;X7@$fv5o4;x^e);l=nOSDAR7&n|{t}(%1NXmq*RcfGDhxOskhbgj z$BA?b9VD)P4#P+2p`2cM@#XaBsz+8luG|o6+jy(BXGFjKy++T)V?vO_{Z}$=hdMRw z*Ilk#jf2FC6;7x!lUuwqXt$DXE0eAoqecaXC5=65rJqTIgzSqw0#*x)@12~epCaNL zt&l9jKPU7k#OS7wWfk6P@)E}n=w=CQ@<Gj<xM{NKn^#Ad9mJ6BN2C_0H;@n)p~4cn zfF`vG^AT=Ry~ix2_iVDFw7KY4mS8?D5CzxSlQY?re7ad#7$Cm$U)Rs0R5cBU<iN@C zLomyT6wpPAi75a4pl+Al$F`*ra-p)1WMq@8IY58d#WN%g!(j8*^>>T1v1Fx0S{AzL z(r=XxiYdA{C)6YR?$m9lRO?JyUSuqiIkJop&*dSGdp74;bG2k<N9N2v<>N@p5nA@V zZ!RtNjT-;4sf`%Q`FdZbLjZv{<V5(@mxUE_YI(1^{u@c-IK9u|?PgK0o43V1OJPFM z=j-DZRT|Z=#4-n*u8}b{8421H$3~St7Ld8!s^D?2gk{_N)Djp9r6c46OR3!PT9Nrj z%k`XV+pkuDTVCe9`EGT&ZJxZGYacW(F86{5zB_MhwA2FOrlupxqaDWCH}7y~GTiL_ zA}4KZ%gsFE6#(E$$?%_1`tM8a-7<A;sSny42eZZ->VUh3`u6Rk?rOwBAQr3H0z8QE zz9@c5Hr`}K)OmDMt!&j?roqvGE?YOvRn>F!Hh0)Gbsj?0_gK0}h3AE)a4Or5iDg|e zqL;fuZopyXaQjx&*a#&mLTP=JLQ^$t%v+S;&(i&Y#=SyE7X#sdyNvXkiD%wd67ceG z&-_pc<n-pUe^;I793E9feau{I=)$JyCr`l>PJ>kG$xKwwIcKcN-FaQv0GhR`8GGc$ zp9iF06a~|Qu+P4v)x`nxN;n<MVT87~yWAYPArux|1=extruqVyJh6|qvBjEesVT6m zZi4D=g3iut7m$sfp~2T+^U(0IsiUtMU-+cu(2-N)#pZ*V8vOuJg)1oD-~h;3x`flr z?_t1oR^!e&8LEPi{7;0iQO*bVQ~Lc%yWJYH$quxwmD25^ow$UM1eK0X#>M)qd89pa z2#9qXs`_h0oCLAfnxK7Az4RLW;dyN6^Af<6g`YI6|Ita7wCZG=O4Kj>G(++0V3hf= z#Z%+k?Qb0EY=~Z%$(~XS;V5}>#0Lja5Z7PY1%qn<e6+h1n{21-j)R@i&Ker^_IyoL zC&~Kd-g}ry*Ya~&J<O)Jhjw=M0y{&&QD47qA|YaRdva%^Ik_4cxnx=o9<`uP=o+E^ zL#fhsYHQ^2pt*z5nRUcxX_yDt`r5q!IC(`&t|R*T8r#P|-k73f#BH_nhra?9&ktkN zbi2EP%nMU8&CX`XiZ)#pU5f-WVBB9%{rs$t?Lh|S!U|Q|zFm?_skHxmujZUD6=5$m zRaYlLk}sE^-2DjJk&cGF=H!_t>^ps;{pH58$0pR3aDEX^^(j}2@@PBvW4cHjpeSK{ zFU3It@T<!bO!hA!mlht=nXdQ~H3f=q9Orr_RT_PuPs)X0V!5=Quh(*}12I+dcc<O8 zNDg&WMWa<8%>r^r0;fnTx;;ExnlI7H|9HI9Vk?}WM<~E2ApFvC7Xw=nvSRFDic$7% z6j=zXSR*p~3t`fbo5?VbASsJHE6Y*ZSI=|TGasBd`T7I2*!Y;mFgNML^00vD#y~BK zI1>`#==QEGwhj|p+9eg0KGZTvS~3=Kb*`Ma3a4^M1m^jZ`rW_6nN~E<s)S%QeKKx$ zFSua#h$p8fEQ=xuxh9oL9t?_@*9yMOoz9T^zPlgO*M4l>lE}RF%~EYNe!7zi!^GY4 zr0?~yF(L-`4`q(X`!hHE{dFh-*f;AQ4qfp}OnD?+9p`)4RGb1th=ggH|9}FId}K10 zo$`c-28c2LTxdWB&EUsQv`H3=mhbrwMr`!4$@a{h{91FLz7<2VNdM0;%j(?NeS^s3 zVp#2*v@U=H{x0OtJAs<}aT;NHghcT3(W<v;hT4uh89eS|%d2^~(q`jbp#3+h9n8Y} zyq+pZ3RM9+F{i?DHXuG)M^$96((7&gd5Tf02A{;2+`Qpgm!%P7Ctnik&#wc^ElOB) zgAH&2*AAyqj`4lWS>z~TWfOLSEPl@i{RP*mw$EJqf0Ksu6!&{LDT#nCPh{tEY(g3x z_oM|<FycO#$ih%G)8BFTDC~(Gx=yGK^}G0m@IJ=QZoqxmyzGih#^L9WCKz-wS<n!L zF_$qAr&fmO*UuwANTd2*cwphpT;;W49g=;?L)_RY7|W`aBi@B@H?;lLlW3(<+Jw%t zOUU3jH}<!gJiTA!zmc^L7%TYWj}@KrNPYnb9rH2P*cql+7#}-f!Zr+4gNZ-sIoS;X zeFn%A{+NX0y)E!7NHY1hv6B5!E#Q&g67{EHbw(3F&Dit)zNK$EF)1=c7Ce9c;KBM= z1n9A(Tys(;+PB+>TUz2kZ|3GsTB%`gihci7ay`r>$@gn}FS}dQ8gz#WUvct8W2>=5 zO1bl^p!+gIT9Wo*5D{EdQ@d*qGJ$n=MgDngdC9ZvPIn=u$F`08r=~4I7rSpU0ztn^ z<lM&qVBXKzw*H;doNa0It0G+({|RD(i82Q)-$@n1x;;hELyW%hd$*Ho36-ddmWGMJ z#68uHZkz!g>!y;>k)O~}TA3cY@_hyo&Y2w|y(iM@PwuEe!!OreVa{Oz(Jk^M`tusN zm03)QV82|{hf1jINR)vh<>w=7Z^qz3yfi-EOqthVjl8vVn!yw;>DXv#@$#FZ_f_rD zoz|XGO-;l#v}1vB*bq@}uXO4Odu9Rd3Tmk>xrZ}Esh(nr&Z(YJM(DliGRaKX?meE1 z=`vUi5Az3ccJNh&<7D&LVH3okmeBGB|J^<cP%hzJ3I`hMB6EyS5AIMqMpKP|ZtBWN zZN_<88tP^ebnY+S)T6SXsJv*@FN%drGbjd2_ar^=3Qm0Kd#t}Fu7ZRAQ^-j#<3ES_ zQ^T@7R<)Xf@eWigLcVp?)&C}V|EHd+^U?qtcvS^#0{$ReJYmT^XAkgZ%=}aBh!#&C z#~$^|0QjoWTU;8}(5`7B__)d!VwzXr3i=YTEoh$#ddC`D?`&4M8#}zVCA*T~5Xj^+ zN?pvR^fZ?Gn>rR~rjH}#Z)mjjtqqI}f{*GjK>Y<6y_rLfNT!ml4YZLhv_bO(UGa5- zC45}Z=RpuD^mm9EPWGZmgn?3I;iiN2=C<?1*?e(uu+O<2owV3DMJhsWP`n3Rz4>5> z{LGaFGvZ-mNCf|QhMYZk!ndbNJ{Qc7O6neMxOcS5ML6s_`z`QW5N?rmobW(RT?I46 zapan?_*kcoCikO1(+TT&c^P`3UkdUJ2zI)}CbZQodz~(F4|^A><nDa7r+Llo-Eqx6 zW#}Te%P*E12uLq9Pqk$qmn$2gnqF0p%usWEB&R>CioKCEUu|9K1!%sQ5Nx6~2^xub zH5Y+FCc#a832v%%r*uJzMODk?z0b*)H=?#*XU9js8|XQgGNyvYe7bepq$N<y(Ju|y zqhfS+ZM_MK89TNBjEErV*ne+Nn;QQ7F{o&)u)VGF03;6>)Ix-t8QD3I+7Va3TN50N zov=W(lkTG}Sbv8n2S2ril>4*+sm|m+p0VGHTNkJ|YH^=j$ELq+{I7@y+Won5WDP$4 z%yot%AGt-SSTr$dN?qscY|wWcHqkU*zO2P|fQkeM8+wKQeAIf!JnZL2*d2m7>WP%y zFx&XsWm#jt8#_!m@g{)DfX`L0z&+s}<`?RxB&EzDoswRse~jj&E-Q*sQb;E3J*jeH zV$yDM0xo&47Rf+EW8l)<m*eU%XSm#SzxyF&1rW|cOp^K|G}1n*Mw6xoJyS{_6d<W_ zneJE}$oSpgUjT!BOiQDa^4?axxkl5Aye1dR;2rC9`3!`!s)NveKw<JJ&}v#)S%Eu_ zMqxx`eD<vxymuHrzoCn2Zwb7_Xrcj@^WT*fZ4(nU1qEy%XUPflW^^?rBd4aOa^pD3 z|FiqG$;l3G)(lo1EC4!`=CmnJiZ}25lsNN#{33`zZeht4N-tnX%G4XZV0mlNOrzcd zeuD!!&@W;-Hq0FmxK}zR9k+Vibel9eq;!LSr3*VwGwgSXfE=}y^5r?+160tU*iF2F zfl(i~s}C#Z!$u&hT=;(sBgXP`N_%$r{P^gIEVi?9eBI)=mYJVV<yptaE<D4H0#AU1 z00j*%7zbPkG(40Gya2u1Sboy^I;D=ek;3!ssYUcNm)_5sm<kqt*R;lEF_P8-1t{rk z($bCH=oy4_4-j?i2InKO10M~O=;(eUmDQgio?vL<3lfkNl)Hq}>?x23{+sSxu?PgP z9&mB}cC&rN&+jn)T|eM*r<TX8?jyo^Qs?E%ms^5>Pud<%;BnAJ>jBiUKBcE`)*j%7 zcL|W>@6IU|)c+bBd?+b74FpTLV?QvP8W5rg6WV4YcaO(jspb$Q1~q7dmbLV18>775 zg7@0S{)oPna}jh+?BTFMvO_N9g>o+MkKVn`#jtH12{R{vDr@Zc=F+L5vouS)ev!I+ zF}zTX97{trSDf`M2BaZK=PxM?_T0`6(4W8+9o)Q=g}exk`_J;&d9(WPzNlF5v3Zyb zeb*lo`Y|WYjIZ$G?vYyLyyNN;2>F?G^Ww|^wOi&jchbab@Od+Ed9-O4g{)|%Vb|+W z{Mm<?bX`NACS3gpT6!nwGA(pBc3$Q=72@+=Q6QQLMyg8E<(__zfNp7=GDbe(>MDT6 z_b-_DI@V`kkW3eGq~r%QnuG<Yk5RS#9UxXDy){|sHv9&HtXXjjzGOU|_0Y<<Y;0=E z#7O=DMI><LRf2+o@-IQmwz@hykO99@P*5P!kYlA2qEQg($mK@4`NN4Su4%e)XF$G9 zBlUbwlmsW}#?r^;=`m#OG_v-Z)zfjUb&{Am7<cAt85nQi>)7V6zWd>`0_-OIIZUzE zXq~~9FMH^+J7ct5?eJ4JPL7L6>fWiyw))2w=7F}EDXM-B<<S3=2uV?=rm?|sjA8Pl zKr&qNmE5i@$t7uq{seZ3$5(pIt>jJ8(qnL%CBx4_?v!ZIxe|7MxcJ2Zb-Cv}U#UWN zhTdDe*lMqsCRhIc`!`pydg}P+<a&OX{HYlki%+hv{%Yd>m`+QEK}h*En2xSL8d0CF zftcoBs;aBoUSFM)&<hppW`(cs)GpWqk?PN>sp1U@2g^Meo&T@-j28F-vvqF*uFu!v zgCLetp6hMgl}#NHgj82EZui!&aVQ*9o{>cSQMAVJ((^|b-&cJ^6+7PIr8z@(*{|Ep zaL%`Xar17=bwDjpS$F)t_HBN7AiA=ylkfyN;fFh;W)53=ZPi0>d&vA^i-CCVG0XCC zYr2-5ogHQ;-z}Mo^?apg&!T*kM8V8!z!YFsHBn61jonPi0r=(pu!;KZwD-7bpfwFB z6dV7eOTV6e-065JJcotA$sVdksal|VC>)~!fFACcY>mh+Aunbe?uY{TgO0wyATbAr zfX73bOCFa6i^HI~hW6!z&Uo=KO)YlO%l*##7K?~qs>I^6sGMFEzsh?f4ciN?IY4(e z1AXb7{rGqF4_l36I4P4v8<6(yS?Y?VmvGNr=$WQ-Yd)p{8q4bCmt$)V8PZTbu(<-` z4r1_AB6zt=7v^mAOC2T*YPZ+_<iAK4c?b41yZ10dMPAFa7ZJIz^S)4jUO(Bh)`$9G z>0dkdhPvsW^iAu8%GTlxG_T({5E)<GPHd=vjEer25!sD9!_aFVI`(=`z+{qcZ|z-T zLuW%3*qQMzA%P$l?AorYt0PbN1ps1ALKAwEOUcHd9<R9QH-PT<wC5yhETZj$ZUG13 zDIgBurh;Pul~%-RY28nfTz$UeMUf$x$zT;Ko|7w2jaoFp$;n(QY@DH~N_81?-1>O` znm%R_3){C5^MfTj1D9YF(Kex-xAsxpLmgJzZkJcnLZ>30Nt~Pqi_z$-k=l7~RrPaM z6Y8l=12EGARv`~+$)oik8RJfNBL&Yf+jmG9#o~aVoCg@00m@}P1grsVNVnFV>hH!w z*|Nrs-n<ZGls7|RGPj|SeLo!&sR{z}{Q2`28DjB3qV-R$o8`8*G}t8i>h~v(7ddiS z`lSZv+lQe9EU0OR9LTT)U(>!q%k{;U(@tVyBIf_9vh5M_J9^#Vwe{@nTOmS1!oRDl zKm1Q!Q+SL!fS{(ft({D4R|nXEI|Njg8AXczA2-n{fcomcSeiV)6Kfe-t$BR2#XE<0 z<Mxp0NO0UUfpmXRRG=aC#!`ItmBE*{@QNoH)a!IB6)6VgVJ2~sh+>UJcnDz+8IWz{ z(ST}^rE3rIYcJ)a{$aV#mAG42#=!8rGue6dC9-Li9(exW870mkcN4pNyq_0EZu#SS zZf#2!OmI`rbQ3^jDCq#rUsXR;f`5CCcu1bCvXwM4Qgkmh1-})|JL}D;q%3-Fr)&}# z7pDW3W-N>L4HxHR|Eha)O}Mh&90mvemfETmX`3M1eS==O(RbF;)U*eSmx0E8QMau) zWacNeq1jVEKR*OSeAXQY+;D@Wo=GF1eG7KihRiiW4Uyg;D*gk~sYxGSdQiuMJ??Zo zfBF9}7vLSxQN2}M?Z=TBNlYsQatgnME@8krFrpK4q0=pTVGW!L+}W_Tq<B8yP@_mA z;~8KTARr)>aOnBK{NQ2K+Jdu2%|rHqlrHR>pu6}lqB?A#mpfV=QKxJ(L#$RkM^Sgk z+Ot@{P*2P3ND?_TlO$x`32q^0H{G8`=!(2h6Q&KB6*^<1omhPu(KS0S*^5r2D|Am! zQ|lerfXYwbJ``8f<fYA*;pl2#!CCBm>h8)KQ$qk=!GE9jzucJy2tN~8r{gWi(mh`K z258hS*Q#v--|q3}2m0EeU??)KCC&E5w;#Y}T{yqC8NTOpW}PNOzuh4AXyl&9>R+G8 z$r(iTL8&EzY%WBpz*tR7>(p3-M@}x=t>rxGX*mA4-xW~iF>dk^?2IN`+h6RoK!Qyx zzsE{+=>=^fEPKo>hvY8HhW2NGW`5_@`QcV3{!zC7F5AP0QNTo+XKEZri>j<Uqnvbu zCRUbW`B%Zx90#zM_>L4Q3T)A^UmwnkW0p?20<)nq_4W0DC(`P0akOz~SDeno{ilMG zN%$@oC|ba<6%;viiK@H_<=p*uv>fzRhU0%22mvD`BxYZ%?;Brf|04?Q?2EH#~h) z$@*bNrK3{nOKb!u*p&<-Ly#}aiyn1UUpYXYEnOqSMj8^ZR58O!U;5}}^&K^SE-3g~ zkSFfvdxXXKj7YWz6TL?bQ%I!UiGJI^mK^I~YQda5fRhJNmMC}TRNeY}FuSZxJ%$S` zAaOI@&q9F22-ZeY5qPMvbD8bW2jCAg_fTKO#u$;=GGmpdiOM?m#BYyo<|1<eWMAH? zt0k)pl2gP9M*G<-YVvVmVc`KdjkkZ4X?+olQSFvD7lv{-S01f#2sYp~eRu2Ez9Tpv zJlF>}c@hXrcy5)~{;+DtwjW4e8E^4Dv<DkHFZ+Cd@D=9-Nd*H1Vg_onLy=d%$mau3 z&Aa0n4I#+>FT%bcV!k8ld|Q*QpohsS>`WLtHX=sdA~C2Ey9;cUS)$$zWdR-1u3HQ= zGH4#*(x%uyDiqjxF&EDRG$OJ37jSc2!rW>Ujd`J3ew(Q-_!AXOxSb7~UqAm>>qW4F zDIz=;Hu(K{;H0fgo*qw2g?)9BC>Q!z<POTg2pwO^{_Hz9XVJ#K<qyReUu3?<pVXA( z@L8sEe0Q?VmFF<T+C0;8^+TT4ynx7MNuGD5(NTlVq&i<EVWdz!)d{Nx3kM$toGSh) z6r9z;xS^%K^Fj@TG4K+9zb}xrNGoR$>_gNoM*}y$nitIilz0e8nR20f^B{@vM<g(a zz6aW&;*Oc|Kx`8I-YsBOa346~H@`VjBdnAVx_AI%JaG~8LBEk$k#g6=wPVt(+i`;} z-TCGq(9rJZ8KMkruZ~?jxKXHAQ7s<BIvon<uW8FLRCF2`wTXq_zVxu3e+aNR9t{FR z+2w=c0)0IbMiS1F_n;mEpNJUiv{6q#yiu7B%p~+DKZ6v~h?+P0j|=rn(*Jiv8DZFf zq~~+(J5^h`ing&`tU-b;Gr1}Wxp%Y*lrv<JjTa`-q!gJ@i$+Y9pI$2Iv3ge4a<XN4 z)1Zx(Jwt`d;kfLzT=HSoK{AXx*bZb$R-2dx1jvA8Ne<zcY9Pe|VXf(O-rr(}+o0^8 ztZbG=v!AG6X1o{rc=D127I-=b1(0J5Zf`CX3M&3ZH`>6Yn%W`_ueC+Yz0$e5qjRkd z4~=R#wW>b-JQq-ngD;Cy`6A-EV!$ceh#6!E^eF(sI)1qYjqAd8I1y2FHY5=W&;6gz z3f0*S**5zHXo3<u?jP#i9wA~Yb-2pajzuCz0jEq-GJwt^fC50GO-<>i>Y7oGqgI=G zsxGd|u1Xzd;~R>V4UZ`r%}4Rysdfe&{ZSd8`I?{qMdFQ3{)O~frpNk7Au$NFM@~7y z4w^4<T)-aXG84pilgqj{%dba^H1aQ+K%6bbn`*n72044;v*YQz4%xm%Lnr<H{r3_I zf-p59&2p8g)nF|QlF+zwK=0mVJj~4ttCW2}Jt1?e^%DEKe#{?W3YhW`Ny2ZAw_}4X zO_TUUki;lsk+d9AvgXg&cxQ0OHfo~#PK0K>|ImLEQtV;YPpqrxRr{ofjO#ys(LFHw zlj1wp9CT##O@#zFZw?BbPyL1JpDuk@KBc(qg1;F7?R!^Es*6EsRK8Ik|HV-#0c!+U zMn-2YOncCnB^`UdQLIo|^E)X?0WkC(E7a7~&UPF3z9SOog`>{Sy63Fzs*LK^zs8;o z1z#_ZgPPbIWQ9*mOhQ_xDp93E^lgQy7BlN|z<;~g*xGVEe*FE!B=0uNYxA%F1vh4k z7B<ggN(+CIXA8To+<cMJIboF+BHZ$LI&kLfR&2fvGV#D$^!j|CS}*e@5lj8fRxkG2 zJ}CdR%;Y-@N|1)vh}Q=7bUo`(<^;Dv{ervhe=3in9`*ej(#;(XqLCwS`-d(Ta|4l& z+u<MPx02NZT)wFQ{uiZBUuviDP+M`%M9acA?fqdzKsujtX$RB?XFbG)$=e@URkor) z7*M1iuxq(^%dgo2wx_BzHcz*!hbm~SaEyMuBAm2fY}*)@;W4c#Gs)<(aU2=4uSH6t zk4BAQR-uNM@2R=nrLv~Nu2y?i-k!T8eE2}RDY5w<Lx;XofM4hGP$qDdJWYzlzTc}h zu$pN89NX0;z^LKr;1)3>OGM*pN14|=@?@oBYGWT|bhf2TURVu_$ourx=uEgDiJRjZ zRu*=_oJx+fjNhgoz8Ka*PDMZU=08wY_3Sa1D2_vG1n9dJ+pT?>B<N7?IiX&xR!Xok z`2;mpqf}Cf^eX`NlDF~}u)qKxfSTKB0Xi!Ig15wS94bzu08z?dl_9_eFtA&Oe&mTX zYrygUn-1D6DHbbP0O9uB#j?>GGK}rg5>zvoB|Td2vG(v-+GPp`Tqsx*RO33=3&MKF z7*ug*2GQr>4=&Hk9&O9_ngFkp%o1=Ql{tSf3uT@4D-FI3-egH@B@y~D3n7ysqx}%3 z`3^wi>7Fs+WEIhU_-%6@i$?GKGpyT$V^Lc>`@0AM0hycNj|LAb=~`xOq9(2z?+|So z|G8JlYbFRJZL`LanS6TxVMr!msxXXQ;*$g4wD0a(wz@%ubZ&~J5wx}a6+)qybpEMG zrIm@YX|YlaJlYQq&SSB>;AbZL(X@kg&xiEW*f^2m+vou|&`=K(mrI;*?Mq=7b3Mv# z(FD2>s<z-^^DuATx-A4tW3v{70I+4bx38~xM%;CFsvu~qZ^QEkU@trEXrSwFU7YS& zmJbM!h`G+v9o<5H;!qE$Io+NX{<i#$AK1c!Z`Y^tKqc!u@1&#{)y>G(k>HSDb0C1W zuDf~)AV#^_8>WE$h#QMyJ{n>(|HpB=c;YQ&v8A|~ldKWeL!CF~|8Axm_x8Vize-r% z`*LJ)kC4L?OS$cRGZd=7&FnJe#cMS21BjJ%)ogC^l}#D`(VuMi@mTE0p)zEoAPHA> zFR8v&UNdUr_k%Afzt@gs)_^35|JuATE??4@p#U<onp$6B^9Sh@dhNkMQHH@0WGP|y zf4(QUfBB{4X+qZRM$+*G^Z%M0^F<}oFQ$#Pr&;7mPssB1_54n2;od>>uhq4L^WdKp z9`Ok*RxgE}Kyt1-%rtZXnmMAYo&t6ubuQeH+S#=y^bJK5^GB%jM@sPSvwa$7@plQI zJjs1pvW+lwjRV7)&C~x@`p_3bLPB&RuU{q%W_<qq6Re9o8|Nf!wds1#k|nO^JW+N) zJcQ+f7&nlWJN>4ek9|ULQ5^>dmw2Xf$iDi`*<!RxAWt4fFY;@z{o(bq39!iqFcmgS z7MlmPFFW25w8yfHOWqvwWqQ*wRY83!$G_y^?axQLFGRa{nhuYw&QETKa9f6p({^O) z=8DKS*e11f{jjqBLRi*(LKRRib=0HDbh`&0J@Jr4<R%3(@~iaVgo$*@j4GGi1ffDc zP+VD&cX-&XW^I8YPj|alUU%z<@NpxC>|LO5&_T?f_TD*5gG%bvZ9p`8k%2EM`G-Cy z#;3I0OTa<1-f&@~nAW;>E3!JqbFMd;8-39siv9~M4h@E349bc6>ZPgHeX&SbWa@g> zNNIM7y$4i%f#CevW@+Wsg-RS91x(FM=D)|^{HSPEoQ2w|oC}1`6LRJ-T|d?&Gsin@ z5g4B|<7*;5nQqr}jD6V1TrtB+N>5xYizDwFd>(n4(iY*5a_i~*Ev*D~`7||?xqq%k zW#WI#Y1AMH@0oUi^|+@sl@nG#^zZ(${?9KR`KI6<$3Kj#ssI1z`s%2tyDnT25NQEH zkrG5gK#-O+=oW;bJEXfyx}<Yxq@;W3M!KXsL_io)7&`75-}n3O_s6|wEthMt#QFX9 zoU_l~&wloP8a&kuUgXxpc$8B%NF|DjUqyyP`XqfiO|(&JPK<6nWS4<2C&X9R7_xXF zFNl77j$d8v;BnOzVl%{L^D`vs>+OK3{&pWd)3*{wh+_Ht>esM)T{a>#V=3{8iI)i6 z#}Cror81AIVK7CY9qi?0Sk!{%rrq8>q1--9u#+4;Iycu3GCKmBWdLbDuCaAMip>)$ zbCZE2kKDbuaep&oh_zjuiekw;{@CyGWl)us<7o+F5S%I?s0?$z<{g*q0}t1Lf-a|w zk+^Z?aGU<|gNu=aUfZY)f|OTM`_mI<@1o0YKIPqKDZ}2iHSM!Gc+Bf2KwiNT_gf?8 zZ=j;Jf%Vn0@B}aW-0CuLoO`-!lQXSFQAuXBm|>aOQzJy4fkjwcc?@hDH`D=N>y}qp zHJj;v;nW@kCz*aL+eND@eu&#<2>}~E7D_LdX2|jfabk80Rktr<v^33X($d(txHr!i zj{f}Vu)ERSoNaQo??Sam;jzY>p^Df{NJtO^G9D~K%XjXBol$pvG7m2MjH?R}+YAD^ zricGAiDN8%Cu}}>C3%3tIqAmcHpac1;9zk6U@390MO?>M2`@mf78}?jKK(8Sedm5p zJLyPg@{9fJ5l>Vq)*yO$pKI|R<1b^EAGzB!!eruWY9GDzq+bqo=o|U`tQ$Hym!<LE zN!_sL@6A1?p_%{%H0u@U{;QG*)kq;uC;sDsqx+fbu0cOSv92yTEs-q_`f648(mkip zrb%AzT%FxquTChf7FX$B?miP1BEVb(BhS9GwsN{5wA@Tx@-B#?Tk>HrZe4FDCzm|F z0Zg{#IwQ5WWn^+cT&z;KEwQ$eS5Mk8sB8cljj`ao?0Fg;P0*_BfDF^VRn4z9z*mmP z7d>@6(T_HujAEUA#(q6zL74RK4XU=Pn0Zg}&Q3@rq;dBV4L?8sIOtTiIUG2+s$IHN zfwcQXw#Q#~P_%NySBQ9&l=@G5v1irbC;D`f{%V`L=VBG3CXA4l3S)om)`VHI%YmgB z^Of6>AcP1P7gr|Pa1UF@>-;$s3VlTx9o!YOhZ)n$jBN(bDjb%nQB#9!t4z9`x>BxT zWxt-|YZVjd8#pNlPS_+8JK7o<@uAIF#&AHkxiruR)8;ksxvUd|leynKoc~N-HXu8~ zw?IiR!}H0EL8Ro>zIOv_a92tY<)6|P*e(pZ)9UT=;yHTuG!{+BK&@|*w3(TUkghx? z`@W04y}j!2a<r;I?I(dUfHB$r>7zG5cd>Q8I_$CU08?{3a0Ig?{DZr?B<b5TZgB<@ z8!z|jo?U^lP#<z_;O91o_j@g(Oe@3mD+x!P-p!>9z5bhdZPD``0jzHwW8E{1+6RFo zF6+ULDVv_cU?8LI*A`Net9w)|JjzpGH0|~?mKlo{q4UG%B<>L(zN1CA3|BIfz`RTN zMp@Zu#%h13KRxWP%q$=^+s<kj=A3rRY}s~mW*8zCD=PGZX_LG|J^EheORhvw!iJA! zzgVJ^F8{cs88N^y?tT)thXesn(W1L5Y@Y$69Bib}HL2(<pBtRabox)p2@qgm$>?}C z?_tv%ewwWmTXHKJE835dzNZ^@5QO4Z@-(JST|)!)gq}W#-uNMN8_7<?>cg;2lC4c; z2&5-koKjL$G+?=f;F;J#r1#acuhaM#$XlN-CU!N_+y7|T{?zlBz~h2(r{3hO%=w)0 zpv?6ELF2rvv(bi$(Q#JN0nEi`BtB#A4^=$&%U!zk(!}Rq#&@PbN!+y*>Wym2DkKn6 zv$|_e#lqoJlc_xAF=Mf@Kk;L2b%lWKP;b2TeL)A1GzMN(Exo;J?p{@K0Z;rWte6Mw zekQu=K8up=J%ifD_a*`LOM0BkLL<8i%-6^yfktqA0SB9;t#Lp3WVbdAqK^7lXaU$m zm_jTv;*3p{R%Wlkykxrdu&IeQPlho93Gz%=VYnJ}Y~dVs_RFF1%a_9gm6+2tXfq(@ z=1e_Q-U2`+Hha0HxR_bnZR`1;KQtQA9OTFYmjvY_wyH;;Ds?<vbhkFVYth%o2ER9R zj&oYOuR&omyj!jdyNzS4V9U94<BTG3_Db`Vj?>*kVSMZ!q~)IVOMiMf?jEV1jAa3l z^Qh)jFa4;df==>cq}AEU*{A%cA|7LW-&N`f`eP~eH&97Xxs6gQKY&`dTI*P+xK(jT zN(xa|on%7yVb%{==#}1bf`1l*H{dH8rn@9Sq?#g3_2kJrcMGf1f=X`3LRW9?G93}O zM4qLY!D2NdZO_eArFSYS<Q`|wX_{5aw>T*x4m{@BW?VbC!cD~W4;N?<O{sG9O8Ii@ zi_Xi4`NWu*jxg4iUOfJt2hrw1f7#+3rlxG3e44Jgjr%pzE7Ll9gGmQE)|VAFh%KAx z*u553uRx4jbVxeM4cswk5f8G1jS=ZHp8g7jPJW-oN3XWC%O|g4YU$aKosE}8H`C(u z&(ESp2iJUO4gr`YEHC#jT(Q_!f-Pk~?M78ZrEPf2sH;C=Z8`gy;7CBQ_y{l*_b{6i zjo#XaVMb2Ef_k@~EW%4~6i`ivSSq~4qK&HFdPP8!tDa6Xd)8vxQ47xtrzXTsI=>)= zrz3~9$Ug|NE;W6tr936j%De>4q2)bRAX4YwX6Ws`ziW$hGl`XzB*Q}U?q(T-GW_0W zoo(MVb-<aEz<d?3m;cJ*nS{JNzDGd!fo3-Ko3SP1s%V1kuo%kV@AhF6M-3p;bOB)N z)kSPfOcI9)9*~lA5h*3ZM6#D;WK)a_%atK1mIJ<*`#}KwWuLx0;ygRWIDo%!UJm#6 z>$~juHrA_I#ovwZ&szGKY}pq|<px=;WF~UE@S+g-Q?Nz$;l6vgf3tYf`qX#N&Cd9x z%%-Vp4*MEWqbzxhZN^zVetaKKacJAz(lhGZSk@2E>FJSP&%yeDCML>3=dZgJNwi)m zhM{afxw_=T%5goRSI@1A$jN)74KuA*Taq4eTz->mUSReq>xbZ55rM7rr-VAmDXUc@ z3qCd0En9Oqcxr0p%U*PKP92zRx^Jd?GB154uF9Fi?1$B)L`91rx1eaKJ5%1a`o(5k z@GY%kcemS}U%!6o*3Mt&brzSD;0~PorR8Tn{i76(-Y8a=uA!x+)jPct0tBRzkwR@= z*PzS_Bo+NZnfm$8^cPyB6Uwu*Tk*x#?Z$ClPJL|yFH!jT@CI&_)43zuzO>nJ`6Oj^ zfq$i0e2wWiJ^|;H96iVy)kFZ_ywI1bQNPMm-rERvX$0-JD1BkcpWsAk7n5#o>8I0w z-Dzed=u#4!j?;+i=PA}M^lZp2p`{Bj4QL376VP#G>2x=+zD#m8)YhVn_@a;9J+2Kj zq4U*#{u<M69@V&BjZPvVc8f{?&YYA$a!yK%jG%vp8nyrYzSpJ>$wNm!@;a5{Z>J7Q zf?e)C2vDmRp_Kx;0;+Y3+SVkGs~z=bx&~o3K?rR!zR!XxK8>*jHyKc<vskG6QMByb z*yx*<UtZ3}ytyv{Gz;&Z1g+IuE;W%dwejF|TsI*#gOGyXHp}3w4uL|~qbazkA2LX^ zPt?XbUBoEa)p=lQ<||GWkYW`&2sFznUkag6Lg9OtD@;k(Ph|M{*n!zm#X9jJ?UQAl z96Imq?^C&076ySZ0Qc#$?`RpCKCs2Ww{i|G9<k-zlb0BiBvzjjC{@~e<@^ML8d1$- z1C!aZk(i#tAdiL0Cc%><oHTUoEcERn>m7B`FcJMKSBzmzl<HKOeIqMak6V<%xZ)ao z;2p3p4Y&q%w-nE=?1@y|PqkF5^2|3GSh$F%@Pr=Y2|TzsjqFtrrR^qRwbH#fUT(U$ zha<5{bvuKV;)Oyac_-5G$d;>(OOH&{)U-h78<@(4tM}SjO%1A}qo=3$G4C0rfQwDr zjg3I<n-T2645PXQ5LztQ4X~h`E;@|Mf&!GF#dIj0C+$m`S3E9ksctU>&T|^~SA$lQ z&7UeNY2L2uyIdQnt{-}j9%HN=2<qC{8kWuyp+ni=v@U0=XKuJ2P2@sqC>f=n3m@eD zw6X}mPe{HOWf-)JQIBc~j%ZA3uTaoZ|Brjp+_0dDsfJE7xLJq&4M9NpweC^Xj7i*i zJ#CRX==uq!ty2lY4646t;052EPlsz$SKn!`ZU}54<F>DuohwQ)dg~-cPhBO~VFKO4 zN&~r9u!y=WuE${jW^w&oo~#zXxG~*MYb)q2o2hW4ppW^juAT~1fyy|!-Q?kb+K|oo zLMr6PH_#!~K=u>M`po?7VATVlo7$d$IKs)pbISV(rvDwQ6?yL;|4z+%BIM!HcJszy zyHI!Y{<OV202u2xlG~`iZ;j{ME9DfTiT<5K^e9jM6tCP83_}(~-^`$b!q*Mk*QVQ7 z6YDR{wpTkES8AY#m)KrzSUayfIPc^Wc`e<cD*G&-kYXgR6y8w%TK2&noa<nvC(qg; zT0GMd&0<p6>z14*w-UwcprG*N=-wx+PEL7JMmD{t7CgO+bU6M^_X9YQIci7y>U}|7 zmF0);o|arEB}}ObSDoory>-fSml{fy$=EHvbFH>?sr9yoJYe|mflMC93?p$3n)JG< zhwF44q>>!3_zhKOeqi`WLu30ZFGb~WhzFtVnW)Jg)rrRx{394hP=r(PPnC^SGJ9Pk zAapWGqq|2c5C}$UsXb8NS`;#YAUQRPia#MNyVE+}yNC6O%xZ+?!sH{n8MjyTiJEqj zZJv*`U8s>XhsZJlX{7(xOk!(~<GS7VUi9QJ>8RiIU8IDXQ^GK0t_1}Ud5!ys$kp$z zHe=M$^~QCxyKH(<rjK?_mv&T@w@OD(4((JQ*GUy*JSWZ*JPeq9*>{LnZJGEczI`sW z+#=gqVK)e|G4hf;@RvKrB#aC#`y!>^8F|W9r>2bahKsE^Q7SIPoQsZBPv@rFZ5=7+ zk=Lcu;diT3yjUX>mttoU0qoHXC}sV!Gty?XFm6lV+e=|*)!o~hk&l}2h%rUy04`bV z7h|=aXL?*5#>I$jGM<-yjr)`&z=287%<BbFTwO2^{A}EBfq(eC3kqMj=WfxJop}5Q zfLG&!U{SBWAJqBQ&h9k(qfdIukTLww-W}9*c!7;j_xRVoaJc-67I$;FaY0T7?g}p| z{exG|qIMUQOJnK9_mWR_Q1(6Ut*0z{CN5!P?A^USdgi<+Q8BBlnq`{5Z*jprnNlF8 z<pV2I@#~yDbiLDWwz^Iwg9=>LVh}i!jd*^86TO0orRB_@oRSI@wMzO78ne(7+|Z`H z=5#OIUa*jM;~$h2sw7Pw*@q!>I8$?Ma&qkI-9ifz#g$^r<Ya^Eou9FbOWJA70~DP0 z%1i^p$6H5&-6r$I@1&)b12~Wo+u^27TcofX1Ok^tiHsqfvE<=hxuaxc2`@nab%D&n z{`NS=RySoU8Oe&nohpOgUWq6yG#WyP)2vbA=WC=^DJZ#aowy3$ULC#EVkHDWf7E(M zLrIBf+3S)8h?;JnxS|Tyu672Em+7=xWgIQv-td^D+TK(7Jl0H~=0JFRwJF@_x##lr zuMtu4{dZx0`>oEWL#d>*cQo`U1?+HB55%2yM4xL45vA9&*iDD$d8ye<xQw@<)wZav z<5jbq;cmY>8?7oO-MBV;@}`o)=|w=ZShB)=dS{k5j4^<UL1bzMOSYu_y|LEoDQ9oq zytAFbOigDAOZ`hbnGc{b9&|x$4G1tLadFnv8fRE8U#C%w?=+V%a_}c4-&G^sD_2!% z;1@`UU)4Drto@^wxqHm%+55Lb5M80?2lm_mYgSg4`=*qn58z&ab{;1VC0{&>!s$wy zpZh<<5-Z$lPHT_$>kJs?turW)+wUuxkOwcaI189YN81@Z*4mN7WWNtVeQ~Gda!-)Y z8bWT<hO*!WFY&rQ+8Ba6eYOOOYAE^Cg1<BU8XSc_*Dkq*A!%_S4{!Apr*M2Y0$8Om zG}qN{NIT-D41Lr)!ZG*0s$eW>ftN-%?%86ry}E2?I$HD`X)(w<a<$<z%n{$4tB8VP zU0NDF`J6o@lX2c>cUC7jp`tQ>?n*9q)~cL0lxlsU7@PV1_I6nN`EyJd#T_CHH;4+n zZ21<Py086P{&^&yEPT5+?hNI(7JOe^9yNRsi;kPYs5xcH*eBG^4p}LVJy6ROns!qO z#02#zu)4AnNY3{7i9TNLa8w<i<J3wA;yDIQI?dxc&7h1C?FfD%z---2FIuVJ<aR^s zwt7>J=i^5JFPBqxwz%&lk!kn+KU{zwFvoR!vescsvE}y09X4;(_%fsH>sMcV;j7WI z+e|;a?H?0qS~WeC?ok;T^2*BbklTfN`+87LYIGb1yaGnu+kLOoMys@aAoRLfw-%9I zGkJ@<^B!L?4uJ15adEtpDi$i4PwZ*N%)yvE1x?MJNr<+#9AFfD5u4yDDPhw`E7pSV z@vow}9DeWBcD@#S>`e3V9IX~cg=)X=TM{U8a&g#IsXHs?8~~G7X)7bHpj0+|XyP6; z0lc0@V$uWT#LLGC=p}fctb8_9s*Z6JEHNX|?<brG4mU;YuDrsEcgz@?qQsGQ#^}0& z2~G+68B(B+J>*1o?nH~2sFfRsH&)J>WVG`vzp=m1p^6q0jl#dbL!nB>$<Sm#65Um6 zXGBCq?<Fo9-st<r%ZpI>svH%FpM1A5q-nmbGEIClf=Y>IXYeYO@*B#_qwTG&5d$Da zy;C!-?REVKRK#`4Sso(Gl69+rWLFnDF01HrysQ3J;T4U*O$s23+0(b@n;Fiod`bhA zkAXC9>(!qyh_{!Q5FlUW<T&hxPXfxEO)quO=!49`eXq;i9^h+b)z$T{setE{@Rjs` zgn7Dz4bj<Mg3aso5k7v+UODY~V##|wa&!G!?O;T>{SZv;zc?%|CK0m4ul8&rZ_&aY z);?$zS7$fOdE>_Z(8&FxGMPof^Vb!WS-_qtM$iIgirtdjNs7luIFaaDf$*fM6La@t z$+Owrte}2AoUiCEsd>Z5hJOM~S%YUD*EP<LHIDEG@0JqSAG{*jQ~)y)6Ks{jxWiEK z&O#!E3J<q$r(3&i#w43JtAr&rLk?y+8QP|xfZ$eTv-+;A<@nfvgjIVG^cB3P(vrmm z#qYeY9gS{Ml9HG};+GbvKZ~#J6tcEn#b}|*pgRMdw?m+<=(wc`c!ziMQ|&@^ZmDh# z0Jmku=Vcl^#kytnGb&zYUS7BLGAIxZH@O}Gap0Y?*Y2pY)GugkHy7+zr!=x)%}+qI z046-(3qG8Mr#scDr90<CrTTMWlyYa!u2yO5HY;1y9KX_HM5KLs^2Rb2$~U2$wR;pl zI@%XBPs+HLkiJuuHr9EK5+N_oO@)Kan<huXqK?+aJ#XQs<;_MYCYRr+uJ~T*a>A2x zGVX~lvmc_SI@w;GM75fgg($hkBUy)vG7{n9Q8$dS(Gp|0?*WZNbJF;1bUzaJJoRk^ zm^bQGmMc%iTcBEdKZW8R?rh*MTKAwH_q0|&17Ab{!esM!X>aRXQ}0y}s``9l1h<my zV9kiNV4Q*G=FZOJ411}oUJLvHqr659m4*@6$jxB&ok&cZh+-TG>F|sws5TRrB)kX) zet<kXhJhKI+u}2ow?CDa4XgJ>-<8l5#q4Z3ycF~$mo~m*y)16g09j>7sr#N9{E>DF zdoF`jhdDs>j&UJ6o?IqrjtLMQaCdEjE;sAeYp34L`t8D^s}6JBciLK*WofP(Pyxh* zlGnAoz#$sA#l(6yp@2Gixz|{>9GAD>bc8n|eCyHnM*S%nkJYb!rm|zWJlFs;%hBMb zgucgnO{?o-nV;tL6Obh3dJmp_yPG1>AsH8U3EIS$J@<A8WmKD=U|~P=-VGR#)wNv3 zy7g?dz-GMxqawas@w&xMajSkbPVnh4Htjn+Lb25OsG}nf#zWt6baXT{GWzZ!LTCvF z1(f<!$|`7^`qr05sWG%yMw}F|E3r<h;4dd%-sPWo8?%Q!#y_(g6@723z!)06)N*XP zh?(KKw{K27c&z?U3XMb_qL#j8p?KZQ3Kzp{4Mv9ftx~}mv0WQX9K3h}fQ_%4@G|&} zWi6Er?*i2(K2>`6>9Vyv(6gB+0Esx^dX=fNE<9;`%Mkg#fcADe@4S_p_-Dlr-^nck z%3)$xv&m_(8;C>N0r-x60M2j~XuoS=zcHw{JyAfNfq@ih)}PjL{?5Y}4~6ytpE0!L zzQ4G-W^Qi&dZ)be4AhOUPPA;l69c7fj$aj^X#A!5bSVXwjQeai1&BBwZI0w;W<LFO zgy23r6b61aa^R&O1{LS{Cm+}G)ry{#3pg;e?X%S|dSv`>n$e%BbA`j7iYLE_BkpkJ zt(*}PgGPk$-R&Wbr?e8s$B*x3jfte}1IGKg!CXvd?{njC-|Uv<MMXLo1&8Pr5~gg+ z2c5lpBhB~aKQL$`qf(K%*J<VY0hsx&_a+lwf~v}XsqfwW^0}9dz!AH2v(ONR1_pA= z@$W*)4w4t~<b?(4z;>h=a|T6EO81>tCrj?u<U;G_w?G=a(y)*42K>!#Ho?%^Q>sxL zVP4jpV3OfEWt{;O=F7aV%@aG!S7ArP{7Am{(LpD^JA#Lk)8?QZ!~ST9$NqdhF*ZGY z?{o%`NFu{tHUtAY`PnWq4&hn$uutr^1B{h>IAth1ARq=>qtCSXbl3o}L1tA)%?w%% zulMO_Y)yYF@NUt%?7engevc2}2~*SPRxg!%0<Ii8Rj8VFk<I~G{ZDxRNYy#LSn#5z zh0DF5(bH8^(AuOD!G0*kG>^uGsGzI}76H+8UYd+FrY-5uih@NK54TINAuKQn2dp3E zrm>jcTve1Wx9Gp&cV0eo;+ILf)40EfR~$}R0-}9dSZTvHkJowbkD~nsxYVq9*^&yb zlnCMX(#E}hE$7AW$`Gyf+Wj==C4lt3+NtQF+-W)*{<XQOq@>h&y6imyFfIv=s2A9Y zI$p0q<n%EoXsG~X+lhcv@ujTwX0E6;H#Y!Y)|!qa(~iEycm-IUii(P=tzLpu08nnd zxiD`#GBPwg00qUU*x2!0TR>NN@mpy5vz9z^`q~)!cs`iI)!z@8qN_Vq+4i0(xOo(~ z{MM-Sni$d$_x+5+hs<XL>8%v^E>+?{=cu~6o|0qK_NSC<KQoq+3QAiST6(CNB-B)B zz+r#u`Ywx-QkxaWsV?Mb5vI2!a<TxM6}UKXDPDAMq~AofQQsh2vXoPr95xMrS=cvF z)f$oZzY-c4j<5|MF&BKJV~*`{T;eL%D0@dk@nB8MU}q<lLa>ENI8wn&=&iRl#nld~ z*1R!?w@z%Vj8WMecwb-psioTKYq}NNJ_?<lBhAv?IKzE5HM^L?$iD%cgub~|ppMsJ z>9>=$$Z{u3m*I?f^tGPOt`NFvZd;n2YNF~9FM1lnM@udS9Nw2H&gkiB&chpdDS=&| zL}+Nb<00CTuC8DYdDboq4OE^TkISEfKkxab;~141IGc@WbMx~4fan6ic9(}oBf^)v zWu>JX>xnveTbib(rh{qxiITB&0q#k924Um)PmnlwUCmkqh?oJ_Zm-3CKcGM<TLWQn zS#f|+0vPwfnETSD&<zQUpSYBd;w3NMpGK0eBq5;yE^l?6&)rOwQ*9;i(!gh$g0W6R zVRp?>SQR&3Q4aC1cV12hchrm<+zVTDdmQRm7yYehmyFt(k-+Y#IXY-0bw_d!1>e$S zRT3t!a9Ez(onBNLl^e^B<lmwlt!MnmUZm!N=vsE&S5|>Df?uOC{~k&=EaYAQ(E(?` zB!l9;l+@K?8vuH@-1i#bF9Y$ZhLHqWP#8+2%1BKe4Ch(u1xfnm{V%1L7YKL{sJ8=p zy^;&yeKk5pjEyM*8sPxg`%gB01VEaWY7vKDgS%?}$wt)y;1325NlN}86Sv}SI(y`D zCYp3}r`k<sx4Ga+sXN+UD(WM0?8J<_exYA^xCugV27JSnce6M%KF?Xhb=U9hZv_|t z@GulRtL}~z)=<NA<sGRDsL=<X0-JwYrU3BBh(MIPaTTi@&4EE4V3=6{fp(d<_kO4u z5q(FUZ4{Jr2{bH<%=w~ok$WENzj)D<zg>5GL-2((mLU5>Nbp%B07`iQ1@3%}>b4g& z1^A9{?HnUpSN!n!f`Kzi*@exQicdQ$Kfrc=Ua_#CsqMbYg?wpQp2aS3cf9vn0P*KY z#?3K(rMv1J&)DP-=7G?8EDLTX?QBPyF&1KC;)jpiM@-cIM(+DEAJr0EJ6H2FnlAHY zeCX4It%8Tv!!lO8;4%TZZxmzn`uA718Osp|-|%Eb8om{ByS&-0MJOykPO&vIxd<BZ zcyC&YxFYwoSN-ebK^l}@g4^G}uv-1bay+kBlb>r6ZCrq<P&W1c^XGX#fgGCk$<+~Y zs^b)4a!RvsLxw<o6hwQL&#LntO~{{Fhs;eB{JZrPkLB<u?j*V*L@qWf?AE2UUDt^> zMlwdeiiXXU>!F5+hv($ykGFbz!)A@ikQW0|a=kl(f~>+;qyxCLUcfPLf28Bl4mg(u zg@qlfHc@G5Ls8W4lXz`ug2?Ue$I{Ew(Tgk9AmRYzib?lDo7P3W{0@LFlare+M+AtB zM<Qfx4D7j5-7&5%{Z@KrEZAIifFs}Grgk$RBB*V+M<k|EF)W-3)2H}2Eowr}O?Eu8 zPaC&EATuBnIb8RzF+>C=r<};;G^*~AM+}dQD|H6C22Ie(uqpZGeXDE=rhPn6S+@(D zTyPjSYxP{~G5OPuv9`6W!y_D`1B_7(o~<IEQACt>Z?^&iKm#_vqE}vrpQOHyO2q-Q zf3F_^NTA7s$K#x1;hMAQs-=Krv#)Yx@;q-BTtM#k$XkM1a2W{YWQX#e=$C(<>n`k# zq-G%w#QjX*r`x6bSZK8Rt>`H0NcGKmMZx2L$Zeoa@25>$gX7Y;`vt6!p(*k1#`Qwh zd%X#Uaj^)8vdAas_079g`UKHdpRAnNE$0*g_prlySube)r~})eZ)mdT9Pn*;etQcL zY!L%ASlg4BPChV!#QC;Zjjjub_yLV%**TJpC3I<(_CXW9VY1PMpWX}N%gNkc4>dW6 z<%GIqxL(ktnVSO{MBPK{g8?bkrm^DN2COOTFIR}zSl!=uK-_^oA%??ldG_@2sJxQP zzm38Y7HT9PA<mkDmb>aUeAzsC9q)(~fzC$#T)CdHlmbC?i`iPYO2lj9R~a6PYqbE2 zz&L0_eI_ZVA_|(+xA-{&zJdHJj=iM4>70(-9;X`ScB*5CDR8W?Q<P#kb05F?PGrl( z;e`KtjJEjvj_Pb`re|(zL?I@QxVtDd%X6J(MGJ3h-n5U}RLo{p&-nj<p^e`IBTf9m zWE7AiPmzn3#LQgp`XXX}dvc@hlca0__4@@BE{Ht>m-O!J><_X?a6T$sY*EF@D}WYk za?{1G6Uc!GG~Ko`ABW52z>$$8NO=g|0VYYCB;p!98hv|(5y3wk*L3PIYh-hKU4dVL zGBMG<tmAW;5#)FipHa&&=qD}rSz4Z52`7}6FP~^Cp|R+jC1!C6=XErDW(I%M2B`ws ztH*(HZ_K2Am9qQ|Jis;>sLZUaJkp)JKqySNKQeljTQ?&dw=o+UrW~y;lEc5`-5R<U zp&_HJoC5K7f~A3wi@EjIQ}2ry-I(BiH}Bt+HtrE-+WBegY8TPagl{@v#=7r?L_Q!( zD*Q0gf_f@o`HrvMFsJ=>tgJGOz%QFyAUfFeldlfMP5%5``qJsWQa=8ErI%|vs#)i~ zH)3vQW&ho&16%%~p%JL2@TvAd+|dQ{lvl=vX!v=!6j-^r8;?OYTQ*xYP`Bc1#7n+J zHIkT+_otg|ZN{px7-`E(q%A>pN?)ExKSZL;VW;BY>d2;_5zO&~a!@}<-)rI!dS_u; zU~}@pW`p41qK9ow@@z-^b`6xPRv)cevvvXwSB;Wh<EtN3WfBlolH%pxI+DAI@#S`& zXJugKtOkBiNl^RD32gEKk;=f2eZ;?(C45^_qM$;;`(>kEOJ(CWcm7l5tZv)qwss(# zI?XDy#1C?9rc}8wc$rS$7gF=<lig}1lCoBz2p?1>12%Smbeth)6(6h9r|RYr2wpoJ z4T&W-?y*zDG_1oHXFLG>?5e|SMs@a!Kk4vc(|O3Pt)=C`mA5Rv15e!v&WtsEa~5sI z<OGg1q_NX9%-bBlq{Mgb;y`=AipPg@By(=6Q<mw)Xe&Ar5C97kKM0lEigR-8#S1WO z*L|z8#nrx89Ow0GHX9(3Y?zR4d7%54dyrWv-sb^92pKM}r3|#v-}}}*cDcnMg7Mc@ zeos_<{6oKJ5HEE-0v6AK*emO%@J)X7v#a0bmXHe+zJ2XvfZb*6*X+!;o1Y650uDey z@cu!`;H{U{T#hYWuhVf$RL-&<?K^e#)mq1Lhj7dy7B$O+)>7Z)Dfb|ePHKAWZh)JO zcjEzaLP_8oH+7e?=l|L}WMuWTY>F?&s0XUq;R6YKMrH?$A9n-BHCd#Ie~XH^#UtPv zyxZSIJrK%i%Pr=mq=Py)>^O~D%X1_I1SrV*B}%GSgR9^6PF3@J3!X*8yP)~#L1TrZ z;g!n4uOXXxbemiIgGfkL%a7YSRxq4>y5o12&7>*Yx^q-CC1O>Ib!u#^1BBoqohbA& z_380sinVByngj7<9aM^_kGV%F<mL%KlHs9V79}T3FxT&4-vMO_!Ga677Kx0!e?uw} zf$x9PSFmy%bKfOzy8BfaSG~2h-E6N$L47K#vk|K;QbsKD?&$gyLGJqNol2S2;kLXS z?69^q+;FZM<<%247f=cY1qJ=8Vwa0}IT5!)01W>8sbALe=Z{@zXsABt*WXYs>|w#_ zR_|^cpkMwwGQWr$()rAOHS3YCf%3uHj?+xxLm0*Ek{EP-MlULvu=!BR!|ao<k<e<j zPQvuj>W+nd8=hm-!=*B~ab8NRw?^Kjg$@<R;0{srnG!NJht;!AOio7UmK}y2n*x~O zAEZL5ZVyvd7I5}lt3V|2MtTIx^zdv;)UFaU%{6cod`+QYLlrb3V&MJwPB&6gUZ4Nc z`BrpvGv%VKO~~5X#DzhbM3o&Kkby)zGGsB_C=Z@Sk%g@uzrnSELgcNlTqTxsbTUL} z^<+|v^N5;P?(W~1mvLE>Xt^3$bQ2eL2%L>`CVBA*98x8nGZ(9FdZ&(?<~d$D5;w6g zFJ{D{We2&S&Cksz=|z2Q^n6!PVvS#Ljy9Q4>Ql3hLis>9bZ+ml<_=!ItK7Akx`l82 zznd;*MqT|K_Sf?hu6s$2PtzZgy!#N1nMO>Eu0zFk2Z#t>f^UOx0dzb>46y2~@~rjs zMsGEpZ*W^QI~rTu1K}j$=0np5(f)Qf=f-Y6(k~D9GK3cWXKoIHX1)|Lv5&9*BwD>P zSj|1v>yABGEK3tEEx{$ZHJ%&TZ@g5B(Hm5_4YkyW-`2=HEN&<jjN2em(5S@f=N8{< zxIWS=qTbl=`AyAMIDt0VjT1obX)E>b^+a6_duL?S6F<sr%^g3g85)+AMeSs;7wYTV zhEn~;^ZMd#s4*89dqQc)%UoKgkB%?gv}C=U?!IxbT{J)1+IrK8bQoek&<P}YAL&>u z`8WQ=+P@ii$)Vi;vW1s>ZM*Q7A@BJE-YwmvQ*WD*alrG_%HYeIL=k4?8B#I}El6M2 zsIdH4aBd&dTfzLTFyPOS!UyysZWpwPx%cK2vd`v?V6+UpUIT8DS>h6w-_)!oDOCnW zFxMPKX{|uloGoCAS*tyYZjn7j4z_XkmDpc#cxTD-Q5pJFU0M0J<&p8x%qT6&M*8UJ zgGTpvZ{Hr=Nw&_oYf2NH3kYd9W@hB69)HT3uAOq1TgK&>^iOt5Kuho7pETr#m8hFx zE-LzPpCH5}gnh(?cQ6$bq}R*0XKOY~u0N>cc_*eiJBW9Es*Uz^=aS!yi#aK&7eeXA zs?_IU&-A*UqR;z+m$G)i80+VG?`m|g8!AP_{3YkDDEQ~UslnLSZ;Hx_NGuzy5UzZp z?d_{hqpZLmg++}w&wE^=GpzG=cBWYm#&|NPT3f+G(-5|*l$dP<KO_0G7I|YNWnFJ{ zA2d%ru;A9f5u+od_<uyy$K4r0$Fj&l%$VjE4jgH}scwHSdf%MqHO$VM^cZUjM#rKz zMu0EFk%C!s53jm@t|7E-b4$V=+oQD$)O1aaU-Vguceq6A&X@b>%D1uNan&YeLYZ7t zv}X^U4D644cynlNp4UYCf$->J?Vpz+*urMUPEO9u>qhJIW#Pxl0YsVy8rBIZ^R^FI z6m;JDv^)iuddS)UtNH6cy`pjPHExLfyg8SjAwN>x3hx5_9GWc9NG?J+S2LabU_PA3 z?NmO+c!?Pl9%sHVE&Qp}I}OQmEi5)In}H4T&%pGQrptcJ;4I(hC+813Jm%@}pAE&P z?!)Vo+!(2yhdWhK3?l;RW;AhA%ynaX?35f=-l)rZo_bTR>eqITq6o!L%uS2q_<lK7 zja2yOWaK!1GWWZ1Q$h?@0fI!q7H_JG5^70Fnod=1?=YU==M7R3C1t?p+A4a%M6uv~ zt8P4~DlHx6EIDy=9qWpiw4AXYSyHKyL{?{!DZ0ONC+>#qcMU7sQ#F!QM-oo%4)jM| zRu<7JQP}QQCdv7-$~Tj9UfNc7HMJ&3(R5hYWgA}d6Wu%Z``~w-e@QOXE3<_hGz`|* zBUKVkp7-zlFcVy1Z#=W^jcsoay1xnOw+d<!;NZ$PVPZJgx95U9F3G$zHl}}#1K#Lo z#<(eH9-bUb*BX{)walrX^?tcuQaijd#MAT2E~mv4j4vBgMi#y^Y{q5t2<IuB>n@qG zUp779wqU!ogw2Gr&Rwi`3h^gz6nw1|9NbW<uvBui=$<9Z&3$K!@{l;m$X4%Q_v>Ay zcDa8ISZl+}hZpDg++$;Yc~tjBE`p0&W95#z2{k8VV3?a4C=!55mm@sc^-mv`@yJVq z*~+}k9tsy-O4jCTuJiMYGcC|v#eXdPE%+D{@Ti?qTw@)(arQlH7w*ERJF_E`x9Bb_ zzupDm&A2A>fJ_1DH+>Bw*`4kuERvE6aa8I^0=!-2h00^ae;(+k-#GH(LEA734;KVt z)gw`W)LfildL=2#g;KqsdCJZ+&F?Yw0WkH%QNTAF?efz`6*z|HRmSn4)iH%1XNLZH zyD|iK12!KR6Z7?U6!04wko`AX92VSX13FIy7v1?jd~Us^c<}<1?*_eWt7bEEGE6aK z>`paEEM|U{PQhGqp>owFxa5|j8=P><;S<Xd$NW=UJaKoOOap#ZXNNV7Sv69HBrq;h zfMF2M8>JFe#1s9O>o1byo+?L#WnYs=w{JNzHQuJCbm04x@C~>)BaBQyeIP+?;};rU z&iP4wLb9(C*mtj(HKuxZX4eOyO5GQT5(>(c82z>1+1T}m-PAIvNyNDXAd#Ydi44%> zD`r7&t6tlky5BTJ9d;o52249J=J;qAvXwM+5A`y|X|%M0ENGncDcU1lL9XxqQ)7s{ zN@PJZSR!L$YRWc>nb5OPWy+qBkxn%s9vuqZbA-$c@_3M#Ny~;KIDnIjb{U=c^=tWd zsSA)BJr3SF=J!OBCAL?aK2P;>dnGE$_~9`qUr8(@2?fWJk2LRyih}NmC2KnGV}hM3 zd{AD%dGfIFQ1bVV)41ZX@V~QqG^?0DS#h_&9NEBf7p>&terMhz%9)d5!42kdW@f61 zgKBol*O35VLfX46w=L-)L2%iCVu3>o>=AFY`78F)ei$&<U>bN}UW-&VsETdzAKSJD zAFK6HVC=VGi&LO;aqZoJvdZDw>KBfcrX$@HOMM=(e;i$Ox*eaa%^)$QeaWR&kU?|y z12ud5;#=B_^tgw;y=;1H5O}|nnAqmqs%lOmeWa@oapvN}OZWDAhTK+@5XUsiR(R>G zOo~c}Bt3$jUYx23@EJs6Zt{tvg)EmnWhZMo@%(Vf7OvytLG}tVef(7K7R;tx(+kOe z9%1XV5maiqR2Nc?NVjn2(#-2OIQ(wR(ar{u2Be>;0Kym8>oZ?)lv$CVUcnrOj%^0z zD*EzBXF=k<UsdNCHg+r+Zx(Dn%&6DlU(67WJT6F&C1l;W3mSI8Mo_Kn^1c<Pf}R8k zw?UC)n2wo>4^(-7zx`m{yZR+1bc5?=r8W@W3%4hHN~*=q74wVK>>~<LlRD-F&w_$N zRU}?UXu7`6B7pdaUS*P4;bLo$-$Uh~KslZl&*o|;JT|`j_xlfaLHd2P$FJ@RT~El6 zUThcnM9x-Y8V_??wqDC9!we!mD07E+|K+rEVtz)J6hR~8<46e+ec980Aj!|(41+vR zN%mT%rb+|)JW@myQP~PSuce><IraZ#=v>DX!=g~m{9IIzJv!pIqi^upnCIJ{Y8olu zn_QI#la;&8%PhNB%lQPnMl(MS3pFNH4ZqO))qBhk&Rzis;UK6+vNa?cztR8}yebUm z<`DmEQ#k7@%|XS{W(pVxoa&f>*<x9v%qh-9$Tv`_T4%HRKXlmDby75Ve<gq9R)1yH zXJ{t@T=;beddiRoBa`4F^Z3|Pu1WnZMSJ-fPv@{fnNy*WHQy3vuHb|OV<cHH<CyQQ zh{smT)5A~ePkj|f|HB37r%QMFn(BR1^<}b%|E62ot}^^t1cUBeH6fm0_2*xPo+(-M zNCJPf&5!x_G&DkD;l4n6Lc^MCa)#2Ie92q*pn{C2L+~`oX~ie+#r&^6V?Lm<0oGPB zjN3V>sA_}sYWo{2c~77n-gJYn?pSmVEkt6F;%s}{$*hq7j94nOI2-ZH@OIk(frv`8 zoZ1}nD=z+h`}!|t?vPhM+Xo&Fs#evX#8VbJT&a{Tp3h;aj;WMS!lC<Fs0(~j2oJb^ zg3+RrvFOu3&BZ)FIBo4reN9(Q((AqtRngoj?dP^L{1}AP38L`~Hgd&iA;;UdQT{ex zQ?qA33`KQvKj;x@*czB4#A9UKIDHNIJy1hg%sTVR$JbyHH?1BP8>4@nj|?qn#u`~P zXWDjVjlgbvO~&JNh5Pl`fuBBgG}3fjYQ}wE(;}H4)Uar+kQEI=-yhks@ip_-JmX)4 zZt9@#IHUg9CB5pb_QU5^o{iw^_XwsT#0JQG)7j53jVVzP2c4*v4zBoYCjWICm$INr zV71E=1gFhLJq4xd=X!cgyO2Fh!X)!T$q}2RBFB8z=im8xr_wUjGJA6JE+7wMOMk%s z31<IpP5rFW((rnF9(HpTQf!h5C%3Bze&bibcKNA_B3>;*c#*WA0xUwSX^}veO(Mzg z7w~=LjsT5IN*_Ny%qDnVs^et~F`93xUo*hK`CK&;Xg?CL+L`@V+<VJBRZb~<V3Isy zWu9Ue8&OfJtCG2EQ?r*oO}uBvXK<}VfH}x9xL%JlF+E#Z<++NLR$!O(_vnj^hZ4&U zX6OuE?n92|%u@<VEa3-dfVMBkU-H+T^iWh~b4n3N#*O5m3gWvw=nemF<Cb}^Zm=ky z=SCpM8k}_6_T#)qn3k3#l9J80MTfGoK>7vjzaA=QkK&<wpc_8#k>DQ*iK$24BD6kg z3H%acV?VXH7-pO_QZQ5NlJ}ix)xS+2cuwvV?)_9-&t-x~yJ(uQOssWyQV!VNp4U%# zYKULboU0CCU7cp;&#&^CK;C`27?QgP&7r-GO0bS%A^`!^KupX>Y9Q_bR@ZcYyezn# zxQ;fb*}T2Dm>}Fi$90}3eMaCcMevtWL7^8L;S$w|ypcS9;0Ppk82PAaUR3~|Ne@MB zl6fiPdKb}Uj~lOGOgdhEn(<sm0C=BR`FG0kw-pKK`%MOOZ9X=`ufY#Tvwl$32GimN zp+0$%S@DAzm21RvXy}HzQUTRiYZh;L!U^nDBBw@7`RDZRL8St<o~NRX0e06DAMH~Y zDdEB&kmnPe&;sS6WT<d!gJ8AFkacSSi7F}sqvYx!N7(Dj9m4J}eZeaX$m>u2qYu*D zfpM3}j;22P+m1Y0yvoWQFqKH8J8~oxQQlElL9j8*r3aH2-aS)I!Nn6M9~P$aI^|b3 zB9f#n)m4LZ7%gsDTY~!>Kvs(u+|I%M#5voaX2(6V(0bo3KI*T)^7wn;gC&Yfv@P$N zmyXVb5@%sdwOv`cpRIzfLzRwwZ=E+%p<c7ZAsEf8Ra**37QhZ89W~7dL?=Fi-0k-W zZ<=vq%TixO&&!Q4R@gIPVOuLnQc|GIYASqf=xYHetdo;BJ?bP)hy>HzTwus*Q)4X= z{m#|TbLvOdQ?-*54of;ps0ajBLWsn^Zf#1Gl44Aws};ulCYE79cEFKG>DKc`!k0>I z(tp2lK(?JKw#As*7%9^OLFmhjZ0}pclX=$2>yrV4Kfm5dNsrU8DFRD}V1P6#M)#-S zx|JHqW_n{B2qu~@@cEfDkd-VwJ*h8ZB(Au)pzZVEZ0+EDlY+{;w$lfrLoWyl8{*Dm z2V?Iy9Fp5qElW%t9et+x=Qh>LO1U><e%r{JCnlRElz#rQxVP+!2r6=P@*24;hZ9$C zGHsO>i~qDut5Jvy>v9DqN8R65I2GNlNV}#u*bO^zVt8Ar0Q1{Dx^Darl1unvpb~Tv z$Ln~R9-Co5;&w2VQb_c=1|0#{ry~XnbvPDoYwu`Fzh9b+XDOm{N6&!i>d1}p2!zLS zCrg*&Ef<BuMXlv*(0MDee%DRhr>|dEcvGLRVh|a+Z;&b#6mYx`tn0Mk-@EUJk&+oC zL1V+WI5|*QD1%+SHxJR;#miu{*<gK!%FeMU4H@YDeC%*KVOP46WOB3%-*$pfW*3Sh zz3|_4SW;0D{#-iw%Ga#*YD_{_R-<-AL-jXS@p|R5m#amiC7qMIzPAu<%qO=_@VubG zl=cKfCz5Q<>!KZn%0oNV<IWZfzYpelygcaeg?N2Y@p>cMd%qU7P-?rh`_HzV(Hw)` zQ8t@QOc*Z36Bjkj;?Ng_6hlLR5Sev6Ipqe4k#g|4Ym`2}`deNe!uF3BK<<loCTb++ z(=ZFnJQnR8yn+(-N%DkK8*HqYS?6WVljY@)YGlINK3vgDrL`X1i==;%WfbmcwDA;e zT94xoT%bGR-S&1W$|;q*h45apGw(C89C25}io-=`y55tWD!S2eB~w!c^(O)=+=lmm zoxr9w37tSFC9_fZc|+Z;)R{!g+$<DP70leYc%{)dz%gXMSnIksFpQ^pF4GQR;eS^M zth<|gs@PNyv26^1K)s>l4HkG2gr~~Gl?Z|G5iZ**y}F`3S)3Mp{@WiDs~GezEFI4} zhyyEz2!f|3l(BY?KA5+b)wCb79!zUwT)C;{Bm=C&4L~sH8<q?G^IJc=6mQ8D<K|MQ zO0$a2Zn}Q}UKgriS^(XU{~2inZDpcBA9=TBZt(@d5%Oi?V{hLp>dMsA(h>};uLa3S zPTD`Kt0;kl-h8^D!xU&gZch$ryfgPP?!rt2cP|JBst{A8UntDy&JLk6Nl~JTF-w}n zl7^u8w59t$kLnqH0Mb}Zr&%lz%?qvEy!BIrzA|{6pRPWU-;!paR&JBUKM2$HfjV)j zTW~Wl9+u8+kl8UYeh@8CsIGxZ8HI-%Z`Et-EV~{6zKSd^Z|9{^U7c=iqo2X~`JPdx zBV=@t<MReq7Ng65$_@aiXj?5;tsNEym6MN5Oy=SJs#4NQwP+Ipz=xZ9ZdZ{J*uqOP zWG|5y+P}N=T=X4?C_$#PVAClD+Cr~nGZ&o(R@*Ve%LiV*{y?eaQO^9W*k8Fw7qQ(o zP-8Bu`a)e%aX~45V;#C1_fSI4sSLx6Vi$kYK(N!X^a0fRGxMmE^C>$26hS>}Z9p3) zvzgBFy<p9sY%DA;2gTWJ$>z|sk~cXLoPSAd?56>iu-SW!H>)B4gS`Tl7|l=V(|`jr z^C|`=^TWcV4RvSq$*D5yknKchRprhX(lrW&c{ezYSmf|;4vuw+-$*9Z)oeBWf46t+ zeO5vw<lzQ?0osI7@x)g&CZHxHV8mkQV_pTL1dp1U_6tNis#Ou>y{KrhIH@4G!75*; zjXp_Z&HA3@_O#Kn8Lt=1<)dPZ`?kzTF4LzewZ|;1_+#VQh*Xgr`fWJ8Z<zZuprL`U zvhwcoBas~I(SKW;{&s{B=rpkU=jDFy>kco8ORQD=u$uYxYkX*^N~@{Rbcs3U#cPS2 zUmJ9<3?-fbq9=@XoPkBw==UgRcf^qH!OBMqZe^v|Q4q)f!(pT&#E&r$yhA{sgO1(@ zU>u2Ie(O7lIxW7=%O!vKLBo!nwwviQo+V!Y0ahvz_2iZxt1)qgFTTbnbnG=^2<24} zOci5N+G*6hXi$n5iy6lp8mgca{bgiy9yFo}he8j4s%stS>G?`?8>OzD{#tHd`ah>3 zIM~J9)Yb|!3#yRJpR}>$R0e^F+a^E6S5tE;Q&7*$RJSS>q68(0=(B7H0}Wv<Y?dz8 zd5N?q#ahMgJ28`LLv^3Iw^mxL@Qv;B+cR;}(?y=tXOYYkwZ8A-qEWKNQ%Hi1-YP4v zd`>a<97<M|51YN5waC*~6AN@+8FX&0YDp#Ma5Q5>AolLePZZGY{D;#3q7Dcb4+d5a zR6*U<H4HLY{pXL0nVCM3#8F(jl}T^ZM=9y%_ojO-oPUmDkN-ya$5Ke>NV96zg4|Yw z8iOiz<UM}L8f<<_K?8mr_OsGRRwlhE$q#>c(+5M0%}Uewi&zRTIGzk_mOs1Nda7&Q zszIGIOS0Pi=hQX)Y9mgZ5f!V+X#9eUi|p)o%bcsr8hdi{3V%ZXYdi`0>Ke6=5dLq4 zX4#cvtFIhQ4nj>^GB~=_r9y|Y^^^HCH)f~HbSgUlXi5`PZjnG-8hI;9OG(==u-0xd zGuna6Q~WE0z8^IZv`wyn(y-mp(0fJ(1u>o<H8la0UeZ!n<m}SYO2Pm4LZDS)9{Ad_ zB&i(l*Dr;kth~pjUM@6(aQPNN@?{b4`XX0BGxgnv5A4sM7kEvM2jWO(e`7#z)Uy5< z24-RWe@hh(LBYo_Q19iiyPte|*<^DkQ48h^QuOAN+M0G?#LZa~CO{d;N_F466BCP& z*7+(WWrqO<5B+D+a;vKgpngh!%YhLeZ%GNixhyK2v*C3UZ^mt;xHxr2ACqAy`POUC z|J}SX^C{?|^b|vK&Bl-yRt{v&b(37^-0<#*aBH-A>3MjKxkl58_1v$OuVD#CGX`YH zVl-&r_WC0BFZhVOv<ba|Au4`IT3V(+iV94R;767%@uN@3(ki_87GvUmkx3lkWIo5h z$th4oqBIg`$TX@s0TA^jl){n#0i<zHy;JbCIJbWGQbQfE)!R@ot_E#;5Nqk~fgJk& zQjY%wk;pGwV*i(os*oOsc)nhhE@-uC;GX;Gd@^JuDOvHOOs7ZrM`&nFZSm$NQ`BFG z0UwE6XtOdgg@D+l`}Jm=4PvtOa7;SoD#G=AUAF14+qksBjBQ#ABBi3Di1WX16#{y{ zlao^?ruhrXth2M)nVW0*=cdK9(!7nT=jOPRlif^mt4ezZq`v|)US0h<F^cJFm_1qA z-y7&HH>hI#`v7C}NKIx;gR=vNjp4=Q^P{5royzsAgZF;ZHyg%b{Clb(r(Flsye~@f zEMu&dNOS(PJii#Jaq?(zawe@LnQvjm)W0`snWqRE7N}(@I<loL{DR{iL|qkeVP_X3 zAvJb+g8VJdaDWNK*dSxoveu<^wJL6#weX^u>b}()@7*~PIbl!CNP$Y9Aj&80!~C0F zpO6!J{#`#E)H%8N{5Xm3W4A1OYHs!<O-)SHq8hi;K7VUfiW%)VCE#a5=aEotB*-#E z3D5ugYt3JfpBEJqYpH3|{zi_kAXvjn?RzJFS$@gTWzvXH5g0#7#S1Ui-)pje4EA)l zaru8fkA~)zp&Cg^3CYlqTypZ@aiXj&KtG)`+~<#7t$27eC@&Z0v-}6u)#K>krNzwd zL2s)T7KS@Nl_sQ@Zt)-yP+D%}ck8dB5H*O3|K(TH(LI~<btV8O^zSFpr!#EkCUV=Z zh3A6M;HfA7|2?%d{ae+aOe;Q_+FmfrG7Q$1<$g!&NKQ%H9cpEbi-O+5_&?=^8b-$_ z7(WBMrkI%@3N<G6m<K&p5(E8X4k^eNh<S|sXd%6YI+>fxW!t7hvF8xY3ST5)<79dY zX1iO%1buB!@ko>H^IGJ7Pn|9FVqNFI2Xt61A)r(5MQ}}ZU4opthTvr?#g6?cx=?rX z2!{*_g9o^SgGR3+&8?g+hDfL@5@Yn|3CZmNa#btXX>>F1Llp}(y=&Ij=T@eM{6A?Q zBTw!~Iq<cvhSWjiF(Y8C5%9GtN|4QCzPzTUcnxc<p_1BCI*##S02NdXyqpE|ALc;8 z@kJJZ`TtqX=|*b6?V1<ye_O}$ajhLa!C0C`TxX$=E=1ZRB!5=SQ$Oq68;`krT(4nl z{JW<inaLs{<}38|-`CPd3PNt#kB#kU+RHKm5Xb%+!Q}cg<j?0GE>2!BbM}eQd5*C( zXzyeP?HHtH19~fM6Q6JaqW{mL>8fN-m9yb3evphLD*&wcDbtLb$>lT8;-V0L8o@<5 zw}$X)PWQ`(v}(@z1Vr2X#;elZw$+LVRAWX)Zcpf6_E}D(!slHur0A&pTmK3E$}&eM zUS%i~!ydNT%Oq*VZ%Kg((2WH1JVi5WHMQ%?%IQk>f#*#2wTet!vi6-5%+73&M9`hz zq7kFbVg#OFw_^`O?e7^I1h(&QHq<5AXB;hT3LU#?^V*LbJ^1myNREQOSaTK!s7Ye% zH`!BMo*1d{(g`--|L}n{IJBQ3Y_e?Me>hF>;CD9HXnhsNyLSRByF>F#$`mi+u>i3f z<<8ae?KM?u>WqWrarv63PjK~N`Wuls7kL+#hmR6DH47#g%v)mSU%KK-#wKX)w43*K zb*=r<|9OR<-1W=OH1btVpUfWbnDYIVpxb6j)V3diH3FKcss6W~j3UcvY0}BxyOzHX z>Ek~c>XJ1f=1Mn>WLk8x(<dSgIdn#+8S8exOF*C&n)&0?8RYc`F1yWPiitvH>4%M; zm)uv^*OninuY<#fKqJjU$KE1ool{9$vF1>6eH>S{<KB)B9>v1yc44(bu1I%ZU!PA< z5XPOS{QP8ldwbla!NC^cr~iI}X;J^F|JZDW)RQuWDP3hvod3h#oBw0Ee(%GYODUv` zQ4%sHQwS-PF@($tWzJk?mDFvHOreQLhRkC~C1aUNW-=8KN#>#Nan;`Y{r>LH^Lbv+ zAMp5Lch|n%_jR4ud9HP=V;yTP_320<cB$U1wgUPyoiPV~>3MhE{w!E*E47RL_0XD; z=@)GtWJR4>yQhyF*=+C3V@b}v@a%SvH{}_NZys5OowDq02FXjES%ZqPHF<MlN3tw~ zQlF(RKVM6w%QCq|)37%#>iPC_`^Zk~N0{DRB3s=b&_3w1!~KXuz+TpbUzS}T_b5dP zZ6NC|K0_KA;gLOQzF%CNu{zXzu;JcuUnj%Tn9xAl>Fmqj_K;oG&<%f)_b9{3d`F(; z;Py?Mq)2~GN@}W5Z1}|o0|T2V)Cbyjlt+tbjWTlw`-k%Slupnsc$EYjIDYYIYCjM% z`k9xrhWGhuO^uQor$Ml|x#iBt*>R&qhPohIS#G|9{$F&Y&CJY-N5sS`n$<b2H+p=Z zdAOida$4dUr}=}`<m^qs7k;Ri|L7X<vf2EbsANqoX|Ir%WqaM%hiI>yMEbr#?ML#P zV8#s>C~TXXJ4pVu^4d|I4?V4f?Z0YnSG`yFGUvimGP1L0H;6kU-va%ea8usXtt`pE zgGH_L3@Wwhat!Z$<@b+XS@1ewTE}?SLFyZQN}WXXzJ)x-M6S96k{>?|4#mBEEKKj- z?OQZ|WM#%e)IXB;EaU7KBjJd%vtOS)n5ejKuFslkLoQdFZscgJc%Y6UMKLZ{aW0ZJ z&EiE;6<wze%yb}wu;Me(1H<YKsmK2u`^f7QHnOrCDc7%|U@Uof{siqddX1gOY8e@( zrrh*$^Dgv%c*>Nbc{Af>SoGPT*SB)*=k2w1-*)Ny-=^H*JYg{CqhiaPV%%4(@ys8~ zm_&Wz=C*?#DzcSJYny%9*&IyOEq!k<Tb~H^XgbGsNu<Trh>O2axH?sH!J?}`n(R|O zzun81FLev1PCYwc-xO2+nfHWgiS${ock08Uk-DGh_=-=qK3ID!=A(7OCK~c%PiaIg zBR$(fw%FS@Nve8!zR3<}YH9ZsP)sTkP%3m&Ha5Mx9Nk}SZJc{teMS04inhdeyG^Xr z{eu5}+P*h)tGj3zexxrv%cUh?V(LV-=bqnSwGu-YG`xOd_3<Av#&kY5eT2ne5O%zl znYqr>lj)(R_ODGzvS#`%x<)*rV}YJd6~4*g;nUIHwbhkfolCsYiKTr}E*$S7E^U>^ zz|v;{A)<NP>qDE3GiMu1em<YI?lG<F;*hK=>h7$z_;n?!Ph==&6NP9Mlbx%o!)l9< z^yku#&+-S_hKHL@eQlAvb!j?G*eRmzE&S|`CoNS^!uh|om2}-K{rKYa^V+&5&l1zT zLM6uJytpSr1r+bpjZ}-7k^~wUPXB(aovHO6?;YFL@T~u28R+=do~6P^mday!Qf3E7 z12(UjjH)WR^Vgwks`rjk((6*!H)szI)wbw%DwZ1;huhgV=ogY_yI6}CTvDNZvtiBm z*~?e43d_riFC+qtq9?fhBgdzIYW}z;7{+XsztPW+foAva#4NRSk*Us0GRhN5N#PUR zTwM6L<voWTierkaqin_`wEJ3&25#=4U_45INS;%V$Y=t>+4uS#=ZvfUDr3OME?MCG z@kxu<j&eo@?qBmQPBm|s$GN4GJ+}7@I)}EFvk%S%W}aZ!`HN{`?$BREi+bzpjUucG zil6%*$y%h)9zRi5XJTpTNAf>tYf*pP*;zzGgFLt{t(k0YVpo4}8LL6L&HRxh>I?5| zb})1^)!W{fo_4yLmUex|V(nfA6@|nIMXgRUZG&08B(9GOs}I*GiyC#(u+z5n+MN=- zdud&#Z<Wwg_VBwr0{oa!Bn2xCOgd%<lt&AFwGf@4JDi-SUK24L?ZfAwOu5&RC*1mL zi|s@>v$>8z?3q=)$huAW3UO7B^G8JPj7n%zwjUur=J(Iz9gOX;*%ghAR9;Jq5ABRu z$PQ3Qi`u2GiYn<VoX}TR7C9`~x?8$XkAkq95?6w(W1KGUcE0FxN2IK{_~54z&Wh%2 zGq<powvdp;fldKG&SbTtrFIiEv}1Oqhm#fRZ+le<d5l`K-svKC$PNq9%m|U<&DV?i z<tZzJB?r7(s#v^CT|z~jZ7g4hOiVe7{Tx2bp3Fb#YfV+1#~3i=q}6SaG%5a8Qr;lW zlEOSmdcVk#za9b=Rr6~SVMVmA?%lk3v%UPWtAZOTeyme#sYD^Hx9$mjJO~^!<e=h& zSIEhQPN{0|6VtsAIlX1AGeZxJz5Uh4%_^OgPi_ZqJwEz_)N+72sc&ZTj=o8AyXOGY z0VPQ*(IAHod3QP-2er-=wMAxcx$I5Ep^H0F_~6);0;zAdqf)_C)eKS9)Pp?I^1oca zJ+Q3365-Y6o#CPEw)D7~E?R$yuIJasmTv)}2W^iD9DQ>BOVg#O=1cZrKD^9{llhl3 z7LB8?Fgu(GzihzpzL(D@ej<DEnW3?-w%eDc=(CG@<)d{mM@s}m*#5a|DyqoP-?trc zeBVPir?WzK69MXpR*`R}rvt<88<FzzSRX&3-N&1;8C&u~rqY~byK#=8j)ifqiKS4} z-FNjra+|5{9>28vWy@y;4h{#?Bn{mkoi87mRox4py#DdZh>iZL&Q$p(2h)o;n=e&m zRfb=*89}o1KR*c?Hs|)U<_Plfk$*`0668J;Pr;nnY;pU}86GR=_j7vBN55gyH*A#O z&9V7vu9HIU+1fVWwj`Bv1M|LBheivI+hJF~jWM0sGx=$6*3@4jZsK^7NFzQ%3>4`4 zc?%=W9w#TWa&T;V_UzgBxw(^LA2XUUXn`|QQ9s%;95pNPQeF(`FJDtrbL{;2eO4b* zuHB?yOfY<YdGoeydG0C;3kyfQ7KH`|2gB~)54n!k#ICLny;l~|OP3;6#MWvimggF= zjyu-KP=4xvbmP`7Y6?aMsb@txzHgQDWduu;u!_<z%;?{S9}sv`Zz4sqWUFron~G2z zbxchbwI8(`aCFwJ=+G^!Rqiy<Uev>%g;W{N+K2zMQh1eP{H5XEYm_f!q1832u1`)n z7#SJ4E{;ACu<aCbp6Kof*cB_Ep>0|p#Y^;lMW5TN2??xa)fgy4z5is0teF{`)yH(* zr!L<*ayRvPPE(+Xyl-jg(Xwh`izYI3P<f4p=C&>8%(-L|&oi!3cln=yjw&odZ{^|3 zjFim@@}fN#3pZ7dRyl`8+C_1%tW}Jb5i+}bV!`WXX!Pfu>sOW{6kjvc<`wQD7rFLd zdyXpXn`ZP}^6;~DI-4ur?;einm%93k#2Pu(H@Ld8<cc15**JA{U5-M|BWgT)d8a;q zF%+(>tUNbR>5s>dr#^U8QgR9n)J;*=xI1$c1uHQ}-43G!oj<WkOiZjFrJz+PkKD28 zR;u(1df27ZyI+4O0jd7?kCtKUaG9k@7X1VoQ_>weN5*GRbj~s4>QyqEo|0YYZC|Kk z7?pML9Rr3yY(YmJ_AhitT@QILPn|3(D$;qJjLmT#eN>8kewEjX9Y1j*8_#5ZaZ&Ga za-GJE{y0hbp~h26M#jLcw0xg>%REqOd?Pnku(Yg9z3`Hu^LRUz3wGfLhKBo+f$i-& zY#bc>`T2JM`dTzST+>--7s{>@tNFF~Kb*y%J<W4KK!8fpV^-G0B%#-Ieg8`?jm6LJ z(YE%utLqVB1u*BPYQQDd1icMVKTlgPS#{eQxvZT(e*DO~P`^9ZTrw~q;1ybM*4w5C zK2C;aZ<E*3>>IR2R!fwp$hAsUwmFw*m6(#U`Nc2J3%37g0ahin({-+udCY0I?_#8* zBdI6K_oH$0@kIGx9*x)d_bkXd(si=e0?E6FqO&PI>;C;ysMoFN=;&bm@*f)T&yLO! zid6JNU;SE<%!4%K+xCdlm{y0#ojSGI)6?_z-MjwiKZXj28BC4|e(bYfQgY9_P1`GL z?{M^wT6W!?2w|2CK)G7&M4E0cJLVDGMDyy6@8U#nB_{3<zjMdoQ^gu$aL<v;<1uD$ zL-t5~pY5`PEbxU;aWX2$&!O3Vju$^OGczeDsPfZGUn(Z1ZK9&0m^JgMCTzb>fen2^ zLIRtqYW$IFC`LCOtO{mt)9fg^!Kt<N*Xj~Kn!%j=DPBqTX=H?iW)qBp<_$OQ+__UL zY}1jmVJC;Gte#%%OVjJuuV-EA5qJL9**Y}+HI?su9(C9-23RCGeQ6-OIx=EWR9xIq zghMUdOG`S%IJrgkaq!&wKOxoVz+aIZu|@gz>1Ct9bjJhl#iwjWY1+KYi({Ftkf_dt zU?cF{_nOr;D0Y;~u>%35Q|6xEF>{woTABr*w8(uX)yx=uqlgP}_3#+m^TKt?glPS( zmev}M$Nuevj!sOou%!^gjhi<IFx4R3Yu~<o^Ef}0l#~yzETd(<z@_dZxN61O41;27 ztb||*yY;zsj2&gX`US*7a&mDU=5E}1`sg(rnYf>UtuRmDJFPSCIva6taQwd1&v(t0 z88XvKmcx(9Mq#1W?bxw{>==ryyL)<U4XCI(7$&#=*UeiFN?s#5PnG`;V;_F~(JRE* zUUy}<Zdcx=9tN&RMVh(q-zy%SxYbl(+ePlgcHlsN^GOytMa2M4zRhd5vq%N;8J5Io zB|eo}7}{Bi=N0anX;hYF-Nxq|wZ<^pWCOcuJg5JrO`8TW3LxQv6a@k`y&z^uJ!(5x z^X+@Y&6*BBL^leYw_^?t*__0R8<aRd#T4~OP8&nAFfqL6aiLoVCOWvzw4TkzTqN{Z zUW0al`#-<E>kAWB-)lygUX;A|jxdPWwD0XI{X8^uBW(Xk6HN7)M`<0=v7fLW_Rh{U zd!A@KJp@a~B<<Zj;`Enr_a9586@?;N<(AToWN2C<nBqo3ws!5>EUQ*71%t%qbFkkR z+bja&<C#2hDd9zhg`$|uVy-sLK&BjXXbmj-oyx(1fh^1S?1@$_bJO^~O4QTa5N{x+ z__$(#0^3wqp`9savdFiZ@y1^Z9@kb^ry?v6Hmd(XZ*Q*-re4U0Fg?9uV`9Qetlsn4 zNz7z9<T-EeYgObn&90Yk<u^WVqh9JUH$ha^ef^lhE%6z*S>2p?Qf>+r<CSmTylic4 zedsiH#;~N@zs7NX3ny#Ko29i>zn}Ksq{UuV!%}|AFp=J!DJ7+%@95iqDxE%kvdn#k zjlu@|nG_r>EZ&Ey5q_9yqBKCuXK)OQqVnuL4bd4VS@j;5KkV6;oOi~<3b2T1m7}Jk z!x?a8>?6gk?RyR%X@n^_bgqI-VHt(5RjAQ6)l`AMu=tQdHPKtf9RO;d1x>LJxnC@* ztD<kOxdiN?-%|Q{d^`x&KC%lB;o7xp?b)WA&?cL|gQM+yS|et#u)VVmm7JxUo#^4l zTOzu*VMfj^%wh{1XnSV(8oS`qci8c5Ns>xQ#r3>9)n_XH_xmQLzCg8oO+&ee*P`>C zA7u-l<8r2O@@pS^ex8TRJ0O6=gRx5t_qg}&B|C9zdt_xOlh}1wwHU2C#~)RoWbwSS z3fu@hVh)@4^k)@}Md};zj0~o*F)IWPVD&HiQOE6ymR=NKQ#ik`%=NwQ=+LDJ_4h|( zCP%+Pe#4R*Xsw`2<8<Xpb*!*8o0v;6a+&Za;T<1$^BIr;mwdl+upW+>{aJ8R)kR6R zmGOT+zk5?x(Mp`tA0P1v8$$G;F%F|zrjewACpIVhuwX09wgUzVDJ<VLzc1i=SJe=G zKB9sd-EF~ebrsm&seFF<TL27EoaTFU$bOqz8w>K{^4KfCt>NwHryW$Mj!(Pc=ch0L z0Jke-1*1V8JzqPCVJF+l9fWK<X)raI^37pE!EDUS^R4<H=j$fsmN6Z5RipNSNv)6C zAriHBvnv|NvrWy<yTZEMjd)MvF*_a>T+iEQnQ~v!<JG%&?>;$=ihIr<a&&Uy)jJco zo44t)!p=L^IqV`?VLc^YO9dACl<V`XTI)uR!c3+gDrD;EXj?CH$el}}c$A?7@$3Kn zQ$Vw4PcUGmg2AQmy{13MJI;uB!-wVmU>L-s2&=@ej&(Ba+0$I+aYbPnJ_`1my>-22 zL*o)U|KkWI>$>s&e!>O@25bT_you8_ymJSm_4P46e2B#f&9=?r`s;QwF$JL)3CRS< z;rQjt1?p~pP{n`#%QM{P^D8p=%GVFI>80=mIa4Tdjg4%hb8ORoqPhq0usXfeu`TMs zgHSYsh||2|>$?uN!fq;7h#^?Zr}rk|8+eN?x7&3Wop-)pSt;x5XnkkQ^ILP`t>!Nq zuQoNQHD88(31Jd5(fEfq{u|{w-4k<?r{1}K4G#OoVcV9+TX53{rht#I6p9(zg8;qZ zMa69!$TIW`qbl*0GHvX0)7#0(Q|;HXpRrn-J~u5w!-$jXck5PQfiMHb<!_xAG`9n5 zpqthinl!))Khb3P=u;*=B`$(ryOV~JZ%5Ssp&b76Ow1_GJ~IfbG%z$IHdpQscpV|D z52vVKz@h58QA9>W+<5isxI!shz{M{gMRmiw8#UteGNSHf)kX>HG7=XM%q+<O+nLag z^B=M_H^~@3i0&J&?nzvc&3=03iT05RVh6`O6%E1ORx+8InqnXRdl~-z^KjeDSlfYY z*jhcdLIdVA+TDVF-7ag60T{h&$jB@{-6y8hQ|h+UD!)X-D%J402o1TVhmPD|SJ0ZG zz7F7%=1q8bIAoXCA|fKltNC?v)}z7tea_w33b25=ud-pJcG_;eeiadqwn1LdMhb>g zCLh1@{2Q^gxGc@uDx|C46W?9S8;z!vl$a{AyVjVwcx)|?lkKA8h{O|ND-BK>1X!W~ z38vTx`LO?{@KFiv=vLNT;$jVm0wBj!0sF14sd)oVqq4f%^i9C7k&hXSM18h}P;8Ea zN}R|W#BKdULz?|==rJMJb$xG4_W}bYrP_J#zZd84KdsfCYSz4a7g<?WTFMh{Y<&Oc zPv^iP{?KwKoq^8yd-pDQsB)D&t4mifX0~2V5AHuVwwCmE27ON+0RRyW+~HfNu!RtV znVH$S-cq+1G!F9{+{46l2qVniK9FV+Ml|?+9!8I5*Dik(1dx>LUp`*M8$Q7;0OaN9 z0PZOi|K|w(dG$6dGV%Z;pi0&$@8aHV!Sac7rBP<V*6+V9q>Pl<OidS5HFna$-KP2h zG3?*BZw;C}Z54O<YSu(&Zf;I26!wHpxo5G=J8LpD#n|s(TvEcIWhXZ{EPnUjVF6d1 zVp4c8V@|@oeK;`}20M5D(%h|YpfA^^waYq3L?lZ+AGPbj=o<A2okHLE@8sCVa7In- zs$Agi^Ho9gN4%GdUVh=?;fbh(0olgPf3onJO5ZzwQVk8J<K<-fkM#e)_-axre{uQd zhh~0aN=<DQ=-Crx7HFL|Qj%(-^08{8NQ-sN?R{#TG$IQO(%z*nT_*Zou;BPs>D!h0 z)kpIO&ThGW75DuR@sI^hJYqY!rRnMEY+x3E=UwpPhuuC4o{8SkDr%J2921G^W_=^0 z`{UNE?yi5K#J#Mxr5wL;1L+j)U(P7utJ0&}b{sjHxvAwx7aOb<3W^E>o~3bpG_#Ge zY~7!8=mg^{xF)y|`C}Q{fdhLaE?52>eNT+3n_pP)pT$YtjtK2F5Po1#P*Bc1#yL>2 zu!Q1$6+JzMlVZc-XWp&&DPJiSdw;C1#}x>|+EI!%$ES1d>hmj;u|3X8va_N8q%a6j z`y1wzxElYy+}qttO|9l4<u>}X=hoJ@re~TzN=d0<U6>ip{t$k5IQvb$mb0N&_Md~4 zk!#*)@*zb%{Bu6~t+1eJN?5N0v506?9fS^om=r0S=Q#o+=Zn8B&ku&WS3fT<RxpXW zbdEdo+B4SC(a~@n+>T1aN!eB<d;6>mrM(GUH~;s`Q+tYY^x>Id*T)Mw6&?kA70K8c zW`j|&w(6H$j)La+`qe6I`M)kRO>g?8dZb3@KK{+uTg&qr^}{e=bpwId<D|UYi{Dvy z62R58db`l2ZXFtoW#OHj?903o|K!ONvwQt;!gr!qc(}NZdwZ92CQDc|{eyu2ya*G< z?Vq^pUyG9%IMfzhjUU#9`ou}5sFH$ln^9%gU4~~bw6R53Ge}#T+7sKZIYDlI=+0>y z$4jSAH#*M!0wr+7_4`9k!jXBx*~{OnZfnCB*M>Lf=^#6W!|~9(@xFU?>oY?}QM+EA zE<QfKD!>yeO3HH|7S@n{SbX{2q400ZgFkabuo7cq+`8=AmpXLLjMNW~jag$^nnfSo zKJbiJQqu79k3{Uc!`3Z-E-dR>@Xu8JLOwub>#@UTm^!0G?E%a>qnf63|Ju4uuj=c! zqMiPQY#1k*4DAz7HS0nwKcs}EOerTee?qeocHyj^B8L+q(*Ir`-u3I(pJI4`wmLlF z62ih-)YCIFe!021azCP<fU3%IP%?;v^GL~xetg)v4hHkyu7-%!sJhCHA~{Og+1cSb za0DuKNt#?#)YR7z&_}%iym46gaY4wg*Wj`;P!5}5g<*;F7J%KD<}WWi7joD>=3G!p zoQ?pgL=S__5wNhhSf@IP`n3Q4F$+MAFj{Q{n!Jk@&Q%vq#_4{IXwlYCKB-AGH+mne zsQuRu2i3;`oH-%idEPt@SQ8$T&%U^YoID&tax)$;F|HC3etv$0vHSP$e?1@!ME>q^ zY&wB@qFY*8*aUoheC|xQrt6-`%V@T+pX`+^s|JkOg4te_ZvZ#0W11v`*91C5Dw*I6 z3yGgTh#-&vX+u;0eYJRfGsW<EL59+yxZ{rwrS&~5v1(56V@n1rdHeQN1f8+*qJn~F zE-NT`?cAmt8y!t+)%J|{E-&xCeJ{tmY59#Jf*Boc(d)DV-?**LJR>&U|IFbqL#*bV zO3*OM4bgFN)=grHem8F_nv@9U&?{bv2XO&6fARkT61j{t$xy$y5DM4r2y*!`q~P0l zR(GhuWp&vN4(V>>*@;e|!;#LRkm4(o%+xz~@*3SKpYEUr2H_iRh}lR6BqJd9U_wWR zvhG{f_U+rF(q%j+y2T8N>|dr#*9DLEmPs5vdNio+#J?87>|m(WVv5Z&#-LsthUx8F z;PUM*{xOZ-Umo;|6P<Wy+w|(Rp0NkZpE)RPclPYr+>6a=+d$_&XA{*LMyRD+=Q3DD zfzZ$2B<YNNlsV$v@OGFlyAQ>~AuJf1s4n(zugP<elXJ6-j7<1EfcD!uZqeSJo}N_h zRzx34B9|KS53sY>@tt5`X1<ggi%Xe8EPHA|(*5UEf`4)2UPs(DFw<%3u3YmS7>O3# zAnY+~qmYiNN0jRybvwYBTtB{Vl_Sq{!O@`1z4hU=QMo5Qyb$dhFmwMCn2XR-QSI|5 zHvN;+4@3_3!711Sm@8n#n6Q@Y!$NX%6FvRkzVZ6owP(E?ibs>Wh~WB_ZNow!RDXli zLYt1Y`Fge*DiT*FWZ}1Jg>`olmzi(dr9I0s0n#NbJlw?oJ|<P12N23}<7!FQ6$B%u zNmGx$QJC0<xzlPB?XZxT5UK5$7$aiK08DcJ*zmuem~135Q8LHD^z0MveB2-nEiI$x z{knlqpRVpZar4vwZlMZ%R&c|UW{WH^tP0&-U0o>`1&SZM1|B2)ZKCzstLR~N$^>ap zglB>WjW3u0#${l(-YJu_nMQI?RPSYBezRkB@{=c~m`@pV==^mvf|VA)+;Ly47>v`! z(#U2Lv|@jMf04^r)OZZWxg_A1k9f{!aWd1;+(4JAwujTy|1w}&$q1S2Rr&JVXRI*R z_;rfG++<%hRBLQgnBi^usp1-Yn?)*+OI?-uyVwiP&y0Omb^#)V&&LRuf{L@SzmI{4 zwamW|CD)6rMt;G@&8ZKClVNfB`ayszT6i-<u)OIQD@j=xoYpeBx#cXyirR&6Jn*Ep z?aaFt8oEQ1YZvUN{m&8g@$TZCn8O(^0D^rUj)O=S_*&0{H!zD{advckg&ta=FnNgx zFmRW<Ls+Ckf*C~<Qc_Mij>C>OB`MMRHvUx#@XvG7ybJc-7tcUxfFND*`xFg=mMv^N z#^naozu>EaV#iM!Kd4F7N;`CUT*r5s>=-8NUWgWgvCFVwA;kk&3}8w}n6l##$j3lh z{seHS@~uMN%dY9Vx$@MapT9&PGy?;+S42dchIaiLjLMNMywnqvTFXGh%__(afTAHN zzPAm-qoe+Kn)`%=K8$2<-OW=0{G%eCdFRef@6`qKqf3yJ2mjmSrEUWv9Qp8cr|JVK z-VV&36~cJ*tXE9L9GG7BF<ynEhYnGKnL$o6?d8mf^*MbERRqK|wPz+Hfn$i~Gkn-3 zKK%LfO`Ij|cIoiQNI$rzegw7QUg#AkUcUT8De>!?s|X$QkhXAhb4w`Fcv^`)AmBXG z<XD}i$rXe`K5VL}aYiAF+qLy!+9G`W6fdhh)ieP?IgbINY)Wnnij?brPV_Lsv#|?j zuBkw4znh3FUN$y1rZ~XDw7>9?j%)ju{Yj})=cFMrCrnICY)hC$Y>h|v3BWJM6b6Rq zTG#PeScdZZOq(%dYw1Nx1jsRmF9fjNkBbY$Wcp7SKYarDWxO5kla-B4w!n>-le6Y= z(y43V$>kln=1K!r`3(EzgDTLB)c@^U<&JC))%ar;7AZE<v4w?&<J8ZzHkgBchlg7y zz5IP0v0D)Q)*ikGBY*Y50~SDzLvBCJ0#!m?;ox|5vdG}xjyXE!^g7{D&>&W?LL)Oo zCN^RJlS#apS-wb)dA7;pQZkfHpb~D}xKYv7#Ymhpbap3L^ORPr4uRwbwTrd%?N`I; z>xq_$@kbnvUw#2M_v-cQW|*cU;^G4!8HrO7cKh~TkJ7X>ZX)wQ<ex_L@+g>&P=dF4 z?-7EmM<T46y^G5m!fp=LP{oV8D9+Be)IQp{oykI5CDNb5Mw1tN0g0WRFmxL+EY1Gc zsu!dzFL7O%1yA$?ZvyS3n9)Dpk$c4H^R`PpC4Ml4AkX(<qwNuQJ_ei4HPiji8T;!+ z)K7G~J2%l?eDMptq`MGS(zHcKNi=H>CO<N~di9Eume#ywUZbI*p&i)~tn1slb!5o% zVMkQJvRu$+_B(zJ^Fz0TED(C0T*r2=FEoY0-pNVOO-xM*fj>oOo~7w~hJWoK5)Z~? zNS#nqqcrkaaiO81p_A-=`Em_X1eF+<t+u80ZbM_^4$v>JV4h|g+_l4qgcImv_?YZd zDnOjrJEF<TcduhUYh1+Z>gr9%rM$elW*v{lnF|{2C1n4FKL5N-T|}nEVRl>>W7O!# z{m$E-yuSD0=?7AzkPwmQZYq>Fawa>CKmYjovvTsquMnKm4dA4Nth$N#3*c8b-7O;m z@FR-PFaY@kx_q{$fq`3znKuMP;EQb|!{Pe(>dMNOc&~_y*!2dXcjMMCjSo&LDv|@+ zd>R<I4$d$Ek9{)*#hZsRzD)^oTlJ%@BM|m~3YA{1fbnw}Z8?Bw`yp~n$iX1PDhrD5 zJFK4xj65FpO)aYcfB%=*V-EA*&$F?yVKytFcLS@LV*El1>+XxKW!m&mCPg<lS<5Pi zMkI?$YyXvrZW(81AwJ{sAn+}(o13Yyfi`d7E|07d6H}4Zq2||YNS--3IGh4GEHA$i z)*jiWPlJQL+8KI}U>wxAA`AHL;ECEOgKI*107bTI;SdmguR~1k>h7L^w3kJ1sTjbI zjUhXg*5Q1;V65RjKECaUu!tO=#?u=h;jLOz{g5Vjh!K>;CyrNOYA*qC+1T0tN<;s? zlYHx2xXZ4RqpUg9_$1i#0We%e5YOQxJXGT(u8mkuI17-}VHx$rSds*;>peWOtrg&n zve74*N!<C=qySio3N%U<Fs<4qWc~4NKr2;PKAztiIE*Uf_Pzsl?H3fx?H&Z4qT0Rt zCZa?<QynuaL)ILAhTx5O@|9rzcsnpI;`F&+t1BWY0i^T`c%f6`d=MkSucfD_JBDT; z-&S&EGK56hjF5AEd3m{ZYB-5YA0?qt{Kg>w^~hpocAKuOtO(e&A0kqxaIM)IezImM zh$oT6jqtj6#9^(!zkm2(Kwu!R_XN_<#4HNJ>cVY3o-4wEAaWO(WwQ*WpmdBjQTgjm zm!nZQ#9KQCf%qyxm=Kh4ie{=~_59M(AedwH)IZZy?&Xndy_a>xX2IjQ+oitp;7^~< zJx)qenDxRS#d$dV480vlH*GgRw?D@e5nkn1{?ffm$+=Rhs;V(!PVA`6(DjeR%AvLC zAch`Qz#j!bJaA`v{iaQ(z@YGZcQ&N$Pe{Fl*wXb|ew*1GGQ;Ql%DuE9SWNF<UYK@8 zQ`q1|iQ`?^>?F*8c=<{TA4nib*r`{9W%&sxeh5w<C6Zsh|NNQf=^$%%n~3j`k2~Tp zu-?SP#2#@WdG+S&WB`uM;@C(x@JVZk)P!r$ix<+wQWG;G6Y?n~$88*pk>}$oU;N5# z)0wyBAbKTyp+923H;PC1I-F))yf2A4h3f@}rrGyTFWXDqa>vVcb1(M$?vTo|l7t3G z0*F2547l^nTek`>?05w}<P%th8^<4I*<X+~Q$bXC0&bNzydHK8oNqN&nkPJzlv<z^ z&DRew(k$_woXD|1Vey_{6BZU$)7U5~R()D}g-CemWpT0Q6hM3M5P8U54dpsv*zl&< zR$vJW)$sX2ZAKmxh%FCW1ts;xtOA!1c_oB4^pe_?>v@by=}?WI^XBV5_x6r~@+^Qu zq9U3-wC(fQSRla5BmKflyK7JWJd{RG+#^_BI$^7b-W5Vt;$CFGMV(b5A}Z=8ymO66 zrr(Vl=U`)qgb$1rCD<I0PW!~fbe+2qTB{?|2ga{Y@50WoT_B~9SRU}_xPL77;yX3` zucGJA_w({n00O^4aKrZAmv+~#^DsvCK!fmKwwhv8x+feQ1gb(=jQbCtm(?sI=tH~G zshe!i)HrcCHvwL4LUeL6LoZ(q>?g8i#Ev=Q@|6Z3c(H}?y{zU8QjJ@1+~vT|n;9eX z_5H12<0q{0HF$rFKzA7X$jc<@PJ?8{t;Y*9uokWuZ%4If4+XTP7unp~nWQ{*3fu@R zgn6&<F`L$|Tjv1gmQc8iwPl{Xbm>xu0}ecxa5*d%CQvl$J@;fyHA6Uqbnc0cvWKvS zu!N@+6kZ~L&BDB71wk+O2d$HXfA<A&7r*cR_278V^Js24N-cEfIEa`eHlrTuSgsqV zqe$aOhumQc=D2_V{ygS25-GRZDX5iS#)~-}vi``U?%Ds!Z=|b`AB%qW?l5)Ot_?U} z0R41gj%;8?(&mo98WI5!LX2?HXGDe{Ly%zD(sSw$urgwF@fsWo&4M1FY$l1zZ*T6R zQoo@8!n@378f_Y16Qj%@!SoJ?G}hG-4=W4PZ5jrY&Az~~vMw-Iym_<Xf!8cO{<bzr z<Ddi|{0m`jycb6~)R*y;Kms%OVw{p<+Fer6Ab4I8+s?ggZ0iY%7M7XEI|Lb5pwQzj zr33?FgNaOt_iqQ?Mf`)uA4&v%Zy-J*UIVZ=bR0`iGz(r@tM;Qm27#>!Zq;=bt&Aro zp3Sub2QJUO`1J;%&ciaD4=YP^Q)q(>{JuLRBqUOUqxtn)y*b|i<@-nJ5o>aHeV$f8 zW5qM(tP(I9%(Z&o2@F$c_rPYFLG6dalO0m?WWe&b$1yiDwzVyngSCFFHH~(4b;+)> zs%ikeZ#fIyC^#2{ek$>o-9QErP)k4WbdpAG`AZeq))U8%uO;kYfnn}NmBi?sds&yl zL3==L;co&nNu+l_W@5w=638Ir)*(tf0ppJryGFW6)anNU0|Q^<4rK*oC<)O)DOzo~ z$F*GzKTxI^z3*c_{8ck!qpaDU>w7EUphJ)T*bFtrRRU)<H#gVR)j{zngmE1b@U_}? zXm@jW|H4&U96);@0bp;k?^9DR(MJB}OW#d_10c!>wGelbYQnAHjESw-!i46<VQN4Q zXmJz902~MJNcL%X*bhd88cDG0dp9R|!Pd<~Lcwc<rLByD)fhsv*9s6jbp<Rw%MMuR z4)%OXD)rWV7W2;jHP4Q&&JX@34n@oxn0%#2yFn4xzWyp~{qfw-k>=fLVWe~p0Cq$g zz&yfY)x`B7;3k<Qy<b>bSh%atN~N`rh?;O3p<L11y@W$S;BSHnb+*ybp#$$_{*Br{ zg_?+10ABdJcCTLpDxnep%0_1wRmUp?sn_AdjcE|_P+~Wl*@vKQuaITS`lnByCd?CZ zhzxzvzz+(tHx(2Vh*%b>j~V8j2)7AJ0{NYDv$u2w4<ByII)9?M#RmaC@-WAU4aM{T znl^aKW-r;Nnyg4f1TzR9P7_JEb&q#qD+p1)=g*(({_-~Vn$dze)}gU(d$tEzpbL&z z^?MoKrxEcw9=`7D8+P~Z7BT?j*N7zuV&>BuT4S0$5;*UkXqX;JxL&P2NO;tQfD%%O zZ9{zkIw09G#1FndEge}&JoQ}b{j6QzXJ<vypmVtIF(H;`-KI)&Catx-*y)L`n}5pJ zyP|gYQ`~G}+h8jmQ*g5;)Xl<MkpNTAA!lM^wBP-dVUfKIHREr7sk^)TJ1m^y0Fhs7 zlaozG>P@xSPVsD1zI9swe(9mluhor+4-W{6m(P6EPl(aWsKPXC9_{_juj_Wt`C+MJ zdOQ~~d-c@C>yn5+kW719r}XnsZtLWhU3ZT-nCRjp5a(A8{@q3gq=wcm!lUj77oW=} zg24R9kt1~RiI6uD=z;Sx$OQvXm)$=|H6fCid=TE=ns(M!Z3~rF6ufJoRQ3qAD@d4j zR5|6`#5x+}eFLg?oBrI9!oZr753z=l2|UPQ@zap`QPkng-su)pEFSi&7X)We8}}7v zUNnslYC-H!*;A)TY~B#hFlwHVjl3{i7n!i5;mT;s20)t<EFWt^>J2CtFPp*5hsR9h z_}skBxIa3M#LNt(L%0r9H56R?66zjmrwQQ0fw*!2A*P80KBKmrY$UIg6f=Su>Ngv= z(N!FH<<D$_2qwW6r1;Q~nKN_oT_$HI2p%G!=mG{HnZP5!?q{mIEiW%q?%vHFVEDq@ z@N)7gR`(+{k`F!@=ERf6&uVB;C!c;`RPYUkH<J78amw|?cgbpP0m>McRaM=-x-w_1 z{<f!Q&u<<#y4%qgqmn{v^QppC>WNGs^0vPh^d=_Gu(Go!+koL@f(#(*yc{&oj3PF- zD}xNVZj(}Jdy?E>rZ4@KtF9y`F4h@=DyXwS6Ob;#qwmb664_X7J*5;h%gTPXC_(S% z-7$;UKqZy}b%?3_h&?(8xtdI3Gsy&mfEs7eFLNepYF6FLKLHCaww{!o{e}+G;W}`) z#AWH~85l5O$ct9NxBmWXn7rQcY%gn0ED$)UV1vvtJP2D&3M#D);LpNi4hrU2^DnK7 zczeGo@#Ky>W2~%8`{uS~1N5*Df9)-MF0+8#T*a3=vaM~{wv@YeX%+MU2BST{gh)Cf znN(Kd`nD90PQx8oY4AZBQ0v@HWVb!t!%58B<>ch%Aptos1um-VA@<i}2u8s(?gp;C zkPY6C2w_Ch5epz2F$n2Pf(}T0IXkio7cUNg#gGA%qoSkROoT_Su6x1Wf=aBGm@M@L zh*6L_bwYM_?CF#H;YXDK@cq?uvsRX;8-aKtI7PswxVpLNK9*-q?c`Yq$^m;9uH)%h zid<?<Im{*2QicXS+fN`{6^uerrD8Ayy{?17IkqQHo=k@vO);tErWO^Ix)yR6tP(^X zSK)2E=mVI@y`9==twr7|CAABr8gE+&Iteow0}N%Zwl{U7)XL8@&D2ALY6q$ztJeXf z8a--iYA7~kv+-mi%Zw2805}n{T7n5gtRM?rFp&=dqfOv11buQ)TmoR<LWW3xiJFu` zz4`i8gn0oMof>OvWe^j<54|C;wu2}T!%GwXq@AGE-JKapN@Z7)N=!F?QEukqpLRAg zHX@KT-Ua*4?>_^Kh%+RTa+Aa(2Zh(G8(V4`8u$VUC6Gm5c^O3-ab^REGs}A5fE@Mv zdvfpS)~s2RU>hv&3)>JEA4(cOgHb`fUUP;Dp3C!7?7ZsAvRc)c4{``PmK<9!^;o<X zV5Tr(LkI_{F@5{GV$v&E;b4S?&FhAKz(Aizv_Pn8(bkp6kc&!J7fM01Dqm<~^6dJU z;Z6@jBY8VER`25ncbFI43o~R1ubmntZ{cj`IIOO&5=;hO+c+GQHCtEG$hkr0&;osu z#?uI%9Vts|Bv?~dA*jB<*bYgVg|8K<CY%Uah{Tg^p;aq6oPLg>jI69?k{H2y99DLB zFJb%K-+$gwsyG{sk=VcNXI=V<K|YEX^}f%{yumaR+eAD_YM^AoR;ee}!mV@0dij%5 z3vpf)Ou!!?HlQi6>*EXHrXfe6+ExUxgytJV#y?o)n=RuA-HwkB0(?78c|$Sn9*L_D z<Z=_Hk`w5Q@P+b;GDb$s#AvJz(c3Nv63n4I#XRmkkRqG<1^B0=ri`0MfUE#{Oprxl z98?{l(277{$bci2;A&yPi5T8Sa~GBFD;RzR>_IuUNgDpUxV3?Zn*Z$Qs;64NEnNuP zXQWw)8^*`|zTsT3^dMZ-s2>2LVlU@70kQ~yi#06RgR~uHnAH;xHXo-DNsw|c38c7n zeq%Wz7y&dmrK(y5CNc~XmWT)%9>WqEL?qGgUY=IkskH+ZkC^d@<l|)^k*<dV<bG?3 zuoYgDkerKTQc2#J4+<yoi~>d;Q&tY*B(6{Ggd~-gAz}(*n~%)h1UdEyAc3$Nq*U?W z_NV9c-ZfW&4Qm&Mn72RG<hnCW73L*|U>D5re*Yby5)fkMddtX~32>agUx_%OuHasL zd=|R)H$=()yp6QbZ6bG8XLMzxX$>fx`9`1B{g%h3kVzz9EIel-9#8mDVl^5bNZTzW z_}8R@;2}cgE4^+f^U_bdfo~wj0F=VdlL7)#hsga?xCR6jS#u)bZqMPchR>th|FtMy z{mzH*y%BE$X$K*czR;x-D?}xk3GOAFsMSFO2gYVcQ(=Z+v0=)vdqs}J<nVrb-FGsQ z5kg3WEgdNcde=jAg!m~SYSjbuMsu<XBjLpg)Osgpfj#5_ngM|7-@(dXgLHHqtVs0G zDzFNV2DVHUR=g?O^dv!`m^Z{zeS;<nC(5EVbr<-cjVvrI&8slfvT|~d5LeRy6Cwqg zt}9NZCF3ctAY0X0;==t~4;jiJOrBZ#174gkpq>kdiLfTe7ThKr&)wGV=&QM7(;pWh z-0u>1I%uEhM<}?5JY~&TF7=lBfB$Ze(usfp3I?HyXNJ!|O-x)$tivIbS{&IQFX>T$ zUOHU`u22*a(5EAyyKhGl=15q7ckG8!W*)NZ15?;v`z0j0h89URm$x$?B|!ofFL6bc z#tuni0`x&+w@+Aj7al4pH1s6cSw5pu5=5`t5S#A`UVwL+f}TNXwR~^F*T6<j{~7}j zC9e_YffC{gn1j6p2cD&_C2O_?UV{!AlaXJ2;MGY88M}4?I9&E6tR-Z7D%80@U+)un zMyX|2XxAqX`;A*-4`|EKr$xew0|wvr3>}rOtg`Yp+=PC?H)PHLKwd$OhI1K~F|yRt z+t<ee0{;*f5?W<Vsao9X>7X$Qb!joQAHg_MMB1dLwwCG*2Lc<A_pltgEsr-w@GJ;| zoP%XWqlDvmlL-9jL~Q8Hm08_SeWyP_b$1Y%KsxX?<mBYCQ&=O2$&<Qw3{a}K77{Gq zQP(UR2{7Kqo>P7VZe#U$MeN0Wq9?A42{P9N3p?-L$eJS!!#L9OToi^?&H)MWWoRxf zI`f_ebM0qULTbGNEW51IE!c}a_rzUt&STM(7QG97z;h^D*?fEdB$O?AMJ<*z{u;X0 z+xPGD1yF!g2F?_;sM>F5XGbth;IgRRKv!*-ZdBG8j-YRsR!1WzPODkm5UFNW?&Qfq z!s83I5HJ%S=@v3UzrVl8bt=K)z-Hu62+=8i2xAu}d43&Z*gYcS&K4CBVdhwl#7}d< z-px5*5PBkSD@m{>*c=H(@ZPJ-)2C~LxMa<IphV@=+n5em93yNU^^KgBHSSKF%oZ|n z=aF+7<p`*hOpx|Ee2|u^LmuXxNNB0QZEf8}P)%H+sKmf%IUaw0ovey<Y)q*UDd`W$ zv407=sR3zxAIH3Bc#6BY+Yh$I*>8c6oT!%q;t>vw(SVeCjhL_rnv1`S8U6$$hPk$C z!w+TIpZ5Lk$7L@k5J;vS+g_#N3gAL>0bqsiMhay}Z?w)_yvPnx!xx|CKOiL~1w(Wk z*%Dh#dMaHF<Z&#PKyHq7=BK?J)Z&U{+r4KGucZ#v`ZchMLK&x6b5c<jQd6aJ&qeo= z!5`gOjR=ItfiMQ@JV%cj*uA!PgP7_D5zpN+BZ^C~B?;B$xE`V>Bvu8Wkmn&__a3Cp z4~d^8zH_%F89^`W&LHM>TKs8=`XywbPSDu(l}kdsx9;@m(~Mg3vQdwhJbxfhm&0=N z{TDFs;qBoElnB3|o(?#KvWdHva@17nk<fgxN`N5UsxXey9QI+2r<&oX<wX#yl5gO+ zz?P~C1z0GNb;Tyi<eWgb18)^~blp}eEiZ6MAf5!cPXgvQ#Eb0@*mC`xwkm7ReXzm+ zn5UwK9Z@)N@Bw@Yc51B^YwDtjsp$a$Q-<E*Dl5?}lrq41+{A%zjqet$14Vf^Vhjnq za2;%7l{z_Dt@rSLRLsnLmdch0WQh$0Nl91AVN@O`uX;b^g(>=t6*Dt4JKX$9DOM(h z<YD&+==Jy|4?Da3kAre2z+<11a_NDA&ix8D_y9NeR)Vv0cFyCRKu#66v!9KvQa%#9 zdoXWBcJ{<0wVKtC2Y2sUYDo2TP?NnkcS4|hJ5IQ{udi>&6LDHZ<<LbH7`P;CjPQ04 zr^<Cn5_cFY%p+u56%a4D&wM?wu;($76z$Ki@W-hUX{S@aBez!&qaD`QP*n|4sCV5% z2$?;gZBls_OiGPH9`NT_+m7mxJv-l6qo@sOxB(PP<f~th)znoqm*2Vm<q*G@TmGCA z9@!E#0y2Lf!Z(i%5QN;Rd~4~sk97<P{Qr`zkW$=7A=ZpgOya!!CsJa(r!+^Ow0AQ+ zkETkzv=1{dTou+pZVF7|`N`h0<wM)lh0PkAYJc1pV{nJEt3#S_Ibq2ADwu$t5E2ia zpp&6AbJ`iU0_OwJcVp;%BXUE8)Si&Vz~!VIeg^;p15Zewy=sN?Ao=zWIr#3h>?}I# zt%k>RD{~-rtsbuN9}nyfvP>4q|H@cjrJeA#vA$j@XW3p`dp8hkP#q?=g@9uVG=WRI zZI}>28dn14h4uA=tqL4KZj8t;EG(^67bfI3cOIyuwpw8vnPRvTl8E7h1XtsmhC+Ix z3?^(3y_9DWTLJ1ZP(TbSW2p8HvfNZ}N}NZpLr@!Q$U@bjed!V(fe;qf=RSWf0r(k$ z>8WqAJJhwRlVto;pAb3%aPkQ{a6Cj6n&y3^ZA_r5NQl|H8RopOLzp^jrbgIrWVK5~ z6Q4$;Th)~xsXYYLVjl($W}OTAfqbke7opgPTx4%RFrC1w^b%6dERrfWz{s&e5=LW( z)D^D(7H~=jvE#qO%#ldY1(=-#fdjGb4)t+dOpLTo`Af0i0mL{I4<gS+SaULvblry3 zE?6VVH$9+Lz`E>(Z~(UfBhHJBsY1Pk6iaa3R4vDYV?eYf&<}BbZOgRNwv{zA^jiEG z#<LWC`}Vn(w-bPCIN%|iA3=(D==PFQ7U^L~A!^wd063v?n6Xp}=``^C{IUWNX(`7a zX*MC2z_84H7dY`(0O+z)V1-Q(eWsjw5<<8a!X;J^mPgR(v$DeY>mAZWy%;ysbCf*Q zI<Er5y@c)J)n=j6eSm0(2vo370|r2dw-?wl-gh0?LKrz&*#Z%V0onB%HwKu1DX4&n z+r~gh2Tj3QhtDI4doBzP!yR&=DWohF2g1U_<lnt50u}3tqKfdM?jU7ZO-aZW&SR!n zg3h0WKqwTXj@7$qY4;yKObr{CFb~}+65IO&+Z1I#hQ-8?jLO{i9XzN&V+RQ=G%KOl z_MLb{_{pIq_$0y8QVVQIn{x*2qM;#lioitDX4Tkrm@d#k=$Pdkz_|h{)N*9`*LWj? zavpqsd%krv=LGm8>}%q;L{ftYR$wjSb%M;J_8E>mdk71Lj8}aKHxEx`w6V88p%$8* z`PM~yT5=}hjrD<qI#Dp6o3HN;NP6-l5zroGc@zkkdWo=vm^Ih@!p8?+=s&w*<3<xi zLXjGRR9Y%Ph0M@=%4XlVvEF&IcMmwY98-vVZhg7$p?Y{a5t0Ha5I2fxkt8nop~J)( z1a}oU00QzA&Y+l+AfXYWmu<3_v1EPjG&e!iO{)K}WGCCaWy?!Ib1KlA$R8S%x>Dh) z<lxJO+HoXm8<LO7&YB{LMknc>hq+hZf^imK#s7+%>@F4rzQ3sICTqq4@OKkQ)IgK- z=g$)a`frlKV=!3skk6{8LMfCz1RfK=JiZxt+sw@D6G-LuoC{kavO7>MYV~2WfPet_ z=xq58S<Nj{Xvg&SzNG$T<8$Zs0utQ9IeQIxDJ)iz)0gdpK8UcsgxeGVk4`*2N@ixG zj-;Jocp{rSzIZ1gZXrTN^>l<`?xE1`NL(I2WKr<gche3+KNX&=4cLynAH$<Zk5bNN zGDC43`2NXhQ^ehb06yLhWV|cJsdF7=p`x$qob!WN$^??KaMxqU$UMEgDAM&-OR-&v z(x6%~67%JPWyzO1pdYG`>*NdouM;R(v6D(tmI-BURP>o(LI`*Qpv(6DTXkjSUQlVT znD8a9k*eTIlSR_HN19Iwa~m~_Y);C(b*ms`0$TMT2#FF-Am@MqxKbpLpUQ~o71$73 zqina}ng%Z%6olOs7*NC85gij_@!^&Z=xR_e3<xnhnn2sx12`pC!IjHTLag#r%DSl) z)+t@Ta65QJ8sY3+w6ufZOR6DhFq&}1x<I{~h0lJK?q%Fm$d8jWdt$x{oj--Gk2b$< z0LzaO2>L)J5_QK@YyehqabgwagPoAPJIUg8187YtisJXY%!IEBNIV*sGXW}I2luUR zx{G`R5*#6*a94aht}wH?xP4x;Y<Y|>WX(-RO|@%R9bIpnAUV>jmqulg6u1J^pSJEb z392n&=i2v-p(kBNdqZe2yEa#EKr9)<g&_@|?NsYeXdhc&x_0yC8i6t&y5Kt#FYit; zdy^iVZq=-v9-CW`eBX1T|3hJ)C`xOLRd%jjYC$;@A^h_H{4VZG_h7qeXfV{(2jqk3 z)GKPQKGt&Km_vm{HAHDFSmcbB61=b4G*t5Q{P}rm``bIeAM{}%Q@gjm{gcu-#>HaB zVT&tB`9vT*4~oZF%<2ua29(Hw>7iez@RGgaLvgP~C)i2y)eW9A^Acp+Ju%zc67{{T z&q{yPS#;zK8?kgD%Qru9<pm?EOoIA;t<I?%7?g%4ub=e;XZQvhwgFUG1lxHIGO9!1 zQ6?o7sVIltL+H;0AjyN5@rJ<Pg+*nn=HsRpn`(xC{hosjAgSB!SkK#xq()hTJEmM$ z=C>I!5(Bdb(sLW?7M3=06=eQ0`o5&l?(=QOFV&Q~^j}8>$&7iQ=A{TR9qRS@wL(;J zfaE$1g$h%?RcipY@*6B4JxJCdz5IBFZDeH2uVLB;@X3MT2RPuBnPGN_H_8Dn4PtP) zlKatfES<$p=HOcn^?FXfgHY&<CzJ&0pr$O4!b3rgEPzrXz^_8+7SAoj>Y%!ch8S~f z(^bF=>MQ|%5k*^bBOriV2G@|0WwB77TSxZS&t9q!$_@Yd%UYYiUz4#Nze@4<U#`k- z&cbj0`MJG$jmY1x$*A{LZ2bE#$5_|5|NWZm)D1GmfBxc6`QP98|9=UYk0?kt=#1p6 zXqOtWO>@dO+Lg^{w<Hp)tVXds`+MnUStAt>NWMCIzl~VQPZbA#uQgK>SEu^e7wKPa zf8I{!Iozt~PQ2qPTYIzr*TcvqIQpn2X*fXLaT41;oPIO$e`ihqEWFyW!RpY)6o};1 z{ygCv`x~6Z8^-0t@2R@4Cte;ox8?T(ujun~&$Ho*<eKXv{`uI<UvFJD1nfyfP&z6= z{QD>F*W3TU>>QGw!Vcp7WE}|H#SuT#A)k&p>;P%V4+9?r!6C{+pBc`asn{~=+_Il| zbA`9U?+ZQ0(uJd-{6I=_b$ONUjszJQi=%?9jOG{VYET)2??n58pnoOmQJBEn1jEM4 z6XytiE))g3!tQeuWv9RB=a?xRh4NMa->g&a=?3B3K17EoFgU7LcxeyEeOHtC%bk`2 z7-V-UNn=CV9GobcW!E}@L8}Hi%jIc+B<_Gj--4<Erc^t?ghj`#m`g9|7FQ>0JSB?a zw~BxHveNi#`822s%goS)o=I<7sPC3v8G&~6UVQ&xw^d%{<M*RP{(TVY4iW&5*zePg zL_RQ#94d;56Aei7i%!bZ6`IrY4;nBXbn*@EV;4Ru2qb?MmW=4Kkqy{^h7B@Ijy3xn zKB%93gHNP`jpLqMU5mwg_+7)2<rnc#x1STd_?85*?u8H4!Hl#Jy?m3pcL4=C=<!=v z1?z5t--<M91MgRaocUn4Q{%gZUXY@J5X?oV%}n-58@cxTHLjL|7n<+i;X?<{pQ+gh z8!zHLlV<z|3PH#FW79~Q7GqZ7R$?6bv!Ag*kyW5->7orU>w+{XJM&Z%Am)k23YYtf zh{#B-qR&~cw+DhXPHPeL2@9BT!LF^g^I7V0%ts7bW#>H|7e5IDntEh_v_Iz~n2NYF zjnb=Ap;L)0E1X0!hTjuAG{DYlO#k<tJi5iK*RPDF)_!JicUqZ>3Q#{3lb@xa7<pP& ze*c$eAIy3c1hgzCncd79<_H7!&_p<#8Gn*}N_&`>CxqCE8dJ&*BVSolQ9(Z=AH*bf z7?6q<yXIiK@`FA}TVhYV6{yw}FWpTA5!|aIqmS<l6m(sx_lN@MsX|YOG#aD8d9&&Q zbbUA~AIzX-TkX8tJ-YaKZ<_eU`us0|p@S_-{K0|^M-nyq^GT;KTX|rxbpoCzl0JFy z6H9WSI1`HygAl|r0rj=TOJ_$tA?tEw!do3M0Q_vdCvnxrE`QE;>o{tULy0wWyVVFs zvWxIGep_jGTjZQx{^GN0Zs1sZfY>oynJQ1-J3uH_ji+>fdIjVT6Tn5!n5o9o59Y=l z-I$#{#qw*4Wl6|Jdrx`#tpj*y9B}qjSGpZes*a(gfEsy+i;-(1B8hy}2=+p^OPitF zOb5=WflI5FL%$!bx1}+0g0HS<Wjx+QT<4M7lC$lm4lg&*YSOts1)|)>AjG*{VmyoU z;6Z<g@<l<GGsCylm7Mv2E1(5M<A}k~qCmhgZ8oFM;u9}^tzxR5bzQ49h-d_20SGQ- z0h3IiBbWl&`x}4&!Z&t~aY!#HKqAOC<`ChLizifs+-a^+8ldeq7OA5RVqfA>@~Mw* zCG5mH>pZ_~dvvbbY3h03$}@wQN$3JXkXt)Dy6X46@nuPX(HK8@ThjYcep@oT@%HQ~ zh!oArq7;)7ux!l;mWg4<(jL;0QBhGI(x}>(AQlS|lbOs#J$&>wx<h-34LRcuA5T2v zshLb4NrcL~30sBc8vIb}&cq0stB&J$P2UmEkf2R_e!EoiQ@<_X!&m@w5x$a<g!F64 z0|Ns^{Wlp0kj)Gw2tWhS@Lt^j2@YMhg%{HMpt6Vut`I=R4N=}4#VnS44=USN#~T4P zL%E+7vGPGpgq5!?`3!YI5V21YarZbP?kcRtxN7zDq=RwTL6z`SCa40SZ^L-v7>s#d zN<=nm_$!hKArK>gD;zVIc(F3XA?=UfJSkhr52U2n_d;z|Y;WW@Ve~PV2M1(l9GrK0 zWuejMnf;f11R>QhIYdxF-v&#s94Erd_k28Oe$4n60~Hmd_0JA9>Fh%ILBe6ZNRdet zOz<K5O(%F!nK0I4i-fI*%_p+zBxK<up3kNkuW;SmMo$f)?^_R5V!tu%BgcQ$Z23yR zzap@cd>NkB6ncXYN|@Z6ZLF+>(TDM|Cfo{iUvUmApc_IMFBR>}TmW~p3-$(cixA2m z-OZyzDgA4qk$YRFoNPRXD@}nMkSB=gXOh!z1$Rv}MZE(YHF<e`1O1F?h#0$~l9J#n z>kj1I#F^cO!cw%x?lf9{cHG8Q+y&Z>IElKM!SsUcXxVW`xODeaZG+8|`|ehRV9DX5 zuDO@Caf!2KuahC*uz=6%a*#X1paFF42!=gAOJ@{FA`T6@EeKqE8$*TAiTeugJ=JP3 z4AM&-1diA%{g+WV2f9}P>_?D0T$c&{f>M$$#ThZeV!>JlU>9CAc#ge9cmTJ?PV`R! zqph73%JvQPSNG*ETlyJd8?4)LRBd$W;ut_S6U3FykSLrjX+-7XKoz51`p?0G@yNPQ z=k~mpnk4)qB(#q-PA1@ti84cf1J#8c&H@3g-N!QMXP713D?#xOG@%=`Gj7fO4M<|a zkYq3DsRm)j8a=d$NB9R*roJKURK7R1wj3Z$>W4AJ{GkXMk0h4kkrpAIcZ{8!M(BCp z0wRaVkMUl!9nElML5mPdaObZ=2^53`r`ZQoAbdsBES1QM{v<ky%Qhd~QjB1EuE=MA z$QQ6|dCWC~UsLVIzd1C?Y#Nq)&+k1I$jQykeHQ$sy7Jw_2Y{+myC;Fq1IL~{=S!4w z7^sXlCtU0&mOocZZUd$66t2+x!|9__m4p*lm8=eBVZoklNa;iVD@^r?(^vYb+U;k| z;~nHxtzWEsvorqyM5OaHzvHqMB4Q)VN=_1cr-4UCINO-_dX9oP$^>SSU%?K}XxZ-m z;49>ke$`>xAHfc>K+1MXekC>SSpYWfaQ796k(zOG9rK~%uZB$1X<`emv4Z2TYa9>t zSvLKs2ASOluC&LG*$9Iev<Or&h=`=V*iP!&BRrG~AMpHWaUNG+<wHMNn{v;gie4QJ zed51h3`_3T9ADbVX+SLV4_K7}h(79zzu-%M&>v*>p6^Gx;!3d|@;n2Zq~~Rfya?$S z_E>$&*~`^3#M9+s|BY$Y&heN1)R4~r9ZQthlrDNtdi16JT;bXusrUvgi_`rl07SZD zU~0R^O2EAl3aP_iiR03cE9*)9qkea4qWjx8QU1isbqAje<t=qSA$&NtLcQAxv9GN9 zmOqP5$Bv#M5S~1*KIKk)`_)vc-+>8dmd&-COrMo8G{)*FT|_oR0u<7jr%PJ$a7GD; zXT=)NXlR71D?NEX)qjg+!legiBxgdc4S`j>`9ZTC<?V#1^7qjvqD{BC3GDU;>)bt~ z9jJNptXfb86cx0JlsrsJd~d)Xcums;s*~tF@W)_G_7Z_29Gck&VBpv@F92ab3!lb< z<$i?2&1rKX99s(X3+a9OT6<hRsJqR5`Yp@I#w7+Vf>*zHWzxU{N(iad*}@kWK1e|3 zGI<KU1!0(iI*Ia++r7lH8(+x(3+^1#Xr8)jywur7-tx=ZcuB9S;Vd}Enx|(0{H9}* z<b%f_1b0K_Y1DS1>rqBZ3g_5_qgEuZnQZ@stpUW9Jde=QLh{j3uMp%}`V2}>Bpx`- zTH$uH@yL)=yPV%cgqxp^nQtQE#;a?AiqCv>N7pX$7HR#F^n|8v+NWCFcN;}6dW0ZB zzP06ff?+>rdO+_NKi5^KZ&RqE8S<Jm7+RbrFvLImHznba(xdBI9oOwUE(>)%@B;Ft z&p$q1u3aNFZs@YH-I2oMqC`tx34C_?q&a?*jO+AoFM8FBOTWevhI_-PVTzRJf@gDc ze(SzS#c$Id1Y%~g2p8iZUVI{p{6=adk&qXsee6@v^O4-;=xBNPH!-BPt!3P4zq(zV z<Z^Gc1*07+WEp;T(%=dW%E#;Uz(c%XfhTM<e_WP2Vou=7t95_vw1;q*=`+XoOyA8o zEjQO~d?D@%JZm;2x`a_ODr-yEz0<as8H?n_m%K}MGVeUs*%aTT<X#jz0w-e%K6N38 zFg3@79e+n{$JS`kB)EYwByaIq_%R$={$({4=8HbxS$q$QIU1hNq31{JmCzNfV1~Od z>R`s|)4qU;bku7D@(I!tzZddid6?hr-A<}(Fm>@C;nex8SD?+WF=xW}kfq-J9mpSB zgPL>+0*9#^=UJ%tmLV^?2f3|xDOVtRn(STDz$VC<_#_O1ztrOe8vMA;wHt%hG5_#G z(tQT$)<#Q1WX%&{Q|M=ouixxMahUmX`+40^s&~5=i90&?>kpTpb`GwpHicIwYcD8~ z`)B)Lmx($>?*G%?wZFxj@9`ea?mE~=Iw?#mho~iq)jivm)~=H?Y7m*|BByLAQKE9$ z9&N@XsYn`YP?O9kjZ3=h+3iBQY?-bu(Wt4UOzC1$b6)Qmo@f7uqhItq={tQtm-pxW zy1d_?eZ^z$Nc3@T_()*%e^H<)LPjTV*c#Mc&(8;-Dmb_T6(9WMSDOC3ij^xs5m#CC z-jOcv#`>)eNIw)YC-l#6-ThLLkECm>kT&QjddJB<h+s9DL<&-x-BCY$<O{}q)kYhB z-1;SQNdB$Rt~#QNs%`u3^%dDHG)_a85+6zbm!@kR;eq`pe+YhFS-m-L4?=h0a(_(b z2`n7hlf7MaS8{wFoK9=x0axmY(eI)ZK~^1%R}ZSWm_;`pxmYjpm)w6ZehB?$Z!e5y zWg~wWjGtl#f!_&*<z7~_))MI{ReS0UnurRPXGFn389|BqJ1%Q_Ggna=mXR0R<6H`B z(5U6{o3Jv?09LF#kWLwt#10nXk=H@d=l9m&1*~OaEiGBvUYE-o1R>(w+}t}|SI_r% zPr+cU9{d;-ktLMr`K2W=O_wY=3Bl;=jC2A;fVGSHQ4bcRyp)*!hbY_VcPY^iGE<V1 z%jSkXVP0V)^u?c8n!gCDfNQ3_zYY+P(*gx_p!fXi@JcL97{s@`j0p>eS_(QWU;M0n ziB{|&(i&Obl*e&8CT-aAl>t{t=X(0IFIqVq?Ts?J1A{807NO>%+(<0)yB?1O3Zj_n z6*itxrQe-}%+w>a*2%K!w*9PCfgTOpnpAn^81Cm1FesZtbx8>fJ8qrwko}l&KS}z5 zj&lX0u-UHQ+VtP&C<qE8I<UHdXTnO+S1w_A9iml5W+cFVFx=gn1k}c>ZM0Px)zcz2 z={qMx2^wcx6Q)K7!TJPf=Z>dJSD0RY_-_QQvqMShc<**BalM`8=hGNzOiI>KEqAAG z-Ypc?%mca0@b&f8YZM|qp_Ke!!)4rno*?g2j`!&eVuD7V4HxMm%?XS-!lz`+yv9Zw zLBdp5^Wpx=j-m!Y5DqS7n<CXM9&u`D%rQp4v~x^UBt&xbS7y}}8ljovjSHhuZ;lz1 zXgSYGU@Eb^rXzQ{E?GyzLXg`GMxUdVp@6j|Nc_yZVTuogzkI%E*$WUes$3DrT$#Jy zg`}FZv~k{VGrr)Gk;qUn4f#ko=3`f!VH#NM*-prA^5C@uIG`|iabP76ZN%KD)-oJn zXXPV^LMmnebUM1OcKfOU3}{!g9k{U5oK9g%jdLEkIYA@Q1#4xxY4)=1t8JjzByI6b zfJfZkz!F4SC%UFxX&_+*xve&+;OsYM7$Oc3wlgNu8({|>_FCYhTT=j})y}|{x`(=P z2b8$ydDtfXz*2<Q?(R#;%8rk1x)bcJf`r&EoB)`d<B*e3%6SR@>eYB60P)7(X6Ot> zfe?~HZKQ52J|5QXXI#BdLrRQsc7QHHh0*335~6tZT&wQP@Ug*0^PQXThWO_F^mxCh zRhEIKiOm-Htz5P>K1$kHJihO3cfE;pi@Uo!fsv1BNa0?HFpGAibp<;W2vgoLp3D0m zn)(&mf%dtBKr6kR=n{8K(`uKf&<-H<tnI=5HbB{Cz7=Pv;%t6fVq*y9#Hn<AeoQ^S z$cvk>yM6~e5=0J%h{2lKRNIaAOb)x0g$PEo2lT6ptH|X<JOO5C!CU7Q^CBOjXBo0d zlc~nOH;X@SGPL{qD{w=_9<hQfbQ+vR^b}>YdZIAoeN<7F)a@Fpv9-j=x%64o=xf%N z0fA|YxaaEmz&IRDR<FcZAv9Zv>yB{xd0{cqk&oMSZ?;{({mgi{2^nZPKi*Cs28XIn zX3~w#B}UdcP*VlJzrx^iP*~*%8p|6D08R5E1S<gCl!G2vcT_zUi(>c=+egTLrV}!p z^hYEc%@yG;wB~|SLc^c65|O7pHK>I_IgVHecI03^@c|8DHG+y^nsm`V*3kT$&g-9t zt_MY$^cD_3gO$^b(7IHCNZE#p3gO$xEqS}NaC12?YbN_~s~Ghs#KI^QBBeeKAz{A) zVWxywJjzTXY<%#C%qz=2y*2Re0{FdVqiQCzF2ABDb69Giw4lJ0UBki=O-CR!t)Uh^ z5_P!h^r7joQbmTS4Ca78C`CbBF55H5%LxL2m&jJrs`Fxa=dZ`9eeh@J1Q7Pkkh>EM ziTSn)L*@vN7E03o@iLuW%57VRvk$#qW^Un6A@(6J@2i+e;IgV$45PF?4v<?+f<aAn z)cZwCkoeLFBP=PoSPC2c{{@lL8_0+bxtjFE-R0tMP;en?4zc_V^|g!W{jo;{8x9MX z4`<;|S$Dx|rFTkhg+Khsz-C4`9g+v8Ht&o;FqXECzitgl6+pd_OI+9EHb<VvjdO;E z`l|xxz>l~4eSb<ZwFi4CnSUP3vm7kjlm?=dpI=+2%Iz#JM&|QjTgn;|6?U~2N5fsZ z0>NWb*Wrc?tFYcV5bUC<de8Fs^IY3$F&mO(JAxqkYk`72fCaaZfs27uf)Y`Kz_-pg z-}vB6Yf-_93t(=x(LN<vXCVkPpt<pEa+)XB-o`Aj6l^=CZDi3#7A)-)!!{$_5h+Gg z*qV5TZQH5uG=BjT=!A!wr{Au4c8%~3bf^&#R!9i0kd|EAWE%CBZ%_)?5+4UzyHKZX z6cw*Kp8zw`hUSdx2p}6wo&C+%INwieO)@E2#}kgp<D=)mf*5;Em~V`R66vly7){{G z{5O0HW+;|2K(O+xHm6B`GffaGH1MR1>nkI~wK%BNrLZFC5={!{Xeq)n89xXL?Lv3} z9Gl05J#^M`pYLhUbR`t8AZm-y=G~SUUG^+O&kowG;%WBpm!+eCZR8Ped?s>FE(Y5k zy+^0x4SxY7b;1+9;OPzq@9m78KGf_%SrP!5Av@|_`)08}3w@7QB4%nsvpUJ=S{W1N zijvz_S^10Pq@+?T7b!k5_T7N294(Vcc9sM5K)2w64O_HyDVIJ5<&o6k7U@B}1!y`x zDuqTviAy*vnxK}hG$-M#4Th}e)AKv57A4T=LmgaIJN%$@5)=PbLvs>wcWc6zKrsZ` zosp{2P(}>*s{rHkAA=BWY60yiC%mfwCS)K>QKtOqM!)=<Zq7uN`sEq1Y1=*)o?=MQ z_{Z(~^wW#EJu1+<`chzi*Hz*m(=ci*_C2tI#7Mw#yI8sfc0DiD%GBa8a^Mhf*KnI? ztrBHUWkLvDTx~N@*@-yJnZ0T$jD+uF0&bx>Ei%OQI4Twd&_{wL&|wqyIy{y(SC!~~ zF9BiT4Od9JKNc?+LDdRw#p(1thPoVhlPDnC$++El2hsCQ14xLuU_{nnQ}xPej1JpK z)OwS~h#y5vD7lCT*ZW(rN6PR>V>Btnm*)hvwD=V>W^yVz0nT4qG}0ChcAxgsXI<)7 zGF4B=jFsT9W|?_8R{wevY!qb}I>ZP(2`-;Y%I$>ps^ND_af3u<WJ`-z162{`9W^`y zO!Z0lq{|_rQFkZ8=Vge;UO42@;BO{QFq&zVObV?z808Pn5Lgl!2K12oNB$~Peo(jQ z2O6I=OVu!Fe3E!SjKe2I{Nq4;()K@$#Q&WYqC`2d{%G5G$rEKSX$aOjxi|_Pwjcc; Dr9kKs diff --git a/tests/ISOMIP/EXPREF/README b/tests/ISOMIP/EXPREF/README deleted file mode 100644 index 06dd53037..000000000 --- a/tests/ISOMIP/EXPREF/README +++ /dev/null @@ -1,25 +0,0 @@ -# ISOMIP is a simple TEST_CASE to test the iceshelves in NEMO. -# no input files are needed (all is prescribed in MY_SRC/usr_def routines -# for a reference documentation on the ISOMIP test case, see experiement 1 on http://efdl.cims.nyu.edu/project_oisi/isomip/experiments/phase_I/idealized_numerical_models_5.pdf - -# default namelist is setup for a 30y run on 32 processors with the minimum output using XIOS in attached mode with single file output - -# How to build moc.nc and psi.nc - - Download or clone the CDFTOOLS (see https://github.com/meom-group/CDFTOOLS) - - Compile all the tools (or at least cdfpsi and cdfmoc) on your cluster (see https://github.com/meom-group/CDFTOOLS#using-cdftools) - - if mesh_mask.nc is splitted, you need to rebuild them using the rebuild NEMO tools (see in NEMOGCM/TOOLS) or run 1 (or more) time step on a single processor (nn_itend variable in the namelist). - - set the correct link: ln -s mesh_mask.nc mask.nc ; ln -s mesh_mask.nc mesh_hgr.nc ; ln -s mesh_mask.nc mesh_zgr.nc - - run the cdftools : - - cdfmoc ISOMIP_1m_00010101_00301231_grid_V.nc => moc.nc - - cdfpsi ISOMIP_1m_00010101_00301231_grid_U.nc ISOMIP_1m_00010101_00301231_grid_V.nc => psi.nc - -# How to plt moc/psi and melt (python with netcdf and matplotlib library requiried): - - psi.png => python2.7 plot_psi.py -f psi.nc -v sobarstf - - moc.png => python2.7 plot_moc.py -f moc.nc -v zomsfglo - - mlt.png => python2.7 plot_mlt.py -f ISOMIP_1m_00010101_00301231_grid_T.nc -v sowflisf -by default the last time frame is plotted. - -# location the expected circulation and melt plot after 30y of run: - - ISOMIP/EXP00/ISOMIP_psi.png - - ISOMIP/EXP00/ISOMIP_moc.png - - ISOMIP/EXP00/ISOMIP_mlt.png diff --git a/tests/ISOMIP/EXPREF/axis_def_nemo.xml b/tests/ISOMIP/EXPREF/axis_def_nemo.xml deleted file mode 120000 index 6117f35ba..000000000 --- a/tests/ISOMIP/EXPREF/axis_def_nemo.xml +++ /dev/null @@ -1 +0,0 @@ -../../../cfgs/SHARED/axis_def_nemo.xml \ No newline at end of file diff --git a/tests/ISOMIP/EXPREF/context_nemo.xml b/tests/ISOMIP/EXPREF/context_nemo.xml deleted file mode 100644 index c7598d423..000000000 --- a/tests/ISOMIP/EXPREF/context_nemo.xml +++ /dev/null @@ -1,37 +0,0 @@ -<!-- - ============================================================================================== - NEMO context -============================================================================================== ---> -<context id="nemo"> - <!-- $id$ --> - <variable_definition> - <!-- Year/Month/Day of time origin for NetCDF files; defaults to 1800-01-01 --> - <variable id="ref_year" type="int"> 1900 </variable> - <variable id="ref_month" type="int"> 01 </variable> - <variable id="ref_day" type="int"> 01 </variable> - <variable id="rho0" type="float" > 1026.0 </variable> - <variable id="cpocean" type="float" > 3991.86795711963 </variable> - <variable id="convSpsu" type="float" > 0.99530670233846 </variable> - <variable id="rhoic" type="float" > 917.0 </variable> - <variable id="rhosn" type="float" > 330.0 </variable> - <variable id="missval" type="float" > 1.e20 </variable> - </variable_definition> - -<!-- Fields definition --> - <field_definition src="./field_def_nemo-oce.xml"/> <!-- NEMO ocean dynamics --> - -<!-- Files definition --> - <file_definition src="./file_def_nemo-oce.xml"/> <!-- NEMO ocean dynamics --> - -<!-- Axis definition --> - <axis_definition src="./axis_def_nemo.xml"/> - -<!-- Domain definition --> - <domain_definition src="./domain_def_nemo.xml"/> - -<!-- Grids definition --> - <grid_definition src="./grid_def_nemo.xml"/> - - -</context> diff --git a/tests/ISOMIP/EXPREF/domain_def_nemo.xml b/tests/ISOMIP/EXPREF/domain_def_nemo.xml deleted file mode 120000 index f344125af..000000000 --- a/tests/ISOMIP/EXPREF/domain_def_nemo.xml +++ /dev/null @@ -1 +0,0 @@ -../../../cfgs/SHARED/domain_def_nemo.xml \ No newline at end of file diff --git a/tests/ISOMIP/EXPREF/field_def_nemo-oce.xml b/tests/ISOMIP/EXPREF/field_def_nemo-oce.xml deleted file mode 120000 index ff9706813..000000000 --- a/tests/ISOMIP/EXPREF/field_def_nemo-oce.xml +++ /dev/null @@ -1 +0,0 @@ -../../../cfgs/SHARED/field_def_nemo-oce.xml \ No newline at end of file diff --git a/tests/ISOMIP/EXPREF/file_def_nemo-oce.xml b/tests/ISOMIP/EXPREF/file_def_nemo-oce.xml deleted file mode 100644 index 77300b426..000000000 --- a/tests/ISOMIP/EXPREF/file_def_nemo-oce.xml +++ /dev/null @@ -1,50 +0,0 @@ -<?xml version="1.0"?> - <!-- -============================================================================================================ -= output files definition = -= Define your own files = -= put the variables you want... = -============================================================================================================ - --> - - <file_definition type="one_file" name="@expname@_@freq@_@startdate@_@enddate@" sync_freq="1d" min_digits="4"> - - <file_group id="1ts" output_freq="1ts" output_level="10" enabled=".TRUE."/> <!-- 1 time step files --> - <file_group id="1h" output_freq="1h" output_level="10" enabled=".TRUE."/> <!-- 1h files --> - <file_group id="2h" output_freq="2h" output_level="10" enabled=".TRUE."/> <!-- 2h files --> - <file_group id="3h" output_freq="3h" output_level="10" enabled=".TRUE."/> <!-- 3h files --> - <file_group id="4h" output_freq="4h" output_level="10" enabled=".TRUE."/> <!-- 4h files --> - <file_group id="6h" output_freq="6h" output_level="10" enabled=".TRUE."/> <!-- 6h files --> - - <file_group id="1d" output_freq="1d" output_level="10" enabled=".TRUE."/> <!-- 1d files --> - <file_group id="3d" output_freq="3d" output_level="10" enabled=".TRUE."/> <!-- 3d files --> - <file_group id="5d" output_freq="5d" output_level="10" enabled=".TRUE."> <!-- 5d files --> - - <file_group id="1m" output_freq="1mo" output_level="10" enabled=".TRUE."/> <!-- real monthly files --> - <file id="file1" output_freq="1mo" name_suffix="_grid_T" description="ocean T grid variables" > - <field field_ref="toce" name="votemper" /> - <field field_ref="soce" name="vosaline" /> - <field field_ref="ssh" name="sossheig" /> - <!-- variable for ice shelf --> - <field field_ref="fwfisf_cav" name="sowflisf" /> - <field field_ref="isfgammat" name="sogammat" /> - <field field_ref="isfgammas" name="sogammas" /> - </file> - <file id="file2" output_freq="1mo" name_suffix="_grid_U" description="ocean U grid variables" > - <field field_ref="uoce" name="vozocrtx" /> - </file> - <file id="file3" output_freq="1mo" name_suffix="_grid_V" description="ocean V grid variables" > - <field field_ref="voce" name="vomecrty" /> - </file> - </file_group> - <file_group id="2m" output_freq="2mo" output_level="10" enabled=".TRUE."/> <!-- real 2m files --> - <file_group id="3m" output_freq="3mo" output_level="10" enabled=".TRUE."/> <!-- real 3m files --> - <file_group id="4m" output_freq="4mo" output_level="10" enabled=".TRUE."/> <!-- real 4m files --> - <file_group id="6m" output_freq="6mo" output_level="10" enabled=".TRUE."/> <!-- real 6m files --> - <file_group id="1y" output_freq="1y" output_level="10" enabled=".TRUE."/> <!-- real yearly files --> - <file_group id="2y" output_freq="2y" output_level="10" enabled=".TRUE."/> <!-- real 2y files --> - <file_group id="5y" output_freq="5y" output_level="10" enabled=".TRUE."/> <!-- real 5y files --> - <file_group id="10y" output_freq="10y" output_level="10" enabled=".TRUE."/> <!-- real 10y files --> - - </file_definition> - diff --git a/tests/ISOMIP/EXPREF/grid_def_nemo.xml b/tests/ISOMIP/EXPREF/grid_def_nemo.xml deleted file mode 120000 index 1be74edf6..000000000 --- a/tests/ISOMIP/EXPREF/grid_def_nemo.xml +++ /dev/null @@ -1 +0,0 @@ -../../../cfgs/SHARED/grid_def_nemo.xml \ No newline at end of file diff --git a/tests/ISOMIP/EXPREF/iodef.xml b/tests/ISOMIP/EXPREF/iodef.xml deleted file mode 100644 index d4be5c1bd..000000000 --- a/tests/ISOMIP/EXPREF/iodef.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0"?> -<simulation> - -<!-- ============================================================================================ --> -<!-- XIOS context --> -<!-- ============================================================================================ --> - - <context id="xios" > - - <variable_definition> - - <variable id="info_level" type="int">10</variable> - <variable id="using_server" type="bool">false</variable> - <variable id="using_oasis" type="bool">false</variable> - <variable id="oasis_codes_id" type="string" >oceanx</variable> - - </variable_definition> - </context> - -<!-- ============================================================================================ --> -<!-- NEMO CONTEXT add and suppress the components you need --> -<!-- ============================================================================================ --> - - <context id="nemo" src="./context_nemo.xml"/> <!-- NEMO --> - -</simulation> diff --git a/tests/ISOMIP/EXPREF/namelist_cfg b/tests/ISOMIP/EXPREF/namelist_cfg deleted file mode 100644 index 2358fa203..000000000 --- a/tests/ISOMIP/EXPREF/namelist_cfg +++ /dev/null @@ -1,510 +0,0 @@ -!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -!! NEMO/OCE Configuration namelist : overwrite default values defined in SHARED/namelist_ref -!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -!! ISOMIP configuration !! -!!====================================================================== -!! *** Domain & Run management namelists *** !! -!! !! -!! namrun parameters of the run -!! namdom space and time domain -!! namcfg parameters of the configuration (default: user defined GYRE) -!! namwad Wetting and drying (default: OFF) -!! namtsd data: temperature & salinity (default: OFF) -!! namcrs coarsened grid (for outputs and/or TOP) (ln_crs =T) -!! namc1d 1D configuration options (ln_c1d =T) -!! namc1d_dyndmp 1D newtonian damping applied on currents (ln_c1d =T) -!! namc1d_uvd 1D data (currents) (ln_c1d =T) -!!====================================================================== -! -!----------------------------------------------------------------------- -&namrun ! parameters of the run -!----------------------------------------------------------------------- - cn_exp = "ISOMIP" ! experience name - nn_it000 = 1 ! first time step - nn_itend = 525600 ! last time step - nn_leapy = 0 ! Leap year calendar (1) or not (0) - ln_clobber = .true. ! clobber (overwrite) an existing file - nn_istate = 0 ! output the initial state (1) or not (0) - nn_stock = 99999999 ! frequency of creation of a restart file (modulo referenced to 1) - nn_write = 48 ! frequency of write in the output file (modulo referenced to nn_it000) - nn_istate = 0 ! output the initial state (1) or not (0) -/ -!----------------------------------------------------------------------- -&namusr_def ! ISOMIP user defined namelist -!----------------------------------------------------------------------- - ln_zps = .true. ! z-partial-step coordinate - ln_zco = .false. ! z-full-step coordinate - ln_sco = .false. ! s-coordinate - rn_e1deg = 0.3 ! zonal grid-spacing (degrees) - rn_e2deg = 0.1 ! meridional grid-spacing (degrees) - rn_e3 = 30. ! vertical resolution -/ -!----------------------------------------------------------------------- -&namdom ! time and space domain -!----------------------------------------------------------------------- - ln_linssh = .false. ! =T linear free surface ==>> model level are fixed in time - rn_Dt = 1800. ! time step for the dynamics (and tracer if nn_acc=0) -/ -!----------------------------------------------------------------------- -&namcfg ! parameters of the configuration (default: use namusr_def in namelist_cfg) -!----------------------------------------------------------------------- -/ -!----------------------------------------------------------------------- -&namtile ! parameters of the tiling -!----------------------------------------------------------------------- -/ -!----------------------------------------------------------------------- -&namtsd ! Temperature & Salinity Data (init/dmp) (default: OFF) -!----------------------------------------------------------------------- - -/ -!----------------------------------------------------------------------- -&namwad ! Wetting and Drying (WaD) (default: OFF) -!----------------------------------------------------------------------- -/ -!----------------------------------------------------------------------- -&namcrs ! coarsened grid (for outputs and/or TOP) (ln_crs =T) -!----------------------------------------------------------------------- -/ -!----------------------------------------------------------------------- -&namc1d ! 1D configuration options (ln_c1d =T default: PAPA station) -!----------------------------------------------------------------------- -/ -!----------------------------------------------------------------------- -&namc1d_dyndmp ! U & V newtonian damping (ln_c1d =T default: OFF) -!----------------------------------------------------------------------- -/ -!----------------------------------------------------------------------- -&namc1d_uvd ! data: U & V currents (ln_c1d =T default: OFF) -!----------------------------------------------------------------------- - -/ - -!!====================================================================== -!! *** Surface Boundary Condition namelists *** !! -!! !! -!! namsbc surface boundary condition manager (default: NO selection) -!! namsbc_flx flux formulation (ln_flx =T) -!! namsbc_blk Bulk formulae formulation (ln_blk =T) -!! namsbc_cpl CouPLed formulation ("key_oasis3" ) -!! namsbc_sas Stand-Alone Surface module (SAS_SRC only) -!! namsbc_iif Ice-IF: use observed ice cover (nn_ice = 1 ) -!! namtra_qsr penetrative solar radiation (ln_traqsr =T) -!! namsbc_ssr sea surface restoring term (for T and/or S) (ln_ssr =T) -!! namsbc_rnf river runoffs (ln_rnf =T) -!! namsbc_apr Atmospheric Pressure (ln_apr_dyn =T) -!! namsbc_wave external fields from wave model (ln_wave =T) -!! namberg iceberg floats (ln_icebergs=T) -!!====================================================================== -! -!----------------------------------------------------------------------- -&namsbc ! Surface Boundary Condition manager (default: NO selection) -!----------------------------------------------------------------------- - nn_fsbc = 1 ! frequency of SBC module call - ! ! (control sea-ice & iceberg model call) - ln_usr = .true. ! user defined formulation (T => check usrdef_sbc) -/ -!----------------------------------------------------------------------- -&namsbc_flx ! surface boundary condition : flux formulation (ln_flx =T) -!----------------------------------------------------------------------- -/ -!----------------------------------------------------------------------- -&namsbc_blk ! namsbc_blk generic Bulk formula (ln_blk =T) -!----------------------------------------------------------------------- - -/ -!----------------------------------------------------------------------- -&namsbc_cpl ! coupled ocean/atmosphere model ("key_oasis3") -!----------------------------------------------------------------------- - -/ -!----------------------------------------------------------------------- -&namsbc_sas ! Stand-Alone Surface module: ocean data (SAS_SRC only) -!----------------------------------------------------------------------- - -/ -!----------------------------------------------------------------------- -&namsbc_iif ! Ice-IF : use observed ice cover (nn_ice = 1) -!----------------------------------------------------------------------- -/ -!----------------------------------------------------------------------- -&namtra_qsr ! penetrative solar radiation (ln_traqsr =T) -!----------------------------------------------------------------------- - -/ -!----------------------------------------------------------------------- -&namsbc_ssr ! surface boundary condition : sea surface restoring (ln_ssr =T) -!----------------------------------------------------------------------- - -/ -!----------------------------------------------------------------------- -&namsbc_rnf ! runoffs (ln_rnf =T) -!----------------------------------------------------------------------- - -/ -!----------------------------------------------------------------------- -&namsbc_apr ! Atmospheric pressure used as ocean forcing (ln_apr_dyn =T) -!----------------------------------------------------------------------- - -/ -!----------------------------------------------------------------------- -&namisf ! Top boundary layer (ISF) (default: OFF) -!----------------------------------------------------------------------- - ! - ! ---------------- ice shelf load ------------------------------- - ! - ! - ! ---------------- ice shelf melt formulation ------------------------------- - ! - ln_isf = .true. ! activate ice shelf module - cn_isfdir = './' ! directory for all ice shelf input file - ! - ! ---------------- cavities opened ------------------------------- - ! - ln_isfcav_mlt = .true. ! ice shelf melting into the cavity (need ln_isfcav = .true. in domain_cfg.nc) - cn_isfcav_mlt = '2eq' ! ice shelf melting formulation (spe/2eq/3eq/oasis) - ! ! spe = fwfisf is read from a forcing field - ! ! 2eq = ISOMIP like: 2 equations formulation (Hunter et al., 2006) - ! ! 3eq = ISOMIP+ like: 3 equations formulation (Asay-Davis et al., 2015) - ! ! oasis = fwfisf is given by oasis and pattern by file sn_isfcav_fwf - ! ! cn_isfcav_mlt = 2eq or 3eq cases: - cn_gammablk = 'spe' ! scheme to compute gammat/s (spe,ad15,hj99) - ! ! ad15 = velocity dependend Gamma (u* * gammat/s) (Jenkins et al. 2010) - ! ! hj99 = velocity and stability dependent Gamma (Holland et al. 1999) - rn_gammat0 = 1.e-4 ! gammat coefficient used in blk formula - rn_gammas0 = 1.e-4 ! gammas coefficient used in blk formula - ! - rn_htbl = 30. ! thickness of the top boundary layer (Losh et al. 2008) - ! ! 0 => thickness of the tbl = thickness of the first wet cell - ! -/ -!----------------------------------------------------------------------- -&namsbc_wave ! External fields from wave model (ln_wave=T) -!----------------------------------------------------------------------- -/ -!----------------------------------------------------------------------- -&namberg ! iceberg parameters (default: OFF) -!----------------------------------------------------------------------- - -/ - -!!====================================================================== -!! *** Lateral boundary condition *** !! -!! !! -!! namlbc lateral momentum boundary condition (default: NO selection) -!! namagrif agrif nested grid (read by child model only) ("key_agrif") -!! nam_tide Tidal forcing (default: OFF) -!! nambdy Unstructured open boundaries (default: OFF) -!! nambdy_dta Unstructured open boundaries - external data (see nambdy) -!! nambdy_tide tidal forcing at open boundaries (default: OFF) -!!====================================================================== -! -!----------------------------------------------------------------------- -&namlbc ! lateral momentum boundary condition (default: NO selection) -!----------------------------------------------------------------------- - rn_shlat = 0. ! free slip -/ -!----------------------------------------------------------------------- -&namagrif ! AGRIF zoom ("key_agrif") -!----------------------------------------------------------------------- -/ -!----------------------------------------------------------------------- -&nam_tide ! tide parameters (default: OFF) -!----------------------------------------------------------------------- -/ -!----------------------------------------------------------------------- -&nambdy ! unstructured open boundaries (default: OFF) -!----------------------------------------------------------------------- -/ -!----------------------------------------------------------------------- -&nambdy_dta ! open boundaries - external data (see nam_bdy) -!----------------------------------------------------------------------- - -/ -!----------------------------------------------------------------------- -&nambdy_tide ! tidal forcing at open boundaries (default: OFF) -!----------------------------------------------------------------------- -/ - -!!====================================================================== -!! *** Top/Bottom boundary condition *** !! -!! !! -!! namdrg top/bottom drag coefficient (default: NO selection) -!! namdrg_top top friction (ln_drg_OFF=F & ln_isfcav=T) -!! namdrg_bot bottom friction (ln_drg_OFF=F) -!! nambbc bottom temperature boundary condition (default: OFF) -!! nambbl bottom boundary layer scheme (default: OFF) -!!====================================================================== -! -!----------------------------------------------------------------------- -&namdrg ! top/bottom drag coefficient (default: NO selection) -!----------------------------------------------------------------------- - ln_drg_OFF = .false. ! free-slip : Cd = 0 (F => fill namdrg_bot - ln_lin = .false. ! linear drag: Cd = Cd0 Uc0 & namdrg_top) - ln_non_lin = .true. ! non-linear drag: Cd = Cd0 |U| - ln_loglayer = .false. ! logarithmic drag: Cd = vkarmn/log(z/z0) |U| - ! - ln_drgimp = .false. ! implicit top/bottom friction flag -/ -!----------------------------------------------------------------------- -&namdrg_top ! TOP friction (ln_drg_OFF =F & ln_isfcav=T) -!----------------------------------------------------------------------- - rn_Cd0 = 2.5e-3 ! drag coefficient [-] - rn_Uc0 = 0.16 ! ref. velocity [m/s] (linear drag=Cd0*Uc0) - rn_Cdmax = 0.1 ! drag value maximum [-] (logarithmic drag) - rn_ke0 = 0.0e-0 ! background kinetic energy [m2/s2] (non-linear cases) - rn_z0 = 3.0e-3 ! roughness [m] (ln_loglayer=T) - ln_boost = .false. ! =T regional boost of Cd0 ; =F constant - rn_boost = 50. ! local boost factor [-] -/ -!----------------------------------------------------------------------- -&namdrg_bot ! BOTTOM friction (ln_drg_OFF =F) -!----------------------------------------------------------------------- - rn_Cd0 = 1.e-3 ! drag coefficient [-] - rn_Uc0 = 0.4 ! ref. velocity [m/s] (linear drag=Cd0*Uc0) - rn_Cdmax = 0.1 ! drag value maximum [-] (logarithmic drag) - rn_ke0 = 2.5e-3 ! background kinetic energy [m2/s2] (non-linear cases) - rn_z0 = 3.e-3 ! roughness [m] (ln_loglayer=T) - ln_boost = .false. ! =T regional boost of Cd0 ; =F constant - rn_boost = 50. ! local boost factor [-] -/ -!----------------------------------------------------------------------- -&nambbc ! bottom temperature boundary condition (default: OFF) -!----------------------------------------------------------------------- - -/ -!----------------------------------------------------------------------- -&nambbl ! bottom boundary layer scheme (default: OFF) -!----------------------------------------------------------------------- -/ - -!!====================================================================== -!! Tracer (T-S) namelists !! -!! !! -!! nameos equation of state (default: NO selection) -!! namtra_adv advection scheme (default: NO selection) -!! namtra_ldf lateral diffusion scheme (default: NO selection) -!! namtra_mle mixed layer eddy param. (Fox-Kemper param.) (default: OFF) -!! namtra_eiv eddy induced velocity param. (default: OFF) -!! namtra_dmp T & S newtonian damping (default: OFF) -!!====================================================================== -! -!----------------------------------------------------------------------- -&nameos ! ocean Equation Of Seawater (default: NO selection) -!----------------------------------------------------------------------- - ln_eos80 = .true. ! = Use EOS80 equation of state -/ -!----------------------------------------------------------------------- -&namtra_adv ! advection scheme for tracer (default: NO selection) -!----------------------------------------------------------------------- - ln_traadv_fct = .true. ! FCT scheme - nn_fct_h = 2 ! =2/4, horizontal 2nd / 4th order - nn_fct_v = 2 ! =2/4, vertical 2nd / COMPACT 4th order -/ -!----------------------------------------------------------------------- -&namtra_ldf ! lateral diffusion scheme for tracers (default: NO selection) -!----------------------------------------------------------------------- - ln_traldf_lap = .true. ! laplacian operator - ln_traldf_hor = .true. ! horizontal (geopotential) - ! ! Coefficients: - nn_aht_ijk_t = 0 ! = 0 constant = 1/2 Ud*Ld (lap case) - rn_Ud = 0.02 ! lateral diffusive velocity [m/s] - rn_Ld = 10.e+3 ! lateral diffusive length [m] -/ -!----------------------------------------------------------------------- -&namtra_mle ! mixed layer eddy parametrisation (Fox-Kemper) (default: OFF) -!----------------------------------------------------------------------- -/ -!----------------------------------------------------------------------- -&namtra_eiv ! eddy induced velocity param. (default: OFF) -!----------------------------------------------------------------------- -/ -!----------------------------------------------------------------------- -&namtra_dmp ! tracer: T & S newtonian damping (default: OFF) -!----------------------------------------------------------------------- -/ - -!!====================================================================== -!! *** Dynamics namelists *** !! -!! !! -!! nam_vvl vertical coordinate options (default: z-star) -!! namdyn_adv formulation of the momentum advection (default: NO selection) -!! namdyn_vor advection scheme (default: NO selection) -!! namdyn_hpg hydrostatic pressure gradient (default: NO selection) -!! namdyn_spg surface pressure gradient (default: NO selection) -!! namdyn_ldf lateral diffusion scheme (default: NO selection) -!! namdta_dyn offline TOP: dynamics read in files (OFF_SRC only) -!!====================================================================== -! -!----------------------------------------------------------------------- -&nam_vvl ! vertical coordinate options (default: z-star) -!----------------------------------------------------------------------- -/ -!----------------------------------------------------------------------- -&namdyn_adv ! formulation of the momentum advection (default: NO selection) -!----------------------------------------------------------------------- - ln_dynadv_vec = .true. ! vector form (T) or flux form (F) - nn_dynkeg = 0 ! scheme for grad(KE): =0 C2 ; =1 Hollingsworth correction -/ -!----------------------------------------------------------------------- -&namdyn_vor ! Vorticity / Coriolis scheme (default: NO selection) -!----------------------------------------------------------------------- - ln_dynvor_ene = .true. ! energy conserving scheme -/ -!----------------------------------------------------------------------- -&namdyn_hpg ! Hydrostatic pressure gradient option (default: NO selection) -!----------------------------------------------------------------------- - ln_hpg_isf = .true. ! s-coordinate adapted for isf (standard jacobian formulation) -/ -!----------------------------------------------------------------------- -&namdyn_spg ! surface pressure gradient (default: NO selection) -!----------------------------------------------------------------------- - ln_dynspg_ts = .true. ! split-explicit free surface -/ -!----------------------------------------------------------------------- -&namdyn_ldf ! lateral diffusion on momentum (default: NO selection) -!----------------------------------------------------------------------- - ln_dynldf_lap = .true. ! laplacian operator - ln_dynldf_lev = .true. ! iso-level - nn_ahm_ijk_t = 0 ! = 0 constant = 1/2 Uv*Lv (lap case) - rn_Uv = 0.12 ! lateral viscous velocity [m/s] - rn_Lv = 10.e+3 ! lateral viscous length [m] -/ -!----------------------------------------------------------------------- -&namdta_dyn ! offline ocean input files (OFF_SRC only) -!----------------------------------------------------------------------- - -/ - -!!====================================================================== -!! vertical physics namelists !! -!! !! -!! namzdf vertical physics manager (default: NO selection) -!! namzdf_ric richardson number vertical mixing (ln_zdfric=T) -!! namzdf_tke TKE vertical mixing (ln_zdftke=T) -!! namzdf_gls GLS vertical mixing (ln_zdfgls=T) -!! namzdf_osm OSM vertical diffusion (ln_zdfosm=T) -!! namzdf_iwm tidal mixing parameterization (ln_zdfiwm=T) -!!====================================================================== -! -!----------------------------------------------------------------------- -&namzdf ! vertical physics manager (default: NO selection) -!----------------------------------------------------------------------- - ! ! type of vertical closure (required) - ln_zdfcst = .true. ! constant mixing - ! - ! ! convection - ln_zdfevd = .true. ! enhanced vertical diffusion - rn_evd = 0.1 ! mixing coefficient [m2/s] - ! - ! ! coefficients - rn_avm0 = 1.e-3 ! vertical eddy viscosity [m2/s] (background Kz if ln_zdfcst) - rn_avt0 = 5.e-5 ! vertical eddy diffusivity [m2/s] (background Kz if ln_zdfcst) -/ -!----------------------------------------------------------------------- -&namzdf_ric ! richardson number dependent vertical diffusion (ln_zdfric =T) -!----------------------------------------------------------------------- -/ -!----------------------------------------------------------------------- -&namzdf_tke ! turbulent eddy kinetic dependent vertical diffusion (ln_zdftke =T) -!----------------------------------------------------------------------- -/ -!----------------------------------------------------------------------- -&namzdf_gls ! GLS vertical diffusion (ln_zdfgls =T) -!----------------------------------------------------------------------- -/ -!----------------------------------------------------------------------- -&namzdf_osm ! OSM vertical diffusion (ln_zdfosm =T) -!----------------------------------------------------------------------- -/ -!----------------------------------------------------------------------- -&namzdf_iwm ! internal wave-driven mixing parameterization (ln_zdfiwm =T) -!----------------------------------------------------------------------- -/ - -!!====================================================================== -!! *** Diagnostics namelists *** !! -!! !! -!! namtrd dynamics and/or tracer trends (default: OFF) -!! namhsb Heat and salt budgets (default: OFF) -!! namdiu Cool skin and warm layer models (default: OFF) -!! namdiu Cool skin and warm layer models (default: OFF) -!! namflo float parameters (default: OFF) -!! nam_diadct transports through some sections (default: OFF) -!! nam_dia25h 25h Mean Output (default: OFF) -!! namnc4 netcdf4 chunking and compression settings ("key_netcdf4") -!!====================================================================== -! -!----------------------------------------------------------------------- -&namtrd ! trend diagnostics (default: OFF) -!----------------------------------------------------------------------- -/ -!----------------------------------------------------------------------- -&namhsb ! Heat and salt budgets (default: OFF) -!----------------------------------------------------------------------- -/ -!----------------------------------------------------------------------- -&namdiu ! Cool skin and warm layer models (default: OFF) -!----------------------------------------------------------------------- -/ -!----------------------------------------------------------------------- -&namflo ! float parameters ("key_float") -!----------------------------------------------------------------------- -/ -!----------------------------------------------------------------------- -&nam_diaharm ! Harmonic analysis of tidal constituents ("key_diaharm") -!----------------------------------------------------------------------- -/ -!----------------------------------------------------------------------- -&namdct ! transports through some sections ("key_diadct") -!----------------------------------------------------------------------- -/ -!----------------------------------------------------------------------- -&nam_diatmb ! Top Middle Bottom Output (default: OFF) -!----------------------------------------------------------------------- -/ -!----------------------------------------------------------------------- -&nam_dia25h ! 25h Mean Output (default: OFF) -!----------------------------------------------------------------------- -/ -!----------------------------------------------------------------------- -&namnc4 ! netcdf4 chunking and compression settings ("key_netcdf4") -!----------------------------------------------------------------------- -/ - -!!====================================================================== -!! *** Observation & Assimilation *** !! -!! !! -!! namobs observation and model comparison (default: OFF) -!! nam_asminc assimilation increments ('key_asminc') -!!====================================================================== -! -!----------------------------------------------------------------------- -&namobs ! observation usage switch (default: OFF) -!----------------------------------------------------------------------- -/ -!----------------------------------------------------------------------- -&nam_asminc ! assimilation increments ('key_asminc') -!----------------------------------------------------------------------- -/ - -!!====================================================================== -!! *** Miscellaneous namelists *** !! -!! !! -!! nammpp Massively Parallel Processing -!! namctl Control prints (default: OFF) -!! namsto Stochastic parametrization of EOS (default: OFF) -!!====================================================================== -! -!----------------------------------------------------------------------- -&nammpp ! Massively Parallel Processing -!----------------------------------------------------------------------- -/ -!----------------------------------------------------------------------- -&namctl ! Control prints (default: OFF) -!----------------------------------------------------------------------- -/ -!----------------------------------------------------------------------- -&namsto ! Stochastic parametrization of EOS (default: OFF) -!----------------------------------------------------------------------- -/ diff --git a/tests/ISOMIP/EXPREF/namelist_ref b/tests/ISOMIP/EXPREF/namelist_ref deleted file mode 120000 index 976828637..000000000 --- a/tests/ISOMIP/EXPREF/namelist_ref +++ /dev/null @@ -1 +0,0 @@ -../../../cfgs/SHARED/namelist_ref \ No newline at end of file diff --git a/tests/ISOMIP/EXPREF/plot_mlt.py b/tests/ISOMIP/EXPREF/plot_mlt.py deleted file mode 100644 index edb9e04af..000000000 --- a/tests/ISOMIP/EXPREF/plot_mlt.py +++ /dev/null @@ -1,47 +0,0 @@ -from netCDF4 import Dataset -import numpy as np -from numpy import ma -import argparse -import matplotlib.pyplot as plt -import matplotlib - -parser = argparse.ArgumentParser() -parser.add_argument("-f" , metavar='file_name' , help="names of input files" , type=str , nargs="+", required=True ) -parser.add_argument("-v" , metavar='var_name' , help="variable list" , type=str , nargs=1 , required=True ) -args = parser.parse_args() - -# read mesh_mask -ncid = Dataset('mesh_mask.nc') -lat2d = ncid.variables['gphit' ][ :,:].squeeze() -lon2d = ncid.variables['glamt' ][ :,:].squeeze() -msk = ncid.variables['tmaskutil'][0,:,:].squeeze() -ncid.close() - -plt.figure(figsize=np.array([210,210]) / 25.4) - -# read psi.nc -ncid = Dataset(args.f[0]) -var2d = ncid.variables[args.v[0]][-1,:,:].squeeze() -var2dm = ma.masked_where(msk==0.0,var2d) -# convert in m/y -var2dm = var2dm * 86400 * 365 / 1e3 -ncid.close() - -# define colorbar -vlevel=np.arange(-1.6,1.8,0.2) -pcol = plt.contourf(lon2d,lat2d,var2dm,levels=vlevel,extend='both') -vlevel=np.arange(-1.6,1.8,0.4) -matplotlib.rcParams['contour.negative_linestyle'] = 'solid' -plt.contour(lon2d,lat2d,var2dm,levels=vlevel,colors='k') -plt.grid() -plt.title('melt rate ISOMIP (m/y)') -plt.ylabel('Latitude',fontsize=14) -plt.xlabel('Longitude',fontsize=14) -cbar = plt.colorbar(pcol, ticks=vlevel) -cbar.ax.tick_params(labelsize=14) - -# save figure -plt.savefig('mlt.png', format='png', dpi=300) - -plt.show() - diff --git a/tests/ISOMIP/EXPREF/plot_moc.py b/tests/ISOMIP/EXPREF/plot_moc.py deleted file mode 100644 index f8fc48e81..000000000 --- a/tests/ISOMIP/EXPREF/plot_moc.py +++ /dev/null @@ -1,60 +0,0 @@ -from netCDF4 import Dataset -import numpy as np -import argparse -import matplotlib.pyplot as plt - -# read argument -parser = argparse.ArgumentParser() -parser.add_argument("-f" , metavar='file_name' , help="names of input files" , type=str , nargs=1 , required=True ) -parser.add_argument("-v" , metavar='var_name' , help="variable list" , type=str , nargs=1 , required=True ) -args = parser.parse_args() - -# read mesh mask -ncid = Dataset('mesh_mask.nc') -vx2d = ncid.variables['gphit' ][0,:,0].squeeze() -vx2dv = ncid.variables['gphiv' ][0,:,0].squeeze() -y2d = ncid.variables['gdepw_0'][0,:,:,1].squeeze()*-1 -y2dt = ncid.variables['gdept_0'][0,:,:,1].squeeze()*-1 -msk = ncid.variables['tmask' ][0,:,:,1].squeeze() -ncid.close() - -# build x 2d array -x2d=y2d*0.0 -x2dv=y2d*0.0 -for jk in range(0,y2d.shape[0]): - x2d[jk,:]=vx2d[:] - x2dv[jk,:]=vx2d[:] - -plt.figure(figsize=np.array([210,210]) / 25.4) - -# read data and mask it -ncid = Dataset(args.f[0]) -var2d = ncid.variables[args.v[0]][-1,:,:,:].squeeze() -var2dm = var2d[:,:] -var2dm[msk==0] = -1 -ncid.close() - -# define colorbar -vlevel=np.arange(0,0.13,0.01) -pcol = plt.contourf(x2d,y2d,var2dm,levels=vlevel) -plt.clf() - -# plot contour -ax = plt.subplot(1, 1, 1) -ax.contour(x2dv,y2dt,var2dm,levels=vlevel) -ax.grid() -ax.set_title('MOC ISOMIP (Sv)') -ax.set_ylabel('Depth (m)',fontsize=14) -ax.set_xlabel('Latitude',fontsize=14) - -# plot colorbar -plt.subplots_adjust(left=0.1,right=0.89, bottom=0.1, top=0.89, wspace=0.1, hspace=0.1) -cax = plt.axes([0.91, 0.1, 0.02, 0.79]) -cbar= plt.colorbar(pcol, ticks=vlevel, cax=cax) -cbar.ax.tick_params(labelsize=14) - -# save figure -plt.savefig('moc.png', format='png', dpi=300) - -plt.show() - diff --git a/tests/ISOMIP/EXPREF/plot_psi.py b/tests/ISOMIP/EXPREF/plot_psi.py deleted file mode 100644 index 16b615fda..000000000 --- a/tests/ISOMIP/EXPREF/plot_psi.py +++ /dev/null @@ -1,52 +0,0 @@ -from netCDF4 import Dataset -import numpy as np -from numpy import ma -import argparse -import matplotlib.pyplot as plt - -parser = argparse.ArgumentParser() -parser.add_argument("-f" , metavar='file_name' , help="names of input files" , type=str , nargs="+", required=True ) -parser.add_argument("-v" , metavar='var_name' , help="variable list" , type=str , nargs=1 , required=True ) -args = parser.parse_args() - -# read mesh_mask -ncid = Dataset('mesh_mask.nc') -lat2d = ncid.variables['gphit' ][ :,:].squeeze() -lon2d = ncid.variables['glamt' ][ :,:].squeeze() -msk = ncid.variables['tmaskutil'][0,:,:].squeeze() -ncid.close() - -plt.figure(figsize=np.array([210,210]) / 25.4) - -# read psi.nc -ncid = Dataset(args.f[0]) -var2d = ncid.variables[args.v[0]][-1,:,:].squeeze() -var2dm = ma.masked_where(msk==0.0,var2d) -# convert in Sv -var2dm = var2dm / 1e6 -ncid.close() - -# define colorbar -vlevel=np.arange(0.00,0.36,0.02) -pcol = plt.contourf(lon2d,lat2d,var2dm,levels=vlevel) -plt.clf() - -# plot contour -ax = plt.subplot(1, 1, 1) -ax.contour(lon2d,lat2d,var2dm,levels=vlevel) -ax.grid() -ax.set_title('PSI ISOMIP (Sv)') -ax.set_ylabel('Latitude',fontsize=14) -ax.set_xlabel('Longitude',fontsize=14) - -# plot colorbar -plt.subplots_adjust(left=0.1,right=0.89, bottom=0.1, top=0.89, wspace=0.1, hspace=0.1) -cax = plt.axes([0.91, 0.1, 0.02, 0.79]) -cbar= plt.colorbar(pcol, ticks=vlevel, cax=cax) -cbar.ax.tick_params(labelsize=14) - -# save figure -plt.savefig('psi.png', format='png', dpi=300) - -plt.show() - diff --git a/tests/ISOMIP/MY_SRC/usrdef_hgr.F90 b/tests/ISOMIP/MY_SRC/usrdef_hgr.F90 deleted file mode 100644 index bda6366cb..000000000 --- a/tests/ISOMIP/MY_SRC/usrdef_hgr.F90 +++ /dev/null @@ -1,119 +0,0 @@ -MODULE usrdef_hgr - !!====================================================================== - !! *** MODULE usrdef_hgr *** - !! - !! === LOCK_EXCHANGE configuration === - !! - !! User defined : mesh and Coriolis parameter of a user configuration - !!====================================================================== - !! History : NEMO ! 2016-08 (S. Flavoni, G. Madec) Original code - !! ! 2017-02 (P. Mathiot, S. Flavoni) Adapt code to ISOMIP case - !!---------------------------------------------------------------------- - - !!---------------------------------------------------------------------- - !! usr_def_hgr : initialize the horizontal mesh for ISOMIP configuration - !!---------------------------------------------------------------------- - USE dom_oce - USE par_oce ! ocean space and time domain - USE phycst ! physical constants - USE usrdef_nam, ONLY: rn_e1deg, rn_e2deg ! horizontal resolution in meters - ! - USE in_out_manager ! I/O manager - USE lib_mpp ! MPP library - - IMPLICIT NONE - PRIVATE - - PUBLIC usr_def_hgr ! called by domhgr.F90 - - !! * Substitutions -# include "do_loop_substitute.h90" - !!---------------------------------------------------------------------- - !! NEMO/OCE 4.0 , NEMO Consortium (2018) - !! $Id: usrdef_hgr.F90 14223 2020-12-19 10:22:45Z smasson $ - !! Software governed by the CeCILL license (see ./LICENSE) - !!---------------------------------------------------------------------- -CONTAINS - - SUBROUTINE usr_def_hgr( plamt , plamu , plamv , plamf , & ! geographic position (required) - & pphit , pphiu , pphiv , pphif , & ! - & kff , pff_f , pff_t , & ! Coriolis parameter (if domain not on the sphere) - & pe1t , pe1u , pe1v , pe1f , & ! scale factors (required) - & pe2t , pe2u , pe2v , pe2f , & ! - & ke1e2u_v , pe1e2u , pe1e2v ) ! u- & v-surfaces (if gridsize reduction is used in strait(s)) - !!---------------------------------------------------------------------- - !! *** ROUTINE usr_def_hgr *** - !! - !! ** Purpose : user defined mesh and Coriolis parameter - !! - !! ** Method : set all intent(out) argument to a proper value - !! ISOMIP configuration - !! - !! ** Action : - define longitude & latitude of t-, u-, v- and f-points (in degrees) - !! - define i- & j-scale factors at t-, u-, v- and f-points (in meters) - !! - define u- & v-surfaces (in m2) - !!---------------------------------------------------------------------- - REAL(wp), DIMENSION(:,:), INTENT(out) :: plamt, plamu, plamv, plamf ! longitude outputs [degrees] - REAL(wp), DIMENSION(:,:), INTENT(out) :: pphit, pphiu, pphiv, pphif ! latitude outputs [degrees] - INTEGER , INTENT(out) :: kff ! =1 Coriolis parameter computed here, =0 otherwise - REAL(wp), DIMENSION(:,:), INTENT(out) :: pff_f, pff_t ! Coriolis factor at f-point [1/s] - REAL(wp), DIMENSION(:,:), INTENT(out) :: pe1t, pe1u, pe1v, pe1f ! i-scale factors [m] - REAL(wp), DIMENSION(:,:), INTENT(out) :: pe2t, pe2u, pe2v, pe2f ! j-scale factors [m] - INTEGER , INTENT(out) :: ke1e2u_v ! =1 u- & v-surfaces computed here, =0 otherwise - REAL(wp), DIMENSION(:,:), INTENT(out) :: pe1e2u, pe1e2v ! u- & v-surfaces (if reduction in strait) [m2] - ! - INTEGER :: ji, jj ! dummy loop indices - REAL(wp) :: zfact, zti, zui, zvi, zfi, ztj, zuj, zvj, zfj ! local scalars - !!------------------------------------------------------------------------------- - ! - IF(lwp) THEN - WRITE(numout,*) - WRITE(numout,*) 'usr_def_hgr : ISOMIP configuration' - WRITE(numout,*) '~~~~~~~~~~~' - WRITE(numout,*) - WRITE(numout,*) ' ===>> geographical mesh on the sphere with regular grid-spacing' - WRITE(numout,*) ' given by rn_e1deg and rn_e2deg' - ENDIF - ! - ! !== grid point position ==! (in degrees) - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) - ! ! longitude (west coast at lon=0°) - plamt(ji,jj) = rn_e1deg * ( - 0.5 + REAL( mig(ji,0)-1 , wp ) ) - plamu(ji,jj) = rn_e1deg * ( REAL( mig(ji,0)-1 , wp ) ) - plamv(ji,jj) = plamt(ji,jj) - plamf(ji,jj) = plamu(ji,jj) - ! ! latitude (south coast at lat=-80°) - pphit(ji,jj) = rn_e2deg * ( - 0.5 + REAL( mjg(jj,0)-1 , wp ) ) - 80._wp - pphiu(ji,jj) = pphit(ji,jj) - pphiv(ji,jj) = rn_e2deg * ( REAL( mjg(jj,0)-1 , wp ) ) - 80._wp - pphif(ji,jj) = pphiv(ji,jj) - END_2D - ! - ! !== Horizontal scale factors ==! (in meters) - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) - ! ! e1 (zonal) - pe1t(ji,jj) = ra * rad * COS( rad * pphit(ji,jj) ) * rn_e1deg - pe1u(ji,jj) = ra * rad * COS( rad * pphiu(ji,jj) ) * rn_e1deg - pe1v(ji,jj) = ra * rad * COS( rad * pphiv(ji,jj) ) * rn_e1deg - pe1f(ji,jj) = ra * rad * COS( rad * pphif(ji,jj) ) * rn_e1deg - ! ! e2 (meridional) - pe2t(ji,jj) = ra * rad * rn_e2deg - pe2u(ji,jj) = ra * rad * rn_e2deg - pe2v(ji,jj) = ra * rad * rn_e2deg - pe2f(ji,jj) = ra * rad * rn_e2deg - END_2D - ! ! NO reduction of grid size in some straits - ke1e2u_v = 0 ! ==>> u_ & v_surfaces will be computed in dom_ghr routine - pe1e2u(:,:) = 0._wp ! CAUTION: set to zero to avoid error with some compilers that - pe1e2v(:,:) = 0._wp ! require an initialization of INTENT(out) arguments - ! - ! - ! !== Coriolis parameter ==! - kff = 0 ! Coriolis parameter calculated on the sphere - pff_f(:,:) = 0._wp ! CAUTION: set to zero to avoid error with some compilers that - pff_t(:,:) = 0._wp ! require an initialization of INTENT(out) arguments - ! - END SUBROUTINE usr_def_hgr - - !!====================================================================== -END MODULE usrdef_hgr diff --git a/tests/ISOMIP/MY_SRC/usrdef_istate.F90 b/tests/ISOMIP/MY_SRC/usrdef_istate.F90 deleted file mode 100644 index 42cf30fd2..000000000 --- a/tests/ISOMIP/MY_SRC/usrdef_istate.F90 +++ /dev/null @@ -1,87 +0,0 @@ -MODULE usrdef_istate - !!====================================================================== - !! *** MODULE usrdef_istate *** - !! - !! === ISOMIP configuration === - !! - !! User defined : set the initial state of a user configuration - !!====================================================================== - !! History : NEMO ! 2016-11 (S. Flavoni) Original code - !! ! 2017-02 (P. Mathiot, S. Flavoni) Adapt code to ISOMIP case - !! ! 2020-11 (S. Techene, G. Madec) separate tsuv from ssh - !!---------------------------------------------------------------------- - - !!---------------------------------------------------------------------- - !! usr_def_istate : initial state in Temperature and salinity - !!---------------------------------------------------------------------- - USE par_oce ! ocean space and time domain - USE dom_oce , ONLY : glamt - USE phycst ! physical constants - ! - USE in_out_manager ! I/O manager - USE lib_mpp ! MPP library - - IMPLICIT NONE - PRIVATE - - PUBLIC usr_def_istate ! called by istate.F90 - PUBLIC usr_def_istate_ssh ! called by domqco.F90 - - !!---------------------------------------------------------------------- - !! NEMO/OCE 4.0 , NEMO Consortium (2018) - !! $Id: usrdef_istate.F90 14053 2020-12-03 13:48:38Z techene $ - !! Software governed by the CeCILL license (see ./LICENSE) - !!---------------------------------------------------------------------- -CONTAINS - - SUBROUTINE usr_def_istate( pdept, ptmask, pts, pu, pv ) - !!---------------------------------------------------------------------- - !! *** ROUTINE usr_def_istate *** - !! - !! ** Purpose : Initialization of the dynamics and tracers - !! Here ISOMIP configuration - !! - !! ** Method : - set temperature field - !! - set salinity field - !!---------------------------------------------------------------------- - REAL(wp), DIMENSION(jpi,jpj,jpk) , INTENT(in ) :: pdept ! depth of t-point [m] - REAL(wp), DIMENSION(jpi,jpj,jpk) , INTENT(in ) :: ptmask ! t-point ocean mask [m] - REAL(wp), DIMENSION(jpi,jpj,jpk,jpts), INTENT( out) :: pts ! T & S fields [Celsius ; g/kg] - REAL(wp), DIMENSION(jpi,jpj,jpk) , INTENT( out) :: pu ! i-component of the velocity [m/s] - REAL(wp), DIMENSION(jpi,jpj,jpk) , INTENT( out) :: pv ! j-component of the velocity [m/s] - !!---------------------------------------------------------------------- - ! - IF(lwp) WRITE(numout,*) - IF(lwp) WRITE(numout,*) 'usr_def_istate : ISOMIP configuration, analytical definition of initial state' - IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~~~ Ocean at rest, with a constant salinity and temperature. ' - pu (:,:,:) = 0._wp ! ocean at rest - pv (:,:,:) = 0._wp - ! ! T & S profiles - pts(:,:,:,jp_tem) = - 1.9 * ptmask(:,:,:) ! ISOMIP configuration : start from constant T+S fields - pts(:,:,:,jp_sal) = 34.4 * ptmask(:,:,:) - ! - END SUBROUTINE usr_def_istate - - - SUBROUTINE usr_def_istate_ssh( ptmask, pssh ) - !!---------------------------------------------------------------------- - !! *** ROUTINE usr_def_istate_ssh *** - !! - !! ** Purpose : Initialization of ssh - !! Here ISOMIP configuration - !! - !! ** Method : set ssh to 0 - !!---------------------------------------------------------------------- - REAL(wp), DIMENSION(jpi,jpj,jpk) , INTENT(in ) :: ptmask ! t-point ocean mask [m] - REAL(wp), DIMENSION(jpi,jpj) , INTENT( out) :: pssh ! sea-surface height [m] - !!---------------------------------------------------------------------- - ! - IF(lwp) WRITE(numout,*) - IF(lwp) WRITE(numout,*) 'usr_def_istate_ssh : ISOMIP configuration, analytical definition of initial state' - ! - pssh(:,:) = 0._wp - ! - END SUBROUTINE usr_def_istate_ssh - - !!====================================================================== -END MODULE usrdef_istate diff --git a/tests/ISOMIP/MY_SRC/usrdef_nam.F90 b/tests/ISOMIP/MY_SRC/usrdef_nam.F90 deleted file mode 100644 index b10630838..000000000 --- a/tests/ISOMIP/MY_SRC/usrdef_nam.F90 +++ /dev/null @@ -1,108 +0,0 @@ -MODULE usrdef_nam - !!====================================================================== - !! *** MODULE usrdef_nam *** - !! - !! === ISOMIP configuration === - !! - !! User defined : set the domain characteristics of a user configuration - !!====================================================================== - !! History : NEMO ! 2016-03 (S. Flavoni, G. Madec) Original code - !! ! 2017-02 (P. Mathiot, S. Flavoni) Adapt code to ISOMIP case - !!---------------------------------------------------------------------- - - !!---------------------------------------------------------------------- - !! usr_def_nam : read user defined namelist and set global domain size - !! usr_def_hgr : initialize the horizontal mesh - !!---------------------------------------------------------------------- - USE dom_oce , ONLY: ln_zco, ln_zps, ln_sco ! flag of type of coordinate - USE par_oce ! ocean space and time domain - USE phycst ! physical constants - ! - USE in_out_manager ! I/O manager - USE lib_mpp ! MPP library - USE timing ! Timing - - IMPLICIT NONE - PRIVATE - - PUBLIC usr_def_nam ! called by nemogcm.F90 - - ! !!* namusr_def namelist *!! - REAL(wp), PUBLIC :: rn_e1deg, rn_e2deg !: horizontal resolution [degrees] - REAL(wp), PUBLIC :: rn_e3 !: vertical resolution [m] - - REAL(wp), PARAMETER, PUBLIC :: rbathy = 900._wp !: depth of the seafloor [m] - - !!---------------------------------------------------------------------- - !! NEMO/OCE 4.0 , NEMO Consortium (2018) - !! $Id: usrdef_nam.F90 14433 2021-02-11 08:06:49Z smasson $ - !! Software governed by the CeCILL license (see ./LICENSE) - !!---------------------------------------------------------------------- -CONTAINS - - SUBROUTINE usr_def_nam( cd_cfg, kk_cfg, kpi, kpj, kpk, ldIperio, ldJperio, ldNFold, cdNFtype ) - !!---------------------------------------------------------------------- - !! *** ROUTINE dom_nam *** - !! - !! ** Purpose : read user defined namelist and define the domain size - !! - !! ** Method : read in namusr_def containing all the user specific namelist parameter - !! - !! Here ISOMIP configuration - !! - !! ** input : - namusr_def namelist found in namelist_cfg - !!---------------------------------------------------------------------- - CHARACTER(len=*), INTENT(out) :: cd_cfg ! configuration name - INTEGER , INTENT(out) :: kk_cfg ! configuration resolution - INTEGER , INTENT(out) :: kpi, kpj, kpk ! global domain sizes - LOGICAL , INTENT(out) :: ldIperio, ldJperio ! i- and j- periodicity - LOGICAL , INTENT(out) :: ldNFold ! North pole folding - CHARACTER(len=1), INTENT(out) :: cdNFtype ! Folding type: T or F - ! - INTEGER :: ios ! Local integer - !! - NAMELIST/namusr_def/ ln_zco, ln_zps, ln_sco, rn_e1deg, rn_e2deg, rn_e3 - !!---------------------------------------------------------------------- - ! - READ ( numnam_cfg, namusr_def, IOSTAT = ios, ERR = 902 ) -902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namusr_def in configuration namelist' ) - ! - IF(lwm) WRITE( numond, namusr_def ) - ! - cd_cfg = 'ISOMIP' ! name & resolution (not used) - kk_cfg = INT( rn_e3 ) - ! - ! Global Domain size: ISOMIP domain is 15° x 10° x 900 m - kpi = INT( 15.0 / rn_e1deg ) + 2 ! add 2 for t-point in the east & west coasts - kpj = INT( 10.0 / rn_e2deg ) + 2 ! - - north & south - - kpk = INT( rbathy / rn_e3 ) + 1 ! add 1 for t-point in the seafloor - ! - ! ! Set the lateral boundary condition of the global domain - ldIperio = .FALSE. ; ldJperio = .FALSE. ! ISOMIP configuration : closed domain - ldNFold = .FALSE. ; cdNFtype = '-' - ! - ! ! control print - IF(lwp) THEN - WRITE(numout,*) ' ' - WRITE(numout,*) 'usr_def_nam : read the user defined namelist (namusr_def) in namelist_cfg' - WRITE(numout,*) '~~~~~~~~~~~ ' - WRITE(numout,*) ' Namelist namusr_def : ISOMIP test case' - WRITE(numout,*) ' type of vertical coordinate : ' - WRITE(numout,*) ' z-coordinate flag ln_zco = ', ln_zco - WRITE(numout,*) ' z-partial-step coordinate flag ln_zps = ', ln_zps - WRITE(numout,*) ' s-coordinate flag ln_sco = ', ln_sco - WRITE(numout,*) ' resolution' - WRITE(numout,*) ' zonal resolution rn_e1deg = ', rn_e1deg, ' degrees' - WRITE(numout,*) ' meridional resolution rn_e1deg = ', rn_e1deg, ' degrees' - WRITE(numout,*) ' vertical resolution rn_e3 = ', rn_e3 , ' meters' - WRITE(numout,*) ' ISOMIP domain = 15° x 10° x 900 m' - WRITE(numout,*) ' resulting global domain size : Ni0glo = ', kpi - WRITE(numout,*) ' Nj0glo = ', kpj - WRITE(numout,*) ' jpkglo = ', kpk - WRITE(numout,*) ' ' - ENDIF - ! - END SUBROUTINE usr_def_nam - - !!====================================================================== -END MODULE usrdef_nam diff --git a/tests/ISOMIP/MY_SRC/usrdef_sbc.F90 b/tests/ISOMIP/MY_SRC/usrdef_sbc.F90 deleted file mode 100644 index b3ff303a8..000000000 --- a/tests/ISOMIP/MY_SRC/usrdef_sbc.F90 +++ /dev/null @@ -1,90 +0,0 @@ -MODULE usrdef_sbc - !!====================================================================== - !! *** MODULE usrdef_sbc *** - !! - !! === ISOMIP configuration === - !! - !! User defined : surface forcing of a user configuration - !!====================================================================== - !! History : 4.0 ! 2016-03 (S. Flavoni, G. Madec) user defined interface - !! ! 2017-02 (P. Mathiot, S. Flavoni) adapt code to ISOMIP case - !!---------------------------------------------------------------------- - - !!---------------------------------------------------------------------- - !! usr_def_sbc : user defined surface bounday conditions in ISOMIP case - !!---------------------------------------------------------------------- - USE oce ! ocean dynamics and tracers - USE dom_oce ! ocean space and time domain - USE sbc_oce ! Surface boundary condition: ocean fields - USE sbc_ice ! Surface boundary condition: ice fields - USE phycst ! physical constants - ! - USE in_out_manager ! I/O manager - USE lib_mpp ! distribued memory computing library - USE lbclnk ! ocean lateral boundary conditions (or mpp link) - USE lib_fortran ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined) - - IMPLICIT NONE - PRIVATE - - PUBLIC usrdef_sbc_oce ! routine called in sbcmod module - PUBLIC usrdef_sbc_ice_tau ! routine called by icestp.F90 for ice dynamics - PUBLIC usrdef_sbc_ice_flx ! routine called by icestp.F90 for ice thermo - - !!---------------------------------------------------------------------- - !! NEMO/OCE 4.0 , NEMO Consortium (2018) - !! $Id: usrdef_sbc.F90 12377 2020-02-12 14:39:06Z acc $ - !! Software governed by the CeCILL license (see ./LICENSE) - !!---------------------------------------------------------------------- -CONTAINS - - SUBROUTINE usrdef_sbc_oce( kt, Kbb ) - !!--------------------------------------------------------------------- - !! *** ROUTINE usr_def_sbc *** - !! - !! ** Purpose : provide at each time-step the surface boundary - !! condition, i.e. the momentum, heat and freshwater fluxes. - !! - !! ** Method : all 0 fields, for ISOMIP case - !! CAUTION : never mask the surface stress field ! - !! - !! ** Action : - set to ZERO all the ocean surface boundary condition, i.e. - !! utau, vtau, taum, wndm, qns, qsr, emp, sfx - !! - !!---------------------------------------------------------------------- - INTEGER, INTENT(in) :: kt ! ocean time step - INTEGER, INTENT(in) :: Kbb ! ocean time index - !!--------------------------------------------------------------------- - ! - IF( kt == nit000 ) THEN - ! - IF(lwp) WRITE(numout,*)' usr_sbc : ISOMIP case: NO surface forcing' - IF(lwp) WRITE(numout,*)' ~~~~~~~~~~~ utau = vtau = taum = wndm = qns = qsr = emp = sfx = 0' - ! - utau(:,:) = 0._wp - vtau(:,:) = 0._wp - taum(:,:) = 0._wp - wndm(:,:) = 0._wp - ! - emp (:,:) = 0._wp - sfx (:,:) = 0._wp - qns (:,:) = 0._wp - qsr (:,:) = 0._wp - ! - ENDIF - ! - END SUBROUTINE usrdef_sbc_oce - - SUBROUTINE usrdef_sbc_ice_tau( kt ) - INTEGER, INTENT(in) :: kt ! ocean time step - END SUBROUTINE usrdef_sbc_ice_tau - - - SUBROUTINE usrdef_sbc_ice_flx( kt, phs, phi ) - INTEGER, INTENT(in) :: kt ! ocean time step - REAL(wp), DIMENSION(:,:,:), INTENT(in) :: phs ! snow thickness - REAL(wp), DIMENSION(:,:,:), INTENT(in) :: phi ! ice thickness - END SUBROUTINE usrdef_sbc_ice_flx - - !!====================================================================== -END MODULE usrdef_sbc diff --git a/tests/ISOMIP/MY_SRC/usrdef_zgr.F90 b/tests/ISOMIP/MY_SRC/usrdef_zgr.F90 deleted file mode 100644 index 60e89b6fc..000000000 --- a/tests/ISOMIP/MY_SRC/usrdef_zgr.F90 +++ /dev/null @@ -1,235 +0,0 @@ -MODULE usrdef_zgr - !!====================================================================== - !! *** MODULE usrdef_zgr *** - !! - !! === ISOMIP case === - !! - !! user defined : vertical coordinate system of a user configuration - !!====================================================================== - !! History : 4.0 ! 2016-08 (G. Madec, S. Flavoni) Original code - !! ! 2017-02 (P. Mathiot, S. Flavoni) Adapt code to ISOMIP case - !!---------------------------------------------------------------------- - - !!---------------------------------------------------------------------- - !! usr_def_zgr : user defined vertical coordinate system (required) - !! zgr_z1d : reference 1D z-coordinate - !!--------------------------------------------------------------------- - USE oce ! ocean variables - USE dom_oce ! ocean space and time domain - USE usrdef_nam ! User defined : namelist variables - ! - USE in_out_manager ! I/O manager - USE lbclnk ! ocean lateral boundary conditions (or mpp link) - USE lib_mpp ! distributed memory computing library - USE timing ! Timing - - IMPLICIT NONE - PRIVATE - - PUBLIC usr_def_zgr ! called by domzgr.F90 - - !! * Substitutions -# include "do_loop_substitute.h90" - !!---------------------------------------------------------------------- - !! NEMO/OCE 4.0 , NEMO Consortium (2018) - !! $Id: usrdef_zgr.F90 13295 2020-07-10 18:24:21Z acc $ - !! Software governed by the CeCILL license (see ./LICENSE) - !!---------------------------------------------------------------------- -CONTAINS - - SUBROUTINE usr_def_zgr( ld_zco , ld_zps , ld_sco , ld_isfcav, & ! type of vertical coordinate - & pdept_1d, pdepw_1d, pe3t_1d , pe3w_1d , & ! 1D reference vertical coordinate - & pdept , pdepw , & ! 3D t & w-points depth - & pe3t , pe3u , pe3v , pe3f , & ! vertical scale factors - & pe3w , pe3uw , pe3vw, & ! - - - - & k_top , k_bot ) ! top & bottom ocean level - !!--------------------------------------------------------------------- - !! *** ROUTINE usr_def_zgr *** - !! - !! ** Purpose : User defined the vertical coordinates - !! - !!---------------------------------------------------------------------- - LOGICAL , INTENT(in ) :: ld_zco, ld_zps, ld_sco ! vertical coordinate flags ( read in namusr_def ) - LOGICAL , INTENT( out) :: ld_isfcav ! under iceshelf cavity flag - REAL(wp), DIMENSION(:) , INTENT( out) :: pdept_1d, pdepw_1d ! 1D grid-point depth [m] - REAL(wp), DIMENSION(:) , INTENT( out) :: pe3t_1d , pe3w_1d ! 1D grid-point depth [m] - REAL(wp), DIMENSION(:,:,:), INTENT( out) :: pdept, pdepw ! grid-point depth [m] - REAL(wp), DIMENSION(:,:,:), INTENT( out) :: pe3t , pe3u , pe3v , pe3f ! vertical scale factors [m] - REAL(wp), DIMENSION(:,:,:), INTENT( out) :: pe3w , pe3uw, pe3vw ! i-scale factors - INTEGER , DIMENSION(:,:) , INTENT( out) :: k_top, k_bot ! first & last ocean level - ! - INTEGER :: ji , jj, jk ! dummy indices - INTEGER :: ij0, ij1 ! dummy indices - INTEGER :: ik ! local integers - REAL(wp) :: zfact, z1_jpkm1 ! local scalar - REAL(wp) :: ze3min, zdepth ! local scalar - REAL(wp), DIMENSION(jpi,jpj) :: zht , zhu ! bottom depth - REAL(wp), DIMENSION(jpi,jpj) :: zhisf, zhisfu ! top depth - !!---------------------------------------------------------------------- - ! - IF(lwp) WRITE(numout,*) - IF(lwp) WRITE(numout,*) 'usr_def_zgr : ISOMIP configuration (z(ps)- or s-coordinate closed box ocean without cavities)' - IF(lwp) WRITE(numout,*) '~~~~~~~~~~~' - ! - ! - ! type of vertical coordinate - ! --------------------------- - ! set in usrdef_nam.F90 by reading the namusr_def namelist except for ISF - ld_isfcav = .TRUE. ! ISF Ice Shelves Flag - ! - ! - ! Build the vertical coordinate system - ! ------------------------------------ - ! - ! !== isfdraft ==! - ! - zht (:,:) = rbathy - zhisf(:,:) = 200._wp - ij0 = 1 ; ij1 = 40+nn_hls - DO jj = mj0(ij0,nn_hls), mj1(ij1,nn_hls) - zhisf(:,jj)=700.0_wp-(gphit(:,jj)+80.0_wp)*125.0_wp - END DO - ! - CALL zgr_z1d( pdept_1d, pdepw_1d, pe3t_1d , pe3w_1d ) ! Reference z-coordinate system - ! - ! !== top masked level bathymetry ==! (all coordinates) - ! - IF ( ld_zps ) THEN !== zps-coordinate ==! (partial bottom-steps) - ! - ze3min = 0.1_wp * rn_e3 - IF(lwp) WRITE(numout,*) ' minimum thickness of the partial cells = 10 % of e3 = ', ze3min - ! - ! !* bottom ocean compute from the depth of grid-points - k_bot(:,:) = jpkm1 - DO jk = jpkm1, 1, -1 - WHERE( zht(:,:) < pdepw_1d(jk) + ze3min ) k_bot(:,:) = jk-1 - END DO - ! !* top ocean compute from the depth of grid-points - k_top(:,:) = 1 ! - DO jk = 2, jpkm1 - zdepth = pdepw_1d(jk+1) - ze3min - WHERE( zhisf(:,:) > 0.0 .AND. zhisf(:,:) >= zdepth ) k_top(:,:) = (jk + 1) - END DO - ! - ! !* vertical coordinate system - DO jk = 1, jpk ! initialization to the reference z-coordinate - pdept(:,:,jk) = pdept_1d(jk) - pdepw(:,:,jk) = pdepw_1d(jk) - pe3t (:,:,jk) = pe3t_1d (jk) - pe3u (:,:,jk) = pe3t_1d (jk) - pe3v (:,:,jk) = pe3t_1d (jk) - pe3f (:,:,jk) = pe3t_1d (jk) - pe3w (:,:,jk) = pe3w_1d (jk) - pe3uw(:,:,jk) = pe3w_1d (jk) - pe3vw(:,:,jk) = pe3w_1d (jk) - END DO - ! top scale factors and depth at T- and W-points - DO_2D( 1, 1, 1, 1 ) - ik = k_top(ji,jj) - IF ( ik > 2 ) THEN - ! pdeptw at the interface - pdepw(ji,jj,ik ) = MAX( zhisf(ji,jj) , pdepw(ji,jj,ik) ) - ! e3t in both side of the interface - pe3t (ji,jj,ik ) = pdepw(ji,jj,ik+1) - pdepw(ji,jj,ik) - ! pdept in both side of the interface (from previous e3t) - pdept(ji,jj,ik ) = pdepw(ji,jj,ik ) + pe3t (ji,jj,ik ) * 0.5_wp - pdept(ji,jj,ik-1) = pdepw(ji,jj,ik ) - pe3t (ji,jj,ik ) * 0.5_wp - ! pe3w on both side of the interface - pe3w (ji,jj,ik+1) = pdept(ji,jj,ik+1) - pdept(ji,jj,ik ) - pe3w (ji,jj,ik ) = pdept(ji,jj,ik ) - pdept(ji,jj,ik-1) - ! e3t into the ice shelf - pe3t (ji,jj,ik-1) = pdepw(ji,jj,ik ) - pdepw(ji,jj,ik-1) - pe3w (ji,jj,ik-1) = pdept(ji,jj,ik-1) - pdept(ji,jj,ik-2) - END IF - END_2D - ! bottom scale factors and depth at T- and W-points - DO_2D( 1, 1, 1, 1 ) - ik = k_bot(ji,jj) - pdepw(ji,jj,ik+1) = MIN( zht(ji,jj) , pdepw_1d(ik+1) ) - pe3t (ji,jj,ik ) = pdepw(ji,jj,ik+1) - pdepw(ji,jj,ik) - pe3t (ji,jj,ik+1) = pe3t (ji,jj,ik ) - ! - pdept(ji,jj,ik ) = pdepw(ji,jj,ik ) + pe3t (ji,jj,ik ) * 0.5_wp - pdept(ji,jj,ik+1) = pdepw(ji,jj,ik+1) + pe3t (ji,jj,ik+1) * 0.5_wp - pe3w (ji,jj,ik+1) = pdept(ji,jj,ik+1) - pdept(ji,jj,ik) - END_2D - ! ! bottom scale factors and depth at U-, V-, UW and VW-points - pe3u (:,:,:) = pe3t(:,:,:) - pe3uw(:,:,:) = pe3w(:,:,:) - DO_3D( 0, 0, 0, 0, 1, jpk ) - ! ! Computed as the minimum of neighbooring scale factors - pe3v (ji,jj,jk) = MIN( pe3t(ji,jj,jk), pe3t(ji,jj+1,jk) ) - pe3vw(ji,jj,jk) = MIN( pe3w(ji,jj,jk), pe3w(ji,jj+1,jk) ) - pe3f (ji,jj,jk) = pe3v(ji,jj,jk) - END_3D - CALL lbc_lnk( 'usrdef_zgr', pe3v , 'V', 1._wp ) ; CALL lbc_lnk( 'usrdef_zgr', pe3vw, 'V', 1._wp ) - CALL lbc_lnk( 'usrdef_zgr', pe3f , 'F', 1._wp ) - DO jk = 1, jpk - ! set to z-scale factor if zero (i.e. along closed boundaries) because of lbclnk - WHERE( pe3u (:,:,jk) == 0._wp ) pe3u (:,:,jk) = pe3t_1d(jk) - WHERE( pe3v (:,:,jk) == 0._wp ) pe3v (:,:,jk) = pe3t_1d(jk) - WHERE( pe3f (:,:,jk) == 0._wp ) pe3f (:,:,jk) = pe3t_1d(jk) - WHERE( pe3uw(:,:,jk) == 0._wp ) pe3uw(:,:,jk) = pe3w_1d(jk) - WHERE( pe3vw(:,:,jk) == 0._wp ) pe3vw(:,:,jk) = pe3w_1d(jk) - END DO - ! - ENDIF - ! - END SUBROUTINE usr_def_zgr - - - SUBROUTINE zgr_z1d( pdept_1d, pdepw_1d, pe3t_1d , pe3w_1d ) ! 1D reference vertical coordinate - !!---------------------------------------------------------------------- - !! *** ROUTINE zgr_z1d *** - !! - !! ** Purpose : set the depth of model levels and the resulting - !! vertical scale factors. - !! - !! ** Method : 1D z-coordinate system (use in all type of coordinate) - !! The depth of model levels is set from dep(k), an analytical function: - !! w-level: depw_1d = dep(k) - !! t-level: dept_1d = dep(k+0.5) - !! The scale factors are the discrete derivative of the depth: - !! e3w_1d(jk) = dk[ dept_1d ] - !! e3t_1d(jk) = dk[ depw_1d ] - !! - !! === Here constant vertical resolution === - !! - !! ** Action : - pdept_1d, pdepw_1d : depth of T- and W-point (m) - !! - pe3t_1d , pe3w_1d : scale factors at T- and W-levels (m) - !!---------------------------------------------------------------------- - REAL(wp), DIMENSION(:), INTENT(out) :: pdept_1d, pdepw_1d ! 1D grid-point depth [m] - REAL(wp), DIMENSION(:), INTENT(out) :: pe3t_1d , pe3w_1d ! 1D vertical scale factors [m] - ! - INTEGER :: jk ! dummy loop indices - REAL(wp) :: zt, zw ! local scalar - !!---------------------------------------------------------------------- - ! - IF(lwp) THEN ! Parameter print - WRITE(numout,*) - WRITE(numout,*) ' zgr_z1d : Reference vertical z-coordinates: uniform dz = ', rn_e3 - WRITE(numout,*) ' ~~~~~~~' - ENDIF - ! - ! Reference z-coordinate (depth - scale factor at T- and W-points) ! Madec & Imbard 1996 function - ! ---------------------- - DO jk = 1, jpk - zw = REAL( jk , wp ) - zt = REAL( jk , wp ) + 0.5_wp - pdepw_1d(jk) = rn_e3 * REAL( jk-1 , wp ) - pdept_1d(jk) = rn_e3 * ( REAL( jk-1 , wp ) + 0.5_wp ) - pe3w_1d (jk) = rn_e3 - pe3t_1d (jk) = rn_e3 - END DO - ! - IF(lwp) THEN ! control print - WRITE(numout,*) - WRITE(numout,*) ' Reference 1D z-coordinate depth and scale factors:' - WRITE(numout, "(9x,' level gdept_1d gdepw_1d e3t_1d e3w_1d ')" ) - WRITE(numout, "(10x, i4, 4f9.2)" ) ( jk, pdept_1d(jk), pdepw_1d(jk), pe3t_1d(jk), pe3w_1d(jk), jk = 1, jpk ) - ENDIF - ! - END SUBROUTINE zgr_z1d - - !!====================================================================== -END MODULE usrdef_zgr diff --git a/tests/ISOMIP/cpp_ISOMIP.fcm b/tests/ISOMIP/cpp_ISOMIP.fcm deleted file mode 100644 index 4055ae284..000000000 --- a/tests/ISOMIP/cpp_ISOMIP.fcm +++ /dev/null @@ -1 +0,0 @@ - bld::tool::fppkeys key_xios diff --git a/tests/STATION_ASF/MY_SRC/stpctl.F90 b/tests/STATION_ASF/MY_SRC/stpctl.F90 index fd5a92146..a889111ad 100644 --- a/tests/STATION_ASF/MY_SRC/stpctl.F90 +++ b/tests/STATION_ASF/MY_SRC/stpctl.F90 @@ -74,8 +74,8 @@ CONTAINS IF( nstop > 0 .AND. ngrdstop > -1 ) RETURN ! stpctl was already called by a child grid ! ll_wrtstp = ( MOD( kt-nit000, sn_cfctl%ptimincr ) == 0 ) .OR. ( kt == nitend ) - ll_colruns = ll_wrtstp .AND. sn_cfctl%l_runstat .AND. jpnij > 1 - ll_wrtruns = ( ll_colruns .OR. jpnij == 1 ) .AND. lwm + ll_colruns = sn_cfctl%l_runstat .AND. ll_wrtstp .AND. jpnij > 1 + ll_wrtruns = sn_cfctl%l_runstat .AND. ll_wrtstp .AND. lwm ! IF( kt == nit000 ) THEN ! @@ -121,8 +121,8 @@ CONTAINS ! ll_0oce = .NOT. ANY( llmsk(:,:) ) ! no ocean point in the inner domain? ! - zmax(1) = MAXVAL( taum(:,:) , mask = llmsk ) ! max wind stress module - zmax(2) = MAXVAL( ABS( qns(:,:) ), mask = llmsk ) ! max non-solar heat flux + zmax(1) = MAXVAL( taum(:,:) , mask = llmsk(A2D(0)) ) ! max wind stress module + zmax(2) = MAXVAL( ABS( qns(:,:) ), mask = llmsk(A2D(0)) ) ! max non-solar heat flux zmax(3) = MAXVAL( ABS( emp(:,:) ), mask = llmsk ) ! max E-P zmax(jpvar+1) = REAL( nstop, wp ) ! stop indicator ! diff --git a/tests/SWG/MY_SRC/usrdef_sbc.F90 b/tests/SWG/MY_SRC/usrdef_sbc.F90 index 66ea77ad2..6283b4a57 100644 --- a/tests/SWG/MY_SRC/usrdef_sbc.F90 +++ b/tests/SWG/MY_SRC/usrdef_sbc.F90 @@ -86,6 +86,7 @@ CONTAINS ztauu = REAL( rn_tau, wp ) * COS( rn_theta * rad ) ! N.m-2 ztauv = - REAL( rn_tau, wp ) * SIN( rn_theta * rad ) ! N.m-2 + zcoef = 1. / ( zrhoa * zcdrag ) DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) ! length of the domain : 2000km x 2000km utau(ji,jj) = - ztauu * COS( rpi * gphit(ji,jj) / 2000000._wp) @@ -93,10 +94,9 @@ CONTAINS END_2D ! module of wind stress and wind speed at T-point - zcoef = 1. / ( zrhoa * zcdrag ) - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + DO_2D( 0, 0, 0, 0 ) zmod = SQRT( utau(ji,jj) * utau(ji,jj) + vtau(ji,jj) * vtau(ji,jj) ) - taum(ji,jj) = zmod + taum(ji,jj) = zmod wndm(ji,jj) = SQRT( zmod * zcoef ) END_2D ! diff --git a/tools/MISCELLANEOUS/chk_jijj_in_doloops.sh b/tools/MISCELLANEOUS/chk_jijj_in_doloops.sh new file mode 100755 index 000000000..2664643b2 --- /dev/null +++ b/tools/MISCELLANEOUS/chk_jijj_in_doloops.sh @@ -0,0 +1,55 @@ +#!/bin/bash +# +# check if a do loop, starting with DO_2D, DO_3D ou DO ji=, contains (:,: +# that most probably should be (ji,jj +# +set -u + +for ff in $( find src -name "*90" ) */*/MY_SRC/*90 +do + + for ll1 in $( grep -n DO_2D $ff | sed -s "s/:.*//" ) + do + nb=$( sed -n ${ll1},/END_2D/p $ff | sed -e "s/\!.*//" | grep -c "( *: *, *:" ) + if [ $nb -ne 0 ] + then + echo "----------------------------------------------" + echo + echo "error in DO_2D: $ff $nb" + sed -n ${ll1},/END_2D/p $ff + echo + fi + done + + for ll1 in $( grep -n DO_3D $ff | sed -s "s/:.*//" ) + do + nb=$( sed -n ${ll1},/END_3D/p $ff | sed -e "s/\!.*//" | grep -c "( *: *, *:" ) + if [ $nb -ne 0 ] + then + echo "----------------------------------------------" + echo + echo "error in DO_3D: $ff $nb" + sed -n ${ll1},/END_3D/p $ff + echo + fi + done + + for ll1 in $( grep -in "DO *ji *=" $ff | sed -s "s/:.*//" ) + do + nb=$( sed -n ${ll1},/"[eE][nN][dD] *[dD][oO]"/p $ff | sed -e "s/\!.*//" | grep -c "( *: *, *:" ) + if [ $nb -ne 0 ] + then + echo "----------------------------------------------" + echo + echo "error in END DO: $ff $nb" + sed -n ${ll1},/"[eE][nN][dD] *[dD][oO]"/p $ff + echo + fi + done + +done + + + + + -- GitLab