Cancel specular highlights due to sun at night
[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">Disabled</name>
22       <description type="string">METAR weather generation is disabled. Use the above controls to setup your weather.</description>
23     </scenario>
24     <scenario>
25       <name type="string">Live data</name>
26       <description type="string">
27         Fetch live weather data for your nearest airport from noaa.gov. You need a working internet connection.
28         All the controls in this dialog are computed automatically, once a valid METAR is received.
29       </description>
30     </scenario>
31     <scenario>
32       <name type="string">Manual input</name>
33       <description type="string">Enter your favorite METAR weather in the textbox below. A valid METAR syntax is required.</description>
34     </scenario>
35     <scenario>
36       <name type="string">Fair weather</name>
37       <metar type="string">XXXX 012345Z 15003KT 12SM SCT041 FEW200 20/08 Q1015 NOSIG</metar>
38       <description type="string">A lovely day for trip to your favorite 100$ hamburger airfield</description>
39     </scenario>
40     <scenario>
41       <name type="string">Thunderstorm</name>
42       <metar type="string">XXXX 012345Z 15012G25KT 4000 TSRA FEW030CB SCT035TCU 27/24 Q0995</metar>
43       <description type="string">
44         A hot and damp summer day with thunderstorms developing in the afternoon.
45         Be prepared for reduction of visibility in showers and strong gusts
46         near thunderstorms
47       </description>
48     </scenario>
49     <scenario>
50       <name type="string">Stormy Monday</name>
51       <metar type="string">XXXX 012345Z 28035G50KT 250V300 9999 TSRA SCT022CB BKN030 13/09 Q1005</metar>
52       <description type="string">
53         You're out for an adventure? Gusty winds blowing from the west
54         and isolated thunderstorms should be avoided. Fasten your seatbelt!
55       </description>
56     </scenario>
57     <scenario>
58       <name type="string">Marginal VFR</name>
59       <metar type="string">XXXX 012345Z 23010KT 5000 SHRA SCT012 BKN018 OVC060 15/11 Q1010</metar>
60       <description type="string">
61         After the storm - limited visibility and some showers.
62         Go or No-Go?
63       </description>
64     </scenario>
65     <scenario>
66       <name type="string">CAT I minimum</name>
67       <metar type="string">XXXX 012345Z 15015KT 0800 -RA BKN002 OVC004 08/06 Q0990</metar>
68       <description type="string">If you just got your IFR rating, this is what you are allowed to do. But can you?</description>
69     </scenario>
70     <scenario>
71       <name type="string">CAT II minimum</name>
72       <metar type="string">XXXX 012345Z 15010KT 0400 -RA BKN001 OVC002 08/06 Q0990</metar>
73       <description type="string">
74         With just a 1/4 mile visibility and clouds at 100ft, you don't see much of the runway until
75         seconds before touchdown. Trust your instruments to stay alive.
76       </description>
77     </scenario>
78     <scenario>
79       <name type="string">CAT IIIb minimum</name>
80       <metar type="string">XXXX 012345Z VRB01KT 0100 -RA FG OVC001 OVC002 02/02 Q0990</metar>
81       <description type="string">
82         This is expert level. You will barely see the taxiway from the cockpit, even if you are
83         on ground. Fog and light drizzle, freezing level at 1000ft.
84       </description>
85     </scenario>
86
87     <scenario>
88       <name type="string">Early morning fog</name>
89       <metar type="string">XXXX 012345Z 00000KT 0800 FG NCD 08/08 A3030</metar>
90       <description type="string">
91         Fog developed this autumn's morning. Expect good visibility above the layer.
92         However - getting through it can be a challenge. Stay alive for a 500' climb
93         and you'll see the sun!
94       </description>
95     </scenario>
96   </weather-scenarios>
97   <weather-scenario type="string">Fair weather</weather-scenario>
98   <config>
99
100     <boundary-transition-ft type="double">500</boundary-transition-ft>
101
102     <boundary>
103
104       <entry>
105         <elevation-ft type="double">0</elevation-ft>
106         <wind-from-heading-deg type="double">270</wind-from-heading-deg>
107         <wind-speed-kt type="double">3</wind-speed-kt>
108         <visibility-m type="double">16093.44</visibility-m>
109         <pressure-sea-level-inhg type="double">29.92</pressure-sea-level-inhg>
110         <temperature-degc type="double">15.0</temperature-degc>
111         <dewpoint-degc type="double">5.0</dewpoint-degc>
112         <turbulence>
113           <factor type="double">0.2</factor>
114           <magnitude-norm type="double">0.0</magnitude-norm>
115           <rate-hz type="double">1.0</rate-hz>
116         </turbulence>
117         <wind-heading-change-deg type="double">0</wind-heading-change-deg>
118         <wind-speed-change-rel type="double">0</wind-speed-change-rel>
119       </entry>
120
121       <entry>
122         <elevation-ft type="double">500</elevation-ft>
123         <wind-from-heading-deg type="double">280</wind-from-heading-deg>
124         <wind-speed-kt type="double">6</wind-speed-kt>
125         <turbulence>
126           <factor type="double">1.0</factor>
127           <magnitude-norm type="double">0.1</magnitude-norm>
128           <rate-hz type="double">1.0</rate-hz>
129         </turbulence>
130         <wind-heading-change-deg type="double">5</wind-heading-change-deg>
131         <wind-speed-change-rel type="double">0.3</wind-speed-change-rel>
132       </entry>
133
134     </boundary>
135
136     <aloft>
137
138       <entry>
139         <elevation-ft type="double">5000</elevation-ft>
140         <wind-from-heading-deg type="double">300</wind-from-heading-deg>
141         <wind-speed-kt type="double">10</wind-speed-kt>
142         <visibility-m type="double">16093.44</visibility-m>
143         <pressure-sea-level-inhg type="double">29.92</pressure-sea-level-inhg>
144         <turbulence>
145           <factor type="double">0.5</factor>
146           <magnitude-norm type="double">0.05</magnitude-norm>
147           <rate-hz type="double">1.0</rate-hz>
148         </turbulence>
149         <wind-heading-change-deg type="double">25</wind-heading-change-deg>
150         <wind-speed-change-rel type="double">1</wind-speed-change-rel>
151       </entry>
152
153       <entry>
154         <elevation-ft type="double">10000</elevation-ft>
155         <wind-from-heading-deg type="double">310</wind-from-heading-deg>
156         <wind-speed-kt type="double">20</wind-speed-kt>
157         <turbulence>
158           <factor type="double">0.0</factor>
159           <magnitude-norm type="double">0.0</magnitude-norm>
160           <rate-hz type="double">1.0</rate-hz>
161         </turbulence>
162         <wind-heading-change-deg type="double">30</wind-heading-change-deg>
163         <wind-speed-change-rel type="double">1.2</wind-speed-change-rel>
164       </entry>
165
166       <entry>
167         <elevation-ft type="double">18000</elevation-ft>
168         <wind-from-heading-deg type="double">320</wind-from-heading-deg>
169         <wind-speed-kt type="double">30</wind-speed-kt>
170         <wind-heading-change-deg type="double">35</wind-heading-change-deg>
171         <wind-speed-change-rel type="double">1.3</wind-speed-change-rel>
172       </entry>
173
174       <entry>
175         <elevation-ft type="double">24000</elevation-ft>
176         <wind-from-heading-deg type="double">330</wind-from-heading-deg>
177         <wind-speed-kt type="double">50</wind-speed-kt>
178         <wind-heading-change-deg type="double">35</wind-heading-change-deg>
179         <wind-speed-change-rel type="double">1.3</wind-speed-change-rel>
180       </entry>
181
182       <entry>
183         <elevation-ft type="double">30000</elevation-ft>
184         <wind-from-heading-deg type="double">340</wind-from-heading-deg>
185         <wind-speed-kt type="double">70</wind-speed-kt>
186         <wind-heading-change-deg type="double">35</wind-heading-change-deg>
187         <wind-speed-change-rel type="double">1.3</wind-speed-change-rel>
188       </entry>
189
190     </aloft>
191
192   </config>
193
194   <clouds>
195     <layer n="0">
196       <coverage type="string">clear</coverage>
197       <elevation-ft type="double">-9999</elevation-ft>
198       <thickness-ft type="double">600</thickness-ft>
199       <transition-ft type="double">150</transition-ft>
200       <span-m>40000</span-m>
201     </layer>
202     <layer n="1">
203       <coverage type="string">clear</coverage>
204       <elevation-ft type="double">-9999</elevation-ft>
205       <thickness-ft type="double">65</thickness-ft>
206       <transition-ft type="double">25</transition-ft>
207       <span-m type="double">40000</span-m>
208     </layer>
209     <layer n="2">
210       <coverage type="string">clear</coverage>
211       <elevation-ft type="double">-9999</elevation-ft>
212       <span-m type="double">40000</span-m>
213     </layer>
214     <layer n="3">
215       <coverage type="double">clear</coverage>
216       <elevation-ft type="double">-9999</elevation-ft>
217       <span-m type="double">40000</span-m>
218     </layer>
219     <layer n="4">
220       <coverage type="string">clear</coverage>
221       <elevation-ft type="double">-9999</elevation-ft>
222       <span-m type="double">40000</span-m>
223     </layer>
224   </clouds>
225
226   <cloudlayers include="cloudlayers.xml"/>
227
228   <realwx>
229     <!-- Spawn a metar loader for each metar node 
230          index 0..9 are reserved for internal (hardcoded) loaders
231          and will be set from FlightGear's subsystems.
232          Index 10..n may be used by user defined systems
233          
234          To retrieve a METAR in /environment/metar[10], write
235          the station id (e.g. KSFO) to 
236          /enviornment/metar[10]/station-id and set 
237          /environment/metar[10]/time-to-live to zero
238          Wait for 
239          /environment/metar[10]/valid to become true.
240     -->
241     <metar n="0" type="string">/environment/metar[0]</metar>
242     <!-- nearest airport -->
243     <metar n="1" type="string">/environment/metar[1]</metar>
244     <!-- NAV1 -->
245     <metar n="2" type="string">/environment/metar[2]</metar>
246     <!-- NAV2 -->
247     <metar n="3" type="string">/environment/metar[3]</metar>
248     <!-- VHF-COMM1 -->
249     <metar n="4" type="string">/environment/metar[4]</metar>
250     <!-- VHF-COMM2 -->
251     <metar n="5" type="string">/environment/metar[5]</metar>
252     <!-- UHF-COMM1 -->
253     <metar n="6" type="string">/environment/metar[6]</metar>
254     <!-- UHF-COMM2 -->
255
256     <!-- User defined queries -->
257     <metar n="10" type="string">/environment/metar[10]</metar>
258     <metar n="11" type="string">/environment/metar[11]</metar>
259
260     <!-- use NOAA for METAR (no aloft data) -->
261     <data-source type="string">noaa</data-source>
262
263     <!-- use http://www.navlost.eu/ for METAR and aloft data -->
264     <!-- data-source>nwx<data-source -->
265     <enabled type="bool">true</enabled>
266   </realwx>
267
268   <metar>
269     <!-- create a low-level cloud layer for fog/mist/haze from metar -->
270     <set-ground-cloud-layer type="bool">true</set-ground-cloud-layer>
271   </metar>
272
273   <turbulence>
274     <!-- the turbulence/magnitude-norm interpolator applies this value
275           as an exponent to the magnitude -->
276     <sensitivity type="double">2</sensitivity>
277   </turbulence>
278
279   <params>
280     <!-- 
281       valid values for jsbsim-turbulence-model:
282       ttNone, ttStandard, ttBerndt, ttCulp, ttMilspec, ttTustin
283     -->
284     <jsbsim-turbulence-model type="string" userarchive="y">ttMilspec</jsbsim-turbulence-model>
285     <metar-max-age-min type="long">240</metar-max-age-min>
286     <metar-updates-environment type="bool">true</metar-updates-environment>
287     <metar-updates-winds-aloft type="bool">true</metar-updates-winds-aloft>
288     <control-fdm-atmosphere type="bool">true</control-fdm-atmosphere>
289     <contrail-altitude type="double">30000</contrail-altitude>
290     <!-- definitions for the metar generated fog/mist/haze layer -->
291     <fog-mist-haze-layer>
292       <offset-from-station-elevation-ft type="double">-200</offset-from-station-elevation-ft>
293       <visibility-above-layer-m type="double">20000</visibility-above-layer-m>
294
295       <fog-thickness-ft type="double">500</fog-thickness-ft>
296       <fog-2dlayer-alpha type="double">1.0</fog-2dlayer-alpha>
297       <fog-2dlayer-coverage type="string">overcast</fog-2dlayer-coverage>
298       <fog-bc-2dlayer-coverage type="string">broken</fog-bc-2dlayer-coverage>
299       <fog-shallow-thickness-ft type="double">30</fog-shallow-thickness-ft>
300
301       <mist-thickness-ft type="double">2000</mist-thickness-ft>
302       <mist-2dlayer-alpha type="double">0.8</mist-2dlayer-alpha>
303       <mist-2dlayer-coverage type="string">overcast</mist-2dlayer-coverage>
304
305       <haze-thickness-ft type="double">2000</haze-thickness-ft>
306       <haze-2dlayer-alpha type="double">0.6</haze-2dlayer-alpha>
307       <haze-2dlayer-coverage type="string">overcast</haze-2dlayer-coverage>
308     </fog-mist-haze-layer>
309
310   </params>
311
312
313   <wildfire>
314     <enabled type="bool" userarchive="y">false</enabled>
315     <share-events type="bool" userarchive="y">false</share-events>
316     <save-on-exit type="bool" userarchive="y">false</save-on-exit>
317     <restore-on-startup type="bool" userarchive="y">false</restore-on-startup>
318     <fire-on-crash type="bool" userarchive="y">false</fire-on-crash>
319     <report-score type="bool" userarchive="y">false</report-score>
320     <data type="string"/>
321   </wildfire>
322   
323   <snow-level-m type="double">3200.0</snow-level-m>
324
325   <!-- create on instance of the terrains-sampler but start disabled -->
326   <terrain>
327     <area>
328       <enabled type="bool">false</enabled>
329     </area>
330   </terrain>
331
332   <sea>
333     <config>
334       <wind-filter-time type="double">0.05</wind-filter-time>
335     </config>
336     <color_r type="double" userarchive="n">0.148</color_r>
337     <color_g type="double" userarchive="n">0.27</color_g>
338     <color_b type="double" userarchive="n">0.3</color_b>
339   </sea>
340
341   <!-- definitions for the scattering skydome shader -->
342   <ground-visibility-m type="double" userarchive="n">16000.0</ground-visibility-m>
343   <air-pollution-norm type="double" userarchive="n">0.0</air-pollution-norm>
344   <ground-haze-thickness-m type="double" userarchive="n">2000.0</ground-haze-thickness-m>
345   <terminator-relative-position-m type="double" userarchive="n">1000000.0</terminator-relative-position-m>
346   <mean-terrain-elevation-m type="double" userarchive="n">0.0</mean-terrain-elevation-m>
347   <mysnow-level-m type="double" userarchive="n">3200.0</mysnow-level-m>
348   <fog-structure type="double" userarchive="n">0.0</fog-structure>
349   <!-- definitions for the environment at surface interface -->
350   <surface>
351     <scattering type="double" userarchive="n">0.7</scattering>
352     <dust-cover-factor type="double" userarchive="n">0.0</dust-cover-factor>
353   </surface>
354 </PropertyList>