Claude-skill-registry integrating-usgs-gauges
git clone https://github.com/majiayu000/claude-skill-registry
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/integrating-usgs-gauges" ~/.claude/skills/majiayu000-claude-skill-registry-integrating-usgs-gauges && rm -rf "$T"
skills/data/integrating-usgs-gauges/SKILL.mdIntegrating USGS Gauges
Lightweight skill navigator - Points you to authoritative sources instead of duplicating content.
Primary Documentation Sources
COMPLETE WORKFLOWS AND API REFERENCE:
(367 lines) - Complete module documentation with workflowsras_commander/usgs/CLAUDE.md- Module overview and API reference
- 7-stage workflow (discovery → validation)
- Real-time monitoring patterns
- Catalog generation workflow
WORKING EXAMPLES:
- Complete workflow (discovery → validation)examples/911_usgs_gauge_data_integration.ipynb
- Real-time monitoring examplesexamples/912_usgs_real_time_monitoring.ipynb
- Boundary condition generationexamples/913_bc_generation_from_live_gauge.ipynb
- Model validation workflowexamples/914_model_validation_with_usgs.ipynb
- Catalog generation (v0.89.0+)examples/910_usgs_gauge_catalog.ipynb
CODE DOCSTRINGS:
- All classes have comprehensive docstrings with examples
- Read docstrings for detailed parameter documentation
Quick Navigation Guide
What to Use When
| Task | Primary Source | Secondary Source |
|---|---|---|
| API reference | | Code docstrings |
| Complete workflows | | Example notebooks |
| Spatial discovery | → Spatial Queries section | |
| Data retrieval | → Data Retrieval section | |
| Gauge matching | → Gauge Matching section | |
| Boundary generation | → Boundary Conditions section | |
| Initial conditions | → Initial Conditions section | |
| Real-time monitoring | → Real-Time Monitoring section | |
| Catalog generation | → Catalog Generation section | |
| Model validation | → Validation Metrics section | |
| Visualization | → Visualization section | |
| Troubleshooting | Example notebooks (see errors/warnings) | Code comments |
Module Quick Reference
From
ras_commander/usgs/CLAUDE.md:
Core Data Retrieval (
core.py):
- Get flow time seriesRasUsgsCore.retrieve_flow_data()
- Get stage time seriesRasUsgsCore.retrieve_stage_data()
- Get gauge infoRasUsgsCore.get_gauge_metadata()
- Check data existsRasUsgsCore.check_data_availability()
Spatial Discovery (
spatial.py):
- Find gauges in project boundsUsgsGaugeSpatial.find_gauges_in_project()
- Find gauges with data for sim periodUsgsGaugeSpatial.get_project_gauges_with_data()
Gauge Matching (
gauge_matching.py):
- Automatic matchingGaugeMatcher.auto_match_gauges()
- Match to 1D XSGaugeMatcher.match_gauge_to_cross_section()
- Match to 2D areaGaugeMatcher.match_gauge_to_2d_area()
Time Series (
time_series.py):
- Resample to HEC-RAS intervalsRasUsgsTimeSeries.resample_to_hecras_interval()
- Detect gapsRasUsgsTimeSeries.check_data_gaps()
- Align observed/modeledRasUsgsTimeSeries.align_timeseries()
Boundary Generation (
boundary_generation.py):
- Create BC tableRasUsgsBoundaryGeneration.generate_flow_hydrograph_table()
- Update .u## fileRasUsgsBoundaryGeneration.update_boundary_hydrograph()
Initial Conditions (
initial_conditions.py):
- Generate IC lineInitialConditions.create_ic_line()
- Extract IC from USGS dataInitialConditions.get_ic_value_from_usgs()
Real-Time (
real_time.py) - v0.87.0+:
- Get most recent readingRasUsgsRealTime.get_latest_value()
- Continuous monitoring with callbacksRasUsgsRealTime.monitor_gauge()
- Flood detectionRasUsgsRealTime.detect_threshold_crossing()
Catalog (
catalog.py) - v0.89.0+:
- Create standardized gauge catalogcatalog.generate_gauge_catalog()
- Load catalogcatalog.load_gauge_catalog()
- Load historical datacatalog.load_gauge_data()
Validation (
metrics.py):
- NSE metricmetrics.nash_sutcliffe_efficiency()
- KGE metricmetrics.kling_gupta_efficiency()
- Complete validation suitemetrics.calculate_all_metrics()
Visualization (
visualization.py):
- Observed vs modeled plotsvisualization.plot_timeseries_comparison()
- Scatter with 1:1 linevisualization.plot_scatter_comparison()
- 4-panel diagnosticsvisualization.plot_residuals()
File I/O (
file_io.py):
- Save to CSVRasUsgsFileIo.cache_gauge_data()
- Load from CSVRasUsgsFileIo.load_cached_gauge_data()
Minimal Quick Start
For complete quick start, see
ras_commander/usgs/CLAUDE.md.
Basic pattern (copy-paste starting point):
from ras_commander import init_ras_project from ras_commander.usgs import UsgsGaugeSpatial, RasUsgsCore, GaugeMatcher # Initialize init_ras_project(r"C:\Projects\MyModel", "6.5") # 1. Find gauges gauges = UsgsGaugeSpatial.find_gauges_in_project( project_folder=r"C:\Projects\MyModel", buffer_miles=5.0 ) # 2. Get data flow_data = RasUsgsCore.retrieve_flow_data( site_no="01646500", start_date="2023-09-01", end_date="2023-09-15", service='iv' # Instantaneous values ) # 3. Match to model matches = GaugeMatcher.auto_match_gauges( gauges_gdf=gauges, project_folder=r"C:\Projects\MyModel" ) # For complete workflow, see ras_commander/usgs/CLAUDE.md
Common Workflow Patterns
Pattern 1: Boundary Condition Generation
See:
ras_commander/usgs/CLAUDE.md → "Complete Workflow" section → Stage 5
Example: examples/913_bc_generation_from_live_gauge.ipynb
Pattern 2: Model Validation
See:
ras_commander/usgs/CLAUDE.md → "Complete Workflow" section → Stage 6
Example: examples/914_model_validation_with_usgs.ipynb
Pattern 3: Real-Time Monitoring
See:
ras_commander/usgs/CLAUDE.md → "Real-Time Workflows" section
Example: examples/912_usgs_real_time_monitoring.ipynb
Pattern 4: Gauge Catalog Generation
See:
ras_commander/usgs/CLAUDE.md → "Complete Workflow" section → Stage 7
Example: examples/910_usgs_gauge_catalog.ipynb
Troubleshooting Guide
Missing dataretrieval Module
ModuleNotFoundError: No module named 'dataretrieval'
Solution:
pip install dataretrieval
No Gauges Found
Check:
- Increase
parameterbuffer_miles - Verify project coordinate system
- Check if project bounds are correct
See:
examples/911_usgs_*.ipynb for spatial discovery debugging
Data Gaps
Tools:
- Detect gapsRasUsgsTimeSeries.check_data_gaps()
- Interpolate gapsRasUsgsTimeSeries.fill_data_gaps()
See:
ras_commander/usgs/CLAUDE.md → Time Series Processing
Invalid Boundary Format
Check:
- Verify HEC-RAS interval code (
,15MIN
, etc.)1HOUR - Use
to check formatvalidate_boundary_format() - Review fixed-width format requirements
See:
examples/913_bc_*.ipynb for boundary generation debugging
Poor Validation Metrics (NSE < 0.5)
Investigate:
- Model calibration parameters
- Boundary condition accuracy
- Gauge location vs model feature match
- Timing alignment
See:
examples/914_*.ipynb for validation workflow
Dependencies
Required (always available):
- pandas, geopandas, requests
Optional (lazy-loaded):
- USGS NWIS client (recommended)dataretrieval- Install:
pip install dataretrieval - Methods check availability on first use
- Install:
Check dependencies:
from ras_commander.usgs import check_dependencies deps = check_dependencies() print(deps) # {'pandas': True, 'geopandas': True, 'dataretrieval': True/False}
Validation Metric Interpretation
See:
ras_commander/usgs/CLAUDE.md → Validation Metrics section for complete details.
Quick reference:
- NSE (Nash-Sutcliffe): −∞ to 1 (perfect = 1)
-
0.75: Very good
- 0.65-0.75: Good
- 0.50-0.65: Satisfactory
- < 0.50: Unsatisfactory
-
- KGE (Kling-Gupta): −∞ to 1 (perfect = 1)
- Similar interpretation to NSE
- Components: correlation, bias ratio, variability ratio
For detailed interpretation: See
examples/914_model_validation_with_usgs.ipynb
Key Features
Multi-Level Verifiability
- Boundary conditions in .u## files reviewable in HEC-RAS GUI
- Visual outputs for domain expert review
- Code audit trails with @log_call decorators
USGS Service Compliance
- Rate limiting (1 req/sec default)
- Proper parameter codes (00060 = flow, 00065 = stage)
- Timeout handling and retry logic
Data Quality
- Automatic gap detection
- Data availability checks
- Resampling validation
See:
ras_commander/usgs/CLAUDE.md → Key Features for details
See Also
- HEC-RAS execution:
.claude/skills/executing-hecras-plans/ - HDF results extraction:
.claude/skills/extracting-hecras-results/ - Precipitation data:
moduleras_commander.precipitation - Boundary utilities:
ras_commander.RasUnsteady
Skill Development Philosophy
This skill is intentionally lightweight (~300 lines) and serves as a navigator to authoritative sources rather than duplicating content. This approach:
- Eliminates duplication - Workflows exist in
(367 lines)ras_commander/usgs/CLAUDE.md - Reduces maintenance burden - Update workflows in one place
- Improves accuracy - Single source of truth for API details
- Provides quick navigation - Table guides you to right source for your task
- Keeps skills focused - Skills point to docs, docs contain complete details
When to use this skill:
- You need quick navigation to USGS integration resources
- You want to know which module handles which task
- You need a starting point for USGS workflows
When to read full docs:
- You need complete workflow details → Read
ras_commander/usgs/CLAUDE.md - You need working code examples → Open example notebooks
- You need parameter documentation → Read code docstrings