Dynamic pressure
dynamic_pressure_kpa
Base velocity pressure q (kPa)
Scores if within ±3% of the reference value.
Calculates wind loads on ground-mounted photovoltaic arrays by combining AS/NZS 1170.2 dynamic pressure with SEAOC PV2-2017 net pressure coefficients. Interpolates GCrn values for tilt angle and row position to determine uplift suction, downward pressure, per-module uplift force, and horizontal drag force per metre of array width. Applicable to fixed-tilt utility and commercial solar installations in Australian wind regions.
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.
8 inputs
Included directly in every task prompt.
Design wind speed m per s
design_wind_speed_m_per_s
Site design wind speed V_des,theta (after terrain, topographic, shielding, and direction multipliers)
Array height
array_height_m
Hub height of array above ground level
Module width
module_width_m
Width of a single PV module (along the slope)
Module length
module_length_m
Length of a single PV module (along the row)
Num modules wide
num_modules_wide
Number of modules arranged in the slope direction per row
Sampled from the scenario and inferable from its description.
Tilt angle deg
tilt_angle_deg
Array tilt angle from horizontal
Derived from the archetype scenario. Hidden at hard difficulty.
Row position
row_position
Row position in the array field affecting wind exposure
Derived from the archetype scenario. Hidden at hard difficulty.
Used only when the sampled task needs this part of the contract.
Air density kg per m3
air_density_kg_per_m3
Air density rho (standard atmosphere default 1.2)
Optional input.
5 outputs
dynamic_pressure_kpa
Base velocity pressure q (kPa)
Scores if within ±3% of the reference value.
uplift_pressure_kpa
Net uplift (suction) pressure on the array surface (kPa)
Scores if within ±3% of the reference value.
downforce_pressure_kpa
Net downward pressure on the array surface (kPa)
Scores if within ±3% of the reference value.
uplift_force_per_module_kn
Uplift force acting on a single PV module (kN)
Scores if within ±3% of the reference value.
drag_force_per_m_kn
Horizontal drag force per metre of array row length (kN/m)
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
Low wind speed, exposed row, all parameters given — straightforward pressure and force calculation
Design wind speed m per s restricted to: {'min': 25, 'max': 40}
All inputs given
Higher wind speeds and steeper tilts with all parameters given
Design wind speed m per s restricted to: {'min': 35, 'max': 55}
Some inputs hidden
Tilt angle and row position hidden — agent must infer from site description and array configuration
Hidden inputs
Prompt replacement text
The array is a {{ archetype.description }} ({{ archetype.site_context }})
Design wind speed m per s restricted to: {'min': 40, 'max': 60}
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/structural engineer specializing in wind loading for renewable energy structures.2 3## Problem4 5Calculate the wind loads on a ground-mounted solar PV array, including uplift pressure, downward pressure, per-module uplift force, and horizontal drag force.6 7## Given8 9| Parameter | Value | Unit |10|-----------|-------|------|11| Design wind speed (V_des,θ) | {{ design_wind_speed_m_per_s }} | m/s |12{% if tilt_angle_deg is defined %}13| Array tilt angle | {{ tilt_angle_deg }} | degrees |14{% endif %}15| Hub height above ground | {{ array_height_m }} | m |16| Module width (slope direction) | {{ module_width_m }} | m |17| Module length (row direction) | {{ module_length_m }} | m |18| Modules wide (slope direction) | {{ num_modules_wide }} | - |19{% if row_position is defined %}20| Row position | {{ row_position }} | - |21{% endif %}22{% if air_density_kg_per_m3 is defined %}23| Air density (ρ) | {{ air_density_kg_per_m3 }} | kg/m³ |24{% endif %}25{% if archetype_description is defined %}26 27### Site Description28 29{{ archetype_description }}30{% endif %}31 32{% if tool_available %}33## Available Tool34 35A wind load calculation tool is available at `/workspace/{{ meta.name }}_calc.py`. Run it with:36 37```bash38python3 /workspace/{{ meta.name }}_calc.py --help39```40 41You may use this tool to verify your calculations or compute values directly.42{% endif %}43 44## Required45 46Calculate the following:47 481. Dynamic (velocity) pressure q in kPa492. Net uplift (suction) pressure on the array in kPa503. Net downward pressure on the array in kPa514. Uplift force per module in kN525. Horizontal drag force per metre of array row in kN/m53 54## Applicable Standards55 56- AS/NZS 1170.2 — Structural design actions, Part 2: Wind actions57- SEAOC PV2-2017 — Wind Design for Solar Arrays (net pressure coefficients)58- ASCE 7-22 Chapter 29 — Wind loads on other structures (ground-mounted PV)59 60## Methodology61 62- **Dynamic pressure** (AS/NZS 1170.2): q = 0.5 × ρ × V_des² (Pa), convert to kPa by dividing by 100063- **Net pressure coefficients** (SEAOC PV2-2017): Use GCrn values that depend on tilt angle and row position (exposed end rows vs sheltered interior rows). Interior rows use approximately 60% of the exposed-row coefficients.64- **Approximate GCrn values for exposed panels:**65 66 | Tilt (°) | GCrn uplift | GCrn downforce |67 |----------|-------------|----------------|68 | 5 | 0.8 | 0.3 |69 | 10 | 1.0 | 0.5 |70 | 15 | 1.2 | 0.7 |71 | 20 | 1.4 | 0.9 |72 | 25 | 1.5 | 1.0 |73 | 30 | 1.6 | 1.1 |74 | 35 | 1.7 | 1.1 |75 | 45 | 1.8 | 1.2 |76 77 Interpolate linearly for intermediate tilt angles.78 79- **Uplift pressure**: p_uplift = q × GCrn_uplift80- **Downforce pressure**: p_down = q × GCrn_downforce81- **Uplift force per module**: F_uplift = p_uplift × module_width × module_length82- **Drag force per metre**: F_drag = q × C_drag × (num_modules_wide × module_width × sin(tilt)), where C_drag ≈ 1.383 84## Constraints85 86- No internet access is available. Work from engineering knowledge and the provided tool.87- The design wind speed provided is the site wind speed after all AS/NZS 1170.2 multipliers have been applied.88- Use standard air density of 1.2 kg/m³ unless otherwise specified.89- All forces and pressures should be reported as positive magnitudes.90 91## Output Format92 93Show 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:94 95```json96{97 "dynamic_pressure_kpa": <numeric_value>,98 "uplift_pressure_kpa": <numeric_value>,99 "downforce_pressure_kpa": <numeric_value>,100 "uplift_force_per_module_kn": <numeric_value>,101 "drag_force_per_m_kn": <numeric_value>102}103```104 105Write your complete solution to `/workspace/output.md`.106 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.
utility_scale_flat
Utility-scale solar farm on flat open terrain with low tilt fixed-tilt racking
utility_scale_steep
Utility-scale solar farm with steeper tilt for higher-latitude sites
commercial_rooftop_ground
Commercial ground-mounted array behind a warehouse or industrial building
remote_community
Remote community or mine-site solar installation on exposed terrain
coastal_exposed
Coastal solar farm subject to high cyclonic wind speeds
gippsland-solar-farm-utility-scale-steep-preview — hard difficulty, some inputs hidden.
Utility-scale solar farm with steeper tilt for higher-latitude sites. gippsland-solar-farm. Required outputs: dynamic_pressure_kpa, uplift_pressure_kpa, downforce_pressure_kpa, uplift_force_per_module_kn, drag_force_per_m_kn
Scenario context and visible inputs.
Executable tool: solar-array-wind-load_calc.py
Inputs withheld at this difficulty.
Row position
row_position
Tilt angle deg
tilt_angle_deg
Stand-in text in the prompt
The array is a {{ archetype.description }} ({{ archetype.site_context }})
The scored JSON answer schema.
{
"dynamic_pressure_kpa": <number>,
"uplift_pressure_kpa": <number>,
"downforce_pressure_kpa": <number>,
"uplift_force_per_module_kn": <number>,
"drag_force_per_m_kn": <number>
}