MODIS
There are two MODIS Satellites, Aqua and Terra.
MODIS Aqua
Sea surface color, temperature, and derivative images
SST (Level 3)
- Get data in HDF4 format from http://oceancolor.gsfc.nasa.gov/PRODUCTS/L3_sst.html
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:
- 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: 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