1 an overview of hdf-eos (part i) doug ilg raytheon stx [email protected] (301) 441-4089
TRANSCRIPT
1
An Overview ofAn Overview ofHDF-EOSHDF-EOS
(Part I)(Part I)
Doug IlgDoug Ilg
Raytheon STXRaytheon STX
[email protected]@gsfc.nasa.gov
(301) 441-4089(301) 441-4089
2
OutlineOutline
What is HDF-EOS?What is HDF-EOS? The Grid InterfaceThe Grid Interface The Point InterfaceThe Point Interface
3
What is HDF-EOS?What is HDF-EOS?
An HDF “Profile”An HDF “Profile” An extension to HDFAn extension to HDF A library built “on top” of HDFA library built “on top” of HDF Three new data objectsThree new data objects Three new programming interfacesThree new programming interfaces
4
Standard HDF lacks well defined Standard HDF lacks well defined ways of handling some key needs of ways of handling some key needs of EOSDISEOSDIS
Why HDF-EOS?Why HDF-EOS?
Data structures for Earth remote Data structures for Earth remote sensing data and in-situ sensing data and in-situ measurements with:measurements with:– tightly coupled geolocation informationtightly coupled geolocation information– subsetting services based on geolocationsubsetting services based on geolocation
ECS metadata modelECS metadata model
5
HDF-EOS PlatformsHDF-EOS Platforms
HDF-EOS Version 2.3 is available for:HDF-EOS Version 2.3 is available for: Sun SPARC - SolarisSun SPARC - Solaris SGI - IRIXSGI - IRIX DEC Alpha - Digital UNIXDEC Alpha - Digital UNIX HP 9000 - HP-UXHP 9000 - HP-UX IBM RS/6000 - AIXIBM RS/6000 - AIX PC - Windows 95/NTPC - Windows 95/NT
6
HDF-EOS InterfacesHDF-EOS Interfaces
C and FORTRAN Interfaces for:C and FORTRAN Interfaces for: Grid Data (Grid Data (GDGD)) Point Data (Point Data (PTPT)) Swath Data (Swath Data (SWSW))
7
HDF-EOS Programming HDF-EOS Programming ModelModel
WritingWriting– open fileopen file– create objectcreate object– define structuredefine structure– detach object*detach object*– attach object*attach object*– write datawrite data– detach objectdetach object– close fileclose file
ReadingReading– open fileopen file– attach objectattach object– inquire objectinquire object– read dataread data– detach objectdetach object– close fileclose file
10
Projections SupportedProjections Supported
GeographicGeographic Transverse MercatorTransverse Mercator Universal Universal
Transverse MercatorTransverse Mercator Hotine Oblique Hotine Oblique
MercatorMercator Space Oblique Space Oblique
MercatorMercator Polar StereographicPolar Stereographic
Lambert Azimuthal Lambert Azimuthal Equal AreaEqual Area
Lambert Conformal Lambert Conformal ConicConic
PolyconicPolyconic Interrupted Goode’s Interrupted Goode’s
HomolosineHomolosine Integerized Integerized
SinusoidalSinusoidal
11
Components of the Grid Components of the Grid InterfaceInterface
AccessAccess DefinitionDefinition Basic I/OBasic I/O InquiryInquiry SubsetSubset TilingTiling
12
Tips on Writing a GridTips on Writing a Grid
Order of calls is significant:Order of calls is significant:– Setting a compression method affects Setting a compression method affects
all subsequently defined fieldsall subsequently defined fields– Setting a tiling scheme affects all Setting a tiling scheme affects all
subsequently defined fieldssubsequently defined fields
13
Grid Subsetting FeaturesGrid Subsetting Features
By GeolocationBy Geolocation– GDdefboxregion/GDdefboxregion/
GdextractboxregionGdextractboxregion By “Vertical” FieldBy “Vertical” Field
– GDdefvrtregion/GDextractvrtregionGDdefvrtregion/GDextractvrtregion By Time (special case of vertical)By Time (special case of vertical) Tip: use Geolocation, then Tip: use Geolocation, then
Vertical/ TemporalVertical/ Temporal
14
Compression Methods for Compression Methods for GridsGrids
Run-Length EncodingRun-Length Encoding Adaptive HuffmanAdaptive Huffman GzipGzip
15
Lat Lon Temp(C) Dewpt(C)61.12 -149.48 15.00 5.0045.31 -122.41 17.00 5.0038.50 -77.00 24.00 7.0038.39 -90.15 27.00 11.0030.00 -90.05 22.00 7.0037.45 -122.26 25.00 10.0018.00 -76.45 27.00 4.0043.40 -79.23 30.00 14.0034.03 -118.14 25.00 4.0032.45 -96.48 32.00 8.0033.30 -112.00 30.00 10.0042.15 -71.07 28.00 7.0035.05 -106.40 30.00 9.0034.12 -77.56 28.00 9.00 46.32 -87.25 30.00 8.00 47.36 -122.20 32.00 15.0039.44 -104.59 31.00 16.0021.25 -78.00 28.00 7.00 44.58 -93.15 32.00 13.00 41.49 -87.37 28.00 9.0025.45 -80.11 19.00 3.00
A Point Data SetA Point Data Set
16
A Point StructureA Point Structure
Lat Long Buoy ID25.2645 091.2564 012622.3549 -93.4657 356423.2564 -89.2546 1256
Buoy ID Time Wave Height(ft) Temp(C)0126 01:26 2.54 18.40126 05:56 3.58 18.23564 06:28 12.64 16.41256 08:12 7.58 17.11256 09:58 7.76 17.20126 09:59 4.23 20.13564 10:16 10.23 17.5
17
The Point InterfaceThe Point Interface
AccessAccess DefinitionDefinition Basic I/OBasic I/O InquiryInquiry SubsetSubset
18
Tips on Writing a PointTips on Writing a Point
Every level in a Point data set must Every level in a Point data set must be linked into the hierarchy.be linked into the hierarchy.
Before two levels can be linked, a Before two levels can be linked, a link field must exist.link field must exist.
19
Point Subsetting FeaturesPoint Subsetting Features
By TimeBy Time– PTdeftimeperiod/PTextractperiodPTdeftimeperiod/PTextractperiod
By GeolocationBy Geolocation– PTdefboxregion/PTextractregionPTdefboxregion/PTextractregion
Tip: use one or the other, not bothTip: use one or the other, not both
21
Tips for HDF-EOS CodingTips for HDF-EOS Coding
Most operations (read, write, subset) Most operations (read, write, subset) work on a single field at a time.work on a single field at a time.
Region IDs and Period IDs are inter-Region IDs and Period IDs are inter-changeable and can be reused to changeable and can be reused to further reduce a subset.further reduce a subset.
Partial writes (appending) on Partial writes (appending) on compressed fields are only compressed fields are only supported through tiling.supported through tiling.