Nesting Algorithm Development ROMS 3.6 -r605 ROMS 3.6 -r605 ROMS 3.7 -rXXX ROMS 3.7 -rXXX NOAA...

47
e a n M o d a r c h C o m r a i n -F o l l o w M o d e l i n g Nesting Algorithm Development ROMS 3.6 -r605 ROMS 3.7 -rXXX NOAA Headquarters Washington, D.C February 28, 2012 Hernan G. Arango IMCS, Rutgers University

Transcript of Nesting Algorithm Development ROMS 3.6 -r605 ROMS 3.6 -r605 ROMS 3.7 -rXXX ROMS 3.7 -rXXX NOAA...

Page 1: Nesting Algorithm Development ROMS 3.6 -r605 ROMS 3.6 -r605 ROMS 3.7 -rXXX ROMS 3.7 -rXXX NOAA Headquarters Washington, D.C February 28, 2012 Hernan G.

ean M od

arch C o m

r a i n - F o l l o w

M o d e l i n g

Nesting Algorithm Development ROMS 3.6 -r605 ROMS 3.7 -rXXX

NOAA HeadquartersWashington, D.C

February 28, 2012

Hernan G. ArangoIMCS, Rutgers University

Page 2: Nesting Algorithm Development ROMS 3.6 -r605 ROMS 3.6 -r605 ROMS 3.7 -rXXX ROMS 3.7 -rXXX NOAA Headquarters Washington, D.C February 28, 2012 Hernan G.

Acknowledgements

Andrew M. MooreU. California Santa CruzAdjoint-Based Algorithms

Alexander F. ShchepetkinU. California Los AngelesNonlinear Kernel

David J. RobertsonIMCS, Rutgers UniversityCyber Infrastructure

Kate S. HedstromU. Alaska, FairbanksUser Community Forum

John C. WarnerUSGS, WHOISediment Transport, Nesting

Page 3: Nesting Algorithm Development ROMS 3.6 -r605 ROMS 3.6 -r605 ROMS 3.7 -rXXX ROMS 3.7 -rXXX NOAA Headquarters Washington, D.C February 28, 2012 Hernan G.

Development Strategy

The nesting option is implemented in three phases:

• Phase I, released on April 2011 as version 3.5: Change ROMS numerical kernels (NLM, TLM, RPM, ADM) to allow different horizontal i- and j-ranges in DO-loops to permit operations on various nested grid classes (refinement, mosaics, and composite) and nesting layers (refinement and composite combinations).

This facilitates the computation of any horizontal operator (advection, diffusion, gradient, etc.) in the nesting overlap regions and avoids the need for cumbersome lateral boundary conditions on the model variables and their associated flux/gradient values. The advantage of this approach is that it is generic to any discrete horizontal operator. The overlap region is an extended section of the grid that overlays an adjacent grid.

The strategy is to compute the full horizontal operator at the contact points between nested grids instead of specifying boundary conditions.

Page 4: Nesting Algorithm Development ROMS 3.6 -r605 ROMS 3.6 -r605 ROMS 3.7 -rXXX ROMS 3.7 -rXXX NOAA Headquarters Washington, D.C February 28, 2012 Hernan G.

Tile I- and J-Ranges

Istr = BOUNDS(ng) % Istr(tile)

IstrB = BOUNDS(ng) % IstrB(tile)

IstrM = BOUNDS(ng) % IstrM(tile)

IstrP = BOUNDS(ng) % IstrP(tile)

IstrR = BOUNDS(ng) % IstrR(tile)

IstrT = BOUNDS(ng) % IstrT(tile)

IstrU = BOUNDS(ng) % IstrU(tile)

Iend = BOUNDS(ng) % Iend(tile)

IendB = BOUNDS(ng) % IendB(tile)

IendP = BOUNDS(ng) % IendP(tile)

IendR = BOUNDS(ng) % IendR(tile)

IendT = BOUNDS(ng) % IendT(tile)

Jstr = BOUNDS(ng) % Jstr(tile)

JstrB = BOUNDS(ng) % JstrB(tile)

JstrM = BOUNDS(ng) % JstrM(tile)

JstrP = BOUNDS(ng) % JstrP(tile)

JstrR = BOUNDS(ng) % JstrR(tile)

