example_unstructured_grid_config.zip
scrollbar |
---|
...
What | Required | Description | schema location |
---|---|---|---|
Grids.xml | no | Grid definitions, either regular or irregular |
DELFT-FEWS is a location oriented system. All time series data must be referenced to a (geographic) location. Scalar time series need no additional information. For grid time series data, each point in the grid must be referenced to a location in a grid structure.
...
In irregular grids the grid has a fixed number of rows and columns, but the cell height and width is not equal in each row and column. For these grids additional information is required on the location of each individual cell in the grid to allow display in the grids display as well as for use in the spatial interpolation routine.
When available on the file system, the name of the XML file is for example:
Grids 1.00 default.xml
Grids Fixed file name for the Grids configuration
1.00 Version number
default Flag to indicate the version is the default configuration (otherwise omitted).
Figure 28 Elements of the grids configuration
Table of Contents |
---|
regular
For regular grids it is sometimes not required to add the location to the grids.xml when you only want to import/export the grid. Most grid transformations will not work when the output location is missing in the grids.xml. Regular grids that need a custom projection (projectionFile, polarStereoGraphic, geostationarySatelliteView, transverseMercator, mercator, albersEqualArea, azimuthalEquidistant, lambertAzimuthalEqualArea, rotatedCartesian, lambertConformalConic, rotatedSouthPole, rotatedNorthPole, rotatedCartesian, azimuthalEquidistant) should ALWAYS be listed in the grids.xml. The grid geometry should be available in the imported file (netcdf/grib).
When available on the file system, the name of the XML file is for example:
Grids 1.00 default.xml
Grids Fixed file name for the Grids configuration
1.00 Version number
default Flag to indicate the version is the default configuration (otherwise omitted).
Figure 28 Elements of the grids configuration
Table of Contents |
---|
regular
Definition of a Definition of a regular grid. One or more regular grids may be defined.
...
Optional, when specified the grid cell boundaries can be based on the neighbour neighbor cells. Number of rows and columns in grid, at least two rows and two columns. Don't configure this for scattered point grids.
...
Coordinate system the grid is defined in. This may be a different coordinate system to that used in the main map display. The coordinate system may also differ per grid. A grid may be regular in one coordinate system, but may be irregular in another. Defining the grid in the regular coordinate system is generally easier.
You can also use the EPGS codes
cellCentre
Definition of the cell centre points of all cells in the irregular grid. The number of cellCentre points defined must be the same as the number of cells in the grid (rows x columns).
...
Shape file with cell polygons, lines and/or cell centers.
csvFile
, lines and/or cell centers.
csvFile
Since 2013.01. Csv file with cell centers. Csv file should contain an "x" and "y" column. The cell centers should be listed from the upper left to the lower right, row by row. For regular grids always try to use a regular grid with a (custom) geodatum. For config example see: 06Grids-ConfigExamplesSince 2013.01. Csv file with cell centers.
netcdfFile
Since 2015.02. Reference to a UGRID NetCDF file that contains only grid geometry meta data. This only supports mesh topologies (unstructured grids) with 2D coordinates. This can be 1D network, 2D triangular, 2D flexible or 3D layered mesh topologies. This currently only works for files that are compliant to the UGRID 1.0 conventions. For more information see http://ugrid-conventions.github.io/ugrid-conventions/
...
In an unstructured grid the data can be defined either on the nodes, the edges or the faces of the mesh (staggerLocations). Also see http://ugrid-conventions.github.io/ugrid-conventions/#data-defined-on-unstructured-meshes-unstructured-meshes.
An example configuration can be downloaded here: example_unstructured_grid_config.zip. The example shows what is minimally needed to be present in the UGRID NetCDF file and how one can configure it in FEWS.
. Each grid definition in grids.xml is valid for only one staggerLocation and this should match the staggerLocation of the data that you are going to import using the grid definition. The staggerLocation on which the data is defined can be deduced from the data variable in a netcdf file that contains the data to import. The data variable (e.g. "water_level") has an attribute called "location" and a dimension (e.g. nmesh2d_face) that both indicate its staggerLocation. In the grid geometry choose the corresponding staggerLocation. If you want to import different data variables that are defined on different staggerLocations in the same mesh, then you will have to create separate grid definitions for different staggerLocations using the same mesh from the same netcdf file, e.g.:
Code Block | ||
---|---|---|
| ||
<irregular locationId="SFBayFM_data_on_faces"> <netcdfFile> <file>sfbay_flowgeom.nc</file> <geoDatum>UTM10N</geoDatum> <meshTopologyVariableName>mesh2d</meshTopologyVariableName> <staggerLocation>face</staggerLocation> </netcdfFile> </irregular> <irregular locationId="SFBayFM_data_on_nodes"> <netcdfFile> <file>sfbay_flowgeom.nc</file> <geoDatum>UTM10N</geoDatum> <meshTopologyVariableName>mesh2d</meshTopologyVariableName> <staggerLocation>node</staggerLocation> </netcdfFile> </irregular> |
D-Flow FM (Dutch: D-HYDRO)
It is possible to use a D-Flow flexible mesh (D-Flow FM) flowgeom UGRID NetCDF file, produced by a D-Flow FM model run, as grid definition in Delft-FEWS. If your D-Flow FM model run does not produce a flowgeom file, then add the following line in the D-Flow FM .mdu file in the output section, e.g.:
...
nccopy -V mesh2d,wgs84,mesh2d_node_x,mesh2d_node_y,mesh2d_node_z,mesh2d_edge_nodes,mesh2d_edge_x,mesh2d_edge_y,mesh2d_edge_x_bnd,mesh2d_edge_y_bnd,mesh2d_face_nodes,mesh2d_face_x,mesh2d_face_y,mesh2d_face_x_bnd,mesh2d_face_y_bnd,mesh2d_FlowElem_faceba,mesh2d_xFlowElem_bndbl,mesh2d_face_y_bnd,mesh2d_FlowElem_ba,mesh2d_FlowElem_bl,mesh2d_edge_type map.nc flowgeom.nc
The tool nccopy is part of the NetCDF library binary distribution.
Config Examples
edge_type map.nc flowgeom.nc
The tool nccopy is part of the NetCDF library binary distribution.
Config Examples
Code Block | ||||
---|---|---|---|---|
| ||||
<irregular locationId="meshLocation">
<netcdfFile>
<file>simplebox_hex7_map.nc</file>
<meshTopologyVariableName>insert_mesh_variable_name_here</meshTopologyVariableName>
<staggerLocation>face</staggerLocation>
</netcdfFile>
</irregular> |
Code Block | |||
---|---|---|---|
| |||
Code Block | |||
| |||
<irregular locationId="meshLocationSwan2D_G2_cellcenters"> <rows>1318</rows> <columns>317</columns> <netcdfFile><esriShapeFile> <file>simplebox<file>swan2D_hex7G2_mapcellcenters.nc<shp</file> <meshTopologyVariableName>insert_mesh_variable_name_here</meshTopologyVariableName><geoDatum>WGS 1984</geoDatum> <x>%X%</x> <staggerLocation>face<<y>%Y%</staggerLocation>y> </netcdfFile>esriShapeFile> </irregular> |
Code Block | ||||
---|---|---|---|---|
| ||||
<irregular locationId="Swan2D_G2_cellcenters"> <rows>1318</rows> <columns>317</columns> <esriShapeFile> <file>swan2D_G2_cellcenters.shp</file> <geoDatum>WGS 1984<<projectionFileAvailable>true</geoDatum>projectionFileAvailable> <x>%X%</x> <y>%Y%</y> </esriShapeFile> </irregular> |
Code Block | ||||
---|---|---|---|---|
| ||||
<irregular locationId="Swan2DGrid_G2Waqua_cellcentersZeedelta"> <rows>1318< <rows>1539</rows> <columns>317< <columns>501</columns> <esriShapeFile> <file>swan2D_G2_cellcenters.shp</file> <projectionFileAvailable>true</projectionFileAvailable> <x>%X%</x> <y>%Y%</y> </esriShapeFile> </irregular> <csvFile> <file>Grid_Waqua_Zeedelta.csv</file> <geoDatum>Rijks Driehoekstelsel</geoDatum> <x>%X%</x> <y>%Y%</y> </csvFile> </irregular> |
Code Block | ||||
---|---|---|---|---|
| ||||
<regular locationId="KNMI-HIRLAM-V70"> <description>grid def. for KNMI-HIRLAM v7.0 with rotated pole</description> <rows>226</rows> <columns>136</columns> <rotatedSouthPole> <latitude>-30</latitude> <longitude>-15</longitude> </rotatedSouthPole> <gridCorners> <geoDatum>WGS 1984</geoDatum> <upperLeft> <x>-30.8688</x> <y>79.63847</y> </upperLeft> <lowerRight> <x>10.29617</x> <y>26.065</y> </lowerRight> </gridCorners> </regular> |
...
Code Block | ||||
---|---|---|---|---|
| ||||
<regular locationId="QPF"> <description>QPF Grid for ABRFC</description> <rows>159</rows> <columns>335</columns> <polarStereographic> <originLatitude>90.0</originLatitude> <originLongitude>-105.0</originLongitude> <scaleAtOrigin>0.933</scaleAtOrigin> <equatorRadius>6367470.0</equatorRadius> <poleRadius>6367470.0</poleRadius> </polarStereographic> <gridCorners> <geoDatum>WGS 1984</geoDatum> <upperLeft> <x>-106.67471389477944</x> <y>39.37455858318055</y> <z>0.0</z> </upperLeft> <lowerRight> <x>-92.34455929643786</x> <y>32.390342856654044</y> <z>0.0</z> </lowerRight> </gridCorners> </regular> |
Generating XML
...
For NetCDF and GRIB files you can generate the grids.xml with F12>Clipboard>Copy grib geometry form file