[GRASS-user] How to use r.in.gdal and gdal to read MODIS NDVI/EVI (HDF4) data?

Hi all,

I am trying to use gdal and r.in.gdal to read MODIS/HDF4 following the instructions at http://grass.osgeo.org/wiki/MODIS but I am obviously doing something wrong :smiling_face:

Help and suggestions are most appreciated.

Cheers,

Torkild

-----------------
gdalinfo MOD13Q1.A2006129.h18v01.005.2008321145449.hdf

Driver: HDF4/Hierarchical Data Format Release 4
Files: MOD13Q1.A2006129.h18v01.005.2008321145449.hdf
Size is 512, 512
Coordinate System is `'

*Metadata deleted*

  DAYSPROCESSED=2006129, 2006130, 2006131, 2006132, 2006133, 2006134, 2006135, 2006136, 2006137, 2006138, 2006139, 2006140, 2006141, 2006142, 2006143, 2006144
  PRODUCTIONTYPE=Regular Production [1-16,17-32,33-48,...353-2/3]
  QA_STRUCTURE_STYLE=C5 or later
Subdatasets:
  SUBDATASET_1_NAME=HDF4_EOS:EOS_GRID:"MOD13Q1.A2006129.h18v01.005.2008321145449.hdf":MODIS_Grid_16DAY_250m_500m_VI:250m 16 days NDVI
  SUBDATASET_1_DESC=[4800x4800] 250m 16 days NDVI MODIS_Grid_16DAY_250m_500m_VI (16-bit integer)
  SUBDATASET_2_NAME=HDF4_EOS:EOS_GRID:"MOD13Q1.A2006129.h18v01.005.2008321145449.hdf":MODIS_Grid_16DAY_250m_500m_VI:250m 16 days EVI
  SUBDATASET_2_DESC=[4800x4800] 250m 16 days EVI MODIS_Grid_16DAY_250m_500m_VI (16-bit integer)
  SUBDATASET_3_NAME=HDF4_EOS:EOS_GRID:"MOD13Q1.A2006129.h18v01.005.2008321145449.hdf":MODIS_Grid_16DAY_250m_500m_VI:250m 16 days VI Quality
  SUBDATASET_3_DESC=[4800x4800] 250m 16 days VI Quality MODIS_Grid_16DAY_250m_500m_VI (16-bit unsigned integer)
  SUBDATASET_4_NAME=HDF4_EOS:EOS_GRID:"MOD13Q1.A2006129.h18v01.005.2008321145449.hdf":MODIS_Grid_16DAY_250m_500m_VI:250m 16 days red reflectance
  SUBDATASET_4_DESC=[4800x4800] 250m 16 days red reflectance MODIS_Grid_16DAY_250m_500m_VI (16-bit integer)
  SUBDATASET_5_NAME=HDF4_EOS:EOS_GRID:"MOD13Q1.A2006129.h18v01.005.2008321145449.hdf":MODIS_Grid_16DAY_250m_500m_VI:250m 16 days NIR reflectance
  SUBDATASET_5_DESC=[4800x4800] 250m 16 days NIR reflectance MODIS_Grid_16DAY_250m_500m_VI (16-bit integer)
  SUBDATASET_6_NAME=HDF4_EOS:EOS_GRID:"MOD13Q1.A2006129.h18v01.005.2008321145449.hdf":MODIS_Grid_16DAY_250m_500m_VI:250m 16 days blue reflectance
  SUBDATASET_6_DESC=[4800x4800] 250m 16 days blue reflectance MODIS_Grid_16DAY_250m_500m_VI (16-bit integer)
  SUBDATASET_7_NAME=HDF4_EOS:EOS_GRID:"MOD13Q1.A2006129.h18v01.005.2008321145449.hdf":MODIS_Grid_16DAY_250m_500m_VI:250m 16 days MIR reflectance
  SUBDATASET_7_DESC=[4800x4800] 250m 16 days MIR reflectance MODIS_Grid_16DAY_250m_500m_VI (16-bit integer)
  SUBDATASET_8_NAME=HDF4_EOS:EOS_GRID:"MOD13Q1.A2006129.h18v01.005.2008321145449.hdf":MODIS_Grid_16DAY_250m_500m_VI:250m 16 days view zenith angle
  SUBDATASET_8_DESC=[4800x4800] 250m 16 days view zenith angle MODIS_Grid_16DAY_250m_500m_VI (16-bit integer)
  SUBDATASET_9_NAMEg=HDF4_EOS:EOS_GRID:"MOD13Q1.A2006129.h18v01.005.2008321145449.hdf":MODIS_Grid_16DAY_250m_500m_VI:250m 16 days sun zenith angle
  SUBDATASET_9_DESC=[4800x4800] 250m 16 days sun zenith angle MODIS_Grid_16DAY_250m_500m_VI (16-bit integer)
  SUBDATASET_10_NAME=HDF4_EOS:EOS_GRID:"MOD13Q1.A2006129.h18v01.005.2008321145449.hdf":MODIS_Grid_16DAY_250m_500m_VI:250m 16 days relative azimuth angle
  SUBDATASET_10_DESC=[4800x4800] 250m 16 days relative azimuth angle MODIS_Grid_16DAY_250m_500m_VI (16-bit integer)
  SUBDATASET_11_NAME=HDF4_EOS:EOS_GRID:"MOD13Q1.A2006129.h18v01.005.2008321145449.hdf":MODIS_Grid_16DAY_250m_500m_VI:250m 16 days composite day of the year
  SUBDATASET_11_DESC=[4800x4800] 250m 16 days composite day of the year MODIS_Grid_16DAY_250m_500m_VI (16-bit integer)
  SUBDATASET_12_NAME=HDF4_EOS:EOS_GRID:"MOD13Q1.A2006129.h18v01.005.2008321145449.hdf":MODIS_Grid_16DAY_250m_500m_VI:250m 16 days pixel reliability
  SUBDATASET_12_DESC=[4800x4800] 250m 16 days pixel reliability MODIS_Grid_16DAY_250m_500m_VI (8-bit integer)
Corner Coordinates:
Upper Left ( 0.0, 0.0)
Lower Left ( 0.0, 512.0)
Upper Right ( 512.0, 0.0)
Lower Right ( 512.0, 512.0)
Center ( 256.0, 256.0)

----------------------

gdal_translate HDF4_EOS:EOS_GRID:"MOD13Q1.A2006129.h18v01.005.2008321145449.hdf":MODIS_Grid_16DAY_250m_500m_VI slett.tif
Input file size is 0, 0
Input file has no bands, and so cannot be translated.

------------------------

2009/9/3 Tveraa, Torkild <Torkild.Tveraa@nina.no>

Hi all,

I am trying to use gdal and r.in.gdal to read MODIS/HDF4 following the instructions at http://grass.osgeo.org/wiki/MODIS but I am obviously doing something wrong :smiling_face:

gdal_translate HDF4_EOS:EOS_GRID:“MOD13Q1.A2006129.h18v01.005.2008321145449.hdf”:MODIS_Grid_16DAY_250m_500m_VI slett.tif

You want to convert from an HDF file to GeoTIFF. You need to provide the full dataset name, and if you are in linux bash, you need to escape the whole thing together. For your QK EVI data, the command looks like this:

gdal_translate -of GTiff ‘HDF4_EOS:EOS_GRID:“MOD13Q1.A2006129.h18v01.005.2008321145449.hdf”:MODIS_Grid_16DAY_250m_500m_VI:250m 16 days EVI’ output.tif

Note the single quotes and the full HDF dataset name (with annoying spaces in between, yes, I know… :-D)

J