JstrT = BOUNDS(ng) % JstrT(tile)

JstrV = BOUNDS(ng) % JstrV(tile)

Jend = BOUNDS(ng) % Jend(tile)

JendB = BOUNDS(ng) % JendB(tile)

JendP = BOUNDS(ng) % JendP(tile)

JendR = BOUNDS(ng) % JendR(tile)

JendT = BOUNDS(ng) % JendT(tile)

Istrm3 = BOUNDS(ng) % Istrm3 (tile) Istr-3Istrm2 = BOUNDS(ng) % Istrm2 (tile) Istr-2Istrm1 = BOUNDS(ng) % Istrm1 (tile) Istr-1IstrUm2 = BOUNDS(ng) % IstrUm2 (tile) IstrU-2IstrUm1 = BOUNDS(ng) % IstrUm1 (tile) IstrU-1

Iendp1 = BOUNDS(ng) % Iendp1 (tile) Iend+1Iendp2 = BOUNDS(ng) % Iendp2 (tile) Iend+2Iendp2i = BOUNDS(ng) % Iendp2i (tile) Iend+2 interior Iendp3 = BOUNDS(ng) % Iendp3 (tile) Iend+3

Jstrm3 = BOUNDS(ng) % Jstrm3 (tile) Jstr-3Jstrm2 = BOUNDS(ng) % Jstrm2 (tile) Jstr-2Jstrm1 = BOUNDS(ng) % Jstrm1 (tile) Jstr-1JstrVm2 = BOUNDS(ng) % JstrVm2 (tile) JstrV-2JstrVm1 = BOUNDS(ng) % JstrVm1 (tile) JstrV-1 Jendp1 = BOUNDS(ng) % Jendp1 (tile) Jend+1Jendp2 = BOUNDS(ng) % Jendp2 (tile) Jend+2Jendp2i = BOUNDS(ng) % Jendp2i (tile) Jend+2 interiorJendp3 = BOUNDS(ng) % Jendp3 (tile) Jend+3

Suffix:

R : tile RHO-points B : Boundary tile RHO- and V-pointsU : tile U-points M: Boundary tile PSI- and U-pointsV : tile V-points P : Nesting PSI-, U-, and V-points

T : Nesting RHO-points

Page 5: Nesting Algorithm Development ROMS 3.6 -r605 ROMS 3.6 -r605 ROMS 3.7 -rXXX ROMS 3.7 -rXXX NOAA Headquarters Washington, D.C February 28, 2012 Hernan G.

If not nesting grids, the additional boundary tile indices associated with nesting are set to:

IstrT = IstrR full range, starting I- direction (RHO-point)IendT = IendR full range, ending I- direction (RHO-point) JstrT = JstrR full range, starting J-direction (RHO-point)JendT = JendR full range, ending J-direction (RHO-point)

IstrP = Istr full range, starting I- direction (PSI-, U-point)IendP = Iend full range, ending I- direction (PSI-point)JstrP = Jstr full range, starting J-direction (PSI-, V-point)JendP = Jend full range, ending J-direction (PSI-point)

IstrB = Istr interior range, starting I- direction (RHO-, V-point)IendB = Iend interior range, ending I- direction (RHO-, V-point)JstrB = Jstr interior range, starting J-direction (RHO-, U-

point)JendB = Jend interior range, ending J-direction (RHO-, U-

point)

IstrM = IstrU interior range, starting I- direction (PSI-, U-point)JstrM = JstrV interior range, starting J-direction (PSI-, V-point)

Boundary Tile Indices

Page 6: Nesting Algorithm Development ROMS 3.6 -r605 ROMS 3.6 -r605 ROMS 3.7 -rXXX ROMS 3.7 -rXXX NOAA Headquarters Washington, D.C February 28, 2012 Hernan G.

Boundary Tile Indices Locations

Page 7: Nesting Algorithm Development ROMS 3.6 -r605 ROMS 3.6 -r605 ROMS 3.7 -rXXX ROMS 3.7 -rXXX NOAA Headquarters Washington, D.C February 28, 2012 Hernan G.

mod_param.F

Page 8: Nesting Algorithm Development ROMS 3.6 -r605 ROMS 3.6 -r605 ROMS 3.7 -rXXX ROMS 3.7 -rXXX NOAA Headquarters Washington, D.C February 28, 2012 Hernan G.

