Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
704 changes: 704 additions & 0 deletions configs/components/fesom/fesom-2.7.yaml

Large diffs are not rendered by default.

133 changes: 133 additions & 0 deletions namelists/fesom2/2.7.0/namelist.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
! ============================================================================
! ============ Namelist file for FESOM2 general configuration ================
! ============================================================================
! This file contains the main configuration parameters for FESOM2, including:
! - Model identification and run settings
! - Time stepping and simulation duration
! - Initial time/date settings
! - File paths for mesh, forcing, and output
! - Restart and logging configuration
! - Vertical coordinate system (ALE)
! - Grid geometry and rotation
! - Calendar settings
! - Model components (ice, cavities, etc.)
! - Parallel decomposition
! - Iceberg settings
! ============================================================================

! ============================================================================
! RUN IDENTIFICATION
! ============================================================================
&modelname
runid = 'fesom' ! run identifier (used in output filenames)
/

! ============================================================================
! TIME STEPPING AND RUN LENGTH
! ============================================================================
&timestep
step_per_day = 36 ! number of time steps per day (determines dt = 86400/step_per_day seconds)
! common values: 32 (45min), 48 (30min), 72 (20min), 96 (15min), 192 (7min 30sec),
! 216 (6min 40sec), 240 (6min), 288 (5min), 360 (4min), 720 (2min), 1440 (1min), 2880 (30sec)
run_length = 1 ! total length of simulation run
run_length_unit = 'y' ! unit for run_length: 'y' (years), 'm' (months), 'd' (days), 's' (steps)
/

! ============================================================================
! INITIAL TIME/DATE SETTINGS
! ============================================================================
&clockinit
timenew = 0.0 ! initial time within the day [seconds] (0.0 = midnight)
daynew = 1 ! initial day of the month (1-31)
yearnew = 1958 ! initial year
/

! ============================================================================
! MESH, INITIALIZATION & OUTPUT PATHS
! ============================================================================
&paths
MeshPath = '/pool/data/AWICM/FESOM2/MESHES_FESOM2.1/core2/' ! path to mesh files (nod2d.out, elem2d.out, etc.)
ClimateDataPath = '/pool/data/AWICM/FESOM2/INITIAL/phc3.0/' ! path to initial conditions (temperature, salinity)
ResultPath = '/work/ab0246/$USER/runtime/fesom2/' ! path for output files and fesom.clock file
/

! ============================================================================
! RESTART AND LOGGING CONFIGURATION
! ============================================================================
&restart_log
restart_length = 1 ! frequency for netCDF restart files (required for d,h,s; y,m use 1)
restart_length_unit = 'y' ! unit: 'y' (years), 'm' (months), 'd' (days), 'h' (hours), 's' (steps), 'off' (disabled)
raw_restart_length = 1 ! frequency for raw core dump restart files
raw_restart_length_unit = 'y' ! unit: 'y', 'm', 'd', 'h', 's', 'off'
bin_restart_length = 1 ! frequency for binary derived type restart files
bin_restart_length_unit = 'y' ! unit: 'y', 'm', 'd', 'h', 's', 'off'
logfile_outfreq = 960 ! log file output frequency [number of time steps]
/

! ============================================================================
! VERTICAL COORDINATE SYSTEM (ALE - Arbitrary Lagrangian-Eulerian)
! ============================================================================
&ale_def
which_ALE = 'zstar' ! vertical coordinate type:
! 'linfs' = linear free surface
! 'zlevel' = z-level (fixed depth levels)
! 'zstar' = z-star (terrain-following with SSH scaling)
use_partial_cell = .false. ! use partial bottom cells for better topography representation (not recommended)
/

! ============================================================================
! GRID GEOMETRY AND ROTATION
! ============================================================================
&geometry
cartesian = .false. ! use Cartesian coordinates (false = spherical Earth)
fplane = .false. ! use f-plane approximation (constant Coriolis parameter)
cyclic_length = 360 ! length of cyclic domain [degrees] (360 = global)
rotated_grid = .true. ! use rotated grid (typically for coupled models to avoid pole singularity)
force_rotation = .true. ! force grid rotation even if not coupled
alphaEuler = 50. ! first Euler angle (rotation around z-axis) [degrees]
betaEuler = 15. ! second Euler angle (rotation around new x-axis) [degrees]
gammaEuler = -90. ! third Euler angle (rotation around new z-axis) [degrees]
! Euler angle convention: rotate first around z, then around new x, then around new z
/

