[gradsusr] Creating Data Descriptor File For HDF5 Formatted Data
James E. Johnson
James.Johnson at nasa.gov
Thu Feb 2 10:36:25 EST 2012
This is not a particularly hard file to write a .ctl file for as it contains
but a single data set array (variable in netCDF speak) named "l3m_data", you
could have done a h5dump -h Q20112132011243.L3m_MO_EVSCI_V1.2_SSS_1deg | grep
DATASET to find it. The second data set array (variable) is the color palette
that the Aquarius team created for visualizing the data. You could use that to
set up a new grads color table, or just use grads' default color table. But
its also possible that the data are intended to be viewed as an image, since
they included the palette. In that case they should have used the HDF5 image
calls to create the file so that it would be tagged as an image. The values in
the l3m_data array would be the indices to the color palette, but without the
data array to look at I can't say if the values are indices or actually
salinity values.
This .ctl should read in the data:
dset Q20112132011243.L3m_MO_EVSCI_V1.2_SSS_1deg
dtype hdf5_grid
title Aquarius Level 3 Surface Salinity
xdef 360 linear -180 1.0
ydef 180 linear -90 1.0
tdef 1 linear 1Aug2011 1mn
vars 1
l3m_data=>dat 0 y,x Surface Salinity
endvars
------------------------------------------------------------------------------
| James E. Johnson | address: |
| Wyle Information Systems, Inc. | NASA Goddard Space Flight Center |
| e-mail: james.johnson at nasa.gov | Distributed Active Archive Center |
| phone: 301-614-5121 | Code 610.2, Bldg 32, Room S130G |
| fax: 301-614-5268 | Greenbelt, MD 20771 |
------------------------------------------------------------------------------
On Thursday, February 02, 2012 09:28:02 am jimbo32886 at gmail.com wrote:
> Hello,
>
> I had a question for anyone who has had experience taking the header
> output from an HDF5 data file and then constructing a control file based
> off of that information. I am very new to the HDF5 file construct and
> could certainly use some help. I am working with the Level 3 mapped Sea
> Surface Salinity data from the Aquarius mission. I am using GrADS version
> 2.0.a9.oga.1. The "h5dump" for the data file is as follows:
>
> HDF5 "Q20112132011243.L3m_MO_EVSCI_V1.2_SSS_1deg" {
> GROUP "/" {
> ATTRIBUTE "Data Bins" {
> DATATYPE H5T_STD_I32LE
> DATASPACE SCALAR
> }
> ATTRIBUTE "Data Center" {
> DATATYPE H5T_STD_I8LE
> DATASPACE SCALAR
> }
> ATTRIBUTE "Data Maximum" {
> DATATYPE H5T_IEEE_F32LE
> DATASPACE SCALAR
> }
> ATTRIBUTE "Data Minimum" {
> DATATYPE H5T_IEEE_F32LE
> DATASPACE SCALAR
> }
> ATTRIBUTE "Easternmost Longitude" {
> DATATYPE H5T_IEEE_F32LE
> DATASPACE SCALAR
> }
> ATTRIBUTE "End Day" {
> DATATYPE H5T_STD_I16LE
> DATASPACE SCALAR
> }
> ATTRIBUTE "End Millisec" {
> DATATYPE H5T_STD_I32LE
> DATASPACE SCALAR
> }
> ATTRIBUTE "End Orbit" {
> DATATYPE H5T_STD_I32LE
> DATASPACE SCALAR
> }
> ATTRIBUTE "End Time" {
> DATATYPE H5T_STRING {
> STRSIZE 17;
> STRPAD H5T_STR_NULLTERM;
> CSET H5T_CSET_ASCII;
> CTYPE H5T_C_S1;
> }
> DATASPACE SCALAR
> }
> ATTRIBUTE "End Year" {
> DATATYPE H5T_STD_I16LE
> DATASPACE SCALAR
> }
> ATTRIBUTE "Input Files" {
> DATATYPE H5T_STRING {
> STRSIZE 39;
> STRPAD H5T_STR_NULLTERM;
> CSET H5T_CSET_ASCII;
> CTYPE H5T_C_S1;
> }
> DATASPACE SCALAR
> }
> ATTRIBUTE "Input Parameters" {
> DATATYPE H5T_STRING {
> STRSIZE 422;
> STRPAD H5T_STR_NULLTERM;
> CSET H5T_CSET_ASCII;
> CTYPE H5T_C_S1;
> }
> DATASPACE SCALAR
> }
> ATTRIBUTE "Intercept" {
> DATATYPE H5T_IEEE_F32LE
> DATASPACE SCALAR
> }
> ATTRIBUTE "L2 Flag Names" {
> DATATYPE H5T_STD_I8LE
> DATASPACE SCALAR
> }
> ATTRIBUTE "Latitude Step" {
> DATATYPE H5T_IEEE_F32LE
> DATASPACE SCALAR
> }
> ATTRIBUTE "Latitude Units" {
> DATATYPE H5T_STRING {
> STRSIZE 14;
> STRPAD H5T_STR_NULLTERM;
> CSET H5T_CSET_ASCII;
> CTYPE H5T_C_S1;
> }
> DATASPACE SCALAR
> }
> ATTRIBUTE "Longitude Step" {
> DATATYPE H5T_IEEE_F32LE
> DATASPACE SCALAR
> }
> ATTRIBUTE "Longitude Units" {
> DATATYPE H5T_STRING {
> STRSIZE 13;
> STRPAD H5T_STR_NULLTERM;
> CSET H5T_CSET_ASCII;
> CTYPE H5T_C_S1;
> }
> DATASPACE SCALAR
> }
> ATTRIBUTE "Map Projection" {
> DATATYPE H5T_STRING {
> STRSIZE 24;
> STRPAD H5T_STR_NULLTERM;
> CSET H5T_CSET_ASCII;
> CTYPE H5T_C_S1;
> }
> DATASPACE SCALAR
> }
> ATTRIBUTE "Measure" {
> DATATYPE H5T_STRING {
> STRSIZE 5;
> STRPAD H5T_STR_NULLTERM;
> CSET H5T_CSET_ASCII;
> CTYPE H5T_C_S1;
> }
> DATASPACE SCALAR
> }
> ATTRIBUTE "Mission" {
> DATATYPE H5T_STRING {
> STRSIZE 15;
> STRPAD H5T_STR_NULLTERM;
> CSET H5T_CSET_ASCII;
> CTYPE H5T_C_S1;
> }
> DATASPACE SCALAR
> }
> ATTRIBUTE "Mission Characteristics" {
> DATATYPE H5T_STRING {
> STRSIZE 137;
> STRPAD H5T_STR_NULLTERM;
> CSET H5T_CSET_ASCII;
> CTYPE H5T_C_S1;
> }
> DATASPACE SCALAR
> }
> ATTRIBUTE "Northernmost Latitude" {
> DATATYPE H5T_IEEE_F32LE
> DATASPACE SCALAR
> }
> ATTRIBUTE "Number of Columns" {
> DATATYPE H5T_STD_I32LE
> DATASPACE SCALAR
> }
> ATTRIBUTE "Number of Lines" {
> DATATYPE H5T_STD_I32LE
> DATASPACE SCALAR
> }
> ATTRIBUTE "Orbit" {
> DATATYPE H5T_STD_I32LE
> DATASPACE SCALAR
> }
> ATTRIBUTE "Parameter" {
> DATATYPE H5T_STRING {
> STRSIZE 21;
> STRPAD H5T_STR_NULLTERM;
> CSET H5T_CSET_ASCII;
> CTYPE H5T_C_S1;
> }
> DATASPACE SCALAR
> }
> ATTRIBUTE "Period End Day" {
> DATATYPE H5T_STD_I16LE
> DATASPACE SCALAR
> }
> ATTRIBUTE "Period End Year" {
> DATATYPE H5T_STD_I16LE
> DATASPACE SCALAR
> }
> ATTRIBUTE "Period Start Day" {
> DATATYPE H5T_STD_I16LE
> DATASPACE SCALAR
> }
> ATTRIBUTE "Period Start Year" {
> DATATYPE H5T_STD_I16LE
> DATASPACE SCALAR
> }
> ATTRIBUTE "Processing Control" {
> DATATYPE H5T_STRING {
> STRSIZE 60;
> STRPAD H5T_STR_NULLTERM;
> CSET H5T_CSET_ASCII;
> CTYPE H5T_C_S1;
> }
> DATASPACE SCALAR
> }
> ATTRIBUTE "Processing Time" {
> DATATYPE H5T_STRING {
> STRSIZE 17;
> STRPAD H5T_STR_NULLTERM;
> CSET H5T_CSET_ASCII;
> CTYPE H5T_C_S1;
> }
> DATASPACE SCALAR
> }
> ATTRIBUTE "Processing Version" {
> DATATYPE H5T_STRING {
> STRSIZE 5;
> STRPAD H5T_STR_NULLTERM;
> CSET H5T_CSET_ASCII;
> CTYPE H5T_C_S1;
> }
> DATASPACE SCALAR
> }
> ATTRIBUTE "Product Name" {
> DATATYPE H5T_STRING {
> STRSIZE 43;
> STRPAD H5T_STR_NULLTERM;
> CSET H5T_CSET_ASCII;
> CTYPE H5T_C_S1;
> }
> DATASPACE SCALAR
> }
> ATTRIBUTE "Product Type" {
> DATATYPE H5T_STD_I8LE
> DATASPACE SCALAR
> }
> ATTRIBUTE "SW Point Latitude" {
> DATATYPE H5T_IEEE_F32LE
> DATASPACE SCALAR
> }
> ATTRIBUTE "SW Point Longitude" {
> DATATYPE H5T_IEEE_F32LE
> DATASPACE SCALAR
> }
> ATTRIBUTE "Scaling" {
> DATATYPE H5T_STRING {
> STRSIZE 7;
> STRPAD H5T_STR_NULLTERM;
> CSET H5T_CSET_ASCII;
> CTYPE H5T_C_S1;
> }
> DATASPACE SCALAR
> }
> ATTRIBUTE "Scaling Equation" {
> DATATYPE H5T_STRING {
> STRSIZE 47;
> STRPAD H5T_STR_NULLTERM;
> CSET H5T_CSET_ASCII;
> CTYPE H5T_C_S1;
> }
> DATASPACE SCALAR
> }
> ATTRIBUTE "Sensor" {
> DATATYPE H5T_STRING {
> STRSIZE 9;
> STRPAD H5T_STR_NULLTERM;
> CSET H5T_CSET_ASCII;
> CTYPE H5T_C_S1;
> }
> DATASPACE SCALAR
> }
> ATTRIBUTE "Sensor Characteristics" {
> DATATYPE H5T_STD_I8LE
> DATASPACE SCALAR
> }
> ATTRIBUTE "Sensor Name" {
> DATATYPE H5T_STD_I8LE
> DATASPACE SCALAR
> }
> ATTRIBUTE "Slope" {
> DATATYPE H5T_IEEE_F32LE
> DATASPACE SCALAR
> }
> ATTRIBUTE "Software Name" {
> DATATYPE H5T_STRING {
> STRSIZE 7;
> STRPAD H5T_STR_NULLTERM;
> CSET H5T_CSET_ASCII;
> CTYPE H5T_C_S1;
> }
> DATASPACE SCALAR
> }
> ATTRIBUTE "Software Version" {
> DATATYPE H5T_STRING {
> STRSIZE 5;
> STRPAD H5T_STR_NULLTERM;
> CSET H5T_CSET_ASCII;
> CTYPE H5T_C_S1;
> }
> DATASPACE SCALAR
> }
> ATTRIBUTE "Southernmost Latitude" {
> DATATYPE H5T_IEEE_F32LE
> DATASPACE SCALAR
> }
> ATTRIBUTE "Start Day" {
> DATATYPE H5T_STD_I16LE
> DATASPACE SCALAR
> }
> ATTRIBUTE "Start Millisec" {
> DATATYPE H5T_STD_I32LE
> DATASPACE SCALAR
> }
> ATTRIBUTE "Start Orbit" {
> DATATYPE H5T_STD_I32LE
> DATASPACE SCALAR
> }
> ATTRIBUTE "Start Time" {
> DATATYPE H5T_STRING {
> STRSIZE 17;
> STRPAD H5T_STR_NULLTERM;
> CSET H5T_CSET_ASCII;
> CTYPE H5T_C_S1;
> }
> DATASPACE SCALAR
> }
> ATTRIBUTE "Start Year" {
> DATATYPE H5T_STD_I16LE
> DATASPACE SCALAR
> }
> ATTRIBUTE "Station Latitude" {
> DATATYPE H5T_IEEE_F32LE
> DATASPACE SCALAR
> }
> ATTRIBUTE "Station Longitude" {
> DATATYPE H5T_IEEE_F32LE
> DATASPACE SCALAR
> }
> ATTRIBUTE "Station Name" {
> DATATYPE H5T_STD_I8LE
> DATASPACE SCALAR
> }
> ATTRIBUTE "Suggested Image Scaling Applied" {
> DATATYPE H5T_STRING {
> STRSIZE 3;
> STRPAD H5T_STR_NULLTERM;
> CSET H5T_CSET_ASCII;
> CTYPE H5T_C_S1;
> }
> DATASPACE SCALAR
> }
> ATTRIBUTE "Suggested Image Scaling Maximum" {
> DATATYPE H5T_IEEE_F32LE
> DATASPACE SCALAR
> }
> ATTRIBUTE "Suggested Image Scaling Minimum" {
> DATATYPE H5T_IEEE_F32LE
> DATASPACE SCALAR
> }
> ATTRIBUTE "Suggested Image Scaling Type" {
> DATATYPE H5T_STRING {
> STRSIZE 5;
> STRPAD H5T_STR_NULLTERM;
> CSET H5T_CSET_ASCII;
> CTYPE H5T_C_S1;
> }
> DATASPACE SCALAR
> }
> ATTRIBUTE "Title" {
> DATATYPE H5T_STRING {
> STRSIZE 31;
> STRPAD H5T_STR_NULLTERM;
> CSET H5T_CSET_ASCII;
> CTYPE H5T_C_S1;
> }
> DATASPACE SCALAR
> }
> ATTRIBUTE "Units" {
> DATATYPE H5T_STRING {
> STRSIZE 4;
> STRPAD H5T_STR_NULLTERM;
> CSET H5T_CSET_ASCII;
> CTYPE H5T_C_S1;
> }
> DATASPACE SCALAR
> }
> ATTRIBUTE "Westernmost Longitude" {
> DATATYPE H5T_IEEE_F32LE
> DATASPACE SCALAR
> }
> DATASET "l3m_data" {
> DATATYPE H5T_IEEE_F32LE
> DATASPACE SIMPLE { ( 180, 360 ) / ( 180, 360 ) }
> ATTRIBUTE "Intercept" {
> DATATYPE H5T_IEEE_F32LE
> DATASPACE SCALAR
> }
> ATTRIBUTE "Scaling" {
> DATATYPE H5T_STRING {
> STRSIZE 7;
> STRPAD H5T_STR_NULLTERM;
> CSET H5T_CSET_ASCII;
> CTYPE H5T_C_S1;
> }
> DATASPACE SCALAR
> }
> ATTRIBUTE "Scaling Equation" {
> DATATYPE H5T_STRING {
> STRSIZE 47;
> STRPAD H5T_STR_NULLTERM;
> CSET H5T_CSET_ASCII;
> CTYPE H5T_C_S1;
> }
> DATASPACE SCALAR
> }
> ATTRIBUTE "Slope" {
> DATATYPE H5T_IEEE_F32LE
> DATASPACE SCALAR
> }
> }
> DATASET "palette" {
> DATATYPE H5T_STD_U8LE
> DATASPACE SIMPLE { ( 3, 256 ) / ( 3, 256 ) }
> }
> }
> }
>
>
>
> Any input would be greatly appreciated!
>
> Thanks,
More information about the gradsusr
mailing list