Opened 2 months ago

#966 new upgrade

NEW CAPABILITY: Grid Extraction

Reported by: arango Owned by:
Priority: major Milestone: Release ROMS/TOMS 4.2
Component: Nonlinear Version: 4.1
Keywords: Cc:

Description

I developed a grid extraction capability into ROMS that is independent of nesting, which can be activated with the GRID_EXTRACT option. This capability allows the creation of a new NetCDF file (XTRNAME) containing the extracted fields via decimation or horizontal interpolation, level-by-level, in 3D fields.

The ROMS standard input script roms.in includes new parameters:

! Input grid extraction flag and input extraction grid geometry
! NetCDF filename. They are used to extract a history solution at
! the desired geometry by decimation or horizontal interpolation:
!
!   ExtractFlag = 1                 horizontal interpolation
!   ExtractFlag > 1                 coarsening by decimation
!
! If decimation, ExtracTFlag is the sampling factor. For now, use
! ExtractFlag=2 so data is written at every other point. Notice
! that it is required to satisfy the following criteria:
!
!   MOD(Lm+1, ExtractFlag) = 0                                      
!   MOD(Mm+1, ExtractFlag) = 0

 ExtractFlag == 2
     GRXNAME == ../Data/lake_decimate_grd_2km.nc

...

     XTRNAME == lake_decimate_xtr.nc

The users must provide the extraction fields geometry grid NetCDF file GRXNAME at the input. This grid needs to be created with tools similar to the parent ROMS application grid and contained inside.

  • If ExtractFlag = 1: Level-by-level horizontal interpolation. The development of extracted grids with land/sea masks is still under development, complicating the interpolation. We are developing a generic ESMF grid-to-grid remapping inside of ROMS.
  • If ExtractFlag > 1: Decimation. It decimates the field solution at the prescribed integer factor, ExtractFlag . For example, if !Extract_Flag=2 (recommended), the output fields are written at every other point, resulting in coarser data resolution. This strategy is advantageous in mixed resolution, split 4D-Var applications where the outer loop background (prior) trajectory may be computed at a higher resolution than in the inner loop minimization to accelerate the calculations. For decimation to work, the number of parent grid RHO-points (0: Lm+1, 0:Mm+1) must be multiples of ExtractFlag. That is,
         MOD(Lm(ng)+1, ExtractFlag) = 0                                      
         MOD(Mm(ng)+1, ExtractFlag) = 0
    

For debugging and testing, a new idealized test case, LAKE_DECIMATE, at 1km resolution (360x300x20), is introduced.

Change History (0)

Note: See TracTickets for help on using tickets.