! ============================================================================
! CALENDAR SETTINGS
! ============================================================================
&calendar
include_fleapyear = .true. ! include leap years in calendar (false = 365-day year, true = 365/366-day year)
/

! ============================================================================
! MODEL COMPONENTS AND FEATURES
! ============================================================================
&run_config
use_ice = .true. ! enable sea ice model
use_cavity = .false. ! enable ice shelf cavities
use_cavity_partial_cell = .false. ! use partial cells in ice shelf cavities (not recommended)
use_floatice = .false. ! enable floating ice (icebergs)
use_sw_pene = .true. ! enable shortwave radiation penetration into ocean
flag_debug = .false. ! enable debug output (verbose logging)
use_transit = .false. ! enable transient tracer module (CFCs, SF6, etc.)
/

! ============================================================================
! PARALLEL DECOMPOSITION (DOMAIN PARTITIONING)
! ============================================================================
&machine
n_levels = 2 ! number of hierarchy levels for domain decomposition
n_part = 2, 128 ! number of partitions at each level (total CPUs = product of n_part)
! example: 2 x 128 = 256 MPI tasks
! adjust based on mesh size and available compute resources
! maximum scaling reached at ~300 FESOM2 2D nodes per CPU (see first line in nod2d.out for number of 2D nodes)
/

! ============================================================================
! ICEBERG SETTINGS
! ============================================================================
&icebergs
use_icesheet_coupling = .false. ! enable ice sheet model
ib_num = 1 ! number of iceberg classes
use_icebergs = .false. ! enable iceberg module
steps_per_ib_step = 8 ! ocean time steps per iceberg time step (iceberg subcycling)
ib_async_mode = 0 ! iceberg asynchronous mode (0=synchronous, 1=asynchronous)
/
211 changes: 211 additions & 0 deletions namelists/fesom2/2.7.0/namelist.cvmix
Original file line number Diff line number Diff line change
@@ -0,0 +1,211 @@
! ============================================================================
! ========== Namelist file for FESOM2 CVMix parameterizations ===============
! ============================================================================
! This file contains configuration for CVMix (Community Vertical Mixing)
! parameterizations:
! - TKE (Turbulent Kinetic Energy) scheme
! - IDEMIX (Internal Wave Dissipation, Energy, and Mixing)
! - PP (Pacanowski-Philander) scheme
! - KPP (K-Profile Parameterization)
! - TIDAL mixing parameterization
!
! Select the active scheme in namelist.oce (mix_scheme parameter)
! ============================================================================

! ============================================================================
! TKE (TURBULENT KINETIC ENERGY) SCHEME
! ============================================================================
&param_tke
! --- TKE Model Parameters ---
tke_c_k = 0.1 ! TKE parameter c_k [dimensionless]
tke_c_eps = 0.7 ! TKE dissipation parameter c_eps [dimensionless]
tke_alpha = 30.0 ! TKE stability function parameter [dimensionless]

! --- Mixing Length ---
tke_mxl_min = 1.0e-8 ! minimum mixing length [m]
tke_mxl_choice = 2 ! mixing length calculation method:
! 1 = not implemented
! 2 = Blanke & Delecluse option (currently only option)

! --- Viscosity/Diffusivity Limits ---
tke_kappaM_min = 0.0 ! minimum momentum diffusivity [m²/s]
tke_kappaM_max = 100.0 ! maximum momentum diffusivity [m²/s]

! --- Boundary Conditions ---
tke_cd = 3.75 ! surface boundary condition parameter
! 3.75 for Dirichlet BC, 1.0 for Neumann BC

! --- TKE Minimum Values ---
tke_surf_min = 1.0e-4 ! minimum surface TKE [m²/s²]
tke_min = 1.0e-6 ! minimum interior TKE [m²/s²]

! --- Langmuir Turbulence ---
tke_dolangmuir = .false. ! include Langmuir turbulence parameterization
/

! ============================================================================
! IDEMIX (INTERNAL WAVE ENERGY PARAMETERIZATION)
! ============================================================================
! Based on Olbers & Eden (2013) and von Pollmann et al. (2017)
! ============================================================================
&param_idemix
! --- Time Scales ---
idemix_tau_v = 172800.0 ! vertical symmetrization time scale [s] (2 days)
idemix_tau_h = 1296000.0 ! horizontal symmetrization time scale [s] (15 days)

