*********
Overview
*********
CROCO solves the primitive equations in an Earth-centered rotating environment.
It is discretized in coastline- and terrain-following curvilinear coordinates
using high-order numerical methods. It is a split-explicit, free-surface ocean model,
where short time steps are used to advance the surface elevation and barotropic
momentum, with a much larger time step used for temperature, salinity, and
baroclinic momentum.
The complete time stepping algorithm is described in :cite:t:`shchepetkin_regional_2005`;
see also :cite:t:`soufflet_effective_2016`. The model has a 2-way time-averaging procedure
for the barotropic mode, which satisfies the 3D continuity equation. The specially designed
3rd order predictor-corrector time step algorithm allows a substantial increase in the
permissible time-step size.
Combined with the 3rd order time-stepping, a 3rd- or 5th-order, upstream-biased horizontal
advection scheme (alternatively WENO or TVD for monotonicity preservation) allows the
generation of steep gradients, enhancing the effective resolution of the solution for a given grid size
:cite:p:`shchepetkin_quasi-monotone_1998,soufflet_effective_2016,menesguen_destabilization_2018,borges_improved_2008`.
Because of the implicit diffusion in upstream advection schemes, explicit lateral viscosity is
not needed in CROCO for damping numerical dispersion errors.
For vertical advection, SPLINE or WENO5 schemes are proposed (besides lower-order schemes).
For SPLINES (default), an option for an adaptive, Courant-number-dependent implicit scheme
is propose that has the advantage to render vertical advection unconditionally stable while
maintaining good accuracy in locations with small Courant numbers :cite:p:`shchepetkin_adaptive_2015`.
This is also available for tracers.
Tracers are treated similarly to momentum. A 3rd- or 5th-order upstream-biased horizontal advection
scheme is implemented, but in regional configurations the diffusion part of this scheme is rotated
along isopycnal surfaces to avoid spurious diapycnal mixing and loss of water masses
:cite:p:`marchesiello_eddy_2009,lemarie_stability_2012`. For regional/coastal applications,
a highly accurate pressure gradient scheme :cite:p:`shchepetkin_method_2003` limits the other
type of errors (besides spurious diacpynal mixing) frequently associated with terrain-following
coordinate models.
If a lateral boundary faces the open ocean, an active, implicit, upstream biased, radiation
condition connects the model solution to the surroundings :cite:p:`marchesiello_open_2001`. It
comes with sponge layers for a better transition between interior and boundary solutions (explicit
Laplacian diffusion and/or newtonian damping)
For nearshore problems, where waves becomes the dominant forcing of circulation, a vortex-force
formalism for the interaction of surface gravity waves and currents is implemented in CROCO
:cite:p:`uchiyama_wavecurrent_2010`.
CROCO can be used either as a Boussinesq/hystrostatic model, or a non-hydrostatic/non-Boussinesq
model (NBQ; :cite:t:`auclair_non-hydrostatic_2018`). The NBQ solver is relevant in problems from
a few tens of meters to LES or DNS resolutions. It comes with shock-capturing advection schemes
(WENO5, TVD) and fully 3D turbulent closure schemes (GLS, Smagorinsky).
CROCO includes a variety of additional features, e.g., 1D turbulent closure schemes (KPP, GLS)
for surface and benthic boundary layers and interior mixing; wetting and drying; sediment and
biological models; AGRIF interface for 2-way nesting; OASIS coupler for ocean-waves-atmosphere
coupling...