Actions

Difference between pages "Vertical Velocity Profile" and "NetCDF"

From BAWiki

(Difference between pages)
imported>Mueller-hagedorn
 
imported>Lang Guenther
(General Aspects: GRIB vs. NetCDF added)
 
Line 1: Line 1:
[[de:Vertical Velocity Profile]]
+
[[de:NetCDF]]
Author: [mailto:peter.schade@baw.de P. Schade]
+
=General Aspects=
 +
==Purpose of these BAWiki Pages==
  
[[Information about the Vertical Velocity Profile|Information about the Vertical Velocity Profile Applet]] (only in english)
+
These BAWiki pages do describe all NetCDF conventions required to store baw-specific data in NetCDF data files (see [http://www.unidata.ucar.edu/software/netcdf/ ''network common data form'']). I. e. all ''local'' conventions are listed, which go beyond the international agreed-upon [http://cf-convention.github.io/ CF-metadata convention]. These pages are also meant as a discussion ground for agreeing on those additional conventions required.
  
<java_applet CODE=de.baw.hamburg.velocityprofile.VApplet.class height="420" width="740"  archive="http://www.baw.de/downloads/wasserbau/mathematische_verfahren/java/VProfileGraph.jar" />
+
In cases where the international agreed-upon conventions are insufficient, one should first check whether extensions described in  [http://public.deltares.nl/display/NETCDF/netCDF Deltares-Conventions] can be used or not - it is recommended to discuss further required extensions with [http://www.deltares.nl/ Deltares]. The version which has been recommended to become a standard can be found on the [https://github.com/ugrid-conventions/ugrid-conventions GITHUB]. Further activities related with OpenDAP to extract a selection of data defined on unstructured grids can be found on e. g. [http://docs.opendap.org/index.php/OPULS:_UGrid_Subsetting OPULS].
  
 +
The additional conventions should be listed in the global NetCDF attribute ''Conventions'', e. g. in the following way:
 +
: // global attributes:
 +
:: :'''Conventions''' = "CF-1.4/Deltares-0.1/BAW-0.1" .
 +
 +
The BAW instance of a NetCDF file developed since 2010 is a file of type [[CF-NETCDF.NC]].
 +
 +
Since version NetCDF-4.0 HDF (''Hierarchical Data File'', see [http://www.hdfgroup.org/HDF5/ HDF5 Group]) is used as the underlying file format. Due to the use of HDF concepts like online compression of data stored in NetCDF files is supported as well as chunking of variables to balance read performance in case of different access to data, e.g. time-series vs. synoptic data set access.
 +
 +
==Important NetCDF Utilities==
 +
 +
Important (helpful) NetCDF ''Utilities'' are:
 +
* [https://www.unidata.ucar.edu/software/netcdf/docs/netcdf/ncdump.html#ncdump NCDUMP] create (selective) text representation of the contents of a NetCDF file;
 +
* [https://www.unidata.ucar.edu/software/netcdf/docs/netcdf/nccopy.html NCCOPY] (selective) copy an existing NetCDF file to another, change level of compression, change internal file structure (''File Chunking''); and
 +
* [https://www.unidata.ucar.edu/software/netcdf/docs/netcdf/ncgen3.html#ncgen3 NCGEN3] create NetCDF file from a CDL text file; optionally also C or FORTRAN code can be automatically generated.
 +
 +
==File Chunking==
 +
 +
The chunk size of variables stored in a CF NetCDF file may have significant influence on read performance in case data have to be read along different dimensions, e.g. spatial versus time-series access. Chunk size can be individually tuned using the NetCDF API. As a simple alternative, already helpful in many situations, you can also make use of the [https://www.unidata.ucar.edu/software/netcdf/docs/netcdf/nccopy.html NCCOPY]  program. For further informations about chunking please read the following informations:
 +
* [http://www.unidata.ucar.edu/blogs/developer/en/entry/chunking_data_why_it_matters ''Chunking Data - Why it matters'']; und
 +
* [http://www.unidata.ucar.edu/blogs/developer/en/entry/chunking_data_choosing_shapes ''Chunking Data - Choosing shapes''].
 +
 +
==NetCDF vs. GRIB==
 +
 +
Besides NetCDF GRIB is also widely used. Concerning problems of interoperability between NetCDF and GRIB a workshop was held at ECMWF in September 2014 . Further informatioins can be found on the website of the workshop on [http://www.ecmwf.int/en/workshop-closing-grib/netcdf-gap ''Closing the GRIB/NetCDF gap''].
 +
 +
=Terminology=
 +
=Global Attributes=
 +
* [[NetCDF global attributes]]
 +
=Grids=
 +
* [[NetCDF multiple locations]]: several (point) locations, e. g. equivalent to contents of file [[LOCATION_GRID.DAT|location_grid.dat]];
 +
* [[NetCDF multiple profiles]]: several longitudinal and cross-sectional profiles, e. g. equivalent to contents of file [[PROFIL05.BIN|profil05.bin]];
 +
* [[NetCDF triangular grid]]: triangular grid, e. g. equivalent to contents of file [[GITTER05.DAT and GITTER05.BIN|gitter05.dat and gitter05.bin]];
 +
* [[NetCDF unstructured grid]]: unstructured grid, e. g. equivalent to contents of file [[UNTRIM_GRID.DAT|untrim_grid.dat]];
 +
* [[NetCDF unstructured grid with subgrid]]: unstructured grid with additional subgrid data, e. g. equivalent to contents of file [[UTRSUB_GRID.DAT|utrsub_grid.dat]].
 +
 +
=Time Coordinate=
 +
* [[NetCDF time coordinate]]: date and time, calendar.
 +
 +
=Vertical Coordinate=
 +
* [[NetCDF vertical coordinate]]: dimensional vertical coordinate (height, depth).
 +
 +
=Horizontal Coordinate Reference System=
 +
* [[NetCDF grid mapping variable]]
 +
 +
=Reduction of Dataset Size=
 +
Traditionally, up to the availability of NetCDF-4 (HDF),
 +
* [[NetCDF packed data]], and
 +
* [[NetCDF compression by gathering]]
 +
were the only ways to reduce data set sizes. Now, with the availability oaf NetCDF-4 (HDF), it is recommended to use online compression instead. Online compression can be activated on a per variable basis via the NetCDF API. For existing NetCDF files [https://www.unidata.ucar.edu/software/netcdf/docs/netcdf/nccopy.html NCCOPY] also allows you to (online-) compress the file after it has been created.
 +
 +
=Data=
 +
==Synoptic Data==
 +
* [[NetCDF synoptic data at multiple locations]],
 +
* [[NetCDF synoptic data for multiple profiles]],
 +
* [[NetCDF cross section integral synoptic data for multiple profiles]],
 +
* [[NetCDF synoptic data for triangular grid]],
 +
* [[NetCDF synoptic (morphological) data for triangular grid]],
 +
* [[NetCDF synoptic data for unstructured grid]],
 +
* [[NetCDF synoptic data for unstructured grid with subgrid]], and
 +
* [[NetCDF DelWAQ data]].
 +
 +
==Time Series Data==
 +
==Analysis Data==
 +
*[[NetCDF tidal characteristic numbers of water level]], and
 +
*[[NetCDF differences for tidal characteristic numbers of water level]].
 
----
 
----
back to [[Tools for Hydraulic Engineering]]
+
back to [[Standard-Software-Applications (Add-ons)]]
 
----
 
----
 
[[Overview]]
 
[[Overview]]

Revision as of 17:20, 28 September 2014

General Aspects

Purpose of these BAWiki Pages

These BAWiki pages do describe all NetCDF conventions required to store baw-specific data in NetCDF data files (see network common data form). I. e. all local conventions are listed, which go beyond the international agreed-upon CF-metadata convention. These pages are also meant as a discussion ground for agreeing on those additional conventions required.

In cases where the international agreed-upon conventions are insufficient, one should first check whether extensions described in Deltares-Conventions can be used or not - it is recommended to discuss further required extensions with Deltares. The version which has been recommended to become a standard can be found on the GITHUB. Further activities related with OpenDAP to extract a selection of data defined on unstructured grids can be found on e. g. OPULS.

The additional conventions should be listed in the global NetCDF attribute Conventions, e. g. in the following way:

// global attributes:
 :Conventions = "CF-1.4/Deltares-0.1/BAW-0.1" .

The BAW instance of a NetCDF file developed since 2010 is a file of type CF-NETCDF.NC.

Since version NetCDF-4.0 HDF (Hierarchical Data File, see HDF5 Group) is used as the underlying file format. Due to the use of HDF concepts like online compression of data stored in NetCDF files is supported as well as chunking of variables to balance read performance in case of different access to data, e.g. time-series vs. synoptic data set access.

Important NetCDF Utilities

Important (helpful) NetCDF Utilities are:

  • NCDUMP create (selective) text representation of the contents of a NetCDF file;
  • NCCOPY (selective) copy an existing NetCDF file to another, change level of compression, change internal file structure (File Chunking); and
  • NCGEN3 create NetCDF file from a CDL text file; optionally also C or FORTRAN code can be automatically generated.

File Chunking

The chunk size of variables stored in a CF NetCDF file may have significant influence on read performance in case data have to be read along different dimensions, e.g. spatial versus time-series access. Chunk size can be individually tuned using the NetCDF API. As a simple alternative, already helpful in many situations, you can also make use of the NCCOPY program. For further informations about chunking please read the following informations:

NetCDF vs. GRIB

Besides NetCDF GRIB is also widely used. Concerning problems of interoperability between NetCDF and GRIB a workshop was held at ECMWF in September 2014 . Further informatioins can be found on the website of the workshop on Closing the GRIB/NetCDF gap.

Terminology

Global Attributes

Grids

Time Coordinate

Vertical Coordinate

Horizontal Coordinate Reference System

Reduction of Dataset Size

Traditionally, up to the availability of NetCDF-4 (HDF),

were the only ways to reduce data set sizes. Now, with the availability oaf NetCDF-4 (HDF), it is recommended to use online compression instead. Online compression can be activated on a per variable basis via the NetCDF API. For existing NetCDF files NCCOPY also allows you to (online-) compress the file after it has been created.

Data

Synoptic Data

Time Series Data

Analysis Data


back to Standard-Software-Applications (Add-ons)


Overview