Changeset 15121
- Timestamp:
- 2021-07-15T10:23:08+02:00 (3 years ago)
- Location:
- NEMO/branches/UKMO/tools_r4.0-HEAD_dev_MEs/DOMAINcfg
- Files:
-
- 5 added
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/UKMO/tools_r4.0-HEAD_dev_MEs/DOMAINcfg/namelist_cfg
r9051 r15121 20 20 ! ! only there for backward compatibility test with v3.6 21 21 ! ! 22 cp_cfg = "orca" ! name of the configuration23 jp_cfg = 2 ! resolution of the configuration24 jp idta = 182 ! 1st lateral dimension ( >= jpi )25 jp jdta = 149 ! 2nd " " ( >= jpj )26 jp kdta = 31 ! number of levels ( >= jpk )27 jp iglo = 182 ! 1st dimension of global domain --> i =jpidta28 jpjglo = 149 ! 2nd - - --> j =jpjdta29 jp izoom = 1 ! left bottom (i,j) indices of the zoom30 jp jzoom = 1 ! in data domain indices31 jp erio = 4 ! lateral cond. type (between 0 and 6)22 cp_cfg = 'eorca' 23 jp_cfg = 25 24 jperio = 4 25 jpidta = 1442 26 jpiglo = 1442 27 jpjdta = 1207 28 jpjglo = 1207 29 jpkdta = 75 30 jpizoom = 1 31 jpjzoom = 1 32 32 / 33 33 !----------------------------------------------------------------------- 34 34 &namzgr ! vertical coordinate 35 35 !----------------------------------------------------------------------- 36 ln_ zps = .true. ! z-coordinate - partial steps36 ln_mes = .true. ! Multi-Envelope s-coordinate 37 37 ln_linssh = .true. ! linear free surface 38 38 / 39 39 !----------------------------------------------------------------------- 40 &namzgr_mes ! MEs-coordinate 41 !----------------------------------------------------------------------- 42 ln_envl = .TRUE. , .TRUE. , .TRUE. , .TRUE., .TRUE. ! (T/F) If the envelope is used 43 nn_strt = 1 , 1 , 1 , 1 , 1 ! Stretch. funct.: Madec 1996 (0) or 44 ! Song & Haidvogel 1994 (1) or 45 ! Siddorn & Furner 2012 (2) 46 rn_ebot_min = 2.0 , 27.0 , 670.0 , 2700.0 , 7000.0 ! minimum depth of envelopes (>0, in m) 47 rn_ebot_max = 2.0 , 570.0 , 2300.0 , 5900.0 , 7000.0 ! maximum depth of envelopes (>0, in m) 48 nn_slev = 3 , 33 , 21 , 18 , 0 ! number of s-lev between env(n-1) 49 ! and env(n) 50 rn_e_hc = 0.0 , 0.0 , 0.0 , 0.0 , 0.0 ! critical depth for transition to 51 ! stretch. coord. 52 rn_e_th = 1.0 , 1.2 , 2.0 , 0.0 , 0.0 ! surf. control param.: 53 ! SH94 or MD96: 0<=th<=20 54 ! SF12: thickness surf. cell 55 rn_e_bb = 0.9 , 0.9 , 0.85 , 0.0 , 0.0 ! bot. control param.: 56 ! SH94 or MD96: 0<=bb<=1 57 ! SF12: offset for calculating Zb 58 rn_e_al = 0.0 , 0.0 , 0.0 , 0.0 , 0.0 ! alpha stretching param with SF12 59 rn_e_ba = 0.0 , 0.0 , 0.0 , 0.0 , 0.0 ! SF12 bathymetry scaling factor for 60 ! calculating Zb 61 rn_bot_min = 10.0 ! minimum depth of the ocean bottom (>0) (m) 62 rn_bot_max = 5900.0 ! maximum depth of the ocean bottom (= ocean depth) (>0) (m) 63 / 64 !----------------------------------------------------------------------- 40 65 &namdom ! space and time domain (bathymetry, mesh, timestep) 41 66 !----------------------------------------------------------------------- 42 jphgr_msh = 0 ! type of horizontal mesh 43 ppglam0 = 999999.0 ! longitude of first raw and column T-point (jphgr_msh = 1) 44 ppgphi0 = 999999.0 ! latitude of first raw and column T-point (jphgr_msh = 1) 45 ppe1_deg = 999999.0 ! zonal grid-spacing (degrees) 46 ppe2_deg = 999999.0 ! meridional grid-spacing (degrees) 47 ppe1_m = 999999.0 ! zonal grid-spacing (degrees) 48 ppe2_m = 999999.0 ! meridional grid-spacing (degrees) 49 ppsur = -4762.96143546300 ! ORCA r4, r2 and r05 coefficients 50 ppa0 = 255.58049070440 ! (default coefficients) 51 ppa1 = 245.58132232490 ! 52 ppkth = 21.43336197938 ! 53 ppacr = 3.0 ! 54 ppdzmin = 999999. ! Minimum vertical spacing 55 pphmax = 999999. ! Maximum depth 56 ldbletanh = .FALSE. ! Use/do not use double tanf function for vertical coordinates 57 ppa2 = 999999. ! Double tanh function parameters 58 ppkth2 = 999999. ! 59 ppacr2 = 999999. ! 67 nn_bathy = 1 68 nn_msh = 1 69 jphgr_msh = 0 70 ldbletanh = .TRUE. 71 ppglam0 = 999999.d0 72 ppgphi0 = 999999.d0 73 ppe1_deg = 999999.d0 74 ppe2_deg = 999999.d0 75 ppe1_m = 999999.d0 76 ppe2_m = 999999.d0 77 ppa0 = 103.9530096000000 78 ppa1 = 2.415951269000000 79 ppa2 = 100.7609285000000 80 ppacr = 7.0 81 ppacr2 = 13.0 82 ppdzmin = 999999.0 83 pphmax = 999999.0 84 ppkth = 15.35101370000000 85 ppkth2 = 48.02989372000000 86 ppsur = -3958.951371276829 87 rn_atfp = 0.1 88 rn_e3zps_min= 25.0 89 rn_e3zps_rat= 0.2 90 rn_hmin = -8.0 91 rn_rdt = 1350.0 60 92 / 61 93 !----------------------------------------------------------------------- … … 99 131 &namlbc ! lateral momentum boundary condition 100 132 !----------------------------------------------------------------------- 133 rn_shlat = 0. 134 ln_vorlat = .false. 101 135 / 102 136 !----------------------------------------------------------------------- … … 107 141 &nambbc ! bottom temperature boundary condition (default: NO) 108 142 !----------------------------------------------------------------------- 109 ln_trabbc = .true. ! Apply a geothermal heating at the ocean bottom110 143 / 111 144 !----------------------------------------------------------------------- … … 116 149 &nameos ! ocean physical parameters 117 150 !----------------------------------------------------------------------- 118 ln_teos10 = .true. ! = Use TEOS-10 equation of state 151 ln_teos10 = .true. 152 ln_eos80 = .false. 119 153 / 120 154 !----------------------------------------------------------------------- 121 155 &namtra_adv ! advection scheme for tracer 122 156 !----------------------------------------------------------------------- 123 ln_traadv_fct = .true. ! FCT scheme124 nn_fct_h = 2 ! =2/4, horizontal 2nd / 4th order125 nn_fct_v = 2 ! =2/4, vertical 2nd / COMPACT 4th order126 nn_fct_zts = 0 ! > 1 , 2nd order FCT scheme with vertical sub-timestepping127 ! ! (number of sub-timestep = nn_fct_zts)128 157 / 129 158 !----------------------------------------------------------------------- … … 134 163 &namtra_ldf ! lateral diffusion scheme for tracers 135 164 !---------------------------------------------------------------------------------- 136 ! ! Operator type:137 ln_traldf_lap = .true. ! laplacian operator138 ln_traldf_blp = .false. ! bilaplacian operator139 ! ! Direction of action:140 ln_traldf_lev = .false. ! iso-level141 ln_traldf_hor = .false. ! horizontal (geopotential)142 ln_traldf_iso = .true. ! iso-neutral (standard operator)143 ln_traldf_triad = .false. ! iso-neutral (triad operator)144 !145 ! ! iso-neutral options:146 ln_traldf_msc = .true. ! Method of Stabilizing Correction (both operators)147 rn_slpmax = 0.01 ! slope limit (both operators)148 ln_triad_iso = .false. ! pure horizontal mixing in ML (triad only)149 rn_sw_triad = 1 ! =1 switching triad ; =0 all 4 triads used (triad only)150 ln_botmix_triad = .false. ! lateral mixing on bottom (triad only)151 !152 ! ! Coefficients:153 nn_aht_ijk_t = 20 ! space/time variation of eddy coef154 ! ! =-20 (=-30) read in eddy_diffusivity_2D.nc (..._3D.nc) file155 ! ! = 0 constant156 ! ! = 10 F(k) =ldf_c1d157 ! ! = 20 F(i,j) =ldf_c2d158 ! ! = 21 F(i,j,t) =Treguier et al. JPO 1997 formulation159 ! ! = 30 F(i,j,k) =ldf_c2d + ldf_c1d160 ! ! = 31 F(i,j,k,t)=F(local velocity)161 rn_aht_0 = 2000. ! lateral eddy diffusivity (lap. operator) [m2/s]162 rn_bht_0 = 1.e+12 ! lateral eddy diffusivity (bilap. operator) [m4/s]163 165 / 164 166 !---------------------------------------------------------------------------------- 165 167 &namtra_ldfeiv ! eddy induced velocity param. 166 168 !---------------------------------------------------------------------------------- 167 ln_ldfeiv =.true. ! use eddy induced velocity parameterization168 ln_ldfeiv_dia =.true. ! diagnose eiv stream function and velocities169 rn_aeiv_0 = 2000. ! eddy induced velocity coefficient [m2/s]170 nn_aei_ijk_t = 21 ! space/time variation of the eiv coeficient171 ! ! =-20 (=-30) read in eddy_induced_velocity_2D.nc (..._3D.nc) file172 ! ! = 0 constant173 ! ! = 10 F(k) =ldf_c1d174 ! ! = 20 F(i,j) =ldf_c2d175 ! ! = 21 F(i,j,t) =Treguier et al. JPO 1997 formulation176 ! ! = 30 F(i,j,k) =ldf_c2d + ldf_c1d177 169 / 178 170 !----------------------------------------------------------------------- … … 187 179 &namdyn_vor ! option of physics/algorithm (not control by CPP keys) 188 180 !----------------------------------------------------------------------- 189 ln_dynvor_ene = .false. ! enstrophy conserving scheme190 ln_dynvor_ens = .false. ! energy conserving scheme191 ln_dynvor_mix = .false. ! mixed scheme192 ln_dynvor_een = .true. ! energy & enstrophy scheme193 nn_een_e3f = 0 ! e3f = masked averaging of e3t divided by 4 (=0) or by the sum of mask (=1)194 181 / 195 182 !----------------------------------------------------------------------- … … 200 187 &namdyn_spg ! Surface pressure gradient 201 188 !----------------------------------------------------------------------- 202 ln_dynspg_ts = .true. ! Split-explicit free surface203 189 / 204 190 !----------------------------------------------------------------------- 205 191 &namdyn_ldf ! lateral diffusion on momentum 206 192 !----------------------------------------------------------------------- 207 ! ! Type of the operator :208 ! ! no diffusion: set ln_dynldf_lap=..._blp=F209 ln_dynldf_lap = .true. ! laplacian operator210 ln_dynldf_blp = .false. ! bilaplacian operator211 ! ! Direction of action :212 ln_dynldf_lev = .true. ! iso-level213 ln_dynldf_hor = .false. ! horizontal (geopotential)214 ln_dynldf_iso = .false. ! iso-neutral215 ! ! Coefficient216 nn_ahm_ijk_t = -30 ! space/time variation of eddy coef217 ! ! =-30 read in eddy_viscosity_3D.nc file218 ! ! =-20 read in eddy_viscosity_2D.nc file219 ! ! = 0 constant220 ! ! = 10 F(k)=c1d221 ! ! = 20 F(i,j)=F(grid spacing)=c2d222 ! ! = 30 F(i,j,k)=c2d*c1d223 ! ! = 31 F(i,j,k)=F(grid spacing and local velocity)224 rn_ahm_0 = 40000. ! horizontal laplacian eddy viscosity [m2/s]225 rn_ahm_b = 0. ! background eddy viscosity for ldf_iso [m2/s]226 rn_bhm_0 = 1.e+12 ! horizontal bilaplacian eddy viscosity [m4/s]227 193 / 228 194 !----------------------------------------------------------------------- … … 249 215 &namctl ! Control prints & Benchmark 250 216 !----------------------------------------------------------------------- 217 ln_ctl = .false. ! trends control print (expensive!) 218 nn_print = 0 ! level of print (0 no extra print) 219 nn_ictls = 1 ! start i indice of control sum (use to compare mono versus 220 nn_ictle = 1 ! end i indice of control sum multi processor runs 221 nn_jctls = 1 ! start j indice of control over a subdomain) 222 nn_jctle = 1 ! end j indice of control 223 nn_isplt = 1 ! number of processors in i-direction 224 nn_jsplt = 1 ! number of processors in j-direction 225 nn_bench = 0 ! Bench mode (1/0): CAUTION use zero except for bench 226 nn_timing = 0 ! timing by routine activated (=1) creates timing.output file, or not (=0) 227 nn_diacfl = 0 ! Write out CFL diagnostics (=1) in cfl_diagnostics.ascii, or not (=0) 251 228 / 252 229 !----------------------------------------------------------------------- -
NEMO/branches/UKMO/tools_r4.0-HEAD_dev_MEs/DOMAINcfg/namelist_ref
r12207 r15121 104 104 ln_zps = .false. ! z-coordinate - partial steps 105 105 ln_sco = .false. ! s- or hybrid z-s-coordinate 106 ln_mes = .false. ! MES-coordinate 106 107 ln_isfcav = .false. ! ice shelf cavity 107 108 ln_linssh = .false. ! linear free surface … … 131 132 !!!!!!!! Other stretching (not SH94 or SF12) [also uses rn_theta above] 132 133 rn_thetb = 1.0 ! bottom control parameter (0<=thetb<= 1) 134 / 135 !----------------------------------------------------------------------- 136 &namzgr_mes ! MEs-coordinate (default F) 137 !----------------------------------------------------------------------- 138 ! ! env. 1 ! env. 2 ! env. 3 ! env. 4 ! env. 5 ! 139 ! ! ! ! ! ! ! 140 ln_envl = .TRUE. , .TRUE. , .TRUE. , .FALSE., .FALSE. ! (T/F) If the envelope is used 141 nn_strt = 1 , 1 , 1 , 0 , 0 ! Stretch. funct.: Madec 1996 (0) or 142 ! Song & Haidvogel 1994 (1) or 143 ! Siddorn & Furner 2012 (2) 144 rn_ebot_min = 15.0 , 1000.0 , 1800.0 , 0.0 , 0.0 ! minimum depth of envelopes (>0, in m) 145 rn_ebot_max = 200.0 , 1000.0 , 2230.0 , 0.0 , 0.0 ! maximum depth of envelopes (>0, in m) 146 nn_slev = 11 , 10 , 10 , 0 , 0 ! number of s-lev between env(n-1) 147 ! and env(n) 148 rn_e_hc = 20.0 , 10.0 , 0.0 , 0.0 , 0.0 ! critical depth for transition to 149 ! stretch. coord. 150 rn_e_th = 3.9 , 2.98, 2.8 , 0.0 , 0.0 ! surf. control param.: 151 ! SH94 or MD96: 0<=th<=20 152 ! SF12: thickness surf. cell 153 rn_e_bb = 0.77 , 0.15, 0.8 , 0.0 , 0.0 ! bot. control param.: 154 ! SH94 or MD96: 0<=bb<=1 155 ! SF12: offset for calculating Zb 156 rn_e_al = 0.0 , 0.0 , 0.0 , 0.0 , 0.0 ! alpha stretching param with SF12 157 rn_e_ba = 0.0 , 0.0 , 0.0 , 0.0 , 0.0 ! SF12 bathymetry scaling factor for 158 ! calculating Zb 159 160 161 rn_bot_min = 5.0 ! minimum depth of the ocean bottom (>0) (m) 162 rn_bot_max = 2201.5 ! maximum depth of the ocean bottom (= ocean depth) (>0) (m) 133 163 / 134 164 !----------------------------------------------------------------------- -
NEMO/branches/UKMO/tools_r4.0-HEAD_dev_MEs/DOMAINcfg/src/dom_oce.f90
r9598 r15121 175 175 LOGICAL, PUBLIC :: ln_zps !: z-coordinate - partial step 176 176 LOGICAL, PUBLIC :: ln_sco !: s-coordinate or hybrid z-s coordinate 177 LOGICAL, PUBLIC :: ln_mes !: Multi Enveloped s-coordinate (MEs) 177 178 LOGICAL, PUBLIC :: ln_isfcav !: presence of ISF 178 179 LOGICAL, PUBLIC :: ln_linssh !: variable grid flag -
NEMO/branches/UKMO/tools_r4.0-HEAD_dev_MEs/DOMAINcfg/src/domain.f90
r15111 r15121 133 133 ENDIF 134 134 ! 135 CALL dom_wri! DB create mesh_mask136 CALL cfg_write ! create the configuration file135 IF( nmsh /= 0 ) CALL dom_wri ! DB create mesh_mask 136 CALL cfg_write ! create the configuration file 137 137 ! 138 138 IF( nn_timing == 1 ) CALL timing_stop('dom_init') … … 422 422 ! 423 423 ! ! type of vertical coordinate 424 IF( ln_zco ) THEN ; izco = 1 ; ELSE ; izco = 0 ; ENDIF425 IF( ln_zps ) THEN ; izps = 1 ; ELSE ; izps = 0 ; ENDIF426 IF( ln_sco 424 IF( ln_zco ) THEN ; izco = 1 ; ELSE ; izco = 0 ; ENDIF 425 IF( ln_zps ) THEN ; izps = 1 ; ELSE ; izps = 0 ; ENDIF 426 IF( ln_sco .OR. ln_mes ) THEN ; isco = 1 ; ELSE ; isco = 0 ; ENDIF 427 427 CALL iom_rstput( 0, 0, inum, 'ln_zco' , REAL( izco, wp), ktype = jp_i4 ) 428 428 CALL iom_rstput( 0, 0, inum, 'ln_zps' , REAL( izps, wp), ktype = jp_i4 ) … … 490 490 491 491 ! 492 IF( ln_sco ) THEN ! s-coordinate: store grid stiffness ratio (Not required anyway)492 IF( ln_sco .OR. ln_mes ) THEN ! s-coordinate: store grid stiffness ratio (Not required anyway) 493 493 CALL dom_stiff( z2d ) 494 494 CALL iom_rstput( 0, 0, inum, 'stiffness', z2d ) ! ! Max. grid stiffness ratio -
NEMO/branches/UKMO/tools_r4.0-HEAD_dev_MEs/DOMAINcfg/src/domwri.f90
r9598 r15121 273 273 CALL iom_rstput( 0, 0, inum4, 'esigt', esigt ) 274 274 CALL iom_rstput( 0, 0, inum4, 'esigw', esigw ) 275 ENDIF 276 277 IF( ln_sco .OR. ln_mes ) THEN ! s- / MEs-coordinate 275 278 ! 276 279 CALL iom_rstput( 0, 0, inum4, 'e3t_0', e3t_0 ) ! ! scale factors -
NEMO/branches/UKMO/tools_r4.0-HEAD_dev_MEs/DOMAINcfg/src/domzgr.f90
r15108 r15121 45 45 USE wrk_nemo ! Memory allocation 46 46 USE timing ! Timing 47 USE zgrmes ! MES 47 48 48 49 IMPLICIT NONE … … 112 113 INTEGER :: ios 113 114 ! 114 NAMELIST/namzgr/ ln_zco, ln_zps, ln_sco, ln_ isfcav, ln_linssh115 NAMELIST/namzgr/ ln_zco, ln_zps, ln_sco, ln_mes, ln_isfcav, ln_linssh 115 116 !!---------------------------------------------------------------------- 116 117 ! … … 134 135 WRITE(numout,*) ' z-coordinate - partial steps ln_zps = ', ln_zps 135 136 WRITE(numout,*) ' s- or hybrid z-s-coordinate ln_sco = ', ln_sco 137 WRITE(numout,*) ' MES-coordinate ln_mes = ', ln_mes 136 138 WRITE(numout,*) ' ice shelf cavities ln_isfcav = ', ln_isfcav 137 139 WRITE(numout,*) ' linear free surface ln_linssh = ', ln_linssh … … 144 146 IF( ln_zps ) ioptio = ioptio + 1 145 147 IF( ln_sco ) ioptio = ioptio + 1 148 IF( ln_mes ) ioptio = ioptio + 1 146 149 IF( ioptio /= 1 ) CALL ctl_stop( ' none or several vertical coordinate options used' ) 147 150 ! … … 158 161 IF( ln_zps ) CALL zgr_zps ! Partial step z-coordinate 159 162 IF( ln_sco ) CALL zgr_sco ! s-coordinate or hybrid z-s coordinate 163 IF( ln_mes ) CALL zgr_mes ! MES-coordinate 160 164 ! 161 165 ! final adjustment of mbathy & check … … 613 617 IF( nn_closea == 0 ) CALL clo_bat( bathy, mbathy ) !== NO closed seas or lakes ==! 614 618 ! 615 IF ( .not. ln_sco ) THEN!== set a minimum depth ==!619 IF ( (.not. ln_sco) .OR. (.not. ln_mes) ) THEN !== set a minimum depth ==! 616 620 IF( rn_hmin < 0._wp ) THEN ; ik = - INT( rn_hmin ) ! from a nb of level 617 621 ELSE ; ik = MINLOC( gdepw_1d, mask = gdepw_1d > rn_hmin, dim = 1 ) ! from a depth -
NEMO/branches/UKMO/tools_r4.0-HEAD_dev_MEs/DOMAINcfg/src/dtatsd.f90
r9598 r15121 182 182 ptsd(:,:,:,jp_sal) = sf_tsd(jp_sal)%fnow(:,:,:) 183 183 ! 184 IF( ln_sco ) THEN !== s- or mixed s-zps-coordinate ==!184 IF( ln_sco .OR. ln_mes ) THEN !== s- or mixed s-zps-coordinate ==! 185 185 ! 186 186 CALL wrk_alloc( jpk, ztp, zsp ) -
NEMO/branches/UKMO/tools_r4.0-HEAD_dev_MEs/DOMAINcfg/src/mppini_2.h90
r6951 r15121 72 72 73 73 ! read namelist for ln_zco 74 NAMELIST/namzgr/ ln_zco, ln_zps, ln_sco, ln_ isfcav, ln_linssh74 NAMELIST/namzgr/ ln_zco, ln_zps, ln_sco, ln_mes, ln_isfcav, ln_linssh 75 75 76 76 !!----------------------------------------------------------------------
Note: See TracChangeset
for help on using the changeset viewer.