WEATHER DEFINITIONS

The Weather.wpr file goes in the main mission folder beside the other files and folders required for the mission type, and is used to define the weather for the mission flight. This file is formatted using XML and can be created or edited by using any text editor, and must be called exactly Weather.wpr, or it will not be picked up correctly as part of the mission. The general format for the file is as follows:

<?xml version="1.0" encoding="UTF-8"?>
<SimBase.Document Type="WeatherPreset" version="1,3">
    <Descr>AceXML Document</Descr>
    <WeatherPreset.Preset>
        <Name>Preset_Name_Here</Name>
        <!-- General weather elements -->
        <CloudLayer>
            <!-- Cloud layer elements -->
        </CloudLayer>
        <!-- Further cloud layers here -->
        <WindLayer>
            <!-- Cloud layer elements -->
        </Windlayer>
        <!-- Further wind layers here -->
    </WeatherPreset.Preset>
</SimBase.Document>  

Here you must include the <SimBase.Document> element - with a Type of "WeatherPreset" and a version of "1,3" - along with the <Descr>AceXML Document</Descr> at the top of the document, and then you would have the <WeatherPreset.Preset> container elements which will hold the different elements required to define the weather.

 

You can find an example of this kind of file on the following page:

 

 

<WeatherPreset.Preset>

This is the main container element for the weather preset file, and it can contain the following elements:

<Name>, <Order>, <Image>, <LayeredImage>, <Icon>, <IsAltitudeAMGL>, <CloudLayer>, <WindLayer>, <GustWave>, <MSLPressure>, <MSLTemperature>, <AerosolDensity>, <Precipitations>, <PrecipitationType>, <SnowCover>,

<ThunderstormIntensity>, <ThunderstormCell>, <Hurricane>, <LoadingTip>.

 

 

<Name>

This element is used to give the preset a name, which can also be localized. This name will be shown to the user as the name of the weather setting if the preset is meant to be shown in the flight menu and not as part of a mission.

 

 

<Order>

This is the order in which the preset will be shown in the flight menu. The built-in presets are numbered from 0-8, so custom weather presets should be numbered from 9, although it is worth noting that regardless of the order you give, custom presets will always be shown after the built-in presets. This element can be omitted when creating weather presets for missions.

 

 

<Image>

This is the path to the background image file that will be used to illustrate the weather preset when being shown in the flight menu. This image will be overlaid by the image set in the <LayeredImage> element. This is a relative path to the image and the image itself should be authored as a 332px * 105px JPG. This can be omitted when creating weather presets for missions.

 

 

<LayeredImage>

This is the path to the foreground image file that will be used to illustrate the weather preset when being shown in the flight menu, and it will be displayed over the image set in the <Image> element. This is a relative path to the image and the image itself should be authored as a 694px * 248px PNG, with transparency. This can be omitted when creating weather presets for missions.

 

 

<Icon>

This is the path to an icon image file that represents the weather preset being created. This is a relative path, and the image should be authored as an SVG file and will be rendered at approximately 150px * 150px, on top of both the <Image> and <LayeredImage>.

 

 

<IsAltitudeAMGL>

This element is set to either True or False. If True, then the altitude is calculated with the Mean Ground Level altitude being considered 0, otherwise it will be based on the Mean Sea Level altitude being considered 0.

 

 

<MSLPressure>

This element sets the MSL air pressure in Pa for the weather preset, and has the following attributes:

Attribute Description Type Required
value The value for the MSL air pressure, between 50000.0 and 130000.0. Float Yes
unit The unit for the value being given, in this case it should be "pa". String Yes

 

 

<MSLTemperature>

This element sets the MSL air temperature in degrees kelvin for the weather preset. The element has the following attributes:

Attribute Description Type Required
value The value for MSL air temperature, in degrees kelvin. Float Yes
unit The unit for the value being given, in this case it should be "k". String Yes

 

 

<AerosolDensity>

This element is used to simulate aerosol particles in the air and (for example, sand, pollen, polution, etc...) by setting the density per meter squared. The element has the following attributes:

Attribute Description Type Required
value The aerosol density. Default is 1, and higher values will make the air less transparent. Float Yes
unit The unit for the value being given, in this case it should be "m". String Yes

 

 

<Precipitations>

