Skip to main content

NEWT, Near-term Expected Watershed Temperatures: a statistical stream temperature model

Project description

"She turned me into a NEWT! I got better... Then I moved on to the NEXT big thing."

TempEst-NEWT

TempEst-NEWT (stream temperature estimation: near-term expected watershed temperatures) is a statistical model to hindcast and forecast daily stream temperature for watersheds using air temperature and vapor pressure only. It's essentially a complicated air-temperature regression, but a high-performing one, with a median validation-period RMSE of 1.4 C, R2 of 0.95, and bias of 0.003%.

NEWT is principally developed as the calibrated component of TempEst-NEXT, which couples NEWT with coefficient estimation for ungaged-watershed forecasting, but it is also useful as a standalone, calibrated model and is therefore made available as its own package. NEWT and NEXT are part of the TempEst family of models, including TempEst 1 for remote sensing-based monthly mean temperatures and TempEst 2 for remote sensing-based daily mean and maximum temperatures, both in ungaged watersheds. TempEst 2 and NEXT have similar functionality, but TempEst-NEXT is capable of forecasting and disturbance modeling, while TempEst 2 is only for historical estimation (but is much faster and uses less data). TempEst 1/2 are intended for fast analyses of large-domain historical patterns, while NEWT/NEXT are more focused on in-depth analysis of changes over time, as well as forecasting.

TempEst-NEWT is implemented using libSCHEMA.

Quick Start

Installation

Install from PyPI: pip install tempest-newt. The installed module is called NEWT: import NEWT. The main model class is NEWT.Watershed.

Data Preparation

To generate predictions with a NEWT model with specified coefficients (Watershed.run_series(data)), the requirement is a data frame with columns date (a Pandas datetime), day (Julian day), and tmax (daily max air temperature, averaged over the watershed). To train a model from data (Watershed.from_data(data)), there also needs to be a temperature (observed daily stream water temperature) column. Performance results are for daily mean, but this also works with daily max or min.

Model Execution

The standard approach to running the model is Watershed.run_series(data), which executes the model for the full provided timeseries and adds a prediction column. If modification engines are not in use, this runs a fast single-pass approach. Otherwise, it runs step-by-step, applying modification engines when needed. You can also manually run step-by-step using .run_step(inputs) - a single step - or .run_series_incremental(data), which forces the full series to be run step-by-step.

An optional argument to run_series is context. If True (default), it adds a prediction column, as described. Otherwise, it just returns the array of predictions.

Detailed Documentation

See the documentation at RiverTempest.org.

Capabilities Overview

The default NEWT configuration runs a stationary seasonality plus weather model, a direct implementation of the SCHEMA (Seasonal Conditions Historical Expectation with Modeled daily Anomaly) approach developed for TempEst 2. However, you can also specify "modification engines", which activate at specified intervals to modify coefficients based on model history. This allows accounting for disturbances, droughts, climate change, etc. These are simply passed as an argument to initializing the watershed model; see the reference linked above.

Citation

If you use TempEst-NEWT in your research, please cite:

Philippus, Corona and Hogue. "Kilometer-Resolution Daily Stream Water Temperature Modeling and Forecasting for Ungaged Watersheds at the CONUS Scale." In preparation.

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

tempest_newt-0.1.0.tar.gz (31.8 kB view details)

Uploaded Source

Built Distribution

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

tempest_newt-0.1.0-py3-none-any.whl (30.6 kB view details)

Uploaded Python 3

File details

Details for the file tempest_newt-0.1.0.tar.gz.

File metadata

  • Download URL: tempest_newt-0.1.0.tar.gz
  • Upload date:
  • Size: 31.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for tempest_newt-0.1.0.tar.gz
Algorithm Hash digest
SHA256 0a7deb0ccd194ca613b10fa43b2f7321188c665862463ff8155c93a09854d6c5
MD5 25ef132420c4113e5337e5d34cee41e9
BLAKE2b-256 fc7b2d78c207450d30318e2fbd5b470ba8a5cdf49718b60c3e261078ea00e079

See more details on using hashes here.

File details

Details for the file tempest_newt-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: tempest_newt-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 30.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for tempest_newt-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b9381c65e1ec9c7464b515604a755e9ac25ff37e9b3f1ca9a3c238eb993ea03b
MD5 ec9df6073c735233d43bbbf4eeac64ed
BLAKE2b-256 056480f39e536596f8a707ebd87200f47b4b8e9ceff17ed30dcf608f485f251a

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