Provides a target format for stars objects. Note that most or all stars
objects work with ordinary tar_target() and do not necessarily need
geotargets target factories the way terra objects do.  Currently
tar_stars() has the same limitations as stars::write_stars(), so use with
caution.
Usage
tar_stars(
  name,
  command,
  pattern = NULL,
  proxy = FALSE,
  mdim = FALSE,
  ncdf = FALSE,
  driver = geotargets_option_get("gdal.raster.driver"),
  options = geotargets_option_get("gdal.raster.creation.options"),
  ...,
  tidy_eval = targets::tar_option_get("tidy_eval"),
  packages = targets::tar_option_get("packages"),
  library = targets::tar_option_get("library"),
  repository = targets::tar_option_get("repository"),
  error = targets::tar_option_get("error"),
  memory = targets::tar_option_get("memory"),
  garbage_collection = targets::tar_option_get("garbage_collection"),
  deployment = targets::tar_option_get("deployment"),
  priority = targets::tar_option_get("priority"),
  resources = targets::tar_option_get("resources"),
  storage = targets::tar_option_get("storage"),
  retrieval = targets::tar_option_get("retrieval"),
  cue = targets::tar_option_get("cue"),
  description = targets::tar_option_get("description")
)
tar_stars_proxy(
  name,
  command,
  pattern = NULL,
  mdim = FALSE,
  ncdf = FALSE,
  driver = geotargets_option_get("gdal.raster.driver"),
  options = geotargets_option_get("gdal.raster.creation.options"),
  ...,
  tidy_eval = targets::tar_option_get("tidy_eval"),
  packages = targets::tar_option_get("packages"),
  library = targets::tar_option_get("library"),
  repository = targets::tar_option_get("repository"),
  error = targets::tar_option_get("error"),
  memory = targets::tar_option_get("memory"),
  garbage_collection = targets::tar_option_get("garbage_collection"),
  deployment = targets::tar_option_get("deployment"),
  priority = targets::tar_option_get("priority"),
  resources = targets::tar_option_get("resources"),
  storage = targets::tar_option_get("storage"),
  retrieval = targets::tar_option_get("retrieval"),
  cue = targets::tar_option_get("cue"),
  description = targets::tar_option_get("description")
)Arguments
- name
- Symbol, name of the target. A target name must be a valid name for a symbol in R, and it must not start with a dot. See - targets::tar_target()for more information.
- command
- R code to run the target. 
- pattern
- Code to define a dynamic branching pattern for a target. See - targets::tar_target()for more information.
- proxy
- logical. Passed to - stars::read_stars(). If- TRUEthe target will be read as an object of class- stars_proxy. Otherwise, the object is class- stars.
- mdim
- logical. Use the Multidimensional Raster Data Model via - stars::write_mdim()? Default:- FALSE. Only supported for some drivers, e.g.- "netCDF"or- "Zarr".
- ncdf
- logical. Use the NetCDF library directly to read data via - stars::read_ncdf()? Default:- FALSE. Only supported for- driver="netCDF".
- driver
- character. File format expressed as GDAL driver names passed to - stars::write_stars(). See- sf::st_drivers().
- options
- character. GDAL driver specific datasource creation options passed to - stars::write_stars().
- ...
- Additional arguments not yet used. 
- tidy_eval
- Logical, whether to enable tidy evaluation when interpreting - commandand- pattern. If- TRUE, you can use the "bang-bang" operator- !!to programmatically insert the values of global objects.
- packages
- Character vector of packages to load right before the target runs or the output data is reloaded for downstream targets. Use - tar_option_set()to set packages globally for all subsequent targets you define.
- library
- Character vector of library paths to try when loading - packages.
- repository
- Character of length 1, remote repository for target storage. Choices: - "local": file system of the local machine.
- "aws": Amazon Web Services (AWS) S3 bucket. Can be configured with a non-AWS S3 bucket using the- endpointargument of- tar_resources_aws(), but versioning capabilities may be lost in doing so. See the cloud storage section of https://books.ropensci.org/targets/data.html for details for instructions.
- "gcp": Google Cloud Platform storage bucket. See the cloud storage section of https://books.ropensci.org/targets/data.html for details for instructions.
- A character string from - tar_repository_cas()for content-addressable storage.
 - Note: if - repositoryis not- "local"and- formatis- "file"then the target should create a single output file. That output file is uploaded to the cloud and tracked for changes where it exists in the cloud. The local file is deleted after the target runs.
