Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 Fully Parallelized Dynamically Dimensioned Search (FPDDS)

This repository implements FPDDS, a scalable and parallel auto-calibration framework for large-scale hydrologic and hydrodynamic modeling. The framework integrates parameter sampling, model execution, post-processing, and optimization into an automated pipeline — all orchestrated through Jupyter Notebooks for transparency, traceability, and reproducibility.


📂 Project Structure

    BASE_DIR/
    ├── FPDDS/
    │   ├── Scripts/
    │   │   ├── notebooks/        # All Python scripts (e.g., Model_run.py)
    │   │   └── shapefiles/       # Shapefiles used for spatial masking/clipping
    │   ├── configs/              # Ostrich config files and parameter templates (GENPARM, SOILPARM, etc.)
    │   ├── best_parm/            # Best performing parameter sets selected from calibration
    │   ├── obj_function/         # CSVs of the objective function and other metrics
    │   ├── param_save/           # Backup of each iteration's parameter files
    │   ├── Linux/                # Compiled Ostrich binary (e.g., OstrichMPI)
    │   ├── Source/               # Source code or templates for Ostrich if applicable
    │   └── ILDAS_Auto_cal.sh     # Bash script to automate model + Calibration execution
    │
    ├── lis_input_files/          # LIS NetCDF input files
    │
    ├── output/
    │   ├── LSM_IMD*/             # LIS routing output directories (from different model configs)
    │   ├── processed_data*/      # Post-processed routed streamflow and merged data
    │   └── error_metrix/         # Error matrix output (NSE, KGE, etc.) for each run

🚀 How to Run FPDDS

  1. 📥 Clone the Repository

    Clone the repository into your working base directory:

     git clone https://github.com/yourusername/FPDDS.git
     cd FPDDS
    
  2. 🛠️ Set Up the Conda Environment

    Create and activate a conda environment with all required libraries:

     conda env create -f geo_env.yml
     conda activate geo_env
    
  3. 📝 Configure Paths and Scripts

    Open and edit the FPDDS/Scripts/notebooks/config_paths.py file.

     Set all necessary base paths, filenames, and directories as variables.
    
     This ensures portability and reproducibility across systems.
    

    Modify the FPDDS/ILDAS_Auto_cal.sh shell script.

     Update paths to LIS executables, data directories, and environment modules based on your HPC or local system.
    

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages