Using the Web Interface

Most users never install zephyr — they build a request in zephyr-frontend and let a GitHub Actions pipeline run the extraction. This is the easiest way to get data if you don’t have (or don’t want to use) an account on the IAC servers.

Live app: https://www.zephyr.ethz.ch/ (Proxy of https://c2sm.github.io/zephyr-frontend/)

Step by step

  1. Pick a dataset. The dataset picker lists the datasets described in Supported Datasets. Metadata (available variables, dates, sizes) is generated nightly by iac-metadata from /net/atmos/data.

  2. Filter it down. A progressive dropdown menu narrows the dataset by scenario, temporal resolution, variable, GCM/RCM, ensemble member, etc. — only the combinations that actually exist are offered, and the date range picker adjusts to whatever the selected combination covers.

  3. Choose your area. Toggle between Area and Grid Point:

    • Grid Point — click on the map (or type latitude/longitude directly) to select the nearest model grid cell to a location.

    • Area — drag a bounding box on the map (or type min/max latitude/longitude) to clip a rectangular region.

  4. Copy the request. Once the selection is valid, the frontend generates the request JSON (see Request JSON Format) and offers a “Copy and submit config” button.

  5. Submit it via GitHub. Open a new issue in zephyr-request using the Data Request template, and paste the JSON into the issue body. Opening the issue applies the data request label automatically, which triggers processing. This requires membership in the C2SM GitHub organization — see how to get access if you’re not a member yet.

  6. Wait for your download link. A GitHub Actions pipeline processes the request on iacdipl-7.ethz.ch and posts a comment on your issue with a download link (and a ready-to-use wget/unzip snippet) once it’s done. Processed data is kept for 7 days, after which it’s cleaned up and the issue is closed automatically.

        sequenceDiagram
    participant U as User
    participant F as zephyr-frontend
    participant R as zephyr-request (GitHub Issue)
    participant Z as zephyr (on iacdipl-7)

    U->>F: Select dataset, variables, date range, area
    F-->>U: Generated request JSON
    U->>R: Open issue, paste JSON
    R->>Z: launch_zephyr.py --json_path=... --github_issue_id=...
    Z-->>R: Output .nc file(s), zipped
    R-->>U: Comment with download link
    

Status labels

While your request is in flight, the issue is labeled to reflect its state:

Label

Meaning

submitted

Request is being processed

completed

Data is ready for download

failed

Processing failed — check the log files in the zip

aborted

Pipeline timed out or was manually aborted

If your request fails (or you want to tweak your JSON and try again), comment rerun request on the issue — this resets the status and re-triggers processing without opening a new issue.

Prefer to run it yourself?

If you already have access to an IAC machine, you can skip zephyr-request entirely and run the extraction directly — see Installation and Running an Extraction. You still build the request the same way in zephyr-frontend (or by hand, per Request JSON Format); you just feed the downloaded JSON straight to launch_zephyr.py instead of opening a GitHub issue.