Demonstration of New Capabilities in GrADS
Download
Report
Transcript Demonstration of New Capabilities in GrADS
Supporting HDF5 in GrADS
Jennifer M. Adams and Brian E. Doty
IGES/COLA
What is GrADS?
GrADS is an interactive desktop tool used
for easy access, analysis, and visualization
of earth science data.
Two data models: gridded and in situ
Handles many data formats:
binary, GRIB, BUFR, netCDF, and HDF4
OPeNDAP-enabled client and server (GDS)
Outline
GrADS Development
The Ensemble Dimension
GrADS and HDF
GrADS Development
Fifth ensemble dimension
New interfaces for GRIB2 and HDF5
Internal data handling in double precision
Mask for missing data
Graphics improvements
New output options for GIS applications
Third data model: Quasi-regular grids
Ensemble Handling
A true 5th dimension for ensemble members
‘set X, Y, Z, T, or E’
A virtual dimension for forecast time offset
‘display sst(ft=2)’
‘display sst(ftime=24hr)’
GrADS Metadata Requirements
for Ensemble Members
Unique name / number
Initial time
Length
One time axis must span all members
All members must share common grid
The GrADS-GDS Coupled System
The GDS serves any GrADS data set
GrADS is a client for all GDS data sets
The NetCDFification of the ensemble
metadata must be meaningful to GrADS
Emerging metadata standard for ensembles
Ensemble Member
Ensembles: Same Length, Same Initial Time
Time Axis ---->
Ensemble Member
Ensembles: Same Length, Different Initial Times
Time Axis ---->
Ensemble Member
Ensembles: Same Length, Different Initial Times
Time Axis ---->
Ensemble Member
Ensembles: Same Length, Different Initial Times
Time Axis ---->
Ensemble Member
Ensembles: Same Length, Different Initial Times
Time Axis ---->
Ensemble Member
NCEP CFS: Different Lengths, Different Initial Times
Time Axis ---->
Ensemble Member
“ new = variable (ft=2) ”
Time Axis ---->
Ensemble Member
“ new = ftloop (variable, ftime=12hr, ftime=48hr) ”
Time Axis ---->
GrADS and HDF: A Brief History
GrADS reads HDF4 and NC files
Metadata must be COARDS-compliant
Uses NC v2 API
GrADS writes HDF4 and NC files
Uses LATS interface and NC v2 API
GrADS becomes a DODS client
NC v3 API is added
New interface for non-compliant HDF4 and NC files
External metadata is user-provided
Uses SD and NC APIs
GrADS 1.9 Executables
NetCDF
HDF4
DODS
-
-
-
Core libs
gradshdf
Read
Read/Write
-
Core libs + libdf + libmfhdf
gradsnc
Read/Write
-
-
Core libs + libnetcdf
gradsdods
Read/Write
-
Read
Core libs + libnc-dap
gradsc
Libraries
Core libs: X11, readline, zlib, png, gd
Extra dependent libs: udunits, jpeg, szip, xml2, curl, dap, gadap
GrADS and HDF: Current Events
GrADS (now GPL) must drop (copyrighted) LATS
New interfaces to be written for NC and HDF output
HDF4 handling isolated using SD API exclusively
NC handling reworked using v3 API, ready for v4
GrADS 2.0 Executables
grads
gradsdap
NetCDF
HDF4
OPeNDAP
Libraries
Read
Read
(Write TBA)
(Write TBA)
-
Core libs + libdf + libmfhdf
+ libnetcdf
Read
Read
(Write TBA)
(Write TBA)
Read
Core libs + libdf + libmfhdf
+ libnc-dap
Core libs: X11, readline, zlib, png, gd, jpeg, jasper, grib2c
Extra dependent libs: udunits, szip, xml2, curl, dap, gadap
GrADS and HDF5: The Future
First Option: Link with NetCDF-4 library
Very easy
Only supports HDF5 created with NetCDF-4
Destined to repeat HDF4 history?
Second Option: Link with HDF5 library
Requires a new HDF5 interface
More general support of HDF5
Keeps NetCDF interface independent
Necessary for quasi-regular swath data?