21
1 An Overview of An Overview of HDF-EOS HDF-EOS (Part I) (Part I) Doug Ilg Doug Ilg Raytheon STX Raytheon STX [email protected] [email protected] (301) 441-4089 (301) 441-4089

1 An Overview of HDF-EOS (Part I) Doug Ilg Raytheon STX [email protected] (301) 441-4089

Embed Size (px)

Citation preview

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

8

A Grid Data SetA Grid Data Set

9

XdimSize: 2000

YdimSize: 800

Projinfo

A Grid StructureA Grid Structure

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

20

Compression Methods for Compression Methods for PointsPoints

NONENONE

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.