Skip to content

Commit

Permalink
move demos
Browse files Browse the repository at this point in the history
  • Loading branch information
ashjbarnes committed Jul 1, 2024
1 parent e4ce47b commit 2e22409
Show file tree
Hide file tree
Showing 15 changed files with 1,454 additions and 0 deletions.
5 changes: 5 additions & 0 deletions regional_mom6/demos/premade_run_directories/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
## Premade Run Directories

These directories are used for the demo notebooks, and can be used as templates for setting up a new experiment. The [documentation](https://regional-mom6.readthedocs.io/en/latest/mom6-file-structure-primer.html) explains what all the files are for.

The `common_files` folder contains all of the required files for a regional MOM6 run, including a `data_table` with constant surface forcing as a placeholder. The other two directories offer different choices for the surface forcing, affecting the `data_table`.
593 changes: 593 additions & 0 deletions regional_mom6/demos/premade_run_directories/common_files/MOM_input

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
! === module MOM_domains ===
REENTRANT_X = False ! [Boolean] default = True
! If true, the domain is zonally reentrant.
NIGLOBAL = 3040 !
! The total number of thickness grid points in the x-direction in the physical
! domain. With STATIC_MEMORY_ this is set in MOM_memory.h at compile time.
NJGLOBAL = 3180 !
! The total number of thickness grid points in the y-direction in the physical
! domain. With STATIC_MEMORY_ this is set in MOM_memory.h at compile time.
MASKTABLE = "mask_table.766.80x80" ! default = "MOM_mask_table"
! A text file to specify n_mask, layout and mask_list. This feature masks out
! processors that contain only land points. The first line of mask_table is the
! number of regions to be masked out. The second line is the layout of the model
! and must be consistent with the actual model layout. The following (n_mask)
! lines give the logical positions of the processors that are masked out. The
! mask_table can be created by tools like check_mask. The following example of
! mask_table masks out 2 processors, (1,2) and (3,6), out of the 24 in a 4x6
! layout:
! 2
! 4,6
! 1,2
! 3,6
LAYOUT = 80, 80 !
! The processor layout that was actually used.
IO_LAYOUT = 1, 1 ! default = 1
! The processor layout to be used, or 0,0 to automatically set the io_layout to
! be the same as the layout.
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
## Add override files here

#override DT=50
#override DT_THERM=300
61 changes: 61 additions & 0 deletions regional_mom6/demos/premade_run_directories/common_files/SIS_input
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
CGRID_ICE_DYNAMICS = True
DT_ICE_DYNAMICS = 180.0
! fixed bulk salinity of sea ice
ICE_BULK_SALINITY = 0.0
! salinity of sea ice as fraction of salinity
! of sea water from which it formed
ICE_RELATIVE_SALINITY = 0.1
! cosine of solar zenith angle for first radiation step
CONSTANT_COSZEN_IC = 0.0
! don't call iceberg module
DO_ICEBERGS = False
! time between writes of global ice diags and conservation
ICE_STATS_INTERVAL = 0.25

GRID_CONFIG = "mosaic"
GRID_FILE = "hgrid.nc"
INPUTDIR = "INPUT"

TOPO_FILE = "bathymetry.nc"

MAXIMUM_DEPTH = 6000.0

WRITE_GEOM = 0

! rotation rate of earth
OMEGA = 7.292E-05

! tuning params for radiative properties
ICE_DELTA_EDD_R_ICE = 1.0
ICE_DELTA_EDD_R_SNOW = 1.0
ICE_DELTA_EDD_R_POND = 1.0

CP_ICE = 2100.0
CP_SEAWATER = 3992.0
CP_BRINE = 3992.0

! subcycling timestep for rheology
DT_RHEOLOGY = 50.0

U_TRUNC_FILE = "SIS_U_truncations"
V_TRUNC_FILE = "SIS_V_truncations"

SIS_THICKNESS_ADVECTION_SCHEME = "PCM"
SIS_CONTINUITY_SCHEME = "PCM"

! use previous calculations of ice-top surface
! skin temp for tsurf
EULERIAN_TSURF = True
! redistribute after advection
RECATEGORIZE_ICE = True

SIS_TRACER_ADVECTION_SCHEME = "PPM:H3"

MAXTRUNC = 200
DOCUMENT_FILE = "SIS_parameter_doc"

REPORT_UNUSED_PARAMS = True
FATAL_UNUSED_PARAMS = True

! from overrides:
ADD_DIURNAL_SW = False
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
project: x77
queue: normal
walltime: 05:00:00
jobname: jobname
ncpus: 1234
jobfs: 10GB
shortpath: /scratch/nm03

model: mom6
input:
- path_to_input_files

## Executable that Ashley uses on nci. If you're an NCI user hopefully you can access this
exe: /g/data/v45/ab8992/mom_executables/jan2024-latest-everything

collate: false
#runlog: true
storage:
gdata:
- ua8
- x77
- ik11

mpi:
module: openmpi/4.1.2

Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@

"ATM", "p_surf", "", "", "bilinear", 100410.25
"ATM", "p_bot", "", "", "bilinear", 100410.25
"ATM", "t_bot", "", "", "bilinear", 289.9
"ATM", "sphum_bot", "", "", "bilinear", 0.0083
"ATM", "u_bot", "", "", "bicubic", 0.0
"ATM", "v_bot", "", "", "bicubic", 0.0
"ATM", "z_bot", "", "", "bilinear", 10.0
"ATM", "gust", "", "", "bilinear", 1.0e-4
"ICE", "lw_flux_dn", "", "", "bilinear", 1.0
"ICE", "sw_flux_vis_dir_dn", "", "", "bilinear", 0.0
"ICE", "sw_flux_vis_dif_dn", "", "", "bilinear", 0.0
"ICE", "sw_flux_nir_dir_dn", "", "", "bilinear", 0.0
"ICE", "sw_flux_nir_dif_dn", "", "", "bilinear", 0.0
"ICE", "lprec", "", "", "bilinear", 0.0
"ICE", "fprec", "", "", "bilinear", 0.0
"ICE", "runoff", "", "", "none", 0.0
"ICE", "dhdt", "", "", "none", 80.0
"ICE", "dedt", "", "", "none", 2.0e-6
"ICE", "drdt", "", "", "none", 10.0
"LND", "rough_mom", "", "", "none", 0.01
"LND", "rough_heat", "", "", "none", 0.1
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
mom6-regional
2003 1 1 0 0 0

"ocean_daily", 1, "days", 1, "days", "time"
"ocean_static", -1, "months", 1, "days", "time" # ocean_static is a protected name. Do not change this line.

# Sea Surface Height
"ocean_model", "zos", "zos", "ocean_daily", "all", "mean", "none",2
# Sea Surface Temperature
"ocean_model", "tos", "tos", "ocean_daily", "all", "mean", "none",2
# Sea Surface Salinity
"ocean_model", "sos", "sos", "ocean_daily", "all", "mean", "none",2
# Sea Water Potential Temperature at Sea Floor
"ocean_model", "tob", "tob", "ocean_daily", "all", "mean", "none",2
# Sea Water Salinity at Sea Floor
"ocean_model", "sob", "sob", "ocean_daily", "all", "mean", "none",2
# Mixed layer depth (delta rho = 0.03)
"ocean_model", "mlotst", "mlotst", "ocean_daily", "all", "mean", "none",2
# Sea Surface Speed
"ocean_model", "speed", "speed", "ocean_daily", "all", "mean", "none",2

# Surface area of tracer (T) cells
"ocean_model", "areacello", "areacello", "ocean_static", "all", "none", "none", 2
# Depth of the ocean at tracer points
"ocean_model", "deptho", "deptho", "ocean_static", "all", "none", "none", 2
"ocean_model", "Coriolis", "Coriolis", "ocean_static", "all", "none", "none", 2
"ocean_model", "geolon", "geolon", "ocean_static", "all", "none", "none", 2
"ocean_model", "geolat", "geolat", "ocean_static", "all", "none", "none", 2
"ocean_model", "geolon_c", "geolon_c", "ocean_static", "all", "none", "none", 2
"ocean_model", "geolat_c", "geolat_c", "ocean_static", "all", "none", "none", 2
"ocean_model", "geolon_u", "geolon_u", "ocean_static", "all", "none", "none", 2
"ocean_model", "geolat_u", "geolat_u", "ocean_static", "all", "none", "none", 2
"ocean_model", "geolon_v", "geolon_v", "ocean_static", "all", "none", "none", 2
"ocean_model", "geolat_v", "geolat_v", "ocean_static", "all", "none", "none", 2
"ocean_model", "wet", "wet", "ocean_static", "all", "none", "none", 2
"ocean_model", "wet_c", "wet_c", "ocean_static", "all", "none", "none", 2
"ocean_model", "wet_u", "wet_u", "ocean_static", "all", "none", "none", 2
"ocean_model", "wet_v", "wet_v", "ocean_static", "all", "none", "none", 2
"ocean_model", "dxt", "dxt", "ocean_static", "all", "none", "none", 2
"ocean_model", "dyt", "dyt", "ocean_static", "all", "none", "none", 2
"ocean_model", "dxCu", "dxCu", "ocean_static", "all", "none", "none", 2
"ocean_model", "dyCu", "dyCu", "ocean_static", "all", "none", "none", 2
"ocean_model", "dxCv", "dxCv", "ocean_static", "all", "none", "none", 2
"ocean_model", "dyCv", "dyCv", "ocean_static", "all", "none", "none", 2
"ocean_model", "areacello_cu","areacello_cu","ocean_static", "all", "none", "none", 2
"ocean_model", "areacello_cv","areacello_cv","ocean_static", "all", "none", "none", 2
"ocean_model", "areacello_bu","areacello_bu","ocean_static", "all", "none", "none", 2


Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
"TRACER", "atmos_mod", "sphum" /
"TRACER", "land_mod", "sphum" /
83 changes: 83 additions & 0 deletions regional_mom6/demos/premade_run_directories/common_files/input.nml
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
&MOM_input_nml
output_directory = '.',
input_filename = 'n',
restart_input_dir = 'INPUT',
restart_output_dir = 'RESTART',
parameter_filename = 'MOM_input', 'MOM_layout', 'MOM_override'
/

&SIS_input_nml
output_directory = '.',
input_filename = 'n',
restart_input_dir = 'INPUT',
restart_output_dir = 'RESTART',
parameter_filename = 'SIS_input','MOM_layout'
/

&fms_nml
domains_stack_size = 1600000,
stack_size = 0,
clock_grain = 'LOOP'
/

&fms2_io_nml
netcdf_default_format = "netcdf4"
shuffle = .true.,
deflate = 5
/

&coupler_nml
months = 0,
days = 1,
hours = 0,
current_date = 2015,1,1,0,0,0,
calendar = 'JULIAN',
dt_cpld = 3600,
dt_atmos = 3600,
do_atmos = .false.,
do_land = .false.,
do_ice = .true.,
do_ocean = .true.,
do_flux = .true.,
atmos_npes = 0,
concurrent = .false.,
use_lag_fluxes = .false.,
check_stocks = 0
/

&flux_exchange_nml
debug_stocks = .false.,
divert_stocks_report = .true.,
do_area_weighted_flux = .false.
/

&ice_albedo_nml
t_range = 10.
/

&monin_obukhov_nml
neutral = .true.
/

&ocean_albedo_nml
ocean_albedo_option = 2
/

&ocean_rough_nml
rough_scheme = 'beljaars'
/

&sat_vapor_pres_nml
construct_table_wrt_liq = .true.,
construct_table_wrt_liq_and_ice = .true.
/

&surface_flux_nml
ncar_ocean_flux = .true.,
raoult_sat_vap = .true.
/

&xgrid_nml
make_exchange_reproduce = .false.,
interp_method = 'second_order'
/
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
"ATM", "p_surf", "sp", "./INPUT/forcing/sp_ERA5.nc", "bilinear", 1.0
"ATM", "p_bot", "sp", "./INPUT/forcing/sp_ERA5.nc", "bilinear", 1.0
"ATM", "t_bot", "t2m", "./INPUT/forcing/2t_ERA5.nc", "bilinear", 1.0
"ATM", "sphum_bot", "q", "./INPUT/forcing/q_ERA5.nc", "bilinear", 1.0
"ATM", "u_bot", "u10", "./INPUT/forcing/10u_ERA5.nc", "bicubic", 1.0
"ATM", "v_bot", "v10", "./INPUT/forcing/10v_ERA5.nc", "bicubic", 1.0
"ATM", "z_bot", "", "", "bilinear", 10.0
"ATM", "gust", "", "", "bilinear", 1.0e-4
"ICE", "lw_flux_dn", "", "", "bilinear", 1.0
"ICE", "sw_flux_vis_dir_dn", "msdwswrf", "./INPUT/forcing/msdwswrf_ERA5.nc", "bilinear", 0.285
"ICE", "sw_flux_vis_dif_dn", "msdwswrf", "./INPUT/forcing/msdwswrf_ERA5.nc", "bilinear", 0.285
"ICE", "sw_flux_nir_dir_dn", "msdwlwrf", "./INPUT/forcing/msdwlwrf_ERA5.nc", "bilinear", 0.215
"ICE", "sw_flux_nir_dif_dn", "msdwlwrf", "./INPUT/forcing/msdwlwrf_ERA5.nc", "bilinear", 0.215
"ICE", "lprec", "trr", "./INPUT/forcing/trr_ERA5.nc", "bilinear", 1.0
"ICE", "fprec", "", "", "bilinear", 0.0
"ICE", "runoff", "", "", "none", 0.0
"ICE", "dhdt", "", "", "none", 80.0
"ICE", "dedt", "", "", "none", 2.0e-6
"ICE", "drdt", "", "", "none", 10.0
"LND", "rough_mom", "", "", "none", 0.01
"LND", "rough_heat", "", "", "none", 0.1

84 changes: 84 additions & 0 deletions regional_mom6/demos/premade_run_directories/era5_surface/input.nml
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
&MOM_input_nml
output_directory = '.',
input_filename = 'n',
restart_input_dir = 'INPUT',
restart_output_dir = 'RESTART',
parameter_filename = 'MOM_input', 'MOM_layout', 'MOM_override'
/

&SIS_input_nml
output_directory = '.',
input_filename = 'n',
restart_input_dir = 'INPUT',
restart_output_dir = 'RESTART',
parameter_filename = 'SIS_input','MOM_layout'
/

&fms_nml
domains_stack_size = 1600000,
stack_size = 0,
clock_grain = 'LOOP'
/

&fms2_io_nml
netcdf_default_format = "netcdf4"
shuffle = .true.,
deflate = 5
/

&coupler_nml
months = 0,
days = 1,
hours = 0,
current_date = 2015,1,1,0,0,0,
calendar = 'JULIAN',
dt_cpld = 3600,
dt_atmos = 3600,
do_atmos = .false.,
do_land = .false.,
do_ice = .true.,
do_ocean = .true.,
do_flux = .true.,
atmos_npes = 0,
concurrent = .false.,
use_lag_fluxes = .false.,
check_stocks = 0
/

&flux_exchange_nml
debug_stocks = .false.,
divert_stocks_report = .true.,
do_area_weighted_flux = .false.
/

&ice_albedo_nml
t_range = 10.
/

&monin_obukhov_nml
neutral = .true.
/

&ocean_albedo_nml
ocean_albedo_option = 2
/

&ocean_rough_nml
rough_scheme = 'beljaars'
/

&sat_vapor_pres_nml
construct_table_wrt_liq = .true.,
construct_table_wrt_liq_and_ice = .true.
/

&surface_flux_nml
ncar_ocean_flux_multilevel = .true.
bulk_zu = 10.
bulk_zt = 2.
bulk_zq = 2.

&xgrid_nml
make_exchange_reproduce = .false.,
interp_method = 'second_order'
/
Loading

0 comments on commit 2e22409

Please sign in to comment.