Using eBFE Models: Upper Guadalupe Cascaded Watersheds¶
This notebook demonstrates working with cascaded watershed models from FEMA eBFE/BLE database.
The Problem: eBFE Models Are Difficult to Use Directly¶
FEMA's 55 GB Upper Guadalupe model contains valuable RAS/HMS assets, but the raw delivery requires normalization before it is dependable for automated examples or studies.
Our Solution: RasEbfeModels.organize_model("upper-guadalupe")¶
The organizer applies the shared delivery-format conventions:
- Moves/copies available HDF files into the corresponding RAS project folders.
- Moves/copies terrain into each RAS project folder and rewrites
.rasmappaths. - Copies DSS assets into per-project folders and rewrites references when files are available.
- Copies land cover and projection assets into each RAS project folder.
- Writes an audit trail so the organization decisions can be reviewed.
Saved-run interpretation: This notebook initializes and inspects the organized cascade. DSS catalog checks require Java/JVM, and geometry preprocessor validation is opt-in because large 2D preprocessors can exceed an hour per model.
Prerequisites¶
Download Required: - Upper Guadalupe Models.zip (55 GB) - Upper Guadalupe Documents.zip (6.4 MB)
System Requirements: - ~110 GB free disk space (55 GB download + 55 GB extracted) - HEC-RAS 6.3.1 or later - 16+ GB RAM recommended for 2D models - Multi-core CPU (cascade execution is CPU-intensive)
from pathlib import Path
import os
import sys
# Add parent directory to path for development
try:
from ras_commander import init_ras_project, RasPrj
from ras_commander.sources.federal import RasEbfeModels
except ImportError:
sys.path.insert(0, str(Path.cwd().parent))
from ras_commander import init_ras_project, RasPrj
from ras_commander.sources.federal import RasEbfeModels
import matplotlib.pyplot as plt
import pandas as pd
2026-04-28 23:37:08 - numexpr.utils - INFO - NumExpr defaulting to 8 threads.
Step 1: Organize Downloaded Model¶
Use RasEbfeModels.organize_model("upper-guadalupe") to download/cache, extract, organize, and normalize the cascaded model collection.
# Shared eBFE workspace. Override RAS_COMMANDER_EBFE_ROOT to use a different local cache.
EBFE_WORKSPACE = Path(os.environ.get("RAS_COMMANDER_EBFE_ROOT", r"H:\Testing\eBFE Model Organization"))
DOWNLOAD_ROOT = EBFE_WORKSPACE / "Downloads"
ORGANIZED_ROOT = EBFE_WORKSPACE / "Organized"
VALIDATION_ROOT = EBFE_WORKSPACE / "Validation" / "ebfe_delivery"
repo_candidates = [Path.cwd(), Path.cwd().parent]
VALIDATION_MATRIX = next(
(candidate / "VALIDATION_MATRIX.md" for candidate in repo_candidates if (candidate / "VALIDATION_MATRIX.md").exists()),
Path.cwd() / "VALIDATION_MATRIX.md",
)
models = ["UPGU1", "UPGU2", "UPGU3", "UPGU4"]
organized_folder = ORGANIZED_ROOT / "UpperGuadalupe_12100201"
ras_root = organized_folder / "RAS Model"
delivery_ready = all((ras_root / model / "Land Cover").exists() for model in models) and (organized_folder / "agent" / "model_log.md").exists()
# Check if already organized in the current delivery format.
if not delivery_ready:
print("Organizing Upper Guadalupe model...")
print("This is a 55 GB model - organization may take 10-15 minutes\n")
organized_folder = RasEbfeModels.organize_model(
"upper-guadalupe",
download_root=DOWNLOAD_ROOT,
output_root=ORGANIZED_ROOT,
validate_dss=False,
)
print("\nOrganization complete!")
else:
print(f"Model already organized at: {organized_folder}")
print(f"\nOrganized model location: {organized_folder}")
print(f"Download/cache root: {DOWNLOAD_ROOT}")
print(f"Validation root: {VALIDATION_ROOT}")
print(f"Validation matrix: {VALIDATION_MATRIX}")
Model already organized at: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201
Organized model location: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201
Download/cache root: H:\Testing\eBFE Model Organization\Downloads
Validation root: H:\Testing\eBFE Model Organization\Validation\ebfe_delivery
Validation matrix: C:\GH\ras-commander\VALIDATION_MATRIX.md
Understanding the Massive Fix Applied¶
Before RasEbfeModels¶
Raw Upper Guadalupe deliveries may keep RAS inputs, outputs, terrain, land cover, and DSS assets in separate locations. That makes GUI review and automation fragile until the assets are copied into each RAS project folder and paths are rewritten.
After RasEbfeModels¶
Target structure:
UpperGuadalupe_12100201/
└── RAS Model/
├── UPGU1/
│ ├── UPGU1.prj
│ ├── UPGU1.u01
│ ├── UPGU1.rasmap
│ ├── UPGU1.p01.hdf (if provided or generated)
│ ├── DSS Inputs/ or local DSS assets
│ ├── Terrain/
│ └── Land Cover/
├── UPGU2/
├── UPGU3/
└── UPGU4/
User experience:
organized = RasEbfeModels.organize_model("upper-guadalupe", validate_dss=True)
init_ras_project(organized / "RAS Model" / "UPGU1", "6.5")
The saved notebook run verifies the organized folders can be discovered and initialized. Full geometry preprocessor validation is available through the opt-in validation cell and external audit scripts.
Step 2: Understand Cascade Structure¶
Upper Guadalupe consists of 4 watershed models in hydraulic cascade.
ras_model_folder = organized_folder / "RAS Model"
# List watershed models
models = ["UPGU1", "UPGU2", "UPGU3", "UPGU4"]
def resolve_ras_project_folder(model_name):
flattened = ras_model_folder / model_name
if list(flattened.glob("*.prj")):
return flattened
legacy = flattened / "Input"
if list(legacy.glob("*.prj")) or legacy.exists():
return legacy
return flattened
print("Cascaded Watershed Models:")
print("=" * 80)
print("Flow Direction: UPGU1 -> UPGU2 -> UPGU3 -> UPGU4")
print("\nEach model receives upstream flow via DSS boundary conditions\n")
for model_name in models:
model_folder = resolve_ras_project_folder(model_name)
if model_folder.exists():
prj_files = list(model_folder.glob("*.prj"))
hdf_files = list(model_folder.glob("*.hdf"))
dss_files = list(model_folder.rglob("*.dss"))
total_size = sum(f.stat().st_size for f in model_folder.rglob("*") if f.is_file())
size_gb = total_size / 1e9
print(f"{model_name}:")
print(f" Project folder: {model_folder}")
print(f" Size: {size_gb:.1f} GB")
print(f" Project: {prj_files[0].name if prj_files else 'Not found'}")
print(f" HDF files in project root: {len(hdf_files)}")
print(f" DSS files under project folder: {len(dss_files)}")
print()
else:
print(f"{model_name}: not found")
print("=" * 80)
Cascaded Watershed Models:
================================================================================
Flow Direction: UPGU1 -> UPGU2 -> UPGU3 -> UPGU4
Each model receives upstream flow via DSS boundary conditions
UPGU1:
Project folder: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1
Size: 12.3 GB
Project: Projection_File.prj
HDF files in project root: 15
DSS files under project folder: 4
UPGU2:
Project folder: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU2
Size: 15.6 GB
Project: UPGU2.prj
HDF files in project root: 15
DSS files under project folder: 6
UPGU3:
Project folder: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU3
Size: 9.0 GB
Project: UPGU3.prj
HDF files in project root: 15
DSS files under project folder: 6
UPGU4:
Project folder: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU4
Size: 20.5 GB
Project: UPGU4.prj
HDF files in project root: 15
DSS files under project folder: 5
================================================================================
Step 3: Review DSS Validation Results¶
The organization function validated 10,248 DSS pathnames. Check the results.
# Check DSS validation output
dss_validation = organized_folder / "agent" / "dss_validation_output.txt"
if dss_validation.exists():
print(f"DSS Validation Results: {dss_validation}\n")
# Read validation summary
content = dss_validation.read_text()
lines = content.split('\n')
# Show summary lines
print("Summary (last 50 lines):")
print("=" * 80)
print('\n'.join(lines[-50:]))
print("=" * 80)
else:
print("⚠️ DSS validation output not found")
print("\nRe-run organization with validate_dss=True")
⚠️ DSS validation output not found
Re-run organization with validate_dss=True
Step 4: Examine Gridded Precipitation DSS¶
Upper Guadalupe uses gridded precipitation DSS files (1,680 pathnames × 4 files = 6,720 total).
from ras_commander.dss import RasDss
# Find precipitation DSS files. DSS catalog access requires Java/pyjnius;
# skip gracefully in notebook validation environments without JAVA_HOME.
precip_dss = list(ras_model_folder.rglob("*precip*.dss"))
print(f"Gridded Precipitation DSS Files: {len(precip_dss)}\n")
if precip_dss:
dss_file = precip_dss[0]
print(f"Examining: {dss_file.name}")
print(f"Size: {dss_file.stat().st_size / 1e6:.1f} MB\n")
try:
catalog = RasDss.get_catalog(dss_file)
print(f"Total pathnames: {len(catalog)}")
if "pathname" in catalog:
pathnames = catalog["pathname"]
c_parts = set(p.split("/")[3] for p in pathnames if len(p.split("/")) > 3)
print(f"Parameter types: {', '.join(sorted(c_parts))}")
print("\nSample precipitation pathnames (first 5):")
for i, p in enumerate(pathnames[:5]):
print(f" {i+1}. {p}")
except RuntimeError as exc:
print("DSS catalog validation skipped because Java/JVM is not configured.")
print(f"Reason: {exc}")
else:
print("⚠️ No precipitation DSS files found")
Gridded Precipitation DSS Files: 8
Examining: UPGU_precip.dss
Size: 57.9 MB
Configuring Java VM for DSS operations...
DSS catalog validation skipped because Java/JVM is not configured.
Reason: Java not found. Please set JAVA_HOME environment variable or install Java JDK/JRE.
Download from: https://www.oracle.com/java/technologies/downloads/
Step 5: Initialize First Watershed Model (UPGU1)¶
Initialize the upstream model - this provides boundary conditions for UPGU2.
# Initialize UPGU1 (upstream model)
upgu1_folder = resolve_ras_project_folder("UPGU1")
if upgu1_folder.exists():
print("Initializing UPGU1...")
upgu1 = RasPrj()
init_ras_project(upgu1_folder, "6.5", ras_object=upgu1)
print(f"Project: {upgu1.prj_file.name}")
print(f"\nPlans: {len(upgu1.plan_df)}")
# Display plan information using correct column names
if len(upgu1.plan_df) > 0:
print("\nPlan Details:")
for _, row in upgu1.plan_df.iterrows():
print(f" Plan {row['plan_number']}: {row['Plan Title']} ({row['Short Identifier']})")
# Check terrain in the common delivery folder first, with legacy fallback.
terrain_files = list((upgu1_folder / "Terrain").glob("*.tif"))
if not terrain_files and upgu1_folder.name.lower() == "input":
terrain_files = list(upgu1_folder.parent.glob("Terrain/*.tif"))
if terrain_files:
terrain_gb = terrain_files[0].stat().st_size / 1e9
print(f"\nTerrain: {terrain_files[0].name} ({terrain_gb:.2f} GB)")
else:
print("UPGU1 folder not found")
Initializing UPGU1...
2026-04-28 23:37:11 - ras_commander.RasMap - INFO - Successfully parsed RASMapper file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.rasmap
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p01.hdf
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p01.hdf
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Reading computation messages from HDF: UPGU1.p01.hdf
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Successfully extracted 1925 characters from HDF
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p01.hdf
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p01.hdf
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Extracting Plan Information from: UPGU1.p01.hdf
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Plan Name: UPGU1_1pct
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Simulation Duration (hours): 108.0
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p01.hdf
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p01.hdf
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p02.hdf
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p02.hdf
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Reading computation messages from HDF: UPGU1.p02.hdf
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Successfully extracted 1925 characters from HDF
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p02.hdf
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p02.hdf
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Extracting Plan Information from: UPGU1.p02.hdf
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Plan Name: UPGU1_0_2pct
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Simulation Duration (hours): 108.0
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p02.hdf
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p02.hdf
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p03.hdf
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p03.hdf
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Reading computation messages from HDF: UPGU1.p03.hdf
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Successfully extracted 1834 characters from HDF
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p03.hdf
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p03.hdf
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Extracting Plan Information from: UPGU1.p03.hdf
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Plan Name: UPGU1_10pct
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Simulation Duration (hours): 108.0
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p03.hdf
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p03.hdf
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p04.hdf
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p04.hdf
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Reading computation messages from HDF: UPGU1.p04.hdf
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Successfully extracted 1923 characters from HDF
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p04.hdf
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p04.hdf
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Extracting Plan Information from: UPGU1.p04.hdf
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Plan Name: UPGU1_4pct
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Simulation Duration (hours): 108.0
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p04.hdf
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p04.hdf
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p05.hdf
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p05.hdf
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Reading computation messages from HDF: UPGU1.p05.hdf
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Successfully extracted 1833 characters from HDF
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p05.hdf
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p05.hdf
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Extracting Plan Information from: UPGU1.p05.hdf
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Plan Name: UPGU1_2pct
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Simulation Duration (hours): 108.0
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p05.hdf
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p05.hdf
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p06.hdf
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p06.hdf
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Reading computation messages from HDF: UPGU1.p06.hdf
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Successfully extracted 1836 characters from HDF
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p06.hdf
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p06.hdf
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Extracting Plan Information from: UPGU1.p06.hdf
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Plan Name: UPGU1_1MINpct
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Simulation Duration (hours): 108.0
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p06.hdf
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p06.hdf
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p07.hdf
2026-04-28 23:37:11 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p07.hdf
2026-04-28 23:37:12 - ras_commander.hdf.HdfResultsPlan - INFO - Reading computation messages from HDF: UPGU1.p07.hdf
2026-04-28 23:37:12 - ras_commander.hdf.HdfResultsPlan - INFO - Successfully extracted 1835 characters from HDF
2026-04-28 23:37:12 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p07.hdf
2026-04-28 23:37:12 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p07.hdf
2026-04-28 23:37:12 - ras_commander.hdf.HdfResultsPlan - INFO - Extracting Plan Information from: UPGU1.p07.hdf
2026-04-28 23:37:12 - ras_commander.hdf.HdfResultsPlan - INFO - Plan Name: UPGU1_1PLUpct
2026-04-28 23:37:12 - ras_commander.hdf.HdfResultsPlan - INFO - Simulation Duration (hours): 108.0
2026-04-28 23:37:12 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p07.hdf
2026-04-28 23:37:12 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p07.hdf
2026-04-28 23:37:12 - ras_commander.RasPrj - INFO - Updated results_df with 7 plan(s)
Project: UPGU1.prj
Plans: 7
Plan Details:
Plan 01: UPGU1_1pct (1pct)
Plan 02: UPGU1_0_2pct (0_2pct)
Plan 03: UPGU1_10pct (10pct)
Plan 04: UPGU1_4pct (4pct)
Plan 05: UPGU1_2pct (2pct)
Plan 06: UPGU1_1MINpct (1MINpct)
Plan 07: UPGU1_1PLUpct (1PLUpct)
Terrain: Terrain.UPGU_WA1_DEM_1m_NAD83_2011.tif (3.98 GB)
Step 6: Validate UPGU1 DSS Files¶
UPGU1 has precipitation + upstream boundary conditions. Validate all pathnames.
# Find DSS files for UPGU1 in the common delivery folder.
dss_search_roots = [upgu1_folder, upgu1_folder / "DSS Inputs"]
if upgu1_folder.name.lower() == "input":
dss_search_roots.append(upgu1_folder.parent)
upgu1_dss = sorted({
path
for root in dss_search_roots
if root.exists()
for path in root.rglob("*.dss")
})
print(f"UPGU1 DSS Files: {len(upgu1_dss)}\n")
dss_summary = []
for dss in upgu1_dss:
print(f"Validating: {dss.name}")
try:
catalog = RasDss.get_catalog(dss)
pathname_count = len(catalog)
# Quick validation (check a few pathnames)
sample_size = min(10, pathname_count)
valid_count = 0
for pathname in catalog["pathname"][:sample_size]:
result = RasDss.check_pathname(dss, pathname)
if result.is_valid:
valid_count += 1
dss_summary.append({
"file": dss.name,
"pathnames": pathname_count,
"sample_valid": f"{valid_count}/{sample_size}",
})
print(f" Pathnames: {pathname_count}")
print(f" Sample validation: {valid_count}/{sample_size} valid\n")
except Exception as e:
print(f" Catalog skipped: {e}\n")
# Summary
print("\nDSS Summary:")
summary_df = pd.DataFrame(dss_summary)
if not summary_df.empty:
print(summary_df.to_string(index=False))
if dss_summary:
total_pathnames = sum(row["pathnames"] for row in dss_summary)
print(f"\nTotal pathnames read from UPGU1 DSS catalogs: {total_pathnames:,}")
else:
print("\nDSS catalogs were not read in this environment; pathnames were not validated.")
UPGU1 DSS Files: 4
Validating: UPGU1.dss
Configuring Java VM for DSS operations...
Catalog skipped: Java not found. Please set JAVA_HOME environment variable or install Java JDK/JRE.
Download from: https://www.oracle.com/java/technologies/downloads/
Validating: UPGU_precip.dss
Configuring Java VM for DSS operations...
Catalog skipped: Java not found. Please set JAVA_HOME environment variable or install Java JDK/JRE.
Download from: https://www.oracle.com/java/technologies/downloads/
Validating: UPGU1.dss
Configuring Java VM for DSS operations...
Catalog skipped: Java not found. Please set JAVA_HOME environment variable or install Java JDK/JRE.
Download from: https://www.oracle.com/java/technologies/downloads/
Validating: UPGU_precip.dss
Configuring Java VM for DSS operations...
Catalog skipped: Java not found. Please set JAVA_HOME environment variable or install Java JDK/JRE.
Download from: https://www.oracle.com/java/technologies/downloads/
DSS Summary:
DSS catalogs were not read in this environment; pathnames were not validated.
Step 7: Understanding the Cascade¶
Each downstream model receives flow from upstream via DSS files.
Cascade Flow:
UPGU1 (upstream)
↓ results → UPGU1.dss
UPGU2 (receives UPGU1 flow + local inflow)
↓ results → UPGU2.dss
UPGU3 (receives UPGU2 flow + local inflow)
↓ results → UPGU3.dss
UPGU4 (downstream - receives UPGU3 flow + local inflow)
Execution Requirement: Must run sequentially (UPGU1 → UPGU2 → UPGU3 → UPGU4)
# Examine cascade DSS structure in the common delivery layout.
print("Cascade DSS Structure:\n")
for model_name in models:
model_project = resolve_ras_project_folder(model_name)
if model_project.exists():
model_dss = sorted(model_project.rglob(f"{model_name}.dss"))
precip_dss = sorted(model_project.rglob("*precip*.dss"))
result_hdf = sorted(model_project.glob("*.p*.hdf"))
print(f"{model_name}:")
print(f" RAS project folder: {model_project}")
print(f" Result HDF files in project root: {len(result_hdf)}")
for dss in model_dss:
try:
catalog = RasDss.get_catalog(dss)
print(f" BC DSS: {dss.name} ({len(catalog)} pathnames)")
except RuntimeError as exc:
print(f" BC DSS: {dss.name} (catalog skipped: Java/JVM not configured)")
for dss in precip_dss:
try:
catalog = RasDss.get_catalog(dss)
print(f" Precip DSS: {dss.name} ({len(catalog)} pathnames)")
except RuntimeError as exc:
print(f" Precip DSS: {dss.name} (catalog skipped: Java/JVM not configured)")
print()
Cascade DSS Structure:
UPGU1:
RAS project folder: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1
Result HDF files in project root: 7
Configuring Java VM for DSS operations...
BC DSS: UPGU1.dss (catalog skipped: Java/JVM not configured)
Configuring Java VM for DSS operations...
BC DSS: UPGU1.dss (catalog skipped: Java/JVM not configured)
Configuring Java VM for DSS operations...
Precip DSS: UPGU_precip.dss (catalog skipped: Java/JVM not configured)
Configuring Java VM for DSS operations...
Precip DSS: UPGU_precip.dss (catalog skipped: Java/JVM not configured)
UPGU2:
RAS project folder: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU2
Result HDF files in project root: 7
Configuring Java VM for DSS operations...
BC DSS: UPGU2.dss (catalog skipped: Java/JVM not configured)
Configuring Java VM for DSS operations...
BC DSS: UPGU2.dss (catalog skipped: Java/JVM not configured)
Configuring Java VM for DSS operations...
Precip DSS: UPGU_precip.dss (catalog skipped: Java/JVM not configured)
Configuring Java VM for DSS operations...
Precip DSS: UPGU_precip.dss (catalog skipped: Java/JVM not configured)
UPGU3:
RAS project folder: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU3
Result HDF files in project root: 7
Configuring Java VM for DSS operations...
BC DSS: UPGU3.dss (catalog skipped: Java/JVM not configured)
Configuring Java VM for DSS operations...
BC DSS: UPGU3.dss (catalog skipped: Java/JVM not configured)
Configuring Java VM for DSS operations...
Precip DSS: UPGU_precip.dss (catalog skipped: Java/JVM not configured)
Configuring Java VM for DSS operations...
Precip DSS: UPGU_precip.dss (catalog skipped: Java/JVM not configured)
UPGU4:
RAS project folder: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU4
Result HDF files in project root: 6
Configuring Java VM for DSS operations...
BC DSS: UPGU4.dss (catalog skipped: Java/JVM not configured)
Configuring Java VM for DSS operations...
BC DSS: UPGU4.dss (catalog skipped: Java/JVM not configured)
Configuring Java VM for DSS operations...
Precip DSS: UPGU_precip.dss (catalog skipped: Java/JVM not configured)
Configuring Java VM for DSS operations...
Precip DSS: UPGU_precip.dss (catalog skipped: Java/JVM not configured)
Step 8: Initialize All Watershed Models¶
Initialize all 4 models to examine their structure.
# Initialize all 4 models with separate RasPrj objects.
watershed_models = {}
for model_name in models:
model_folder = resolve_ras_project_folder(model_name)
if model_folder.exists():
print(f"Initializing {model_name}...")
ras_obj = RasPrj()
init_ras_project(model_folder, "6.5", ras_object=ras_obj)
watershed_models[model_name] = ras_obj
print(f" {len(ras_obj.plan_df)} plans")
print(f" {len(ras_obj.geom_df)} geometry file(s)\n")
print(f"Initialized {len(watershed_models)} watershed models")
Initializing UPGU1...
2026-04-28 23:37:13 - ras_commander.RasMap - INFO - Successfully parsed RASMapper file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.rasmap
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p01.hdf
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p01.hdf
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Reading computation messages from HDF: UPGU1.p01.hdf
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Successfully extracted 1925 characters from HDF
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p01.hdf
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p01.hdf
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Extracting Plan Information from: UPGU1.p01.hdf
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Plan Name: UPGU1_1pct
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Simulation Duration (hours): 108.0
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p01.hdf
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p01.hdf
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p02.hdf
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p02.hdf
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Reading computation messages from HDF: UPGU1.p02.hdf
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Successfully extracted 1925 characters from HDF
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p02.hdf
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p02.hdf
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Extracting Plan Information from: UPGU1.p02.hdf
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Plan Name: UPGU1_0_2pct
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Simulation Duration (hours): 108.0
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p02.hdf
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p02.hdf
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p03.hdf
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p03.hdf
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Reading computation messages from HDF: UPGU1.p03.hdf
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Successfully extracted 1834 characters from HDF
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p03.hdf
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p03.hdf
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Extracting Plan Information from: UPGU1.p03.hdf
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Plan Name: UPGU1_10pct
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Simulation Duration (hours): 108.0
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p03.hdf
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p03.hdf
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p04.hdf
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p04.hdf
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Reading computation messages from HDF: UPGU1.p04.hdf
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Successfully extracted 1923 characters from HDF
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p04.hdf
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p04.hdf
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Extracting Plan Information from: UPGU1.p04.hdf
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Plan Name: UPGU1_4pct
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Simulation Duration (hours): 108.0
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p04.hdf
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p04.hdf
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p05.hdf
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p05.hdf
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Reading computation messages from HDF: UPGU1.p05.hdf
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Successfully extracted 1833 characters from HDF
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p05.hdf
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p05.hdf
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Extracting Plan Information from: UPGU1.p05.hdf
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Plan Name: UPGU1_2pct
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Simulation Duration (hours): 108.0
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p05.hdf
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p05.hdf
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p06.hdf
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p06.hdf
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Reading computation messages from HDF: UPGU1.p06.hdf
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Successfully extracted 1836 characters from HDF
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p06.hdf
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p06.hdf
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Extracting Plan Information from: UPGU1.p06.hdf
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Plan Name: UPGU1_1MINpct
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Simulation Duration (hours): 108.0
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p06.hdf
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p06.hdf
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p07.hdf
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p07.hdf
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Reading computation messages from HDF: UPGU1.p07.hdf
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Successfully extracted 1835 characters from HDF
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p07.hdf
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p07.hdf
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Extracting Plan Information from: UPGU1.p07.hdf
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Plan Name: UPGU1_1PLUpct
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Simulation Duration (hours): 108.0
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p07.hdf
2026-04-28 23:37:13 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p07.hdf
2026-04-28 23:37:13 - ras_commander.RasPrj - INFO - Updated results_df with 7 plan(s)
7 plans
1 geometry file(s)
Initializing UPGU2...
2026-04-28 23:37:14 - ras_commander.RasMap - INFO - Successfully parsed RASMapper file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU2\UPGU2.rasmap
2026-04-28 23:37:14 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU2\UPGU2.p01.hdf
2026-04-28 23:37:14 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU2\UPGU2.p01.hdf
2026-04-28 23:37:14 - ras_commander.hdf.HdfResultsPlan - INFO - Reading computation messages from HDF: UPGU2.p01.hdf
2026-04-28 23:37:14 - ras_commander.hdf.HdfResultsPlan - INFO - Successfully extracted 1918 characters from HDF
2026-04-28 23:37:14 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU2\UPGU2.p01.hdf
2026-04-28 23:37:14 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU2\UPGU2.p01.hdf
2026-04-28 23:37:14 - ras_commander.hdf.HdfResultsPlan - INFO - Extracting Plan Information from: UPGU2.p01.hdf
2026-04-28 23:37:14 - ras_commander.hdf.HdfResultsPlan - INFO - Plan Name: UPGU2_1pct
2026-04-28 23:37:14 - ras_commander.hdf.HdfResultsPlan - INFO - Simulation Duration (hours): 108.0
2026-04-28 23:37:14 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU2\UPGU2.p01.hdf
2026-04-28 23:37:14 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU2\UPGU2.p01.hdf
2026-04-28 23:37:14 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU2\UPGU2.p02.hdf
2026-04-28 23:37:14 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU2\UPGU2.p02.hdf
2026-04-28 23:37:14 - ras_commander.hdf.HdfResultsPlan - INFO - Reading computation messages from HDF: UPGU2.p02.hdf
2026-04-28 23:37:14 - ras_commander.hdf.HdfResultsPlan - INFO - Successfully extracted 2255 characters from HDF
2026-04-28 23:37:14 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU2\UPGU2.p02.hdf
2026-04-28 23:37:14 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU2\UPGU2.p02.hdf
2026-04-28 23:37:14 - ras_commander.hdf.HdfResultsPlan - INFO - Extracting Plan Information from: UPGU2.p02.hdf
2026-04-28 23:37:14 - ras_commander.hdf.HdfResultsPlan - INFO - Plan Name: UPGU2_0_2pct
2026-04-28 23:37:14 - ras_commander.hdf.HdfResultsPlan - INFO - Simulation Duration (hours): 108.0
2026-04-28 23:37:14 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU2\UPGU2.p02.hdf
2026-04-28 23:37:14 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU2\UPGU2.p02.hdf
2026-04-28 23:37:14 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU2\UPGU2.p03.hdf
2026-04-28 23:37:14 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU2\UPGU2.p03.hdf
2026-04-28 23:37:14 - ras_commander.hdf.HdfResultsPlan - INFO - Reading computation messages from HDF: UPGU2.p03.hdf
2026-04-28 23:37:14 - ras_commander.hdf.HdfResultsPlan - INFO - Successfully extracted 1839 characters from HDF
2026-04-28 23:37:14 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU2\UPGU2.p03.hdf
2026-04-28 23:37:14 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU2\UPGU2.p03.hdf
2026-04-28 23:37:14 - ras_commander.hdf.HdfResultsPlan - INFO - Extracting Plan Information from: UPGU2.p03.hdf
2026-04-28 23:37:14 - ras_commander.hdf.HdfResultsPlan - INFO - Plan Name: UPGU2_10pct
2026-04-28 23:37:14 - ras_commander.hdf.HdfResultsPlan - INFO - Simulation Duration (hours): 108.0
2026-04-28 23:37:14 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU2\UPGU2.p03.hdf
2026-04-28 23:37:14 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU2\UPGU2.p03.hdf
2026-04-28 23:37:15 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU2\UPGU2.p04.hdf
2026-04-28 23:37:15 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU2\UPGU2.p04.hdf
2026-04-28 23:37:15 - ras_commander.hdf.HdfResultsPlan - INFO - Reading computation messages from HDF: UPGU2.p04.hdf
2026-04-28 23:37:15 - ras_commander.hdf.HdfResultsPlan - INFO - Successfully extracted 1832 characters from HDF
2026-04-28 23:37:15 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU2\UPGU2.p04.hdf
2026-04-28 23:37:15 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU2\UPGU2.p04.hdf
2026-04-28 23:37:15 - ras_commander.hdf.HdfResultsPlan - INFO - Extracting Plan Information from: UPGU2.p04.hdf
2026-04-28 23:37:15 - ras_commander.hdf.HdfResultsPlan - INFO - Plan Name: UPGU2_4pct
2026-04-28 23:37:15 - ras_commander.hdf.HdfResultsPlan - INFO - Simulation Duration (hours): 108.0
2026-04-28 23:37:15 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU2\UPGU2.p04.hdf
2026-04-28 23:37:15 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU2\UPGU2.p04.hdf
2026-04-28 23:37:15 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU2\UPGU2.p05.hdf
2026-04-28 23:37:15 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU2\UPGU2.p05.hdf
2026-04-28 23:37:15 - ras_commander.hdf.HdfResultsPlan - INFO - Reading computation messages from HDF: UPGU2.p05.hdf
2026-04-28 23:37:15 - ras_commander.hdf.HdfResultsPlan - INFO - Successfully extracted 1839 characters from HDF
2026-04-28 23:37:15 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU2\UPGU2.p05.hdf
2026-04-28 23:37:15 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU2\UPGU2.p05.hdf
2026-04-28 23:37:15 - ras_commander.hdf.HdfResultsPlan - INFO - Extracting Plan Information from: UPGU2.p05.hdf
2026-04-28 23:37:15 - ras_commander.hdf.HdfResultsPlan - INFO - Plan Name: UPGU2_2pct
2026-04-28 23:37:15 - ras_commander.hdf.HdfResultsPlan - INFO - Simulation Duration (hours): 108.0
2026-04-28 23:37:15 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU2\UPGU2.p05.hdf
2026-04-28 23:37:15 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU2\UPGU2.p05.hdf
2026-04-28 23:37:15 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU2\UPGU2.p06.hdf
2026-04-28 23:37:15 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU2\UPGU2.p06.hdf
2026-04-28 23:37:15 - ras_commander.hdf.HdfResultsPlan - INFO - Reading computation messages from HDF: UPGU2.p06.hdf
2026-04-28 23:37:15 - ras_commander.hdf.HdfResultsPlan - INFO - Successfully extracted 2068 characters from HDF
2026-04-28 23:37:15 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU2\UPGU2.p06.hdf
2026-04-28 23:37:15 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU2\UPGU2.p06.hdf
2026-04-28 23:37:15 - ras_commander.hdf.HdfResultsPlan - INFO - Extracting Plan Information from: UPGU2.p06.hdf
2026-04-28 23:37:15 - ras_commander.hdf.HdfResultsPlan - INFO - Plan Name: UPGU2_1MINpct
2026-04-28 23:37:15 - ras_commander.hdf.HdfResultsPlan - INFO - Simulation Duration (hours): 108.0
2026-04-28 23:37:15 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU2\UPGU2.p06.hdf
2026-04-28 23:37:15 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU2\UPGU2.p06.hdf
2026-04-28 23:37:15 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU2\UPGU2.p07.hdf
2026-04-28 23:37:15 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU2\UPGU2.p07.hdf
2026-04-28 23:37:15 - ras_commander.hdf.HdfResultsPlan - INFO - Reading computation messages from HDF: UPGU2.p07.hdf
2026-04-28 23:37:15 - ras_commander.hdf.HdfResultsPlan - INFO - Successfully extracted 2074 characters from HDF
2026-04-28 23:37:15 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU2\UPGU2.p07.hdf
2026-04-28 23:37:15 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU2\UPGU2.p07.hdf
2026-04-28 23:37:15 - ras_commander.hdf.HdfResultsPlan - INFO - Extracting Plan Information from: UPGU2.p07.hdf
2026-04-28 23:37:15 - ras_commander.hdf.HdfResultsPlan - INFO - Plan Name: UPGU2_1PLUpct
2026-04-28 23:37:15 - ras_commander.hdf.HdfResultsPlan - INFO - Simulation Duration (hours): 108.0
2026-04-28 23:37:15 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU2\UPGU2.p07.hdf
2026-04-28 23:37:15 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU2\UPGU2.p07.hdf
2026-04-28 23:37:15 - ras_commander.RasPrj - INFO - Updated results_df with 7 plan(s)
7 plans
1 geometry file(s)
Initializing UPGU3...
2026-04-28 23:37:16 - ras_commander.RasMap - INFO - Successfully parsed RASMapper file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU3\UPGU3.rasmap
2026-04-28 23:37:16 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU3\UPGU3.p01.hdf
2026-04-28 23:37:16 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU3\UPGU3.p01.hdf
2026-04-28 23:37:16 - ras_commander.hdf.HdfResultsPlan - INFO - Reading computation messages from HDF: UPGU3.p01.hdf
2026-04-28 23:37:16 - ras_commander.hdf.HdfResultsPlan - INFO - Successfully extracted 1983 characters from HDF
2026-04-28 23:37:16 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU3\UPGU3.p01.hdf
2026-04-28 23:37:16 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU3\UPGU3.p01.hdf
2026-04-28 23:37:16 - ras_commander.hdf.HdfResultsPlan - INFO - Extracting Plan Information from: UPGU3.p01.hdf
2026-04-28 23:37:16 - ras_commander.hdf.HdfResultsPlan - INFO - Plan Name: UPGU3_1pct
2026-04-28 23:37:16 - ras_commander.hdf.HdfResultsPlan - INFO - Simulation Duration (hours): 108.0
2026-04-28 23:37:16 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU3\UPGU3.p01.hdf
2026-04-28 23:37:16 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU3\UPGU3.p01.hdf
2026-04-28 23:37:16 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU3\UPGU3.p02.hdf
2026-04-28 23:37:16 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU3\UPGU3.p02.hdf
2026-04-28 23:37:16 - ras_commander.hdf.HdfResultsPlan - INFO - Reading computation messages from HDF: UPGU3.p02.hdf
2026-04-28 23:37:16 - ras_commander.hdf.HdfResultsPlan - INFO - Successfully extracted 1841 characters from HDF
2026-04-28 23:37:16 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU3\UPGU3.p02.hdf
2026-04-28 23:37:16 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU3\UPGU3.p02.hdf
2026-04-28 23:37:16 - ras_commander.hdf.HdfResultsPlan - INFO - Extracting Plan Information from: UPGU3.p02.hdf
2026-04-28 23:37:16 - ras_commander.hdf.HdfResultsPlan - INFO - Plan Name: UPGU3_0_2pct
2026-04-28 23:37:16 - ras_commander.hdf.HdfResultsPlan - INFO - Simulation Duration (hours): 108.0
2026-04-28 23:37:16 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU3\UPGU3.p02.hdf
2026-04-28 23:37:16 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU3\UPGU3.p02.hdf
2026-04-28 23:37:16 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU3\UPGU3.p03.hdf
2026-04-28 23:37:16 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU3\UPGU3.p03.hdf
2026-04-28 23:37:17 - ras_commander.hdf.HdfResultsPlan - INFO - Reading computation messages from HDF: UPGU3.p03.hdf
2026-04-28 23:37:17 - ras_commander.hdf.HdfResultsPlan - INFO - Successfully extracted 1973 characters from HDF
2026-04-28 23:37:17 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU3\UPGU3.p03.hdf
2026-04-28 23:37:17 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU3\UPGU3.p03.hdf
2026-04-28 23:37:17 - ras_commander.hdf.HdfResultsPlan - INFO - Extracting Plan Information from: UPGU3.p03.hdf
2026-04-28 23:37:17 - ras_commander.hdf.HdfResultsPlan - INFO - Plan Name: UPGU3_10pct
2026-04-28 23:37:17 - ras_commander.hdf.HdfResultsPlan - INFO - Simulation Duration (hours): 108.0
2026-04-28 23:37:17 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU3\UPGU3.p03.hdf
2026-04-28 23:37:17 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU3\UPGU3.p03.hdf
2026-04-28 23:37:17 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU3\UPGU3.p04.hdf
2026-04-28 23:37:17 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU3\UPGU3.p04.hdf
2026-04-28 23:37:17 - ras_commander.hdf.HdfResultsPlan - INFO - Reading computation messages from HDF: UPGU3.p04.hdf
2026-04-28 23:37:17 - ras_commander.hdf.HdfResultsPlan - INFO - Successfully extracted 1924 characters from HDF
2026-04-28 23:37:17 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU3\UPGU3.p04.hdf
2026-04-28 23:37:17 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU3\UPGU3.p04.hdf
2026-04-28 23:37:17 - ras_commander.hdf.HdfResultsPlan - INFO - Extracting Plan Information from: UPGU3.p04.hdf
2026-04-28 23:37:17 - ras_commander.hdf.HdfResultsPlan - INFO - Plan Name: UPGU3_4pct
2026-04-28 23:37:17 - ras_commander.hdf.HdfResultsPlan - INFO - Simulation Duration (hours): 108.0
2026-04-28 23:37:17 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU3\UPGU3.p04.hdf
2026-04-28 23:37:17 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU3\UPGU3.p04.hdf
2026-04-28 23:37:17 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU3\UPGU3.p05.hdf
2026-04-28 23:37:17 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU3\UPGU3.p05.hdf
2026-04-28 23:37:17 - ras_commander.hdf.HdfResultsPlan - INFO - Reading computation messages from HDF: UPGU3.p05.hdf
2026-04-28 23:37:17 - ras_commander.hdf.HdfResultsPlan - INFO - Successfully extracted 1833 characters from HDF
2026-04-28 23:37:17 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU3\UPGU3.p05.hdf
2026-04-28 23:37:17 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU3\UPGU3.p05.hdf
2026-04-28 23:37:17 - ras_commander.hdf.HdfResultsPlan - INFO - Extracting Plan Information from: UPGU3.p05.hdf
2026-04-28 23:37:17 - ras_commander.hdf.HdfResultsPlan - INFO - Plan Name: UPGU3_2pct
2026-04-28 23:37:17 - ras_commander.hdf.HdfResultsPlan - INFO - Simulation Duration (hours): 108.0
2026-04-28 23:37:17 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU3\UPGU3.p05.hdf
2026-04-28 23:37:17 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU3\UPGU3.p05.hdf
2026-04-28 23:37:17 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU3\UPGU3.p06.hdf
2026-04-28 23:37:17 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU3\UPGU3.p06.hdf
2026-04-28 23:37:17 - ras_commander.hdf.HdfResultsPlan - INFO - Reading computation messages from HDF: UPGU3.p06.hdf
2026-04-28 23:37:17 - ras_commander.hdf.HdfResultsPlan - INFO - Successfully extracted 1927 characters from HDF
2026-04-28 23:37:17 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU3\UPGU3.p06.hdf
2026-04-28 23:37:17 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU3\UPGU3.p06.hdf
2026-04-28 23:37:17 - ras_commander.hdf.HdfResultsPlan - INFO - Extracting Plan Information from: UPGU3.p06.hdf
2026-04-28 23:37:17 - ras_commander.hdf.HdfResultsPlan - INFO - Plan Name: UPGU3_1MINpct
2026-04-28 23:37:17 - ras_commander.hdf.HdfResultsPlan - INFO - Simulation Duration (hours): 108.0
2026-04-28 23:37:17 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU3\UPGU3.p06.hdf
2026-04-28 23:37:17 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU3\UPGU3.p06.hdf
2026-04-28 23:37:17 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU3\UPGU3.p07.hdf
2026-04-28 23:37:17 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU3\UPGU3.p07.hdf
2026-04-28 23:37:17 - ras_commander.hdf.HdfResultsPlan - INFO - Reading computation messages from HDF: UPGU3.p07.hdf
2026-04-28 23:37:17 - ras_commander.hdf.HdfResultsPlan - INFO - Successfully extracted 1836 characters from HDF
2026-04-28 23:37:17 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU3\UPGU3.p07.hdf
2026-04-28 23:37:17 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU3\UPGU3.p07.hdf
2026-04-28 23:37:17 - ras_commander.hdf.HdfResultsPlan - INFO - Extracting Plan Information from: UPGU3.p07.hdf
2026-04-28 23:37:17 - ras_commander.hdf.HdfResultsPlan - INFO - Plan Name: UPGU3_1PLUpct
2026-04-28 23:37:17 - ras_commander.hdf.HdfResultsPlan - INFO - Simulation Duration (hours): 108.0
2026-04-28 23:37:17 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU3\UPGU3.p07.hdf
2026-04-28 23:37:17 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU3\UPGU3.p07.hdf
2026-04-28 23:37:17 - ras_commander.RasPrj - INFO - Updated results_df with 7 plan(s)
7 plans
1 geometry file(s)
Initializing UPGU4...
2026-04-28 23:37:18 - ras_commander.RasMap - INFO - Successfully parsed RASMapper file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU4\UPGU4.rasmap
2026-04-28 23:37:18 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU4\UPGU4.p02.hdf
2026-04-28 23:37:18 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU4\UPGU4.p02.hdf
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Reading computation messages from HDF: UPGU4.p02.hdf
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Successfully extracted 2250 characters from HDF
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU4\UPGU4.p02.hdf
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU4\UPGU4.p02.hdf
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Extracting Plan Information from: UPGU4.p02.hdf
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Plan Name: UPGU4_0_2pct
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Simulation Duration (hours): 108.0
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU4\UPGU4.p02.hdf
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU4\UPGU4.p02.hdf
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU4\UPGU4.p03.hdf
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU4\UPGU4.p03.hdf
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Reading computation messages from HDF: UPGU4.p03.hdf
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Successfully extracted 1973 characters from HDF
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU4\UPGU4.p03.hdf
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU4\UPGU4.p03.hdf
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Extracting Plan Information from: UPGU4.p03.hdf
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Plan Name: UPGU4_10pct
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Simulation Duration (hours): 108.0
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU4\UPGU4.p03.hdf
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU4\UPGU4.p03.hdf
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU4\UPGU4.p04.hdf
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU4\UPGU4.p04.hdf
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Reading computation messages from HDF: UPGU4.p04.hdf
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Successfully extracted 1972 characters from HDF
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU4\UPGU4.p04.hdf
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU4\UPGU4.p04.hdf
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Extracting Plan Information from: UPGU4.p04.hdf
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Plan Name: UPGU4_4pct
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Simulation Duration (hours): 108.0
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU4\UPGU4.p04.hdf
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU4\UPGU4.p04.hdf
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU4\UPGU4.p05.hdf
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU4\UPGU4.p05.hdf
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Reading computation messages from HDF: UPGU4.p05.hdf
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Successfully extracted 2112 characters from HDF
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU4\UPGU4.p05.hdf
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU4\UPGU4.p05.hdf
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Extracting Plan Information from: UPGU4.p05.hdf
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Plan Name: UPGU4_2pct
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Simulation Duration (hours): 108.0
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU4\UPGU4.p05.hdf
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU4\UPGU4.p05.hdf
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU4\UPGU4.p06.hdf
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU4\UPGU4.p06.hdf
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Reading computation messages from HDF: UPGU4.p06.hdf
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Successfully extracted 1975 characters from HDF
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU4\UPGU4.p06.hdf
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU4\UPGU4.p06.hdf
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Extracting Plan Information from: UPGU4.p06.hdf
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Plan Name: UPGU4_1MINpct
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Simulation Duration (hours): 108.0
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU4\UPGU4.p06.hdf
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU4\UPGU4.p06.hdf
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU4\UPGU4.p07.hdf
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU4\UPGU4.p07.hdf
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Reading computation messages from HDF: UPGU4.p07.hdf
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Successfully extracted 2113 characters from HDF
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU4\UPGU4.p07.hdf
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU4\UPGU4.p07.hdf
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Extracting Plan Information from: UPGU4.p07.hdf
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Plan Name: UPGU4_1PLUpct
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Simulation Duration (hours): 108.0
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU4\UPGU4.p07.hdf
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU4\UPGU4.p07.hdf
2026-04-28 23:37:19 - ras_commander.RasPrj - INFO - Updated results_df with 7 plan(s)
7 plans
2 geometry file(s)
Initialized 4 watershed models
Step 9: Check Plan Structure¶
Each model has 7 plans for different AEP (Annual Exceedance Probability) frequencies.
# Show plan structure for first model
if 'UPGU1' in watershed_models:
upgu1 = watershed_models['UPGU1']
print("UPGU1 Plan Structure:")
print("=" * 80)
print(upgu1.plan_df[['plan_number', 'Plan Title', 'Short Identifier']].to_string())
print("=" * 80)
print("\nAEP Frequencies:")
print(" Plan 01: 1% AEP (100-year) - UPGU1_1pct")
print(" Plan 02: 0.2% AEP (500-year) - UPGU1_0_2pct")
print(" Plan 03: 10% AEP (10-year) - UPGU1_10pct")
print(" Plan 04: 4% AEP (25-year) - UPGU1_4pct")
print(" Plan 05: 2% AEP (50-year) - UPGU1_2pct")
print(" Plan 06: 1MIN% AEP - UPGU1_1MINpct")
print(" Plan 07: 1PLU% AEP - UPGU1_1PLUpct")
UPGU1 Plan Structure:
================================================================================
plan_number Plan Title Short Identifier
0 01 UPGU1_1pct 1pct
1 02 UPGU1_0_2pct 0_2pct
2 03 UPGU1_10pct 10pct
3 04 UPGU1_4pct 4pct
4 05 UPGU1_2pct 2pct
5 06 UPGU1_1MINpct 1MINpct
6 07 UPGU1_1PLUpct 1PLUpct
================================================================================
AEP Frequencies:
Plan 01: 1% AEP (100-year) - UPGU1_1pct
Plan 02: 0.2% AEP (500-year) - UPGU1_0_2pct
Plan 03: 10% AEP (10-year) - UPGU1_10pct
Plan 04: 4% AEP (25-year) - UPGU1_4pct
Plan 05: 2% AEP (50-year) - UPGU1_2pct
Plan 06: 1MIN% AEP - UPGU1_1MINpct
Plan 07: 1PLU% AEP - UPGU1_1PLUpct
Optional: Geometry Preprocessor Validation for the Cascade¶
The delivery-format validation gate is the HEC-RAS geometry preprocessor, not a full cascade compute. Run the preprocessor sequentially for each initialized watershed model and review the detailed compute messages for errors.
Large 2D models can take more than 1 hour to preprocess, so this example uses a 2-hour timeout per model. Full unsteady cascade execution remains a separate engineering validation step.
from ras_commander import GeomPreprocessor
RUN_PREPROCESSOR_VALIDATION = False
PREPROCESSOR_TIMEOUT_SECONDS = 7200
VALIDATION_PLAN = "01"
validation_results = {}
if RUN_PREPROCESSOR_VALIDATION:
for model_name, ras_obj in watershed_models.items():
print(f"Validating {model_name} geometry preprocessing...")
result = GeomPreprocessor.run_geometry_preprocessor(
VALIDATION_PLAN,
ras_object=ras_obj,
max_wait=PREPROCESSOR_TIMEOUT_SECONDS,
force=True,
)
validation_results[model_name] = result
print(f" {result}")
if result.compute_message_paths:
print(" Compute message sources:")
for path in result.compute_message_paths:
print(f" - {path}")
if not result.success:
detail = result.first_error_line or result.error or "Geometry preprocessor failed."
raise RuntimeError(f"{model_name} failed: {detail}")
print("\nGeometry preprocessor validation passed for all initialized models.")
else:
print("Preprocessor validation skipped in this notebook run.")
print("Set RUN_PREPROCESSOR_VALIDATION = True to validate the organized delivery.")
print("Full cascade execution remains optional engineering validation, not the delivery-format gate.")
Preprocessor validation skipped in this notebook run.
Set RUN_PREPROCESSOR_VALIDATION = True to validate the organized delivery.
Full cascade execution remains optional engineering validation, not the delivery-format gate.
# Display geometry preprocessor validation summary.
validation_results = globals().get("validation_results", {})
if validation_results:
validation_summary = pd.DataFrame([
{
"model": model_name,
"success": result.success,
"plan": result.plan_number,
"geometry": result.geometry_number,
"flow_type": result.flow_type,
"elapsed_seconds": round(result.elapsed_seconds, 1),
"errors": result.error_count,
"warnings": result.warning_count,
}
for model_name, result in validation_results.items()
])
print(validation_summary.to_string(index=False))
else:
print("Run the geometry preprocessor validation cell above to populate validation_results.")
Run the geometry preprocessor validation cell above to populate validation_results.
Optional: Check Existing Results¶
After organizing the delivery, check for .p##.hdf result files loaded in each RAS project folder and scan their compute messages for obvious errors.
# Check whether result HDF files are present in each organized RAS project.
from ras_commander.hdf import HdfResultsPlan
from ras_commander.results.ResultsParser import ResultsParser
executed_models = []
for model_name in models:
model_folder = resolve_ras_project_folder(model_name)
hdf_files = sorted(model_folder.glob("*.p01.hdf"))
if hdf_files:
executed_models.append((model_name, hdf_files[0]))
if executed_models:
print(f"Found {len(executed_models)} model(s) with Plan 01 result HDF files:\n")
for model_name, hdf_file in executed_models:
print(f"{model_name}:")
print(f" HDF: {hdf_file.name}")
try:
messages = HdfResultsPlan.get_compute_messages_hdf_only(hdf_file)
parsed = ResultsParser.parse_compute_messages(messages)
print(f" Complete Process present: {parsed['completed']}")
print(f" Blocking error lines: {parsed['error_count']}")
print(f" Warning lines: {parsed['warning_count']}")
if parsed['first_error_line']:
print(f" First blocking error: {parsed['first_error_line']}")
else:
print(" No blocking errors detected by ResultsParser.")
except Exception as exc:
print(f" Compute messages unavailable: {exc}")
print()
else:
print("No Plan 01 result HDF files found in the organized RAS project folders.")
print("Use geometry preprocessor validation to verify assembly; run full plans only when new results are required.")
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p01.hdf
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p01.hdf
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Reading computation messages from HDF: UPGU1.p01.hdf
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Successfully extracted 1925 characters from HDF
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU2\UPGU2.p01.hdf
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU2\UPGU2.p01.hdf
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Reading computation messages from HDF: UPGU2.p01.hdf
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Successfully extracted 1918 characters from HDF
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Using existing Path object HDF file: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU3\UPGU3.p01.hdf
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Final validated file path: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU3\UPGU3.p01.hdf
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Reading computation messages from HDF: UPGU3.p01.hdf
2026-04-28 23:37:19 - ras_commander.hdf.HdfResultsPlan - INFO - Successfully extracted 1983 characters from HDF
Found 3 model(s) with Plan 01 result HDF files:
UPGU1:
HDF: UPGU1.p01.hdf
Complete Process present: True
Blocking error lines: 0
Warning lines: 0
No blocking errors detected by ResultsParser.
UPGU2:
HDF: UPGU2.p01.hdf
Complete Process present: True
Blocking error lines: 0
Warning lines: 0
No blocking errors detected by ResultsParser.
UPGU3:
HDF: UPGU3.p01.hdf
Complete Process present: True
Blocking error lines: 0
Warning lines: 0
No blocking errors detected by ResultsParser.
Step 10: Extract Results (If HDF Results Exist)¶
Extract water surface elevations from delivered or newly computed result HDF files.
executed_models = globals().get("executed_models", [])
if executed_models:
print("Plan 01 HDF files available for downstream results analysis:\n")
for model_name, hdf_file in executed_models:
size_mb = hdf_file.stat().st_size / 1024 / 1024
print(f"{model_name}:")
print(f" HDF: {hdf_file}")
print(f" Size: {size_mb:,.1f} MB")
print("\nDetailed 2D result extraction can be done with HdfResultsMesh on a selected plan HDF.")
else:
print("No results to extract from Plan 01 HDF files.")
print("If results are required, run the full HEC-RAS plans outside the delivery-format validation gate.")
Plan 01 HDF files available for downstream results analysis:
UPGU1:
HDF: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU1\UPGU1.p01.hdf
Size: 1,067.6 MB
UPGU2:
HDF: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU2\UPGU2.p01.hdf
Size: 1,548.1 MB
UPGU3:
HDF: H:\Testing\eBFE Model Organization\Organized\UpperGuadalupe_12100201\RAS Model\UPGU3\UPGU3.p01.hdf
Size: 762.8 MB
Detailed 2D result extraction can be done with HdfResultsMesh on a selected plan HDF.
Summary¶
This committed notebook run demonstrated:
- Organization: Used
RasEbfeModels.organize_model("upper-guadalupe")with the shared eBFE workspace. - Cascade discovery: Located and initialized the four watershed RAS project folders (UPGU1 → UPGU2 → UPGU3 → UPGU4).
- Delivery layout inspection: Confirmed the organized folder structure and agent documentation are available for review.
- DSS audit behavior: Surfaced that DSS catalog validation depends on Java/JVM; missing Java is reported rather than hidden.
- Result HDF inspection: Found available Plan 01 HDFs and parsed compute messages with
ResultsParserto avoid false positives from volume-accounting error metrics. - Geometry preprocessor hook: Provides an opt-in 2-hour-per-model validation cell for delivery acceptance.
Saved-run limitations:
- The saved notebook did not run the geometry preprocessor; enable RUN_PREPROCESSOR_VALIDATION or use the batch validation script for acceptance testing.
- DSS catalog validation was skipped or limited when Java/JVM was not configured.
- Result HDF inspection uses existing delivered/generated HDFs; it does not imply a fresh full cascade compute was run by this notebook.