Interface

ISimulatorEnvironment

USI.Core

Simulator-neutral atmospheric conditions at the user aircraft.

public interface ISimulatorEnvironment

Methods

TryGetAircraftCloudLayersAsync

public Task<USIResult<IReadOnlyList<WeatherCloudLayer>>> TryGetAircraftCloudLayersAsync()

Gets the three cloud layers currently modeled around the user aircraft, independently of the editable regional weather model.

TryGetAircraftWindLayersAsync

public Task<USIResult<IReadOnlyList<WeatherWindLayer>>> TryGetAircraftWindLayersAsync()

Gets the thirteen wind layers currently modeled around the user aircraft, independently of the editable regional weather model.

TryGetAirDensityKilogramsPerCubicMeterAsync

public Task<USIResult<Double>> TryGetAirDensityKilogramsPerCubicMeterAsync()

TryGetAirDensityRatioToStandardSeaLevelAsync

public Task<USIResult<Double>> TryGetAirDensityRatioToStandardSeaLevelAsync()

Gets local air density divided by the International Standard Atmosphere sea-level reference density of 1.225 kg/m³.

TryGetAmbientPressureInchesMercuryAsync

public Task<USIResult<Double>> TryGetAmbientPressureInchesMercuryAsync()

TryGetAmbientTemperatureCelsiusAsync

public Task<USIResult<Double>> TryGetAmbientTemperatureCelsiusAsync()

TryGetApplyRegionalWeatherImmediatelyAsync

public Task<USIResult<Boolean>> TryGetApplyRegionalWeatherImmediatelyAsync()

TryGetBarometricAltimeterTemperatureErrorFeetAsync

public Task<USIResult<Double>> TryGetBarometricAltimeterTemperatureErrorFeetAsync()

Gets the signed altitude error caused by non-standard temperature for a correctly set barometric altimeter, in feet.

TryGetCameraCloudDensityRatioAsync

public Task<USIResult<Double>> TryGetCameraCloudDensityRatioAsync()

Gets cloud density at the simulation camera as a unit ratio.

TryGetCameraSmokeDensityRatioAsync

public Task<USIResult<Double>> TryGetCameraSmokeDensityRatioAsync()

Gets smoke density at the simulation camera as a unit ratio. This is distinct from whether the aircraft is inside ambient smoke.

TryGetCameraWeatherAsync

public Task<USIResult<CameraWeatherSnapshot>> TryGetCameraWeatherAsync()

Gets one immutable snapshot of atmospheric conditions at the simulation camera. This observation is distinct from weather affecting the user aircraft and may be unavailable on providers without camera-local data.

TryGetCelestialPresentationAsync

public Task<USIResult<CelestialPresentationSnapshot>> TryGetCelestialPresentationAsync()

Gets the celestial state currently used by the simulator's presentation model. This is not an independently calculated astronomical ephemeris.

TryGetDensityAltitudeFeetAsync

public Task<USIResult<Double>> TryGetDensityAltitudeFeetAsync()

Gets density altitude in feet. Providers may supply this directly or USI may compose it from pressure altitude and ambient temperature.

TryGetEastwardWindFeetPerSecondAsync

public Task<USIResult<Double>> TryGetEastwardWindFeetPerSecondAsync()

Gets the eastward wind component in feet per second.

TryGetEffectiveRenderedVisibilityMetersAsync

public Task<USIResult<Double>> TryGetEffectiveRenderedVisibilityMetersAsync()

Gets effective rendered visibility after any provider frame-rate protection has reduced the modeled atmospheric visibility.

TryGetHailOnWindshieldRatioAsync

public Task<USIResult<Double>> TryGetHailOnWindshieldRatioAsync()

Gets hail accumulation on the aircraft windshield as a unit ratio.

TryGetInCloudAsync

public Task<USIResult<Boolean>> TryGetInCloudAsync()

Gets whether the user aircraft is currently inside cloud.

TryGetLastDownloadedMetarAsync

public Task<USIResult<String>> TryGetLastDownloadedMetarAsync(string airportIdentifier)

Gets the provider's last downloaded METAR text for an airport. This is source-report data and is not promised to equal current modeled weather.

TryGetLiveWeatherTimeSourceAsync

public Task<USIResult<LiveWeatherTimeSource>> TryGetLiveWeatherTimeSourceAsync()

TryGetLocalGravityFeetPerSecondSquaredAsync

public Task<USIResult<Double>> TryGetLocalGravityFeetPerSecondSquaredAsync()

Gets local gravitational acceleration in feet per second squared.

TryGetLocalPrecipitationKindsAsync

public Task<USIResult<LocalPrecipitationKind>> TryGetLocalPrecipitationKindsAsync()

Gets the precipitation kinds currently affecting the aircraft.

TryGetLocalPrecipitationRateMillimetersOfWaterAsync

public Task<USIResult<Double>> TryGetLocalPrecipitationRateMillimetersOfWaterAsync()

Gets the provider's local precipitation-rate value in millimeters of water equivalent. The simulator documents no time denominator for this value; it is therefore not interchangeable with a rainfall rate per hour.

