Skip to main content

Drop-in replacement for TSPROC that is a utility for inverse modeling with PEST.

Project description

Tests Test Coverage Latest release BSD-3 clause license tsblender downloads PyPI - Python Version

tsblender - Quick Guide

The tsblender is a pure python re-write of the Time Series PROCessor (TSPROC). When finished it will be a superset of TSPROC functionality and a more robust and flexible tool for time series analysis.

The tsblender is almost a drop-in replacement for TSPROC. It is currently a super-set of TSPROC functionality, while missing only the DIGITAL_FILTER and MOVING_MINIMUM processing blocks. Existing TSPROC control and input files can be used without modification except as noted previously.

The documentation for TSPROC can be used to understand tsblender and build the control and input files. The TSPROC documentation is available at: https://pubs.usgs.gov/tm/tm7c7/

The tsblender works with PEST, PEST++, and PEST-HP suites of programs. These are used to optimize model parameters and to perform uncertainty analysis on model predictions. Information on PEST and related programs can be found at: http://www.pesthomepage.org/ and https://github.com/usgs/pestpp.

USGS TSPROC

The USGS TSPROC is a Time Series PROCessor that uses a configuration file to describe the tasks the data scientist or modeler wants to accomplish.

The USGS TSPROC is based upon part of the Surface Water Utilities Package developed by John Doherty, Watermark Numerical Computing. The Surface Water Utilities package was created to support optimization of model parameters using the Parameter ESTimation (PEST) suite of programs. PEST was also developed by John Doherty.

USGS TSPROC was rewritten in a project led by Steve Westenbroek, of the Wisconsin USGS. It is written in Fortran 90 and “C” and is available from the USGS at:

TSPROC Main site:

https://wi.water.usgs.gov/models/tsproc/

TSPROC Documentation:

https://pubs.usgs.gov/tm/tm7c7/

TSPROC Development:

https://github.com/smwesten-usgs/tsproc

Requirements

  • python 3.8 or higher

Installation

Should be as easy as running pip install tsblender or conda install -c conda-forge -c timcera tsblender at any command line.

Usage - Command Line

Just run ‘tsblender –help’ to get a list of subcommands:

usage: tsblender [-h]
                 {run, about) ...

positional arguments:
  {run, about}

about
    Display version number and system information.
run
    Run a tsblender script file.

optional arguments:
    -h, --help            show this help message and exit

Progress

ONLY in tsblender

tsblender Block Name

GET_SERIES_GSFLOW_GAGE

GET_SERIES_CSV

GET_SERIES_HSPFBIN

GET_SERIES_XLSX

COPY

MOVE

PLOT

There is a new feature in tsblender to “roll up” multiple blocks into a single block. This is done to simplify the control file, to reduce mistakes that can come from repetition, and to make the control file easier to read and understand. Not all blocks can be rolled up depending on how they are configured. The blocks that can’t be rolled up are: EXCEEDENCE_TIME, FLOW_DURATION, GET_MUL_*, HYDROLOGIC_INDICES, LIST_OUTPUT, PLOT, SETTINGS, and WRITE_PEST_FILES.

Rolled up example of GET_SERIES_WDM:

START GET_SERIES_WDM
  CONTEXT input
  NEW_SERIES_NAME obs01   sim01
  FILE            obs.wdm sim.wdm
  DSN             1001
  DATE_1          2000-01-01
  DATE_2          2000-12-31
END GET_SERIES_WDM

Would un-roll within tsblender to the following:

START GET_SERIES_WDM
  CONTEXT input
  NEW_SERIES_NAME obs01
  FILE            obs.wdm
  DSN             1001
  DATE_1          2000-01-01
  DATE_2          2000-12-31
END GET_SERIES_WDM

START GET_SERIES_WDM
  CONTEXT input
  NEW_SERIES_NAME sim01
  FILE            sim.wdm
  DSN             1001
  DATE_1          2000-01-01
  DATE_2          2000-12-31
END GET_SERIES_WDM

In Progress

The following table shows the progress of the implementation of the TSPROC blocks in ‘tsblender’.

TSPROC Block Name

tsproc

tsblender

DIGITAL_FILTER

X

ERASE_ENTITY

X

X

EXCEEDENCE_TIME

X

X

FLOW_DURATION

X

X

GET_SERIES_SSF

X

X

GET_SERIES_STATVAR

X

X

GET_SERIES_PLOTGEN

X

X

GET_SERIES_TETRAD

X

GET_SERIES_UFORE_HYDRO

X

X

GET_SERIES_WDM

X

X

HYDRO_EVENTS

X

X

HYDRO_PEAKS

X

HYDROLOGIC_INDICES

X

X

LIST_OUTPUT

X

X

MOVING_MINIMUM

X

NEW_SERIES_UNIFORM

X

X

NEW_TIME_BASE

X

X

PERIOD_STATISTICS

X

X

REDUCE_TIME_SPAN

X

X

SERIES_BASE_LEVEL

X

X

SERIES_CLEAN

X

X

SERIES_COMPARE

X

X

SERIES_DIFFERENCE

X

X

SERIES_DISPLACE

X

X

SERIES_EQUATION

X

X

SERIES_STATISTICS

X

X

SETTINGS

X

X

USGS_HYSEP

X

X

V_TABLE_TO_SERIES

X

X

VOLUME_CALCULATION

X

X

WRITE_PEST_FILES

X

X

Deprecated in tsblender

The GET_MUL_SERIES_* blocks are redundant in ‘tsblender’ and can be replaced by rolled up versions of the GET_SERIES_* blocks. They are implemented full in tsblender, but discouraged for use in new scripts.

TSPROC Block Name

tsproc

tsblender

GET_MUL_SERIES_GSFLOW_GAGE

X

X

GET_MUL_SERIES_PLOTGEN

X

X

GET_MUL_SERIES_SSF

X

X

GET_MUL_SERIES_STATVAR

X

X

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

tsblender-103.2.1.tar.gz (79.3 MB view details)

Uploaded Source

Built Distribution

tsblender-103.2.1-py3-none-any.whl (93.0 kB view details)

Uploaded Python 3

File details

Details for the file tsblender-103.2.1.tar.gz.

File metadata

  • Download URL: tsblender-103.2.1.tar.gz
  • Upload date:
  • Size: 79.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.10.14

File hashes

Hashes for tsblender-103.2.1.tar.gz
Algorithm Hash digest
SHA256 8dc4d97a8d4ff3e56d7faa2d8cf4edcb312cf9b1cff7637871153d50e4a42b2a
MD5 3ccd4613d3628cc1120535ca0b3ab99c
BLAKE2b-256 10ccda0dd7eeecf721d23626e3e6e4245cc301660e9e490e8689fca088f20781

See more details on using hashes here.

File details

Details for the file tsblender-103.2.1-py3-none-any.whl.

File metadata

  • Download URL: tsblender-103.2.1-py3-none-any.whl
  • Upload date:
  • Size: 93.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.10.14

File hashes

Hashes for tsblender-103.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ff7ecc55ecb0edc21baf8e262eef85cbb4616c245c413a3466707e0859a99199
MD5 d638f1ba7174ef1e0127c97da6d8fa4d
BLAKE2b-256 e49c66b0617a9f727c8d3592533420ad749f2771346468c4e8b1baf287922cf1

See more details on using hashes here.

Supported by

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