directory structure - JoshCu/NGIAB-Calibration-DevCon25 GitHub Wiki

Directory Structure

After running the data preprocessing steps (using NGIAB_data_preprocess) and subsequently setting up and executing a calibration run (using ngiab-cal), you can expect a directory structure similar to the example below. This structure organizes input configurations, intermediate files, and calibration outputs.

The main calibration directory (e.g., provo_cal_test_AORC in this example) would contain:

provo_cal_test_AORC/                # Main calibration directory (user-named)
├── calibration/
│   ├── crosswalk.json
│   ├── ngen_cal_conf.yaml
│   ├── obs_hourly_discharge.csv
│   └── Output/
│       ├── Calibration_Run/
│       │   ├── 10154200_Calib_Run_Complete
│       │   ├── ngen__86zo930_worker/
│       │   │   ├── 10154200_last_iteration.csv
│       │   │   ├── 10154200_metrics_iteration.csv
│       │   │   ├── 10154200_objective_log.txt
│       │   │   ├── 10154200_output_best_iteration.csv
│       │   │   ├── 10154200_output_last_iteration.csv
│       │   │   ├── 10154200_params_iteration.csv
│       │   │   ├── ngen.log
│       │   │   ├── Output_Calib/
│       │   │   │   ├── cat-2863621.csv
│       │   │   │   ├── cat-2863622.csv
│       │   │   │   ...
│       │   │   │   ├── cat-2863848.csv
│       │   │   │   ├── cat-2863849.csv
│       │   │   │   ├── nex-2863621_output.csv
│       │   │   │   ├── nex-2863622_output.csv
│       │   │   │   ...
│       │   │   │   ├── nex-2863844_output.csv
│       │   │   │   └── nex-2863847_output.csv
│       │   │   ├── Output_Iteration/
│       │   │   │   └── 10154200_output_iteration_0000.csv
│       │   │   ├── parameter_df_state_nex-2863632.parquet
│       │   │   ├── partitions_14.json
│       │   │   ├── Plot_Iteration/
│       │   │   │   ├── 10154200_fdc_iteration.png
│       │   │   │   ├── 10154200_hydrograph_iteration.png
│       │   │   │   ├── 10154200_metric_iteration.png
│       │   │   │   ├── 10154200_metric_objfun.png
│       │   │   │   ├── 10154200_objfun_iteration.png
│       │   │   │   ├── 10154200_param_iteration.png
│       │   │   │   ├── 10154200_scatterplot_streamflow_iteration.png
│       │   │   │   └── 10154200_streamflow_precip_iteration.png
│       │   │   ├── realization.json
│       │   │   └── troute_output_201001010000.nc_last
│       │   └── ngen_wrwttj0k_worker/
│       │       └── [similar structure as above worker directory]
│       └── Validation_Run/
│           ├── ngen_cal_conf.yaml
│           └── realization.json
│   ├── realization.json
│   ├── realization.json_original
│   └── troute.yaml
├── config/
│   ├── calibrated_params.json
│   ├── cat_config/
│   │   ├── CFE/
│   │   │   ├── cat-2863621.ini
│   │   │   ├── cat-2863622.ini
│   │   │   ...
│   │   │   ├── cat-2863848.ini
│   │   │   └── cat-2863849.ini
│   │   └── NOAH-OWP-M/
│   │       ├── cat-2863621.input
│   │       ├── cat-2863622.input
│   │       ...
│   │       ├── cat-2863848.input
│   │       └── cat-2863849.input
│   ├── provo_cal_test_AORC_subset.gpkg
│   ├── realization.json
│   └── troute.yaml
├── forcings/
│   ├── forcings.nc
│   └── raw_gridded_data.nc
├── metadata/
│   ├── cli_commands_history.txt
│   └── num_partitions
└── outputs/
    ├── ngen/
    └── troute/

Back to Workflow Process