Support for creating high altitude noctilucent clouds in Advanced Weather/ALS
[fg:toms-fgdata.git] / Environment / environment.xml
1 <?xml version="1.0" ?>
2 <!--
3  This file is part of FlightGear, the free flight simulator
4  http://www.flightgear.org/
5
6  Copyright (C) 2010  Curtis L. Olson  - http://www.flightgear.org/~curt
7
8  This program is free software; you can redistribute it and/or
9  modify it under the terms of the GNU General Public License as
10  published by the Free Software Foundation; either version 2 of the
11  License, or (at your option) any later version.
12
13  This program is distributed in the hope that it will be useful, but
14  WITHOUT ANY WARRANTY; without even the implied warranty of
15  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16  General Public License for more details.
17 -->
18 <PropertyList>
19   <weather-scenarios>
20     <scenario>
21       <name type="string">Live data</name>
22       <description type="string">
23         Fetch live weather data for your nearest airport from noaa.gov. You need a working internet connection.
24         All the controls in this dialog are computed automatically, once a valid METAR is received.
25       </description>
26       <local-weather>
27         <tile-type>live</tile-type>
28         <tile-management>METAR</tile-management>        
29       </local-weather>
30     </scenario>
31     <scenario>
32       <name type="string">Manual input</name>
33       <description type="string">Enter your favorite METAR weather in the textbox above. A valid METAR syntax is required.</description>
34       <local-weather>
35         <tile-type>manual</tile-type>
36         <tile-management>METAR</tile-management>        
37       </local-weather>
38     </scenario>
39     <scenario>
40       <name type="string">Core high pressure region</name>
41       <metar type="string">XXXX 012345Z 15003KT 19SM FEW072 FEW350 25/07 Q1028 NOSIG</metar>
42       <description type="string">The center of a high pressure region, characterized by descending air and hence only weak cloud development with high visibility.</description>
43       <local-weather>
44         <tile-type>High-pressure-core</tile-type>
45         <tile-management>realistic weather</tile-management>        
46       </local-weather>
47     </scenario>
48     <scenario>
49       <name type="string">High pressure region</name>
50       <metar type="string">XXXX 012345Z 15003KT 12SM SCT048 FEW300 20/08 Q1022 NOSIG</metar>
51       <description type="string">A high pressure region, characterized my moderate to strong Cumulus development in the afternoon and fairly good visibility conditions.</description>
52       <local-weather>
53         <tile-type>High-pressure</tile-type>
54         <tile-management>realistic weather</tile-management>        
55       </local-weather>
56     </scenario>
57     <scenario>
58       <name type="string">Border of a high pressure region</name>
59       <metar type="string">XXXX 012345Z 15003KT 10SM SCT036 SCT150 17/08 Q1016 NOSIG</metar>
60       <description type="string">The border of a high pressure region, in which the airmass becomes unstable and various convective and stratiform clouds may appear.</description>
61       <local-weather>
62         <tile-type>High-pressure-border</tile-type>
63         <tile-management>realistic weather</tile-management>        
64       </local-weather>
65     </scenario>
66     <scenario>
67       <name type="string">Border of a low pressure region</name>
68       <metar type="string">XXXX 012345Z 15003KT 9SM BKN028 SCT090 FEW160 15/08 Q1010 NOSIG</metar>
69       <description type="string">The border of a low pressure region, in which the airmass is unstable and convective clouds start to form layers and merge into stratiform clouds.</description>
70       <local-weather>
71         <tile-type>Low-pressure-border</tile-type>
72         <tile-management>realistic weather</tile-management>        
73       </local-weather>
74     </scenario>
75     <scenario>
76       <name type="string">Low pressure region</name>
77       <metar type="string">XXXX 012345Z 15003KT 6SM SHRA BKN024 BKN053 FEW090 13/07 Q1004 NOSIG</metar>
78       <description type="string">A low pressure region, characterized by rising air, widespread formation of stratiform clouds and beginning rain.</description>
79       <local-weather>
80         <tile-type>Low-pressure</tile-type>
81         <tile-management>realistic weather</tile-management>        
82       </local-weather>
83     </scenario>
84     <scenario>
85       <name type="string">Core low pressure region</name>
86       <metar type="string">XXXX 012345Z 15003KT 4SM RA OVC020 SCT050 07/02 Q0998 NOSIG</metar>
87       <description type="string">The core of a low pressure region, characterized by overcast clouds, bad visibility on the ground and significant rainfall.</description>
88       <local-weather>
89         <tile-type>Low-pressure-core</tile-type>
90         <tile-management>realistic weather</tile-management>        
91       </local-weather>
92     </scenario>
93     <scenario>
94       <name type="string">Warm sector</name>
95       <metar type="string">XXXX 012345Z 15003KT 8SM SCT028 SCT088 20/14 Q1010 NOSIG</metar>
96       <description type="string">A warm sector, characterized by high moisture in the air and haze extending up to high altitudes, but otherwise largely convective cloud development. </description>
97       <local-weather>
98         <tile-type>Warm-sector</tile-type>
99         <tile-management>realistic weather</tile-management>        
100       </local-weather>
101     </scenario>
102     <scenario>
103       <name type="string">Fair weather</name>
104       <metar type="string">XXXX 012345Z 15003KT 12SM SCT041 FEW200 20/08 Q1015 NOSIG</metar>
105       <description type="string">A lovely day for trip to your favorite 100$ hamburger airfield</description>
106       <local-weather>
107         <tile-type>High-pressure-core</tile-type>
108         <tile-management>realistic weather</tile-management>        
109       </local-weather>
110     </scenario>
111     <scenario>
112       <name type="string">Thunderstorm</name>
113       <metar type="string">XXXX 012345Z 15012G25KT 4000 TSRA FEW030CB SCT035TCU 27/24 Q0995</metar>
114       <description type="string">
115         A hot and damp summer day with thunderstorms developing in the afternoon.
116         Be prepared for reduction of visibility in showers and strong gusts
117         near thunderstorms
118       </description>
119       <local-weather>
120         <tile-type>Thunderstorms</tile-type>
121         <tile-management>repeat tile</tile-management>        
122       </local-weather>
123     </scenario>
124     <scenario>
125       <name type="string">Stormy Monday</name>
126       <metar type="string">XXXX 012345Z 28035G50KT 250V300 9999 TSRA SCT022CB BKN030 13/09 Q1005</metar>
127       <description type="string">
128         You're out for an adventure? Gusty winds blowing from the west
129         and isolated thunderstorms should be avoided. Fasten your seatbelt!
130       </description>
131     </scenario>
132     <scenario>
133       <name type="string">Marginal VFR</name>
134       <metar type="string">XXXX 012345Z 23010KT 5000 SHRA SCT012 BKN018 OVC060 15/11 Q1010</metar>
135       <description type="string">
136         After the storm - limited visibility and some showers.
137         Go or No-Go?
138       </description>
139     </scenario>
140     <scenario>
141       <name type="string">CAT I minimum</name>
142       <metar type="string">XXXX 012345Z 15015KT 0800 -RA BKN002 OVC004 08/06 Q0990</metar>
143       <description type="string">If you just got your IFR rating, this is what you are allowed to do. But can you?</description>
144     </scenario>
145     <scenario>
146       <name type="string">CAT II minimum</name>
147       <metar type="string">XXXX 012345Z 15010KT 0400 -RA BKN001 OVC002 08/06 Q0990</metar>
148       <description type="string">
149         With just a 1/4 mile visibility and clouds at 100ft, you don't see much of the runway until
150         seconds before touchdown. Trust your instruments to stay alive.
151       </description>
152     </scenario>
153     <scenario>
154       <name type="string">CAT IIIb minimum</name>
155       <metar type="string">XXXX 012345Z VRB01KT 0100 -RA FG OVC001 OVC002 02/02 Q0990</metar>
156       <description type="string">
157         This is expert level. You will barely see the taxiway from the cockpit, even if you are
158         on ground. Fog and light drizzle, freezing level at 1000ft.
159       </description>
160     </scenario>
161
162     <scenario>
163       <name type="string">Early morning fog</name>
164       <metar type="string">XXXX 012345Z 00000KT 0800 FG NCD 08/08 A3030</metar>
165       <description type="string">
166         Fog developed this autumn's morning. Expect good visibility above the layer.
167         However - getting through it can be a challenge. Stay alive for a 500' climb
168         and you'll see the sun!
169       </description>
170     </scenario>
171   </weather-scenarios>
172   <weather-scenario type="string">Fair weather</weather-scenario>
173   <config>
174
175     <boundary-transition-ft type="double">500</boundary-transition-ft>
176
177     <boundary>
178
179       <entry>
180         <elevation-ft type="double">0</elevation-ft>
181         <wind-from-heading-deg type="double">270</wind-from-heading-deg>
182         <wind-speed-kt type="double">3</wind-speed-kt>
183         <visibility-m type="double">16093.44</visibility-m>
184         <pressure-sea-level-inhg type="double">29.92</pressure-sea-level-inhg>
185         <temperature-degc type="double">15.0</temperature-degc>
186         <dewpoint-degc type="double">5.0</dewpoint-degc>
187         <turbulence>
188           <factor type="double">0.2</factor>
189           <magnitude-norm type="double">0.0</magnitude-norm>
190           <rate-hz type="double">1.0</rate-hz>
191         </turbulence>
192         <wind-heading-change-deg type="double">0</wind-heading-change-deg>
193         <wind-speed-change-rel type="double">0</wind-speed-change-rel>
194       </entry>
195
196       <entry>
197         <elevation-ft type="double">500</elevation-ft>
198         <wind-from-heading-deg type="double">280</wind-from-heading-deg>
199         <wind-speed-kt type="double">6</wind-speed-kt>
200         <turbulence>
201           <factor type="double">1.0</factor>
202           <magnitude-norm type="double">0.1</magnitude-norm>
203           <rate-hz type="double">1.0</rate-hz>
204         </turbulence>
205         <wind-heading-change-deg type="double">5</wind-heading-change-deg>
206         <wind-speed-change-rel type="double">0.3</wind-speed-change-rel>
207       </entry>
208
209     </boundary>
210
211     <aloft>
212
213       <entry>
214         <elevation-ft type="double">5000</elevation-ft>
215         <wind-from-heading-deg type="double">300</wind-from-heading-deg>
216         <wind-speed-kt type="double">10</wind-speed-kt>
217         <visibility-m type="double">16093.44</visibility-m>
218         <pressure-sea-level-inhg type="double">29.92</pressure-sea-level-inhg>
219         <turbulence>
220           <factor type="double">0.5</factor>
221           <magnitude-norm type="double">0.05</magnitude-norm>
222           <rate-hz type="double">1.0</rate-hz>
223         </turbulence>
224         <wind-heading-change-deg type="double">25</wind-heading-change-deg>
225         <wind-speed-change-rel type="double">1</wind-speed-change-rel>
226       </entry>
227
228       <entry>
229         <elevation-ft type="double">10000</elevation-ft>
230         <wind-from-heading-deg type="double">310</wind-from-heading-deg>
231         <wind-speed-kt type="double">20</wind-speed-kt>
232         <turbulence>
233           <factor type="double">0.0</factor>
234           <magnitude-norm type="double">0.0</magnitude-norm>
235           <rate-hz type="double">1.0</rate-hz>
236         </turbulence>
237         <wind-heading-change-deg type="double">30</wind-heading-change-deg>
238         <wind-speed-change-rel type="double">1.2</wind-speed-change-rel>
239       </entry>
240
241       <entry>
242         <elevation-ft type="double">18000</elevation-ft>
243         <wind-from-heading-deg type="double">320</wind-from-heading-deg>
244         <wind-speed-kt type="double">30</wind-speed-kt>
245         <wind-heading-change-deg type="double">35</wind-heading-change-deg>
246         <wind-speed-change-rel type="double">1.3</wind-speed-change-rel>
247       </entry>
248
249       <entry>
250         <elevation-ft type="double">24000</elevation-ft>
251         <wind-from-heading-deg type="double">330</wind-from-heading-deg>
252         <wind-speed-kt type="double">50</wind-speed-kt>
253         <wind-heading-change-deg type="double">35</wind-heading-change-deg>
254         <wind-speed-change-rel type="double">1.3</wind-speed-change-rel>
255       </entry>
256
257       <entry>
258         <elevation-ft type="double">30000</elevation-ft>
259         <wind-from-heading-deg type="double">340</wind-from-heading-deg>
260         <wind-speed-kt type="double">70</wind-speed-kt>
261         <wind-heading-change-deg type="double">35</wind-heading-change-deg>
262         <wind-speed-change-rel type="double">1.3</wind-speed-change-rel>
263       </entry>
264
265     </aloft>
266
267   </config>
268
269   <clouds>
270     <layer n="0">
271       <coverage type="string">clear</coverage>
272       <elevation-ft type="double">-9999</elevation-ft>
273       <thickness-ft type="double">600</thickness-ft>
274       <transition-ft type="double">150</transition-ft>
275       <span-m>40000</span-m>
276     </layer>
277     <layer n="1">
278       <coverage type="string">clear</coverage>
279       <elevation-ft type="double">-9999</elevation-ft>
280       <thickness-ft type="double">65</thickness-ft>
281       <transition-ft type="double">25</transition-ft>
282       <span-m type="double">40000</span-m>
283     </layer>
284     <layer n="2">
285       <coverage type="string">clear</coverage>
286       <elevation-ft type="double">-9999</elevation-ft>
287       <span-m type="double">40000</span-m>
288     </layer>
289     <layer n="3">
290       <coverage type="double">clear</coverage>
291       <elevation-ft type="double">-9999</elevation-ft>
292       <span-m type="double">40000</span-m>
293     </layer>
294     <layer n="4">
295       <coverage type="string">clear</coverage>
296       <elevation-ft type="double">-9999</elevation-ft>
297       <span-m type="double">40000</span-m>
298     </layer>
299   </clouds>
300
301   <cloudlayers include="cloudlayers.xml"/>
302
303   <realwx>
304     <!-- Spawn a metar loader for each metar node 
305          index 0..9 are reserved for internal (hardcoded) loaders
306          and will be set from FlightGear's subsystems.
307          Index 10..n may be used by user defined systems
308          
309          To retrieve a METAR in /environment/metar[10], write
310          the station id (e.g. KSFO) to 
311          /enviornment/metar[10]/station-id and set 
312          /environment/metar[10]/time-to-live to zero
313          Wait for 
314          /environment/metar[10]/valid to become true.
315     -->
316     <metar n="0" type="string">/environment/metar[0]</metar>
317     <!-- nearest airport -->
318     <metar n="1" type="string">/environment/metar[1]</metar>
319     <!-- NAV1 -->
320     <metar n="2" type="string">/environment/metar[2]</metar>
321     <!-- NAV2 -->
322     <metar n="3" type="string">/environment/metar[3]</metar>
323     <!-- VHF-COMM1 -->
324     <metar n="4" type="string">/environment/metar[4]</metar>
325     <!-- VHF-COMM2 -->
326     <metar n="5" type="string">/environment/metar[5]</metar>
327     <!-- UHF-COMM1 -->
328     <metar n="6" type="string">/environment/metar[6]</metar>
329     <!-- UHF-COMM2 -->
330
331     <!-- User defined queries -->
332     <metar n="10" type="string">/environment/metar[10]</metar>
333     <metar n="11" type="string">/environment/metar[11]</metar>
334
335     <!-- use NOAA for METAR (no aloft data) -->
336     <data-source type="string">noaa</data-source>
337
338     <!-- use http://www.navlost.eu/ for METAR and aloft data -->
339     <!-- data-source>nwx<data-source -->
340     <enabled type="bool">true</enabled>
341   </realwx>
342
343   <metar>
344     <!-- create a low-level cloud layer for fog/mist/haze from metar -->
345     <set-ground-cloud-layer type="bool">true</set-ground-cloud-layer>
346   </metar>
347
348   <turbulence>
349     <!-- the turbulence/magnitude-norm interpolator applies this value
350           as an exponent to the magnitude -->
351     <sensitivity type="double">2</sensitivity>
352   </turbulence>
353
354   <params>
355     <!-- 
356       valid values for jsbsim-turbulence-model:
357       ttNone, ttStandard, ttBerndt, ttCulp, ttMilspec, ttTustin
358     -->
359     <jsbsim-turbulence-model type="string" userarchive="y">ttMilspec</jsbsim-turbulence-model>
360     <metar-max-age-min type="long">240</metar-max-age-min>
361     <metar-updates-environment type="bool">true</metar-updates-environment>
362     <metar-updates-winds-aloft type="bool">true</metar-updates-winds-aloft>
363     <metar-updates-snow-level type="bool" userarchive="y">true</metar-updates-snow-level>
364     <use-external-precipitation-level type="bool">false</use-external-precipitation-level>
365     <external-precipitation-level-m type="double">0</external-precipitation-level-m>
366     <control-fdm-atmosphere type="bool">true</control-fdm-atmosphere>
367     <contrail-altitude type="double">30000</contrail-altitude>
368     <!-- definitions for the metar generated fog/mist/haze layer -->
369     <fog-mist-haze-layer>
370       <offset-from-station-elevation-ft type="double">-200</offset-from-station-elevation-ft>
371       <visibility-above-layer-m type="double">20000</visibility-above-layer-m>
372
373       <fog-thickness-ft type="double">500</fog-thickness-ft>
374       <fog-2dlayer-alpha type="double">1.0</fog-2dlayer-alpha>
375       <fog-2dlayer-coverage type="string">overcast</fog-2dlayer-coverage>
376       <fog-bc-2dlayer-coverage type="string">broken</fog-bc-2dlayer-coverage>
377       <fog-shallow-thickness-ft type="double">30</fog-shallow-thickness-ft>
378
379       <mist-thickness-ft type="double">2000</mist-thickness-ft>
380       <mist-2dlayer-alpha type="double">0.8</mist-2dlayer-alpha>
381       <mist-2dlayer-coverage type="string">overcast</mist-2dlayer-coverage>
382
383       <haze-thickness-ft type="double">2000</haze-thickness-ft>
384       <haze-2dlayer-alpha type="double">0.6</haze-2dlayer-alpha>
385       <haze-2dlayer-coverage type="string">overcast</haze-2dlayer-coverage>
386     </fog-mist-haze-layer>
387   </params>
388
389
390   <wildfire>
391     <enabled type="bool" userarchive="y">false</enabled>
392     <share-events type="bool" userarchive="y">false</share-events>
393     <save-on-exit type="bool" userarchive="y">false</save-on-exit>
394     <restore-on-startup type="bool" userarchive="y">false</restore-on-startup>
395     <fire-on-crash type="bool" userarchive="y">false</fire-on-crash>
396     <report-score type="bool" userarchive="y">false</report-score>
397     <data type="string"/>
398   </wildfire>
399   
400   <snow-level-m type="double">3200.0</snow-level-m>
401
402   <!-- create on instance of the terrains-sampler but start disabled -->
403   <terrain>
404     <area>
405       <enabled type="bool">false</enabled>
406     </area>
407   </terrain>
408
409   <sea>
410     <config>
411       <wind-filter-time type="double">0.05</wind-filter-time>
412     </config>
413     <color_r type="double" userarchive="n">0.148</color_r>
414     <color_g type="double" userarchive="n">0.27</color_g>
415     <color_b type="double" userarchive="n">0.3</color_b>
416    <surface>
417     <ice-cover> 0.0</ice-cover>
418    </surface>
419   </sea>
420
421   <!-- definitions for the scattering skydome shader -->
422   <ground-visibility-m type="double" userarchive="n">16000.0</ground-visibility-m>
423   <air-pollution-norm type="double" userarchive="y">0.0</air-pollution-norm>
424   <ground-haze-thickness-m type="double" userarchive="n">2000.0</ground-haze-thickness-m>
425   <terminator-relative-position-m type="double" userarchive="n">1000000.0</terminator-relative-position-m>
426   <mean-terrain-elevation-m type="double" userarchive="n">0.0</mean-terrain-elevation-m>
427   <fog-structure type="double" userarchive="y">0.0</fog-structure>
428   <cloud-self-shading type="double" userarchive="n">1.0</cloud-self-shading>
429   <moonlight type="double" userarchive="n">0.0</moonlight>
430  <!-- config for noctilucent cloud generation -->
431   <create-noctilucent-clouds type="bool" userarchive="n">false</create-noctilucent-clouds>
432   <!-- definitions for the environment at surface interface -->
433   <surface>
434     <scattering type="double" userarchive="n">0.7</scattering>
435     <dust-cover-factor type="double" userarchive="y">0.0</dust-cover-factor>
436     <lichen-cover-factor type="double" userarchive="y">0.0</lichen-cover-factor>
437     <wetness type="double" userarchive="y">0.0</wetness>
438     <snow-thickness-factor type="double" userarchive="y">1.0</snow-thickness-factor>
439   </surface>
440 </PropertyList>