- bool first_update;
- double station_elevation_ft;
- string metar;
- double interpolate_prop(const char * currentname, const char * requiredname, double dvalue);
- double interpolate_val(double currentval, double requiredval, double dvalue);
- const double EnvironmentUpdatePeriodSec; // Seconds between interpolations
- const double MaxWindChangeKtsSec; // Max wind change in kts/sec
- const double MaxVisChangePercentSec; // Max visibility change in %/sec
- const double MaxPressureChangeInHgSec; // Max pressure change in InHg/sec
- const double MaxCloudAltitudeChangeFtSec; // Max cloud altitude change in ft/s
- const double MaxCloudThicknessChangeFtSec; // Max cloud thickness change in ft/s
- const double MaxCloudInterpolationHeightFt; // Max distance from aircraft to
- // interpolate at. Any cloud
- // changes above this height
- // difference are not interpolated
- const double MaxCloudInterpolationDeltaFt; // Max difference in altitude to
- // interpolate. Any cloud changing height
- // by more than this value is not
- // interpolated
-
- SGSubsystem * _environmentCtrl;
-
- SGPropertyNode_ptr metar_base_n;
- SGPropertyNode_ptr station_id_n;
- SGPropertyNode_ptr station_elevation_n;
- SGPropertyNode_ptr min_visibility_n;
- SGPropertyNode_ptr max_visibility_n;
- SGPropertyNode_ptr base_wind_range_from_n;
- SGPropertyNode_ptr base_wind_range_to_n;
- SGPropertyNode_ptr base_wind_dir_n;
- SGPropertyNode_ptr base_wind_speed_n;
- SGPropertyNode_ptr gust_wind_speed_n;
- SGPropertyNode_ptr temperature_n;
- SGPropertyNode_ptr dewpoint_n;
- SGPropertyNode_ptr humidity_n;
- SGPropertyNode_ptr pressure_n;
- SGPropertyNode_ptr clouds_n;
- SGPropertyNode_ptr environment_clouds_n;
- SGPropertyNode_ptr rain_n;
- SGPropertyNode_ptr hail_n;
- SGPropertyNode_ptr snow_n;
- SGPropertyNode_ptr snow_cover_n;
- SGPropertyNode_ptr ground_elevation_n;
- SGPropertyNode_ptr longitude_n;
- SGPropertyNode_ptr latitude_n;
-
- SGPropertyNode_ptr boundary_wind_speed_n;
- SGPropertyNode_ptr boundary_wind_from_heading_n;
- SGPropertyNode_ptr boundary_visibility_n;
- SGPropertyNode_ptr boundary_sea_level_pressure_n;
+ bool first_update;
+ bool wind_interpolation_required;
+ string metar;
+ double metar_sealevel_temperature;
+ double metar_sealevel_dewpoint;
+ double interpolate_prop(const char * currentname, const char * requiredname, double dvalue);
+ double interpolate_val(double currentval, double requiredval, double dvalue);
+ const double MaxWindChangeKtsSec; // Max wind change in kts/sec
+ const double MaxVisChangePercentSec; // Max visibility change in %/sec
+ const double MaxPressureChangeInHgSec; // Max pressure change in InHg/sec
+ const double MaxTemperatureChangeDegcSec; // Max temperature change in degc/s
+ const double MaxCloudAltitudeChangeFtSec; // Max cloud altitude change in ft/s
+ const double MaxCloudThicknessChangeFtSec; // Max cloud thickness change in ft/s
+ const double MaxCloudInterpolationHeightFt; // Max distance from aircraft to
+ // interpolate at. Any cloud
+ // changes above this height
+ // difference are not interpolated
+ const double MaxCloudInterpolationDeltaFt; // Max difference in altitude to
+ // interpolate. Any cloud changing height
+ // by more than this value is not
+ // interpolated
+
+ SGSubsystem * _environmentCtrl;
+
+ SGPropertyNode_ptr metar_base_n;
+ SGPropertyNode_ptr station_id_n;
+ SGPropertyNode_ptr station_elevation_n;
+ SGPropertyNode_ptr min_visibility_n;
+ SGPropertyNode_ptr max_visibility_n;
+ SGPropertyNode_ptr base_wind_range_from_n;
+ SGPropertyNode_ptr base_wind_range_to_n;
+ SGPropertyNode_ptr base_wind_dir_n;
+ SGPropertyNode_ptr base_wind_speed_n;
+ SGPropertyNode_ptr gust_wind_speed_n;
+ SGPropertyNode_ptr temperature_n;
+ SGPropertyNode_ptr dewpoint_n;
+ SGPropertyNode_ptr humidity_n;
+ SGPropertyNode_ptr pressure_n;
+ SGPropertyNode_ptr clouds_n;
+ SGPropertyNode_ptr environment_clouds_n;
+ SGPropertyNode_ptr rain_n;
+ SGPropertyNode_ptr hail_n;
+ SGPropertyNode_ptr snow_n;
+ SGPropertyNode_ptr snow_cover_n;
+ SGPropertyNode_ptr ground_elevation_n;
+ SGPropertyNode_ptr longitude_n;
+ SGPropertyNode_ptr latitude_n;
+ SGPropertyNode_ptr magnetic_variation_n;
+
+ SGPropertyNode_ptr boundary_wind_speed_n;
+ SGPropertyNode_ptr boundary_wind_from_heading_n;
+ SGPropertyNode_ptr boundary_visibility_n;
+ SGPropertyNode_ptr boundary_sea_level_pressure_n;
+ SGPropertyNode_ptr boundary_sea_level_temperature_n;
+ SGPropertyNode_ptr boundary_sea_level_dewpoint_n;