This element is used to set the amount of precipitation for the weather preset. The value should be set between 0.0 and 100.0, which represents the millimeters per hour of the precipitation. The element has the following attributes:

Attribute Description Type Required
value The amount of precipitation, between 1.0 and 100.0. Float Yes
unit The unit for the value being given, in this case it should be "mm/h". String Yes

 

 

<PrecipitationType>

With this element you can specify what type of precipitation should be used in the event that there is any in the preset. The possible values for this element are:

  • RAIN
  • SNOW
  • HAIL

 

 

<CloudLayer>

This element is used to define a single cloud layer in the weather preset. This element has no attributes and can have the following sub-elements: <CloudLayerAltitudeBot>, <CloudLayerAltitudeTop>, <CloudLayerDensity>, <CloudLayerScattering>. You may have multiple <CloudLayer> elements in a single preset.

 

<CloudLayerAltitudeBot>

This sub-element is used to set the altitude (in meters) of the bottom of the cloud layer being defined. This is a sub-element of the <CloudLayer> element and has the following attributes:

Attribute Description Type Required
value The value for the cloud layer bottom altitude. Float Yes
unit The unit for the value being given, in this case it should be "m". String Yes

 

<CloudLayerAltitudeTop>

This sub-element is used to set the altitude (in meters) of the top of the cloud layer being defined. This is a sub-element of the <CloudLayer> element and has the following attributes:

Attribute Description Type Required
value The value for the cloud layer top altitude. Float Yes
unit The unit for the value being given, in this case it should be "m". String Yes

 

<CloudLayerDensity>

This sub-element is used to set the cloud density for the cloud layer being defined. This is a value between 0.0 and 1.0, where 0.0 is almost no clouds and 1.0 is very dense clouds. This is a sub-element of the <CloudLayer> or <WindLayer> elements and has the following attributes:

Attribute Description Type Required
value The value for the cloud layer density from 0.0 to 1.0 Float Yes
unit The unit for the value being given, in this case it should be "(0 - 1)". String Yes

 

<CloudLayerScattering>

This sub-element is used to set how scattered the clouds on the cloud layer being defined will be. This is a value between 0.0 and 1.0, where 0.0 is not very scattered while 1.0 is very scattered. This is a sub-element of the <CloudLayer> or <WindLayer> elements and has the following attributes:

Attribute Description Type Required
value The value for the cloud layer scattering from 0.0 to 1.0 Float Yes
unit The unit for the value being given, in this case it should be "(0 - 1)". String Yes

 

 

<WindLayer>

This container element is used to define a wind layer within the weather preset. This element has no attributes and can have the following sub-elements: <WindLayerAltitude>, <WindLayerAngle>, <WindLayerSpeed>, and <GustWave>. You may have multiple <WindLayer> elements in a single preset.

 

<WindLayerAltitude>

This sub-element is used to set the altitude (in meters) of the wind layer being defined. This is a sub-element of the WindLayer element and has the following attributes:

Attribute Description Type Required
value The value for the wind layer altitude. Float Yes
unit The unit for the value being given, in this case it should be "m". String Yes

 

<WindLayerAngle>

This sub-element is used to set the angle of the wind layer being defined. This is a sub-element of the <WindLayer> element and has the following attributes:

Attribute Description Type Required
value The value for the wind layer angle. This is a value between 0.0 and 360.0, where 0 is North. Float Yes
unit The unit for the value being given, in this case it should be "degrees". String Yes

 

<WindLayerSpeed>

This sub-element is used to set the speed of the wind layer being defined. This is a sub-element of the <WindLayer> element and has the following attributes:

Attribute Description Type Required
value The value for the wind layer speed, in Knots. Float Yes
unit The unit for the value being given, in this case it should be "knts". String Yes

 

 

<GustWave>

This is a sub-element of the <WindLayer> element, and has no attributes. It is used to define a layer where the wind will come in gusts, and is a container element for <GustWaveDuration>, <GustWaveInterval>, <GustWaveSpeed> and <GustAngle>.

 

<GustWaveDuration>

This sub-element is used to set the duration of the gust layer being defined. This is a sub-element of the <GustWave> element and has the following attributes:

Attribute Description Type Required
value The duration, in seconds, for the gusts on the gust layer. Float Yes
unit The unit for the value being given, in this case it should be "sec". String Yes

 

