ISimulatorEnvironment
USI.Core
Simulator-neutral atmospheric conditions at the user aircraft.
public interface ISimulatorEnvironmentMethods
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.
