Running an Extraction¶
Once zephyr is installed (see Installation) and you have a request
JSON file (either downloaded from Using the Web Interface or written by hand
against Request JSON Format), run the extraction from the run/ directory:
cd run
python launch_zephyr.py \
--json_path=/path/to/your/request.json \
--output_directory=/path/to/output/
This finds the NetCDF files matching the request on /net/atmos/data,
applies the requested spatial extraction, and writes the result to
--output_directory.
Processing a request from zephyr-request¶
If you’re an IAC operator processing a request that came in through the zephyr-request GitHub issue pipeline, also pass the tracking metadata so it’s embedded in the output:
python launch_zephyr.py \
--json_path=/path/to/your/request.json \
--output_directory=/path/to/output/ \
--zephyr_request_version=1.2.3 \
--github_issue_id=42
zephyr_request_version and github_issue_id are written as global
attributes on the output NetCDF files, so a file can always be traced back
to the issue and pipeline version that produced it.
Note
In production, this is exactly what zephyr-request’s GitHub Actions
pipeline does automatically on iacdipl-7.ethz.ch — this section is for
running the same step manually, e.g. to reprocess a request or debug a
failure.
Output filenames¶
The output filename prefix depends on the extraction method used:
Nearest grid point —
interp_<lat>_<lon>Rectangular clipping —
rect_<minlat>-<maxlat>_<minlon>-<maxlon>
Logs¶
launch_zephyr.py logs progress and any errors. If the run fails, check the
traceback printed to stderr — ProcessManager (in
src/zephyr/process_manager.py) re-raises exceptions from every stage
(file finding, loading, extraction) with the offending stage identifiable
from the traceback.