Skip to content

Submission: MODIStsp #184

@lbusett

Description

@lbusett

Summary

  • What does this package do? (explain in 50 words or less):

Facilitates the creation of time series of raster images derived from MODIS Satellite Land Products by automating and standardizing several preprocessing steps (e.g., download, mosaicing, reprojection, resize, indexes computation, data extraction). Processing parameters are set using a powerful GUI. Non-interactive execution using saved Options Files allows updating time series when new images are available using cron jobs.

  • Paste the full DESCRIPTION file inside a code block below:
Package: MODIStsp
Title: A Tool for Automating Download and Preprocessing of MODIS Land Products
    Data
Type: Package
Version: 1.3.3.9000
Authors@R: c(person("Lorenzo", "Busetto", email = "lbusett@gmail.com", role = c("aut", "cre"),
    comment = c(ORCID = '0000-0001-9634-6038')), 
    person("Luigi", "Ranghetti", email = "ranghetti.l@irea.cnr.it", role = c("aut")))
Description: Allows automating the creation of time series of rasters derived
    from MODIS Satellite Land Products data. It performs several typical
    preprocessing steps such as download, mosaicking, reprojection and resize
    of data acquired on a specified time period. All processing parameters
    can be set using a user-friendly GUI. Users can select which layers of
    the original MODIS HDF files they want to process, which additional
    Quality Indicators should be extracted from aggregated MODIS Quality
    Assurance layers and, in the case of Surface Reflectance products
    , which Spectral Indexes should be computed from the original reflectance
    bands. For each output layer, outputs are saved as single-band raster
    files corresponding to each available acquisition date. Virtual files
    allowing access to the entire time series as a single file are also created.
    Command-line execution exploiting a previously saved processing options
    file is also possible, allowing to automatically update time series
    related to a MODIS product whenever a new image is available.
License: GPL-3
Depends:
    R (>= 3.1.3)
Imports:
    bitops (>= 1.0-6),
    data.table (>= 1.9.6),
    gdalUtils (>= 2.0.1.7),
    gWidgets (>= 0.0-54),
    gWidgetsRGtk2,
    methods,
    httr (>= 1.1.0),
    jsonlite,
    pacman,
    parallel,
    raster (>= 2.5-2),
    RCurl (>= 1.95-4.8),
    rgdal (>= 1.0-3),
    rgeos (>= 0.3-8),
    sp (>= 1.2-2),
    stringr (>= 1.0.0),
    xts (>= 0.9-7),
    xml2
Suggests:
    spelling,
    knitr,
    rmarkdown,
    png,
    grid,
    httptest,
    covr
SystemRequirements: Cairo >= 1.0.0, ATK (>= 1.10.0), Pango (>= 1.10.0), GTK+ (>=
    2.8.0), GLib (>= 2.8.0), Curl, GDAL (>= 1.6.3), PROJ.4 (>= 4.4.9)
