From eeefdbd25a2e34e0a701b3db68af72a8c842021b Mon Sep 17 00:00:00 2001 From: "Documenter.jl" Date: Thu, 5 Dec 2024 08:00:12 +0000 Subject: [PATCH] build based on 6af85e9 --- dev/.documenter-siteinfo.json | 2 +- dev/index.html | 2 +- dev/tutorials/run_a_bucket/index.html | 2 +- dev/tutorials/run_a_exphydro_model/index.html | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/dev/.documenter-siteinfo.json b/dev/.documenter-siteinfo.json index cffeacc..c717919 100644 --- a/dev/.documenter-siteinfo.json +++ b/dev/.documenter-siteinfo.json @@ -1 +1 @@ -{"documenter":{"julia_version":"1.11.2","generation_timestamp":"2024-12-05T03:41:18","documenter_version":"1.8.0"}} \ No newline at end of file +{"documenter":{"julia_version":"1.11.2","generation_timestamp":"2024-12-05T08:00:07","documenter_version":"1.8.0"}} \ No newline at end of file diff --git a/dev/index.html b/dev/index.html index f7802c6..82014b9 100644 --- a/dev/index.html +++ b/dev/index.html @@ -1,3 +1,3 @@ Home · HydroModels.jl

HydroModels.jl

Overview

HydroModels.jl is a modern hydrological modeling framework that extends and enhances SUPERFLEX's design philosophy. Built on Julia language and the SciML (Scientific Machine Learning) ecosystem, it combines flexible model construction with computational efficiency, particularly supporting deep learning integration in hydrological modeling.

Key Features

  • Flexible Model Construction: Supports development of lumped, semi-distributed, and distributed hydrological models
  • Deep Learning Integration: Enables neural network integration for enhanced flux calculations and dynamic parameter estimation
  • Computational Efficiency: Leverages Julia's high-performance capabilities and the SciML ecosystem
  • Gradient-Based Optimization: Supports advanced parameter optimization techniques
  • Comprehensive Framework: Provides tools for both traditional hydrological modeling and modern machine learning approaches

Framework Capabilities

HydroModels.jl offers:

  • Easy implementation and customization of hydrological models
  • Integration with Julia's scientific computing ecosystem
  • Support for various modeling approaches:
    • Traditional conceptual models
    • Neural network enhanced models
    • Distributed hydrological systems

Case Studies

The framework has been validated through various applications, including:

  1. M50 Model Implementation
  2. GR4J-based Distributed Hydrological Model

Getting Started

Check out our tutorials to start using HydroModels.jl:

Installation

using Pkg
-Pkg.add("HydroModels")

Contributing

HydroModels.jl is an open-source project available on Github. We welcome contributions from the community to help advance deep learning applications in hydrology.

Documentation

For detailed information about using HydroModels.jl, please refer to our comprehensive documentation and tutorials in this site.

+Pkg.add("HydroModels")

Contributing

HydroModels.jl is an open-source project available on Github. We welcome contributions from the community to help advance deep learning applications in hydrology.

Documentation

For detailed information about using HydroModels.jl, please refer to our comprehensive documentation and tutorials in this site.

diff --git a/dev/tutorials/run_a_bucket/index.html b/dev/tutorials/run_a_bucket/index.html index 842af82..8309a9c 100644 --- a/dev/tutorials/run_a_bucket/index.html +++ b/dev/tutorials/run_a_bucket/index.html @@ -29,4 +29,4 @@ # Run simulation with multiple nodes run_kwgs = (ptypes=node_names, timeidx=ts) -result = ele(node_input, node_pas, kwargs=run_kwgs)

Model Structure

The model uses a bucket structure defined in exphydro.jl with two main components:

  1. Surface water component (bucket_1):

    • Handles precipitation partitioning (rainfall/snowfall)
    • Computes potential evapotranspiration
    • Manages snowmelt processes
  2. Soil water component:

    • Manages soil water storage
    • Computes actual evaporation
    • Generates baseflow and surface flow

Usage Notes

  1. The code demonstrates flexibility in handling both single-node and multi-node simulations
  2. Input data should be properly formatted with required columns (dayl, tmean, prcp)
  3. Parameters and initial states can be adjusted based on specific catchment characteristics
  4. The model uses a manual solver for time-stepping

Time Series Processing

The example processes 10,000 time steps (ts = collect(1:10000)) and can be adjusted based on data availability and simulation requirements.

+result = ele(node_input, node_pas, kwargs=run_kwgs)

Model Structure

The model uses a bucket structure defined in exphydro.jl with two main components:

  1. Surface water component (bucket_1):

    • Handles precipitation partitioning (rainfall/snowfall)
    • Computes potential evapotranspiration
    • Manages snowmelt processes
  2. Soil water component:

    • Manages soil water storage
    • Computes actual evaporation
    • Generates baseflow and surface flow

Usage Notes

  1. The code demonstrates flexibility in handling both single-node and multi-node simulations
  2. Input data should be properly formatted with required columns (dayl, tmean, prcp)
  3. Parameters and initial states can be adjusted based on specific catchment characteristics
  4. The model uses a manual solver for time-stepping

Time Series Processing

The example processes 10,000 time steps (ts = collect(1:10000)) and can be adjusted based on data availability and simulation requirements.

diff --git a/dev/tutorials/run_a_exphydro_model/index.html b/dev/tutorials/run_a_exphydro_model/index.html index 9a2808a..9baac3c 100644 --- a/dev/tutorials/run_a_exphydro_model/index.html +++ b/dev/tutorials/run_a_exphydro_model/index.html @@ -27,4 +27,4 @@ pas_multi = ComponentVector(params=params_multi, initstates=init_states_multi) # Run multi-node simulation -results = model(inputs, pas_multi, config=(solver=solver, timeidx=ts), convert_to_ntp=true)

Performance Benchmarking For Multi-Node (by using BenchmarkTools.jl)

@btime model(inputs, pas_multi, config=(solver=solver, timeidx=ts), convert_to_ntp=true);
+results = model(inputs, pas_multi, config=(solver=solver, timeidx=ts), convert_to_ntp=true)

Performance Benchmarking For Multi-Node (by using BenchmarkTools.jl)

@btime model(inputs, pas_multi, config=(solver=solver, timeidx=ts), convert_to_ntp=true);