aviso
This defines an aviso attribute, and thus a node dependency on an Aviso notification. The options defining the attribute can be provided in any order.
task t1
aviso --name A --listener '{ ... }' --url http://aviso.ecmwf.int/ --schema /path/to/schema.json --polling 300 --auth /path/to/auth.json
task t2
aviso --name B --listener '{ ... }'
# when not provided, the following default options are used
# --url %ECF_AVISO_URL%
# --schema %ECF_AVISO_SCHEMA%
# --auth %ECF_AVISO_AUTH%
# --polling %ECF_AVISO_POLLING%
Note
The listener parameter is expected to be a valid single line JSON string, enclosed in single quotes.
The listener must define two fields (as per the Aviso Listerner definition):
event, specifies the type of Aviso event
request, specifies a dictionary with the parameters used to check for matches of Aviso notifications
The following are some examples:
'{ "event": "dissemination", "request": { "destination": "abc" } }'
'{ "event": "mars", "request": { "class": "od", "expver": "0001", "domain": "g", "stream": "abcd", "step": 0 } }'
The Authentication credentials, provided via option --auth, are
provided in a JSON file with the content following the
ECMWF Web API
(this is conventionally stored in a file located at $HOME/.ecmwfapirc):
{
"url" : "https://api.ecmwf.int/v1",
"key" : "<your-api-key>",
"email" : "<your-email>"
}
The Aviso schema file is a JSON file that defines the event listener schema. This is used by both Aviso server and client (thus, by ecFlow) to define the valid event types and request parameters used when polling for notifications. The schema file path must be provided to the –schema option (or via the ECF_AVISO_SCHEMA variable).