-
Notifications
You must be signed in to change notification settings - Fork 19
ROMS Branches
This branch includes the tagged versions and the latest stable release of ROMS. It contains the entire history of ROMS development and evolution.
How to use/download this branch:
git clone https://github.com/myroms/roms.git
cd roms
git checkout feature/main
or
cd roms
git tag
git checkout roms-4.1
or
build_roms.sh -j 10 -b feature/main
cbuild_roms.sh -j 10 -b feature/main
This is the main developing branch (default) of ROMS. It contains the latest stable version of ROMS development and is updated via the feature branches. It serves as an integration branch for new features or bug fixes. Notice that the feature branches use develop as the parent branch. Once satisfied, it is tagged and merged to the main branch.
git clone https://github.com/myroms/roms.git
cd roms
or
build_roms.sh -j 10 -b develop
cbuild_roms.sh -j 10 -b develop
This branch includes significant updates to ROMS numerical kernels:
1. The ROMS barotropic kernel (step2d) includes the Generalized Forward-Backward 3rd-order Adams-Bashforth /4th-order Adams-Moulton (FB AB3-AM4) time stepping algorithm (Shchepetkin and McWilliams, 2005; 2009). Use the STEP2D_FB_AB3_AM4
option to activate this time-stepping algorithm. Notice that step2d.F module has the following logic:
#ifdef NONLINEAR
# if defined STEP2D_FB_AB3_AM4
# include "step2d_FB.h"
# elif defined STEP2D_FB_LF_AM3
# include "step2d_FB_LF_AM3.h"
# else
# include "step2d_LF_AM3.h"
# endif
#else
MODULE step2d_mod
END MODULE step2d_mod
#endif
The new routine step2d_FB.h is more efficient, accurate, and compact. No predictor and corrector blocks exist in main2d or main3d. In 3D configurations (SOLVE3D), it suppresses the computation of momentum advection, Coriolis, and lateral viscosity terms because these terms are already included in the baroclinic-to-barotropic forcing arrays rufrc and rvfrc. It does not mean we are entirely omitting them, but it is a choice between recomputing them at every barotropic step or keeping them frozen during the fast-time stepping. However, in some coarse grid applications with larger baroclinic timestep (say, DT around 20 minutes or larger), adding the Coriolis term in the barotropic equations is useful since f*DT is no longer small. In such a case, we recommend activating STEP2D_CORIOLIS
.
Currently, the FB AB3-AM4 only works for the nonlinear kernel. Although the TLM, RPM, and ADM versions are coded, we must determine the correct cycling logic for updating the time-stepping indices in the adjoint model.
How to use/download this branch:
git clone https://github.com/myroms/roms.git
cd roms
git checkout feature/kernel
or
build_roms.sh -j 10 -b feature/kernel
cbuild_roms.sh -j 10 -b feature/kernel
2. Implemented the adaptive, Courant-number-dependent implicit scheme for vertical advection (Shchepetkin, 2015). The vertical velocity is split into explicit (W) and implicit (Wi) parts that adjust automatically to the local flow conditions based on the Courant number for stability, allowing a larger timestep (DT). The 3D momentum equations will contain two vertical advection terms: explicit vertical advection using W in rhs3d.F, which is subject to the specified CPP option (UV_C4Vadvection
by default), and implicit advection term using Wi in step3d_uv.F that is activated with OMEGA_IMPLICIT
. Therefore, the vertical advection of tracers will include the vertical advection terms using W and Wi. Both terms are added separately, as in the momentum equations.
We are still working on the TLM, RPM, and ADM versions of omega.F. Thus, we cannot yet run variational data assimilation (4D-Var) with the new kernels. It is only possible in the multiple executables split 4D-Var to run the nonlinear trajectory used to linearize the TLM and ADM kernels.
Associated Options:
Option | Description |
---|---|
STEP2D_FB_AB3_AM4 | FB AB3-AM4 2D kernel time-stepping algorithm |
STEP2D_CORIOLIS | To include Coriolis term for DT > 20 minutes |
References:
Shchepetkin, A.F. and J.C. McWilliams, 2005: The regional oceanic modeling system (ROMS): a split-explicit, free-surface, topography-following-coordinate oceanic model, Ocean Modelling, 9, 347-404, doi:10.1016/j.ocemod.2004.08.002.
Shchepetkin, A.F., and J.C. McWilliams, 2009: Computational kernel algorithms for fine-scale, multiprocess, longtime oceanic simulations, pp 121-183. In Handbook of Numerical Analysis: Computational Methods for the Atmosphere and Oceans, R.M. Teman and J.J. Tribbia, eds, Elsevier Science.
Shchepetkin, A.F., 2015: An adaptive, Courant-number-dependent implicit scheme for vertical advection in oceanic modeling, Ocean Modelling, 91, 38-69, doi:10.1016/j.ocemod.2015.03.006.
This branch includes the Vortex Force formulation of Uchiyama et al. (2010) that has been added to the ROMS nonlinear kernel, and it is based on COAWST implementation and improvements (Kumar et al., 2012). It can be used in nearshore or shallow coastal applications to allow the effect of waves on current and vice versa. It is activated with the option WEC_VF
and requires wave-forcing data via an input NetCDF file or coupling to a wave model.
How to use/download this branch:
git clone https://github.com/myroms/roms.git
cd roms
git checkout feature/wec
or
build_roms.sh -j 10 -b feature/wec
cbuild_roms.sh -j 10 -b feature/wec
Associated Options:
Option | Description |
---|---|
BOTTOM_STREAMING | To activate wave-enhanced bottom streaming |
ROLLER_SVENDSEN | To activate wave roller based on Svendsen |
ROLLER_MONO | To activate wave roller for monochromatic waves |
ROLLER_RENIERS | To activate wave roller based on Reniers |
SURFACE_STREAMING | To activate wave-enhanced surface streaming |
WAVE_MIXING | To activate enhanced vertical viscosity mixing from waves |
WDISS_CHURTHOR | To activate wave dissipation from Church/Thorton |
WDISS_GAMMA | To activate wave dissipation when using InWave model |
WDISS_ROELVINK | To activate wave dissipation Roelvink when using InWave model |
WDISS_THORGUZA | To activate wave dissipation from Thorton/Guza |
WDISS_WAVEMOD | To activate wave dissipation from a wave model |
WEC | Internal ROMS algorithm |
WEC_VF | To activate wave-current stresses from Uchiyama et al. (2020) |
WET_DRY | To activate wetting and drying |
References:
Kumar, N., G. Voulgaris, J.C. Warner, J.C., and M., Olabarrieta, 2012: Implementation of a vortex force formalism in the coupled ocean-atmosphere-wave-sediment transport (COAWST) modeling system for inner-shelf and surf-zone applications, Ocean Modeling, 47, 65-95, doi:10.1016/j.ocemod.2012.01.003
Uchiyama, Y., J.C. McWilliams, and A.F. Shchepetkin, 2010: Wave current interaction in an oceanic circulation model with a vortex-force formalism: Applications to surf zone, Ocean Modeling, 34, 16-35, doi: 10.1016/j.ocemod.2010.04.002.
ROMS Information and Instructions