get_bounds.F

Page 9: Nesting Algorithm Development ROMS 3.6 -r605 ROMS 3.6 -r605 ROMS 3.7 -rXXX ROMS 3.7 -rXXX NOAA Headquarters Washington, D.C February 28, 2012 Hernan G.

Development Strategy

• Phase II, released on September 2011 as version 3.6: Major overhaul of ROMS lateral boundary conditions . All C-preprocessing options were eliminated and replaced with logical switches (LBC structure) that depend on the nested grid, if any.

This facilitates, in a generic way, the processing or not of lateral boundary conditions in applications with nested grids. In nesting applications, the values at the lateral boundary points are computed directly in the overlap region by the numerical kernel.

The logical switches allow different lateral boundary conditions types between active (temperature and salinity) and passive (biology, sediment, inert, etc.) tracers.

The lateral boundary condition switches for each state variable and boundary edge are now specified in ROMS input script file, ocean.in.

Page 10: Nesting Algorithm Development ROMS 3.6 -r605 ROMS 3.6 -r605 ROMS 3.7 -rXXX ROMS 3.7 -rXXX NOAA Headquarters Washington, D.C February 28, 2012 Hernan G.

Lateral Boundary Conditions Structure

TYPE T_LBC logical :: acquire process lateral boundary data

logical :: Chapman logical :: clamped logical :: closed logical :: Flather logical :: gradient logical :: nested logical :: nudging logical :: periodic logical :: radiation logical :: reduced END TYPE T_LBC

TYPE (T_LBC), allocatable :: LBC(:,:,:)

For example, for free-surface gradient boundary conditions we have:

LBC(iwest, isFsur, ng) % gradientLBC(ieast, isFsur, ng) % gradientLBC(isouth, isFsur, ng) % gradientLBC(inorth, isFsur, ng) % gradient

Page 11: Nesting Algorithm Development ROMS 3.6 -r605 ROMS 3.6 -r605 ROMS 3.7 -rXXX ROMS 3.7 -rXXX NOAA Headquarters Washington, D.C February 28, 2012 Hernan G.

u2dbc_im.F

Page 12: Nesting Algorithm Development ROMS 3.6 -r605 ROMS 3.6 -r605 ROMS 3.7 -rXXX ROMS 3.7 -rXXX NOAA Headquarters Washington, D.C February 28, 2012 Hernan G.

For Example, in zetabc.F the western boundary conditions are:

IF ( DOMAIN (ng) % Western_Edge(tile) ) THEN

IF ( LBC (iwest, isFsur, ng) % radiation ) THEN…

ELSE IF ( LBC (iwest, isFsur, ng) % Chapman ) THEN…

ELSE IF ( LBC (iwest, isFsur, ng) % clamped ) THEN…

ELSE IF ( LBC (iwest, isFsur, ng) % gradient ) THEN…

ELSE IF ( LBC (iwest, isFsur, ng) % closed ) THEN

DO j = Jstr, JendIF ( LBC_apply (ng) % west ( j ) ) THEN ! Allows both specified

andzeta ( Istr-1, j, kout ) = zeta ( Istr, j, kout ) ! nested conditions

END IFEND DO

END IF

END IF

Lateral Boundary Conditions Code

Page 13: Nesting Algorithm Development ROMS 3.6 -r605 ROMS 3.6 -r605 ROMS 3.7 -rXXX ROMS 3.7 -rXXX NOAA Headquarters Washington, D.C February 28, 2012 Hernan G.

Standard Input File: ocean.in

Page 14: Nesting Algorithm Development ROMS 3.6 -r605 ROMS 3.6 -r605 ROMS 3.7 -rXXX ROMS 3.7 -rXXX NOAA Headquarters Washington, D.C February 28, 2012 Hernan G.

Development Strategy

• Phase III, to be released soon as version 3.7: includes the nesting calls to ROMS main time-stepping routines, main2d and main3d. The concept of nesting layers is introduced to allow applications with both composite grids and refinement grids. Several new routines are added to process the information that it is required in the overlap region, what information needs to be exchanged from/to another grid, and when to exchange it.

