Difference between revisions of "MODIS"

From GRASS-Wiki
Jump to: navigation, search
(populate)
(Chlorophyll-a (Level 3))
Line 24: Line 24:
  
 
==== Chlorophyll-a (Level 3) ====
 
==== Chlorophyll-a (Level 3) ====
 +
'''Get data:'''
 
* Get data in HDF4 format from http://oceancolor.gsfc.nasa.gov/PRODUCTS/L3_chlo.html
 
* Get data in HDF4 format from http://oceancolor.gsfc.nasa.gov/PRODUCTS/L3_chlo.html
  
 +
'''Decompress:'''
 +
bzip2 -d A20023352002365.L3m_MO_CHLO_4.bz2
  
 
File names look like: <tt>A20023352002365.L3m_MO_CHLO_4</tt>
 
File names look like: <tt>A20023352002365.L3m_MO_CHLO_4</tt>
Line 37: Line 40:
 
  * MO: One month ensemble
 
  * MO: One month ensemble
 
  * CHLO: Chlorophyll ''a'' concentration product
 
  * CHLO: Chlorophyll ''a'' concentration product
  * 4: 4km pixel size (8640x4320 image, 2.5 minute resolution)
+
  * 4: 4.6km pixel size (8640x4320 image, 2.5 minute resolution)
 +
 
 +
'''Check:'''
 +
* Use [http://www.gdal.org GDAL's] <tt>gdalinfo</tt> tool to view the HDF file's meta-data.
 +
 
 +
Example of CHLO metadata from gdalinfo:
 +
  Parameter=Chlorophyll a concentration
 +
  Measure=Mean
 +
  Units=mg m^-3
 +
  Scaling=logarithmic
 +
  Scaling Equation=Base**((Slope*l3m_data) + Intercept) = Parameter value
 +
  Base=10
 +
  Slope=5.813776e-05
 +
  Intercept=-2
 +
  Scaled Data Minimum=0.01
 +
  Scaled Data Maximum=64.5654
 +
  Data Minimum=0.002637
 +
  Data Maximum=99.99774
 +
 
 +
'''Import:'''
 +
 
 +
* Create a simple XY GRASS location and mapset
 +
* Import the imagery and set image bounds and resolution:
 +
for file in A*_MO_CHLO_4 ; do
 +
  echo "map: $file"
 +
  r.in.gdal in=$file out=$file
 +
  r.region $file n=90 s=-90 w=-180 e=180
 +
done
 +
 
 +
* Convert the simple XY location into a Lat/Lon location
 +
: (''work in progress: we need a cleaner method'')
 +
''Integerized Sinusoidal (ISIN) projection, Plate carrée, or WGS84?''
 +
''Does it matter with data at the km scale?
 +
: Modify the location's projection settings with g.setproj?
 +
: What I did: after import move the mapset dir into a world_ll location, then edit the mapset's WIND file and change the <tt>proj:</tt> line from 0 to 3. (0 is unprojected, 3 is LL) You also have to edit each file header in the $MAPSET/cellhd/ directory.
 +
 
 +
* Remove NULLs
 +
for map in `g.mlist rast pat=A200*` ; do
 +
  r.null $map setnull=65535
 +
done

Revision as of 03:05, 1 April 2008

There are two MODIS Satellites, Aqua and Terra.

MODIS Aqua

Sea surface color, temperature, and derivative images

SST (Level 3)

File names look like: A20023532002360.L3m_8D_SST_4 key:

* A: Aqua
* 2002: Year at start
* 353: Julian day at start
* 2002: Year at end
* 360: Julian day at end
* L3m: Level 3 data, mapped
* 8D: 8 day ensemble
* SST: Sea Surface Temperature product
* 4: 4km pixel size (8640x4320 image, 2.5 minute resolution)

Chlorophyll-a (Level 3)

Get data:

Decompress:

bzip2 -d A20023352002365.L3m_MO_CHLO_4.bz2

File names look like: A20023352002365.L3m_MO_CHLO_4 key:

* A: Aqua
* 2002: Year at start
* 335: Julian day at start
* 2002: Year at end
* 365: Julian day at end
* L3m: Level 3 data, mapped
* MO: One month ensemble
* CHLO: Chlorophyll a concentration product
* 4: 4.6km pixel size (8640x4320 image, 2.5 minute resolution)

Check:

  • Use GDAL's gdalinfo tool to view the HDF file's meta-data.

Example of CHLO metadata from gdalinfo:

 Parameter=Chlorophyll a concentration
 Measure=Mean
 Units=mg m^-3
 Scaling=logarithmic
 Scaling Equation=Base**((Slope*l3m_data) + Intercept) = Parameter value
 Base=10
 Slope=5.813776e-05
 Intercept=-2
 Scaled Data Minimum=0.01
 Scaled Data Maximum=64.5654
 Data Minimum=0.002637
 Data Maximum=99.99774

Import:

  • Create a simple XY GRASS location and mapset
  • Import the imagery and set image bounds and resolution:
for file in A*_MO_CHLO_4 ; do
  echo "map: $file"
  r.in.gdal in=$file out=$file
  r.region $file n=90 s=-90 w=-180 e=180
done
  • Convert the simple XY location into a Lat/Lon location
(work in progress: we need a cleaner method)

Integerized Sinusoidal (ISIN) projection, Plate carrée, or WGS84? Does it matter with data at the km scale?

Modify the location's projection settings with g.setproj?
What I did: after import move the mapset dir into a world_ll location, then edit the mapset's WIND file and change the proj: line from 0 to 3. (0 is unprojected, 3 is LL) You also have to edit each file header in the $MAPSET/cellhd/ directory.
  • Remove NULLs
for map in `g.mlist rast pat=A200*` ; do
  r.null $map setnull=65535
done