Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Service Recipe For:

FormatStorage LocationAccessTransformation Required

Status
colourBlue
titleHDF5

Status
colourGreen
titleDMZ Datapool

Status
colourYellow
titleRaster Proxy

Status
colourRed
titleYes

Info
titleNote

This workflow used ArcGIS Server 10.8 and an HDF5 File.

Sample File Available Here: https://asdc.larc.nasa.gov/data/MOPITT/MOP03J.008/2020.03.21/MOP03J-20200321-L3V5.6.3.he5

Step 1:

  • Convert a sample HDF_EOS to a MRF to get the MRF XML structure
  • This command is pulling out one variable from the HDF EOS file.
Code Block
languagebash
themeConfluence
gdal_translate.exe -of MRF -co NOCOPY=TRUE -co COMPRESS=LERC -co CACHEDSOURCE=HDF5_EOS:EOS_GRID:"Path\To\File\MOP03J-20200321-L3V5.6.3.he5":MOP03:APrioriCOTotalColumnDay HDF5_EOS:EOS_GRID:"Path\To\File\2020.03.21\MOP03J-20200321-L3V5.6.3.he5":MOP03:APrioriCOTotalColumnDay Path\To\new\file\location\tmp\mopapriori.mrf

Step 2:

  • Open .MRF and add in <DataFile>, <IndexFile>, and <CachedSource> to MRF file. This will make it a Raster Proxy pointing to the real HDF5 file.
    • <DataFile> 
      • Location on the ArcGIS Server where the cache file will be created and stored
    • <IndexFile>
      • Location on the ArcGIS Server where the cache file will be created and stored
    • <CachedSource><Source>
      • Add the variable to be filtered out of the HDF5 into the source location.
        • HDF5_EOS:EOS_GRID:Path\to\the\file\MOP03J-20200321-L3V5.6.3.he5:MOP03:APrioriCOTotalColumnDay

...

Code Block
languagexml
titleMRF with Added Tags
<MRF_META>
  <CachedSource>
    <Source>HDF5_EOS:EOS_GRID:"Path\To\The\File\MOP03J-20200321-L3V5.6.3.he5:MOP03:APrioriCOTotalColumnDay</Source>
  </CachedSource>
  <Raster>
    <Size x="360" y="180" c="1" />
    <PageSize x="512" y="512" c="1" />
    <Compression>LERC</Compression>
    <DataType>Float32</DataType>
    <DataValues NoData="-9999" />
    <DataFile>Path\To\Your\Cache\Location\APrioriCOTotalColumnDay_1.mrfcache</DataFile>
    <IndexFile>Path\To\Your\Cache\Location\APrioriCOTotalColumnDay_1.mrfcache</IndexFile>
  </Raster>
  <GeoTags>
    <BoundingBox minx="-180.00000000" miny="-90.00000000" maxx="180.00000000" maxy=" 90.00000000" />
    <Projection>EPSG:4326</Projection>
  </GeoTags>
</MRF_META>

Step 3:

  • Create a Database Table or CSV with the following headings:

    Code Block
    languagetext
    OBJECTID,Variable,Dimensions,StdTime,StdTime_Max,Name,Long_Name,Raster
Info
titleNote

More table headings can be added. Minimum required are Variable, Dimensions, StdTime, and Raster if using a multidimensional dataset.

Step 4:

  • Add the Raster Proxy to CSV Table under the "Raster" column. 

Code Block
languagetext
OBJECTID,Variable,Dimensions,StdTime,StdTime_Max,Name,Long_Name,Raster
0,APrioriCOTotalColumnDay,"StdTime",03-21-2020 0:00:00,03-21-2020 11:59:59,MOP03J-20200321-L3V5.6.3.APrioriCOTotalColumnDay,A Priori CO Total Column Day,<MRF_META><CachedSource><Source>HDF5_EOS:EOS_GRID:"Path\To\File\MOP03J-20200321-L3V5.6.3.he5":MOP03:APrioriCOTotalColumnDay</Source></CachedSource><Raster><Size x="360" y="180" c="1" /><PageSize x="512" y="512" c="1" /><Compression>LERC</Compression><DataType>Float32</DataType><DataValues NoData="-9999" /><DataFile>Path\To\Cache\Location\APrioriCOTotalColumnDay_1.mrfcache</DataFile><IndexFile>Path\To\Cache\Location\APrioriCOTotalColumnDay_1.mrfcache</IndexFile></Raster><GeoTags><BoundingBox minx="-180.00000000" miny="-90.00000000" maxx="180.00000000" maxy=" 90.00000000" /><Projection>EPSG:4326</Projection></GeoTags></MRF_META>

Step 5:

  • Create Mosaic Dataset
  • Use the AddRasters to Mosaic tool. Raster Type = Table and point to the CSV

Step 6:

  • Right click on Mosaic Dataset
  • Modify > Build Multidimensional Info (using because we used raster proxy)
    Build Multidimensional Information since using a Raster Proxy and Table

Step 7:

  • Set Raster Properties

Step 6:

  • Publish Service (Using MDCS or API)

...