Fast and Efficient Access to MODIS Earth Observation Data

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).


modisfast

licence CRAN_Status_Badge Github_Status_Badge R-CMD-check DOI CRAN_downloads

Table of contents

• Overview
• Installation
• Get started
• Data collections available
• Manual testing of the functionality
• Foundational framework
• Comparison with similar R packages
• Citation
• Future developments
• Contributing
• Acknowledgments

News

2026-09-29 :

modisfast is back!

  • After a year-long interruption caused by the migration of NASA’s data servers, modisfast is back
  • modisfast now uses the new NASA Earthdata Cloud OPeNDAP endpoint for MODIS and VIIRS collections !
  • Authentication to access data is now dealt with an Earthdata token instead of username and password.

Overview

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.

Installation

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")

Get Started

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/ .

Earthdata token generation 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 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)

Collections available in modisfast

Currently 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

MCD43A1.061

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

VJ143DNBA3.002

VIIRS

Albedo

VIIRS/JPSS1 DNB Albedo Daily L3 Global 1km SIN Grid V002

1000 m

Daily

2018-01-01 to present

VJ143MA3.002

VIIRS

Albedo

VIIRS/JPSS1 Albedo Daily L3 Global 1km SIN Grid V002

1000 m

Daily

2018-01-01 to present

VJ243DNBA3.002

VIIRS

Albedo

VIIRS/JPSS2 DNB Albedo Daily L3 Global 1km SIN Grid V002

1000 m

Daily

2023-02-10 to present

VJ243MA3.002

VIIRS

Albedo

VIIRS/JPSS2 Albedo Daily L3 Global 1km SIN Grid V002

1000 m

Daily

2023-02-10 to present

VNP43DNBA3.002

VIIRS

Albedo

VIIRS/NPP DNB Albedo Daily L3 Global 1km SIN Grid V002

1000 m

Daily

2012-01-19 to present

VNP43MA3.002

VIIRS

Albedo

VIIRS/NPP Albedo Daily L3 Global 1km SIN Grid V002

1000 m

Daily

2012-01-17 to present

VJ143IA3.002

VIIRS

Albedo

VIIRS/JPSS1 Albedo Daily L3 Global 500m SIN Grid V002

500 m

Daily

2018-01-01 to present

VJ243IA3.002

VIIRS

Albedo

VIIRS/JPSS2 Albedo Daily L3 Global 500m SIN Grid V002

500 m

Daily

2023-02-10 to present

VNP43IA3.002

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

VJ143DNBA1.002

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

VJ143DNBA2.002

VIIRS

Albedo / BRDF

VIIRS/JPSS1 DNB BRDF/Albedo Quality Daily L3 Global 1km SIN Grid V002

1000 m

Daily

2018-01-01 to present

VJ143MA2.002

VIIRS

Albedo / BRDF

VIIRS/JPSS1 BRDF/Albedo Quality Daily L3 Global 1km SIN Grid V002

1000 m

Daily

2018-01-01 to present

VJ243DNBA1.002

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

VJ243DNBA2.002

VIIRS

Albedo / BRDF

VIIRS/JPSS2 DNB BRDF/Albedo Quality Daily L3 Global 1km SIN Grid V002

1000 m

Daily

2023-02-10 to present

VJ243MA2.002

VIIRS

Albedo / BRDF

VIIRS/JPSS2 BRDF/Albedo Quality Daily L3 Global 1km SIN Grid V002

1000 m

Daily

2023-02-10 to present

VNP43DNBA1.002

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

VNP43DNBA2.002

VIIRS

Albedo / BRDF

VIIRS/NPP DNB BRDF/Albedo Quality Daily L3 Global 1km SIN Grid V002

1000 m

Daily

2012-01-19 to present

VNP43MA2.002

VIIRS

Albedo / BRDF

VIIRS/NPP BRDF/Albedo Quality Daily L3 Global 1km SIN Grid V002

1000 m

Daily

2012-01-17 to present

VJ143IA1.002

VIIRS

Albedo / BRDF

VIIRS/JPSS1 BRDF/Albedo Model Parameters Daily L3 Global 500m SIN Grid V002

500 m

Daily

2018-01-01 to present

VJ143IA2.002

VIIRS

Albedo / BRDF

VIIRS/JPSS1 BRDF/Albedo Quality Daily L3 Global 500m SIN Grid V002

500 m

Daily

2018-01-01 to present

VJ243IA1.002

VIIRS

Albedo / BRDF

VIIRS/JPSS2 BRDF/Albedo Model Parameters Daily L3 Global 500m SIN Grid V002

500 m

Daily

2023-02-10 to present

VJ243IA2.002

VIIRS

Albedo / BRDF

VIIRS/JPSS2 BRDF/Albedo Quality Daily L3 Global 500m SIN Grid V002

500 m

Daily

2023-02-10 to present

VNP43IA1.002

VIIRS

Albedo / BRDF

VIIRS/NPP BRDF/Albedo Model Parameters Daily L3 Global 500m SIN Grid V002

500 m

Daily

2012-01-17 to present

VNP43IA2.002

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

MOD16A2.061

MODIS

Evapotranspiration

MODIS/Terra Net Evapotranspiration 8-Day L4 Global 500m SIN Grid v061

500 m

8 day

2021-01-01 to present

MYD16A2.061

MODIS

Evapotranspiration

