The function allows to know which Sentinel-2 passages should pass over certain orbits during a defined time interval. Dates are intended to be in UTC time. Notice that this is the expected calendar: some unexpected events (e.g. technical problems, or early working phases during first stages of acquisition) could cause the data unavailability even if an acquisition was expected. Notice also that some orbits (030, 073 and 116) acquire across UTC midnight: in this cases, the date is assumed to be the one of the acquisition after midnight (which corresponds to the date in local time).

s2_dop(s2_orbits = 1:143, timewindow = "10 days", mission = c("2A", "2B"))

Arguments

s2_orbits

A vector of Sentinel-2 orbits (as integer numbers or 3-length character). Default is all the 143 orbits.

timewindow

Temporal window for querying: Date object of length 1 (single day) or 2 (time window). Is it possible to pass also integer (or difftime) values, which are interpreted as the next n days (if positive) or the past n days (if negative). Also strings which can be interpreted as time ranges are accepted (see examples). Default is the next 10 days (one cycle).

mission

(optional) Vector with the desired Sentinel-2 missions ("2A", "2B" or both). Default is both.

Value

A data table with the dates (column "date"), the missions (column "mission") and the orbits (column "orbit"). An empty data table with the same structure is returned if no passages were found with the passed settings.

Note

License: GPL 3.0

References

L. Ranghetti, M. Boschetti, F. Nutini, L. Busetto (2020). "sen2r": An R toolbox for automatically downloading and preprocessing Sentinel-2 satellite data. Computers & Geosciences, 139, 104473. doi:10.1016/j.cageo.2020.104473 , URL: https://sen2r.ranghetti.info/.

Author

Luigi Ranghetti, phD (2019)

Examples

# All the passages in a cycle of 10 days over all the orbits
s2_dop()
#>            date mission orbit
#>   1: 2023-11-09      2A   016
#>   2: 2023-11-09      2A   017
#>   3: 2023-11-09      2A   018
#>   4: 2023-11-09      2A   019
#>   5: 2023-11-09      2A   020
#>  ---                         
#> 282: 2023-11-18      2B   083
#> 283: 2023-11-18      2B   084
#> 284: 2023-11-18      2B   085
#> 285: 2023-11-18      2B   086
#> 286: 2023-11-18      2B   087

# The passages in the current month over two orbits
s2_dop(c("022", "065"), "this month")
#>           date mission orbit
#>  1: 2023-11-02      2A   065
#>  2: 2023-11-04      2B   022
#>  3: 2023-11-07      2B   065
#>  4: 2023-11-09      2A   022
#>  5: 2023-11-12      2A   065
#>  6: 2023-11-14      2B   022
#>  7: 2023-11-17      2B   065
#>  8: 2023-11-19      2A   022
#>  9: 2023-11-22      2A   065
#> 10: 2023-11-24      2B   022
#> 11: 2023-11-27      2B   065
#> 12: 2023-11-29      2A   022

# The dates in which Sentinel-2A will pass in next six weeks over one orbit
s2_dop("022", "6 weeks", mission = "2A")$date
#> [1] "2023-11-09" "2023-11-19" "2023-11-29" "2023-12-09"

# The date in which Sentinel-2A would be passed in the last 10 days over one orbit
s2_dop("022", "-10 days", mission = "2A")$date
#> [1] "2023-11-09"

# All the orbits covered today
s2_dop(timewindow = Sys.Date(), mission = "2B")$orbit
#>  [1] "088" "089" "090" "091" "092" "093" "094" "095" "096" "097" "098" "099"
#> [13] "100" "101"

# The passages in a fixed time window for one orbit
s2_dop(65, as.Date(c("2018-08-01", "2018-08-31")))
#>          date mission orbit
#> 1: 2018-08-05      2B   065
#> 2: 2018-08-10      2A   065
#> 3: 2018-08-15      2B   065
#> 4: 2018-08-20      2A   065
#> 5: 2018-08-25      2B   065
#> 6: 2018-08-30      2A   065

# A research with no passages found
s2_dop(22, "2018-08-16", mission = "2A")
#> Empty data.table (0 rows and 3 cols): date,mission,orbit