Skip to content

v2.0

Latest

Choose a tag to compare

@HishamEldardiry HishamEldardiry released this 10 Jun 17:37
· 12 commits to master since this release
251f589

This version introduces new features and significant improvements, building on previous releases to enhance model flexibility and usability.

Updates and New Features

1. Enhanced Reservoir Routing Scheme

  • A cascading routing scheme has been implemented in VICRes, replacing the previous direct routing approach. Instead of using a unit hydrograph to route flow directly from grid cells to the outlet, flow is now routed through intermediate reservoirs or gauges before reaching the outlet. This enables a more modular and realistic representation of river networks.
  • New Fortran Subroutines:
    • SUBROUTINE FIND_RESIJ(...): Locates grid coordinates (I, J) for a given reservoir ID
    • SUBROUTINE MAKE_RESERVOIR_UH(...): Creates a unit hydrograph from a reservoir to another reservoir or station

2. Refactored Auto-Calibration Wrapper

  • This release refactors the Python-based automatic calibration wrapper and introduces two calibration strategies, both implemented using multi-objective evolutionary algorithms.
  • Calibration Strategies:
    • Basin-wide Calibration (basin_calibration_eNSGAII.py): Calibrates parameters by evaluating average performance metrics across the entire basin.
    • Zone-specific Calibration (zone_calibration_eNSGAII.py): Divides the basin into zones (or sub-basins) and performs calibration sequentially from upstream to downstream. Instead of evaluating average performance metrics across the entire basin, the optimization problem is formulated and solved independently for each zone. Optimized parameters from upstream zones are passed downstream, allowing the calibration to capture spatial variability and better reflect local hydrologic conditions.

3. Save Naturalized Flow Upstream of Stations

  • The routing model has been updated to save the naturalized flow generated by the MAKE_CONVOLUTION subroutine. This enables users to skip recalculating naturalized flow in future runs by reading it from previously saved outputs located in the routing/parameters/naturalized_flow/ folder.
  • The feature can be activated by setting NATURALIZED FLOW to TRUE in the routing/parameters/configuration.txt file. When enabled, the model uses the stored naturalized flow and performs only the reservoir routing, significantly reducing computational time.
  • This functionality is particularly beneficial when running multiple experiments under varying reservoir operation scenarios. Note that the saved naturalized flow must be generated for the same simulation period as the current run to ensure compatibility.

4. Environmental Flow and Hydropower Status Options

  • Two new options have been added to the reservoir parameter file:
    • Environmental Flow: Define the required environmental flow as a percentage of the maximum reservoir release.
    • Hydropower Generator Status: Toggle the hydropower generator on (1) or off (0).

5. Bug Fixes

  • Resolved issues affecting step-by-step execution functionality.
  • Fixed errors in the reservoir model when using operation strategy 4 or 6.

6. Improved Folder Organization

  • Reorganized the project folder structure to enhance codebase readability and maintainability.
  • Grouped related scripts and parameter files into clearly defined directories.