NCAR / Topo

NCAR Global Model Topography Generation Software for Unstructured Grids
26 stars 17 forks source link

Support for ESMF (NUPC,CMPS) grid descriptor file format #23

Closed PeterHjortLauritzen closed 2 years ago

PeterHjortLauritzen commented 2 years ago

The SCRIP files use the following naming convections (example from MPAS):

netcdf mpas_scrip_60-3_andes { dimensions: grid_size = 835586 ; grid_corners = 7 ; grid_rank = 1 ; variables: double grid_area(grid_size) ; grid_area:units = "radians^2" ; grid_area:long_name = "area weights" ; double rrfac(grid_size) ; rrfac:units = "dimensionless" ; rrfac:long_name = "normalized dc" ; double grid_center_lat(grid_size) ; grid_center_lat:units = "radians" ; double grid_center_lon(grid_size) ; grid_center_lon:units = "radians" ; double grid_corner_lon(grid_size, grid_corners) ; grid_corner_lon:units = "radians" ; double grid_corner_lat(grid_size, grid_corners) ; grid_corner_lat:units = "radians" ; int grid_imask(grid_size) ; int grid_dims(grid_rank) ;

The ESMF version is:

netcdf mpas_esmf_60-3_andes { dimensions: nodeCount = 1671168 ; elementCount = 835586 ; maxNodePElement = 7 ; coordDim = 2 ; variables: double nodeCoords(nodeCount, coordDim) ; nodeCoords:units = "degrees" ; int elementConn(elementCount, maxNodePElement) ; elementConn:long_name = "Node Indices that define the element connectivity" ; elementConn:_FillValue = -1 ; byte numElementConn(elementCount) ; numElementConn:long_name = "Number of nodes per element" ; double centerCoords(elementCount, coordDim) ; centerCoords:units = "degrees" ; double elementArea(elementCount) ; elementArea:units = "radians^2" ; elementArea:long_name = "area weights" ; double elementRefinementRatio(elementCount) ; elementRefinementRatio:units = "dimensionless" ; elementRefinementRatio:long_name = "normalized dc" ; int elementMask(elementCount) ;

PeterHjortLauritzen commented 2 years ago

Complete except for ESMF support for lat-lon data.

PeterHjortLauritzen commented 2 years ago

done