0% found this document useful (0 votes)
145 views

Turuncoglu and Curchitser ROMS Tutorial

This document provides an overview of the Regional Ocean Modeling System (ROMS) including its key assumptions and applications. It outlines the requirements for running ROMS such as grid generation, initial and boundary conditions, and atmospheric forcing. The document then describes installing ROMS which involves obtaining the source code, customizing build options, and running test cases. It provides details on grid generation and smoothing techniques as well as converting ROMS' s-coordinate vertical grid to depth for analysis.

Uploaded by

Grimaldo Apaza
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
145 views

Turuncoglu and Curchitser ROMS Tutorial

This document provides an overview of the Regional Ocean Modeling System (ROMS) including its key assumptions and applications. It outlines the requirements for running ROMS such as grid generation, initial and boundary conditions, and atmospheric forcing. The document then describes installing ROMS which involves obtaining the source code, customizing build options, and running test cases. It provides details on grid generation and smoothing techniques as well as converting ROMS' s-coordinate vertical grid to depth for analysis.

Uploaded by

Grimaldo Apaza
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 14





ROMS (Regional Ocean Modeling System)
Tutorial

Enrique Curchitser(1) & Ufuk Turuncoglu(2,3)

(1) Rutgers University, Department of Environmental Sciences, US
(2) Istanbul Technical University, Informatics Institute, Turkey
(3) ICTP, Earth System Physics Section, Italy

28 Sept. – 1 Oct. 2015: School on Ocean Climate Modelling: Physical and Biogeochemical Dynamics
of Semi- Enclosed Seas (smr2711)
Outline
•  Introduction to ROMS
–  Requirements
–  Key issues about grid generation
–  Initial and boundary conditions
•  Installation
•  Test case (UPWELLING)
Regional Ocean Modeling System (ROMS)
•  It is a three-dimensional, free-surface, terrain-following (via s-
coordinates) numerical model.
•  Assumptions:
–  Boussinesq (density is nearly constant)
•  It simplifies equation of motion
•  water is incompressible
•  velocities in the ocean is small compared with speed of sound
•  vertical scale of motion is also small
–  Hydrostatic (neglect of inertial accelerations in the vertical
momentum eq.)
•  It simplifies vertical component of the velocity
•  Strict hydrostatic balance in all scales
•  Wide range of applications
•  More info: http://www.people.arsc.edu/~kate/ROMS/manual_2012.pdf
Atmospheric 
Grid Generation   Requirements Forcing  

Initial and Boundary


Condition  

T, S, U, V, ZETA  

Heat +
Simulation   Momentum
Fluxes or
Atm. Cond.  

Model input
parameters  
Grid Generation
•  Realistic and/or analytic
•  ROMS uses s-coordinate in
vertical and it follows bathymetry
•  The distribution of vertical layers 
can be controlled using set of 
parameters
•  In horizontal, curvilinear grid is
supported
•  Grid Generation Tools:
–  MATLAB: SeaGrid, Gridgen, EasyGrid …
–  Python: octant, pyroms, …
–  Analytic grid can be also defined using Fortran
•  The grid generation plays crucial role in the stability
Grid Generation
Hsmooth-Hraw  
•  Bathymetry smoothing:

•  Grid stiffness ratios:


" Δh % " h −h % Beckman & Haidvogel Number (1993)
rxo = max $ ' = max $ i i−1 '
# 2h & # hi + hi−1 ) & Reduced by smoothing < 0.25

"z −z % Haney Number (1991)


i, j,k i−1, j,k + zi, j,k−1 − zi−1, j,k−1
rx1 = max $$ '' Reduced by smoothing and vert. coordinate
# zi, j,k + zi−1, j,k − zi, j,k−1 − zi−1, j,k−1 & modification < 6.0

•  Tool: Matlab smoothing toolbox (LP_Bathymetry)


http://drobilica.irb.hr/~mathieu/Bathymetry/
Initial and Lateral Boundary Conditions
•  Realistic and/or analytic
•  Requires (3d for IC and 2d for Lateral BC)
–  salinity,
–  temperature
–  current (u and v)
–  sea surface height fields.
•  The input files are defined in netCDF format
•  The input files should be recreated when the horizontal and
vertical grid changed!
–  There is no need to change files for atmospheric forcing if
horizontal grid is same
•  Atmospheric forcing
–  Momentum, heat and freshwater fluxes or atmospheric conditions
Installation
•  The code is distributed using SVN repository
•  Users need to register to access the code
https://www.myroms.org/index.php?page=RomsCode
•  Get code
svn checkout https://www.myroms.org/svn/src/trunk MyDir
•  Directories

OS/Architecture/compiler specific files  

ROMS source code, files related with test cases  


Installation
•  Directories under ROMS/

ROMS build script, build.sh  

Input parameter files for tests, *.in and varinfo.dat  


Files to create analytic initial and boundary conditions  
Option files for test cases, CPP options  

Source files for non-linear model  

Source files for utility modules  


Installation
•  Main steps:
–  Modify build environment (i.e. Compilers/Linux-ifort.mk)
•  External libraries (netCDF, HDF etc.)
•  MPI compiler (OpenMPI, IntelMPI, …)
•  OpenMP ?
–  Copy build script from ROMS/Bin/build.sh to installation directory
–  Create or copy application specific header file
•  CPP options for model customization
–  Edit build.sh
•  Case identifier (i.e. UPWELLING)
•  Specify source directory
•  MPI, compiler definitions
–  Run build script to install model, ./build.sh
Installation
•  Application specific options are defined by CPP definitions
•  CPP definitions act as a filter to create customized model
source code
•  CPP options include:
–  Momentum equations (mixing, advection, bottom friction, …)
–  Tracer equations (mixing, advection, relaxation, rivers …)
–  Pressure gradient algorithm
–  Atmospheric boundary conditions (i.e. bulk flux alg.)
–  Analytical field definitions (grid, initial conditions etc.)
–  Vertical mixing parameterizations (GLS, MY, LMD, …)
–  Open boundary conditions
–  Biological (i.e. NPZD, EcoSim) + Sediment Transport models
–  Sea-ice …
Test case
•  Wind-Driven Upwelling/Downwelling over a Periodic Channel

Initial Condition
•  Temperature stratification
•  No motion (u, v and w = 0)

Boundary Condition
•  Uniform wind blowing from east to west at 0.1 Pa
S-coordinate to depth
•  ROMS_TOOLS is an alternative to MATLAB toolbox
•  It is written in NCL
•  Usage
–  Get script
git clone https://github.com/uturuncoglu/ROMS_TOOLS.git
–  Edit ROMS_convert_s2z.ncl and specify desired depth levels and
list of variables
–  Run script using ncl ROMS_convert_s2z.ncl command
–  Warnings written at the beginning can be ignored. It is about
defining dimensions that are already defined in the result file
Questions!
Contact:
Personal web: http://faculty.itu.edu.tr/turuncogl1/
E-mail: [email protected]

You might also like