LIVEdataset aec-bench@releasetasks 552models 18last submission · built
civilwith-tool

Scs Curve Number

Calculates storm runoff depth from rainfall using the SCS/NRCS curve number method per TR-55. Derives potential maximum retention S = (25400/CN) - 254 and initial abstraction Ia = 0.2*S, then computes excess rainfall as Q = (P - Ia)^2 / (P - Ia + S). Widely used for hydrologic modelling of ungauged catchments based on soil type and land cover.

with-tool: The model is given an executable Python calculator script.

Standards

How this task is generated

One template produces many comparable benchmark tasks while keeping the scoring contract fixed.

  1. 01

    Template

    The reusable contract shown on this page.

  2. 02

    Scenario

    An archetype and site context are sampled.

  3. 03

    Difficulty tier

    Inputs may be hidden at harder tiers.

  4. 04

    Task prompt

    The model responds with the declared outputs.

Parameters

Inputs the model receives, and the outputs it is scored on.

Inputs

2 inputs

Always given

Included directly in every task prompt.

1
  • Rainfall depth

    rainfall_depth_mm

    Total storm rainfall depth P

    5 – 300 mm

Derived from scenario

Sampled from the scenario and inferable from its description.

1
  • Curve number

    curve_number

    SCS/NRCS curve number CN (dimensionless)

    Derived from the archetype scenario. Hidden at hard difficulty.

    30 – 98

Scored outputs

3 outputs

Potential max retention

potential_max_retention_mm

Potential maximum retention S (mm)

Scores if within ±3% of the reference value.

Initial abstraction

initial_abstraction_mm

Initial abstraction Ia (mm)

Scores if within ±3% of the reference value.

Runoff depth

runoff_depth_mm

Runoff depth Q (mm)

Scores if within ±3% of the reference value.

Difficulty

Each template is sampled at three tiers. Harder tiers may hide inputs, forcing the model to infer them from the scenario description.

easy

All inputs given

Direct application of SCS equations with all parameters given

medium

All inputs given

Wider parameter ranges; agent must handle low-CN cases where Q may be zero

hard

Some inputs hidden

Curve number hidden — agent must infer CN from land cover and soil group description

Hidden inputs

  • Curve numbercurve_number

Prompt replacement text

The catchment is {{ archetype.description }} ({{ archetype.site_context }})

Task bundle

The exact instruction and parameter contract used to generate this task, pinned to the published library source.

/workspace

  • instruction.md
  • scs-curve-number_calc.py

Teal lines show Jinja input conditions, not task visibility policy. A line renders only when that input or tool is visible.

1You are a senior civil engineer specializing in hydrology and stormwater management.2 3## Problem4 5Calculate the runoff depth from a design storm event using the SCS/NRCS curve number method.6 7## Given8 9| Parameter | Value | Unit |10|-----------|-------|------|11| Rainfall depth (P) | {{ rainfall_depth_mm }} | mm |12{% if curve_number is defined %}13| Curve number (CN) | {{ curve_number }} | - |14{% endif %}15{% if archetype_description is defined %}16 17### Site Conditions18 19{{ archetype_description }}20{% endif %}21 22{% if tool_available %}23## Available Tool24 25A runoff calculation tool is available at `/workspace/{{ meta.name }}_calc.py`. Run it with:26 27```bash28python3 /workspace/{{ meta.name }}_calc.py --help29```30 31You may use this tool to verify your calculations or compute values directly.32{% endif %}33 34## Required35 36Calculate the following:37 381. Potential maximum retention S (mm)392. Initial abstraction Ia (mm)403. Runoff depth Q (mm)41 42## Applicable Standards43 44- NRCS TR-55: Urban Hydrology for Small Watersheds45 46## Constraints47 48- No internet access is available. Work from engineering knowledge and the provided tool.49- Use the SCS/NRCS curve number method equations (metric, all lengths in mm):50 - S = (25400 / CN) - 25451 - Ia = 0.2 * S52 - Q = (P - Ia)^2 / (P - Ia + S) when P > Ia, otherwise Q = 053- CN ranges from ~30 (permeable sandy soil, good cover) to 98 (impervious surfaces)54- All values are in millimetres55 56## Output Format57 58Show your step-by-step working in Markdown. At the end of your solution, include a JSON block with your final answers in exactly this format:59 60```json61{62 "potential_max_retention_mm": <numeric_value>,63 "initial_abstraction_mm": <numeric_value>,64 "runoff_depth_mm": <numeric_value>65}66```67 68Write your complete solution to `/workspace/output.md`.69

Scenario archetypes

Each generated task is drawn from one of these realistic scenario bands.

Site contexts ground each scenario in a real locale the model can use to infer hidden values.

Parkland sandy soil

parkland_sandy_soil

Parkland and open green space on well-drained sandy soil (HSG A)

adelaide-parklands-sandperth-coastal-reservegold-coast-hinterland-park
Parameter ranges
curve_number
30 – 49

Suburban residential

suburban_residential

Suburban residential area with lawns and driveways on loamy soil (HSG B)

sydney-western-suburbsmelbourne-outer-eastbrisbane-northern-suburbs
Parameter ranges
curve_number
55 – 75

Agricultural pasture

agricultural_pasture

Agricultural pasture on moderately drained silt-loam soil (HSG C)

hunter-valley-pastoraldarling-downs-farmlandbarossa-valley-grazing
Parameter ranges
curve_number
71 – 83

Commercial industrial

commercial_industrial

Commercial or industrial precinct with mostly impervious surfaces on clay soil (HSG D)

sydney-cbd-redevelopmentmelbourne-docklandsbrisbane-port-industrial
Parameter ranges
curve_number
89 – 98

Forest sandy loam

forest_sandy_loam

Forested catchment on sandy-loam soil with good ground cover (HSG B)

blue-mountains-bushlanddandenong-ranges-foresttamborine-mountain-reserve
Parameter ranges
curve_number
55 – 66

Example task

adelaide-parklands-sand-parkland-sandy-soil-previewhard difficulty, some inputs hidden.

Parkland and open green space on well-drained sandy soil (HSG A). adelaide-parklands-sand. Required outputs: potential_max_retention_mm, initial_abstraction_mm, runoff_depth_mm

The model sees

Scenario context and visible inputs.

rainfall_depth_mm
5 to 300 mm

Executable tool: scs-curve-number_calc.py

The model must infer

Inputs withheld at this difficulty.

  • Curve number

    curve_number

Stand-in text in the prompt

The catchment is {{ archetype.description }} ({{ archetype.site_context }})

The model must produce

The scored JSON answer schema.

{
  "potential_max_retention_mm": <number>,
  "initial_abstraction_mm": <number>,
  "runoff_depth_mm": <number>
}
  • potential_max_retention_mm · scored within ±3%
  • initial_abstraction_mm · scored within ±3%
  • runoff_depth_mm · scored within ±3%