In mosaic and composed grids, the information is exchanged between each sub-time step call in main2d or main3d. For example, the data donor grid and the mosaic/composite grids need to sub-time step the 2D momentum equations before any of them start solving and coupling the 3D momentum equations.

In refinement grids, the information at the contact points is processed at the beginning of the full time-step layer. The exchange between data donor and refinement grids is two-way.

Page 15: Nesting Algorithm Development ROMS 3.6 -r605 ROMS 3.6 -r605 ROMS 3.7 -rXXX ROMS 3.7 -rXXX NOAA Headquarters Washington, D.C February 28, 2012 Hernan G.

main_3d.F

Page 16: Nesting Algorithm Development ROMS 3.6 -r605 ROMS 3.6 -r605 ROMS 3.7 -rXXX ROMS 3.7 -rXXX NOAA Headquarters Washington, D.C February 28, 2012 Hernan G.

nesting.F

Page 17: Nesting Algorithm Development ROMS 3.6 -r605 ROMS 3.6 -r605 ROMS 3.7 -rXXX ROMS 3.7 -rXXX NOAA Headquarters Washington, D.C February 28, 2012 Hernan G.

Nesting Configuration Types

Page 18: Nesting Algorithm Development ROMS 3.6 -r605 ROMS 3.6 -r605 ROMS 3.7 -rXXX ROMS 3.7 -rXXX NOAA Headquarters Washington, D.C February 28, 2012 Hernan G.

Composite Grids

Case Grid Layer Donor West South East North

a1 1 2 2 LBC LBC LBC

2 1 1 LBC LBC 1 LBC

b1 1 2 LBC, 2 LBC LBC LBC

2 1 1 LBC LBC 1 LBC

c1 1 2 LBC, 2 LBC LBC LBC

2 1 1 LBC LBC, 1 1 LBC

Mosaic Class:

Ngrids = 2NestLayers = 1GridsInLayer = 2Ncontact = 2

Composite Class:

Ngrids = 2NestLayers = 1GridsInLayer = 2Ncontact = 2

Composite Overlap Class:

Ngrids = 2NestLayers = 1GridsInLayer = 2Ncontact = 2

a b c

Page 19: Nesting Algorithm Development ROMS 3.6 -r605 ROMS 3.6 -r605 ROMS 3.7 -rXXX ROMS 3.7 -rXXX NOAA Headquarters Washington, D.C February 28, 2012 Hernan G.

Composite Grids: Complex Estuary

Grid Layer Donor West South East North

1 1 2, 3, 4, 5, 6 LBC, 2, 3 LBC LBC, 4, 5, 6 LBC

2 1 1 LBC LBC 1 LBC

3 1 1 LBC LBC 1 LBC

4 1 1 1 LBC LBC LBC

5 1 1 1 LBC LBC LBC

6 1 1 1 LBC LBC LBC

Composite Estuary Class:

Ngrids = 6NestLayers = 1GridsInLayer = 6Ncontact = 10

Page 20: Nesting Algorithm Development ROMS 3.6 -r605 ROMS 3.6 -r605 ROMS 3.7 -rXXX ROMS 3.7 -rXXX NOAA Headquarters Washington, D.C February 28, 2012 Hernan G.

Refinement Grids

Case Grid Layer Donor West South East North

a1 1 n/a LBC LBC LBC LBC

2 2 1 1 1 1 1

b

1 1 n/a LBC LBC LBC LBC

2 2 1 1 1 1 1

3 2 1 1 1 1 1

4 3 2 2 2 2 2

Refinement Class:

Ngrids = 2NestLayers = 2GridsInLayer = 1 1Ncontact = 2

Multi-Refinement Class:

Ngrids = 4NestLayers = 3GridsInLayer = 1 2 1Ncontact = 6

a b

Page 21: Nesting Algorithm Development ROMS 3.6 -r605 ROMS 3.6 -r605 ROMS 3.7 -rXXX ROMS 3.7 -rXXX NOAA Headquarters Washington, D.C February 28, 2012 Hernan G.

Composite-Refinement Grid Combination

Grid Layer Donor West South East North

1 1 2,3 LBC, 2 LBC LBC LBC

2 1 1 LBC LBC 1 LBC

3 2 1 1 1 1 1

Composite-Refinement Class:

Ngrids = 3NestLayers = 2GridsInLayer = 2 1Ncontact = 4

