diff --git a/.gitmodules b/.gitmodules index 92be04e9a..58ee255b8 100644 --- a/.gitmodules +++ b/.gitmodules @@ -22,14 +22,6 @@ path = src/mkmf url = https://github.com/NOAA-GFDL/mkmf.git branch = 2025.01 -[submodule "src/MOM6"] - path = src/MOM6 - url = https://github.com/NOAA-CEFI-Regional-Ocean-Modeling/MOM6.git - branch = dev/cefi -[submodule "src/ocean_BGC"] - path = src/ocean_BGC - url = https://github.com/NOAA-CEFI-Regional-Ocean-Modeling/ocean_BGC.git - branch = dev/cefi [submodule "src/FMS"] path = src/FMS url = https://github.com/NOAA-GFDL/FMS.git @@ -46,3 +38,11 @@ path = src/land_null url = https://github.com/NOAA-GFDL/land_null.git branch = 2025.02 +[submodule "src/ocean_BGC"] + path = src/ocean_BGC + url = https://github.com/NOAA-CEFI-Regional-Ocean-Modeling/ocean_BGC.git + branch = dev/cefi +[submodule "src/MOM6"] + path = src/MOM6 + url = https://github.com/NOAA-CEFI-Regional-Ocean-Modeling/MOM6.git + branch = dev/cefi diff --git a/builds/linux-build.bash b/builds/linux-build.bash index 246de9b40..c95c3e14e 100755 --- a/builds/linux-build.bash +++ b/builds/linux-build.bash @@ -140,7 +140,7 @@ build_mom6_fms2() { mkdir -p $target_dir pushd $target_dir rm -f path_names - $srcdir/mkmf/bin/list_paths $srcdir/MOM6/{config_src/infra/FMS2,config_src/memory/dynamic_symmetric,config_src/drivers/FMS_cap,config_src/external/ODA_hooks,config_src/external/database_comms,config_src/external/drifters,config_src/external/stochastic_physics,pkg/GSW-Fortran/{modules,toolbox}/,src/{*,*/*}/} $srcdir/SIS2/{config_src/dynamic_symmetric,config_src/external/Icepack_interfaces,src} $srcdir/icebergs/src $srcdir/FMS/{coupler,include}/ $srcdir/{ocean_BGC/generic_tracers,ocean_BGC/mocsy/src}/ $srcdir/{atmos_null,ice_param,land_null,coupler/shared/,coupler/full/}/ + $srcdir/mkmf/bin/list_paths $srcdir/MOM6/{config_src/infra/FMS2,config_src/memory/dynamic_symmetric,config_src/drivers/FMS_cap,config_src/external/MARBL,config_src/external/ODA_hooks,config_src/external/database_comms,config_src/external/drifters,config_src/external/stochastic_physics,pkg/GSW-Fortran/{modules,toolbox}/,src/{*,*/*}/} $srcdir/SIS2/{config_src/dynamic_symmetric,config_src/external/Icepack_interfaces,src} $srcdir/icebergs/src $srcdir/FMS/{coupler,include}/ $srcdir/{ocean_BGC/generic_tracers,ocean_BGC/mocsy/src}/ $srcdir/{atmos_null,ice_param,land_null,coupler/shared/,coupler/full/}/ # Compiler and linker options compiler_options='-DINTERNAL_FILE_NML -DUSE_FMS2_IO -Duse_yaml -DMAX_FIELDS_=600 -DNOT_SET_AFFINITY -D_USE_MOM6_DIAG -D_USE_GENERIC_TRACER -DUSE_PRECISION=2 -D_USE_LEGACY_LAND_ -Duse_AM3_physics' @@ -168,7 +168,7 @@ build_mom6_fms1() { mkdir -p $target_dir pushd $target_dir rm -f path_names - $srcdir/mkmf/bin/list_paths $srcdir/MOM6/{config_src/infra/FMS1,config_src/memory/dynamic_symmetric,config_src/drivers/FMS_cap,config_src/external/ODA_hooks,config_src/external/database_comms,config_src/external/drifters,config_src/external/stochastic_physics,pkg/GSW-Fortran/{modules,toolbox}/,src/{*,*/*}/} $srcdir/SIS2/{config_src/dynamic_symmetric,config_src/external/Icepack_interfaces,src} $srcdir/icebergs/src $srcdir/FMS/{coupler,include}/ $srcdir/{ocean_BGC/generic_tracers,ocean_BGC/mocsy/src}/ $srcdir/{atmos_null,ice_param,land_null,coupler/shared/,coupler/full/}/ + $srcdir/mkmf/bin/list_paths $srcdir/MOM6/{config_src/infra/FMS1,config_src/memory/dynamic_symmetric,config_src/drivers/FMS_cap,config_src/external/MARBL,config_src/external/ODA_hooks,config_src/external/database_comms,config_src/external/drifters,config_src/external/stochastic_physics,pkg/GSW-Fortran/{modules,toolbox}/,src/{*,*/*}/} $srcdir/SIS2/{config_src/dynamic_symmetric,config_src/external/Icepack_interfaces,src} $srcdir/icebergs/src $srcdir/FMS/{coupler,include}/ $srcdir/{ocean_BGC/generic_tracers,ocean_BGC/mocsy/src}/ $srcdir/{atmos_null,ice_param,land_null,coupler/shared/,coupler/full/}/ # Compiler and linker options compiler_options='-DINTERNAL_FILE_NML -DUSE_FMS1_IO -Duse_yaml -DMAX_FIELDS_=600 -DNOT_SET_AFFINITY -D_USE_MOM6_DIAG -D_USE_GENERIC_TRACER -DUSE_PRECISION=2 -D_USE_LEGACY_LAND_ -Duse_AM3_physics' @@ -196,7 +196,7 @@ build_mom6solo() { mkdir -p $target_dir pushd $target_dir rm -f path_names - $srcdir/mkmf/bin/list_paths $srcdir/MOM6/{config_src/infra/FMS2,config_src/memory/dynamic_symmetric,config_src/drivers/solo_driver,config_src/external/GFDL_ocean_BGC,config_src/external/ODA_hooks,config_src/external/database_comms,config_src/external/drifters,config_src/external/stochastic_physics,pkg/GSW-Fortran/{modules,toolbox}/,src/{*,*/*}}/ + $srcdir/mkmf/bin/list_paths $srcdir/MOM6/{config_src/infra/FMS2,config_src/memory/dynamic_symmetric,config_src/drivers/solo_driver,config_src/external/GFDL_ocean_BGC,config_src/external/MARBL,config_src/external/ODA_hooks,config_src/external/database_comms,config_src/external/drifters,config_src/external/stochastic_physics,pkg/GSW-Fortran/{modules,toolbox}/,src/{*,*/*}}/ # Compiler and linker options compiler_options='-DUSE_FMS2_IO -Duse_yaml -DMAX_FIELDS_=600 -Duse_netCDF -DSPMD' diff --git a/ci/NWA/Dockerfile b/ci/NWA/Dockerfile index 3e3aad8df..74f13c042 100644 --- a/ci/NWA/Dockerfile +++ b/ci/NWA/Dockerfile @@ -85,7 +85,7 @@ RUN bld_dir=/apps/mom6_sis2_generic_4p_compile_symm_yaml/exec \ && mkmf_template=/apps/mkmf/templates/hpcme-intel24.mk \ && mkdir -p $bld_dir/mom6 \ && echo "Making makefile for MOM6" \ - && list_paths -l -o $bld_dir/mom6/pathnames_mom6 $src_dir/mom6/src/MOM6/config_src/memory/dynamic_symmetric $src_dir/mom6/src/MOM6/config_src/drivers/FMS_cap $src_dir/mom6/src/MOM6/src/*/ $src_dir/mom6/src/MOM6/src/*/*/ $src_dir/mom6/src/MOM6/config_src/external/ODA_hooks $src_dir/mom6/src/MOM6/config_src/external/stochastic_physics $src_dir/mom6/src/MOM6/config_src/external/drifters $src_dir/mom6/src/MOM6/config_src/external/database_comms $src_dir/mom6/src/ocean_BGC/generic_tracers $src_dir/mom6/src/ocean_BGC/mocsy/src $src_dir/mom6/src/MOM6/pkg/GSW-Fortran/modules $src_dir/mom6/src/MOM6/pkg/GSW-Fortran/toolbox $src_dir/mom6/src/MOM6/config_src/infra/FMS2 \ + && list_paths -l -o $bld_dir/mom6/pathnames_mom6 $src_dir/mom6/src/MOM6/config_src/memory/dynamic_symmetric $src_dir/mom6/src/MOM6/config_src/drivers/FMS_cap $src_dir/mom6/src/MOM6/src/*/ $src_dir/mom6/src/MOM6/src/*/*/ $src_dir/mom6/src/MOM6/config_src/external/MARBL $src_dir/mom6/src/MOM6/config_src/external/ODA_hooks $src_dir/mom6/src/MOM6/config_src/external/stochastic_physics $src_dir/mom6/src/MOM6/config_src/external/drifters $src_dir/mom6/src/MOM6/config_src/external/database_comms $src_dir/mom6/src/ocean_BGC/generic_tracers $src_dir/mom6/src/ocean_BGC/mocsy/src $src_dir/mom6/src/MOM6/pkg/GSW-Fortran/modules $src_dir/mom6/src/MOM6/pkg/GSW-Fortran/toolbox $src_dir/mom6/src/MOM6/config_src/infra/FMS2 \ && cd $bld_dir/mom6 \ && mkmf -m Makefile -a $src_dir -b $bld_dir -p libmom6.a -t $mkmf_template -c "-DINTERNAL_FILE_NML -g -DINTERNAL_FILE_NML -DMAX_FIELDS_=600 -DUSE_FMS2_IO -DNOT_SET_AFFINITY -D_USE_MOM6_DIAG -D_USE_GENERIC_TRACER -DUSE_PRECISION=2 " -o "-I$bld_dir/FMS " -I${src_dir}/mom6/src/FMS/fms2_io/include -I${src_dir}/mom6/src/FMS/include -I${src_dir}/mom6/src/FMS/mpp/include -I${src_dir}/mom6/src/MOM6/pkg/CVMix-src/include $bld_dir/mom6/pathnames_mom6 ## Make makefile for SIS2 diff --git a/exps/NEP10.COBALT/MOM_parameter_doc.all b/exps/NEP10.COBALT/MOM_parameter_doc.all index 3c2249dd9..d11118587 100644 --- a/exps/NEP10.COBALT/MOM_parameter_doc.all +++ b/exps/NEP10.COBALT/MOM_parameter_doc.all @@ -166,6 +166,8 @@ WRITE_GEOM = 0 ! default = 1 ! If =0, never write the geometry and vertical grid files. If =1, write the ! geometry and vertical grid files only for a new simulation. If =2, always ! write the geometry and vertical grid files. Other values are invalid. +GEOM_FILE = "ocean_geometry" ! default = "ocean_geometry" + ! The file into which to write the ocean geometry. USE_DBCLIENT = False ! [Boolean] default = False ! If true, initialize a client to a remote database that can be used for online ! analysis and machine-learning inference. @@ -203,6 +205,9 @@ NIHALO = 4 ! default = 4 NJHALO = 4 ! default = 4 ! The number of halo points on each side in the y-direction. How this is set ! varies with the calling component and static or dynamic memory configuration. +SAVE_UNMASKED_GEOM_FILE = False ! [Boolean] default = False + ! If true and a mask table is used, create an unmasked MOM domain that is saved + ! in the ocean geometry file. ! === module MOM_hor_index === ! Sets the horizontal array index types. @@ -488,6 +493,13 @@ TFREEZE_FORM = "MILLERO_78" ! default = "LINEAR" ! TFREEZE_FORM determines which expression should be used for the freezing ! point. Currently, the valid choices are "LINEAR", "MILLERO_78", "TEOS_POLY", ! "TEOS10" +TFREEZE_S_IS_PRACS = True ! [Boolean] default = True + ! When True, the model will check if the model internal salinity is practical + ! salinity. If the model uses absolute salinity, a conversion will be applied. +TFREEZE_T_IS_POTT = True ! [Boolean] default = True + ! When True, the model will check if the model internal temperature is potential + ! temperature. If the model uses conservative temperature, a conversion will be + ! applied. ! === module MOM_restart === PARALLEL_RESTARTFILES = False ! [Boolean] default = False @@ -525,6 +537,8 @@ USE_RGC_TRACER = False ! [Boolean] default = False ! If true, use the RGC_tracer tracer package. USE_IDEAL_AGE_TRACER = False ! [Boolean] default = False ! If true, use the ideal_age_example tracer package. +USE_MARBL_TRACERS = False ! [Boolean] default = False + ! If true, use the MARBL tracer package. USE_REGIONAL_DYES = False ! [Boolean] default = False ! If true, use the regional_dyes tracer package. USE_OIL_TRACER = False ! [Boolean] default = False @@ -700,6 +714,10 @@ REMAP_VEL_MASK_BBL_THICK = -0.001 ! [m] default = -0.001 ! A thickness of a bottom boundary layer below which velocities in thin layers ! are zeroed out after remapping, following practice with Hybgen remapping, or a ! negative value to avoid such filtering altogether. +REMAP_VEL_CONSERVE_KE = False ! [Boolean] default = False + ! If true, a correction is applied to the baroclinic component of velocity after + ! remapping so that total KE is conserved. KE may not be conserved when + ! (CS%BBL_h_vel_mask > 0.0) .and. (CS%h_vel_mask > 0.0) ! === module MOM_state_initialization === FATAL_INCONSISTENT_RESTART_TIME = False ! [Boolean] default = False @@ -973,8 +991,6 @@ MEKE_GM_SRC_ALT = False ! [Boolean] default = False MEKE_GEOMETRIC = False ! [Boolean] default = False ! If true, uses the GM coefficient formulation from the GEOMETRIC framework ! (Marshall et al., 2012). -USE_KH_IN_MEKE = False ! [Boolean] default = False - ! If true, uses the thickness diffusivity calculated here to diffuse MEKE. USE_GME = False ! [Boolean] default = False ! If true, use the GM+E backscatter scheme in association with the Gent and ! McWilliams parameterization. @@ -1014,7 +1030,8 @@ STORE_CORIOLIS_ACCEL = True ! [Boolean] default = True ! If true, calculate the Coriolis accelerations at the end of each timestep for ! use in the predictor step of the next split RK2 timestep. FPMIX = False ! [Boolean] default = False - ! If true, apply profiles of momentum flux magnitude and direction + ! If true, add non-local momentum flux increments and diffuse down the Eulerian + ! gradient. VISC_REM_BUG = True ! [Boolean] default = True ! If true, visc_rem_[uv] in split mode is incorrectly calculated or accounted ! for in two places. This parameter controls the defaults of two individual @@ -1636,7 +1653,11 @@ USE_MLD_GRID = False ! [Boolean] default = False MLE_USE_PBL_MLD = True ! [Boolean] default = False ! If true, the MLE parameterization will use the mixed-layer depth provided by ! the active PBL parameterization. If false, MLE will estimate a MLD based on a - ! density difference with the surface using the parameter MLE_DENSITY_DIFF. + ! density difference with the surface using the parameter MLE_DENSITY_DIFF, + ! unless BODNER_DETECT_MLD is true. +BODNER_DETECT_MLD = False ! [Boolean] default = False + ! If true, the Bodner parameterization will use the mixed-layer depth detected + ! via the density difference criterion MLE_DENSITY_DIFF. ! === module MOM_diagnostics === DIAG_EBT_MONO_N2_COLUMN_FRACTION = 0.0 ! [nondim] default = 0.0 @@ -2143,6 +2164,7 @@ OPACITY_SCHEME = "MANIZZA_05" ! default = "MANIZZA_05" ! into opacities. Currently valid options include: ! MANIZZA_05 - Use Manizza et al., GRL, 2005. ! MOREL_88 - Use Morel, JGR, 1988. + ! OHLMANN_03 - Use Ohlmann, J Clim, 2003. (only use if dz(1)>2.0m) BLUE_FRAC_SW = 0.5 ! [nondim] default = 0.5 ! The fraction of the penetrating shortwave radiation that is in the blue band. PEN_SW_NBANDS = 3 ! default = 1 @@ -2280,9 +2302,12 @@ ENERGYSAVEDAYS_GEOMETRIC = 0.0 ! [days] default = 0.0 ! === module ocean_stochastics_init === DO_SPPT = False ! [Boolean] default = False - ! If true, then stochastically perturb the thermodynamic tendemcies of T,S, amd + ! If true, then stochastically perturb the thermodynamic tendencies of T,S, amd ! h. Amplitude and correlations are controlled by the nam_stoch namelist in the ! UFS model only. +DO_SKEB = False ! [Boolean] default = False + ! If true, then stochastically perturb the currents using the stochastic kinetic + ! energy backscatter scheme. PERT_EPBL = False ! [Boolean] default = False ! If true, then stochastically perturb the kinetic energy production and ! dissipation terms. Amplitude and correlations are controlled by the nam_stoch diff --git a/exps/NEP10.COBALT/MOM_parameter_doc.short b/exps/NEP10.COBALT/MOM_parameter_doc.short index 7b0b8901e..1ab939c4f 100644 --- a/exps/NEP10.COBALT/MOM_parameter_doc.short +++ b/exps/NEP10.COBALT/MOM_parameter_doc.short @@ -506,7 +506,8 @@ MIN_WSTAR2 = 1.0E-09 ! [m2 s-2] default = 1.0E-24 MLE_USE_PBL_MLD = True ! [Boolean] default = False ! If true, the MLE parameterization will use the mixed-layer depth provided by ! the active PBL parameterization. If false, MLE will estimate a MLD based on a - ! density difference with the surface using the parameter MLE_DENSITY_DIFF. + ! density difference with the surface using the parameter MLE_DENSITY_DIFF, + ! unless BODNER_DETECT_MLD is true. ! === module MOM_diagnostics === diff --git a/exps/NWA12.COBALT/MOM_parameter_doc.all b/exps/NWA12.COBALT/MOM_parameter_doc.all index 9ae8494ea..9fb2a1539 100644 --- a/exps/NWA12.COBALT/MOM_parameter_doc.all +++ b/exps/NWA12.COBALT/MOM_parameter_doc.all @@ -166,6 +166,8 @@ WRITE_GEOM = 0 ! default = 1 ! If =0, never write the geometry and vertical grid files. If =1, write the ! geometry and vertical grid files only for a new simulation. If =2, always ! write the geometry and vertical grid files. Other values are invalid. +GEOM_FILE = "ocean_geometry" ! default = "ocean_geometry" + ! The file into which to write the ocean geometry. USE_DBCLIENT = False ! [Boolean] default = False ! If true, initialize a client to a remote database that can be used for online ! analysis and machine-learning inference. @@ -203,6 +205,9 @@ NIHALO = 4 ! default = 4 NJHALO = 4 ! default = 4 ! The number of halo points on each side in the y-direction. How this is set ! varies with the calling component and static or dynamic memory configuration. +SAVE_UNMASKED_GEOM_FILE = False ! [Boolean] default = False + ! If true and a mask table is used, create an unmasked MOM domain that is saved + ! in the ocean geometry file. ! === module MOM_hor_index === ! Sets the horizontal array index types. @@ -491,6 +496,13 @@ DTFREEZE_DS = -0.054 ! [degC ppt-1] default = -0.054 DTFREEZE_DP = -7.75E-08 ! [degC Pa-1] default = 0.0 ! When TFREEZE_FORM=LINEAR, this is the derivative of the freezing potential ! temperature with pressure. +TFREEZE_S_IS_PRACS = True ! [Boolean] default = True + ! When True, the model will check if the model internal salinity is practical + ! salinity. If the model uses absolute salinity, a conversion will be applied. +TFREEZE_T_IS_POTT = True ! [Boolean] default = True + ! When True, the model will check if the model internal temperature is potential + ! temperature. If the model uses conservative temperature, a conversion will be + ! applied. ! === module MOM_restart === PARALLEL_RESTARTFILES = False ! [Boolean] default = False @@ -528,6 +540,8 @@ USE_RGC_TRACER = False ! [Boolean] default = False ! If true, use the RGC_tracer tracer package. USE_IDEAL_AGE_TRACER = False ! [Boolean] default = False ! If true, use the ideal_age_example tracer package. +USE_MARBL_TRACERS = False ! [Boolean] default = False + ! If true, use the MARBL tracer package. USE_REGIONAL_DYES = False ! [Boolean] default = False ! If true, use the regional_dyes tracer package. USE_OIL_TRACER = False ! [Boolean] default = False @@ -703,6 +717,10 @@ REMAP_VEL_MASK_BBL_THICK = -0.001 ! [m] default = -0.001 ! A thickness of a bottom boundary layer below which velocities in thin layers ! are zeroed out after remapping, following practice with Hybgen remapping, or a ! negative value to avoid such filtering altogether. +REMAP_VEL_CONSERVE_KE = False ! [Boolean] default = False + ! If true, a correction is applied to the baroclinic component of velocity after + ! remapping so that total KE is conserved. KE may not be conserved when + ! (CS%BBL_h_vel_mask > 0.0) .and. (CS%h_vel_mask > 0.0) ! === module MOM_state_initialization === FATAL_INCONSISTENT_RESTART_TIME = False ! [Boolean] default = False @@ -985,8 +1003,6 @@ MEKE_GM_SRC_ALT = False ! [Boolean] default = False MEKE_GEOMETRIC = False ! [Boolean] default = False ! If true, uses the GM coefficient formulation from the GEOMETRIC framework ! (Marshall et al., 2012). -USE_KH_IN_MEKE = False ! [Boolean] default = False - ! If true, uses the thickness diffusivity calculated here to diffuse MEKE. USE_GME = False ! [Boolean] default = False ! If true, use the GM+E backscatter scheme in association with the Gent and ! McWilliams parameterization. @@ -1026,7 +1042,8 @@ STORE_CORIOLIS_ACCEL = True ! [Boolean] default = True ! If true, calculate the Coriolis accelerations at the end of each timestep for ! use in the predictor step of the next split RK2 timestep. FPMIX = False ! [Boolean] default = False - ! If true, apply profiles of momentum flux magnitude and direction + ! If true, add non-local momentum flux increments and diffuse down the Eulerian + ! gradient. VISC_REM_BUG = False ! [Boolean] default = True ! If true, visc_rem_[uv] in split mode is incorrectly calculated or accounted ! for in two places. This parameter controls the defaults of two individual @@ -1616,6 +1633,8 @@ MLE_FRONT_LENGTH = 1500.0 ! [m] default = 0.0 ! buoyancy gradients that is otherwise represented by the parameter ! FOX_KEMPER_ML_RESTRAT_COEF. If MLE_FRONT_LENGTH is non-zero, it is recommended ! to set FOX_KEMPER_ML_RESTRAT_COEF=1.0. +MLE_FRONT_LENGTH_FROM_FILE = False ! [Boolean] default = False + ! If true, the MLE front-length scale is read from a file. MLE_USE_PBL_MLD = True ! [Boolean] default = False ! If true, the MLE parameterization will use the mixed-layer depth provided by ! the active PBL parameterization. If false, MLE will estimate a MLD based on a @@ -2138,6 +2157,7 @@ OPACITY_SCHEME = "MANIZZA_05" ! default = "MANIZZA_05" ! into opacities. Currently valid options include: ! MANIZZA_05 - Use Manizza et al., GRL, 2005. ! MOREL_88 - Use Morel, JGR, 1988. + ! OHLMANN_03 - Use Ohlmann, J Clim, 2003. (only use if dz(1)>2.0m) BLUE_FRAC_SW = 0.5 ! [nondim] default = 0.5 ! The fraction of the penetrating shortwave radiation that is in the blue band. PEN_SW_NBANDS = 3 ! default = 1 @@ -2275,9 +2295,12 @@ ENERGYSAVEDAYS_GEOMETRIC = 0.0 ! [days] default = 0.0 ! === module ocean_stochastics_init === DO_SPPT = False ! [Boolean] default = False - ! If true, then stochastically perturb the thermodynamic tendemcies of T,S, amd + ! If true, then stochastically perturb the thermodynamic tendencies of T,S, amd ! h. Amplitude and correlations are controlled by the nam_stoch namelist in the ! UFS model only. +DO_SKEB = False ! [Boolean] default = False + ! If true, then stochastically perturb the currents using the stochastic kinetic + ! energy backscatter scheme. PERT_EPBL = False ! [Boolean] default = False ! If true, then stochastically perturb the kinetic energy production and ! dissipation terms. Amplitude and correlations are controlled by the nam_stoch diff --git a/exps/NWA12.tidesonly/MOM_parameter_doc.all b/exps/NWA12.tidesonly/MOM_parameter_doc.all index 3f474b657..b5ba31a88 100644 --- a/exps/NWA12.tidesonly/MOM_parameter_doc.all +++ b/exps/NWA12.tidesonly/MOM_parameter_doc.all @@ -145,6 +145,8 @@ WRITE_GEOM = 1 ! default = 1 ! If =0, never write the geometry and vertical grid files. If =1, write the ! geometry and vertical grid files only for a new simulation. If =2, always ! write the geometry and vertical grid files. Other values are invalid. +GEOM_FILE = "ocean_geometry" ! default = "ocean_geometry" + ! The file into which to write the ocean geometry. USE_DBCLIENT = False ! [Boolean] default = False ! If true, initialize a client to a remote database that can be used for online ! analysis and machine-learning inference. @@ -484,6 +486,8 @@ USE_RGC_TRACER = False ! [Boolean] default = False ! If true, use the RGC_tracer tracer package. USE_IDEAL_AGE_TRACER = False ! [Boolean] default = False ! If true, use the ideal_age_example tracer package. +USE_MARBL_TRACERS = False ! [Boolean] default = False + ! If true, use the MARBL tracer package. USE_REGIONAL_DYES = False ! [Boolean] default = False ! If true, use the regional_dyes tracer package. USE_OIL_TRACER = False ! [Boolean] default = False @@ -890,8 +894,6 @@ MEKE_GM_SRC_ALT = False ! [Boolean] default = False MEKE_GEOMETRIC = False ! [Boolean] default = False ! If true, uses the GM coefficient formulation from the GEOMETRIC framework ! (Marshall et al., 2012). -USE_KH_IN_MEKE = False ! [Boolean] default = False - ! If true, uses the thickness diffusivity calculated here to diffuse MEKE. USE_GME = False ! [Boolean] default = False ! If true, use the GM+E backscatter scheme in association with the Gent and ! McWilliams parameterization. @@ -927,7 +929,8 @@ STORE_CORIOLIS_ACCEL = True ! [Boolean] default = True ! If true, calculate the Coriolis accelerations at the end of each timestep for ! use in the predictor step of the next split RK2 timestep. FPMIX = False ! [Boolean] default = False - ! If true, apply profiles of momentum flux magnitude and direction + ! If true, add non-local momentum flux increments and diffuse down the Eulerian + ! gradient. VISC_REM_BUG = True ! [Boolean] default = True ! If true, visc_rem_[uv] in split mode is incorrectly calculated or accounted ! for in two places. This parameter controls the defaults of two individual @@ -1570,9 +1573,12 @@ ENERGYSAVEDAYS_GEOMETRIC = 0.0 ! [days] default = 0.0 ! === module ocean_stochastics_init === DO_SPPT = False ! [Boolean] default = False - ! If true, then stochastically perturb the thermodynamic tendemcies of T,S, amd + ! If true, then stochastically perturb the thermodynamic tendencies of T,S, amd ! h. Amplitude and correlations are controlled by the nam_stoch namelist in the ! UFS model only. +DO_SKEB = False ! [Boolean] default = False + ! If true, then stochastically perturb the currents using the stochastic kinetic + ! energy backscatter scheme. PERT_EPBL = False ! [Boolean] default = False ! If true, then stochastically perturb the kinetic energy production and ! dissipation terms. Amplitude and correlations are controlled by the nam_stoch diff --git a/exps/OM4.single_column.COBALT/MOM_parameter_doc.all b/exps/OM4.single_column.COBALT/MOM_parameter_doc.all index b86889c71..37cd37f25 100644 --- a/exps/OM4.single_column.COBALT/MOM_parameter_doc.all +++ b/exps/OM4.single_column.COBALT/MOM_parameter_doc.all @@ -181,6 +181,8 @@ WRITE_GEOM = 0 ! default = 1 ! If =0, never write the geometry and vertical grid files. If =1, write the ! geometry and vertical grid files only for a new simulation. If =2, always ! write the geometry and vertical grid files. Other values are invalid. +GEOM_FILE = "ocean_geometry" ! default = "ocean_geometry" + ! The file into which to write the ocean geometry. USE_DBCLIENT = False ! [Boolean] default = False ! If true, initialize a client to a remote database that can be used for online ! analysis and machine-learning inference. @@ -376,6 +378,13 @@ DTFREEZE_DS = -0.054 ! [degC ppt-1] default = -0.054 DTFREEZE_DP = -7.75E-08 ! [degC Pa-1] default = 0.0 ! When TFREEZE_FORM=LINEAR, this is the derivative of the freezing potential ! temperature with pressure. +TFREEZE_S_IS_PRACS = True ! [Boolean] default = True + ! When True, the model will check if the model internal salinity is practical + ! salinity. If the model uses absolute salinity, a conversion will be applied. +TFREEZE_T_IS_POTT = True ! [Boolean] default = True + ! When True, the model will check if the model internal temperature is potential + ! temperature. If the model uses conservative temperature, a conversion will be + ! applied. ! === module MOM_restart === PARALLEL_RESTARTFILES = False ! [Boolean] default = False @@ -413,6 +422,8 @@ USE_RGC_TRACER = False ! [Boolean] default = False ! If true, use the RGC_tracer tracer package. USE_IDEAL_AGE_TRACER = False ! [Boolean] default = False ! If true, use the ideal_age_example tracer package. +USE_MARBL_TRACERS = False ! [Boolean] default = False + ! If true, use the MARBL tracer package. USE_REGIONAL_DYES = False ! [Boolean] default = False ! If true, use the regional_dyes tracer package. USE_OIL_TRACER = False ! [Boolean] default = False @@ -579,6 +590,10 @@ REMAP_VEL_MASK_BBL_THICK = -0.001 ! [m] default = -0.001 ! A thickness of a bottom boundary layer below which velocities in thin layers ! are zeroed out after remapping, following practice with Hybgen remapping, or a ! negative value to avoid such filtering altogether. +REMAP_VEL_CONSERVE_KE = False ! [Boolean] default = False + ! If true, a correction is applied to the baroclinic component of velocity after + ! remapping so that total KE is conserved. KE may not be conserved when + ! (CS%BBL_h_vel_mask > 0.0) .and. (CS%h_vel_mask > 0.0) ! === module MOM_state_initialization === FATAL_INCONSISTENT_RESTART_TIME = False ! [Boolean] default = False @@ -863,8 +878,6 @@ MEKE_GM_SRC_ALT = False ! [Boolean] default = False MEKE_GEOMETRIC = False ! [Boolean] default = False ! If true, uses the GM coefficient formulation from the GEOMETRIC framework ! (Marshall et al., 2012). -USE_KH_IN_MEKE = False ! [Boolean] default = False - ! If true, uses the thickness diffusivity calculated here to diffuse MEKE. USE_GME = False ! [Boolean] default = False ! If true, use the GM+E backscatter scheme in association with the Gent and ! McWilliams parameterization. @@ -904,7 +917,8 @@ STORE_CORIOLIS_ACCEL = True ! [Boolean] default = True ! If true, calculate the Coriolis accelerations at the end of each timestep for ! use in the predictor step of the next split RK2 timestep. FPMIX = False ! [Boolean] default = False - ! If true, apply profiles of momentum flux magnitude and direction + ! If true, add non-local momentum flux increments and diffuse down the Eulerian + ! gradient. VISC_REM_BUG = True ! [Boolean] default = True ! If true, visc_rem_[uv] in split mode is incorrectly calculated or accounted ! for in two places. This parameter controls the defaults of two individual @@ -1785,6 +1799,7 @@ OPACITY_SCHEME = "MANIZZA_05" ! default = "MANIZZA_05" ! into opacities. Currently valid options include: ! MANIZZA_05 - Use Manizza et al., GRL, 2005. ! MOREL_88 - Use Morel, JGR, 1988. + ! OHLMANN_03 - Use Ohlmann, J Clim, 2003. (only use if dz(1)>2.0m) BLUE_FRAC_SW = 0.5 ! [nondim] default = 0.5 ! The fraction of the penetrating shortwave radiation that is in the blue band. PEN_SW_NBANDS = 3 ! default = 1 @@ -1927,9 +1942,12 @@ ENERGYSAVEDAYS_GEOMETRIC = 0.0 ! [days] default = 0.0 ! === module ocean_stochastics_init === DO_SPPT = False ! [Boolean] default = False - ! If true, then stochastically perturb the thermodynamic tendemcies of T,S, amd + ! If true, then stochastically perturb the thermodynamic tendencies of T,S, amd ! h. Amplitude and correlations are controlled by the nam_stoch namelist in the ! UFS model only. +DO_SKEB = False ! [Boolean] default = False + ! If true, then stochastically perturb the currents using the stochastic kinetic + ! energy backscatter scheme. PERT_EPBL = False ! [Boolean] default = False ! If true, then stochastically perturb the kinetic energy production and ! dissipation terms. Amplitude and correlations are controlled by the nam_stoch diff --git a/src/MOM6 b/src/MOM6 index 7feb73f5f..1582e23bb 160000 --- a/src/MOM6 +++ b/src/MOM6 @@ -1 +1 @@ -Subproject commit 7feb73f5f4219d872b251fdfd83c36d15129179d +Subproject commit 1582e23bba84cce435379429da3d8dcc11965284 diff --git a/xmls/NEP10/CEFI_NEP_cobalt.xml b/xmls/NEP10/CEFI_NEP_cobalt.xml index 8e006c776..7ee5164ca 100644 --- a/xmls/NEP10/CEFI_NEP_cobalt.xml +++ b/xmls/NEP10/CEFI_NEP_cobalt.xml @@ -133,7 +133,7 @@ frecheck -v -r restart -p ncrc6.intel23 -t repro -x CEFI_NEP_cobalt.xml CEFI_NE - + CEFI-regional-MOM6.git $(GLOBAL_WORLD)/esm4_deposition/esm4_wetnoy_climo_1993-2014.nc $(GLOBAL_WORLD)/esm4_deposition/esm4_drynoy_climo_1993-2014.nc $(GLOBAL_WORLD)/co2/mole_fraction_of_co2_extended_ssp245.nc - $(NEP_WORLD)/runoff/RiverNutrients_Combined_Q100_NEP10k_plusSi.nc + $(NEP_WORLD)/runoff/RiverNutrients_Combined_Q100_NEP10k.nc $(NEP_WORLD)/global_input/depflux_total.mean.1860.nc diff --git a/xmls/NWA12/CEFI_NWA12_cobalt.xml b/xmls/NWA12/CEFI_NWA12_cobalt.xml index ca5391bcf..da33c8829 100644 --- a/xmls/NWA12/CEFI_NWA12_cobalt.xml +++ b/xmls/NWA12/CEFI_NWA12_cobalt.xml @@ -131,7 +131,7 @@ frecheck -r layout -p ncrc6.intel23 -x CEFI_NWA12_cobalt.xml CEFI_NWA12_COBALT_V - + CEFI-regional-MOM6.git - + CEFI-regional-MOM6.git