MODIS/Aqua Net Evapotranspiration 8-Day L4 Global 500m SIN Grid v061

500 m

8 day

2021-01-01 to present

MOD16A2GF.061

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

MOD16A3GF.061

MODIS

Evapotranspiration

MODIS/Terra Net Evapotranspiration Gap-Filled Yearly L4 Global 500 m SIN Grid

500 m

365 day

2000-02-18 to present

MYD16A2GF.061

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

MYD16A3GF.061

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

MCD12Q1.061

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

VNP22Q2.002

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

MOD11A1.061

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

MYD11A1.061

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

MOD11A2.061

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

MYD11A2.061

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

MOD11B3.061

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

VNP21A1D.002

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

VJ121A1N.002

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

VJ221A1N.002

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

VNP21A1N.002

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

VJ121A1D.002

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

VJ121A2.002

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

VJ221A1D.002

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

VJ221A2.002

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

VNP21A2.002

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

MOD44W.061

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

VJ115A2H.002

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

VJ215A2H.002

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

VNP15A2H.002

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

MOD17A2H.061

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

MYD17A2H.061

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

MOD17A2HGF.061

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

MOD17A3HGF.061

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

MYD17A2HGF.061

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

MYD17A3HGF.061

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_3IMERGDE.06

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_3IMERGDF.06

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_3IMERGDF.07

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_3IMERGDL.06

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_3IMERGHH.06

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_3IMERGHH.07

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_3IMERGHHE.06

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_3IMERGHHL.06

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_3IMERGM.06

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_3IMERGM.07

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

MCD43A4.061

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

VJ143DNBA4.002

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

VJ243DNBA4.002

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

VNP43DNBA4.002

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

VJ109A1.002

VIIRS

Surface reflectance

VIIRS/JPSS1 Surface Reflectance 8-Day L3 Global 1km SIN Grid V002

1000 m

8 day

2018-01-01 to present

VJ143MA4.002

VIIRS

Surface reflectance

VIIRS/JPSS1 Nadir BRDF-Adjusted Reflectance Daily L3 Global 1km SIN Grid V002

1000 m

Daily

2018-01-01 to present

VJ209A1.002

VIIRS

Surface reflectance

VIIRS/JPSS2 Surface Reflectance 8-Day L3 Global 1km SIN Grid V002

1000 m

8 day

2023-02-10 to present

VJ243MA4.002

VIIRS

Surface reflectance

VIIRS/JPSS2 Nadir BRDF-Adjusted Reflectance Daily L3 Global 1km SIN Grid V002

1000 m

Daily

2023-02-10 to present

VNP09A1.002

VIIRS

Surface reflectance

VIIRS/NPP Surface Reflectance 8-Day L3 Global 1km SIN Grid V002

1000 m

8 day

2012-01-17 to present

VNP43MA4.002

VIIRS

Surface reflectance

VIIRS/NPP Nadir BRDF-Adjusted Reflectance Daily L3 Global 1km SIN Grid V002

1000 m

Daily

2012-01-17 to present

VJ143IA4.002

VIIRS

Surface reflectance

VIIRS/JPSS1 Nadir BRDF-Adjusted Reflectance Daily L3 Global 500m SIN Grid V002

500 m

Daily

2018-01-01 to present

VJ243IA4.002

VIIRS

Surface reflectance

VIIRS/JPSS2 Nadir BRDF-Adjusted Reflectance Daily L3 Global 500m SIN Grid V002

500 m

Daily

2023-02-10 to present

VNP43IA4.002

VIIRS

Surface reflectance

VIIRS/NPP Nadir BRDF-Adjusted Reflectance Daily L3 Global 500m SIN Grid V002

500 m

Daily

2012-01-17 to present

VJ109H1.002

VIIRS

Surface reflectance

VIIRS/JPSS1 Surface Reflectance 8-Day L3 Global 500m SIN Grid V002

500 m

8 day

2018-01-01 to present

VJ209H1.002

VIIRS

Surface reflectance

VIIRS/JPSS2 Surface Reflectance 8-Day L3 Global 500m SIN Grid V002

500 m

8 day

2023-02-10 to present

VNP09H1.002

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

VJ114A1.002

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

VJ214A1.002

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

VNP14A1.002

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

VJ117A2.002

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

VJ217A2.002

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

VNP17A2.002

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

VJ117A2GF.002

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

VJ117A3GF.002

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

VJ217A2GF.002

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

VJ217A3GF.002

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

VNP17A2GF.002

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

VNP17A3GF.002

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

Manual testing of the functionality

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")

Foundational framework

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.

Comparison with similar R 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

Citation

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

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.

Contributing

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.

Acknowledgments

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).

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("modisfast")

2.0.1 by Paul Taconet, 2 days ago


https://github.com/ptaconet/modisfast


Report a bug at https://github.com/ptaconet/modisfast/issues


Browse source code at https://github.com/cran/modisfast


Authors: Paul Taconet [aut, cre, cph] (ORCID: , Nicolas Moiroux [fnd] , French National Research Institute for Sustainable Development , IRD [fnd]


Documentation:   PDF Manual  


GPL (>= 3) license


Imports curl, dplyr, httr, jsonlite, lubridate, magrittr, parallel, purrr, rvest, sf, stringr, terra, xml2, cli

Suggests ggplot2, knitr, mapview, rmarkdown, spelling, testthat


See at CRAN