Files and folders¶
wrfkit separates things you edit from things programs generate.
The short version¶
flake.nix reproducible project software environment
~/.config/wrfkit/
bootstrap.conf machine/site policy
cases/ tracked scientific case configuration
.wrfkit/work/ generated working files and model products
.wrfkit/logs/ run-by-run provenance and archived native logs
.wrfkit/data/ reusable downloaded input data (default)
.wrfkit/install/ built WRF/WPS programs
These layers have different jobs. See How wrfkit works for the design model.
A case¶
case.toml is the wrfkit-facing case configuration. The two native
namelists remain the exact WPS/WRF configuration files. Whether wrfkit may
modify TOML-owned namelist values is controlled by namelist.managed.
A workspace¶
.wrfkit/work/my-case/
├── namelist.wps -> cases/my-case/namelist.wps
├── namelist.input -> cases/my-case/namelist.input
├── geo_em.*
├── FILE:*
├── met_em.*
├── wrfinput_d01
├── wrfbdy_d01
├── wrfout_d01_*
├── rsl.out.*
└── rsl.error.*
The exact set changes as the workflow progresses.
Run logs¶
.wrfkit/logs/my-case/
└── YYYYMMDD_HHMMSS_wrf/
├── command.txt
├── run.env
├── run.started
└── native-logs.tar
The native WPS/WRF log files remain in the workspace and a run-specific snapshot
is stored in native-logs.tar.
Reusable data¶
Examples:
These are separate from the tracked case so multiple runs can reuse downloaded input data.
Sapelo2 and /lscratch¶
The Sapelo2 profile currently uses node-local /lscratch/$USER/.nix for the
rootless Nix store.
Although the profile also declares a scratch_root, current WRF/WPS execution
workspaces still live under:
Do not assume scientific outputs are automatically staged to /lscratch.
Reuse downloaded data across projects¶
The default data location is project-local:
For large or repeatedly reused inputs, a machine can instead define:
in ~/.config/wrfkit/bootstrap.conf. Static geography and GFS downloads then
use that shared root, while case workspaces, logs, builds, and model output stay
with the repository.
This split is intentional: geography and forcing can be reusable inputs, while
geo_em.*, met_em.*, wrfinput*, and wrfout* depend on a specific
case.
External geography¶
A case may also reference geography that wrfkit does not manage:
Absolute paths are used as written, so they may point to a different filesystem. Relative paths are resolved under:
The case workspace still uses the stable geog link expected by
namelist.wps; wrfkit points that link at the resolved external directory.
Related pages¶
- Machine-level configuration: Bootstrap and enter the wrfkit shell
- Scientific cases: Understand case.toml
- Software environment: Customize flake.nix
- Generated stage files: High-level and low-level workflows