URL: https://github.com/lbusett/MODIStsp
BugReports: https://github.com/lbusett/MODIStsp/issues
LazyData: true
VignetteBuilder: knitr
RoxygenNote: 6.0.1
Roxygen: list(markdown = TRUE)

  • URL for the package (the development repository, not a stylized html page):

    https://github.com/lbusett/MODIStsp

  • Please indicate which category or categories from our package fit policies this package falls under *and why(? (e.g., data retrieval, reproducibility. If you are unsure, we suggest you make a pre-submission inquiry.):

    • data retrieval, because the package facilitates access to MODIS satellite data;
    • geospatial data, because MODIS time series are widely used by the scientific community for several geospatial applications
  •   Who is the target audience and what are scientific applications of this package?  

    The target audience includes anyone involved/interested in monitoring the properties of the Earth surface through the analysis of time series of coarse resolution satellite imagery.
    MODIS satellite data are in fact used in many different scientific applications, since they allow global daily monitoring of the earth surface. Their applications are therefore too many to analyze in this context. Among the main ones, I can cite (borrowing a bit from wikipedia...) the monitoring of vegetation health by means of time-series analyses with vegetation indices, the analysis of long term land cover changes (e.g. to monitor deforestation rates), real time monitoring of snow/ice cover, analysis of water quality and of impacts of floodings, change of water levels of major lakes and the detection and mapping of wildland fires. MODIS data are also extensively used as ancillary input in modelling applications (e.g., biogeochemical models for Primary Production modelling; crop yield models). Additionally, MODIS data are often used by biologists/zoologists as ancillary data to monitor/model migratory patterns.

    (Introductory material concerning MODIS and its main applications can be found for example here and here)

  • Are there other R packages that accomplish the same thing? If so, how does
    yours differ or meet our criteria for best-in-category?

    The main “R” packages overlapping MODIStsp functionality are MODIS and MODISTools
    MODIStsp and MODIS have substantial overlaps, since they are both meant to provide access and preprocessing to MODIS products. Two aspects that in my opinion differentiate MODIStsp are its user-friendliness (I think that the MODIStsp Graphical User Interface is very helpful, in particular for less skilled "R" users, though I am clearly a bit biased on the topic), and its ability to allow on-the-fly creation of time series of standard/user provided Spectral Indexes (often used for time series analysis) and of MODIS quality indicators. On the other hand, MODIS provides some additional post-processing functionality (e.g., filtering/smoothing), which is something I'm planning to add in the near future.

    MODIStools is a very nice package, but it provides somewhat more limited functionality. It is based on the ORNL DAAC webservice (https://modis.ornl.gov/data/modis_webservice.html), and therefore provides access only to some MODIS products. Additionally, it is meant to allow access to data concerning a given set of points and their surroundings, while both MODIStsp and MODIS are meant to provide downloading capabilitites to the "full" MODIS raster data (or subsets of those, although the full HDFs need always to be downloaded).

    The ModisDownload function of package rts is also overlapping, but its functionalities are more limited than either MODIStsp and MODIS. (Actually, an early version of ModisDownload is what got us started in developing the package - proper acknwoledgement is given in MODIStsp documentation).

    Other packages providing access to MODIS data include MODISSnow (limited to snow cover products distributed by NSIDC) and modiscloud (which provides tools for processing Level 2 Cloud Mask SWATH products – not supported by MODIStsp)
    For further reference, our paper concerning MODIStsp published on CAGEO provides in Section 1 a short comparison of the different tools currently available for accessing MODIS data (both "R" based or not).

  •   If you made a pre-submission enquiry, please paste the link to the corresponding issue, forum post, or other discussion, or @tag the editor you contacted.

    pre-submission inquiry for MODIStsp #143

Requirements

Confirm each of the following by checking the box. This package:

  • does not violate the Terms of Service of any service it interacts with.

  • has a CRAN and OSI accepted license.

  • contains a README with instructions for installing the development version.

    NOTE ON INSTALLATION Installation (both from github or from CRAN) may be a bit problematic due the fact that MODIStsp requires the gWidgetsRGtk2 library to build its GUI, which often have installation problems on Windows and Mac due to requiring the GTK+ library, and needing several packages to be installed beforehand on Linux. In case of problems, it is better to install gWidgetsRGtk2 beforehand. Specific instructions are provided at (http://lbusett.github.io/MODIStsp/articles/installation.html)

  • includes documentation with examples for all functions.

  • contains a vignette with examples of its essential functions and uses.

  • has a test suite.

  • has continuous integration, including reporting of test coverage, using services such as Travis CI, Coveralls and/or CodeCov.

  • I agree to abide by ROpenSci's Code of Conduct during the review process and in maintaining my package should it be accepted.

Publication options

  • Do you intend for this package to go on CRAN?
    The package is already on CRAN (https://cran.r-project.org/package=MODIStsp)

  • Do you wish to automatically submit to the Journal of Open Source Software? If so:

    • The package has an obvious research application according to JOSS's definition.
    • The package contains a paper.md matching JOSS's requirements with a high-level description in the package root or in inst/.
    • The package is deposited in a long-term repository with the DOI:
    • (Do not submit your package separately to JOSS)
  • Do you wish to submit an Applications Article about your package to Methods in Ecology and Evolution? If so:

    • The package is novel and will be of interest to the broad readership of the journal.
    • The manuscript describing the package is no longer than 3000 words.
    • You intend to archive the code for the package in a long-term repository which meets the requirements of the journal.
    • (Please do not submit your package separately to Methods in Ecology and Evolution)

Detail

  • Does R CMD check (or devtools::check()) succeed? Paste and describe any errors or warnings:

  • Does the package conform to rOpenSci packaging guidelines? Please describe any exceptions:

  • If this is a resubmission following rejection, please explain the change in circumstances:

  • If possible, please provide recommendations of reviewers - those with experience with similar packages and/or likely users of your package - and their GitHub user names:

Michael Sumner - @mdsumner
Jeff Hanson - @jeffreyhanson
Leah Wasser - @lwasser
Robin Lovelace - @robin

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions