Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
0ff8f60
Merge branch 'main' into fesom2.6_recom_awiesm3_co2_coupling
JanStreffing Jul 21, 2025
0a7b6cd
save wip towards co2 coupling with openifs48r1
JanStreffing Jul 21, 2025
b2f3de1
minor fixes to co2 coupling
JanStreffing Jul 22, 2025
5e8a525
maybe the right fields now?
JanStreffing Jul 22, 2025
ed7431d
higher precision conversion
JanStreffing Jul 22, 2025
89bb9b2
fix git merge mistake
JanStreffing Jul 23, 2025
d06a657
get recom to compile on gnu by removing unused and unallocated vars
JanStreffing Jul 23, 2025
663a67c
default recom namelists for AWI-ESM3
JanStreffing Jul 23, 2025
2372cc6
switch to sea ice masked co2 flux
JanStreffing Jul 23, 2025
398831e
add xco2 from oifs
Jul 23, 2025
e885e92
corrected if atmbox case
Jul 23, 2025
038e781
change dim of wf to match number of tracers depending on recom setting
JanStreffing Aug 6, 2025
b5c6725
add xco2atm output option
JanStreffing Aug 6, 2025
6e19194
multiply xco2 by 1e6 to go from mole fraction to ppm
JanStreffing Aug 6, 2025
20e79e7
co2 correct flux unit conversion
JanStreffing Aug 6, 2025
e5a31f7
Merge branch 'activate_debug_flags_with_cmake_build_type' into fesom2…
JanStreffing Sep 2, 2025
f8224a8
merge main into branch
JanStreffing Sep 2, 2025
6edd41d
Merge branch 'fix_netcdf_f77_interface' into fesom2.6_recom_awiesm3_c…
JanStreffing Sep 2, 2025
9bd1858
Merge branch 'main' into fesom2.6_recom_awiesm3_co2_coupling
JanStreffing Nov 12, 2025
2fb0cb5
saving wip, recomp + cavity runs, judiths suggestions not included yet
JanStreffing Nov 18, 2025
3f09f4c
Merge branch 'main' into fesom2.6_recom_awiesm3_co2_coupling
JanStreffing Dec 3, 2025
9ce223c
Merge remote-tracking branch 'origin/bugfix/annual-restart-elapsed-ye…
JanStreffing Jan 21, 2026
5a29140
Merge remote-tracking branch 'remotes/origin/main' into fesom2.6_reco…
Apr 14, 2026
1368007
Merge remote-tracking branch 'remotes/origin/main' into fesom2.6_reco…
Apr 17, 2026
98df3f9
Merge remote-tracking branch 'remotes/origin/main' into fesom2.6_reco…
Apr 21, 2026
b557ca8
mask netcdf output by wet-cell topography instead of value==0
JanStreffing Jun 3, 2026
e740ce1
Merge remote-tracking branch 'remotes/origin/fix_output_fillvalue_lan…
Jun 16, 2026
121d825
Merge remote-tracking branch 'origin/main' into fesom2.6_recom_awiesm…
Jun 23, 2026
959a176
update using recom subrepo
Jun 23, 2026
7bbb455
io_meandata: route REcoM/BGC fields through XIOS + fix otracers labels
JanStreffing Jun 29, 2026
20d3b21
corrected xco2atm output; recom subrepo co2 branch
Jul 15, 2026
f5317de
Merge remote-tracking branch 'origin/main' into fesom2.6_recom_awiesm…
JanStreffing Jul 15, 2026
6b3424f
Merge remote-tracking branch 'refs/remotes/origin/fesom2.6_recom_awie…
Jul 15, 2026
b6d958f
Fix missing #endif in io_meandata compute_means MULTIO blocks
JanStreffing Jul 15, 2026
df0fc2c
Remove stale bin_2p3z2d *_old namelist files
JanStreffing Jul 15, 2026
fe02a88
cpl(__oifs): coupled-slab ice surface temperature + sea-ice-thickness…
JanStreffing Jul 23, 2026
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
145 changes: 101 additions & 44 deletions config/bin_2p3z2d/namelist.config
Original file line number Diff line number Diff line change
@@ -1,76 +1,133 @@
! This is the namelist file for model general configuration
! ============================================================================
! ============ 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'
runid = 'fesom' ! run identifier (used in output filenames)
/

