From 45dd7055e5663695dc9dc7d860b1ef41c177a61a Mon Sep 17 00:00:00 2001 From: Torsten Dreyer Date: Sat, 28 Aug 2010 20:31:44 +0200 Subject: [PATCH] Implementation of weather interpolation using property-rules --- Environment/clouds-altitude-interpolate.xml | 41 +++ Environment/clouds-altitude-set.xml | 43 +++ Environment/clouds-coverage.xml | 37 ++ Environment/clouds-thickness.xml | 29 ++ Environment/environment.xml | 12 +- Environment/interpolator.xml | 111 ++++++ Environment/layer-heading-offset.xml | 36 ++ Environment/layer-speed-change.xml | 39 ++ Environment/metarinterpolator.xml | 375 ++++++++++++++++++++ 9 files changed, 718 insertions(+), 5 deletions(-) create mode 100644 Environment/clouds-altitude-interpolate.xml create mode 100644 Environment/clouds-altitude-set.xml create mode 100644 Environment/clouds-coverage.xml create mode 100644 Environment/clouds-thickness.xml create mode 100644 Environment/interpolator.xml create mode 100644 Environment/layer-heading-offset.xml create mode 100644 Environment/layer-speed-change.xml create mode 100644 Environment/metarinterpolator.xml diff --git a/Environment/clouds-altitude-interpolate.xml b/Environment/clouds-altitude-interpolate.xml new file mode 100644 index 000000000..1bcd1b1fe --- /dev/null +++ b/Environment/clouds-altitude-interpolate.xml @@ -0,0 +1,41 @@ + + + + + environment/metar/clouds/layer[0]/elevation-ft + /environment/clouds/layer[0]/elevation-ft + + MetarController:clouds:altitude_interpolate + noise-spike + 8.333 + + + /environment/metar/valid + + + -9000 + + + + -9000 + + + + + + diff --git a/Environment/clouds-altitude-set.xml b/Environment/clouds-altitude-set.xml new file mode 100644 index 000000000..edd834a49 --- /dev/null +++ b/Environment/clouds-altitude-set.xml @@ -0,0 +1,43 @@ + + + + + environment/metar/clouds/layer[0]/elevation-ft + /environment/clouds/layer[0]/elevation-ft + + MetarController:clouds:altitude_set + gain + 1.0 + + + /environment/metar/valid + + + + -9000 + + + + -9000 + + + + + + + diff --git a/Environment/clouds-coverage.xml b/Environment/clouds-coverage.xml new file mode 100644 index 000000000..83e2fdbbe --- /dev/null +++ b/Environment/clouds-coverage.xml @@ -0,0 +1,37 @@ + + + + + /environment/metar/clouds/layer[0]/coverage-type + environment/clouds/layer[0]/coverage-type + + MetarController:clouds:coverage + gain + 1.0 + + + /environment/metar/valid + + + + + + + + + diff --git a/Environment/clouds-thickness.xml b/Environment/clouds-thickness.xml new file mode 100644 index 000000000..89e64573a --- /dev/null +++ b/Environment/clouds-thickness.xml @@ -0,0 +1,29 @@ + + + + MetarController:clouds:thickness + + + /environment/metar/valid + + + /environment/metar/clouds/layer[0]/thickness-ft + /environment/clouds/layer[0]/thickness-ft + noise-spike + 8.3333 + diff --git a/Environment/environment.xml b/Environment/environment.xml index d20eda081..71e44e61e 100644 --- a/Environment/environment.xml +++ b/Environment/environment.xml @@ -43,7 +43,7 @@ Stormy Monday - XXXX 012345Z 28035G50KT 9999 TSRA SCT022CB BKN030 13/09 Q1005 + XXXX 012345Z 28035G50KT 250V300 9999 TSRA SCT022CB BKN030 13/09 Q1005 You're out for an adventure? Gusty winds blowing from the west and isolated thunderstorms should be avoided. Fasten your seatbelt! @@ -169,31 +169,33 @@ - true clear - 4000 + -9999 600 150 40000 clear - 19500 + -9999 65 25 40000 clear + -9999 40000 clear + -9999 40000 - + clear + -9999 40000 diff --git a/Environment/interpolator.xml b/Environment/interpolator.xml new file mode 100644 index 000000000..761bb608c --- /dev/null +++ b/Environment/interpolator.xml @@ -0,0 +1,111 @@ + + + + + + + EnvironmentInterpolator:temperature-sea-level-degc + + + /environment/config/enabled + + + /environment/config/interpolated/temperature-sea-level-degc + /environment/temperature-sea-level-degc + noise-spike + 0.1667 + + + + EnvironmentInterpolator:dewpoint-sea-level-degc + + + /environment/config/enabled + + + /environment/config/interpolated/dewpoint-sea-level-degc + /environment/dewpoint-sea-level-degc + noise-spike + 0.1667 + + + + + EnvironmentInterpolator:pressure-sea-level-inhg + noise-spike + 0.03 + + + /environment/config/enabled + + + /environment/config/interpolated/pressure-sea-level-inhg + /environment/pressure-sea-level-inhg + + + + EnvironmentInterpolator:visibility-m + + + /environment/config/enabled + + + /environment/config/interpolated/visibility-m + /environment/visibility-m + exponential + 10 + + + + + EnvironmentInterpolator:wind-from-north + + + /environment/config/enabled + + + /environment/config/interpolated/wind-from-north-fps + /environment/wind-from-north-fps + exponential + 5 + + + + EnvironmentInterpolator:wind-from-east + + + /environment/config/enabled + + + /environment/config/interpolated/wind-from-east-fps + /environment/wind-from-east-fps + exponential + 5 + + + diff --git a/Environment/layer-heading-offset.xml b/Environment/layer-heading-offset.xml new file mode 100644 index 000000000..363f71560 --- /dev/null +++ b/Environment/layer-heading-offset.xml @@ -0,0 +1,36 @@ + + + + MetarController:layer:wind-from-heading-deg + gain + 1.0 + + + /environment/metar/valid + + + + /environment/config/boundary/entry[0]/wind-from-heading-deg + /environment/config/boundary/entry[1]/wind-heading-change-deg + + /environment/config/boundary/entry[1]/wind-from-heading-deg + + 0 + 360 + + diff --git a/Environment/layer-speed-change.xml b/Environment/layer-speed-change.xml new file mode 100644 index 000000000..6cce732f4 --- /dev/null +++ b/Environment/layer-speed-change.xml @@ -0,0 +1,39 @@ + + + + MetarController:layer:wind-speed-kt + gain + 1.0 + + + /environment/metar/valid + + + + + + /environment/config/boundary/entry[0]/wind-speed-kt + + /environment/config/boundary/entry[1]/wind-speed-change-rel + 1.0 + + + + + /environment/config/boundary/entry[1]/wind-speed-kt + diff --git a/Environment/metarinterpolator.xml b/Environment/metarinterpolator.xml new file mode 100644 index 000000000..35775635f --- /dev/null +++ b/Environment/metarinterpolator.xml @@ -0,0 +1,375 @@ + + + + + + + MetarController:pressure-sea-level-inhg + noise-spike + 0.0003 + + + /environment/metar/valid + + + /environment/metar/pressure-sea-level-inhg + /environment/config/boundary/entry/pressure-sea-level-inhg + /environment/config/aloft/entry/pressure-sea-level-inhg + + + + + MetarController:temperature-sea-level-degc + noise-spike + 0.01667 + + + /environment/metar/valid + + + /environment/metar/temperature-sea-level-degc + /environment/config/boundary/entry[0]/temperature-sea-level-degc + /environment/config/boundary/entry[1]/temperature-sea-level-degc + /environment/config/aloft/entry[0]/temperature-sea-level-degc + /environment/config/aloft/entry[1]/temperature-sea-level-degc + /environment/config/aloft/entry[2]/temperature-sea-level-degc + /environment/config/aloft/entry[3]/temperature-sea-level-degc + /environment/config/aloft/entry[4]/temperature-sea-level-degc + + + + + MetarController:dewpoint-sea-level-degc + noise-spike + 0.01667 + + + /environment/metar/valid + + + /environment/metar/dewpoint-sea-level-degc + /environment/config/boundary/entry[0]/dewpoint-sea-level-degc + /environment/config/boundary/entry[1]/dewpoint-sea-level-degc + /environment/config/aloft/entry[0]/dewpoint-sea-level-degc + /environment/config/aloft/entry[1]/dewpoint-sea-level-degc + /environment/config/aloft/entry[2]/dewpoint-sea-level-degc + /environment/config/aloft/entry[3]/dewpoint-sea-level-degc + /environment/config/aloft/entry[4]/dewpoint-sea-level-degc + + + + + MetarController:visibility-m + exponential + 30 + + + /environment/metar/valid + + + /environment/metar/min-visibility-m + /environment/config/boundary/entry[0]/visibility-m + /environment/config/boundary/entry[1]/visibility-m + /environment/config/aloft/entry[0]/visibility-m + /environment/config/aloft/entry[1]/visibility-m + + + + + + MetarController:wind-from-north-kt + exponential + 30 + + + /environment/metar/valid + + + + + + + /environment/metar/base-wind-dir-deg + 0.0174533 + + + + /environment/metar/base-wind-speed-kt + + /environment/metar/base-wind-from-north-kt + + + + MetarController:wind-from-east-kt + exponential + 30 + + + /environment/metar/valid + + + + + + + /environment/metar/base-wind-dir-deg + 0.0174533 + + + + /environment/metar/base-wind-speed-kt + + /environment/metar/base-wind-from-east-kt + + + + MetarController::wind-speed-kt + + + /environment/metar/valid + + + + + + + + + /environment/metar/base-wind-from-east-kt + /environment/metar/base-wind-from-east-kt + + + /environment/metar/base-wind-from-north-kt + /environment/metar/base-wind-from-north-kt + + + + + + /environment/config/boundary/entry[0]/wind-speed-kt + gain + 1.0 + + + + MetarController:wind-from-heading-deg + + + /environment/metar/valid + + + + + + /environment/metar/base-wind-from-east-kt + /environment/metar/base-wind-from-north-kt + + + + /environment/config/boundary/entry[0]/wind-from-heading-deg + gain + 57.3 + + 0 + 360 + + + + + + + + + /environment/config/aloft/entry[0]/wind-heading-change-deg + + /environment/config/aloft/entry[0]/wind-from-heading-deg + + + + /environment/config/aloft/entry[1]/wind-heading-change-deg + + /environment/config/aloft/entry[1]/wind-from-heading-deg + + + + /environment/config/aloft/entry[2]/wind-heading-change-deg + + /environment/config/aloft/entry[2]/wind-from-heading-deg + + + + /environment/config/aloft/entry[3]/wind-heading-change-deg + + /environment/config/aloft/entry[3]/wind-from-heading-deg + + + + /environment/config/aloft/entry[4]/wind-heading-change-deg + + /environment/config/aloft/entry[4]/wind-from-heading-deg + + + + + + /environment/config/aloft/entry[0]/wind-speed-change-rel + + /environment/config/aloft/entry[0]/wind-speed-kt + + + + /environment/config/aloft/entry[1]/wind-speed-change-rel + + /environment/config/aloft/entry[1]/wind-speed-kt + + + + /environment/config/aloft/entry[2]/wind-speed-change-rel + + /environment/config/aloft/entry[2]/wind-speed-kt + + + + /environment/config/aloft/entry[3]/wind-speed-change-rel + + /environment/config/aloft/entry[3]/wind-speed-kt + + + + /environment/config/aloft/entry[4]/wind-speed-change-rel + + /environment/config/aloft/entry[4]/wind-speed-kt + + + + + + + + /environment/metar/clouds/layer[1]/elevation-ft + /environment/clouds/layer[1]/elevation-ft + + + + + /environment/metar/clouds/layer[2]/elevation-ft + /environment/clouds/layer[2]/elevation-ft + + + + + /environment/metar/clouds/layer[3]/elevation-ft + /environment/clouds/layer[3]/elevation-ft + + + + + /environment/metar/clouds/layer[4]/elevation-ft + /environment/clouds/layer[4]/elevation-ft + + + + + + + /environment/metar/clouds/layer[1]/elevation-ft + /environment/clouds/layer[1]/elevation-ft + + + + + /environment/metar/clouds/layer[2]/elevation-ft + /environment/clouds/layer[2]/elevation-ft + + + + + /environment/metar/clouds/layer[3]/elevation-ft + /environment/clouds/layer[3]/elevation-ft + + + + + /environment/metar/clouds/layer[4]/elevation-ft + /environment/clouds/layer[4]/elevation-ft + + + + + + /environment/metar/clouds/layer[1]/thickness-ft + /environment/clouds/layer[1]/thickness-ft + + + /environment/metar/clouds/layer[2]/thickness-ft + /environment/clouds/layer[2]/thickness-ft + + + /environment/metar/clouds/layer[3]/thickness-ft + /environment/clouds/layer[3]/thickness-ft + + + /environment/metar/clouds/layer[4]/thickness-ft + /environment/clouds/layer[4]/thickness-ft + + + + + + /environment/metar/clouds/layer[1]/coverage-type + environment/clouds/layer[1]/coverage-type + + + + + /environment/metar/clouds/layer[2]/coverage-type + environment/clouds/layer[2]/coverage-type + + + + + /environment/metar/clouds/layer[3]/coverage-type + environment/clouds/layer[3]/coverage-type + + + + + /environment/metar/clouds/layer[4]/coverage-type + environment/clouds/layer[4]/coverage-type + + +