MODIS: Difference between revisions
(→C) |
|||
Line 32: | Line 32: | ||
=== C === | === C === | ||
Two versions of HDF seem to be common: HDF4 and HDF5. I'm not clear yet which MODIS uses when they call theirs "HDF-EOS". But anyway. There are some ready-built binary libraries for both [https://support.hdfgroup.org/release4/obtain.html HDF4] and [https://support.hdfgroup.org/HDF5/release/obtain518.html HDF5] which look promising. Some linux builds, and also Windows builds in release mode, both 32-bit and 64-bit, built with Visual Studio 2013 and 2015. That's more helpful than most. | Two versions of HDF seem to be common: HDF4 and HDF5. I'm not clear yet which MODIS uses when they call theirs "HDF-EOS". But anyway. There are some ready-built binary libraries for both [https://support.hdfgroup.org/release4/obtain.html HDF4] and [https://support.hdfgroup.org/HDF5/release/obtain518.html HDF5] which look promising. Some linux builds, and also Windows builds in release mode, both 32-bit and 64-bit, built with Visual Studio 2013 and 2015. That's more helpful than most. So.... Here are windows instructions. If you do this for linux, tell me how and I'll add instructions. | ||
* Download the Library above, 64-bit, and the Visual Studio you're using, extract it, and run the installer, which unzips the library to a place of your choice. I recommend a place without spaces in the directory names - it usually makes things simpler somewhere along the lines. For this example, suppose you install it in C:\Lib\HDF. | |||
* Get your project open in Visual Studio, and get into Release x64 bit mode. Open a C file, so you get the right project preferences, and then... | |||
* Open Project Preferences - check it's still configuring 64-bit Release mode. | |||
* In C/C++, General, Additional Include Directories, insert '''C:\Lib\HDF\include;''' (for example) | |||
* In Linker, Input, Additional Dependencies, insert '''libxdr.lib;libszip.lib;libjpeg.lib;libzlib.lib;libmfhdf.lib;libhdf.lib;''' - which is a bit eye-boggling. | |||
* In Linker, General, Additional Library Directories, insert (for example) '''C:\Lib\HDF\lib;''' | |||
== Citation == | == Citation == |
Revision as of 16:01, 17 March 2017
About
MODIS data is collected by two satellites called Aqua (MOLA/MYD) and Terra (MOLT/MOD). Each satellite uses a 16 day period, and they are in antiphase, giving 8-day resolution. Some products are already combined into single datasets (MCD). A variety of fields are available. This document will describe the generic things about the dataset.
Getting Access
You need to sign up for a password, but after that, downloads are free. The download process is a bit tedious too, so scripting is the way. The source folders we've had reason to use are:
https://e4ftl01.cr.usgs.gov/MOLA/MYD11A2.006/ | MODIS/Aqua Land Surface Temperature and Emissivity 8-Day L3 Global 1 km Grid SIN V006 |
https://e4ftl01.cr.usgs.gov/MOLT/MOD11A2.006/ | MODIS/Terra Land Surface Temperature and Emissivity 8-Day L3 Global 1 km Grid SIN V006 |
https://e4ftl01.cr.usgs.gov/MOLA/MYD13A2.006/ | MODIS/Aqua Vegetation Indices 16-Day L3 Global 1km Grid SIN V006 |
https://e4ftl01.cr.usgs.gov/MOLT/MOD13A2.006/ | MODIS/Terra Vegetation Indices 16-Day L3 Global 1km Grid SIN V006 |
https://e4ftl01.cr.usgs.gov/MOTA/MCD12Q1.051/ | MODIS Combined Land Cover Type Yearly L3 Global 500 m SIN Grid |
File Format
The file format is the HDF format. More details to follow, as I discover what exactly it is and how to interpet it.
Example Code
C
Two versions of HDF seem to be common: HDF4 and HDF5. I'm not clear yet which MODIS uses when they call theirs "HDF-EOS". But anyway. There are some ready-built binary libraries for both HDF4 and HDF5 which look promising. Some linux builds, and also Windows builds in release mode, both 32-bit and 64-bit, built with Visual Studio 2013 and 2015. That's more helpful than most. So.... Here are windows instructions. If you do this for linux, tell me how and I'll add instructions.
- Download the Library above, 64-bit, and the Visual Studio you're using, extract it, and run the installer, which unzips the library to a place of your choice. I recommend a place without spaces in the directory names - it usually makes things simpler somewhere along the lines. For this example, suppose you install it in C:\Lib\HDF.
- Get your project open in Visual Studio, and get into Release x64 bit mode. Open a C file, so you get the right project preferences, and then...
- Open Project Preferences - check it's still configuring 64-bit Release mode.
- In C/C++, General, Additional Include Directories, insert C:\Lib\HDF\include; (for example)
- In Linker, Input, Additional Dependencies, insert libxdr.lib;libszip.lib;libjpeg.lib;libzlib.lib;libmfhdf.lib;libhdf.lib; - which is a bit eye-boggling.
- In Linker, General, Additional Library Directories, insert (for example) C:\Lib\HDF\lib;
Citation
For the datasets we used above:-
Z. Wan, S. H., G.Hulley. (2015). MYD11A2 MODIS/Aqua Land Surface Temperature/Emissivity 8-Day L3 Global 1km SIN Grid V006. NASA EOSDIS Land Processes DAAC. https://doi.org/10.5067/MODIS/MYD11A2.006
Z. Wan, S. H., G.Hulley. (2015). MOD11A2 MODIS/Terra Land Surface Temperature/Emissivity 8-Day L3 Global 1km SIN Grid V006. NASA EOSDIS Land Processes DAAC. https://doi.org/10.5067/MODIS/MOD11A2.006
K. Didan. (2015). MYD13A2 MODIS/Aqua Vegetation Indices 16-Day L3 Global 1km SIN Grid V006. NASA EOSDIS Land Processes DAAC. https://doi.org/10.5067/MODIS/MYD13A2.006
K. Didan. (2015). MOD13A2 MODIS/Terra Vegetation Indices 16-Day L3 Global 1km SIN Grid V006. NASA EOSDIS Land Processes DAAC. https://doi.org/10.5067/MODIS/MOD13A2.006
(No specific citation for the MCD dataset)