Download and Process GIMMS NDVI3g Data

This is a set of functions to retrieve information about GIMMS NDVI3g files currently available online; download (and re-arrange, in the case of NDVI3g.v0) the half-monthly data sets from <>; import downloaded files from ENVI binary (NDVI3g.v0) or NetCDF format (NDVI3g.v1) directly into R based on the widespread 'raster' package; conduct quality control; and generate monthly composites (e.g., maximum values) from the half-monthly input data. As a special gimmick, a method is included to conveniently apply the Mann-Kendall trend test upon 'Raster*' images, optionally featuring trend-free pre-whitening to account for lag-1 autocorrelation.

This monthIn total

... is an open-access tutorial about the gimms package which is now available from GitBook. The book will be continuously updated as gimms develops further, so make sure to check it out regularly!

I decided to add optional multi-core support to downloadGimms, rasterizeGimms and monthlyComposite. The referring arument is called 'cores' and, if not specified otherwise, defaults to 1 (i.e., parallel computing is disabled). In the course of this, the gimms package version on branch 'develop' has been incremented to 0.4.0 and can be installed via devtools::install_github (see further below).

It's Friday 13th and an updated version of the gimms package has been published on CRAN. The new version includes

  • significantTau to calculate pixel-based (and optionally pre-whitened) Mann-Kendall trend tests from a previously processed GIMMS NDVI3g (or any kind of) 'RasterStack/Brick' object. Note that it also works with simple 'numeric' vectors (i.e., univariate time series observations);
  • the below compatibility update of downloadGimms that enabled 'Date' input;
  • and some minor bug-fixes.

In response to recent user suggestions, I decided to enable 'Date' input for downloadGimms which grants the user a finer control over the temporal coverage of the data to be downloaded. The changes are currently available from the 'develop' branch via

                         ref = "develop")

and will be submitted to CRAN soon.

##### 2015-11-06, pre-whitened Mann-Kendall trend test via `significantTau` In order to account for lag-1 autocorrelation when trying to deduce reliable long-term monotonous trends, **gimms** now features a function called `significantTau`. The code imports the standard (i.e., without pre-whitening) procedure included in package **Kendall** (McLeod, 2011) or, if the user decides to apply pre-whitening prior to the actual trend test, one of the algorithms included in **zyp** (Bronaugh and Consortium, 2013). Check out `?significantTau` for further details.
##### 2015-10-26, `downloadGimms` now works properly on Windows I recently received a bug report about some strange behavior of `downloadGimms` (when working on Windows platforms) which resulted in a rather awkward look of the rasterized images.

The problem was obviously related to download.file which worked just fine on Linux when using the default settings, but introduced distortions on Windows. In the newest package version 0.2.0 which is now brand-new on CRAN, I therefore specified download.file(..., mode = "wb") to explicitly enable binary writing mode.

Thanks again for the input!


gimms 0.5.0 (2016-01-15)


  • Enabled retrieval of quality flags from rasterizeGimms.
  • Added parallel support to downloadGimms, rasterizeGimms and monthlyComposite.
  • Revised package documentation.

gimms 1.0.0 (2016-11-28)


  • Added support for the recently released NDVI3g.v1 to all package functions.
  • Included local file inventories for all available GIMMS products (NDVI3g.v0 and NDVI3g.v1) and their respective servers (ECOCAST, NASANEX).
  • Quality control has been added to rasterizeGimms() through specifying permitted flag values ('keep'), rendering the subsequent application of a separate function unnecessary. For reasons of convenience, however, qualityControl() is still available.
  • rasterizeGimms() now includes an extent argument ('ext') to enable clipping based on raster::crop().
  • Scaling and the rejection of water and nodata-mask values are no longer optional.
  • If 'timestamp = TRUE', monthlyIndices() now returns an object of class 'Date' (instead of 'character') and '...' is no longer available.

Reference manual

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


1.1.0 by Florian Detsch, 3 days ago

Report a bug at

Browse source code at

Authors: Florian Detsch [cre, aut]

Documentation:   PDF Manual  

MIT + file LICENSE license

Imports curl, parallel, Kendall, ncdf4, RCurl, zyp

Depends on raster, methods

See at CRAN