Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion DESCRIPTION
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Package: MODIS
Title: Acquisition and Processing of MODIS Products
Version: 1.2.13
Version: 1.2.13.9002
URL: https://github.com/fdetsch/MODIS
BugReports: https://github.com/fdetsch/MODIS/issues
Authors@R: c(
Expand Down
23 changes: 20 additions & 3 deletions NEWS
Original file line number Diff line number Diff line change
@@ -1,3 +1,20 @@
MODIS 1.2.13.9002 (2025-08-25)

features and improvements

* Support local .hdf file input in runGdal(), bypassing Earthdata
authentication (#143)

bug fixes

* Fix "warp: options error" caused by incorrectly specified -co options in
sf::gdal_warp() (#145)

documentation etc

miscellaneous


MODIS 1.2.13 (2025-07-07)

documentation etc
Expand Down Expand Up @@ -107,15 +124,15 @@ bug fixes

* Curl-based download from LP DAAC.
* "Error: object 'tid' not found" from climate modeling grids (CMG) not being identified as such, but treated as tiled products.
* Wrong dimension and resolution of images created by runGdal() when working with whole tiles instead of spatial subsets (i.e. 'tileH,tileV' specified; see ).
* Wrong dimension and resolution of images created by runGdal() when working with whole tiles instead of spatial subsets (i.e. 'tileH,tileV' specified; see #46).

miscellaneous

* Code adjustments related to LAADS transition from FTP to HTTPS. In this context, lpdaacLogin() is now deprecated and has been replaced with EarthdataLogin() since both LP DAAC and LAADS require the specification of Earthdata Login credentials.
* EarthdataLogin() now allows multiple entries in a .netrc file in case users have other servers not related to Earthdata.
* Disabled retrieval of MOD16 products from NTSG server, which is no longer updated.
* When 'extent' is a country name, 'outProj' is taken from MODISoptions() rather than hard-coded EPSG:4326.
* If 'begin' falls in between two composite release dates, it is set back to start date of preceding release (see ).
* If 'begin' falls in between two composite release dates, it is set back to start date of preceding release (#43).
* When working with Extent (raster) or bbox objects (sf) and 'outProj' and 'pixelSize' are "asIn", the output grid and resolution is aligned with the original MODIS Sinusoidal grid.
* Replaced 'XML' package dependency through regular expression matching.

Expand All @@ -138,7 +155,7 @@ miscellaneous

* Disabled use of EPSV (see ) when downloading structure from LP DAAC, LAADS. The latter didn't work anymore with EPSV enabled.
* 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 ) is switched off as long as a proper regular expression is omitted.
* At the same time, pattern matching for a distinct set of products is switched off as long as a proper regular expression is omitted (#22).
* The MODIS package is now licensed under the MIT license ().


Expand Down
27 changes: 22 additions & 5 deletions NEWS.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,20 @@
# MODIS 1.2.13.9002 (2025-08-25)

#### ✨ features and improvements

* Support local `.hdf` file input in `runGdal()`, bypassing Earthdata
authentication (#143)

#### 🐛 bug fixes

* Fix "warp: options error" caused by incorrectly specified `-co` options in
`sf::gdal_warp()` (#145)

#### 💬 documentation etc

#### 🍬 miscellaneous


# MODIS 1.2.13 (2025-07-07)

#### 💬 documentation etc
Expand Down Expand Up @@ -188,15 +205,15 @@

* Curl-based download from LP DAAC.
* "Error: object 'tid' not found" from climate modeling grids (CMG) not being identified as such, but treated as tiled products.
* Wrong dimension and resolution of images created by runGdal() when working with whole tiles instead of spatial subsets (i.e. 'tileH,tileV' specified; see <https://github.com/fdetsch/MODIS/issues/46>).
* Wrong dimension and resolution of images created by runGdal() when working with whole tiles instead of spatial subsets (i.e. 'tileH,tileV' specified; see #46).

#### 🍬 miscellaneous

* Code adjustments related to LAADS transition from FTP to HTTPS. In this context, lpdaacLogin() is now deprecated and has been replaced with EarthdataLogin() since both LP DAAC and LAADS require the specification of Earthdata Login credentials.
* EarthdataLogin() now allows multiple entries in a .netrc file in case users have other servers not related to Earthdata.
* Disabled retrieval of MOD16 products from NTSG server, which is no longer updated.
* When 'extent' is a country name, 'outProj' is taken from MODISoptions() rather than hard-coded EPSG:4326.
* If 'begin' falls in between two composite release dates, it is set back to start date of preceding release (see <https://github.com/fdetsch/MODIS/issues/43>).
* If 'begin' falls in between two composite release dates, it is set back to start date of preceding release (#43).
* When working with Extent (raster) or bbox objects (sf) and 'outProj' and 'pixelSize' are "asIn", the output grid and resolution is aligned with the original MODIS Sinusoidal grid.
* Replaced 'XML' package dependency through regular expression matching.

Expand All @@ -205,7 +222,7 @@

#### ✨ features and improvements

* Added remaining products from the LP DAAC MODIS Products Table (<https://lpdaac.usgs.gov/dataset_discovery/modis/modis_products_table>).
* Added remaining products from the LP DAAC MODIS Products Table (<https://www.earthdata.nasa.gov/centers/lp-daac/data-access-tools>).
* Explicit specification of 'pos1','pos2' arguments passed to extractDate() and orgTime() is no longer required when dealing with standard MODIS file names.

#### 🐛 bug fixes
Expand All @@ -217,9 +234,9 @@

#### 🍬 miscellaneous

* Disabled use of EPSV (see <https://curl.haxx.se/libcurl/c/CURLOPT_FTP_USE_EPSV.html>) when downloading structure from LP DAAC, LAADS. The latter didn't work anymore with EPSV enabled.
* Disabled use of EPSV (see <https://curl.se/libcurl/c/CURLOPT_FTP_USE_EPSV.html>) when downloading structure from LP DAAC, LAADS. The latter didn't work anymore with EPSV enabled.
* 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/fdetsch/MODIS/issues/22>) is switched off as long as a proper regular expression is omitted.
* At the same time, pattern matching for a distinct set of products is switched off as long as a proper regular expression is omitted (#22).
* The MODIS package is now licensed under the MIT license (<https://www.r-project.org/Licenses/MIT>).


Expand Down
1 change: 1 addition & 0 deletions R/MODISoptions.R
Original file line number Diff line number Diff line change
Expand Up @@ -375,6 +375,7 @@ MODISoptions <- function(localArcPath, outDirPath, pixelSize, outProj,

if(!missing(dataFormat))
{
# TODO: compare input against 'name' (or 'long_name') from `sf::st_drivers("raster")`
opt$dataFormat <- dataFormat
}
if(is.null(opt$dataFormat))
Expand Down
5 changes: 4 additions & 1 deletion R/getProduct.R
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,10 @@ getProduct <- function(x = NULL, quiet = FALSE, ...)
, PRODUCT = fname$PRODUCT
, DATE = fname$DATE
, TILE = fname$TILE
, CCC = fname$CCC
, CCC = stats::setNames(
fname$CCC
, nm = fname$PRODUCT
) # imitates named 'CCC' slot when input is not a file
, PROCESSINGDATE = fname$PROCESSINGDATE
, FORMAT = fname$FORMAT
, SENSOR = info$SENSOR
Expand Down
11 changes: 5 additions & 6 deletions R/getSds.R
Original file line number Diff line number Diff line change
Expand Up @@ -24,17 +24,16 @@
#' , package = "MODIS"
#' )
#'
#' getSds(
#' hdf
#' )
#' ## list all sds
#' getSds(hdf)
#'
#' ## list selected sds
#' getSds(
#' hdf
#' , SDSstring = 1
#' , SDSstring = "1"
#' )
#'
#' @export getSds
#' @name getSds
#' @export
getSds = function(
HdfName
, SDSstring = NULL
Expand Down
Loading