Skip to main content

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, scipy
  • gfortran
  • meson, 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nwsrfspy-1.0.0.tar.gz (33.1 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

nwsrfspy-1.0.0-cp312-cp312-win_amd64.whl (34.8 MB view details)

Uploaded CPython 3.12Windows x86-64

nwsrfspy-1.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (34.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

nwsrfspy-1.0.0-cp312-cp312-macosx_15_0_arm64.whl (34.1 MB view details)

Uploaded CPython 3.12macOS 15.0+ ARM64

nwsrfspy-1.0.0-cp311-cp311-win_amd64.whl (34.8 MB view details)

Uploaded CPython 3.11Windows x86-64

nwsrfspy-1.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (34.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

nwsrfspy-1.0.0-cp311-cp311-macosx_15_0_arm64.whl (34.1 MB view details)

Uploaded CPython 3.11macOS 15.0+ ARM64

nwsrfspy-1.0.0-cp310-cp310-win_amd64.whl (34.8 MB view details)

Uploaded CPython 3.10Windows x86-64

nwsrfspy-1.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (34.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

nwsrfspy-1.0.0-cp310-cp310-macosx_15_0_arm64.whl (34.1 MB view details)

Uploaded CPython 3.10macOS 15.0+ ARM64

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

Hashes for nwsrfspy-1.0.0.tar.gz
Algorithm Hash digest
SHA256 8f3a322c1105360bc3bd0b3f16635e16dbfd533b0cfd31267cdca25f5c5c2851
MD5 9cde9cbc0a79b6995f35e13d965bead3
BLAKE2b-256 08e7ca04c3618a03345bcb4616873135427f014e26cb2eb420bee8653825752c

See more details on using hashes here.

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

Hashes for nwsrfspy-1.0.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 accf0ad428c05e7f47537f23d085ceab6aa67382994fce6f21d5467d581cee98
MD5 11c1ae0428982c749dc7327cd4e15976
BLAKE2b-256 85f2786bd1a0a9126998bc53cd9417667f8c8c01cd92f7b6882be7b1505edd3c

See more details on using hashes here.

File details

Details for the file nwsrfspy-1.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for nwsrfspy-1.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f157ebafc17da58e663cb6651e82a508c768bcd7badde44e72733f9a4082490a
MD5 f824c1561ca1812ae2ab2f1ddad1b9e0
BLAKE2b-256 bed22e5b4578b578f7571c1f40f74c79502536c0bf3fb5ec17c0ca12e0ee875e

See more details on using hashes here.

File details

Details for the file nwsrfspy-1.0.0-cp312-cp312-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for nwsrfspy-1.0.0-cp312-cp312-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 9a70355f711712d3137210db701823e45cea07e718633bc5001e708204cea1bb
MD5 106316b6f4f7ab184aa3c5b3dd3492bc
BLAKE2b-256 f086409f99e67eb9ddf8012ee6c0c5b36c8019284ab745e0a84a11bc5cb9f4e3

See more details on using hashes here.

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

Hashes for nwsrfspy-1.0.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 86c4f6ed55d315c9c764b86bac6cf4ec66455ec338af50a9fe19cd036a2dbe8a
MD5 ea576f3c4bf36871117c220c8abff70d
BLAKE2b-256 f245d58bd91f198415922090e91c22b281e442a0e8d2bd721b736155648391e1

See more details on using hashes here.

File details

Details for the file nwsrfspy-1.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for nwsrfspy-1.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3aed73c1dae76d22dd1d01c947e7ffd4d77f94bb715074668a193b0a94d660bc
MD5 1ff07e166834ffa90f948df93635a20b
BLAKE2b-256 68501b39b3fdd30970ec9cf229b08e7265e7f9b04d1920b721410f6249c8643e

See more details on using hashes here.

File details

Details for the file nwsrfspy-1.0.0-cp311-cp311-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for nwsrfspy-1.0.0-cp311-cp311-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 e1a668d9ef6ad11da86f389981f8db0d8d2b571f03823c3e33e1fb4c3d95bf81
MD5 440987c386444c15a41078f1e166ca65
BLAKE2b-256 17e19727eaa86fc6418658ed62c6a2c2c983339755816fde9b60ea529eff625a

See more details on using hashes here.

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

Hashes for nwsrfspy-1.0.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 cc7a745d3116093e9a3495027facb11a93868a8a5dabd199dec39610cc559c5d
MD5 18d270b607397d8bc82f3b19bb044024
BLAKE2b-256 9040603ce2891c46e1e242298641c16f9791d184576d1f5af0cd3479b5fc2fba

See more details on using hashes here.

File details

Details for the file nwsrfspy-1.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for nwsrfspy-1.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6d8e4a1cfd89172013af7abd1a5850e0fbb332f150a90e81e8d388e2066a852c
MD5 11455fb5df6c4124c4c22c2cea4bcbec
BLAKE2b-256 636f63f433b405c2de066c6a7d58e2c76b3ff4f404cd1b8ca1253e620decc166

See more details on using hashes here.

File details

Details for the file nwsrfspy-1.0.0-cp310-cp310-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for nwsrfspy-1.0.0-cp310-cp310-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 4934d42b8872912547e1b2b56e4697f23d1ece27494bdcb6e66a242dd0a412d1
MD5 9d9b545fb5eb94f5c2644d77fecf729a
BLAKE2b-256 6588eb778a1c1b6a496fac762690c4c932f9317b38ab614ad65e5c1921642e86

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page