TryGetLocalSpeedOfSoundFeetPerSecondAsync

public Task<USIResult<Double>> TryGetLocalSpeedOfSoundFeetPerSecondAsync()

Gets the local speed of sound in feet per second.

TryGetLocalWindAsync

public Task<USIResult<LocalWindSnapshot>> TryGetLocalWindAsync()

Gets one immutable snapshot of the wind currently affecting the user aircraft in meteorological and earth-axis forms.

TryGetNorthwardWindFeetPerSecondAsync

public Task<USIResult<Double>> TryGetNorthwardWindFeetPerSecondAsync()

Gets the northward wind component in feet per second.

TryGetRainOnWindshieldRatioAsync

public Task<USIResult<Double>> TryGetRainOnWindshieldRatioAsync()

Gets rain accumulation on the aircraft windshield as a unit ratio.

TryGetRegionalRainfallRatioAsync

public Task<USIResult<Double>> TryGetRegionalRainfallRatioAsync()

TryGetRegionalSeaLevelPressureInchesMercuryAsync

public Task<USIResult<Double>> TryGetRegionalSeaLevelPressureInchesMercuryAsync()

TryGetRegionalSeaLevelTemperatureCelsiusAsync

public Task<USIResult<Double>> TryGetRegionalSeaLevelTemperatureCelsiusAsync()

TryGetRegionalThermalUpdraftRateFeetPerSecondAsync

public Task<USIResult<Double>> TryGetRegionalThermalUpdraftRateFeetPerSecondAsync()

TryGetRegionalTropopauseAltitudeFeetAsync

public Task<USIResult<Double>> TryGetRegionalTropopauseAltitudeFeetAsync()

TryGetRegionalTropopauseTemperatureCelsiusAsync

public Task<USIResult<Double>> TryGetRegionalTropopauseTemperatureCelsiusAsync()

TryGetRegionalVisibilityMetersAsync

public Task<USIResult<Double>> TryGetRegionalVisibilityMetersAsync()

TryGetRegionalWaterWaveAmplitudeFeetAsync

public Task<USIResult<Double>> TryGetRegionalWaterWaveAmplitudeFeetAsync()

TryGetRegionalWaterWaveDirectionDegreesAsync

public Task<USIResult<Double>> TryGetRegionalWaterWaveDirectionDegreesAsync()

TryGetRegionalWaterWaveLengthFeetAsync

public Task<USIResult<Double>> TryGetRegionalWaterWaveLengthFeetAsync()

TryGetRegionalWaterWaveSpeedFeetPerSecondAsync

public Task<USIResult<Double>> TryGetRegionalWaterWaveSpeedFeetPerSecondAsync()

TryGetRegionalWeatherAsync

public Task<USIResult<RegionalWeatherSnapshot>> TryGetRegionalWeatherAsync()

Gets the editable base conditions of the regional weather model.

TryGetRegionalWeatherPresetAsync

public Task<USIResult<RegionalWeatherPreset>> TryGetRegionalWeatherPresetAsync()

TryGetRegionalWeatherSourceAsync

public Task<USIResult<RegionalWeatherSource>> TryGetRegionalWeatherSourceAsync()

TryGetRegionalWeatherTransitionAsync

public Task<USIResult<RegionalWeatherTransition>> TryGetRegionalWeatherTransitionAsync()

TryGetRegionalWeatherVariabilityRatioAsync

public Task<USIResult<Double>> TryGetRegionalWeatherVariabilityRatioAsync()

TryGetRunwaySurfaceConditionAsync

public Task<USIResult<RunwaySurfaceCondition>> TryGetRunwaySurfaceConditionAsync()

TryGetSeaLevelPressureInchesMercuryAsync

public Task<USIResult<Double>> TryGetSeaLevelPressureInchesMercuryAsync()

TryGetSeaLevelRelativeHumidityRatioAsync

public Task<USIResult<Double>> TryGetSeaLevelRelativeHumidityRatioAsync()

Gets sea-level relative humidity as a unit ratio.

TryGetSeaLevelTemperatureCelsiusAsync

public Task<USIResult<Double>> TryGetSeaLevelTemperatureCelsiusAsync()

TryGetSnowOnWindshieldRatioAsync

public Task<USIResult<Double>> TryGetSnowOnWindshieldRatioAsync()

Gets snow accumulation on the aircraft windshield as a unit ratio.

TryGetTerrainVisibilityMetersAsync

public Task<USIResult<Double>> TryGetTerrainVisibilityMetersAsync()

Gets the current terrain rendering visibility distance in meters.

TryGetThermalUpdraftRateFeetPerSecondAsync

public Task<USIResult<Double>> TryGetThermalUpdraftRateFeetPerSecondAsync()

Gets the local thermal updraft rate in feet per second.

TryGetTotalAirTemperatureCelsiusAsync

public Task<USIResult<Double>> TryGetTotalAirTemperatureCelsiusAsync()

TryGetUpwardWindFeetPerSecondAsync

public Task<USIResult<Double>> TryGetUpwardWindFeetPerSecondAsync()

Gets the upward wind component in feet per second.