! ============================================================================
! TIME STEPPING AND RUN LENGTH
! ============================================================================
&timestep
step_per_day=32 !96 !96 !72 !72 !45 !72 !96
run_length= 1 !62 !62 !62 !28
run_length_unit='y' ! y, m, d, s
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)
/

&clockinit ! the model starts at
timenew=0.0
daynew=1
yearnew=1958
! ============================================================================
! 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='/albedo/work/projects/p_recompdaf/frbunsen/FESOM2/meshes/core2/'
ClimateDataPath='/albedo/work/projects/MarESys/ogurses/input/corrected_input/'
ResultPath='/albedo/work/user/...'
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 ! --> do netcdf restart ( only required for d,h,s cases, y, m take 1)
restart_length_unit='y' !output period: y, d, h, s, off
raw_restart_length=1 ! --> do core dump restart
raw_restart_length_unit='off' ! e.g. y, d, h, s, off
bin_restart_length=1 ! --> do derived type binary restart
bin_restart_length_unit='off' ! e.g. y, d, h, s, off
logfile_outfreq=960 !in logfile info. output frequency, # steps
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' ! 'linfs','zlevel', 'zstar'
use_partial_cell=.true.
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.
fplane=.false.
cyclic_length=360 ![degree]
rotated_grid=.true. !option only valid for coupled model case now
force_rotation=.true.
alphaEuler=50. ![degree] Euler angles, convention:
betaEuler=15. ![degree] first around z, then around new x,
gammaEuler=-90. ![degree] then around new z.
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=.false.
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. ! ocean+ice
use_cavity=.false. !
use_cavity_partial_cell=.false.
use_floatice = .false.
use_sw_pene=.true.
flag_debug=.false.
use_transit=.false.
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
n_part= 12, 36 ! 432 number of partitions on each hierarchy level
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.
ib_num=1
use_icebergs=.false.
steps_per_ib_step=8
ib_async_mode=0
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)
/
91 changes: 73 additions & 18 deletions config/bin_2p3z2d/namelist.dyn
Original file line number Diff line number Diff line change
@@ -1,24 +1,79 @@
! ============================================================================
! ========== Namelist file for FESOM2 momentum dynamics ======================
! ============================================================================
! This file contains configuration for momentum equations and dynamics:
! - Horizontal viscosity schemes and parameters
! - Momentum advection options
! - Free-slip vs no-slip boundary conditions
! - Vertical velocity splitting
! - Split-explicit barotropic subcycling
! - Energy diagnostics
! ============================================================================

! ============================================================================
! HORIZONTAL VISCOSITY
! ============================================================================
&dynamics_visc
visc_gamma0 = 0.003 ! [m/s], backgroung viscosity= gamma0*len, it should be as small a s possible (keep it < 0.01 m/s).
visc_gamma1 = 0.1 ! [nodim], for computation of the flow aware viscosity
visc_gamma2 = 0.285 ! [s/m], is only used in easy backscatter option
visc_easybsreturn= 1.5

opt_visc = 5
! 5=Kinematic (easy) Backscatter
! 6=Biharmonic flow aware (viscosity depends on velocity Laplacian)
! 7=Biharmonic flow aware (viscosity depends on velocity differences)
! 8=Dynamic Backscatter

