# =====================================================================================
# YAML Configuration for Expts_manager.py
# =====================================================================================
# This configuration file defining the parameters and settings required for cloning,
# setting up, and running control and perturbation experiments using `Expts_manager.py`.
# Detailed explanations are provided to ensure the configuration is straightforward.
# =====================================================================================
# ============ Model Selection ========================================================
model: access-om3 # Specify the model to be used. Options: 'access-om2', 'access-om3'
# ============ Utility Tool Configuration (only for access-om3) =======================
# The following configuration provides the necessary tools to:
# 1. Parse parameters and comments from `MOM_input` in MOM6.
# 2. Read and write the `nuopc.runconfig` file.
force_overwrite_tools: False
utils_url: git@github.com:minghangli-uni/om3-utils.git # Git URL for the utility tool repository
utils_branch_name: main # The branch for which the utility tool will be checked out
utils_dir_name: om3-utils # Directory name for the utility tool (user-defined)
# ============ Diagnostic Table (optional) ============================================
# Configuration for customising the diagnostic table.
diag_url: git@github.com:minghangli-uni/make_diag_table.git # Git URL for the `make_diag_table`
diag_branch_name: general_scheme3 # Branch for the `make_diag_table`
diag_dir_name: make_diag_table # Directory name for the `make_diag_table` (user-defined)
diag_ctrl: True # Set to 'True' to modify the diagnostic table for the control experiment
diag_pert: True # Set to 'True' to modify the diagnostic table for perturbation experiments
# ============ Control Experiment Setup ===============================================
base_url: git@github.com:ACCESS-NRI/access-om3-configs.git # Git URL for the control experiment repository
base_commit: "f37396e" # Commit hash to use; Please ensure it is a string!
base_dir_name: Ctrl-1deg_jra55do_ryf # Directory name for cloning (user-defined)
base_branch_name: ctrl # Branch name for the experiment (user-defined)
test_path: product1_0.25deg_new_topo # Relative path for all test (control and perturbation) runs (user-defined)
# ============ Control Experiment Variables ===========================================
# Allows modification of various control experiment settings.
# 1. config.yaml (access-om2 or access-om3)
# 2. all namelists such as with endswith "_in" or ".nml" etc. (access-om2 or access-om3)
# 3. cpl_dt (coupling timestep) (access-om3)
# 4. nuopc.runconfig (access-om3)
# 5. MOM_input (access-om3)
# Below are some examples for the illustration purpose, please modify for your own settings.
config.yaml:
ncpus: 1440
mem: 5760GB
walltime: 10:00:00
metadata:
enable: True
runlog: True
restart_freq: 1
input:
- /g/data/tm70/ml0072/COMMON/git_repos/COSIMA_om3-scripts/expts_manager/New_grid_input_files_025deg_75zlevels/access-om2-025deg-ESMFmesh.nc
- /g/data/tm70/ml0072/COMMON/git_repos/COSIMA_om3-scripts/expts_manager/New_grid_input_files_025deg_75zlevels/access-om2-025deg-nomask-ESMFmesh.nc
- /g/data/tm70/ml0072/COMMON/git_repos/COSIMA_om3-scripts/expts_manager/New_grid_input_files_025deg_75zlevels/topog.nc
- /g/data/tm70/ml0072/COMMON/git_repos/COSIMA_om3-scripts/expts_manager/New_grid_input_files_025deg_75zlevels/ocean_hgrid.nc
- /g/data/tm70/ml0072/COMMON/git_repos/COSIMA_om3-scripts/expts_manager/New_grid_input_files_025deg_75zlevels/ocean_vgrid.nc
- /g/data/tm70/ml0072/COMMON/git_repos/COSIMA_om3-scripts/expts_manager/New_grid_input_files_025deg_75zlevels/ocean_temp_salt.res.nc
- /g/data/tm70/ml0072/COMMON/git_repos/COSIMA_om3-scripts/expts_manager/New_grid_input_files_025deg_75zlevels/salt_sfc_restore.nc
- /g/data/tm70/ml0072/COMMON/git_repos/COSIMA_om3-scripts/expts_manager/New_grid_input_files_025deg_75zlevels/grid.nc
- /g/data/tm70/ml0072/COMMON/git_repos/COSIMA_om3-scripts/expts_manager/New_grid_input_files_025deg_75zlevels/kmt.nc
- /g/data/vk83/configurations/inputs/access-om3/share/meshes/share/2024.09.16/JRA55do-datm-ESMFmesh.nc
- /g/data/vk83/configurations/inputs/access-om3/share/meshes/share/2024.09.16/JRA55do-drof-ESMFmesh.nc
- /g/data/vk83/experiments/inputs/JRA-55/RYF/v1-4/data
nuopc.runseq: 1080.0 # Coupling timestep in the `nuopc_runseq`
nuopc.runconfig:
CLOCK_attributes:
stop_option: nyears
stop_n: 1
restart_option: nyears
restart_n: 1
MOM_input:
NJGLOBAL: 1142
NK: 75
DT_THERM: 10800.0
DT: 1080.0
DIABATIC_FIRST: False
THERMO_SPANS_COUPLING: True
DTBT_RESET_PERIOD: 10800.0
MAXTRUNC: 500
input.nml:
diag_manager_nml:
max_axes: 400
max_files: 200
max_num_axis_sets: 200
# ============ Namelist Tunning ================================
# Tune parameters across different model components.
namelists:
cross_block1:
# epbl_1: only removes KPP and CVMix related parameters
cross_block1_dirs: [epbl_1]
MOM_input:
MOM_list1_combo:
FATAL_UNUSED_PARAMS: [False] # TODO: remove parameters not used
USE_KPP: [False]
USE_CVMix_CONVECTION: [False]
# shear-driven turbulence associated with epbl
USE_JACKSON_PARAM: [True]
VERTEX_SHEAR: [True]
MAX_RINO_IT: [25]
USE_RESTRICTIVE_TOLERANCE_CHECK: [True]
USE_LMD94: [False]
USE_CVMIX_DDIFF: [False]
# epbl
ENERGETICS_SFC_PBL: [True]
EPBL_IS_ADDITIVE: [False]
# module MOM_energetic_PBL
ML_OMEGA_FRAC: [0.001]
TKE_DECAY: [0.01]
EPBL_MSTAR_SCHEME: ["OM4"]
MSTAR_CAP: [1.25]
MSTAR2_COEF1: [0.29]
MSTAR2_COEF2: [0.152]
NSTAR: [0.06]
MSTAR_CONV_ADJ: [0.667]
EPBL_TRANSITION_SCALE: [0.01]
MIX_LEN_EXPONENT: [1.0]
# USE_LA_LI2016: [True] # Langmuir related
#!EPBL_USTAR_MIN: [1.45842E-18] # TODO: enable variables such as this, with "!" before the variable name.
# ============ Perturbation Experiment Setup (Optional - access-om3) =======================
# Configure settings for perturbation experiments. Currently, only `nuopc.runconfig` is supported.
# If conducting parameter tuning for `nuopc.runconfig`, any pre-existing settings in this section
# will be purged by the above namelist tunning.
# ============ Control experiment and perturbation Runs ===================================
# This section configures the settings for running control experiments and their corresponding perturbation tests.
ctrl_nruns: 5
# Number of control experiment runs.
# Default: 0.
# Adjust this value to set the number of iterations for the control experiment, which serves as the baseline for perturbations.
run_namelists: True
# Determines whether to run using the specified namelists.
# Default: False.
# Set to 'True' to apply configurations from the namelist section; otherwise, 'False' to skip this step.
check_duplicate_jobs: True
# Checks if there are duplicate PBS jobs within the same parent directory (`test_path`) based on their names.
# This check is useful when you have existing running jobs and want to add additional tests, which helps avoid conflicts by ensuring new jobs don't duplicate existing ones in the same `test_path`.
# The check will not be triggered if the jobs are located in different `test_path`. It only applies to jobs within the same `test_path` directory.
# Default: True.
# If duplicates are found, a message will be printed indicating the presence of duplicate runs and those runs will be skipped.
check_skipping: False
# Checks if certain runs should be skipped based on pre-existing conditions or results. Currently only valid for nml type.
# Default: False.
# Set to 'True' if you want the system to skip runs under specific criteria; otherwise, keep it 'False'. Currently only valid for nml type.
force_restart: False
# Controls whether to force a restart of the experiments regardless of existing initial conditions.
# Default: False.
# Set to 'True' to enforce a restart of the control and perturbation runs.
startfrom: 'rest'
# Defines the starting point for perturbation tests.
# Options: a specific restart number of the control experiment, or 'rest' to start from the initial state.
# This parameter determines the initial condition for each perturbation test.
nruns: 5
# Total number of output directories to generate for each Expts_manager member.
# Default: 0.
# Specifies how many runs of each perturbation experiment will be started; this number correlates with the different parameter combinations defined in the configuration.
Velocity truncations, likely caused by initial conditions, happen only on the second day of a 5 model year run. The affected locations can be visualised in this notebook.
Parameter Tests Description
The test is as follows,
Expts_manager Version
dd38b80
YAML input file