Regional Ocean Modeling System
The Regional Ocean Model System (http://www.myroms.org/)
is a free-surface, hydrostatic, primitive equation ocean model
that uses stretched, terrain-following coordinates in the vertical
and orthogonal curvilinear coordinates in the horizontal.
Initially, it was based on the S-coordinate Rutgers University Model (SCRUM)
described by Song and Haidvogel (1994). ROMS was completely rewritten to improve
both its numerics and efficiency in single and multi-threaded computer architectures.
It also was expanded to include a variety of new features including:
- high-order advection schemes;
- accurate pressure gradient algorithms;
- several subgrid-scale parameterizations;
- atmospheric, oceanic, and benthic boundary layers;
- biological modules;
- radiation boundary conditions;
- and data assimilation.
Test case: Model implementation for the
Hamriyah Free Economic Zone, UAE,
Reverse Osmosis desalination plant, inner harbor outfall scenario
The model uses Cartesian grid with horizontal resolution of 10 m.
Domain size: 400x400 grid points with 7 vertical levels.
Sigma (terrain-following) levels are uniformly distributed.
Topography is extracted from prepared bathymetry file for HFZ domain.
Land/sea masking for rho, u, v and psi grids are calculated accordingly.
Grid parameters: pm, pn, x_rho, y_rho, x_psi, y_psi, x_u, y_u, x_v, y_v
are extracted from analytical grid calculated by the model using ANA_GRID option.
Coriolis factor is set to constant f=0.0001 s-1
for setup with open boundary conditions,
analytical tides, analytical salinity input and mm5 surface forcing:
|ANA_BSFLUX || Analytical kinematic bottom salinity flux.
||ANA_BTFLUX || Analytical kinematic bottom temperature flux.
|ANA_FSOBC || Analytical free-surface boundary conditions.
||ANA_INITIAL || Analytical initial conditions.
|ANA_M2OBC || Analytical 2D momentum boundary conditions.
||ANA_PSOURCE || Analytical point sources and sinks.
|ANA_TOBC || Analytical tracers boundary conditions.
||ASSUMED_SHAPE || Using assumed-shape arrays.
|AVERAGES || Writing out time-averaged fields
||AVERAGES_AKS || Writing out time-averaged vertical S-diffusion.
|AVERAGES_AKT || Writing out time-averaged vertical T-diffusion.
||BULK_FLUXES || Surface bulk fluxes parametererization.
|DJ_GRADPS || Parabolic Splines density Jacobian (Shchepetkin, 2002).
||DOUBLE_PRECISION || Double precision arithmetic.
|EASTERN_WALL || Wall boundary at Eastern edge.
||EMINUSP || Compute Salt Flux using E-P.
|LMD_BKPP || KPP bottom boundary layer mixing.
||LMD_CONVEC || LMD convective mixing due to shear instability.
|LMD_MIXING || Large/McWilliams/Doney interior mixing.
||LMD_NONLOCAL || LMD convective nonlocal transport.
|LMD_RIMIX || LMD diffusivity due to shear instability.
||LMD_SKPP || KPP surface boundary layer mixing.
|LONGWAVE_OUT || Compute outgoing longwave radiation internally.
||MASKING || Land/Sea masking.
|MIX_GEO_TS || Mixing of tracers along geopotential surfaces.
||NONLINEAR || Nonlinear Model.
|NONLIN_EOS || Nonlinear Equation of State for seawater.
||NORTH_FSCHAPMAN || Northern edge, free-surface, Chapman condition.
|NORTH_M2FLATHER || Northern edge, 2D momentum, Flather condition.
||NORTH_M3RADIATION|| Northern edge, 3D momentum, radiation condition.
|NORTH_TRADIATION || Northern edge, tracers, radiation condition.
||_OPENMP || OpenMP parallel shared-memory directives.
|POWER_LAW || Power-law shape time-averaging barotropic filter.
||PROFILE || Time profiling activated .
|!RST_SINGLE || Double precision fields in restart NetCDF file.
||SALINITY || Using salinity.
|SOLVE3D || Solving 3D Primitive Equations.
||SOUTH_FSCHAPMAN || Southern edge, free-surface, Chapman condition.
|SOUTH_M2FLATHER || Southern edge, 2D momentum, Flather condition.
||SOUTH_M3RADIATION|| Southern edge, 3D momentum, radiation condition.
|SOUTH_TRADIATION || Southern edge, tracers, radiation condition.
||SPLINES || Conservative parabolic spline reconstruction.
|STATIONS || Writing out station data.
||TS_A4HADVECTION || Fourth-order Akima horizontal advection of tracers.
|TS_A4VADVECTION || Fourth-order Akima vertical advection of tracers.
||TS_DIF2 || Harmonic mixing of tracers.
|TS_PSOURCE || Tracers point sources and sinks.
||UV_ADV || Advection of momentum.
|UV_COR || Coriolis term.
||UV_U3HADVECTION || Third-order upstream horizontal advection of 3D momentum.
|UV_C4VADVECTION || Fourth-order centered vertical advection of momentum.
||UV_QDRAG || Quadratic bottom stress.
|UV_PSOURCE || Mass point sources and sinks.
||VAR_RHO_2D || Variable density barotropic mode.
|WEST_FSCHAPMAN || Western edge, free-surface, Chapman condition.
||WEST_M2FLATHER || Western edge, 2D momentum, Flather condition.
|WEST_M3RADIATION || Western edge, 3D momentum, radiation condition.
||WEST_TRADIATION || Western edge, tracers, radiation condition.
|WET_DRY || Wetting and drying activated.
Initial temperature and salinity are set to background values.
Background temperature T0 = 25°C.
Background salinity S0 = 40 psu.
Initial velocities and sea surface height are set to zero.
Lateral boundary conditions
In scenario with open boundary conditions, South, North and West boundary have prescribed radiation condition for tracers and 3D momentum, Chapman condition for sea surface height and Flather conditions for 2D momentum.
Tides are prescribed on the northern boundary with analytical function:
ssh = A * sin( 2 * pi * time / (12 * 3600) ),
where A= -0.05m (-0.9 m for scenario "HFZ tides MM5").
No velocities are prescribed on the lateral boundaries, while tracer values are set to background values.
In scenario with closed boundary conditions, walls are defined for all lateral boundaries (zero velocities, no radiation).
Surface boundary conditions
In scenarios with MM5 surface forcing, real-time MM5 forecast output is used to force the model. MM5 timeseries at ROMS HFZ longitude/latitude are extracted for 24 hours, output every 60 minutes.
(Note: maximal resolution of MM5 output is 3 km, while ROMS HFZ domain extent is 4km).
Following variables are extracted from MM5 and interpolated on ROMS HFZ grid:
Surface fluxes are calculated within the model using bulk formulas (BULK_FLUXES option). Evaporation is calculated in the model and saved as output variable.
- PSTARTCRS, PTORP, PP - pressure
- T2 - temperature at 2 m
- Q2 - humidity at 2 m
- U10 - u-wind at 10 m
- V10 - v-wind at 10m
- SWDOWN - shortwave downward radiation
- LWDOWN - longwave downward radiation
- RAIN_CON, RAIN_NON - convective and non-convective rain
Brine input in the model is introduced as salinity point source in the HFZ port channel.
Position of the source is at the land/sea boundary (coordinates i=203, j=158).
Input flux equals to 0.5 m3/s with brine salinity of 60 psu.
Salinity input is equally distributed between levels 3, 4 and 5.
Available scenarios have constant salinity input. Time-dependant salinity release was tested.
ROMS results are organized into ROMS scenarios. Each scenario refers to 24 hours period of model output. Additional 5 days scenario named "TOTAL" are given for overview consisting from joined 5 sequential model outputs.
ROMS scenario displays following ocean variables: temperature, salinity, 3D currents, salinity increase, sea surface height, timeseries of evaporation, input of brine and vertical averaged salinity at the observational station.
Salinity increase is defined as (salinity - default_salinity)/default_salinity*1000.
Each ROMS scenario with surface forcing has corresponding MM5 scenario where atmospheric
conditions are displayed for the ROMS domain. The extraction of MM5 data for ROMS domain
can be done automatically by saving MM5 timeseries into the MM5 domain station,
which can be read by a ROMS preprocessing function that interpolates MM5 data
on the ROMS grid and create atmospheric forcing fields in the real-time.