| wf_request {ecmwfr} | R Documentation | 
ECMWF data request and download
Description
Stage a data request, and optionally download the data to disk. Alternatively
you can only stage requests, logging the request URLs to submit download
queries later on using wf_transfer.
Note that the function will do some basic checks on the request input
to identify possible problems.
Usage
wf_request(
  request,
  user,
  transfer = TRUE,
  path = tempdir(),
  time_out = 3600,
  job_name,
  verbose = TRUE
)
wf_request_batch(
  request_list,
  workers = 2,
  user,
  path = tempdir(),
  time_out = 3600,
  total_timeout = length(request_list) * time_out/workers
)
Arguments
| request | nested list with query parameters following the layout as specified on the ECMWF APIs page | 
| user | user (email address) used to sign up for the ECMWF data service,
used to retrieve the token set by  | 
| transfer | logical, download data TRUE or FALSE (default = TRUE) | 
| path | path were to store the downloaded data | 
| time_out | how long to wait on a download to start (default =
 | 
| job_name | optional name to use as an RStudio job and as output variable name. It has to be a syntactically valid name. | 
| verbose | show feedback on processing | 
| request_list | a list of requests that will be processed in parallel. | 
| workers | maximum number of simultaneous request that will be submitted to the service. Most ECMWF services are limited to 20 concurrent requests (default = 2). | 
| total_timeout | overall timeout limit for all the requests in seconds. | 
Details
Two sorts of requests are accepted, a simple data request based upon the available data in the (raw) CDS repository, and a workflow request which forwards an anonymous python function to the CDS servers and returns its results.
The latter advanced use case is non-trivial, as both python and R code is required. However, it allows you to offload costly data operations / aggregation to the ECMWF servers, therefore limiting the amount of data that needs to be transferred.
A detailed summary of the use of the python API underpinning the CDS Toolbox (Editor) these operations is beyond the scope of this package. We refer to the [CDS Toolbox manual](https://cds.climate.copernicus.eu/toolbox/doc/api.html), and the small example included in the [vignettes](https://bluegreen-labs.github.io/ecmwfr/articles/cds_workflow_vignette.html).
Value
the path of the downloaded (requested file) or the an R6 object with download/transfer information
Author(s)
Koen Hufkens
See Also
Examples
## Not run: 
# set key
wf_set_key(user = "test@mail.com", key = "123")
request <- list(stream = "oper",
   levtype = "sfc",
   param = "167.128",
   dataset = "interim",
   step = "0",
   grid = "0.75/0.75",
   time = "00",
   date = "2014-07-01/to/2014-07-02",
   type = "an",
   class = "ei",
   area = "50/10/51/11",
   format = "netcdf",
   target = "tmp.nc")
# demo query
wf_request(request = request, user = "test@mail.com")
# Run as an RStudio Job. When finished, will create a
# variable named "test" in your environment with the path to
# the downloaded file.
wf_request(request = request, user = "test@mail.com", job_name = "test")
## End(Not run)