Skip to content

Commit cb40cc5

Browse files
Updates for alpha07g (#298)
* Use refactored remapping scheme (C_PPM_CW) * Add stochastic backscatter diagnostics * Use pressure gradient force bugfix * Turn off Stochastic EOS (aka Stanley parameterization) in GM/Redi * Set WIND_STAGGER = "A" * Set OCNSKEB_LSCALE = 300e3 * Enable Smagorinsky Laplacian in the workhorse configuration * Set DEPTH_SCALED_KHTH_H0 = 500 in the workhorse * Set ntrunc = 192 in input_nml * Set RAD_EARTH to be the same as in shr_const_mod.F90 * Update reference depth used to calculate MLD * Enable SKEB in the workhorse configuration * Update KPP settings for the workhorse * Update MLE settings for the workhorse * Update convection settings for the workhorse * Update interior mixing settings for the workhose * Update MEKE_GEOMETRIC_ALPHA for the workhose Setting MEKE_GEOMETRIC_ALPHA = 0.06 significantly improves the Southern Ocean MLD biases while keeping a good ACC transport. We will use this value in alpha07g, but it will be revisited during the tuning phase. * Set EQN_OF_STATE = "WRIGHT_FULL" The new default for EQN_OF_STATE is "WRIGHT_FULL" and that's what we want in alpha07g. We will explicitly set this in MOM_interface to 1) document this change, and 2) keep control of which EQN_OF_STATE is being used, in case the default changes again in the future. I did a clean timing comparison between EQN_OF_STATE = "WRIGHT" (simplified version) and EQN_OF_STATE = "WRIGHT_FULL". The differences are within machine uncertainty, so we will proceed with using WRIGHT_FULL in the next tag. EQN_OF_STATE = "WRIGHT_FULL" Model Throughput: 13.84 simulated_years/day EQN_OF_STATE = "WRIGHT" Model Throughput: 13.63 simulated_years/day * Set new defaults for HYCOM1 files in the workhorse * Add new files in the input_data_list * Update server and error message * correct max layer thickness file path and add it to input_data_list * revert REMAPPING_SCHEME change and correct MAXIMUM_INT_DEPTH_CONFIG file path * attempt to fix check_input_data_repo --------- Co-authored-by: alperaltuntas <alperaltuntas@gmail.com>
1 parent 06ec52a commit cb40cc5

File tree

10 files changed

+468
-86
lines changed

10 files changed

+468
-86
lines changed

.github/workflows/general-ci-tests.yml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -118,10 +118,7 @@ jobs:
118118

119119
# Run the test
120120
- name: Run the check_input_data_repo script
121-
run: |
122-
sudo apt-get update && sudo apt-get install -y subversion
123-
pip install 'svn>=1,<1.1'
124-
python tests/check_input_data_repo.py
121+
run: python tests/check_input_data_repo.py
125122

126123
# Job to run the black formatter for cime_config, see black documentation for more info
127124
check_black_format_for_cime_config:

param_templates/MOM_input.yaml

Lines changed: 161 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,15 @@ Global:
115115
units: Boolean
116116
value:
117117
$OCN_GRID == "tx2_3v2": False
118+
HREF_FOR_MLD:
119+
description: |
120+
"[m] default = 0.0
121+
Reference depth used to calculate the potential density used to find the mixed
122+
layer depth based on a delta rho = 0.03 kg/m3."
123+
datatype: real
124+
units: m
125+
value:
126+
$OCN_GRID == "tx2_3v2": 10.0
118127
USE_REGRIDDING:
119128
description: |
120129
"[Boolean] default = False
@@ -281,6 +290,12 @@ Global:
281290
value:
282291
$OCN_GRID == "tx2_3v2": False
283292
$OCN_GRID == "tx0.25v1": False
293+
EQN_OF_STATE:
294+
description: |
295+
"default = WRIGHT_FULL
296+
EQN_OF_STATE determines which ocean equation of state should be used."
297+
datatype: string
298+
value: "WRIGHT_FULL"
284299
DTFREEZE_DP:
285300
description: |
286301
"[deg C Pa-1] default = 0.0
@@ -529,6 +544,13 @@ Global:
529544
value:
530545
$OCN_GRID == "tx2_3v2": False
531546
$OCN_GRID == "tx0.25v1": False
547+
RAD_EARTH:
548+
description: |
549+
"[m] default = 6.378E+06
550+
The radius of the Earth."
551+
datatype: real
552+
units: m
553+
value: 6.37122E+06
532554
TOPO_CONFIG:
533555
description: |
534556
"This specifies how bathymetry is specified:
@@ -745,7 +767,7 @@ Global:
745767
datatype: real
746768
units: nondim
747769
value:
748-
$OCN_GRID == "tx2_3v2": 250.0
770+
$OCN_GRID == "tx2_3v2": 500.0
749771
KHTR_SLOPE_CFF:
750772
description: |
751773
"[nondim] default = 0.0
@@ -810,7 +832,7 @@ Global:
810832
datatype: logical
811833
units: Boolean
812834
value:
813-
$OCN_GRID == "tx2_3v2": True
835+
$OCN_GRID == "tx2_3v2": False
814836
ETA_TOLERANCE:
815837
description: |
816838
"[m] default = 3.15E-09
@@ -932,7 +954,7 @@ Global:
932954
value:
933955
$MOM6_VERTICAL_GRID == "zstar_75L": '"FILE:zstar_75layer_2.5m_248.4m-2024-03-29.nc,dz"'
934956
$MOM6_VERTICAL_GRID == "zstar_65L": '"FILE:vgrid_65L_20200626.nc,dz"'
935-
$MOM6_VERTICAL_GRID == "hycom1" and $OCN_GRID != "tx0.25v1": '"HYBRID:hybrid_75layer_zstar2.50m-2020-11-23.nc,sigma2,dz"'
957+
$MOM6_VERTICAL_GRID == "hycom1" and $OCN_GRID != "tx0.25v1": '"HYBRID:hybrid_75layer_zstar_2.50m-2025-09-12.nc,sigma2,dz"'
936958
$MOM6_VERTICAL_GRID == "hycom1" and $OCN_GRID == "tx0.25v1": '"HYBRID:hycom1_75_800m.nc,sigma2,FNC1:2,4000,4.5,.01"'
937959
REGRID_COMPRESSIBILITY_FRACTION:
938960
description: |
@@ -958,7 +980,9 @@ Global:
958980
The list of maximum depths for each interface."
959981
datatype: string
960982
value:
961-
$MOM6_VERTICAL_GRID == "hycom1": '"FNC1:5,8000.0,1.0,.01"'
983+
$MOM6_VERTICAL_GRID == "hycom1" and $OCN_GRID in ["tx2_3v2"]: |
984+
'"FILE:${DIN_LOC_ROOT}/ocn/mom/tx2_3v2/lev-2025-09-12.nc,Z"'
985+
$MOM6_VERTICAL_GRID == "hycom1" and $OCN_GRID == "tx0.25v1": '"FNC1:5,8000.0,1.0,.01"'
962986
MAX_LAYER_THICKNESS_CONFIG:
963987
description: |
964988
"default = 'NONE'
@@ -974,7 +998,7 @@ Global:
974998
datatype: string
975999
value:
9761000
$MOM6_VERTICAL_GRID == "hycom1" and $OCN_GRID in ["tx2_3v2"]: |
977-
'"FILE:${DIN_LOC_ROOT}/ocn/mom/grid_indpt/dz_max_90th_quantile.nc,dz"'
1001+
'"FILE:${DIN_LOC_ROOT}/ocn/mom/tx2_3v2/dz_max-2025-09-12.nc,dz"'
9781002
else: '"FNC1:400,31000.0,0.1,.01"'
9791003
BOUND_CORIOLIS:
9801004
description: |
@@ -987,6 +1011,16 @@ Global:
9871011
datatype: logical
9881012
units: Boolean
9891013
value: True
1014+
RHO_PGF_REF_BUG:
1015+
description: |
1016+
"[Boolean] default = True
1017+
If true, recover a bug that RHO_0 (the mean seawater density in Boussinesq
1018+
mode) and RHO_PGF_REF (the subtracted reference density in finite volume
1019+
pressure gradient forces) are incorrectly interchanged in several instances in
1020+
Boussinesq mode."
1021+
datatype: logical
1022+
units: Boolean
1023+
value: False
9901024
MASS_WEIGHT_IN_PRESSURE_GRADIENT:
9911025
description: |
9921026
"[Boolean] default = False
@@ -1010,6 +1044,22 @@ Global:
10101044
datatype: logical
10111045
units: Boolean
10121046
value: True
1047+
SMAGORINSKY_KH:
1048+
description: |
1049+
"[Boolean] default = False
1050+
If true, use a Smagorinsky nonlinear eddy viscosity."
1051+
datatype: logical
1052+
units: Boolean
1053+
value:
1054+
$OCN_GRID == "tx2_3v2": True
1055+
SMAG_LAP_CONST:
1056+
description: |
1057+
"[nondim] default = 0.0
1058+
The nondimensional Laplacian Smagorinsky constant, often 0.15."
1059+
datatype: real
1060+
units: nondim
1061+
value:
1062+
$OCN_GRID == "tx2_3v2": 0.15
10131063
KH:
10141064
description: |
10151065
"[m2 s-1] default = 0.0
@@ -1505,7 +1555,7 @@ Global:
15051555
datatype: logical
15061556
units: Boolean
15071557
value:
1508-
$OCN_GRID == "tx2_3v2": True
1558+
$OCN_GRID == "tx2_3v2": False
15091559
MIXEDLAYER_RESTRAT:
15101560
description: |
15111561
"[Boolean] default = False
@@ -1816,6 +1866,23 @@ Global:
18161866
units: Boolean
18171867
value:
18181868
$OCN_GRID == "tx2_3v2": True
1869+
NU_ZERO:
1870+
description: |
1871+
"[m2 s-1] default = 0.005
1872+
Leading coefficient in KPP shear mixing."
1873+
datatype: real
1874+
units: m2 s-1
1875+
value:
1876+
$OCN_GRID == "tx2_3v2": 0.0025
1877+
RI_ZERO:
1878+
description: |
1879+
"[nondim] default = 0.8
1880+
Critical Richardson for KPP shear mixing, NOTE this the internal mixing and
1881+
this is not for setting the boundary layer depth."
1882+
datatype: real
1883+
units: nondim
1884+
value:
1885+
$OCN_GRID == "tx2_3v2": 0.5
18191886
N_SMOOTH_RI:
18201887
description: |
18211888
"default = 0
@@ -2224,7 +2291,13 @@ Global:
22242291
value:
22252292
$OCN_GRID == "tx2_3v2" and $COMP_ATM == "datm": True # for C and G compsets on tx2_3v2
22262293
else: False
2227-
2294+
WIND_STAGGER:
2295+
description: |
2296+
"default = 'C'
2297+
A case-insensitive character string to indicate the staggering of the input
2298+
wind stress field. Valid values are 'A', 'B', or 'C'."
2299+
datatype: string
2300+
value: "A"
22282301
ENTHALPY_FROM_COUPLER:
22292302
description: |
22302303
"[Boolean] default = False
@@ -2233,7 +2306,6 @@ Global:
22332306
datatype: logical
22342307
units: Boolean
22352308
value: True
2236-
22372309
FLUXCONST:
22382310
description: |
22392311
"[m day-1]
@@ -2359,7 +2431,7 @@ Global:
23592431
units: nondim
23602432
value:
23612433
$OCN_GRID == "tx0.25v1": 1.0
2362-
$OCN_GRID == "tx2_3v2": 1.0
2434+
$OCN_GRID == "tx2_3v2": 0.25
23632435
MEKE_BGSRC:
23642436
description: |
23652437
"[W kg-1] default = 0.0
@@ -2496,7 +2568,7 @@ Global:
24962568
datatype: real
24972569
units: nondim
24982570
value:
2499-
$OCN_GRID == "tx2_3v2": 0.09
2571+
$OCN_GRID == "tx2_3v2": 0.06
25002572
MEKE_KHTH_FAC:
25012573
description: |
25022574
"[nondim] default = 0.0
@@ -2795,7 +2867,7 @@ Global:
27952867
datatype: real
27962868
units: nondim
27972869
value:
2798-
$COMP_WAV == "ww3" and $MOM6_WW3_CPL_METHOD == "most": 2.0
2870+
$COMP_WAV == "ww3" and $MOM6_WW3_CPL_METHOD == "most": 3.5
27992871
VISC_REM_BUG:
28002872
description: |
28012873
"[Boolean] default = True
@@ -3689,18 +3761,6 @@ Global:
36893761
datatype: string
36903762
value:
36913763
"${CASE}.mom6.h.ocean_geometry.nc"
3692-
SKEB_NPASS:
3693-
description: |
3694-
"default = 3
3695-
number of passes of a 9-point smoother of the dissipation estimate."
3696-
datatype: integer
3697-
value: 10
3698-
SKEB_GM_COEF:
3699-
description: |
3700-
"[nondim] default = 0.0
3701-
Fraction of GM work that is added to backscatter rate."
3702-
datatype: real
3703-
value: 0.75
37043764
RESTART_CHECKSUMS_REQUIRED:
37053765
description: |
37063766
"[Boolean] default = True
@@ -3719,6 +3779,16 @@ Global:
37193779
added to the end of the file name. This parameter is ignored for non-ensemble runs."
37203780
datatype: string
37213781
value: ".mom6"
3782+
CVMix_CONVECTION:
3783+
BV_SQR_CONV:
3784+
description: |
3785+
"[1/s^2] default = 0.0
3786+
Threshold for squared buoyancy frequency needed to trigger Brunt-Vaisala
3787+
parameterization."
3788+
datatype: real
3789+
units: 1/s^2
3790+
value:
3791+
$OCN_GRID == "tx2_3v2": -1.0E-08
37223792
KPP:
37233793
N_SMOOTH:
37243794
description: |
@@ -3800,18 +3870,25 @@ KPP:
38003870
datatype: real
38013871
units: nondim
38023872
value:
3803-
$OCN_GRID == "tx2_3v2": 1.0
3873+
$OCN_GRID == "tx2_3v2": 1.8
3874+
ENHANCE_DIFFUSION:
3875+
description: |
3876+
"default = True
3877+
If True, adds enhanced diffusion at the based of the boundary layer."
3878+
datatype: logical
3879+
value:
3880+
$OCN_GRID == "tx2_3v2": False
38043881
STOKES_MOST:
38053882
description: |
3806-
default = False
3807-
If True, use Stokes Similarity package.
3883+
"default = False
3884+
If True, use Stokes Similarity package."
38083885
datatype: logical
38093886
value:
38103887
$COMP_WAV == "ww3" and $MOM6_WW3_CPL_METHOD == "most": True
38113888
COMPUTE_MONIN_OBUKHOV:
38123889
description: |
3813-
default = False
3814-
If True, limit the OBL depth to be no deeper than Monin-Obukhov depth.
3890+
"default = False
3891+
If True, limit the OBL depth to be no deeper than Monin-Obukhov depth."
38153892
datatype: logical
38163893
units: Boolean
38173894
value:
@@ -3824,6 +3901,45 @@ KPP:
38243901
datatype: real
38253902
value:
38263903
$OCN_GRID == "tx2_3v2": 5.0
3904+
DO_SKEB:
3905+
description: |
3906+
"default = False
3907+
If true, then stochastically perturb the currents using the stochastic kinetic
3908+
energy backscatter scheme."
3909+
datatype: logical
3910+
units: Boolean
3911+
value:
3912+
$OCN_GRID == "tx2_3v2": True
3913+
SKEB_USE_FRICT:
3914+
description: |
3915+
"default = False
3916+
If true, adds horizontal friction dissipation rate to the SKEBS amplitude."
3917+
datatype: logical
3918+
units: Boolean
3919+
value:
3920+
$OCN_GRID == "tx2_3v2": True
3921+
SKEB_USE_GM:
3922+
description: |
3923+
"default = False
3924+
If true, adds GM work rate to the SKEBS amplitude."
3925+
datatype: logical
3926+
units: Boolean
3927+
value:
3928+
$OCN_GRID == "tx2_3v2": True
3929+
SKEB_NPASS:
3930+
description: |
3931+
"[nondim] default = 0
3932+
number of passes of a 9-point smoother of the dissipation estimate."
3933+
datatype: integer
3934+
value:
3935+
$OCN_GRID == "tx2_3v2": 8
3936+
SKEB_GM_COEF:
3937+
description: |
3938+
"[nondim] default = 0.0
3939+
Fraction of GM work that is added to backscatter rate."
3940+
datatype: real
3941+
value:
3942+
$OCN_GRID == "tx2_3v2": 0.75
38273943
MLE:
38283944
USE_BODNER23:
38293945
description: |
@@ -3834,6 +3950,14 @@ MLE:
38343950
units: Boolean
38353951
value:
38363952
$OCN_GRID == "tx2_3v2": True
3953+
CR:
3954+
description: |
3955+
"[nondim] default = 0.0
3956+
The efficiency coefficient in eq 27 of Bodner et al., 2023."
3957+
datatype: real
3958+
units: nondim
3959+
value:
3960+
$OCN_GRID == "tx2_3v2": 0.01
38373961
USE_CR_GRID:
38383962
description: |
38393963
"[Boolean] default = False
@@ -3847,7 +3971,15 @@ MLE:
38473971
"The path to the file containing the Cr fields."
38483972
datatype: string
38493973
value:
3850-
$OCN_GRID == "tx2_3v2": "mle-cr-tx2_3v2-v10_20250426.nc"
3974+
$OCN_GRID == "tx2_3v2": "mle-cr-mask_20250627.nc"
3975+
WAVE_ENHANCED_USTAR:
3976+
description: |
3977+
"default = False
3978+
If true, enhance ustar using surface waves, following Eq. 28 in Bodner23."
3979+
datatype: logical
3980+
units: Boolean
3981+
value:
3982+
$OCN_GRID == "tx2_3v2": True
38513983
MIN_WSTAR2:
38523984
description: |
38533985
"[m2 s-2] default = 1.0E-24

param_templates/diag_table.yaml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ FieldLists:
2626

2727
- &kpp_diags ["KPP_OBLdepth:oml", "KPP_OBLdepth:oml_min:min", "KPP_OBLdepth:oml_max:max"]
2828

29+
- &stochastic_diags ["skeb_amp"]
30+
2931
- &forcing_flds ["tauuo", "tauvo", "friver", "prsn", "prlq", "evs", "hfsso", "rlntds",
3032
"hfsnthermds", "sfdsi", "rsntds", "hfds", "ustar",
3133
"hfsifrazil", "wfo", "vprec", "ficeberg", "fsitherm",
@@ -47,7 +49,8 @@ FieldLists:
4749
- &static_flds ["geolon", "geolat", "geolon_c", "geolat_c", "geolon_u", "geolat_u",
4850
"geolon_v", "geolat_v", "deptho", "wet", "wet_c", "wet_u",
4951
"wet_v", "Coriolis", "areacello", "areacello_cu", "areacello_cv",
50-
"areacello_bu", "sin_rot", "cos_rot", "C_P", "Rho_0"]
52+
"areacello_bu", "sin_rot", "cos_rot", "C_P", "Rho_0", "skeb_taper_v",
53+
"skeb_taper_u"]
5154

5255
- &transports ["volcello", "vmo", "vhGM", "vhml", "umo", "uhGM", "uhml"]
5356

@@ -125,6 +128,7 @@ Files:
125128
$OCN_DIAG_MODE not in ["spinup", "none"]:
126129
[ *prognostic,
127130
*kpp_diags,
131+
*stochastic_diags,
128132
*forcing_flds,
129133
*enthalpy_flds,
130134
*surface_flds_common,

0 commit comments

Comments
 (0)