simbrief docs
Runway Analysis
ofp.TLR holds SimBrief’s take-off and landing report. It is filled only when the plan was generated with runway analysis on (FlightPlanRequest.RunwayAnalysis) for an aircraft that supports it (AircraftOption.TLRData); otherwise it is the zero value and the helpers return false. Both JSON v2 and XML fill it. Weights are in Params.Units, lengths in feet, speeds in knots, temperatures in degrees Celsius.
tlr := ofp.TLR
if rwy, ok := tlr.TakeoffRunway(ofp.Origin.Runway); ok { // "06"; "6" works too
fmt.Println(rwy.SpeedsV1.Int(), rwy.SpeedsVR.Int(), rwy.SpeedsV2.Int()) // 129 129 134
fmt.Println(rwy.FlapSetting, rwy.ThrustSetting, rwy.FlexTemperature.Int()) // "1" "FLEX" 65
}
if vref, ok := tlr.LandingVref(false); ok { // false = dry runway, true = wet
fmt.Println(vref) // 125
}
fmt.Println(tlr.Landing.DistanceDry.FactoredDistance.Int()) // 3546 (feet)
Finding a runway
TakeoffRunway(ident) tries the exact identifier first, then ignores case, a “RW”/“RWY” prefix and leading zeros (“6l” finds “06L”); a number without a side letter finds a lettered runway only when exactly one matches.
LandingVref(wet) returns the Vref of the dry or wet landing distance.
The rest of the report
The rest of the report is plain data:
| Field | Type | Content |
|---|---|---|
TLR.Takeoff.Conditions, TLR.Landing.Conditions |
TLRConditions |
planned runway and weight, wind, temperature, altimeter, surface |
TLR.Takeoff.Runways |
[]TakeoffRunway |
flaps, thrust, flex temperature, V-speeds, limits and distances |
TLR.Landing.DistanceDry, DistanceWet |
TLRLandingDistance |
landing distances and Vref |
TLR.Landing.Runways |
[]LandingRunway |
per-runway landing data |
Both runway types embed TLRRunway (lengths, course, wind components, ILS frequency).
Getting a plan with runway analysis
Turn it on in the request when you generate the plan:
req := client.NewFlightPlan("LKPR", "EGLL", "A320").Build()
runwayAnalysis := true
req.RunwayAnalysis = &runwayAnalysis // TLR in the OFP (aircraft with TLRData)
fmt.Println(c.GenerateFlightPlanURL(req))
An empty TLR means the plan was generated without runway analysis, or the aircraft has no TLRData.