Changeset 13632 for NEMO/branches
- Timestamp:
- 2020-10-19T10:53:30+02:00 (4 years ago)
- Location:
- NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests
- Files:
-
- 1 deleted
- 81 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/BENCH/EXPREF/namelist_cfg_orca025_like
r13286 r13632 77 77 !! !! 78 78 !! namdrg top/bottom drag coefficient (default: NO selection) 79 !! namdrg_top top friction (ln_ OFF =F & ln_isfcav=T)80 !! namdrg_bot bottom friction (ln_ OFF =F)79 !! namdrg_top top friction (ln_drg_OFF =F & ln_isfcav=T) 80 !! namdrg_bot bottom friction (ln_drg_OFF =F) 81 81 !! nambbc bottom temperature boundary condition (default: OFF) 82 82 !! nambbl bottom boundary layer scheme (default: OFF) -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/BENCH/EXPREF/namelist_cfg_orca12_like
r13286 r13632 77 77 !! !! 78 78 !! namdrg top/bottom drag coefficient (default: NO selection) 79 !! namdrg_top top friction (ln_ OFF =F & ln_isfcav=T)80 !! namdrg_bot bottom friction (ln_ OFF =F)79 !! namdrg_top top friction (ln_drg_OFF =F & ln_isfcav=T) 80 !! namdrg_bot bottom friction (ln_drg_OFF =F) 81 81 !! nambbc bottom temperature boundary condition (default: OFF) 82 82 !! nambbl bottom boundary layer scheme (default: OFF) -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/BENCH/EXPREF/namelist_cfg_orca1_like
r13286 r13632 77 77 !! !! 78 78 !! namdrg top/bottom drag coefficient (default: NO selection) 79 !! namdrg_top top friction (ln_ OFF =F & ln_isfcav=T)80 !! namdrg_bot bottom friction (ln_ OFF =F)79 !! namdrg_top top friction (ln_drg_OFF =F & ln_isfcav=T) 80 !! namdrg_bot bottom friction (ln_drg_OFF =F) 81 81 !! nambbc bottom temperature boundary condition (default: OFF) 82 82 !! nambbl bottom boundary layer scheme (default: OFF) -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/BENCH/MY_SRC/usrdef_istate.F90
r13295 r13632 95 95 pv( :,:,jpk ) = 0._wp 96 96 ! 97 #if defined key_mpi3 98 CALL lbc_lnk_nc_multi('usrdef_istate', pssh, 'T', 1. ) ! apply boundary conditions 99 CALL lbc_lnk_nc_multi('usrdef_istate', pts, 'T', 1. ) ! apply boundary conditions 100 CALL lbc_lnk_nc_multi('usrdef_istate', pu, 'U', -1. ) ! apply boundary conditions 101 CALL lbc_lnk_nc_multi('usrdef_istate', pv, 'V', -1. ) ! apply boundary conditions 102 #else 97 103 CALL lbc_lnk('usrdef_istate', pssh, 'T', 1. ) ! apply boundary conditions 98 104 CALL lbc_lnk('usrdef_istate', pts, 'T', 1. ) ! apply boundary conditions 99 105 CALL lbc_lnk('usrdef_istate', pu, 'U', -1. ) ! apply boundary conditions 100 106 CALL lbc_lnk('usrdef_istate', pv, 'V', -1. ) ! apply boundary conditions 107 #endif 101 108 102 109 END SUBROUTINE usr_def_istate -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/BENCH/MY_SRC/usrdef_sbc.F90
r13295 r13632 120 120 vtau_ice(:,:) = 0.1_wp + z2d(:,:) 121 121 122 #if defined key_mpi3 123 CALL lbc_lnk_nc_multi( 'usrdef_sbc', utau_ice, 'U', -1., vtau_ice, 'V', -1. ) 124 #else 122 125 CALL lbc_lnk_multi( 'usrdef_sbc', utau_ice, 'U', -1., vtau_ice, 'V', -1. ) 126 #endif 123 127 #endif 124 128 ! … … 137 141 REAL(wp), DIMENSION(:,:,:), INTENT(in) :: phi ! ice thickness 138 142 !! 139 REAL(wp) :: zfr1, zfr2 ! local variables140 143 REAL(wp), DIMENSION(jpi,jpj) :: zsnw ! snw distribution after wind blowing 141 144 !!--------------------------------------------------------------------- … … 172 175 qsr_tot (:,:) = at_i_b(:,:) * qsr_oce(:,:) + SUM( a_i_b(:,:,:) * qsr_ice(:,:,:), dim=3 ) 173 176 174 ! --- shortwave radiation transmitted below the surface (W/m2, see Grenfell Maykut 77) --- ! 175 zfr1 = ( 0.18 * ( 1.0 - cldf_ice ) + 0.35 * cldf_ice ) ! transmission when hi>10cm 176 zfr2 = ( 0.82 * ( 1.0 - cldf_ice ) + 0.65 * cldf_ice ) ! zfr2 such that zfr1 + zfr2 to equal 1 177 ! 178 WHERE ( phs(:,:,:) <= 0._wp .AND. phi(:,:,:) < 0.1_wp ) ! linear decrease from hi=0 to 10cm 179 qtr_ice_top(:,:,:) = qsr_ice(:,:,:) * ( zfr1 + zfr2 * ( 1._wp - phi(:,:,:) * 10._wp ) ) 180 ELSEWHERE( phs(:,:,:) <= 0._wp .AND. phi(:,:,:) >= 0.1_wp ) ! constant (zfr1) when hi>10cm 181 qtr_ice_top(:,:,:) = qsr_ice(:,:,:) * zfr1 182 ELSEWHERE ! zero when hs>0 183 qtr_ice_top(:,:,:) = 0._wp 184 END WHERE 177 ! --- shortwave radiation transmitted thru the surface scattering layer (W/m2) --- ! 178 qtr_ice_top(:,:,:) = 0._wp 179 185 180 #endif 186 181 -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/BENCH/MY_SRC/usrdef_zgr.F90
r13286 r13632 210 210 211 211 ! 212 #if defined key_mpi3 213 CALL lbc_lnk_nc_multi( 'usrdef_zgr', z2d, 'T', 1. ) ! set surrounding land to zero (here jperio=0 ==>> closed) 214 #else 212 215 CALL lbc_lnk( 'usrdef_zgr', z2d, 'T', 1. ) ! set surrounding land to zero (here jperio=0 ==>> closed) 216 #endif 213 217 ! 214 218 k_bot(:,:) = INT( z2d(:,:) ) ! =jpkm1 over the ocean point, =0 elsewhere -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/CANAL/EXPREF/context_nemo.xml
r12276 r13632 11 11 <variable id="ref_month" type="int"> 01 </variable> 12 12 <variable id="ref_day" type="int"> 01 </variable> 13 <variable id="r au0" type="float" > 1026.0 </variable>13 <variable id="rho0" type="float" > 1026.0 </variable> 14 14 <variable id="cpocean" type="float" > 3991.86795711963 </variable> 15 15 <variable id="convSpsu" type="float" > 0.99530670233846 </variable> -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/CANAL/EXPREF/file_def_nemo-oce.xml
r9572 r13632 15 15 <field field_ref="soce" /> 16 16 <field field_ref="ssh" /> 17 <field field_ref="s algrad" />18 <field field_ref=" ke_zint" />17 <field field_ref="socegrad" /> 18 <field field_ref="eken_int" /> 19 19 <field field_ref="relvor" /> 20 20 <field field_ref="potvor" /> -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/CANAL/EXPREF/namelist_cfg
r12489 r13632 20 20 &namusr_def ! User defined : CANAL configuration: Flat bottom, beta-plane 21 21 !----------------------------------------------------------------------- 22 rn_domszx = 3600. ! x horizontal size [km]23 rn_domszy = 1 800. ! y horizontal size [km]24 rn_domszz = 5000. ! z vertical size [m]25 rn_dx = 30. ! x horizontal resolution [km]26 rn_dy = 30. ! y horizontal resolution [km]27 rn_dz = 500. ! z vertical resolution [m]22 rn_domszx = 2000. ! x horizontal size [km] 23 rn_domszy = 1000. ! y horizontal size [km] 24 rn_domszz = 1000. ! z vertical size [m] 25 rn_dx = 10. ! x horizontal resolution [km] 26 rn_dy = 10. ! y horizontal resolution [km] 27 rn_dz = 1000. ! z vertical resolution [m] 28 28 rn_0xratio = 0.5 ! x-domain ratio of the 0 29 29 rn_0yratio = 0.5 ! y-domain ratio of the 0 … … 31 31 rn_ppgphi0 = 38.5 ! Reference latitude [degrees] 32 32 rn_u10 = 0. ! 10m wind speed [m/s] 33 rn_windszx = 4000.! longitudinal wind extension [km]34 rn_windszy = 4000.! latitudinal wind extension [km]35 rn_uofac = 0.! Uoce multiplicative factor (0.:absolute or 1.:relative winds)33 rn_windszx = 90. ! longitudinal wind extension [km] 34 rn_windszy = 90. ! latitudinal wind extension [km] 35 !!clem rn_uofac = 0. ! Uoce multiplicative factor (0.:absolute or 1.:relative winds) 36 36 rn_vtxmax = 1. ! initial vortex max current [m/s] 37 37 rn_uzonal = 1. ! initial zonal current [m/s] 38 rn_ujetszx = 4000. 39 rn_ujetszy = 400 0. ! latitudinal jet extension [km]38 rn_ujetszx = 4000. ! longitudinal jet extension [km] 39 rn_ujetszy = 400. ! latitudinal jet extension [km] 40 40 nn_botcase = 0 ! bottom definition (0:flat, 1:bump) 41 nn_initcase = 1 ! initial condition case (0:rest, 1:zonal current, 2:current shear, 3: gaussian zonal current, 42 ! ! 4: geostrophic zonal pulse, 5: vortex) 43 ln_sshnoise = .false. ! add random noise on initial ssh 44 rn_lambda = 50. ! gaussian lambda 41 nn_initcase = 1 ! initial condition case 42 ! ! -1 : stratif at rest 43 ! ! 0 : rest 44 ! ! 1 : zonal current 45 ! ! 2 : current shear 46 ! ! 3 : gaussian zonal current 47 ! ! 4 : geostrophic zonal pulse 48 ! ! 5 : baroclinic vortex 49 ln_sshnoise = .FALSE. ! add random noise on initial ssh 50 rn_lambda = 50. ! gaussian lambda 51 nn_perio = 1 45 52 / 46 53 !----------------------------------------------------------------------- … … 59 66 !----------------------------------------------------------------------- 60 67 ln_linssh = .false. ! =T linear free surface ==>> model level are fixed in time 61 rn_Dt = 1440. ! time step for the dynamics (and tracer if nn_acc=0) 62 rn_atfp = 0.05 ! asselin time filter parameter 68 rn_Dt = 1200. ! time step for the dynamics (and tracer if nn_acc=0) 69 rn_atfp = 0.0 ! asselin time filter parameter 70 / 71 !----------------------------------------------------------------------- 72 &namcfg ! parameters of the configuration (default: use namusr_def in namelist_cfg) 73 !----------------------------------------------------------------------- 74 ln_write_cfg = .false. ! (=T) create the domain configuration file 75 cn_domcfg_out = "domain_cfg" ! newly created domain configuration filename 63 76 / 64 77 !!====================================================================== … … 108 121 !! !! 109 122 !! namdrg top/bottom drag coefficient (default: NO selection) 110 !! namdrg_top top friction (ln_ OFF =F & ln_isfcav=T)111 !! namdrg_bot bottom friction (ln_ OFF =F)123 !! namdrg_top top friction (ln_drg_OFF =F & ln_isfcav=T) 124 !! namdrg_bot bottom friction (ln_drg_OFF =F) 112 125 !! nambbc bottom temperature boundary condition (default: OFF) 113 126 !! nambbl bottom boundary layer scheme (default: OFF) … … 117 130 &namdrg ! top/bottom drag coefficient (default: NO selection) 118 131 !----------------------------------------------------------------------- 119 ln_ OFF = .true. ! free-slip : Cd = 0132 ln_drg_OFF = .true. ! free-slip : Cd = 0 (F => fill namdrg_bot 120 133 / 121 134 !!====================================================================== … … 134 147 !----------------------------------------------------------------------- 135 148 ln_seos = .true. ! = Use simplified equation of state (S-EOS) 136 ! ! rd(T,S,Z)*r au0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS149 ! ! rd(T,S,Z)*rho0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS 137 150 rn_a0 = 0.28 ! thermal expension coefficient (for simplified equation of state) 138 151 rn_b0 = 0. ! saline expension coefficient (for simplified equation of state) … … 148 161 ln_traadv_OFF = .false. ! No tracer advection 149 162 ln_traadv_cen = .false. ! 2nd order centered scheme 150 nn_cen_h = 4! =2/4, horizontal 2nd order CEN / 4th order CEN151 nn_cen_v = 4! =2/4, vertical 2nd order CEN / 4th order COMPACT163 nn_cen_h = 2 ! =2/4, horizontal 2nd order CEN / 4th order CEN 164 nn_cen_v = 2 ! =2/4, vertical 2nd order CEN / 4th order COMPACT 152 165 ln_traadv_fct = .false. ! FCT scheme 153 nn_fct_h = 2! =2/4, horizontal 2nd / 4th order166 nn_fct_h = 4 ! =2/4, horizontal 2nd / 4th order 154 167 nn_fct_v = 2 ! =2/4, vertical 2nd / COMPACT 4th order 155 168 ln_traadv_mus = .false. ! MUSCL scheme … … 162 175 &namtra_ldf ! lateral diffusion scheme for tracers (default: NO selection) 163 176 !----------------------------------------------------------------------- 164 ln_traldf_OFF = .true. ! No explicit diffusion 177 ! ! Operator type: 178 ln_traldf_OFF = .true. ! No explicit diffusion 179 ln_traldf_lap = .false. ! laplacian operator 180 ln_traldf_blp = .false. ! bilaplacian operator 181 ! 182 ! ! Direction of action: 183 ln_traldf_lev = .false. ! iso-level 184 ln_traldf_hor = .true. ! horizontal (geopotential) 185 ln_traldf_iso = .false. ! iso-neutral (standard operator) 186 ln_traldf_triad = .false. ! iso-neutral (triad operator) 187 ! 188 ! ! iso-neutral options: 189 ln_traldf_msc = .false. ! Method of Stabilizing Correction (both operators) 190 rn_slpmax = 0.01 ! slope limit (both operators) 191 ln_triad_iso = .false. ! pure horizontal mixing in ML (triad only) 192 rn_sw_triad = 1 ! =1 switching triad ; =0 all 4 triads used (triad only) 193 ln_botmix_triad = .false. ! lateral mixing on bottom (triad only) 194 ! 195 ! ! Coefficients: 196 nn_aht_ijk_t = 31 ! space/time variation of eddy coefficient: 197 ! ! =-20 (=-30) read in eddy_diffusivity_2D.nc (..._3D.nc) file 198 ! ! = 0 constant 199 ! ! = 10 F(k) =ldf_c1d 200 ! ! = 20 F(i,j) =ldf_c2d 201 ! ! = 21 F(i,j,t) =Treguier et al. JPO 1997 formulation 202 ! ! = 30 F(i,j,k) =ldf_c2d * ldf_c1d 203 ! ! = 31 F(i,j,k,t)=F(local velocity and grid-spacing) 204 ! ! time invariant coefficients: aht0 = 1/2 Ud*Ld (lap case) 205 ! ! or = 1/12 Ud*Ld^3 (blp case) 206 rn_Ud = 0.01 ! lateral diffusive velocity [m/s] (nn_aht_ijk_t= 0, 10, 20, 30) 207 rn_Ld = 200.e+3 ! lateral diffusive length [m] (nn_aht_ijk_t= 0, 10) 165 208 / 166 209 !!====================================================================== … … 183 226 nn_dynkeg = 0 ! scheme for grad(KE): =0 C2 ; =1 Hollingsworth correction 184 227 ln_dynadv_cen2 = .false. ! flux form - 2nd order centered scheme 185 ln_dynadv_ubs = .true. ! flux form - 3rd order UBS scheme228 ln_dynadv_ubs = .true. ! flux form - 3rd order UBS scheme 186 229 / 187 230 !----------------------------------------------------------------------- 188 231 &namdyn_vor ! Vorticity / Coriolis scheme (default: NO selection) 189 232 !----------------------------------------------------------------------- 190 ln_dynvor_ene = . true. ! energy conserving scheme191 ln_dynvor_ens = .false. ! enstrophy conserving scheme192 ln_dynvor_mix = .false. ! mixed scheme233 ln_dynvor_ene = .false. ! energy conserving scheme 234 ln_dynvor_ens = .false. ! enstrophy conserving scheme 235 ln_dynvor_mix = .false. ! mixed scheme 193 236 ln_dynvor_een = .false. ! energy & enstrophy scheme 237 ln_dynvor_enT = .false. ! energy conserving scheme (T-point) 238 ln_dynvor_eeT = .true. ! energy conserving scheme (een using e3t) 194 239 nn_een_e3f = 0 ! e3f = masked averaging of e3t divided by 4 (=0) or by the sum of mask (=1) 195 240 / … … 210 255 ! ! = 1 Boxcar over nn_e sub-steps 211 256 ! ! = 2 Boxcar over 2*nn_e " " 212 ln_bt_auto = . false. ! Number of sub-step defined from:257 ln_bt_auto = .true. ! Number of sub-step defined from: 213 258 nn_e = 24 ! =F : the number of sub-step in rn_Dt seconds 214 259 / … … 222 267 ! ! Direction of action : 223 268 ln_dynldf_lev = .false. ! iso-level 224 ln_dynldf_hor = . true. ! horizontal (geopotential)269 ln_dynldf_hor = .false. ! horizontal (geopotential) 225 270 ln_dynldf_iso = .false. ! iso-neutral 226 271 ! ! Coefficient 227 nn_ahm_ijk_t = 20! space/time variation of eddy coef272 nn_ahm_ijk_t = 31 ! space/time variation of eddy coef 228 273 ! ! =-30 read in eddy_viscosity_3D.nc file 229 274 ! ! =-20 read in eddy_viscosity_2D.nc file … … 271 316 !! !! 272 317 !! namtrd dynamics and/or tracer trends (default: OFF) 273 !! namptr Poleward Transport Diagnostics (default: OFF)274 318 !! namhsb Heat and salt budgets (default: OFF) 275 319 !! namdiu Cool skin and warm layer models (default: OFF) 276 320 !! namdiu Cool skin and warm layer models (default: OFF) 321 <<<<<<< .working 277 322 !! namflo float parameters (default: OFF) 278 323 !! nam_diadct transports through some sections (default: OFF) 324 ||||||| .merge-left.r13465 325 !! namflo float parameters (default: OFF) 326 !! nam_diaharm Harmonic analysis of tidal constituents (default: OFF) 327 !! nam_diadct transports through some sections (default: OFF) 328 ======= 329 !! namflo float parameters ("key_float") 330 !! nam_diaharm Harmonic analysis of tidal constituents ("key_diaharm") 331 !! namdct transports through some sections ("key_diadct") 332 !! nam_diatmb Top Middle Bottom Output (default: OFF) 333 >>>>>>> .merge-right.r13470 279 334 !! nam_dia25h 25h Mean Output (default: OFF) 280 335 !! namnc4 netcdf4 chunking and compression settings ("key_netcdf4") … … 285 340 !----------------------------------------------------------------------- 286 341 ln_glo_trd = .false. ! (T) global domain averaged diag for T, T^2, KE, and PE 287 ln_dyn_trd = .true. ! (T) 3D momentum trend output342 ln_dyn_trd = .true. ! (T) 3D momentum trend output 288 343 ln_dyn_mxl = .false. ! (T) 2D momentum trends averaged over the mixed layer (not coded yet) 289 344 ln_vor_trd = .false. ! (T) 2D barotropic vorticity trends (not coded yet) … … 312 367 &nammpp ! Massively Parallel Processing ("key_mpp_mpi") 313 368 !----------------------------------------------------------------------- 369 !! jpni = 8 ! jpni number of processors following i (set automatically if < 1) 370 !! jpnj = 1 ! jpnj number of processors following j (set automatically if < 1) 314 371 / 315 372 !----------------------------------------------------------------------- 316 373 &namctl ! Control prints (default: OFF) 317 374 !----------------------------------------------------------------------- 375 ln_timing = .true. ! timing by routine write out in timing.output file 376 !! ln_diacfl = .true. ! CFL diagnostics write out in cfl_diagnostics.ascii 318 377 / 319 378 !----------------------------------------------------------------------- -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/CANAL/MY_SRC/domvvl.F90
r13295 r13632 9 9 !! 3.6 ! 2014-11 (P. Mathiot) add ice shelf capability 10 10 !! 4.1 ! 2019-08 (A. Coward, D. Storkey) rename dom_vvl_sf_swp -> dom_vvl_sf_update for new timestepping 11 !! 4.x ! 2020-02 (G. Madec, S. Techene) introduce ssh to h0 ratio 11 12 !!---------------------------------------------------------------------- 12 13 13 !!----------------------------------------------------------------------14 !! dom_vvl_init : define initial vertical scale factors, depths and column thickness15 !! dom_vvl_sf_nxt : Compute next vertical scale factors16 !! dom_vvl_sf_update : Swap vertical scale factors and update the vertical grid17 !! dom_vvl_interpol : Interpolate vertical scale factors from one grid point to another18 !! dom_vvl_rst : read/write restart file19 !! dom_vvl_ctl : Check the vvl options20 !!----------------------------------------------------------------------21 14 USE oce ! ocean dynamics and tracers 22 15 USE phycst ! physical constant … … 36 29 PRIVATE 37 30 38 PUBLIC dom_vvl_init ! called by domain.F9039 PUBLIC dom_vvl_zgr ! called by isfcpl.F9040 PUBLIC dom_vvl_sf_nxt ! called by step.F9041 PUBLIC dom_vvl_sf_update ! called by step.F9042 PUBLIC dom_vvl_interpol ! called by dynnxt.F9043 44 31 ! !!* Namelist nam_vvl 45 32 LOGICAL , PUBLIC :: ln_vvl_zstar = .FALSE. ! zstar vertical coordinate … … 63 50 REAL(wp) , ALLOCATABLE, SAVE, DIMENSION(:,:) :: frq_rst_hdv ! retoring period for low freq. divergence 64 51 52 #if defined key_qco 53 !!---------------------------------------------------------------------- 54 !! 'key_qco' EMPTY MODULE Quasi-Eulerian vertical coordonate 55 !!---------------------------------------------------------------------- 56 #else 57 !!---------------------------------------------------------------------- 58 !! Default key Old management of time varying vertical coordinate 59 !!---------------------------------------------------------------------- 60 61 !!---------------------------------------------------------------------- 62 !! dom_vvl_init : define initial vertical scale factors, depths and column thickness 63 !! dom_vvl_sf_nxt : Compute next vertical scale factors 64 !! dom_vvl_sf_update : Swap vertical scale factors and update the vertical grid 65 !! dom_vvl_interpol : Interpolate vertical scale factors from one grid point to another 66 !! dom_vvl_rst : read/write restart file 67 !! dom_vvl_ctl : Check the vvl options 68 !!---------------------------------------------------------------------- 69 70 PUBLIC dom_vvl_init ! called by domain.F90 71 PUBLIC dom_vvl_zgr ! called by isfcpl.F90 72 PUBLIC dom_vvl_sf_nxt ! called by step.F90 73 PUBLIC dom_vvl_sf_update ! called by step.F90 74 PUBLIC dom_vvl_interpol ! called by dynnxt.F90 75 65 76 !! * Substitutions 66 77 # include "do_loop_substitute.h90" … … 135 146 ! 136 147 END SUBROUTINE dom_vvl_init 137 ! 148 149 138 150 SUBROUTINE dom_vvl_zgr(Kbb, Kmm, Kaa) 139 151 !!---------------------------------------------------------------------- … … 261 273 IF( cn_cfg == "orca" .OR. cn_cfg == "ORCA" ) THEN 262 274 IF( nn_cfg == 3 ) THEN ! ORCA2: Suppress ztilde in the Foxe Basin for ORCA2 263 ii0 = 103 ; ii1 = 111264 ij0 = 128 ; ij1 = 135 ;275 ii0 = 103 + nn_hls - 1 ; ii1 = 111 + nn_hls - 1 276 ij0 = 128 + nn_hls ; ij1 = 135 + nn_hls 265 277 frq_rst_e3t( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) = 0.0_wp 266 278 frq_rst_hdv( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) = 1.e0_wp / rn_Dt … … 322 334 LOGICAL :: ll_do_bclinic ! local logical 323 335 REAL(wp), DIMENSION(jpi,jpj) :: zht, z_scale, zwu, zwv, zhdiv 324 REAL(wp), DIMENSION(jpi,jpj,jpk) :: ze3t 336 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: ze3t 337 LOGICAL , DIMENSION(:,:,:), ALLOCATABLE :: llmsk 325 338 !!---------------------------------------------------------------------- 326 339 ! … … 426 439 ! ! d - thickness diffusion transport: boundary conditions 427 440 ! (stored for tracer advction and continuity equation) 441 #if defined key_mpi3 442 CALL lbc_lnk_nc_multi( 'domvvl', un_td , 'U' , -1._wp, vn_td , 'V' , -1._wp) 443 #else 428 444 CALL lbc_lnk_multi( 'domvvl', un_td , 'U' , -1._wp, vn_td , 'V' , -1._wp) 445 #endif 429 446 430 447 ! 4 - Time stepping of baroclinic scale factors 431 448 ! --------------------------------------------- 449 #if defined key_mpi3 450 CALL lbc_lnk_nc_multi( 'domvvl', tilde_e3t_a(:,:,:), 'T', 1._wp ) 451 #else 432 452 CALL lbc_lnk( 'domvvl', tilde_e3t_a(:,:,:), 'T', 1._wp ) 453 #endif 433 454 tilde_e3t_a(:,:,:) = tilde_e3t_b(:,:,:) + rDt * tmask(:,:,:) * tilde_e3t_a(:,:,:) 434 455 435 456 ! Maximum deformation control 436 457 ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 437 ze3t(:,:,jpk) = 0._wp 438 DO jk = 1, jpkm1 439 ze3t(:,:,jk) = tilde_e3t_a(:,:,jk) / e3t_0(:,:,jk) * tmask(:,:,jk) * tmask_i(:,:) 440 END DO 441 z_tmax = MAXVAL( ze3t(:,:,:) ) 442 CALL mpp_max( 'domvvl', z_tmax ) ! max over the global domain 443 z_tmin = MINVAL( ze3t(:,:,:) ) 444 CALL mpp_min( 'domvvl', z_tmin ) ! min over the global domain 458 ALLOCATE( ze3t(jpi,jpj,jpk), llmsk(jpi,jpj,jpk) ) 459 DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 460 ze3t(ji,jj,jk) = tilde_e3t_a(ji,jj,jk) / e3t_0(ji,jj,jk) * tmask(ji,jj,jk) * tmask_i(ji,jj) 461 END_3D 462 ! 463 llmsk( 1:Nis1,:,:) = .FALSE. ! exclude halos from the checked region 464 llmsk(Nie1: jpi,:,:) = .FALSE. 465 llmsk(:, 1:Njs1,:) = .FALSE. 466 llmsk(:,Nje1: jpj,:) = .FALSE. 467 ! 468 llmsk(Nis0:Nie0,Njs0:Nje0,:) = tmask(Nis0:Nie0,Njs0:Nje0,:) == 1._wp ! define only the inner domain 469 z_tmax = MAXVAL( ze3t(:,:,:), mask = llmsk ) ; CALL mpp_max( 'domvvl', z_tmax ) ! max over the global domain 470 z_tmin = MINVAL( ze3t(:,:,:), mask = llmsk ) ; CALL mpp_min( 'domvvl', z_tmin ) ! min over the global domain 445 471 ! - ML - test: for the moment, stop simulation for too large e3_t variations 446 472 IF( ( z_tmax > rn_zdef_max ) .OR. ( z_tmin < - rn_zdef_max ) ) THEN 447 IF( lk_mpp ) THEN 448 CALL mpp_maxloc( 'domvvl', ze3t, tmask, z_tmax, ijk_max ) 449 CALL mpp_minloc( 'domvvl', ze3t, tmask, z_tmin, ijk_min ) 450 ELSE 451 ijk_max = MAXLOC( ze3t(:,:,:) ) 452 ijk_max(1) = mig0_oldcmp(ijk_max(1)) 453 ijk_max(2) = mjg0_oldcmp(ijk_max(2)) 454 ijk_min = MINLOC( ze3t(:,:,:) ) 455 ijk_min(1) = mig0_oldcmp(ijk_min(1)) 456 ijk_min(2) = mjg0_oldcmp(ijk_min(2)) 457 ENDIF 473 CALL mpp_maxloc( 'domvvl', ze3t, llmsk, z_tmax, ijk_max ) 474 CALL mpp_minloc( 'domvvl', ze3t, llmsk, z_tmin, ijk_min ) 458 475 IF (lwp) THEN 459 476 WRITE(numout, *) 'MAX( tilde_e3t_a(:,:,:) / e3t_0(:,:,:) ) =', z_tmax … … 464 481 ENDIF 465 482 ENDIF 483 DEALLOCATE( ze3t, llmsk ) 466 484 ! - ML - end test 467 485 ! - ML - Imposing these limits will cause a baroclinicity error which is corrected for below … … 1030 1048 END SUBROUTINE dom_vvl_ctl 1031 1049 1050 #endif 1051 1032 1052 !!====================================================================== 1033 1053 END MODULE domvvl -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/CANAL/MY_SRC/stpctl.F90
r13216 r13632 49 49 !! 50 50 !! ** Method : - Save the time step in numstp 51 !! - Print it each 50 time steps52 51 !! - Stop the run IF problem encountered by setting nstop > 0 53 52 !! Problems checked: |ssh| maximum larger than 10 m … … 119 118 ! !== test of local extrema ==! 120 119 ! !== done by all processes at every time step ==! 121 llmsk(:,:,1) = ssmask(:,:) == 1._wp 120 ! 121 llmsk( 1:Nis1,:,:) = .FALSE. ! exclude halos from the checked region 122 llmsk(Nie1: jpi,:,:) = .FALSE. 123 llmsk(:, 1:Njs1,:) = .FALSE. 124 llmsk(:,Nje1: jpj,:) = .FALSE. 125 ! 126 llmsk(Nis0:Nie0,Njs0:Nje0,1) = ssmask(Nis0:Nie0,Njs0:Nje0) == 1._wp ! define only the inner domain 122 127 IF( ll_wd ) THEN 123 128 zmax(1) = MAXVAL( ABS( ssh(:,:,Kmm) + ssh_ref ), mask = llmsk(:,:,1) ) ! ssh max … … 125 130 zmax(1) = MAXVAL( ABS( ssh(:,:,Kmm) ), mask = llmsk(:,:,1) ) ! ssh max 126 131 ENDIF 127 llmsk( :,:,:) = umask(:,:,:) == 1._wp132 llmsk(Nis0:Nie0,Njs0:Nje0,:) = umask(Nis0:Nie0,Njs0:Nje0,:) == 1._wp ! define only the inner domain 128 133 zmax(2) = MAXVAL( ABS( uu(:,:,:,Kmm) ), mask = llmsk ) ! velocity max (zonal only) 129 llmsk( :,:,:) = tmask(:,:,:) == 1._wp134 llmsk(Nis0:Nie0,Njs0:Nje0,:) = tmask(Nis0:Nie0,Njs0:Nje0,:) == 1._wp ! define only the inner domain 130 135 zmax(3) = MAXVAL( -ts(:,:,:,jp_sal,Kmm), mask = llmsk ) ! minus salinity max 131 136 zmax(4) = MAXVAL( ts(:,:,:,jp_sal,Kmm), mask = llmsk ) ! salinity max … … 143 148 zmax(5:8) = 0._wp 144 149 ENDIF 145 zmax(9) = REAL( nstop, wp ) ! stop indicator150 zmax(9) = REAL( nstop, wp ) ! stop indicator 146 151 ! !== get global extrema ==! 147 152 ! !== done by all processes if writting run.stat ==! … … 183 188 IF( lwm .AND. kt /= nitend ) istatus = NF90_CLOSE(nrunid) 184 189 ! get global loc on the min/max 185 CALL mpp_maxloc( 'stpctl', ABS(ssh(:,:, Kmm)), ssmask(:,: ), zzz, iloc(1:2,1) ) ! mpp_maxloc ok if mask = F 186 CALL mpp_maxloc( 'stpctl', ABS( uu(:,:,:, Kmm)), umask(:,:,:), zzz, iloc(1:3,2) ) 187 CALL mpp_minloc( 'stpctl', ts(:,:,:,jp_sal,Kmm) , tmask(:,:,:), zzz, iloc(1:3,3) ) 188 CALL mpp_maxloc( 'stpctl', ts(:,:,:,jp_sal,Kmm) , tmask(:,:,:), zzz, iloc(1:3,4) ) 190 llmsk(Nis0:Nie0,Njs0:Nje0,1) = ssmask(Nis0:Nie0,Njs0:Nje0 ) == 1._wp ! define only the inner domain 191 CALL mpp_maxloc( 'stpctl', ABS(ssh(:,:, Kmm)), llmsk(:,:,1), zzz, iloc(1:2,1) ) ! mpp_maxloc ok if mask = F 192 llmsk(Nis0:Nie0,Njs0:Nje0,:) = umask(Nis0:Nie0,Njs0:Nje0,:) == 1._wp ! define only the inner domain 193 CALL mpp_maxloc( 'stpctl', ABS( uu(:,:,:, Kmm)), llmsk(:,:,:), zzz, iloc(1:3,2) ) 194 llmsk(Nis0:Nie0,Njs0:Nje0,:) = tmask(Nis0:Nie0,Njs0:Nje0,:) == 1._wp ! define only the inner domain 195 CALL mpp_minloc( 'stpctl', ts(:,:,:,jp_sal,Kmm) , llmsk(:,:,:), zzz, iloc(1:3,3) ) 196 CALL mpp_maxloc( 'stpctl', ts(:,:,:,jp_sal,Kmm) , llmsk(:,:,:), zzz, iloc(1:3,4) ) 189 197 ! find which subdomain has the max. 190 198 iareamin(:) = jpnij+1 ; iareamax(:) = 0 ; iareasum(:) = 0 … … 199 207 ELSE ! find local min and max locations: 200 208 ! if we are here, this means that the subdomain contains some oce points -> no need to test the mask used in maxloc 201 iloc(1:2,1) = MAXLOC( ABS( ssh(:,:, Kmm)), mask = ssmask(:,: ) == 1._wp ) + (/ nimpp - 1, njmpp - 1 /) 202 iloc(1:3,2) = MAXLOC( ABS( uu(:,:,:, Kmm)), mask = umask(:,:,:) == 1._wp ) + (/ nimpp - 1, njmpp - 1, 0 /) 203 iloc(1:3,3) = MINLOC( ts(:,:,:,jp_sal,Kmm) , mask = tmask(:,:,:) == 1._wp ) + (/ nimpp - 1, njmpp - 1, 0 /) 204 iloc(1:3,4) = MAXLOC( ts(:,:,:,jp_sal,Kmm) , mask = tmask(:,:,:) == 1._wp ) + (/ nimpp - 1, njmpp - 1, 0 /) 209 llmsk(Nis0:Nie0,Njs0:Nje0,1) = ssmask(Nis0:Nie0,Njs0:Nje0 ) == 1._wp ! define only the inner domain 210 iloc(1:2,1) = MAXLOC( ABS( ssh(:,:, Kmm)), mask = llmsk(:,:,1) ) 211 llmsk(Nis0:Nie0,Njs0:Nje0,:) = umask(Nis0:Nie0,Njs0:Nje0,:) == 1._wp ! define only the inner domain 212 iloc(1:3,2) = MAXLOC( ABS( uu(:,:,:, Kmm)), mask = llmsk(:,:,:) ) 213 llmsk(Nis0:Nie0,Njs0:Nje0,:) = tmask(Nis0:Nie0,Njs0:Nje0,:) == 1._wp ! define only the inner domain 214 iloc(1:3,3) = MINLOC( ts(:,:,:,jp_sal,Kmm) , mask = llmsk(:,:,:) ) 215 iloc(1:3,4) = MAXLOC( ts(:,:,:,jp_sal,Kmm) , mask = llmsk(:,:,:) ) 216 DO ji = 1, 4 ! local domain indices ==> global domain indices, excluding halos 217 iloc(1:2,ji) = (/ mig0(iloc(1,ji)), mjg0(iloc(2,ji)) /) 218 END DO 205 219 iareamin(:) = narea ; iareamax(:) = narea ; iareasum(:) = 1 ! this is local information 206 220 ENDIF -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/CANAL/MY_SRC/trazdf.F90
r13295 r13632 90 90 END DO 91 91 !!gm this should be moved in trdtra.F90 and done on all trends 92 #if defined key_mpi3 93 CALL lbc_lnk_nc_multi( 'trazdf', ztrdt, 'T', 1. , ztrds, 'T', 1. ) 94 #else 92 95 CALL lbc_lnk_multi( 'trazdf', ztrdt, 'T', 1. , ztrds, 'T', 1. ) 96 #endif 93 97 !!gm 94 98 CALL trd_tra( kt, Kmm, Krhs, 'TRA', jp_tem, jptra_zdf, ztrdt ) -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/CANAL/MY_SRC/usrdef_istate.F90
r13295 r13632 66 66 IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~~~ ' 67 67 ! 68 IF (ln_sshnoise) CALL RANDOM_NUMBER(zrandom)69 68 zjetx = ABS(rn_ujetszx)/2. 70 69 zjety = ABS(rn_ujetszy)/2. 71 70 ! 71 zf0 = 2._wp * omega * SIN( rad * rn_ppgphi0 ) 72 ! 72 73 SELECT CASE(nn_initcase) 74 75 CASE(-1) ! stratif at rest 76 77 ! sea level: 78 pssh(:,:) = 0. 79 ! temperature: 80 pts(:,:,1,jp_tem) = 25. !!30._wp 81 pts(:,:,2:jpk,jp_tem) = 22. !!24._wp 82 ! salinity: 83 pts(:,:,:,jp_sal) = 35._wp 84 ! velocities: 85 pu(:,:,:) = 0. 86 pv(:,:,:) = 0. 87 73 88 CASE(0) ! rest 74 89 … … 98 113 zbeta = 2._wp * omega * COS( rad * rn_ppgphi0 ) / ra 99 114 WHERE( ABS(gphit) <= zjety ) 100 pssh(:,:) = - rn_uzonal / grav * ( ff_t(:,:)* gphit(:,:) * 1.e3 + 0.5 * zbeta * gphit(:,:) * gphit(:,:) * 1.e6 )101 ELSEWHERE 102 pssh(:,:) = - rn_uzonal / grav * ( ff_t(:,:)* SIGN(zjety, gphit(:,:)) * 1.e3 &115 pssh(:,:) = - rn_uzonal / grav * ( zf0 * gphit(:,:) * 1.e3 + 0.5 * zbeta * gphit(:,:) * gphit(:,:) * 1.e6 ) 116 ELSEWHERE 117 pssh(:,:) = - rn_uzonal / grav * ( zf0 * SIGN(zjety, gphit(:,:)) * 1.e3 & 103 118 & + 0.5 * zbeta * zjety * zjety * 1.e6 ) 104 119 END WHERE … … 109 124 pts(:,:,jpk,jp_sal) = 0. 110 125 DO jk=1, jpkm1 111 pts(:,:,jk,jp_sal) = gphit(:,:) 126 WHERE( ABS(gphit) <= zjety ) 127 !!$ WHERE( ABS(gphit) <= zjety*0.5 .AND. ABS(glamt) <= zjety*0.5 ) ! for a square of salt 128 pts(:,:,jk,jp_sal) = 35. 129 ELSEWHERE 130 pts(:,:,jk,jp_sal) = 30. 131 END WHERE 112 132 END DO 113 133 ! velocities: … … 134 154 WHERE( ABS(gphit) <= zjety ) 135 155 pssh(:,:) = - SIGN(rn_uzonal, gphit(:,:)) / grav & 136 & * ( ff_t(:,:)* gphit(:,:) * 1.e3 + 0.5 * zbeta * gphit(:,:) * gphit(:,:) * 1.e6 )156 & * ( zf0 * gphit(:,:) * 1.e3 + 0.5 * zbeta * gphit(:,:) * gphit(:,:) * 1.e6 ) 137 157 ELSEWHERE 138 158 pssh(:,:) = - SIGN(rn_uzonal, gphit(:,:)) / grav & 139 & * ( ff_t(:,:)* SIGN(zjety, gphit(:,:)) * 1.e3 + 0.5 * zbeta * zjety * zjety * 1.e6 )159 & * ( zf0 * SIGN(zjety, gphit(:,:)) * 1.e3 + 0.5 * zbeta * zjety * zjety * 1.e6 ) 140 160 END WHERE 141 161 END SELECT … … 143 163 pts(:,:,:,jp_tem) = 10._wp 144 164 ! salinity: 145 pts(:,:,:,jp_sal) = 2.146 DO jk=1, jpkm1 147 WHERE( ABS(gphiv) <= zjety ) pts(:,:,jk,jp_sal) = 2. + SIGN(1.,gphiv(:,:))165 pts(:,:,:,jp_sal) = 30. 166 DO jk=1, jpkm1 167 WHERE( ABS(gphiv) <= zjety ) pts(:,:,jk,jp_sal) = 30. + SIGN(1.,gphiv(:,:)) 148 168 END DO 149 169 ! velocities: … … 169 189 pssh(ji,jj) = pssh(ji,jj-1) - ff_t(ji,jj) / grav * pu(ji,jj,1) * e2t(ji,jj) 170 190 END_2D 191 #if defined key_mpi3 192 CALL lbc_lnk_nc_multi( 'usrdef_istate', pssh, 'T', 1. ) 193 #else 171 194 CALL lbc_lnk( 'usrdef_istate', pssh, 'T', 1. ) 195 #endif 172 196 END DO 173 197 … … 176 200 ! salinity: 177 201 DO jk=1, jpkm1 178 pts(:,:,jk,jp_sal) = gphit(:,:)202 pts(:,:,jk,jp_sal) = pssh(:,:) 179 203 END DO 180 204 ! velocities: … … 210 234 zf0 = 2._wp * omega * SIN( rad * rn_ppgphi0 ) 211 235 zumax = rn_vtxmax * SIGN(1._wp, zf0) ! Here Anticyclonic: set zumax=-1 for cyclonic 212 zlambda = SQRT(2._wp)*rn_lambda ! Horizontal scale in meters236 zlambda = SQRT(2._wp)*rn_lambda*1.e3 ! Horizontal scale in meters 213 237 zn2 = 3.e-3**2 214 238 zH = 0.5_wp * 5000._wp … … 281 305 282 306 IF (ln_sshnoise) THEN 307 CALL RANDOM_SEED() 283 308 CALL RANDOM_NUMBER(zrandom) 284 309 pssh(:,:) = pssh(:,:) + ( 0.1 * zrandom(:,:) - 0.05 ) 285 310 END IF 311 #if defined key_mpi3 312 CALL lbc_lnk_nc_multi( 'usrdef_istate', pssh, 'T', 1. ) 313 CALL lbc_lnk_nc_multi( 'usrdef_istate', pts , 'T', 1. ) 314 CALL lbc_lnk_nc_multi( 'usrdef_istate', pu, 'U', -1., pv, 'V', -1. ) 315 #else 286 316 CALL lbc_lnk( 'usrdef_istate', pssh, 'T', 1. ) 287 317 CALL lbc_lnk( 'usrdef_istate', pts , 'T', 1. ) 288 318 CALL lbc_lnk_multi( 'usrdef_istate', pu, 'U', -1., pv, 'V', -1. ) 319 #endif 289 320 290 321 END SUBROUTINE usr_def_istate -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/CANAL/MY_SRC/usrdef_nam.F90
r13286 r13632 50 50 LOGICAL , PUBLIC :: ln_sshnoise=.false. ! add random noise on initial ssh 51 51 REAL(wp), PUBLIC :: rn_lambda = 50. ! gaussian lambda 52 INTEGER , PUBLIC :: nn_perio = 0 ! periodicity of the channel (0=closed, 1=E-W) 52 53 53 54 !!---------------------------------------------------------------------- … … 79 80 !! 80 81 NAMELIST/namusr_def/ rn_domszx, rn_domszy, rn_domszz, rn_dx, rn_dy, rn_dz, rn_0xratio, rn_0yratio & 81 & , nn_fcase, rn_ppgphi0, rn_ vtxmax, rn_uzonal, rn_ujetszx, rn_ujetszy&82 & , rn_ u10, rn_windszx, rn_windszy, rn_uofac&83 & , nn_botcase, nn_initcase, ln_sshnoise, rn_lambda 82 & , nn_fcase, rn_ppgphi0, rn_u10, rn_windszx, rn_windszy & !!, rn_uofac & 83 & , rn_vtxmax, rn_uzonal, rn_ujetszx, rn_ujetszy & 84 & , nn_botcase, nn_initcase, ln_sshnoise, rn_lambda, nn_perio 84 85 !!---------------------------------------------------------------------- 85 86 ! … … 148 149 WRITE(numout,*) ' add random noise on initial ssh ln_sshnoise= ', ln_sshnoise 149 150 WRITE(numout,*) ' Gaussian lambda parameter rn_lambda = ', rn_lambda 150 WRITE(numout,*) ' ' 151 WRITE(numout,*) ' Lateral boundary condition of the global domain' 152 WRITE(numout,*) ' EW_CANAL : closed basin jperio = ', kperio 151 WRITE(numout,*) ' Periodicity of the basin nn_perio = ', nn_perio 153 152 ENDIF 153 ! ! Set the lateral boundary condition of the global domain 154 kperio = nn_perio ! EW_CANAL configuration : closed basin 154 155 ! 155 156 END SUBROUTINE usr_def_nam -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/CANAL/MY_SRC/usrdef_sbc.F90
r12740 r13632 17 17 USE sbc_oce ! Surface boundary condition: ocean fields 18 18 USE phycst ! physical constants 19 USE usrdef_nam, ONLY : rn_u10, rn_uofac, rn_windszy 19 USE usrdef_nam, ONLY : rn_u10, rn_uofac, rn_windszy, rn_windszx 20 20 ! 21 21 USE in_out_manager ! I/O manager … … 69 69 ! 70 70 utau(:,:) = 0._wp 71 IF( rn_u10 /= 0. .AND. rn_windszy > 0. ) THEN72 WHERE( ABS(gphit) <= rn_windszy/2. ) utau(:,:) = zrhocd * rn_u10 * rn_u1073 ENDIF74 71 vtau(:,:) = 0._wp 75 72 taum(:,:) = 0._wp … … 81 78 qsr (:,:) = 0._wp 82 79 ! 80 ENDIF 81 82 IF( rn_u10 /= 0. .AND. rn_windszy > 0. ) THEN 83 IF( nyear == 1 .AND. nmonth == 1 .AND. nday <= 10 ) THEN 84 WHERE( ABS(gphit) <= rn_windszy/2. .AND. ABS(glamt) <= rn_windszx/2. ) utau(:,:) = zrhocd * rn_u10 * rn_u10 85 ELSE 86 utau(:,:) = 0. 87 ENDIF 83 88 ENDIF 84 89 -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/CANAL/MY_SRC/usrdef_zgr.F90
r12740 r13632 197 197 zmaxlam = MAXVAL(glamt) 198 198 CALL mpp_max( 'usrdef_zgr', zmaxlam ) ! max over the global domain 199 zscl = rpi / zmaxlam200 z2d(:,:) = 0.5 * ( 1. - COS( glamt(:,:) * zscl ))201 z2d(:,:) = REAL(jpkm1 - NINT( 0. 75 * REAL(jpkm1,wp) * z2d(:,:) ), wp)199 zscl = 0.5 * rpi / zmaxlam 200 z2d(:,:) = COS( glamt(:,:) * zscl ) 201 z2d(:,:) = REAL(jpkm1 - NINT( 0.5 * REAL(jpkm1,wp) * z2d(:,:) ), wp) 202 202 END SELECT 203 203 ! 204 #if defined key_mpi3 205 CALL lbc_lnk_nc_multi( 'usrdef_zgr', z2d, 'T', 1. ) ! set surrounding land to zero (here jperio=0 ==>> closed) 206 #else 204 207 CALL lbc_lnk( 'usrdef_zgr', z2d, 'T', 1. ) ! set surrounding land to zero (here jperio=0 ==>> closed) 208 #endif 205 209 ! 206 210 k_bot(:,:) = NINT( z2d(:,:) ) ! =jpkm1 over the ocean point, =0 elsewhere -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/CPL_OASIS/EXPREF/context_nemo.xml
r12663 r13632 11 11 <variable id="ref_month" type="int"> 01 </variable> 12 12 <variable id="ref_day" type="int"> 01 </variable> 13 <variable id="r au0" type="float" > 1026.0 </variable>13 <variable id="rho0" type="float" > 1026.0 </variable> 14 14 <variable id="cpocean" type="float" > 3991.86795711963 </variable> 15 15 <variable id="convSpsu" type="float" > 0.99530670233846 </variable> -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/CPL_OASIS/EXPREF/namelist_cfg
r12663 r13632 254 254 !! !! 255 255 !! namdrg top/bottom drag coefficient (default: NO selection) 256 !! namdrg_top top friction (ln_ OFF=F & ln_isfcav=T)257 !! namdrg_bot bottom friction (ln_ OFF=F)256 !! namdrg_top top friction (ln_drg_OFF=F & ln_isfcav=T) 257 !! namdrg_bot bottom friction (ln_drg_OFF=F) 258 258 !! nambbc bottom temperature boundary condition (default: OFF) 259 259 !! nambbl bottom boundary layer scheme (default: OFF) … … 448 448 !! !! 449 449 !! namtrd dynamics and/or tracer trends (default: OFF) 450 !! namptr Poleward Transport Diagnostics (default: OFF)451 450 !! namhsb Heat and salt budgets (default: OFF) 452 451 !! namdiu Cool skin and warm layer models (default: OFF) -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/ICE_ADV1D/EXPREF/context_nemo.xml
r12276 r13632 11 11 <variable id="ref_month" type="int"> 01 </variable> 12 12 <variable id="ref_day" type="int"> 01 </variable> 13 <variable id="r au0" type="float" > 1026.0 </variable>13 <variable id="rho0" type="float" > 1026.0 </variable> 14 14 <variable id="cpocean" type="float" > 3991.86795711963 </variable> 15 15 <variable id="convSpsu" type="float" > 0.99530670233846 </variable> -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/ICE_ADV1D/EXPREF/namelist_cfg
r12489 r13632 106 106 !! !! 107 107 !! namdrg top/bottom drag coefficient (default: NO selection) 108 !! namdrg_top top friction (ln_ OFF=F & ln_isfcav=T)109 !! namdrg_bot bottom friction (ln_ OFF=F)108 !! namdrg_top top friction (ln_drg_OFF=F & ln_isfcav=T) 109 !! namdrg_bot bottom friction (ln_drg_OFF=F) 110 110 !! nambbc bottom temperature boundary condition (default: OFF) 111 111 !! nambbl bottom boundary layer scheme (default: OFF) … … 115 115 &namdrg ! top/bottom drag coefficient (default: NO selection) 116 116 !----------------------------------------------------------------------- 117 ln_ OFF = .true. ! free-slip : Cd = 0117 ln_drg_OFF = .true. ! free-slip : Cd = 0 (F => fill namdrg_bot 118 118 / 119 119 !!====================================================================== … … 197 197 !! !! 198 198 !! namtrd dynamics and/or tracer trends (default: OFF) 199 !! namptr Poleward Transport Diagnostics (default: OFF)200 199 !! namhsb Heat and salt budgets (default: OFF) 201 200 !! namdiu Cool skin and warm layer models (default: OFF) -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/ICE_ADV1D/EXPREF/namelist_cfg_120pts
r12489 r13632 106 106 !! !! 107 107 !! namdrg top/bottom drag coefficient (default: NO selection) 108 !! namdrg_top top friction (ln_ OFF=F & ln_isfcav=T)109 !! namdrg_bot bottom friction (ln_ OFF=F)108 !! namdrg_top top friction (ln_drg_OFF=F & ln_isfcav=T) 109 !! namdrg_bot bottom friction (ln_drg_OFF=F) 110 110 !! nambbc bottom temperature boundary condition (default: OFF) 111 111 !! nambbl bottom boundary layer scheme (default: OFF) … … 115 115 &namdrg ! top/bottom drag coefficient (default: NO selection) 116 116 !----------------------------------------------------------------------- 117 ln_ OFF = .true. ! free-slip : Cd = 0117 ln_drg_OFF = .true. ! free-slip : Cd = 0 (F => fill namdrg_bot 118 118 / 119 119 !!====================================================================== … … 197 197 !! !! 198 198 !! namtrd dynamics and/or tracer trends (default: OFF) 199 !! namptr Poleward Transport Diagnostics (default: OFF)200 199 !! namhsb Heat and salt budgets (default: OFF) 201 200 !! namdiu Cool skin and warm layer models (default: OFF) -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/ICE_ADV1D/EXPREF/namelist_cfg_240pts
r12489 r13632 106 106 !! !! 107 107 !! namdrg top/bottom drag coefficient (default: NO selection) 108 !! namdrg_top top friction (ln_ OFF=F & ln_isfcav=T)109 !! namdrg_bot bottom friction (ln_ OFF=F)108 !! namdrg_top top friction (ln_drg_OFF=F & ln_isfcav=T) 109 !! namdrg_bot bottom friction (ln_drg_OFF=F) 110 110 !! nambbc bottom temperature boundary condition (default: OFF) 111 111 !! nambbl bottom boundary layer scheme (default: OFF) … … 115 115 &namdrg ! top/bottom drag coefficient (default: NO selection) 116 116 !----------------------------------------------------------------------- 117 ln_ OFF = .true. ! free-slip : Cd = 0117 ln_drg_OFF = .true. ! free-slip : Cd = 0 (F => fill namdrg_bot 118 118 / 119 119 !!====================================================================== … … 197 197 !! !! 198 198 !! namtrd dynamics and/or tracer trends (default: OFF) 199 !! namptr Poleward Transport Diagnostics (default: OFF)200 199 !! namhsb Heat and salt budgets (default: OFF) 201 200 !! namdiu Cool skin and warm layer models (default: OFF) -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/ICE_ADV1D/EXPREF/namelist_cfg_60pts
r12489 r13632 106 106 !! !! 107 107 !! namdrg top/bottom drag coefficient (default: NO selection) 108 !! namdrg_top top friction (ln_ OFF=F & ln_isfcav=T)109 !! namdrg_bot bottom friction (ln_ OFF=F)108 !! namdrg_top top friction (ln_drg_OFF=F & ln_isfcav=T) 109 !! namdrg_bot bottom friction (ln_drg_OFF=F) 110 110 !! nambbc bottom temperature boundary condition (default: OFF) 111 111 !! nambbl bottom boundary layer scheme (default: OFF) … … 115 115 &namdrg ! top/bottom drag coefficient (default: NO selection) 116 116 !----------------------------------------------------------------------- 117 ln_ OFF = .true. ! free-slip : Cd = 0117 ln_drg_OFF = .true. ! free-slip : Cd = 0 (F => fill namdrg_bot 118 118 / 119 119 !!====================================================================== … … 197 197 !! !! 198 198 !! namtrd dynamics and/or tracer trends (default: OFF) 199 !! namptr Poleward Transport Diagnostics (default: OFF)200 199 !! namhsb Heat and salt budgets (default: OFF) 201 200 !! namdiu Cool skin and warm layer models (default: OFF) -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/ICE_ADV1D/EXPREF/namelist_ice_cfg
r10535 r13632 88 88 !------------------------------------------------------------------------------ 89 89 ln_iceini = .true. ! activate ice initialization (T) or not (F) 90 ln_iceini_file = .true. ! netcdf file provided for initialization (T) or not (F)90 nn_iceini_file = 1 ! netcdf file provided for initialization 91 91 92 92 sn_hti = 'initice_60pts' , -12 ,'hti' , .false. , .true., 'yearly' , '' , '', '' -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/ICE_ADV1D/EXPREF/namelist_ice_cfg_120pts
r10431 r13632 88 88 !------------------------------------------------------------------------------ 89 89 ln_iceini = .true. ! activate ice initialization (T) or not (F) 90 ln_iceini_file = .true. ! netcdf file provided for initialization (T) or not (F)90 nn_iceini_file = 1 ! netcdf file provided for initialization 91 91 92 92 sn_hti = 'initice_120pts' , -12 ,'hti' , .false. , .true., 'yearly' , '' , '', '' -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/ICE_ADV1D/EXPREF/namelist_ice_cfg_240pts
r10431 r13632 88 88 !------------------------------------------------------------------------------ 89 89 ln_iceini = .true. ! activate ice initialization (T) or not (F) 90 ln_iceini_file = .true. ! netcdf file provided for initialization (T) or not (F)90 nn_iceini_file = 1 ! netcdf file provided for initialization 91 91 92 92 sn_hti = 'initice_240pts' , -12 ,'hti' , .false. , .true., 'yearly' , '' , '', '' -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/ICE_ADV1D/EXPREF/namelist_ice_cfg_60pts
r10431 r13632 88 88 !------------------------------------------------------------------------------ 89 89 ln_iceini = .true. ! activate ice initialization (T) or not (F) 90 ln_iceini_file = .true. ! netcdf file provided for initialization (T) or not (F)90 nn_iceini_file = 1 ! netcdf file provided for initialization 91 91 92 92 sn_hti = 'initice_60pts' , -12 ,'hti' , .false. , .true., 'yearly' , '' , '', '' -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/ICE_ADV1D/MY_SRC/usrdef_sbc.F90
r12377 r13632 107 107 REAL(wp), DIMENSION(:,:,:), INTENT(in) :: phi ! ice thickness 108 108 !! 109 INTEGER :: jl 109 110 REAL(wp) :: zfr1, zfr2 ! local variables 110 111 REAL(wp), DIMENSION(jpi,jpj) :: zsnw ! snw distribution after wind blowing 112 REAL(wp), DIMENSION(jpi,jpj) :: ztri 111 113 !!--------------------------------------------------------------------- 112 114 ! … … 141 143 142 144 ! --- shortwave radiation transmitted below the surface (W/m2, see Grenfell Maykut 77) --- ! 143 zfr1 = ( 0.18 * ( 1.0 - cldf_ice ) + 0.35 * cldf_ice ) ! transmission when hi>10cm144 z fr2 = ( 0.82 * ( 1.0 - cldf_ice ) + 0.65 * cldf_ice ) ! zfr2 such that zfr1 + zfr2 to equal 1145 cloud_fra(:,:) = pp_cldf 146 ztri(:,:) = 0.18 * ( 1.0 - cloud_fra(:,:) ) + 0.35 * cloud_fra(:,:) ! surface transmission when hi>10cm 145 147 ! 146 WHERE ( phs(:,:,:) <= 0._wp .AND. phi(:,:,:) < 0.1_wp ) ! linear decrease from hi=0 to 10cm 147 qtr_ice_top(:,:,:) = qsr_ice(:,:,:) * ( zfr1 + zfr2 * ( 1._wp - phi(:,:,:) * 10._wp ) ) 148 ELSEWHERE( phs(:,:,:) <= 0._wp .AND. phi(:,:,:) >= 0.1_wp ) ! constant (zfr1) when hi>10cm 149 qtr_ice_top(:,:,:) = qsr_ice(:,:,:) * zfr1 150 ELSEWHERE ! zero when hs>0 151 qtr_ice_top(:,:,:) = 0._wp 152 END WHERE 153 148 DO jl = 1, jpl 149 WHERE ( phs(:,:,jl) <= 0._wp .AND. phi(:,:,jl) < 0.1_wp ) ! linear decrease from hi=0 to 10cm 150 qtr_ice_top(:,:,jl) = qsr_ice(:,:,jl) * ( ztri(:,:) + ( 1._wp - ztri(:,:) ) * ( 1._wp - phi(:,:,jl) * 10._wp ) ) 151 ELSEWHERE( phs(:,:,jl) <= 0._wp .AND. phi(:,:,jl) >= 0.1_wp ) ! constant (ztri) when hi>10cm 152 qtr_ice_top(:,:,jl) = qsr_ice(:,:,jl) * ztri(:,:) 153 ELSEWHERE ! zero when hs>0 154 qtr_ice_top(:,:,jl) = 0._wp 155 END WHERE 156 ENDDO 157 158 154 159 END SUBROUTINE usrdef_sbc_ice_flx 155 160 -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/ICE_ADV2D/EXPREF/context_nemo.xml
r12276 r13632 11 11 <variable id="ref_month" type="int"> 01 </variable> 12 12 <variable id="ref_day" type="int"> 01 </variable> 13 <variable id="r au0" type="float" > 1026.0 </variable>13 <variable id="rho0" type="float" > 1026.0 </variable> 14 14 <variable id="cpocean" type="float" > 3991.86795711963 </variable> 15 15 <variable id="convSpsu" type="float" > 0.99530670233846 </variable> -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/ICE_ADV2D/EXPREF/namelist_cfg
r12489 r13632 106 106 !! !! 107 107 !! namdrg top/bottom drag coefficient (default: NO selection) 108 !! namdrg_top top friction (ln_ OFF=F & ln_isfcav=T)109 !! namdrg_bot bottom friction (ln_ OFF=F)108 !! namdrg_top top friction (ln_drg_OFF=F & ln_isfcav=T) 109 !! namdrg_bot bottom friction (ln_drg_OFF=F) 110 110 !! nambbc bottom temperature boundary condition (default: OFF) 111 111 !! nambbl bottom boundary layer scheme (default: OFF) … … 115 115 &namdrg ! top/bottom drag coefficient (default: NO selection) 116 116 !----------------------------------------------------------------------- 117 ln_ OFF = .true. ! free-slip : Cd = 0117 ln_drg_OFF = .true. ! free-slip : Cd = 0 (F => fill namdrg_bot 118 118 / 119 119 !!====================================================================== … … 197 197 !! !! 198 198 !! namtrd dynamics and/or tracer trends (default: OFF) 199 !! namptr Poleward Transport Diagnostics (default: OFF)200 199 !! namhsb Heat and salt budgets (default: OFF) 201 200 !! namdiu Cool skin and warm layer models (default: OFF) -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/ICE_ADV2D/EXPREF/namelist_ice_cfg
r10535 r13632 86 86 !------------------------------------------------------------------------------ 87 87 ln_iceini = .true. ! activate ice initialization (T) or not (F) 88 ln_iceini_file = .true. ! netcdf file provided for initialization (T) or not (F)88 nn_iceini_file = 1 ! netcdf file provided for initialization 89 89 90 90 sn_hti = 'initice' , -12 ,'hti' , .false. , .true., 'yearly' , '' , '', '' -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/ICE_ADV2D/MY_SRC/usrdef_sbc.F90
r12377 r13632 107 107 REAL(wp), DIMENSION(:,:,:), INTENT(in) :: phi ! ice thickness 108 108 !! 109 INTEGER :: jl 109 110 REAL(wp) :: zfr1, zfr2 ! local variables 110 111 REAL(wp), DIMENSION(jpi,jpj) :: zsnw ! snw distribution after wind blowing 112 REAL(wp), DIMENSION(jpi,jpj) :: ztri 111 113 !!--------------------------------------------------------------------- 112 114 ! … … 141 143 142 144 ! --- shortwave radiation transmitted below the surface (W/m2, see Grenfell Maykut 77) --- ! 143 zfr1 = ( 0.18 * ( 1.0 - cldf_ice ) + 0.35 * cldf_ice ) ! transmission when hi>10cm144 z fr2 = ( 0.82 * ( 1.0 - cldf_ice ) + 0.65 * cldf_ice ) ! zfr2 such that zfr1 + zfr2 to equal 1145 cloud_fra(:,:) = pp_cldf 146 ztri(:,:) = 0.18 * ( 1.0 - cloud_fra(:,:) ) + 0.35 * cloud_fra(:,:) ! surface transmission when hi>10cm 145 147 ! 146 WHERE ( phs(:,:,:) <= 0._wp .AND. phi(:,:,:) < 0.1_wp ) ! linear decrease from hi=0 to 10cm 147 qtr_ice_top(:,:,:) = qsr_ice(:,:,:) * ( zfr1 + zfr2 * ( 1._wp - phi(:,:,:) * 10._wp ) ) 148 ELSEWHERE( phs(:,:,:) <= 0._wp .AND. phi(:,:,:) >= 0.1_wp ) ! constant (zfr1) when hi>10cm 149 qtr_ice_top(:,:,:) = qsr_ice(:,:,:) * zfr1 150 ELSEWHERE ! zero when hs>0 151 qtr_ice_top(:,:,:) = 0._wp 152 END WHERE 153 148 DO jl = 1, jpl 149 WHERE ( phs(:,:,jl) <= 0._wp .AND. phi(:,:,jl) < 0.1_wp ) ! linear decrease from hi=0 to 10cm 150 qtr_ice_top(:,:,jl) = qsr_ice(:,:,jl) * ( ztri(:,:) + ( 1._wp - ztri(:,:) ) * ( 1._wp - phi(:,:,jl) * 10._wp ) ) 151 ELSEWHERE( phs(:,:,jl) <= 0._wp .AND. phi(:,:,jl) >= 0.1_wp ) ! constant (ztri) when hi>10cm 152 qtr_ice_top(:,:,jl) = qsr_ice(:,:,jl) * ztri(:,:) 153 ELSEWHERE ! zero when hs>0 154 qtr_ice_top(:,:,jl) = 0._wp 155 END WHERE 156 ENDDO 157 158 154 159 END SUBROUTINE usrdef_sbc_ice_flx 155 160 -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/ICE_AGRIF/EXPREF/1_namelist_cfg
r12489 r13632 106 106 !! !! 107 107 !! namdrg top/bottom drag coefficient (default: NO selection) 108 !! namdrg_top top friction (ln_ OFF=F & ln_isfcav=T)109 !! namdrg_bot bottom friction (ln_ OFF=F)108 !! namdrg_top top friction (ln_drg_OFF=F & ln_isfcav=T) 109 !! namdrg_bot bottom friction (ln_drg_OFF=F) 110 110 !! nambbc bottom temperature boundary condition (default: OFF) 111 111 !! nambbl bottom boundary layer scheme (default: OFF) … … 115 115 &namdrg ! top/bottom drag coefficient (default: NO selection) 116 116 !----------------------------------------------------------------------- 117 ln_ OFF = .true. ! free-slip : Cd = 0117 ln_drg_OFF = .true. ! free-slip : Cd = 0 (F => fill namdrg_bot 118 118 / 119 119 !!====================================================================== … … 197 197 !! !! 198 198 !! namtrd dynamics and/or tracer trends (default: OFF) 199 !! namptr Poleward Transport Diagnostics (default: OFF)200 199 !! namhsb Heat and salt budgets (default: OFF) 201 200 !! namdiu Cool skin and warm layer models (default: OFF) -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/ICE_AGRIF/EXPREF/context_nemo.xml
r12377 r13632 11 11 <variable id="ref_month" type="int"> 01 </variable> 12 12 <variable id="ref_day" type="int"> 01 </variable> 13 <variable id="r au0" type="float" > 1026.0 </variable>13 <variable id="rho0" type="float" > 1026.0 </variable> 14 14 <variable id="cpocean" type="float" > 3991.86795711963 </variable> 15 15 <variable id="convSpsu" type="float" > 0.99530670233846 </variable> -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/ICE_AGRIF/EXPREF/namelist_cfg
r12489 r13632 106 106 !! !! 107 107 !! namdrg top/bottom drag coefficient (default: NO selection) 108 !! namdrg_top top friction (ln_ OFF=F & ln_isfcav=T)109 !! namdrg_bot bottom friction (ln_ OFF=F)108 !! namdrg_top top friction (ln_drg_OFF=F & ln_isfcav=T) 109 !! namdrg_bot bottom friction (ln_drg_OFF=F) 110 110 !! nambbc bottom temperature boundary condition (default: OFF) 111 111 !! nambbl bottom boundary layer scheme (default: OFF) … … 115 115 &namdrg ! top/bottom drag coefficient (default: NO selection) 116 116 !----------------------------------------------------------------------- 117 ln_ OFF = .true. ! free-slip : Cd = 0117 ln_drg_OFF = .true. ! free-slip : Cd = 0 (F => fill namdrg_bot 118 118 / 119 119 !!====================================================================== … … 197 197 !! !! 198 198 !! namtrd dynamics and/or tracer trends (default: OFF) 199 !! namptr Poleward Transport Diagnostics (default: OFF)200 199 !! namhsb Heat and salt budgets (default: OFF) 201 200 !! namdiu Cool skin and warm layer models (default: OFF) -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/ICE_AGRIF/EXPREF/namelist_ice_cfg
r10535 r13632 86 86 !------------------------------------------------------------------------------ 87 87 ln_iceini = .true. ! activate ice initialization (T) or not (F) 88 ln_iceini_file = .true. ! netcdf file provided for initialization (T) or not (F)88 nn_iceini_file = 1 ! netcdf file provided for initialization 89 89 90 90 sn_hti = 'initice' , -12 ,'hti' , .false. , .true., 'yearly' , '' , '', '' -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/ICE_AGRIF/MY_SRC/usrdef_sbc.F90
r12377 r13632 107 107 REAL(wp), DIMENSION(:,:,:), INTENT(in) :: phi ! ice thickness 108 108 !! 109 INTEGER :: jl 109 110 REAL(wp) :: zfr1, zfr2 ! local variables 110 111 REAL(wp), DIMENSION(jpi,jpj) :: zsnw ! snw distribution after wind blowing 112 REAL(wp), DIMENSION(jpi,jpj) :: ztri 111 113 !!--------------------------------------------------------------------- 112 114 ! … … 141 143 142 144 ! --- shortwave radiation transmitted below the surface (W/m2, see Grenfell Maykut 77) --- ! 143 zfr1 = ( 0.18 * ( 1.0 - cldf_ice ) + 0.35 * cldf_ice ) ! transmission when hi>10cm144 z fr2 = ( 0.82 * ( 1.0 - cldf_ice ) + 0.65 * cldf_ice ) ! zfr2 such that zfr1 + zfr2 to equal 1145 cloud_fra(:,:) = pp_cldf 146 ztri(:,:) = 0.18 * ( 1.0 - cloud_fra(:,:) ) + 0.35 * cloud_fra(:,:) ! surface transmission when hi>10cm 145 147 ! 146 WHERE ( phs(:,:,:) <= 0._wp .AND. phi(:,:,:) < 0.1_wp ) ! linear decrease from hi=0 to 10cm 147 qtr_ice_top(:,:,:) = qsr_ice(:,:,:) * ( zfr1 + zfr2 * ( 1._wp - phi(:,:,:) * 10._wp ) ) 148 ELSEWHERE( phs(:,:,:) <= 0._wp .AND. phi(:,:,:) >= 0.1_wp ) ! constant (zfr1) when hi>10cm 149 qtr_ice_top(:,:,:) = qsr_ice(:,:,:) * zfr1 150 ELSEWHERE ! zero when hs>0 151 qtr_ice_top(:,:,:) = 0._wp 152 END WHERE 148 DO jl = 1, jpl 149 WHERE ( phs(:,:,jl) <= 0._wp .AND. phi(:,:,jl) < 0.1_wp ) ! linear decrease from hi=0 to 10cm 150 qtr_ice_top(:,:,jl) = qsr_ice(:,:,jl) * ( ztri(:,:) + ( 1._wp - ztri(:,:) ) * ( 1._wp - phi(:,:,jl) * 10._wp ) ) 151 ELSEWHERE( phs(:,:,jl) <= 0._wp .AND. phi(:,:,jl) >= 0.1_wp ) ! constant (ztri) when hi>10cm 152 qtr_ice_top(:,:,jl) = qsr_ice(:,:,jl) * ztri(:,:) 153 ELSEWHERE ! zero when hs>0 154 qtr_ice_top(:,:,jl) = 0._wp 155 END WHERE 156 ENDDO 153 157 154 158 END SUBROUTINE usrdef_sbc_ice_flx -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/ISOMIP+/EXPREF/namelist_cfg
r12905 r13632 261 261 !! !! 262 262 !! namdrg top/bottom drag coefficient (default: NO selection) 263 !! namdrg_top top friction (ln_ OFF=F & ln_isfcav=T)264 !! namdrg_bot bottom friction (ln_ OFF=F)263 !! namdrg_top top friction (ln_drg_OFF=F & ln_isfcav=T) 264 !! namdrg_bot bottom friction (ln_drg_OFF=F) 265 265 !! nambbc bottom temperature boundary condition (default: OFF) 266 266 !! nambbl bottom boundary layer scheme (default: OFF) … … 273 273 / 274 274 !----------------------------------------------------------------------- 275 &namdrg_top ! TOP friction (ln_ OFF =F & ln_isfcav=T)275 &namdrg_top ! TOP friction (ln_drg_OFF =F & ln_isfcav=T) 276 276 !----------------------------------------------------------------------- 277 277 rn_Cd0 = 2.5e-3 ! drag coefficient [-] … … 279 279 / 280 280 !----------------------------------------------------------------------- 281 &namdrg_bot ! BOTTOM friction (ln_ OFF =F)281 &namdrg_bot ! BOTTOM friction (ln_drg_OFF =F) 282 282 !----------------------------------------------------------------------- 283 283 rn_Cd0 = 2.5e-3 ! drag coefficient [-] … … 311 311 ! 312 312 ! ! S-EOS coefficients (ln_seos=T): 313 ! ! rd(T,S,Z)*r au0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS313 ! ! rd(T,S,Z)*rho0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS 314 314 ! ! L-EOS coefficients (ln_seos=T): 315 ! ! rd(T,S,Z)*r au0 = rau0*(-a0*dT+b0*dS)315 ! ! rd(T,S,Z)*rho0 = rho0*(-a0*dT+b0*dS) 316 316 rn_a0 = 3.7330e-5 ! thermal expension coefficient 317 317 rn_b0 = 7.8430e-4 ! saline expension coefficient … … 461 461 !! !! 462 462 !! namtrd dynamics and/or tracer trends (default: OFF) 463 !! namptr Poleward Transport Diagnostics (default: OFF)464 463 !! namhsb Heat and salt budgets (default: OFF) 465 464 !! namdiu Cool skin and warm layer models (default: OFF) … … 478 477 / 479 478 !----------------------------------------------------------------------- 480 &namptr ! Poleward Transport Diagnostic (default: OFF)481 479 !----------------------------------------------------------------------- 482 480 / -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/ISOMIP+/MY_SRC/sbcfwb.F90
r13286 r13632 95 95 snwice_mass_b(:,:) = 0.e0 ! no sea-ice model is being used : no snow+ice mass 96 96 snwice_mass (:,:) = 0.e0 97 snwice_fmass (:,:) = 0.e0 97 98 #endif 98 99 ! … … 205 206 ! 206 207 !!gm ===>>>> lbc_lnk should be useless as all the computation is done over the whole domain ! 208 #if defined key_mpi3 209 CALL lbc_lnk_nc_multi( 'sbcfwb', zerp_cor, 'T', 1. ) 210 #else 207 211 CALL lbc_lnk( 'sbcfwb', zerp_cor, 'T', 1. ) 212 #endif 208 213 ! 209 214 emp(:,:) = emp(:,:) + zerp_cor(:,:) -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/ISOMIP/EXPREF/context_nemo.xml
r12276 r13632 11 11 <variable id="ref_month" type="int"> 01 </variable> 12 12 <variable id="ref_day" type="int"> 01 </variable> 13 <variable id="r au0" type="float" > 1026.0 </variable>13 <variable id="rho0" type="float" > 1026.0 </variable> 14 14 <variable id="cpocean" type="float" > 3991.86795711963 </variable> 15 15 <variable id="convSpsu" type="float" > 0.99530670233846 </variable> -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/ISOMIP/EXPREF/namelist_cfg
r12489 r13632 227 227 !! !! 228 228 !! namdrg top/bottom drag coefficient (default: NO selection) 229 !! namdrg_top top friction (ln_ OFF=F & ln_isfcav=T)230 !! namdrg_bot bottom friction (ln_ OFF=F)229 !! namdrg_top top friction (ln_drg_OFF=F & ln_isfcav=T) 230 !! namdrg_bot bottom friction (ln_drg_OFF=F) 231 231 !! nambbc bottom temperature boundary condition (default: OFF) 232 232 !! nambbl bottom boundary layer scheme (default: OFF) … … 236 236 &namdrg ! top/bottom drag coefficient (default: NO selection) 237 237 !----------------------------------------------------------------------- 238 ln_ OFF = .false.! free-slip : Cd = 0 (F => fill namdrg_bot238 ln_drg_OFF = .false. ! free-slip : Cd = 0 (F => fill namdrg_bot 239 239 ln_lin = .false. ! linear drag: Cd = Cd0 Uc0 & namdrg_top) 240 240 ln_non_lin = .true. ! non-linear drag: Cd = Cd0 |U| … … 244 244 / 245 245 !----------------------------------------------------------------------- 246 &namdrg_top ! TOP friction (ln_ OFF =F & ln_isfcav=T)246 &namdrg_top ! TOP friction (ln_drg_OFF =F & ln_isfcav=T) 247 247 !----------------------------------------------------------------------- 248 248 rn_Cd0 = 2.5e-3 ! drag coefficient [-] … … 255 255 / 256 256 !----------------------------------------------------------------------- 257 &namdrg_bot ! BOTTOM friction (ln_ OFF =F)257 &namdrg_bot ! BOTTOM friction (ln_drg_OFF =F) 258 258 !----------------------------------------------------------------------- 259 259 rn_Cd0 = 1.e-3 ! drag coefficient [-] … … 423 423 !! !! 424 424 !! namtrd dynamics and/or tracer trends (default: OFF) 425 !! namptr Poleward Transport Diagnostics (default: OFF)426 425 !! namhsb Heat and salt budgets (default: OFF) 427 426 !! namdiu Cool skin and warm layer models (default: OFF) … … 438 437 / 439 438 !----------------------------------------------------------------------- 440 &namptr ! Poleward Transport Diagnostic (default: OFF)441 439 !----------------------------------------------------------------------- 442 440 / -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/ISOMIP/MY_SRC/usrdef_zgr.F90
r13295 r13632 164 164 pe3f (ji,jj,jk) = pe3v(ji,jj,jk) 165 165 END_3D 166 #if defined key_mpi3 167 CALL lbc_lnk_nc_multi( 'usrdef_zgr', pe3v , 'V', 1._wp ) ; CALL lbc_lnk_nc_multi( 'usrdef_zgr', pe3vw, 'V', 1._wp ) 168 CALL lbc_lnk_nc_multi( 'usrdef_zgr', pe3f , 'F', 1._wp ) 169 #else 166 170 CALL lbc_lnk( 'usrdef_zgr', pe3v , 'V', 1._wp ) ; CALL lbc_lnk( 'usrdef_zgr', pe3vw, 'V', 1._wp ) 167 171 CALL lbc_lnk( 'usrdef_zgr', pe3f , 'F', 1._wp ) 172 #endif 168 173 DO jk = 1, jpk 169 174 ! set to z-scale factor if zero (i.e. along closed boundaries) because of lbclnk -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/LOCK_EXCHANGE/EXPREF/context_nemo.xml
r12276 r13632 11 11 <variable id="ref_month" type="int"> 01 </variable> 12 12 <variable id="ref_day" type="int"> 01 </variable> 13 <variable id="r au0" type="float" > 1026.0 </variable>13 <variable id="rho0" type="float" > 1026.0 </variable> 14 14 <variable id="cpocean" type="float" > 3991.86795711963 </variable> 15 15 <variable id="convSpsu" type="float" > 0.99530670233846 </variable> -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/LOCK_EXCHANGE/EXPREF/namelist_FCT2_flux_cen2_cfg
r12489 r13632 65 65 &namdrg ! top/bottom drag coefficient (default: NO selection) 66 66 !----------------------------------------------------------------------- 67 ln_ OFF = .true. ! free-slip : Cd = 067 ln_drg_OFF = .true. ! free-slip : Cd = 0 (F => fill namdrg_bot 68 68 / 69 69 !----------------------------------------------------------------------- … … 72 72 ln_seos = .true. ! = Use simplified equation of state (S-EOS) 73 73 ! ! S-EOS coefficients (nn_eos=1): 74 ! ! rd(T,S,Z)*r au0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS74 ! ! rd(T,S,Z)*rho0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS 75 75 rn_a0 = 0.2 ! thermal expension coefficient (nn_eos= 1) 76 76 rn_b0 = 0. ! saline expension coefficient (nn_eos= 1) -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/LOCK_EXCHANGE/EXPREF/namelist_FCT2_flux_ubs_cfg
r12489 r13632 110 110 !! !! 111 111 !! namdrg top/bottom drag coefficient (default: NO selection) 112 !! namdrg_top top friction (ln_ OFF=F & ln_isfcav=T)113 !! namdrg_bot bottom friction (ln_ OFF=F)112 !! namdrg_top top friction (ln_drg_OFF=F & ln_isfcav=T) 113 !! namdrg_bot bottom friction (ln_drg_OFF=F) 114 114 !! nambbc bottom temperature boundary condition (default: OFF) 115 115 !! nambbl bottom boundary layer scheme (default: OFF) … … 119 119 &namdrg ! top/bottom drag coefficient (default: NO selection) 120 120 !----------------------------------------------------------------------- 121 ln_ OFF = .true. ! free-slip : Cd = 0121 ln_drg_OFF = .true. ! free-slip : Cd = 0 (F => fill namdrg_bot 122 122 / 123 123 !!====================================================================== … … 137 137 ln_seos = .true. ! = Use simplified equation of state (S-EOS) 138 138 ! ! S-EOS coefficients (nn_eos=1): 139 ! ! rd(T,S,Z)*r au0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS139 ! ! rd(T,S,Z)*rho0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS 140 140 rn_a0 = 0.2 ! thermal expension coefficient (nn_eos= 1) 141 141 rn_b0 = 0. ! saline expension coefficient (nn_eos= 1) … … 271 271 !! !! 272 272 !! namtrd dynamics and/or tracer trends (default: OFF) 273 !! namptr Poleward Transport Diagnostics (default: OFF)274 273 !! namhsb Heat and salt budgets (default: OFF) 275 274 !! namdiu Cool skin and warm layer models (default: OFF) -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/LOCK_EXCHANGE/EXPREF/namelist_FCT2_vect_eenH_cfg
r12489 r13632 65 65 &namdrg ! top/bottom drag coefficient (default: NO selection) 66 66 !----------------------------------------------------------------------- 67 ln_ OFF = .true. ! free-slip : Cd = 067 ln_drg_OFF = .true. ! free-slip : Cd = 0 (F => fill namdrg_bot 68 68 / 69 69 !----------------------------------------------------------------------- … … 72 72 ln_seos = .true. ! = Use simplified equation of state (S-EOS) 73 73 ! ! S-EOS coefficients (nn_eos=1): 74 ! ! rd(T,S,Z)*r au0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS74 ! ! rd(T,S,Z)*rho0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS 75 75 rn_a0 = 0.2 ! thermal expension coefficient (nn_eos= 1) 76 76 rn_b0 = 0. ! saline expension coefficient (nn_eos= 1) -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/LOCK_EXCHANGE/EXPREF/namelist_FCT2_vect_een_cfg
r12489 r13632 65 65 &namdrg ! top/bottom drag coefficient (default: NO selection) 66 66 !----------------------------------------------------------------------- 67 ln_ OFF = .true. ! free-slip : Cd = 067 ln_drg_OFF = .true. ! free-slip : Cd = 0 (F => fill namdrg_bot 68 68 / 69 69 !----------------------------------------------------------------------- … … 72 72 ln_seos = .true. ! = Use simplified equation of state (S-EOS) 73 73 ! ! S-EOS coefficients (nn_eos=1): 74 ! ! rd(T,S,Z)*r au0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS74 ! ! rd(T,S,Z)*rho0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS 75 75 rn_a0 = 0.2 ! thermal expension coefficient (nn_eos= 1) 76 76 rn_b0 = 0. ! saline expension coefficient (nn_eos= 1) -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/LOCK_EXCHANGE/EXPREF/namelist_FCT2_vect_ene_cfg
r12489 r13632 65 65 &namdrg ! top/bottom drag coefficient (default: NO selection) 66 66 !----------------------------------------------------------------------- 67 ln_ OFF = .true. ! free-slip : Cd = 067 ln_drg_OFF = .true. ! free-slip : Cd = 0 (F => fill namdrg_bot 68 68 / 69 69 !----------------------------------------------------------------------- … … 72 72 ln_seos = .true. ! = Use simplified equation of state (S-EOS) 73 73 ! ! S-EOS coefficients (nn_eos=1): 74 ! ! rd(T,S,Z)*r au0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS74 ! ! rd(T,S,Z)*rho0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS 75 75 rn_a0 = 0.2 ! thermal expension coefficient (nn_eos= 1) 76 76 rn_b0 = 0. ! saline expension coefficient (nn_eos= 1) -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/LOCK_EXCHANGE/EXPREF/namelist_FCT2_vect_ens_cfg
r12489 r13632 65 65 &namdrg ! top/bottom drag coefficient (default: NO selection) 66 66 !----------------------------------------------------------------------- 67 ln_ OFF = .true. ! free-slip : Cd = 067 ln_drg_OFF = .true. ! free-slip : Cd = 0 (F => fill namdrg_bot 68 68 / 69 69 !----------------------------------------------------------------------- … … 72 72 ln_seos = .true. ! = Use simplified equation of state (S-EOS) 73 73 ! ! S-EOS coefficients (nn_eos=1): 74 ! ! rd(T,S,Z)*r au0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS74 ! ! rd(T,S,Z)*rho0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS 75 75 rn_a0 = 0.2 ! thermal expension coefficient (nn_eos= 1) 76 76 rn_b0 = 0. ! saline expension coefficient (nn_eos= 1) -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/LOCK_EXCHANGE/EXPREF/namelist_FCT4_flux_cen2_cfg
r12489 r13632 65 65 &namdrg ! top/bottom drag coefficient (default: NO selection) 66 66 !----------------------------------------------------------------------- 67 ln_ OFF = .true. ! free-slip : Cd = 067 ln_drg_OFF = .true. ! free-slip : Cd = 0 (F => fill namdrg_bot 68 68 / 69 69 !----------------------------------------------------------------------- … … 72 72 ln_seos = .true. ! = Use simplified equation of state (S-EOS) 73 73 ! ! S-EOS coefficients (nn_eos=1): 74 ! ! rd(T,S,Z)*r au0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS74 ! ! rd(T,S,Z)*rho0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS 75 75 rn_a0 = 0.2 ! thermal expension coefficient (nn_eos= 1) 76 76 rn_b0 = 0. ! saline expension coefficient (nn_eos= 1) -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/LOCK_EXCHANGE/EXPREF/namelist_FCT4_flux_ubs_cfg
r12489 r13632 65 65 &namdrg ! top/bottom drag coefficient (default: NO selection) 66 66 !----------------------------------------------------------------------- 67 ln_ OFF = .true. ! free-slip : Cd = 067 ln_drg_OFF = .true. ! free-slip : Cd = 0 (F => fill namdrg_bot 68 68 / 69 69 !----------------------------------------------------------------------- … … 72 72 ln_seos = .true. ! = Use simplified equation of state (S-EOS) 73 73 ! ! S-EOS coefficients (nn_eos=1): 74 ! ! rd(T,S,Z)*r au0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS74 ! ! rd(T,S,Z)*rho0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS 75 75 rn_a0 = 0.2 ! thermal expension coefficient (nn_eos= 1) 76 76 rn_b0 = 0. ! saline expension coefficient (nn_eos= 1) -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/LOCK_EXCHANGE/EXPREF/namelist_FCT4_vect_eenH_cfg
r12489 r13632 65 65 &namdrg ! top/bottom drag coefficient (default: NO selection) 66 66 !----------------------------------------------------------------------- 67 ln_ OFF = .true. ! free-slip : Cd = 067 ln_drg_OFF = .true. ! free-slip : Cd = 0 (F => fill namdrg_bot 68 68 / 69 69 !----------------------------------------------------------------------- … … 72 72 ln_seos = .true. ! = Use simplified equation of state (S-EOS) 73 73 ! ! S-EOS coefficients (nn_eos=1): 74 ! ! rd(T,S,Z)*r au0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS74 ! ! rd(T,S,Z)*rho0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS 75 75 rn_a0 = 0.2 ! thermal expension coefficient (nn_eos= 1) 76 76 rn_b0 = 0. ! saline expension coefficient (nn_eos= 1) -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/LOCK_EXCHANGE/EXPREF/namelist_FCT4_vect_een_cfg
r12489 r13632 65 65 &namdrg ! top/bottom drag coefficient (default: NO selection) 66 66 !----------------------------------------------------------------------- 67 ln_ OFF = .true. ! free-slip : Cd = 067 ln_drg_OFF = .true. ! free-slip : Cd = 0 (F => fill namdrg_bot 68 68 / 69 69 !----------------------------------------------------------------------- … … 72 72 ln_seos = .true. ! = Use simplified equation of state (S-EOS) 73 73 ! ! S-EOS coefficients (nn_eos=1): 74 ! ! rd(T,S,Z)*r au0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS74 ! ! rd(T,S,Z)*rho0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS 75 75 rn_a0 = 0.2 ! thermal expension coefficient (nn_eos= 1) 76 76 rn_b0 = 0. ! saline expension coefficient (nn_eos= 1) -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/LOCK_EXCHANGE/EXPREF/namelist_FCT4_vect_ene_cfg
r12489 r13632 65 65 &namdrg ! top/bottom drag coefficient (default: NO selection) 66 66 !----------------------------------------------------------------------- 67 ln_ OFF = .true. ! free-slip : Cd = 067 ln_drg_OFF = .true. ! free-slip : Cd = 0 (F => fill namdrg_bot 68 68 / 69 69 !----------------------------------------------------------------------- … … 72 72 ln_seos = .true. ! = Use simplified equation of state (S-EOS) 73 73 ! ! S-EOS coefficients (nn_eos=1): 74 ! ! rd(T,S,Z)*r au0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS74 ! ! rd(T,S,Z)*rho0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS 75 75 rn_a0 = 0.2 ! thermal expension coefficient (nn_eos= 1) 76 76 rn_b0 = 0. ! saline expension coefficient (nn_eos= 1) -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/LOCK_EXCHANGE/EXPREF/namelist_FCT4_vect_ens_cfg
r12489 r13632 65 65 &namdrg ! top/bottom drag coefficient (default: NO selection) 66 66 !----------------------------------------------------------------------- 67 ln_ OFF = .true. ! free-slip : Cd = 067 ln_drg_OFF = .true. ! free-slip : Cd = 0 (F => fill namdrg_bot 68 68 / 69 69 !----------------------------------------------------------------------- … … 72 72 ln_seos = .true. ! = Use simplified equation of state (S-EOS) 73 73 ! ! S-EOS coefficients (nn_eos=1): 74 ! ! rd(T,S,Z)*r au0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS74 ! ! rd(T,S,Z)*rho0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS 75 75 rn_a0 = 0.2 ! thermal expension coefficient (nn_eos= 1) 76 76 rn_b0 = 0. ! saline expension coefficient (nn_eos= 1) -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/LOCK_EXCHANGE/MY_SRC/usrdef_zgr.F90
r12377 r13632 86 86 ! the ocean basin surrounded by land (1 grid-point) set through lbc_lnk call as jperio=0 87 87 z2d(:,:) = 1._wp ! surface ocean is the 1st level 88 #if defined key_mpi3 89 CALL lbc_lnk_nc_multi( 'usrdef_zgr', z2d, 'T', 1. ) ! closed basin since jperio = 0 (see userdef_nam.F90) 90 #else 88 91 CALL lbc_lnk( 'usrdef_zgr', z2d, 'T', 1. ) ! closed basin since jperio = 0 (see userdef_nam.F90) 92 #endif 89 93 k_top(:,:) = NINT( z2d(:,:) ) 90 94 ! -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/OVERFLOW/EXPREF/context_nemo.xml
r12276 r13632 11 11 <variable id="ref_month" type="int"> 01 </variable> 12 12 <variable id="ref_day" type="int"> 01 </variable> 13 <variable id="r au0" type="float" > 1026.0 </variable>13 <variable id="rho0" type="float" > 1026.0 </variable> 14 14 <variable id="cpocean" type="float" > 3991.86795711963 </variable> 15 15 <variable id="convSpsu" type="float" > 0.99530670233846 </variable> -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/OVERFLOW/EXPREF/namelist_sco_FCT2_flux_cen-ahm1000_cfg
r12489 r13632 21 21 nn_it000 = 1 ! first time step 22 22 nn_itend = 6120 ! here 17h of simulation (=6120 time-step) 23 !nn_itend = 5760 ! here 16h of simulation (=5760 time-step) abort after 5802 for zps: pb of physics conditions24 23 nn_istate = 0 ! output the initial state (1) or not (0) 25 24 nn_stock = 6120 ! frequency of creation of a restart file (modulo referenced to 1) … … 71 70 &namdrg ! top/bottom drag coefficient (default: NO selection) 72 71 !----------------------------------------------------------------------- 73 ln_ OFF = .true.! free-slip : Cd = 0 (F => fill namdrg_bot72 ln_drg_OFF = .true. ! free-slip : Cd = 0 (F => fill namdrg_bot 74 73 ln_lin = .false. ! linear drag: Cd = Cd0 Uc0 & namdrg_top) 75 74 ln_non_lin = .false. ! non-linear drag: Cd = Cd0 |U| … … 82 81 !----------------------------------------------------------------------- 83 82 ln_seos = .true. ! = Use simplified equation of state (S-EOS) 84 ! ! rd(T,S,Z)*r au0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS83 ! ! rd(T,S,Z)*rho0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS 85 84 rn_a0 = 0.2 ! thermal expension coefficient (for simplified equation of state) 86 85 rn_b0 = 0. ! saline expension coefficient (for simplified equation of state) -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/OVERFLOW/EXPREF/namelist_sco_FCT2_flux_ubs_cfg
r12489 r13632 21 21 nn_it000 = 1 ! first time step 22 22 nn_itend = 6120 ! here 17h of simulation (=6120 time-step) 23 !nn_itend = 5760 ! here 16h of simulation (=5760 time-step) abort after 5802 for zps: pb of physics conditions24 23 nn_istate = 0 ! output the initial state (1) or not (0) 25 24 nn_stock = 1080 ! frequency of creation of a restart file (modulo referenced to 1) … … 71 70 &namdrg ! top/bottom drag coefficient (default: NO selection) 72 71 !----------------------------------------------------------------------- 73 ln_ OFF= .true. ! free-slip : Cd = 0 (F => fill namdrg_bot72 ln_drg_OFF = .true. ! free-slip : Cd = 0 (F => fill namdrg_bot 74 73 ln_lin = .false. ! linear drag: Cd = Cd0 Uc0 & namdrg_top) 75 74 ln_non_lin = .false. ! non-linear drag: Cd = Cd0 |U| … … 82 81 !----------------------------------------------------------------------- 83 82 ln_seos = .true. ! = Use simplified equation of state (S-EOS) 84 ! ! rd(T,S,Z)*r au0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS83 ! ! rd(T,S,Z)*rho0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS 85 84 rn_a0 = 0.2 ! thermal expension coefficient (for simplified equation of state) 86 85 rn_b0 = 0. ! saline expension coefficient (for simplified equation of state) -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/OVERFLOW/EXPREF/namelist_sco_FCT4_flux_cen-ahm1000_cfg
r12489 r13632 21 21 nn_it000 = 1 ! first time step 22 22 nn_itend = 6120 ! here 17h of simulation (=6120 time-step) 23 !nn_itend = 5760 ! here 16h of simulation (=5760 time-step) abort after 5802 for zps: pb of physics conditions24 23 nn_istate = 0 ! output the initial state (1) or not (0) 25 24 nn_stock = 6120 ! frequency of creation of a restart file (modulo referenced to 1) … … 71 70 &namdrg ! top/bottom drag coefficient (default: NO selection) 72 71 !----------------------------------------------------------------------- 73 ln_ OFF = .true.! free-slip : Cd = 0 (F => fill namdrg_bot72 ln_drg_OFF = .true. ! free-slip : Cd = 0 (F => fill namdrg_bot 74 73 ln_lin = .false. ! linear drag: Cd = Cd0 Uc0 & namdrg_top) 75 74 ln_non_lin = .false. ! non-linear drag: Cd = Cd0 |U| … … 82 81 !----------------------------------------------------------------------- 83 82 ln_seos = .true. ! = Use simplified equation of state (S-EOS) 84 ! ! rd(T,S,Z)*r au0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS83 ! ! rd(T,S,Z)*rho0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS 85 84 rn_a0 = 0.2 ! thermal expension coefficient (for simplified equation of state) 86 85 rn_b0 = 0. ! saline expension coefficient (for simplified equation of state) -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/OVERFLOW/EXPREF/namelist_sco_FCT4_flux_ubs_cfg
r12489 r13632 21 21 nn_it000 = 1 ! first time step 22 22 nn_itend = 6120 ! here 17h of simulation (=6120 time-step) 23 !nn_itend = 5760 ! here 16h of simulation (=5760 time-step) abort after 5802 for zps: pb of physics conditions24 23 nn_istate = 0 ! output the initial state (1) or not (0) 25 24 nn_stock = 1080 ! frequency of creation of a restart file (modulo referenced to 1) … … 71 70 &namdrg ! top/bottom drag coefficient (default: NO selection) 72 71 !----------------------------------------------------------------------- 73 ln_ OFF = .true.! free-slip : Cd = 0 (F => fill namdrg_bot72 ln_drg_OFF = .true. ! free-slip : Cd = 0 (F => fill namdrg_bot 74 73 ln_lin = .false. ! linear drag: Cd = Cd0 Uc0 & namdrg_top) 75 74 ln_non_lin = .false. ! non-linear drag: Cd = Cd0 |U| … … 82 81 !----------------------------------------------------------------------- 83 82 ln_seos = .true. ! = Use simplified equation of state (S-EOS) 84 ! ! rd(T,S,Z)*r au0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS83 ! ! rd(T,S,Z)*rho0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS 85 84 rn_a0 = 0.2 ! thermal expension coefficient (for simplified equation of state) 86 85 rn_b0 = 0. ! saline expension coefficient (for simplified equation of state) -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/OVERFLOW/EXPREF/namelist_zps_FCT2_flux_ubs_cfg
r12489 r13632 20 20 cn_exp = "OVF_zps_FCT2_flux_ubs" ! experience name 21 21 nn_it000 = 1 ! first time step 22 !nn_itend = 6120 ! here 17h of simulation (=6120 time-step)23 22 nn_itend = 5760 ! here 16h of simulation (=5760 time-step) abort after 5802 for zps: pb of physics conditions 24 23 nn_istate = 0 ! output the initial state (1) or not (0) … … 71 70 &namdrg ! top/bottom drag coefficient (default: NO selection) 72 71 !----------------------------------------------------------------------- 73 ln_ OFF = .true.! free-slip : Cd = 0 (F => fill namdrg_bot72 ln_drg_OFF = .true. ! free-slip : Cd = 0 (F => fill namdrg_bot 74 73 ln_lin = .false. ! linear drag: Cd = Cd0 Uc0 & namdrg_top) 75 74 ln_non_lin = .false. ! non-linear drag: Cd = Cd0 |U| … … 82 81 !----------------------------------------------------------------------- 83 82 ln_seos = .true. ! = Use simplified equation of state (S-EOS) 84 ! ! rd(T,S,Z)*r au0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS83 ! ! rd(T,S,Z)*rho0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS 85 84 rn_a0 = 0.2 ! thermal expension coefficient (for simplified equation of state) 86 85 rn_b0 = 0. ! saline expension coefficient (for simplified equation of state) -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/OVERFLOW/EXPREF/namelist_zps_FCT4_flux_ubs_cfg
r12489 r13632 105 105 !! !! 106 106 !! namdrg top/bottom drag coefficient (default: NO selection) 107 !! namdrg_top top friction (ln_ OFF=F & ln_isfcav=T)108 !! namdrg_bot bottom friction (ln_ OFF=F)107 !! namdrg_top top friction (ln_drg_OFF=F & ln_isfcav=T) 108 !! namdrg_bot bottom friction (ln_drg_OFF=F) 109 109 !! nambbc bottom temperature boundary condition (default: OFF) 110 110 !! nambbl bottom boundary layer scheme (default: OFF) … … 114 114 &namdrg ! top/bottom drag coefficient (default: NO selection) 115 115 !----------------------------------------------------------------------- 116 ln_ OFF= .true. ! free-slip : Cd = 0 (F => fill namdrg_bot116 ln_drg_OFF = .true. ! free-slip : Cd = 0 (F => fill namdrg_bot 117 117 ln_lin = .false. ! linear drag: Cd = Cd0 Uc0 & namdrg_top) 118 118 ln_non_lin = .false. ! non-linear drag: Cd = Cd0 |U| … … 136 136 !----------------------------------------------------------------------- 137 137 ln_seos = .true. ! = Use simplified equation of state (S-EOS) 138 ! ! rd(T,S,Z)*r au0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS138 ! ! rd(T,S,Z)*rho0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS 139 139 rn_a0 = 0.2 ! thermal expension coefficient (for simplified equation of state) 140 140 rn_b0 = 0. ! saline expension coefficient (for simplified equation of state) … … 289 289 !! !! 290 290 !! namtrd dynamics and/or tracer trends (default: OFF) 291 !! namptr Poleward Transport Diagnostics (default: OFF)292 291 !! namhsb Heat and salt budgets (default: OFF) 293 292 !! namdiu Cool skin and warm layer models (default: OFF) -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/OVERFLOW/EXPREF/namelist_zps_FCT4_vect_een_cfg
r12489 r13632 20 20 cn_exp = "OVF_zps_FCT4_vect_een" ! experience name 21 21 nn_it000 = 1 ! first time step 22 !nn_itend = 6120 ! here 17h of simulation (=6120 time-step)23 22 nn_itend = 5760 ! here 16h of simulation (=5760 time-step) abort after 5802 for zps: pb of physics conditions 24 23 nn_istate = 0 ! output the initial state (1) or not (0) … … 71 70 &namdrg ! top/bottom drag coefficient (default: NO selection) 72 71 !----------------------------------------------------------------------- 73 ln_ OFF = .true.! free-slip : Cd = 0 (F => fill namdrg_bot72 ln_drg_OFF = .true. ! free-slip : Cd = 0 (F => fill namdrg_bot 74 73 ln_lin = .false. ! linear drag: Cd = Cd0 Uc0 & namdrg_top) 75 74 ln_non_lin = .false. ! non-linear drag: Cd = Cd0 |U| … … 82 81 !----------------------------------------------------------------------- 83 82 ln_seos = .true. ! = Use simplified equation of state (S-EOS) 84 ! ! rd(T,S,Z)*r au0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS83 ! ! rd(T,S,Z)*rho0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS 85 84 rn_a0 = 0.2 ! thermal expension coefficient (for simplified equation of state) 86 85 rn_b0 = 0. ! saline expension coefficient (for simplified equation of state) -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/OVERFLOW/MY_SRC/usrdef_zgr.F90
r13295 r13632 93 93 zhu(ji,:) = 0.5_wp * ( zht(ji,:) + zht(ji+1,:) ) 94 94 END DO 95 #if defined key_mpi3 96 CALL lbc_lnk_nc_multi( 'usrdef_zgr', zhu, 'U', 1. ) ! boundary condition: this mask the surrouding grid-points 97 #else 95 98 CALL lbc_lnk( 'usrdef_zgr', zhu, 'U', 1. ) ! boundary condition: this mask the surrouding grid-points 99 #endif 96 100 ! ! ==>>> set by hand non-zero value on first/last columns & rows 97 101 DO ji = mi0(1), mi1(1) ! first row of global domain only … … 112 116 ! the ocean basin surrounded by land (1 grid-point) set through lbc_lnk call as jperio=0 113 117 z2d(:,:) = 1._wp ! surface ocean is the 1st level 118 #if defined key_mpi3 119 CALL lbc_lnk_nc_multi( 'usrdef_zgr', z2d, 'T', 1. ) ! closed basin since jperio = 0 (see userdef_nam.F90) 120 #else 114 121 CALL lbc_lnk( 'usrdef_zgr', z2d, 'T', 1. ) ! closed basin since jperio = 0 (see userdef_nam.F90) 122 #endif 115 123 k_top(:,:) = NINT( z2d(:,:) ) 116 124 ! -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/STATION_ASF/EXPREF/namelist_coare3p6-noskin_cfg
r13108 r13632 201 201 !! !! 202 202 !! namdrg top/bottom drag coefficient (default: NO selection) 203 !! namdrg_top top friction (ln_ OFF=F & ln_isfcav=T)204 !! namdrg_bot bottom friction (ln_ OFF=F)203 !! namdrg_top top friction (ln_drg_OFF=F & ln_isfcav=T) 204 !! namdrg_bot bottom friction (ln_drg_OFF=F) 205 205 !! nambbc bottom temperature boundary condition (default: OFF) 206 206 !! nambbl bottom boundary layer scheme (default: OFF) … … 250 250 !! !! 251 251 !! namtrd dynamics and/or tracer trends (default: OFF) 252 !! namptr Poleward Transport Diagnostics (default: OFF)253 252 !! namhsb Heat and salt budgets (default: OFF) 254 253 !! namdiu Cool skin and warm layer models (default: OFF) -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/STATION_ASF/EXPREF/namelist_coare3p6_cfg
r13108 r13632 201 201 !! !! 202 202 !! namdrg top/bottom drag coefficient (default: NO selection) 203 !! namdrg_top top friction (ln_ OFF=F & ln_isfcav=T)204 !! namdrg_bot bottom friction (ln_ OFF=F)203 !! namdrg_top top friction (ln_drg_OFF=F & ln_isfcav=T) 204 !! namdrg_bot bottom friction (ln_drg_OFF=F) 205 205 !! nambbc bottom temperature boundary condition (default: OFF) 206 206 !! nambbl bottom boundary layer scheme (default: OFF) … … 250 250 !! !! 251 251 !! namtrd dynamics and/or tracer trends (default: OFF) 252 !! namptr Poleward Transport Diagnostics (default: OFF)253 252 !! namhsb Heat and salt budgets (default: OFF) 254 253 !! namdiu Cool skin and warm layer models (default: OFF) -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/STATION_ASF/EXPREF/namelist_ecmwf-noskin_cfg
r13108 r13632 201 201 !! !! 202 202 !! namdrg top/bottom drag coefficient (default: NO selection) 203 !! namdrg_top top friction (ln_ OFF=F & ln_isfcav=T)204 !! namdrg_bot bottom friction (ln_ OFF=F)203 !! namdrg_top top friction (ln_drg_OFF=F & ln_isfcav=T) 204 !! namdrg_bot bottom friction (ln_drg_OFF=F) 205 205 !! nambbc bottom temperature boundary condition (default: OFF) 206 206 !! nambbl bottom boundary layer scheme (default: OFF) … … 250 250 !! !! 251 251 !! namtrd dynamics and/or tracer trends (default: OFF) 252 !! namptr Poleward Transport Diagnostics (default: OFF)253 252 !! namhsb Heat and salt budgets (default: OFF) 254 253 !! namdiu Cool skin and warm layer models (default: OFF) -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/STATION_ASF/EXPREF/namelist_ecmwf_cfg
r13108 r13632 201 201 !! !! 202 202 !! namdrg top/bottom drag coefficient (default: NO selection) 203 !! namdrg_top top friction (ln_ OFF=F & ln_isfcav=T)204 !! namdrg_bot bottom friction (ln_ OFF=F)203 !! namdrg_top top friction (ln_drg_OFF=F & ln_isfcav=T) 204 !! namdrg_bot bottom friction (ln_drg_OFF=F) 205 205 !! nambbc bottom temperature boundary condition (default: OFF) 206 206 !! nambbl bottom boundary layer scheme (default: OFF) … … 250 250 !! !! 251 251 !! namtrd dynamics and/or tracer trends (default: OFF) 252 !! namptr Poleward Transport Diagnostics (default: OFF)253 252 !! namhsb Heat and salt budgets (default: OFF) 254 253 !! namdiu Cool skin and warm layer models (default: OFF) -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/STATION_ASF/EXPREF/namelist_ncar_cfg
r13108 r13632 201 201 !! !! 202 202 !! namdrg top/bottom drag coefficient (default: NO selection) 203 !! namdrg_top top friction (ln_ OFF=F & ln_isfcav=T)204 !! namdrg_bot bottom friction (ln_ OFF=F)203 !! namdrg_top top friction (ln_drg_OFF=F & ln_isfcav=T) 204 !! namdrg_bot bottom friction (ln_drg_OFF=F) 205 205 !! nambbc bottom temperature boundary condition (default: OFF) 206 206 !! nambbl bottom boundary layer scheme (default: OFF) … … 250 250 !! !! 251 251 !! namtrd dynamics and/or tracer trends (default: OFF) 252 !! namptr Poleward Transport Diagnostics (default: OFF)253 252 !! namhsb Heat and salt budgets (default: OFF) 254 253 !! namdiu Cool skin and warm layer models (default: OFF) -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/STATION_ASF/EXPREF/plot_station_asf.py
r13264 r13632 1 #!/usr/bin/env python 1 #!/usr/bin/env python3 2 2 # -*- Mode: Python; coding: utf-8; indent-tabs-mode: nil; tab-width: 4 -*- 3 3 4 # Post-diagnostic of STATION_ASF / L. Brodeau, 20 194 # Post-diagnostic of STATION_ASF / L. Brodeau, 2020 5 5 6 6 import sys 7 7 from os import path as path 8 #from string import replace9 8 import math 10 9 import numpy as nmp 11 #import scipy.signal as signal12 10 from netCDF4 import Dataset 13 11 import matplotlib as mpl … … 15 13 import matplotlib.pyplot as plt 16 14 import matplotlib.dates as mdates 17 #from string import find18 #import warnings19 #warnings.filterwarnings("ignore")20 #import time21 22 #import barakuda_plot as bp23 #import barakuda_tool as bt24 25 reload(sys)26 sys.setdefaultencoding('utf8')27 15 28 16 cy1 = '2018' ; # First year … … 68 56 narg = len(sys.argv) 69 57 if narg != 2: 70 print 'Usage: '+sys.argv[0]+' <DIR_OUT_SASF>'; sys.exit(0)58 print('Usage: '+sys.argv[0]+' <DIR_OUT_SASF>'); sys.exit(0) 71 59 cdir_data = sys.argv[1] 72 60 … … 78 66 def chck4f(cf): 79 67 cmesg = 'ERROR: File '+cf+' does not exist !!!' 80 if not path.exists(cf): print cmesg; sys.exit(0)68 if not path.exists(cf): print(cmesg); sys.exit(0) 81 69 82 70 ###cf_in = nmp.empty((), dtype="S10") … … 176 164 rmlt = 10.**(int(romagn)) / 2. 177 165 yrng = math.copysign( math.ceil(abs(rmax)/rmlt)*rmlt , rmax) 178 #print 'yrng = ', yrng ; #sys.exit(0)179 166 180 167 fig = plt.figure(num = 10+jv, figsize=size_fig, facecolor='w', edgecolor='k') … … 225 212 rmlt = 10.**(int(romagn)) / 2. 226 213 yrng = math.copysign( math.ceil(abs(rmax)/rmlt)*rmlt , rmax) 227 print 'yrng = ', yrng ; #sys.exit(0) 228 229 230 231 214 215 232 216 for ja in range(nb_algos-1): 233 217 -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/STATION_ASF/MY_SRC/stpctl.F90
r13136 r13632 47 47 !! 48 48 !! ** Method : - Save the time step in numstp 49 !! - Print it each 50 time steps50 49 !! - Stop the run IF problem encountered by setting nstop > 0 51 50 !! Problems checked: wind stress module max larger than 5 N/m^2 … … 110 109 ! !== test of local extrema ==! 111 110 ! !== done by all processes at every time step ==! 112 llmsk(:,:) = tmask(:,:,1) == 1._wp 111 ! 112 llmsk( 1:Nis1,:) = .FALSE. ! exclude halos from the checked region 113 llmsk(Nie1: jpi,:) = .FALSE. 114 llmsk(:, 1:Njs1) = .FALSE. 115 llmsk(:,Nje1: jpj) = .FALSE. 116 ! 117 llmsk(Nis0:Nie0,Njs0:Nje0) = tmask(Nis0:Nie0,Njs0:Nje0,1) == 1._wp ! test only the inner domain 113 118 IF( COUNT( llmsk(:,:) ) > 0 ) THEN ! avoid huge values sent back for land processors... 114 119 zmax(1) = MAXVAL( taum(:,:) , mask = llmsk ) ! max wind stress module … … 153 158 IF( lwm .AND. kt /= nitend ) istatus = NF90_CLOSE(nrunid) 154 159 ! get global loc on the min/max 155 CALL mpp_maxloc( 'stpctl', taum(:,:) , tmask(:,:,1), zzz, iloc(1:2,1) ) ! mpp_maxloc ok if mask = F156 CALL mpp_maxloc( 'stpctl',ABS( qns(:,:) ), tmask(:,:,1), zzz, iloc(1:2,2) )157 CALL mpp_minloc( 'stpctl',ABS( emp(:,:) ), tmask(:,:,1), zzz, iloc(1:2,3) )160 CALL mpp_maxloc( 'stpctl', taum(:,:) , llmsk, zzz, iloc(1:2,1) ) ! mpp_maxloc ok if mask = F 161 CALL mpp_maxloc( 'stpctl',ABS( qns(:,:) ), llmsk, zzz, iloc(1:2,2) ) 162 CALL mpp_minloc( 'stpctl',ABS( emp(:,:) ), llmsk, zzz, iloc(1:2,3) ) 158 163 ! find which subdomain has the max. 159 164 iareamin(:) = jpnij+1 ; iareamax(:) = 0 ; iareasum(:) = 0 … … 168 173 ELSE ! find local min and max locations: 169 174 ! if we are here, this means that the subdomain contains some oce points -> no need to test the mask used in maxloc 170 iloc(1:2,1) = MAXLOC( taum(:,:) , mask = llmsk ) + (/ nimpp - 1, njmpp - 1/) 171 iloc(1:2,2) = MAXLOC( ABS( qns(:,:) ), mask = llmsk ) + (/ nimpp - 1, njmpp - 1/) 172 iloc(1:2,3) = MINLOC( ABS( emp(:,:) ), mask = llmsk ) + (/ nimpp - 1, njmpp - 1/) 175 iloc(1:2,1) = MAXLOC( taum(:,:) , mask = llmsk ) 176 iloc(1:2,2) = MAXLOC( ABS( qns(:,:) ), mask = llmsk ) 177 iloc(1:2,3) = MINLOC( ABS( emp(:,:) ), mask = llmsk ) 178 DO ji = 1, 3 ! local domain indices ==> global domain indices, excluding halos 179 iloc(1:2,ji) = (/ mig0(iloc(1,ji)), mjg0(iloc(2,ji)) /) 180 END DO 173 181 iareamin(:) = narea ; iareamax(:) = narea ; iareasum(:) = 1 ! this is local information 174 182 ENDIF -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/VORTEX/EXPREF/1_context_nemo.xml
r12276 r13632 11 11 <variable id="ref_month" type="int"> 01 </variable> 12 12 <variable id="ref_day" type="int"> 01 </variable> 13 <variable id="r au0" type="float" > 1026.0 </variable>13 <variable id="rho0" type="float" > 1026.0 </variable> 14 14 <variable id="cpocean" type="float" > 3991.86795711963 </variable> 15 15 <variable id="convSpsu" type="float" > 0.99530670233846 </variable> -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/VORTEX/EXPREF/1_namelist_cfg
r13216 r13632 105 105 !! !! 106 106 !! namdrg top/bottom drag coefficient (default: NO selection) 107 !! namdrg_top top friction (ln_ OFF=F & ln_isfcav=T)108 !! namdrg_bot bottom friction (ln_ OFF=F)107 !! namdrg_top top friction (ln_drg_OFF=F & ln_isfcav=T) 108 !! namdrg_bot bottom friction (ln_drg_OFF=F) 109 109 !! nambbc bottom temperature boundary condition (default: OFF) 110 110 !! nambbl bottom boundary layer scheme (default: OFF) … … 114 114 &namdrg ! top/bottom drag coefficient (default: NO selection) 115 115 !----------------------------------------------------------------------- 116 ln_ OFF = .true. ! free-slip : Cd = 0116 ln_drg_OFF = .true. ! free-slip : Cd = 0 (F => fill namdrg_bot 117 117 / 118 118 !!====================================================================== … … 131 131 !----------------------------------------------------------------------- 132 132 ln_seos = .true. ! = Use simplified equation of state (S-EOS) 133 ! ! rd(T,S,Z)*r au0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS133 ! ! rd(T,S,Z)*rho0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS 134 134 rn_a0 = 0.28 ! thermal expension coefficient (for simplified equation of state) 135 135 rn_b0 = 0. ! saline expension coefficient (for simplified equation of state) … … 266 266 !! !! 267 267 !! namtrd dynamics and/or tracer trends (default: OFF) 268 !! namptr Poleward Transport Diagnostics (default: OFF)269 268 !! namhsb Heat and salt budgets (default: OFF) 270 269 !! namdiu Cool skin and warm layer models (default: OFF) -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/VORTEX/EXPREF/context_nemo.xml
r12276 r13632 11 11 <variable id="ref_month" type="int"> 01 </variable> 12 12 <variable id="ref_day" type="int"> 01 </variable> 13 <variable id="r au0" type="float" > 1026.0 </variable>13 <variable id="rho0" type="float" > 1026.0 </variable> 14 14 <variable id="cpocean" type="float" > 3991.86795711963 </variable> 15 15 <variable id="convSpsu" type="float" > 0.99530670233846 </variable> -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/VORTEX/EXPREF/namelist_cfg
r12489 r13632 99 99 !! !! 100 100 !! namdrg top/bottom drag coefficient (default: NO selection) 101 !! namdrg_top top friction (ln_ OFF=F & ln_isfcav=T)102 !! namdrg_bot bottom friction (ln_ OFF=F)101 !! namdrg_top top friction (ln_drg_OFF=F & ln_isfcav=T) 102 !! namdrg_bot bottom friction (ln_drg_OFF=F) 103 103 !! nambbc bottom temperature boundary condition (default: OFF) 104 104 !! nambbl bottom boundary layer scheme (default: OFF) … … 108 108 &namdrg ! top/bottom drag coefficient (default: NO selection) 109 109 !----------------------------------------------------------------------- 110 ln_ OFF = .true. ! free-slip : Cd = 0110 ln_drg_OFF = .true. ! free-slip : Cd = 0 (F => fill namdrg_bot 111 111 / 112 112 !!====================================================================== … … 125 125 !----------------------------------------------------------------------- 126 126 ln_seos = .true. ! = Use simplified equation of state (S-EOS) 127 ! ! rd(T,S,Z)*r au0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS127 ! ! rd(T,S,Z)*rho0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS 128 128 rn_a0 = 0.28 ! thermal expension coefficient (for simplified equation of state) 129 129 rn_b0 = 0. ! saline expension coefficient (for simplified equation of state) … … 259 259 !! !! 260 260 !! namtrd dynamics and/or tracer trends (default: OFF) 261 !! namptr Poleward Transport Diagnostics (default: OFF)262 261 !! namhsb Heat and salt budgets (default: OFF) 263 262 !! namdiu Cool skin and warm layer models (default: OFF) -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/VORTEX/MY_SRC/domvvl.F90
r13295 r13632 9 9 !! 3.6 ! 2014-11 (P. Mathiot) add ice shelf capability 10 10 !! 4.1 ! 2019-08 (A. Coward, D. Storkey) rename dom_vvl_sf_swp -> dom_vvl_sf_update for new timestepping 11 !! 4.x ! 2020-02 (G. Madec, S. Techene) introduce ssh to h0 ratio 11 12 !!---------------------------------------------------------------------- 12 13 13 !!----------------------------------------------------------------------14 !! dom_vvl_init : define initial vertical scale factors, depths and column thickness15 !! dom_vvl_sf_nxt : Compute next vertical scale factors16 !! dom_vvl_sf_update : Swap vertical scale factors and update the vertical grid17 !! dom_vvl_interpol : Interpolate vertical scale factors from one grid point to another18 !! dom_vvl_rst : read/write restart file19 !! dom_vvl_ctl : Check the vvl options20 !!----------------------------------------------------------------------21 14 USE oce ! ocean dynamics and tracers 22 15 USE phycst ! physical constant … … 36 29 PRIVATE 37 30 38 PUBLIC dom_vvl_init ! called by domain.F9039 PUBLIC dom_vvl_zgr ! called by isfcpl.F9040 PUBLIC dom_vvl_sf_nxt ! called by step.F9041 PUBLIC dom_vvl_sf_update ! called by step.F9042 PUBLIC dom_vvl_interpol ! called by dynnxt.F9043 44 31 ! !!* Namelist nam_vvl 45 32 LOGICAL , PUBLIC :: ln_vvl_zstar = .FALSE. ! zstar vertical coordinate … … 63 50 REAL(wp) , ALLOCATABLE, SAVE, DIMENSION(:,:) :: frq_rst_hdv ! retoring period for low freq. divergence 64 51 52 #if defined key_qco 53 !!---------------------------------------------------------------------- 54 !! 'key_qco' EMPTY MODULE Quasi-Eulerian vertical coordonate 55 !!---------------------------------------------------------------------- 56 #else 57 !!---------------------------------------------------------------------- 58 !! Default key Old management of time varying vertical coordinate 59 !!---------------------------------------------------------------------- 60 61 !!---------------------------------------------------------------------- 62 !! dom_vvl_init : define initial vertical scale factors, depths and column thickness 63 !! dom_vvl_sf_nxt : Compute next vertical scale factors 64 !! dom_vvl_sf_update : Swap vertical scale factors and update the vertical grid 65 !! dom_vvl_interpol : Interpolate vertical scale factors from one grid point to another 66 !! dom_vvl_rst : read/write restart file 67 !! dom_vvl_ctl : Check the vvl options 68 !!---------------------------------------------------------------------- 69 70 PUBLIC dom_vvl_init ! called by domain.F90 71 PUBLIC dom_vvl_zgr ! called by isfcpl.F90 72 PUBLIC dom_vvl_sf_nxt ! called by step.F90 73 PUBLIC dom_vvl_sf_update ! called by step.F90 74 PUBLIC dom_vvl_interpol ! called by dynnxt.F90 75 65 76 !! * Substitutions 66 77 # include "do_loop_substitute.h90" … … 135 146 ! 136 147 END SUBROUTINE dom_vvl_init 137 ! 148 149 138 150 SUBROUTINE dom_vvl_zgr(Kbb, Kmm, Kaa) 139 151 !!---------------------------------------------------------------------- … … 261 273 IF( cn_cfg == "orca" .OR. cn_cfg == "ORCA" ) THEN 262 274 IF( nn_cfg == 3 ) THEN ! ORCA2: Suppress ztilde in the Foxe Basin for ORCA2 263 ii0 = 103 ; ii1 = 111264 ij0 = 128 ; ij1 = 135 ;275 ii0 = 103 + nn_hls - 1 ; ii1 = 111 + nn_hls - 1 276 ij0 = 128 + nn_hls ; ij1 = 135 + nn_hls 265 277 frq_rst_e3t( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) = 0.0_wp 266 278 frq_rst_hdv( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) = 1.e0_wp / rn_Dt … … 322 334 LOGICAL :: ll_do_bclinic ! local logical 323 335 REAL(wp), DIMENSION(jpi,jpj) :: zht, z_scale, zwu, zwv, zhdiv 324 REAL(wp), DIMENSION(jpi,jpj,jpk) :: ze3t 336 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: ze3t 337 LOGICAL , DIMENSION(:,:,:), ALLOCATABLE :: llmsk 325 338 !!---------------------------------------------------------------------- 326 339 ! … … 426 439 ! ! d - thickness diffusion transport: boundary conditions 427 440 ! (stored for tracer advction and continuity equation) 441 #if defined key_mpi3 442 CALL lbc_lnk_nc_multi( 'domvvl', un_td , 'U' , -1._wp, vn_td , 'V' , -1._wp) 443 #else 428 444 CALL lbc_lnk_multi( 'domvvl', un_td , 'U' , -1._wp, vn_td , 'V' , -1._wp) 445 #endif 429 446 430 447 ! 4 - Time stepping of baroclinic scale factors 431 448 ! --------------------------------------------- 449 #if defined key_mpi3 450 CALL lbc_lnk_nc_multi( 'domvvl', tilde_e3t_a(:,:,:), 'T', 1._wp ) 451 #else 432 452 CALL lbc_lnk( 'domvvl', tilde_e3t_a(:,:,:), 'T', 1._wp ) 453 #endif 433 454 tilde_e3t_a(:,:,:) = tilde_e3t_b(:,:,:) + rDt * tmask(:,:,:) * tilde_e3t_a(:,:,:) 434 455 435 456 ! Maximum deformation control 436 457 ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 437 ze3t(:,:,jpk) = 0._wp 438 DO jk = 1, jpkm1 439 ze3t(:,:,jk) = tilde_e3t_a(:,:,jk) / e3t_0(:,:,jk) * tmask(:,:,jk) * tmask_i(:,:) 440 END DO 441 z_tmax = MAXVAL( ze3t(:,:,:) ) 442 CALL mpp_max( 'domvvl', z_tmax ) ! max over the global domain 443 z_tmin = MINVAL( ze3t(:,:,:) ) 444 CALL mpp_min( 'domvvl', z_tmin ) ! min over the global domain 458 ALLOCATE( ze3t(jpi,jpj,jpk), llmsk(jpi,jpj,jpk) ) 459 DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 460 ze3t(ji,jj,jk) = tilde_e3t_a(ji,jj,jk) / e3t_0(ji,jj,jk) * tmask(ji,jj,jk) * tmask_i(ji,jj) 461 END_3D 462 ! 463 llmsk( 1:Nis1,:,:) = .FALSE. ! exclude halos from the checked region 464 llmsk(Nie1: jpi,:,:) = .FALSE. 465 llmsk(:, 1:Njs1,:) = .FALSE. 466 llmsk(:,Nje1: jpj,:) = .FALSE. 467 ! 468 llmsk(Nis0:Nie0,Njs0:Nje0,:) = tmask(Nis0:Nie0,Njs0:Nje0,:) == 1._wp ! define only the inner domain 469 z_tmax = MAXVAL( ze3t(:,:,:), mask = llmsk ) ; CALL mpp_max( 'domvvl', z_tmax ) ! max over the global domain 470 z_tmin = MINVAL( ze3t(:,:,:), mask = llmsk ) ; CALL mpp_min( 'domvvl', z_tmin ) ! min over the global domain 445 471 ! - ML - test: for the moment, stop simulation for too large e3_t variations 446 472 IF( ( z_tmax > rn_zdef_max ) .OR. ( z_tmin < - rn_zdef_max ) ) THEN 447 IF( lk_mpp ) THEN 448 CALL mpp_maxloc( 'domvvl', ze3t, tmask, z_tmax, ijk_max ) 449 CALL mpp_minloc( 'domvvl', ze3t, tmask, z_tmin, ijk_min ) 450 ELSE 451 ijk_max = MAXLOC( ze3t(:,:,:) ) 452 ijk_max(1) = mig0_oldcmp(ijk_max(1)) 453 ijk_max(2) = mjg0_oldcmp(ijk_max(2)) 454 ijk_min = MINLOC( ze3t(:,:,:) ) 455 ijk_min(1) = mig0_oldcmp(ijk_min(1)) 456 ijk_min(2) = mjg0_oldcmp(ijk_min(2)) 457 ENDIF 473 CALL mpp_maxloc( 'domvvl', ze3t, llmsk, z_tmax, ijk_max ) 474 CALL mpp_minloc( 'domvvl', ze3t, llmsk, z_tmin, ijk_min ) 458 475 IF (lwp) THEN 459 476 WRITE(numout, *) 'MAX( tilde_e3t_a(:,:,:) / e3t_0(:,:,:) ) =', z_tmax … … 464 481 ENDIF 465 482 ENDIF 483 DEALLOCATE( ze3t, llmsk ) 466 484 ! - ML - end test 467 485 ! - ML - Imposing these limits will cause a baroclinicity error which is corrected for below … … 1030 1048 END SUBROUTINE dom_vvl_ctl 1031 1049 1050 #endif 1051 1032 1052 !!====================================================================== 1033 1053 END MODULE domvvl -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/VORTEX/MY_SRC/usrdef_istate.F90
r13295 r13632 130 130 END_2D 131 131 ! 132 #if defined key_mpi3 133 CALL lbc_lnk_nc_multi( 'usrdef_istate', pu, 'U', -1., pv, 'V', -1. ) 134 #else 132 135 CALL lbc_lnk_multi( 'usrdef_istate', pu, 'U', -1., pv, 'V', -1. ) 136 #endif 133 137 ! 134 138 END SUBROUTINE usr_def_istate -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/WAD/EXPREF/context_nemo.xml
r12276 r13632 11 11 <variable id="ref_month" type="int"> 01 </variable> 12 12 <variable id="ref_day" type="int"> 01 </variable> 13 <variable id="r au0" type="float" > 1026.0 </variable>13 <variable id="rho0" type="float" > 1026.0 </variable> 14 14 <variable id="cpocean" type="float" > 3991.86795711963 </variable> 15 15 <variable id="convSpsu" type="float" > 0.99530670233846 </variable> -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/WAD/EXPREF/namelist_cfg
r12489 r13632 200 200 !! !! 201 201 !! namdrg top/bottom drag coefficient (default: NO selection) 202 !! namdrg_top top friction (ln_ OFF=F & ln_isfcav=T)203 !! namdrg_bot bottom friction (ln_ OFF=F)202 !! namdrg_top top friction (ln_drg_OFF=F & ln_isfcav=T) 203 !! namdrg_bot bottom friction (ln_drg_OFF=F) 204 204 !! nambbc bottom temperature boundary condition (default: OFF) 205 205 !! nambbl bottom boundary layer scheme (default: OFF) … … 253 253 ! 254 254 ! ! S-EOS coefficients (ln_seos=T): 255 ! ! rd(T,S,Z)*r au0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS255 ! ! rd(T,S,Z)*rho0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS 256 256 rn_a0 = 1.6550e-1 ! thermal expension coefficient (nn_eos= 1) 257 257 rn_b0 = 7.6554e-1 ! saline expension coefficient (nn_eos= 1) … … 263 263 !!org GYRE rn_alpha = 2.0e-4 ! thermal expension coefficient (nn_eos= 1 or 2) 264 264 !!org GYRE rn_beta = 7.7e-4 ! saline expension coefficient (nn_eos= 2) 265 !!org caution now a0 = alpha / r au0 with rau0 = 1026265 !!org caution now a0 = alpha / rho0 with rho0 = 1026 266 266 / 267 267 !----------------------------------------------------------------------- … … 417 417 !! !! 418 418 !! namtrd dynamics and/or tracer trends (default: OFF) 419 !! namptr Poleward Transport Diagnostics (default: OFF)420 419 !! namhsb Heat and salt budgets (default: OFF) 421 420 !! namdiu Cool skin and warm layer models (default: OFF) -
NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/tests/WAD/MY_SRC/usrdef_zgr.F90
r13295 r13632 233 233 zhu(ji,:) = 0.5_wp * ( zht(ji,:) + zht(ji+1,:) ) 234 234 END DO 235 #if defined key_mpi3 236 CALL lbc_lnk_nc_multi( 'usrdef_zgr', zhu, 'U', 1. ) ! boundary condition: this mask the surrounding grid-points 237 #else 235 238 CALL lbc_lnk( 'usrdef_zgr', zhu, 'U', 1. ) ! boundary condition: this mask the surrounding grid-points 239 #endif 236 240 ! ! ==>>> set by hand non-zero value on first/last columns & rows 237 241 DO ji = mi0(1), mi1(1) ! first row of global domain only … … 246 250 zhv(ji,jj) = 0.5_wp * ( zht(ji,jj) + zht(ji,jj+1) ) 247 251 END_2D 252 #if defined key_mpi3 253 CALL lbc_lnk_nc_multi( 'usrdef_zgr', zhv, 'V', 1. ) ! boundary condition: this mask the surrounding grid-points 254 #else 248 255 CALL lbc_lnk( 'usrdef_zgr', zhv, 'V', 1. ) ! boundary condition: this mask the surrounding grid-points 256 #endif 249 257 DO jj = mj0(1), mj1(1) ! first row of global domain only 250 258 zhv(:,jj) = zht(:,jj) … … 271 279 272 280 281 #if defined key_mpi3 282 CALL lbc_lnk_nc_multi( 'usrdef_zgr', z2d, 'T', 1. ) ! closed basin since jperio = 0 (see userdef_nam.F90) 283 #else 273 284 CALL lbc_lnk( 'usrdef_zgr', z2d, 'T', 1. ) ! closed basin since jperio = 0 (see userdef_nam.F90) 285 #endif 274 286 k_top(:,:) = NINT( z2d(:,:) ) 275 287 ! … … 306 318 END DO 307 319 END_2D 320 #if defined key_mpi3 321 CALL lbc_lnk_nc_multi( 'usrdef_zgr', pdept, 'T', 1. ) 322 CALL lbc_lnk_nc_multi( 'usrdef_zgr', pdepw, 'T', 1. ) 323 CALL lbc_lnk_nc_multi( 'usrdef_zgr', pe3t , 'T', 1. ) 324 CALL lbc_lnk_nc_multi( 'usrdef_zgr', pe3w , 'T', 1. ) 325 CALL lbc_lnk_nc_multi( 'usrdef_zgr', pe3u , 'U', 1. ) 326 CALL lbc_lnk_nc_multi( 'usrdef_zgr', pe3uw, 'U', 1. ) 327 CALL lbc_lnk_nc_multi( 'usrdef_zgr', pe3f , 'F', 1. ) 328 CALL lbc_lnk_nc_multi( 'usrdef_zgr', pe3v , 'V', 1. ) 329 CALL lbc_lnk_nc_multi( 'usrdef_zgr', pe3vw, 'V', 1. ) 330 #else 308 331 CALL lbc_lnk( 'usrdef_zgr', pdept, 'T', 1. ) 309 332 CALL lbc_lnk( 'usrdef_zgr', pdepw, 'T', 1. ) … … 315 338 CALL lbc_lnk( 'usrdef_zgr', pe3v , 'V', 1. ) 316 339 CALL lbc_lnk( 'usrdef_zgr', pe3vw, 'V', 1. ) 340 #endif 317 341 WHERE( pe3t (:,:,:) == 0._wp ) pe3t (:,:,:) = 1._wp 318 342 WHERE( pe3u (:,:,:) == 0._wp ) pe3u (:,:,:) = 1._wp
Note: See TracChangeset
for help on using the changeset viewer.