Weather cases (.ohlwc)#

A weather case is a cable temperature, ice and wind. Cases are kept in a file and each run chooses the ones it needs.

format = "ohl-weather-cases"
version = 1
name = "Project X"

[[case]]
name = "max temperature"
tags = ["clearance"]
temperature = "80 °C"

[[case]]
name = "glaze ice"
tags = ["clearance", "loads"]
temperature = "-5 °C"
ice_thickness = "12.7 mm"
ice_density = "913 kg/m³"

[[case]]
name = "rime ice + wind"
tags = ["loads"]
temperature = "-5 °C"
ice_load = "20 N/m"
ice_density = "500 kg/m³"
wind_pressure = "200 Pa"
Field Required Meaning
name yes Unique name.
description no Free text.
tags no Words for choosing cases (clearance, loads, …).
temperature yes Cable temperature.
ice_thickness no Radial ice thickness.
ice_load no Or: ice weight per length of wire (not both).
ice_density no With a thickness: the ice weight (default glaze ice, 913 kg/m³). With a load: the iced diameter for the wind; without it, wind acts on the bare diameter.
wind_pressure no Wind pressure on the projected (iced) diameter, perpendicular to each span.
air_density_factor no Q, Pa/(m/s)²: the wind pressure of a wind velocity V is Q·V² (default 0.613, ½ρ of air at 15 °C at sea level). Only relates pressure and velocity (the Weather cases table shows and takes both); the loads use wind_pressure.
ambient_temperature no Air temperature, e.g. "35 °C", for ratings; the wires use temperature.
wind_from no Files of earlier versions only: the side is now chosen where the wires are shown (desktop app: View › Display weather cases — right, left or both; the command line still reads it, right by default, and ohl line --wind-from sets it for a single case). A project's weather case file loses it when the project is opened; a file read directly is not changed (its value is not used by the app).

Values take units ("0.5 in", "4 psf", "1.2 lbf/ft", …).

How ice loads a wire#

On a bare wire of diameter d and weight w:

  • thickness t: ice area A = π/4 [(d + 2t)² − d²], ice weight ρ g A, iced diameter D = d + 2t;
  • load wᵢ: ice weight as given; with a density ρ the ice area is A = wᵢ / (ρ g) and the iced diameter D = √(d² + 4A/π) — light rime of the same weight as dense glaze presents more area to the wind; without a density, D = d.

The vertical load is w + ice weight, the wind load q·D, and the wire hangs in the plane of their resultant.

Choosing cases#

ohl line project.ohl --weather cases.ohlwc --tag clearance --pointcloud project.ohl --rules rules.ohlr
ohl line project.ohl --weather cases.ohlwc --case "glaze*" --case "max temperature"

--case takes names with * and ? wildcards, --tag tags; both can be repeated and combined (a case is run if it matches any). Without them every case of the file runs. A name or tag that matches nothing is an error, so a typo cannot silently skip a case.

Each case is solved and checked against the clearance rules in turn; the ground and LiDAR points are loaded once for all cases. The clearance CSV has a case column and ends with the envelope over all cases (lowest clearance and governing case per wire and rule; see clearance rules). The plan and profile sheets draw every case's wires; the 3D viewer and the wire CSVs show the first case (with violation markers of all cases).

Without --weather, one case comes from --temperature, --wind-pressure (with --wind-from left|right) and --ice-thickness or --ice-load (with --ice-density).

ohl sagtension jobs use the same case fields in their [[case]] lists.

View this page's source on GitHub