Skip to main content

Library for validating parameters for comprehensive reservoir regulation.

Project description

tjrcr

tjrcr is a Python library designed for validating parameters for comprehensive reservoir regulation. This library provides methods to ensure that the input data meets specific criteria required for effective reservoir management, such as having a full 12 months of data for each year and a minimum of 10 years of data.

Installation

To install the library, use pip:

pip install tjrcr

Usage

Basic Example

import pandas as pd
from tjrcr import is_comprehensive_regulation
from tjwb import TJWBResult  # This is referenced from the tjwb library

# Prepare your data
df = pd.DataFrame({
    'datetime': pd.date_range(start='2010-01-01', periods=120, freq='M'),
    'inflow_speed': range(120),
    'outflow_speed': range(120, 240)
})

# This is just an example for the TJWBResult class, please refer to the tjwb library for more details
tjwb_result = TJWBResult(
    datetime=df['datetime'],
    inflow_speed=df['inflow_speed'],
    outflow_speed=df['outflow_speed'],
    components_outflow_speed={}
)

# Validate parameters
result = is_comprehensive_regulation(
    tjwb_result=tjwb_result,
    eps=1.0,
    P=80.0,
    V_c=1000.0,  # Dead water level
    forced_gt_10_year=False,  # Allows the function to proceed even if your dataset spans fewer than 10 years.
    forced_12_months_each_year=False
    # Allows the function to proceed even if any year in your dataset has fewer than 12 months of data.
)

print(f"Is comprehensive regulation valid? {result}")

Functions

  • is_comprehensive_regulation: Validates whether the input data is suitable for comprehensive reservoir regulation based on certain criteria like minimum years of data, full monthly data per year, and comparison against a threshold value.

Error Handling

The tjrcr library includes validation steps that raise exceptions if the input data does not meet the required criteria:

  • Insufficient Years of Data:

    • If the dataset does not span at least 10 years, a ValueError is raised.
  • Incomplete Monthly Data:

    • If any year in the dataset does not have data for all 12 months, a ValueError is raised.

Reference to tjwb

The tjrcr library references the TJWBResult class from the tjwb library, which handles the conversion of reservoir data into a format suitable for analysis. You can find more details on how to use TJWBResult and related calculations in the tjwb GitHub repository.

License

This library is released under the MIT License.

Contact

If you have any questions or issues, please open an issue on GitHub or email us at duynguyen02.dev@gmail.com.

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

tjrcr-2.0.0.tar.gz (2.9 kB view details)

Uploaded Source

Built Distribution

tjrcr-2.0.0-py3-none-any.whl (3.4 kB view details)

Uploaded Python 3

File details

Details for the file tjrcr-2.0.0.tar.gz.

File metadata

  • Download URL: tjrcr-2.0.0.tar.gz
  • Upload date:
  • Size: 2.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.3 Linux/6.8.0-41-generic

File hashes

Hashes for tjrcr-2.0.0.tar.gz
Algorithm Hash digest
SHA256 9489899ba90f4b3b6a4c39a5d3345a7253ea1f107b02f251b9f9deeebf26abbb
MD5 fff5deb3d7ee1ed9a60cec8e999a14a3
BLAKE2b-256 6bccc6e0377bb893fbbe30900d8ca3fce0dc4029935274fc2a3ef37a84eb3cae

See more details on using hashes here.

File details

Details for the file tjrcr-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: tjrcr-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 3.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.3 Linux/6.8.0-41-generic

File hashes

Hashes for tjrcr-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0f48d4c46965009e938ff73aa9b3c7630f75847b02b9a186fa6dcf53cea177e7
MD5 176f91d3b579824b2b1e297122a5fef7
BLAKE2b-256 1a86a14e98feb417059e27bee5f236719ce2a7374cb7b46c04585c7aa69963ab

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