Skip to content

v-prakash1/FPDDS

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 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 LIS/Ostrich if applicable
    │   └── ILDAS_Auto_cal.sh     # Bash script to automate model + Calibration execution
    │
    ├── lis_input_files/          # LIS forcing and initialization 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

Watchers

Forks

Releases

No releases published

Packages

No packages published