Python tools for NWSRFS modeling with FORTRAN source Code integration
Project description
NWSRFSpy
nwsrfs_py is a Python interface to NWSRFS hydrologic models using f2py wrappers around FORTRAN implementations.
It is designed to support NWRFC autocalibration workflows and provides classes for simulation and AdjustQ operations. Sample calibration data is archived on Zenodo.
Install (PyPI)
pip install nwsrfspy
Quick Start
from nwsrfs_py import simulation
# Load packaged example data
model_run = simulation.NwsrfsRun.load_example("NRKW1")
# Simulated streamflow series
sim_flow = model_run.sim
print(sim_flow.head())
Included Model Components
- SAC-SMA + SNOW-17 (
SacSnow) - UNIT-HG (
GammaUh) - LAG-K (
Lagk) - CHANLOSS (
Chanloss) - CONS_USE (
Consuse)
Documentation
Python docs: https://NOAA-NWRFC.github.io/nwsrfs-hydro-models/python/
Build From Source (Developers)
Source builds require a Fortran toolchain plus build tools.
Requirements:
- Python 3.10+
numpy,pandas,scipygfortranmeson,meson-python,ninja
Using pixi (recommended)
From repository root:
pixi run install-py
Using conda
conda create -n nwsrfs_env python=3.10
conda activate nwsrfs_env
conda install -c conda-forge fortran-compiler meson meson-python ninja
Install from source:
git clone https://github.com/NOAA-NWRFC/nwsrfs-hydro-models.git
cd nwsrfs-hydro-models/nwsrfs_py
pip install .
python -c "import nwsrfs_py; print('Success!')"
Editable install:
pip install -e . --no-build-isolation -v
For runnable scripts in the source tree, see examples/.
Citation
If you use this package, please cite:
Walters, G., Bracken, C., et al., "A comprehensive calibration framework for the Northwest River Forecast Center." Journal of the American Water Resources Association (JAWRA), accepted for publication in 2026. Preprint
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nwsrfspy-1.0.0.tar.gz.
File metadata
- Download URL: nwsrfspy-1.0.0.tar.gz
- Upload date:
- Size: 33.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8f3a322c1105360bc3bd0b3f16635e16dbfd533b0cfd31267cdca25f5c5c2851
|
|
| MD5 |
9cde9cbc0a79b6995f35e13d965bead3
|
|
| BLAKE2b-256 |
08e7ca04c3618a03345bcb4616873135427f014e26cb2eb420bee8653825752c
|
File details
Details for the file nwsrfspy-1.0.0-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: nwsrfspy-1.0.0-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 34.8 MB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
accf0ad428c05e7f47537f23d085ceab6aa67382994fce6f21d5467d581cee98
|
|
| MD5 |
11c1ae0428982c749dc7327cd4e15976
|
|
| BLAKE2b-256 |
85f2786bd1a0a9126998bc53cd9417667f8c8c01cd92f7b6882be7b1505edd3c
|
File details
Details for the file nwsrfspy-1.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: nwsrfspy-1.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 34.4 MB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f157ebafc17da58e663cb6651e82a508c768bcd7badde44e72733f9a4082490a
|
|
| MD5 |
f824c1561ca1812ae2ab2f1ddad1b9e0
|
|
| BLAKE2b-256 |
bed22e5b4578b578f7571c1f40f74c79502536c0bf3fb5ec17c0ca12e0ee875e
|
File details
Details for the file nwsrfspy-1.0.0-cp312-cp312-macosx_15_0_arm64.whl.
File metadata
- Download URL: nwsrfspy-1.0.0-cp312-cp312-macosx_15_0_arm64.whl
- Upload date:
- Size: 34.1 MB
- Tags: CPython 3.12, macOS 15.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9a70355f711712d3137210db701823e45cea07e718633bc5001e708204cea1bb
|
|
| MD5 |
106316b6f4f7ab184aa3c5b3dd3492bc
|
|
| BLAKE2b-256 |
f086409f99e67eb9ddf8012ee6c0c5b36c8019284ab745e0a84a11bc5cb9f4e3
|
File details
Details for the file nwsrfspy-1.0.0-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: nwsrfspy-1.0.0-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 34.8 MB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
86c4f6ed55d315c9c764b86bac6cf4ec66455ec338af50a9fe19cd036a2dbe8a
|
|
| MD5 |
ea576f3c4bf36871117c220c8abff70d
|
|
| BLAKE2b-256 |
f245d58bd91f198415922090e91c22b281e442a0e8d2bd721b736155648391e1
|
File details
Details for the file nwsrfspy-1.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: nwsrfspy-1.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 34.4 MB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3aed73c1dae76d22dd1d01c947e7ffd4d77f94bb715074668a193b0a94d660bc
|
|
| MD5 |
1ff07e166834ffa90f948df93635a20b
|
|
| BLAKE2b-256 |
68501b39b3fdd30970ec9cf229b08e7265e7f9b04d1920b721410f6249c8643e
|
File details
Details for the file nwsrfspy-1.0.0-cp311-cp311-macosx_15_0_arm64.whl.
File metadata
- Download URL: nwsrfspy-1.0.0-cp311-cp311-macosx_15_0_arm64.whl
- Upload date:
- Size: 34.1 MB
- Tags: CPython 3.11, macOS 15.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e1a668d9ef6ad11da86f389981f8db0d8d2b571f03823c3e33e1fb4c3d95bf81
|
|
| MD5 |
440987c386444c15a41078f1e166ca65
|
|
| BLAKE2b-256 |
17e19727eaa86fc6418658ed62c6a2c2c983339755816fde9b60ea529eff625a
|
File details
Details for the file nwsrfspy-1.0.0-cp310-cp310-win_amd64.whl.
File metadata
- Download URL: nwsrfspy-1.0.0-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 34.8 MB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cc7a745d3116093e9a3495027facb11a93868a8a5dabd199dec39610cc559c5d
|
|
| MD5 |
18d270b607397d8bc82f3b19bb044024
|
|
| BLAKE2b-256 |
9040603ce2891c46e1e242298641c16f9791d184576d1f5af0cd3479b5fc2fba
|
File details
Details for the file nwsrfspy-1.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: nwsrfspy-1.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 34.4 MB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6d8e4a1cfd89172013af7abd1a5850e0fbb332f150a90e81e8d388e2066a852c
|
|
| MD5 |
11455fb5df6c4124c4c22c2cea4bcbec
|
|
| BLAKE2b-256 |
636f63f433b405c2de066c6a7d58e2c76b3ff4f404cd1b8ca1253e620decc166
|
File details
Details for the file nwsrfspy-1.0.0-cp310-cp310-macosx_15_0_arm64.whl.
File metadata
- Download URL: nwsrfspy-1.0.0-cp310-cp310-macosx_15_0_arm64.whl
- Upload date:
- Size: 34.1 MB
- Tags: CPython 3.10, macOS 15.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4934d42b8872912547e1b2b56e4697f23d1ece27494bdcb6e66a242dd0a412d1
|
|
| MD5 |
9d9b545fb5eb94f5c2644d77fecf729a
|
|
| BLAKE2b-256 |
6588eb778a1c1b6a496fac762690c4c932f9317b38ab614ad65e5c1921642e86
|