! --- Spectral Parameters ---
idemix_gamma = 1.570 ! spectral shape constant [dimensionless] (order 1)
idemix_jstar = 5.0 ! spectral bandwidth in vertical modes [dimensionless]
idemix_mu0 = 0.33333333 ! dissipation parameter [dimensionless]

! --- Energy Forcing ---
idemix_sforcusage = 0.2 ! fraction of surface forcing used [dimensionless]
idemix_n_hor_iwe_prop_iter = 5 ! iterations for horizontal wave propagation

! --- Surface Forcing (Wind-Generated Internal Waves) ---
idemix_surforc_file = '/pool/data/AWICM/FESOM2/FORCING/IDEMIX/fourier_smooth_2005_cfsr_inert_rgrid.nc' ! path to surface forcing file
idemix_surforc_vname = 'var706' ! variable name in surface forcing file

! --- Bottom Forcing (Tidal Internal Waves) ---
!idemix_botforc_file = '/albedo/pool/FESOM/fesom2.0/forcing/idemix/forcing_idemix_final_bin/FIN_tidal_energy_gx1v6_20090205_CESMJayne_remapnn_0.40deg.nc' ! path to bottom forcing !file
!idemix_botforc_vname = 'wave_dissipation' ! variable name in bottom forcing file
idemix_botforc_file = '/albedo/pool/FESOM/fesom2.0/forcing/idemix/forcing_idemix_final_bin/FIN_STORMTIDE2_M2_plus_NYCANDER_CnoM2_bin_0.40deg.nc' ! path to bottom forcing file,
idemix_botforc_vname = 'stormt_M2_plus_nycand_CnoM2' ! variable name in bottom forcing file

/

! ============================================================================
! PP (PACANOWSKI-PHILANDER) SCHEME
! ============================================================================
! Based on Pacanowski & Philander (1981)
! ============================================================================
&param_pp
! --- PP Variant ---
pp_use_fesompp = .true. ! use FESOM flavor of PP (true) or original PP (false)

! --- Mixing Coefficients ---
pp_Av0 = 0.01 ! reference mixing coefficient [m²/s]
pp_alpha = 5.0 ! Richardson number dependency parameter [dimensionless]
! (alpha in eq. 1 of Pacanowski & Philander 1981)
pp_exp = 2.0 ! Richardson number exponent [dimensionless]
! (n in eq. 1 of Pacanowski & Philander 1981)

! --- Background Mixing ---
pp_Avbckg = 1.0e-4 ! constant background viscosity [m²/s]
pp_Kvbckg = 1.0e-5 ! constant background diffusivity [m²/s]
pp_use_nonconstKvb = .true. ! use latitude and depth dependent background diffusivity
/

! ============================================================================
! KPP (K-PROFILE PARAMETERIZATION)
! ============================================================================
! Based on Large et al. (1994) with CVMix implementation options
! ============================================================================
&param_kpp
! --- KPP Implementation ---
kpp_use_fesomkpp = .false. ! use CVMix MOM5-like KPP (true) or MOM6-like KPP (false)

! --- Ocean Boundary Layer (OBL) Depth Calculation ---
kpp_use_enhanceKv = .true. ! add enhanced diffusivity at base of boundary layer
kpp_use_compEkman = .true. ! compute Ekman depth limit for OBL depth
kpp_use_monob = .true. ! compute Monin-Obukhov limit for OBL depth

! --- Interpolation Methods ---
kpp_interptype_ri = "linear" ! interpolation type for OBL depth determination:
! 'linear', 'quadratic', 'cubic'
kpp_interptype_atobl = "LMD94" ! interpolation of viscosity/diffusivity at OBL depth:
! 'linear', 'quadratic', 'cubic', 'LMD94'
kpp_matchtechc = "ParabolicNonLocal" ! diffusivity and non-local transport profile:
! 'SimpleShapes', 'MatchGradient', 'MatchBoth', 'ParabolicNonLocal'

! --- Mixing Below OBL ---
kpp_internalmix = "KPP" ! Richardson number dependent mixing below OBL:
! 'KPP' or 'PP'
kpp_pp_Av0 = 0.01 ! mixing coefficient for PP scheme below OBL [m²/s]