TryGetVisibilityMetersAsync

public Task<USIResult<Double>> TryGetVisibilityMetersAsync()

Gets local atmospheric visibility distance in meters.

TryGetVisibilityRetentionRatioAsync

public Task<USIResult<Double>> TryGetVisibilityRetentionRatioAsync()

Gets the zero-through-one ratio of modeled visibility retained after provider frame-rate protection.

TryGetWaterWaveAmplitudeFeetAsync

public Task<USIResult<Double>> TryGetWaterWaveAmplitudeFeetAsync()

Gets local water-wave amplitude in feet.

TryGetWaterWaveDirectionDegreesAsync

public Task<USIResult<Double>> TryGetWaterWaveDirectionDegreesAsync()

Gets local water-wave direction in normalized degrees.

TryGetWaterWaveLengthFeetAsync

public Task<USIResult<Double>> TryGetWaterWaveLengthFeetAsync()

Gets local water-wave length in feet.

TryGetWaterWaveSpeedFeetPerSecondAsync

public Task<USIResult<Double>> TryGetWaterWaveSpeedFeetPerSecondAsync()

Gets local water-wave propagation speed in feet per second.

TryGetWeatherAtLocationAsync

public Task<USIResult<WeatherAtLocationSnapshot>> TryGetWeatherAtLocationAsync(WeatherSampleLocation location)

Samples the simulator's modeled atmosphere at a geodetic location. Provider coverage may be regional rather than global.

TryGetWeatherLayersAsync

public Task<USIResult<WeatherLayerSnapshot>> TryGetWeatherLayersAsync()

Gets the provider's modeled regional wind, temperature, and cloud layers in stable units and classifications.

TryGetWindDirectionFromDegreesTrueAsync

public Task<USIResult<Double>> TryGetWindDirectionFromDegreesTrueAsync()

Gets the true direction from which the wind is blowing, normalized to zero through less than 360 degrees.

TryGetWindSpeedKnotsAsync

public Task<USIResult<Double>> TryGetWindSpeedKnotsAsync()

TryRegenerateRegionalWeatherAsync

public Task<USIResult> TryRegenerateRegionalWeatherAsync()

Requests an immediate regeneration of the simulator's regional weather model. Providers without an equivalent deterministic operation report this optional operation as unsupported.

TrySetApplyRegionalWeatherImmediatelyAsync

public Task<USIResult> TrySetApplyRegionalWeatherImmediatelyAsync(bool apply)

TrySetLiveWeatherTimeSourceAsync

public Task<USIResult> TrySetLiveWeatherTimeSourceAsync(LiveWeatherTimeSource source)

TrySetRegionalRainfallRatioAsync

public Task<USIResult> TrySetRegionalRainfallRatioAsync(double rainfallRatio)

TrySetRegionalSeaLevelPressureInchesMercuryAsync

public Task<USIResult> TrySetRegionalSeaLevelPressureInchesMercuryAsync(double pressureInchesMercury)

TrySetRegionalSeaLevelTemperatureCelsiusAsync

public Task<USIResult> TrySetRegionalSeaLevelTemperatureCelsiusAsync(double temperatureCelsius)

TrySetRegionalThermalUpdraftRateFeetPerSecondAsync

public Task<USIResult> TrySetRegionalThermalUpdraftRateFeetPerSecondAsync(double updraftFeetPerSecond)

TrySetRegionalTropopauseAltitudeFeetAsync

public Task<USIResult> TrySetRegionalTropopauseAltitudeFeetAsync(double altitudeFeetMeanSeaLevel)

TrySetRegionalTropopauseTemperatureCelsiusAsync

public Task<USIResult> TrySetRegionalTropopauseTemperatureCelsiusAsync(double temperatureCelsius)

TrySetRegionalVisibilityMetersAsync

public Task<USIResult> TrySetRegionalVisibilityMetersAsync(double visibilityMeters)

TrySetRegionalWaterWaveAmplitudeFeetAsync

public Task<USIResult> TrySetRegionalWaterWaveAmplitudeFeetAsync(double amplitudeFeet)

TrySetRegionalWaterWaveDirectionDegreesAsync

public Task<USIResult> TrySetRegionalWaterWaveDirectionDegreesAsync(double directionDegrees)

TrySetRegionalWeatherPresetAsync

public Task<USIResult> TrySetRegionalWeatherPresetAsync(RegionalWeatherPreset preset)

TrySetRegionalWeatherTransitionAsync

public Task<USIResult> TrySetRegionalWeatherTransitionAsync(RegionalWeatherTransition transition)

TrySetRegionalWeatherVariabilityRatioAsync

public Task<USIResult> TrySetRegionalWeatherVariabilityRatioAsync(double ratio)

TrySetRunwaySurfaceConditionAsync

public Task<USIResult> TrySetRunwaySurfaceConditionAsync(RunwaySurfaceCondition condition)

TrySetWeatherLayersAsync

public Task<USIResult> TrySetWeatherLayersAsync(WeatherLayerSnapshot weatherLayers)

Replaces the simulator's structured regional weather layers using stable USI units and cloud classifications.