|
1 | | -! This is the namelist file for model general configuration |
| 1 | +! ============================================================================ |
| 2 | +! ============ Namelist file for FESOM2 general configuration ================ |
| 3 | +! ============================================================================ |
| 4 | +! This file contains the main configuration parameters for FESOM2, including: |
| 5 | +! - Model identification and run settings |
| 6 | +! - Time stepping and simulation duration |
| 7 | +! - Initial time/date settings |
| 8 | +! - File paths for mesh, forcing, and output |
| 9 | +! - Restart and logging configuration |
| 10 | +! - Vertical coordinate system (ALE) |
| 11 | +! - Grid geometry and rotation |
| 12 | +! - Calendar settings |
| 13 | +! - Model components (ice, cavities, etc.) |
| 14 | +! - Parallel decomposition |
| 15 | +! - Iceberg settings |
| 16 | +! ============================================================================ |
2 | 17 |
|
| 18 | +! ============================================================================ |
| 19 | +! RUN IDENTIFICATION |
| 20 | +! ============================================================================ |
3 | 21 | &modelname |
4 | | -runid='fesom' |
| 22 | +runid = 'fesom' ! run identifier (used in output filenames) |
5 | 23 | / |
6 | 24 |
|
| 25 | +! ============================================================================ |
| 26 | +! TIME STEPPING AND RUN LENGTH |
| 27 | +! ============================================================================ |
7 | 28 | ×tep |
8 | | -step_per_day=45 !96 !96 !72 !72 !45 !72 !96 |
9 | | -run_length=1 !62 !62 !62 !28 |
10 | | -run_length_unit='d' ! y, m, d, s |
| 29 | +step_per_day = 45 ! number of time steps per day (determines dt = 86400/step_per_day seconds) |
| 30 | + ! common values: 32 (45min), 48 (30min), 72 (20min), 96 (15min), 192 (7min 30sec), |
| 31 | + ! 216 (6min 40sec), 240 (6min), 288 (5min), 360 (4min), 720 (2min), 1440 (1min), 2880 (30sec) |
| 32 | +run_length = 1 ! total length of simulation run |
| 33 | +run_length_unit = 'd' ! unit for run_length: 'y' (years), 'm' (months), 'd' (days), 's' (steps) |
11 | 34 | / |
12 | 35 |
|
13 | | -&clockinit ! the model starts at |
14 | | -timenew=0.0 |
15 | | -daynew=1 |
16 | | -yearnew=1900 |
| 36 | +! ============================================================================ |
| 37 | +! INITIAL TIME/DATE SETTINGS |
| 38 | +! ============================================================================ |
| 39 | +&clockinit |
| 40 | +timenew = 0.0 ! initial time within the day [seconds] (0.0 = midnight) |
| 41 | +daynew = 1 ! initial day of the month (1-31) |
| 42 | +yearnew = 1900 ! initial year |
17 | 43 | / |
18 | 44 |
|
| 45 | +! ============================================================================ |
| 46 | +! MESH, INITIALIZATION & OUTPUT PATHS |
| 47 | +! ============================================================================ |
19 | 48 | &paths |
20 | | -MeshPath='' |
21 | | -ResultPath='../results_tmp/' |
| 49 | +MeshPath = '' ! path to mesh files (nod2d.out, elem2d.out, etc.) |
| 50 | +ClimateDataPath = '/pool/data/AWICM/FESOM2/INITIAL/phc3.0/' ! path to initial conditions (temperature, salinity) |
| 51 | +ResultPath = '../results_tmp/' ! path for output files and fesom.clock file |
22 | 52 | / |
23 | 53 |
|
| 54 | +! ============================================================================ |
| 55 | +! RESTART AND LOGGING CONFIGURATION |
| 56 | +! ============================================================================ |
24 | 57 | &restart_log |
25 | | -restart_length=1 ! --> do netcdf restart ( only required for d,h,s cases, y, m take 1) |
26 | | -restart_length_unit='y' !output period: y, d, h, s, off |
27 | | -raw_restart_length=1 ! --> do core dump restart |
28 | | -raw_restart_length_unit='off' ! e.g. y, d, h, s, off |
29 | | -bin_restart_length=1 ! --> do derived type binary restart |
30 | | -bin_restart_length_unit='off' ! e.g. y, d, h, s, off |
31 | | -logfile_outfreq=72 !in logfile info. output frequency, # steps |
| 58 | +restart_length = 1 ! frequency for netCDF restart files (required for d,h,s; y,m use 1) |
| 59 | +restart_length_unit = 'y' ! unit: 'y' (years), 'm' (months), 'd' (days), 'h' (hours), 's' (steps), 'off' (disabled) |
| 60 | +raw_restart_length = 1 ! frequency for raw core dump restart files |
| 61 | +raw_restart_length_unit = 'off' ! unit: 'y', 'm', 'd', 'h', 's', 'off' |
| 62 | +bin_restart_length = 1 ! frequency for binary derived type restart files |
| 63 | +bin_restart_length_unit = 'off' ! unit: 'y', 'm', 'd', 'h', 's', 'off' |
| 64 | +logfile_outfreq = 72 ! log file output frequency [number of time steps] |
32 | 65 | / |
33 | 66 |
|
| 67 | +! ============================================================================ |
| 68 | +! VERTICAL COORDINATE SYSTEM (ALE - Arbitrary Lagrangian-Eulerian) |
| 69 | +! ============================================================================ |
34 | 70 | &ale_def |
35 | | -which_ALE='linfs' ! 'linfs','zlevel', 'zstar' |
36 | | -use_partial_cell=.false. |
| 71 | +which_ALE = 'linfs' ! vertical coordinate type: |
| 72 | + ! 'linfs' = linear free surface |
| 73 | + ! 'zlevel' = z-level (fixed depth levels) |
| 74 | + ! 'zstar' = z-star (terrain-following with SSH scaling) |
| 75 | +use_partial_cell = .false. ! use partial bottom cells for better topography representation (not recommended) |
37 | 76 | / |
38 | 77 |
|
| 78 | +! ============================================================================ |
| 79 | +! GRID GEOMETRY AND ROTATION |
| 80 | +! ============================================================================ |
39 | 81 | &geometry |
40 | | -cartesian=.false. |
41 | | -fplane=.false. |
42 | | -cyclic_length=90 ![degree] |
43 | | -rotated_grid=.false. !option only valid for coupled model case now |
44 | | -force_rotation=.false. |
45 | | -alphaEuler=0 ![degree] Euler angles, convention: |
46 | | -betaEuler=0 ![degree] first around z, then around new x, |
47 | | -gammaEuler=0 ![degree] then around new z. |
| 82 | +cartesian = .false. ! use Cartesian coordinates (false = spherical Earth) |
| 83 | +fplane = .false. ! use f-plane approximation (constant Coriolis parameter) |
| 84 | +cyclic_length = 90 ! length of cyclic domain [degrees] (360 = global) |
| 85 | +rotated_grid = .false. ! use rotated grid (typically for coupled models to avoid pole singularity) |
| 86 | +force_rotation = .false. ! force grid rotation even if not coupled |
| 87 | +alphaEuler = 0. ! first Euler angle (rotation around z-axis) [degrees] |
| 88 | +betaEuler = 0. ! second Euler angle (rotation around new x-axis) [degrees] |
| 89 | +gammaEuler = 0. ! third Euler angle (rotation around new z-axis) [degrees] |
| 90 | + ! Euler angle convention: rotate first around z, then around new x, then around new z |
48 | 91 | / |
49 | 92 |
|
| 93 | +! ============================================================================ |
| 94 | +! CALENDAR SETTINGS |
| 95 | +! ============================================================================ |
50 | 96 | &calendar |
51 | | -include_fleapyear=.false. |
| 97 | +include_fleapyear = .false. ! include leap years in calendar (false = 365-day year, true = 365/366-day year) |
52 | 98 | / |
53 | 99 |
|
| 100 | +! ============================================================================ |
| 101 | +! MODEL COMPONENTS AND FEATURES |
| 102 | +! ============================================================================ |
54 | 103 | &run_config |
55 | | -use_ice=.false. ! ocean+ice |
56 | | -use_cavity=.false. ! |
57 | | -use_cavity_partial_cell=.false. |
58 | | -use_floatice = .false. |
59 | | -use_sw_pene=.true. |
60 | | -flag_debug=.false. |
61 | | -flag_warn_cflz=.false. |
62 | | -toy_ocean=.true. |
63 | | -which_toy="dbgyre" |
64 | | -flag_debug=.false. |
| 104 | +use_ice = .false. ! enable sea ice model |
| 105 | +use_cavity = .false. ! enable ice shelf cavities |
| 106 | +use_cavity_partial_cell = .false. ! use partial cells in ice shelf cavities (not recommended) |
| 107 | +use_floatice = .false. ! enable floating ice (icebergs) |
| 108 | +use_sw_pene = .true. ! enable shortwave radiation penetration into ocean |
| 109 | +flag_debug = .false. ! enable debug output (verbose logging) |
| 110 | +use_transit = .false. ! enable transient tracer module (CFCs, SF6, etc.) |
| 111 | +toy_ocean = .true. ! enable toy configuration |
| 112 | +which_toy = 'dbgyre' ! enable toy bouble gyre experiment |
65 | 113 | / |
66 | 114 |
|
| 115 | +! ============================================================================ |
| 116 | +! PARALLEL DECOMPOSITION (DOMAIN PARTITIONING) |
| 117 | +! ============================================================================ |
67 | 118 | &machine |
68 | | -n_levels=1 |
69 | | -n_part=24 |
| 119 | +n_levels = 1 ! number of hierarchy levels for domain decomposition |
| 120 | +n_part = 24 ! number of partitions at each level (total CPUs = product of n_part) |
| 121 | + ! example: 2 x 128 = 256 MPI tasks |
| 122 | + ! adjust based on mesh size and available compute resources |
| 123 | + ! maximum scaling reached at ~300 FESOM2 2D nodes per CPU (see first line in nod2d.out for number of 2D nodes) |
70 | 124 | / |
71 | 125 |
|
| 126 | +! ============================================================================ |
| 127 | +! ICEBERG SETTINGS |
| 128 | +! ============================================================================ |
72 | 129 | &icebergs |
73 | | -use_icesheet_coupling=.false. |
74 | | -ib_num=1 |
75 | | -use_icebergs=.false. |
76 | | -steps_per_ib_step=8 |
77 | | -ib_async_mode=0 |
| 130 | +use_icesheet_coupling = .false. ! enable ice sheet model |
| 131 | +ib_num = 1 ! number of iceberg classes |
| 132 | +use_icebergs = .false. ! enable iceberg module |
| 133 | +steps_per_ib_step = 8 ! ocean time steps per iceberg time step (iceberg subcycling) |
| 134 | +ib_async_mode = 0 ! iceberg asynchronous mode (0=synchronous, 1=asynchronous) |
78 | 135 | / |
79 | 136 |
|
0 commit comments