"Error: object 'tid' not found" from climate modeling grids (CMG) not being identified as such, but treated as tiled products.
Changes:
When 'extent' is a country name, the target projection of layers extracted through runGdal() is now taken from MODISoptions() rather than hard-coded EPSG:4326.
Explicit specification of 'pos1','pos2' arguments passed to extractDate() and orgTime() is no longer required when dealing with standard MODIS file names.
Bugfixes:
'unable to find an inherited method for function 'extent' for signature '"MODISextent"'' from getHdf() when 'extent' was a Spatial* object.
'Error in rgdal::rawTransform(projfrom, projto, nrow(xy), xy[, 1], xy[, : no arguments in initialization list' due to insufficient strsplit() on Windows
Orphaned hole and self-intersection errors from getTile() due to some non-valid geometries in map("worldHires", ...) (eg. "Philippines", "Spain").
'DATE' subfolder was created in getOption("MODIS_localArcPath") when running MODIS:::genString() with no particular date specified.
getProduct() and getCollection() are now compatible with more than one input 'product' provided using eg. c().
At the same time, pattern matching for a distinct set of products (see https://github.com/MatMatt/MODIS/issues/22) is switched off as long as a proper regular expression is omitted.
Creation of yearly composite layers has been made available through temporalComposite() and aggInterval().
Meaning of 'quiet' argument in MODISoptions() has changed and now determines whether getHdf() (or runGdal()) print download information to the console.
Bugfixes:
'condition has length > 1' warning message from transDate() when specifying multiple 'begin' or 'end' dates.
'no non-missing arguments to min (max); returning Inf' warning message from getTile() when 'x' was missing and 'tileH' or 'tileV' were specified as numeric.
''begin' and 'end' dates seem to be confused, reordering dates...' warning message from aggInterval() when actual end date (ie end of current fortnightly/monthly time interval) lies in the future.
'length of 'dimnames' [2] not equal to array extent' error in temporalComposite() when only one layer is available for a particular aggregation period.
Changes:
transDate() is now also compatible with true 'Date' objects.
Argument 'buffer' is no longer available for getTile(). As a result, rgeos could be removed from package imports.
getTile() does no longer support MERIS and SRTM data. As regards the latter, raster::getData(name = "SRTM", ...) could be used instead.
Further, getTile() is no longer compatible with 'list' input. In the course of this, argument 'extent' has been replaced by 'x' in order to avoid confusion with raster::extent().
temporalComposite() now relies on raster::calc() instead of raster::overlay(), which allows the specification of 'na.rm' separate from 'fun'.
aggInterval() does no longer take 'numeric' input (ie years).