ArWen
Explore weather, create regional forecasts, and run them on your own hardware.
ArWen combines a native desktop application, a terminal workspace, and a CUDA-based atmospheric modeling engine. Use the desktop to inspect weather maps, choose a forecast area or cyclone, review the setup, and follow your results. Run the model on a local NVIDIA GPU or a Linux computer connected over SSH.
The Linux desktop displaying a real ERA5 field. Windows uses the same interface.
Get ArWen
| Download | Requirements |
|---|---|
| Windows desktop — GUI and TUI | x86-64 Windows; Python 3.11 or newer; working OpenGL graphics |
| Linux desktop — GUI and TUI | x86-64 Linux, glibc 2.39 or newer, such as Ubuntu 24.04; Python 3.11 or newer; X11 or Wayland with working OpenGL |
| Integration kit | Developer guide, CLI/plan examples, catalogs, and client design notes |
The desktop downloads are about 45 MB for Windows and 42 MB for Linux. They contain the applications, native map library, map assets, and launchers. Pip installs the engine and its dependencies separately. No Rust or C++ compiler is needed for the supported binary packages.
The Python package is named gpuwm. Its Windows and Linux platform wheels
include the engine, native processing tools, and TUI. The desktop GUI is the
separate download above. Check release notes and checksums
for the exact artifacts and qualification records.
Install the desktop
A computer used to view weather and control a remote forecast node does not need local CUDA. Create a dedicated Python environment and install the client dependencies. These commands apply to the published 2.7.0 packages; each desktop archive also includes instructions for installing from downloaded wheels.
Windows
In PowerShell:
py -3 -m venv "$env:LOCALAPPDATA\ArWen\venvs\2.7.0"
& "$env:LOCALAPPDATA\ArWen\venvs\2.7.0\Scripts\python.exe" -m pip install "gpuwm[render]==2.7.0"
Extract the complete Windows ZIP into its own folder. From that folder:
& '.\Start ArWen.cmd' --python "$env:LOCALAPPDATA\ArWen\venvs\2.7.0\Scripts\python.exe"
If the Windows Python launcher py is unavailable, use the full path to your
installed Python executable when creating the environment.
Linux
python3 -m venv ~/.local/share/arwen/venvs/2.7.0
~/.local/share/arwen/venvs/2.7.0/bin/python -m pip install 'gpuwm[render]==2.7.0'
Extract the complete Linux tarball. From its application folder:
./Start\ ArWen.sh --python ~/.local/share/arwen/venvs/2.7.0/bin/python
If your distribution does not include Python's venv module, install its venv
package first; Ubuntu provides python3-venv.
Both launchers open the connected GUI and TUI. Use Start ArWen Terminal.cmd
on Windows or Start ArWen Terminal.sh on Linux for the terminal alone.
After activating the Python environment, gpuwm tui also opens the terminal.
The archives use a documented manual setup. They do not include an installation wizard or automatic updater. Settings and run caches live outside the application folder; keep the application files and notices together when moving or updating it.
Run forecasts on a GPU
Install the GPU dependencies on the computer that will execute the model. That computer needs a compatible NVIDIA GPU and device driver. In its activated Python environment, select the extra that matches the supported CUDA setup:
python -m pip install 'gpuwm[all-cu13]==2.7.0' # CUDA 13
# Use 'gpuwm[all-cu12]==2.7.0' for a compatible CUDA 12 setup instead.
gpuwm fetch-tables
gpuwm doctor
gpuwm doctor reports each remedy as a command or a # comment explaining
the manual step.
The GPU extra installs CuPy and the required user-space NVIDIA CUDA components through their dependency packages. It does not install Python or the NVIDIA device driver. Install one CuPy/CUDA major per environment. See the CuPy installation guide and ArWen hardware guidance.
Most scientific lookup data arrives with the automatically installed
gpuwm-data package. gpuwm fetch-tables obtains and hash-checks two additional
Thompson tables, about 314 MiB combined. Geography and forecast inputs are
separate: configure an existing geography installation or use gpuwm fetch-geog.
ERA5 requires the user's CDS configuration and dataset access. Remote operation
requires an SSH client and a configured, reachable forecast computer.
Local forecast integration runs on CUDA; it has no CPU fallback. The desktop, terminal, native weather processing, and remote-control workflows can run on a computer without a local CUDA installation.
Work with weather
- Explore: choose a supported source, field, area, and valid time; load a weather map and play available UTC frames.
- Create forecast: start from an area, an Explore map, a saved configuration, or a cyclone setup. Choose the forecast computer and inputs, review the resolved physics and memory requirements, then launch.
- My forecasts: return to active or saved runs, inspect domains and output times, view native fields and plots, and play the forecast history.
- Terminal and CLI: use
gpuwm tuifor an interactive workspace or the command interfaces for scripts and automation.
GFS, HRRR, and ERA5 workflows are included, with ERA5 member selection and
cyclone-follow setup among the 2.7 features. The installed source catalog is
available through gpuwm sources --json. Forecast-input support and Explore
preview support are separate; some registered forcing sources do not yet have
an Explore preview route.
For a configuration already prepared for your computer and inputs:
gpuwm go forecast.toml --dry-run
gpuwm go forecast.toml
The first command reviews the route; the second executes it. See the CLI manual and TUI manual for the complete workflows.
Integrate ArWen into another application
The integration guide and downloadable kit describe the CLI, run-plan documents, catalogs, and companion bridge boundaries. The kit contains an example subprocess client and tests. It is a documented integration surface, not a separate simulation engine or a replacement for runtime validation.
Use the installed catalogs and validated plans when building another interface. Preserve request identity, selected source/time/domain, cancellation, and the distinction between a preview and an executing forecast.
Science, compatibility, and current limits
ArWen independently implements a WRF-ARW-class regional atmospheric model and WRF-derived physics on the GPU. Its numerical comparisons and qualification apply to documented configurations and test cases. They do not establish universal equivalence with WRF or validate every combination of physics, input dataset, and hardware. Read the verification record, physics documentation, and 2.7 changes.
- Checkpoints: 2.7 writes format 6. Format-5 checkpoints from older releases and previews are not compatible. Finish those runs with the version that created them, or start again from the original configuration and inputs.
- Physics admission: some Noah-MP configurations currently refuse during memory estimation. The refusal does not silently replace the selected physics.
- Playback: the first pass may wait while remote frames enter the local cache. Startup compilation and input preparation also affect reported overall simulation speed.
- Known interface issues: some preview sources remain unavailable, exported dateline-crossing outlines can show a seam, and a background compact-store worker can report an error during the forecast-completion transition. The release qualification documents the retained limits.
ArWen is research and educational software. Use official meteorological services for forecasts and safety warnings. The project is not affiliated with or endorsed by NCAR or UCAR.
Report an issue
Include the version, platform, what you attempted, and the relevant error.
gpuwm report RUN_DIRECTORY --output diagnostics.zip collects a diagnostic
report with recognized sensitive patterns redacted. Review it before sharing:
raw copied logs can contain local paths, usernames, hosts, and configuration
details, and no redaction tool guarantees anonymity. Never post credential files
or private keys. See
reporting a problem.
Development and licensing
Development combines human direction, AI-assisted implementation, and numerical and runtime verification. The source, scientific provenance, tests, and release qualification records are available for inspection.
For a developer installation from a source checkout, use bash install.sh on
Linux or powershell -File install.ps1 on Windows. Source installations build
the native components and need the corresponding build tools. The explicit
bash install.sh invocation also works when an extracted source archive has
lost executable permission bits; use it if ./install.sh reports
Permission denied.
The engine is licensed under the Apache License 2.0. The desktop application and its dependencies carry their own licenses and notices in the desktop archives. Third-party code, tables, and datasets retain their respective terms; see NOTICE and scientific provenance.
Release files for gpuwm 2.7.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| gpuwm-2.7.0.tar.gz | 38.2 MB | Details |
Built distributions (wheels)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| gpuwm-2.7.0-py3-none-win_amd64.whl | Python 3 | none | Windows x86-64 | Details |
| gpuwm-2.7.0-py3-none-manylinux_2_28_x86_64.whl | Python 3 | none | Linux glibc 2.28+ x86-64 | Details |
| gpuwm-2.7.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 206.3 MB
Release files / gpuwm-2.7.0.tar.gz
| Download URL | gpuwm-2.7.0.tar.gz |
|---|---|
| Size | 38.2 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d19b03bce4e5168b82b9ca9c27549be58394e69e0980984c30f9b21e43ea32d3
|
|
BLAKE2b-256 checksum How to use checksums |
8b913cfa1275b473f533ca853850a2ad99bccd3fc10538ec2fdfe44ea06d7bf4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 10, 2026.
Transparency logRelease files / gpuwm-2.7.0-py3-none-win_amd64.whl
| Download URL | gpuwm-2.7.0-py3-none-win_amd64.whl |
|---|---|
| Size | 63.9 MB |
| Tags | Python 3 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
1e1fb2c2279c66dd104996af323a36d5c26be19d059adde9629cc2092dde936d
|
|
BLAKE2b-256 checksum How to use checksums |
fac9bb4b6346f252949647011291f6d10c7fc764d98140902ae0a016058f36a0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 10, 2026.
Transparency logRelease files / gpuwm-2.7.0-py3-none-manylinux_2_28_x86_64.whl
| Download URL | gpuwm-2.7.0-py3-none-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 70.8 MB |
| Tags | Linux glibc 2.28+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
8f3294f1b464af1ef3360cf621d013139218ee3a23ca5fdb39a0ea7d48dd8626
|
|
BLAKE2b-256 checksum How to use checksums |
a538fabc4ff9c49e0844aef1122cc2ec6985881b3cc468071ecc563df9fcc1b8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 10, 2026.
Transparency logRelease files / gpuwm-2.7.0-py3-none-any.whl
| Download URL | gpuwm-2.7.0-py3-none-any.whl |
|---|---|
| Size | 33.4 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
eed20d9e7dd7e185feefa8f5b621fc7d553cac318eb3fa67d7a70796d553d0b5
|
|
BLAKE2b-256 checksum How to use checksums |
0e45c613b062e0137a6a6288d6d754b0824cefad92c38d136d7603878e6134d8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 10, 2026.
Transparency log