diff --git a/SEAMOUNT/EXPREF/file_def_nemo-oce.xml b/SEAMOUNT/EXPREF/file_def_nemo-oce.xml index fb7cfca..449ee22 100644 --- a/SEAMOUNT/EXPREF/file_def_nemo-oce.xml +++ b/SEAMOUNT/EXPREF/file_def_nemo-oce.xml @@ -7,8 +7,8 @@ ============================================================================================================ --> - - + + diff --git a/SEAMOUNT/EXPREF/nam_cfg/moderate/namelist_cfg.djc_sh94 b/SEAMOUNT/EXPREF/nam_cfg/moderate/namelist_cfg.djc_sh94 new file mode 100644 index 0000000..283213f --- /dev/null +++ b/SEAMOUNT/EXPREF/nam_cfg/moderate/namelist_cfg.djc_sh94 @@ -0,0 +1,447 @@ +!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +!! NEMO/OCE : Reference namelist_ref !! +!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +!! NEMO/OCE : 1 - Domain & run manager (namrun, namcfg, namdom, namtsd, namcrs, namc1d, namc1d_uvd) +!! namelists 2 - Surface boundary (namsbc, namsbc_flx, namsbc_blk, namsbc_cpl, +!! namsbc_sas, namtra_qsr, namsbc_rnf, +!! namisf, namsbc_apr, +!! namsbc_ssr, namsbc_wave, namberg) +!! 3 - lateral boundary (namlbc, namagrif, nambdy, nambdy_tide) +!! 4 - top/bot boundary (namdrg, namdrg_top, namdrg_bot, nambbc, nambbl) +!! 5 - Tracer (nameos, namtra_adv, namtra_ldf, namtra_eiv, namtra_dmp) +!! 6 - dynamics (namdyn_adv, namdyn_vor, namdyn_hpg, namdyn_spg, namdyn_ldf) +!! 7 - Vertical physics (namzdf, namzdf_ric, namzdf_tke, namzdf_gls, namzdf_iwm) +!! 8 - diagnostics (namnc4, namtrd, namspr, namflo, namhsb) +!! 9 - Obs & Assim (namobs, nam_asminc) +!! 10 - miscellaneous (nammpp, namctl, namsto) +!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + +!!====================================================================== +!! *** Domain & Run management namelists *** !! +!! !! +!! namrun parameters of the run +!! namdom space and time domain +!! namcfg parameters of the configuration (default: user defined GYRE) +!! namwad Wetting and drying (default: OFF) +!! namtsd data: temperature & salinity (default: OFF) +!! namcrs coarsened grid (for outputs and/or TOP) (ln_crs =T) +!! namc1d 1D configuration options ("key_c1d") +!! namc1d_dyndmp 1D newtonian damping applied on currents ("key_c1d") +!! namc1d_uvd 1D data (currents) ("key_c1d") +!!====================================================================== +! +!----------------------------------------------------------------------- +&namusr_def ! SEAMOUNT TEST CASE +!----------------------------------------------------------------------- +!! PHYSICAL DOMAIN + rn_xdim = 504. ! x-dimension of the domain [km] + rn_ydim = 504. ! y-dimension of the domain [km] + rn_bot_max = 4500. ! max ocean depth (>0) [m] + rn_smnt_H = 2700. ! seamount height (>0) [m] + rn_smnt_L = 50. ! seamount width [km] + rn_fplane = 0.0001 ! Coriolis parameter for f-plane approximation +!! NUMERICAL DISCRETIZATION + rn_dx = 8000. ! horizontal resolution [m] + rn_dz = 236.8 ! vertical resolution far from the seamount + ! and assuming no stretching [m] +!! VERTICAL COORDINATE + ln_zco = .false. ! z-coordinate + ln_zps = .false. ! z-partial-step coordinate + ln_sco = .true. ! s-coordinate + ! Stretched s-levels (ln_sco = .true.) + ln_s_sh94 = .true. ! TRUE: s-levels using Song & Haidvogel 1994 (SH94) + ! stretching function + ! FALSE: uniform sigma-levels + rn_theta = 3.0 ! SH94 surface control parameter (0<=theta<=20) + rn_bb = 0.0 ! SH94 bottom control parameter (0<=bb<=1) + rn_hc = 500 ! SH94 critical depth for transition to stretched coordinates [m] + ! Paramaters for vqs-coordinate (ln_sco = .true.) + ln_vqs = .false. ! activating vanishing quasi-sigma levels (TRUE) + rn_rmax = 0.3 ! maximum cut-off slope parameter value allowed + ! if using vqs-levels (0> model level are fixed in time + ! + rn_Dt = 360. ! time step for the dynamics and tracer + ln_meshmask = .true. ! =T create a mesh file +/ +!----------------------------------------------------------------------- +&namcfg ! parameters of the configuration (default: use namusr_def in namelist_cfg) +!----------------------------------------------------------------------- + ln_read_cfg = .false. ! (=T) read the domain configuration file + ln_write_cfg = .true. ! (=T) create the domain configuration file + cn_domcfg_out = "domain_cfg_out" ! newly created domain configuration filename +/ +!----------------------------------------------------------------------- +&namtile ! parameters of the tiling +!----------------------------------------------------------------------- + ln_tile = .false. ! Use tiling (T) or not (F) + nn_ltile_i = 10 ! Length of tiles in i + nn_ltile_j = 10 ! Length of tiles in j +/ +!!====================================================================== +!! *** Surface Boundary Condition namelists *** !! +!! !! +!! namsbc surface boundary condition manager (default: NO selection) +!! namsbc_flx flux formulation (ln_flx =T) +!! namsbc_blk Bulk formulae formulation (ln_blk =T) +!! namsbc_cpl CouPLed formulation ("key_oasis3" ) +!! namsbc_sas Stand-Alone Surface module (SAS_SRC only) +!! namsbc_iif Ice-IF: use observed ice cover (nn_ice = 1 ) +!! namtra_qsr penetrative solar radiation (ln_traqsr =T) +!! namsbc_ssr sea surface restoring term (for T and/or S) (ln_ssr =T) +!! namsbc_rnf river runoffs (ln_rnf =T) +!! namsbc_apr Atmospheric Pressure (ln_apr_dyn =T) +!! namsbc_wave external fields from wave model (ln_wave =T) +!! namberg iceberg floats (ln_icebergs=T) +!! namsbc_fwb freshwater-budget adjustment (nn_fwb > 0) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namsbc ! Surface Boundary Condition manager (default: NO selection) +!----------------------------------------------------------------------- + nn_fsbc = 1 ! frequency of SBC module call + ! ! (control sea-ice & iceberg model call) + ! Type of air-sea fluxes + ln_usr = .true. ! user defined formulation (T => check usrdef_sbc) +/ +!!====================================================================== +!! *** Lateral boundary condition *** !! +!! !! +!! namlbc lateral momentum boundary condition (default: NO selection) +!! namagrif agrif nested grid (read by child model only) ("key_agrif") +!! nam_tide Tidal forcing (default: OFF) +!! nambdy Unstructured open boundaries (default: OFF) +!! nambdy_dta Unstructured open boundaries - external data (see nambdy) +!! nambdy_tide tidal forcing at open boundaries (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namlbc ! lateral momentum boundary condition (default: NO selection) +!----------------------------------------------------------------------- + ! ! free slip ! partial slip ! no slip ! strong slip + rn_shlat = 0.0 ! shlat = 0 ! 0 < shlat < 2 ! shlat = 2 ! 2 < shlat +/ +!!====================================================================== +!! *** Top/Bottom boundary condition *** !! +!! !! +!! namdrg top/bottom drag coefficient (default: NO selection) +!! namdrg_top top friction (ln_drg_OFF=F & ln_isfcav=T) +!! namdrg_bot bottom friction (ln_drg_OFF=F) +!! nambbc bottom temperature boundary condition (default: OFF) +!! nambbl bottom boundary layer scheme (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namdrg ! top/bottom drag coefficient (default: NO selection) +!----------------------------------------------------------------------- + ln_drg_OFF = .true. ! free-slip : Cd = 0 (F => fill namdrg_bot + ln_lin = .false. ! linear drag: Cd = Cd0 Uc0 & namdrg_top) + ln_non_lin = .false. ! non-linear drag: Cd = Cd0 |U| + ln_loglayer = .false. ! logarithmic drag: Cd = vkarmn/log(z/z0) |U| + ! + ln_drgimp = .false. ! implicit top/bottom friction flag + ln_drgice_imp = .true.! implicit ice-ocean drag +/ +!----------------------------------------------------------------------- +&namdrg_top ! TOP friction (ln_drg_OFF =F & ln_isfcav=T) +!----------------------------------------------------------------------- +/ +!----------------------------------------------------------------------- +&namdrg_bot ! BOTTOM friction (ln_drg_OFF =F) +!----------------------------------------------------------------------- + rn_Cd0 = 0.0 ! drag coefficient [-] + rn_Uc0 = 0.0 ! ref. velocity [m/s] (linear drag=Cd0*Uc0) + rn_Cdmax = 1.e-4 ! drag value maximum [-] (logarithmic drag) + rn_ke0 = 2.5e-3 ! background kinetic energy [m2/s2] (non-linear cases) + rn_z0 = 3.e-3 ! roughness [m] (ln_loglayer=T) + ln_boost = .false. ! =T regional boost of Cd0 ; =F constant + rn_boost = 50. ! local boost factor [-] +/ +!!====================================================================== +!! Tracer (T-S) namelists !! +!! !! +!! nameos equation of state (default: NO selection) +!! namtra_adv advection scheme (default: NO selection) +!! namtra_ldf lateral diffusion scheme (default: NO selection) +!! namtra_mle mixed layer eddy param. (Fox-Kemper param.) (default: OFF) +!! namtra_eiv eddy induced velocity param. (default: OFF) +!! namtra_dmp T & S newtonian damping (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&nameos ! ocean Equation Of Seawater (default: NO selection) +!----------------------------------------------------------------------- + ln_teos10 = .false. ! = Use TEOS-10 + ln_eos80 = .true. ! = Use EOS80 + ln_seos = .false. ! = Use S-EOS (simplified Eq.) + ! + ! ! S-EOS coefficients (ln_seos=T): + ! ! rd(T,S,Z)*rho0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS + rn_a0 = 1.6550e-1 ! thermal expension coefficient + rn_b0 = 0.0 ! saline expension coefficient + rn_lambda1 = 0.0 ! cabbeling coeff in T^2 (=0 for linear eos) + rn_lambda2 = 0.0 ! cabbeling coeff in S^2 (=0 for linear eos) + rn_mu1 = 0.0 ! thermobaric coeff. in T (=0 for linear eos) + rn_mu2 = 0.0 ! thermobaric coeff. in S (=0 for linear eos) + rn_nu = 0.0 ! cabbeling coeff in T*S (=0 for linear eos) +/ +!----------------------------------------------------------------------- +&namtra_adv ! advection scheme for tracer (default: NO selection) +!----------------------------------------------------------------------- + ln_traadv_OFF = .false. ! No tracer advection + ln_traadv_cen = .true. ! 2nd order centered scheme + nn_cen_h = 2 ! =2/4, horizontal 2nd order CEN / 4th order CEN + nn_cen_v = 2 ! =2/4, vertical 2nd order CEN / 4th order COMPACT + ln_traadv_fct = .false. ! FCT scheme + nn_fct_h = 2 ! =2/4, horizontal 2nd / 4th order + nn_fct_v = 2 ! =2/4, vertical 2nd / COMPACT 4th order + ln_traadv_mus = .false. ! MUSCL scheme + ln_mus_ups = .false. ! use upstream scheme near river mouths + ln_traadv_ubs = .false. ! UBS scheme + nn_ubs_v = 2 ! =2 , vertical 2nd order FCT / COMPACT 4th order + ln_traadv_qck = .false. ! QUICKEST scheme +/ +!----------------------------------------------------------------------- +&namtra_ldf ! lateral diffusion scheme for tracers (default: NO selection) +!----------------------------------------------------------------------- + ! ! Operator type: + ln_traldf_OFF = .true. ! No explicit diffusion +/ +!!====================================================================== +!! *** Dynamics namelists *** !! +!! !! +!! nam_vvl vertical coordinate options (default: z-star) +!! namdyn_adv formulation of the momentum advection (default: NO selection) +!! namdyn_vor advection scheme (default: NO selection) +!! namdyn_hpg hydrostatic pressure gradient (default: NO selection) +!! namdyn_spg surface pressure gradient (default: NO selection) +!! namdyn_ldf lateral diffusion scheme (default: NO selection) +!! namdta_dyn offline TOP: dynamics read in files (OFF_SRC only) +!!====================================================================== +! +!----------------------------------------------------------------------- +&nam_vvl ! vertical coordinate options (default: z-star) +!----------------------------------------------------------------------- + ln_vvl_zstar = .true. ! z-star vertical coordinate + ln_vvl_ztilde = .false. ! z-tilde vertical coordinate: only high frequency variations + ln_vvl_layer = .false. ! full layer vertical coordinate + ln_vvl_ztilde_as_zstar = .false. ! ztilde vertical coordinate emulating zstar + ln_vvl_zstar_at_eqtor = .false. ! ztilde near the equator + rn_ahe3 = 0.0 ! thickness diffusion coefficient + rn_rst_e3t = 30.0 ! ztilde to zstar restoration timescale [days] + rn_lf_cutoff = 5.0 ! cutoff frequency for low-pass filter [days] + rn_zdef_max = 0.9 ! maximum fractional e3t deformation + ln_vvl_dbg = .false. ! debug prints (T/F) +/ +!----------------------------------------------------------------------- +&namdyn_adv ! formulation of the momentum advection (default: NO selection) +!----------------------------------------------------------------------- + ln_dynadv_OFF = .false. ! linear dynamics (no momentum advection) + ln_dynadv_vec = .true. ! vector form - 2nd centered scheme + nn_dynkeg = 0 ! grad(KE) scheme: =0 C2 ; =1 Hollingsworth correction + ln_dynadv_cen2 = .false. ! flux form - 2nd order centered scheme + ln_dynadv_ubs = .false. ! flux form - 3rd order UBS scheme +/ +!----------------------------------------------------------------------- +&namdyn_vor ! Vorticity / Coriolis scheme (default: NO selection) +!----------------------------------------------------------------------- + ln_dynvor_ene = .false. ! energy conserving scheme + ln_dynvor_ens = .false. ! enstrophy conserving scheme + ln_dynvor_mix = .false. ! mixed scheme + ln_dynvor_enT = .false. ! energy conserving scheme (T-point) + ln_dynvor_eeT = .false. ! energy conserving scheme (een using e3t) + ln_dynvor_een = .true. ! energy & enstrophy scheme + ! + ln_dynvor_msk = .false. ! vorticity multiplied by fmask (=T) ==>>> PLEASE DO NOT ACTIVATE + ! ! (f-point vorticity schemes only) + ! + nn_e3f_typ = 0 ! type of e3f (EEN, ENE, ENS, MIX only) =0 e3f = mi(mj(e3t))/4 + ! ! =1 e3f = mi(mj(e3t))/mi(mj( tmask)) +/ +!----------------------------------------------------------------------- +&namdyn_hpg ! Hydrostatic pressure gradient option (default: NO selection) +!----------------------------------------------------------------------- + ln_hpg_zco = .false. ! z-coordinate - full steps + ln_hpg_zps = .false. ! z-coordinate - partial steps (interpolation) + ln_hpg_sco = .false. ! s-coordinate (standard jacobian formulation) + ln_hpg_isf = .false. ! s-coordinate (sco ) adapted to isf + ln_hpg_djc = .true. ! s-coordinate (Density Jacobian with Cubic polynomial) + ln_hpg_djc_vnh = .true. ! hor. bc type for djc scheme (T=von Neumann, F=linear extrapolation) + ln_hpg_djc_vnv = .true. ! vert. bc type for djc scheme (T=von Neumann, F=linear extrapolation) + ln_hpg_prj = .false. ! s-coordinate (Pressure Jacobian scheme) +/ +!----------------------------------------------------------------------- +&namdyn_spg ! surface pressure gradient (default: NO selection) +!----------------------------------------------------------------------- + ln_dynspg_exp = .false. ! explicit free surface + ln_dynspg_ts = .true. ! split-explicit free surface + nn_e = 30 ! =F : the number of sub-step in rn_Dt seconds +/ +!----------------------------------------------------------------------- +&namdyn_ldf ! lateral diffusion on momentum (default: NO selection) +!----------------------------------------------------------------------- + ! ! Type of the operator : + ln_dynldf_OFF = .false. ! No operator (i.e. no explicit diffusion) + nn_dynldf_typ = 0 ! =0 div-rot (default) ; =1 symmetric + ln_dynldf_lap = .true. ! laplacian operator + ln_dynldf_blp = .false. ! bilaplacian operator + ! ! Direction of action : + ln_dynldf_lev = .true. ! iso-level + ln_dynldf_hor = .false. ! horizontal (geopotential) + ln_dynldf_iso = .false. ! iso-neutral (lap only) + ! ! Coefficient + nn_ahm_ijk_t = 0 ! space/time variation of eddy coefficient : + ! ! =-30 read in eddy_viscosity_3D.nc file + ! ! =-20 read in eddy_viscosity_2D.nc file + ! ! = 0 constant + ! ! = 10 F(k)=c1d + ! ! = 20 F(i,j)=F(grid spacing)=c2d + ! ! = 30 F(i,j,k)=c2d*c1d + ! ! = 31 F(i,j,k)=F(grid spacing and local velocity) + ! ! = 32 F(i,j,k)=F(local gridscale and deformation rate) + ! ! time invariant coefficients : ahm = 1/2 Uv*Lv (lap case) + ! ! or = 1/12 Uv*Lv^3 (blp case) + rn_Uv = 1.0 ! lateral viscous velocity [m/s] (nn_ahm_ijk_t= 0, 10, 20, 30) + rn_Lv = 1.e+3 ! lateral viscous length [m] (nn_ahm_ijk_t= 0, 10) +/ +!!====================================================================== +!! vertical physics namelists !! +!! !! +!! namzdf vertical physics manager (default: NO selection) +!! namzdf_ric richardson number vertical mixing (ln_zdfric=T) +!! namzdf_tke TKE vertical mixing (ln_zdftke=T) +!! namzdf_gls GLS vertical mixing (ln_zdfgls=T) +!! namzdf_osm OSM vertical diffusion (ln_zdfosm=T) +!! namzdf_iwm tidal mixing parameterization (ln_zdfiwm=T) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namzdf ! vertical physics manager (default: NO selection) +!----------------------------------------------------------------------- + ! ! adaptive-implicit vertical advection + ln_zad_Aimp = .false. ! Courant number dependent scheme (Shchepetkin 2015) + ! + ! ! type of vertical closure (required) + ln_zdfcst = .true. ! constant mixing + ln_zdfric = .false. ! local Richardson dependent formulation (T => fill namzdf_ric) + ln_zdftke = .false. ! Turbulent Kinetic Energy closure (T => fill namzdf_tke) + ln_zdfgls = .false. ! Generic Length Scale closure (T => fill namzdf_gls) + ln_zdfosm = .false. ! OSMOSIS BL closure (T => fill namzdf_osm) + ! + ! ! convection + ln_zdfevd = .false. ! enhanced vertical diffusion + nn_evdm = 0 ! apply on tracer (=0) or on tracer and momentum (=1) + rn_evd = 100. ! mixing coefficient [m2/s] + ln_zdfnpc = .false. ! Non-Penetrative Convective algorithm + nn_npc = 1 ! frequency of application of npc + nn_npcp = 365 ! npc control print frequency + ln_zdfmfc = .false. ! Mass Flux Convection + ! + ln_zdfddm = .false. ! double diffusive mixing + rn_avts = 1.e-4 ! maximum avs (vertical mixing on salinity) + rn_hsbfr = 1.6 ! heat/salt buoyancy flux ratio + ! + ! ! gravity wave-driven vertical mixing + ln_zdfiwm = .false. ! internal wave-induced mixing (T => fill namzdf_iwm) + ln_zdfswm = .false. ! surface wave-induced mixing (T => ln_wave=ln_sdw=T ) + ! + ! ! coefficients + rn_avm0 = 2.e-5 ! vertical eddy viscosity [m2/s] (background Kz if ln_zdfcst=F) + rn_avt0 = 2.e-5 ! vertical eddy diffusivity [m2/s] (background Kz if ln_zdfcst=F) + nn_avb = 0 ! profile for background avt & avm (=1) or not (=0) + nn_havtb = 0 ! horizontal shape for avtb (=1) or not (=0) +/ +!!====================================================================== +!! *** Diagnostics namelists *** !! +!! !! +!! namtrd dynamics and/or tracer trends (default: OFF) +!! namhsb Heat and salt budgets (default: OFF) +!! namdiu Cool skin and warm layer models (default: OFF) +!! namdiu Cool skin and warm layer models (default: OFF) +!! namflo float parameters (default: OFF) +!! nam_diadct transports through some sections (default: OFF) +!! nam_dia25h 25h Mean Output (default: OFF) +!! namnc4 netcdf4 chunking and compression settings ("key_netcdf4") +!!====================================================================== +! +!----------------------------------------------------------------------- +&namtrd ! trend diagnostics (default: OFF) +!----------------------------------------------------------------------- + ln_glo_trd = .false. ! (T) global domain averaged diag for T, T^2, KE, and PE + ln_dyn_trd = .true. ! (T) 3D momentum trend output + ln_dyn_mxl = .false. ! (T) 2D momentum trends averaged over the mixed layer (not coded yet) + ln_vor_trd = .false. ! (T) 2D barotropic vorticity trends (not coded yet) + ln_KE_trd = .false. ! (T) 3D Kinetic Energy trends + ln_PE_trd = .false. ! (T) 3D Potential Energy trends + ln_tra_trd = .false. ! (T) 3D tracer trend output + ln_tra_mxl = .false. ! (T) 2D tracer trends averaged over the mixed layer (not coded yet) + nn_trd = 1 ! print frequency (ln_glo_trd=T) (unit=time step) +/ +!!====================================================================== +!! *** Observation & Assimilation *** !! +!! !! +!! namobs observation and model comparison (default: OFF) +!! nam_asminc assimilation increments ('key_asminc') +!!====================================================================== +! +!!====================================================================== +!! *** Miscellaneous namelists *** !! +!! !! +!! nammpp Massively Parallel Processing ("key_mpp_mpi") +!! namctl Control prints (default: OFF) +!! namsto Stochastic parametrization of EOS (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&nammpp ! Massively Parallel Processing ("key_mpp_mpi") +!----------------------------------------------------------------------- +! ln_listonly = .false. ! do nothing else than listing the best domain decompositions (with land domains suppression) + ! ! if T: the largest number of cores tested is defined by max(mppsize, jpni*jpnj) +! ln_nnogather = .true. ! activate code to avoid mpi_allgather use at the northfold + jpni = 0 ! number of processors following i (set automatically if < 1), see also ln_listonly = T + jpnj = 0 ! number of processors following j (set automatically if < 1), see also ln_listonly = T +! nn_hls = 1 ! halo width (applies to both rows and columns) +/ +!----------------------------------------------------------------------- +&namctl ! Control prints (default: OFF) +!----------------------------------------------------------------------- + sn_cfctl%l_runstat = .TRUE. ! switches and which areas produce reports with the proc integer settings. +! sn_cfctl%l_trcstat = .FALSE. ! The default settings for the proc integers should ensure + sn_cfctl%l_oceout = .FALSE. ! that all areas report. +! sn_cfctl%l_layout = .FALSE. ! +! sn_cfctl%l_prtctl = .FALSE. ! +! sn_cfctl%l_prttrc = .FALSE. ! +! sn_cfctl%l_oasout = .FALSE. ! +! sn_cfctl%procmin = 0 ! Minimum area number for reporting [default:0] +! sn_cfctl%procmax = 1000000 ! Maximum area number for reporting [default:1000000] +! sn_cfctl%procincr = 1 ! Increment for optional subsetting of areas [default:1] +! sn_cfctl%ptimincr = 1 ! Timestep increment for writing time step progress info +! nn_ictls = 0 ! start i indice of control sum (use to compare mono versus +! nn_ictle = 0 ! end i indice of control sum multi processor runs +! nn_jctls = 0 ! start j indice of control over a subdomain) +! nn_jctle = 0 ! end j indice of control +! nn_isplt = 1 ! number of processors in i-direction +! nn_jsplt = 1 ! number of processors in j-direction + ln_timing = .true. ! timing by routine write out in timing.output file +! ln_diacfl = .false. ! CFL diagnostics write out in cfl_diagnostics.ascii +/ diff --git a/SEAMOUNT/EXPREF/nam_cfg/moderate/namelist_cfg.djc_sig b/SEAMOUNT/EXPREF/nam_cfg/moderate/namelist_cfg.djc_sig new file mode 100644 index 0000000..b425aa6 --- /dev/null +++ b/SEAMOUNT/EXPREF/nam_cfg/moderate/namelist_cfg.djc_sig @@ -0,0 +1,447 @@ +!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +!! NEMO/OCE : Reference namelist_ref !! +!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +!! NEMO/OCE : 1 - Domain & run manager (namrun, namcfg, namdom, namtsd, namcrs, namc1d, namc1d_uvd) +!! namelists 2 - Surface boundary (namsbc, namsbc_flx, namsbc_blk, namsbc_cpl, +!! namsbc_sas, namtra_qsr, namsbc_rnf, +!! namisf, namsbc_apr, +!! namsbc_ssr, namsbc_wave, namberg) +!! 3 - lateral boundary (namlbc, namagrif, nambdy, nambdy_tide) +!! 4 - top/bot boundary (namdrg, namdrg_top, namdrg_bot, nambbc, nambbl) +!! 5 - Tracer (nameos, namtra_adv, namtra_ldf, namtra_eiv, namtra_dmp) +!! 6 - dynamics (namdyn_adv, namdyn_vor, namdyn_hpg, namdyn_spg, namdyn_ldf) +!! 7 - Vertical physics (namzdf, namzdf_ric, namzdf_tke, namzdf_gls, namzdf_iwm) +!! 8 - diagnostics (namnc4, namtrd, namspr, namflo, namhsb) +!! 9 - Obs & Assim (namobs, nam_asminc) +!! 10 - miscellaneous (nammpp, namctl, namsto) +!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + +!!====================================================================== +!! *** Domain & Run management namelists *** !! +!! !! +!! namrun parameters of the run +!! namdom space and time domain +!! namcfg parameters of the configuration (default: user defined GYRE) +!! namwad Wetting and drying (default: OFF) +!! namtsd data: temperature & salinity (default: OFF) +!! namcrs coarsened grid (for outputs and/or TOP) (ln_crs =T) +!! namc1d 1D configuration options ("key_c1d") +!! namc1d_dyndmp 1D newtonian damping applied on currents ("key_c1d") +!! namc1d_uvd 1D data (currents) ("key_c1d") +!!====================================================================== +! +!----------------------------------------------------------------------- +&namusr_def ! SEAMOUNT TEST CASE +!----------------------------------------------------------------------- +!! PHYSICAL DOMAIN + rn_xdim = 504. ! x-dimension of the domain [km] + rn_ydim = 504. ! y-dimension of the domain [km] + rn_bot_max = 4500. ! max ocean depth (>0) [m] + rn_smnt_H = 2700. ! seamount height (>0) [m] + rn_smnt_L = 50. ! seamount width [km] + rn_fplane = 0.0001 ! Coriolis parameter for f-plane approximation +!! NUMERICAL DISCRETIZATION + rn_dx = 8000. ! horizontal resolution [m] + rn_dz = 236.8 ! vertical resolution far from the seamount + ! and assuming no stretching [m] +!! VERTICAL COORDINATE + ln_zco = .false. ! z-coordinate + ln_zps = .false. ! z-partial-step coordinate + ln_sco = .true. ! s-coordinate + ! Stretched s-levels (ln_sco = .true.) + ln_s_sh94 = .false. ! TRUE: s-levels using Song & Haidvogel 1994 (SH94) + ! stretching function + ! FALSE: uniform sigma-levels + rn_theta = 3.0 ! SH94 surface control parameter (0<=theta<=20) + rn_bb = 0.0 ! SH94 bottom control parameter (0<=bb<=1) + rn_hc = 500 ! SH94 critical depth for transition to stretched coordinates [m] + ! Paramaters for vqs-coordinate (ln_sco = .true.) + ln_vqs = .false. ! activating vanishing quasi-sigma levels (TRUE) + rn_rmax = 0.3 ! maximum cut-off slope parameter value allowed + ! if using vqs-levels (0> model level are fixed in time + ! + rn_Dt = 360. ! time step for the dynamics and tracer + ln_meshmask = .true. ! =T create a mesh file +/ +!----------------------------------------------------------------------- +&namcfg ! parameters of the configuration (default: use namusr_def in namelist_cfg) +!----------------------------------------------------------------------- + ln_read_cfg = .false. ! (=T) read the domain configuration file + ln_write_cfg = .true. ! (=T) create the domain configuration file + cn_domcfg_out = "domain_cfg_out" ! newly created domain configuration filename +/ +!----------------------------------------------------------------------- +&namtile ! parameters of the tiling +!----------------------------------------------------------------------- + ln_tile = .false. ! Use tiling (T) or not (F) + nn_ltile_i = 10 ! Length of tiles in i + nn_ltile_j = 10 ! Length of tiles in j +/ +!!====================================================================== +!! *** Surface Boundary Condition namelists *** !! +!! !! +!! namsbc surface boundary condition manager (default: NO selection) +!! namsbc_flx flux formulation (ln_flx =T) +!! namsbc_blk Bulk formulae formulation (ln_blk =T) +!! namsbc_cpl CouPLed formulation ("key_oasis3" ) +!! namsbc_sas Stand-Alone Surface module (SAS_SRC only) +!! namsbc_iif Ice-IF: use observed ice cover (nn_ice = 1 ) +!! namtra_qsr penetrative solar radiation (ln_traqsr =T) +!! namsbc_ssr sea surface restoring term (for T and/or S) (ln_ssr =T) +!! namsbc_rnf river runoffs (ln_rnf =T) +!! namsbc_apr Atmospheric Pressure (ln_apr_dyn =T) +!! namsbc_wave external fields from wave model (ln_wave =T) +!! namberg iceberg floats (ln_icebergs=T) +!! namsbc_fwb freshwater-budget adjustment (nn_fwb > 0) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namsbc ! Surface Boundary Condition manager (default: NO selection) +!----------------------------------------------------------------------- + nn_fsbc = 1 ! frequency of SBC module call + ! ! (control sea-ice & iceberg model call) + ! Type of air-sea fluxes + ln_usr = .true. ! user defined formulation (T => check usrdef_sbc) +/ +!!====================================================================== +!! *** Lateral boundary condition *** !! +!! !! +!! namlbc lateral momentum boundary condition (default: NO selection) +!! namagrif agrif nested grid (read by child model only) ("key_agrif") +!! nam_tide Tidal forcing (default: OFF) +!! nambdy Unstructured open boundaries (default: OFF) +!! nambdy_dta Unstructured open boundaries - external data (see nambdy) +!! nambdy_tide tidal forcing at open boundaries (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namlbc ! lateral momentum boundary condition (default: NO selection) +!----------------------------------------------------------------------- + ! ! free slip ! partial slip ! no slip ! strong slip + rn_shlat = 0.0 ! shlat = 0 ! 0 < shlat < 2 ! shlat = 2 ! 2 < shlat +/ +!!====================================================================== +!! *** Top/Bottom boundary condition *** !! +!! !! +!! namdrg top/bottom drag coefficient (default: NO selection) +!! namdrg_top top friction (ln_drg_OFF=F & ln_isfcav=T) +!! namdrg_bot bottom friction (ln_drg_OFF=F) +!! nambbc bottom temperature boundary condition (default: OFF) +!! nambbl bottom boundary layer scheme (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namdrg ! top/bottom drag coefficient (default: NO selection) +!----------------------------------------------------------------------- + ln_drg_OFF = .true. ! free-slip : Cd = 0 (F => fill namdrg_bot + ln_lin = .false. ! linear drag: Cd = Cd0 Uc0 & namdrg_top) + ln_non_lin = .false. ! non-linear drag: Cd = Cd0 |U| + ln_loglayer = .false. ! logarithmic drag: Cd = vkarmn/log(z/z0) |U| + ! + ln_drgimp = .false. ! implicit top/bottom friction flag + ln_drgice_imp = .true.! implicit ice-ocean drag +/ +!----------------------------------------------------------------------- +&namdrg_top ! TOP friction (ln_drg_OFF =F & ln_isfcav=T) +!----------------------------------------------------------------------- +/ +!----------------------------------------------------------------------- +&namdrg_bot ! BOTTOM friction (ln_drg_OFF =F) +!----------------------------------------------------------------------- + rn_Cd0 = 0.0 ! drag coefficient [-] + rn_Uc0 = 0.0 ! ref. velocity [m/s] (linear drag=Cd0*Uc0) + rn_Cdmax = 1.e-4 ! drag value maximum [-] (logarithmic drag) + rn_ke0 = 2.5e-3 ! background kinetic energy [m2/s2] (non-linear cases) + rn_z0 = 3.e-3 ! roughness [m] (ln_loglayer=T) + ln_boost = .false. ! =T regional boost of Cd0 ; =F constant + rn_boost = 50. ! local boost factor [-] +/ +!!====================================================================== +!! Tracer (T-S) namelists !! +!! !! +!! nameos equation of state (default: NO selection) +!! namtra_adv advection scheme (default: NO selection) +!! namtra_ldf lateral diffusion scheme (default: NO selection) +!! namtra_mle mixed layer eddy param. (Fox-Kemper param.) (default: OFF) +!! namtra_eiv eddy induced velocity param. (default: OFF) +!! namtra_dmp T & S newtonian damping (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&nameos ! ocean Equation Of Seawater (default: NO selection) +!----------------------------------------------------------------------- + ln_teos10 = .false. ! = Use TEOS-10 + ln_eos80 = .true. ! = Use EOS80 + ln_seos = .false. ! = Use S-EOS (simplified Eq.) + ! + ! ! S-EOS coefficients (ln_seos=T): + ! ! rd(T,S,Z)*rho0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS + rn_a0 = 1.6550e-1 ! thermal expension coefficient + rn_b0 = 0.0 ! saline expension coefficient + rn_lambda1 = 0.0 ! cabbeling coeff in T^2 (=0 for linear eos) + rn_lambda2 = 0.0 ! cabbeling coeff in S^2 (=0 for linear eos) + rn_mu1 = 0.0 ! thermobaric coeff. in T (=0 for linear eos) + rn_mu2 = 0.0 ! thermobaric coeff. in S (=0 for linear eos) + rn_nu = 0.0 ! cabbeling coeff in T*S (=0 for linear eos) +/ +!----------------------------------------------------------------------- +&namtra_adv ! advection scheme for tracer (default: NO selection) +!----------------------------------------------------------------------- + ln_traadv_OFF = .false. ! No tracer advection + ln_traadv_cen = .true. ! 2nd order centered scheme + nn_cen_h = 2 ! =2/4, horizontal 2nd order CEN / 4th order CEN + nn_cen_v = 2 ! =2/4, vertical 2nd order CEN / 4th order COMPACT + ln_traadv_fct = .false. ! FCT scheme + nn_fct_h = 2 ! =2/4, horizontal 2nd / 4th order + nn_fct_v = 2 ! =2/4, vertical 2nd / COMPACT 4th order + ln_traadv_mus = .false. ! MUSCL scheme + ln_mus_ups = .false. ! use upstream scheme near river mouths + ln_traadv_ubs = .false. ! UBS scheme + nn_ubs_v = 2 ! =2 , vertical 2nd order FCT / COMPACT 4th order + ln_traadv_qck = .false. ! QUICKEST scheme +/ +!----------------------------------------------------------------------- +&namtra_ldf ! lateral diffusion scheme for tracers (default: NO selection) +!----------------------------------------------------------------------- + ! ! Operator type: + ln_traldf_OFF = .true. ! No explicit diffusion +/ +!!====================================================================== +!! *** Dynamics namelists *** !! +!! !! +!! nam_vvl vertical coordinate options (default: z-star) +!! namdyn_adv formulation of the momentum advection (default: NO selection) +!! namdyn_vor advection scheme (default: NO selection) +!! namdyn_hpg hydrostatic pressure gradient (default: NO selection) +!! namdyn_spg surface pressure gradient (default: NO selection) +!! namdyn_ldf lateral diffusion scheme (default: NO selection) +!! namdta_dyn offline TOP: dynamics read in files (OFF_SRC only) +!!====================================================================== +! +!----------------------------------------------------------------------- +&nam_vvl ! vertical coordinate options (default: z-star) +!----------------------------------------------------------------------- + ln_vvl_zstar = .true. ! z-star vertical coordinate + ln_vvl_ztilde = .false. ! z-tilde vertical coordinate: only high frequency variations + ln_vvl_layer = .false. ! full layer vertical coordinate + ln_vvl_ztilde_as_zstar = .false. ! ztilde vertical coordinate emulating zstar + ln_vvl_zstar_at_eqtor = .false. ! ztilde near the equator + rn_ahe3 = 0.0 ! thickness diffusion coefficient + rn_rst_e3t = 30.0 ! ztilde to zstar restoration timescale [days] + rn_lf_cutoff = 5.0 ! cutoff frequency for low-pass filter [days] + rn_zdef_max = 0.9 ! maximum fractional e3t deformation + ln_vvl_dbg = .false. ! debug prints (T/F) +/ +!----------------------------------------------------------------------- +&namdyn_adv ! formulation of the momentum advection (default: NO selection) +!----------------------------------------------------------------------- + ln_dynadv_OFF = .false. ! linear dynamics (no momentum advection) + ln_dynadv_vec = .true. ! vector form - 2nd centered scheme + nn_dynkeg = 0 ! grad(KE) scheme: =0 C2 ; =1 Hollingsworth correction + ln_dynadv_cen2 = .false. ! flux form - 2nd order centered scheme + ln_dynadv_ubs = .false. ! flux form - 3rd order UBS scheme +/ +!----------------------------------------------------------------------- +&namdyn_vor ! Vorticity / Coriolis scheme (default: NO selection) +!----------------------------------------------------------------------- + ln_dynvor_ene = .false. ! energy conserving scheme + ln_dynvor_ens = .false. ! enstrophy conserving scheme + ln_dynvor_mix = .false. ! mixed scheme + ln_dynvor_enT = .false. ! energy conserving scheme (T-point) + ln_dynvor_eeT = .false. ! energy conserving scheme (een using e3t) + ln_dynvor_een = .true. ! energy & enstrophy scheme + ! + ln_dynvor_msk = .false. ! vorticity multiplied by fmask (=T) ==>>> PLEASE DO NOT ACTIVATE + ! ! (f-point vorticity schemes only) + ! + nn_e3f_typ = 0 ! type of e3f (EEN, ENE, ENS, MIX only) =0 e3f = mi(mj(e3t))/4 + ! ! =1 e3f = mi(mj(e3t))/mi(mj( tmask)) +/ +!----------------------------------------------------------------------- +&namdyn_hpg ! Hydrostatic pressure gradient option (default: NO selection) +!----------------------------------------------------------------------- + ln_hpg_zco = .false. ! z-coordinate - full steps + ln_hpg_zps = .false. ! z-coordinate - partial steps (interpolation) + ln_hpg_sco = .false. ! s-coordinate (standard jacobian formulation) + ln_hpg_isf = .false. ! s-coordinate (sco ) adapted to isf + ln_hpg_djc = .true. ! s-coordinate (Density Jacobian with Cubic polynomial) + ln_hpg_djc_vnh = .true. ! hor. bc type for djc scheme (T=von Neumann, F=linear extrapolation) + ln_hpg_djc_vnv = .true. ! vert. bc type for djc scheme (T=von Neumann, F=linear extrapolation) + ln_hpg_prj = .false. ! s-coordinate (Pressure Jacobian scheme) +/ +!----------------------------------------------------------------------- +&namdyn_spg ! surface pressure gradient (default: NO selection) +!----------------------------------------------------------------------- + ln_dynspg_exp = .false. ! explicit free surface + ln_dynspg_ts = .true. ! split-explicit free surface + nn_e = 30 ! =F : the number of sub-step in rn_Dt seconds +/ +!----------------------------------------------------------------------- +&namdyn_ldf ! lateral diffusion on momentum (default: NO selection) +!----------------------------------------------------------------------- + ! ! Type of the operator : + ln_dynldf_OFF = .false. ! No operator (i.e. no explicit diffusion) + nn_dynldf_typ = 0 ! =0 div-rot (default) ; =1 symmetric + ln_dynldf_lap = .true. ! laplacian operator + ln_dynldf_blp = .false. ! bilaplacian operator + ! ! Direction of action : + ln_dynldf_lev = .true. ! iso-level + ln_dynldf_hor = .false. ! horizontal (geopotential) + ln_dynldf_iso = .false. ! iso-neutral (lap only) + ! ! Coefficient + nn_ahm_ijk_t = 0 ! space/time variation of eddy coefficient : + ! ! =-30 read in eddy_viscosity_3D.nc file + ! ! =-20 read in eddy_viscosity_2D.nc file + ! ! = 0 constant + ! ! = 10 F(k)=c1d + ! ! = 20 F(i,j)=F(grid spacing)=c2d + ! ! = 30 F(i,j,k)=c2d*c1d + ! ! = 31 F(i,j,k)=F(grid spacing and local velocity) + ! ! = 32 F(i,j,k)=F(local gridscale and deformation rate) + ! ! time invariant coefficients : ahm = 1/2 Uv*Lv (lap case) + ! ! or = 1/12 Uv*Lv^3 (blp case) + rn_Uv = 1.0 ! lateral viscous velocity [m/s] (nn_ahm_ijk_t= 0, 10, 20, 30) + rn_Lv = 1.e+3 ! lateral viscous length [m] (nn_ahm_ijk_t= 0, 10) +/ +!!====================================================================== +!! vertical physics namelists !! +!! !! +!! namzdf vertical physics manager (default: NO selection) +!! namzdf_ric richardson number vertical mixing (ln_zdfric=T) +!! namzdf_tke TKE vertical mixing (ln_zdftke=T) +!! namzdf_gls GLS vertical mixing (ln_zdfgls=T) +!! namzdf_osm OSM vertical diffusion (ln_zdfosm=T) +!! namzdf_iwm tidal mixing parameterization (ln_zdfiwm=T) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namzdf ! vertical physics manager (default: NO selection) +!----------------------------------------------------------------------- + ! ! adaptive-implicit vertical advection + ln_zad_Aimp = .false. ! Courant number dependent scheme (Shchepetkin 2015) + ! + ! ! type of vertical closure (required) + ln_zdfcst = .true. ! constant mixing + ln_zdfric = .false. ! local Richardson dependent formulation (T => fill namzdf_ric) + ln_zdftke = .false. ! Turbulent Kinetic Energy closure (T => fill namzdf_tke) + ln_zdfgls = .false. ! Generic Length Scale closure (T => fill namzdf_gls) + ln_zdfosm = .false. ! OSMOSIS BL closure (T => fill namzdf_osm) + ! + ! ! convection + ln_zdfevd = .false. ! enhanced vertical diffusion + nn_evdm = 0 ! apply on tracer (=0) or on tracer and momentum (=1) + rn_evd = 100. ! mixing coefficient [m2/s] + ln_zdfnpc = .false. ! Non-Penetrative Convective algorithm + nn_npc = 1 ! frequency of application of npc + nn_npcp = 365 ! npc control print frequency + ln_zdfmfc = .false. ! Mass Flux Convection + ! + ln_zdfddm = .false. ! double diffusive mixing + rn_avts = 1.e-4 ! maximum avs (vertical mixing on salinity) + rn_hsbfr = 1.6 ! heat/salt buoyancy flux ratio + ! + ! ! gravity wave-driven vertical mixing + ln_zdfiwm = .false. ! internal wave-induced mixing (T => fill namzdf_iwm) + ln_zdfswm = .false. ! surface wave-induced mixing (T => ln_wave=ln_sdw=T ) + ! + ! ! coefficients + rn_avm0 = 2.e-5 ! vertical eddy viscosity [m2/s] (background Kz if ln_zdfcst=F) + rn_avt0 = 2.e-5 ! vertical eddy diffusivity [m2/s] (background Kz if ln_zdfcst=F) + nn_avb = 0 ! profile for background avt & avm (=1) or not (=0) + nn_havtb = 0 ! horizontal shape for avtb (=1) or not (=0) +/ +!!====================================================================== +!! *** Diagnostics namelists *** !! +!! !! +!! namtrd dynamics and/or tracer trends (default: OFF) +!! namhsb Heat and salt budgets (default: OFF) +!! namdiu Cool skin and warm layer models (default: OFF) +!! namdiu Cool skin and warm layer models (default: OFF) +!! namflo float parameters (default: OFF) +!! nam_diadct transports through some sections (default: OFF) +!! nam_dia25h 25h Mean Output (default: OFF) +!! namnc4 netcdf4 chunking and compression settings ("key_netcdf4") +!!====================================================================== +! +!----------------------------------------------------------------------- +&namtrd ! trend diagnostics (default: OFF) +!----------------------------------------------------------------------- + ln_glo_trd = .false. ! (T) global domain averaged diag for T, T^2, KE, and PE + ln_dyn_trd = .true. ! (T) 3D momentum trend output + ln_dyn_mxl = .false. ! (T) 2D momentum trends averaged over the mixed layer (not coded yet) + ln_vor_trd = .false. ! (T) 2D barotropic vorticity trends (not coded yet) + ln_KE_trd = .false. ! (T) 3D Kinetic Energy trends + ln_PE_trd = .false. ! (T) 3D Potential Energy trends + ln_tra_trd = .false. ! (T) 3D tracer trend output + ln_tra_mxl = .false. ! (T) 2D tracer trends averaged over the mixed layer (not coded yet) + nn_trd = 1 ! print frequency (ln_glo_trd=T) (unit=time step) +/ +!!====================================================================== +!! *** Observation & Assimilation *** !! +!! !! +!! namobs observation and model comparison (default: OFF) +!! nam_asminc assimilation increments ('key_asminc') +!!====================================================================== +! +!!====================================================================== +!! *** Miscellaneous namelists *** !! +!! !! +!! nammpp Massively Parallel Processing ("key_mpp_mpi") +!! namctl Control prints (default: OFF) +!! namsto Stochastic parametrization of EOS (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&nammpp ! Massively Parallel Processing ("key_mpp_mpi") +!----------------------------------------------------------------------- +! ln_listonly = .false. ! do nothing else than listing the best domain decompositions (with land domains suppression) + ! ! if T: the largest number of cores tested is defined by max(mppsize, jpni*jpnj) +! ln_nnogather = .true. ! activate code to avoid mpi_allgather use at the northfold + jpni = 0 ! number of processors following i (set automatically if < 1), see also ln_listonly = T + jpnj = 0 ! number of processors following j (set automatically if < 1), see also ln_listonly = T +! nn_hls = 1 ! halo width (applies to both rows and columns) +/ +!----------------------------------------------------------------------- +&namctl ! Control prints (default: OFF) +!----------------------------------------------------------------------- + sn_cfctl%l_runstat = .TRUE. ! switches and which areas produce reports with the proc integer settings. +! sn_cfctl%l_trcstat = .FALSE. ! The default settings for the proc integers should ensure + sn_cfctl%l_oceout = .FALSE. ! that all areas report. +! sn_cfctl%l_layout = .FALSE. ! +! sn_cfctl%l_prtctl = .FALSE. ! +! sn_cfctl%l_prttrc = .FALSE. ! +! sn_cfctl%l_oasout = .FALSE. ! +! sn_cfctl%procmin = 0 ! Minimum area number for reporting [default:0] +! sn_cfctl%procmax = 1000000 ! Maximum area number for reporting [default:1000000] +! sn_cfctl%procincr = 1 ! Increment for optional subsetting of areas [default:1] +! sn_cfctl%ptimincr = 1 ! Timestep increment for writing time step progress info +! nn_ictls = 0 ! start i indice of control sum (use to compare mono versus +! nn_ictle = 0 ! end i indice of control sum multi processor runs +! nn_jctls = 0 ! start j indice of control over a subdomain) +! nn_jctle = 0 ! end j indice of control +! nn_isplt = 1 ! number of processors in i-direction +! nn_jsplt = 1 ! number of processors in j-direction + ln_timing = .true. ! timing by routine write out in timing.output file +! ln_diacfl = .false. ! CFL diagnostics write out in cfl_diagnostics.ascii +/ diff --git a/SEAMOUNT/EXPREF/nam_cfg/moderate/namelist_cfg.djc_vqs b/SEAMOUNT/EXPREF/nam_cfg/moderate/namelist_cfg.djc_vqs new file mode 100644 index 0000000..f83f1f3 --- /dev/null +++ b/SEAMOUNT/EXPREF/nam_cfg/moderate/namelist_cfg.djc_vqs @@ -0,0 +1,447 @@ +!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +!! NEMO/OCE : Reference namelist_ref !! +!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +!! NEMO/OCE : 1 - Domain & run manager (namrun, namcfg, namdom, namtsd, namcrs, namc1d, namc1d_uvd) +!! namelists 2 - Surface boundary (namsbc, namsbc_flx, namsbc_blk, namsbc_cpl, +!! namsbc_sas, namtra_qsr, namsbc_rnf, +!! namisf, namsbc_apr, +!! namsbc_ssr, namsbc_wave, namberg) +!! 3 - lateral boundary (namlbc, namagrif, nambdy, nambdy_tide) +!! 4 - top/bot boundary (namdrg, namdrg_top, namdrg_bot, nambbc, nambbl) +!! 5 - Tracer (nameos, namtra_adv, namtra_ldf, namtra_eiv, namtra_dmp) +!! 6 - dynamics (namdyn_adv, namdyn_vor, namdyn_hpg, namdyn_spg, namdyn_ldf) +!! 7 - Vertical physics (namzdf, namzdf_ric, namzdf_tke, namzdf_gls, namzdf_iwm) +!! 8 - diagnostics (namnc4, namtrd, namspr, namflo, namhsb) +!! 9 - Obs & Assim (namobs, nam_asminc) +!! 10 - miscellaneous (nammpp, namctl, namsto) +!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + +!!====================================================================== +!! *** Domain & Run management namelists *** !! +!! !! +!! namrun parameters of the run +!! namdom space and time domain +!! namcfg parameters of the configuration (default: user defined GYRE) +!! namwad Wetting and drying (default: OFF) +!! namtsd data: temperature & salinity (default: OFF) +!! namcrs coarsened grid (for outputs and/or TOP) (ln_crs =T) +!! namc1d 1D configuration options ("key_c1d") +!! namc1d_dyndmp 1D newtonian damping applied on currents ("key_c1d") +!! namc1d_uvd 1D data (currents) ("key_c1d") +!!====================================================================== +! +!----------------------------------------------------------------------- +&namusr_def ! SEAMOUNT TEST CASE +!----------------------------------------------------------------------- +!! PHYSICAL DOMAIN + rn_xdim = 504. ! x-dimension of the domain [km] + rn_ydim = 504. ! y-dimension of the domain [km] + rn_bot_max = 4500. ! max ocean depth (>0) [m] + rn_smnt_H = 2700. ! seamount height (>0) [m] + rn_smnt_L = 50. ! seamount width [km] + rn_fplane = 0.0001 ! Coriolis parameter for f-plane approximation +!! NUMERICAL DISCRETIZATION + rn_dx = 8000. ! horizontal resolution [m] + rn_dz = 236.8 ! vertical resolution far from the seamount + ! and assuming no stretching [m] +!! VERTICAL COORDINATE + ln_zco = .false. ! z-coordinate + ln_zps = .false. ! z-partial-step coordinate + ln_sco = .true. ! s-coordinate + ! Stretched s-levels (ln_sco = .true.) + ln_s_sh94 = .false. ! TRUE: s-levels using Song & Haidvogel 1994 (SH94) + ! stretching function + ! FALSE: uniform sigma-levels + rn_theta = 3.0 ! SH94 surface control parameter (0<=theta<=20) + rn_bb = 0.0 ! SH94 bottom control parameter (0<=bb<=1) + rn_hc = 500 ! SH94 critical depth for transition to stretched coordinates [m] + ! Paramaters for vqs-coordinate (ln_sco = .true.) + ln_vqs = .true. ! activating vanishing quasi-sigma levels (TRUE) + rn_rmax = 0.05 ! maximum cut-off slope parameter value allowed + ! if using vqs-levels (0> model level are fixed in time + ! + rn_Dt = 360. ! time step for the dynamics and tracer + ln_meshmask = .true. ! =T create a mesh file +/ +!----------------------------------------------------------------------- +&namcfg ! parameters of the configuration (default: use namusr_def in namelist_cfg) +!----------------------------------------------------------------------- + ln_read_cfg = .false. ! (=T) read the domain configuration file + ln_write_cfg = .true. ! (=T) create the domain configuration file + cn_domcfg_out = "domain_cfg_out" ! newly created domain configuration filename +/ +!----------------------------------------------------------------------- +&namtile ! parameters of the tiling +!----------------------------------------------------------------------- + ln_tile = .false. ! Use tiling (T) or not (F) + nn_ltile_i = 10 ! Length of tiles in i + nn_ltile_j = 10 ! Length of tiles in j +/ +!!====================================================================== +!! *** Surface Boundary Condition namelists *** !! +!! !! +!! namsbc surface boundary condition manager (default: NO selection) +!! namsbc_flx flux formulation (ln_flx =T) +!! namsbc_blk Bulk formulae formulation (ln_blk =T) +!! namsbc_cpl CouPLed formulation ("key_oasis3" ) +!! namsbc_sas Stand-Alone Surface module (SAS_SRC only) +!! namsbc_iif Ice-IF: use observed ice cover (nn_ice = 1 ) +!! namtra_qsr penetrative solar radiation (ln_traqsr =T) +!! namsbc_ssr sea surface restoring term (for T and/or S) (ln_ssr =T) +!! namsbc_rnf river runoffs (ln_rnf =T) +!! namsbc_apr Atmospheric Pressure (ln_apr_dyn =T) +!! namsbc_wave external fields from wave model (ln_wave =T) +!! namberg iceberg floats (ln_icebergs=T) +!! namsbc_fwb freshwater-budget adjustment (nn_fwb > 0) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namsbc ! Surface Boundary Condition manager (default: NO selection) +!----------------------------------------------------------------------- + nn_fsbc = 1 ! frequency of SBC module call + ! ! (control sea-ice & iceberg model call) + ! Type of air-sea fluxes + ln_usr = .true. ! user defined formulation (T => check usrdef_sbc) +/ +!!====================================================================== +!! *** Lateral boundary condition *** !! +!! !! +!! namlbc lateral momentum boundary condition (default: NO selection) +!! namagrif agrif nested grid (read by child model only) ("key_agrif") +!! nam_tide Tidal forcing (default: OFF) +!! nambdy Unstructured open boundaries (default: OFF) +!! nambdy_dta Unstructured open boundaries - external data (see nambdy) +!! nambdy_tide tidal forcing at open boundaries (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namlbc ! lateral momentum boundary condition (default: NO selection) +!----------------------------------------------------------------------- + ! ! free slip ! partial slip ! no slip ! strong slip + rn_shlat = 0.0 ! shlat = 0 ! 0 < shlat < 2 ! shlat = 2 ! 2 < shlat +/ +!!====================================================================== +!! *** Top/Bottom boundary condition *** !! +!! !! +!! namdrg top/bottom drag coefficient (default: NO selection) +!! namdrg_top top friction (ln_drg_OFF=F & ln_isfcav=T) +!! namdrg_bot bottom friction (ln_drg_OFF=F) +!! nambbc bottom temperature boundary condition (default: OFF) +!! nambbl bottom boundary layer scheme (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namdrg ! top/bottom drag coefficient (default: NO selection) +!----------------------------------------------------------------------- + ln_drg_OFF = .true. ! free-slip : Cd = 0 (F => fill namdrg_bot + ln_lin = .false. ! linear drag: Cd = Cd0 Uc0 & namdrg_top) + ln_non_lin = .false. ! non-linear drag: Cd = Cd0 |U| + ln_loglayer = .false. ! logarithmic drag: Cd = vkarmn/log(z/z0) |U| + ! + ln_drgimp = .false. ! implicit top/bottom friction flag + ln_drgice_imp = .true.! implicit ice-ocean drag +/ +!----------------------------------------------------------------------- +&namdrg_top ! TOP friction (ln_drg_OFF =F & ln_isfcav=T) +!----------------------------------------------------------------------- +/ +!----------------------------------------------------------------------- +&namdrg_bot ! BOTTOM friction (ln_drg_OFF =F) +!----------------------------------------------------------------------- + rn_Cd0 = 0.0 ! drag coefficient [-] + rn_Uc0 = 0.0 ! ref. velocity [m/s] (linear drag=Cd0*Uc0) + rn_Cdmax = 1.e-4 ! drag value maximum [-] (logarithmic drag) + rn_ke0 = 2.5e-3 ! background kinetic energy [m2/s2] (non-linear cases) + rn_z0 = 3.e-3 ! roughness [m] (ln_loglayer=T) + ln_boost = .false. ! =T regional boost of Cd0 ; =F constant + rn_boost = 50. ! local boost factor [-] +/ +!!====================================================================== +!! Tracer (T-S) namelists !! +!! !! +!! nameos equation of state (default: NO selection) +!! namtra_adv advection scheme (default: NO selection) +!! namtra_ldf lateral diffusion scheme (default: NO selection) +!! namtra_mle mixed layer eddy param. (Fox-Kemper param.) (default: OFF) +!! namtra_eiv eddy induced velocity param. (default: OFF) +!! namtra_dmp T & S newtonian damping (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&nameos ! ocean Equation Of Seawater (default: NO selection) +!----------------------------------------------------------------------- + ln_teos10 = .false. ! = Use TEOS-10 + ln_eos80 = .true. ! = Use EOS80 + ln_seos = .false. ! = Use S-EOS (simplified Eq.) + ! + ! ! S-EOS coefficients (ln_seos=T): + ! ! rd(T,S,Z)*rho0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS + rn_a0 = 1.6550e-1 ! thermal expension coefficient + rn_b0 = 0.0 ! saline expension coefficient + rn_lambda1 = 0.0 ! cabbeling coeff in T^2 (=0 for linear eos) + rn_lambda2 = 0.0 ! cabbeling coeff in S^2 (=0 for linear eos) + rn_mu1 = 0.0 ! thermobaric coeff. in T (=0 for linear eos) + rn_mu2 = 0.0 ! thermobaric coeff. in S (=0 for linear eos) + rn_nu = 0.0 ! cabbeling coeff in T*S (=0 for linear eos) +/ +!----------------------------------------------------------------------- +&namtra_adv ! advection scheme for tracer (default: NO selection) +!----------------------------------------------------------------------- + ln_traadv_OFF = .false. ! No tracer advection + ln_traadv_cen = .true. ! 2nd order centered scheme + nn_cen_h = 2 ! =2/4, horizontal 2nd order CEN / 4th order CEN + nn_cen_v = 2 ! =2/4, vertical 2nd order CEN / 4th order COMPACT + ln_traadv_fct = .false. ! FCT scheme + nn_fct_h = 2 ! =2/4, horizontal 2nd / 4th order + nn_fct_v = 2 ! =2/4, vertical 2nd / COMPACT 4th order + ln_traadv_mus = .false. ! MUSCL scheme + ln_mus_ups = .false. ! use upstream scheme near river mouths + ln_traadv_ubs = .false. ! UBS scheme + nn_ubs_v = 2 ! =2 , vertical 2nd order FCT / COMPACT 4th order + ln_traadv_qck = .false. ! QUICKEST scheme +/ +!----------------------------------------------------------------------- +&namtra_ldf ! lateral diffusion scheme for tracers (default: NO selection) +!----------------------------------------------------------------------- + ! ! Operator type: + ln_traldf_OFF = .true. ! No explicit diffusion +/ +!!====================================================================== +!! *** Dynamics namelists *** !! +!! !! +!! nam_vvl vertical coordinate options (default: z-star) +!! namdyn_adv formulation of the momentum advection (default: NO selection) +!! namdyn_vor advection scheme (default: NO selection) +!! namdyn_hpg hydrostatic pressure gradient (default: NO selection) +!! namdyn_spg surface pressure gradient (default: NO selection) +!! namdyn_ldf lateral diffusion scheme (default: NO selection) +!! namdta_dyn offline TOP: dynamics read in files (OFF_SRC only) +!!====================================================================== +! +!----------------------------------------------------------------------- +&nam_vvl ! vertical coordinate options (default: z-star) +!----------------------------------------------------------------------- + ln_vvl_zstar = .true. ! z-star vertical coordinate + ln_vvl_ztilde = .false. ! z-tilde vertical coordinate: only high frequency variations + ln_vvl_layer = .false. ! full layer vertical coordinate + ln_vvl_ztilde_as_zstar = .false. ! ztilde vertical coordinate emulating zstar + ln_vvl_zstar_at_eqtor = .false. ! ztilde near the equator + rn_ahe3 = 0.0 ! thickness diffusion coefficient + rn_rst_e3t = 30.0 ! ztilde to zstar restoration timescale [days] + rn_lf_cutoff = 5.0 ! cutoff frequency for low-pass filter [days] + rn_zdef_max = 0.9 ! maximum fractional e3t deformation + ln_vvl_dbg = .false. ! debug prints (T/F) +/ +!----------------------------------------------------------------------- +&namdyn_adv ! formulation of the momentum advection (default: NO selection) +!----------------------------------------------------------------------- + ln_dynadv_OFF = .false. ! linear dynamics (no momentum advection) + ln_dynadv_vec = .true. ! vector form - 2nd centered scheme + nn_dynkeg = 0 ! grad(KE) scheme: =0 C2 ; =1 Hollingsworth correction + ln_dynadv_cen2 = .false. ! flux form - 2nd order centered scheme + ln_dynadv_ubs = .false. ! flux form - 3rd order UBS scheme +/ +!----------------------------------------------------------------------- +&namdyn_vor ! Vorticity / Coriolis scheme (default: NO selection) +!----------------------------------------------------------------------- + ln_dynvor_ene = .false. ! energy conserving scheme + ln_dynvor_ens = .false. ! enstrophy conserving scheme + ln_dynvor_mix = .false. ! mixed scheme + ln_dynvor_enT = .false. ! energy conserving scheme (T-point) + ln_dynvor_eeT = .false. ! energy conserving scheme (een using e3t) + ln_dynvor_een = .true. ! energy & enstrophy scheme + ! + ln_dynvor_msk = .false. ! vorticity multiplied by fmask (=T) ==>>> PLEASE DO NOT ACTIVATE + ! ! (f-point vorticity schemes only) + ! + nn_e3f_typ = 0 ! type of e3f (EEN, ENE, ENS, MIX only) =0 e3f = mi(mj(e3t))/4 + ! ! =1 e3f = mi(mj(e3t))/mi(mj( tmask)) +/ +!----------------------------------------------------------------------- +&namdyn_hpg ! Hydrostatic pressure gradient option (default: NO selection) +!----------------------------------------------------------------------- + ln_hpg_zco = .false. ! z-coordinate - full steps + ln_hpg_zps = .false. ! z-coordinate - partial steps (interpolation) + ln_hpg_sco = .false. ! s-coordinate (standard jacobian formulation) + ln_hpg_isf = .false. ! s-coordinate (sco ) adapted to isf + ln_hpg_djc = .true. ! s-coordinate (Density Jacobian with Cubic polynomial) + ln_hpg_djc_vnh = .true. ! hor. bc type for djc scheme (T=von Neumann, F=linear extrapolation) + ln_hpg_djc_vnv = .true. ! vert. bc type for djc scheme (T=von Neumann, F=linear extrapolation) + ln_hpg_prj = .false. ! s-coordinate (Pressure Jacobian scheme) +/ +!----------------------------------------------------------------------- +&namdyn_spg ! surface pressure gradient (default: NO selection) +!----------------------------------------------------------------------- + ln_dynspg_exp = .false. ! explicit free surface + ln_dynspg_ts = .true. ! split-explicit free surface + nn_e = 30 ! =F : the number of sub-step in rn_Dt seconds +/ +!----------------------------------------------------------------------- +&namdyn_ldf ! lateral diffusion on momentum (default: NO selection) +!----------------------------------------------------------------------- + ! ! Type of the operator : + ln_dynldf_OFF = .false. ! No operator (i.e. no explicit diffusion) + nn_dynldf_typ = 0 ! =0 div-rot (default) ; =1 symmetric + ln_dynldf_lap = .true. ! laplacian operator + ln_dynldf_blp = .false. ! bilaplacian operator + ! ! Direction of action : + ln_dynldf_lev = .true. ! iso-level + ln_dynldf_hor = .false. ! horizontal (geopotential) + ln_dynldf_iso = .false. ! iso-neutral (lap only) + ! ! Coefficient + nn_ahm_ijk_t = 0 ! space/time variation of eddy coefficient : + ! ! =-30 read in eddy_viscosity_3D.nc file + ! ! =-20 read in eddy_viscosity_2D.nc file + ! ! = 0 constant + ! ! = 10 F(k)=c1d + ! ! = 20 F(i,j)=F(grid spacing)=c2d + ! ! = 30 F(i,j,k)=c2d*c1d + ! ! = 31 F(i,j,k)=F(grid spacing and local velocity) + ! ! = 32 F(i,j,k)=F(local gridscale and deformation rate) + ! ! time invariant coefficients : ahm = 1/2 Uv*Lv (lap case) + ! ! or = 1/12 Uv*Lv^3 (blp case) + rn_Uv = 1.0 ! lateral viscous velocity [m/s] (nn_ahm_ijk_t= 0, 10, 20, 30) + rn_Lv = 1.e+3 ! lateral viscous length [m] (nn_ahm_ijk_t= 0, 10) +/ +!!====================================================================== +!! vertical physics namelists !! +!! !! +!! namzdf vertical physics manager (default: NO selection) +!! namzdf_ric richardson number vertical mixing (ln_zdfric=T) +!! namzdf_tke TKE vertical mixing (ln_zdftke=T) +!! namzdf_gls GLS vertical mixing (ln_zdfgls=T) +!! namzdf_osm OSM vertical diffusion (ln_zdfosm=T) +!! namzdf_iwm tidal mixing parameterization (ln_zdfiwm=T) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namzdf ! vertical physics manager (default: NO selection) +!----------------------------------------------------------------------- + ! ! adaptive-implicit vertical advection + ln_zad_Aimp = .false. ! Courant number dependent scheme (Shchepetkin 2015) + ! + ! ! type of vertical closure (required) + ln_zdfcst = .true. ! constant mixing + ln_zdfric = .false. ! local Richardson dependent formulation (T => fill namzdf_ric) + ln_zdftke = .false. ! Turbulent Kinetic Energy closure (T => fill namzdf_tke) + ln_zdfgls = .false. ! Generic Length Scale closure (T => fill namzdf_gls) + ln_zdfosm = .false. ! OSMOSIS BL closure (T => fill namzdf_osm) + ! + ! ! convection + ln_zdfevd = .false. ! enhanced vertical diffusion + nn_evdm = 0 ! apply on tracer (=0) or on tracer and momentum (=1) + rn_evd = 100. ! mixing coefficient [m2/s] + ln_zdfnpc = .false. ! Non-Penetrative Convective algorithm + nn_npc = 1 ! frequency of application of npc + nn_npcp = 365 ! npc control print frequency + ln_zdfmfc = .false. ! Mass Flux Convection + ! + ln_zdfddm = .false. ! double diffusive mixing + rn_avts = 1.e-4 ! maximum avs (vertical mixing on salinity) + rn_hsbfr = 1.6 ! heat/salt buoyancy flux ratio + ! + ! ! gravity wave-driven vertical mixing + ln_zdfiwm = .false. ! internal wave-induced mixing (T => fill namzdf_iwm) + ln_zdfswm = .false. ! surface wave-induced mixing (T => ln_wave=ln_sdw=T ) + ! + ! ! coefficients + rn_avm0 = 2.e-5 ! vertical eddy viscosity [m2/s] (background Kz if ln_zdfcst=F) + rn_avt0 = 2.e-5 ! vertical eddy diffusivity [m2/s] (background Kz if ln_zdfcst=F) + nn_avb = 0 ! profile for background avt & avm (=1) or not (=0) + nn_havtb = 0 ! horizontal shape for avtb (=1) or not (=0) +/ +!!====================================================================== +!! *** Diagnostics namelists *** !! +!! !! +!! namtrd dynamics and/or tracer trends (default: OFF) +!! namhsb Heat and salt budgets (default: OFF) +!! namdiu Cool skin and warm layer models (default: OFF) +!! namdiu Cool skin and warm layer models (default: OFF) +!! namflo float parameters (default: OFF) +!! nam_diadct transports through some sections (default: OFF) +!! nam_dia25h 25h Mean Output (default: OFF) +!! namnc4 netcdf4 chunking and compression settings ("key_netcdf4") +!!====================================================================== +! +!----------------------------------------------------------------------- +&namtrd ! trend diagnostics (default: OFF) +!----------------------------------------------------------------------- + ln_glo_trd = .false. ! (T) global domain averaged diag for T, T^2, KE, and PE + ln_dyn_trd = .true. ! (T) 3D momentum trend output + ln_dyn_mxl = .false. ! (T) 2D momentum trends averaged over the mixed layer (not coded yet) + ln_vor_trd = .false. ! (T) 2D barotropic vorticity trends (not coded yet) + ln_KE_trd = .false. ! (T) 3D Kinetic Energy trends + ln_PE_trd = .false. ! (T) 3D Potential Energy trends + ln_tra_trd = .false. ! (T) 3D tracer trend output + ln_tra_mxl = .false. ! (T) 2D tracer trends averaged over the mixed layer (not coded yet) + nn_trd = 1 ! print frequency (ln_glo_trd=T) (unit=time step) +/ +!!====================================================================== +!! *** Observation & Assimilation *** !! +!! !! +!! namobs observation and model comparison (default: OFF) +!! nam_asminc assimilation increments ('key_asminc') +!!====================================================================== +! +!!====================================================================== +!! *** Miscellaneous namelists *** !! +!! !! +!! nammpp Massively Parallel Processing ("key_mpp_mpi") +!! namctl Control prints (default: OFF) +!! namsto Stochastic parametrization of EOS (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&nammpp ! Massively Parallel Processing ("key_mpp_mpi") +!----------------------------------------------------------------------- +! ln_listonly = .false. ! do nothing else than listing the best domain decompositions (with land domains suppression) + ! ! if T: the largest number of cores tested is defined by max(mppsize, jpni*jpnj) +! ln_nnogather = .true. ! activate code to avoid mpi_allgather use at the northfold + jpni = 0 ! number of processors following i (set automatically if < 1), see also ln_listonly = T + jpnj = 0 ! number of processors following j (set automatically if < 1), see also ln_listonly = T +! nn_hls = 1 ! halo width (applies to both rows and columns) +/ +!----------------------------------------------------------------------- +&namctl ! Control prints (default: OFF) +!----------------------------------------------------------------------- + sn_cfctl%l_runstat = .TRUE. ! switches and which areas produce reports with the proc integer settings. +! sn_cfctl%l_trcstat = .FALSE. ! The default settings for the proc integers should ensure + sn_cfctl%l_oceout = .FALSE. ! that all areas report. +! sn_cfctl%l_layout = .FALSE. ! +! sn_cfctl%l_prtctl = .FALSE. ! +! sn_cfctl%l_prttrc = .FALSE. ! +! sn_cfctl%l_oasout = .FALSE. ! +! sn_cfctl%procmin = 0 ! Minimum area number for reporting [default:0] +! sn_cfctl%procmax = 1000000 ! Maximum area number for reporting [default:1000000] +! sn_cfctl%procincr = 1 ! Increment for optional subsetting of areas [default:1] +! sn_cfctl%ptimincr = 1 ! Timestep increment for writing time step progress info +! nn_ictls = 0 ! start i indice of control sum (use to compare mono versus +! nn_ictle = 0 ! end i indice of control sum multi processor runs +! nn_jctls = 0 ! start j indice of control over a subdomain) +! nn_jctle = 0 ! end j indice of control +! nn_isplt = 1 ! number of processors in i-direction +! nn_jsplt = 1 ! number of processors in j-direction + ln_timing = .true. ! timing by routine write out in timing.output file +! ln_diacfl = .false. ! CFL diagnostics write out in cfl_diagnostics.ascii +/ diff --git a/SEAMOUNT/EXPREF/nam_cfg/moderate/namelist_cfg.prj_sh94 b/SEAMOUNT/EXPREF/nam_cfg/moderate/namelist_cfg.prj_sh94 new file mode 100644 index 0000000..049791a --- /dev/null +++ b/SEAMOUNT/EXPREF/nam_cfg/moderate/namelist_cfg.prj_sh94 @@ -0,0 +1,447 @@ +!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +!! NEMO/OCE : Reference namelist_ref !! +!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +!! NEMO/OCE : 1 - Domain & run manager (namrun, namcfg, namdom, namtsd, namcrs, namc1d, namc1d_uvd) +!! namelists 2 - Surface boundary (namsbc, namsbc_flx, namsbc_blk, namsbc_cpl, +!! namsbc_sas, namtra_qsr, namsbc_rnf, +!! namisf, namsbc_apr, +!! namsbc_ssr, namsbc_wave, namberg) +!! 3 - lateral boundary (namlbc, namagrif, nambdy, nambdy_tide) +!! 4 - top/bot boundary (namdrg, namdrg_top, namdrg_bot, nambbc, nambbl) +!! 5 - Tracer (nameos, namtra_adv, namtra_ldf, namtra_eiv, namtra_dmp) +!! 6 - dynamics (namdyn_adv, namdyn_vor, namdyn_hpg, namdyn_spg, namdyn_ldf) +!! 7 - Vertical physics (namzdf, namzdf_ric, namzdf_tke, namzdf_gls, namzdf_iwm) +!! 8 - diagnostics (namnc4, namtrd, namspr, namflo, namhsb) +!! 9 - Obs & Assim (namobs, nam_asminc) +!! 10 - miscellaneous (nammpp, namctl, namsto) +!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + +!!====================================================================== +!! *** Domain & Run management namelists *** !! +!! !! +!! namrun parameters of the run +!! namdom space and time domain +!! namcfg parameters of the configuration (default: user defined GYRE) +!! namwad Wetting and drying (default: OFF) +!! namtsd data: temperature & salinity (default: OFF) +!! namcrs coarsened grid (for outputs and/or TOP) (ln_crs =T) +!! namc1d 1D configuration options ("key_c1d") +!! namc1d_dyndmp 1D newtonian damping applied on currents ("key_c1d") +!! namc1d_uvd 1D data (currents) ("key_c1d") +!!====================================================================== +! +!----------------------------------------------------------------------- +&namusr_def ! SEAMOUNT TEST CASE +!----------------------------------------------------------------------- +!! PHYSICAL DOMAIN + rn_xdim = 504. ! x-dimension of the domain [km] + rn_ydim = 504. ! y-dimension of the domain [km] + rn_bot_max = 4500. ! max ocean depth (>0) [m] + rn_smnt_H = 2700. ! seamount height (>0) [m] + rn_smnt_L = 50. ! seamount width [km] + rn_fplane = 0.0001 ! Coriolis parameter for f-plane approximation +!! NUMERICAL DISCRETIZATION + rn_dx = 8000. ! horizontal resolution [m] + rn_dz = 236.8 ! vertical resolution far from the seamount + ! and assuming no stretching [m] +!! VERTICAL COORDINATE + ln_zco = .false. ! z-coordinate + ln_zps = .false. ! z-partial-step coordinate + ln_sco = .true. ! s-coordinate + ! Stretched s-levels (ln_sco = .true.) + ln_s_sh94 = .true. ! TRUE: s-levels using Song & Haidvogel 1994 (SH94) + ! stretching function + ! FALSE: uniform sigma-levels + rn_theta = 3.0 ! SH94 surface control parameter (0<=theta<=20) + rn_bb = 0.0 ! SH94 bottom control parameter (0<=bb<=1) + rn_hc = 500 ! SH94 critical depth for transition to stretched coordinates [m] + ! Paramaters for vqs-coordinate (ln_sco = .true.) + ln_vqs = .false. ! activating vanishing quasi-sigma levels (TRUE) + rn_rmax = 0.3 ! maximum cut-off slope parameter value allowed + ! if using vqs-levels (0> model level are fixed in time + ! + rn_Dt = 360. ! time step for the dynamics and tracer + ln_meshmask = .true. ! =T create a mesh file +/ +!----------------------------------------------------------------------- +&namcfg ! parameters of the configuration (default: use namusr_def in namelist_cfg) +!----------------------------------------------------------------------- + ln_read_cfg = .false. ! (=T) read the domain configuration file + ln_write_cfg = .true. ! (=T) create the domain configuration file + cn_domcfg_out = "domain_cfg_out" ! newly created domain configuration filename +/ +!----------------------------------------------------------------------- +&namtile ! parameters of the tiling +!----------------------------------------------------------------------- + ln_tile = .false. ! Use tiling (T) or not (F) + nn_ltile_i = 10 ! Length of tiles in i + nn_ltile_j = 10 ! Length of tiles in j +/ +!!====================================================================== +!! *** Surface Boundary Condition namelists *** !! +!! !! +!! namsbc surface boundary condition manager (default: NO selection) +!! namsbc_flx flux formulation (ln_flx =T) +!! namsbc_blk Bulk formulae formulation (ln_blk =T) +!! namsbc_cpl CouPLed formulation ("key_oasis3" ) +!! namsbc_sas Stand-Alone Surface module (SAS_SRC only) +!! namsbc_iif Ice-IF: use observed ice cover (nn_ice = 1 ) +!! namtra_qsr penetrative solar radiation (ln_traqsr =T) +!! namsbc_ssr sea surface restoring term (for T and/or S) (ln_ssr =T) +!! namsbc_rnf river runoffs (ln_rnf =T) +!! namsbc_apr Atmospheric Pressure (ln_apr_dyn =T) +!! namsbc_wave external fields from wave model (ln_wave =T) +!! namberg iceberg floats (ln_icebergs=T) +!! namsbc_fwb freshwater-budget adjustment (nn_fwb > 0) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namsbc ! Surface Boundary Condition manager (default: NO selection) +!----------------------------------------------------------------------- + nn_fsbc = 1 ! frequency of SBC module call + ! ! (control sea-ice & iceberg model call) + ! Type of air-sea fluxes + ln_usr = .true. ! user defined formulation (T => check usrdef_sbc) +/ +!!====================================================================== +!! *** Lateral boundary condition *** !! +!! !! +!! namlbc lateral momentum boundary condition (default: NO selection) +!! namagrif agrif nested grid (read by child model only) ("key_agrif") +!! nam_tide Tidal forcing (default: OFF) +!! nambdy Unstructured open boundaries (default: OFF) +!! nambdy_dta Unstructured open boundaries - external data (see nambdy) +!! nambdy_tide tidal forcing at open boundaries (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namlbc ! lateral momentum boundary condition (default: NO selection) +!----------------------------------------------------------------------- + ! ! free slip ! partial slip ! no slip ! strong slip + rn_shlat = 0.0 ! shlat = 0 ! 0 < shlat < 2 ! shlat = 2 ! 2 < shlat +/ +!!====================================================================== +!! *** Top/Bottom boundary condition *** !! +!! !! +!! namdrg top/bottom drag coefficient (default: NO selection) +!! namdrg_top top friction (ln_drg_OFF=F & ln_isfcav=T) +!! namdrg_bot bottom friction (ln_drg_OFF=F) +!! nambbc bottom temperature boundary condition (default: OFF) +!! nambbl bottom boundary layer scheme (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namdrg ! top/bottom drag coefficient (default: NO selection) +!----------------------------------------------------------------------- + ln_drg_OFF = .true. ! free-slip : Cd = 0 (F => fill namdrg_bot + ln_lin = .false. ! linear drag: Cd = Cd0 Uc0 & namdrg_top) + ln_non_lin = .false. ! non-linear drag: Cd = Cd0 |U| + ln_loglayer = .false. ! logarithmic drag: Cd = vkarmn/log(z/z0) |U| + ! + ln_drgimp = .false. ! implicit top/bottom friction flag + ln_drgice_imp = .true.! implicit ice-ocean drag +/ +!----------------------------------------------------------------------- +&namdrg_top ! TOP friction (ln_drg_OFF =F & ln_isfcav=T) +!----------------------------------------------------------------------- +/ +!----------------------------------------------------------------------- +&namdrg_bot ! BOTTOM friction (ln_drg_OFF =F) +!----------------------------------------------------------------------- + rn_Cd0 = 0.0 ! drag coefficient [-] + rn_Uc0 = 0.0 ! ref. velocity [m/s] (linear drag=Cd0*Uc0) + rn_Cdmax = 1.e-4 ! drag value maximum [-] (logarithmic drag) + rn_ke0 = 2.5e-3 ! background kinetic energy [m2/s2] (non-linear cases) + rn_z0 = 3.e-3 ! roughness [m] (ln_loglayer=T) + ln_boost = .false. ! =T regional boost of Cd0 ; =F constant + rn_boost = 50. ! local boost factor [-] +/ +!!====================================================================== +!! Tracer (T-S) namelists !! +!! !! +!! nameos equation of state (default: NO selection) +!! namtra_adv advection scheme (default: NO selection) +!! namtra_ldf lateral diffusion scheme (default: NO selection) +!! namtra_mle mixed layer eddy param. (Fox-Kemper param.) (default: OFF) +!! namtra_eiv eddy induced velocity param. (default: OFF) +!! namtra_dmp T & S newtonian damping (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&nameos ! ocean Equation Of Seawater (default: NO selection) +!----------------------------------------------------------------------- + ln_teos10 = .false. ! = Use TEOS-10 + ln_eos80 = .true. ! = Use EOS80 + ln_seos = .false. ! = Use S-EOS (simplified Eq.) + ! + ! ! S-EOS coefficients (ln_seos=T): + ! ! rd(T,S,Z)*rho0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS + rn_a0 = 1.6550e-1 ! thermal expension coefficient + rn_b0 = 0.0 ! saline expension coefficient + rn_lambda1 = 0.0 ! cabbeling coeff in T^2 (=0 for linear eos) + rn_lambda2 = 0.0 ! cabbeling coeff in S^2 (=0 for linear eos) + rn_mu1 = 0.0 ! thermobaric coeff. in T (=0 for linear eos) + rn_mu2 = 0.0 ! thermobaric coeff. in S (=0 for linear eos) + rn_nu = 0.0 ! cabbeling coeff in T*S (=0 for linear eos) +/ +!----------------------------------------------------------------------- +&namtra_adv ! advection scheme for tracer (default: NO selection) +!----------------------------------------------------------------------- + ln_traadv_OFF = .false. ! No tracer advection + ln_traadv_cen = .true. ! 2nd order centered scheme + nn_cen_h = 2 ! =2/4, horizontal 2nd order CEN / 4th order CEN + nn_cen_v = 2 ! =2/4, vertical 2nd order CEN / 4th order COMPACT + ln_traadv_fct = .false. ! FCT scheme + nn_fct_h = 2 ! =2/4, horizontal 2nd / 4th order + nn_fct_v = 2 ! =2/4, vertical 2nd / COMPACT 4th order + ln_traadv_mus = .false. ! MUSCL scheme + ln_mus_ups = .false. ! use upstream scheme near river mouths + ln_traadv_ubs = .false. ! UBS scheme + nn_ubs_v = 2 ! =2 , vertical 2nd order FCT / COMPACT 4th order + ln_traadv_qck = .false. ! QUICKEST scheme +/ +!----------------------------------------------------------------------- +&namtra_ldf ! lateral diffusion scheme for tracers (default: NO selection) +!----------------------------------------------------------------------- + ! ! Operator type: + ln_traldf_OFF = .true. ! No explicit diffusion +/ +!!====================================================================== +!! *** Dynamics namelists *** !! +!! !! +!! nam_vvl vertical coordinate options (default: z-star) +!! namdyn_adv formulation of the momentum advection (default: NO selection) +!! namdyn_vor advection scheme (default: NO selection) +!! namdyn_hpg hydrostatic pressure gradient (default: NO selection) +!! namdyn_spg surface pressure gradient (default: NO selection) +!! namdyn_ldf lateral diffusion scheme (default: NO selection) +!! namdta_dyn offline TOP: dynamics read in files (OFF_SRC only) +!!====================================================================== +! +!----------------------------------------------------------------------- +&nam_vvl ! vertical coordinate options (default: z-star) +!----------------------------------------------------------------------- + ln_vvl_zstar = .true. ! z-star vertical coordinate + ln_vvl_ztilde = .false. ! z-tilde vertical coordinate: only high frequency variations + ln_vvl_layer = .false. ! full layer vertical coordinate + ln_vvl_ztilde_as_zstar = .false. ! ztilde vertical coordinate emulating zstar + ln_vvl_zstar_at_eqtor = .false. ! ztilde near the equator + rn_ahe3 = 0.0 ! thickness diffusion coefficient + rn_rst_e3t = 30.0 ! ztilde to zstar restoration timescale [days] + rn_lf_cutoff = 5.0 ! cutoff frequency for low-pass filter [days] + rn_zdef_max = 0.9 ! maximum fractional e3t deformation + ln_vvl_dbg = .false. ! debug prints (T/F) +/ +!----------------------------------------------------------------------- +&namdyn_adv ! formulation of the momentum advection (default: NO selection) +!----------------------------------------------------------------------- + ln_dynadv_OFF = .false. ! linear dynamics (no momentum advection) + ln_dynadv_vec = .true. ! vector form - 2nd centered scheme + nn_dynkeg = 0 ! grad(KE) scheme: =0 C2 ; =1 Hollingsworth correction + ln_dynadv_cen2 = .false. ! flux form - 2nd order centered scheme + ln_dynadv_ubs = .false. ! flux form - 3rd order UBS scheme +/ +!----------------------------------------------------------------------- +&namdyn_vor ! Vorticity / Coriolis scheme (default: NO selection) +!----------------------------------------------------------------------- + ln_dynvor_ene = .false. ! energy conserving scheme + ln_dynvor_ens = .false. ! enstrophy conserving scheme + ln_dynvor_mix = .false. ! mixed scheme + ln_dynvor_enT = .false. ! energy conserving scheme (T-point) + ln_dynvor_eeT = .false. ! energy conserving scheme (een using e3t) + ln_dynvor_een = .true. ! energy & enstrophy scheme + ! + ln_dynvor_msk = .false. ! vorticity multiplied by fmask (=T) ==>>> PLEASE DO NOT ACTIVATE + ! ! (f-point vorticity schemes only) + ! + nn_e3f_typ = 0 ! type of e3f (EEN, ENE, ENS, MIX only) =0 e3f = mi(mj(e3t))/4 + ! ! =1 e3f = mi(mj(e3t))/mi(mj( tmask)) +/ +!----------------------------------------------------------------------- +&namdyn_hpg ! Hydrostatic pressure gradient option (default: NO selection) +!----------------------------------------------------------------------- + ln_hpg_zco = .false. ! z-coordinate - full steps + ln_hpg_zps = .false. ! z-coordinate - partial steps (interpolation) + ln_hpg_sco = .false. ! s-coordinate (standard jacobian formulation) + ln_hpg_isf = .false. ! s-coordinate (sco ) adapted to isf + ln_hpg_djc = .false. ! s-coordinate (Density Jacobian with Cubic polynomial) + ln_hpg_djc_vnh = .true. ! hor. bc type for djc scheme (T=von Neumann, F=linear extrapolation) + ln_hpg_djc_vnv = .true. ! vert. bc type for djc scheme (T=von Neumann, F=linear extrapolation) + ln_hpg_prj = .true. ! s-coordinate (Pressure Jacobian scheme) +/ +!----------------------------------------------------------------------- +&namdyn_spg ! surface pressure gradient (default: NO selection) +!----------------------------------------------------------------------- + ln_dynspg_exp = .false. ! explicit free surface + ln_dynspg_ts = .true. ! split-explicit free surface + nn_e = 30 ! =F : the number of sub-step in rn_Dt seconds +/ +!----------------------------------------------------------------------- +&namdyn_ldf ! lateral diffusion on momentum (default: NO selection) +!----------------------------------------------------------------------- + ! ! Type of the operator : + ln_dynldf_OFF = .false. ! No operator (i.e. no explicit diffusion) + nn_dynldf_typ = 0 ! =0 div-rot (default) ; =1 symmetric + ln_dynldf_lap = .true. ! laplacian operator + ln_dynldf_blp = .false. ! bilaplacian operator + ! ! Direction of action : + ln_dynldf_lev = .true. ! iso-level + ln_dynldf_hor = .false. ! horizontal (geopotential) + ln_dynldf_iso = .false. ! iso-neutral (lap only) + ! ! Coefficient + nn_ahm_ijk_t = 0 ! space/time variation of eddy coefficient : + ! ! =-30 read in eddy_viscosity_3D.nc file + ! ! =-20 read in eddy_viscosity_2D.nc file + ! ! = 0 constant + ! ! = 10 F(k)=c1d + ! ! = 20 F(i,j)=F(grid spacing)=c2d + ! ! = 30 F(i,j,k)=c2d*c1d + ! ! = 31 F(i,j,k)=F(grid spacing and local velocity) + ! ! = 32 F(i,j,k)=F(local gridscale and deformation rate) + ! ! time invariant coefficients : ahm = 1/2 Uv*Lv (lap case) + ! ! or = 1/12 Uv*Lv^3 (blp case) + rn_Uv = 1.0 ! lateral viscous velocity [m/s] (nn_ahm_ijk_t= 0, 10, 20, 30) + rn_Lv = 1.e+3 ! lateral viscous length [m] (nn_ahm_ijk_t= 0, 10) +/ +!!====================================================================== +!! vertical physics namelists !! +!! !! +!! namzdf vertical physics manager (default: NO selection) +!! namzdf_ric richardson number vertical mixing (ln_zdfric=T) +!! namzdf_tke TKE vertical mixing (ln_zdftke=T) +!! namzdf_gls GLS vertical mixing (ln_zdfgls=T) +!! namzdf_osm OSM vertical diffusion (ln_zdfosm=T) +!! namzdf_iwm tidal mixing parameterization (ln_zdfiwm=T) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namzdf ! vertical physics manager (default: NO selection) +!----------------------------------------------------------------------- + ! ! adaptive-implicit vertical advection + ln_zad_Aimp = .false. ! Courant number dependent scheme (Shchepetkin 2015) + ! + ! ! type of vertical closure (required) + ln_zdfcst = .true. ! constant mixing + ln_zdfric = .false. ! local Richardson dependent formulation (T => fill namzdf_ric) + ln_zdftke = .false. ! Turbulent Kinetic Energy closure (T => fill namzdf_tke) + ln_zdfgls = .false. ! Generic Length Scale closure (T => fill namzdf_gls) + ln_zdfosm = .false. ! OSMOSIS BL closure (T => fill namzdf_osm) + ! + ! ! convection + ln_zdfevd = .false. ! enhanced vertical diffusion + nn_evdm = 0 ! apply on tracer (=0) or on tracer and momentum (=1) + rn_evd = 100. ! mixing coefficient [m2/s] + ln_zdfnpc = .false. ! Non-Penetrative Convective algorithm + nn_npc = 1 ! frequency of application of npc + nn_npcp = 365 ! npc control print frequency + ln_zdfmfc = .false. ! Mass Flux Convection + ! + ln_zdfddm = .false. ! double diffusive mixing + rn_avts = 1.e-4 ! maximum avs (vertical mixing on salinity) + rn_hsbfr = 1.6 ! heat/salt buoyancy flux ratio + ! + ! ! gravity wave-driven vertical mixing + ln_zdfiwm = .false. ! internal wave-induced mixing (T => fill namzdf_iwm) + ln_zdfswm = .false. ! surface wave-induced mixing (T => ln_wave=ln_sdw=T ) + ! + ! ! coefficients + rn_avm0 = 2.e-5 ! vertical eddy viscosity [m2/s] (background Kz if ln_zdfcst=F) + rn_avt0 = 2.e-5 ! vertical eddy diffusivity [m2/s] (background Kz if ln_zdfcst=F) + nn_avb = 0 ! profile for background avt & avm (=1) or not (=0) + nn_havtb = 0 ! horizontal shape for avtb (=1) or not (=0) +/ +!!====================================================================== +!! *** Diagnostics namelists *** !! +!! !! +!! namtrd dynamics and/or tracer trends (default: OFF) +!! namhsb Heat and salt budgets (default: OFF) +!! namdiu Cool skin and warm layer models (default: OFF) +!! namdiu Cool skin and warm layer models (default: OFF) +!! namflo float parameters (default: OFF) +!! nam_diadct transports through some sections (default: OFF) +!! nam_dia25h 25h Mean Output (default: OFF) +!! namnc4 netcdf4 chunking and compression settings ("key_netcdf4") +!!====================================================================== +! +!----------------------------------------------------------------------- +&namtrd ! trend diagnostics (default: OFF) +!----------------------------------------------------------------------- + ln_glo_trd = .false. ! (T) global domain averaged diag for T, T^2, KE, and PE + ln_dyn_trd = .true. ! (T) 3D momentum trend output + ln_dyn_mxl = .false. ! (T) 2D momentum trends averaged over the mixed layer (not coded yet) + ln_vor_trd = .false. ! (T) 2D barotropic vorticity trends (not coded yet) + ln_KE_trd = .false. ! (T) 3D Kinetic Energy trends + ln_PE_trd = .false. ! (T) 3D Potential Energy trends + ln_tra_trd = .false. ! (T) 3D tracer trend output + ln_tra_mxl = .false. ! (T) 2D tracer trends averaged over the mixed layer (not coded yet) + nn_trd = 1 ! print frequency (ln_glo_trd=T) (unit=time step) +/ +!!====================================================================== +!! *** Observation & Assimilation *** !! +!! !! +!! namobs observation and model comparison (default: OFF) +!! nam_asminc assimilation increments ('key_asminc') +!!====================================================================== +! +!!====================================================================== +!! *** Miscellaneous namelists *** !! +!! !! +!! nammpp Massively Parallel Processing ("key_mpp_mpi") +!! namctl Control prints (default: OFF) +!! namsto Stochastic parametrization of EOS (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&nammpp ! Massively Parallel Processing ("key_mpp_mpi") +!----------------------------------------------------------------------- +! ln_listonly = .false. ! do nothing else than listing the best domain decompositions (with land domains suppression) + ! ! if T: the largest number of cores tested is defined by max(mppsize, jpni*jpnj) +! ln_nnogather = .true. ! activate code to avoid mpi_allgather use at the northfold + jpni = 0 ! number of processors following i (set automatically if < 1), see also ln_listonly = T + jpnj = 0 ! number of processors following j (set automatically if < 1), see also ln_listonly = T +! nn_hls = 1 ! halo width (applies to both rows and columns) +/ +!----------------------------------------------------------------------- +&namctl ! Control prints (default: OFF) +!----------------------------------------------------------------------- + sn_cfctl%l_runstat = .TRUE. ! switches and which areas produce reports with the proc integer settings. +! sn_cfctl%l_trcstat = .FALSE. ! The default settings for the proc integers should ensure + sn_cfctl%l_oceout = .FALSE. ! that all areas report. +! sn_cfctl%l_layout = .FALSE. ! +! sn_cfctl%l_prtctl = .FALSE. ! +! sn_cfctl%l_prttrc = .FALSE. ! +! sn_cfctl%l_oasout = .FALSE. ! +! sn_cfctl%procmin = 0 ! Minimum area number for reporting [default:0] +! sn_cfctl%procmax = 1000000 ! Maximum area number for reporting [default:1000000] +! sn_cfctl%procincr = 1 ! Increment for optional subsetting of areas [default:1] +! sn_cfctl%ptimincr = 1 ! Timestep increment for writing time step progress info +! nn_ictls = 0 ! start i indice of control sum (use to compare mono versus +! nn_ictle = 0 ! end i indice of control sum multi processor runs +! nn_jctls = 0 ! start j indice of control over a subdomain) +! nn_jctle = 0 ! end j indice of control +! nn_isplt = 1 ! number of processors in i-direction +! nn_jsplt = 1 ! number of processors in j-direction + ln_timing = .true. ! timing by routine write out in timing.output file +! ln_diacfl = .false. ! CFL diagnostics write out in cfl_diagnostics.ascii +/ diff --git a/SEAMOUNT/EXPREF/nam_cfg/moderate/namelist_cfg.prj_sig b/SEAMOUNT/EXPREF/nam_cfg/moderate/namelist_cfg.prj_sig new file mode 100644 index 0000000..fc59b21 --- /dev/null +++ b/SEAMOUNT/EXPREF/nam_cfg/moderate/namelist_cfg.prj_sig @@ -0,0 +1,447 @@ +!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +!! NEMO/OCE : Reference namelist_ref !! +!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +!! NEMO/OCE : 1 - Domain & run manager (namrun, namcfg, namdom, namtsd, namcrs, namc1d, namc1d_uvd) +!! namelists 2 - Surface boundary (namsbc, namsbc_flx, namsbc_blk, namsbc_cpl, +!! namsbc_sas, namtra_qsr, namsbc_rnf, +!! namisf, namsbc_apr, +!! namsbc_ssr, namsbc_wave, namberg) +!! 3 - lateral boundary (namlbc, namagrif, nambdy, nambdy_tide) +!! 4 - top/bot boundary (namdrg, namdrg_top, namdrg_bot, nambbc, nambbl) +!! 5 - Tracer (nameos, namtra_adv, namtra_ldf, namtra_eiv, namtra_dmp) +!! 6 - dynamics (namdyn_adv, namdyn_vor, namdyn_hpg, namdyn_spg, namdyn_ldf) +!! 7 - Vertical physics (namzdf, namzdf_ric, namzdf_tke, namzdf_gls, namzdf_iwm) +!! 8 - diagnostics (namnc4, namtrd, namspr, namflo, namhsb) +!! 9 - Obs & Assim (namobs, nam_asminc) +!! 10 - miscellaneous (nammpp, namctl, namsto) +!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + +!!====================================================================== +!! *** Domain & Run management namelists *** !! +!! !! +!! namrun parameters of the run +!! namdom space and time domain +!! namcfg parameters of the configuration (default: user defined GYRE) +!! namwad Wetting and drying (default: OFF) +!! namtsd data: temperature & salinity (default: OFF) +!! namcrs coarsened grid (for outputs and/or TOP) (ln_crs =T) +!! namc1d 1D configuration options ("key_c1d") +!! namc1d_dyndmp 1D newtonian damping applied on currents ("key_c1d") +!! namc1d_uvd 1D data (currents) ("key_c1d") +!!====================================================================== +! +!----------------------------------------------------------------------- +&namusr_def ! SEAMOUNT TEST CASE +!----------------------------------------------------------------------- +!! PHYSICAL DOMAIN + rn_xdim = 504. ! x-dimension of the domain [km] + rn_ydim = 504. ! y-dimension of the domain [km] + rn_bot_max = 4500. ! max ocean depth (>0) [m] + rn_smnt_H = 2700. ! seamount height (>0) [m] + rn_smnt_L = 50. ! seamount width [km] + rn_fplane = 0.0001 ! Coriolis parameter for f-plane approximation +!! NUMERICAL DISCRETIZATION + rn_dx = 8000. ! horizontal resolution [m] + rn_dz = 236.8 ! vertical resolution far from the seamount + ! and assuming no stretching [m] +!! VERTICAL COORDINATE + ln_zco = .false. ! z-coordinate + ln_zps = .false. ! z-partial-step coordinate + ln_sco = .true. ! s-coordinate + ! Stretched s-levels (ln_sco = .true.) + ln_s_sh94 = .false. ! TRUE: s-levels using Song & Haidvogel 1994 (SH94) + ! stretching function + ! FALSE: uniform sigma-levels + rn_theta = 3.0 ! SH94 surface control parameter (0<=theta<=20) + rn_bb = 0.0 ! SH94 bottom control parameter (0<=bb<=1) + rn_hc = 500 ! SH94 critical depth for transition to stretched coordinates [m] + ! Paramaters for vqs-coordinate (ln_sco = .true.) + ln_vqs = .false. ! activating vanishing quasi-sigma levels (TRUE) + rn_rmax = 0.3 ! maximum cut-off slope parameter value allowed + ! if using vqs-levels (0> model level are fixed in time + ! + rn_Dt = 360. ! time step for the dynamics and tracer + ln_meshmask = .true. ! =T create a mesh file +/ +!----------------------------------------------------------------------- +&namcfg ! parameters of the configuration (default: use namusr_def in namelist_cfg) +!----------------------------------------------------------------------- + ln_read_cfg = .false. ! (=T) read the domain configuration file + ln_write_cfg = .true. ! (=T) create the domain configuration file + cn_domcfg_out = "domain_cfg_out" ! newly created domain configuration filename +/ +!----------------------------------------------------------------------- +&namtile ! parameters of the tiling +!----------------------------------------------------------------------- + ln_tile = .false. ! Use tiling (T) or not (F) + nn_ltile_i = 10 ! Length of tiles in i + nn_ltile_j = 10 ! Length of tiles in j +/ +!!====================================================================== +!! *** Surface Boundary Condition namelists *** !! +!! !! +!! namsbc surface boundary condition manager (default: NO selection) +!! namsbc_flx flux formulation (ln_flx =T) +!! namsbc_blk Bulk formulae formulation (ln_blk =T) +!! namsbc_cpl CouPLed formulation ("key_oasis3" ) +!! namsbc_sas Stand-Alone Surface module (SAS_SRC only) +!! namsbc_iif Ice-IF: use observed ice cover (nn_ice = 1 ) +!! namtra_qsr penetrative solar radiation (ln_traqsr =T) +!! namsbc_ssr sea surface restoring term (for T and/or S) (ln_ssr =T) +!! namsbc_rnf river runoffs (ln_rnf =T) +!! namsbc_apr Atmospheric Pressure (ln_apr_dyn =T) +!! namsbc_wave external fields from wave model (ln_wave =T) +!! namberg iceberg floats (ln_icebergs=T) +!! namsbc_fwb freshwater-budget adjustment (nn_fwb > 0) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namsbc ! Surface Boundary Condition manager (default: NO selection) +!----------------------------------------------------------------------- + nn_fsbc = 1 ! frequency of SBC module call + ! ! (control sea-ice & iceberg model call) + ! Type of air-sea fluxes + ln_usr = .true. ! user defined formulation (T => check usrdef_sbc) +/ +!!====================================================================== +!! *** Lateral boundary condition *** !! +!! !! +!! namlbc lateral momentum boundary condition (default: NO selection) +!! namagrif agrif nested grid (read by child model only) ("key_agrif") +!! nam_tide Tidal forcing (default: OFF) +!! nambdy Unstructured open boundaries (default: OFF) +!! nambdy_dta Unstructured open boundaries - external data (see nambdy) +!! nambdy_tide tidal forcing at open boundaries (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namlbc ! lateral momentum boundary condition (default: NO selection) +!----------------------------------------------------------------------- + ! ! free slip ! partial slip ! no slip ! strong slip + rn_shlat = 0.0 ! shlat = 0 ! 0 < shlat < 2 ! shlat = 2 ! 2 < shlat +/ +!!====================================================================== +!! *** Top/Bottom boundary condition *** !! +!! !! +!! namdrg top/bottom drag coefficient (default: NO selection) +!! namdrg_top top friction (ln_drg_OFF=F & ln_isfcav=T) +!! namdrg_bot bottom friction (ln_drg_OFF=F) +!! nambbc bottom temperature boundary condition (default: OFF) +!! nambbl bottom boundary layer scheme (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namdrg ! top/bottom drag coefficient (default: NO selection) +!----------------------------------------------------------------------- + ln_drg_OFF = .true. ! free-slip : Cd = 0 (F => fill namdrg_bot + ln_lin = .false. ! linear drag: Cd = Cd0 Uc0 & namdrg_top) + ln_non_lin = .false. ! non-linear drag: Cd = Cd0 |U| + ln_loglayer = .false. ! logarithmic drag: Cd = vkarmn/log(z/z0) |U| + ! + ln_drgimp = .false. ! implicit top/bottom friction flag + ln_drgice_imp = .true.! implicit ice-ocean drag +/ +!----------------------------------------------------------------------- +&namdrg_top ! TOP friction (ln_drg_OFF =F & ln_isfcav=T) +!----------------------------------------------------------------------- +/ +!----------------------------------------------------------------------- +&namdrg_bot ! BOTTOM friction (ln_drg_OFF =F) +!----------------------------------------------------------------------- + rn_Cd0 = 0.0 ! drag coefficient [-] + rn_Uc0 = 0.0 ! ref. velocity [m/s] (linear drag=Cd0*Uc0) + rn_Cdmax = 1.e-4 ! drag value maximum [-] (logarithmic drag) + rn_ke0 = 2.5e-3 ! background kinetic energy [m2/s2] (non-linear cases) + rn_z0 = 3.e-3 ! roughness [m] (ln_loglayer=T) + ln_boost = .false. ! =T regional boost of Cd0 ; =F constant + rn_boost = 50. ! local boost factor [-] +/ +!!====================================================================== +!! Tracer (T-S) namelists !! +!! !! +!! nameos equation of state (default: NO selection) +!! namtra_adv advection scheme (default: NO selection) +!! namtra_ldf lateral diffusion scheme (default: NO selection) +!! namtra_mle mixed layer eddy param. (Fox-Kemper param.) (default: OFF) +!! namtra_eiv eddy induced velocity param. (default: OFF) +!! namtra_dmp T & S newtonian damping (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&nameos ! ocean Equation Of Seawater (default: NO selection) +!----------------------------------------------------------------------- + ln_teos10 = .false. ! = Use TEOS-10 + ln_eos80 = .true. ! = Use EOS80 + ln_seos = .false. ! = Use S-EOS (simplified Eq.) + ! + ! ! S-EOS coefficients (ln_seos=T): + ! ! rd(T,S,Z)*rho0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS + rn_a0 = 1.6550e-1 ! thermal expension coefficient + rn_b0 = 0.0 ! saline expension coefficient + rn_lambda1 = 0.0 ! cabbeling coeff in T^2 (=0 for linear eos) + rn_lambda2 = 0.0 ! cabbeling coeff in S^2 (=0 for linear eos) + rn_mu1 = 0.0 ! thermobaric coeff. in T (=0 for linear eos) + rn_mu2 = 0.0 ! thermobaric coeff. in S (=0 for linear eos) + rn_nu = 0.0 ! cabbeling coeff in T*S (=0 for linear eos) +/ +!----------------------------------------------------------------------- +&namtra_adv ! advection scheme for tracer (default: NO selection) +!----------------------------------------------------------------------- + ln_traadv_OFF = .false. ! No tracer advection + ln_traadv_cen = .true. ! 2nd order centered scheme + nn_cen_h = 2 ! =2/4, horizontal 2nd order CEN / 4th order CEN + nn_cen_v = 2 ! =2/4, vertical 2nd order CEN / 4th order COMPACT + ln_traadv_fct = .false. ! FCT scheme + nn_fct_h = 2 ! =2/4, horizontal 2nd / 4th order + nn_fct_v = 2 ! =2/4, vertical 2nd / COMPACT 4th order + ln_traadv_mus = .false. ! MUSCL scheme + ln_mus_ups = .false. ! use upstream scheme near river mouths + ln_traadv_ubs = .false. ! UBS scheme + nn_ubs_v = 2 ! =2 , vertical 2nd order FCT / COMPACT 4th order + ln_traadv_qck = .false. ! QUICKEST scheme +/ +!----------------------------------------------------------------------- +&namtra_ldf ! lateral diffusion scheme for tracers (default: NO selection) +!----------------------------------------------------------------------- + ! ! Operator type: + ln_traldf_OFF = .true. ! No explicit diffusion +/ +!!====================================================================== +!! *** Dynamics namelists *** !! +!! !! +!! nam_vvl vertical coordinate options (default: z-star) +!! namdyn_adv formulation of the momentum advection (default: NO selection) +!! namdyn_vor advection scheme (default: NO selection) +!! namdyn_hpg hydrostatic pressure gradient (default: NO selection) +!! namdyn_spg surface pressure gradient (default: NO selection) +!! namdyn_ldf lateral diffusion scheme (default: NO selection) +!! namdta_dyn offline TOP: dynamics read in files (OFF_SRC only) +!!====================================================================== +! +!----------------------------------------------------------------------- +&nam_vvl ! vertical coordinate options (default: z-star) +!----------------------------------------------------------------------- + ln_vvl_zstar = .true. ! z-star vertical coordinate + ln_vvl_ztilde = .false. ! z-tilde vertical coordinate: only high frequency variations + ln_vvl_layer = .false. ! full layer vertical coordinate + ln_vvl_ztilde_as_zstar = .false. ! ztilde vertical coordinate emulating zstar + ln_vvl_zstar_at_eqtor = .false. ! ztilde near the equator + rn_ahe3 = 0.0 ! thickness diffusion coefficient + rn_rst_e3t = 30.0 ! ztilde to zstar restoration timescale [days] + rn_lf_cutoff = 5.0 ! cutoff frequency for low-pass filter [days] + rn_zdef_max = 0.9 ! maximum fractional e3t deformation + ln_vvl_dbg = .false. ! debug prints (T/F) +/ +!----------------------------------------------------------------------- +&namdyn_adv ! formulation of the momentum advection (default: NO selection) +!----------------------------------------------------------------------- + ln_dynadv_OFF = .false. ! linear dynamics (no momentum advection) + ln_dynadv_vec = .true. ! vector form - 2nd centered scheme + nn_dynkeg = 0 ! grad(KE) scheme: =0 C2 ; =1 Hollingsworth correction + ln_dynadv_cen2 = .false. ! flux form - 2nd order centered scheme + ln_dynadv_ubs = .false. ! flux form - 3rd order UBS scheme +/ +!----------------------------------------------------------------------- +&namdyn_vor ! Vorticity / Coriolis scheme (default: NO selection) +!----------------------------------------------------------------------- + ln_dynvor_ene = .false. ! energy conserving scheme + ln_dynvor_ens = .false. ! enstrophy conserving scheme + ln_dynvor_mix = .false. ! mixed scheme + ln_dynvor_enT = .false. ! energy conserving scheme (T-point) + ln_dynvor_eeT = .false. ! energy conserving scheme (een using e3t) + ln_dynvor_een = .true. ! energy & enstrophy scheme + ! + ln_dynvor_msk = .false. ! vorticity multiplied by fmask (=T) ==>>> PLEASE DO NOT ACTIVATE + ! ! (f-point vorticity schemes only) + ! + nn_e3f_typ = 0 ! type of e3f (EEN, ENE, ENS, MIX only) =0 e3f = mi(mj(e3t))/4 + ! ! =1 e3f = mi(mj(e3t))/mi(mj( tmask)) +/ +!----------------------------------------------------------------------- +&namdyn_hpg ! Hydrostatic pressure gradient option (default: NO selection) +!----------------------------------------------------------------------- + ln_hpg_zco = .false. ! z-coordinate - full steps + ln_hpg_zps = .false. ! z-coordinate - partial steps (interpolation) + ln_hpg_sco = .false. ! s-coordinate (standard jacobian formulation) + ln_hpg_isf = .false. ! s-coordinate (sco ) adapted to isf + ln_hpg_djc = .false. ! s-coordinate (Density Jacobian with Cubic polynomial) + ln_hpg_djc_vnh = .true. ! hor. bc type for djc scheme (T=von Neumann, F=linear extrapolation) + ln_hpg_djc_vnv = .true. ! vert. bc type for djc scheme (T=von Neumann, F=linear extrapolation) + ln_hpg_prj = .true. ! s-coordinate (Pressure Jacobian scheme) +/ +!----------------------------------------------------------------------- +&namdyn_spg ! surface pressure gradient (default: NO selection) +!----------------------------------------------------------------------- + ln_dynspg_exp = .false. ! explicit free surface + ln_dynspg_ts = .true. ! split-explicit free surface + nn_e = 30 ! =F : the number of sub-step in rn_Dt seconds +/ +!----------------------------------------------------------------------- +&namdyn_ldf ! lateral diffusion on momentum (default: NO selection) +!----------------------------------------------------------------------- + ! ! Type of the operator : + ln_dynldf_OFF = .false. ! No operator (i.e. no explicit diffusion) + nn_dynldf_typ = 0 ! =0 div-rot (default) ; =1 symmetric + ln_dynldf_lap = .true. ! laplacian operator + ln_dynldf_blp = .false. ! bilaplacian operator + ! ! Direction of action : + ln_dynldf_lev = .true. ! iso-level + ln_dynldf_hor = .false. ! horizontal (geopotential) + ln_dynldf_iso = .false. ! iso-neutral (lap only) + ! ! Coefficient + nn_ahm_ijk_t = 0 ! space/time variation of eddy coefficient : + ! ! =-30 read in eddy_viscosity_3D.nc file + ! ! =-20 read in eddy_viscosity_2D.nc file + ! ! = 0 constant + ! ! = 10 F(k)=c1d + ! ! = 20 F(i,j)=F(grid spacing)=c2d + ! ! = 30 F(i,j,k)=c2d*c1d + ! ! = 31 F(i,j,k)=F(grid spacing and local velocity) + ! ! = 32 F(i,j,k)=F(local gridscale and deformation rate) + ! ! time invariant coefficients : ahm = 1/2 Uv*Lv (lap case) + ! ! or = 1/12 Uv*Lv^3 (blp case) + rn_Uv = 1.0 ! lateral viscous velocity [m/s] (nn_ahm_ijk_t= 0, 10, 20, 30) + rn_Lv = 1.e+3 ! lateral viscous length [m] (nn_ahm_ijk_t= 0, 10) +/ +!!====================================================================== +!! vertical physics namelists !! +!! !! +!! namzdf vertical physics manager (default: NO selection) +!! namzdf_ric richardson number vertical mixing (ln_zdfric=T) +!! namzdf_tke TKE vertical mixing (ln_zdftke=T) +!! namzdf_gls GLS vertical mixing (ln_zdfgls=T) +!! namzdf_osm OSM vertical diffusion (ln_zdfosm=T) +!! namzdf_iwm tidal mixing parameterization (ln_zdfiwm=T) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namzdf ! vertical physics manager (default: NO selection) +!----------------------------------------------------------------------- + ! ! adaptive-implicit vertical advection + ln_zad_Aimp = .false. ! Courant number dependent scheme (Shchepetkin 2015) + ! + ! ! type of vertical closure (required) + ln_zdfcst = .true. ! constant mixing + ln_zdfric = .false. ! local Richardson dependent formulation (T => fill namzdf_ric) + ln_zdftke = .false. ! Turbulent Kinetic Energy closure (T => fill namzdf_tke) + ln_zdfgls = .false. ! Generic Length Scale closure (T => fill namzdf_gls) + ln_zdfosm = .false. ! OSMOSIS BL closure (T => fill namzdf_osm) + ! + ! ! convection + ln_zdfevd = .false. ! enhanced vertical diffusion + nn_evdm = 0 ! apply on tracer (=0) or on tracer and momentum (=1) + rn_evd = 100. ! mixing coefficient [m2/s] + ln_zdfnpc = .false. ! Non-Penetrative Convective algorithm + nn_npc = 1 ! frequency of application of npc + nn_npcp = 365 ! npc control print frequency + ln_zdfmfc = .false. ! Mass Flux Convection + ! + ln_zdfddm = .false. ! double diffusive mixing + rn_avts = 1.e-4 ! maximum avs (vertical mixing on salinity) + rn_hsbfr = 1.6 ! heat/salt buoyancy flux ratio + ! + ! ! gravity wave-driven vertical mixing + ln_zdfiwm = .false. ! internal wave-induced mixing (T => fill namzdf_iwm) + ln_zdfswm = .false. ! surface wave-induced mixing (T => ln_wave=ln_sdw=T ) + ! + ! ! coefficients + rn_avm0 = 2.e-5 ! vertical eddy viscosity [m2/s] (background Kz if ln_zdfcst=F) + rn_avt0 = 2.e-5 ! vertical eddy diffusivity [m2/s] (background Kz if ln_zdfcst=F) + nn_avb = 0 ! profile for background avt & avm (=1) or not (=0) + nn_havtb = 0 ! horizontal shape for avtb (=1) or not (=0) +/ +!!====================================================================== +!! *** Diagnostics namelists *** !! +!! !! +!! namtrd dynamics and/or tracer trends (default: OFF) +!! namhsb Heat and salt budgets (default: OFF) +!! namdiu Cool skin and warm layer models (default: OFF) +!! namdiu Cool skin and warm layer models (default: OFF) +!! namflo float parameters (default: OFF) +!! nam_diadct transports through some sections (default: OFF) +!! nam_dia25h 25h Mean Output (default: OFF) +!! namnc4 netcdf4 chunking and compression settings ("key_netcdf4") +!!====================================================================== +! +!----------------------------------------------------------------------- +&namtrd ! trend diagnostics (default: OFF) +!----------------------------------------------------------------------- + ln_glo_trd = .false. ! (T) global domain averaged diag for T, T^2, KE, and PE + ln_dyn_trd = .true. ! (T) 3D momentum trend output + ln_dyn_mxl = .false. ! (T) 2D momentum trends averaged over the mixed layer (not coded yet) + ln_vor_trd = .false. ! (T) 2D barotropic vorticity trends (not coded yet) + ln_KE_trd = .false. ! (T) 3D Kinetic Energy trends + ln_PE_trd = .false. ! (T) 3D Potential Energy trends + ln_tra_trd = .false. ! (T) 3D tracer trend output + ln_tra_mxl = .false. ! (T) 2D tracer trends averaged over the mixed layer (not coded yet) + nn_trd = 1 ! print frequency (ln_glo_trd=T) (unit=time step) +/ +!!====================================================================== +!! *** Observation & Assimilation *** !! +!! !! +!! namobs observation and model comparison (default: OFF) +!! nam_asminc assimilation increments ('key_asminc') +!!====================================================================== +! +!!====================================================================== +!! *** Miscellaneous namelists *** !! +!! !! +!! nammpp Massively Parallel Processing ("key_mpp_mpi") +!! namctl Control prints (default: OFF) +!! namsto Stochastic parametrization of EOS (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&nammpp ! Massively Parallel Processing ("key_mpp_mpi") +!----------------------------------------------------------------------- +! ln_listonly = .false. ! do nothing else than listing the best domain decompositions (with land domains suppression) + ! ! if T: the largest number of cores tested is defined by max(mppsize, jpni*jpnj) +! ln_nnogather = .true. ! activate code to avoid mpi_allgather use at the northfold + jpni = 0 ! number of processors following i (set automatically if < 1), see also ln_listonly = T + jpnj = 0 ! number of processors following j (set automatically if < 1), see also ln_listonly = T +! nn_hls = 1 ! halo width (applies to both rows and columns) +/ +!----------------------------------------------------------------------- +&namctl ! Control prints (default: OFF) +!----------------------------------------------------------------------- + sn_cfctl%l_runstat = .TRUE. ! switches and which areas produce reports with the proc integer settings. +! sn_cfctl%l_trcstat = .FALSE. ! The default settings for the proc integers should ensure + sn_cfctl%l_oceout = .FALSE. ! that all areas report. +! sn_cfctl%l_layout = .FALSE. ! +! sn_cfctl%l_prtctl = .FALSE. ! +! sn_cfctl%l_prttrc = .FALSE. ! +! sn_cfctl%l_oasout = .FALSE. ! +! sn_cfctl%procmin = 0 ! Minimum area number for reporting [default:0] +! sn_cfctl%procmax = 1000000 ! Maximum area number for reporting [default:1000000] +! sn_cfctl%procincr = 1 ! Increment for optional subsetting of areas [default:1] +! sn_cfctl%ptimincr = 1 ! Timestep increment for writing time step progress info +! nn_ictls = 0 ! start i indice of control sum (use to compare mono versus +! nn_ictle = 0 ! end i indice of control sum multi processor runs +! nn_jctls = 0 ! start j indice of control over a subdomain) +! nn_jctle = 0 ! end j indice of control +! nn_isplt = 1 ! number of processors in i-direction +! nn_jsplt = 1 ! number of processors in j-direction + ln_timing = .true. ! timing by routine write out in timing.output file +! ln_diacfl = .false. ! CFL diagnostics write out in cfl_diagnostics.ascii +/ diff --git a/SEAMOUNT/EXPREF/nam_cfg/moderate/namelist_cfg.prj_vqs b/SEAMOUNT/EXPREF/nam_cfg/moderate/namelist_cfg.prj_vqs new file mode 100644 index 0000000..a6b9bde --- /dev/null +++ b/SEAMOUNT/EXPREF/nam_cfg/moderate/namelist_cfg.prj_vqs @@ -0,0 +1,447 @@ +!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +!! NEMO/OCE : Reference namelist_ref !! +!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +!! NEMO/OCE : 1 - Domain & run manager (namrun, namcfg, namdom, namtsd, namcrs, namc1d, namc1d_uvd) +!! namelists 2 - Surface boundary (namsbc, namsbc_flx, namsbc_blk, namsbc_cpl, +!! namsbc_sas, namtra_qsr, namsbc_rnf, +!! namisf, namsbc_apr, +!! namsbc_ssr, namsbc_wave, namberg) +!! 3 - lateral boundary (namlbc, namagrif, nambdy, nambdy_tide) +!! 4 - top/bot boundary (namdrg, namdrg_top, namdrg_bot, nambbc, nambbl) +!! 5 - Tracer (nameos, namtra_adv, namtra_ldf, namtra_eiv, namtra_dmp) +!! 6 - dynamics (namdyn_adv, namdyn_vor, namdyn_hpg, namdyn_spg, namdyn_ldf) +!! 7 - Vertical physics (namzdf, namzdf_ric, namzdf_tke, namzdf_gls, namzdf_iwm) +!! 8 - diagnostics (namnc4, namtrd, namspr, namflo, namhsb) +!! 9 - Obs & Assim (namobs, nam_asminc) +!! 10 - miscellaneous (nammpp, namctl, namsto) +!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + +!!====================================================================== +!! *** Domain & Run management namelists *** !! +!! !! +!! namrun parameters of the run +!! namdom space and time domain +!! namcfg parameters of the configuration (default: user defined GYRE) +!! namwad Wetting and drying (default: OFF) +!! namtsd data: temperature & salinity (default: OFF) +!! namcrs coarsened grid (for outputs and/or TOP) (ln_crs =T) +!! namc1d 1D configuration options ("key_c1d") +!! namc1d_dyndmp 1D newtonian damping applied on currents ("key_c1d") +!! namc1d_uvd 1D data (currents) ("key_c1d") +!!====================================================================== +! +!----------------------------------------------------------------------- +&namusr_def ! SEAMOUNT TEST CASE +!----------------------------------------------------------------------- +!! PHYSICAL DOMAIN + rn_xdim = 504. ! x-dimension of the domain [km] + rn_ydim = 504. ! y-dimension of the domain [km] + rn_bot_max = 4500. ! max ocean depth (>0) [m] + rn_smnt_H = 2700. ! seamount height (>0) [m] + rn_smnt_L = 50. ! seamount width [km] + rn_fplane = 0.0001 ! Coriolis parameter for f-plane approximation +!! NUMERICAL DISCRETIZATION + rn_dx = 8000. ! horizontal resolution [m] + rn_dz = 236.8 ! vertical resolution far from the seamount + ! and assuming no stretching [m] +!! VERTICAL COORDINATE + ln_zco = .false. ! z-coordinate + ln_zps = .false. ! z-partial-step coordinate + ln_sco = .true. ! s-coordinate + ! Stretched s-levels (ln_sco = .true.) + ln_s_sh94 = .false. ! TRUE: s-levels using Song & Haidvogel 1994 (SH94) + ! stretching function + ! FALSE: uniform sigma-levels + rn_theta = 3.0 ! SH94 surface control parameter (0<=theta<=20) + rn_bb = 0.0 ! SH94 bottom control parameter (0<=bb<=1) + rn_hc = 500 ! SH94 critical depth for transition to stretched coordinates [m] + ! Paramaters for vqs-coordinate (ln_sco = .true.) + ln_vqs = .true. ! activating vanishing quasi-sigma levels (TRUE) + rn_rmax = 0.05 ! maximum cut-off slope parameter value allowed + ! if using vqs-levels (0> model level are fixed in time + ! + rn_Dt = 360. ! time step for the dynamics and tracer + ln_meshmask = .true. ! =T create a mesh file +/ +!----------------------------------------------------------------------- +&namcfg ! parameters of the configuration (default: use namusr_def in namelist_cfg) +!----------------------------------------------------------------------- + ln_read_cfg = .false. ! (=T) read the domain configuration file + ln_write_cfg = .true. ! (=T) create the domain configuration file + cn_domcfg_out = "domain_cfg_out" ! newly created domain configuration filename +/ +!----------------------------------------------------------------------- +&namtile ! parameters of the tiling +!----------------------------------------------------------------------- + ln_tile = .false. ! Use tiling (T) or not (F) + nn_ltile_i = 10 ! Length of tiles in i + nn_ltile_j = 10 ! Length of tiles in j +/ +!!====================================================================== +!! *** Surface Boundary Condition namelists *** !! +!! !! +!! namsbc surface boundary condition manager (default: NO selection) +!! namsbc_flx flux formulation (ln_flx =T) +!! namsbc_blk Bulk formulae formulation (ln_blk =T) +!! namsbc_cpl CouPLed formulation ("key_oasis3" ) +!! namsbc_sas Stand-Alone Surface module (SAS_SRC only) +!! namsbc_iif Ice-IF: use observed ice cover (nn_ice = 1 ) +!! namtra_qsr penetrative solar radiation (ln_traqsr =T) +!! namsbc_ssr sea surface restoring term (for T and/or S) (ln_ssr =T) +!! namsbc_rnf river runoffs (ln_rnf =T) +!! namsbc_apr Atmospheric Pressure (ln_apr_dyn =T) +!! namsbc_wave external fields from wave model (ln_wave =T) +!! namberg iceberg floats (ln_icebergs=T) +!! namsbc_fwb freshwater-budget adjustment (nn_fwb > 0) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namsbc ! Surface Boundary Condition manager (default: NO selection) +!----------------------------------------------------------------------- + nn_fsbc = 1 ! frequency of SBC module call + ! ! (control sea-ice & iceberg model call) + ! Type of air-sea fluxes + ln_usr = .true. ! user defined formulation (T => check usrdef_sbc) +/ +!!====================================================================== +!! *** Lateral boundary condition *** !! +!! !! +!! namlbc lateral momentum boundary condition (default: NO selection) +!! namagrif agrif nested grid (read by child model only) ("key_agrif") +!! nam_tide Tidal forcing (default: OFF) +!! nambdy Unstructured open boundaries (default: OFF) +!! nambdy_dta Unstructured open boundaries - external data (see nambdy) +!! nambdy_tide tidal forcing at open boundaries (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namlbc ! lateral momentum boundary condition (default: NO selection) +!----------------------------------------------------------------------- + ! ! free slip ! partial slip ! no slip ! strong slip + rn_shlat = 0.0 ! shlat = 0 ! 0 < shlat < 2 ! shlat = 2 ! 2 < shlat +/ +!!====================================================================== +!! *** Top/Bottom boundary condition *** !! +!! !! +!! namdrg top/bottom drag coefficient (default: NO selection) +!! namdrg_top top friction (ln_drg_OFF=F & ln_isfcav=T) +!! namdrg_bot bottom friction (ln_drg_OFF=F) +!! nambbc bottom temperature boundary condition (default: OFF) +!! nambbl bottom boundary layer scheme (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namdrg ! top/bottom drag coefficient (default: NO selection) +!----------------------------------------------------------------------- + ln_drg_OFF = .true. ! free-slip : Cd = 0 (F => fill namdrg_bot + ln_lin = .false. ! linear drag: Cd = Cd0 Uc0 & namdrg_top) + ln_non_lin = .false. ! non-linear drag: Cd = Cd0 |U| + ln_loglayer = .false. ! logarithmic drag: Cd = vkarmn/log(z/z0) |U| + ! + ln_drgimp = .false. ! implicit top/bottom friction flag + ln_drgice_imp = .true.! implicit ice-ocean drag +/ +!----------------------------------------------------------------------- +&namdrg_top ! TOP friction (ln_drg_OFF =F & ln_isfcav=T) +!----------------------------------------------------------------------- +/ +!----------------------------------------------------------------------- +&namdrg_bot ! BOTTOM friction (ln_drg_OFF =F) +!----------------------------------------------------------------------- + rn_Cd0 = 0.0 ! drag coefficient [-] + rn_Uc0 = 0.0 ! ref. velocity [m/s] (linear drag=Cd0*Uc0) + rn_Cdmax = 1.e-4 ! drag value maximum [-] (logarithmic drag) + rn_ke0 = 2.5e-3 ! background kinetic energy [m2/s2] (non-linear cases) + rn_z0 = 3.e-3 ! roughness [m] (ln_loglayer=T) + ln_boost = .false. ! =T regional boost of Cd0 ; =F constant + rn_boost = 50. ! local boost factor [-] +/ +!!====================================================================== +!! Tracer (T-S) namelists !! +!! !! +!! nameos equation of state (default: NO selection) +!! namtra_adv advection scheme (default: NO selection) +!! namtra_ldf lateral diffusion scheme (default: NO selection) +!! namtra_mle mixed layer eddy param. (Fox-Kemper param.) (default: OFF) +!! namtra_eiv eddy induced velocity param. (default: OFF) +!! namtra_dmp T & S newtonian damping (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&nameos ! ocean Equation Of Seawater (default: NO selection) +!----------------------------------------------------------------------- + ln_teos10 = .false. ! = Use TEOS-10 + ln_eos80 = .true. ! = Use EOS80 + ln_seos = .false. ! = Use S-EOS (simplified Eq.) + ! + ! ! S-EOS coefficients (ln_seos=T): + ! ! rd(T,S,Z)*rho0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS + rn_a0 = 1.6550e-1 ! thermal expension coefficient + rn_b0 = 0.0 ! saline expension coefficient + rn_lambda1 = 0.0 ! cabbeling coeff in T^2 (=0 for linear eos) + rn_lambda2 = 0.0 ! cabbeling coeff in S^2 (=0 for linear eos) + rn_mu1 = 0.0 ! thermobaric coeff. in T (=0 for linear eos) + rn_mu2 = 0.0 ! thermobaric coeff. in S (=0 for linear eos) + rn_nu = 0.0 ! cabbeling coeff in T*S (=0 for linear eos) +/ +!----------------------------------------------------------------------- +&namtra_adv ! advection scheme for tracer (default: NO selection) +!----------------------------------------------------------------------- + ln_traadv_OFF = .false. ! No tracer advection + ln_traadv_cen = .true. ! 2nd order centered scheme + nn_cen_h = 2 ! =2/4, horizontal 2nd order CEN / 4th order CEN + nn_cen_v = 2 ! =2/4, vertical 2nd order CEN / 4th order COMPACT + ln_traadv_fct = .false. ! FCT scheme + nn_fct_h = 2 ! =2/4, horizontal 2nd / 4th order + nn_fct_v = 2 ! =2/4, vertical 2nd / COMPACT 4th order + ln_traadv_mus = .false. ! MUSCL scheme + ln_mus_ups = .false. ! use upstream scheme near river mouths + ln_traadv_ubs = .false. ! UBS scheme + nn_ubs_v = 2 ! =2 , vertical 2nd order FCT / COMPACT 4th order + ln_traadv_qck = .false. ! QUICKEST scheme +/ +!----------------------------------------------------------------------- +&namtra_ldf ! lateral diffusion scheme for tracers (default: NO selection) +!----------------------------------------------------------------------- + ! ! Operator type: + ln_traldf_OFF = .true. ! No explicit diffusion +/ +!!====================================================================== +!! *** Dynamics namelists *** !! +!! !! +!! nam_vvl vertical coordinate options (default: z-star) +!! namdyn_adv formulation of the momentum advection (default: NO selection) +!! namdyn_vor advection scheme (default: NO selection) +!! namdyn_hpg hydrostatic pressure gradient (default: NO selection) +!! namdyn_spg surface pressure gradient (default: NO selection) +!! namdyn_ldf lateral diffusion scheme (default: NO selection) +!! namdta_dyn offline TOP: dynamics read in files (OFF_SRC only) +!!====================================================================== +! +!----------------------------------------------------------------------- +&nam_vvl ! vertical coordinate options (default: z-star) +!----------------------------------------------------------------------- + ln_vvl_zstar = .true. ! z-star vertical coordinate + ln_vvl_ztilde = .false. ! z-tilde vertical coordinate: only high frequency variations + ln_vvl_layer = .false. ! full layer vertical coordinate + ln_vvl_ztilde_as_zstar = .false. ! ztilde vertical coordinate emulating zstar + ln_vvl_zstar_at_eqtor = .false. ! ztilde near the equator + rn_ahe3 = 0.0 ! thickness diffusion coefficient + rn_rst_e3t = 30.0 ! ztilde to zstar restoration timescale [days] + rn_lf_cutoff = 5.0 ! cutoff frequency for low-pass filter [days] + rn_zdef_max = 0.9 ! maximum fractional e3t deformation + ln_vvl_dbg = .false. ! debug prints (T/F) +/ +!----------------------------------------------------------------------- +&namdyn_adv ! formulation of the momentum advection (default: NO selection) +!----------------------------------------------------------------------- + ln_dynadv_OFF = .false. ! linear dynamics (no momentum advection) + ln_dynadv_vec = .true. ! vector form - 2nd centered scheme + nn_dynkeg = 0 ! grad(KE) scheme: =0 C2 ; =1 Hollingsworth correction + ln_dynadv_cen2 = .false. ! flux form - 2nd order centered scheme + ln_dynadv_ubs = .false. ! flux form - 3rd order UBS scheme +/ +!----------------------------------------------------------------------- +&namdyn_vor ! Vorticity / Coriolis scheme (default: NO selection) +!----------------------------------------------------------------------- + ln_dynvor_ene = .false. ! energy conserving scheme + ln_dynvor_ens = .false. ! enstrophy conserving scheme + ln_dynvor_mix = .false. ! mixed scheme + ln_dynvor_enT = .false. ! energy conserving scheme (T-point) + ln_dynvor_eeT = .false. ! energy conserving scheme (een using e3t) + ln_dynvor_een = .true. ! energy & enstrophy scheme + ! + ln_dynvor_msk = .false. ! vorticity multiplied by fmask (=T) ==>>> PLEASE DO NOT ACTIVATE + ! ! (f-point vorticity schemes only) + ! + nn_e3f_typ = 0 ! type of e3f (EEN, ENE, ENS, MIX only) =0 e3f = mi(mj(e3t))/4 + ! ! =1 e3f = mi(mj(e3t))/mi(mj( tmask)) +/ +!----------------------------------------------------------------------- +&namdyn_hpg ! Hydrostatic pressure gradient option (default: NO selection) +!----------------------------------------------------------------------- + ln_hpg_zco = .false. ! z-coordinate - full steps + ln_hpg_zps = .false. ! z-coordinate - partial steps (interpolation) + ln_hpg_sco = .false. ! s-coordinate (standard jacobian formulation) + ln_hpg_isf = .false. ! s-coordinate (sco ) adapted to isf + ln_hpg_djc = .false. ! s-coordinate (Density Jacobian with Cubic polynomial) + ln_hpg_djc_vnh = .true. ! hor. bc type for djc scheme (T=von Neumann, F=linear extrapolation) + ln_hpg_djc_vnv = .true. ! vert. bc type for djc scheme (T=von Neumann, F=linear extrapolation) + ln_hpg_prj = .true. ! s-coordinate (Pressure Jacobian scheme) +/ +!----------------------------------------------------------------------- +&namdyn_spg ! surface pressure gradient (default: NO selection) +!----------------------------------------------------------------------- + ln_dynspg_exp = .false. ! explicit free surface + ln_dynspg_ts = .true. ! split-explicit free surface + nn_e = 30 ! =F : the number of sub-step in rn_Dt seconds +/ +!----------------------------------------------------------------------- +&namdyn_ldf ! lateral diffusion on momentum (default: NO selection) +!----------------------------------------------------------------------- + ! ! Type of the operator : + ln_dynldf_OFF = .false. ! No operator (i.e. no explicit diffusion) + nn_dynldf_typ = 0 ! =0 div-rot (default) ; =1 symmetric + ln_dynldf_lap = .true. ! laplacian operator + ln_dynldf_blp = .false. ! bilaplacian operator + ! ! Direction of action : + ln_dynldf_lev = .true. ! iso-level + ln_dynldf_hor = .false. ! horizontal (geopotential) + ln_dynldf_iso = .false. ! iso-neutral (lap only) + ! ! Coefficient + nn_ahm_ijk_t = 0 ! space/time variation of eddy coefficient : + ! ! =-30 read in eddy_viscosity_3D.nc file + ! ! =-20 read in eddy_viscosity_2D.nc file + ! ! = 0 constant + ! ! = 10 F(k)=c1d + ! ! = 20 F(i,j)=F(grid spacing)=c2d + ! ! = 30 F(i,j,k)=c2d*c1d + ! ! = 31 F(i,j,k)=F(grid spacing and local velocity) + ! ! = 32 F(i,j,k)=F(local gridscale and deformation rate) + ! ! time invariant coefficients : ahm = 1/2 Uv*Lv (lap case) + ! ! or = 1/12 Uv*Lv^3 (blp case) + rn_Uv = 1.0 ! lateral viscous velocity [m/s] (nn_ahm_ijk_t= 0, 10, 20, 30) + rn_Lv = 1.e+3 ! lateral viscous length [m] (nn_ahm_ijk_t= 0, 10) +/ +!!====================================================================== +!! vertical physics namelists !! +!! !! +!! namzdf vertical physics manager (default: NO selection) +!! namzdf_ric richardson number vertical mixing (ln_zdfric=T) +!! namzdf_tke TKE vertical mixing (ln_zdftke=T) +!! namzdf_gls GLS vertical mixing (ln_zdfgls=T) +!! namzdf_osm OSM vertical diffusion (ln_zdfosm=T) +!! namzdf_iwm tidal mixing parameterization (ln_zdfiwm=T) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namzdf ! vertical physics manager (default: NO selection) +!----------------------------------------------------------------------- + ! ! adaptive-implicit vertical advection + ln_zad_Aimp = .false. ! Courant number dependent scheme (Shchepetkin 2015) + ! + ! ! type of vertical closure (required) + ln_zdfcst = .true. ! constant mixing + ln_zdfric = .false. ! local Richardson dependent formulation (T => fill namzdf_ric) + ln_zdftke = .false. ! Turbulent Kinetic Energy closure (T => fill namzdf_tke) + ln_zdfgls = .false. ! Generic Length Scale closure (T => fill namzdf_gls) + ln_zdfosm = .false. ! OSMOSIS BL closure (T => fill namzdf_osm) + ! + ! ! convection + ln_zdfevd = .false. ! enhanced vertical diffusion + nn_evdm = 0 ! apply on tracer (=0) or on tracer and momentum (=1) + rn_evd = 100. ! mixing coefficient [m2/s] + ln_zdfnpc = .false. ! Non-Penetrative Convective algorithm + nn_npc = 1 ! frequency of application of npc + nn_npcp = 365 ! npc control print frequency + ln_zdfmfc = .false. ! Mass Flux Convection + ! + ln_zdfddm = .false. ! double diffusive mixing + rn_avts = 1.e-4 ! maximum avs (vertical mixing on salinity) + rn_hsbfr = 1.6 ! heat/salt buoyancy flux ratio + ! + ! ! gravity wave-driven vertical mixing + ln_zdfiwm = .false. ! internal wave-induced mixing (T => fill namzdf_iwm) + ln_zdfswm = .false. ! surface wave-induced mixing (T => ln_wave=ln_sdw=T ) + ! + ! ! coefficients + rn_avm0 = 2.e-5 ! vertical eddy viscosity [m2/s] (background Kz if ln_zdfcst=F) + rn_avt0 = 2.e-5 ! vertical eddy diffusivity [m2/s] (background Kz if ln_zdfcst=F) + nn_avb = 0 ! profile for background avt & avm (=1) or not (=0) + nn_havtb = 0 ! horizontal shape for avtb (=1) or not (=0) +/ +!!====================================================================== +!! *** Diagnostics namelists *** !! +!! !! +!! namtrd dynamics and/or tracer trends (default: OFF) +!! namhsb Heat and salt budgets (default: OFF) +!! namdiu Cool skin and warm layer models (default: OFF) +!! namdiu Cool skin and warm layer models (default: OFF) +!! namflo float parameters (default: OFF) +!! nam_diadct transports through some sections (default: OFF) +!! nam_dia25h 25h Mean Output (default: OFF) +!! namnc4 netcdf4 chunking and compression settings ("key_netcdf4") +!!====================================================================== +! +!----------------------------------------------------------------------- +&namtrd ! trend diagnostics (default: OFF) +!----------------------------------------------------------------------- + ln_glo_trd = .false. ! (T) global domain averaged diag for T, T^2, KE, and PE + ln_dyn_trd = .true. ! (T) 3D momentum trend output + ln_dyn_mxl = .false. ! (T) 2D momentum trends averaged over the mixed layer (not coded yet) + ln_vor_trd = .false. ! (T) 2D barotropic vorticity trends (not coded yet) + ln_KE_trd = .false. ! (T) 3D Kinetic Energy trends + ln_PE_trd = .false. ! (T) 3D Potential Energy trends + ln_tra_trd = .false. ! (T) 3D tracer trend output + ln_tra_mxl = .false. ! (T) 2D tracer trends averaged over the mixed layer (not coded yet) + nn_trd = 1 ! print frequency (ln_glo_trd=T) (unit=time step) +/ +!!====================================================================== +!! *** Observation & Assimilation *** !! +!! !! +!! namobs observation and model comparison (default: OFF) +!! nam_asminc assimilation increments ('key_asminc') +!!====================================================================== +! +!!====================================================================== +!! *** Miscellaneous namelists *** !! +!! !! +!! nammpp Massively Parallel Processing ("key_mpp_mpi") +!! namctl Control prints (default: OFF) +!! namsto Stochastic parametrization of EOS (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&nammpp ! Massively Parallel Processing ("key_mpp_mpi") +!----------------------------------------------------------------------- +! ln_listonly = .false. ! do nothing else than listing the best domain decompositions (with land domains suppression) + ! ! if T: the largest number of cores tested is defined by max(mppsize, jpni*jpnj) +! ln_nnogather = .true. ! activate code to avoid mpi_allgather use at the northfold + jpni = 0 ! number of processors following i (set automatically if < 1), see also ln_listonly = T + jpnj = 0 ! number of processors following j (set automatically if < 1), see also ln_listonly = T +! nn_hls = 1 ! halo width (applies to both rows and columns) +/ +!----------------------------------------------------------------------- +&namctl ! Control prints (default: OFF) +!----------------------------------------------------------------------- + sn_cfctl%l_runstat = .TRUE. ! switches and which areas produce reports with the proc integer settings. +! sn_cfctl%l_trcstat = .FALSE. ! The default settings for the proc integers should ensure + sn_cfctl%l_oceout = .FALSE. ! that all areas report. +! sn_cfctl%l_layout = .FALSE. ! +! sn_cfctl%l_prtctl = .FALSE. ! +! sn_cfctl%l_prttrc = .FALSE. ! +! sn_cfctl%l_oasout = .FALSE. ! +! sn_cfctl%procmin = 0 ! Minimum area number for reporting [default:0] +! sn_cfctl%procmax = 1000000 ! Maximum area number for reporting [default:1000000] +! sn_cfctl%procincr = 1 ! Increment for optional subsetting of areas [default:1] +! sn_cfctl%ptimincr = 1 ! Timestep increment for writing time step progress info +! nn_ictls = 0 ! start i indice of control sum (use to compare mono versus +! nn_ictle = 0 ! end i indice of control sum multi processor runs +! nn_jctls = 0 ! start j indice of control over a subdomain) +! nn_jctle = 0 ! end j indice of control +! nn_isplt = 1 ! number of processors in i-direction +! nn_jsplt = 1 ! number of processors in j-direction + ln_timing = .true. ! timing by routine write out in timing.output file +! ln_diacfl = .false. ! CFL diagnostics write out in cfl_diagnostics.ascii +/ diff --git a/SEAMOUNT/EXPREF/nam_cfg/moderate/namelist_cfg.sco_sh94 b/SEAMOUNT/EXPREF/nam_cfg/moderate/namelist_cfg.sco_sh94 new file mode 100644 index 0000000..4264481 --- /dev/null +++ b/SEAMOUNT/EXPREF/nam_cfg/moderate/namelist_cfg.sco_sh94 @@ -0,0 +1,447 @@ +!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +!! NEMO/OCE : Reference namelist_ref !! +!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +!! NEMO/OCE : 1 - Domain & run manager (namrun, namcfg, namdom, namtsd, namcrs, namc1d, namc1d_uvd) +!! namelists 2 - Surface boundary (namsbc, namsbc_flx, namsbc_blk, namsbc_cpl, +!! namsbc_sas, namtra_qsr, namsbc_rnf, +!! namisf, namsbc_apr, +!! namsbc_ssr, namsbc_wave, namberg) +!! 3 - lateral boundary (namlbc, namagrif, nambdy, nambdy_tide) +!! 4 - top/bot boundary (namdrg, namdrg_top, namdrg_bot, nambbc, nambbl) +!! 5 - Tracer (nameos, namtra_adv, namtra_ldf, namtra_eiv, namtra_dmp) +!! 6 - dynamics (namdyn_adv, namdyn_vor, namdyn_hpg, namdyn_spg, namdyn_ldf) +!! 7 - Vertical physics (namzdf, namzdf_ric, namzdf_tke, namzdf_gls, namzdf_iwm) +!! 8 - diagnostics (namnc4, namtrd, namspr, namflo, namhsb) +!! 9 - Obs & Assim (namobs, nam_asminc) +!! 10 - miscellaneous (nammpp, namctl, namsto) +!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + +!!====================================================================== +!! *** Domain & Run management namelists *** !! +!! !! +!! namrun parameters of the run +!! namdom space and time domain +!! namcfg parameters of the configuration (default: user defined GYRE) +!! namwad Wetting and drying (default: OFF) +!! namtsd data: temperature & salinity (default: OFF) +!! namcrs coarsened grid (for outputs and/or TOP) (ln_crs =T) +!! namc1d 1D configuration options ("key_c1d") +!! namc1d_dyndmp 1D newtonian damping applied on currents ("key_c1d") +!! namc1d_uvd 1D data (currents) ("key_c1d") +!!====================================================================== +! +!----------------------------------------------------------------------- +&namusr_def ! SEAMOUNT TEST CASE +!----------------------------------------------------------------------- +!! PHYSICAL DOMAIN + rn_xdim = 504. ! x-dimension of the domain [km] + rn_ydim = 504. ! y-dimension of the domain [km] + rn_bot_max = 4500. ! max ocean depth (>0) [m] + rn_smnt_H = 2700. ! seamount height (>0) [m] + rn_smnt_L = 50. ! seamount width [km] + rn_fplane = 0.0001 ! Coriolis parameter for f-plane approximation +!! NUMERICAL DISCRETIZATION + rn_dx = 8000. ! horizontal resolution [m] + rn_dz = 236.8 ! vertical resolution far from the seamount + ! and assuming no stretching [m] +!! VERTICAL COORDINATE + ln_zco = .false. ! z-coordinate + ln_zps = .false. ! z-partial-step coordinate + ln_sco = .true. ! s-coordinate + ! Stretched s-levels (ln_sco = .true.) + ln_s_sh94 = .true. ! TRUE: s-levels using Song & Haidvogel 1994 (SH94) + ! stretching function + ! FALSE: uniform sigma-levels + rn_theta = 3.0 ! SH94 surface control parameter (0<=theta<=20) + rn_bb = 0.0 ! SH94 bottom control parameter (0<=bb<=1) + rn_hc = 500 ! SH94 critical depth for transition to stretched coordinates [m] + ! Paramaters for vqs-coordinate (ln_sco = .true.) + ln_vqs = .false. ! activating vanishing quasi-sigma levels (TRUE) + rn_rmax = 0.3 ! maximum cut-off slope parameter value allowed + ! if using vqs-levels (0> model level are fixed in time + ! + rn_Dt = 360. ! time step for the dynamics and tracer + ln_meshmask = .true. ! =T create a mesh file +/ +!----------------------------------------------------------------------- +&namcfg ! parameters of the configuration (default: use namusr_def in namelist_cfg) +!----------------------------------------------------------------------- + ln_read_cfg = .false. ! (=T) read the domain configuration file + ln_write_cfg = .true. ! (=T) create the domain configuration file + cn_domcfg_out = "domain_cfg_out" ! newly created domain configuration filename +/ +!----------------------------------------------------------------------- +&namtile ! parameters of the tiling +!----------------------------------------------------------------------- + ln_tile = .false. ! Use tiling (T) or not (F) + nn_ltile_i = 10 ! Length of tiles in i + nn_ltile_j = 10 ! Length of tiles in j +/ +!!====================================================================== +!! *** Surface Boundary Condition namelists *** !! +!! !! +!! namsbc surface boundary condition manager (default: NO selection) +!! namsbc_flx flux formulation (ln_flx =T) +!! namsbc_blk Bulk formulae formulation (ln_blk =T) +!! namsbc_cpl CouPLed formulation ("key_oasis3" ) +!! namsbc_sas Stand-Alone Surface module (SAS_SRC only) +!! namsbc_iif Ice-IF: use observed ice cover (nn_ice = 1 ) +!! namtra_qsr penetrative solar radiation (ln_traqsr =T) +!! namsbc_ssr sea surface restoring term (for T and/or S) (ln_ssr =T) +!! namsbc_rnf river runoffs (ln_rnf =T) +!! namsbc_apr Atmospheric Pressure (ln_apr_dyn =T) +!! namsbc_wave external fields from wave model (ln_wave =T) +!! namberg iceberg floats (ln_icebergs=T) +!! namsbc_fwb freshwater-budget adjustment (nn_fwb > 0) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namsbc ! Surface Boundary Condition manager (default: NO selection) +!----------------------------------------------------------------------- + nn_fsbc = 1 ! frequency of SBC module call + ! ! (control sea-ice & iceberg model call) + ! Type of air-sea fluxes + ln_usr = .true. ! user defined formulation (T => check usrdef_sbc) +/ +!!====================================================================== +!! *** Lateral boundary condition *** !! +!! !! +!! namlbc lateral momentum boundary condition (default: NO selection) +!! namagrif agrif nested grid (read by child model only) ("key_agrif") +!! nam_tide Tidal forcing (default: OFF) +!! nambdy Unstructured open boundaries (default: OFF) +!! nambdy_dta Unstructured open boundaries - external data (see nambdy) +!! nambdy_tide tidal forcing at open boundaries (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namlbc ! lateral momentum boundary condition (default: NO selection) +!----------------------------------------------------------------------- + ! ! free slip ! partial slip ! no slip ! strong slip + rn_shlat = 0.0 ! shlat = 0 ! 0 < shlat < 2 ! shlat = 2 ! 2 < shlat +/ +!!====================================================================== +!! *** Top/Bottom boundary condition *** !! +!! !! +!! namdrg top/bottom drag coefficient (default: NO selection) +!! namdrg_top top friction (ln_drg_OFF=F & ln_isfcav=T) +!! namdrg_bot bottom friction (ln_drg_OFF=F) +!! nambbc bottom temperature boundary condition (default: OFF) +!! nambbl bottom boundary layer scheme (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namdrg ! top/bottom drag coefficient (default: NO selection) +!----------------------------------------------------------------------- + ln_drg_OFF = .true. ! free-slip : Cd = 0 (F => fill namdrg_bot + ln_lin = .false. ! linear drag: Cd = Cd0 Uc0 & namdrg_top) + ln_non_lin = .false. ! non-linear drag: Cd = Cd0 |U| + ln_loglayer = .false. ! logarithmic drag: Cd = vkarmn/log(z/z0) |U| + ! + ln_drgimp = .false. ! implicit top/bottom friction flag + ln_drgice_imp = .true.! implicit ice-ocean drag +/ +!----------------------------------------------------------------------- +&namdrg_top ! TOP friction (ln_drg_OFF =F & ln_isfcav=T) +!----------------------------------------------------------------------- +/ +!----------------------------------------------------------------------- +&namdrg_bot ! BOTTOM friction (ln_drg_OFF =F) +!----------------------------------------------------------------------- + rn_Cd0 = 0.0 ! drag coefficient [-] + rn_Uc0 = 0.0 ! ref. velocity [m/s] (linear drag=Cd0*Uc0) + rn_Cdmax = 1.e-4 ! drag value maximum [-] (logarithmic drag) + rn_ke0 = 2.5e-3 ! background kinetic energy [m2/s2] (non-linear cases) + rn_z0 = 3.e-3 ! roughness [m] (ln_loglayer=T) + ln_boost = .false. ! =T regional boost of Cd0 ; =F constant + rn_boost = 50. ! local boost factor [-] +/ +!!====================================================================== +!! Tracer (T-S) namelists !! +!! !! +!! nameos equation of state (default: NO selection) +!! namtra_adv advection scheme (default: NO selection) +!! namtra_ldf lateral diffusion scheme (default: NO selection) +!! namtra_mle mixed layer eddy param. (Fox-Kemper param.) (default: OFF) +!! namtra_eiv eddy induced velocity param. (default: OFF) +!! namtra_dmp T & S newtonian damping (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&nameos ! ocean Equation Of Seawater (default: NO selection) +!----------------------------------------------------------------------- + ln_teos10 = .false. ! = Use TEOS-10 + ln_eos80 = .true. ! = Use EOS80 + ln_seos = .false. ! = Use S-EOS (simplified Eq.) + ! + ! ! S-EOS coefficients (ln_seos=T): + ! ! rd(T,S,Z)*rho0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS + rn_a0 = 1.6550e-1 ! thermal expension coefficient + rn_b0 = 0.0 ! saline expension coefficient + rn_lambda1 = 0.0 ! cabbeling coeff in T^2 (=0 for linear eos) + rn_lambda2 = 0.0 ! cabbeling coeff in S^2 (=0 for linear eos) + rn_mu1 = 0.0 ! thermobaric coeff. in T (=0 for linear eos) + rn_mu2 = 0.0 ! thermobaric coeff. in S (=0 for linear eos) + rn_nu = 0.0 ! cabbeling coeff in T*S (=0 for linear eos) +/ +!----------------------------------------------------------------------- +&namtra_adv ! advection scheme for tracer (default: NO selection) +!----------------------------------------------------------------------- + ln_traadv_OFF = .false. ! No tracer advection + ln_traadv_cen = .true. ! 2nd order centered scheme + nn_cen_h = 2 ! =2/4, horizontal 2nd order CEN / 4th order CEN + nn_cen_v = 2 ! =2/4, vertical 2nd order CEN / 4th order COMPACT + ln_traadv_fct = .false. ! FCT scheme + nn_fct_h = 2 ! =2/4, horizontal 2nd / 4th order + nn_fct_v = 2 ! =2/4, vertical 2nd / COMPACT 4th order + ln_traadv_mus = .false. ! MUSCL scheme + ln_mus_ups = .false. ! use upstream scheme near river mouths + ln_traadv_ubs = .false. ! UBS scheme + nn_ubs_v = 2 ! =2 , vertical 2nd order FCT / COMPACT 4th order + ln_traadv_qck = .false. ! QUICKEST scheme +/ +!----------------------------------------------------------------------- +&namtra_ldf ! lateral diffusion scheme for tracers (default: NO selection) +!----------------------------------------------------------------------- + ! ! Operator type: + ln_traldf_OFF = .true. ! No explicit diffusion +/ +!!====================================================================== +!! *** Dynamics namelists *** !! +!! !! +!! nam_vvl vertical coordinate options (default: z-star) +!! namdyn_adv formulation of the momentum advection (default: NO selection) +!! namdyn_vor advection scheme (default: NO selection) +!! namdyn_hpg hydrostatic pressure gradient (default: NO selection) +!! namdyn_spg surface pressure gradient (default: NO selection) +!! namdyn_ldf lateral diffusion scheme (default: NO selection) +!! namdta_dyn offline TOP: dynamics read in files (OFF_SRC only) +!!====================================================================== +! +!----------------------------------------------------------------------- +&nam_vvl ! vertical coordinate options (default: z-star) +!----------------------------------------------------------------------- + ln_vvl_zstar = .true. ! z-star vertical coordinate + ln_vvl_ztilde = .false. ! z-tilde vertical coordinate: only high frequency variations + ln_vvl_layer = .false. ! full layer vertical coordinate + ln_vvl_ztilde_as_zstar = .false. ! ztilde vertical coordinate emulating zstar + ln_vvl_zstar_at_eqtor = .false. ! ztilde near the equator + rn_ahe3 = 0.0 ! thickness diffusion coefficient + rn_rst_e3t = 30.0 ! ztilde to zstar restoration timescale [days] + rn_lf_cutoff = 5.0 ! cutoff frequency for low-pass filter [days] + rn_zdef_max = 0.9 ! maximum fractional e3t deformation + ln_vvl_dbg = .false. ! debug prints (T/F) +/ +!----------------------------------------------------------------------- +&namdyn_adv ! formulation of the momentum advection (default: NO selection) +!----------------------------------------------------------------------- + ln_dynadv_OFF = .false. ! linear dynamics (no momentum advection) + ln_dynadv_vec = .true. ! vector form - 2nd centered scheme + nn_dynkeg = 0 ! grad(KE) scheme: =0 C2 ; =1 Hollingsworth correction + ln_dynadv_cen2 = .false. ! flux form - 2nd order centered scheme + ln_dynadv_ubs = .false. ! flux form - 3rd order UBS scheme +/ +!----------------------------------------------------------------------- +&namdyn_vor ! Vorticity / Coriolis scheme (default: NO selection) +!----------------------------------------------------------------------- + ln_dynvor_ene = .false. ! energy conserving scheme + ln_dynvor_ens = .false. ! enstrophy conserving scheme + ln_dynvor_mix = .false. ! mixed scheme + ln_dynvor_enT = .false. ! energy conserving scheme (T-point) + ln_dynvor_eeT = .false. ! energy conserving scheme (een using e3t) + ln_dynvor_een = .true. ! energy & enstrophy scheme + ! + ln_dynvor_msk = .false. ! vorticity multiplied by fmask (=T) ==>>> PLEASE DO NOT ACTIVATE + ! ! (f-point vorticity schemes only) + ! + nn_e3f_typ = 0 ! type of e3f (EEN, ENE, ENS, MIX only) =0 e3f = mi(mj(e3t))/4 + ! ! =1 e3f = mi(mj(e3t))/mi(mj( tmask)) +/ +!----------------------------------------------------------------------- +&namdyn_hpg ! Hydrostatic pressure gradient option (default: NO selection) +!----------------------------------------------------------------------- + ln_hpg_zco = .false. ! z-coordinate - full steps + ln_hpg_zps = .false. ! z-coordinate - partial steps (interpolation) + ln_hpg_sco = .true. ! s-coordinate (standard jacobian formulation) + ln_hpg_isf = .false. ! s-coordinate (sco ) adapted to isf + ln_hpg_djc = .false. ! s-coordinate (Density Jacobian with Cubic polynomial) + ln_hpg_djc_vnh = .true. ! hor. bc type for djc scheme (T=von Neumann, F=linear extrapolation) + ln_hpg_djc_vnv = .true. ! vert. bc type for djc scheme (T=von Neumann, F=linear extrapolation) + ln_hpg_prj = .false. ! s-coordinate (Pressure Jacobian scheme) +/ +!----------------------------------------------------------------------- +&namdyn_spg ! surface pressure gradient (default: NO selection) +!----------------------------------------------------------------------- + ln_dynspg_exp = .false. ! explicit free surface + ln_dynspg_ts = .true. ! split-explicit free surface + nn_e = 30 ! =F : the number of sub-step in rn_Dt seconds +/ +!----------------------------------------------------------------------- +&namdyn_ldf ! lateral diffusion on momentum (default: NO selection) +!----------------------------------------------------------------------- + ! ! Type of the operator : + ln_dynldf_OFF = .false. ! No operator (i.e. no explicit diffusion) + nn_dynldf_typ = 0 ! =0 div-rot (default) ; =1 symmetric + ln_dynldf_lap = .true. ! laplacian operator + ln_dynldf_blp = .false. ! bilaplacian operator + ! ! Direction of action : + ln_dynldf_lev = .true. ! iso-level + ln_dynldf_hor = .false. ! horizontal (geopotential) + ln_dynldf_iso = .false. ! iso-neutral (lap only) + ! ! Coefficient + nn_ahm_ijk_t = 0 ! space/time variation of eddy coefficient : + ! ! =-30 read in eddy_viscosity_3D.nc file + ! ! =-20 read in eddy_viscosity_2D.nc file + ! ! = 0 constant + ! ! = 10 F(k)=c1d + ! ! = 20 F(i,j)=F(grid spacing)=c2d + ! ! = 30 F(i,j,k)=c2d*c1d + ! ! = 31 F(i,j,k)=F(grid spacing and local velocity) + ! ! = 32 F(i,j,k)=F(local gridscale and deformation rate) + ! ! time invariant coefficients : ahm = 1/2 Uv*Lv (lap case) + ! ! or = 1/12 Uv*Lv^3 (blp case) + rn_Uv = 1.0 ! lateral viscous velocity [m/s] (nn_ahm_ijk_t= 0, 10, 20, 30) + rn_Lv = 1.e+3 ! lateral viscous length [m] (nn_ahm_ijk_t= 0, 10) +/ +!!====================================================================== +!! vertical physics namelists !! +!! !! +!! namzdf vertical physics manager (default: NO selection) +!! namzdf_ric richardson number vertical mixing (ln_zdfric=T) +!! namzdf_tke TKE vertical mixing (ln_zdftke=T) +!! namzdf_gls GLS vertical mixing (ln_zdfgls=T) +!! namzdf_osm OSM vertical diffusion (ln_zdfosm=T) +!! namzdf_iwm tidal mixing parameterization (ln_zdfiwm=T) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namzdf ! vertical physics manager (default: NO selection) +!----------------------------------------------------------------------- + ! ! adaptive-implicit vertical advection + ln_zad_Aimp = .false. ! Courant number dependent scheme (Shchepetkin 2015) + ! + ! ! type of vertical closure (required) + ln_zdfcst = .true. ! constant mixing + ln_zdfric = .false. ! local Richardson dependent formulation (T => fill namzdf_ric) + ln_zdftke = .false. ! Turbulent Kinetic Energy closure (T => fill namzdf_tke) + ln_zdfgls = .false. ! Generic Length Scale closure (T => fill namzdf_gls) + ln_zdfosm = .false. ! OSMOSIS BL closure (T => fill namzdf_osm) + ! + ! ! convection + ln_zdfevd = .false. ! enhanced vertical diffusion + nn_evdm = 0 ! apply on tracer (=0) or on tracer and momentum (=1) + rn_evd = 100. ! mixing coefficient [m2/s] + ln_zdfnpc = .false. ! Non-Penetrative Convective algorithm + nn_npc = 1 ! frequency of application of npc + nn_npcp = 365 ! npc control print frequency + ln_zdfmfc = .false. ! Mass Flux Convection + ! + ln_zdfddm = .false. ! double diffusive mixing + rn_avts = 1.e-4 ! maximum avs (vertical mixing on salinity) + rn_hsbfr = 1.6 ! heat/salt buoyancy flux ratio + ! + ! ! gravity wave-driven vertical mixing + ln_zdfiwm = .false. ! internal wave-induced mixing (T => fill namzdf_iwm) + ln_zdfswm = .false. ! surface wave-induced mixing (T => ln_wave=ln_sdw=T ) + ! + ! ! coefficients + rn_avm0 = 2.e-5 ! vertical eddy viscosity [m2/s] (background Kz if ln_zdfcst=F) + rn_avt0 = 2.e-5 ! vertical eddy diffusivity [m2/s] (background Kz if ln_zdfcst=F) + nn_avb = 0 ! profile for background avt & avm (=1) or not (=0) + nn_havtb = 0 ! horizontal shape for avtb (=1) or not (=0) +/ +!!====================================================================== +!! *** Diagnostics namelists *** !! +!! !! +!! namtrd dynamics and/or tracer trends (default: OFF) +!! namhsb Heat and salt budgets (default: OFF) +!! namdiu Cool skin and warm layer models (default: OFF) +!! namdiu Cool skin and warm layer models (default: OFF) +!! namflo float parameters (default: OFF) +!! nam_diadct transports through some sections (default: OFF) +!! nam_dia25h 25h Mean Output (default: OFF) +!! namnc4 netcdf4 chunking and compression settings ("key_netcdf4") +!!====================================================================== +! +!----------------------------------------------------------------------- +&namtrd ! trend diagnostics (default: OFF) +!----------------------------------------------------------------------- + ln_glo_trd = .false. ! (T) global domain averaged diag for T, T^2, KE, and PE + ln_dyn_trd = .true. ! (T) 3D momentum trend output + ln_dyn_mxl = .false. ! (T) 2D momentum trends averaged over the mixed layer (not coded yet) + ln_vor_trd = .false. ! (T) 2D barotropic vorticity trends (not coded yet) + ln_KE_trd = .false. ! (T) 3D Kinetic Energy trends + ln_PE_trd = .false. ! (T) 3D Potential Energy trends + ln_tra_trd = .false. ! (T) 3D tracer trend output + ln_tra_mxl = .false. ! (T) 2D tracer trends averaged over the mixed layer (not coded yet) + nn_trd = 1 ! print frequency (ln_glo_trd=T) (unit=time step) +/ +!!====================================================================== +!! *** Observation & Assimilation *** !! +!! !! +!! namobs observation and model comparison (default: OFF) +!! nam_asminc assimilation increments ('key_asminc') +!!====================================================================== +! +!!====================================================================== +!! *** Miscellaneous namelists *** !! +!! !! +!! nammpp Massively Parallel Processing ("key_mpp_mpi") +!! namctl Control prints (default: OFF) +!! namsto Stochastic parametrization of EOS (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&nammpp ! Massively Parallel Processing ("key_mpp_mpi") +!----------------------------------------------------------------------- +! ln_listonly = .false. ! do nothing else than listing the best domain decompositions (with land domains suppression) + ! ! if T: the largest number of cores tested is defined by max(mppsize, jpni*jpnj) +! ln_nnogather = .true. ! activate code to avoid mpi_allgather use at the northfold + jpni = 0 ! number of processors following i (set automatically if < 1), see also ln_listonly = T + jpnj = 0 ! number of processors following j (set automatically if < 1), see also ln_listonly = T +! nn_hls = 1 ! halo width (applies to both rows and columns) +/ +!----------------------------------------------------------------------- +&namctl ! Control prints (default: OFF) +!----------------------------------------------------------------------- + sn_cfctl%l_runstat = .TRUE. ! switches and which areas produce reports with the proc integer settings. +! sn_cfctl%l_trcstat = .FALSE. ! The default settings for the proc integers should ensure + sn_cfctl%l_oceout = .FALSE. ! that all areas report. +! sn_cfctl%l_layout = .FALSE. ! +! sn_cfctl%l_prtctl = .FALSE. ! +! sn_cfctl%l_prttrc = .FALSE. ! +! sn_cfctl%l_oasout = .FALSE. ! +! sn_cfctl%procmin = 0 ! Minimum area number for reporting [default:0] +! sn_cfctl%procmax = 1000000 ! Maximum area number for reporting [default:1000000] +! sn_cfctl%procincr = 1 ! Increment for optional subsetting of areas [default:1] +! sn_cfctl%ptimincr = 1 ! Timestep increment for writing time step progress info +! nn_ictls = 0 ! start i indice of control sum (use to compare mono versus +! nn_ictle = 0 ! end i indice of control sum multi processor runs +! nn_jctls = 0 ! start j indice of control over a subdomain) +! nn_jctle = 0 ! end j indice of control +! nn_isplt = 1 ! number of processors in i-direction +! nn_jsplt = 1 ! number of processors in j-direction + ln_timing = .true. ! timing by routine write out in timing.output file +! ln_diacfl = .false. ! CFL diagnostics write out in cfl_diagnostics.ascii +/ diff --git a/SEAMOUNT/EXPREF/nam_cfg/moderate/namelist_cfg.sco_sig b/SEAMOUNT/EXPREF/nam_cfg/moderate/namelist_cfg.sco_sig new file mode 100644 index 0000000..dc2860b --- /dev/null +++ b/SEAMOUNT/EXPREF/nam_cfg/moderate/namelist_cfg.sco_sig @@ -0,0 +1,447 @@ +!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +!! NEMO/OCE : Reference namelist_ref !! +!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +!! NEMO/OCE : 1 - Domain & run manager (namrun, namcfg, namdom, namtsd, namcrs, namc1d, namc1d_uvd) +!! namelists 2 - Surface boundary (namsbc, namsbc_flx, namsbc_blk, namsbc_cpl, +!! namsbc_sas, namtra_qsr, namsbc_rnf, +!! namisf, namsbc_apr, +!! namsbc_ssr, namsbc_wave, namberg) +!! 3 - lateral boundary (namlbc, namagrif, nambdy, nambdy_tide) +!! 4 - top/bot boundary (namdrg, namdrg_top, namdrg_bot, nambbc, nambbl) +!! 5 - Tracer (nameos, namtra_adv, namtra_ldf, namtra_eiv, namtra_dmp) +!! 6 - dynamics (namdyn_adv, namdyn_vor, namdyn_hpg, namdyn_spg, namdyn_ldf) +!! 7 - Vertical physics (namzdf, namzdf_ric, namzdf_tke, namzdf_gls, namzdf_iwm) +!! 8 - diagnostics (namnc4, namtrd, namspr, namflo, namhsb) +!! 9 - Obs & Assim (namobs, nam_asminc) +!! 10 - miscellaneous (nammpp, namctl, namsto) +!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + +!!====================================================================== +!! *** Domain & Run management namelists *** !! +!! !! +!! namrun parameters of the run +!! namdom space and time domain +!! namcfg parameters of the configuration (default: user defined GYRE) +!! namwad Wetting and drying (default: OFF) +!! namtsd data: temperature & salinity (default: OFF) +!! namcrs coarsened grid (for outputs and/or TOP) (ln_crs =T) +!! namc1d 1D configuration options ("key_c1d") +!! namc1d_dyndmp 1D newtonian damping applied on currents ("key_c1d") +!! namc1d_uvd 1D data (currents) ("key_c1d") +!!====================================================================== +! +!----------------------------------------------------------------------- +&namusr_def ! SEAMOUNT TEST CASE +!----------------------------------------------------------------------- +!! PHYSICAL DOMAIN + rn_xdim = 504. ! x-dimension of the domain [km] + rn_ydim = 504. ! y-dimension of the domain [km] + rn_bot_max = 4500. ! max ocean depth (>0) [m] + rn_smnt_H = 2700. ! seamount height (>0) [m] + rn_smnt_L = 50. ! seamount width [km] + rn_fplane = 0.0001 ! Coriolis parameter for f-plane approximation +!! NUMERICAL DISCRETIZATION + rn_dx = 8000. ! horizontal resolution [m] + rn_dz = 236.8 ! vertical resolution far from the seamount + ! and assuming no stretching [m] +!! VERTICAL COORDINATE + ln_zco = .false. ! z-coordinate + ln_zps = .false. ! z-partial-step coordinate + ln_sco = .true. ! s-coordinate + ! Stretched s-levels (ln_sco = .true.) + ln_s_sh94 = .false. ! TRUE: s-levels using Song & Haidvogel 1994 (SH94) + ! stretching function + ! FALSE: uniform sigma-levels + rn_theta = 3.0 ! SH94 surface control parameter (0<=theta<=20) + rn_bb = 0.0 ! SH94 bottom control parameter (0<=bb<=1) + rn_hc = 500 ! SH94 critical depth for transition to stretched coordinates [m] + ! Paramaters for vqs-coordinate (ln_sco = .true.) + ln_vqs = .false. ! activating vanishing quasi-sigma levels (TRUE) + rn_rmax = 0.3 ! maximum cut-off slope parameter value allowed + ! if using vqs-levels (0> model level are fixed in time + ! + rn_Dt = 360. ! time step for the dynamics and tracer + ln_meshmask = .true. ! =T create a mesh file +/ +!----------------------------------------------------------------------- +&namcfg ! parameters of the configuration (default: use namusr_def in namelist_cfg) +!----------------------------------------------------------------------- + ln_read_cfg = .false. ! (=T) read the domain configuration file + ln_write_cfg = .true. ! (=T) create the domain configuration file + cn_domcfg_out = "domain_cfg_out" ! newly created domain configuration filename +/ +!----------------------------------------------------------------------- +&namtile ! parameters of the tiling +!----------------------------------------------------------------------- + ln_tile = .false. ! Use tiling (T) or not (F) + nn_ltile_i = 10 ! Length of tiles in i + nn_ltile_j = 10 ! Length of tiles in j +/ +!!====================================================================== +!! *** Surface Boundary Condition namelists *** !! +!! !! +!! namsbc surface boundary condition manager (default: NO selection) +!! namsbc_flx flux formulation (ln_flx =T) +!! namsbc_blk Bulk formulae formulation (ln_blk =T) +!! namsbc_cpl CouPLed formulation ("key_oasis3" ) +!! namsbc_sas Stand-Alone Surface module (SAS_SRC only) +!! namsbc_iif Ice-IF: use observed ice cover (nn_ice = 1 ) +!! namtra_qsr penetrative solar radiation (ln_traqsr =T) +!! namsbc_ssr sea surface restoring term (for T and/or S) (ln_ssr =T) +!! namsbc_rnf river runoffs (ln_rnf =T) +!! namsbc_apr Atmospheric Pressure (ln_apr_dyn =T) +!! namsbc_wave external fields from wave model (ln_wave =T) +!! namberg iceberg floats (ln_icebergs=T) +!! namsbc_fwb freshwater-budget adjustment (nn_fwb > 0) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namsbc ! Surface Boundary Condition manager (default: NO selection) +!----------------------------------------------------------------------- + nn_fsbc = 1 ! frequency of SBC module call + ! ! (control sea-ice & iceberg model call) + ! Type of air-sea fluxes + ln_usr = .true. ! user defined formulation (T => check usrdef_sbc) +/ +!!====================================================================== +!! *** Lateral boundary condition *** !! +!! !! +!! namlbc lateral momentum boundary condition (default: NO selection) +!! namagrif agrif nested grid (read by child model only) ("key_agrif") +!! nam_tide Tidal forcing (default: OFF) +!! nambdy Unstructured open boundaries (default: OFF) +!! nambdy_dta Unstructured open boundaries - external data (see nambdy) +!! nambdy_tide tidal forcing at open boundaries (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namlbc ! lateral momentum boundary condition (default: NO selection) +!----------------------------------------------------------------------- + ! ! free slip ! partial slip ! no slip ! strong slip + rn_shlat = 0.0 ! shlat = 0 ! 0 < shlat < 2 ! shlat = 2 ! 2 < shlat +/ +!!====================================================================== +!! *** Top/Bottom boundary condition *** !! +!! !! +!! namdrg top/bottom drag coefficient (default: NO selection) +!! namdrg_top top friction (ln_drg_OFF=F & ln_isfcav=T) +!! namdrg_bot bottom friction (ln_drg_OFF=F) +!! nambbc bottom temperature boundary condition (default: OFF) +!! nambbl bottom boundary layer scheme (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namdrg ! top/bottom drag coefficient (default: NO selection) +!----------------------------------------------------------------------- + ln_drg_OFF = .true. ! free-slip : Cd = 0 (F => fill namdrg_bot + ln_lin = .false. ! linear drag: Cd = Cd0 Uc0 & namdrg_top) + ln_non_lin = .false. ! non-linear drag: Cd = Cd0 |U| + ln_loglayer = .false. ! logarithmic drag: Cd = vkarmn/log(z/z0) |U| + ! + ln_drgimp = .false. ! implicit top/bottom friction flag + ln_drgice_imp = .true.! implicit ice-ocean drag +/ +!----------------------------------------------------------------------- +&namdrg_top ! TOP friction (ln_drg_OFF =F & ln_isfcav=T) +!----------------------------------------------------------------------- +/ +!----------------------------------------------------------------------- +&namdrg_bot ! BOTTOM friction (ln_drg_OFF =F) +!----------------------------------------------------------------------- + rn_Cd0 = 0.0 ! drag coefficient [-] + rn_Uc0 = 0.0 ! ref. velocity [m/s] (linear drag=Cd0*Uc0) + rn_Cdmax = 1.e-4 ! drag value maximum [-] (logarithmic drag) + rn_ke0 = 2.5e-3 ! background kinetic energy [m2/s2] (non-linear cases) + rn_z0 = 3.e-3 ! roughness [m] (ln_loglayer=T) + ln_boost = .false. ! =T regional boost of Cd0 ; =F constant + rn_boost = 50. ! local boost factor [-] +/ +!!====================================================================== +!! Tracer (T-S) namelists !! +!! !! +!! nameos equation of state (default: NO selection) +!! namtra_adv advection scheme (default: NO selection) +!! namtra_ldf lateral diffusion scheme (default: NO selection) +!! namtra_mle mixed layer eddy param. (Fox-Kemper param.) (default: OFF) +!! namtra_eiv eddy induced velocity param. (default: OFF) +!! namtra_dmp T & S newtonian damping (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&nameos ! ocean Equation Of Seawater (default: NO selection) +!----------------------------------------------------------------------- + ln_teos10 = .false. ! = Use TEOS-10 + ln_eos80 = .true. ! = Use EOS80 + ln_seos = .false. ! = Use S-EOS (simplified Eq.) + ! + ! ! S-EOS coefficients (ln_seos=T): + ! ! rd(T,S,Z)*rho0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS + rn_a0 = 1.6550e-1 ! thermal expension coefficient + rn_b0 = 0.0 ! saline expension coefficient + rn_lambda1 = 0.0 ! cabbeling coeff in T^2 (=0 for linear eos) + rn_lambda2 = 0.0 ! cabbeling coeff in S^2 (=0 for linear eos) + rn_mu1 = 0.0 ! thermobaric coeff. in T (=0 for linear eos) + rn_mu2 = 0.0 ! thermobaric coeff. in S (=0 for linear eos) + rn_nu = 0.0 ! cabbeling coeff in T*S (=0 for linear eos) +/ +!----------------------------------------------------------------------- +&namtra_adv ! advection scheme for tracer (default: NO selection) +!----------------------------------------------------------------------- + ln_traadv_OFF = .false. ! No tracer advection + ln_traadv_cen = .true. ! 2nd order centered scheme + nn_cen_h = 2 ! =2/4, horizontal 2nd order CEN / 4th order CEN + nn_cen_v = 2 ! =2/4, vertical 2nd order CEN / 4th order COMPACT + ln_traadv_fct = .false. ! FCT scheme + nn_fct_h = 2 ! =2/4, horizontal 2nd / 4th order + nn_fct_v = 2 ! =2/4, vertical 2nd / COMPACT 4th order + ln_traadv_mus = .false. ! MUSCL scheme + ln_mus_ups = .false. ! use upstream scheme near river mouths + ln_traadv_ubs = .false. ! UBS scheme + nn_ubs_v = 2 ! =2 , vertical 2nd order FCT / COMPACT 4th order + ln_traadv_qck = .false. ! QUICKEST scheme +/ +!----------------------------------------------------------------------- +&namtra_ldf ! lateral diffusion scheme for tracers (default: NO selection) +!----------------------------------------------------------------------- + ! ! Operator type: + ln_traldf_OFF = .true. ! No explicit diffusion +/ +!!====================================================================== +!! *** Dynamics namelists *** !! +!! !! +!! nam_vvl vertical coordinate options (default: z-star) +!! namdyn_adv formulation of the momentum advection (default: NO selection) +!! namdyn_vor advection scheme (default: NO selection) +!! namdyn_hpg hydrostatic pressure gradient (default: NO selection) +!! namdyn_spg surface pressure gradient (default: NO selection) +!! namdyn_ldf lateral diffusion scheme (default: NO selection) +!! namdta_dyn offline TOP: dynamics read in files (OFF_SRC only) +!!====================================================================== +! +!----------------------------------------------------------------------- +&nam_vvl ! vertical coordinate options (default: z-star) +!----------------------------------------------------------------------- + ln_vvl_zstar = .true. ! z-star vertical coordinate + ln_vvl_ztilde = .false. ! z-tilde vertical coordinate: only high frequency variations + ln_vvl_layer = .false. ! full layer vertical coordinate + ln_vvl_ztilde_as_zstar = .false. ! ztilde vertical coordinate emulating zstar + ln_vvl_zstar_at_eqtor = .false. ! ztilde near the equator + rn_ahe3 = 0.0 ! thickness diffusion coefficient + rn_rst_e3t = 30.0 ! ztilde to zstar restoration timescale [days] + rn_lf_cutoff = 5.0 ! cutoff frequency for low-pass filter [days] + rn_zdef_max = 0.9 ! maximum fractional e3t deformation + ln_vvl_dbg = .false. ! debug prints (T/F) +/ +!----------------------------------------------------------------------- +&namdyn_adv ! formulation of the momentum advection (default: NO selection) +!----------------------------------------------------------------------- + ln_dynadv_OFF = .false. ! linear dynamics (no momentum advection) + ln_dynadv_vec = .true. ! vector form - 2nd centered scheme + nn_dynkeg = 0 ! grad(KE) scheme: =0 C2 ; =1 Hollingsworth correction + ln_dynadv_cen2 = .false. ! flux form - 2nd order centered scheme + ln_dynadv_ubs = .false. ! flux form - 3rd order UBS scheme +/ +!----------------------------------------------------------------------- +&namdyn_vor ! Vorticity / Coriolis scheme (default: NO selection) +!----------------------------------------------------------------------- + ln_dynvor_ene = .false. ! energy conserving scheme + ln_dynvor_ens = .false. ! enstrophy conserving scheme + ln_dynvor_mix = .false. ! mixed scheme + ln_dynvor_enT = .false. ! energy conserving scheme (T-point) + ln_dynvor_eeT = .false. ! energy conserving scheme (een using e3t) + ln_dynvor_een = .true. ! energy & enstrophy scheme + ! + ln_dynvor_msk = .false. ! vorticity multiplied by fmask (=T) ==>>> PLEASE DO NOT ACTIVATE + ! ! (f-point vorticity schemes only) + ! + nn_e3f_typ = 0 ! type of e3f (EEN, ENE, ENS, MIX only) =0 e3f = mi(mj(e3t))/4 + ! ! =1 e3f = mi(mj(e3t))/mi(mj( tmask)) +/ +!----------------------------------------------------------------------- +&namdyn_hpg ! Hydrostatic pressure gradient option (default: NO selection) +!----------------------------------------------------------------------- + ln_hpg_zco = .false. ! z-coordinate - full steps + ln_hpg_zps = .false. ! z-coordinate - partial steps (interpolation) + ln_hpg_sco = .true. ! s-coordinate (standard jacobian formulation) + ln_hpg_isf = .false. ! s-coordinate (sco ) adapted to isf + ln_hpg_djc = .false. ! s-coordinate (Density Jacobian with Cubic polynomial) + ln_hpg_djc_vnh = .true. ! hor. bc type for djc scheme (T=von Neumann, F=linear extrapolation) + ln_hpg_djc_vnv = .true. ! vert. bc type for djc scheme (T=von Neumann, F=linear extrapolation) + ln_hpg_prj = .false. ! s-coordinate (Pressure Jacobian scheme) +/ +!----------------------------------------------------------------------- +&namdyn_spg ! surface pressure gradient (default: NO selection) +!----------------------------------------------------------------------- + ln_dynspg_exp = .false. ! explicit free surface + ln_dynspg_ts = .true. ! split-explicit free surface + nn_e = 30 ! =F : the number of sub-step in rn_Dt seconds +/ +!----------------------------------------------------------------------- +&namdyn_ldf ! lateral diffusion on momentum (default: NO selection) +!----------------------------------------------------------------------- + ! ! Type of the operator : + ln_dynldf_OFF = .false. ! No operator (i.e. no explicit diffusion) + nn_dynldf_typ = 0 ! =0 div-rot (default) ; =1 symmetric + ln_dynldf_lap = .true. ! laplacian operator + ln_dynldf_blp = .false. ! bilaplacian operator + ! ! Direction of action : + ln_dynldf_lev = .true. ! iso-level + ln_dynldf_hor = .false. ! horizontal (geopotential) + ln_dynldf_iso = .false. ! iso-neutral (lap only) + ! ! Coefficient + nn_ahm_ijk_t = 0 ! space/time variation of eddy coefficient : + ! ! =-30 read in eddy_viscosity_3D.nc file + ! ! =-20 read in eddy_viscosity_2D.nc file + ! ! = 0 constant + ! ! = 10 F(k)=c1d + ! ! = 20 F(i,j)=F(grid spacing)=c2d + ! ! = 30 F(i,j,k)=c2d*c1d + ! ! = 31 F(i,j,k)=F(grid spacing and local velocity) + ! ! = 32 F(i,j,k)=F(local gridscale and deformation rate) + ! ! time invariant coefficients : ahm = 1/2 Uv*Lv (lap case) + ! ! or = 1/12 Uv*Lv^3 (blp case) + rn_Uv = 1.0 ! lateral viscous velocity [m/s] (nn_ahm_ijk_t= 0, 10, 20, 30) + rn_Lv = 1.e+3 ! lateral viscous length [m] (nn_ahm_ijk_t= 0, 10) +/ +!!====================================================================== +!! vertical physics namelists !! +!! !! +!! namzdf vertical physics manager (default: NO selection) +!! namzdf_ric richardson number vertical mixing (ln_zdfric=T) +!! namzdf_tke TKE vertical mixing (ln_zdftke=T) +!! namzdf_gls GLS vertical mixing (ln_zdfgls=T) +!! namzdf_osm OSM vertical diffusion (ln_zdfosm=T) +!! namzdf_iwm tidal mixing parameterization (ln_zdfiwm=T) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namzdf ! vertical physics manager (default: NO selection) +!----------------------------------------------------------------------- + ! ! adaptive-implicit vertical advection + ln_zad_Aimp = .false. ! Courant number dependent scheme (Shchepetkin 2015) + ! + ! ! type of vertical closure (required) + ln_zdfcst = .true. ! constant mixing + ln_zdfric = .false. ! local Richardson dependent formulation (T => fill namzdf_ric) + ln_zdftke = .false. ! Turbulent Kinetic Energy closure (T => fill namzdf_tke) + ln_zdfgls = .false. ! Generic Length Scale closure (T => fill namzdf_gls) + ln_zdfosm = .false. ! OSMOSIS BL closure (T => fill namzdf_osm) + ! + ! ! convection + ln_zdfevd = .false. ! enhanced vertical diffusion + nn_evdm = 0 ! apply on tracer (=0) or on tracer and momentum (=1) + rn_evd = 100. ! mixing coefficient [m2/s] + ln_zdfnpc = .false. ! Non-Penetrative Convective algorithm + nn_npc = 1 ! frequency of application of npc + nn_npcp = 365 ! npc control print frequency + ln_zdfmfc = .false. ! Mass Flux Convection + ! + ln_zdfddm = .false. ! double diffusive mixing + rn_avts = 1.e-4 ! maximum avs (vertical mixing on salinity) + rn_hsbfr = 1.6 ! heat/salt buoyancy flux ratio + ! + ! ! gravity wave-driven vertical mixing + ln_zdfiwm = .false. ! internal wave-induced mixing (T => fill namzdf_iwm) + ln_zdfswm = .false. ! surface wave-induced mixing (T => ln_wave=ln_sdw=T ) + ! + ! ! coefficients + rn_avm0 = 2.e-5 ! vertical eddy viscosity [m2/s] (background Kz if ln_zdfcst=F) + rn_avt0 = 2.e-5 ! vertical eddy diffusivity [m2/s] (background Kz if ln_zdfcst=F) + nn_avb = 0 ! profile for background avt & avm (=1) or not (=0) + nn_havtb = 0 ! horizontal shape for avtb (=1) or not (=0) +/ +!!====================================================================== +!! *** Diagnostics namelists *** !! +!! !! +!! namtrd dynamics and/or tracer trends (default: OFF) +!! namhsb Heat and salt budgets (default: OFF) +!! namdiu Cool skin and warm layer models (default: OFF) +!! namdiu Cool skin and warm layer models (default: OFF) +!! namflo float parameters (default: OFF) +!! nam_diadct transports through some sections (default: OFF) +!! nam_dia25h 25h Mean Output (default: OFF) +!! namnc4 netcdf4 chunking and compression settings ("key_netcdf4") +!!====================================================================== +! +!----------------------------------------------------------------------- +&namtrd ! trend diagnostics (default: OFF) +!----------------------------------------------------------------------- + ln_glo_trd = .false. ! (T) global domain averaged diag for T, T^2, KE, and PE + ln_dyn_trd = .true. ! (T) 3D momentum trend output + ln_dyn_mxl = .false. ! (T) 2D momentum trends averaged over the mixed layer (not coded yet) + ln_vor_trd = .false. ! (T) 2D barotropic vorticity trends (not coded yet) + ln_KE_trd = .false. ! (T) 3D Kinetic Energy trends + ln_PE_trd = .false. ! (T) 3D Potential Energy trends + ln_tra_trd = .false. ! (T) 3D tracer trend output + ln_tra_mxl = .false. ! (T) 2D tracer trends averaged over the mixed layer (not coded yet) + nn_trd = 1 ! print frequency (ln_glo_trd=T) (unit=time step) +/ +!!====================================================================== +!! *** Observation & Assimilation *** !! +!! !! +!! namobs observation and model comparison (default: OFF) +!! nam_asminc assimilation increments ('key_asminc') +!!====================================================================== +! +!!====================================================================== +!! *** Miscellaneous namelists *** !! +!! !! +!! nammpp Massively Parallel Processing ("key_mpp_mpi") +!! namctl Control prints (default: OFF) +!! namsto Stochastic parametrization of EOS (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&nammpp ! Massively Parallel Processing ("key_mpp_mpi") +!----------------------------------------------------------------------- +! ln_listonly = .false. ! do nothing else than listing the best domain decompositions (with land domains suppression) + ! ! if T: the largest number of cores tested is defined by max(mppsize, jpni*jpnj) +! ln_nnogather = .true. ! activate code to avoid mpi_allgather use at the northfold + jpni = 0 ! number of processors following i (set automatically if < 1), see also ln_listonly = T + jpnj = 0 ! number of processors following j (set automatically if < 1), see also ln_listonly = T +! nn_hls = 1 ! halo width (applies to both rows and columns) +/ +!----------------------------------------------------------------------- +&namctl ! Control prints (default: OFF) +!----------------------------------------------------------------------- + sn_cfctl%l_runstat = .TRUE. ! switches and which areas produce reports with the proc integer settings. +! sn_cfctl%l_trcstat = .FALSE. ! The default settings for the proc integers should ensure + sn_cfctl%l_oceout = .FALSE. ! that all areas report. +! sn_cfctl%l_layout = .FALSE. ! +! sn_cfctl%l_prtctl = .FALSE. ! +! sn_cfctl%l_prttrc = .FALSE. ! +! sn_cfctl%l_oasout = .FALSE. ! +! sn_cfctl%procmin = 0 ! Minimum area number for reporting [default:0] +! sn_cfctl%procmax = 1000000 ! Maximum area number for reporting [default:1000000] +! sn_cfctl%procincr = 1 ! Increment for optional subsetting of areas [default:1] +! sn_cfctl%ptimincr = 1 ! Timestep increment for writing time step progress info +! nn_ictls = 0 ! start i indice of control sum (use to compare mono versus +! nn_ictle = 0 ! end i indice of control sum multi processor runs +! nn_jctls = 0 ! start j indice of control over a subdomain) +! nn_jctle = 0 ! end j indice of control +! nn_isplt = 1 ! number of processors in i-direction +! nn_jsplt = 1 ! number of processors in j-direction + ln_timing = .true. ! timing by routine write out in timing.output file +! ln_diacfl = .false. ! CFL diagnostics write out in cfl_diagnostics.ascii +/ diff --git a/SEAMOUNT/EXPREF/nam_cfg/moderate/namelist_cfg.sco_vqs b/SEAMOUNT/EXPREF/nam_cfg/moderate/namelist_cfg.sco_vqs new file mode 100644 index 0000000..1a2d298 --- /dev/null +++ b/SEAMOUNT/EXPREF/nam_cfg/moderate/namelist_cfg.sco_vqs @@ -0,0 +1,447 @@ +!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +!! NEMO/OCE : Reference namelist_ref !! +!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +!! NEMO/OCE : 1 - Domain & run manager (namrun, namcfg, namdom, namtsd, namcrs, namc1d, namc1d_uvd) +!! namelists 2 - Surface boundary (namsbc, namsbc_flx, namsbc_blk, namsbc_cpl, +!! namsbc_sas, namtra_qsr, namsbc_rnf, +!! namisf, namsbc_apr, +!! namsbc_ssr, namsbc_wave, namberg) +!! 3 - lateral boundary (namlbc, namagrif, nambdy, nambdy_tide) +!! 4 - top/bot boundary (namdrg, namdrg_top, namdrg_bot, nambbc, nambbl) +!! 5 - Tracer (nameos, namtra_adv, namtra_ldf, namtra_eiv, namtra_dmp) +!! 6 - dynamics (namdyn_adv, namdyn_vor, namdyn_hpg, namdyn_spg, namdyn_ldf) +!! 7 - Vertical physics (namzdf, namzdf_ric, namzdf_tke, namzdf_gls, namzdf_iwm) +!! 8 - diagnostics (namnc4, namtrd, namspr, namflo, namhsb) +!! 9 - Obs & Assim (namobs, nam_asminc) +!! 10 - miscellaneous (nammpp, namctl, namsto) +!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + +!!====================================================================== +!! *** Domain & Run management namelists *** !! +!! !! +!! namrun parameters of the run +!! namdom space and time domain +!! namcfg parameters of the configuration (default: user defined GYRE) +!! namwad Wetting and drying (default: OFF) +!! namtsd data: temperature & salinity (default: OFF) +!! namcrs coarsened grid (for outputs and/or TOP) (ln_crs =T) +!! namc1d 1D configuration options ("key_c1d") +!! namc1d_dyndmp 1D newtonian damping applied on currents ("key_c1d") +!! namc1d_uvd 1D data (currents) ("key_c1d") +!!====================================================================== +! +!----------------------------------------------------------------------- +&namusr_def ! SEAMOUNT TEST CASE +!----------------------------------------------------------------------- +!! PHYSICAL DOMAIN + rn_xdim = 504. ! x-dimension of the domain [km] + rn_ydim = 504. ! y-dimension of the domain [km] + rn_bot_max = 4500. ! max ocean depth (>0) [m] + rn_smnt_H = 2700. ! seamount height (>0) [m] + rn_smnt_L = 50. ! seamount width [km] + rn_fplane = 0.0001 ! Coriolis parameter for f-plane approximation +!! NUMERICAL DISCRETIZATION + rn_dx = 8000. ! horizontal resolution [m] + rn_dz = 236.8 ! vertical resolution far from the seamount + ! and assuming no stretching [m] +!! VERTICAL COORDINATE + ln_zco = .false. ! z-coordinate + ln_zps = .false. ! z-partial-step coordinate + ln_sco = .true. ! s-coordinate + ! Stretched s-levels (ln_sco = .true.) + ln_s_sh94 = .false. ! TRUE: s-levels using Song & Haidvogel 1994 (SH94) + ! stretching function + ! FALSE: uniform sigma-levels + rn_theta = 3.0 ! SH94 surface control parameter (0<=theta<=20) + rn_bb = 0.0 ! SH94 bottom control parameter (0<=bb<=1) + rn_hc = 500 ! SH94 critical depth for transition to stretched coordinates [m] + ! Paramaters for vqs-coordinate (ln_sco = .true.) + ln_vqs = .true. ! activating vanishing quasi-sigma levels (TRUE) + rn_rmax = 0.05 ! maximum cut-off slope parameter value allowed + ! if using vqs-levels (0> model level are fixed in time + ! + rn_Dt = 360. ! time step for the dynamics and tracer + ln_meshmask = .true. ! =T create a mesh file +/ +!----------------------------------------------------------------------- +&namcfg ! parameters of the configuration (default: use namusr_def in namelist_cfg) +!----------------------------------------------------------------------- + ln_read_cfg = .false. ! (=T) read the domain configuration file + ln_write_cfg = .true. ! (=T) create the domain configuration file + cn_domcfg_out = "domain_cfg_out" ! newly created domain configuration filename +/ +!----------------------------------------------------------------------- +&namtile ! parameters of the tiling +!----------------------------------------------------------------------- + ln_tile = .false. ! Use tiling (T) or not (F) + nn_ltile_i = 10 ! Length of tiles in i + nn_ltile_j = 10 ! Length of tiles in j +/ +!!====================================================================== +!! *** Surface Boundary Condition namelists *** !! +!! !! +!! namsbc surface boundary condition manager (default: NO selection) +!! namsbc_flx flux formulation (ln_flx =T) +!! namsbc_blk Bulk formulae formulation (ln_blk =T) +!! namsbc_cpl CouPLed formulation ("key_oasis3" ) +!! namsbc_sas Stand-Alone Surface module (SAS_SRC only) +!! namsbc_iif Ice-IF: use observed ice cover (nn_ice = 1 ) +!! namtra_qsr penetrative solar radiation (ln_traqsr =T) +!! namsbc_ssr sea surface restoring term (for T and/or S) (ln_ssr =T) +!! namsbc_rnf river runoffs (ln_rnf =T) +!! namsbc_apr Atmospheric Pressure (ln_apr_dyn =T) +!! namsbc_wave external fields from wave model (ln_wave =T) +!! namberg iceberg floats (ln_icebergs=T) +!! namsbc_fwb freshwater-budget adjustment (nn_fwb > 0) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namsbc ! Surface Boundary Condition manager (default: NO selection) +!----------------------------------------------------------------------- + nn_fsbc = 1 ! frequency of SBC module call + ! ! (control sea-ice & iceberg model call) + ! Type of air-sea fluxes + ln_usr = .true. ! user defined formulation (T => check usrdef_sbc) +/ +!!====================================================================== +!! *** Lateral boundary condition *** !! +!! !! +!! namlbc lateral momentum boundary condition (default: NO selection) +!! namagrif agrif nested grid (read by child model only) ("key_agrif") +!! nam_tide Tidal forcing (default: OFF) +!! nambdy Unstructured open boundaries (default: OFF) +!! nambdy_dta Unstructured open boundaries - external data (see nambdy) +!! nambdy_tide tidal forcing at open boundaries (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namlbc ! lateral momentum boundary condition (default: NO selection) +!----------------------------------------------------------------------- + ! ! free slip ! partial slip ! no slip ! strong slip + rn_shlat = 0.0 ! shlat = 0 ! 0 < shlat < 2 ! shlat = 2 ! 2 < shlat +/ +!!====================================================================== +!! *** Top/Bottom boundary condition *** !! +!! !! +!! namdrg top/bottom drag coefficient (default: NO selection) +!! namdrg_top top friction (ln_drg_OFF=F & ln_isfcav=T) +!! namdrg_bot bottom friction (ln_drg_OFF=F) +!! nambbc bottom temperature boundary condition (default: OFF) +!! nambbl bottom boundary layer scheme (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namdrg ! top/bottom drag coefficient (default: NO selection) +!----------------------------------------------------------------------- + ln_drg_OFF = .true. ! free-slip : Cd = 0 (F => fill namdrg_bot + ln_lin = .false. ! linear drag: Cd = Cd0 Uc0 & namdrg_top) + ln_non_lin = .false. ! non-linear drag: Cd = Cd0 |U| + ln_loglayer = .false. ! logarithmic drag: Cd = vkarmn/log(z/z0) |U| + ! + ln_drgimp = .false. ! implicit top/bottom friction flag + ln_drgice_imp = .true.! implicit ice-ocean drag +/ +!----------------------------------------------------------------------- +&namdrg_top ! TOP friction (ln_drg_OFF =F & ln_isfcav=T) +!----------------------------------------------------------------------- +/ +!----------------------------------------------------------------------- +&namdrg_bot ! BOTTOM friction (ln_drg_OFF =F) +!----------------------------------------------------------------------- + rn_Cd0 = 0.0 ! drag coefficient [-] + rn_Uc0 = 0.0 ! ref. velocity [m/s] (linear drag=Cd0*Uc0) + rn_Cdmax = 1.e-4 ! drag value maximum [-] (logarithmic drag) + rn_ke0 = 2.5e-3 ! background kinetic energy [m2/s2] (non-linear cases) + rn_z0 = 3.e-3 ! roughness [m] (ln_loglayer=T) + ln_boost = .false. ! =T regional boost of Cd0 ; =F constant + rn_boost = 50. ! local boost factor [-] +/ +!!====================================================================== +!! Tracer (T-S) namelists !! +!! !! +!! nameos equation of state (default: NO selection) +!! namtra_adv advection scheme (default: NO selection) +!! namtra_ldf lateral diffusion scheme (default: NO selection) +!! namtra_mle mixed layer eddy param. (Fox-Kemper param.) (default: OFF) +!! namtra_eiv eddy induced velocity param. (default: OFF) +!! namtra_dmp T & S newtonian damping (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&nameos ! ocean Equation Of Seawater (default: NO selection) +!----------------------------------------------------------------------- + ln_teos10 = .false. ! = Use TEOS-10 + ln_eos80 = .true. ! = Use EOS80 + ln_seos = .false. ! = Use S-EOS (simplified Eq.) + ! + ! ! S-EOS coefficients (ln_seos=T): + ! ! rd(T,S,Z)*rho0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS + rn_a0 = 1.6550e-1 ! thermal expension coefficient + rn_b0 = 0.0 ! saline expension coefficient + rn_lambda1 = 0.0 ! cabbeling coeff in T^2 (=0 for linear eos) + rn_lambda2 = 0.0 ! cabbeling coeff in S^2 (=0 for linear eos) + rn_mu1 = 0.0 ! thermobaric coeff. in T (=0 for linear eos) + rn_mu2 = 0.0 ! thermobaric coeff. in S (=0 for linear eos) + rn_nu = 0.0 ! cabbeling coeff in T*S (=0 for linear eos) +/ +!----------------------------------------------------------------------- +&namtra_adv ! advection scheme for tracer (default: NO selection) +!----------------------------------------------------------------------- + ln_traadv_OFF = .false. ! No tracer advection + ln_traadv_cen = .true. ! 2nd order centered scheme + nn_cen_h = 2 ! =2/4, horizontal 2nd order CEN / 4th order CEN + nn_cen_v = 2 ! =2/4, vertical 2nd order CEN / 4th order COMPACT + ln_traadv_fct = .false. ! FCT scheme + nn_fct_h = 2 ! =2/4, horizontal 2nd / 4th order + nn_fct_v = 2 ! =2/4, vertical 2nd / COMPACT 4th order + ln_traadv_mus = .false. ! MUSCL scheme + ln_mus_ups = .false. ! use upstream scheme near river mouths + ln_traadv_ubs = .false. ! UBS scheme + nn_ubs_v = 2 ! =2 , vertical 2nd order FCT / COMPACT 4th order + ln_traadv_qck = .false. ! QUICKEST scheme +/ +!----------------------------------------------------------------------- +&namtra_ldf ! lateral diffusion scheme for tracers (default: NO selection) +!----------------------------------------------------------------------- + ! ! Operator type: + ln_traldf_OFF = .true. ! No explicit diffusion +/ +!!====================================================================== +!! *** Dynamics namelists *** !! +!! !! +!! nam_vvl vertical coordinate options (default: z-star) +!! namdyn_adv formulation of the momentum advection (default: NO selection) +!! namdyn_vor advection scheme (default: NO selection) +!! namdyn_hpg hydrostatic pressure gradient (default: NO selection) +!! namdyn_spg surface pressure gradient (default: NO selection) +!! namdyn_ldf lateral diffusion scheme (default: NO selection) +!! namdta_dyn offline TOP: dynamics read in files (OFF_SRC only) +!!====================================================================== +! +!----------------------------------------------------------------------- +&nam_vvl ! vertical coordinate options (default: z-star) +!----------------------------------------------------------------------- + ln_vvl_zstar = .true. ! z-star vertical coordinate + ln_vvl_ztilde = .false. ! z-tilde vertical coordinate: only high frequency variations + ln_vvl_layer = .false. ! full layer vertical coordinate + ln_vvl_ztilde_as_zstar = .false. ! ztilde vertical coordinate emulating zstar + ln_vvl_zstar_at_eqtor = .false. ! ztilde near the equator + rn_ahe3 = 0.0 ! thickness diffusion coefficient + rn_rst_e3t = 30.0 ! ztilde to zstar restoration timescale [days] + rn_lf_cutoff = 5.0 ! cutoff frequency for low-pass filter [days] + rn_zdef_max = 0.9 ! maximum fractional e3t deformation + ln_vvl_dbg = .false. ! debug prints (T/F) +/ +!----------------------------------------------------------------------- +&namdyn_adv ! formulation of the momentum advection (default: NO selection) +!----------------------------------------------------------------------- + ln_dynadv_OFF = .false. ! linear dynamics (no momentum advection) + ln_dynadv_vec = .true. ! vector form - 2nd centered scheme + nn_dynkeg = 0 ! grad(KE) scheme: =0 C2 ; =1 Hollingsworth correction + ln_dynadv_cen2 = .false. ! flux form - 2nd order centered scheme + ln_dynadv_ubs = .false. ! flux form - 3rd order UBS scheme +/ +!----------------------------------------------------------------------- +&namdyn_vor ! Vorticity / Coriolis scheme (default: NO selection) +!----------------------------------------------------------------------- + ln_dynvor_ene = .false. ! energy conserving scheme + ln_dynvor_ens = .false. ! enstrophy conserving scheme + ln_dynvor_mix = .false. ! mixed scheme + ln_dynvor_enT = .false. ! energy conserving scheme (T-point) + ln_dynvor_eeT = .false. ! energy conserving scheme (een using e3t) + ln_dynvor_een = .true. ! energy & enstrophy scheme + ! + ln_dynvor_msk = .false. ! vorticity multiplied by fmask (=T) ==>>> PLEASE DO NOT ACTIVATE + ! ! (f-point vorticity schemes only) + ! + nn_e3f_typ = 0 ! type of e3f (EEN, ENE, ENS, MIX only) =0 e3f = mi(mj(e3t))/4 + ! ! =1 e3f = mi(mj(e3t))/mi(mj( tmask)) +/ +!----------------------------------------------------------------------- +&namdyn_hpg ! Hydrostatic pressure gradient option (default: NO selection) +!----------------------------------------------------------------------- + ln_hpg_zco = .false. ! z-coordinate - full steps + ln_hpg_zps = .false. ! z-coordinate - partial steps (interpolation) + ln_hpg_sco = .true. ! s-coordinate (standard jacobian formulation) + ln_hpg_isf = .false. ! s-coordinate (sco ) adapted to isf + ln_hpg_djc = .false. ! s-coordinate (Density Jacobian with Cubic polynomial) + ln_hpg_djc_vnh = .true. ! hor. bc type for djc scheme (T=von Neumann, F=linear extrapolation) + ln_hpg_djc_vnv = .true. ! vert. bc type for djc scheme (T=von Neumann, F=linear extrapolation) + ln_hpg_prj = .false. ! s-coordinate (Pressure Jacobian scheme) +/ +!----------------------------------------------------------------------- +&namdyn_spg ! surface pressure gradient (default: NO selection) +!----------------------------------------------------------------------- + ln_dynspg_exp = .false. ! explicit free surface + ln_dynspg_ts = .true. ! split-explicit free surface + nn_e = 30 ! =F : the number of sub-step in rn_Dt seconds +/ +!----------------------------------------------------------------------- +&namdyn_ldf ! lateral diffusion on momentum (default: NO selection) +!----------------------------------------------------------------------- + ! ! Type of the operator : + ln_dynldf_OFF = .false. ! No operator (i.e. no explicit diffusion) + nn_dynldf_typ = 0 ! =0 div-rot (default) ; =1 symmetric + ln_dynldf_lap = .true. ! laplacian operator + ln_dynldf_blp = .false. ! bilaplacian operator + ! ! Direction of action : + ln_dynldf_lev = .true. ! iso-level + ln_dynldf_hor = .false. ! horizontal (geopotential) + ln_dynldf_iso = .false. ! iso-neutral (lap only) + ! ! Coefficient + nn_ahm_ijk_t = 0 ! space/time variation of eddy coefficient : + ! ! =-30 read in eddy_viscosity_3D.nc file + ! ! =-20 read in eddy_viscosity_2D.nc file + ! ! = 0 constant + ! ! = 10 F(k)=c1d + ! ! = 20 F(i,j)=F(grid spacing)=c2d + ! ! = 30 F(i,j,k)=c2d*c1d + ! ! = 31 F(i,j,k)=F(grid spacing and local velocity) + ! ! = 32 F(i,j,k)=F(local gridscale and deformation rate) + ! ! time invariant coefficients : ahm = 1/2 Uv*Lv (lap case) + ! ! or = 1/12 Uv*Lv^3 (blp case) + rn_Uv = 1.0 ! lateral viscous velocity [m/s] (nn_ahm_ijk_t= 0, 10, 20, 30) + rn_Lv = 1.e+3 ! lateral viscous length [m] (nn_ahm_ijk_t= 0, 10) +/ +!!====================================================================== +!! vertical physics namelists !! +!! !! +!! namzdf vertical physics manager (default: NO selection) +!! namzdf_ric richardson number vertical mixing (ln_zdfric=T) +!! namzdf_tke TKE vertical mixing (ln_zdftke=T) +!! namzdf_gls GLS vertical mixing (ln_zdfgls=T) +!! namzdf_osm OSM vertical diffusion (ln_zdfosm=T) +!! namzdf_iwm tidal mixing parameterization (ln_zdfiwm=T) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namzdf ! vertical physics manager (default: NO selection) +!----------------------------------------------------------------------- + ! ! adaptive-implicit vertical advection + ln_zad_Aimp = .false. ! Courant number dependent scheme (Shchepetkin 2015) + ! + ! ! type of vertical closure (required) + ln_zdfcst = .true. ! constant mixing + ln_zdfric = .false. ! local Richardson dependent formulation (T => fill namzdf_ric) + ln_zdftke = .false. ! Turbulent Kinetic Energy closure (T => fill namzdf_tke) + ln_zdfgls = .false. ! Generic Length Scale closure (T => fill namzdf_gls) + ln_zdfosm = .false. ! OSMOSIS BL closure (T => fill namzdf_osm) + ! + ! ! convection + ln_zdfevd = .false. ! enhanced vertical diffusion + nn_evdm = 0 ! apply on tracer (=0) or on tracer and momentum (=1) + rn_evd = 100. ! mixing coefficient [m2/s] + ln_zdfnpc = .false. ! Non-Penetrative Convective algorithm + nn_npc = 1 ! frequency of application of npc + nn_npcp = 365 ! npc control print frequency + ln_zdfmfc = .false. ! Mass Flux Convection + ! + ln_zdfddm = .false. ! double diffusive mixing + rn_avts = 1.e-4 ! maximum avs (vertical mixing on salinity) + rn_hsbfr = 1.6 ! heat/salt buoyancy flux ratio + ! + ! ! gravity wave-driven vertical mixing + ln_zdfiwm = .false. ! internal wave-induced mixing (T => fill namzdf_iwm) + ln_zdfswm = .false. ! surface wave-induced mixing (T => ln_wave=ln_sdw=T ) + ! + ! ! coefficients + rn_avm0 = 2.e-5 ! vertical eddy viscosity [m2/s] (background Kz if ln_zdfcst=F) + rn_avt0 = 2.e-5 ! vertical eddy diffusivity [m2/s] (background Kz if ln_zdfcst=F) + nn_avb = 0 ! profile for background avt & avm (=1) or not (=0) + nn_havtb = 0 ! horizontal shape for avtb (=1) or not (=0) +/ +!!====================================================================== +!! *** Diagnostics namelists *** !! +!! !! +!! namtrd dynamics and/or tracer trends (default: OFF) +!! namhsb Heat and salt budgets (default: OFF) +!! namdiu Cool skin and warm layer models (default: OFF) +!! namdiu Cool skin and warm layer models (default: OFF) +!! namflo float parameters (default: OFF) +!! nam_diadct transports through some sections (default: OFF) +!! nam_dia25h 25h Mean Output (default: OFF) +!! namnc4 netcdf4 chunking and compression settings ("key_netcdf4") +!!====================================================================== +! +!----------------------------------------------------------------------- +&namtrd ! trend diagnostics (default: OFF) +!----------------------------------------------------------------------- + ln_glo_trd = .false. ! (T) global domain averaged diag for T, T^2, KE, and PE + ln_dyn_trd = .true. ! (T) 3D momentum trend output + ln_dyn_mxl = .false. ! (T) 2D momentum trends averaged over the mixed layer (not coded yet) + ln_vor_trd = .false. ! (T) 2D barotropic vorticity trends (not coded yet) + ln_KE_trd = .false. ! (T) 3D Kinetic Energy trends + ln_PE_trd = .false. ! (T) 3D Potential Energy trends + ln_tra_trd = .false. ! (T) 3D tracer trend output + ln_tra_mxl = .false. ! (T) 2D tracer trends averaged over the mixed layer (not coded yet) + nn_trd = 1 ! print frequency (ln_glo_trd=T) (unit=time step) +/ +!!====================================================================== +!! *** Observation & Assimilation *** !! +!! !! +!! namobs observation and model comparison (default: OFF) +!! nam_asminc assimilation increments ('key_asminc') +!!====================================================================== +! +!!====================================================================== +!! *** Miscellaneous namelists *** !! +!! !! +!! nammpp Massively Parallel Processing ("key_mpp_mpi") +!! namctl Control prints (default: OFF) +!! namsto Stochastic parametrization of EOS (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&nammpp ! Massively Parallel Processing ("key_mpp_mpi") +!----------------------------------------------------------------------- +! ln_listonly = .false. ! do nothing else than listing the best domain decompositions (with land domains suppression) + ! ! if T: the largest number of cores tested is defined by max(mppsize, jpni*jpnj) +! ln_nnogather = .true. ! activate code to avoid mpi_allgather use at the northfold + jpni = 0 ! number of processors following i (set automatically if < 1), see also ln_listonly = T + jpnj = 0 ! number of processors following j (set automatically if < 1), see also ln_listonly = T +! nn_hls = 1 ! halo width (applies to both rows and columns) +/ +!----------------------------------------------------------------------- +&namctl ! Control prints (default: OFF) +!----------------------------------------------------------------------- + sn_cfctl%l_runstat = .TRUE. ! switches and which areas produce reports with the proc integer settings. +! sn_cfctl%l_trcstat = .FALSE. ! The default settings for the proc integers should ensure + sn_cfctl%l_oceout = .FALSE. ! that all areas report. +! sn_cfctl%l_layout = .FALSE. ! +! sn_cfctl%l_prtctl = .FALSE. ! +! sn_cfctl%l_prttrc = .FALSE. ! +! sn_cfctl%l_oasout = .FALSE. ! +! sn_cfctl%procmin = 0 ! Minimum area number for reporting [default:0] +! sn_cfctl%procmax = 1000000 ! Maximum area number for reporting [default:1000000] +! sn_cfctl%procincr = 1 ! Increment for optional subsetting of areas [default:1] +! sn_cfctl%ptimincr = 1 ! Timestep increment for writing time step progress info +! nn_ictls = 0 ! start i indice of control sum (use to compare mono versus +! nn_ictle = 0 ! end i indice of control sum multi processor runs +! nn_jctls = 0 ! start j indice of control over a subdomain) +! nn_jctle = 0 ! end j indice of control +! nn_isplt = 1 ! number of processors in i-direction +! nn_jsplt = 1 ! number of processors in j-direction + ln_timing = .true. ! timing by routine write out in timing.output file +! ln_diacfl = .false. ! CFL diagnostics write out in cfl_diagnostics.ascii +/ diff --git a/SEAMOUNT/EXPREF/nam_cfg/steep/namelist_cfg.djc_sh94 b/SEAMOUNT/EXPREF/nam_cfg/steep/namelist_cfg.djc_sh94 new file mode 100644 index 0000000..5b6c894 --- /dev/null +++ b/SEAMOUNT/EXPREF/nam_cfg/steep/namelist_cfg.djc_sh94 @@ -0,0 +1,447 @@ +!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +!! NEMO/OCE : Reference namelist_ref !! +!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +!! NEMO/OCE : 1 - Domain & run manager (namrun, namcfg, namdom, namtsd, namcrs, namc1d, namc1d_uvd) +!! namelists 2 - Surface boundary (namsbc, namsbc_flx, namsbc_blk, namsbc_cpl, +!! namsbc_sas, namtra_qsr, namsbc_rnf, +!! namisf, namsbc_apr, +!! namsbc_ssr, namsbc_wave, namberg) +!! 3 - lateral boundary (namlbc, namagrif, nambdy, nambdy_tide) +!! 4 - top/bot boundary (namdrg, namdrg_top, namdrg_bot, nambbc, nambbl) +!! 5 - Tracer (nameos, namtra_adv, namtra_ldf, namtra_eiv, namtra_dmp) +!! 6 - dynamics (namdyn_adv, namdyn_vor, namdyn_hpg, namdyn_spg, namdyn_ldf) +!! 7 - Vertical physics (namzdf, namzdf_ric, namzdf_tke, namzdf_gls, namzdf_iwm) +!! 8 - diagnostics (namnc4, namtrd, namspr, namflo, namhsb) +!! 9 - Obs & Assim (namobs, nam_asminc) +!! 10 - miscellaneous (nammpp, namctl, namsto) +!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + +!!====================================================================== +!! *** Domain & Run management namelists *** !! +!! !! +!! namrun parameters of the run +!! namdom space and time domain +!! namcfg parameters of the configuration (default: user defined GYRE) +!! namwad Wetting and drying (default: OFF) +!! namtsd data: temperature & salinity (default: OFF) +!! namcrs coarsened grid (for outputs and/or TOP) (ln_crs =T) +!! namc1d 1D configuration options ("key_c1d") +!! namc1d_dyndmp 1D newtonian damping applied on currents ("key_c1d") +!! namc1d_uvd 1D data (currents) ("key_c1d") +!!====================================================================== +! +!----------------------------------------------------------------------- +&namusr_def ! SEAMOUNT TEST CASE +!----------------------------------------------------------------------- +!! PHYSICAL DOMAIN + rn_xdim = 504. ! x-dimension of the domain [km] + rn_ydim = 504. ! y-dimension of the domain [km] + rn_bot_max = 4500. ! max ocean depth (>0) [m] + rn_smnt_H = 4050. ! seamount height (>0) [m] + rn_smnt_L = 25. ! seamount width [km] + rn_fplane = 0.0001 ! Coriolis parameter for f-plane approximation +!! NUMERICAL DISCRETIZATION + rn_dx = 8000. ! horizontal resolution [m] + rn_dz = 236.8 ! vertical resolution far from the seamount + ! and assuming no stretching [m] +!! VERTICAL COORDINATE + ln_zco = .false. ! z-coordinate + ln_zps = .false. ! z-partial-step coordinate + ln_sco = .true. ! s-coordinate + ! Stretched s-levels (ln_sco = .true.) + ln_s_sh94 = .true. ! TRUE: s-levels using Song & Haidvogel 1994 (SH94) + ! stretching function + ! FALSE: uniform sigma-levels + rn_theta = 3.0 ! SH94 surface control parameter (0<=theta<=20) + rn_bb = 0.0 ! SH94 bottom control parameter (0<=bb<=1) + rn_hc = 500 ! SH94 critical depth for transition to stretched coordinates [m] + ! Paramaters for vqs-coordinate (ln_sco = .true.) + ln_vqs = .false. ! activating vanishing quasi-sigma levels (TRUE) + rn_rmax = 0.3 ! maximum cut-off slope parameter value allowed + ! if using vqs-levels (0> model level are fixed in time + ! + rn_Dt = 360. ! time step for the dynamics and tracer + ln_meshmask = .true. ! =T create a mesh file +/ +!----------------------------------------------------------------------- +&namcfg ! parameters of the configuration (default: use namusr_def in namelist_cfg) +!----------------------------------------------------------------------- + ln_read_cfg = .false. ! (=T) read the domain configuration file + ln_write_cfg = .true. ! (=T) create the domain configuration file + cn_domcfg_out = "domain_cfg_out" ! newly created domain configuration filename +/ +!----------------------------------------------------------------------- +&namtile ! parameters of the tiling +!----------------------------------------------------------------------- + ln_tile = .false. ! Use tiling (T) or not (F) + nn_ltile_i = 10 ! Length of tiles in i + nn_ltile_j = 10 ! Length of tiles in j +/ +!!====================================================================== +!! *** Surface Boundary Condition namelists *** !! +!! !! +!! namsbc surface boundary condition manager (default: NO selection) +!! namsbc_flx flux formulation (ln_flx =T) +!! namsbc_blk Bulk formulae formulation (ln_blk =T) +!! namsbc_cpl CouPLed formulation ("key_oasis3" ) +!! namsbc_sas Stand-Alone Surface module (SAS_SRC only) +!! namsbc_iif Ice-IF: use observed ice cover (nn_ice = 1 ) +!! namtra_qsr penetrative solar radiation (ln_traqsr =T) +!! namsbc_ssr sea surface restoring term (for T and/or S) (ln_ssr =T) +!! namsbc_rnf river runoffs (ln_rnf =T) +!! namsbc_apr Atmospheric Pressure (ln_apr_dyn =T) +!! namsbc_wave external fields from wave model (ln_wave =T) +!! namberg iceberg floats (ln_icebergs=T) +!! namsbc_fwb freshwater-budget adjustment (nn_fwb > 0) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namsbc ! Surface Boundary Condition manager (default: NO selection) +!----------------------------------------------------------------------- + nn_fsbc = 1 ! frequency of SBC module call + ! ! (control sea-ice & iceberg model call) + ! Type of air-sea fluxes + ln_usr = .true. ! user defined formulation (T => check usrdef_sbc) +/ +!!====================================================================== +!! *** Lateral boundary condition *** !! +!! !! +!! namlbc lateral momentum boundary condition (default: NO selection) +!! namagrif agrif nested grid (read by child model only) ("key_agrif") +!! nam_tide Tidal forcing (default: OFF) +!! nambdy Unstructured open boundaries (default: OFF) +!! nambdy_dta Unstructured open boundaries - external data (see nambdy) +!! nambdy_tide tidal forcing at open boundaries (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namlbc ! lateral momentum boundary condition (default: NO selection) +!----------------------------------------------------------------------- + ! ! free slip ! partial slip ! no slip ! strong slip + rn_shlat = 0.0 ! shlat = 0 ! 0 < shlat < 2 ! shlat = 2 ! 2 < shlat +/ +!!====================================================================== +!! *** Top/Bottom boundary condition *** !! +!! !! +!! namdrg top/bottom drag coefficient (default: NO selection) +!! namdrg_top top friction (ln_drg_OFF=F & ln_isfcav=T) +!! namdrg_bot bottom friction (ln_drg_OFF=F) +!! nambbc bottom temperature boundary condition (default: OFF) +!! nambbl bottom boundary layer scheme (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namdrg ! top/bottom drag coefficient (default: NO selection) +!----------------------------------------------------------------------- + ln_drg_OFF = .true. ! free-slip : Cd = 0 (F => fill namdrg_bot + ln_lin = .false. ! linear drag: Cd = Cd0 Uc0 & namdrg_top) + ln_non_lin = .false. ! non-linear drag: Cd = Cd0 |U| + ln_loglayer = .false. ! logarithmic drag: Cd = vkarmn/log(z/z0) |U| + ! + ln_drgimp = .false. ! implicit top/bottom friction flag + ln_drgice_imp = .true.! implicit ice-ocean drag +/ +!----------------------------------------------------------------------- +&namdrg_top ! TOP friction (ln_drg_OFF =F & ln_isfcav=T) +!----------------------------------------------------------------------- +/ +!----------------------------------------------------------------------- +&namdrg_bot ! BOTTOM friction (ln_drg_OFF =F) +!----------------------------------------------------------------------- + rn_Cd0 = 0.0 ! drag coefficient [-] + rn_Uc0 = 0.0 ! ref. velocity [m/s] (linear drag=Cd0*Uc0) + rn_Cdmax = 1.e-4 ! drag value maximum [-] (logarithmic drag) + rn_ke0 = 2.5e-3 ! background kinetic energy [m2/s2] (non-linear cases) + rn_z0 = 3.e-3 ! roughness [m] (ln_loglayer=T) + ln_boost = .false. ! =T regional boost of Cd0 ; =F constant + rn_boost = 50. ! local boost factor [-] +/ +!!====================================================================== +!! Tracer (T-S) namelists !! +!! !! +!! nameos equation of state (default: NO selection) +!! namtra_adv advection scheme (default: NO selection) +!! namtra_ldf lateral diffusion scheme (default: NO selection) +!! namtra_mle mixed layer eddy param. (Fox-Kemper param.) (default: OFF) +!! namtra_eiv eddy induced velocity param. (default: OFF) +!! namtra_dmp T & S newtonian damping (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&nameos ! ocean Equation Of Seawater (default: NO selection) +!----------------------------------------------------------------------- + ln_teos10 = .false. ! = Use TEOS-10 + ln_eos80 = .true. ! = Use EOS80 + ln_seos = .false. ! = Use S-EOS (simplified Eq.) + ! + ! ! S-EOS coefficients (ln_seos=T): + ! ! rd(T,S,Z)*rho0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS + rn_a0 = 1.6550e-1 ! thermal expension coefficient + rn_b0 = 0.0 ! saline expension coefficient + rn_lambda1 = 0.0 ! cabbeling coeff in T^2 (=0 for linear eos) + rn_lambda2 = 0.0 ! cabbeling coeff in S^2 (=0 for linear eos) + rn_mu1 = 0.0 ! thermobaric coeff. in T (=0 for linear eos) + rn_mu2 = 0.0 ! thermobaric coeff. in S (=0 for linear eos) + rn_nu = 0.0 ! cabbeling coeff in T*S (=0 for linear eos) +/ +!----------------------------------------------------------------------- +&namtra_adv ! advection scheme for tracer (default: NO selection) +!----------------------------------------------------------------------- + ln_traadv_OFF = .false. ! No tracer advection + ln_traadv_cen = .true. ! 2nd order centered scheme + nn_cen_h = 2 ! =2/4, horizontal 2nd order CEN / 4th order CEN + nn_cen_v = 2 ! =2/4, vertical 2nd order CEN / 4th order COMPACT + ln_traadv_fct = .false. ! FCT scheme + nn_fct_h = 2 ! =2/4, horizontal 2nd / 4th order + nn_fct_v = 2 ! =2/4, vertical 2nd / COMPACT 4th order + ln_traadv_mus = .false. ! MUSCL scheme + ln_mus_ups = .false. ! use upstream scheme near river mouths + ln_traadv_ubs = .false. ! UBS scheme + nn_ubs_v = 2 ! =2 , vertical 2nd order FCT / COMPACT 4th order + ln_traadv_qck = .false. ! QUICKEST scheme +/ +!----------------------------------------------------------------------- +&namtra_ldf ! lateral diffusion scheme for tracers (default: NO selection) +!----------------------------------------------------------------------- + ! ! Operator type: + ln_traldf_OFF = .true. ! No explicit diffusion +/ +!!====================================================================== +!! *** Dynamics namelists *** !! +!! !! +!! nam_vvl vertical coordinate options (default: z-star) +!! namdyn_adv formulation of the momentum advection (default: NO selection) +!! namdyn_vor advection scheme (default: NO selection) +!! namdyn_hpg hydrostatic pressure gradient (default: NO selection) +!! namdyn_spg surface pressure gradient (default: NO selection) +!! namdyn_ldf lateral diffusion scheme (default: NO selection) +!! namdta_dyn offline TOP: dynamics read in files (OFF_SRC only) +!!====================================================================== +! +!----------------------------------------------------------------------- +&nam_vvl ! vertical coordinate options (default: z-star) +!----------------------------------------------------------------------- + ln_vvl_zstar = .true. ! z-star vertical coordinate + ln_vvl_ztilde = .false. ! z-tilde vertical coordinate: only high frequency variations + ln_vvl_layer = .false. ! full layer vertical coordinate + ln_vvl_ztilde_as_zstar = .false. ! ztilde vertical coordinate emulating zstar + ln_vvl_zstar_at_eqtor = .false. ! ztilde near the equator + rn_ahe3 = 0.0 ! thickness diffusion coefficient + rn_rst_e3t = 30.0 ! ztilde to zstar restoration timescale [days] + rn_lf_cutoff = 5.0 ! cutoff frequency for low-pass filter [days] + rn_zdef_max = 0.9 ! maximum fractional e3t deformation + ln_vvl_dbg = .false. ! debug prints (T/F) +/ +!----------------------------------------------------------------------- +&namdyn_adv ! formulation of the momentum advection (default: NO selection) +!----------------------------------------------------------------------- + ln_dynadv_OFF = .false. ! linear dynamics (no momentum advection) + ln_dynadv_vec = .true. ! vector form - 2nd centered scheme + nn_dynkeg = 0 ! grad(KE) scheme: =0 C2 ; =1 Hollingsworth correction + ln_dynadv_cen2 = .false. ! flux form - 2nd order centered scheme + ln_dynadv_ubs = .false. ! flux form - 3rd order UBS scheme +/ +!----------------------------------------------------------------------- +&namdyn_vor ! Vorticity / Coriolis scheme (default: NO selection) +!----------------------------------------------------------------------- + ln_dynvor_ene = .false. ! energy conserving scheme + ln_dynvor_ens = .false. ! enstrophy conserving scheme + ln_dynvor_mix = .false. ! mixed scheme + ln_dynvor_enT = .false. ! energy conserving scheme (T-point) + ln_dynvor_eeT = .false. ! energy conserving scheme (een using e3t) + ln_dynvor_een = .true. ! energy & enstrophy scheme + ! + ln_dynvor_msk = .false. ! vorticity multiplied by fmask (=T) ==>>> PLEASE DO NOT ACTIVATE + ! ! (f-point vorticity schemes only) + ! + nn_e3f_typ = 0 ! type of e3f (EEN, ENE, ENS, MIX only) =0 e3f = mi(mj(e3t))/4 + ! ! =1 e3f = mi(mj(e3t))/mi(mj( tmask)) +/ +!----------------------------------------------------------------------- +&namdyn_hpg ! Hydrostatic pressure gradient option (default: NO selection) +!----------------------------------------------------------------------- + ln_hpg_zco = .false. ! z-coordinate - full steps + ln_hpg_zps = .false. ! z-coordinate - partial steps (interpolation) + ln_hpg_sco = .false. ! s-coordinate (standard jacobian formulation) + ln_hpg_isf = .false. ! s-coordinate (sco ) adapted to isf + ln_hpg_djc = .true. ! s-coordinate (Density Jacobian with Cubic polynomial) + ln_hpg_djc_vnh = .true. ! hor. bc type for djc scheme (T=von Neumann, F=linear extrapolation) + ln_hpg_djc_vnv = .true. ! vert. bc type for djc scheme (T=von Neumann, F=linear extrapolation) + ln_hpg_prj = .false. ! s-coordinate (Pressure Jacobian scheme) +/ +!----------------------------------------------------------------------- +&namdyn_spg ! surface pressure gradient (default: NO selection) +!----------------------------------------------------------------------- + ln_dynspg_exp = .false. ! explicit free surface + ln_dynspg_ts = .true. ! split-explicit free surface + nn_e = 30 ! =F : the number of sub-step in rn_Dt seconds +/ +!----------------------------------------------------------------------- +&namdyn_ldf ! lateral diffusion on momentum (default: NO selection) +!----------------------------------------------------------------------- + ! ! Type of the operator : + ln_dynldf_OFF = .false. ! No operator (i.e. no explicit diffusion) + nn_dynldf_typ = 0 ! =0 div-rot (default) ; =1 symmetric + ln_dynldf_lap = .true. ! laplacian operator + ln_dynldf_blp = .false. ! bilaplacian operator + ! ! Direction of action : + ln_dynldf_lev = .true. ! iso-level + ln_dynldf_hor = .false. ! horizontal (geopotential) + ln_dynldf_iso = .false. ! iso-neutral (lap only) + ! ! Coefficient + nn_ahm_ijk_t = 0 ! space/time variation of eddy coefficient : + ! ! =-30 read in eddy_viscosity_3D.nc file + ! ! =-20 read in eddy_viscosity_2D.nc file + ! ! = 0 constant + ! ! = 10 F(k)=c1d + ! ! = 20 F(i,j)=F(grid spacing)=c2d + ! ! = 30 F(i,j,k)=c2d*c1d + ! ! = 31 F(i,j,k)=F(grid spacing and local velocity) + ! ! = 32 F(i,j,k)=F(local gridscale and deformation rate) + ! ! time invariant coefficients : ahm = 1/2 Uv*Lv (lap case) + ! ! or = 1/12 Uv*Lv^3 (blp case) + rn_Uv = 1.0 ! lateral viscous velocity [m/s] (nn_ahm_ijk_t= 0, 10, 20, 30) + rn_Lv = 1.e+3 ! lateral viscous length [m] (nn_ahm_ijk_t= 0, 10) +/ +!!====================================================================== +!! vertical physics namelists !! +!! !! +!! namzdf vertical physics manager (default: NO selection) +!! namzdf_ric richardson number vertical mixing (ln_zdfric=T) +!! namzdf_tke TKE vertical mixing (ln_zdftke=T) +!! namzdf_gls GLS vertical mixing (ln_zdfgls=T) +!! namzdf_osm OSM vertical diffusion (ln_zdfosm=T) +!! namzdf_iwm tidal mixing parameterization (ln_zdfiwm=T) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namzdf ! vertical physics manager (default: NO selection) +!----------------------------------------------------------------------- + ! ! adaptive-implicit vertical advection + ln_zad_Aimp = .false. ! Courant number dependent scheme (Shchepetkin 2015) + ! + ! ! type of vertical closure (required) + ln_zdfcst = .true. ! constant mixing + ln_zdfric = .false. ! local Richardson dependent formulation (T => fill namzdf_ric) + ln_zdftke = .false. ! Turbulent Kinetic Energy closure (T => fill namzdf_tke) + ln_zdfgls = .false. ! Generic Length Scale closure (T => fill namzdf_gls) + ln_zdfosm = .false. ! OSMOSIS BL closure (T => fill namzdf_osm) + ! + ! ! convection + ln_zdfevd = .false. ! enhanced vertical diffusion + nn_evdm = 0 ! apply on tracer (=0) or on tracer and momentum (=1) + rn_evd = 100. ! mixing coefficient [m2/s] + ln_zdfnpc = .false. ! Non-Penetrative Convective algorithm + nn_npc = 1 ! frequency of application of npc + nn_npcp = 365 ! npc control print frequency + ln_zdfmfc = .false. ! Mass Flux Convection + ! + ln_zdfddm = .false. ! double diffusive mixing + rn_avts = 1.e-4 ! maximum avs (vertical mixing on salinity) + rn_hsbfr = 1.6 ! heat/salt buoyancy flux ratio + ! + ! ! gravity wave-driven vertical mixing + ln_zdfiwm = .false. ! internal wave-induced mixing (T => fill namzdf_iwm) + ln_zdfswm = .false. ! surface wave-induced mixing (T => ln_wave=ln_sdw=T ) + ! + ! ! coefficients + rn_avm0 = 2.e-5 ! vertical eddy viscosity [m2/s] (background Kz if ln_zdfcst=F) + rn_avt0 = 2.e-5 ! vertical eddy diffusivity [m2/s] (background Kz if ln_zdfcst=F) + nn_avb = 0 ! profile for background avt & avm (=1) or not (=0) + nn_havtb = 0 ! horizontal shape for avtb (=1) or not (=0) +/ +!!====================================================================== +!! *** Diagnostics namelists *** !! +!! !! +!! namtrd dynamics and/or tracer trends (default: OFF) +!! namhsb Heat and salt budgets (default: OFF) +!! namdiu Cool skin and warm layer models (default: OFF) +!! namdiu Cool skin and warm layer models (default: OFF) +!! namflo float parameters (default: OFF) +!! nam_diadct transports through some sections (default: OFF) +!! nam_dia25h 25h Mean Output (default: OFF) +!! namnc4 netcdf4 chunking and compression settings ("key_netcdf4") +!!====================================================================== +! +!----------------------------------------------------------------------- +&namtrd ! trend diagnostics (default: OFF) +!----------------------------------------------------------------------- + ln_glo_trd = .false. ! (T) global domain averaged diag for T, T^2, KE, and PE + ln_dyn_trd = .true. ! (T) 3D momentum trend output + ln_dyn_mxl = .false. ! (T) 2D momentum trends averaged over the mixed layer (not coded yet) + ln_vor_trd = .false. ! (T) 2D barotropic vorticity trends (not coded yet) + ln_KE_trd = .false. ! (T) 3D Kinetic Energy trends + ln_PE_trd = .false. ! (T) 3D Potential Energy trends + ln_tra_trd = .false. ! (T) 3D tracer trend output + ln_tra_mxl = .false. ! (T) 2D tracer trends averaged over the mixed layer (not coded yet) + nn_trd = 1 ! print frequency (ln_glo_trd=T) (unit=time step) +/ +!!====================================================================== +!! *** Observation & Assimilation *** !! +!! !! +!! namobs observation and model comparison (default: OFF) +!! nam_asminc assimilation increments ('key_asminc') +!!====================================================================== +! +!!====================================================================== +!! *** Miscellaneous namelists *** !! +!! !! +!! nammpp Massively Parallel Processing ("key_mpp_mpi") +!! namctl Control prints (default: OFF) +!! namsto Stochastic parametrization of EOS (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&nammpp ! Massively Parallel Processing ("key_mpp_mpi") +!----------------------------------------------------------------------- +! ln_listonly = .false. ! do nothing else than listing the best domain decompositions (with land domains suppression) + ! ! if T: the largest number of cores tested is defined by max(mppsize, jpni*jpnj) +! ln_nnogather = .true. ! activate code to avoid mpi_allgather use at the northfold + jpni = 0 ! number of processors following i (set automatically if < 1), see also ln_listonly = T + jpnj = 0 ! number of processors following j (set automatically if < 1), see also ln_listonly = T +! nn_hls = 1 ! halo width (applies to both rows and columns) +/ +!----------------------------------------------------------------------- +&namctl ! Control prints (default: OFF) +!----------------------------------------------------------------------- + sn_cfctl%l_runstat = .TRUE. ! switches and which areas produce reports with the proc integer settings. +! sn_cfctl%l_trcstat = .FALSE. ! The default settings for the proc integers should ensure + sn_cfctl%l_oceout = .FALSE. ! that all areas report. +! sn_cfctl%l_layout = .FALSE. ! +! sn_cfctl%l_prtctl = .FALSE. ! +! sn_cfctl%l_prttrc = .FALSE. ! +! sn_cfctl%l_oasout = .FALSE. ! +! sn_cfctl%procmin = 0 ! Minimum area number for reporting [default:0] +! sn_cfctl%procmax = 1000000 ! Maximum area number for reporting [default:1000000] +! sn_cfctl%procincr = 1 ! Increment for optional subsetting of areas [default:1] +! sn_cfctl%ptimincr = 1 ! Timestep increment for writing time step progress info +! nn_ictls = 0 ! start i indice of control sum (use to compare mono versus +! nn_ictle = 0 ! end i indice of control sum multi processor runs +! nn_jctls = 0 ! start j indice of control over a subdomain) +! nn_jctle = 0 ! end j indice of control +! nn_isplt = 1 ! number of processors in i-direction +! nn_jsplt = 1 ! number of processors in j-direction + ln_timing = .true. ! timing by routine write out in timing.output file +! ln_diacfl = .false. ! CFL diagnostics write out in cfl_diagnostics.ascii +/ diff --git a/SEAMOUNT/EXPREF/nam_cfg/steep/namelist_cfg.djc_sig b/SEAMOUNT/EXPREF/nam_cfg/steep/namelist_cfg.djc_sig new file mode 100644 index 0000000..7dd05a6 --- /dev/null +++ b/SEAMOUNT/EXPREF/nam_cfg/steep/namelist_cfg.djc_sig @@ -0,0 +1,447 @@ +!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +!! NEMO/OCE : Reference namelist_ref !! +!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +!! NEMO/OCE : 1 - Domain & run manager (namrun, namcfg, namdom, namtsd, namcrs, namc1d, namc1d_uvd) +!! namelists 2 - Surface boundary (namsbc, namsbc_flx, namsbc_blk, namsbc_cpl, +!! namsbc_sas, namtra_qsr, namsbc_rnf, +!! namisf, namsbc_apr, +!! namsbc_ssr, namsbc_wave, namberg) +!! 3 - lateral boundary (namlbc, namagrif, nambdy, nambdy_tide) +!! 4 - top/bot boundary (namdrg, namdrg_top, namdrg_bot, nambbc, nambbl) +!! 5 - Tracer (nameos, namtra_adv, namtra_ldf, namtra_eiv, namtra_dmp) +!! 6 - dynamics (namdyn_adv, namdyn_vor, namdyn_hpg, namdyn_spg, namdyn_ldf) +!! 7 - Vertical physics (namzdf, namzdf_ric, namzdf_tke, namzdf_gls, namzdf_iwm) +!! 8 - diagnostics (namnc4, namtrd, namspr, namflo, namhsb) +!! 9 - Obs & Assim (namobs, nam_asminc) +!! 10 - miscellaneous (nammpp, namctl, namsto) +!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + +!!====================================================================== +!! *** Domain & Run management namelists *** !! +!! !! +!! namrun parameters of the run +!! namdom space and time domain +!! namcfg parameters of the configuration (default: user defined GYRE) +!! namwad Wetting and drying (default: OFF) +!! namtsd data: temperature & salinity (default: OFF) +!! namcrs coarsened grid (for outputs and/or TOP) (ln_crs =T) +!! namc1d 1D configuration options ("key_c1d") +!! namc1d_dyndmp 1D newtonian damping applied on currents ("key_c1d") +!! namc1d_uvd 1D data (currents) ("key_c1d") +!!====================================================================== +! +!----------------------------------------------------------------------- +&namusr_def ! SEAMOUNT TEST CASE +!----------------------------------------------------------------------- +!! PHYSICAL DOMAIN + rn_xdim = 504. ! x-dimension of the domain [km] + rn_ydim = 504. ! y-dimension of the domain [km] + rn_bot_max = 4500. ! max ocean depth (>0) [m] + rn_smnt_H = 4050. ! seamount height (>0) [m] + rn_smnt_L = 25. ! seamount width [km] + rn_fplane = 0.0001 ! Coriolis parameter for f-plane approximation +!! NUMERICAL DISCRETIZATION + rn_dx = 8000. ! horizontal resolution [m] + rn_dz = 236.8 ! vertical resolution far from the seamount + ! and assuming no stretching [m] +!! VERTICAL COORDINATE + ln_zco = .false. ! z-coordinate + ln_zps = .false. ! z-partial-step coordinate + ln_sco = .true. ! s-coordinate + ! Stretched s-levels (ln_sco = .true.) + ln_s_sh94 = .false. ! TRUE: s-levels using Song & Haidvogel 1994 (SH94) + ! stretching function + ! FALSE: uniform sigma-levels + rn_theta = 3.0 ! SH94 surface control parameter (0<=theta<=20) + rn_bb = 0.0 ! SH94 bottom control parameter (0<=bb<=1) + rn_hc = 500 ! SH94 critical depth for transition to stretched coordinates [m] + ! Paramaters for vqs-coordinate (ln_sco = .true.) + ln_vqs = .false. ! activating vanishing quasi-sigma levels (TRUE) + rn_rmax = 0.3 ! maximum cut-off slope parameter value allowed + ! if using vqs-levels (0> model level are fixed in time + ! + rn_Dt = 360. ! time step for the dynamics and tracer + ln_meshmask = .true. ! =T create a mesh file +/ +!----------------------------------------------------------------------- +&namcfg ! parameters of the configuration (default: use namusr_def in namelist_cfg) +!----------------------------------------------------------------------- + ln_read_cfg = .false. ! (=T) read the domain configuration file + ln_write_cfg = .true. ! (=T) create the domain configuration file + cn_domcfg_out = "domain_cfg_out" ! newly created domain configuration filename +/ +!----------------------------------------------------------------------- +&namtile ! parameters of the tiling +!----------------------------------------------------------------------- + ln_tile = .false. ! Use tiling (T) or not (F) + nn_ltile_i = 10 ! Length of tiles in i + nn_ltile_j = 10 ! Length of tiles in j +/ +!!====================================================================== +!! *** Surface Boundary Condition namelists *** !! +!! !! +!! namsbc surface boundary condition manager (default: NO selection) +!! namsbc_flx flux formulation (ln_flx =T) +!! namsbc_blk Bulk formulae formulation (ln_blk =T) +!! namsbc_cpl CouPLed formulation ("key_oasis3" ) +!! namsbc_sas Stand-Alone Surface module (SAS_SRC only) +!! namsbc_iif Ice-IF: use observed ice cover (nn_ice = 1 ) +!! namtra_qsr penetrative solar radiation (ln_traqsr =T) +!! namsbc_ssr sea surface restoring term (for T and/or S) (ln_ssr =T) +!! namsbc_rnf river runoffs (ln_rnf =T) +!! namsbc_apr Atmospheric Pressure (ln_apr_dyn =T) +!! namsbc_wave external fields from wave model (ln_wave =T) +!! namberg iceberg floats (ln_icebergs=T) +!! namsbc_fwb freshwater-budget adjustment (nn_fwb > 0) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namsbc ! Surface Boundary Condition manager (default: NO selection) +!----------------------------------------------------------------------- + nn_fsbc = 1 ! frequency of SBC module call + ! ! (control sea-ice & iceberg model call) + ! Type of air-sea fluxes + ln_usr = .true. ! user defined formulation (T => check usrdef_sbc) +/ +!!====================================================================== +!! *** Lateral boundary condition *** !! +!! !! +!! namlbc lateral momentum boundary condition (default: NO selection) +!! namagrif agrif nested grid (read by child model only) ("key_agrif") +!! nam_tide Tidal forcing (default: OFF) +!! nambdy Unstructured open boundaries (default: OFF) +!! nambdy_dta Unstructured open boundaries - external data (see nambdy) +!! nambdy_tide tidal forcing at open boundaries (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namlbc ! lateral momentum boundary condition (default: NO selection) +!----------------------------------------------------------------------- + ! ! free slip ! partial slip ! no slip ! strong slip + rn_shlat = 0.0 ! shlat = 0 ! 0 < shlat < 2 ! shlat = 2 ! 2 < shlat +/ +!!====================================================================== +!! *** Top/Bottom boundary condition *** !! +!! !! +!! namdrg top/bottom drag coefficient (default: NO selection) +!! namdrg_top top friction (ln_drg_OFF=F & ln_isfcav=T) +!! namdrg_bot bottom friction (ln_drg_OFF=F) +!! nambbc bottom temperature boundary condition (default: OFF) +!! nambbl bottom boundary layer scheme (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namdrg ! top/bottom drag coefficient (default: NO selection) +!----------------------------------------------------------------------- + ln_drg_OFF = .true. ! free-slip : Cd = 0 (F => fill namdrg_bot + ln_lin = .false. ! linear drag: Cd = Cd0 Uc0 & namdrg_top) + ln_non_lin = .false. ! non-linear drag: Cd = Cd0 |U| + ln_loglayer = .false. ! logarithmic drag: Cd = vkarmn/log(z/z0) |U| + ! + ln_drgimp = .false. ! implicit top/bottom friction flag + ln_drgice_imp = .true.! implicit ice-ocean drag +/ +!----------------------------------------------------------------------- +&namdrg_top ! TOP friction (ln_drg_OFF =F & ln_isfcav=T) +!----------------------------------------------------------------------- +/ +!----------------------------------------------------------------------- +&namdrg_bot ! BOTTOM friction (ln_drg_OFF =F) +!----------------------------------------------------------------------- + rn_Cd0 = 0.0 ! drag coefficient [-] + rn_Uc0 = 0.0 ! ref. velocity [m/s] (linear drag=Cd0*Uc0) + rn_Cdmax = 1.e-4 ! drag value maximum [-] (logarithmic drag) + rn_ke0 = 2.5e-3 ! background kinetic energy [m2/s2] (non-linear cases) + rn_z0 = 3.e-3 ! roughness [m] (ln_loglayer=T) + ln_boost = .false. ! =T regional boost of Cd0 ; =F constant + rn_boost = 50. ! local boost factor [-] +/ +!!====================================================================== +!! Tracer (T-S) namelists !! +!! !! +!! nameos equation of state (default: NO selection) +!! namtra_adv advection scheme (default: NO selection) +!! namtra_ldf lateral diffusion scheme (default: NO selection) +!! namtra_mle mixed layer eddy param. (Fox-Kemper param.) (default: OFF) +!! namtra_eiv eddy induced velocity param. (default: OFF) +!! namtra_dmp T & S newtonian damping (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&nameos ! ocean Equation Of Seawater (default: NO selection) +!----------------------------------------------------------------------- + ln_teos10 = .false. ! = Use TEOS-10 + ln_eos80 = .true. ! = Use EOS80 + ln_seos = .false. ! = Use S-EOS (simplified Eq.) + ! + ! ! S-EOS coefficients (ln_seos=T): + ! ! rd(T,S,Z)*rho0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS + rn_a0 = 1.6550e-1 ! thermal expension coefficient + rn_b0 = 0.0 ! saline expension coefficient + rn_lambda1 = 0.0 ! cabbeling coeff in T^2 (=0 for linear eos) + rn_lambda2 = 0.0 ! cabbeling coeff in S^2 (=0 for linear eos) + rn_mu1 = 0.0 ! thermobaric coeff. in T (=0 for linear eos) + rn_mu2 = 0.0 ! thermobaric coeff. in S (=0 for linear eos) + rn_nu = 0.0 ! cabbeling coeff in T*S (=0 for linear eos) +/ +!----------------------------------------------------------------------- +&namtra_adv ! advection scheme for tracer (default: NO selection) +!----------------------------------------------------------------------- + ln_traadv_OFF = .false. ! No tracer advection + ln_traadv_cen = .true. ! 2nd order centered scheme + nn_cen_h = 2 ! =2/4, horizontal 2nd order CEN / 4th order CEN + nn_cen_v = 2 ! =2/4, vertical 2nd order CEN / 4th order COMPACT + ln_traadv_fct = .false. ! FCT scheme + nn_fct_h = 2 ! =2/4, horizontal 2nd / 4th order + nn_fct_v = 2 ! =2/4, vertical 2nd / COMPACT 4th order + ln_traadv_mus = .false. ! MUSCL scheme + ln_mus_ups = .false. ! use upstream scheme near river mouths + ln_traadv_ubs = .false. ! UBS scheme + nn_ubs_v = 2 ! =2 , vertical 2nd order FCT / COMPACT 4th order + ln_traadv_qck = .false. ! QUICKEST scheme +/ +!----------------------------------------------------------------------- +&namtra_ldf ! lateral diffusion scheme for tracers (default: NO selection) +!----------------------------------------------------------------------- + ! ! Operator type: + ln_traldf_OFF = .true. ! No explicit diffusion +/ +!!====================================================================== +!! *** Dynamics namelists *** !! +!! !! +!! nam_vvl vertical coordinate options (default: z-star) +!! namdyn_adv formulation of the momentum advection (default: NO selection) +!! namdyn_vor advection scheme (default: NO selection) +!! namdyn_hpg hydrostatic pressure gradient (default: NO selection) +!! namdyn_spg surface pressure gradient (default: NO selection) +!! namdyn_ldf lateral diffusion scheme (default: NO selection) +!! namdta_dyn offline TOP: dynamics read in files (OFF_SRC only) +!!====================================================================== +! +!----------------------------------------------------------------------- +&nam_vvl ! vertical coordinate options (default: z-star) +!----------------------------------------------------------------------- + ln_vvl_zstar = .true. ! z-star vertical coordinate + ln_vvl_ztilde = .false. ! z-tilde vertical coordinate: only high frequency variations + ln_vvl_layer = .false. ! full layer vertical coordinate + ln_vvl_ztilde_as_zstar = .false. ! ztilde vertical coordinate emulating zstar + ln_vvl_zstar_at_eqtor = .false. ! ztilde near the equator + rn_ahe3 = 0.0 ! thickness diffusion coefficient + rn_rst_e3t = 30.0 ! ztilde to zstar restoration timescale [days] + rn_lf_cutoff = 5.0 ! cutoff frequency for low-pass filter [days] + rn_zdef_max = 0.9 ! maximum fractional e3t deformation + ln_vvl_dbg = .false. ! debug prints (T/F) +/ +!----------------------------------------------------------------------- +&namdyn_adv ! formulation of the momentum advection (default: NO selection) +!----------------------------------------------------------------------- + ln_dynadv_OFF = .false. ! linear dynamics (no momentum advection) + ln_dynadv_vec = .true. ! vector form - 2nd centered scheme + nn_dynkeg = 0 ! grad(KE) scheme: =0 C2 ; =1 Hollingsworth correction + ln_dynadv_cen2 = .false. ! flux form - 2nd order centered scheme + ln_dynadv_ubs = .false. ! flux form - 3rd order UBS scheme +/ +!----------------------------------------------------------------------- +&namdyn_vor ! Vorticity / Coriolis scheme (default: NO selection) +!----------------------------------------------------------------------- + ln_dynvor_ene = .false. ! energy conserving scheme + ln_dynvor_ens = .false. ! enstrophy conserving scheme + ln_dynvor_mix = .false. ! mixed scheme + ln_dynvor_enT = .false. ! energy conserving scheme (T-point) + ln_dynvor_eeT = .false. ! energy conserving scheme (een using e3t) + ln_dynvor_een = .true. ! energy & enstrophy scheme + ! + ln_dynvor_msk = .false. ! vorticity multiplied by fmask (=T) ==>>> PLEASE DO NOT ACTIVATE + ! ! (f-point vorticity schemes only) + ! + nn_e3f_typ = 0 ! type of e3f (EEN, ENE, ENS, MIX only) =0 e3f = mi(mj(e3t))/4 + ! ! =1 e3f = mi(mj(e3t))/mi(mj( tmask)) +/ +!----------------------------------------------------------------------- +&namdyn_hpg ! Hydrostatic pressure gradient option (default: NO selection) +!----------------------------------------------------------------------- + ln_hpg_zco = .false. ! z-coordinate - full steps + ln_hpg_zps = .false. ! z-coordinate - partial steps (interpolation) + ln_hpg_sco = .false. ! s-coordinate (standard jacobian formulation) + ln_hpg_isf = .false. ! s-coordinate (sco ) adapted to isf + ln_hpg_djc = .true. ! s-coordinate (Density Jacobian with Cubic polynomial) + ln_hpg_djc_vnh = .true. ! hor. bc type for djc scheme (T=von Neumann, F=linear extrapolation) + ln_hpg_djc_vnv = .true. ! vert. bc type for djc scheme (T=von Neumann, F=linear extrapolation) + ln_hpg_prj = .false. ! s-coordinate (Pressure Jacobian scheme) +/ +!----------------------------------------------------------------------- +&namdyn_spg ! surface pressure gradient (default: NO selection) +!----------------------------------------------------------------------- + ln_dynspg_exp = .false. ! explicit free surface + ln_dynspg_ts = .true. ! split-explicit free surface + nn_e = 30 ! =F : the number of sub-step in rn_Dt seconds +/ +!----------------------------------------------------------------------- +&namdyn_ldf ! lateral diffusion on momentum (default: NO selection) +!----------------------------------------------------------------------- + ! ! Type of the operator : + ln_dynldf_OFF = .false. ! No operator (i.e. no explicit diffusion) + nn_dynldf_typ = 0 ! =0 div-rot (default) ; =1 symmetric + ln_dynldf_lap = .true. ! laplacian operator + ln_dynldf_blp = .false. ! bilaplacian operator + ! ! Direction of action : + ln_dynldf_lev = .true. ! iso-level + ln_dynldf_hor = .false. ! horizontal (geopotential) + ln_dynldf_iso = .false. ! iso-neutral (lap only) + ! ! Coefficient + nn_ahm_ijk_t = 0 ! space/time variation of eddy coefficient : + ! ! =-30 read in eddy_viscosity_3D.nc file + ! ! =-20 read in eddy_viscosity_2D.nc file + ! ! = 0 constant + ! ! = 10 F(k)=c1d + ! ! = 20 F(i,j)=F(grid spacing)=c2d + ! ! = 30 F(i,j,k)=c2d*c1d + ! ! = 31 F(i,j,k)=F(grid spacing and local velocity) + ! ! = 32 F(i,j,k)=F(local gridscale and deformation rate) + ! ! time invariant coefficients : ahm = 1/2 Uv*Lv (lap case) + ! ! or = 1/12 Uv*Lv^3 (blp case) + rn_Uv = 1.0 ! lateral viscous velocity [m/s] (nn_ahm_ijk_t= 0, 10, 20, 30) + rn_Lv = 1.e+3 ! lateral viscous length [m] (nn_ahm_ijk_t= 0, 10) +/ +!!====================================================================== +!! vertical physics namelists !! +!! !! +!! namzdf vertical physics manager (default: NO selection) +!! namzdf_ric richardson number vertical mixing (ln_zdfric=T) +!! namzdf_tke TKE vertical mixing (ln_zdftke=T) +!! namzdf_gls GLS vertical mixing (ln_zdfgls=T) +!! namzdf_osm OSM vertical diffusion (ln_zdfosm=T) +!! namzdf_iwm tidal mixing parameterization (ln_zdfiwm=T) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namzdf ! vertical physics manager (default: NO selection) +!----------------------------------------------------------------------- + ! ! adaptive-implicit vertical advection + ln_zad_Aimp = .false. ! Courant number dependent scheme (Shchepetkin 2015) + ! + ! ! type of vertical closure (required) + ln_zdfcst = .true. ! constant mixing + ln_zdfric = .false. ! local Richardson dependent formulation (T => fill namzdf_ric) + ln_zdftke = .false. ! Turbulent Kinetic Energy closure (T => fill namzdf_tke) + ln_zdfgls = .false. ! Generic Length Scale closure (T => fill namzdf_gls) + ln_zdfosm = .false. ! OSMOSIS BL closure (T => fill namzdf_osm) + ! + ! ! convection + ln_zdfevd = .false. ! enhanced vertical diffusion + nn_evdm = 0 ! apply on tracer (=0) or on tracer and momentum (=1) + rn_evd = 100. ! mixing coefficient [m2/s] + ln_zdfnpc = .false. ! Non-Penetrative Convective algorithm + nn_npc = 1 ! frequency of application of npc + nn_npcp = 365 ! npc control print frequency + ln_zdfmfc = .false. ! Mass Flux Convection + ! + ln_zdfddm = .false. ! double diffusive mixing + rn_avts = 1.e-4 ! maximum avs (vertical mixing on salinity) + rn_hsbfr = 1.6 ! heat/salt buoyancy flux ratio + ! + ! ! gravity wave-driven vertical mixing + ln_zdfiwm = .false. ! internal wave-induced mixing (T => fill namzdf_iwm) + ln_zdfswm = .false. ! surface wave-induced mixing (T => ln_wave=ln_sdw=T ) + ! + ! ! coefficients + rn_avm0 = 2.e-5 ! vertical eddy viscosity [m2/s] (background Kz if ln_zdfcst=F) + rn_avt0 = 2.e-5 ! vertical eddy diffusivity [m2/s] (background Kz if ln_zdfcst=F) + nn_avb = 0 ! profile for background avt & avm (=1) or not (=0) + nn_havtb = 0 ! horizontal shape for avtb (=1) or not (=0) +/ +!!====================================================================== +!! *** Diagnostics namelists *** !! +!! !! +!! namtrd dynamics and/or tracer trends (default: OFF) +!! namhsb Heat and salt budgets (default: OFF) +!! namdiu Cool skin and warm layer models (default: OFF) +!! namdiu Cool skin and warm layer models (default: OFF) +!! namflo float parameters (default: OFF) +!! nam_diadct transports through some sections (default: OFF) +!! nam_dia25h 25h Mean Output (default: OFF) +!! namnc4 netcdf4 chunking and compression settings ("key_netcdf4") +!!====================================================================== +! +!----------------------------------------------------------------------- +&namtrd ! trend diagnostics (default: OFF) +!----------------------------------------------------------------------- + ln_glo_trd = .false. ! (T) global domain averaged diag for T, T^2, KE, and PE + ln_dyn_trd = .true. ! (T) 3D momentum trend output + ln_dyn_mxl = .false. ! (T) 2D momentum trends averaged over the mixed layer (not coded yet) + ln_vor_trd = .false. ! (T) 2D barotropic vorticity trends (not coded yet) + ln_KE_trd = .false. ! (T) 3D Kinetic Energy trends + ln_PE_trd = .false. ! (T) 3D Potential Energy trends + ln_tra_trd = .false. ! (T) 3D tracer trend output + ln_tra_mxl = .false. ! (T) 2D tracer trends averaged over the mixed layer (not coded yet) + nn_trd = 1 ! print frequency (ln_glo_trd=T) (unit=time step) +/ +!!====================================================================== +!! *** Observation & Assimilation *** !! +!! !! +!! namobs observation and model comparison (default: OFF) +!! nam_asminc assimilation increments ('key_asminc') +!!====================================================================== +! +!!====================================================================== +!! *** Miscellaneous namelists *** !! +!! !! +!! nammpp Massively Parallel Processing ("key_mpp_mpi") +!! namctl Control prints (default: OFF) +!! namsto Stochastic parametrization of EOS (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&nammpp ! Massively Parallel Processing ("key_mpp_mpi") +!----------------------------------------------------------------------- +! ln_listonly = .false. ! do nothing else than listing the best domain decompositions (with land domains suppression) + ! ! if T: the largest number of cores tested is defined by max(mppsize, jpni*jpnj) +! ln_nnogather = .true. ! activate code to avoid mpi_allgather use at the northfold + jpni = 0 ! number of processors following i (set automatically if < 1), see also ln_listonly = T + jpnj = 0 ! number of processors following j (set automatically if < 1), see also ln_listonly = T +! nn_hls = 1 ! halo width (applies to both rows and columns) +/ +!----------------------------------------------------------------------- +&namctl ! Control prints (default: OFF) +!----------------------------------------------------------------------- + sn_cfctl%l_runstat = .TRUE. ! switches and which areas produce reports with the proc integer settings. +! sn_cfctl%l_trcstat = .FALSE. ! The default settings for the proc integers should ensure + sn_cfctl%l_oceout = .FALSE. ! that all areas report. +! sn_cfctl%l_layout = .FALSE. ! +! sn_cfctl%l_prtctl = .FALSE. ! +! sn_cfctl%l_prttrc = .FALSE. ! +! sn_cfctl%l_oasout = .FALSE. ! +! sn_cfctl%procmin = 0 ! Minimum area number for reporting [default:0] +! sn_cfctl%procmax = 1000000 ! Maximum area number for reporting [default:1000000] +! sn_cfctl%procincr = 1 ! Increment for optional subsetting of areas [default:1] +! sn_cfctl%ptimincr = 1 ! Timestep increment for writing time step progress info +! nn_ictls = 0 ! start i indice of control sum (use to compare mono versus +! nn_ictle = 0 ! end i indice of control sum multi processor runs +! nn_jctls = 0 ! start j indice of control over a subdomain) +! nn_jctle = 0 ! end j indice of control +! nn_isplt = 1 ! number of processors in i-direction +! nn_jsplt = 1 ! number of processors in j-direction + ln_timing = .true. ! timing by routine write out in timing.output file +! ln_diacfl = .false. ! CFL diagnostics write out in cfl_diagnostics.ascii +/ diff --git a/SEAMOUNT/EXPREF/nam_cfg/steep/namelist_cfg.djc_vqs b/SEAMOUNT/EXPREF/nam_cfg/steep/namelist_cfg.djc_vqs new file mode 100644 index 0000000..6b4fd08 --- /dev/null +++ b/SEAMOUNT/EXPREF/nam_cfg/steep/namelist_cfg.djc_vqs @@ -0,0 +1,447 @@ +!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +!! NEMO/OCE : Reference namelist_ref !! +!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +!! NEMO/OCE : 1 - Domain & run manager (namrun, namcfg, namdom, namtsd, namcrs, namc1d, namc1d_uvd) +!! namelists 2 - Surface boundary (namsbc, namsbc_flx, namsbc_blk, namsbc_cpl, +!! namsbc_sas, namtra_qsr, namsbc_rnf, +!! namisf, namsbc_apr, +!! namsbc_ssr, namsbc_wave, namberg) +!! 3 - lateral boundary (namlbc, namagrif, nambdy, nambdy_tide) +!! 4 - top/bot boundary (namdrg, namdrg_top, namdrg_bot, nambbc, nambbl) +!! 5 - Tracer (nameos, namtra_adv, namtra_ldf, namtra_eiv, namtra_dmp) +!! 6 - dynamics (namdyn_adv, namdyn_vor, namdyn_hpg, namdyn_spg, namdyn_ldf) +!! 7 - Vertical physics (namzdf, namzdf_ric, namzdf_tke, namzdf_gls, namzdf_iwm) +!! 8 - diagnostics (namnc4, namtrd, namspr, namflo, namhsb) +!! 9 - Obs & Assim (namobs, nam_asminc) +!! 10 - miscellaneous (nammpp, namctl, namsto) +!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + +!!====================================================================== +!! *** Domain & Run management namelists *** !! +!! !! +!! namrun parameters of the run +!! namdom space and time domain +!! namcfg parameters of the configuration (default: user defined GYRE) +!! namwad Wetting and drying (default: OFF) +!! namtsd data: temperature & salinity (default: OFF) +!! namcrs coarsened grid (for outputs and/or TOP) (ln_crs =T) +!! namc1d 1D configuration options ("key_c1d") +!! namc1d_dyndmp 1D newtonian damping applied on currents ("key_c1d") +!! namc1d_uvd 1D data (currents) ("key_c1d") +!!====================================================================== +! +!----------------------------------------------------------------------- +&namusr_def ! SEAMOUNT TEST CASE +!----------------------------------------------------------------------- +!! PHYSICAL DOMAIN + rn_xdim = 504. ! x-dimension of the domain [km] + rn_ydim = 504. ! y-dimension of the domain [km] + rn_bot_max = 4500. ! max ocean depth (>0) [m] + rn_smnt_H = 4050. ! seamount height (>0) [m] + rn_smnt_L = 25. ! seamount width [km] + rn_fplane = 0.0001 ! Coriolis parameter for f-plane approximation +!! NUMERICAL DISCRETIZATION + rn_dx = 8000. ! horizontal resolution [m] + rn_dz = 236.8 ! vertical resolution far from the seamount + ! and assuming no stretching [m] +!! VERTICAL COORDINATE + ln_zco = .false. ! z-coordinate + ln_zps = .false. ! z-partial-step coordinate + ln_sco = .true. ! s-coordinate + ! Stretched s-levels (ln_sco = .true.) + ln_s_sh94 = .false. ! TRUE: s-levels using Song & Haidvogel 1994 (SH94) + ! stretching function + ! FALSE: uniform sigma-levels + rn_theta = 3.0 ! SH94 surface control parameter (0<=theta<=20) + rn_bb = 0.0 ! SH94 bottom control parameter (0<=bb<=1) + rn_hc = 500 ! SH94 critical depth for transition to stretched coordinates [m] + ! Paramaters for vqs-coordinate (ln_sco = .true.) + ln_vqs = .true. ! activating vanishing quasi-sigma levels (TRUE) + rn_rmax = 0.25 ! maximum cut-off slope parameter value allowed + ! if using vqs-levels (0> model level are fixed in time + ! + rn_Dt = 360. ! time step for the dynamics and tracer + ln_meshmask = .true. ! =T create a mesh file +/ +!----------------------------------------------------------------------- +&namcfg ! parameters of the configuration (default: use namusr_def in namelist_cfg) +!----------------------------------------------------------------------- + ln_read_cfg = .false. ! (=T) read the domain configuration file + ln_write_cfg = .true. ! (=T) create the domain configuration file + cn_domcfg_out = "domain_cfg_out" ! newly created domain configuration filename +/ +!----------------------------------------------------------------------- +&namtile ! parameters of the tiling +!----------------------------------------------------------------------- + ln_tile = .false. ! Use tiling (T) or not (F) + nn_ltile_i = 10 ! Length of tiles in i + nn_ltile_j = 10 ! Length of tiles in j +/ +!!====================================================================== +!! *** Surface Boundary Condition namelists *** !! +!! !! +!! namsbc surface boundary condition manager (default: NO selection) +!! namsbc_flx flux formulation (ln_flx =T) +!! namsbc_blk Bulk formulae formulation (ln_blk =T) +!! namsbc_cpl CouPLed formulation ("key_oasis3" ) +!! namsbc_sas Stand-Alone Surface module (SAS_SRC only) +!! namsbc_iif Ice-IF: use observed ice cover (nn_ice = 1 ) +!! namtra_qsr penetrative solar radiation (ln_traqsr =T) +!! namsbc_ssr sea surface restoring term (for T and/or S) (ln_ssr =T) +!! namsbc_rnf river runoffs (ln_rnf =T) +!! namsbc_apr Atmospheric Pressure (ln_apr_dyn =T) +!! namsbc_wave external fields from wave model (ln_wave =T) +!! namberg iceberg floats (ln_icebergs=T) +!! namsbc_fwb freshwater-budget adjustment (nn_fwb > 0) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namsbc ! Surface Boundary Condition manager (default: NO selection) +!----------------------------------------------------------------------- + nn_fsbc = 1 ! frequency of SBC module call + ! ! (control sea-ice & iceberg model call) + ! Type of air-sea fluxes + ln_usr = .true. ! user defined formulation (T => check usrdef_sbc) +/ +!!====================================================================== +!! *** Lateral boundary condition *** !! +!! !! +!! namlbc lateral momentum boundary condition (default: NO selection) +!! namagrif agrif nested grid (read by child model only) ("key_agrif") +!! nam_tide Tidal forcing (default: OFF) +!! nambdy Unstructured open boundaries (default: OFF) +!! nambdy_dta Unstructured open boundaries - external data (see nambdy) +!! nambdy_tide tidal forcing at open boundaries (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namlbc ! lateral momentum boundary condition (default: NO selection) +!----------------------------------------------------------------------- + ! ! free slip ! partial slip ! no slip ! strong slip + rn_shlat = 0.0 ! shlat = 0 ! 0 < shlat < 2 ! shlat = 2 ! 2 < shlat +/ +!!====================================================================== +!! *** Top/Bottom boundary condition *** !! +!! !! +!! namdrg top/bottom drag coefficient (default: NO selection) +!! namdrg_top top friction (ln_drg_OFF=F & ln_isfcav=T) +!! namdrg_bot bottom friction (ln_drg_OFF=F) +!! nambbc bottom temperature boundary condition (default: OFF) +!! nambbl bottom boundary layer scheme (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namdrg ! top/bottom drag coefficient (default: NO selection) +!----------------------------------------------------------------------- + ln_drg_OFF = .true. ! free-slip : Cd = 0 (F => fill namdrg_bot + ln_lin = .false. ! linear drag: Cd = Cd0 Uc0 & namdrg_top) + ln_non_lin = .false. ! non-linear drag: Cd = Cd0 |U| + ln_loglayer = .false. ! logarithmic drag: Cd = vkarmn/log(z/z0) |U| + ! + ln_drgimp = .false. ! implicit top/bottom friction flag + ln_drgice_imp = .true.! implicit ice-ocean drag +/ +!----------------------------------------------------------------------- +&namdrg_top ! TOP friction (ln_drg_OFF =F & ln_isfcav=T) +!----------------------------------------------------------------------- +/ +!----------------------------------------------------------------------- +&namdrg_bot ! BOTTOM friction (ln_drg_OFF =F) +!----------------------------------------------------------------------- + rn_Cd0 = 0.0 ! drag coefficient [-] + rn_Uc0 = 0.0 ! ref. velocity [m/s] (linear drag=Cd0*Uc0) + rn_Cdmax = 1.e-4 ! drag value maximum [-] (logarithmic drag) + rn_ke0 = 2.5e-3 ! background kinetic energy [m2/s2] (non-linear cases) + rn_z0 = 3.e-3 ! roughness [m] (ln_loglayer=T) + ln_boost = .false. ! =T regional boost of Cd0 ; =F constant + rn_boost = 50. ! local boost factor [-] +/ +!!====================================================================== +!! Tracer (T-S) namelists !! +!! !! +!! nameos equation of state (default: NO selection) +!! namtra_adv advection scheme (default: NO selection) +!! namtra_ldf lateral diffusion scheme (default: NO selection) +!! namtra_mle mixed layer eddy param. (Fox-Kemper param.) (default: OFF) +!! namtra_eiv eddy induced velocity param. (default: OFF) +!! namtra_dmp T & S newtonian damping (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&nameos ! ocean Equation Of Seawater (default: NO selection) +!----------------------------------------------------------------------- + ln_teos10 = .false. ! = Use TEOS-10 + ln_eos80 = .true. ! = Use EOS80 + ln_seos = .false. ! = Use S-EOS (simplified Eq.) + ! + ! ! S-EOS coefficients (ln_seos=T): + ! ! rd(T,S,Z)*rho0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS + rn_a0 = 1.6550e-1 ! thermal expension coefficient + rn_b0 = 0.0 ! saline expension coefficient + rn_lambda1 = 0.0 ! cabbeling coeff in T^2 (=0 for linear eos) + rn_lambda2 = 0.0 ! cabbeling coeff in S^2 (=0 for linear eos) + rn_mu1 = 0.0 ! thermobaric coeff. in T (=0 for linear eos) + rn_mu2 = 0.0 ! thermobaric coeff. in S (=0 for linear eos) + rn_nu = 0.0 ! cabbeling coeff in T*S (=0 for linear eos) +/ +!----------------------------------------------------------------------- +&namtra_adv ! advection scheme for tracer (default: NO selection) +!----------------------------------------------------------------------- + ln_traadv_OFF = .false. ! No tracer advection + ln_traadv_cen = .true. ! 2nd order centered scheme + nn_cen_h = 2 ! =2/4, horizontal 2nd order CEN / 4th order CEN + nn_cen_v = 2 ! =2/4, vertical 2nd order CEN / 4th order COMPACT + ln_traadv_fct = .false. ! FCT scheme + nn_fct_h = 2 ! =2/4, horizontal 2nd / 4th order + nn_fct_v = 2 ! =2/4, vertical 2nd / COMPACT 4th order + ln_traadv_mus = .false. ! MUSCL scheme + ln_mus_ups = .false. ! use upstream scheme near river mouths + ln_traadv_ubs = .false. ! UBS scheme + nn_ubs_v = 2 ! =2 , vertical 2nd order FCT / COMPACT 4th order + ln_traadv_qck = .false. ! QUICKEST scheme +/ +!----------------------------------------------------------------------- +&namtra_ldf ! lateral diffusion scheme for tracers (default: NO selection) +!----------------------------------------------------------------------- + ! ! Operator type: + ln_traldf_OFF = .true. ! No explicit diffusion +/ +!!====================================================================== +!! *** Dynamics namelists *** !! +!! !! +!! nam_vvl vertical coordinate options (default: z-star) +!! namdyn_adv formulation of the momentum advection (default: NO selection) +!! namdyn_vor advection scheme (default: NO selection) +!! namdyn_hpg hydrostatic pressure gradient (default: NO selection) +!! namdyn_spg surface pressure gradient (default: NO selection) +!! namdyn_ldf lateral diffusion scheme (default: NO selection) +!! namdta_dyn offline TOP: dynamics read in files (OFF_SRC only) +!!====================================================================== +! +!----------------------------------------------------------------------- +&nam_vvl ! vertical coordinate options (default: z-star) +!----------------------------------------------------------------------- + ln_vvl_zstar = .true. ! z-star vertical coordinate + ln_vvl_ztilde = .false. ! z-tilde vertical coordinate: only high frequency variations + ln_vvl_layer = .false. ! full layer vertical coordinate + ln_vvl_ztilde_as_zstar = .false. ! ztilde vertical coordinate emulating zstar + ln_vvl_zstar_at_eqtor = .false. ! ztilde near the equator + rn_ahe3 = 0.0 ! thickness diffusion coefficient + rn_rst_e3t = 30.0 ! ztilde to zstar restoration timescale [days] + rn_lf_cutoff = 5.0 ! cutoff frequency for low-pass filter [days] + rn_zdef_max = 0.9 ! maximum fractional e3t deformation + ln_vvl_dbg = .false. ! debug prints (T/F) +/ +!----------------------------------------------------------------------- +&namdyn_adv ! formulation of the momentum advection (default: NO selection) +!----------------------------------------------------------------------- + ln_dynadv_OFF = .false. ! linear dynamics (no momentum advection) + ln_dynadv_vec = .true. ! vector form - 2nd centered scheme + nn_dynkeg = 0 ! grad(KE) scheme: =0 C2 ; =1 Hollingsworth correction + ln_dynadv_cen2 = .false. ! flux form - 2nd order centered scheme + ln_dynadv_ubs = .false. ! flux form - 3rd order UBS scheme +/ +!----------------------------------------------------------------------- +&namdyn_vor ! Vorticity / Coriolis scheme (default: NO selection) +!----------------------------------------------------------------------- + ln_dynvor_ene = .false. ! energy conserving scheme + ln_dynvor_ens = .false. ! enstrophy conserving scheme + ln_dynvor_mix = .false. ! mixed scheme + ln_dynvor_enT = .false. ! energy conserving scheme (T-point) + ln_dynvor_eeT = .false. ! energy conserving scheme (een using e3t) + ln_dynvor_een = .true. ! energy & enstrophy scheme + ! + ln_dynvor_msk = .false. ! vorticity multiplied by fmask (=T) ==>>> PLEASE DO NOT ACTIVATE + ! ! (f-point vorticity schemes only) + ! + nn_e3f_typ = 0 ! type of e3f (EEN, ENE, ENS, MIX only) =0 e3f = mi(mj(e3t))/4 + ! ! =1 e3f = mi(mj(e3t))/mi(mj( tmask)) +/ +!----------------------------------------------------------------------- +&namdyn_hpg ! Hydrostatic pressure gradient option (default: NO selection) +!----------------------------------------------------------------------- + ln_hpg_zco = .false. ! z-coordinate - full steps + ln_hpg_zps = .false. ! z-coordinate - partial steps (interpolation) + ln_hpg_sco = .false. ! s-coordinate (standard jacobian formulation) + ln_hpg_isf = .false. ! s-coordinate (sco ) adapted to isf + ln_hpg_djc = .true. ! s-coordinate (Density Jacobian with Cubic polynomial) + ln_hpg_djc_vnh = .true. ! hor. bc type for djc scheme (T=von Neumann, F=linear extrapolation) + ln_hpg_djc_vnv = .true. ! vert. bc type for djc scheme (T=von Neumann, F=linear extrapolation) + ln_hpg_prj = .false. ! s-coordinate (Pressure Jacobian scheme) +/ +!----------------------------------------------------------------------- +&namdyn_spg ! surface pressure gradient (default: NO selection) +!----------------------------------------------------------------------- + ln_dynspg_exp = .false. ! explicit free surface + ln_dynspg_ts = .true. ! split-explicit free surface + nn_e = 30 ! =F : the number of sub-step in rn_Dt seconds +/ +!----------------------------------------------------------------------- +&namdyn_ldf ! lateral diffusion on momentum (default: NO selection) +!----------------------------------------------------------------------- + ! ! Type of the operator : + ln_dynldf_OFF = .false. ! No operator (i.e. no explicit diffusion) + nn_dynldf_typ = 0 ! =0 div-rot (default) ; =1 symmetric + ln_dynldf_lap = .true. ! laplacian operator + ln_dynldf_blp = .false. ! bilaplacian operator + ! ! Direction of action : + ln_dynldf_lev = .true. ! iso-level + ln_dynldf_hor = .false. ! horizontal (geopotential) + ln_dynldf_iso = .false. ! iso-neutral (lap only) + ! ! Coefficient + nn_ahm_ijk_t = 0 ! space/time variation of eddy coefficient : + ! ! =-30 read in eddy_viscosity_3D.nc file + ! ! =-20 read in eddy_viscosity_2D.nc file + ! ! = 0 constant + ! ! = 10 F(k)=c1d + ! ! = 20 F(i,j)=F(grid spacing)=c2d + ! ! = 30 F(i,j,k)=c2d*c1d + ! ! = 31 F(i,j,k)=F(grid spacing and local velocity) + ! ! = 32 F(i,j,k)=F(local gridscale and deformation rate) + ! ! time invariant coefficients : ahm = 1/2 Uv*Lv (lap case) + ! ! or = 1/12 Uv*Lv^3 (blp case) + rn_Uv = 1.0 ! lateral viscous velocity [m/s] (nn_ahm_ijk_t= 0, 10, 20, 30) + rn_Lv = 1.e+3 ! lateral viscous length [m] (nn_ahm_ijk_t= 0, 10) +/ +!!====================================================================== +!! vertical physics namelists !! +!! !! +!! namzdf vertical physics manager (default: NO selection) +!! namzdf_ric richardson number vertical mixing (ln_zdfric=T) +!! namzdf_tke TKE vertical mixing (ln_zdftke=T) +!! namzdf_gls GLS vertical mixing (ln_zdfgls=T) +!! namzdf_osm OSM vertical diffusion (ln_zdfosm=T) +!! namzdf_iwm tidal mixing parameterization (ln_zdfiwm=T) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namzdf ! vertical physics manager (default: NO selection) +!----------------------------------------------------------------------- + ! ! adaptive-implicit vertical advection + ln_zad_Aimp = .false. ! Courant number dependent scheme (Shchepetkin 2015) + ! + ! ! type of vertical closure (required) + ln_zdfcst = .true. ! constant mixing + ln_zdfric = .false. ! local Richardson dependent formulation (T => fill namzdf_ric) + ln_zdftke = .false. ! Turbulent Kinetic Energy closure (T => fill namzdf_tke) + ln_zdfgls = .false. ! Generic Length Scale closure (T => fill namzdf_gls) + ln_zdfosm = .false. ! OSMOSIS BL closure (T => fill namzdf_osm) + ! + ! ! convection + ln_zdfevd = .false. ! enhanced vertical diffusion + nn_evdm = 0 ! apply on tracer (=0) or on tracer and momentum (=1) + rn_evd = 100. ! mixing coefficient [m2/s] + ln_zdfnpc = .false. ! Non-Penetrative Convective algorithm + nn_npc = 1 ! frequency of application of npc + nn_npcp = 365 ! npc control print frequency + ln_zdfmfc = .false. ! Mass Flux Convection + ! + ln_zdfddm = .false. ! double diffusive mixing + rn_avts = 1.e-4 ! maximum avs (vertical mixing on salinity) + rn_hsbfr = 1.6 ! heat/salt buoyancy flux ratio + ! + ! ! gravity wave-driven vertical mixing + ln_zdfiwm = .false. ! internal wave-induced mixing (T => fill namzdf_iwm) + ln_zdfswm = .false. ! surface wave-induced mixing (T => ln_wave=ln_sdw=T ) + ! + ! ! coefficients + rn_avm0 = 2.e-5 ! vertical eddy viscosity [m2/s] (background Kz if ln_zdfcst=F) + rn_avt0 = 2.e-5 ! vertical eddy diffusivity [m2/s] (background Kz if ln_zdfcst=F) + nn_avb = 0 ! profile for background avt & avm (=1) or not (=0) + nn_havtb = 0 ! horizontal shape for avtb (=1) or not (=0) +/ +!!====================================================================== +!! *** Diagnostics namelists *** !! +!! !! +!! namtrd dynamics and/or tracer trends (default: OFF) +!! namhsb Heat and salt budgets (default: OFF) +!! namdiu Cool skin and warm layer models (default: OFF) +!! namdiu Cool skin and warm layer models (default: OFF) +!! namflo float parameters (default: OFF) +!! nam_diadct transports through some sections (default: OFF) +!! nam_dia25h 25h Mean Output (default: OFF) +!! namnc4 netcdf4 chunking and compression settings ("key_netcdf4") +!!====================================================================== +! +!----------------------------------------------------------------------- +&namtrd ! trend diagnostics (default: OFF) +!----------------------------------------------------------------------- + ln_glo_trd = .false. ! (T) global domain averaged diag for T, T^2, KE, and PE + ln_dyn_trd = .true. ! (T) 3D momentum trend output + ln_dyn_mxl = .false. ! (T) 2D momentum trends averaged over the mixed layer (not coded yet) + ln_vor_trd = .false. ! (T) 2D barotropic vorticity trends (not coded yet) + ln_KE_trd = .false. ! (T) 3D Kinetic Energy trends + ln_PE_trd = .false. ! (T) 3D Potential Energy trends + ln_tra_trd = .false. ! (T) 3D tracer trend output + ln_tra_mxl = .false. ! (T) 2D tracer trends averaged over the mixed layer (not coded yet) + nn_trd = 1 ! print frequency (ln_glo_trd=T) (unit=time step) +/ +!!====================================================================== +!! *** Observation & Assimilation *** !! +!! !! +!! namobs observation and model comparison (default: OFF) +!! nam_asminc assimilation increments ('key_asminc') +!!====================================================================== +! +!!====================================================================== +!! *** Miscellaneous namelists *** !! +!! !! +!! nammpp Massively Parallel Processing ("key_mpp_mpi") +!! namctl Control prints (default: OFF) +!! namsto Stochastic parametrization of EOS (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&nammpp ! Massively Parallel Processing ("key_mpp_mpi") +!----------------------------------------------------------------------- +! ln_listonly = .false. ! do nothing else than listing the best domain decompositions (with land domains suppression) + ! ! if T: the largest number of cores tested is defined by max(mppsize, jpni*jpnj) +! ln_nnogather = .true. ! activate code to avoid mpi_allgather use at the northfold + jpni = 0 ! number of processors following i (set automatically if < 1), see also ln_listonly = T + jpnj = 0 ! number of processors following j (set automatically if < 1), see also ln_listonly = T +! nn_hls = 1 ! halo width (applies to both rows and columns) +/ +!----------------------------------------------------------------------- +&namctl ! Control prints (default: OFF) +!----------------------------------------------------------------------- + sn_cfctl%l_runstat = .TRUE. ! switches and which areas produce reports with the proc integer settings. +! sn_cfctl%l_trcstat = .FALSE. ! The default settings for the proc integers should ensure + sn_cfctl%l_oceout = .FALSE. ! that all areas report. +! sn_cfctl%l_layout = .FALSE. ! +! sn_cfctl%l_prtctl = .FALSE. ! +! sn_cfctl%l_prttrc = .FALSE. ! +! sn_cfctl%l_oasout = .FALSE. ! +! sn_cfctl%procmin = 0 ! Minimum area number for reporting [default:0] +! sn_cfctl%procmax = 1000000 ! Maximum area number for reporting [default:1000000] +! sn_cfctl%procincr = 1 ! Increment for optional subsetting of areas [default:1] +! sn_cfctl%ptimincr = 1 ! Timestep increment for writing time step progress info +! nn_ictls = 0 ! start i indice of control sum (use to compare mono versus +! nn_ictle = 0 ! end i indice of control sum multi processor runs +! nn_jctls = 0 ! start j indice of control over a subdomain) +! nn_jctle = 0 ! end j indice of control +! nn_isplt = 1 ! number of processors in i-direction +! nn_jsplt = 1 ! number of processors in j-direction + ln_timing = .true. ! timing by routine write out in timing.output file +! ln_diacfl = .false. ! CFL diagnostics write out in cfl_diagnostics.ascii +/ diff --git a/SEAMOUNT/EXPREF/nam_cfg/steep/namelist_cfg.prj_sh94 b/SEAMOUNT/EXPREF/nam_cfg/steep/namelist_cfg.prj_sh94 new file mode 100644 index 0000000..d9dbc30 --- /dev/null +++ b/SEAMOUNT/EXPREF/nam_cfg/steep/namelist_cfg.prj_sh94 @@ -0,0 +1,447 @@ +!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +!! NEMO/OCE : Reference namelist_ref !! +!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +!! NEMO/OCE : 1 - Domain & run manager (namrun, namcfg, namdom, namtsd, namcrs, namc1d, namc1d_uvd) +!! namelists 2 - Surface boundary (namsbc, namsbc_flx, namsbc_blk, namsbc_cpl, +!! namsbc_sas, namtra_qsr, namsbc_rnf, +!! namisf, namsbc_apr, +!! namsbc_ssr, namsbc_wave, namberg) +!! 3 - lateral boundary (namlbc, namagrif, nambdy, nambdy_tide) +!! 4 - top/bot boundary (namdrg, namdrg_top, namdrg_bot, nambbc, nambbl) +!! 5 - Tracer (nameos, namtra_adv, namtra_ldf, namtra_eiv, namtra_dmp) +!! 6 - dynamics (namdyn_adv, namdyn_vor, namdyn_hpg, namdyn_spg, namdyn_ldf) +!! 7 - Vertical physics (namzdf, namzdf_ric, namzdf_tke, namzdf_gls, namzdf_iwm) +!! 8 - diagnostics (namnc4, namtrd, namspr, namflo, namhsb) +!! 9 - Obs & Assim (namobs, nam_asminc) +!! 10 - miscellaneous (nammpp, namctl, namsto) +!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + +!!====================================================================== +!! *** Domain & Run management namelists *** !! +!! !! +!! namrun parameters of the run +!! namdom space and time domain +!! namcfg parameters of the configuration (default: user defined GYRE) +!! namwad Wetting and drying (default: OFF) +!! namtsd data: temperature & salinity (default: OFF) +!! namcrs coarsened grid (for outputs and/or TOP) (ln_crs =T) +!! namc1d 1D configuration options ("key_c1d") +!! namc1d_dyndmp 1D newtonian damping applied on currents ("key_c1d") +!! namc1d_uvd 1D data (currents) ("key_c1d") +!!====================================================================== +! +!----------------------------------------------------------------------- +&namusr_def ! SEAMOUNT TEST CASE +!----------------------------------------------------------------------- +!! PHYSICAL DOMAIN + rn_xdim = 504. ! x-dimension of the domain [km] + rn_ydim = 504. ! y-dimension of the domain [km] + rn_bot_max = 4500. ! max ocean depth (>0) [m] + rn_smnt_H = 4050. ! seamount height (>0) [m] + rn_smnt_L = 25. ! seamount width [km] + rn_fplane = 0.0001 ! Coriolis parameter for f-plane approximation +!! NUMERICAL DISCRETIZATION + rn_dx = 8000. ! horizontal resolution [m] + rn_dz = 236.8 ! vertical resolution far from the seamount + ! and assuming no stretching [m] +!! VERTICAL COORDINATE + ln_zco = .false. ! z-coordinate + ln_zps = .false. ! z-partial-step coordinate + ln_sco = .true. ! s-coordinate + ! Stretched s-levels (ln_sco = .true.) + ln_s_sh94 = .true. ! TRUE: s-levels using Song & Haidvogel 1994 (SH94) + ! stretching function + ! FALSE: uniform sigma-levels + rn_theta = 3.0 ! SH94 surface control parameter (0<=theta<=20) + rn_bb = 0.0 ! SH94 bottom control parameter (0<=bb<=1) + rn_hc = 500 ! SH94 critical depth for transition to stretched coordinates [m] + ! Paramaters for vqs-coordinate (ln_sco = .true.) + ln_vqs = .false. ! activating vanishing quasi-sigma levels (TRUE) + rn_rmax = 0.3 ! maximum cut-off slope parameter value allowed + ! if using vqs-levels (0> model level are fixed in time + ! + rn_Dt = 360. ! time step for the dynamics and tracer + ln_meshmask = .true. ! =T create a mesh file +/ +!----------------------------------------------------------------------- +&namcfg ! parameters of the configuration (default: use namusr_def in namelist_cfg) +!----------------------------------------------------------------------- + ln_read_cfg = .false. ! (=T) read the domain configuration file + ln_write_cfg = .true. ! (=T) create the domain configuration file + cn_domcfg_out = "domain_cfg_out" ! newly created domain configuration filename +/ +!----------------------------------------------------------------------- +&namtile ! parameters of the tiling +!----------------------------------------------------------------------- + ln_tile = .false. ! Use tiling (T) or not (F) + nn_ltile_i = 10 ! Length of tiles in i + nn_ltile_j = 10 ! Length of tiles in j +/ +!!====================================================================== +!! *** Surface Boundary Condition namelists *** !! +!! !! +!! namsbc surface boundary condition manager (default: NO selection) +!! namsbc_flx flux formulation (ln_flx =T) +!! namsbc_blk Bulk formulae formulation (ln_blk =T) +!! namsbc_cpl CouPLed formulation ("key_oasis3" ) +!! namsbc_sas Stand-Alone Surface module (SAS_SRC only) +!! namsbc_iif Ice-IF: use observed ice cover (nn_ice = 1 ) +!! namtra_qsr penetrative solar radiation (ln_traqsr =T) +!! namsbc_ssr sea surface restoring term (for T and/or S) (ln_ssr =T) +!! namsbc_rnf river runoffs (ln_rnf =T) +!! namsbc_apr Atmospheric Pressure (ln_apr_dyn =T) +!! namsbc_wave external fields from wave model (ln_wave =T) +!! namberg iceberg floats (ln_icebergs=T) +!! namsbc_fwb freshwater-budget adjustment (nn_fwb > 0) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namsbc ! Surface Boundary Condition manager (default: NO selection) +!----------------------------------------------------------------------- + nn_fsbc = 1 ! frequency of SBC module call + ! ! (control sea-ice & iceberg model call) + ! Type of air-sea fluxes + ln_usr = .true. ! user defined formulation (T => check usrdef_sbc) +/ +!!====================================================================== +!! *** Lateral boundary condition *** !! +!! !! +!! namlbc lateral momentum boundary condition (default: NO selection) +!! namagrif agrif nested grid (read by child model only) ("key_agrif") +!! nam_tide Tidal forcing (default: OFF) +!! nambdy Unstructured open boundaries (default: OFF) +!! nambdy_dta Unstructured open boundaries - external data (see nambdy) +!! nambdy_tide tidal forcing at open boundaries (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namlbc ! lateral momentum boundary condition (default: NO selection) +!----------------------------------------------------------------------- + ! ! free slip ! partial slip ! no slip ! strong slip + rn_shlat = 0.0 ! shlat = 0 ! 0 < shlat < 2 ! shlat = 2 ! 2 < shlat +/ +!!====================================================================== +!! *** Top/Bottom boundary condition *** !! +!! !! +!! namdrg top/bottom drag coefficient (default: NO selection) +!! namdrg_top top friction (ln_drg_OFF=F & ln_isfcav=T) +!! namdrg_bot bottom friction (ln_drg_OFF=F) +!! nambbc bottom temperature boundary condition (default: OFF) +!! nambbl bottom boundary layer scheme (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namdrg ! top/bottom drag coefficient (default: NO selection) +!----------------------------------------------------------------------- + ln_drg_OFF = .true. ! free-slip : Cd = 0 (F => fill namdrg_bot + ln_lin = .false. ! linear drag: Cd = Cd0 Uc0 & namdrg_top) + ln_non_lin = .false. ! non-linear drag: Cd = Cd0 |U| + ln_loglayer = .false. ! logarithmic drag: Cd = vkarmn/log(z/z0) |U| + ! + ln_drgimp = .false. ! implicit top/bottom friction flag + ln_drgice_imp = .true.! implicit ice-ocean drag +/ +!----------------------------------------------------------------------- +&namdrg_top ! TOP friction (ln_drg_OFF =F & ln_isfcav=T) +!----------------------------------------------------------------------- +/ +!----------------------------------------------------------------------- +&namdrg_bot ! BOTTOM friction (ln_drg_OFF =F) +!----------------------------------------------------------------------- + rn_Cd0 = 0.0 ! drag coefficient [-] + rn_Uc0 = 0.0 ! ref. velocity [m/s] (linear drag=Cd0*Uc0) + rn_Cdmax = 1.e-4 ! drag value maximum [-] (logarithmic drag) + rn_ke0 = 2.5e-3 ! background kinetic energy [m2/s2] (non-linear cases) + rn_z0 = 3.e-3 ! roughness [m] (ln_loglayer=T) + ln_boost = .false. ! =T regional boost of Cd0 ; =F constant + rn_boost = 50. ! local boost factor [-] +/ +!!====================================================================== +!! Tracer (T-S) namelists !! +!! !! +!! nameos equation of state (default: NO selection) +!! namtra_adv advection scheme (default: NO selection) +!! namtra_ldf lateral diffusion scheme (default: NO selection) +!! namtra_mle mixed layer eddy param. (Fox-Kemper param.) (default: OFF) +!! namtra_eiv eddy induced velocity param. (default: OFF) +!! namtra_dmp T & S newtonian damping (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&nameos ! ocean Equation Of Seawater (default: NO selection) +!----------------------------------------------------------------------- + ln_teos10 = .false. ! = Use TEOS-10 + ln_eos80 = .true. ! = Use EOS80 + ln_seos = .false. ! = Use S-EOS (simplified Eq.) + ! + ! ! S-EOS coefficients (ln_seos=T): + ! ! rd(T,S,Z)*rho0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS + rn_a0 = 1.6550e-1 ! thermal expension coefficient + rn_b0 = 0.0 ! saline expension coefficient + rn_lambda1 = 0.0 ! cabbeling coeff in T^2 (=0 for linear eos) + rn_lambda2 = 0.0 ! cabbeling coeff in S^2 (=0 for linear eos) + rn_mu1 = 0.0 ! thermobaric coeff. in T (=0 for linear eos) + rn_mu2 = 0.0 ! thermobaric coeff. in S (=0 for linear eos) + rn_nu = 0.0 ! cabbeling coeff in T*S (=0 for linear eos) +/ +!----------------------------------------------------------------------- +&namtra_adv ! advection scheme for tracer (default: NO selection) +!----------------------------------------------------------------------- + ln_traadv_OFF = .false. ! No tracer advection + ln_traadv_cen = .true. ! 2nd order centered scheme + nn_cen_h = 2 ! =2/4, horizontal 2nd order CEN / 4th order CEN + nn_cen_v = 2 ! =2/4, vertical 2nd order CEN / 4th order COMPACT + ln_traadv_fct = .false. ! FCT scheme + nn_fct_h = 2 ! =2/4, horizontal 2nd / 4th order + nn_fct_v = 2 ! =2/4, vertical 2nd / COMPACT 4th order + ln_traadv_mus = .false. ! MUSCL scheme + ln_mus_ups = .false. ! use upstream scheme near river mouths + ln_traadv_ubs = .false. ! UBS scheme + nn_ubs_v = 2 ! =2 , vertical 2nd order FCT / COMPACT 4th order + ln_traadv_qck = .false. ! QUICKEST scheme +/ +!----------------------------------------------------------------------- +&namtra_ldf ! lateral diffusion scheme for tracers (default: NO selection) +!----------------------------------------------------------------------- + ! ! Operator type: + ln_traldf_OFF = .true. ! No explicit diffusion +/ +!!====================================================================== +!! *** Dynamics namelists *** !! +!! !! +!! nam_vvl vertical coordinate options (default: z-star) +!! namdyn_adv formulation of the momentum advection (default: NO selection) +!! namdyn_vor advection scheme (default: NO selection) +!! namdyn_hpg hydrostatic pressure gradient (default: NO selection) +!! namdyn_spg surface pressure gradient (default: NO selection) +!! namdyn_ldf lateral diffusion scheme (default: NO selection) +!! namdta_dyn offline TOP: dynamics read in files (OFF_SRC only) +!!====================================================================== +! +!----------------------------------------------------------------------- +&nam_vvl ! vertical coordinate options (default: z-star) +!----------------------------------------------------------------------- + ln_vvl_zstar = .true. ! z-star vertical coordinate + ln_vvl_ztilde = .false. ! z-tilde vertical coordinate: only high frequency variations + ln_vvl_layer = .false. ! full layer vertical coordinate + ln_vvl_ztilde_as_zstar = .false. ! ztilde vertical coordinate emulating zstar + ln_vvl_zstar_at_eqtor = .false. ! ztilde near the equator + rn_ahe3 = 0.0 ! thickness diffusion coefficient + rn_rst_e3t = 30.0 ! ztilde to zstar restoration timescale [days] + rn_lf_cutoff = 5.0 ! cutoff frequency for low-pass filter [days] + rn_zdef_max = 0.9 ! maximum fractional e3t deformation + ln_vvl_dbg = .false. ! debug prints (T/F) +/ +!----------------------------------------------------------------------- +&namdyn_adv ! formulation of the momentum advection (default: NO selection) +!----------------------------------------------------------------------- + ln_dynadv_OFF = .false. ! linear dynamics (no momentum advection) + ln_dynadv_vec = .true. ! vector form - 2nd centered scheme + nn_dynkeg = 0 ! grad(KE) scheme: =0 C2 ; =1 Hollingsworth correction + ln_dynadv_cen2 = .false. ! flux form - 2nd order centered scheme + ln_dynadv_ubs = .false. ! flux form - 3rd order UBS scheme +/ +!----------------------------------------------------------------------- +&namdyn_vor ! Vorticity / Coriolis scheme (default: NO selection) +!----------------------------------------------------------------------- + ln_dynvor_ene = .false. ! energy conserving scheme + ln_dynvor_ens = .false. ! enstrophy conserving scheme + ln_dynvor_mix = .false. ! mixed scheme + ln_dynvor_enT = .false. ! energy conserving scheme (T-point) + ln_dynvor_eeT = .false. ! energy conserving scheme (een using e3t) + ln_dynvor_een = .true. ! energy & enstrophy scheme + ! + ln_dynvor_msk = .false. ! vorticity multiplied by fmask (=T) ==>>> PLEASE DO NOT ACTIVATE + ! ! (f-point vorticity schemes only) + ! + nn_e3f_typ = 0 ! type of e3f (EEN, ENE, ENS, MIX only) =0 e3f = mi(mj(e3t))/4 + ! ! =1 e3f = mi(mj(e3t))/mi(mj( tmask)) +/ +!----------------------------------------------------------------------- +&namdyn_hpg ! Hydrostatic pressure gradient option (default: NO selection) +!----------------------------------------------------------------------- + ln_hpg_zco = .false. ! z-coordinate - full steps + ln_hpg_zps = .false. ! z-coordinate - partial steps (interpolation) + ln_hpg_sco = .false. ! s-coordinate (standard jacobian formulation) + ln_hpg_isf = .false. ! s-coordinate (sco ) adapted to isf + ln_hpg_djc = .false. ! s-coordinate (Density Jacobian with Cubic polynomial) + ln_hpg_djc_vnh = .true. ! hor. bc type for djc scheme (T=von Neumann, F=linear extrapolation) + ln_hpg_djc_vnv = .true. ! vert. bc type for djc scheme (T=von Neumann, F=linear extrapolation) + ln_hpg_prj = .true. ! s-coordinate (Pressure Jacobian scheme) +/ +!----------------------------------------------------------------------- +&namdyn_spg ! surface pressure gradient (default: NO selection) +!----------------------------------------------------------------------- + ln_dynspg_exp = .false. ! explicit free surface + ln_dynspg_ts = .true. ! split-explicit free surface + nn_e = 30 ! =F : the number of sub-step in rn_Dt seconds +/ +!----------------------------------------------------------------------- +&namdyn_ldf ! lateral diffusion on momentum (default: NO selection) +!----------------------------------------------------------------------- + ! ! Type of the operator : + ln_dynldf_OFF = .false. ! No operator (i.e. no explicit diffusion) + nn_dynldf_typ = 0 ! =0 div-rot (default) ; =1 symmetric + ln_dynldf_lap = .true. ! laplacian operator + ln_dynldf_blp = .false. ! bilaplacian operator + ! ! Direction of action : + ln_dynldf_lev = .true. ! iso-level + ln_dynldf_hor = .false. ! horizontal (geopotential) + ln_dynldf_iso = .false. ! iso-neutral (lap only) + ! ! Coefficient + nn_ahm_ijk_t = 0 ! space/time variation of eddy coefficient : + ! ! =-30 read in eddy_viscosity_3D.nc file + ! ! =-20 read in eddy_viscosity_2D.nc file + ! ! = 0 constant + ! ! = 10 F(k)=c1d + ! ! = 20 F(i,j)=F(grid spacing)=c2d + ! ! = 30 F(i,j,k)=c2d*c1d + ! ! = 31 F(i,j,k)=F(grid spacing and local velocity) + ! ! = 32 F(i,j,k)=F(local gridscale and deformation rate) + ! ! time invariant coefficients : ahm = 1/2 Uv*Lv (lap case) + ! ! or = 1/12 Uv*Lv^3 (blp case) + rn_Uv = 1.0 ! lateral viscous velocity [m/s] (nn_ahm_ijk_t= 0, 10, 20, 30) + rn_Lv = 1.e+3 ! lateral viscous length [m] (nn_ahm_ijk_t= 0, 10) +/ +!!====================================================================== +!! vertical physics namelists !! +!! !! +!! namzdf vertical physics manager (default: NO selection) +!! namzdf_ric richardson number vertical mixing (ln_zdfric=T) +!! namzdf_tke TKE vertical mixing (ln_zdftke=T) +!! namzdf_gls GLS vertical mixing (ln_zdfgls=T) +!! namzdf_osm OSM vertical diffusion (ln_zdfosm=T) +!! namzdf_iwm tidal mixing parameterization (ln_zdfiwm=T) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namzdf ! vertical physics manager (default: NO selection) +!----------------------------------------------------------------------- + ! ! adaptive-implicit vertical advection + ln_zad_Aimp = .false. ! Courant number dependent scheme (Shchepetkin 2015) + ! + ! ! type of vertical closure (required) + ln_zdfcst = .true. ! constant mixing + ln_zdfric = .false. ! local Richardson dependent formulation (T => fill namzdf_ric) + ln_zdftke = .false. ! Turbulent Kinetic Energy closure (T => fill namzdf_tke) + ln_zdfgls = .false. ! Generic Length Scale closure (T => fill namzdf_gls) + ln_zdfosm = .false. ! OSMOSIS BL closure (T => fill namzdf_osm) + ! + ! ! convection + ln_zdfevd = .false. ! enhanced vertical diffusion + nn_evdm = 0 ! apply on tracer (=0) or on tracer and momentum (=1) + rn_evd = 100. ! mixing coefficient [m2/s] + ln_zdfnpc = .false. ! Non-Penetrative Convective algorithm + nn_npc = 1 ! frequency of application of npc + nn_npcp = 365 ! npc control print frequency + ln_zdfmfc = .false. ! Mass Flux Convection + ! + ln_zdfddm = .false. ! double diffusive mixing + rn_avts = 1.e-4 ! maximum avs (vertical mixing on salinity) + rn_hsbfr = 1.6 ! heat/salt buoyancy flux ratio + ! + ! ! gravity wave-driven vertical mixing + ln_zdfiwm = .false. ! internal wave-induced mixing (T => fill namzdf_iwm) + ln_zdfswm = .false. ! surface wave-induced mixing (T => ln_wave=ln_sdw=T ) + ! + ! ! coefficients + rn_avm0 = 2.e-5 ! vertical eddy viscosity [m2/s] (background Kz if ln_zdfcst=F) + rn_avt0 = 2.e-5 ! vertical eddy diffusivity [m2/s] (background Kz if ln_zdfcst=F) + nn_avb = 0 ! profile for background avt & avm (=1) or not (=0) + nn_havtb = 0 ! horizontal shape for avtb (=1) or not (=0) +/ +!!====================================================================== +!! *** Diagnostics namelists *** !! +!! !! +!! namtrd dynamics and/or tracer trends (default: OFF) +!! namhsb Heat and salt budgets (default: OFF) +!! namdiu Cool skin and warm layer models (default: OFF) +!! namdiu Cool skin and warm layer models (default: OFF) +!! namflo float parameters (default: OFF) +!! nam_diadct transports through some sections (default: OFF) +!! nam_dia25h 25h Mean Output (default: OFF) +!! namnc4 netcdf4 chunking and compression settings ("key_netcdf4") +!!====================================================================== +! +!----------------------------------------------------------------------- +&namtrd ! trend diagnostics (default: OFF) +!----------------------------------------------------------------------- + ln_glo_trd = .false. ! (T) global domain averaged diag for T, T^2, KE, and PE + ln_dyn_trd = .true. ! (T) 3D momentum trend output + ln_dyn_mxl = .false. ! (T) 2D momentum trends averaged over the mixed layer (not coded yet) + ln_vor_trd = .false. ! (T) 2D barotropic vorticity trends (not coded yet) + ln_KE_trd = .false. ! (T) 3D Kinetic Energy trends + ln_PE_trd = .false. ! (T) 3D Potential Energy trends + ln_tra_trd = .false. ! (T) 3D tracer trend output + ln_tra_mxl = .false. ! (T) 2D tracer trends averaged over the mixed layer (not coded yet) + nn_trd = 1 ! print frequency (ln_glo_trd=T) (unit=time step) +/ +!!====================================================================== +!! *** Observation & Assimilation *** !! +!! !! +!! namobs observation and model comparison (default: OFF) +!! nam_asminc assimilation increments ('key_asminc') +!!====================================================================== +! +!!====================================================================== +!! *** Miscellaneous namelists *** !! +!! !! +!! nammpp Massively Parallel Processing ("key_mpp_mpi") +!! namctl Control prints (default: OFF) +!! namsto Stochastic parametrization of EOS (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&nammpp ! Massively Parallel Processing ("key_mpp_mpi") +!----------------------------------------------------------------------- +! ln_listonly = .false. ! do nothing else than listing the best domain decompositions (with land domains suppression) + ! ! if T: the largest number of cores tested is defined by max(mppsize, jpni*jpnj) +! ln_nnogather = .true. ! activate code to avoid mpi_allgather use at the northfold + jpni = 0 ! number of processors following i (set automatically if < 1), see also ln_listonly = T + jpnj = 0 ! number of processors following j (set automatically if < 1), see also ln_listonly = T +! nn_hls = 1 ! halo width (applies to both rows and columns) +/ +!----------------------------------------------------------------------- +&namctl ! Control prints (default: OFF) +!----------------------------------------------------------------------- + sn_cfctl%l_runstat = .TRUE. ! switches and which areas produce reports with the proc integer settings. +! sn_cfctl%l_trcstat = .FALSE. ! The default settings for the proc integers should ensure + sn_cfctl%l_oceout = .FALSE. ! that all areas report. +! sn_cfctl%l_layout = .FALSE. ! +! sn_cfctl%l_prtctl = .FALSE. ! +! sn_cfctl%l_prttrc = .FALSE. ! +! sn_cfctl%l_oasout = .FALSE. ! +! sn_cfctl%procmin = 0 ! Minimum area number for reporting [default:0] +! sn_cfctl%procmax = 1000000 ! Maximum area number for reporting [default:1000000] +! sn_cfctl%procincr = 1 ! Increment for optional subsetting of areas [default:1] +! sn_cfctl%ptimincr = 1 ! Timestep increment for writing time step progress info +! nn_ictls = 0 ! start i indice of control sum (use to compare mono versus +! nn_ictle = 0 ! end i indice of control sum multi processor runs +! nn_jctls = 0 ! start j indice of control over a subdomain) +! nn_jctle = 0 ! end j indice of control +! nn_isplt = 1 ! number of processors in i-direction +! nn_jsplt = 1 ! number of processors in j-direction + ln_timing = .true. ! timing by routine write out in timing.output file +! ln_diacfl = .false. ! CFL diagnostics write out in cfl_diagnostics.ascii +/ diff --git a/SEAMOUNT/EXPREF/nam_cfg/steep/namelist_cfg.prj_sig b/SEAMOUNT/EXPREF/nam_cfg/steep/namelist_cfg.prj_sig new file mode 100644 index 0000000..e068c49 --- /dev/null +++ b/SEAMOUNT/EXPREF/nam_cfg/steep/namelist_cfg.prj_sig @@ -0,0 +1,447 @@ +!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +!! NEMO/OCE : Reference namelist_ref !! +!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +!! NEMO/OCE : 1 - Domain & run manager (namrun, namcfg, namdom, namtsd, namcrs, namc1d, namc1d_uvd) +!! namelists 2 - Surface boundary (namsbc, namsbc_flx, namsbc_blk, namsbc_cpl, +!! namsbc_sas, namtra_qsr, namsbc_rnf, +!! namisf, namsbc_apr, +!! namsbc_ssr, namsbc_wave, namberg) +!! 3 - lateral boundary (namlbc, namagrif, nambdy, nambdy_tide) +!! 4 - top/bot boundary (namdrg, namdrg_top, namdrg_bot, nambbc, nambbl) +!! 5 - Tracer (nameos, namtra_adv, namtra_ldf, namtra_eiv, namtra_dmp) +!! 6 - dynamics (namdyn_adv, namdyn_vor, namdyn_hpg, namdyn_spg, namdyn_ldf) +!! 7 - Vertical physics (namzdf, namzdf_ric, namzdf_tke, namzdf_gls, namzdf_iwm) +!! 8 - diagnostics (namnc4, namtrd, namspr, namflo, namhsb) +!! 9 - Obs & Assim (namobs, nam_asminc) +!! 10 - miscellaneous (nammpp, namctl, namsto) +!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + +!!====================================================================== +!! *** Domain & Run management namelists *** !! +!! !! +!! namrun parameters of the run +!! namdom space and time domain +!! namcfg parameters of the configuration (default: user defined GYRE) +!! namwad Wetting and drying (default: OFF) +!! namtsd data: temperature & salinity (default: OFF) +!! namcrs coarsened grid (for outputs and/or TOP) (ln_crs =T) +!! namc1d 1D configuration options ("key_c1d") +!! namc1d_dyndmp 1D newtonian damping applied on currents ("key_c1d") +!! namc1d_uvd 1D data (currents) ("key_c1d") +!!====================================================================== +! +!----------------------------------------------------------------------- +&namusr_def ! SEAMOUNT TEST CASE +!----------------------------------------------------------------------- +!! PHYSICAL DOMAIN + rn_xdim = 504. ! x-dimension of the domain [km] + rn_ydim = 504. ! y-dimension of the domain [km] + rn_bot_max = 4500. ! max ocean depth (>0) [m] + rn_smnt_H = 4050. ! seamount height (>0) [m] + rn_smnt_L = 25. ! seamount width [km] + rn_fplane = 0.0001 ! Coriolis parameter for f-plane approximation +!! NUMERICAL DISCRETIZATION + rn_dx = 8000. ! horizontal resolution [m] + rn_dz = 236.8 ! vertical resolution far from the seamount + ! and assuming no stretching [m] +!! VERTICAL COORDINATE + ln_zco = .false. ! z-coordinate + ln_zps = .false. ! z-partial-step coordinate + ln_sco = .true. ! s-coordinate + ! Stretched s-levels (ln_sco = .true.) + ln_s_sh94 = .false. ! TRUE: s-levels using Song & Haidvogel 1994 (SH94) + ! stretching function + ! FALSE: uniform sigma-levels + rn_theta = 3.0 ! SH94 surface control parameter (0<=theta<=20) + rn_bb = 0.0 ! SH94 bottom control parameter (0<=bb<=1) + rn_hc = 500 ! SH94 critical depth for transition to stretched coordinates [m] + ! Paramaters for vqs-coordinate (ln_sco = .true.) + ln_vqs = .false. ! activating vanishing quasi-sigma levels (TRUE) + rn_rmax = 0.3 ! maximum cut-off slope parameter value allowed + ! if using vqs-levels (0> model level are fixed in time + ! + rn_Dt = 360. ! time step for the dynamics and tracer + ln_meshmask = .true. ! =T create a mesh file +/ +!----------------------------------------------------------------------- +&namcfg ! parameters of the configuration (default: use namusr_def in namelist_cfg) +!----------------------------------------------------------------------- + ln_read_cfg = .false. ! (=T) read the domain configuration file + ln_write_cfg = .true. ! (=T) create the domain configuration file + cn_domcfg_out = "domain_cfg_out" ! newly created domain configuration filename +/ +!----------------------------------------------------------------------- +&namtile ! parameters of the tiling +!----------------------------------------------------------------------- + ln_tile = .false. ! Use tiling (T) or not (F) + nn_ltile_i = 10 ! Length of tiles in i + nn_ltile_j = 10 ! Length of tiles in j +/ +!!====================================================================== +!! *** Surface Boundary Condition namelists *** !! +!! !! +!! namsbc surface boundary condition manager (default: NO selection) +!! namsbc_flx flux formulation (ln_flx =T) +!! namsbc_blk Bulk formulae formulation (ln_blk =T) +!! namsbc_cpl CouPLed formulation ("key_oasis3" ) +!! namsbc_sas Stand-Alone Surface module (SAS_SRC only) +!! namsbc_iif Ice-IF: use observed ice cover (nn_ice = 1 ) +!! namtra_qsr penetrative solar radiation (ln_traqsr =T) +!! namsbc_ssr sea surface restoring term (for T and/or S) (ln_ssr =T) +!! namsbc_rnf river runoffs (ln_rnf =T) +!! namsbc_apr Atmospheric Pressure (ln_apr_dyn =T) +!! namsbc_wave external fields from wave model (ln_wave =T) +!! namberg iceberg floats (ln_icebergs=T) +!! namsbc_fwb freshwater-budget adjustment (nn_fwb > 0) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namsbc ! Surface Boundary Condition manager (default: NO selection) +!----------------------------------------------------------------------- + nn_fsbc = 1 ! frequency of SBC module call + ! ! (control sea-ice & iceberg model call) + ! Type of air-sea fluxes + ln_usr = .true. ! user defined formulation (T => check usrdef_sbc) +/ +!!====================================================================== +!! *** Lateral boundary condition *** !! +!! !! +!! namlbc lateral momentum boundary condition (default: NO selection) +!! namagrif agrif nested grid (read by child model only) ("key_agrif") +!! nam_tide Tidal forcing (default: OFF) +!! nambdy Unstructured open boundaries (default: OFF) +!! nambdy_dta Unstructured open boundaries - external data (see nambdy) +!! nambdy_tide tidal forcing at open boundaries (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namlbc ! lateral momentum boundary condition (default: NO selection) +!----------------------------------------------------------------------- + ! ! free slip ! partial slip ! no slip ! strong slip + rn_shlat = 0.0 ! shlat = 0 ! 0 < shlat < 2 ! shlat = 2 ! 2 < shlat +/ +!!====================================================================== +!! *** Top/Bottom boundary condition *** !! +!! !! +!! namdrg top/bottom drag coefficient (default: NO selection) +!! namdrg_top top friction (ln_drg_OFF=F & ln_isfcav=T) +!! namdrg_bot bottom friction (ln_drg_OFF=F) +!! nambbc bottom temperature boundary condition (default: OFF) +!! nambbl bottom boundary layer scheme (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namdrg ! top/bottom drag coefficient (default: NO selection) +!----------------------------------------------------------------------- + ln_drg_OFF = .true. ! free-slip : Cd = 0 (F => fill namdrg_bot + ln_lin = .false. ! linear drag: Cd = Cd0 Uc0 & namdrg_top) + ln_non_lin = .false. ! non-linear drag: Cd = Cd0 |U| + ln_loglayer = .false. ! logarithmic drag: Cd = vkarmn/log(z/z0) |U| + ! + ln_drgimp = .false. ! implicit top/bottom friction flag + ln_drgice_imp = .true.! implicit ice-ocean drag +/ +!----------------------------------------------------------------------- +&namdrg_top ! TOP friction (ln_drg_OFF =F & ln_isfcav=T) +!----------------------------------------------------------------------- +/ +!----------------------------------------------------------------------- +&namdrg_bot ! BOTTOM friction (ln_drg_OFF =F) +!----------------------------------------------------------------------- + rn_Cd0 = 0.0 ! drag coefficient [-] + rn_Uc0 = 0.0 ! ref. velocity [m/s] (linear drag=Cd0*Uc0) + rn_Cdmax = 1.e-4 ! drag value maximum [-] (logarithmic drag) + rn_ke0 = 2.5e-3 ! background kinetic energy [m2/s2] (non-linear cases) + rn_z0 = 3.e-3 ! roughness [m] (ln_loglayer=T) + ln_boost = .false. ! =T regional boost of Cd0 ; =F constant + rn_boost = 50. ! local boost factor [-] +/ +!!====================================================================== +!! Tracer (T-S) namelists !! +!! !! +!! nameos equation of state (default: NO selection) +!! namtra_adv advection scheme (default: NO selection) +!! namtra_ldf lateral diffusion scheme (default: NO selection) +!! namtra_mle mixed layer eddy param. (Fox-Kemper param.) (default: OFF) +!! namtra_eiv eddy induced velocity param. (default: OFF) +!! namtra_dmp T & S newtonian damping (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&nameos ! ocean Equation Of Seawater (default: NO selection) +!----------------------------------------------------------------------- + ln_teos10 = .false. ! = Use TEOS-10 + ln_eos80 = .true. ! = Use EOS80 + ln_seos = .false. ! = Use S-EOS (simplified Eq.) + ! + ! ! S-EOS coefficients (ln_seos=T): + ! ! rd(T,S,Z)*rho0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS + rn_a0 = 1.6550e-1 ! thermal expension coefficient + rn_b0 = 0.0 ! saline expension coefficient + rn_lambda1 = 0.0 ! cabbeling coeff in T^2 (=0 for linear eos) + rn_lambda2 = 0.0 ! cabbeling coeff in S^2 (=0 for linear eos) + rn_mu1 = 0.0 ! thermobaric coeff. in T (=0 for linear eos) + rn_mu2 = 0.0 ! thermobaric coeff. in S (=0 for linear eos) + rn_nu = 0.0 ! cabbeling coeff in T*S (=0 for linear eos) +/ +!----------------------------------------------------------------------- +&namtra_adv ! advection scheme for tracer (default: NO selection) +!----------------------------------------------------------------------- + ln_traadv_OFF = .false. ! No tracer advection + ln_traadv_cen = .true. ! 2nd order centered scheme + nn_cen_h = 2 ! =2/4, horizontal 2nd order CEN / 4th order CEN + nn_cen_v = 2 ! =2/4, vertical 2nd order CEN / 4th order COMPACT + ln_traadv_fct = .false. ! FCT scheme + nn_fct_h = 2 ! =2/4, horizontal 2nd / 4th order + nn_fct_v = 2 ! =2/4, vertical 2nd / COMPACT 4th order + ln_traadv_mus = .false. ! MUSCL scheme + ln_mus_ups = .false. ! use upstream scheme near river mouths + ln_traadv_ubs = .false. ! UBS scheme + nn_ubs_v = 2 ! =2 , vertical 2nd order FCT / COMPACT 4th order + ln_traadv_qck = .false. ! QUICKEST scheme +/ +!----------------------------------------------------------------------- +&namtra_ldf ! lateral diffusion scheme for tracers (default: NO selection) +!----------------------------------------------------------------------- + ! ! Operator type: + ln_traldf_OFF = .true. ! No explicit diffusion +/ +!!====================================================================== +!! *** Dynamics namelists *** !! +!! !! +!! nam_vvl vertical coordinate options (default: z-star) +!! namdyn_adv formulation of the momentum advection (default: NO selection) +!! namdyn_vor advection scheme (default: NO selection) +!! namdyn_hpg hydrostatic pressure gradient (default: NO selection) +!! namdyn_spg surface pressure gradient (default: NO selection) +!! namdyn_ldf lateral diffusion scheme (default: NO selection) +!! namdta_dyn offline TOP: dynamics read in files (OFF_SRC only) +!!====================================================================== +! +!----------------------------------------------------------------------- +&nam_vvl ! vertical coordinate options (default: z-star) +!----------------------------------------------------------------------- + ln_vvl_zstar = .true. ! z-star vertical coordinate + ln_vvl_ztilde = .false. ! z-tilde vertical coordinate: only high frequency variations + ln_vvl_layer = .false. ! full layer vertical coordinate + ln_vvl_ztilde_as_zstar = .false. ! ztilde vertical coordinate emulating zstar + ln_vvl_zstar_at_eqtor = .false. ! ztilde near the equator + rn_ahe3 = 0.0 ! thickness diffusion coefficient + rn_rst_e3t = 30.0 ! ztilde to zstar restoration timescale [days] + rn_lf_cutoff = 5.0 ! cutoff frequency for low-pass filter [days] + rn_zdef_max = 0.9 ! maximum fractional e3t deformation + ln_vvl_dbg = .false. ! debug prints (T/F) +/ +!----------------------------------------------------------------------- +&namdyn_adv ! formulation of the momentum advection (default: NO selection) +!----------------------------------------------------------------------- + ln_dynadv_OFF = .false. ! linear dynamics (no momentum advection) + ln_dynadv_vec = .true. ! vector form - 2nd centered scheme + nn_dynkeg = 0 ! grad(KE) scheme: =0 C2 ; =1 Hollingsworth correction + ln_dynadv_cen2 = .false. ! flux form - 2nd order centered scheme + ln_dynadv_ubs = .false. ! flux form - 3rd order UBS scheme +/ +!----------------------------------------------------------------------- +&namdyn_vor ! Vorticity / Coriolis scheme (default: NO selection) +!----------------------------------------------------------------------- + ln_dynvor_ene = .false. ! energy conserving scheme + ln_dynvor_ens = .false. ! enstrophy conserving scheme + ln_dynvor_mix = .false. ! mixed scheme + ln_dynvor_enT = .false. ! energy conserving scheme (T-point) + ln_dynvor_eeT = .false. ! energy conserving scheme (een using e3t) + ln_dynvor_een = .true. ! energy & enstrophy scheme + ! + ln_dynvor_msk = .false. ! vorticity multiplied by fmask (=T) ==>>> PLEASE DO NOT ACTIVATE + ! ! (f-point vorticity schemes only) + ! + nn_e3f_typ = 0 ! type of e3f (EEN, ENE, ENS, MIX only) =0 e3f = mi(mj(e3t))/4 + ! ! =1 e3f = mi(mj(e3t))/mi(mj( tmask)) +/ +!----------------------------------------------------------------------- +&namdyn_hpg ! Hydrostatic pressure gradient option (default: NO selection) +!----------------------------------------------------------------------- + ln_hpg_zco = .false. ! z-coordinate - full steps + ln_hpg_zps = .false. ! z-coordinate - partial steps (interpolation) + ln_hpg_sco = .false. ! s-coordinate (standard jacobian formulation) + ln_hpg_isf = .false. ! s-coordinate (sco ) adapted to isf + ln_hpg_djc = .false. ! s-coordinate (Density Jacobian with Cubic polynomial) + ln_hpg_djc_vnh = .true. ! hor. bc type for djc scheme (T=von Neumann, F=linear extrapolation) + ln_hpg_djc_vnv = .true. ! vert. bc type for djc scheme (T=von Neumann, F=linear extrapolation) + ln_hpg_prj = .true. ! s-coordinate (Pressure Jacobian scheme) +/ +!----------------------------------------------------------------------- +&namdyn_spg ! surface pressure gradient (default: NO selection) +!----------------------------------------------------------------------- + ln_dynspg_exp = .false. ! explicit free surface + ln_dynspg_ts = .true. ! split-explicit free surface + nn_e = 30 ! =F : the number of sub-step in rn_Dt seconds +/ +!----------------------------------------------------------------------- +&namdyn_ldf ! lateral diffusion on momentum (default: NO selection) +!----------------------------------------------------------------------- + ! ! Type of the operator : + ln_dynldf_OFF = .false. ! No operator (i.e. no explicit diffusion) + nn_dynldf_typ = 0 ! =0 div-rot (default) ; =1 symmetric + ln_dynldf_lap = .true. ! laplacian operator + ln_dynldf_blp = .false. ! bilaplacian operator + ! ! Direction of action : + ln_dynldf_lev = .true. ! iso-level + ln_dynldf_hor = .false. ! horizontal (geopotential) + ln_dynldf_iso = .false. ! iso-neutral (lap only) + ! ! Coefficient + nn_ahm_ijk_t = 0 ! space/time variation of eddy coefficient : + ! ! =-30 read in eddy_viscosity_3D.nc file + ! ! =-20 read in eddy_viscosity_2D.nc file + ! ! = 0 constant + ! ! = 10 F(k)=c1d + ! ! = 20 F(i,j)=F(grid spacing)=c2d + ! ! = 30 F(i,j,k)=c2d*c1d + ! ! = 31 F(i,j,k)=F(grid spacing and local velocity) + ! ! = 32 F(i,j,k)=F(local gridscale and deformation rate) + ! ! time invariant coefficients : ahm = 1/2 Uv*Lv (lap case) + ! ! or = 1/12 Uv*Lv^3 (blp case) + rn_Uv = 1.0 ! lateral viscous velocity [m/s] (nn_ahm_ijk_t= 0, 10, 20, 30) + rn_Lv = 1.e+3 ! lateral viscous length [m] (nn_ahm_ijk_t= 0, 10) +/ +!!====================================================================== +!! vertical physics namelists !! +!! !! +!! namzdf vertical physics manager (default: NO selection) +!! namzdf_ric richardson number vertical mixing (ln_zdfric=T) +!! namzdf_tke TKE vertical mixing (ln_zdftke=T) +!! namzdf_gls GLS vertical mixing (ln_zdfgls=T) +!! namzdf_osm OSM vertical diffusion (ln_zdfosm=T) +!! namzdf_iwm tidal mixing parameterization (ln_zdfiwm=T) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namzdf ! vertical physics manager (default: NO selection) +!----------------------------------------------------------------------- + ! ! adaptive-implicit vertical advection + ln_zad_Aimp = .false. ! Courant number dependent scheme (Shchepetkin 2015) + ! + ! ! type of vertical closure (required) + ln_zdfcst = .true. ! constant mixing + ln_zdfric = .false. ! local Richardson dependent formulation (T => fill namzdf_ric) + ln_zdftke = .false. ! Turbulent Kinetic Energy closure (T => fill namzdf_tke) + ln_zdfgls = .false. ! Generic Length Scale closure (T => fill namzdf_gls) + ln_zdfosm = .false. ! OSMOSIS BL closure (T => fill namzdf_osm) + ! + ! ! convection + ln_zdfevd = .false. ! enhanced vertical diffusion + nn_evdm = 0 ! apply on tracer (=0) or on tracer and momentum (=1) + rn_evd = 100. ! mixing coefficient [m2/s] + ln_zdfnpc = .false. ! Non-Penetrative Convective algorithm + nn_npc = 1 ! frequency of application of npc + nn_npcp = 365 ! npc control print frequency + ln_zdfmfc = .false. ! Mass Flux Convection + ! + ln_zdfddm = .false. ! double diffusive mixing + rn_avts = 1.e-4 ! maximum avs (vertical mixing on salinity) + rn_hsbfr = 1.6 ! heat/salt buoyancy flux ratio + ! + ! ! gravity wave-driven vertical mixing + ln_zdfiwm = .false. ! internal wave-induced mixing (T => fill namzdf_iwm) + ln_zdfswm = .false. ! surface wave-induced mixing (T => ln_wave=ln_sdw=T ) + ! + ! ! coefficients + rn_avm0 = 2.e-5 ! vertical eddy viscosity [m2/s] (background Kz if ln_zdfcst=F) + rn_avt0 = 2.e-5 ! vertical eddy diffusivity [m2/s] (background Kz if ln_zdfcst=F) + nn_avb = 0 ! profile for background avt & avm (=1) or not (=0) + nn_havtb = 0 ! horizontal shape for avtb (=1) or not (=0) +/ +!!====================================================================== +!! *** Diagnostics namelists *** !! +!! !! +!! namtrd dynamics and/or tracer trends (default: OFF) +!! namhsb Heat and salt budgets (default: OFF) +!! namdiu Cool skin and warm layer models (default: OFF) +!! namdiu Cool skin and warm layer models (default: OFF) +!! namflo float parameters (default: OFF) +!! nam_diadct transports through some sections (default: OFF) +!! nam_dia25h 25h Mean Output (default: OFF) +!! namnc4 netcdf4 chunking and compression settings ("key_netcdf4") +!!====================================================================== +! +!----------------------------------------------------------------------- +&namtrd ! trend diagnostics (default: OFF) +!----------------------------------------------------------------------- + ln_glo_trd = .false. ! (T) global domain averaged diag for T, T^2, KE, and PE + ln_dyn_trd = .true. ! (T) 3D momentum trend output + ln_dyn_mxl = .false. ! (T) 2D momentum trends averaged over the mixed layer (not coded yet) + ln_vor_trd = .false. ! (T) 2D barotropic vorticity trends (not coded yet) + ln_KE_trd = .false. ! (T) 3D Kinetic Energy trends + ln_PE_trd = .false. ! (T) 3D Potential Energy trends + ln_tra_trd = .false. ! (T) 3D tracer trend output + ln_tra_mxl = .false. ! (T) 2D tracer trends averaged over the mixed layer (not coded yet) + nn_trd = 1 ! print frequency (ln_glo_trd=T) (unit=time step) +/ +!!====================================================================== +!! *** Observation & Assimilation *** !! +!! !! +!! namobs observation and model comparison (default: OFF) +!! nam_asminc assimilation increments ('key_asminc') +!!====================================================================== +! +!!====================================================================== +!! *** Miscellaneous namelists *** !! +!! !! +!! nammpp Massively Parallel Processing ("key_mpp_mpi") +!! namctl Control prints (default: OFF) +!! namsto Stochastic parametrization of EOS (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&nammpp ! Massively Parallel Processing ("key_mpp_mpi") +!----------------------------------------------------------------------- +! ln_listonly = .false. ! do nothing else than listing the best domain decompositions (with land domains suppression) + ! ! if T: the largest number of cores tested is defined by max(mppsize, jpni*jpnj) +! ln_nnogather = .true. ! activate code to avoid mpi_allgather use at the northfold + jpni = 0 ! number of processors following i (set automatically if < 1), see also ln_listonly = T + jpnj = 0 ! number of processors following j (set automatically if < 1), see also ln_listonly = T +! nn_hls = 1 ! halo width (applies to both rows and columns) +/ +!----------------------------------------------------------------------- +&namctl ! Control prints (default: OFF) +!----------------------------------------------------------------------- + sn_cfctl%l_runstat = .TRUE. ! switches and which areas produce reports with the proc integer settings. +! sn_cfctl%l_trcstat = .FALSE. ! The default settings for the proc integers should ensure + sn_cfctl%l_oceout = .FALSE. ! that all areas report. +! sn_cfctl%l_layout = .FALSE. ! +! sn_cfctl%l_prtctl = .FALSE. ! +! sn_cfctl%l_prttrc = .FALSE. ! +! sn_cfctl%l_oasout = .FALSE. ! +! sn_cfctl%procmin = 0 ! Minimum area number for reporting [default:0] +! sn_cfctl%procmax = 1000000 ! Maximum area number for reporting [default:1000000] +! sn_cfctl%procincr = 1 ! Increment for optional subsetting of areas [default:1] +! sn_cfctl%ptimincr = 1 ! Timestep increment for writing time step progress info +! nn_ictls = 0 ! start i indice of control sum (use to compare mono versus +! nn_ictle = 0 ! end i indice of control sum multi processor runs +! nn_jctls = 0 ! start j indice of control over a subdomain) +! nn_jctle = 0 ! end j indice of control +! nn_isplt = 1 ! number of processors in i-direction +! nn_jsplt = 1 ! number of processors in j-direction + ln_timing = .true. ! timing by routine write out in timing.output file +! ln_diacfl = .false. ! CFL diagnostics write out in cfl_diagnostics.ascii +/ diff --git a/SEAMOUNT/EXPREF/nam_cfg/steep/namelist_cfg.prj_vqs b/SEAMOUNT/EXPREF/nam_cfg/steep/namelist_cfg.prj_vqs new file mode 100644 index 0000000..ccc5c5b --- /dev/null +++ b/SEAMOUNT/EXPREF/nam_cfg/steep/namelist_cfg.prj_vqs @@ -0,0 +1,447 @@ +!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +!! NEMO/OCE : Reference namelist_ref !! +!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +!! NEMO/OCE : 1 - Domain & run manager (namrun, namcfg, namdom, namtsd, namcrs, namc1d, namc1d_uvd) +!! namelists 2 - Surface boundary (namsbc, namsbc_flx, namsbc_blk, namsbc_cpl, +!! namsbc_sas, namtra_qsr, namsbc_rnf, +!! namisf, namsbc_apr, +!! namsbc_ssr, namsbc_wave, namberg) +!! 3 - lateral boundary (namlbc, namagrif, nambdy, nambdy_tide) +!! 4 - top/bot boundary (namdrg, namdrg_top, namdrg_bot, nambbc, nambbl) +!! 5 - Tracer (nameos, namtra_adv, namtra_ldf, namtra_eiv, namtra_dmp) +!! 6 - dynamics (namdyn_adv, namdyn_vor, namdyn_hpg, namdyn_spg, namdyn_ldf) +!! 7 - Vertical physics (namzdf, namzdf_ric, namzdf_tke, namzdf_gls, namzdf_iwm) +!! 8 - diagnostics (namnc4, namtrd, namspr, namflo, namhsb) +!! 9 - Obs & Assim (namobs, nam_asminc) +!! 10 - miscellaneous (nammpp, namctl, namsto) +!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + +!!====================================================================== +!! *** Domain & Run management namelists *** !! +!! !! +!! namrun parameters of the run +!! namdom space and time domain +!! namcfg parameters of the configuration (default: user defined GYRE) +!! namwad Wetting and drying (default: OFF) +!! namtsd data: temperature & salinity (default: OFF) +!! namcrs coarsened grid (for outputs and/or TOP) (ln_crs =T) +!! namc1d 1D configuration options ("key_c1d") +!! namc1d_dyndmp 1D newtonian damping applied on currents ("key_c1d") +!! namc1d_uvd 1D data (currents) ("key_c1d") +!!====================================================================== +! +!----------------------------------------------------------------------- +&namusr_def ! SEAMOUNT TEST CASE +!----------------------------------------------------------------------- +!! PHYSICAL DOMAIN + rn_xdim = 504. ! x-dimension of the domain [km] + rn_ydim = 504. ! y-dimension of the domain [km] + rn_bot_max = 4500. ! max ocean depth (>0) [m] + rn_smnt_H = 4050. ! seamount height (>0) [m] + rn_smnt_L = 25. ! seamount width [km] + rn_fplane = 0.0001 ! Coriolis parameter for f-plane approximation +!! NUMERICAL DISCRETIZATION + rn_dx = 8000. ! horizontal resolution [m] + rn_dz = 236.8 ! vertical resolution far from the seamount + ! and assuming no stretching [m] +!! VERTICAL COORDINATE + ln_zco = .false. ! z-coordinate + ln_zps = .false. ! z-partial-step coordinate + ln_sco = .true. ! s-coordinate + ! Stretched s-levels (ln_sco = .true.) + ln_s_sh94 = .false. ! TRUE: s-levels using Song & Haidvogel 1994 (SH94) + ! stretching function + ! FALSE: uniform sigma-levels + rn_theta = 3.0 ! SH94 surface control parameter (0<=theta<=20) + rn_bb = 0.0 ! SH94 bottom control parameter (0<=bb<=1) + rn_hc = 500 ! SH94 critical depth for transition to stretched coordinates [m] + ! Paramaters for vqs-coordinate (ln_sco = .true.) + ln_vqs = .true. ! activating vanishing quasi-sigma levels (TRUE) + rn_rmax = 0.25 ! maximum cut-off slope parameter value allowed + ! if using vqs-levels (0> model level are fixed in time + ! + rn_Dt = 360. ! time step for the dynamics and tracer + ln_meshmask = .true. ! =T create a mesh file +/ +!----------------------------------------------------------------------- +&namcfg ! parameters of the configuration (default: use namusr_def in namelist_cfg) +!----------------------------------------------------------------------- + ln_read_cfg = .false. ! (=T) read the domain configuration file + ln_write_cfg = .true. ! (=T) create the domain configuration file + cn_domcfg_out = "domain_cfg_out" ! newly created domain configuration filename +/ +!----------------------------------------------------------------------- +&namtile ! parameters of the tiling +!----------------------------------------------------------------------- + ln_tile = .false. ! Use tiling (T) or not (F) + nn_ltile_i = 10 ! Length of tiles in i + nn_ltile_j = 10 ! Length of tiles in j +/ +!!====================================================================== +!! *** Surface Boundary Condition namelists *** !! +!! !! +!! namsbc surface boundary condition manager (default: NO selection) +!! namsbc_flx flux formulation (ln_flx =T) +!! namsbc_blk Bulk formulae formulation (ln_blk =T) +!! namsbc_cpl CouPLed formulation ("key_oasis3" ) +!! namsbc_sas Stand-Alone Surface module (SAS_SRC only) +!! namsbc_iif Ice-IF: use observed ice cover (nn_ice = 1 ) +!! namtra_qsr penetrative solar radiation (ln_traqsr =T) +!! namsbc_ssr sea surface restoring term (for T and/or S) (ln_ssr =T) +!! namsbc_rnf river runoffs (ln_rnf =T) +!! namsbc_apr Atmospheric Pressure (ln_apr_dyn =T) +!! namsbc_wave external fields from wave model (ln_wave =T) +!! namberg iceberg floats (ln_icebergs=T) +!! namsbc_fwb freshwater-budget adjustment (nn_fwb > 0) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namsbc ! Surface Boundary Condition manager (default: NO selection) +!----------------------------------------------------------------------- + nn_fsbc = 1 ! frequency of SBC module call + ! ! (control sea-ice & iceberg model call) + ! Type of air-sea fluxes + ln_usr = .true. ! user defined formulation (T => check usrdef_sbc) +/ +!!====================================================================== +!! *** Lateral boundary condition *** !! +!! !! +!! namlbc lateral momentum boundary condition (default: NO selection) +!! namagrif agrif nested grid (read by child model only) ("key_agrif") +!! nam_tide Tidal forcing (default: OFF) +!! nambdy Unstructured open boundaries (default: OFF) +!! nambdy_dta Unstructured open boundaries - external data (see nambdy) +!! nambdy_tide tidal forcing at open boundaries (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namlbc ! lateral momentum boundary condition (default: NO selection) +!----------------------------------------------------------------------- + ! ! free slip ! partial slip ! no slip ! strong slip + rn_shlat = 0.0 ! shlat = 0 ! 0 < shlat < 2 ! shlat = 2 ! 2 < shlat +/ +!!====================================================================== +!! *** Top/Bottom boundary condition *** !! +!! !! +!! namdrg top/bottom drag coefficient (default: NO selection) +!! namdrg_top top friction (ln_drg_OFF=F & ln_isfcav=T) +!! namdrg_bot bottom friction (ln_drg_OFF=F) +!! nambbc bottom temperature boundary condition (default: OFF) +!! nambbl bottom boundary layer scheme (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namdrg ! top/bottom drag coefficient (default: NO selection) +!----------------------------------------------------------------------- + ln_drg_OFF = .true. ! free-slip : Cd = 0 (F => fill namdrg_bot + ln_lin = .false. ! linear drag: Cd = Cd0 Uc0 & namdrg_top) + ln_non_lin = .false. ! non-linear drag: Cd = Cd0 |U| + ln_loglayer = .false. ! logarithmic drag: Cd = vkarmn/log(z/z0) |U| + ! + ln_drgimp = .false. ! implicit top/bottom friction flag + ln_drgice_imp = .true.! implicit ice-ocean drag +/ +!----------------------------------------------------------------------- +&namdrg_top ! TOP friction (ln_drg_OFF =F & ln_isfcav=T) +!----------------------------------------------------------------------- +/ +!----------------------------------------------------------------------- +&namdrg_bot ! BOTTOM friction (ln_drg_OFF =F) +!----------------------------------------------------------------------- + rn_Cd0 = 0.0 ! drag coefficient [-] + rn_Uc0 = 0.0 ! ref. velocity [m/s] (linear drag=Cd0*Uc0) + rn_Cdmax = 1.e-4 ! drag value maximum [-] (logarithmic drag) + rn_ke0 = 2.5e-3 ! background kinetic energy [m2/s2] (non-linear cases) + rn_z0 = 3.e-3 ! roughness [m] (ln_loglayer=T) + ln_boost = .false. ! =T regional boost of Cd0 ; =F constant + rn_boost = 50. ! local boost factor [-] +/ +!!====================================================================== +!! Tracer (T-S) namelists !! +!! !! +!! nameos equation of state (default: NO selection) +!! namtra_adv advection scheme (default: NO selection) +!! namtra_ldf lateral diffusion scheme (default: NO selection) +!! namtra_mle mixed layer eddy param. (Fox-Kemper param.) (default: OFF) +!! namtra_eiv eddy induced velocity param. (default: OFF) +!! namtra_dmp T & S newtonian damping (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&nameos ! ocean Equation Of Seawater (default: NO selection) +!----------------------------------------------------------------------- + ln_teos10 = .false. ! = Use TEOS-10 + ln_eos80 = .true. ! = Use EOS80 + ln_seos = .false. ! = Use S-EOS (simplified Eq.) + ! + ! ! S-EOS coefficients (ln_seos=T): + ! ! rd(T,S,Z)*rho0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS + rn_a0 = 1.6550e-1 ! thermal expension coefficient + rn_b0 = 0.0 ! saline expension coefficient + rn_lambda1 = 0.0 ! cabbeling coeff in T^2 (=0 for linear eos) + rn_lambda2 = 0.0 ! cabbeling coeff in S^2 (=0 for linear eos) + rn_mu1 = 0.0 ! thermobaric coeff. in T (=0 for linear eos) + rn_mu2 = 0.0 ! thermobaric coeff. in S (=0 for linear eos) + rn_nu = 0.0 ! cabbeling coeff in T*S (=0 for linear eos) +/ +!----------------------------------------------------------------------- +&namtra_adv ! advection scheme for tracer (default: NO selection) +!----------------------------------------------------------------------- + ln_traadv_OFF = .false. ! No tracer advection + ln_traadv_cen = .true. ! 2nd order centered scheme + nn_cen_h = 2 ! =2/4, horizontal 2nd order CEN / 4th order CEN + nn_cen_v = 2 ! =2/4, vertical 2nd order CEN / 4th order COMPACT + ln_traadv_fct = .false. ! FCT scheme + nn_fct_h = 2 ! =2/4, horizontal 2nd / 4th order + nn_fct_v = 2 ! =2/4, vertical 2nd / COMPACT 4th order + ln_traadv_mus = .false. ! MUSCL scheme + ln_mus_ups = .false. ! use upstream scheme near river mouths + ln_traadv_ubs = .false. ! UBS scheme + nn_ubs_v = 2 ! =2 , vertical 2nd order FCT / COMPACT 4th order + ln_traadv_qck = .false. ! QUICKEST scheme +/ +!----------------------------------------------------------------------- +&namtra_ldf ! lateral diffusion scheme for tracers (default: NO selection) +!----------------------------------------------------------------------- + ! ! Operator type: + ln_traldf_OFF = .true. ! No explicit diffusion +/ +!!====================================================================== +!! *** Dynamics namelists *** !! +!! !! +!! nam_vvl vertical coordinate options (default: z-star) +!! namdyn_adv formulation of the momentum advection (default: NO selection) +!! namdyn_vor advection scheme (default: NO selection) +!! namdyn_hpg hydrostatic pressure gradient (default: NO selection) +!! namdyn_spg surface pressure gradient (default: NO selection) +!! namdyn_ldf lateral diffusion scheme (default: NO selection) +!! namdta_dyn offline TOP: dynamics read in files (OFF_SRC only) +!!====================================================================== +! +!----------------------------------------------------------------------- +&nam_vvl ! vertical coordinate options (default: z-star) +!----------------------------------------------------------------------- + ln_vvl_zstar = .true. ! z-star vertical coordinate + ln_vvl_ztilde = .false. ! z-tilde vertical coordinate: only high frequency variations + ln_vvl_layer = .false. ! full layer vertical coordinate + ln_vvl_ztilde_as_zstar = .false. ! ztilde vertical coordinate emulating zstar + ln_vvl_zstar_at_eqtor = .false. ! ztilde near the equator + rn_ahe3 = 0.0 ! thickness diffusion coefficient + rn_rst_e3t = 30.0 ! ztilde to zstar restoration timescale [days] + rn_lf_cutoff = 5.0 ! cutoff frequency for low-pass filter [days] + rn_zdef_max = 0.9 ! maximum fractional e3t deformation + ln_vvl_dbg = .false. ! debug prints (T/F) +/ +!----------------------------------------------------------------------- +&namdyn_adv ! formulation of the momentum advection (default: NO selection) +!----------------------------------------------------------------------- + ln_dynadv_OFF = .false. ! linear dynamics (no momentum advection) + ln_dynadv_vec = .true. ! vector form - 2nd centered scheme + nn_dynkeg = 0 ! grad(KE) scheme: =0 C2 ; =1 Hollingsworth correction + ln_dynadv_cen2 = .false. ! flux form - 2nd order centered scheme + ln_dynadv_ubs = .false. ! flux form - 3rd order UBS scheme +/ +!----------------------------------------------------------------------- +&namdyn_vor ! Vorticity / Coriolis scheme (default: NO selection) +!----------------------------------------------------------------------- + ln_dynvor_ene = .false. ! energy conserving scheme + ln_dynvor_ens = .false. ! enstrophy conserving scheme + ln_dynvor_mix = .false. ! mixed scheme + ln_dynvor_enT = .false. ! energy conserving scheme (T-point) + ln_dynvor_eeT = .false. ! energy conserving scheme (een using e3t) + ln_dynvor_een = .true. ! energy & enstrophy scheme + ! + ln_dynvor_msk = .false. ! vorticity multiplied by fmask (=T) ==>>> PLEASE DO NOT ACTIVATE + ! ! (f-point vorticity schemes only) + ! + nn_e3f_typ = 0 ! type of e3f (EEN, ENE, ENS, MIX only) =0 e3f = mi(mj(e3t))/4 + ! ! =1 e3f = mi(mj(e3t))/mi(mj( tmask)) +/ +!----------------------------------------------------------------------- +&namdyn_hpg ! Hydrostatic pressure gradient option (default: NO selection) +!----------------------------------------------------------------------- + ln_hpg_zco = .false. ! z-coordinate - full steps + ln_hpg_zps = .false. ! z-coordinate - partial steps (interpolation) + ln_hpg_sco = .false. ! s-coordinate (standard jacobian formulation) + ln_hpg_isf = .false. ! s-coordinate (sco ) adapted to isf + ln_hpg_djc = .false. ! s-coordinate (Density Jacobian with Cubic polynomial) + ln_hpg_djc_vnh = .true. ! hor. bc type for djc scheme (T=von Neumann, F=linear extrapolation) + ln_hpg_djc_vnv = .true. ! vert. bc type for djc scheme (T=von Neumann, F=linear extrapolation) + ln_hpg_prj = .true. ! s-coordinate (Pressure Jacobian scheme) +/ +!----------------------------------------------------------------------- +&namdyn_spg ! surface pressure gradient (default: NO selection) +!----------------------------------------------------------------------- + ln_dynspg_exp = .false. ! explicit free surface + ln_dynspg_ts = .true. ! split-explicit free surface + nn_e = 30 ! =F : the number of sub-step in rn_Dt seconds +/ +!----------------------------------------------------------------------- +&namdyn_ldf ! lateral diffusion on momentum (default: NO selection) +!----------------------------------------------------------------------- + ! ! Type of the operator : + ln_dynldf_OFF = .false. ! No operator (i.e. no explicit diffusion) + nn_dynldf_typ = 0 ! =0 div-rot (default) ; =1 symmetric + ln_dynldf_lap = .true. ! laplacian operator + ln_dynldf_blp = .false. ! bilaplacian operator + ! ! Direction of action : + ln_dynldf_lev = .true. ! iso-level + ln_dynldf_hor = .false. ! horizontal (geopotential) + ln_dynldf_iso = .false. ! iso-neutral (lap only) + ! ! Coefficient + nn_ahm_ijk_t = 0 ! space/time variation of eddy coefficient : + ! ! =-30 read in eddy_viscosity_3D.nc file + ! ! =-20 read in eddy_viscosity_2D.nc file + ! ! = 0 constant + ! ! = 10 F(k)=c1d + ! ! = 20 F(i,j)=F(grid spacing)=c2d + ! ! = 30 F(i,j,k)=c2d*c1d + ! ! = 31 F(i,j,k)=F(grid spacing and local velocity) + ! ! = 32 F(i,j,k)=F(local gridscale and deformation rate) + ! ! time invariant coefficients : ahm = 1/2 Uv*Lv (lap case) + ! ! or = 1/12 Uv*Lv^3 (blp case) + rn_Uv = 1.0 ! lateral viscous velocity [m/s] (nn_ahm_ijk_t= 0, 10, 20, 30) + rn_Lv = 1.e+3 ! lateral viscous length [m] (nn_ahm_ijk_t= 0, 10) +/ +!!====================================================================== +!! vertical physics namelists !! +!! !! +!! namzdf vertical physics manager (default: NO selection) +!! namzdf_ric richardson number vertical mixing (ln_zdfric=T) +!! namzdf_tke TKE vertical mixing (ln_zdftke=T) +!! namzdf_gls GLS vertical mixing (ln_zdfgls=T) +!! namzdf_osm OSM vertical diffusion (ln_zdfosm=T) +!! namzdf_iwm tidal mixing parameterization (ln_zdfiwm=T) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namzdf ! vertical physics manager (default: NO selection) +!----------------------------------------------------------------------- + ! ! adaptive-implicit vertical advection + ln_zad_Aimp = .false. ! Courant number dependent scheme (Shchepetkin 2015) + ! + ! ! type of vertical closure (required) + ln_zdfcst = .true. ! constant mixing + ln_zdfric = .false. ! local Richardson dependent formulation (T => fill namzdf_ric) + ln_zdftke = .false. ! Turbulent Kinetic Energy closure (T => fill namzdf_tke) + ln_zdfgls = .false. ! Generic Length Scale closure (T => fill namzdf_gls) + ln_zdfosm = .false. ! OSMOSIS BL closure (T => fill namzdf_osm) + ! + ! ! convection + ln_zdfevd = .false. ! enhanced vertical diffusion + nn_evdm = 0 ! apply on tracer (=0) or on tracer and momentum (=1) + rn_evd = 100. ! mixing coefficient [m2/s] + ln_zdfnpc = .false. ! Non-Penetrative Convective algorithm + nn_npc = 1 ! frequency of application of npc + nn_npcp = 365 ! npc control print frequency + ln_zdfmfc = .false. ! Mass Flux Convection + ! + ln_zdfddm = .false. ! double diffusive mixing + rn_avts = 1.e-4 ! maximum avs (vertical mixing on salinity) + rn_hsbfr = 1.6 ! heat/salt buoyancy flux ratio + ! + ! ! gravity wave-driven vertical mixing + ln_zdfiwm = .false. ! internal wave-induced mixing (T => fill namzdf_iwm) + ln_zdfswm = .false. ! surface wave-induced mixing (T => ln_wave=ln_sdw=T ) + ! + ! ! coefficients + rn_avm0 = 2.e-5 ! vertical eddy viscosity [m2/s] (background Kz if ln_zdfcst=F) + rn_avt0 = 2.e-5 ! vertical eddy diffusivity [m2/s] (background Kz if ln_zdfcst=F) + nn_avb = 0 ! profile for background avt & avm (=1) or not (=0) + nn_havtb = 0 ! horizontal shape for avtb (=1) or not (=0) +/ +!!====================================================================== +!! *** Diagnostics namelists *** !! +!! !! +!! namtrd dynamics and/or tracer trends (default: OFF) +!! namhsb Heat and salt budgets (default: OFF) +!! namdiu Cool skin and warm layer models (default: OFF) +!! namdiu Cool skin and warm layer models (default: OFF) +!! namflo float parameters (default: OFF) +!! nam_diadct transports through some sections (default: OFF) +!! nam_dia25h 25h Mean Output (default: OFF) +!! namnc4 netcdf4 chunking and compression settings ("key_netcdf4") +!!====================================================================== +! +!----------------------------------------------------------------------- +&namtrd ! trend diagnostics (default: OFF) +!----------------------------------------------------------------------- + ln_glo_trd = .false. ! (T) global domain averaged diag for T, T^2, KE, and PE + ln_dyn_trd = .true. ! (T) 3D momentum trend output + ln_dyn_mxl = .false. ! (T) 2D momentum trends averaged over the mixed layer (not coded yet) + ln_vor_trd = .false. ! (T) 2D barotropic vorticity trends (not coded yet) + ln_KE_trd = .false. ! (T) 3D Kinetic Energy trends + ln_PE_trd = .false. ! (T) 3D Potential Energy trends + ln_tra_trd = .false. ! (T) 3D tracer trend output + ln_tra_mxl = .false. ! (T) 2D tracer trends averaged over the mixed layer (not coded yet) + nn_trd = 1 ! print frequency (ln_glo_trd=T) (unit=time step) +/ +!!====================================================================== +!! *** Observation & Assimilation *** !! +!! !! +!! namobs observation and model comparison (default: OFF) +!! nam_asminc assimilation increments ('key_asminc') +!!====================================================================== +! +!!====================================================================== +!! *** Miscellaneous namelists *** !! +!! !! +!! nammpp Massively Parallel Processing ("key_mpp_mpi") +!! namctl Control prints (default: OFF) +!! namsto Stochastic parametrization of EOS (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&nammpp ! Massively Parallel Processing ("key_mpp_mpi") +!----------------------------------------------------------------------- +! ln_listonly = .false. ! do nothing else than listing the best domain decompositions (with land domains suppression) + ! ! if T: the largest number of cores tested is defined by max(mppsize, jpni*jpnj) +! ln_nnogather = .true. ! activate code to avoid mpi_allgather use at the northfold + jpni = 0 ! number of processors following i (set automatically if < 1), see also ln_listonly = T + jpnj = 0 ! number of processors following j (set automatically if < 1), see also ln_listonly = T +! nn_hls = 1 ! halo width (applies to both rows and columns) +/ +!----------------------------------------------------------------------- +&namctl ! Control prints (default: OFF) +!----------------------------------------------------------------------- + sn_cfctl%l_runstat = .TRUE. ! switches and which areas produce reports with the proc integer settings. +! sn_cfctl%l_trcstat = .FALSE. ! The default settings for the proc integers should ensure + sn_cfctl%l_oceout = .FALSE. ! that all areas report. +! sn_cfctl%l_layout = .FALSE. ! +! sn_cfctl%l_prtctl = .FALSE. ! +! sn_cfctl%l_prttrc = .FALSE. ! +! sn_cfctl%l_oasout = .FALSE. ! +! sn_cfctl%procmin = 0 ! Minimum area number for reporting [default:0] +! sn_cfctl%procmax = 1000000 ! Maximum area number for reporting [default:1000000] +! sn_cfctl%procincr = 1 ! Increment for optional subsetting of areas [default:1] +! sn_cfctl%ptimincr = 1 ! Timestep increment for writing time step progress info +! nn_ictls = 0 ! start i indice of control sum (use to compare mono versus +! nn_ictle = 0 ! end i indice of control sum multi processor runs +! nn_jctls = 0 ! start j indice of control over a subdomain) +! nn_jctle = 0 ! end j indice of control +! nn_isplt = 1 ! number of processors in i-direction +! nn_jsplt = 1 ! number of processors in j-direction + ln_timing = .true. ! timing by routine write out in timing.output file +! ln_diacfl = .false. ! CFL diagnostics write out in cfl_diagnostics.ascii +/ diff --git a/SEAMOUNT/EXPREF/nam_cfg/steep/namelist_cfg.sco_sh94 b/SEAMOUNT/EXPREF/nam_cfg/steep/namelist_cfg.sco_sh94 new file mode 100644 index 0000000..0721a05 --- /dev/null +++ b/SEAMOUNT/EXPREF/nam_cfg/steep/namelist_cfg.sco_sh94 @@ -0,0 +1,447 @@ +!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +!! NEMO/OCE : Reference namelist_ref !! +!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +!! NEMO/OCE : 1 - Domain & run manager (namrun, namcfg, namdom, namtsd, namcrs, namc1d, namc1d_uvd) +!! namelists 2 - Surface boundary (namsbc, namsbc_flx, namsbc_blk, namsbc_cpl, +!! namsbc_sas, namtra_qsr, namsbc_rnf, +!! namisf, namsbc_apr, +!! namsbc_ssr, namsbc_wave, namberg) +!! 3 - lateral boundary (namlbc, namagrif, nambdy, nambdy_tide) +!! 4 - top/bot boundary (namdrg, namdrg_top, namdrg_bot, nambbc, nambbl) +!! 5 - Tracer (nameos, namtra_adv, namtra_ldf, namtra_eiv, namtra_dmp) +!! 6 - dynamics (namdyn_adv, namdyn_vor, namdyn_hpg, namdyn_spg, namdyn_ldf) +!! 7 - Vertical physics (namzdf, namzdf_ric, namzdf_tke, namzdf_gls, namzdf_iwm) +!! 8 - diagnostics (namnc4, namtrd, namspr, namflo, namhsb) +!! 9 - Obs & Assim (namobs, nam_asminc) +!! 10 - miscellaneous (nammpp, namctl, namsto) +!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + +!!====================================================================== +!! *** Domain & Run management namelists *** !! +!! !! +!! namrun parameters of the run +!! namdom space and time domain +!! namcfg parameters of the configuration (default: user defined GYRE) +!! namwad Wetting and drying (default: OFF) +!! namtsd data: temperature & salinity (default: OFF) +!! namcrs coarsened grid (for outputs and/or TOP) (ln_crs =T) +!! namc1d 1D configuration options ("key_c1d") +!! namc1d_dyndmp 1D newtonian damping applied on currents ("key_c1d") +!! namc1d_uvd 1D data (currents) ("key_c1d") +!!====================================================================== +! +!----------------------------------------------------------------------- +&namusr_def ! SEAMOUNT TEST CASE +!----------------------------------------------------------------------- +!! PHYSICAL DOMAIN + rn_xdim = 504. ! x-dimension of the domain [km] + rn_ydim = 504. ! y-dimension of the domain [km] + rn_bot_max = 4500. ! max ocean depth (>0) [m] + rn_smnt_H = 4050. ! seamount height (>0) [m] + rn_smnt_L = 25. ! seamount width [km] + rn_fplane = 0.0001 ! Coriolis parameter for f-plane approximation +!! NUMERICAL DISCRETIZATION + rn_dx = 8000. ! horizontal resolution [m] + rn_dz = 236.8 ! vertical resolution far from the seamount + ! and assuming no stretching [m] +!! VERTICAL COORDINATE + ln_zco = .false. ! z-coordinate + ln_zps = .false. ! z-partial-step coordinate + ln_sco = .true. ! s-coordinate + ! Stretched s-levels (ln_sco = .true.) + ln_s_sh94 = .true. ! TRUE: s-levels using Song & Haidvogel 1994 (SH94) + ! stretching function + ! FALSE: uniform sigma-levels + rn_theta = 3.0 ! SH94 surface control parameter (0<=theta<=20) + rn_bb = 0.0 ! SH94 bottom control parameter (0<=bb<=1) + rn_hc = 500 ! SH94 critical depth for transition to stretched coordinates [m] + ! Paramaters for vqs-coordinate (ln_sco = .true.) + ln_vqs = .false. ! activating vanishing quasi-sigma levels (TRUE) + rn_rmax = 0.3 ! maximum cut-off slope parameter value allowed + ! if using vqs-levels (0> model level are fixed in time + ! + rn_Dt = 360. ! time step for the dynamics and tracer + ln_meshmask = .true. ! =T create a mesh file +/ +!----------------------------------------------------------------------- +&namcfg ! parameters of the configuration (default: use namusr_def in namelist_cfg) +!----------------------------------------------------------------------- + ln_read_cfg = .false. ! (=T) read the domain configuration file + ln_write_cfg = .true. ! (=T) create the domain configuration file + cn_domcfg_out = "domain_cfg_out" ! newly created domain configuration filename +/ +!----------------------------------------------------------------------- +&namtile ! parameters of the tiling +!----------------------------------------------------------------------- + ln_tile = .false. ! Use tiling (T) or not (F) + nn_ltile_i = 10 ! Length of tiles in i + nn_ltile_j = 10 ! Length of tiles in j +/ +!!====================================================================== +!! *** Surface Boundary Condition namelists *** !! +!! !! +!! namsbc surface boundary condition manager (default: NO selection) +!! namsbc_flx flux formulation (ln_flx =T) +!! namsbc_blk Bulk formulae formulation (ln_blk =T) +!! namsbc_cpl CouPLed formulation ("key_oasis3" ) +!! namsbc_sas Stand-Alone Surface module (SAS_SRC only) +!! namsbc_iif Ice-IF: use observed ice cover (nn_ice = 1 ) +!! namtra_qsr penetrative solar radiation (ln_traqsr =T) +!! namsbc_ssr sea surface restoring term (for T and/or S) (ln_ssr =T) +!! namsbc_rnf river runoffs (ln_rnf =T) +!! namsbc_apr Atmospheric Pressure (ln_apr_dyn =T) +!! namsbc_wave external fields from wave model (ln_wave =T) +!! namberg iceberg floats (ln_icebergs=T) +!! namsbc_fwb freshwater-budget adjustment (nn_fwb > 0) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namsbc ! Surface Boundary Condition manager (default: NO selection) +!----------------------------------------------------------------------- + nn_fsbc = 1 ! frequency of SBC module call + ! ! (control sea-ice & iceberg model call) + ! Type of air-sea fluxes + ln_usr = .true. ! user defined formulation (T => check usrdef_sbc) +/ +!!====================================================================== +!! *** Lateral boundary condition *** !! +!! !! +!! namlbc lateral momentum boundary condition (default: NO selection) +!! namagrif agrif nested grid (read by child model only) ("key_agrif") +!! nam_tide Tidal forcing (default: OFF) +!! nambdy Unstructured open boundaries (default: OFF) +!! nambdy_dta Unstructured open boundaries - external data (see nambdy) +!! nambdy_tide tidal forcing at open boundaries (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namlbc ! lateral momentum boundary condition (default: NO selection) +!----------------------------------------------------------------------- + ! ! free slip ! partial slip ! no slip ! strong slip + rn_shlat = 0.0 ! shlat = 0 ! 0 < shlat < 2 ! shlat = 2 ! 2 < shlat +/ +!!====================================================================== +!! *** Top/Bottom boundary condition *** !! +!! !! +!! namdrg top/bottom drag coefficient (default: NO selection) +!! namdrg_top top friction (ln_drg_OFF=F & ln_isfcav=T) +!! namdrg_bot bottom friction (ln_drg_OFF=F) +!! nambbc bottom temperature boundary condition (default: OFF) +!! nambbl bottom boundary layer scheme (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namdrg ! top/bottom drag coefficient (default: NO selection) +!----------------------------------------------------------------------- + ln_drg_OFF = .true. ! free-slip : Cd = 0 (F => fill namdrg_bot + ln_lin = .false. ! linear drag: Cd = Cd0 Uc0 & namdrg_top) + ln_non_lin = .false. ! non-linear drag: Cd = Cd0 |U| + ln_loglayer = .false. ! logarithmic drag: Cd = vkarmn/log(z/z0) |U| + ! + ln_drgimp = .false. ! implicit top/bottom friction flag + ln_drgice_imp = .true.! implicit ice-ocean drag +/ +!----------------------------------------------------------------------- +&namdrg_top ! TOP friction (ln_drg_OFF =F & ln_isfcav=T) +!----------------------------------------------------------------------- +/ +!----------------------------------------------------------------------- +&namdrg_bot ! BOTTOM friction (ln_drg_OFF =F) +!----------------------------------------------------------------------- + rn_Cd0 = 0.0 ! drag coefficient [-] + rn_Uc0 = 0.0 ! ref. velocity [m/s] (linear drag=Cd0*Uc0) + rn_Cdmax = 1.e-4 ! drag value maximum [-] (logarithmic drag) + rn_ke0 = 2.5e-3 ! background kinetic energy [m2/s2] (non-linear cases) + rn_z0 = 3.e-3 ! roughness [m] (ln_loglayer=T) + ln_boost = .false. ! =T regional boost of Cd0 ; =F constant + rn_boost = 50. ! local boost factor [-] +/ +!!====================================================================== +!! Tracer (T-S) namelists !! +!! !! +!! nameos equation of state (default: NO selection) +!! namtra_adv advection scheme (default: NO selection) +!! namtra_ldf lateral diffusion scheme (default: NO selection) +!! namtra_mle mixed layer eddy param. (Fox-Kemper param.) (default: OFF) +!! namtra_eiv eddy induced velocity param. (default: OFF) +!! namtra_dmp T & S newtonian damping (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&nameos ! ocean Equation Of Seawater (default: NO selection) +!----------------------------------------------------------------------- + ln_teos10 = .false. ! = Use TEOS-10 + ln_eos80 = .true. ! = Use EOS80 + ln_seos = .false. ! = Use S-EOS (simplified Eq.) + ! + ! ! S-EOS coefficients (ln_seos=T): + ! ! rd(T,S,Z)*rho0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS + rn_a0 = 1.6550e-1 ! thermal expension coefficient + rn_b0 = 0.0 ! saline expension coefficient + rn_lambda1 = 0.0 ! cabbeling coeff in T^2 (=0 for linear eos) + rn_lambda2 = 0.0 ! cabbeling coeff in S^2 (=0 for linear eos) + rn_mu1 = 0.0 ! thermobaric coeff. in T (=0 for linear eos) + rn_mu2 = 0.0 ! thermobaric coeff. in S (=0 for linear eos) + rn_nu = 0.0 ! cabbeling coeff in T*S (=0 for linear eos) +/ +!----------------------------------------------------------------------- +&namtra_adv ! advection scheme for tracer (default: NO selection) +!----------------------------------------------------------------------- + ln_traadv_OFF = .false. ! No tracer advection + ln_traadv_cen = .true. ! 2nd order centered scheme + nn_cen_h = 2 ! =2/4, horizontal 2nd order CEN / 4th order CEN + nn_cen_v = 2 ! =2/4, vertical 2nd order CEN / 4th order COMPACT + ln_traadv_fct = .false. ! FCT scheme + nn_fct_h = 2 ! =2/4, horizontal 2nd / 4th order + nn_fct_v = 2 ! =2/4, vertical 2nd / COMPACT 4th order + ln_traadv_mus = .false. ! MUSCL scheme + ln_mus_ups = .false. ! use upstream scheme near river mouths + ln_traadv_ubs = .false. ! UBS scheme + nn_ubs_v = 2 ! =2 , vertical 2nd order FCT / COMPACT 4th order + ln_traadv_qck = .false. ! QUICKEST scheme +/ +!----------------------------------------------------------------------- +&namtra_ldf ! lateral diffusion scheme for tracers (default: NO selection) +!----------------------------------------------------------------------- + ! ! Operator type: + ln_traldf_OFF = .true. ! No explicit diffusion +/ +!!====================================================================== +!! *** Dynamics namelists *** !! +!! !! +!! nam_vvl vertical coordinate options (default: z-star) +!! namdyn_adv formulation of the momentum advection (default: NO selection) +!! namdyn_vor advection scheme (default: NO selection) +!! namdyn_hpg hydrostatic pressure gradient (default: NO selection) +!! namdyn_spg surface pressure gradient (default: NO selection) +!! namdyn_ldf lateral diffusion scheme (default: NO selection) +!! namdta_dyn offline TOP: dynamics read in files (OFF_SRC only) +!!====================================================================== +! +!----------------------------------------------------------------------- +&nam_vvl ! vertical coordinate options (default: z-star) +!----------------------------------------------------------------------- + ln_vvl_zstar = .true. ! z-star vertical coordinate + ln_vvl_ztilde = .false. ! z-tilde vertical coordinate: only high frequency variations + ln_vvl_layer = .false. ! full layer vertical coordinate + ln_vvl_ztilde_as_zstar = .false. ! ztilde vertical coordinate emulating zstar + ln_vvl_zstar_at_eqtor = .false. ! ztilde near the equator + rn_ahe3 = 0.0 ! thickness diffusion coefficient + rn_rst_e3t = 30.0 ! ztilde to zstar restoration timescale [days] + rn_lf_cutoff = 5.0 ! cutoff frequency for low-pass filter [days] + rn_zdef_max = 0.9 ! maximum fractional e3t deformation + ln_vvl_dbg = .false. ! debug prints (T/F) +/ +!----------------------------------------------------------------------- +&namdyn_adv ! formulation of the momentum advection (default: NO selection) +!----------------------------------------------------------------------- + ln_dynadv_OFF = .false. ! linear dynamics (no momentum advection) + ln_dynadv_vec = .true. ! vector form - 2nd centered scheme + nn_dynkeg = 0 ! grad(KE) scheme: =0 C2 ; =1 Hollingsworth correction + ln_dynadv_cen2 = .false. ! flux form - 2nd order centered scheme + ln_dynadv_ubs = .false. ! flux form - 3rd order UBS scheme +/ +!----------------------------------------------------------------------- +&namdyn_vor ! Vorticity / Coriolis scheme (default: NO selection) +!----------------------------------------------------------------------- + ln_dynvor_ene = .false. ! energy conserving scheme + ln_dynvor_ens = .false. ! enstrophy conserving scheme + ln_dynvor_mix = .false. ! mixed scheme + ln_dynvor_enT = .false. ! energy conserving scheme (T-point) + ln_dynvor_eeT = .false. ! energy conserving scheme (een using e3t) + ln_dynvor_een = .true. ! energy & enstrophy scheme + ! + ln_dynvor_msk = .false. ! vorticity multiplied by fmask (=T) ==>>> PLEASE DO NOT ACTIVATE + ! ! (f-point vorticity schemes only) + ! + nn_e3f_typ = 0 ! type of e3f (EEN, ENE, ENS, MIX only) =0 e3f = mi(mj(e3t))/4 + ! ! =1 e3f = mi(mj(e3t))/mi(mj( tmask)) +/ +!----------------------------------------------------------------------- +&namdyn_hpg ! Hydrostatic pressure gradient option (default: NO selection) +!----------------------------------------------------------------------- + ln_hpg_zco = .false. ! z-coordinate - full steps + ln_hpg_zps = .false. ! z-coordinate - partial steps (interpolation) + ln_hpg_sco = .true. ! s-coordinate (standard jacobian formulation) + ln_hpg_isf = .false. ! s-coordinate (sco ) adapted to isf + ln_hpg_djc = .false. ! s-coordinate (Density Jacobian with Cubic polynomial) + ln_hpg_djc_vnh = .true. ! hor. bc type for djc scheme (T=von Neumann, F=linear extrapolation) + ln_hpg_djc_vnv = .true. ! vert. bc type for djc scheme (T=von Neumann, F=linear extrapolation) + ln_hpg_prj = .false. ! s-coordinate (Pressure Jacobian scheme) +/ +!----------------------------------------------------------------------- +&namdyn_spg ! surface pressure gradient (default: NO selection) +!----------------------------------------------------------------------- + ln_dynspg_exp = .false. ! explicit free surface + ln_dynspg_ts = .true. ! split-explicit free surface + nn_e = 30 ! =F : the number of sub-step in rn_Dt seconds +/ +!----------------------------------------------------------------------- +&namdyn_ldf ! lateral diffusion on momentum (default: NO selection) +!----------------------------------------------------------------------- + ! ! Type of the operator : + ln_dynldf_OFF = .false. ! No operator (i.e. no explicit diffusion) + nn_dynldf_typ = 0 ! =0 div-rot (default) ; =1 symmetric + ln_dynldf_lap = .true. ! laplacian operator + ln_dynldf_blp = .false. ! bilaplacian operator + ! ! Direction of action : + ln_dynldf_lev = .true. ! iso-level + ln_dynldf_hor = .false. ! horizontal (geopotential) + ln_dynldf_iso = .false. ! iso-neutral (lap only) + ! ! Coefficient + nn_ahm_ijk_t = 0 ! space/time variation of eddy coefficient : + ! ! =-30 read in eddy_viscosity_3D.nc file + ! ! =-20 read in eddy_viscosity_2D.nc file + ! ! = 0 constant + ! ! = 10 F(k)=c1d + ! ! = 20 F(i,j)=F(grid spacing)=c2d + ! ! = 30 F(i,j,k)=c2d*c1d + ! ! = 31 F(i,j,k)=F(grid spacing and local velocity) + ! ! = 32 F(i,j,k)=F(local gridscale and deformation rate) + ! ! time invariant coefficients : ahm = 1/2 Uv*Lv (lap case) + ! ! or = 1/12 Uv*Lv^3 (blp case) + rn_Uv = 1.0 ! lateral viscous velocity [m/s] (nn_ahm_ijk_t= 0, 10, 20, 30) + rn_Lv = 1.e+3 ! lateral viscous length [m] (nn_ahm_ijk_t= 0, 10) +/ +!!====================================================================== +!! vertical physics namelists !! +!! !! +!! namzdf vertical physics manager (default: NO selection) +!! namzdf_ric richardson number vertical mixing (ln_zdfric=T) +!! namzdf_tke TKE vertical mixing (ln_zdftke=T) +!! namzdf_gls GLS vertical mixing (ln_zdfgls=T) +!! namzdf_osm OSM vertical diffusion (ln_zdfosm=T) +!! namzdf_iwm tidal mixing parameterization (ln_zdfiwm=T) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namzdf ! vertical physics manager (default: NO selection) +!----------------------------------------------------------------------- + ! ! adaptive-implicit vertical advection + ln_zad_Aimp = .false. ! Courant number dependent scheme (Shchepetkin 2015) + ! + ! ! type of vertical closure (required) + ln_zdfcst = .true. ! constant mixing + ln_zdfric = .false. ! local Richardson dependent formulation (T => fill namzdf_ric) + ln_zdftke = .false. ! Turbulent Kinetic Energy closure (T => fill namzdf_tke) + ln_zdfgls = .false. ! Generic Length Scale closure (T => fill namzdf_gls) + ln_zdfosm = .false. ! OSMOSIS BL closure (T => fill namzdf_osm) + ! + ! ! convection + ln_zdfevd = .false. ! enhanced vertical diffusion + nn_evdm = 0 ! apply on tracer (=0) or on tracer and momentum (=1) + rn_evd = 100. ! mixing coefficient [m2/s] + ln_zdfnpc = .false. ! Non-Penetrative Convective algorithm + nn_npc = 1 ! frequency of application of npc + nn_npcp = 365 ! npc control print frequency + ln_zdfmfc = .false. ! Mass Flux Convection + ! + ln_zdfddm = .false. ! double diffusive mixing + rn_avts = 1.e-4 ! maximum avs (vertical mixing on salinity) + rn_hsbfr = 1.6 ! heat/salt buoyancy flux ratio + ! + ! ! gravity wave-driven vertical mixing + ln_zdfiwm = .false. ! internal wave-induced mixing (T => fill namzdf_iwm) + ln_zdfswm = .false. ! surface wave-induced mixing (T => ln_wave=ln_sdw=T ) + ! + ! ! coefficients + rn_avm0 = 2.e-5 ! vertical eddy viscosity [m2/s] (background Kz if ln_zdfcst=F) + rn_avt0 = 2.e-5 ! vertical eddy diffusivity [m2/s] (background Kz if ln_zdfcst=F) + nn_avb = 0 ! profile for background avt & avm (=1) or not (=0) + nn_havtb = 0 ! horizontal shape for avtb (=1) or not (=0) +/ +!!====================================================================== +!! *** Diagnostics namelists *** !! +!! !! +!! namtrd dynamics and/or tracer trends (default: OFF) +!! namhsb Heat and salt budgets (default: OFF) +!! namdiu Cool skin and warm layer models (default: OFF) +!! namdiu Cool skin and warm layer models (default: OFF) +!! namflo float parameters (default: OFF) +!! nam_diadct transports through some sections (default: OFF) +!! nam_dia25h 25h Mean Output (default: OFF) +!! namnc4 netcdf4 chunking and compression settings ("key_netcdf4") +!!====================================================================== +! +!----------------------------------------------------------------------- +&namtrd ! trend diagnostics (default: OFF) +!----------------------------------------------------------------------- + ln_glo_trd = .false. ! (T) global domain averaged diag for T, T^2, KE, and PE + ln_dyn_trd = .true. ! (T) 3D momentum trend output + ln_dyn_mxl = .false. ! (T) 2D momentum trends averaged over the mixed layer (not coded yet) + ln_vor_trd = .false. ! (T) 2D barotropic vorticity trends (not coded yet) + ln_KE_trd = .false. ! (T) 3D Kinetic Energy trends + ln_PE_trd = .false. ! (T) 3D Potential Energy trends + ln_tra_trd = .false. ! (T) 3D tracer trend output + ln_tra_mxl = .false. ! (T) 2D tracer trends averaged over the mixed layer (not coded yet) + nn_trd = 1 ! print frequency (ln_glo_trd=T) (unit=time step) +/ +!!====================================================================== +!! *** Observation & Assimilation *** !! +!! !! +!! namobs observation and model comparison (default: OFF) +!! nam_asminc assimilation increments ('key_asminc') +!!====================================================================== +! +!!====================================================================== +!! *** Miscellaneous namelists *** !! +!! !! +!! nammpp Massively Parallel Processing ("key_mpp_mpi") +!! namctl Control prints (default: OFF) +!! namsto Stochastic parametrization of EOS (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&nammpp ! Massively Parallel Processing ("key_mpp_mpi") +!----------------------------------------------------------------------- +! ln_listonly = .false. ! do nothing else than listing the best domain decompositions (with land domains suppression) + ! ! if T: the largest number of cores tested is defined by max(mppsize, jpni*jpnj) +! ln_nnogather = .true. ! activate code to avoid mpi_allgather use at the northfold + jpni = 0 ! number of processors following i (set automatically if < 1), see also ln_listonly = T + jpnj = 0 ! number of processors following j (set automatically if < 1), see also ln_listonly = T +! nn_hls = 1 ! halo width (applies to both rows and columns) +/ +!----------------------------------------------------------------------- +&namctl ! Control prints (default: OFF) +!----------------------------------------------------------------------- + sn_cfctl%l_runstat = .TRUE. ! switches and which areas produce reports with the proc integer settings. +! sn_cfctl%l_trcstat = .FALSE. ! The default settings for the proc integers should ensure + sn_cfctl%l_oceout = .FALSE. ! that all areas report. +! sn_cfctl%l_layout = .FALSE. ! +! sn_cfctl%l_prtctl = .FALSE. ! +! sn_cfctl%l_prttrc = .FALSE. ! +! sn_cfctl%l_oasout = .FALSE. ! +! sn_cfctl%procmin = 0 ! Minimum area number for reporting [default:0] +! sn_cfctl%procmax = 1000000 ! Maximum area number for reporting [default:1000000] +! sn_cfctl%procincr = 1 ! Increment for optional subsetting of areas [default:1] +! sn_cfctl%ptimincr = 1 ! Timestep increment for writing time step progress info +! nn_ictls = 0 ! start i indice of control sum (use to compare mono versus +! nn_ictle = 0 ! end i indice of control sum multi processor runs +! nn_jctls = 0 ! start j indice of control over a subdomain) +! nn_jctle = 0 ! end j indice of control +! nn_isplt = 1 ! number of processors in i-direction +! nn_jsplt = 1 ! number of processors in j-direction + ln_timing = .true. ! timing by routine write out in timing.output file +! ln_diacfl = .false. ! CFL diagnostics write out in cfl_diagnostics.ascii +/ diff --git a/SEAMOUNT/EXPREF/nam_cfg/steep/namelist_cfg.sco_sig b/SEAMOUNT/EXPREF/nam_cfg/steep/namelist_cfg.sco_sig new file mode 100644 index 0000000..8f13c30 --- /dev/null +++ b/SEAMOUNT/EXPREF/nam_cfg/steep/namelist_cfg.sco_sig @@ -0,0 +1,447 @@ +!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +!! NEMO/OCE : Reference namelist_ref !! +!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +!! NEMO/OCE : 1 - Domain & run manager (namrun, namcfg, namdom, namtsd, namcrs, namc1d, namc1d_uvd) +!! namelists 2 - Surface boundary (namsbc, namsbc_flx, namsbc_blk, namsbc_cpl, +!! namsbc_sas, namtra_qsr, namsbc_rnf, +!! namisf, namsbc_apr, +!! namsbc_ssr, namsbc_wave, namberg) +!! 3 - lateral boundary (namlbc, namagrif, nambdy, nambdy_tide) +!! 4 - top/bot boundary (namdrg, namdrg_top, namdrg_bot, nambbc, nambbl) +!! 5 - Tracer (nameos, namtra_adv, namtra_ldf, namtra_eiv, namtra_dmp) +!! 6 - dynamics (namdyn_adv, namdyn_vor, namdyn_hpg, namdyn_spg, namdyn_ldf) +!! 7 - Vertical physics (namzdf, namzdf_ric, namzdf_tke, namzdf_gls, namzdf_iwm) +!! 8 - diagnostics (namnc4, namtrd, namspr, namflo, namhsb) +!! 9 - Obs & Assim (namobs, nam_asminc) +!! 10 - miscellaneous (nammpp, namctl, namsto) +!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + +!!====================================================================== +!! *** Domain & Run management namelists *** !! +!! !! +!! namrun parameters of the run +!! namdom space and time domain +!! namcfg parameters of the configuration (default: user defined GYRE) +!! namwad Wetting and drying (default: OFF) +!! namtsd data: temperature & salinity (default: OFF) +!! namcrs coarsened grid (for outputs and/or TOP) (ln_crs =T) +!! namc1d 1D configuration options ("key_c1d") +!! namc1d_dyndmp 1D newtonian damping applied on currents ("key_c1d") +!! namc1d_uvd 1D data (currents) ("key_c1d") +!!====================================================================== +! +!----------------------------------------------------------------------- +&namusr_def ! SEAMOUNT TEST CASE +!----------------------------------------------------------------------- +!! PHYSICAL DOMAIN + rn_xdim = 504. ! x-dimension of the domain [km] + rn_ydim = 504. ! y-dimension of the domain [km] + rn_bot_max = 4500. ! max ocean depth (>0) [m] + rn_smnt_H = 4050. ! seamount height (>0) [m] + rn_smnt_L = 25. ! seamount width [km] + rn_fplane = 0.0001 ! Coriolis parameter for f-plane approximation +!! NUMERICAL DISCRETIZATION + rn_dx = 8000. ! horizontal resolution [m] + rn_dz = 236.8 ! vertical resolution far from the seamount + ! and assuming no stretching [m] +!! VERTICAL COORDINATE + ln_zco = .false. ! z-coordinate + ln_zps = .false. ! z-partial-step coordinate + ln_sco = .true. ! s-coordinate + ! Stretched s-levels (ln_sco = .true.) + ln_s_sh94 = .false. ! TRUE: s-levels using Song & Haidvogel 1994 (SH94) + ! stretching function + ! FALSE: uniform sigma-levels + rn_theta = 3.0 ! SH94 surface control parameter (0<=theta<=20) + rn_bb = 0.0 ! SH94 bottom control parameter (0<=bb<=1) + rn_hc = 500 ! SH94 critical depth for transition to stretched coordinates [m] + ! Paramaters for vqs-coordinate (ln_sco = .true.) + ln_vqs = .false. ! activating vanishing quasi-sigma levels (TRUE) + rn_rmax = 0.3 ! maximum cut-off slope parameter value allowed + ! if using vqs-levels (0> model level are fixed in time + ! + rn_Dt = 360. ! time step for the dynamics and tracer + ln_meshmask = .true. ! =T create a mesh file +/ +!----------------------------------------------------------------------- +&namcfg ! parameters of the configuration (default: use namusr_def in namelist_cfg) +!----------------------------------------------------------------------- + ln_read_cfg = .false. ! (=T) read the domain configuration file + ln_write_cfg = .true. ! (=T) create the domain configuration file + cn_domcfg_out = "domain_cfg_out" ! newly created domain configuration filename +/ +!----------------------------------------------------------------------- +&namtile ! parameters of the tiling +!----------------------------------------------------------------------- + ln_tile = .false. ! Use tiling (T) or not (F) + nn_ltile_i = 10 ! Length of tiles in i + nn_ltile_j = 10 ! Length of tiles in j +/ +!!====================================================================== +!! *** Surface Boundary Condition namelists *** !! +!! !! +!! namsbc surface boundary condition manager (default: NO selection) +!! namsbc_flx flux formulation (ln_flx =T) +!! namsbc_blk Bulk formulae formulation (ln_blk =T) +!! namsbc_cpl CouPLed formulation ("key_oasis3" ) +!! namsbc_sas Stand-Alone Surface module (SAS_SRC only) +!! namsbc_iif Ice-IF: use observed ice cover (nn_ice = 1 ) +!! namtra_qsr penetrative solar radiation (ln_traqsr =T) +!! namsbc_ssr sea surface restoring term (for T and/or S) (ln_ssr =T) +!! namsbc_rnf river runoffs (ln_rnf =T) +!! namsbc_apr Atmospheric Pressure (ln_apr_dyn =T) +!! namsbc_wave external fields from wave model (ln_wave =T) +!! namberg iceberg floats (ln_icebergs=T) +!! namsbc_fwb freshwater-budget adjustment (nn_fwb > 0) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namsbc ! Surface Boundary Condition manager (default: NO selection) +!----------------------------------------------------------------------- + nn_fsbc = 1 ! frequency of SBC module call + ! ! (control sea-ice & iceberg model call) + ! Type of air-sea fluxes + ln_usr = .true. ! user defined formulation (T => check usrdef_sbc) +/ +!!====================================================================== +!! *** Lateral boundary condition *** !! +!! !! +!! namlbc lateral momentum boundary condition (default: NO selection) +!! namagrif agrif nested grid (read by child model only) ("key_agrif") +!! nam_tide Tidal forcing (default: OFF) +!! nambdy Unstructured open boundaries (default: OFF) +!! nambdy_dta Unstructured open boundaries - external data (see nambdy) +!! nambdy_tide tidal forcing at open boundaries (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namlbc ! lateral momentum boundary condition (default: NO selection) +!----------------------------------------------------------------------- + ! ! free slip ! partial slip ! no slip ! strong slip + rn_shlat = 0.0 ! shlat = 0 ! 0 < shlat < 2 ! shlat = 2 ! 2 < shlat +/ +!!====================================================================== +!! *** Top/Bottom boundary condition *** !! +!! !! +!! namdrg top/bottom drag coefficient (default: NO selection) +!! namdrg_top top friction (ln_drg_OFF=F & ln_isfcav=T) +!! namdrg_bot bottom friction (ln_drg_OFF=F) +!! nambbc bottom temperature boundary condition (default: OFF) +!! nambbl bottom boundary layer scheme (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namdrg ! top/bottom drag coefficient (default: NO selection) +!----------------------------------------------------------------------- + ln_drg_OFF = .true. ! free-slip : Cd = 0 (F => fill namdrg_bot + ln_lin = .false. ! linear drag: Cd = Cd0 Uc0 & namdrg_top) + ln_non_lin = .false. ! non-linear drag: Cd = Cd0 |U| + ln_loglayer = .false. ! logarithmic drag: Cd = vkarmn/log(z/z0) |U| + ! + ln_drgimp = .false. ! implicit top/bottom friction flag + ln_drgice_imp = .true.! implicit ice-ocean drag +/ +!----------------------------------------------------------------------- +&namdrg_top ! TOP friction (ln_drg_OFF =F & ln_isfcav=T) +!----------------------------------------------------------------------- +/ +!----------------------------------------------------------------------- +&namdrg_bot ! BOTTOM friction (ln_drg_OFF =F) +!----------------------------------------------------------------------- + rn_Cd0 = 0.0 ! drag coefficient [-] + rn_Uc0 = 0.0 ! ref. velocity [m/s] (linear drag=Cd0*Uc0) + rn_Cdmax = 1.e-4 ! drag value maximum [-] (logarithmic drag) + rn_ke0 = 2.5e-3 ! background kinetic energy [m2/s2] (non-linear cases) + rn_z0 = 3.e-3 ! roughness [m] (ln_loglayer=T) + ln_boost = .false. ! =T regional boost of Cd0 ; =F constant + rn_boost = 50. ! local boost factor [-] +/ +!!====================================================================== +!! Tracer (T-S) namelists !! +!! !! +!! nameos equation of state (default: NO selection) +!! namtra_adv advection scheme (default: NO selection) +!! namtra_ldf lateral diffusion scheme (default: NO selection) +!! namtra_mle mixed layer eddy param. (Fox-Kemper param.) (default: OFF) +!! namtra_eiv eddy induced velocity param. (default: OFF) +!! namtra_dmp T & S newtonian damping (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&nameos ! ocean Equation Of Seawater (default: NO selection) +!----------------------------------------------------------------------- + ln_teos10 = .false. ! = Use TEOS-10 + ln_eos80 = .true. ! = Use EOS80 + ln_seos = .false. ! = Use S-EOS (simplified Eq.) + ! + ! ! S-EOS coefficients (ln_seos=T): + ! ! rd(T,S,Z)*rho0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS + rn_a0 = 1.6550e-1 ! thermal expension coefficient + rn_b0 = 0.0 ! saline expension coefficient + rn_lambda1 = 0.0 ! cabbeling coeff in T^2 (=0 for linear eos) + rn_lambda2 = 0.0 ! cabbeling coeff in S^2 (=0 for linear eos) + rn_mu1 = 0.0 ! thermobaric coeff. in T (=0 for linear eos) + rn_mu2 = 0.0 ! thermobaric coeff. in S (=0 for linear eos) + rn_nu = 0.0 ! cabbeling coeff in T*S (=0 for linear eos) +/ +!----------------------------------------------------------------------- +&namtra_adv ! advection scheme for tracer (default: NO selection) +!----------------------------------------------------------------------- + ln_traadv_OFF = .false. ! No tracer advection + ln_traadv_cen = .true. ! 2nd order centered scheme + nn_cen_h = 2 ! =2/4, horizontal 2nd order CEN / 4th order CEN + nn_cen_v = 2 ! =2/4, vertical 2nd order CEN / 4th order COMPACT + ln_traadv_fct = .false. ! FCT scheme + nn_fct_h = 2 ! =2/4, horizontal 2nd / 4th order + nn_fct_v = 2 ! =2/4, vertical 2nd / COMPACT 4th order + ln_traadv_mus = .false. ! MUSCL scheme + ln_mus_ups = .false. ! use upstream scheme near river mouths + ln_traadv_ubs = .false. ! UBS scheme + nn_ubs_v = 2 ! =2 , vertical 2nd order FCT / COMPACT 4th order + ln_traadv_qck = .false. ! QUICKEST scheme +/ +!----------------------------------------------------------------------- +&namtra_ldf ! lateral diffusion scheme for tracers (default: NO selection) +!----------------------------------------------------------------------- + ! ! Operator type: + ln_traldf_OFF = .true. ! No explicit diffusion +/ +!!====================================================================== +!! *** Dynamics namelists *** !! +!! !! +!! nam_vvl vertical coordinate options (default: z-star) +!! namdyn_adv formulation of the momentum advection (default: NO selection) +!! namdyn_vor advection scheme (default: NO selection) +!! namdyn_hpg hydrostatic pressure gradient (default: NO selection) +!! namdyn_spg surface pressure gradient (default: NO selection) +!! namdyn_ldf lateral diffusion scheme (default: NO selection) +!! namdta_dyn offline TOP: dynamics read in files (OFF_SRC only) +!!====================================================================== +! +!----------------------------------------------------------------------- +&nam_vvl ! vertical coordinate options (default: z-star) +!----------------------------------------------------------------------- + ln_vvl_zstar = .true. ! z-star vertical coordinate + ln_vvl_ztilde = .false. ! z-tilde vertical coordinate: only high frequency variations + ln_vvl_layer = .false. ! full layer vertical coordinate + ln_vvl_ztilde_as_zstar = .false. ! ztilde vertical coordinate emulating zstar + ln_vvl_zstar_at_eqtor = .false. ! ztilde near the equator + rn_ahe3 = 0.0 ! thickness diffusion coefficient + rn_rst_e3t = 30.0 ! ztilde to zstar restoration timescale [days] + rn_lf_cutoff = 5.0 ! cutoff frequency for low-pass filter [days] + rn_zdef_max = 0.9 ! maximum fractional e3t deformation + ln_vvl_dbg = .false. ! debug prints (T/F) +/ +!----------------------------------------------------------------------- +&namdyn_adv ! formulation of the momentum advection (default: NO selection) +!----------------------------------------------------------------------- + ln_dynadv_OFF = .false. ! linear dynamics (no momentum advection) + ln_dynadv_vec = .true. ! vector form - 2nd centered scheme + nn_dynkeg = 0 ! grad(KE) scheme: =0 C2 ; =1 Hollingsworth correction + ln_dynadv_cen2 = .false. ! flux form - 2nd order centered scheme + ln_dynadv_ubs = .false. ! flux form - 3rd order UBS scheme +/ +!----------------------------------------------------------------------- +&namdyn_vor ! Vorticity / Coriolis scheme (default: NO selection) +!----------------------------------------------------------------------- + ln_dynvor_ene = .false. ! energy conserving scheme + ln_dynvor_ens = .false. ! enstrophy conserving scheme + ln_dynvor_mix = .false. ! mixed scheme + ln_dynvor_enT = .false. ! energy conserving scheme (T-point) + ln_dynvor_eeT = .false. ! energy conserving scheme (een using e3t) + ln_dynvor_een = .true. ! energy & enstrophy scheme + ! + ln_dynvor_msk = .false. ! vorticity multiplied by fmask (=T) ==>>> PLEASE DO NOT ACTIVATE + ! ! (f-point vorticity schemes only) + ! + nn_e3f_typ = 0 ! type of e3f (EEN, ENE, ENS, MIX only) =0 e3f = mi(mj(e3t))/4 + ! ! =1 e3f = mi(mj(e3t))/mi(mj( tmask)) +/ +!----------------------------------------------------------------------- +&namdyn_hpg ! Hydrostatic pressure gradient option (default: NO selection) +!----------------------------------------------------------------------- + ln_hpg_zco = .false. ! z-coordinate - full steps + ln_hpg_zps = .false. ! z-coordinate - partial steps (interpolation) + ln_hpg_sco = .true. ! s-coordinate (standard jacobian formulation) + ln_hpg_isf = .false. ! s-coordinate (sco ) adapted to isf + ln_hpg_djc = .false. ! s-coordinate (Density Jacobian with Cubic polynomial) + ln_hpg_djc_vnh = .true. ! hor. bc type for djc scheme (T=von Neumann, F=linear extrapolation) + ln_hpg_djc_vnv = .true. ! vert. bc type for djc scheme (T=von Neumann, F=linear extrapolation) + ln_hpg_prj = .false. ! s-coordinate (Pressure Jacobian scheme) +/ +!----------------------------------------------------------------------- +&namdyn_spg ! surface pressure gradient (default: NO selection) +!----------------------------------------------------------------------- + ln_dynspg_exp = .false. ! explicit free surface + ln_dynspg_ts = .true. ! split-explicit free surface + nn_e = 30 ! =F : the number of sub-step in rn_Dt seconds +/ +!----------------------------------------------------------------------- +&namdyn_ldf ! lateral diffusion on momentum (default: NO selection) +!----------------------------------------------------------------------- + ! ! Type of the operator : + ln_dynldf_OFF = .false. ! No operator (i.e. no explicit diffusion) + nn_dynldf_typ = 0 ! =0 div-rot (default) ; =1 symmetric + ln_dynldf_lap = .true. ! laplacian operator + ln_dynldf_blp = .false. ! bilaplacian operator + ! ! Direction of action : + ln_dynldf_lev = .true. ! iso-level + ln_dynldf_hor = .false. ! horizontal (geopotential) + ln_dynldf_iso = .false. ! iso-neutral (lap only) + ! ! Coefficient + nn_ahm_ijk_t = 0 ! space/time variation of eddy coefficient : + ! ! =-30 read in eddy_viscosity_3D.nc file + ! ! =-20 read in eddy_viscosity_2D.nc file + ! ! = 0 constant + ! ! = 10 F(k)=c1d + ! ! = 20 F(i,j)=F(grid spacing)=c2d + ! ! = 30 F(i,j,k)=c2d*c1d + ! ! = 31 F(i,j,k)=F(grid spacing and local velocity) + ! ! = 32 F(i,j,k)=F(local gridscale and deformation rate) + ! ! time invariant coefficients : ahm = 1/2 Uv*Lv (lap case) + ! ! or = 1/12 Uv*Lv^3 (blp case) + rn_Uv = 1.0 ! lateral viscous velocity [m/s] (nn_ahm_ijk_t= 0, 10, 20, 30) + rn_Lv = 1.e+3 ! lateral viscous length [m] (nn_ahm_ijk_t= 0, 10) +/ +!!====================================================================== +!! vertical physics namelists !! +!! !! +!! namzdf vertical physics manager (default: NO selection) +!! namzdf_ric richardson number vertical mixing (ln_zdfric=T) +!! namzdf_tke TKE vertical mixing (ln_zdftke=T) +!! namzdf_gls GLS vertical mixing (ln_zdfgls=T) +!! namzdf_osm OSM vertical diffusion (ln_zdfosm=T) +!! namzdf_iwm tidal mixing parameterization (ln_zdfiwm=T) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namzdf ! vertical physics manager (default: NO selection) +!----------------------------------------------------------------------- + ! ! adaptive-implicit vertical advection + ln_zad_Aimp = .false. ! Courant number dependent scheme (Shchepetkin 2015) + ! + ! ! type of vertical closure (required) + ln_zdfcst = .true. ! constant mixing + ln_zdfric = .false. ! local Richardson dependent formulation (T => fill namzdf_ric) + ln_zdftke = .false. ! Turbulent Kinetic Energy closure (T => fill namzdf_tke) + ln_zdfgls = .false. ! Generic Length Scale closure (T => fill namzdf_gls) + ln_zdfosm = .false. ! OSMOSIS BL closure (T => fill namzdf_osm) + ! + ! ! convection + ln_zdfevd = .false. ! enhanced vertical diffusion + nn_evdm = 0 ! apply on tracer (=0) or on tracer and momentum (=1) + rn_evd = 100. ! mixing coefficient [m2/s] + ln_zdfnpc = .false. ! Non-Penetrative Convective algorithm + nn_npc = 1 ! frequency of application of npc + nn_npcp = 365 ! npc control print frequency + ln_zdfmfc = .false. ! Mass Flux Convection + ! + ln_zdfddm = .false. ! double diffusive mixing + rn_avts = 1.e-4 ! maximum avs (vertical mixing on salinity) + rn_hsbfr = 1.6 ! heat/salt buoyancy flux ratio + ! + ! ! gravity wave-driven vertical mixing + ln_zdfiwm = .false. ! internal wave-induced mixing (T => fill namzdf_iwm) + ln_zdfswm = .false. ! surface wave-induced mixing (T => ln_wave=ln_sdw=T ) + ! + ! ! coefficients + rn_avm0 = 2.e-5 ! vertical eddy viscosity [m2/s] (background Kz if ln_zdfcst=F) + rn_avt0 = 2.e-5 ! vertical eddy diffusivity [m2/s] (background Kz if ln_zdfcst=F) + nn_avb = 0 ! profile for background avt & avm (=1) or not (=0) + nn_havtb = 0 ! horizontal shape for avtb (=1) or not (=0) +/ +!!====================================================================== +!! *** Diagnostics namelists *** !! +!! !! +!! namtrd dynamics and/or tracer trends (default: OFF) +!! namhsb Heat and salt budgets (default: OFF) +!! namdiu Cool skin and warm layer models (default: OFF) +!! namdiu Cool skin and warm layer models (default: OFF) +!! namflo float parameters (default: OFF) +!! nam_diadct transports through some sections (default: OFF) +!! nam_dia25h 25h Mean Output (default: OFF) +!! namnc4 netcdf4 chunking and compression settings ("key_netcdf4") +!!====================================================================== +! +!----------------------------------------------------------------------- +&namtrd ! trend diagnostics (default: OFF) +!----------------------------------------------------------------------- + ln_glo_trd = .false. ! (T) global domain averaged diag for T, T^2, KE, and PE + ln_dyn_trd = .true. ! (T) 3D momentum trend output + ln_dyn_mxl = .false. ! (T) 2D momentum trends averaged over the mixed layer (not coded yet) + ln_vor_trd = .false. ! (T) 2D barotropic vorticity trends (not coded yet) + ln_KE_trd = .false. ! (T) 3D Kinetic Energy trends + ln_PE_trd = .false. ! (T) 3D Potential Energy trends + ln_tra_trd = .false. ! (T) 3D tracer trend output + ln_tra_mxl = .false. ! (T) 2D tracer trends averaged over the mixed layer (not coded yet) + nn_trd = 1 ! print frequency (ln_glo_trd=T) (unit=time step) +/ +!!====================================================================== +!! *** Observation & Assimilation *** !! +!! !! +!! namobs observation and model comparison (default: OFF) +!! nam_asminc assimilation increments ('key_asminc') +!!====================================================================== +! +!!====================================================================== +!! *** Miscellaneous namelists *** !! +!! !! +!! nammpp Massively Parallel Processing ("key_mpp_mpi") +!! namctl Control prints (default: OFF) +!! namsto Stochastic parametrization of EOS (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&nammpp ! Massively Parallel Processing ("key_mpp_mpi") +!----------------------------------------------------------------------- +! ln_listonly = .false. ! do nothing else than listing the best domain decompositions (with land domains suppression) + ! ! if T: the largest number of cores tested is defined by max(mppsize, jpni*jpnj) +! ln_nnogather = .true. ! activate code to avoid mpi_allgather use at the northfold + jpni = 0 ! number of processors following i (set automatically if < 1), see also ln_listonly = T + jpnj = 0 ! number of processors following j (set automatically if < 1), see also ln_listonly = T +! nn_hls = 1 ! halo width (applies to both rows and columns) +/ +!----------------------------------------------------------------------- +&namctl ! Control prints (default: OFF) +!----------------------------------------------------------------------- + sn_cfctl%l_runstat = .TRUE. ! switches and which areas produce reports with the proc integer settings. +! sn_cfctl%l_trcstat = .FALSE. ! The default settings for the proc integers should ensure + sn_cfctl%l_oceout = .FALSE. ! that all areas report. +! sn_cfctl%l_layout = .FALSE. ! +! sn_cfctl%l_prtctl = .FALSE. ! +! sn_cfctl%l_prttrc = .FALSE. ! +! sn_cfctl%l_oasout = .FALSE. ! +! sn_cfctl%procmin = 0 ! Minimum area number for reporting [default:0] +! sn_cfctl%procmax = 1000000 ! Maximum area number for reporting [default:1000000] +! sn_cfctl%procincr = 1 ! Increment for optional subsetting of areas [default:1] +! sn_cfctl%ptimincr = 1 ! Timestep increment for writing time step progress info +! nn_ictls = 0 ! start i indice of control sum (use to compare mono versus +! nn_ictle = 0 ! end i indice of control sum multi processor runs +! nn_jctls = 0 ! start j indice of control over a subdomain) +! nn_jctle = 0 ! end j indice of control +! nn_isplt = 1 ! number of processors in i-direction +! nn_jsplt = 1 ! number of processors in j-direction + ln_timing = .true. ! timing by routine write out in timing.output file +! ln_diacfl = .false. ! CFL diagnostics write out in cfl_diagnostics.ascii +/ diff --git a/SEAMOUNT/EXPREF/nam_cfg/steep/namelist_cfg.sco_vqs b/SEAMOUNT/EXPREF/nam_cfg/steep/namelist_cfg.sco_vqs new file mode 100644 index 0000000..a7cc5f3 --- /dev/null +++ b/SEAMOUNT/EXPREF/nam_cfg/steep/namelist_cfg.sco_vqs @@ -0,0 +1,447 @@ +!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +!! NEMO/OCE : Reference namelist_ref !! +!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +!! NEMO/OCE : 1 - Domain & run manager (namrun, namcfg, namdom, namtsd, namcrs, namc1d, namc1d_uvd) +!! namelists 2 - Surface boundary (namsbc, namsbc_flx, namsbc_blk, namsbc_cpl, +!! namsbc_sas, namtra_qsr, namsbc_rnf, +!! namisf, namsbc_apr, +!! namsbc_ssr, namsbc_wave, namberg) +!! 3 - lateral boundary (namlbc, namagrif, nambdy, nambdy_tide) +!! 4 - top/bot boundary (namdrg, namdrg_top, namdrg_bot, nambbc, nambbl) +!! 5 - Tracer (nameos, namtra_adv, namtra_ldf, namtra_eiv, namtra_dmp) +!! 6 - dynamics (namdyn_adv, namdyn_vor, namdyn_hpg, namdyn_spg, namdyn_ldf) +!! 7 - Vertical physics (namzdf, namzdf_ric, namzdf_tke, namzdf_gls, namzdf_iwm) +!! 8 - diagnostics (namnc4, namtrd, namspr, namflo, namhsb) +!! 9 - Obs & Assim (namobs, nam_asminc) +!! 10 - miscellaneous (nammpp, namctl, namsto) +!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + +!!====================================================================== +!! *** Domain & Run management namelists *** !! +!! !! +!! namrun parameters of the run +!! namdom space and time domain +!! namcfg parameters of the configuration (default: user defined GYRE) +!! namwad Wetting and drying (default: OFF) +!! namtsd data: temperature & salinity (default: OFF) +!! namcrs coarsened grid (for outputs and/or TOP) (ln_crs =T) +!! namc1d 1D configuration options ("key_c1d") +!! namc1d_dyndmp 1D newtonian damping applied on currents ("key_c1d") +!! namc1d_uvd 1D data (currents) ("key_c1d") +!!====================================================================== +! +!----------------------------------------------------------------------- +&namusr_def ! SEAMOUNT TEST CASE +!----------------------------------------------------------------------- +!! PHYSICAL DOMAIN + rn_xdim = 504. ! x-dimension of the domain [km] + rn_ydim = 504. ! y-dimension of the domain [km] + rn_bot_max = 4500. ! max ocean depth (>0) [m] + rn_smnt_H = 4050. ! seamount height (>0) [m] + rn_smnt_L = 25. ! seamount width [km] + rn_fplane = 0.0001 ! Coriolis parameter for f-plane approximation +!! NUMERICAL DISCRETIZATION + rn_dx = 8000. ! horizontal resolution [m] + rn_dz = 236.8 ! vertical resolution far from the seamount + ! and assuming no stretching [m] +!! VERTICAL COORDINATE + ln_zco = .false. ! z-coordinate + ln_zps = .false. ! z-partial-step coordinate + ln_sco = .true. ! s-coordinate + ! Stretched s-levels (ln_sco = .true.) + ln_s_sh94 = .false. ! TRUE: s-levels using Song & Haidvogel 1994 (SH94) + ! stretching function + ! FALSE: uniform sigma-levels + rn_theta = 3.0 ! SH94 surface control parameter (0<=theta<=20) + rn_bb = 0.0 ! SH94 bottom control parameter (0<=bb<=1) + rn_hc = 500 ! SH94 critical depth for transition to stretched coordinates [m] + ! Paramaters for vqs-coordinate (ln_sco = .true.) + ln_vqs = .true. ! activating vanishing quasi-sigma levels (TRUE) + rn_rmax = 0.25 ! maximum cut-off slope parameter value allowed + ! if using vqs-levels (0> model level are fixed in time + ! + rn_Dt = 360. ! time step for the dynamics and tracer + ln_meshmask = .true. ! =T create a mesh file +/ +!----------------------------------------------------------------------- +&namcfg ! parameters of the configuration (default: use namusr_def in namelist_cfg) +!----------------------------------------------------------------------- + ln_read_cfg = .false. ! (=T) read the domain configuration file + ln_write_cfg = .true. ! (=T) create the domain configuration file + cn_domcfg_out = "domain_cfg_out" ! newly created domain configuration filename +/ +!----------------------------------------------------------------------- +&namtile ! parameters of the tiling +!----------------------------------------------------------------------- + ln_tile = .false. ! Use tiling (T) or not (F) + nn_ltile_i = 10 ! Length of tiles in i + nn_ltile_j = 10 ! Length of tiles in j +/ +!!====================================================================== +!! *** Surface Boundary Condition namelists *** !! +!! !! +!! namsbc surface boundary condition manager (default: NO selection) +!! namsbc_flx flux formulation (ln_flx =T) +!! namsbc_blk Bulk formulae formulation (ln_blk =T) +!! namsbc_cpl CouPLed formulation ("key_oasis3" ) +!! namsbc_sas Stand-Alone Surface module (SAS_SRC only) +!! namsbc_iif Ice-IF: use observed ice cover (nn_ice = 1 ) +!! namtra_qsr penetrative solar radiation (ln_traqsr =T) +!! namsbc_ssr sea surface restoring term (for T and/or S) (ln_ssr =T) +!! namsbc_rnf river runoffs (ln_rnf =T) +!! namsbc_apr Atmospheric Pressure (ln_apr_dyn =T) +!! namsbc_wave external fields from wave model (ln_wave =T) +!! namberg iceberg floats (ln_icebergs=T) +!! namsbc_fwb freshwater-budget adjustment (nn_fwb > 0) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namsbc ! Surface Boundary Condition manager (default: NO selection) +!----------------------------------------------------------------------- + nn_fsbc = 1 ! frequency of SBC module call + ! ! (control sea-ice & iceberg model call) + ! Type of air-sea fluxes + ln_usr = .true. ! user defined formulation (T => check usrdef_sbc) +/ +!!====================================================================== +!! *** Lateral boundary condition *** !! +!! !! +!! namlbc lateral momentum boundary condition (default: NO selection) +!! namagrif agrif nested grid (read by child model only) ("key_agrif") +!! nam_tide Tidal forcing (default: OFF) +!! nambdy Unstructured open boundaries (default: OFF) +!! nambdy_dta Unstructured open boundaries - external data (see nambdy) +!! nambdy_tide tidal forcing at open boundaries (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namlbc ! lateral momentum boundary condition (default: NO selection) +!----------------------------------------------------------------------- + ! ! free slip ! partial slip ! no slip ! strong slip + rn_shlat = 0.0 ! shlat = 0 ! 0 < shlat < 2 ! shlat = 2 ! 2 < shlat +/ +!!====================================================================== +!! *** Top/Bottom boundary condition *** !! +!! !! +!! namdrg top/bottom drag coefficient (default: NO selection) +!! namdrg_top top friction (ln_drg_OFF=F & ln_isfcav=T) +!! namdrg_bot bottom friction (ln_drg_OFF=F) +!! nambbc bottom temperature boundary condition (default: OFF) +!! nambbl bottom boundary layer scheme (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namdrg ! top/bottom drag coefficient (default: NO selection) +!----------------------------------------------------------------------- + ln_drg_OFF = .true. ! free-slip : Cd = 0 (F => fill namdrg_bot + ln_lin = .false. ! linear drag: Cd = Cd0 Uc0 & namdrg_top) + ln_non_lin = .false. ! non-linear drag: Cd = Cd0 |U| + ln_loglayer = .false. ! logarithmic drag: Cd = vkarmn/log(z/z0) |U| + ! + ln_drgimp = .false. ! implicit top/bottom friction flag + ln_drgice_imp = .true.! implicit ice-ocean drag +/ +!----------------------------------------------------------------------- +&namdrg_top ! TOP friction (ln_drg_OFF =F & ln_isfcav=T) +!----------------------------------------------------------------------- +/ +!----------------------------------------------------------------------- +&namdrg_bot ! BOTTOM friction (ln_drg_OFF =F) +!----------------------------------------------------------------------- + rn_Cd0 = 0.0 ! drag coefficient [-] + rn_Uc0 = 0.0 ! ref. velocity [m/s] (linear drag=Cd0*Uc0) + rn_Cdmax = 1.e-4 ! drag value maximum [-] (logarithmic drag) + rn_ke0 = 2.5e-3 ! background kinetic energy [m2/s2] (non-linear cases) + rn_z0 = 3.e-3 ! roughness [m] (ln_loglayer=T) + ln_boost = .false. ! =T regional boost of Cd0 ; =F constant + rn_boost = 50. ! local boost factor [-] +/ +!!====================================================================== +!! Tracer (T-S) namelists !! +!! !! +!! nameos equation of state (default: NO selection) +!! namtra_adv advection scheme (default: NO selection) +!! namtra_ldf lateral diffusion scheme (default: NO selection) +!! namtra_mle mixed layer eddy param. (Fox-Kemper param.) (default: OFF) +!! namtra_eiv eddy induced velocity param. (default: OFF) +!! namtra_dmp T & S newtonian damping (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&nameos ! ocean Equation Of Seawater (default: NO selection) +!----------------------------------------------------------------------- + ln_teos10 = .false. ! = Use TEOS-10 + ln_eos80 = .true. ! = Use EOS80 + ln_seos = .false. ! = Use S-EOS (simplified Eq.) + ! + ! ! S-EOS coefficients (ln_seos=T): + ! ! rd(T,S,Z)*rho0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS + rn_a0 = 1.6550e-1 ! thermal expension coefficient + rn_b0 = 0.0 ! saline expension coefficient + rn_lambda1 = 0.0 ! cabbeling coeff in T^2 (=0 for linear eos) + rn_lambda2 = 0.0 ! cabbeling coeff in S^2 (=0 for linear eos) + rn_mu1 = 0.0 ! thermobaric coeff. in T (=0 for linear eos) + rn_mu2 = 0.0 ! thermobaric coeff. in S (=0 for linear eos) + rn_nu = 0.0 ! cabbeling coeff in T*S (=0 for linear eos) +/ +!----------------------------------------------------------------------- +&namtra_adv ! advection scheme for tracer (default: NO selection) +!----------------------------------------------------------------------- + ln_traadv_OFF = .false. ! No tracer advection + ln_traadv_cen = .true. ! 2nd order centered scheme + nn_cen_h = 2 ! =2/4, horizontal 2nd order CEN / 4th order CEN + nn_cen_v = 2 ! =2/4, vertical 2nd order CEN / 4th order COMPACT + ln_traadv_fct = .false. ! FCT scheme + nn_fct_h = 2 ! =2/4, horizontal 2nd / 4th order + nn_fct_v = 2 ! =2/4, vertical 2nd / COMPACT 4th order + ln_traadv_mus = .false. ! MUSCL scheme + ln_mus_ups = .false. ! use upstream scheme near river mouths + ln_traadv_ubs = .false. ! UBS scheme + nn_ubs_v = 2 ! =2 , vertical 2nd order FCT / COMPACT 4th order + ln_traadv_qck = .false. ! QUICKEST scheme +/ +!----------------------------------------------------------------------- +&namtra_ldf ! lateral diffusion scheme for tracers (default: NO selection) +!----------------------------------------------------------------------- + ! ! Operator type: + ln_traldf_OFF = .true. ! No explicit diffusion +/ +!!====================================================================== +!! *** Dynamics namelists *** !! +!! !! +!! nam_vvl vertical coordinate options (default: z-star) +!! namdyn_adv formulation of the momentum advection (default: NO selection) +!! namdyn_vor advection scheme (default: NO selection) +!! namdyn_hpg hydrostatic pressure gradient (default: NO selection) +!! namdyn_spg surface pressure gradient (default: NO selection) +!! namdyn_ldf lateral diffusion scheme (default: NO selection) +!! namdta_dyn offline TOP: dynamics read in files (OFF_SRC only) +!!====================================================================== +! +!----------------------------------------------------------------------- +&nam_vvl ! vertical coordinate options (default: z-star) +!----------------------------------------------------------------------- + ln_vvl_zstar = .true. ! z-star vertical coordinate + ln_vvl_ztilde = .false. ! z-tilde vertical coordinate: only high frequency variations + ln_vvl_layer = .false. ! full layer vertical coordinate + ln_vvl_ztilde_as_zstar = .false. ! ztilde vertical coordinate emulating zstar + ln_vvl_zstar_at_eqtor = .false. ! ztilde near the equator + rn_ahe3 = 0.0 ! thickness diffusion coefficient + rn_rst_e3t = 30.0 ! ztilde to zstar restoration timescale [days] + rn_lf_cutoff = 5.0 ! cutoff frequency for low-pass filter [days] + rn_zdef_max = 0.9 ! maximum fractional e3t deformation + ln_vvl_dbg = .false. ! debug prints (T/F) +/ +!----------------------------------------------------------------------- +&namdyn_adv ! formulation of the momentum advection (default: NO selection) +!----------------------------------------------------------------------- + ln_dynadv_OFF = .false. ! linear dynamics (no momentum advection) + ln_dynadv_vec = .true. ! vector form - 2nd centered scheme + nn_dynkeg = 0 ! grad(KE) scheme: =0 C2 ; =1 Hollingsworth correction + ln_dynadv_cen2 = .false. ! flux form - 2nd order centered scheme + ln_dynadv_ubs = .false. ! flux form - 3rd order UBS scheme +/ +!----------------------------------------------------------------------- +&namdyn_vor ! Vorticity / Coriolis scheme (default: NO selection) +!----------------------------------------------------------------------- + ln_dynvor_ene = .false. ! energy conserving scheme + ln_dynvor_ens = .false. ! enstrophy conserving scheme + ln_dynvor_mix = .false. ! mixed scheme + ln_dynvor_enT = .false. ! energy conserving scheme (T-point) + ln_dynvor_eeT = .false. ! energy conserving scheme (een using e3t) + ln_dynvor_een = .true. ! energy & enstrophy scheme + ! + ln_dynvor_msk = .false. ! vorticity multiplied by fmask (=T) ==>>> PLEASE DO NOT ACTIVATE + ! ! (f-point vorticity schemes only) + ! + nn_e3f_typ = 0 ! type of e3f (EEN, ENE, ENS, MIX only) =0 e3f = mi(mj(e3t))/4 + ! ! =1 e3f = mi(mj(e3t))/mi(mj( tmask)) +/ +!----------------------------------------------------------------------- +&namdyn_hpg ! Hydrostatic pressure gradient option (default: NO selection) +!----------------------------------------------------------------------- + ln_hpg_zco = .false. ! z-coordinate - full steps + ln_hpg_zps = .false. ! z-coordinate - partial steps (interpolation) + ln_hpg_sco = .true. ! s-coordinate (standard jacobian formulation) + ln_hpg_isf = .false. ! s-coordinate (sco ) adapted to isf + ln_hpg_djc = .false. ! s-coordinate (Density Jacobian with Cubic polynomial) + ln_hpg_djc_vnh = .true. ! hor. bc type for djc scheme (T=von Neumann, F=linear extrapolation) + ln_hpg_djc_vnv = .true. ! vert. bc type for djc scheme (T=von Neumann, F=linear extrapolation) + ln_hpg_prj = .false. ! s-coordinate (Pressure Jacobian scheme) +/ +!----------------------------------------------------------------------- +&namdyn_spg ! surface pressure gradient (default: NO selection) +!----------------------------------------------------------------------- + ln_dynspg_exp = .false. ! explicit free surface + ln_dynspg_ts = .true. ! split-explicit free surface + nn_e = 30 ! =F : the number of sub-step in rn_Dt seconds +/ +!----------------------------------------------------------------------- +&namdyn_ldf ! lateral diffusion on momentum (default: NO selection) +!----------------------------------------------------------------------- + ! ! Type of the operator : + ln_dynldf_OFF = .false. ! No operator (i.e. no explicit diffusion) + nn_dynldf_typ = 0 ! =0 div-rot (default) ; =1 symmetric + ln_dynldf_lap = .true. ! laplacian operator + ln_dynldf_blp = .false. ! bilaplacian operator + ! ! Direction of action : + ln_dynldf_lev = .true. ! iso-level + ln_dynldf_hor = .false. ! horizontal (geopotential) + ln_dynldf_iso = .false. ! iso-neutral (lap only) + ! ! Coefficient + nn_ahm_ijk_t = 0 ! space/time variation of eddy coefficient : + ! ! =-30 read in eddy_viscosity_3D.nc file + ! ! =-20 read in eddy_viscosity_2D.nc file + ! ! = 0 constant + ! ! = 10 F(k)=c1d + ! ! = 20 F(i,j)=F(grid spacing)=c2d + ! ! = 30 F(i,j,k)=c2d*c1d + ! ! = 31 F(i,j,k)=F(grid spacing and local velocity) + ! ! = 32 F(i,j,k)=F(local gridscale and deformation rate) + ! ! time invariant coefficients : ahm = 1/2 Uv*Lv (lap case) + ! ! or = 1/12 Uv*Lv^3 (blp case) + rn_Uv = 1.0 ! lateral viscous velocity [m/s] (nn_ahm_ijk_t= 0, 10, 20, 30) + rn_Lv = 1.e+3 ! lateral viscous length [m] (nn_ahm_ijk_t= 0, 10) +/ +!!====================================================================== +!! vertical physics namelists !! +!! !! +!! namzdf vertical physics manager (default: NO selection) +!! namzdf_ric richardson number vertical mixing (ln_zdfric=T) +!! namzdf_tke TKE vertical mixing (ln_zdftke=T) +!! namzdf_gls GLS vertical mixing (ln_zdfgls=T) +!! namzdf_osm OSM vertical diffusion (ln_zdfosm=T) +!! namzdf_iwm tidal mixing parameterization (ln_zdfiwm=T) +!!====================================================================== +! +!----------------------------------------------------------------------- +&namzdf ! vertical physics manager (default: NO selection) +!----------------------------------------------------------------------- + ! ! adaptive-implicit vertical advection + ln_zad_Aimp = .false. ! Courant number dependent scheme (Shchepetkin 2015) + ! + ! ! type of vertical closure (required) + ln_zdfcst = .true. ! constant mixing + ln_zdfric = .false. ! local Richardson dependent formulation (T => fill namzdf_ric) + ln_zdftke = .false. ! Turbulent Kinetic Energy closure (T => fill namzdf_tke) + ln_zdfgls = .false. ! Generic Length Scale closure (T => fill namzdf_gls) + ln_zdfosm = .false. ! OSMOSIS BL closure (T => fill namzdf_osm) + ! + ! ! convection + ln_zdfevd = .false. ! enhanced vertical diffusion + nn_evdm = 0 ! apply on tracer (=0) or on tracer and momentum (=1) + rn_evd = 100. ! mixing coefficient [m2/s] + ln_zdfnpc = .false. ! Non-Penetrative Convective algorithm + nn_npc = 1 ! frequency of application of npc + nn_npcp = 365 ! npc control print frequency + ln_zdfmfc = .false. ! Mass Flux Convection + ! + ln_zdfddm = .false. ! double diffusive mixing + rn_avts = 1.e-4 ! maximum avs (vertical mixing on salinity) + rn_hsbfr = 1.6 ! heat/salt buoyancy flux ratio + ! + ! ! gravity wave-driven vertical mixing + ln_zdfiwm = .false. ! internal wave-induced mixing (T => fill namzdf_iwm) + ln_zdfswm = .false. ! surface wave-induced mixing (T => ln_wave=ln_sdw=T ) + ! + ! ! coefficients + rn_avm0 = 2.e-5 ! vertical eddy viscosity [m2/s] (background Kz if ln_zdfcst=F) + rn_avt0 = 2.e-5 ! vertical eddy diffusivity [m2/s] (background Kz if ln_zdfcst=F) + nn_avb = 0 ! profile for background avt & avm (=1) or not (=0) + nn_havtb = 0 ! horizontal shape for avtb (=1) or not (=0) +/ +!!====================================================================== +!! *** Diagnostics namelists *** !! +!! !! +!! namtrd dynamics and/or tracer trends (default: OFF) +!! namhsb Heat and salt budgets (default: OFF) +!! namdiu Cool skin and warm layer models (default: OFF) +!! namdiu Cool skin and warm layer models (default: OFF) +!! namflo float parameters (default: OFF) +!! nam_diadct transports through some sections (default: OFF) +!! nam_dia25h 25h Mean Output (default: OFF) +!! namnc4 netcdf4 chunking and compression settings ("key_netcdf4") +!!====================================================================== +! +!----------------------------------------------------------------------- +&namtrd ! trend diagnostics (default: OFF) +!----------------------------------------------------------------------- + ln_glo_trd = .false. ! (T) global domain averaged diag for T, T^2, KE, and PE + ln_dyn_trd = .true. ! (T) 3D momentum trend output + ln_dyn_mxl = .false. ! (T) 2D momentum trends averaged over the mixed layer (not coded yet) + ln_vor_trd = .false. ! (T) 2D barotropic vorticity trends (not coded yet) + ln_KE_trd = .false. ! (T) 3D Kinetic Energy trends + ln_PE_trd = .false. ! (T) 3D Potential Energy trends + ln_tra_trd = .false. ! (T) 3D tracer trend output + ln_tra_mxl = .false. ! (T) 2D tracer trends averaged over the mixed layer (not coded yet) + nn_trd = 1 ! print frequency (ln_glo_trd=T) (unit=time step) +/ +!!====================================================================== +!! *** Observation & Assimilation *** !! +!! !! +!! namobs observation and model comparison (default: OFF) +!! nam_asminc assimilation increments ('key_asminc') +!!====================================================================== +! +!!====================================================================== +!! *** Miscellaneous namelists *** !! +!! !! +!! nammpp Massively Parallel Processing ("key_mpp_mpi") +!! namctl Control prints (default: OFF) +!! namsto Stochastic parametrization of EOS (default: OFF) +!!====================================================================== +! +!----------------------------------------------------------------------- +&nammpp ! Massively Parallel Processing ("key_mpp_mpi") +!----------------------------------------------------------------------- +! ln_listonly = .false. ! do nothing else than listing the best domain decompositions (with land domains suppression) + ! ! if T: the largest number of cores tested is defined by max(mppsize, jpni*jpnj) +! ln_nnogather = .true. ! activate code to avoid mpi_allgather use at the northfold + jpni = 0 ! number of processors following i (set automatically if < 1), see also ln_listonly = T + jpnj = 0 ! number of processors following j (set automatically if < 1), see also ln_listonly = T +! nn_hls = 1 ! halo width (applies to both rows and columns) +/ +!----------------------------------------------------------------------- +&namctl ! Control prints (default: OFF) +!----------------------------------------------------------------------- + sn_cfctl%l_runstat = .TRUE. ! switches and which areas produce reports with the proc integer settings. +! sn_cfctl%l_trcstat = .FALSE. ! The default settings for the proc integers should ensure + sn_cfctl%l_oceout = .FALSE. ! that all areas report. +! sn_cfctl%l_layout = .FALSE. ! +! sn_cfctl%l_prtctl = .FALSE. ! +! sn_cfctl%l_prttrc = .FALSE. ! +! sn_cfctl%l_oasout = .FALSE. ! +! sn_cfctl%procmin = 0 ! Minimum area number for reporting [default:0] +! sn_cfctl%procmax = 1000000 ! Maximum area number for reporting [default:1000000] +! sn_cfctl%procincr = 1 ! Increment for optional subsetting of areas [default:1] +! sn_cfctl%ptimincr = 1 ! Timestep increment for writing time step progress info +! nn_ictls = 0 ! start i indice of control sum (use to compare mono versus +! nn_ictle = 0 ! end i indice of control sum multi processor runs +! nn_jctls = 0 ! start j indice of control over a subdomain) +! nn_jctle = 0 ! end j indice of control +! nn_isplt = 1 ! number of processors in i-direction +! nn_jsplt = 1 ! number of processors in j-direction + ln_timing = .true. ! timing by routine write out in timing.output file +! ln_diacfl = .false. ! CFL diagnostics write out in cfl_diagnostics.ascii +/ diff --git a/SEAMOUNT/EXPREF/namelist_cfg b/SEAMOUNT/EXPREF/namelist_cfg index 2714aac..7dd05a6 100644 --- a/SEAMOUNT/EXPREF/namelist_cfg +++ b/SEAMOUNT/EXPREF/namelist_cfg @@ -33,28 +33,42 @@ !----------------------------------------------------------------------- &namusr_def ! SEAMOUNT TEST CASE !----------------------------------------------------------------------- - ln_zco = .false. ! z-coordinate - ln_zps = .false. ! z-partial-step coordinate - ln_sco = .true. ! s-coordinate - rn_dx = 4000.0 ! horizontal resolution [m] - rn_length = 380.0 ! length of domain [km] - rn_width = 288.0 ! width of domain [km] - rn_dz = 450.0 ! vertical resolution [m] - rn_initrho = 0.1 ! Initial density perturbation magnitude - rn_s = 2.0 ! Burger number (to control background density profile) - rn_bathy = 4500.0 ! Max Depth - rn_seamountheight = 4050.0 ! Seamount height - rn_l = 25000.0 ! Gaussian scale factor - rn_f = 0.0001 ! Coriolis parameter - ln_exp_init = .true. ! Exponential decay density perturbation profile - ln_linear_init = .false. ! Linearly decreasing density perturbation +!! PHYSICAL DOMAIN + rn_xdim = 504. ! x-dimension of the domain [km] + rn_ydim = 504. ! y-dimension of the domain [km] + rn_bot_max = 4500. ! max ocean depth (>0) [m] + rn_smnt_H = 4050. ! seamount height (>0) [m] + rn_smnt_L = 25. ! seamount width [km] + rn_fplane = 0.0001 ! Coriolis parameter for f-plane approximation +!! NUMERICAL DISCRETIZATION + rn_dx = 8000. ! horizontal resolution [m] + rn_dz = 236.8 ! vertical resolution far from the seamount + ! and assuming no stretching [m] +!! VERTICAL COORDINATE + ln_zco = .false. ! z-coordinate + ln_zps = .false. ! z-partial-step coordinate + ln_sco = .true. ! s-coordinate + ! Stretched s-levels (ln_sco = .true.) + ln_s_sh94 = .false. ! TRUE: s-levels using Song & Haidvogel 1994 (SH94) + ! stretching function + ! FALSE: uniform sigma-levels + rn_theta = 3.0 ! SH94 surface control parameter (0<=theta<=20) + rn_bb = 0.0 ! SH94 bottom control parameter (0<=bb<=1) + rn_hc = 500 ! SH94 critical depth for transition to stretched coordinates [m] + ! Paramaters for vqs-coordinate (ln_sco = .true.) + ln_vqs = .false. ! activating vanishing quasi-sigma levels (TRUE) + rn_rmax = 0.3 ! maximum cut-off slope parameter value allowed + ! if using vqs-levels (0> model level are fixed in time ! - rn_Dt = 432. ! time step for the dynamics and tracer + rn_Dt = 360. ! time step for the dynamics and tracer ln_meshmask = .true. ! =T create a mesh file / !----------------------------------------------------------------------- @@ -178,9 +192,8 @@ &nameos ! ocean Equation Of Seawater (default: NO selection) !----------------------------------------------------------------------- ln_teos10 = .false. ! = Use TEOS-10 - ln_eos80 = .false. ! = Use EOS80 + ln_eos80 = .true. ! = Use EOS80 ln_seos = .false. ! = Use S-EOS (simplified Eq.) - ln_eeos = .true. ! = Use E-EOS (exponential eq.) ! ! ! S-EOS coefficients (ln_seos=T): ! ! rd(T,S,Z)*rho0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS @@ -244,20 +257,20 @@ &namdyn_adv ! formulation of the momentum advection (default: NO selection) !----------------------------------------------------------------------- ln_dynadv_OFF = .false. ! linear dynamics (no momentum advection) - ln_dynadv_vec = .false. ! vector form - 2nd centered scheme + ln_dynadv_vec = .true. ! vector form - 2nd centered scheme nn_dynkeg = 0 ! grad(KE) scheme: =0 C2 ; =1 Hollingsworth correction - ln_dynadv_cen2 = .true. ! flux form - 2nd order centered scheme - ln_dynadv_ubs = .false. ! flux form - 3rd order UBS scheme + ln_dynadv_cen2 = .false. ! flux form - 2nd order centered scheme + ln_dynadv_ubs = .false. ! flux form - 3rd order UBS scheme / !----------------------------------------------------------------------- &namdyn_vor ! Vorticity / Coriolis scheme (default: NO selection) !----------------------------------------------------------------------- - ln_dynvor_ene = .true. ! energy conserving scheme + ln_dynvor_ene = .false. ! energy conserving scheme ln_dynvor_ens = .false. ! enstrophy conserving scheme ln_dynvor_mix = .false. ! mixed scheme ln_dynvor_enT = .false. ! energy conserving scheme (T-point) ln_dynvor_eeT = .false. ! energy conserving scheme (een using e3t) - ln_dynvor_een = .false. ! energy & enstrophy scheme + ln_dynvor_een = .true. ! energy & enstrophy scheme ! ln_dynvor_msk = .false. ! vorticity multiplied by fmask (=T) ==>>> PLEASE DO NOT ACTIVATE ! ! (f-point vorticity schemes only) @@ -270,9 +283,9 @@ !----------------------------------------------------------------------- ln_hpg_zco = .false. ! z-coordinate - full steps ln_hpg_zps = .false. ! z-coordinate - partial steps (interpolation) - ln_hpg_sco = .true. ! s-coordinate (standard jacobian formulation) + ln_hpg_sco = .false. ! s-coordinate (standard jacobian formulation) ln_hpg_isf = .false. ! s-coordinate (sco ) adapted to isf - ln_hpg_djc = .false. ! s-coordinate (Density Jacobian with Cubic polynomial) + ln_hpg_djc = .true. ! s-coordinate (Density Jacobian with Cubic polynomial) ln_hpg_djc_vnh = .true. ! hor. bc type for djc scheme (T=von Neumann, F=linear extrapolation) ln_hpg_djc_vnv = .true. ! vert. bc type for djc scheme (T=von Neumann, F=linear extrapolation) ln_hpg_prj = .false. ! s-coordinate (Pressure Jacobian scheme) @@ -282,7 +295,7 @@ !----------------------------------------------------------------------- ln_dynspg_exp = .false. ! explicit free surface ln_dynspg_ts = .true. ! split-explicit free surface - nn_e = 36 ! =F : the number of sub-step in rn_Dt seconds + nn_e = 30 ! =F : the number of sub-step in rn_Dt seconds / !----------------------------------------------------------------------- &namdyn_ldf ! lateral diffusion on momentum (default: NO selection) @@ -308,7 +321,7 @@ ! ! = 32 F(i,j,k)=F(local gridscale and deformation rate) ! ! time invariant coefficients : ahm = 1/2 Uv*Lv (lap case) ! ! or = 1/12 Uv*Lv^3 (blp case) - rn_Uv = 2.0 ! lateral viscous velocity [m/s] (nn_ahm_ijk_t= 0, 10, 20, 30) + rn_Uv = 1.0 ! lateral viscous velocity [m/s] (nn_ahm_ijk_t= 0, 10, 20, 30) rn_Lv = 1.e+3 ! lateral viscous length [m] (nn_ahm_ijk_t= 0, 10) / !!====================================================================== @@ -353,8 +366,8 @@ ln_zdfswm = .false. ! surface wave-induced mixing (T => ln_wave=ln_sdw=T ) ! ! ! coefficients - rn_avm0 = 0.0 ! vertical eddy viscosity [m2/s] (background Kz if ln_zdfcst=F) - rn_avt0 = 0.0 ! vertical eddy diffusivity [m2/s] (background Kz if ln_zdfcst=F) + rn_avm0 = 2.e-5 ! vertical eddy viscosity [m2/s] (background Kz if ln_zdfcst=F) + rn_avt0 = 2.e-5 ! vertical eddy diffusivity [m2/s] (background Kz if ln_zdfcst=F) nn_avb = 0 ! profile for background avt & avm (=1) or not (=0) nn_havtb = 0 ! horizontal shape for avtb (=1) or not (=0) / diff --git a/SEAMOUNT/MY_SRC/eosbn2.F90 b/SEAMOUNT/MY_SRC/eosbn2.F90 deleted file mode 100644 index d8c8447..0000000 --- a/SEAMOUNT/MY_SRC/eosbn2.F90 +++ /dev/null @@ -1,1917 +0,0 @@ -MODULE eosbn2 - !!============================================================================== - !! *** MODULE eosbn2 *** - !! Equation Of Seawater : in situ density - Brunt-Vaisala frequency - !!============================================================================== - !! History : OPA ! 1989-03 (O. Marti) Original code - !! 6.0 ! 1994-07 (G. Madec, M. Imbard) add bn2 - !! 6.0 ! 1994-08 (G. Madec) Add Jackett & McDougall eos - !! 7.0 ! 1996-01 (G. Madec) statement function for e3 - !! 8.1 ! 1997-07 (G. Madec) density instead of volumic mass - !! - ! 1999-02 (G. Madec, N. Grima) semi-implicit pressure gradient - !! 8.2 ! 2001-09 (M. Ben Jelloul) bugfix on linear eos - !! NEMO 1.0 ! 2002-10 (G. Madec) add eos_init - !! - ! 2002-11 (G. Madec, A. Bozec) partial step, eos_insitu_2d - !! - ! 2003-08 (G. Madec) F90, free form - !! 3.0 ! 2006-08 (G. Madec) add tfreez function (now eos_fzp function) - !! 3.3 ! 2010-05 (C. Ethe, G. Madec) merge TRC-TRA - !! - ! 2010-10 (G. Nurser, G. Madec) add alpha/beta used in ldfslp - !! 3.7 ! 2012-03 (F. Roquet, G. Madec) add primitive of alpha and beta used in PE computation - !! - ! 2012-05 (F. Roquet) add Vallis and original JM95 equation of state - !! - ! 2013-04 (F. Roquet, G. Madec) add eos_rab, change bn2 computation and reorganize the module - !! - ! 2014-09 (F. Roquet) add TEOS-10, S-EOS, and modify EOS-80 - !! - ! 2015-06 (P.A. Bouttier) eos_fzp functions changed to subroutines for AGRIF - !!---------------------------------------------------------------------- - - !!---------------------------------------------------------------------- - !! eos : generic interface of the equation of state - !! eos_insitu : Compute the in situ density - !! eos_insitu_pot: Compute the insitu and surface referenced potential volumic mass - !! eos_insitu_2d : Compute the in situ density for 2d fields - !! bn2 : compute the Brunt-Vaisala frequency - !! eos_pt_from_ct: compute the potential temperature from the Conservative Temperature - !! eos_rab : generic interface of in situ thermal/haline expansion ratio - !! eos_rab_3d : compute in situ thermal/haline expansion ratio - !! eos_rab_2d : compute in situ thermal/haline expansion ratio for 2d fields - !! eos_fzp_2d : freezing temperature for 2d fields - !! eos_fzp_0d : freezing temperature for scalar - !! eos_init : set eos parameters (namelist) - !!---------------------------------------------------------------------- - USE dom_oce ! ocean space and time domain - USE domutl, ONLY : is_tile - USE phycst ! physical constants - USE stopar ! Stochastic T/S fluctuations - USE stopts ! Stochastic T/S fluctuations - ! - USE in_out_manager ! I/O manager - USE lib_mpp ! MPP library - USE lib_fortran ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined) - USE prtctl ! Print control - USE lbclnk ! ocean lateral boundary conditions - USE timing ! Timing - USE usrdef_nam - - IMPLICIT NONE - PRIVATE - - ! !! * Interface - INTERFACE eos - MODULE PROCEDURE eos_insitu, eos_insitu_pot, eos_insitu_2d, eos_insitu_pot_2d - END INTERFACE - ! - INTERFACE eos_rab - MODULE PROCEDURE rab_3d, rab_2d, rab_0d - END INTERFACE - ! - INTERFACE eos_fzp - MODULE PROCEDURE eos_fzp_2d, eos_fzp_0d - END INTERFACE - ! - PUBLIC eos ! called by step, istate, tranpc and zpsgrd modules - PUBLIC bn2 ! called by step module - PUBLIC eos_rab ! called by ldfslp, zdfddm, trabbl - PUBLIC eos_pt_from_ct ! called by sbcssm - PUBLIC eos_fzp ! called by traadv_cen2 and sbcice_... modules - PUBLIC eos_pen ! used for pe diagnostics in trdpen module - PUBLIC eos_init ! called by istate module - - ! !!** Namelist nameos ** - LOGICAL , PUBLIC :: ln_TEOS10 - LOGICAL , PUBLIC :: ln_EOS80 - LOGICAL , PUBLIC :: ln_SEOS - LOGICAL , PUBLIC :: ln_EEOS ! determine if exponential eos is used - - ! Parameters - LOGICAL , PUBLIC :: l_useCT ! =T in ln_TEOS10=T (i.e. use eos_pt_from_ct to compute sst_m), =F otherwise - INTEGER , PUBLIC :: neos ! Identifier for equation of state used - - INTEGER , PARAMETER :: np_teos10 = -1 ! parameter for using TEOS10 - INTEGER , PARAMETER :: np_eos80 = 0 ! parameter for using EOS80 - INTEGER , PARAMETER :: np_seos = 1 ! parameter for using Simplified Equation of state - INTEGER , PARAMETER :: np_eeos = 2 ! parameter for using exponential equation of state (SEAMOUNT) - - ! !!! simplified eos coefficients (default value: Vallis 2006) - REAL(wp), PUBLIC :: rn_a0 = 1.6550e-1_wp ! thermal expansion coeff. - REAL(wp), PUBLIC :: rn_b0 = 7.6554e-1_wp ! saline expansion coeff. - REAL(wp) :: rn_lambda1 = 5.9520e-2_wp ! cabbeling coeff. in T^2 - REAL(wp) :: rn_lambda2 = 5.4914e-4_wp ! cabbeling coeff. in S^2 - REAL(wp) :: rn_mu1 = 1.4970e-4_wp ! thermobaric coeff. in T - REAL(wp) :: rn_mu2 = 1.1090e-5_wp ! thermobaric coeff. in S - REAL(wp) :: rn_nu = 2.4341e-3_wp ! cabbeling coeff. in theta*salt - - ! TEOS10/EOS80 parameters - REAL(wp) :: r1_S0, r1_T0, r1_Z0, rdeltaS - - ! EOS parameters - REAL(wp) :: EOS000 , EOS100 , EOS200 , EOS300 , EOS400 , EOS500 , EOS600 - REAL(wp) :: EOS010 , EOS110 , EOS210 , EOS310 , EOS410 , EOS510 - REAL(wp) :: EOS020 , EOS120 , EOS220 , EOS320 , EOS420 - REAL(wp) :: EOS030 , EOS130 , EOS230 , EOS330 - REAL(wp) :: EOS040 , EOS140 , EOS240 - REAL(wp) :: EOS050 , EOS150 - REAL(wp) :: EOS060 - REAL(wp) :: EOS001 , EOS101 , EOS201 , EOS301 , EOS401 - REAL(wp) :: EOS011 , EOS111 , EOS211 , EOS311 - REAL(wp) :: EOS021 , EOS121 , EOS221 - REAL(wp) :: EOS031 , EOS131 - REAL(wp) :: EOS041 - REAL(wp) :: EOS002 , EOS102 , EOS202 - REAL(wp) :: EOS012 , EOS112 - REAL(wp) :: EOS022 - REAL(wp) :: EOS003 , EOS103 - REAL(wp) :: EOS013 - - ! ALPHA parameters - REAL(wp) :: ALP000 , ALP100 , ALP200 , ALP300 , ALP400 , ALP500 - REAL(wp) :: ALP010 , ALP110 , ALP210 , ALP310 , ALP410 - REAL(wp) :: ALP020 , ALP120 , ALP220 , ALP320 - REAL(wp) :: ALP030 , ALP130 , ALP230 - REAL(wp) :: ALP040 , ALP140 - REAL(wp) :: ALP050 - REAL(wp) :: ALP001 , ALP101 , ALP201 , ALP301 - REAL(wp) :: ALP011 , ALP111 , ALP211 - REAL(wp) :: ALP021 , ALP121 - REAL(wp) :: ALP031 - REAL(wp) :: ALP002 , ALP102 - REAL(wp) :: ALP012 - REAL(wp) :: ALP003 - - ! BETA parameters - REAL(wp) :: BET000 , BET100 , BET200 , BET300 , BET400 , BET500 - REAL(wp) :: BET010 , BET110 , BET210 , BET310 , BET410 - REAL(wp) :: BET020 , BET120 , BET220 , BET320 - REAL(wp) :: BET030 , BET130 , BET230 - REAL(wp) :: BET040 , BET140 - REAL(wp) :: BET050 - REAL(wp) :: BET001 , BET101 , BET201 , BET301 - REAL(wp) :: BET011 , BET111 , BET211 - REAL(wp) :: BET021 , BET121 - REAL(wp) :: BET031 - REAL(wp) :: BET002 , BET102 - REAL(wp) :: BET012 - REAL(wp) :: BET003 - - ! PEN parameters - REAL(wp) :: PEN000 , PEN100 , PEN200 , PEN300 , PEN400 - REAL(wp) :: PEN010 , PEN110 , PEN210 , PEN310 - REAL(wp) :: PEN020 , PEN120 , PEN220 - REAL(wp) :: PEN030 , PEN130 - REAL(wp) :: PEN040 - REAL(wp) :: PEN001 , PEN101 , PEN201 - REAL(wp) :: PEN011 , PEN111 - REAL(wp) :: PEN021 - REAL(wp) :: PEN002 , PEN102 - REAL(wp) :: PEN012 - - ! ALPHA_PEN parameters - REAL(wp) :: APE000 , APE100 , APE200 , APE300 - REAL(wp) :: APE010 , APE110 , APE210 - REAL(wp) :: APE020 , APE120 - REAL(wp) :: APE030 - REAL(wp) :: APE001 , APE101 - REAL(wp) :: APE011 - REAL(wp) :: APE002 - - ! BETA_PEN parameters - REAL(wp) :: BPE000 , BPE100 , BPE200 , BPE300 - REAL(wp) :: BPE010 , BPE110 , BPE210 - REAL(wp) :: BPE020 , BPE120 - REAL(wp) :: BPE030 - REAL(wp) :: BPE001 , BPE101 - REAL(wp) :: BPE011 - REAL(wp) :: BPE002 - - !! * Substitutions -# include "do_loop_substitute.h90" -# include "domzgr_substitute.h90" - !!---------------------------------------------------------------------- - !! NEMO/OCE 4.0 , NEMO Consortium (2018) - !! $Id: eosbn2.F90 14131 2020-12-08 12:09:14Z jchanut $ - !! Software governed by the CeCILL license (see ./LICENSE) - !!---------------------------------------------------------------------- -CONTAINS - - SUBROUTINE eos_insitu( pts, prd, pdep ) - !! - REAL(wp), DIMENSION(:,:,:,:), INTENT(in ) :: pts ! 1 : potential temperature [Celsius] - ! ! 2 : salinity [psu] - REAL(wp), DIMENSION(:,:,:) , INTENT( out) :: prd ! in situ density [-] - REAL(wp), DIMENSION(:,:,:) , INTENT(in ) :: pdep ! depth [m] - !! - CALL eos_insitu_t( pts, is_tile(pts), prd, is_tile(prd), pdep, is_tile(pdep) ) - END SUBROUTINE eos_insitu - - SUBROUTINE eos_insitu_t( pts, ktts, prd, ktrd, pdep, ktdep ) - !!---------------------------------------------------------------------- - !! *** ROUTINE eos_insitu *** - !! - !! ** Purpose : Compute the in situ density (ratio rho/rho0) from - !! potential temperature and salinity using an equation of state - !! selected in the nameos namelist - !! - !! ** Method : prd(t,s,z) = ( rho(t,s,z) - rho0 ) / rho0 - !! with prd in situ density anomaly no units - !! t TEOS10: CT or EOS80: PT Celsius - !! s TEOS10: SA or EOS80: SP TEOS10: g/kg or EOS80: psu - !! z depth meters - !! rho in situ density kg/m^3 - !! rho0 reference density kg/m^3 - !! - !! ln_teos10 : polynomial TEOS-10 equation of state is used for rho(t,s,z). - !! Check value: rho = 1028.21993233072 kg/m^3 for z=3000 dbar, ct=3 Celsius, sa=35.5 g/kg - !! - !! ln_eos80 : polynomial EOS-80 equation of state is used for rho(t,s,z). - !! Check value: rho = 1028.35011066567 kg/m^3 for z=3000 dbar, pt=3 Celsius, sp=35.5 psu - !! - !! ln_seos : simplified equation of state - !! prd(t,s,z) = ( -a0*(1+lambda/2*(T-T0)+mu*z+nu*(S-S0))*(T-T0) + b0*(S-S0) ) / rho0 - !! linear case function of T only: rn_alpha<>0, other coefficients = 0 - !! linear eos function of T and S: rn_alpha and rn_beta<>0, other coefficients=0 - !! Vallis like equation: use default values of coefficients - !! ln_eosano : exponential SEAMOUNT equation of state returning density anomaly only - !! prd(t,s,z) = ( -a0*(T-T0) + b0*(S-S0) ) / rho0 - !! setup for SEAMOUNT exponential eos - !! - !! ** Action : compute prd , the in situ density (no units) - !! - !! References : Roquet et al, Ocean Modelling, in preparation (2014) - !! Vallis, Atmospheric and Oceanic Fluid Dynamics, 2006 - !! TEOS-10 Manual, 2010 - !!---------------------------------------------------------------------- - INTEGER , INTENT(in ) :: ktts, ktrd, ktdep - REAL(wp), DIMENSION(A2D_T(ktts) ,JPK,JPTS), INTENT(in ) :: pts ! 1 : potential temperature [Celsius] - ! ! 2 : salinity [psu] - REAL(wp), DIMENSION(A2D_T(ktrd) ,JPK ), INTENT( out) :: prd ! in situ density [-] - REAL(wp), DIMENSION(A2D_T(ktdep),JPK ), INTENT(in ) :: pdep ! depth [m] - ! - INTEGER :: ji, jj, jk ! dummy loop indices - REAL(wp) :: zt , zh , zs , ztm ! local scalars - REAL(wp) :: zn , zn0, zn1, zn2, zn3 ! - - - !!---------------------------------------------------------------------- - ! - IF( ln_timing ) CALL timing_start('eos-insitu') - ! - SELECT CASE( neos ) - ! - CASE( np_teos10, np_eos80 ) !== polynomial TEOS-10 / EOS-80 ==! - ! - DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpkm1 ) - ! - zh = pdep(ji,jj,jk) * r1_Z0 ! depth - zt = pts (ji,jj,jk,jp_tem) * r1_T0 ! temperature - zs = SQRT( ABS( pts(ji,jj,jk,jp_sal) + rdeltaS ) * r1_S0 ) ! square root salinity - ztm = tmask(ji,jj,jk) ! tmask - ! - zn3 = EOS013*zt & - & + EOS103*zs+EOS003 - ! - zn2 = (EOS022*zt & - & + EOS112*zs+EOS012)*zt & - & + (EOS202*zs+EOS102)*zs+EOS002 - ! - zn1 = (((EOS041*zt & - & + EOS131*zs+EOS031)*zt & - & + (EOS221*zs+EOS121)*zs+EOS021)*zt & - & + ((EOS311*zs+EOS211)*zs+EOS111)*zs+EOS011)*zt & - & + (((EOS401*zs+EOS301)*zs+EOS201)*zs+EOS101)*zs+EOS001 - ! - zn0 = (((((EOS060*zt & - & + EOS150*zs+EOS050)*zt & - & + (EOS240*zs+EOS140)*zs+EOS040)*zt & - & + ((EOS330*zs+EOS230)*zs+EOS130)*zs+EOS030)*zt & - & + (((EOS420*zs+EOS320)*zs+EOS220)*zs+EOS120)*zs+EOS020)*zt & - & + ((((EOS510*zs+EOS410)*zs+EOS310)*zs+EOS210)*zs+EOS110)*zs+EOS010)*zt & - & + (((((EOS600*zs+EOS500)*zs+EOS400)*zs+EOS300)*zs+EOS200)*zs+EOS100)*zs+EOS000 - ! - zn = ( ( zn3 * zh + zn2 ) * zh + zn1 ) * zh + zn0 - ! - prd(ji,jj,jk) = ( zn * r1_rho0 - 1._wp ) * ztm ! density anomaly (masked) - ! - END_3D - ! - CASE( np_seos ) !== simplified EOS ==! - ! - DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpkm1 ) - zt = pts (ji,jj,jk,jp_tem) - 10._wp - zs = pts (ji,jj,jk,jp_sal) - 35._wp - zh = pdep (ji,jj,jk) - ztm = tmask(ji,jj,jk) - ! - zn = - rn_a0 * ( 1._wp + 0.5_wp*rn_lambda1*zt + rn_mu1*zh ) * zt & - & + rn_b0 * ( 1._wp - 0.5_wp*rn_lambda2*zs - rn_mu2*zh ) * zs & - & - rn_nu * zt * zs - ! - prd(ji,jj,jk) = zn * r1_rho0 * ztm ! density anomaly (masked) - END_3D - ! - CASE( np_eeos ) !== exponential SEAMOUNT EOS ==! - ! - DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpkm1 ) - zt = pts (ji,jj,jk,jp_tem) + ( 28 - rn_drho * EXP(- pdep (ji,jj,jk) / 1000._wp) ) / rn_a0 - ztm = tmask(ji,jj,jk) - ! - zn = - rn_a0 * zt - ! - prd(ji,jj,jk) = zn * r1_rho0 * ztm ! density anomaly (masked) - END_3D - END SELECT - ! - IF(sn_cfctl%l_prtctl) CALL prt_ctl( tab3d_1=prd, clinfo1=' eos-insitu : ', kdim=jpk ) - ! - IF( ln_timing ) CALL timing_stop('eos-insitu') - ! - END SUBROUTINE eos_insitu_t - - - SUBROUTINE eos_insitu_pot( pts, prd, prhop, pdep ) - !! - REAL(wp), DIMENSION(:,:,:,:), INTENT(in ) :: pts ! 1 : potential temperature [Celsius] - ! ! 2 : salinity [psu] - REAL(wp), DIMENSION(:,:,:) , INTENT( out) :: prd ! in situ density [-] - REAL(wp), DIMENSION(:,:,:) , INTENT( out) :: prhop ! potential density (surface referenced) - REAL(wp), DIMENSION(:,:,:) , INTENT(in ) :: pdep ! depth [m] - !! - CALL eos_insitu_pot_t( pts, is_tile(pts), prd, is_tile(prd), prhop, is_tile(prhop), pdep, is_tile(pdep) ) - END SUBROUTINE eos_insitu_pot - - - SUBROUTINE eos_insitu_pot_t( pts, ktts, prd, ktrd, prhop, ktrhop, pdep, ktdep ) - !!---------------------------------------------------------------------- - !! *** ROUTINE eos_insitu_pot *** - !! - !! ** Purpose : Compute the in situ density (ratio rho/rho0) and the - !! potential volumic mass (Kg/m3) from potential temperature and - !! salinity fields using an equation of state selected in the - !! namelist. - !! - !! ** Action : - prd , the in situ density (no units) - !! - prhop, the potential volumic mass (Kg/m3) - !! - !!---------------------------------------------------------------------- - INTEGER , INTENT(in ) :: ktts, ktrd, ktrhop, ktdep - REAL(wp), DIMENSION(A2D_T(ktts) ,JPK,JPTS), INTENT(in ) :: pts ! 1 : potential temperature [Celsius] - ! ! 2 : salinity [psu] - REAL(wp), DIMENSION(A2D_T(ktrd) ,JPK ), INTENT( out) :: prd ! in situ density [-] - REAL(wp), DIMENSION(A2D_T(ktrhop),JPK ), INTENT( out) :: prhop ! potential density (surface referenced) - REAL(wp), DIMENSION(A2D_T(ktdep) ,JPK ), INTENT(in ) :: pdep ! depth [m] - ! - INTEGER :: ji, jj, jk, jsmp ! dummy loop indices - INTEGER :: jdof - REAL(wp) :: zt , zh , zstemp, zs , ztm ! local scalars - REAL(wp) :: zn , zn0, zn1, zn2, zn3 ! - - - REAL(wp), DIMENSION(:), ALLOCATABLE :: zn0_sto, zn_sto, zsign ! local vectors - !!---------------------------------------------------------------------- - ! - IF( ln_timing ) CALL timing_start('eos-pot') - ! - SELECT CASE ( neos ) - ! - CASE( np_teos10, np_eos80 ) !== polynomial TEOS-10 / EOS-80 ==! - ! - ! Stochastic equation of state - IF ( ln_sto_eos ) THEN - ALLOCATE(zn0_sto(1:2*nn_sto_eos)) - ALLOCATE(zn_sto(1:2*nn_sto_eos)) - ALLOCATE(zsign(1:2*nn_sto_eos)) - DO jsmp = 1, 2*nn_sto_eos, 2 - zsign(jsmp) = 1._wp - zsign(jsmp+1) = -1._wp - END DO - ! - DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpkm1 ) - ! - ! compute density (2*nn_sto_eos) times: - ! (1) for t+dt, s+ds (with the random TS fluctutation computed in sto_pts) - ! (2) for t-dt, s-ds (with the opposite fluctuation) - DO jsmp = 1, nn_sto_eos*2 - jdof = (jsmp + 1) / 2 - zh = pdep(ji,jj,jk) * r1_Z0 ! depth - zt = (pts (ji,jj,jk,jp_tem) + pts_ran(ji,jj,jk,jp_tem,jdof) * zsign(jsmp)) * r1_T0 ! temperature - zstemp = pts (ji,jj,jk,jp_sal) + pts_ran(ji,jj,jk,jp_sal,jdof) * zsign(jsmp) - zs = SQRT( ABS( zstemp + rdeltaS ) * r1_S0 ) ! square root salinity - ztm = tmask(ji,jj,jk) ! tmask - ! - zn3 = EOS013*zt & - & + EOS103*zs+EOS003 - ! - zn2 = (EOS022*zt & - & + EOS112*zs+EOS012)*zt & - & + (EOS202*zs+EOS102)*zs+EOS002 - ! - zn1 = (((EOS041*zt & - & + EOS131*zs+EOS031)*zt & - & + (EOS221*zs+EOS121)*zs+EOS021)*zt & - & + ((EOS311*zs+EOS211)*zs+EOS111)*zs+EOS011)*zt & - & + (((EOS401*zs+EOS301)*zs+EOS201)*zs+EOS101)*zs+EOS001 - ! - zn0_sto(jsmp) = (((((EOS060*zt & - & + EOS150*zs+EOS050)*zt & - & + (EOS240*zs+EOS140)*zs+EOS040)*zt & - & + ((EOS330*zs+EOS230)*zs+EOS130)*zs+EOS030)*zt & - & + (((EOS420*zs+EOS320)*zs+EOS220)*zs+EOS120)*zs+EOS020)*zt & - & + ((((EOS510*zs+EOS410)*zs+EOS310)*zs+EOS210)*zs+EOS110)*zs+EOS010)*zt & - & + (((((EOS600*zs+EOS500)*zs+EOS400)*zs+EOS300)*zs+EOS200)*zs+EOS100)*zs+EOS000 - ! - zn_sto(jsmp) = ( ( zn3 * zh + zn2 ) * zh + zn1 ) * zh + zn0_sto(jsmp) - END DO - ! - ! compute stochastic density as the mean of the (2*nn_sto_eos) densities - prhop(ji,jj,jk) = 0._wp ; prd(ji,jj,jk) = 0._wp - DO jsmp = 1, nn_sto_eos*2 - prhop(ji,jj,jk) = prhop(ji,jj,jk) + zn0_sto(jsmp) ! potential density referenced at the surface - ! - prd(ji,jj,jk) = prd(ji,jj,jk) + ( zn_sto(jsmp) * r1_rho0 - 1._wp ) ! density anomaly (masked) - END DO - prhop(ji,jj,jk) = 0.5_wp * prhop(ji,jj,jk) * ztm / nn_sto_eos - prd (ji,jj,jk) = 0.5_wp * prd (ji,jj,jk) * ztm / nn_sto_eos - END_3D - DEALLOCATE(zn0_sto,zn_sto,zsign) - ! Non-stochastic equation of state - ELSE - DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpkm1 ) - ! - zh = pdep(ji,jj,jk) * r1_Z0 ! depth - zt = pts (ji,jj,jk,jp_tem) * r1_T0 ! temperature - zs = SQRT( ABS( pts(ji,jj,jk,jp_sal) + rdeltaS ) * r1_S0 ) ! square root salinity - ztm = tmask(ji,jj,jk) ! tmask - ! - zn3 = EOS013*zt & - & + EOS103*zs+EOS003 - ! - zn2 = (EOS022*zt & - & + EOS112*zs+EOS012)*zt & - & + (EOS202*zs+EOS102)*zs+EOS002 - ! - zn1 = (((EOS041*zt & - & + EOS131*zs+EOS031)*zt & - & + (EOS221*zs+EOS121)*zs+EOS021)*zt & - & + ((EOS311*zs+EOS211)*zs+EOS111)*zs+EOS011)*zt & - & + (((EOS401*zs+EOS301)*zs+EOS201)*zs+EOS101)*zs+EOS001 - ! - zn0 = (((((EOS060*zt & - & + EOS150*zs+EOS050)*zt & - & + (EOS240*zs+EOS140)*zs+EOS040)*zt & - & + ((EOS330*zs+EOS230)*zs+EOS130)*zs+EOS030)*zt & - & + (((EOS420*zs+EOS320)*zs+EOS220)*zs+EOS120)*zs+EOS020)*zt & - & + ((((EOS510*zs+EOS410)*zs+EOS310)*zs+EOS210)*zs+EOS110)*zs+EOS010)*zt & - & + (((((EOS600*zs+EOS500)*zs+EOS400)*zs+EOS300)*zs+EOS200)*zs+EOS100)*zs+EOS000 - ! - zn = ( ( zn3 * zh + zn2 ) * zh + zn1 ) * zh + zn0 - ! - prhop(ji,jj,jk) = zn0 * ztm ! potential density referenced at the surface - ! - prd(ji,jj,jk) = ( zn * r1_rho0 - 1._wp ) * ztm ! density anomaly (masked) - END_3D - ENDIF - - CASE( np_seos ) !== simplified EOS ==! - ! - DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpkm1 ) - zt = pts (ji,jj,jk,jp_tem) - 10._wp - zs = pts (ji,jj,jk,jp_sal) - 35._wp - zh = pdep (ji,jj,jk) - ztm = tmask(ji,jj,jk) - ! ! potential density referenced at the surface - zn = - rn_a0 * ( 1._wp + 0.5_wp*rn_lambda1*zt ) * zt & - & + rn_b0 * ( 1._wp - 0.5_wp*rn_lambda2*zs ) * zs & - & - rn_nu * zt * zs - prhop(ji,jj,jk) = ( rho0 + zn ) * ztm - ! ! density anomaly (masked) - zn = zn - ( rn_a0 * rn_mu1 * zt + rn_b0 * rn_mu2 * zs ) * zh - prd(ji,jj,jk) = zn * r1_rho0 * ztm - ! - END_3D - ! - CASE( np_eeos ) !== exponential SEAMOUNT EOS ==! - ! - DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpkm1 ) - zt = pts (ji,jj,jk,jp_tem) + ( 28 - rn_drho * EXP(- pdep (ji,jj,jk) / 1000._wp) ) / rn_a0 - ztm = tmask(ji,jj,jk) - ! - zn = - rn_a0 * zt - ! ! potential density referenced at the surface - prhop(ji,jj,jk) = ( rho0 + zn ) * ztm - prd(ji,jj,jk) = zn * r1_rho0 * ztm ! density anomaly (masked) - END_3D - ! - END SELECT - ! - IF(sn_cfctl%l_prtctl) CALL prt_ctl( tab3d_1=prd, clinfo1=' eos-pot: ', & - & tab3d_2=prhop, clinfo2=' pot : ', kdim=jpk ) - ! - IF( ln_timing ) CALL timing_stop('eos-pot') - ! - END SUBROUTINE eos_insitu_pot_t - - - SUBROUTINE eos_insitu_2d( pts, pdep, prd ) - !! - REAL(wp), DIMENSION(:,:,:), INTENT(in ) :: pts ! 1 : potential temperature [Celsius] - ! ! 2 : salinity [psu] - REAL(wp), DIMENSION(:,:) , INTENT(in ) :: pdep ! depth [m] - REAL(wp), DIMENSION(:,:) , INTENT( out) :: prd ! in situ density - !! - CALL eos_insitu_2d_t( pts, is_tile(pts), pdep, is_tile(pdep), prd, is_tile(prd) ) - END SUBROUTINE eos_insitu_2d - - - SUBROUTINE eos_insitu_2d_t( pts, ktts, pdep, ktdep, prd, ktrd ) - !!---------------------------------------------------------------------- - !! *** ROUTINE eos_insitu_2d *** - !! - !! ** Purpose : Compute the in situ density (ratio rho/rho0) from - !! potential temperature and salinity using an equation of state - !! selected in the nameos namelist. * 2D field case - !! - !! ** Action : - prd , the in situ density (no units) (unmasked) - !! - !!---------------------------------------------------------------------- - INTEGER , INTENT(in ) :: ktts, ktdep, ktrd - REAL(wp), DIMENSION(A2D_T(ktts),JPTS), INTENT(in ) :: pts ! 1 : potential temperature [Celsius] - ! ! 2 : salinity [psu] - REAL(wp), DIMENSION(A2D_T(ktdep) ), INTENT(in ) :: pdep ! depth [m] - REAL(wp), DIMENSION(A2D_T(ktrd) ), INTENT( out) :: prd ! in situ density - ! - INTEGER :: ji, jj, jk ! dummy loop indices - REAL(wp) :: zt , zh , zs ! local scalars - REAL(wp) :: zn , zn0, zn1, zn2, zn3 ! - - - !!---------------------------------------------------------------------- - ! - IF( ln_timing ) CALL timing_start('eos2d') - ! - prd(:,:) = 0._wp - ! - SELECT CASE( neos ) - ! - CASE( np_teos10, np_eos80 ) !== polynomial TEOS-10 / EOS-80 ==! - ! - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) - ! - zh = pdep(ji,jj) * r1_Z0 ! depth - zt = pts (ji,jj,jp_tem) * r1_T0 ! temperature - zs = SQRT( ABS( pts(ji,jj,jp_sal) + rdeltaS ) * r1_S0 ) ! square root salinity - ! - zn3 = EOS013*zt & - & + EOS103*zs+EOS003 - ! - zn2 = (EOS022*zt & - & + EOS112*zs+EOS012)*zt & - & + (EOS202*zs+EOS102)*zs+EOS002 - ! - zn1 = (((EOS041*zt & - & + EOS131*zs+EOS031)*zt & - & + (EOS221*zs+EOS121)*zs+EOS021)*zt & - & + ((EOS311*zs+EOS211)*zs+EOS111)*zs+EOS011)*zt & - & + (((EOS401*zs+EOS301)*zs+EOS201)*zs+EOS101)*zs+EOS001 - ! - zn0 = (((((EOS060*zt & - & + EOS150*zs+EOS050)*zt & - & + (EOS240*zs+EOS140)*zs+EOS040)*zt & - & + ((EOS330*zs+EOS230)*zs+EOS130)*zs+EOS030)*zt & - & + (((EOS420*zs+EOS320)*zs+EOS220)*zs+EOS120)*zs+EOS020)*zt & - & + ((((EOS510*zs+EOS410)*zs+EOS310)*zs+EOS210)*zs+EOS110)*zs+EOS010)*zt & - & + (((((EOS600*zs+EOS500)*zs+EOS400)*zs+EOS300)*zs+EOS200)*zs+EOS100)*zs+EOS000 - ! - zn = ( ( zn3 * zh + zn2 ) * zh + zn1 ) * zh + zn0 - ! - prd(ji,jj) = zn * r1_rho0 - 1._wp ! unmasked in situ density anomaly - ! - END_2D - ! - CASE( np_seos ) !== simplified EOS ==! - ! - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) - ! - zt = pts (ji,jj,jp_tem) - 10._wp - zs = pts (ji,jj,jp_sal) - 35._wp - zh = pdep (ji,jj) ! depth at the partial step level - ! - zn = - rn_a0 * ( 1._wp + 0.5_wp*rn_lambda1*zt + rn_mu1*zh ) * zt & - & + rn_b0 * ( 1._wp - 0.5_wp*rn_lambda2*zs - rn_mu2*zh ) * zs & - & - rn_nu * zt * zs - ! - prd(ji,jj) = zn * r1_rho0 ! unmasked in situ density anomaly - ! - END_2D - ! - CASE( np_eeos ) !== exponential SEAMOUNT EOS ==! - ! - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) - zt = pts (ji,jj,jp_tem) + ( 28 - rn_drho * EXP(- pdep (ji,jj) / 1000._wp) ) / rn_a0 - ! - zn = - rn_a0 * zt - ! - prd(ji,jj) = zn * r1_rho0 ! density anomaly (masked) - END_2D - ! - END SELECT - ! - IF(sn_cfctl%l_prtctl) CALL prt_ctl( tab2d_1=prd, clinfo1=' eos2d: ' ) - ! - IF( ln_timing ) CALL timing_stop('eos2d') - ! - END SUBROUTINE eos_insitu_2d_t - - - SUBROUTINE eos_insitu_pot_2d( pts, prhop ) - !! - REAL(wp), DIMENSION(:,:,:), INTENT(in ) :: pts ! 1 : potential temperature [Celsius] - ! ! 2 : salinity [psu] - REAL(wp), DIMENSION(:,:) , INTENT( out) :: prhop ! potential density (surface referenced) - !! - CALL eos_insitu_pot_2d_t( pts, is_tile(pts), prhop, is_tile(prhop) ) - END SUBROUTINE eos_insitu_pot_2d - - SUBROUTINE eos_insitu_pot_2d_t( pts, ktts, prhop, ktrhop ) - !!---------------------------------------------------------------------- - !! *** ROUTINE eos_insitu_pot *** - !! - !! ** Purpose : Compute the in situ density (ratio rho/rho0) and the - !! potential volumic mass (Kg/m3) from potential temperature and - !! salinity fields using an equation of state selected in the - !! namelist. - !! - !! ** Action : - !! - prhop, the potential volumic mass (Kg/m3) - !! - !!---------------------------------------------------------------------- - INTEGER , INTENT(in ) :: ktts, ktrhop - REAL(wp), DIMENSION(A2D_T(ktts),JPTS), INTENT(in ) :: pts ! 1 : potential temperature [Celsius] - ! ! 2 : salinity [psu] - REAL(wp), DIMENSION(A2D_T(ktrhop) ), INTENT( out) :: prhop ! potential density (surface referenced) - ! - INTEGER :: ji, jj, jk, jsmp ! dummy loop indices - INTEGER :: jdof - REAL(wp) :: zt , zh , zstemp, zs , ztm ! local scalars - REAL(wp) :: zn , zn0, zn1, zn2, zn3 ! - - - REAL(wp), DIMENSION(:), ALLOCATABLE :: zn0_sto, zn_sto, zsign ! local vectors - !!---------------------------------------------------------------------- - ! - IF( ln_timing ) CALL timing_start('eos-pot') - ! - SELECT CASE ( neos ) - ! - CASE( np_teos10, np_eos80 ) !== polynomial TEOS-10 / EOS-80 ==! - ! - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) - ! - zt = pts (ji,jj,jp_tem) * r1_T0 ! temperature - zs = SQRT( ABS( pts(ji,jj,jp_sal) + rdeltaS ) * r1_S0 ) ! square root salinity - ztm = tmask(ji,jj,1) ! tmask - ! - zn0 = (((((EOS060*zt & - & + EOS150*zs+EOS050)*zt & - & + (EOS240*zs+EOS140)*zs+EOS040)*zt & - & + ((EOS330*zs+EOS230)*zs+EOS130)*zs+EOS030)*zt & - & + (((EOS420*zs+EOS320)*zs+EOS220)*zs+EOS120)*zs+EOS020)*zt & - & + ((((EOS510*zs+EOS410)*zs+EOS310)*zs+EOS210)*zs+EOS110)*zs+EOS010)*zt & - & + (((((EOS600*zs+EOS500)*zs+EOS400)*zs+EOS300)*zs+EOS200)*zs+EOS100)*zs+EOS000 - ! - ! - prhop(ji,jj) = zn0 * ztm ! potential density referenced at the surface - ! - END_2D - - CASE( np_seos ) !== simplified EOS ==! - ! - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) - zt = pts (ji,jj,jp_tem) - 10._wp - zs = pts (ji,jj,jp_sal) - 35._wp - ztm = tmask(ji,jj,1) - ! ! potential density referenced at the surface - zn = - rn_a0 * ( 1._wp + 0.5_wp*rn_lambda1*zt ) * zt & - & + rn_b0 * ( 1._wp - 0.5_wp*rn_lambda2*zs ) * zs & - & - rn_nu * zt * zs - prhop(ji,jj) = ( rho0 + zn ) * ztm - ! - END_2D - CASE( np_eeos ) !== exponential SEAMOUNT EOS ==! - ! - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) - zt = pts (ji,jj,jp_tem) + ( 28 ) / rn_a0 - ztm = tmask(ji,jj,1) - ! - zn = - rn_a0 * zt - ! - prhop(ji,jj) = ( rho0 + zn ) * ztm - END_2D - ! - END SELECT - IF(sn_cfctl%l_prtctl) CALL prt_ctl( tab2d_1=prhop, clinfo1=' pot: ', kdim=1 ) - ! - IF(sn_cfctl%l_prtctl) CALL prt_ctl( tab2d_1=prhop, clinfo1=' eos-pot: ' ) - ! - IF( ln_timing ) CALL timing_stop('eos-pot') - ! - END SUBROUTINE eos_insitu_pot_2d_t - - - SUBROUTINE rab_3d( pts, pab, Kmm ) - !! - INTEGER , INTENT(in ) :: Kmm ! time level index - REAL(wp), DIMENSION(:,:,:,:), INTENT(in ) :: pts ! pot. temperature & salinity - REAL(wp), DIMENSION(:,:,:,:), INTENT( out) :: pab ! thermal/haline expansion ratio - !! - CALL rab_3d_t( pts, is_tile(pts), pab, is_tile(pab), Kmm ) - END SUBROUTINE rab_3d - - - SUBROUTINE rab_3d_t( pts, ktts, pab, ktab, Kmm ) - !!---------------------------------------------------------------------- - !! *** ROUTINE rab_3d *** - !! - !! ** Purpose : Calculates thermal/haline expansion ratio at T-points - !! - !! ** Method : calculates alpha / beta at T-points - !! - !! ** Action : - pab : thermal/haline expansion ratio at T-points - !!---------------------------------------------------------------------- - INTEGER , INTENT(in ) :: Kmm ! time level index - INTEGER , INTENT(in ) :: ktts, ktab - REAL(wp), DIMENSION(A2D_T(ktts),JPK,JPTS), INTENT(in ) :: pts ! pot. temperature & salinity - REAL(wp), DIMENSION(A2D_T(ktab),JPK,JPTS), INTENT( out) :: pab ! thermal/haline expansion ratio - ! - INTEGER :: ji, jj, jk ! dummy loop indices - REAL(wp) :: zt , zh , zs , ztm ! local scalars - REAL(wp) :: zn , zn0, zn1, zn2, zn3 ! - - - !!---------------------------------------------------------------------- - ! - IF( ln_timing ) CALL timing_start('rab_3d') - ! - SELECT CASE ( neos ) - ! - CASE( np_teos10, np_eos80 ) !== polynomial TEOS-10 / EOS-80 ==! - ! - DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpkm1 ) - ! - zh = gdept(ji,jj,jk,Kmm) * r1_Z0 ! depth - zt = pts (ji,jj,jk,jp_tem) * r1_T0 ! temperature - zs = SQRT( ABS( pts(ji,jj,jk,jp_sal) + rdeltaS ) * r1_S0 ) ! square root salinity - ztm = tmask(ji,jj,jk) ! tmask - ! - ! alpha - zn3 = ALP003 - ! - zn2 = ALP012*zt + ALP102*zs+ALP002 - ! - zn1 = ((ALP031*zt & - & + ALP121*zs+ALP021)*zt & - & + (ALP211*zs+ALP111)*zs+ALP011)*zt & - & + ((ALP301*zs+ALP201)*zs+ALP101)*zs+ALP001 - ! - zn0 = ((((ALP050*zt & - & + ALP140*zs+ALP040)*zt & - & + (ALP230*zs+ALP130)*zs+ALP030)*zt & - & + ((ALP320*zs+ALP220)*zs+ALP120)*zs+ALP020)*zt & - & + (((ALP410*zs+ALP310)*zs+ALP210)*zs+ALP110)*zs+ALP010)*zt & - & + ((((ALP500*zs+ALP400)*zs+ALP300)*zs+ALP200)*zs+ALP100)*zs+ALP000 - ! - zn = ( ( zn3 * zh + zn2 ) * zh + zn1 ) * zh + zn0 - ! - pab(ji,jj,jk,jp_tem) = zn * r1_rho0 * ztm - ! - ! beta - zn3 = BET003 - ! - zn2 = BET012*zt + BET102*zs+BET002 - ! - zn1 = ((BET031*zt & - & + BET121*zs+BET021)*zt & - & + (BET211*zs+BET111)*zs+BET011)*zt & - & + ((BET301*zs+BET201)*zs+BET101)*zs+BET001 - ! - zn0 = ((((BET050*zt & - & + BET140*zs+BET040)*zt & - & + (BET230*zs+BET130)*zs+BET030)*zt & - & + ((BET320*zs+BET220)*zs+BET120)*zs+BET020)*zt & - & + (((BET410*zs+BET310)*zs+BET210)*zs+BET110)*zs+BET010)*zt & - & + ((((BET500*zs+BET400)*zs+BET300)*zs+BET200)*zs+BET100)*zs+BET000 - ! - zn = ( ( zn3 * zh + zn2 ) * zh + zn1 ) * zh + zn0 - ! - pab(ji,jj,jk,jp_sal) = zn / zs * r1_rho0 * ztm - ! - END_3D - ! - CASE( np_seos ) !== simplified EOS ==! - ! - DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpkm1 ) - zt = pts (ji,jj,jk,jp_tem) - 10._wp ! pot. temperature anomaly (t-T0) - zs = pts (ji,jj,jk,jp_sal) - 35._wp ! abs. salinity anomaly (s-S0) - zh = gdept(ji,jj,jk,Kmm) ! depth in meters at t-point - ztm = tmask(ji,jj,jk) ! land/sea bottom mask = surf. mask - ! - zn = rn_a0 * ( 1._wp + rn_lambda1*zt + rn_mu1*zh ) + rn_nu*zs - pab(ji,jj,jk,jp_tem) = zn * r1_rho0 * ztm ! alpha - ! - zn = rn_b0 * ( 1._wp - rn_lambda2*zs - rn_mu2*zh ) - rn_nu*zt - pab(ji,jj,jk,jp_sal) = zn * r1_rho0 * ztm ! beta - ! - END_3D - ! - CASE( np_eeos ) !== exponential SEAMOUNT EOS ==! - ! - DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpkm1 ) - zt = pts (ji,jj,jk,jp_tem) + ( 28 - rn_drho * EXP(- gdept (ji,jj,jk,Kmm) / 1000._wp) ) / rn_a0 - ztm = tmask(ji,jj,jk) - ! - zn = rn_a0 - ! - pab(ji,jj,jk,jp_tem) = zn * r1_rho0 * ztm ! alpha - pab(ji,jj,jk,jp_sal) = 0 - ! - END_3D - CASE DEFAULT - WRITE(ctmp1,*) ' bad flag value for neos = ', neos - CALL ctl_stop( 'rab_3d:', ctmp1 ) - ! - END SELECT - ! - IF(sn_cfctl%l_prtctl) CALL prt_ctl( tab3d_1=pab(:,:,:,jp_tem), clinfo1=' rab_3d_t: ', & - & tab3d_2=pab(:,:,:,jp_sal), clinfo2=' rab_3d_s : ', kdim=jpk ) - ! - IF( ln_timing ) CALL timing_stop('rab_3d') - ! - END SUBROUTINE rab_3d_t - - - SUBROUTINE rab_2d( pts, pdep, pab, Kmm ) - !! - INTEGER , INTENT(in ) :: Kmm ! time level index - REAL(wp), DIMENSION(:,:,:), INTENT(in ) :: pts ! pot. temperature & salinity - REAL(wp), DIMENSION(:,:) , INTENT(in ) :: pdep ! depth [m] - REAL(wp), DIMENSION(:,:,:), INTENT( out) :: pab ! thermal/haline expansion ratio - !! - CALL rab_2d_t(pts, is_tile(pts), pdep, is_tile(pdep), pab, is_tile(pab), Kmm) - END SUBROUTINE rab_2d - - - SUBROUTINE rab_2d_t( pts, ktts, pdep, ktdep, pab, ktab, Kmm ) - !!---------------------------------------------------------------------- - !! *** ROUTINE rab_2d *** - !! - !! ** Purpose : Calculates thermal/haline expansion ratio for a 2d field (unmasked) - !! - !! ** Action : - pab : thermal/haline expansion ratio at T-points - !!---------------------------------------------------------------------- - INTEGER , INTENT(in ) :: Kmm ! time level index - INTEGER , INTENT(in ) :: ktts, ktdep, ktab - REAL(wp), DIMENSION(A2D_T(ktts),JPTS), INTENT(in ) :: pts ! pot. temperature & salinity - REAL(wp), DIMENSION(A2D_T(ktdep) ), INTENT(in ) :: pdep ! depth [m] - REAL(wp), DIMENSION(A2D_T(ktab),JPTS), INTENT( out) :: pab ! thermal/haline expansion ratio - ! - INTEGER :: ji, jj, jk ! dummy loop indices - REAL(wp) :: zt , zh , zs ! local scalars - REAL(wp) :: zn , zn0, zn1, zn2, zn3 ! - - - !!---------------------------------------------------------------------- - ! - IF( ln_timing ) CALL timing_start('rab_2d') - ! - pab(:,:,:) = 0._wp - ! - SELECT CASE ( neos ) - ! - CASE( np_teos10, np_eos80 ) !== polynomial TEOS-10 / EOS-80 ==! - ! - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) - ! - zh = pdep(ji,jj) * r1_Z0 ! depth - zt = pts (ji,jj,jp_tem) * r1_T0 ! temperature - zs = SQRT( ABS( pts(ji,jj,jp_sal) + rdeltaS ) * r1_S0 ) ! square root salinity - ! - ! alpha - zn3 = ALP003 - ! - zn2 = ALP012*zt + ALP102*zs+ALP002 - ! - zn1 = ((ALP031*zt & - & + ALP121*zs+ALP021)*zt & - & + (ALP211*zs+ALP111)*zs+ALP011)*zt & - & + ((ALP301*zs+ALP201)*zs+ALP101)*zs+ALP001 - ! - zn0 = ((((ALP050*zt & - & + ALP140*zs+ALP040)*zt & - & + (ALP230*zs+ALP130)*zs+ALP030)*zt & - & + ((ALP320*zs+ALP220)*zs+ALP120)*zs+ALP020)*zt & - & + (((ALP410*zs+ALP310)*zs+ALP210)*zs+ALP110)*zs+ALP010)*zt & - & + ((((ALP500*zs+ALP400)*zs+ALP300)*zs+ALP200)*zs+ALP100)*zs+ALP000 - ! - zn = ( ( zn3 * zh + zn2 ) * zh + zn1 ) * zh + zn0 - ! - pab(ji,jj,jp_tem) = zn * r1_rho0 - ! - ! beta - zn3 = BET003 - ! - zn2 = BET012*zt + BET102*zs+BET002 - ! - zn1 = ((BET031*zt & - & + BET121*zs+BET021)*zt & - & + (BET211*zs+BET111)*zs+BET011)*zt & - & + ((BET301*zs+BET201)*zs+BET101)*zs+BET001 - ! - zn0 = ((((BET050*zt & - & + BET140*zs+BET040)*zt & - & + (BET230*zs+BET130)*zs+BET030)*zt & - & + ((BET320*zs+BET220)*zs+BET120)*zs+BET020)*zt & - & + (((BET410*zs+BET310)*zs+BET210)*zs+BET110)*zs+BET010)*zt & - & + ((((BET500*zs+BET400)*zs+BET300)*zs+BET200)*zs+BET100)*zs+BET000 - ! - zn = ( ( zn3 * zh + zn2 ) * zh + zn1 ) * zh + zn0 - ! - pab(ji,jj,jp_sal) = zn / zs * r1_rho0 - ! - ! - END_2D - ! - CASE( np_seos ) !== simplified EOS ==! - ! - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) - ! - zt = pts (ji,jj,jp_tem) - 10._wp ! pot. temperature anomaly (t-T0) - zs = pts (ji,jj,jp_sal) - 35._wp ! abs. salinity anomaly (s-S0) - zh = pdep (ji,jj) ! depth at the partial step level - ! - zn = rn_a0 * ( 1._wp + rn_lambda1*zt + rn_mu1*zh ) + rn_nu*zs - pab(ji,jj,jp_tem) = zn * r1_rho0 ! alpha - ! - zn = rn_b0 * ( 1._wp - rn_lambda2*zs - rn_mu2*zh ) - rn_nu*zt - pab(ji,jj,jp_sal) = zn * r1_rho0 ! beta - ! - END_2D - ! - CASE( np_eeos ) !== exponential SEAMOUNT EOS ==! - ! - DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) - zt = pts (ji,jj,jp_tem) + ( 28 - rn_drho * EXP(- pdep (ji,jj) / 1000._wp) ) / rn_a0 - ! - zn = rn_a0 - ! - pab(ji,jj,jp_tem) = zn * r1_rho0 ! alpha - pab(ji,jj,jp_sal) = 0.0_wp - END_2D - CASE DEFAULT - WRITE(ctmp1,*) ' bad flag value for neos = ', neos - CALL ctl_stop( 'rab_2d:', ctmp1 ) - ! - END SELECT - ! - IF(sn_cfctl%l_prtctl) CALL prt_ctl( tab2d_1=pab(:,:,jp_tem), clinfo1=' rab_2d_t: ', & - & tab2d_2=pab(:,:,jp_sal), clinfo2=' rab_2d_s : ' ) - ! - IF( ln_timing ) CALL timing_stop('rab_2d') - ! - END SUBROUTINE rab_2d_t - - - SUBROUTINE rab_0d( pts, pdep, pab, Kmm ) - !!---------------------------------------------------------------------- - !! *** ROUTINE rab_0d *** - !! - !! ** Purpose : Calculates thermal/haline expansion ratio for a 2d field (unmasked) - !! - !! ** Action : - pab : thermal/haline expansion ratio at T-points - !!---------------------------------------------------------------------- - INTEGER , INTENT(in ) :: Kmm ! time level index - REAL(wp), DIMENSION(jpts) , INTENT(in ) :: pts ! pot. temperature & salinity - REAL(wp), INTENT(in ) :: pdep ! depth [m] - REAL(wp), DIMENSION(jpts) , INTENT( out) :: pab ! thermal/haline expansion ratio - ! - REAL(wp) :: zt , zh , zs ! local scalars - REAL(wp) :: zn , zn0, zn1, zn2, zn3 ! - - - !!---------------------------------------------------------------------- - ! - IF( ln_timing ) CALL timing_start('rab_0d') - ! - pab(:) = 0._wp - ! - SELECT CASE ( neos ) - ! - CASE( np_teos10, np_eos80 ) !== polynomial TEOS-10 / EOS-80 ==! - ! - ! - zh = pdep * r1_Z0 ! depth - zt = pts (jp_tem) * r1_T0 ! temperature - zs = SQRT( ABS( pts(jp_sal) + rdeltaS ) * r1_S0 ) ! square root salinity - ! - ! alpha - zn3 = ALP003 - ! - zn2 = ALP012*zt + ALP102*zs+ALP002 - ! - zn1 = ((ALP031*zt & - & + ALP121*zs+ALP021)*zt & - & + (ALP211*zs+ALP111)*zs+ALP011)*zt & - & + ((ALP301*zs+ALP201)*zs+ALP101)*zs+ALP001 - ! - zn0 = ((((ALP050*zt & - & + ALP140*zs+ALP040)*zt & - & + (ALP230*zs+ALP130)*zs+ALP030)*zt & - & + ((ALP320*zs+ALP220)*zs+ALP120)*zs+ALP020)*zt & - & + (((ALP410*zs+ALP310)*zs+ALP210)*zs+ALP110)*zs+ALP010)*zt & - & + ((((ALP500*zs+ALP400)*zs+ALP300)*zs+ALP200)*zs+ALP100)*zs+ALP000 - ! - zn = ( ( zn3 * zh + zn2 ) * zh + zn1 ) * zh + zn0 - ! - pab(jp_tem) = zn * r1_rho0 - ! - ! beta - zn3 = BET003 - ! - zn2 = BET012*zt + BET102*zs+BET002 - ! - zn1 = ((BET031*zt & - & + BET121*zs+BET021)*zt & - & + (BET211*zs+BET111)*zs+BET011)*zt & - & + ((BET301*zs+BET201)*zs+BET101)*zs+BET001 - ! - zn0 = ((((BET050*zt & - & + BET140*zs+BET040)*zt & - & + (BET230*zs+BET130)*zs+BET030)*zt & - & + ((BET320*zs+BET220)*zs+BET120)*zs+BET020)*zt & - & + (((BET410*zs+BET310)*zs+BET210)*zs+BET110)*zs+BET010)*zt & - & + ((((BET500*zs+BET400)*zs+BET300)*zs+BET200)*zs+BET100)*zs+BET000 - ! - zn = ( ( zn3 * zh + zn2 ) * zh + zn1 ) * zh + zn0 - ! - pab(jp_sal) = zn / zs * r1_rho0 - ! - ! - ! - CASE( np_seos ) !== simplified EOS ==! - ! - zt = pts(jp_tem) - 10._wp ! pot. temperature anomaly (t-T0) - zs = pts(jp_sal) - 35._wp ! abs. salinity anomaly (s-S0) - zh = pdep ! depth at the partial step level - ! - zn = rn_a0 * ( 1._wp + rn_lambda1*zt + rn_mu1*zh ) + rn_nu*zs - pab(jp_tem) = zn * r1_rho0 ! alpha - ! - zn = rn_b0 * ( 1._wp - rn_lambda2*zs - rn_mu2*zh ) - rn_nu*zt - pab(jp_sal) = zn * r1_rho0 ! beta - ! - CASE( np_eeos ) !== exponential SEAMOUNT EOS ==! - ! - zt = pts (jp_tem) + ( 28 - rn_drho * EXP(- pdep / 1000._wp) ) / rn_a0 - ! - zn = rn_a0 - ! - pab(jp_tem) = zn * r1_rho0 ! alpha - pab(jp_sal) = zn * r1_rho0 ! beta -! - CASE DEFAULT - WRITE(ctmp1,*) ' bad flag value for neos = ', neos - CALL ctl_stop( 'rab_0d:', ctmp1 ) - ! - END SELECT - ! - IF( ln_timing ) CALL timing_stop('rab_0d') - ! - END SUBROUTINE rab_0d - - - SUBROUTINE bn2( pts, pab, pn2, Kmm ) - !! - INTEGER , INTENT(in ) :: Kmm ! time level index - REAL(wp), DIMENSION(jpi,jpj,jpk,jpts), INTENT(in ) :: pts ! pot. temperature and salinity [Celsius,psu] - REAL(wp), DIMENSION(:,:,:,:) , INTENT(in ) :: pab ! thermal/haline expansion coef. [Celsius-1,psu-1] - REAL(wp), DIMENSION(:,:,:) , INTENT( out) :: pn2 ! Brunt-Vaisala frequency squared [1/s^2] - !! - CALL bn2_t( pts, pab, is_tile(pab), pn2, is_tile(pn2), Kmm ) - END SUBROUTINE bn2 - - - SUBROUTINE bn2_t( pts, pab, ktab, pn2, ktn2, Kmm ) - !!---------------------------------------------------------------------- - !! *** ROUTINE bn2 *** - !! - !! ** Purpose : Compute the local Brunt-Vaisala frequency at the - !! time-step of the input arguments - !! - !! ** Method : pn2 = grav * (alpha dk[T] + beta dk[S] ) / e3w - !! where alpha and beta are given in pab, and computed on T-points. - !! N.B. N^2 is set one for all to zero at jk=1 in istate module. - !! - !! ** Action : pn2 : square of the brunt-vaisala frequency at w-point - !! - !!---------------------------------------------------------------------- - INTEGER , INTENT(in ) :: Kmm ! time level index - INTEGER , INTENT(in ) :: ktab, ktn2 - REAL(wp), DIMENSION(jpi,jpj, jpk,jpts), INTENT(in ) :: pts ! pot. temperature and salinity [Celsius,psu] - REAL(wp), DIMENSION(A2D_T(ktab),JPK,JPTS), INTENT(in ) :: pab ! thermal/haline expansion coef. [Celsius-1,psu-1] - REAL(wp), DIMENSION(A2D_T(ktn2),JPK ), INTENT( out) :: pn2 ! Brunt-Vaisala frequency squared [1/s^2] - ! - INTEGER :: ji, jj, jk ! dummy loop indices - REAL(wp) :: zaw, zbw, zrw ! local scalars - !!---------------------------------------------------------------------- - ! - IF( ln_timing ) CALL timing_start('bn2') - ! - DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 2, jpkm1 ) ! interior points only (2=< jk =< jpkm1 ); surface and bottom value set to zero one for all in istate.F90 - zrw = ( gdepw(ji,jj,jk ,Kmm) - gdept(ji,jj,jk,Kmm) ) & - & / ( gdept(ji,jj,jk-1,Kmm) - gdept(ji,jj,jk,Kmm) ) - ! - zaw = pab(ji,jj,jk,jp_tem) * (1. - zrw) + pab(ji,jj,jk-1,jp_tem) * zrw - zbw = pab(ji,jj,jk,jp_sal) * (1. - zrw) + pab(ji,jj,jk-1,jp_sal) * zrw - ! - pn2(ji,jj,jk) = grav * ( zaw * ( pts(ji,jj,jk-1,jp_tem) - pts(ji,jj,jk,jp_tem) ) & - & - zbw * ( pts(ji,jj,jk-1,jp_sal) - pts(ji,jj,jk,jp_sal) ) ) & - & / e3w(ji,jj,jk,Kmm) * wmask(ji,jj,jk) - END_3D - ! - IF(sn_cfctl%l_prtctl) CALL prt_ctl( tab3d_1=pn2, clinfo1=' bn2 : ', kdim=jpk ) - ! - IF( ln_timing ) CALL timing_stop('bn2') - ! - END SUBROUTINE bn2_t - - - FUNCTION eos_pt_from_ct( ctmp, psal ) RESULT( ptmp ) - !!---------------------------------------------------------------------- - !! *** ROUTINE eos_pt_from_ct *** - !! - !! ** Purpose : Compute pot.temp. from cons. temp. [Celsius] - !! - !! ** Method : rational approximation (5/3th order) of TEOS-10 algorithm - !! checkvalue: pt=20.02391895 Celsius for sa=35.7g/kg, ct=20degC - !! - !! Reference : TEOS-10, UNESCO - !! Rational approximation to TEOS10 algorithm (rms error on WOA13 values: 4.0e-5 degC) - !!---------------------------------------------------------------------- - REAL(wp), DIMENSION(jpi,jpj), INTENT(in ) :: ctmp ! Cons. Temp [Celsius] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in ) :: psal ! salinity [psu] - ! Leave result array automatic rather than making explicitly allocated - REAL(wp), DIMENSION(jpi,jpj) :: ptmp ! potential temperature [Celsius] - ! - INTEGER :: ji, jj ! dummy loop indices - REAL(wp) :: zt , zs , ztm ! local scalars - REAL(wp) :: zn , zd ! local scalars - REAL(wp) :: zdeltaS , z1_S0 , z1_T0 - !!---------------------------------------------------------------------- - ! - IF( ln_timing ) CALL timing_start('eos_pt_from_ct') - ! - zdeltaS = 5._wp - z1_S0 = 0.875_wp/35.16504_wp - z1_T0 = 1._wp/40._wp - ! - DO_2D( 1, 1, 1, 1 ) - ! - zt = ctmp (ji,jj) * z1_T0 - zs = SQRT( ABS( psal(ji,jj) + zdeltaS ) * r1_S0 ) - ztm = tmask(ji,jj,1) - ! - zn = ((((-2.1385727895e-01_wp*zt & - & - 2.7674419971e-01_wp*zs+1.0728094330_wp)*zt & - & + (2.6366564313_wp*zs+3.3546960647_wp)*zs-7.8012209473_wp)*zt & - & + ((1.8835586562_wp*zs+7.3949191679_wp)*zs-3.3937395875_wp)*zs-5.6414948432_wp)*zt & - & + (((3.5737370589_wp*zs-1.5512427389e+01_wp)*zs+2.4625741105e+01_wp)*zs & - & +1.9912291000e+01_wp)*zs-3.2191146312e+01_wp)*zt & - & + ((((5.7153204649e-01_wp*zs-3.0943149543_wp)*zs+9.3052495181_wp)*zs & - & -9.4528934807_wp)*zs+3.1066408996_wp)*zs-4.3504021262e-01_wp - ! - zd = (2.0035003456_wp*zt & - & -3.4570358592e-01_wp*zs+5.6471810638_wp)*zt & - & + (1.5393993508_wp*zs-6.9394762624_wp)*zs+1.2750522650e+01_wp - ! - ptmp(ji,jj) = ( zt / z1_T0 + zn / zd ) * ztm - ! - END_2D - ! - IF( ln_timing ) CALL timing_stop('eos_pt_from_ct') - ! - END FUNCTION eos_pt_from_ct - - - SUBROUTINE eos_fzp_2d( psal, ptf, pdep ) - !! - REAL(wp), DIMENSION(jpi,jpj), INTENT(in ) :: psal ! salinity [psu] - REAL(wp), DIMENSION(jpi,jpj), INTENT(in ), OPTIONAL :: pdep ! depth [m] - REAL(wp), DIMENSION(:,:) , INTENT(out ) :: ptf ! freezing temperature [Celsius] - !! - CALL eos_fzp_2d_t( psal, ptf, is_tile(ptf), pdep ) - END SUBROUTINE eos_fzp_2d - - - SUBROUTINE eos_fzp_2d_t( psal, ptf, kttf, pdep ) - !!---------------------------------------------------------------------- - !! *** ROUTINE eos_fzp *** - !! - !! ** Purpose : Compute the freezing point temperature [Celsius] - !! - !! ** Method : UNESCO freezing point (ptf) in Celsius is given by - !! ptf(t,z) = (-.0575+1.710523e-3*sqrt(abs(s))-2.154996e-4*s)*s - 7.53e-4*z - !! checkvalue: tf=-2.588567 Celsius for s=40psu, z=500m - !! - !! Reference : UNESCO tech. papers in the marine science no. 28. 1978 - !!---------------------------------------------------------------------- - INTEGER , INTENT(in ) :: kttf - REAL(wp), DIMENSION(jpi,jpj) , INTENT(in ) :: psal ! salinity [psu] - REAL(wp), DIMENSION(jpi,jpj) , INTENT(in ), OPTIONAL :: pdep ! depth [m] - REAL(wp), DIMENSION(A2D_T(kttf)), INTENT(out ) :: ptf ! freezing temperature [Celsius] - ! - INTEGER :: ji, jj ! dummy loop indices - REAL(wp) :: zt, zs, z1_S0 ! local scalars - !!---------------------------------------------------------------------- - ! - SELECT CASE ( neos ) - ! - CASE ( np_teos10, np_seos ) !== CT,SA (TEOS-10 and S-EOS formulations) ==! - ! - z1_S0 = 1._wp / 35.16504_wp - DO_2D( 1, 1, 1, 1 ) - zs= SQRT( ABS( psal(ji,jj) ) * z1_S0 ) ! square root salinity - ptf(ji,jj) = ((((1.46873e-03_wp*zs-9.64972e-03_wp)*zs+2.28348e-02_wp)*zs & - & - 3.12775e-02_wp)*zs+2.07679e-02_wp)*zs-5.87701e-02_wp - END_2D - ptf(:,:) = ptf(:,:) * psal(:,:) - ! - IF( PRESENT( pdep ) ) ptf(:,:) = ptf(:,:) - 7.53e-4 * pdep(:,:) - ! - CASE ( np_eos80 ) !== PT,SP (UNESCO formulation) ==! - ! - ptf(:,:) = ( - 0.0575_wp + 1.710523e-3_wp * SQRT( psal(:,:) ) & - & - 2.154996e-4_wp * psal(:,:) ) * psal(:,:) - ! - IF( PRESENT( pdep ) ) ptf(:,:) = ptf(:,:) - 7.53e-4 * pdep(:,:) - ! - CASE DEFAULT - WRITE(ctmp1,*) ' bad flag value for neos = ', neos - CALL ctl_stop( 'eos_fzp_2d:', ctmp1 ) - ! - END SELECT - ! - END SUBROUTINE eos_fzp_2d_t - - - SUBROUTINE eos_fzp_0d( psal, ptf, pdep ) - !!---------------------------------------------------------------------- - !! *** ROUTINE eos_fzp *** - !! - !! ** Purpose : Compute the freezing point temperature [Celsius] - !! - !! ** Method : UNESCO freezing point (ptf) in Celsius is given by - !! ptf(t,z) = (-.0575+1.710523e-3*sqrt(abs(s))-2.154996e-4*s)*s - 7.53e-4*z - !! checkvalue: tf=-2.588567 Celsius for s=40psu, z=500m - !! - !! Reference : UNESCO tech. papers in the marine science no. 28. 1978 - !!---------------------------------------------------------------------- - REAL(wp), INTENT(in ) :: psal ! salinity [psu] - REAL(wp), INTENT(in ), OPTIONAL :: pdep ! depth [m] - REAL(wp), INTENT(out) :: ptf ! freezing temperature [Celsius] - ! - REAL(wp) :: zs ! local scalars - !!---------------------------------------------------------------------- - ! - SELECT CASE ( neos ) - ! - CASE ( np_teos10, np_seos ) !== CT,SA (TEOS-10 and S-EOS formulations) ==! - ! - zs = SQRT( ABS( psal ) / 35.16504_wp ) ! square root salinity - ptf = ((((1.46873e-03_wp*zs-9.64972e-03_wp)*zs+2.28348e-02_wp)*zs & - & - 3.12775e-02_wp)*zs+2.07679e-02_wp)*zs-5.87701e-02_wp - ptf = ptf * psal - ! - IF( PRESENT( pdep ) ) ptf = ptf - 7.53e-4 * pdep - ! - CASE ( np_eos80 ) !== PT,SP (UNESCO formulation) ==! - ! - ptf = ( - 0.0575_wp + 1.710523e-3_wp * SQRT( psal ) & - & - 2.154996e-4_wp * psal ) * psal - ! - IF( PRESENT( pdep ) ) ptf = ptf - 7.53e-4 * pdep - ! - CASE DEFAULT - WRITE(ctmp1,*) ' bad flag value for neos = ', neos - CALL ctl_stop( 'eos_fzp_0d:', ctmp1 ) - ! - END SELECT - ! - END SUBROUTINE eos_fzp_0d - - - SUBROUTINE eos_pen( pts, pab_pe, ppen, Kmm ) - !!---------------------------------------------------------------------- - !! *** ROUTINE eos_pen *** - !! - !! ** Purpose : Calculates nonlinear anomalies of alpha_PE, beta_PE and PE at T-points - !! - !! ** Method : PE is defined analytically as the vertical - !! primitive of EOS times -g integrated between 0 and z>0. - !! pen is the nonlinear bsq-PE anomaly: pen = ( PE - rho0 gz ) / rho0 gz - rd - !! = 1/z * /int_0^z rd dz - rd - !! where rd is the density anomaly (see eos_rhd function) - !! ab_pe are partial derivatives of PE anomaly with respect to T and S: - !! ab_pe(1) = - 1/(rho0 gz) * dPE/dT + drd/dT = - d(pen)/dT - !! ab_pe(2) = 1/(rho0 gz) * dPE/dS + drd/dS = d(pen)/dS - !! - !! ** Action : - pen : PE anomaly given at T-points - !! : - pab_pe : given at T-points - !! pab_pe(:,:,:,jp_tem) is alpha_pe - !! pab_pe(:,:,:,jp_sal) is beta_pe - !!---------------------------------------------------------------------- - INTEGER , INTENT(in ) :: Kmm ! time level index - REAL(wp), DIMENSION(jpi,jpj,jpk,jpts), INTENT(in ) :: pts ! pot. temperature & salinity - REAL(wp), DIMENSION(jpi,jpj,jpk,jpts), INTENT( out) :: pab_pe ! alpha_pe and beta_pe - REAL(wp), DIMENSION(jpi,jpj,jpk) , INTENT( out) :: ppen ! potential energy anomaly - ! - INTEGER :: ji, jj, jk ! dummy loop indices - REAL(wp) :: zt , zh , zs , ztm ! local scalars - REAL(wp) :: zn , zn0, zn1, zn2 ! - - - !!---------------------------------------------------------------------- - ! - IF( ln_timing ) CALL timing_start('eos_pen') - ! - SELECT CASE ( neos ) - ! - CASE( np_teos10, np_eos80 ) !== polynomial TEOS-10 / EOS-80 ==! - ! - DO_3D( 1, 1, 1, 1, 1, jpkm1 ) - ! - zh = gdept(ji,jj,jk,Kmm) * r1_Z0 ! depth - zt = pts (ji,jj,jk,jp_tem) * r1_T0 ! temperature - zs = SQRT( ABS( pts(ji,jj,jk,jp_sal) + rdeltaS ) * r1_S0 ) ! square root salinity - ztm = tmask(ji,jj,jk) ! tmask - ! - ! potential energy non-linear anomaly - zn2 = (PEN012)*zt & - & + PEN102*zs+PEN002 - ! - zn1 = ((PEN021)*zt & - & + PEN111*zs+PEN011)*zt & - & + (PEN201*zs+PEN101)*zs+PEN001 - ! - zn0 = ((((PEN040)*zt & - & + PEN130*zs+PEN030)*zt & - & + (PEN220*zs+PEN120)*zs+PEN020)*zt & - & + ((PEN310*zs+PEN210)*zs+PEN110)*zs+PEN010)*zt & - & + (((PEN400*zs+PEN300)*zs+PEN200)*zs+PEN100)*zs+PEN000 - ! - zn = ( zn2 * zh + zn1 ) * zh + zn0 - ! - ppen(ji,jj,jk) = zn * zh * r1_rho0 * ztm - ! - ! alphaPE non-linear anomaly - zn2 = APE002 - ! - zn1 = (APE011)*zt & - & + APE101*zs+APE001 - ! - zn0 = (((APE030)*zt & - & + APE120*zs+APE020)*zt & - & + (APE210*zs+APE110)*zs+APE010)*zt & - & + ((APE300*zs+APE200)*zs+APE100)*zs+APE000 - ! - zn = ( zn2 * zh + zn1 ) * zh + zn0 - ! - pab_pe(ji,jj,jk,jp_tem) = zn * zh * r1_rho0 * ztm - ! - ! betaPE non-linear anomaly - zn2 = BPE002 - ! - zn1 = (BPE011)*zt & - & + BPE101*zs+BPE001 - ! - zn0 = (((BPE030)*zt & - & + BPE120*zs+BPE020)*zt & - & + (BPE210*zs+BPE110)*zs+BPE010)*zt & - & + ((BPE300*zs+BPE200)*zs+BPE100)*zs+BPE000 - ! - zn = ( zn2 * zh + zn1 ) * zh + zn0 - ! - pab_pe(ji,jj,jk,jp_sal) = zn / zs * zh * r1_rho0 * ztm - ! - END_3D - ! - CASE( np_seos ) !== Vallis (2006) simplified EOS ==! - ! - DO_3D( 1, 1, 1, 1, 1, jpkm1 ) - zt = pts(ji,jj,jk,jp_tem) - 10._wp ! temperature anomaly (t-T0) - zs = pts (ji,jj,jk,jp_sal) - 35._wp ! abs. salinity anomaly (s-S0) - zh = gdept(ji,jj,jk,Kmm) ! depth in meters at t-point - ztm = tmask(ji,jj,jk) ! tmask - zn = 0.5_wp * zh * r1_rho0 * ztm - ! ! Potential Energy - ppen(ji,jj,jk) = ( rn_a0 * rn_mu1 * zt + rn_b0 * rn_mu2 * zs ) * zn - ! ! alphaPE - pab_pe(ji,jj,jk,jp_tem) = - rn_a0 * rn_mu1 * zn - pab_pe(ji,jj,jk,jp_sal) = rn_b0 * rn_mu2 * zn - ! - END_3D - ! - CASE( np_eeos ) !== exponential SEAMOUNT EOS ==! - ! - DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpkm1 ) - ppen(ji,jk,jk) = 0. - ! - pab_pe(ji,jj,jk,jp_tem) = 0. - pab_pe(ji,jj,jk,jp_sal) = 0. - END_3D - ! - CASE DEFAULT - WRITE(ctmp1,*) ' bad flag value for neos = ', neos - CALL ctl_stop( 'eos_pen:', ctmp1 ) - ! - END SELECT - ! - IF( ln_timing ) CALL timing_stop('eos_pen') - ! - END SUBROUTINE eos_pen - - - SUBROUTINE eos_init - !!---------------------------------------------------------------------- - !! *** ROUTINE eos_init *** - !! - !! ** Purpose : initializations for the equation of state - !! - !! ** Method : Read the namelist nameos and control the parameters - !!---------------------------------------------------------------------- - INTEGER :: ios ! local integer - INTEGER :: ioptio ! local integer - !! - NAMELIST/nameos/ ln_TEOS10, ln_EOS80, ln_SEOS, ln_EEOS, rn_a0, rn_b0, rn_lambda1, rn_mu1, & - & rn_lambda2, rn_mu2, rn_nu - !!---------------------------------------------------------------------- - ! - READ ( numnam_ref, nameos, IOSTAT = ios, ERR = 901 ) -901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nameos in reference namelist' ) - ! - READ ( numnam_cfg, nameos, IOSTAT = ios, ERR = 902 ) -902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nameos in configuration namelist' ) - IF(lwm) WRITE( numond, nameos ) - ! - rho0 = 1000._wp !: volumic mass of reference [kg/m3] - rcp = 3991.86795711963_wp !: heat capacity [J/K] - ! - IF(lwp) THEN ! Control print - WRITE(numout,*) - WRITE(numout,*) 'eos_init : equation of state' - WRITE(numout,*) '~~~~~~~~' - WRITE(numout,*) ' Namelist nameos : Chosen the Equation Of Seawater (EOS)' - WRITE(numout,*) ' TEOS-10 : rho=F(Conservative Temperature, Absolute Salinity, depth) ln_TEOS10 = ', ln_TEOS10 - WRITE(numout,*) ' EOS-80 : rho=F(Potential Temperature, Practical Salinity, depth) ln_EOS80 = ', ln_EOS80 - WRITE(numout,*) ' S-EOS : rho=F(Conservative Temperature, Absolute Salinity, depth) ln_SEOS = ', ln_SEOS - WRITE(numout,*) ' E-EOS : rho=F(Conservative Temperature, depth) ln_EEOS = ', ln_EEOS - ENDIF - - ! Check options for equation of state & set neos based on logical flags - ioptio = 0 - IF( ln_TEOS10 ) THEN ; ioptio = ioptio+1 ; neos = np_teos10 ; ENDIF - IF( ln_EOS80 ) THEN ; ioptio = ioptio+1 ; neos = np_eos80 ; ENDIF - IF( ln_SEOS ) THEN ; ioptio = ioptio+1 ; neos = np_seos ; ENDIF - IF( ln_EEOS ) THEN ; ioptio = ioptio+1 ; neos = np_eeos ; ENDIF - IF( ioptio /= 1 ) CALL ctl_stop("Exactly one equation of state option must be selected") - ! - SELECT CASE( neos ) ! check option - ! - CASE( np_teos10 ) !== polynomial TEOS-10 ==! - IF(lwp) WRITE(numout,*) - IF(lwp) WRITE(numout,*) ' ==>>> use of TEOS-10 equation of state (cons. temp. and abs. salinity)' - ! - l_useCT = .TRUE. ! model temperature is Conservative temperature - ! - rdeltaS = 32._wp - r1_S0 = 0.875_wp/35.16504_wp - r1_T0 = 1._wp/40._wp - r1_Z0 = 1.e-4_wp - ! - EOS000 = 8.0189615746e+02_wp - EOS100 = 8.6672408165e+02_wp - EOS200 = -1.7864682637e+03_wp - EOS300 = 2.0375295546e+03_wp - EOS400 = -1.2849161071e+03_wp - EOS500 = 4.3227585684e+02_wp - EOS600 = -6.0579916612e+01_wp - EOS010 = 2.6010145068e+01_wp - EOS110 = -6.5281885265e+01_wp - EOS210 = 8.1770425108e+01_wp - EOS310 = -5.6888046321e+01_wp - EOS410 = 1.7681814114e+01_wp - EOS510 = -1.9193502195_wp - EOS020 = -3.7074170417e+01_wp - EOS120 = 6.1548258127e+01_wp - EOS220 = -6.0362551501e+01_wp - EOS320 = 2.9130021253e+01_wp - EOS420 = -5.4723692739_wp - EOS030 = 2.1661789529e+01_wp - EOS130 = -3.3449108469e+01_wp - EOS230 = 1.9717078466e+01_wp - EOS330 = -3.1742946532_wp - EOS040 = -8.3627885467_wp - EOS140 = 1.1311538584e+01_wp - EOS240 = -5.3563304045_wp - EOS050 = 5.4048723791e-01_wp - EOS150 = 4.8169980163e-01_wp - EOS060 = -1.9083568888e-01_wp - EOS001 = 1.9681925209e+01_wp - EOS101 = -4.2549998214e+01_wp - EOS201 = 5.0774768218e+01_wp - EOS301 = -3.0938076334e+01_wp - EOS401 = 6.6051753097_wp - EOS011 = -1.3336301113e+01_wp - EOS111 = -4.4870114575_wp - EOS211 = 5.0042598061_wp - EOS311 = -6.5399043664e-01_wp - EOS021 = 6.7080479603_wp - EOS121 = 3.5063081279_wp - EOS221 = -1.8795372996_wp - EOS031 = -2.4649669534_wp - EOS131 = -5.5077101279e-01_wp - EOS041 = 5.5927935970e-01_wp - EOS002 = 2.0660924175_wp - EOS102 = -4.9527603989_wp - EOS202 = 2.5019633244_wp - EOS012 = 2.0564311499_wp - EOS112 = -2.1311365518e-01_wp - EOS022 = -1.2419983026_wp - EOS003 = -2.3342758797e-02_wp - EOS103 = -1.8507636718e-02_wp - EOS013 = 3.7969820455e-01_wp - ! - ALP000 = -6.5025362670e-01_wp - ALP100 = 1.6320471316_wp - ALP200 = -2.0442606277_wp - ALP300 = 1.4222011580_wp - ALP400 = -4.4204535284e-01_wp - ALP500 = 4.7983755487e-02_wp - ALP010 = 1.8537085209_wp - ALP110 = -3.0774129064_wp - ALP210 = 3.0181275751_wp - ALP310 = -1.4565010626_wp - ALP410 = 2.7361846370e-01_wp - ALP020 = -1.6246342147_wp - ALP120 = 2.5086831352_wp - ALP220 = -1.4787808849_wp - ALP320 = 2.3807209899e-01_wp - ALP030 = 8.3627885467e-01_wp - ALP130 = -1.1311538584_wp - ALP230 = 5.3563304045e-01_wp - ALP040 = -6.7560904739e-02_wp - ALP140 = -6.0212475204e-02_wp - ALP050 = 2.8625353333e-02_wp - ALP001 = 3.3340752782e-01_wp - ALP101 = 1.1217528644e-01_wp - ALP201 = -1.2510649515e-01_wp - ALP301 = 1.6349760916e-02_wp - ALP011 = -3.3540239802e-01_wp - ALP111 = -1.7531540640e-01_wp - ALP211 = 9.3976864981e-02_wp - ALP021 = 1.8487252150e-01_wp - ALP121 = 4.1307825959e-02_wp - ALP031 = -5.5927935970e-02_wp - ALP002 = -5.1410778748e-02_wp - ALP102 = 5.3278413794e-03_wp - ALP012 = 6.2099915132e-02_wp - ALP003 = -9.4924551138e-03_wp - ! - BET000 = 1.0783203594e+01_wp - BET100 = -4.4452095908e+01_wp - BET200 = 7.6048755820e+01_wp - BET300 = -6.3944280668e+01_wp - BET400 = 2.6890441098e+01_wp - BET500 = -4.5221697773_wp - BET010 = -8.1219372432e-01_wp - BET110 = 2.0346663041_wp - BET210 = -2.1232895170_wp - BET310 = 8.7994140485e-01_wp - BET410 = -1.1939638360e-01_wp - BET020 = 7.6574242289e-01_wp - BET120 = -1.5019813020_wp - BET220 = 1.0872489522_wp - BET320 = -2.7233429080e-01_wp - BET030 = -4.1615152308e-01_wp - BET130 = 4.9061350869e-01_wp - BET230 = -1.1847737788e-01_wp - BET040 = 1.4073062708e-01_wp - BET140 = -1.3327978879e-01_wp - BET050 = 5.9929880134e-03_wp - BET001 = -5.2937873009e-01_wp - BET101 = 1.2634116779_wp - BET201 = -1.1547328025_wp - BET301 = 3.2870876279e-01_wp - BET011 = -5.5824407214e-02_wp - BET111 = 1.2451933313e-01_wp - BET211 = -2.4409539932e-02_wp - BET021 = 4.3623149752e-02_wp - BET121 = -4.6767901790e-02_wp - BET031 = -6.8523260060e-03_wp - BET002 = -6.1618945251e-02_wp - BET102 = 6.2255521644e-02_wp - BET012 = -2.6514181169e-03_wp - BET003 = -2.3025968587e-04_wp - ! - PEN000 = -9.8409626043_wp - PEN100 = 2.1274999107e+01_wp - PEN200 = -2.5387384109e+01_wp - PEN300 = 1.5469038167e+01_wp - PEN400 = -3.3025876549_wp - PEN010 = 6.6681505563_wp - PEN110 = 2.2435057288_wp - PEN210 = -2.5021299030_wp - PEN310 = 3.2699521832e-01_wp - PEN020 = -3.3540239802_wp - PEN120 = -1.7531540640_wp - PEN220 = 9.3976864981e-01_wp - PEN030 = 1.2324834767_wp - PEN130 = 2.7538550639e-01_wp - PEN040 = -2.7963967985e-01_wp - PEN001 = -1.3773949450_wp - PEN101 = 3.3018402659_wp - PEN201 = -1.6679755496_wp - PEN011 = -1.3709540999_wp - PEN111 = 1.4207577012e-01_wp - PEN021 = 8.2799886843e-01_wp - PEN002 = 1.7507069098e-02_wp - PEN102 = 1.3880727538e-02_wp - PEN012 = -2.8477365341e-01_wp - ! - APE000 = -1.6670376391e-01_wp - APE100 = -5.6087643219e-02_wp - APE200 = 6.2553247576e-02_wp - APE300 = -8.1748804580e-03_wp - APE010 = 1.6770119901e-01_wp - APE110 = 8.7657703198e-02_wp - APE210 = -4.6988432490e-02_wp - APE020 = -9.2436260751e-02_wp - APE120 = -2.0653912979e-02_wp - APE030 = 2.7963967985e-02_wp - APE001 = 3.4273852498e-02_wp - APE101 = -3.5518942529e-03_wp - APE011 = -4.1399943421e-02_wp - APE002 = 7.1193413354e-03_wp - ! - BPE000 = 2.6468936504e-01_wp - BPE100 = -6.3170583896e-01_wp - BPE200 = 5.7736640125e-01_wp - BPE300 = -1.6435438140e-01_wp - BPE010 = 2.7912203607e-02_wp - BPE110 = -6.2259666565e-02_wp - BPE210 = 1.2204769966e-02_wp - BPE020 = -2.1811574876e-02_wp - BPE120 = 2.3383950895e-02_wp - BPE030 = 3.4261630030e-03_wp - BPE001 = 4.1079296834e-02_wp - BPE101 = -4.1503681096e-02_wp - BPE011 = 1.7676120780e-03_wp - BPE002 = 1.7269476440e-04_wp - ! - CASE( np_eos80 ) !== polynomial EOS-80 formulation ==! - ! - IF(lwp) WRITE(numout,*) - IF(lwp) WRITE(numout,*) ' ==>>> use of EOS-80 equation of state (pot. temp. and pract. salinity)' - ! - l_useCT = .FALSE. ! model temperature is Potential temperature - rdeltaS = 20._wp - r1_S0 = 1._wp/40._wp - r1_T0 = 1._wp/40._wp - r1_Z0 = 1.e-4_wp - ! - EOS000 = 9.5356891948e+02_wp - EOS100 = 1.7136499189e+02_wp - EOS200 = -3.7501039454e+02_wp - EOS300 = 5.1856810420e+02_wp - EOS400 = -3.7264470465e+02_wp - EOS500 = 1.4302533998e+02_wp - EOS600 = -2.2856621162e+01_wp - EOS010 = 1.0087518651e+01_wp - EOS110 = -1.3647741861e+01_wp - EOS210 = 8.8478359933_wp - EOS310 = -7.2329388377_wp - EOS410 = 1.4774410611_wp - EOS510 = 2.0036720553e-01_wp - EOS020 = -2.5579830599e+01_wp - EOS120 = 2.4043512327e+01_wp - EOS220 = -1.6807503990e+01_wp - EOS320 = 8.3811577084_wp - EOS420 = -1.9771060192_wp - EOS030 = 1.6846451198e+01_wp - EOS130 = -2.1482926901e+01_wp - EOS230 = 1.0108954054e+01_wp - EOS330 = -6.2675951440e-01_wp - EOS040 = -8.0812310102_wp - EOS140 = 1.0102374985e+01_wp - EOS240 = -4.8340368631_wp - EOS050 = 1.2079167803_wp - EOS150 = 1.1515380987e-01_wp - EOS060 = -2.4520288837e-01_wp - EOS001 = 1.0748601068e+01_wp - EOS101 = -1.7817043500e+01_wp - EOS201 = 2.2181366768e+01_wp - EOS301 = -1.6750916338e+01_wp - EOS401 = 4.1202230403_wp - EOS011 = -1.5852644587e+01_wp - EOS111 = -7.6639383522e-01_wp - EOS211 = 4.1144627302_wp - EOS311 = -6.6955877448e-01_wp - EOS021 = 9.9994861860_wp - EOS121 = -1.9467067787e-01_wp - EOS221 = -1.2177554330_wp - EOS031 = -3.4866102017_wp - EOS131 = 2.2229155620e-01_wp - EOS041 = 5.9503008642e-01_wp - EOS002 = 1.0375676547_wp - EOS102 = -3.4249470629_wp - EOS202 = 2.0542026429_wp - EOS012 = 2.1836324814_wp - EOS112 = -3.4453674320e-01_wp - EOS022 = -1.2548163097_wp - EOS003 = 1.8729078427e-02_wp - EOS103 = -5.7238495240e-02_wp - EOS013 = 3.8306136687e-01_wp - ! - ALP000 = -2.5218796628e-01_wp - ALP100 = 3.4119354654e-01_wp - ALP200 = -2.2119589983e-01_wp - ALP300 = 1.8082347094e-01_wp - ALP400 = -3.6936026529e-02_wp - ALP500 = -5.0091801383e-03_wp - ALP010 = 1.2789915300_wp - ALP110 = -1.2021756164_wp - ALP210 = 8.4037519952e-01_wp - ALP310 = -4.1905788542e-01_wp - ALP410 = 9.8855300959e-02_wp - ALP020 = -1.2634838399_wp - ALP120 = 1.6112195176_wp - ALP220 = -7.5817155402e-01_wp - ALP320 = 4.7006963580e-02_wp - ALP030 = 8.0812310102e-01_wp - ALP130 = -1.0102374985_wp - ALP230 = 4.8340368631e-01_wp - ALP040 = -1.5098959754e-01_wp - ALP140 = -1.4394226233e-02_wp - ALP050 = 3.6780433255e-02_wp - ALP001 = 3.9631611467e-01_wp - ALP101 = 1.9159845880e-02_wp - ALP201 = -1.0286156825e-01_wp - ALP301 = 1.6738969362e-02_wp - ALP011 = -4.9997430930e-01_wp - ALP111 = 9.7335338937e-03_wp - ALP211 = 6.0887771651e-02_wp - ALP021 = 2.6149576513e-01_wp - ALP121 = -1.6671866715e-02_wp - ALP031 = -5.9503008642e-02_wp - ALP002 = -5.4590812035e-02_wp - ALP102 = 8.6134185799e-03_wp - ALP012 = 6.2740815484e-02_wp - ALP003 = -9.5765341718e-03_wp - ! - BET000 = 2.1420623987_wp - BET100 = -9.3752598635_wp - BET200 = 1.9446303907e+01_wp - BET300 = -1.8632235232e+01_wp - BET400 = 8.9390837485_wp - BET500 = -1.7142465871_wp - BET010 = -1.7059677327e-01_wp - BET110 = 2.2119589983e-01_wp - BET210 = -2.7123520642e-01_wp - BET310 = 7.3872053057e-02_wp - BET410 = 1.2522950346e-02_wp - BET020 = 3.0054390409e-01_wp - BET120 = -4.2018759976e-01_wp - BET220 = 3.1429341406e-01_wp - BET320 = -9.8855300959e-02_wp - BET030 = -2.6853658626e-01_wp - BET130 = 2.5272385134e-01_wp - BET230 = -2.3503481790e-02_wp - BET040 = 1.2627968731e-01_wp - BET140 = -1.2085092158e-01_wp - BET050 = 1.4394226233e-03_wp - BET001 = -2.2271304375e-01_wp - BET101 = 5.5453416919e-01_wp - BET201 = -6.2815936268e-01_wp - BET301 = 2.0601115202e-01_wp - BET011 = -9.5799229402e-03_wp - BET111 = 1.0286156825e-01_wp - BET211 = -2.5108454043e-02_wp - BET021 = -2.4333834734e-03_wp - BET121 = -3.0443885826e-02_wp - BET031 = 2.7786444526e-03_wp - BET002 = -4.2811838287e-02_wp - BET102 = 5.1355066072e-02_wp - BET012 = -4.3067092900e-03_wp - BET003 = -7.1548119050e-04_wp - ! - PEN000 = -5.3743005340_wp - PEN100 = 8.9085217499_wp - PEN200 = -1.1090683384e+01_wp - PEN300 = 8.3754581690_wp - PEN400 = -2.0601115202_wp - PEN010 = 7.9263222935_wp - PEN110 = 3.8319691761e-01_wp - PEN210 = -2.0572313651_wp - PEN310 = 3.3477938724e-01_wp - PEN020 = -4.9997430930_wp - PEN120 = 9.7335338937e-02_wp - PEN220 = 6.0887771651e-01_wp - PEN030 = 1.7433051009_wp - PEN130 = -1.1114577810e-01_wp - PEN040 = -2.9751504321e-01_wp - PEN001 = -6.9171176978e-01_wp - PEN101 = 2.2832980419_wp - PEN201 = -1.3694684286_wp - PEN011 = -1.4557549876_wp - PEN111 = 2.2969116213e-01_wp - PEN021 = 8.3654420645e-01_wp - PEN002 = -1.4046808820e-02_wp - PEN102 = 4.2928871430e-02_wp - PEN012 = -2.8729602515e-01_wp - ! - APE000 = -1.9815805734e-01_wp - APE100 = -9.5799229402e-03_wp - APE200 = 5.1430784127e-02_wp - APE300 = -8.3694846809e-03_wp - APE010 = 2.4998715465e-01_wp - APE110 = -4.8667669469e-03_wp - APE210 = -3.0443885826e-02_wp - APE020 = -1.3074788257e-01_wp - APE120 = 8.3359333577e-03_wp - APE030 = 2.9751504321e-02_wp - APE001 = 3.6393874690e-02_wp - APE101 = -5.7422790533e-03_wp - APE011 = -4.1827210323e-02_wp - APE002 = 7.1824006288e-03_wp - ! - BPE000 = 1.1135652187e-01_wp - BPE100 = -2.7726708459e-01_wp - BPE200 = 3.1407968134e-01_wp - BPE300 = -1.0300557601e-01_wp - BPE010 = 4.7899614701e-03_wp - BPE110 = -5.1430784127e-02_wp - BPE210 = 1.2554227021e-02_wp - BPE020 = 1.2166917367e-03_wp - BPE120 = 1.5221942913e-02_wp - BPE030 = -1.3893222263e-03_wp - BPE001 = 2.8541225524e-02_wp - BPE101 = -3.4236710714e-02_wp - BPE011 = 2.8711395266e-03_wp - BPE002 = 5.3661089288e-04_wp - ! - CASE( np_seos ) !== Simplified EOS ==! - - r1_S0 = 0.875_wp/35.16504_wp ! Used to convert CT in potential temperature when using bulk formulae (eos_pt_from_ct) - - IF(lwp) THEN - WRITE(numout,*) - WRITE(numout,*) ' ==>>> use of simplified eos: ' - WRITE(numout,*) ' rhd(dT=T-10,dS=S-35,Z) = [-a0*(1+lambda1/2*dT+mu1*Z)*dT ' - WRITE(numout,*) ' + b0*(1+lambda2/2*dT+mu2*Z)*dS - nu*dT*dS] / rho0' - WRITE(numout,*) ' with the following coefficients :' - WRITE(numout,*) ' thermal exp. coef. rn_a0 = ', rn_a0 - WRITE(numout,*) ' saline cont. coef. rn_b0 = ', rn_b0 - WRITE(numout,*) ' cabbeling coef. rn_lambda1 = ', rn_lambda1 - WRITE(numout,*) ' cabbeling coef. rn_lambda2 = ', rn_lambda2 - WRITE(numout,*) ' thermobar. coef. rn_mu1 = ', rn_mu1 - WRITE(numout,*) ' thermobar. coef. rn_mu2 = ', rn_mu2 - WRITE(numout,*) ' 2nd cabbel. coef. rn_nu = ', rn_nu - WRITE(numout,*) ' Caution: rn_beta0=0 incompatible with ddm parameterization ' - ENDIF - l_useCT = .TRUE. ! Use conservative temperature - ! - CASE( np_eeos ) !== Exponential SEAMOUNT EOS ==! - - r1_S0 = 0.875_wp/35.16504_wp ! Used to convert CT in potential temperature when using bulk formulae (eos_pt_from_ct) - - IF(lwp) THEN - WRITE(numout,*) - WRITE(numout,*) ' use of exponential SEAMOUNT eos: rhd(dT=T-(exp_profile), Z) = ' - WRITE(numout,*) ' [ -a0*dT ]/rho0' - WRITE(numout,*) - WRITE(numout,*) ' thermal exp. coef. rn_a0 = ', rn_a0 - ENDIF - l_useCT = .TRUE. ! Use conservative temperature - ! - CASE DEFAULT !== ERROR in neos ==! - WRITE(ctmp1,*) ' bad flag value for neos = ', neos, '. You should never see this error' - CALL ctl_stop( ctmp1 ) - ! - END SELECT - ! - rho0_rcp = rho0 * rcp - r1_rho0 = 1._wp / rho0 - r1_rcp = 1._wp / rcp - r1_rho0_rcp = 1._wp / rho0_rcp - ! - IF(lwp) THEN - IF( l_useCT ) THEN - WRITE(numout,*) - WRITE(numout,*) ' ==>>> model uses Conservative Temperature' - WRITE(numout,*) ' Important: model must be initialized with CT and SA fields' - ELSE - WRITE(numout,*) - WRITE(numout,*) ' ==>>> model does not use Conservative Temperature' - ENDIF - ENDIF - ! - IF(lwp) WRITE(numout,*) - IF(lwp) WRITE(numout,*) ' Associated physical constant' - IF(lwp) WRITE(numout,*) ' volumic mass of reference rho0 = ', rho0 , ' kg/m^3' - IF(lwp) WRITE(numout,*) ' 1. / rho0 r1_rho0 = ', r1_rho0, ' m^3/kg' - IF(lwp) WRITE(numout,*) ' ocean specific heat rcp = ', rcp , ' J/Kelvin' - IF(lwp) WRITE(numout,*) ' rho0 * rcp rho0_rcp = ', rho0_rcp - IF(lwp) WRITE(numout,*) ' 1. / ( rho0 * rcp ) r1_rho0_rcp = ', r1_rho0_rcp - ! - END SUBROUTINE eos_init - - !!====================================================================== -END MODULE eosbn2 diff --git a/SEAMOUNT/MY_SRC/usrdef_hgr.F90 b/SEAMOUNT/MY_SRC/usrdef_hgr.F90 index 9baaa3a..9f27bbf 100644 --- a/SEAMOUNT/MY_SRC/usrdef_hgr.F90 +++ b/SEAMOUNT/MY_SRC/usrdef_hgr.F90 @@ -104,9 +104,8 @@ SUBROUTINE usr_def_hgr( plamt , plamu , plamv , plamf , & ! geographic pos ! !== Coriolis parameter ==! kff = 1 ! indicate not to compute Coriolis parameter afterward ! - pff_f(:,:) = rn_f ! here: f=0.0001 - pff_t(:,:) = rn_f - ! + pff_f(:,:) = rn_fplane ! here: f=0.0001 + pff_t(:,:) = rn_fplane ! END SUBROUTINE usr_def_hgr diff --git a/SEAMOUNT/MY_SRC/usrdef_istate.F90 b/SEAMOUNT/MY_SRC/usrdef_istate.F90 index 859d340..940eb76 100644 --- a/SEAMOUNT/MY_SRC/usrdef_istate.F90 +++ b/SEAMOUNT/MY_SRC/usrdef_istate.F90 @@ -19,7 +19,7 @@ MODULE usrdef_istate ! USE in_out_manager ! I/O manager USE lib_mpp ! MPP library - USE eosbn2, ONLY: rn_a0 + USE eosbn2, ONLY: rn_a0, rho0 USE usrdef_nam IMPLICIT NONE @@ -35,7 +35,30 @@ MODULE usrdef_istate !! $Id: usrdef_istate.F90 14053 2020-12-03 13:48:38Z techene $ !! Software governed by the CeCILL license (see ./LICENSE) !!---------------------------------------------------------------------- + + REAL(wp) :: T0, dtem, delta ! used to set the initial potential temperature profile + CONTAINS + + !!---------------------------------------------------------------------- + + REAL FUNCTION theta_initial( pdept ) + REAL(wp), INTENT(in) :: pdept + theta_initial = T0 + dtem*EXP( -pdept/delta ) + END FUNCTION theta_initial + + !!---------------------------------------------------------------------- + + REAL FUNCTION ocean_depth( p_lam, p_phi ) + REAL(wp), INTENT(in) :: p_lam ! "longitude": depends on ji + REAL(wp), INTENT(in) :: p_phi ! "latitude": depends on jj + + ocean_depth = rn_bathy - rn_seamountheight * EXP( & + & - ( (1000._wp*p_lam - rn_lam_mid)**2 + (1000._wp*p_phi - rn_phi_mid)**2 ) / rn_l**2 ) + + END FUNCTION ocean_depth + + !!---------------------------------------------------------------------- SUBROUTINE usr_def_istate( pdept, ptmask, pts, pu, pv ) !!---------------------------------------------------------------------- @@ -53,33 +76,59 @@ SUBROUTINE usr_def_istate( pdept, ptmask, pts, pu, pv ) REAL(wp), DIMENSION(jpi,jpj,jpk) , INTENT( out) :: pu ! i-component of the velocity [m/s] REAL(wp), DIMENSION(jpi,jpj,jpk) , INTENT( out) :: pv ! j-component of the velocity [m/s] ! - INTEGER :: ji, jj, jk ! dummy loop indices + INTEGER :: ji, jj, jk ! dummy loop indices + REAL(wp) :: T0 + REAL(wp) :: drho + REAL(wp), DIMENSION(jpi,jpj) :: rho !!---------------------------------------------------------------------- - IF(lwp) WRITE(numout,*) - IF(lwp) WRITE(numout,*) 'usr_def_istate : SEAMOUNT_TEST_CASE configuration, analytical definition of initial state' - IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~~~ Ocean at rest, with an initial density profile = rho_ref + rho_pert ' - IF(lwp) WRITE(numout,*) ' defined via temperature. Constant salinity (not used as rho=F(T) ' ! - IF(lwp) WRITE(numout,*) ' Surface-floor density delta for Burger number S = ', rn_s, ' is rho_delta = ', rn_drho + IF(lwp) WRITE(numout,*) + IF(lwp) WRITE(numout,*) 'usr_def_istate : SEAMOUNT_TEST_CASE configuration:' + IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~~~ Ocean at rest with analytical initial stratification' + IF(lwp) WRITE(numout,*) '' ! pu (:,:,:) = 0._wp ! ocean at rest pv (:,:,:) = 0._wp ! - ! ! T & S profiles - IF (ln_exp_init) THEN - IF (lwp) WRITE(numout,*) 'Setting exponential initial density perturbation' - DO jk = 1, jpk - pts(:,:,jk,jp_tem) = - ptmask(:,:,jk) * ( 28._wp - rn_drho * EXP( - pdept(:,:,jk) / 1000._wp ) - rn_initrho * EXP( - pdept(:,:,jk) / 1000._wp ) ) / rn_a0 - END DO - END IF - IF (ln_linear_init) THEN - IF (lwp) WRITE(numout,*) 'Setting linear initial density perturbation' - DO jk = 1, jpk - pts(:,:,jk,jp_tem) = - ptmask(:,:,jk) * ( 28._wp - rn_drho * EXP( - pdept(:,:,jk) / 1000._wp ) + rn_initrho * pdept(:,:,jk) / 4500._wp ) / rn_a0 - END DO - END IF + SELECT CASE (nn_ini_cond) + CASE (0) + IF(lwp) WRITE(numout,*) ' Shchepetkin & McWilliams (2003) initial density profile' + IF(lwp) WRITE(numout,*) ' and linear EOS only function of temperature.' + ! + drho = 3._wp + dtem = drho / rn_a0 + delta = 500._wp + T0 = 10._wp + CASE (1) + IF(lwp) WRITE(numout,*) ' Ezer, Arango and Shchepetkin (2002) initial temperature profile' + IF(lwp) WRITE(numout,*) ' and non-linear TEOS10.' + dtem = 15._wp + delta = 1000._wp + T0 = 5._wp + END SELECT ! + + IF (ln_init_pt_val) THEN + DO_3D (0, 0, 0, 0, 1, jpk-1 ) + pts(ji,jj,jk,jp_tem) = ptmask(ji,jj,jk) * theta_initial( pdept(ji,jj,jk) ) + END_3D + + ELSE ! grid point mean values + + CALL usr_def_ist_3d ( ptmask, pts (:,:,:, jp_tem) ) + + CALL lbc_lnk ( 'usr_def_istate', pts(:,:,:,jp_tem), 'T', 1._wp ) + + END IF + + + S0 = 35._wp pts(:,:,:,jp_sal) = 35._wp * ptmask(:,:,:) + + !IF(lwp) WRITE(numout,*) ' *) Estimated Burger number rn_Snum = ', rn_Snum + ! Estimating Burger Number for initial density profile: + ! S = (N * H) / (f * L) = SQRT(g * H * drho / rho_ref) / (f * L) + !rn_Snum = SQRT(grav * rn_bot_max * rn_drho / 1000._wp) / (rn_fplane * rn_smnt_L * 1000._wp) !!---------------------------------------------------------------------- ! END SUBROUTINE usr_def_istate @@ -106,5 +155,144 @@ SUBROUTINE usr_def_istate_ssh( ptmask, pssh ) ! END SUBROUTINE usr_def_istate_ssh + SUBROUTINE usr_def_ist_3d( ptmask, ptheta ) + !!---------------------------------------------------------------------- + !! *** ROUTINE usr_def_ist_3d *** + !! + !! ** Purpose : Initialization of the tracer field using grid cell mean values for the SEAMOUNT test case + !! + !! ** Method : - set grid cell means values of the (potential) temperature field + !! The bathymetry and the tracer profile are specifie in usr_def_ist_1d (called by usr_def_ist_2d) + !!---------------------------------------------------------------------- + REAL(wp), DIMENSION(jpi,jpj,jpk) , INTENT(in ) :: ptmask ! t-point ocean mask [m] + REAL(wp), DIMENSION(jpi,jpj,jpk) , INTENT( out) :: ptheta ! cell mean values of potential temperature + ! + + REAL(wp), DIMENSION(A2D(nn_hls)) :: zt_v_m, zt_v, zt_v_p ! vol integral of pt at levels jk-1/2, jk and jk+1/2 + REAL(wp), DIMENSION(A2D(nn_hls)) :: zvol_m, zvol, zvol_p ! vol integral at levels jk-1/2, jk and jk+1/2 + + INTEGER :: ji, jj, jk ! dummy loop indices + INTEGER :: jkk ! half level index + + jkk = 1 + CALL usr_def_ist_2d ( jkk, zvol_m, zt_v_m) + + DO jk = 1, jpk-1 + jkk = 2*jk + CALL usr_def_ist_2d ( jkk, zvol, zt_v) + jkk = jkk + 1 + CALL usr_def_ist_2d ( jkk, zvol_p, zt_v_p) + + DO_2D (0, 0, 0, 0) + ptheta(ji,jj,jk) = ptmask(ji,jj,jk) * ( zt_v_m(ji,jj) + 4.*zt_v(ji,jj) + zt_v_p(ji,jj) ) & + & / ( zvol_m(ji,jj) + 4.*zvol(ji,jj) + zvol_p(ji,jj) ) + END_2D + + DO_2D (0, 0, 0, 0) + zt_v_m(ji,jj) = zt_v_p(ji,jj) + zvol_m(ji,jj) = zvol_p(ji,jj) + END_2D + + END DO ! jk + + RETURN + + END SUBROUTINE usr_def_ist_3d + +!!---------------------------------------------------------------------------- + + SUBROUTINE usr_def_ist_2d( kkk, pvol, pt_v) + !!---------------------------------------------------------------------- + !! *** ROUTINE usr_def_ist_2d *** + !! + !! ** Purpose : Calculate grid cell volume integrals of potential temperature for the SEAMOUNT test case; + !! + !! ** Method : - Calculate integrals in the jj direction; call usr_def_ist_1d to calculate integrals in the ji direction + !!---------------------------------------------------------------------- + INTEGER , INTENT(in ) :: kkk ! vertical "half" index jkk = 2*jk or 2*jk+1 + REAL(wp), DIMENSION(A2D(nn_hls)) , INTENT( out) :: pvol ! volume integral of the (partial) grid cell + REAL(wp), DIMENSION(A2D(nn_hls)) , INTENT( out) :: pt_v ! volume integral of theta for the same partial grid cell + ! + + REAL(wp), DIMENSION(A2D(nn_hls)) :: z_dz_t, z_dz_u, z_dz_v, z_dz_f ! depth at the t, u, v and f points in the cell + REAL(wp), DIMENSION(A2D(nn_hls)) :: zt_t, zt_u, zt_v, zt_f ! depth times tracer value at the t, u, v and f points in the cell + + INTEGER :: ji, jj ! dummy loop indices + + REAL(wp) z_d_lam, z_d_phi ! half grid spacing in ji and jj directions + REAL(wp) zeta_kk ! sigma value at this jkk index level + REAL(wp) zpk ! real version of jpk + REAL(wp) z_lamt, z_phit ! "longitude" and latitude at tracer points + REAL(wp) z_lamu, z_phiv ! "longitude" and latitude at u and v points respectively + REAL(wp) z_lam_tpi, z_phi_tpj ! "longitude" at t(ji+1,jj) ; "latitude" at t(ji,jj+1) + REAL(wp) z_dep_t, z_dep_u, z_dep_v, z_dep_f ! depth at this sigma level at t, u, v and f points + REAL(wp) z_dep_upj ! depth at u(ji,jj+1) + + REAL(wp) z_dz_a, z_dz_b ! contribution to cell volume (depth) from cell "edge" and "corner" points + REAL(wp) zt_a, zt_b ! contribution to cell volume integrated potential temperature from corresponding points + + zpk = REAL(jpk, wp) + + z_d_lam = 0.5 * ( glamt(2,1) - glamt(1,1) ) ! grid spacing assumed uniform; glamt depends on ji + z_d_phi = 0.5 * ( gphit(1,2) - gphit(1,1) ) ! grid spacing assumed uniform; gphit depends on jj + +! calculate the sigma coordinate for this call ; this version assumes uniform spacing of sigma + zeta_kk = REAL( kkk - 1, wp ) / ( 2._wp * REAL(jpk) ) + + DO_2D (1, 0, 1, 0) ! need to calculate for lower halo pts + + z_lamt = glamt(ji,jj) + z_phit = gphit(ji,jj) + z_dep_t = zeta_kk * ocean_depth( z_lamt, z_phit ) + + IF ( ln_init_curved ) THEN ! calculate depths allowing curvature inside the cells + z_lamu = z_lamt + z_d_lam + z_phiv = z_phit + z_d_phi + z_dep_u = zeta_kk * ocean_depth( z_lamu, z_phit ) + z_dep_v = zeta_kk * ocean_depth( z_lamt, z_phiv ) + z_dep_f = zeta_kk * ocean_depth( z_lamu, z_phiv ) + + ELSE ! interpolate depths at T points to U, V and F points (following the model's calculations) + z_lam_tpi = z_lamt + 2._wp * z_d_lam ! next T point in ji + z_phi_tpj = z_phit + 2._wp * z_d_phi ! next T point in jj + z_dep_u = 0.5_wp * ( z_dep_t + zeta_kk * ocean_depth( z_lam_tpi, z_phit ) ) + z_dep_v = 0.5_wp * ( z_dep_t + zeta_kk * ocean_depth( z_lamt, z_phi_tpj ) ) + z_dep_upj = 0.5_wp * zeta_kk *( ocean_depth( z_lamt, z_phi_tpj ) + & + & ocean_depth( z_lam_tpi, z_phi_tpj ) ) + z_dep_f = 0.5_wp * ( z_dep_u + z_dep_upj ) + + END IF + +! again assumes uniform spacing of sigma + z_dz_t(ji,jj) = z_dep_t / zpk + z_dz_u(ji,jj) = z_dep_u / zpk + z_dz_v(ji,jj) = z_dep_v / zpk + z_dz_f(ji,jj) = z_dep_f / zpk + + zt_t(ji,jj) = z_dz_t(ji,jj) * theta_initial( z_dep_t ) + zt_u(ji,jj) = z_dz_u(ji,jj) * theta_initial( z_dep_u ) + zt_v(ji,jj) = z_dz_v(ji,jj) * theta_initial( z_dep_v ) + zt_f(ji,jj) = z_dz_f(ji,jj) * theta_initial( z_dep_f ) + + END_2D + + DO_2D (0, 0, 0, 0) ! + z_dz_a = 4._wp * ( z_dz_u(ji,jj) + z_dz_u(ji-1,jj) + z_dz_v(ji,jj) + z_dz_v(ji,jj-1) ) + zt_a = 4._wp * ( zt_u(ji,jj) + zt_u(ji-1,jj) + zt_v(ji,jj) + zt_v(ji,jj-1) ) + + z_dz_b = z_dz_f(ji,jj) + z_dz_f(ji-1,jj) + z_dz_f(ji,jj-1) + z_dz_f(ji-1,jj-1) + zt_b = zt_f(ji,jj) + zt_f(ji-1,jj) + zt_f(ji,jj-1) + zt_f(ji-1,jj-1) + + pvol(ji,jj) = 16._wp*z_dz_t(ji,jj) + z_dz_a + z_dz_b + pt_v(ji,jj) = 16._wp* zt_t(ji,jj) + zt_a + zt_b + + END_2D + + RETURN + + END SUBROUTINE usr_def_ist_2d + + !!====================================================================== + !!====================================================================== END MODULE usrdef_istate diff --git a/SEAMOUNT/MY_SRC/usrdef_nam.F90 b/SEAMOUNT/MY_SRC/usrdef_nam.F90 index 3dbaaa9..5b19c97 100644 --- a/SEAMOUNT/MY_SRC/usrdef_nam.F90 +++ b/SEAMOUNT/MY_SRC/usrdef_nam.F90 @@ -2,7 +2,7 @@ MODULE usrdef_nam !!====================================================================== !! *** MODULE usrdef_nam *** !! - !! === SEAMOUNT configuration === + !! === SEAMOUNT configuration === test !! !! User defined : set the domain characteristics of a user configuration !!====================================================================== @@ -27,19 +27,36 @@ MODULE usrdef_nam PUBLIC usr_def_nam ! called in nemogcm.F90 module ! !!* namusr_def namelist *!! - REAL(wp), PUBLIC :: rn_dx ! resolution in meters defining the horizontal domain size - REAL(wp), PUBLIC :: rn_dz ! resolution in meters defining the vertical domain size - REAL(wp), PUBLIC :: rn_length - REAL(wp), PUBLIC :: rn_width - REAL(wp), PUBLIC :: rn_drho ! resolution in meters defining the horizontal domain size - REAL(wp), PUBLIC :: rn_initrho - REAL(wp), PUBLIC :: rn_s - REAL(wp), PUBLIC :: rn_bathy - REAL(wp), PUBLIC :: rn_seamountheight - REAL(wp), PUBLIC :: rn_l - REAL(wp), PUBLIC :: rn_f - LOGICAL, PUBLIC :: ln_exp_init - LOGICAL, PUBLIC :: ln_linear_init + !! PHYSICAL DOMAIN + REAL(wp), PUBLIC :: rn_xdim ! x-dimension of the domain [km] + REAL(wp), PUBLIC :: rn_ydim ! y-dimension of the domain [km] + REAL(wp), PUBLIC :: rn_bot_max ! max ocean depth (>0) [m] + REAL(wp), PUBLIC :: rn_smnt_H ! seamount height (>0) [m] + REAL(wp), PUBLIC :: rn_smnt_L ! seamount width [km] + REAL(wp), PUBLIC :: rn_fplane ! Coriolis parameter for f-plane approximation + REAL(wp), PUBLIC :: rn_Snum ! Burger number of the initial stratification + !! NUMERICAL DISCRETIZATION + REAL(wp), PUBLIC :: rn_dx ! horizontal resolution [m] + REAL(wp), PUBLIC :: rn_dz ! vertical resolution far from the seamount + ! and assuming no stretching [m] + !! VERTICAL COORDINATE + ! Stretched s-levels (ln_sco = .true.) + LOGICAL, PUBLIC :: ln_s_sh94 ! TRUE: s-levels using Song & Haidvogel 1994 (SH94) + ! stretching function + ! FALSE: uniform sigma-levels + REAL(wp), PUBLIC :: rn_theta ! SH94 surface control parameter (0<=theta<=20) + REAL(wp), PUBLIC :: rn_bb ! SH94 bottom control parameter (0<=bb<=1) + REAL(wp), PUBLIC :: rn_hc ! SH94 critical depth for transition to + ! stretched coordinates [m] + ! Paramaters for vqs-coordinate (ln_sco = .true.) + LOGICAL, PUBLIC :: ln_vqs ! activating vanishing quasi-sigma levels (TRUE) + REAL(wp), PUBLIC :: rn_rmax ! maximum cut-off slope parameter value allowed + ! if using vqs-levels (0= pdept(ji,jj,jk) ) pk_bot(ji,jj) = MAX( 2, jk ) + END DO + END DO + END DO + ENDIF + + ! Compute vertical scale factors for all grids DO jk = 1, jpk DO jj = 1, jpjm1 DO ji = 1, jpim1 pe3u (ji,jj,jk) = 0.5_wp * ( pe3t (ji,jj,jk) + pe3t (ji+1,jj, jk) ) - pe3v (ji,jj,jk) = 0.5_wp * ( pe3w (ji,jj,jk) + pe3t (ji,jj+1, jk) ) - pe3uw(ji,jj,jk) = 0.5_wp * ( pe3w (ji,jj,jk) + pe3t (ji+1,jj, jk) ) - pe3vw(ji,jj,jk) = 0.5_wp * ( pe3w (ji,jj,jk) + pe3t (ji,jj+1, jk) ) + pe3v (ji,jj,jk) = 0.5_wp * ( pe3t (ji,jj,jk) + pe3t (ji,jj+1, jk) ) + pe3uw(ji,jj,jk) = 0.5_wp * ( pe3w (ji,jj,jk) + pe3w (ji+1,jj, jk) ) + pe3vw(ji,jj,jk) = 0.5_wp * ( pe3w (ji,jj,jk) + pe3w (ji,jj+1, jk) ) pe3f (ji,jj,jk) = 0.25 * ( pe3t (ji,jj,jk) + pe3t (ji+1,jj, jk) & & + pe3t (ji,jj+1,jk) + pe3t (ji+1,jj+1,jk) ) END DO @@ -438,7 +462,156 @@ SUBROUTINE zgr_sco( pht, & ! in : reference bathymetry ! END SUBROUTINE zgr_sco - + SUBROUTINE s_vqs( pht, zenv ) + !!------------------------------------------------------------------------ + !! *** ROUTINE s_vqs *** + !! + !! ** Purpose : compute the envelope bathymetry that will be used to + !! to define vanishing quasi-sigma (VQS) levels + !! + !! ** Method : Direct iterative method of Martinho and Batteen (2006). + !! The algorithm ensures that + !! + !! H_ij - H_n + !! ---------- < rmax + !! H_ij + H_n + !! + !! where H_ij is the depth at point (i,j) and H_n is the + !! neighbouring depth in the east, west, south or north + !! direction. + !! + !! Reference: Martinho & Batteen, Oce. Mod. 13(2):166-175, 2006. + !!------------------------------------------------------------------------ + REAL(wp), DIMENSION(:,:) , INTENT(in ) :: pht ! 2D bathymetry [m] + REAL(wp), DIMENSION(:,:) , INTENT( out) :: zenv ! 2D envelope [m] + ! + INTEGER :: ji,jj,jk,jl + INTEGER :: iip1, ijp1 + REAL(wp) :: zrmax, zrfact + REAL(wp), DIMENSION(jpi, jpj) :: ztmpi1, ztmpi2 + REAL(wp), DIMENSION(jpi, jpj) :: ztmpj1, ztmpj2 + REAL(wp), DIMENSION(jpi, jpj) :: zri, zrj + !!---------------------------------------------------------------------- + ! + zenv(:,:) = pht(:,:) + + jl = 0 + zrmax = 1._wp + ! + ! set scaling factor used in reducing vertical gradients + zrfact = ( 1._wp - rn_rmax ) / ( 1._wp + rn_rmax ) + ! + ! initialise temporary evelope depth arrays + ztmpi1(:,:) = zenv(:,:) + ztmpi2(:,:) = zenv(:,:) + ztmpj1(:,:) = zenv(:,:) + ztmpj2(:,:) = zenv(:,:) + ! + ! initialise temporary r-value arrays + zri(:,:) = 1._wp + zrj(:,:) = 1._wp + ! + DO WHILE( jl <= 10000 .AND. ( zrmax - rn_rmax ) > 1.e-8_wp ) ! Iterative loop ! + ! ! + ! ================ + ! ! + jl = jl + 1 + zrmax = 0._wp + ! we set zrmax from previous r-values (zri and zrj) first + ! if set after current r-value calculation (as previously) + ! we could exit DO WHILE prematurely before checking r-value + ! of current zenv + DO jj = 1, jpj + DO ji = 1, jpi + zrmax = MAX( zrmax, ABS(zri(ji,jj)), ABS(zrj(ji,jj)) ) + END DO + END DO + zri(:,:) = 0._wp + zrj(:,:) = 0._wp + DO jj = 1, jpj + DO ji = 1, jpi + iip1 = MIN( ji+1, jpi ) ! force zri = 0 on last line (ji=ncli+1 to jpi) + ijp1 = MIN( jj+1, jpj ) ! force zrj = 0 on last raw (jj=nclj+1 to jpj) + IF( (zenv(ji,jj) > 0._wp) .AND. (zenv(iip1,jj) > 0._wp)) THEN + zri(ji,jj) = ( zenv(iip1,jj ) - zenv(ji,jj) ) / & + & ( zenv(iip1,jj ) + zenv(ji,jj) ) + END IF + IF( (zenv(ji,jj) > 0._wp) .AND. (zenv(ji,ijp1) > 0._wp)) THEN + zrj(ji,jj) = ( zenv(ji,ijp1) - zenv(ji,jj) ) / & + & ( zenv(ji,ijp1) + zenv(ji,jj) ) + END IF + IF( zri(ji,jj) > rn_rmax ) ztmpi1(ji ,jj ) = zenv(iip1,jj ) * zrfact + IF( zri(ji,jj) < -rn_rmax ) ztmpi2(iip1,jj ) = zenv(ji ,jj ) * zrfact + IF( zrj(ji,jj) > rn_rmax ) ztmpj1(ji ,jj ) = zenv(ji ,ijp1) * zrfact + IF( zrj(ji,jj) < -rn_rmax ) ztmpj2(ji ,ijp1) = zenv(ji ,jj ) * zrfact + END DO + END DO + IF(lwp)WRITE(numout,*) 's_vqs : iter= ',jl, ' rmax= ', zrmax + ! + DO jj = 1, jpj + DO ji = 1, jpi + zenv(ji,jj) = MAX(zenv(ji,jj), ztmpi1(ji,jj), ztmpi2(ji,jj), ztmpj1(ji,jj), ztmpj2(ji,jj) ) + END DO + END DO + ! Apply lateral boundary condition + CALL lbc_lnk( 'usrdef_zgr', zenv, 'T', 1. ) + ! CAUTION: keep the value when the lbc field is zero + !CALL lbc_lnk( zenv, 'T', 1._wp, 'no0' ) + ! ! ================ ! + END DO ! End loop ! + ! + END SUBROUTINE s_vqs + + SUBROUTINE sigma_coord( sigT, sigW ) + !!---------------------------------------------------------------------- + !! *** SUBROUTINE sigma *** + !! + !! ** Purpose : provide the analytical function for sigma-coordinate + !! (not stretched s-coordinate). + !! + !! ** Method : the function provide the non-dimensional position of + !! T and W points (i.e. between 0 and 1). + !! + !!---------------------------------------------------------------------- + REAL, DIMENSION(:), INTENT ( out) :: sigT, sigW ! sigma coordinate + ! at T and W points + ! + INTEGER :: jk + !!---------------------------------------------------------------------- + + DO jk = 1, jpk + sigT(jk) = ( REAL (jk-1, wp) + 0.5_wp ) / REAL ( jpkm1 ) + sigW(jk) = REAL (jk-1, wp) / REAL ( jpkm1 ) + IF( lwp ) WRITE(numout, *) 'sigt_1d(jk), sigw_1d(jk)', jk, sigT(jk), sigW(jk) + END DO + + END SUBROUTINE sigma_coord + + SUBROUTINE sh94_coord( sigT, sigW ) + !!---------------------------------------------------------------------- + !! *** SUBROUTINE sh94_coord *** + !! + !! ** Purpose : provide the Song and Haidvogel 1994 analytical + !! stretching function for s-coordinate. + !! + !!---------------------------------------------------------------------- + REAL, DIMENSION(:), INTENT (inout) :: sigT, sigW ! uniform sigma-coord + INTEGER :: jk + REAL :: sT, sW ! work variables + !!---------------------------------------------------------------------- + IF ( rn_theta > 0 ) THEN + DO jk = 1, jpk + sT = sigT(jk) + sW = sigW(jk) + sigT(jk) = (1._wp - rn_bb) * SINH(rn_theta * sT) / SINH(rn_theta) + rn_bb * & + & ( ( TANH(rn_theta * (sT + 0.5_wp)) - TANH(0.5_wp * rn_theta) ) / & + & (2._wp * TANH(0.5_wp * rn_theta) ) ) + sigW(jk) = (1._wp - rn_bb) * SINH(rn_theta * sW) / SINH(rn_theta) + rn_bb * & + & ( ( TANH(rn_theta * (sW + 0.5_wp)) - TANH(0.5_wp * rn_theta) ) / & + & (2._wp * TANH(0.5_wp * rn_theta) ) ) + END DO + END IF + END SUBROUTINE sh94_coord !!====================================================================== END MODULE usrdef_zgr