Potential max retention
potential_max_retention_mm
Potential maximum retention S (mm)
Scores if within ±3% of the reference value.
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
One template produces many comparable benchmark tasks while keeping the scoring contract fixed.
01
The reusable contract shown on this page.
02
An archetype and site context are sampled.
03
Inputs may be hidden at harder tiers.
04
The model responds with the declared outputs.
Inputs the model receives, and the outputs it is scored on.
2 inputs
Included directly in every task prompt.
Rainfall depth
rainfall_depth_mm
Total storm rainfall depth P
Sampled from the scenario and inferable from its description.
Curve number
curve_number
SCS/NRCS curve number CN (dimensionless)
Derived from the archetype scenario. Hidden at hard difficulty.
3 outputs
potential_max_retention_mm
Potential maximum retention S (mm)
Scores if within ±3% of the reference value.
initial_abstraction_mm
Initial abstraction Ia (mm)
Scores if within ±3% of the reference value.
runoff_depth_mm
Runoff depth Q (mm)
Scores if within ±3% of the reference value.
Each template is sampled at three tiers. Harder tiers may hide inputs, forcing the model to infer them from the scenario description.
All inputs given
Direct application of SCS equations with all parameters given
All inputs given
Wider parameter ranges; agent must handle low-CN cases where Q may be zero
Some inputs hidden
Curve number hidden — agent must infer CN from land cover and soil group description
Hidden inputs
Prompt replacement text
The catchment is {{ archetype.description }} ({{ archetype.site_context }})
The exact instruction and parameter contract used to generate this task, pinned to the published library source.
/workspace
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 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 and open green space on well-drained sandy soil (HSG A)
suburban_residential
Suburban residential area with lawns and driveways on loamy soil (HSG B)
agricultural_pasture
Agricultural pasture on moderately drained silt-loam soil (HSG C)
commercial_industrial
Commercial or industrial precinct with mostly impervious surfaces on clay soil (HSG D)
forest_sandy_loam
Forested catchment on sandy-loam soil with good ground cover (HSG B)
adelaide-parklands-sand-parkland-sandy-soil-preview — hard 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
Scenario context and visible inputs.
Executable tool: scs-curve-number_calc.py
Inputs withheld at this difficulty.
Curve number
curve_number
Stand-in text in the prompt
The catchment is {{ archetype.description }} ({{ archetype.site_context }})
The scored JSON answer schema.
{
"potential_max_retention_mm": <number>,
"initial_abstraction_mm": <number>,
"runoff_depth_mm": <number>
}