- error
- Character of length 1, what to do if the target stops and throws an error. Options: - "stop": the whole pipeline stops and throws an error.
- "continue": the whole pipeline keeps going.
- "null": The errored target continues and returns- NULL. The data hash is deliberately wrong so the target is not up to date for the next run of the pipeline. In addition, as of version 1.8.0.9011, a value of- NULLis given to upstream dependencies with- error = "null"if loading fails.
- "abridge": any currently running targets keep running, but no new targets launch after that.
- "trim": all currently running targets stay running. A queued target is allowed to start if:- It is not downstream of the error, and 
- It is not a sibling branch from the same - tar_target()call (if the error happened in a dynamic branch).
 - The idea is to avoid starting any new work that the immediate error impacts. - error = "trim"is just like- error = "abridge", but it allows potentially healthy regions of the dependency graph to begin running. (Visit https://books.ropensci.org/targets/debugging.html to learn how to debug targets using saved workspaces.)
 
- memory
- Character of length 1, memory strategy. Possible values: - "auto": new in- targetsversion 1.8.0.9011,- memory = "auto"is equivalent to- memory = "transient"for dynamic branching (a non-null- patternargument) and- memory = "persistent"for targets that do not use dynamic branching.
- "persistent": the target stays in memory until the end of the pipeline (unless- storageis- "worker", in which case- targetsunloads the value from memory right after storing it in order to avoid sending copious data over a network).
- "transient": the target gets unloaded after every new target completes. Either way, the target gets automatically loaded into memory whenever another target needs the value.
 - For cloud-based dynamic files (e.g. - format = "file"with- repository = "aws"), the- memoryoption applies to the temporary local copy of the file:- "persistent"means it remains until the end of the pipeline and is then deleted, and- "transient"means it gets deleted as soon as possible. The former conserves bandwidth, and the latter conserves local storage.
- garbage_collection
- Logical: - TRUEto run- base::gc()just before the target runs,- FALSEto omit garbage collection. In the case of high-performance computing,- gc()runs both locally and on the parallel worker. All this garbage collection is skipped if the actual target is skipped in the pipeline. Non-logical values of- garbage_collectionare converted to- TRUEor- FALSEusing- isTRUE(). In other words, non-logical values are converted- FALSE. For example,- garbage_collection = 2is equivalent to- garbage_collection = FALSE.
- deployment
- Character of length 1. If - deploymentis- "main", then the target will run on the central controlling R process. Otherwise, if- deploymentis- "worker"and you set up the pipeline with distributed/parallel computing, then the target runs on a parallel worker. For more on distributed/parallel computing in- targets, please visit https://books.ropensci.org/targets/crew.html.
- priority
- Numeric of length 1 between 0 and 1. Controls which targets get deployed first when multiple competing targets are ready simultaneously. Targets with priorities closer to 1 get dispatched earlier (and polled earlier in - tar_make_future()).
- resources
- Object returned by - tar_resources()with optional settings for high-performance computing functionality, alternative data storage formats, and other optional capabilities of- targets. See- tar_resources()for details.
- storage
- Character string to control when the output of the target is saved to storage. Only relevant when using - targetswith parallel workers (https://books.ropensci.org/targets/crew.html). Must be one of the following values:- "main": the target's return value is sent back to the host machine and saved/uploaded locally.
- "worker": the worker saves/uploads the value.
- "none":- targetsmakes no attempt to save the result of the target to storage in the location where- targetsexpects it to be. Saving to storage is the responsibility of the user. Use with caution.
 
- retrieval
- Character string to control when the current target loads its dependencies into memory before running. (Here, a "dependency" is another target upstream that the current one depends on.) Only relevant when using - targetswith parallel workers (https://books.ropensci.org/targets/crew.html). Must be one of the following values:- "main": the target's dependencies are loaded on the host machine and sent to the worker before the target runs.
- "worker": the worker loads the target's dependencies.
- "none":- targetsmakes no attempt to load its dependencies. With- retrieval = "none", loading dependencies is the responsibility of the user. Use with caution.
 
- cue
- An optional object from - tar_cue()to customize the rules that decide whether the target is up to date.
- description
- Character of length 1, a custom free-form human-readable text description of the target. Descriptions appear as target labels in functions like - tar_manifest()and- tar_visnetwork(), and they let you select subsets of targets for the- namesargument of functions like- tar_make(). For example,- tar_manifest(names = tar_described_as(starts_with("survival model")))lists all the targets whose descriptions start with the character string- "survival model".
Note
The iteration argument is unavailable because it is hard-coded to
"list", the only option that works currently.
Examples
# For CRAN. Ensures these examples run under certain conditions.
# To run this locally, run the code inside this if statement
if (Sys.getenv("TAR_LONG_EXAMPLES") == "true") {
  targets::tar_dir({ # tar_dir() runs code from a temporary directory.
    library(geotargets)
    targets::tar_script({
      list(
        geotargets::tar_stars(
          stars_example,
          stars::read_stars(
          system.file("tif", "olinda_dem_utm25s.tif", package = "stars")
          )
        )
      )
    })
    targets::tar_make()
    x <- targets::tar_read(stars_example)
  })
}