Page 22: Nesting Algorithm Development ROMS 3.6 -r605 ROMS 3.6 -r605 ROMS 3.7 -rXXX ROMS 3.7 -rXXX NOAA Headquarters Washington, D.C February 28, 2012 Hernan G.

(Rancic and Purser 1996)

Cubed-Sphere grid

Regular grid mosaic

Refined grid mosaic

Mosaics Grids

Page 23: Nesting Algorithm Development ROMS 3.6 -r605 ROMS 3.6 -r605 ROMS 3.7 -rXXX ROMS 3.7 -rXXX NOAA Headquarters Washington, D.C February 28, 2012 Hernan G.

Tripolar Grid

(Murray 1996, Griffies et al 2004)

Page 24: Nesting Algorithm Development ROMS 3.6 -r605 ROMS 3.6 -r605 ROMS 3.7 -rXXX ROMS 3.7 -rXXX NOAA Headquarters Washington, D.C February 28, 2012 Hernan G.

Monterrey Bay Nested Grids

3:1 Ratio

5:1 Ratio

Page 25: Nesting Algorithm Development ROMS 3.6 -r605 ROMS 3.6 -r605 ROMS 3.7 -rXXX ROMS 3.7 -rXXX NOAA Headquarters Washington, D.C February 28, 2012 Hernan G.

Tripolar Grid: ORCA R025(1/4o at the Equator, 1442x1021 points)

Orthographic Projection

Stereographic Projection

Page 26: Nesting Algorithm Development ROMS 3.6 -r605 ROMS 3.6 -r605 ROMS 3.7 -rXXX ROMS 3.7 -rXXX NOAA Headquarters Washington, D.C February 28, 2012 Hernan G.

Contact Regions and Contact Points

Page 27: Nesting Algorithm Development ROMS 3.6 -r605 ROMS 3.6 -r605 ROMS 3.7 -rXXX ROMS 3.7 -rXXX NOAA Headquarters Washington, D.C February 28, 2012 Hernan G.

integer :: Ncontact total number of contact regions

TYPE T_NGC

logical :: coincident coincident donor and receiver points, p=q=0logical :: interpolate perform vertical interpolation

integer :: donor_grid data donor grid numberinteger :: receiver_grid data receiver grid numberinteger :: Npoints

integer, pointer :: Idg (:) donor grid, cell I-left indexinteger, pointer :: Jdg (:) donor grid, cell J-bottom indexinteger, pointer :: Kdg (: , :) donor grid, cell K-index

integer, pointer :: Irg (:) receiver grid, I-contact pointinteger, pointer :: Jrg (:) receiver grid, J-contact point

real(r8), pointer :: Hweight (: , :) horizontal weightsreal(r8), pointer :: Vweight(: , : , :) vertical weights

END TYPE T_NGC

TYPE (T_NGC), allocatable :: Rcontact (:) RHO-points TYPE (T_NGC), allocatable :: Ucontact (:) U-points TYPE (T_NGC), allocatable :: Vcontact (:) V-points

Contact Points Structure

Page 28: Nesting Algorithm Development ROMS 3.6 -r605 ROMS 3.6 -r605 ROMS 3.7 -rXXX ROMS 3.7 -rXXX NOAA Headquarters Washington, D.C February 28, 2012 Hernan G.

Contact Points Interpolation

Hweight (1, :) = (1 - p) * (1 - q)Hweight (2, :) = p * (1 - q)Hweight (3, :) = p * qHweight (4, :) = (1 - p) * q

Value (Irg, Jrg) = Hweight (1,:) * F2d(Idg ,Jdg )+ Hweight (2,:) * F2d(Idg+1,Jdg )+ Hweight (3,:) * F2d(Idg+1,Jdg+1)+ Hweight (4,:) * F2d(Idg ,Jdg+1)

If coincident contact points between data donor and data receiver grids, p = q = 0.0,

Hweight (1, :) = 1.0 Value (Irg, Jrg) = Hweight (1, :) * F2d( Idg, Jdg )Hweight (3, :) = 0.0Hweight (4, :) = 0.0Hweight (5, :) = 0.0

3 (Idg+1, Jdg+1, Kdg-1)

2

4

(Idg, Jdg, Kdg-1) 1 Irg

Jrg

