Next:
Abstract / Résumé
Up:
NEMO ocean engine
Previous:
NEMO ocean engine
Index
Contents
Introduction
Model basics
Primitive Equations
Vector Invariant Formulation
Boundary Conditions
The Horizontal Pressure Gradient
Pressure Formulation
Free Surface Formulation
Curvilinear z-coordinate System
Tensorial Formalism
Continuous Model Equations
Curvilinear generalised vertical coordinate System
The s-coordinate Formulation
Curvilinear z*-coordinate System
Curvilinear Terrain-following s-coordinate
Curvilinear
-coordinate
Subgrid Scale Physics
Vertical Subgrid Scale Physics
Formulation of the Lateral Diffusive and Viscous Operators
Time Domain (STP)
Time stepping environment
Non-Diffusive Part -- Leapfrog Scheme
Diffusive Part -- Forward or Backward Scheme
Hydrostatic Pressure Gradient -- semi-implicit scheme
The Modified Leapfrog - Asselin Filter scheme
Start/Restart strategy
Space Domain (DOM)
Fundamentals of the Discretisation
Arrangement of Variables
Discrete Operators
Numerical Indexing
Domain: Horizontal Grid (mesh) (domhgr.F90 module)
Coordinates and scale factors
Choice of horizontal grid
Output Grid files
Domain: Vertical Grid (domzgr.F90 module)
Meter Bathymetry
-coordinate (
ln_zco
-coordinate with partial step (
ln_zps
)
-coordinate (
ln_sco
)
- or
-coordinate (add
key_ vvl
)
level bathymetry and mask
Domain: Initial State (istate.F90 and dtatsd.F90 modules)
Ocean Tracers (TRA)
Tracer Advection (traadv.F90)
order centred scheme (cen2) (
ln_traadv_cen2
)
Total Variance Dissipation scheme (TVD) (ln_traadv_tvd=true)
Monotone Upstream Scheme for Conservative Laws (MUSCL) (ln_traadv_muscl=T)
Upstream-Biased Scheme (UBS) (ln_traadv_ubs=true)
QUICKEST scheme (QCK) (ln_traadv_qck=true)
Tracer Lateral Diffusion (traldf.F90)
Iso-level laplacian operator (lap) (ln_traldf_lap=true)
Rotated laplacian operator (iso) (ln_traldf_lap=true)
Iso-level bilaplacian operator (bilap) (ln_traldf_bilap=true)
Rotated bilaplacian operator (bilapg) (ln_traldf_bilap=true)
Tracer Vertical Diffusion (trazdf.F90)
External Forcing
Surface boundary condition (trasbc.F90)
Solar Radiation Penetration (traqsr.F90)
Bottom Boundary Condition (trabbc.F90)
Bottom Boundary Layer (trabbl.F90 - key_ trabbl)
Diffusive Bottom Boundary layer (nn_bbl_ldf=1)
Advective Bottom Boundary Layer (nn_bbl_adv= 1 or 2)
Tracer damping (tradmp.F90)
Generating resto.nc using DMP_TOOLS
Tracer time evolution (tranxt.F90)
Equation of State (eosbn2.F90)
Equation Of Seawater (nn_eos = -1, 0, or 1)
Brunt-Väisälä Frequency (nn_eos = 0, 1 or 2)
Freezing Point of Seawater
Horizontal Derivative in zps-coordinate (zpshde.F90)
Ocean Dynamics (DYN)
Sea surface height and diagnostic variables (
,
,
,
)
Horizontal divergence and relative vorticity (divcur.F90)
Horizontal divergence and relative vorticity (sshwzv.F90)
Coriolis and Advection: vector invariant form
Vorticity term (dynvor.F90)
Kinetic Energy Gradient term (dynkeg.F90)
Vertical advection term (dynzad.F90)
Coriolis and Advection: flux form
Coriolis plus curvature metric terms (dynvor.F90)
Flux form Advection term (dynadv.F90)
Hydrostatic pressure gradient (dynhpg.F90)
-coordinate with full step (
ln_dynhpg_zco
)
-coordinate with partial step (
ln_dynhpg_zps
)
- and
-
-coordinates
Ice shelf cavity
Time-scheme (ln_dynhpg_imp= true/false)
Surface pressure gradient (dynspg.F90)
Explicit free surface (key_ dynspg_exp)
Split-Explicit free surface (key_ dynspg_ts)
Filtered free surface (key_ dynspg_flt)
Lateral diffusion term (dynldf.F90)
Iso-level laplacian operator (ln_dynldf_lap=true)
Rotated laplacian operator (ln_dynldf_iso=true)
Iso-level bilaplacian operator (ln_dynldf_bilap=true)
Vertical diffusion term (dynzdf.F90)
External Forcings
Time evolution term (dynnxt.F90)
Neptune effect (dynnept.F90)
Surface Boundary Condition (SBC, ISF, ICB)
Surface boundary condition for the ocean
Input Data generic interface
Input Data specification (fldread.F90)
Interpolation on-the-Fly
Standalone Surface Boundary Condition Scheme
Analytical formulation (sbcana.F90 module)
Flux formulation (sbcflx.F90 module)
Bulk formulation (sbcblk_core.F90 sbcblk_clio.F90 sbcblk_mfs.F90 modules)
CORE Bulk formulea (ln_core=true, sbcblk_core.F90)
CLIO Bulk formulea (ln_clio=true, sbcblk_clio.F90)
MFS Bulk formulea (ln_mfs=true, sbcblk_mfs.F90)
Coupled formulation (sbccpl.F90 module)
Atmospheric pressure (sbcapr.F90)
Tidal Potential (sbctide.F90)
River runoffs (sbcrnf.F90)
Ice shelf melting (sbcisf.F90)
Handling of icebergs (ICB)
Miscellaneous options
Diurnal cycle (sbcdcy.F90)
Rotation of vector pairs onto the model grid directions
Surface restoring to observed SST and/or SSS (sbcssr.F90)
Handling of ice-covered area (sbcice_...)
Interface to CICE (sbcice_cice.F90)
Freshwater budget control (sbcfwb.F90)
Neutral drag coefficient from external wave model (sbcwave.F90)
Lateral Boundary Condition (LBC)
Boundary Condition at the Coast (rn_shlat)
Model Domain Boundary Condition (jperio)
Closed, cyclic, south symmetric (jperio = 0, 1 or 2)
North-fold (
jperio = 3
to
)
Exchange with neighbouring processors (lbclnk.F90, lib_mpp.F90)
Unstructured Open Boundary Conditions (key_ bdy) (BDY)
The namelists
The Flow Relaxation Scheme
The Flather radiation scheme
Boundary geometry
Input boundary data files
Volume correction
Tidal harmonic forcing
Lateral Ocean Physics (LDF)
Lateral Mixing Coefficient (ldftra.F90, ldfdyn.F90)
Direction of Lateral Mixing (ldfslp.F90)
slopes for tracer geopotential mixing in the
-coordinate
Slopes for tracer iso-neutral mixing
slopes for momentum iso-neutral mixing
Eddy Induced Velocity (traadv_eiv.F90, ldfeiv.F90)
Vertical Ocean Physics (ZDF)
Vertical Mixing
Constant (key_ zdfcst)
Richardson Number Dependent (key_ zdfric)
TKE Turbulent Closure Scheme (key_ zdftke)
TKE discretization considerations (key_ zdftke)
GLS Generic Length Scale (key_ zdfgls)
K Profile Parametrisation (KPP) (key_ zdfkpp)
Convection
Non-Penetrative Convective Adjustment (ln_tranpc=.true.)
Enhanced Vertical Diffusion (ln_zdfevd=true)
Turbulent Closure Scheme (key_ zdftke or key_ zdfgls)
Double Diffusion Mixing (key_ zdfddm)
Bottom and Top Friction (zdfbfr.F90 module)
Linear Bottom Friction (nn_botfr = 0 or 1)
Non-Linear Bottom Friction (nn_botfr = 2)
Log-layer Bottom Friction enhancement (nn_botfr = 2, ln_loglayer = .true.)
Bottom Friction stability considerations
Implicit Bottom Friction (
ln_bfrimp
T
)
Bottom Friction with split-explicit time splitting (
ln_bfrimp
F
)
Tidal Mixing (key_ zdftmx)
Bottom intensified tidal mixing
Indonesian area specific treatment (ln_zdftmx_itf)
Internal wave-driven mixing (key_ zdftmx_new)
Output and Diagnostics (IOM, DIA, TRD, FLO)
Old Model Output (default or key_ dimgout)
Standard model Output (IOM)
XIOS: the IO_SERVER
Practical issues
XML fundamentals
Detailed functionalities
XML reference tables
CF metadata standard compliance
NetCDF4 Support (key_ netcdf4)
Tracer/Dynamics Trends (namtrd)
On-line Floats trajectories (FLO) (key_ floats)
Harmonic analysis of tidal constituents (key_ diaharm)
Transports across sections (key_ diadct)
Other Diagnostics (key_ diahth, key_ diaar5)
Diagnosing the Steric effect in sea surface height
Observation and model comparison (OBS)
Running the observation operator code example
Technical details
Profile feedback type observation file header
Sea level anomaly feedback type observation file header
Sea surface temperature feedback type observation file header
Theoretical details
Horizontal interpolation methods
Grid search
Parallel aspects of horizontal interpolation
Vertical interpolation operator
Offline observation operator
Concept
Using the offline observation operator
Configuring the offline observation operator
Advanced usage
Observation Utilities
Obstools
building the obstools
Dataplot
Apply assimilation increments (ASM)
Direct initialization
Incremental Analysis Updates
Divergence damping initialisation
Implementation details
Stochastic parametrization of EOS (STO)
Stochastic processes
Implementation details
Miscellaneous Topics
Representation of Unresolved Straits
Hand made geometry changes
Cross Land Advection (tracla.F90)
Closed seas (closea.F90)
Sub-Domain Functionality (jpizoom, jpjzoom)
Simple subsetting of input files via netCDF attributes
Accelerating the Convergence (nn_acc = 1)
Accuracy and Reproducibility (lib_fortran.F90)
Issues with intrinsinc SIGN function (key_ nosignedzero)
MPP reproducibility
MPP scalability
Model Optimisation, Control Print and Benchmark
Elliptic solvers (SOL)
Successive Over Relaxation (nn_solv=2, solsor.F90)
Preconditioned Conjugate Gradient (nn_solv=1, solpcg.F90)
Configurations
Introduction
Water column model: 1D model (C1D) (key_ c1d)
ORCA family: global ocean with tripolar grid
ORCA tripolar grid
ORCA pre-defined resolution
GYRE family: double gyre basin
EEL family: periodic channel
AMM: atlantic margin configuration
Curvilinear
Coordinate Equations
The chain rule for
coordinates
Continuity Equation in
coordinates
Momentum Equation in
coordinate
Tracer Equation
Appendix B : Diffusive Operators
Horizontal/Vertical 2nd Order Tracer Diffusive Operators
Iso/diapycnal 2nd Order Tracer Diffusive Operators
Lateral/Vertical Momentum Diffusive Operators
Discrete Invariants of the Equations
Introduction / Notations
Continuous conservation
Discrete total energy conservation : vector invariant form
Total energy conservation
Vorticity term (coriolis + vorticity part of the advection)
Pressure Gradient Term
Discrete total energy conservation : flux form
Total energy conservation
Coriolis and advection terms: flux form
Discrete enstrophy conservation
Conservation Properties on Tracers
Advection Term
Conservation Properties on Lateral Momentum Physics
Conservation of Potential Vorticity
Dissipation of Horizontal Kinetic Energy
Dissipation of Enstrophy
Conservation of Horizontal Divergence
Dissipation of Horizontal Divergence Variance
Conservation Properties on Vertical Momentum Physics
Conservation Properties on Tracer Physics
Conservation of Tracers
Dissipation of Tracer Variance
Iso-neutral diffusion and eddy advection using triads
Choice of namtra_ldf namelist parameters
Triad formulation of iso-neutral diffusion
The iso-neutral diffusion operator
The standard discretization
Expression of the skew-flux in terms of triad slopes
The full triad fluxes
Ensuring the scheme does not increase tracer variance
Triad volumes in Griffes's scheme and in NEMO
Summary of the scheme
Treatment of the triads at the boundaries
Limiting of the slopes within the interior
Tapering within the surface mixed layer
Eddy induced advection formulated as a skew flux
The continuous skew flux formulation
The discrete skew flux formulation
Treatment of the triads at the boundaries
Limiting of the slopes within the interior
Tapering within the surface mixed layer
Streamfunction diagnostics
Coding Rules
The program structure
Coding conventions
Naming Conventions
The program structure
Index
Bibliography
Gurvan Madec and the NEMO Team
NEMO European Consortium
2017-02-17