! --- Shear Mixing Parameters ---
kpp_Av0 = 5.0e-3 ! leading coefficient of shear mixing [m²/s] (default: 5e-3)
kpp_Kv0 = 5.0e-3 ! leading coefficient of shear diffusion [m²/s]
kpp_Ri0 = 0.7 ! critical Richardson number [dimensionless] (0.7 in LMD94)

! --- Background Mixing ---
kpp_use_nonconstKvb = .true. ! use non-constant background diffusivity (FESOM1.4 formulation)
kpp_Avbckg = 1.0e-4 ! constant background viscosity [m²/s]
kpp_Kvbckg = 1.0e-5 ! constant background diffusivity [m²/s]

! --- Sea Ice Effects ---
kpp_reduce_tauuice = .false. ! reduce wind stress (u*) under sea ice

! --- Langmuir Options in cvmix KPP ---

! Stokes Similarty package
! If true, use Stokes Similarty package (i.e. include wave‐related / Stokes drift
! effects in the surface layer). Triggers usage of additional routines
! that alter the shape functions, or mixing formulations, incorporating wave /
! Stokes drift effects consistent with Monin–Obukhov similarity theory
! (MOST). The code logic probably augments or replaces parts of the standard boundary
! (layer similarity (or nonlocal mixing) using a Stokes‐drift‐aware correction.
kpp_use_StokesMOST= .false. !.true.

! approximate proportionality between surface wind velocity and stokes velocity
! U_stokes ~ kpp_A_stokes * U_wind
kpp_A_stokes = 0.005 ! a

! Langmuir option
! Option of Langmuir enhanced mixing apply an enhancement factor to the
! turbulent velocity scale
! LWF16 - MixingCoefEnhancement = Langmuir_EFactor
! RWHGK16 - MixingCoefEnhancement = cvmix_one + ShapeNoMatchAtS/NMshapeMax * &
! (Langmuir_EFactor - cvmix_one)
! NONE - Langmuir switched off, MixingCoefEnhancement=1
kpp_langmuir_mixing= "NONE" !"LWF16"

! Option of Langmuir turbulence enhanced entrainment - modify the unresolved shear
! LWF16 - Li Q., Webb A., Fox-Kemper B., Craig A., Danabasoglu G.,
! Large W., Vertenstein M., 2016, Langmuir mixing effects on
! global climate: WAVEWATCH III in CESM, Ocean Modelling 103 (2016) 145–160
!
! LF17 - Li Q., Fox-Kemper B., Breivik O., Webb A., 2017, Statistical
! models of global Langmuir mixing, Ocean Modelling 113 (2017) 95–114
!
! RWHGK16 - Reichl B., Wang D., Hara T., Ginis I. and Kukulka T, 2016, Impact
! of Sea-State-Dependent Langmuir Turbulence on the Ocean
! Response to a Tropical Cyclone, Mon. Wea. Rev., 144
!
! NONE -
kpp_langmuir_entrainment= "NONE" !"LF17"
/


! ============================================================================
! TIDAL MIXING PARAMETERIZATION
! ============================================================================
! Based on Simmons et al. (2004)
! ============================================================================
&param_tidal
! --- Tidal Mixing Scheme ---
tidal_mixscheme = "Simmons" ! tidal mixing scheme (currently only 'Simmons' implemented)

! --- Energy Dissipation Parameters ---
tidal_efficiency = 0.2 ! mixing efficiency [dimensionless, 0-1]
! (Gamma in Simmons et al. 2004)
tidal_lcl_mixfrac = 0.33 ! local dissipation fraction [dimensionless]
! (q in Simmons et al. 2004)
! fraction of tidal energy dissipated locally vs radiated away

! --- Vertical Structure ---
tidal_vert_decayscale = 500.0 ! vertical decay scale [m]
! (zeta in Simmons et al. 2004)
! controls vertical distribution of tidal mixing

! --- Diffusivity Limits ---
tidal_max_coeff = 50e-4 ! maximum tidal diffusivity [m²/s]

! --- Spatial Limits ---
tidal_depth_cutoff = 0.0 ! minimum depth for tidal mixing [m, positive downward]
! (0.0 = compute everywhere)

! --- Bottom Forcing (Tidal Energy Input) ---
tidal_botforc_file = '/pool/data/AWICM/FESOM2/FORCING/IDEMIX/tidal_energy_gx1v6_20090205_rgrid.nc'
/

Loading
Loading