q

1- q

1- p

p

3 Kdg-1

7 Kdg

56

4

1 2

8

5

Suffix: dg = donor grid rg = receiver grid

Page 29: Nesting Algorithm Development ROMS 3.6 -r605 ROMS 3.6 -r605 ROMS 3.7 -rXXX ROMS 3.7 -rXXX NOAA Headquarters Washington, D.C February 28, 2012 Hernan G.

Contact Regions Metadata: Additional NetCDF File

Page 30: Nesting Algorithm Development ROMS 3.6 -r605 ROMS 3.6 -r605 ROMS 3.7 -rXXX ROMS 3.7 -rXXX NOAA Headquarters Washington, D.C February 28, 2012 Hernan G.

Nested Grids: Mosaic Class

Ngrids = 2NestLayers = 1GridsInLayer = 2Ncontact = 2

Page 31: Nesting Algorithm Development ROMS 3.6 -r605 ROMS 3.6 -r605 ROMS 3.7 -rXXX ROMS 3.7 -rXXX NOAA Headquarters Washington, D.C February 28, 2012 Hernan G.

Nested Grids: Composite Class

Ngrids = 2NestLayers = 1GridsInLayer = 2Ncontact = 2Donor Grid = blueReceiver Grid = red

Page 32: Nesting Algorithm Development ROMS 3.6 -r605 ROMS 3.6 -r605 ROMS 3.7 -rXXX ROMS 3.7 -rXXX NOAA Headquarters Washington, D.C February 28, 2012 Hernan G.

Nested Grids: Composite Class

Ngrids = 2NestLayers = 1GridsInLayer = 2Ncontact = 2Donor Grid = redReceiver Grid = blue

Page 33: Nesting Algorithm Development ROMS 3.6 -r605 ROMS 3.6 -r605 ROMS 3.7 -rXXX ROMS 3.7 -rXXX NOAA Headquarters Washington, D.C February 28, 2012 Hernan G.

Nested Grids: Composite Overlap Class

Ngrids = 2NestLayers = 1GridsInLayer = 2Ncontact = 2Donor Grid = blueReceiver Grid = red

Page 34: Nesting Algorithm Development ROMS 3.6 -r605 ROMS 3.6 -r605 ROMS 3.7 -rXXX ROMS 3.7 -rXXX NOAA Headquarters Washington, D.C February 28, 2012 Hernan G.

Nested Grids: Composite Overlap Class

Ngrids = 2NestLayers = 1GridsInLayer = 2Ncontact = 2Donor Grid = redReceiver Grid = blue

Page 35: Nesting Algorithm Development ROMS 3.6 -r605 ROMS 3.6 -r605 ROMS 3.7 -rXXX ROMS 3.7 -rXXX NOAA Headquarters Washington, D.C February 28, 2012 Hernan G.

Nested Grids: Composite Estuary Class

Ngrids = 6NestLayers = 1GridsInLayer = 6Ncontact = 10Donor Grids = redReceiver Grid = blue

Page 36: Nesting Algorithm Development ROMS 3.6 -r605 ROMS 3.6 -r605 ROMS 3.7 -rXXX ROMS 3.7 -rXXX NOAA Headquarters Washington, D.C February 28, 2012 Hernan G.

Nested Grids: Composite Estuary Class

Ngrids = 6NestLayers = 1GridsInLayer = 6Ncontact = 10Donor Grid = blueReceiver Grids = red

Page 37: Nesting Algorithm Development ROMS 3.6 -r605 ROMS 3.6 -r605 ROMS 3.7 -rXXX ROMS 3.7 -rXXX NOAA Headquarters Washington, D.C February 28, 2012 Hernan G.

Nested Grids: Refinement Class

Ngrids = 2NestLayers = 2GridsInLayer = 1 1Ncontact = 2Donor Grid = blueReceiver Grid = red

Page 38: Nesting Algorithm Development ROMS 3.6 -r605 ROMS 3.6 -r605 ROMS 3.7 -rXXX ROMS 3.7 -rXXX NOAA Headquarters Washington, D.C February 28, 2012 Hernan G.

Nested Grids: Refinement Class

Ngrids = 2NestLayers = 2GridsInLayer = 1 1Ncontact = 2Donor Grid = redReceiver Grid = blue

