スキル一覧に戻る
gpt-cmdr

planning-hecras-execution

by gpt-cmdr

The RAS-Commander library provides a python API for automating HEC-RAS 6.x and accessing HDF data using Python, built with and driven by large language models.

38🍴 16📅 2026年1月23日
GitHubで見るManusで実行

SKILL.md


name: planning-hecras-execution description: | Decision support for HEC-RAS execution strategy. Analyzes project inspector output to recommend which plans to run, execution mode, and optimal parameters. Provides structured execution plans with dependency ordering, prerequisite validation, and resource-aware parameter recommendations. Use when planning execution strategy, selecting execution mode, determining plan order, validating prerequisites, or optimizing parallel execution parameters. Triggers: plan execution, execution strategy, which plans to run, execution order, parallel vs sequential, compute_plan, compute_parallel, mode selection, prerequisites, dependencies, runnable plans, blocked plans, execution plan, batch strategy.

Planning HEC-RAS Execution

Decision support for selecting optimal HEC-RAS execution strategy. Analyzes Project Inspector output and generates actionable execution plans.

Primary Sources

DO NOT duplicate content from primary sources. This skill is a lightweight navigator.

  • .claude/rules/hec-ras/execution.md - Complete execution mode documentation
  • .claude/agents/hecras-project-inspector.md - Project Intelligence Report schema
  • .claude/skills/executing-hecras-plans/SKILL.md - Mode Selection Guide
  • .claude/skills/executing-hecras-rascontrol/SKILL.md - Legacy HEC-RAS (< 6.0)

Mode Selection Decision Tree

1. Is HEC-RAS version < 6.0?
   YES -> Use RasControl (executing-hecras-rascontrol skill)
   NO  -> Continue

2. How many runnable plans?
   ZERO    -> Report blockers, stop
   ONE     -> compute_plan() [+ stream_callback if monitoring needed]
   MULTIPLE -> Continue to step 3

3. Multiple Plan Decision:
   Debugging/diagnosing? -> compute_test_mode()
   Have remote workers?  -> compute_parallel_remote()
   Production/batch?     -> compute_parallel()

Mode Selection Matrix

ContextPlansModeRationale
DebuggingAnycompute_test_mode()Sequential, single folder
Single plan, monitoring1compute_plan() + callbackReal-time output
Single plan, quick1compute_plan()Simplest API
Multiple plans, production2+compute_parallel()Fastest throughput
Distributed infrastructure2+compute_parallel_remote()Scale-out
HEC-RAS < 6.0AnyRasControlCOM-based required
Resume interrupted2+compute_parallel(skip_existing=True)Skips completed

Input: Project Intelligence Report

Expected input from Project Inspector Agent:

## Plans Analysis
| Plan | Title | Status | Geometry | Flow | Issues |
|------|-------|--------|----------|------|--------|
| 01 | Baseline | Runnable | g01 | u01 | None |
| 02 | Future | Missing geom | g03 (MISSING) | u02 | Geometry file not found |

### Execution Readiness
- **Ready to Run**: 01, 03
- **Blocked**: 02 (missing geometry g03)

Output: Execution Plan

Generate structured execution plans in this format:

# Execution Plan

## Recommended Mode
`compute_parallel()` - Multiple runnable plans, production context

## Execution Order
1. Plan 01 (Baseline) - Ready
2. Plan 03 (Modified) - Ready
   [Skip: Plan 02 - blocked by missing geometry g03]

## Parameters
```python
RasCmdr.compute_parallel(
    plans_to_run=["01", "03"],
    max_workers=2,
    num_cores=4,
    force_rerun=False,
    verify=True
)

Prerequisites

  • None for runnable plans

Blockers (Cannot Run)

PlanIssueResolution
02Missing geometry g03Create geometry file or fix reference

Warnings

  • Plan 02 blocked until g03 is created

---

## Parameter Recommendation

### Worker/Core Allocation

| System Cores | Model Type | `max_workers` | `num_cores` |
|--------------|------------|---------------|-------------|
| 4-8 | 1D | 2-4 | 2 |
| 8-16 | 2D | 2-4 | 4 |
| 16+ | Mixed | 4-6 | 4 |

**Formula**: `max_workers = min(num_plans, total_cores // num_cores)`

### Geometry Flags

| Scenario | `clear_geompre` | `force_geompre` |
|----------|-----------------|-----------------|
| Geometry unchanged | `False` | `False` |
| Minor edits (Manning's n) | `True` | `False` |
| Major changes (new mesh) | `False` | `True` |
| Geometry corruption | `False` | `True` |

### Skip/Rerun Flags

| Scenario | `force_rerun` | `skip_existing` |
|----------|---------------|-----------------|
| Normal (smart skip) | `False` | `False` |
| Force fresh results | `True` | `False` |
| Resume interrupted | `False` | `True` |

---

## Dependency Analysis

### Check for Blockers

```python
def get_runnable_plans(plan_df):
    """Identify which plans can execute."""
    runnable, blocked = [], {}

    for _, plan in plan_df.iterrows():
        plan_num = plan['plan_number']
        geom_ok = Path(plan['Geom Path']).exists() if plan.get('Geom Path') else True
        flow_ok = Path(plan['Flow Path']).exists() if plan.get('Flow Path') else True

        if geom_ok and flow_ok:
            runnable.append(plan_num)
        else:
            blocked[plan_num] = "Missing geometry" if not geom_ok else "Missing flow"

    return runnable, blocked

Dependencies to Consider

  1. Shared Geometry - Plans using same geometry can run in parallel
  2. Upstream/Downstream - Cascade models need sequential execution
  3. DSS Dependencies - Plans reading same DSS may conflict

Context-Specific Templates

Debugging Context

RasCmdr.compute_test_mode(
    plans_to_run=["01", "02", "03"],
    dest_folder_suffix="[Debug]",
    num_cores=2,
    verify=True
)

Production Context

RasCmdr.compute_parallel(
    plans_to_run=["01", "02", "03"],
    max_workers=4,
    num_cores=4,
    verify=True
)

Monitoring Context

from ras_commander.callbacks import ConsoleCallback

RasCmdr.compute_plan(
    "01",
    stream_callback=ConsoleCallback(verbose=True),
    verify=True
)

Common Blockers

BlockerResolution
Missing geometry fileCreate geometry or fix .prj reference
Missing flow fileCreate flow file or fix reference
Missing DSS fileDownload/create DSS or update path
Geometry HDF outdatedRun with force_geompre=True
Results already currentUse force_rerun=True if needed
HEC-RAS < 6.0Use RasControl skill instead

Integration

Upstream Skills

  • hecras-project-inspector - Generates intelligence report
  • reading-dss-boundary-data - Validates boundary conditions
  • repairing-geometry-issues - Fixes geometry blockers

Downstream Skills

  • executing-hecras-plans - Runs the execution plan
  • executing-remote-plans - Distributed execution
  • extracting-hecras-results - Post-execution analysis
  • parsing-compute-messages - Interpret execution results

See Also

  • .claude/rules/hec-ras/execution.md - Complete parameter documentation
  • .claude/agents/hecras-project-inspector.md - Input format details
  • examples/113_parallel_execution.ipynb - Working parallel example

スコア

総合スコア

75/100

リポジトリの品質指標に基づく評価

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

+10
説明文

100文字以上の説明がある

+10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

+5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

レビュー

💬

レビュー機能は近日公開予定です