HGA Components
Four or five separate Back-end Services (shared code repository?):
(Multiple Harmony services are possible with different chaining)
- Single-Variable Extractor - Multi-Variable Front-End - output to GeoTIFF, or VRT (for chaining)
- Variable Subsetting (GDAL Translate)
- HGF - Harmony GDAL Formatter (GDAL Translate)
- Various single variable formats as outputs
- Grid and/or Trajectory/Vector/Shape
- Single-Var in, single var out
(But note Multi-Variable Front-End enables e.g., HDF5 & NetCDF to GeoTIFF/COG) - COG default for TIFF/GeoTIFF
- Browse-Image Extractor (BIE? - TRT-213, GdalDEM?)
- Image Generator - color maps
- gdaldem - color_relief processing
- Other gdaldem features?
- HGA - Harmony GDAL Adapter (GDAL-Translate, GdalWarp)
- Spatial Subsetting, Reprojection
- GeoTIFF/COG output
- GeoTIFF/VRT inputs - use single-var extractor to get GeoTIFF/VRT as inputs to HGA
- HG-Agg - Harmony GeoTIFF Aggregator / NetCDF formatter
- TRT-51 ?
- Assuming a prior NetCDF -> GeoTIFF process
- Multi-GeoTIFF -> NetCDF aggregation
- Optional NetCDF source can be used for full attribute & metadata copy
- Has logic for proper CF attribution following reprojection
- Surprising number of existing code-base examples, including HGA itself
(Trajectory Subsetter for SMAP - GeoTIFF-to-Netcdf)
Roadmap -
- build a generalized HGF kernel first,
- add the color map and browse-image functionality,
- purge from HGA and transitioning the end-use community to BIE/HGF.
- Split out HG-Agg
- Then possibly replacing, if necessary, the core HGA implementation, if it is not redeemable.
(early draft):
- Browse Image Extractor - PNG, PO.DAAC - TRT-213
- Simple Formatter - Single-Var output - TRT-213?
- .nc4 or GeoTiff input ?
- Single Var outputs
- GeoTIFF / COG - Is this a different use-case than a browse image?
- ASCII
- PNG (other image - Browse Image Extractor)
- KML (KMZ)
- Any other GDAL option?
- Harmony Transformation Sampler
- Swath, Grid inputs - .nc4
- .nc4 output
- Re-aggregated from per-variable outputs
- un-processed Variables copied as-is (with attributes)
- Geo-tagging variables redefined (included, excluded, added) as required for processed variables.
- Each var is either: copy, delete, process (read from GeoTIFF), process+
(process+ is for revised attributes, for revised geo-tagging) - Groups, Group-Level & Top-Level attributes copied to output
- Could/Should be a separate service
- GeoTIFF in and out is a sub-variant?
- No re-aggregation
- Simple GeoTIFF? Or with color bands and alpha (RGBA)
- Variable, Spatial (BBox) and Temporal Subsetting
- With Reprojection - basic Harmony to GDAL parameter mapping
- Other support - ORNL?
- LP-DAAC, PO.DAAC, ASF?
- No requirements have surfaced
- NSIDC Support:
- SMAP L1/L2 - Reformat without gridding, .h5 => ascii (CSV), shp, other?
- SMAP L1/L2 - Reformat after gridding, .h5 => .gtif
- SMAP L1/L2 - Reprojection (chaining): GeoTIFF/.h5 => Gtif / COG
- SMAP L1/L2 / L3/L4 - ASCII formats? GeoTIFF/.h5 => <ASCII>
- ICESat-2 - ATLAS - L3/L4 (Gridded, mix of projections, grids) -
- To GeoTIFF / COG - HGA chaining?
- HDF-EOS-4 legacy data - multiple slightly divergent data products
- To GeoTIFF / COG - HGA chaining
- Perhaps .he4 to .nc4 first, and then follow-on processing.
- Possibly Harmony Transformation Sampler with .he4 inputs