Page 39: Nesting Algorithm Development ROMS 3.6 -r605 ROMS 3.6 -r605 ROMS 3.7 -rXXX ROMS 3.7 -rXXX NOAA Headquarters Washington, D.C February 28, 2012 Hernan G.

Nested Grids: Multi-Refinement Class

Ngrids = 4NestLayers = 3GridsInLayer = 1 2 1Ncontact = 6Donor Grid = blueReceiver Grid = red

Ngrids = 4NestLayers = 3GridsInLayer = 1 2 1Ncontact = 6Donor Grid = redReceiver Grid = green

Page 40: Nesting Algorithm Development ROMS 3.6 -r605 ROMS 3.6 -r605 ROMS 3.7 -rXXX ROMS 3.7 -rXXX NOAA Headquarters Washington, D.C February 28, 2012 Hernan G.

Nested Grids: Multi-Refinement Class

Ngrids = 4NestLayers = 3GridsInLayer = 1 2 1Ncontact = 6Donor Grid = redReceiver Grid = blue

Ngrids = 4NestLayers = 3GridsInLayer = 1 2 1Ncontact = 6Donor Grid = greenReceiver Grid = red

Page 41: Nesting Algorithm Development ROMS 3.6 -r605 ROMS 3.6 -r605 ROMS 3.7 -rXXX ROMS 3.7 -rXXX NOAA Headquarters Washington, D.C February 28, 2012 Hernan G.

Nested Grids: Composite-Refinement Class

Ngrids = 3NestLayers = 2GridsInLayer = 2 1Ncontact = 4Donor Grid = blueReceiver Grids = red

Page 42: Nesting Algorithm Development ROMS 3.6 -r605 ROMS 3.6 -r605 ROMS 3.7 -rXXX ROMS 3.7 -rXXX NOAA Headquarters Washington, D.C February 28, 2012 Hernan G.

Nested Grids: Composite-Refinement Class

Ngrids = 3NestLayers = 2GridsInLayer = 2 1Ncontact = 4Donor Grids = redReceiver Grid = blue

Page 43: Nesting Algorithm Development ROMS 3.6 -r605 ROMS 3.6 -r605 ROMS 3.7 -rXXX ROMS 3.7 -rXXX NOAA Headquarters Washington, D.C February 28, 2012 Hernan G.

Python Based GUI

Page 44: Nesting Algorithm Development ROMS 3.6 -r605 ROMS 3.6 -r605 ROMS 3.7 -rXXX ROMS 3.7 -rXXX NOAA Headquarters Washington, D.C February 28, 2012 Hernan G.

Python Based GUI

Page 45: Nesting Algorithm Development ROMS 3.6 -r605 ROMS 3.6 -r605 ROMS 3.7 -rXXX ROMS 3.7 -rXXX NOAA Headquarters Washington, D.C February 28, 2012 Hernan G.
Page 46: Nesting Algorithm Development ROMS 3.6 -r605 ROMS 3.6 -r605 ROMS 3.7 -rXXX ROMS 3.7 -rXXX NOAA Headquarters Washington, D.C February 28, 2012 Hernan G.

Remarks

• ROMS nesting capabilities are unique and allows complex estuary and coastal configurations with unlimited number of composite and refined grids

• Coincident composite and mosaic grids produce identical solutions when compared to one large continuous grid

• Complete overhaul of ROMS numerical kernels: NLM, TLM, RPM, and ADM

• Development divided in three phases. Phase I released as ROMS 3.5 on April 25, 2011. Phase II released as ROMS 3.6 on Sep 23, 2011. The final Phase III will be released as ROMS 3.7 soon…

• A Python-based GUI is currently under development to facilitate building input scripts in complex configurations

• We need to start looking to more sophisticated grid generation tools

Page 47: Nesting Algorithm Development ROMS 3.6 -r605 ROMS 3.6 -r605 ROMS 3.7 -rXXX ROMS 3.7 -rXXX NOAA Headquarters Washington, D.C February 28, 2012 Hernan G.

Warner, J.C., W.R. Geyer, and H.G. Arango, 2010: Using composite grid approach in complex coastal domain to estimate estuarine residence time, Computer and Geosciences, 36, 921-935, doi:10.1016/j.cageo.2009.11.008.

Reference