Programmatic interface to several NASA Earth Observation 'OPeNDAP' servers (Open-source Project for a Network Data Access Protocol) (< https://www.opendap.org/>). Allows for easy downloads of MODIS subsets, as well as other Earth Observation datacubes, in a time-saving and efficient way : by sampling it at the very downloading phase (spatially, temporally and dimensionally).

• Overview
•
Installation
•
Get started
•
Data collections
available
•
Manual testing of the
functionality
• Foundational
framework
•
Comparison with similar R
packages
• Citation
•
Future developments
•
Contributing
•
Acknowledgments
2026-09-29 :
modisfast is back!
modisfast is backmodisfast now uses the new NASA Earthdata Cloud OPeNDAP
endpoint for MODIS and VIIRS
collections !modisfast is an R package designed for easy and fast
downloads of
MODIS Land
products,
VIIRS Land
products, and
GPM
(Global Precipitation Measurement Mission) Earth Observation data.
modisfast uses the abilities offered by the
OPeNDAP framework (Open-source
Project for a Network Data Access Protocol) to download a subset of
Earth Observation data cube, along spatial, temporal or any other data
dimension (depth, …). This way, it reduces downloading time and disk
usage to their minimum : no more 1° x 1° MODIS tiles with 10 bands when
your region of interest is only 30 km x 30 km wide and you need 2 bands
! Moreover, modisfast enables parallel downloads of data.
This package is hence particularly suited for retrieving MODIS or VIIRS data over long time series and over areas, rather than short time series and points.
Importantly, the robust, sustainable, and cost-free foundational
framework of modisfast, both for the data
provider (NASA) and the software (R, OPeNDAP, the tidyverse and GDAL
suite of packages and software), guarantees the long-term reliability
and open-source nature of the package.
By enabling to download subsets of data cubes, modisfast facilites the
access to Earth science data for R users in places where internet
connection is slow or expensive and promotes digital sobriety for our
research work.
You can install the released version of modisfast from
CRAN with :
install.packages("modisfast")
or the development version (to get a bug fix or to use a feature from the development version) with :
if(!require(devtools)){install.packages("devtools")}
devtools::install_github("ptaconet/modisfast")
This example shows how to download and import a 1-year long time series of MODIS Land Surface Temperature (LST) at 6 km spatial resolution / 1 month temporal resolution over the whole country of Madagascar (collection MOD11B3.061).
Fist, you need to retrieve your Earthdata token. This token is mandatory to access the data. You can get it here : https://urs.earthdata.nasa.gov/ .
Next, run
the following code
# set your EarthData token as an environment system :
Sys.setenv(EARTHDATA_TOKEN = "your Earthdata bearer token")
# Load the packages
library(modisfast)
library(sf)
library(terra)
# Set ROI and time range of interest
roi <- st_as_sf(data.frame(id = "madagascar", geom = "POLYGON((41.95 -11.37,51.26 -11.37,51.26 -26.17,41.95 -26.17,41.95 -11.37))"), wkt = "geom", crs = 4326) # a ROI of interest, format sf polygon
time_range <- as.Date(c("2025-01-01", "2025-12-31")) # a time range of interest (or single date)
# Set MODIS collections and variables (bands) of interest
collection <- "MOD11B3.061" # run mf_list_collections() for an exhaustive list of collections available
variables <- c("LST_Day_6km") # run mf_list_variables("MOD11B3.061") for an exhaustive list of variables available for the collection MOD11B3.061
## Get the URLs of the data with mf_get_url()
urls <- mf_get_url(
collection = collection,
variables = variables,
roi = roi,
time_range = time_range
)
## Download the data with mf_download_data(). By default the data is downloaded in a temporary directory, but you can specify a folder
res_dl <- mf_download_data(urls,
parallel = TRUE,
num_workers = 3)
# And finally, import the data in R as a terra::SpatRaster object using the function mf_import_data()
r <- mf_import_data(
path = dirname(res_dl$destfile[1]),
collection = collection,
proj_epsg = 4326,
roi_mask = roi
)
terra::plot(r, col = rev(terrain.colors(20)))
Time series of weekly 1-km VIIRS Land
surface temperature over Madagascar for the first 3 months of the year
2023, retrieved with modisfast
et voilà !
Want more examples ? modisfast provides a long-form documentations
and examples to learn more about the
package(https://ptaconet.github.io/modisfast/articles/get_started.html)
modisfastCurrently modisfast supports download of 95 data collections,
extracted from the following meta-collections :
Details of each product available for download are provided in the
tables below or through the function mf_list_collections().
Albedo data collections (click to expand)
|
Collection |
Source |
Type |
Name |
Spatial resolution |
Temporal resolution |
Temporal extent |
|---|---|---|---|---|---|---|
|
MODIS |
Albedo |
MODIS/Terra and Aqua BRDF/Albedo Model Parameters Daily L3 Global 500 m SIN Grid |
500 m |
Daily |
2000-02-24 to present |
|
|
VIIRS |
Albedo |
VIIRS/JPSS1 DNB Albedo Daily L3 Global 1km SIN Grid V002 |
1000 m |
Daily |
2018-01-01 to present |
|
|
VIIRS |
Albedo |
VIIRS/JPSS1 Albedo Daily L3 Global 1km SIN Grid V002 |
1000 m |
Daily |
2018-01-01 to present |
|
|
VIIRS |
Albedo |
VIIRS/JPSS2 DNB Albedo Daily L3 Global 1km SIN Grid V002 |
1000 m |
Daily |
2023-02-10 to present |
|
|
VIIRS |
Albedo |
VIIRS/JPSS2 Albedo Daily L3 Global 1km SIN Grid V002 |
1000 m |
Daily |
2023-02-10 to present |
|
|
VIIRS |
Albedo |
VIIRS/NPP DNB Albedo Daily L3 Global 1km SIN Grid V002 |
1000 m |
Daily |
2012-01-19 to present |
|
|
VIIRS |
Albedo |
VIIRS/NPP Albedo Daily L3 Global 1km SIN Grid V002 |
1000 m |
Daily |
2012-01-17 to present |
|
|
VIIRS |
Albedo |
VIIRS/JPSS1 Albedo Daily L3 Global 500m SIN Grid V002 |
500 m |
Daily |
2018-01-01 to present |
|
|
VIIRS |
Albedo |
VIIRS/JPSS2 Albedo Daily L3 Global 500m SIN Grid V002 |
500 m |
Daily |
2023-02-10 to present |
|
|
VIIRS |
Albedo |
VIIRS/NPP Albedo Daily L3 Global 500m SIN Grid V002 |
500 m |
Daily |
2012-01-17 to present |
Albedo / BRDF data collections
|
Collection |
Source |
Type |
Name |
Spatial resolution |
Temporal resolution |
Temporal extent |
|---|---|---|---|---|---|---|
|
VIIRS |
Albedo / BRDF |
VIIRS/JPSS1 DNB BRDF/Albedo Model Parameters Daily L3 Global 1km SIN Grid V002 |
1000 m |
Daily |
2018-01-01 to present |
|
|
VIIRS |
Albedo / BRDF |
VIIRS/JPSS1 DNB BRDF/Albedo Quality Daily L3 Global 1km SIN Grid V002 |
1000 m |
Daily |
2018-01-01 to present |
|
|
VIIRS |
Albedo / BRDF |
VIIRS/JPSS1 BRDF/Albedo Quality Daily L3 Global 1km SIN Grid V002 |
1000 m |
Daily |
2018-01-01 to present |
|
|
VIIRS |
Albedo / BRDF |
VIIRS/JPSS2 DNB BRDF/Albedo Model Parameters Daily L3 Global 1km SIN Grid V002 |
1000 m |
Daily |
2023-02-10 to present |
|
|
VIIRS |
Albedo / BRDF |
VIIRS/JPSS2 DNB BRDF/Albedo Quality Daily L3 Global 1km SIN Grid V002 |
1000 m |
Daily |
2023-02-10 to present |
|
|
VIIRS |
Albedo / BRDF |
VIIRS/JPSS2 BRDF/Albedo Quality Daily L3 Global 1km SIN Grid V002 |
1000 m |
Daily |
2023-02-10 to present |
|
|
VIIRS |
Albedo / BRDF |
VIIRS/NPP DNB BRDF/Albedo Model Parameters Daily L3 Global 1km SIN Grid V002 |
1000 m |
Daily |
2012-01-19 to present |
|
|
VIIRS |
Albedo / BRDF |
VIIRS/NPP DNB BRDF/Albedo Quality Daily L3 Global 1km SIN Grid V002 |
1000 m |
Daily |
2012-01-19 to present |
|
|
VIIRS |
Albedo / BRDF |
VIIRS/NPP BRDF/Albedo Quality Daily L3 Global 1km SIN Grid V002 |
1000 m |
Daily |
2012-01-17 to present |
|
|
VIIRS |
Albedo / BRDF |
VIIRS/JPSS1 BRDF/Albedo Model Parameters Daily L3 Global 500m SIN Grid V002 |
500 m |
Daily |
2018-01-01 to present |
|
|
VIIRS |
Albedo / BRDF |
VIIRS/JPSS1 BRDF/Albedo Quality Daily L3 Global 500m SIN Grid V002 |
500 m |
Daily |
2018-01-01 to present |
|
|
VIIRS |
Albedo / BRDF |
VIIRS/JPSS2 BRDF/Albedo Model Parameters Daily L3 Global 500m SIN Grid V002 |
500 m |
Daily |
2023-02-10 to present |
|
|
VIIRS |
Albedo / BRDF |
VIIRS/JPSS2 BRDF/Albedo Quality Daily L3 Global 500m SIN Grid V002 |
500 m |
Daily |
2023-02-10 to present |
|
|
VIIRS |
Albedo / BRDF |
VIIRS/NPP BRDF/Albedo Model Parameters Daily L3 Global 500m SIN Grid V002 |
500 m |
Daily |
2012-01-17 to present |
|
|
VIIRS |
Albedo / BRDF |
VIIRS/NPP BRDF/Albedo Quality Daily L3 Global 500m SIN Grid V002 |
500 m |
Daily |
2012-01-17 to present |
Evapotranspiration data collections
|
Collection |
Source |
Type |
Name |
Spatial resolution |
Temporal resolution |
Temporal extent |
|---|---|---|---|---|---|---|
|
MODIS |
Evapotranspiration |
MODIS/Terra Net Evapotranspiration 8-Day L4 Global 500m SIN Grid v061 |
500 m |
8 day |
2021-01-01 to present |
|
|
MODIS |
Evapotranspiration |
MODIS/Aqua Net Evapotranspiration 8-Day L4 Global 500m SIN Grid v061 |
500 m |
8 day |
2021-01-01 to present |
|
|
MODIS |
Evapotranspiration |
MODIS/Terra Net Evapotranspiration Gap-Filled 8-Day L4 Global 500 m SIN Grid |
500 m |
8 day |
2000-01-01 to present |
|
|
MODIS |
Evapotranspiration |
MODIS/Terra Net Evapotranspiration Gap-Filled Yearly L4 Global 500 m SIN Grid |
500 m |
365 day |
2000-02-18 to present |
|
|
MODIS |
Evapotranspiration |
MODIS/Aqua Net Evapotranspiration Gap-Filled 8-Day L4 Global 500 m SIN Grid |
500 m |
8 day |
2002-01-01 to present |
|
|
MODIS |
Evapotranspiration |
MODIS/Aqua Net Evapotranspiration Gap-Filled Yearly L4 Global 500 m SIN Grid |
500 m |
365 day |
2002-07-04 to present |
Land cover data collections
|
Collection |
Source |
Type |
Name |
Spatial resolution |
Temporal resolution |
Temporal extent |
|---|---|---|---|---|---|---|
|
MODIS |
Land cover |
MODIS/Terra+Aqua Land Cover Type Yearly L3 Global 500 m SIN Grid |
500 m |
365 day |
2001-01-01 to present |
Land surface phenology data collections
|
Collection |
Source |
Type |
Name |
Spatial resolution |
Temporal resolution |
Temporal extent |
|---|---|---|---|---|---|---|
|
VIIRS |
Land surface phenology |
VIIRS/NPP Land Surface Phenology Yearly L3 Global 500m SIN Grid V002 |
500 m |
1 year |
2013-01-01 to present |
Land surface temperature data collections
|
Collection |
Source |
Type |
Name |
Spatial resolution |
Temporal resolution |
Temporal extent |
|---|---|---|---|---|---|---|
|
MODIS |
Land surface temperature |
MODIS/Terra Land Surface Temperature/Emissivity Daily L3 Global 1km SIN Grid v061 |
1000 m |
Daily |
2000-02-24 to present |
|
|
MODIS |
Land surface temperature |
MODIS/Aqua Land Surface Temperature/Emissivity Daily L3 Global 1km SIN Grid v061 |
1000 m |
Daily |
2002-07-05 to present |
|
|
MODIS |
Land surface temperature |
MODIS/Terra Land Surface Temperature/Emissivity 8-Day L3 Global 1 km SIN Grid v061 |
1000 m |
8 day |
2000-02-18 to present |
|
|
MODIS |
Land surface temperature |
MODIS/Aqua Land Surface Temperature/Emissivity 8-Day L3 Global 1 km SIN Grid v061 |
1000 m |
8 day |
2002-07-04 to present |
|
|
MODIS |
Land surface temperature |
MODIS/Terra Land Surface Temperature/Emissivity Monthly L3 Global 6 km SIN Grid |
6000 m |
30 day |
2000-02-01 to present |
|
|
VIIRS |
Land surface temperature |
VIIRS/NPP Land Surface Temperature/Emissivity Daily L3 Global 1km SIN Grid Day V002 |
1000 m |
Daily |
2012-01-17 to present |
|
|
VIIRS |
Land surface temperature |
VIIRS/JPSS1 Land Surface Temperature/Emissivity Daily L3 Global 1km SIN Grid Night V002 |
1000 m |
Daily |
2018-01-01 to present |
|
|
VIIRS |
Land surface temperature |
VIIRS/JPSS2 Land Surface Temperature/Emissivity Daily L3 Global 1km SIN Grid Night V002 |
1000 m |
Daily |
2023-02-10 to present |
|
|
VIIRS |
Land surface temperature |
VIIRS/NPP Land Surface Temperature/Emissivity Daily L3 Global 1km SIN Grid Night V002 |
1000 m |
Daily |
2012-01-17 to present |
|
|
VIIRS |
Land surface temperature |
VIIRS/JPSS1 Land Surface Temperature/Emissivity Daily L3 Global 1km SIN Grid Day V002 |
1000 m |
Daily |
2018-01-01 to present |
|
|
VIIRS |
Land surface temperature |
VIIRS/JPSS1 Land Surface Temperature/Emissivity 8-Day L3 Global 1km SIN Grid V002 |
1000 m |
8 day |
2018-01-01 to present |
|
|
VIIRS |
Land surface temperature |
VIIRS/JPSS2 Land Surface Temperature/Emissivity Daily L3 Global 1km SIN Grid Day V002 |
1000 m |
Daily |
2023-02-10 to present |
|
|
VIIRS |
Land surface temperature |
VIIRS/JPSS2 Land Surface Temperature/Emissivity 8-Day L3 Global 1km SIN Grid V002 |
1000 m |
8 day |
2023-02-10 to present |
|
|
VIIRS |
Land surface temperature |
VIIRS/NPP Land Surface Temperature/Emissivity 8-Day L3 Global 1km SIN Grid V002 |
1000 m |
8 day |
2012-01-17 to present |
Land Water mask data collections
|
Collection |
Source |
Type |
Name |
Spatial resolution |
Temporal resolution |
Temporal extent |
|---|---|---|---|---|---|---|
|
MODIS |
Land Water mask |
MODIS/Terra Land Water Mask Derived from MODIS and SRTM L3 Global 250m SIN Grid V061 |
250 m |
365 day |
2000-01-01 to present |
Leaf area index / FPAR data collections
|
Collection |
Source |
Type |
Name |
Spatial resolution |
Temporal resolution |
Temporal extent |
|---|---|---|---|---|---|---|
|
VIIRS |
Leaf area index / FPAR |
VIIRS/JPSS1 Leaf Area Index/FPAR 8-Day L4 Global 500m SIN Grid V002 |
500 m |
8 day |
2018-01-01 to present |
|
|
VIIRS |
Leaf area index / FPAR |
VIIRS/JPSS2 Leaf Area Index/FPAR 8-Day L4 Global 500m SIN Grid V002 |
500 m |
8 day |
2023-02-10 to present |
|
|
VIIRS |
Leaf area index / FPAR |
VIIRS/NPP Leaf Area Index/FPAR 8-Day L4 Global 500m SIN Grid V002 |
500 m |
8 day |
2012-01-17 to present |
Primary Productivity data collections
|
Collection |
Source |
Type |
Name |
Spatial resolution |
Temporal resolution |
Temporal extent |
|---|---|---|---|---|---|---|
|
MODIS |
Primary Productivity |
MODIS/Aqua Gross Primary Productivity 8-Day L4 Global 500 m SIN Grid |
500 m |
8 day |
2021-01-01 to present |
|
|
MODIS |
Primary Productivity |
MODIS/Terra Gross Primary Productivity 8-Day L4 Global 500 m SIN Grid |
500 m |
8 day |
2021-01-01 to present |
|
|
MODIS |
Primary Productivity |
MODIS/Terra Gross Primary Productivity Gap-Filled 8-Day L4 Global 500 m SIN Grid |
500 m |
8 day |
2000-01-01 to present |
|
|
MODIS |
Primary Productivity |
MODIS/Terra Net Primary Production Gap-Filled Yearly L4 Global 500 m SIN Grid |
500 m |
365 day |
2000-02-18 to present |
|
|
MODIS |
Primary Productivity |
MODIS/Aqua Gross Primary Productivity Gap-Filled 8-Day L4 Global 500 m SIN Grid |
500 m |
8 day |
2002-01-01 to present |
|
|
MODIS |
Primary Productivity |
MODIS/Aqua Net Primary Production Gap-Filled Yearly L4 Global 500 m SIN Grid |
500 m |
365 day |
2002-07-04 to present |
Rainfall data collections
|
Collection |
Source |
Type |
Name |
Spatial resolution |
Temporal resolution |
Temporal extent |
|---|---|---|---|---|---|---|
|
GPM |
Rainfall |
GPM IMERG Early Precipitation L3 1 day 0.1 degree x 0.1 degree V06 |
10000 m |
Daily |
2000-06-01 to present |
|
|
GPM |
Rainfall |
GPM IMERG Final Precipitation L3 1 day 0.1 degree x 0.1 degree V06 |
10000 m |
Daily |
2000-06-01 to present |
|
|
GPM |
Rainfall |
GPM IMERG Final Precipitation L3 1 day 0.1 degree x 0.1 degree V07 |
10000 m |
Daily |
2000-06-01 to present |
|
|
GPM |
Rainfall |
GPM IMERG Late Precipitation L3 1 day 0.1 degree x 0.1 degree V06 |
10000 m |
Daily |
2000-06-01 to present |
|
|
GPM |
Rainfall |
GPM IMERG Final Precipitation L3 Half Hourly 0.1 degree x 0.1 degree V06 |
10000 m |
30 minute |
2000-06-01 to present |
|
|
GPM |
Rainfall |
GPM IMERG Final Precipitation L3 Half Hourly 0.1 degree x 0.1 degree V07 |
10000 m |
30 minute |
2000-06-01 to present |
|
|
GPM |
Rainfall |
GPM IMERG Early Precipitation L3 Half Hourly 0.1 degree x 0.1 degree V06 |
10000 m |
30 minute |
2000-06-01 to present |
|
|
GPM |
Rainfall |
GPM IMERG Late Precipitation L3 Half Hourly 0.1 degree x 0.1 degree V06 |
10000 m |
30 minute |
2000-06-01 to present |
|
|
GPM |
Rainfall |
GPM IMERG Final Precipitation L3 1 month 0.1 degree x 0.1 degree V06 |
10000 m |
1 month |
2000-06-01 to present |
|
|
GPM |
Rainfall |
GPM IMERG Final Precipitation L3 1 month 0.1 degree x 0.1 degree V07 |
10000 m |
1 month |
2000-06-01 to present |
Surface reflectance data collections
|
Collection |
Source |
Type |
Name |
Spatial resolution |
Temporal resolution |
Temporal extent |
|---|---|---|---|---|---|---|
|
MODIS |
Surface reflectance |
MODIS/Terra and Aqua Nadir BRDF-Adjusted Reflectance Daily L3 Global 500 m SIN Grid |
500 m |
Daily |
2000-02-24 to present |
|
|
VIIRS |
Surface reflectance |
VIIRS/JPSS1 DNB Nadir BRDF-Adjusted Reflectance Daily L3 Global 1km SIN Grid V002 |
1000 m |
Daily |
2018-01-01 to present |
|
|
VIIRS |
Surface reflectance |
VIIRS/JPSS2 DNB Nadir BRDF-Adjusted Reflectance Daily L3 Global 1km SIN Grid V002 |
1000 m |
Daily |
2023-02-10 to present |
|
|
VIIRS |
Surface reflectance |
VIIRS/NPP DNB Nadir BRDF-Adjusted Reflectance Daily L3 Global 1km SIN Grid V002 |
1000 m |
Daily |
2012-01-19 to present |
|
|
VIIRS |
Surface reflectance |
VIIRS/JPSS1 Surface Reflectance 8-Day L3 Global 1km SIN Grid V002 |
1000 m |
8 day |
2018-01-01 to present |
|
|
VIIRS |
Surface reflectance |
VIIRS/JPSS1 Nadir BRDF-Adjusted Reflectance Daily L3 Global 1km SIN Grid V002 |
1000 m |
Daily |
2018-01-01 to present |
|
|
VIIRS |
Surface reflectance |
VIIRS/JPSS2 Surface Reflectance 8-Day L3 Global 1km SIN Grid V002 |
1000 m |
8 day |
2023-02-10 to present |
|
|
VIIRS |
Surface reflectance |
VIIRS/JPSS2 Nadir BRDF-Adjusted Reflectance Daily L3 Global 1km SIN Grid V002 |
1000 m |
Daily |
2023-02-10 to present |
|
|
VIIRS |
Surface reflectance |
VIIRS/NPP Surface Reflectance 8-Day L3 Global 1km SIN Grid V002 |
1000 m |
8 day |
2012-01-17 to present |
|
|
VIIRS |
Surface reflectance |
VIIRS/NPP Nadir BRDF-Adjusted Reflectance Daily L3 Global 1km SIN Grid V002 |
1000 m |
Daily |
2012-01-17 to present |
|
|
VIIRS |
Surface reflectance |
VIIRS/JPSS1 Nadir BRDF-Adjusted Reflectance Daily L3 Global 500m SIN Grid V002 |
500 m |
Daily |
2018-01-01 to present |
|
|
VIIRS |
Surface reflectance |
VIIRS/JPSS2 Nadir BRDF-Adjusted Reflectance Daily L3 Global 500m SIN Grid V002 |
500 m |
Daily |
2023-02-10 to present |
|
|
VIIRS |
Surface reflectance |
VIIRS/NPP Nadir BRDF-Adjusted Reflectance Daily L3 Global 500m SIN Grid V002 |
500 m |
Daily |
2012-01-17 to present |
|
|
VIIRS |
Surface reflectance |
VIIRS/JPSS1 Surface Reflectance 8-Day L3 Global 500m SIN Grid V002 |
500 m |
8 day |
2018-01-01 to present |
|
|
VIIRS |
Surface reflectance |
VIIRS/JPSS2 Surface Reflectance 8-Day L3 Global 500m SIN Grid V002 |
500 m |
8 day |
2023-02-10 to present |
|
|
VIIRS |
Surface reflectance |
VIIRS/NPP Surface Reflectance 8-Day L3 Global 500m SIN Grid V002 |
500 m |
8 day |
2012-01-17 to present |
Thermal anomalies and fire data collections
|
Collection |
Source |
Type |
Name |
Spatial resolution |
Temporal resolution |
Temporal extent |
|---|---|---|---|---|---|---|
|
VIIRS |
Thermal anomalies and fire |
VIIRS/JPSS1 Thermal Anomalies and Fire Daily L3 Global 1km SIN Grid V002 |
1000 m |
Daily |
2018-01-01 to present |
|
|
VIIRS |
Thermal anomalies and fire |
VIIRS/JPSS2 Thermal Anomalies and Fire Daily L3 Global 1km SIN Grid V002 |
1000 m |
Daily |
2023-02-10 to present |
|
|
VIIRS |
Thermal anomalies and fire |
VIIRS/NPP Thermal Anomalies and Fire Daily L3 Global 1km SIN Grid V002 |
1000 m |
Daily |
2012-01-17 to present |
Vegetation productivity data collections
|
Collection |
Source |
Type |
Name |
Spatial resolution |
Temporal resolution |
Temporal extent |
|---|---|---|---|---|---|---|
|
VIIRS |
Vegetation productivity |
VIIRS/JPSS1 Gross Primary Productivity and Net Photosynthesis 8-Day L4 Global 500m SIN Grid V002 |
500 m |
8 day |
2025-01-01 to present |
|
|
VIIRS |
Vegetation productivity |
VIIRS/JPSS2 Gross Primary Productivity and Net Photosynthesis 8-Day L4 Global 500m SIN Grid V002 |
500 m |
8 day |
2023-02-10 to present |
|
|
VIIRS |
Vegetation productivity |
VIIRS/NPP Gross Primary Productivity and Net Photosynthesis 8-Day L4 Global 500m SIN Grid V002 |
500 m |
8 day |
2025-01-01 to present |
|
|
VIIRS |
Vegetation productivity |
VIIRS/JPSS1 Gross Primary Productivity and Net Photosynthesis Gap-Filled 8-Day L4 Global 500m SIN Grid V002 |
500 m |
8 day |
2025-01-01 to present |
|
|
VIIRS |
Vegetation productivity |
VIIRS/JPSS1 Gross and Net Primary Production Gap-Filled Yearly L4 Global 500m SIN Grid V002 |
500 m |
1 year |
2025-01-01 to present |
|
|
VIIRS |
Vegetation productivity |
VIIRS/JPSS2 Gross Primary Productivity and Net Photosynthesis Gap-Filled 8-Day L4 Global 500m SIN Grid V002 |
500 m |
8 day |
2023-02-10 to present |
|
|
VIIRS |
Vegetation productivity |
VIIRS/JPSS2 Gross and Net Primary Production Gap-Filled Yearly L4 Global 500m SIN Grid V002 |
500 m |
1 year |
2023-02-10 to present |
|
|
VIIRS |
Vegetation productivity |
VIIRS/NPP Gross Primary Productivity and Net Photosynthesis Gap-Filled 8-Day L4 Global 500m SIN Grid V002 |
500 m |
8 day |
2025-01-01 to present |
|
|
VIIRS |
Vegetation productivity |
VIIRS/NPP Gross and Net Primary Production Gap-Filled Yearly L4 Global 500m SIN Grid V002 |
500 m |
1 year |
2025-01-01 to present |
Since most modisfast functions depend on EarthData credentials/token,
automated tests are disabled. However, after installation, users can
manually test the package’s functionality by running these lines of code
:
Sys.setenv(EARTHDATA_TOKEN = "your Earthdata bearer token")
devtools::test("~path/to/modisfast")
Technically, modisfast is a programmatic interface (R wrapper) to
several NASA OPeNDAP servers. OPeNDAP is the
acronym for Open-source Project for a Network Data Access Protocol and
designates both the software, the access protocol, and the corporation
that develops them. The OPeNDAP is designed to simplify access to
structured and high-volume data, such as satellite products, over the
Web. It is a collaborative effort involving multiple institutions and
companies, with open-source code, free software, and adherence to the
Open Geospatial Consortium (OGC) standards. It
is widely used by NASA, which partly finances it.
A key feature of OPeNDAP is its capability to apply filters at the data
download process, ensuring that only the necessary data is retrieved.
These filters, specified within a URL, can be spatial, temporal, or
dimensional. Although powerful, OPeNDAP URLs are not trivial to build.
modisfast facilitates this process by constructing the URL based on
the spatial, temporal, and dimensional filters provided by the user in
the function mf_get_url().
These OPeNDAP URLs are not trivial to build. modisfast converts the
spatial, temporal and dimensional filters (R objects) provided by the
user through the function mf_get_url() into the appropriate OPeNDAP
URL(s). Subsequently, the function mf_download_data() allows for
downloading the data using the
httr and parallel
packages.
There are other R packages available for accessing MODIS data. Below is a comparison of modisfast with other packages available for downloading chunks of MODIS or VIIRS data :
| Package | Data | Available on CRAN | Utilizes open standards for data access protocols | Spatial subsetting* | Dimensional subsetting* | Maximum area size allowed for download | Speed** |
|---|---|---|---|---|---|---|---|
modisfast |
MODIS, VIIRS, GPM | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | unlimited | :white_check_mark: |
appeears |
MODIS, VIIRS, and many others | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | unlimited | variable |
MODISTools |
MODIS, VIIRS | :white_check_mark: | :x: | :white_check_mark: | :white_check_mark: | 200 km x 200 km | :white_check_mark: |
rgee |
MODIS, VIIRS, GPM, and many others | :white_check_mark: | :x: | :white_check_mark: | :white_check_mark: | unlimited | not tested |
MODIStsp |
MODIS | :x: | :x: | :white_check_mark: | unlimited | NA | |
MODIS |
MODIS | :x: | :x: | :x: | :x: | NA | NA |
* at the downloading phase
This package is licensed under a GNU General Public License v3.0 or later license.
We thank in advance people that use modisfast for citing it in their
work / publication(s). For this, please use the following citation :
Taconet et al., (2024). modisfast: An R package for fast and efficient access to MODIS, VIIRS and GPM Earth Observation data. Journal of Open Source Software, 9(103), 7343, https://doi.org/10.21105/joss.07343
Future developments of the package may include access to additional data collections from other OPeNDAP servers, and support for a variety of data formats as they become available from data providers through their OPeNDAP servers. Furthermore, the creation of an RShiny application on top of the package is being considered, as a means of further simplifying data access for users with limited coding skills.
All types of contributions are encouraged and valued. For more information, check out our Contributor Guidelines.
Please note that the modisfast project is released with a Contributor
Code of
Conduct.
By contributing to this project, you agree to abide by its terms.
We thank NASA and its partners for making all their Earth science data
freely available, and implementing open data access protocols such as
OPeNDAP. modisfast heavily builds on top of the OPeNDAP, so we thank
the non-profit OPeNDAP, Inc. for
developing the eponym tool in an open and collaborative way.
We also thank the contributors that have tested the package, reviewed the documentation and brought valuable feedbacks to improve the package : Florian de Boissieu, Julien Taconet.
This work has been developed over the course of several research projects (REACT 1, REACT 2, ANORHYTHM and DIV-YOO) funded by Expertise France, the French National Research Agency (ANR), and the French National Research Institute for Sustainable Development (IRD).