<GustWaveInterval>

This sub-element is used to set the interval between gusts on the gust layer. This is a sub-element of the <GustWave> element and has the following attributes:

Attribute Description Type Required
value The interval, in seconds, between gusts. Float Yes
unit The unit for the value being given, in this case it should be "sec". String Yes

 

<GustWaveSpeed>

This sub-element is used to set the speed of the gusts being defined. This is a sub-element of the <GustWave> element and has the following attributes:

Attribute Description Type Required
value The value for the gust speed, in Knots. Float Yes
unit The unit for the value being given, in this case it should be "knts". String Yes

 

<GustAngle>

This sub-element is used to set the angle from which the gusts will come. This is a sub-element of the <GustWave> element and has the following attributes:

Attribute Description Type Required
value The value for the gust angle. This is a value between 0.0 and 360.0, where 0 is North. Float Yes
unit The unit for the value being given, in this case it should be "degrees". String Yes

 

 

<SnowCover>

This element is used to set the amount of snow laying on the ground. This element has the following attributes:

Attribute Description Type Required
value The amount of snow on the ground in meters from 0.0 to 4.0. Float Yes
unit The unit for the value being given, in this case it should be "m". String Yes

 

 

<ThunderstormIntensity>

This sets the intensity of any thunderstorms created in the preset. This element has the following attributes:

Attribute Description Type Required
value The thunderstorm intensity from 0.0 to 1.0. Float Yes
unit The unit for the value being given, in this case it should be "(0 - 1)". String Yes

 

 

<ThunderstormCell>

This is a container element that is used to hold other elements that define a zone of thunderstorms within the weather preset. It has no attributes and has the following sub-elements: <Cell>, <SuperCell>.

IMPORTANT! This element may or may not work as expected. It is an experimental feature that is still a work in progress. If in doubt, we recommend that you do not use it. 

 

<Cell>

This defines the main "cell" of a thunderstorm, which is the position and area that the storm should cover. It has no attributes, and requires the following sub-elements to set the position and radius of the storm cell: <Latitude>, <Longitude>, and <Radius>.

 

<SuperCell>

This defines a super-cell within the main thunderstorm cell, essentially the center of the storm where the storm will be at it's fiercest. It has no attributes, and requires the following sub-elements to set the position and radius of the storm super cell: <Latitude>, <Longitude>, and <Radius>.

 

 

<Hurricane>

This element can be used to place a hurricane event within the world. The element has no attributes, and requires the following sub-elements to define the position and size of the event: <Latitude>, <Longitude>, and <Radius>.

IMPORTANT! This element may or may not work as expected. It is an experimental feature that is still a work in progress. If in doubt, we recommend that you do not use it. 

 

<LoadingTip>

This element can be used to define a loading tip string that will be shown when the mission/flight loads and this weather preset has been selected.

 

 

<LiveID>

This element is used to link the preset being defined to one of the default presets. The linked preset will be used only for the UI in the simulation options, such as the image and icon of the default preset. This allows - for example - a custom preset to be associated with Rain, and thus have the rain UI on the worldmap. This element has no attributes and can contain one of the following values:

  • WEATHER_UNKNOWN
  • WEATHER_CLEAR_SKY
  • WEATHER_FEW_CLOUDS
  • WEATHER_BROKEN_CLOUDS
  • WEATHER_SCATTERED
  • WEATHER_OVERCAST
  • WEATHER_HIGH_CLOUDS
  • WEATHER_RAIN
  • WEATHER_STORM

 

 

<Latitude>

This sub-element is used to set a value for the latitude. It can be used by the <Cell>, <SuperCell>WindLayer, and <Hurricane> elements, and has no attributes.

 

 

<Longitude>

This sub-element is used to set a value for the longitude. It can be used by the <Cell>, <SuperCell>WindLayer, and <Hurricane> elements, and has no attributes.

 

 

<Radius>

This sub-element is used to set a value for the radius of an event. It can be used by the <Cell>, <SuperCell>, WindLayer, and <Hurricane> elements. It has the following attributes:

Attribute Description Type Required
value The radius, in meters, where the event can happen. Float Yes
unit The unit for the value being given, in this case it should be "m". String Yes