use_ivertvisc= .true.
! --- Biharmonic Viscosity Coefficients ---
visc_gamma0 = 0.003 ! background viscosity coefficient [m/s]
! viscosity = gamma0 × element_length
! keep < 0.01 m/s for numerical stability
visc_gamma1 = 0.1 ! flow-aware viscosity coefficient [dimensionless]
visc_gamma2 = 0.285 ! additional viscosity coefficient [s/m]
! only used for easy backscatter (opt_visc=5) and dynamic backscatter (opt_visc=8)
visc_easybsreturn = 1.5 ! energy return parameter for easy backscatter [dimensionless]

! --- Harmonic (Laplacian) Viscosity Coefficients (for opt_visc=7) ---
! When both are 0, opt_visc=7 is pure biharmonic viscosity.
! When > 0, harmonic viscosity is added to biharmonic (combined mode).
visc_gamma0_h = 0.0 ! < 0.003 background harmonic viscosity coefficient [m/s]
visc_gamma1_h = 0.0 ! < 0.05 flow-aware harmonic viscosity coefficient [dimensionless]

! --- Viscosity Scheme Selection ---
opt_visc = 5 ! horizontal viscosity scheme:
! 5 = Kinematic (easy) Backscatter
! 6 = Biharmonic flow-aware (depends on velocity Laplacian)
! 7 = Biharmonic flow-aware (depends on velocity differences)
! + optional Laplacian when visc_gamma0_h or visc_gamma1_h > 0
! 8 = Dynamic Backscatter
check_opt_visc = .true. ! check if opt_visc=5 is valid based on resolution/Rossby radius ratio

! --- Vertical Viscosity ---
use_ivertvisc = .true. ! use implicit vertical viscosity (recommended for stability)
/

! ============================================================================
! GENERAL DYNAMICS SETTINGS
! ============================================================================
&dynamics_general
momadv_opt = 2 ! option for momentum advection in moment only =2
use_freeslip = .false. ! Switch on free slip
use_wsplit = .false. ! Switch for implicite/explicte splitting of vert. velocity
wsplit_maxcfl= 1.0 ! maximum allowed CFL criteria in vertical (0.5 < w_max_cfl < 1.)
! in older FESOM it used to be w_exp_max=1.e-3
ldiag_KE=.false. ! activates energy diagnostics
! --- Momentum Advection ---
momadv_opt = 2 ! momentum advection option (only 2 is currently supported)

! --- Boundary Conditions ---
use_freeslip = .false. ! enable free-slip lateral boundary conditions (false = no-slip)

! --- Vertical Velocity Splitting ---
use_wsplit = .false. ! enable implicit/explicit splitting of vertical velocity
wsplit_maxcfl = 1.0 ! maximum allowed vertical CFL criterion (range: 0.5-1.0)
! in older FESOM versions this was w_exp_max=1.e-3

! --- Energy Diagnostics ---
ldiag_KE = .false. ! enable kinetic energy diagnostics (requires additional computation)

! --- Time Stepping ---
AB_order = 2 ! Adams-Bashforth time stepping order (2 or 3)

! --- Split-Explicit Barotropic Subcycling ---
use_ssh_se_subcycl = .false. ! enable split-explicit subcycling for barotropic mode
! (faster time stepping for sea surface height)
se_BTsteps = 50 ! number of barotropic subcycles per baroclinic time step
se_BTtheta = 0.14 ! implicitness parameter for barotropic solver (0-1, default: 0.14)
se_bottdrag = .true. ! include bottom drag in barotropic subcycling
se_bdrag_si = .true. ! use semi-implicit bottom drag (true) or explicit (false)
se_visc = .true. ! include viscosity in barotropic subcycling
se_visc_gamma0 = 10 ! background viscosity for barotropic mode [dimensionless]
se_visc_gamma1 = 19500 ! flow-aware viscosity for barotropic mode [dimensionless]
! typical values: 19500 (CORE2@32spd), 2750 (CORE2@72spd)
se_visc_gamma2 = 0 ! additional viscosity for barotropic mode [dimensionless]
/

Loading
Loading