You are on page 1of 36

CumulusX!

Soaring Environment Generator for


Flight Simulator X
Version 1.8

31.06.2010

Peter Lrkens
Peter.luerkens@tonline.de

CumulusX! is an add-on for Microsoft Flight Simulator X for the creation of a soaring
environment. It was inspired by the well-known Cross Country Soaring 2004 of Eric
Carden for Flight Simulator 2004. CumulusX ! creates thermal lift with appropriate clouds
either on the fly every time new in the environment of your glider with a wide variety of
characteristics, or based on custom-tailored lists of thermals. Both allow joining in online
sessions, thereby equal conditions for all participants can be achieved. It adapts
automatically and continuously to the internal weather conditions of Flight Simulator X
even under real-weather-mode.
CumulusX! produces varying ridge-lift conditions in all areas of the world. It tries also to
place thermals in mountain areas according to slope conditions and sun irradiation.
Thermal and ridge soaring are experienced with a completely new quality. The user can
choose the difficulty level according to his/her personal skills from very easy to realistic
and difficult.

Disclaimer
The author hereby notifies that the implemented procedures and behaviours may
differ significantly from the behaviour of real aircraft and excludes any liability for
the adoption of inappropriate skills that may lead to accidents, damage or personal
injury, when applied to operation of real aircraft.
The author refuses in addition any liability for unwanted effects on the computer, on
which the software is installed and executed, or with other software, or on a
network-connected computer.

License Conditions and Terms of Use


Freeware License
The use of this software is on the own risk of the user. The author gives no warranty
for the functionality and the absence of unwanted interference with other software
or hardware, and is not liable for any damage produced by the software.
This includes explicitly any effects during operation of real airplanes
according to the aforementioned disclaimer.
The software and its products may be used free of charge solely for personal use
It is explicitly forbidden to distribute the program in any combination with any
commercial product, including services, without a written consent of the author. Also
re-usage of the code and any part of it is explicitly prohibited without a written
consent of the author. It is not allowed to re-engineer the program code.
It is not allowed to re-distribute the program, unless there is an explicit consent from
the author.
The terms of this license may be changed by the author at any time.
The software may not be used if the terms of this license are not accepted by the
user.
By using the program the user accepts these conditions.

Additional conditions for a personal license


The personal license is a contract between the author of the software (licenser) and
the holder of the license (licensee) and gets effective, when payment is received by
the author. The licensee has the opportunity to check the suitability of the program
for his purposes in advance by means of the demo-mode. Refunds are excluded
according to BGB 312d Abs.4.
A personal license entitles to installation and usage of the software on computers
belonging to and used by the licensee for personal purposes.
A personal license does not authorize professional or commercial use of the
software in any way, regardless of the intent of producing income. This excludes
also the offering of services in conjunction with this software. Apply for a
commercial license instead.
Licensees will receive support for installation and operation of the software for one
year, starting from the sending of license files by the licenser. Support is restricted
to installations on Windows operating systems XP, Vista and Windows 7, all subversions. Support is given in German and English languages by electronic means
(e-mail, web forum, remote terminal sessions) only. No support is given for
problems of interference with other software than Flight Simulator X and CumulusX !.
The licenser provides License Files to the licensee, which allow licensed operation
of the software on a computer of the licensee. The program itself has to be
downloaded by the licensee from the web site of the author.
The licensee must preserve the license and program files at a safe place. No
guarantee is given, that the licenser re-supplies these in case of loss.

The licensee must not give away the license files in any case. Giving away the
license files will incur the immediate loss of the right to use and for support. The
licenser reserves asking for damages in this case.
The licensee accepts electronic storage of his personal data for the purpose of
administration of the relationship between him and the licenser. Personal data is
neither given to other parties nor used for other purposes.
In case of individual conditions of the license conditions being ineffective, these are
replaced by substituting conditions which are closest to the initial intent. The
contract remains effective regardless. This contract is under the law of the Federal
Republic of Germany. Venue for cases of dissension is the domicile of the licenser.
All rights reserved, (c) 2007-2010 Peter Lrkens
Dr.-Ing. Peter Lrkens
peter.luerkens@t-online.de
Kirchfeldstr. 64, 52080 Aachen, Germany
All Flight Simulator In-Game-Screenshots are published under the Game Content Usage
Rules of Microsoft (http://www.xbox.com/en-US/community/developer/rules.htm)

What's New in Version 1.8

Slipstream effect in lee of higher upwind ridges


In previous releases, ridge-lift was determined mainly by the nearby terrain
gradient, in particular when flying close to ground. This led to an effect, that even at
the ground of a deep valley a substantial ridge-lift could be found. Now, CumulusX !
scans a large upwind region to identify obstacles which would shield slopes from air
flow and thus eliminate ridge-lift in such situations.

Improved thermal placement in mountains


In the previous version, the thermal placement in mountain regions was strongly
imperfect. Still not being perfect the placement of thermals now follows much better
the influence of wind conditions. Thermals are getting limited priority over ridge lift,
so that thermals can be used also in lee-side with reduced strength.

Thermals reach ground in strong relief


Previously the lift of a thermal decayed in ground proximity, depending on the weak
ground layer setting. This led to an effect that thermals were difficult to catch when
located over a steep slope. Now the weak ground layer is reduced over steep
slopes and becoming almost zero above 30 slope angle.

New slanting method for AutoThermals


Slanting of AutoThermals recognizes now a linearly changing wind profile from
approx. 300 m AGL up to the thermal ceiling. Thereby it follows also the rotation of
the wind direction. This gives a more natural vertical profile of the thermal. In
additon, thermal columns are mostly prevented from leaning into the terrain at steep
slopes by the wind.

Cloud size indicates strength of lift


Previously the clouds size was only depending on thermal diameter. Now the cloud
size is also influenced by the strength of the lift. So big clouds indicate more likely
strong lift and vice versa.

Thermal Lifecycle
Thermal lift starts now on groudn first, evolving upwards up to the thermal ceiling.
When this is reached, a cloud is developed. At the end, lift stops on ground first,
while the cloud remains until the there is no lift at all anymore.

Note: The following features are available only in the registered mode and in demo
mode around Innsbruck (LOWI), Austria. It is assumed however, that they do not
influence soaring performance in general, so participation in competitions should
not depend on license status.

Smart-Tow
In the original program the tow-plane followed a simple straight flight path,
regardless of terrain obstacles and the current thermal situation, sometimes
resulting into a CFIT crash (controlled flight into terrain). The smart tow allows
now to configure in the first part for a circuit pattern (left or right), and proceeds
thereafter to the next thermal. Thereby rising terrain is avoided. This feature is still
in a very early phase, and CFIT-events may still occur in some cases. Please read
the manual chapter on Smart Tow

Wing-tip lift upon entry in thermals


The aircraft reacts now by lifting the tip of the wing towards the center of a thermal
when entering the lift region in an oblique angle.

Turbulence in ridge slipstream or sink and around thermals


In lee-side of ridges, air flow is usually turbulent which is now reproduced by
CumulusX!. The same is noticeable in the downflow of thermals. Turbulence effects
can overload the aircraft structure, so observing maneuvring speed is
recommended.

CumulusXDLL.DLL no longer distributed separately


From now on, CumulusXDLL is part of the standard distribution archive. The DLL
improves smoothness of operation with all Windows versions, in particular with
Windows 7 (trademarks).

Requirements
Windows operating system (XP, Vista, 32 and 64 bit versions, Windows 7 please note
the limitations above)
For Windows XP: .NET 2.0 Runtime, look here:
http://www.microsoft.com/downloads/details.aspx?FamilyID=0856EACB-4362-4B0D8EDD-AAB15C5E04F5&displaylang=en
A decently working installation of Microsoft Flight Simulator X with Servicepack 2. In
case of trouble, please refer to the section Limitations/Known bugs first.

Setting up
Installation
You need to be logged in as an administrator. Attention: Windows 7 users have to rightclick the installation script and choose Run as administrator (or equivalent).
The CumulusX!' installer cannot be executed if Flight Simulator X Service Pack 2 is not
installed.
The compressed distribution archive contains a sub-tree Modules, containing another
sub-folders CumulusX! with the components of the program, some settings files and the
manuals. The sub-tree SimObjects\Misc contains the new visual cloud models.
Extract all files into a temporary directory of you choice. Open the directory and doubleclick the file install. The installation routine will try to identify the installation directory of
Flight Simulator X and proposes to install CumulusX ! there too. Though you can still
choose a different location. If Flight Simulator X is not detected, though it is installed, the
installation routine will offer you a choice to navigate manually to Flight Simulator X' root
directory. During installation the user may be asked to overwrite components of older
installations of CumulusX!. If CumulusX! Is installed for the first, the configuration dialogue
will open to define an initial configuration. Accept this by clicking Ok.

After successful installation, the temporary


directory can be removed.
During installation the startup-coinfiguration
files EXE.XML and DLL.XML will be
usually
configured
properly,
but
for
administrator of the computer only. This is
because
the
simulator
keeps
these
configurations on a per-user base. If you are
planning using the simulator later on from a
different user account than the administrator's, Fig. 1: Activation of AutoStart
have to issue the startup-configuration
manually. For this log-on at the desired user account, start the program Cumulus!X.EXE
by double-clicking and toggle the AutoStart-option off and on again. If this fails you can still
edit the start-up configuration manully. A description of it is found in the appendix.
Installation of CumulusX! on a computer that communicates to the computer running Flight
Simulator X over a network is not supported because of potential latency issues between
CumulusX! and Flight Simulator X
It is recommended to deactivate the built-in thermal engine in Flight Simulator X by
renaming ThermalDescriptions.xml in root folder of Flight Simulator X for example to
ThermalDescriptions.xml.defunct. Otherwise you may get a weird mixture of thermals
from Flight Simulator X and CumulusX !.
If you have already an installation of an earlier CumulusX !, up to and including release 1.0,
you may restore the original file AirObjectVisuals.XML and remove the files
cloud2t2.bgl from the directory Addon Scenery\scenery and the files
cumulus01.bmp from Addon Scenery\Texture. Yet, you may also keep all these files to
continue displaying the stock thermals by the 3D cloud model. In this case you should also
leave the file ThermalDescriptions.XML at its original name.

Deinstallation:
Rename _ThermalDescriptions.xml to its original name. Then delete the CumulusX !
folder from the folder Modules in Flight Simulator X. If this now empty you may remove
the folder Modules, too.
In addition, in the folder SimObjects\Misc delete the folder CumulusXCloud
CumulusX! saves its settings in the registry at :
HKEY_CURRENT_USER\Software\Peter Lrkens\CumulusX
You may delete this registry key entirely, however be careful not to delete anything else,
since the registry is very sensitive to user errors. If you decide to leave the entries, it will
not have any relevant effect.

Quick Start in AutoThermal Mode


First start Flight Simulator. Select Fair Weather as the weather theme. Place yourself on
an airfield anywhere in moderate latitude. Choose a glider plane. Set clock to 13.00. Flight
Simulator X set the menu Options/Settings/Display.., weather tab the change rate of
the weather to minimum, at least for the beginning. CumulusX ! clouds can be distinguished
easily from FS clouds, so finding the thermals shouldnt be a problem.
You may also select Blue Skies, however, by default CumulusX ! does not show clouds at
all in this conditions, unless you check UnBlue at the Help-menu. Later you may also
experiment with the settings in the control panel to vary the AutoThermal properties. After
a change here it takes a couple of seconds until CumulusX ! has re-populated the sky with
updated thermals.

Fig. 3: Connected, inactive


Fig. 2: Unconnected
!
Start CumulusX (Fig. 2) if it has not been started automatically yet. If you start CumulusX !
for the very first time, it will display a message that it is not properly configured and opens
the configuration screen. If you only plan for thermal soaring you dont need to adjust
further settings. Simply press OK, which will close the control panel and configures
default settings. Click Connect to connect to Flight Simulator. Now you will see Fig. 3.
Click on Enable Lift, to activate the lift
function. Dont worry about the two red flags,
which indicate, that you dont have set-up for
appropriate ridge lift information yet. You
should now see a number of thermal clouds
around you. The picture Fig. 5 shows an
example of typical thermal clouds of
CumulusX!. These are noticeably different
from the standard clouds of Flight Simulator X
and can be distinguished by that. You will find
thermal lift under these clouds only. Unless Fig. 4: Connected, active
you have a weather situation called blue
thermals you will find thermal lift only under these clouds. Blue thermals happens, as
one can assume, when the air is so dry that clouds are not showing up at all, despite
thermal activity, and the sky remains clear.
You can now minimize CumulusX! and switch fully over to Flight Simulator X, either in
windowed or in full screen mode.
Call a tow plane and tow out to 500 m AGL. Fly under a thermal cloud. Normally they
should have thermal lift, if you are not too late and they have already stopped. If you
previously flew thermals in Flight Simulator X you may be surprised, that it is much more
difficult to stay in the core of the lift. The reason is that real lift is much narrower than

thermals in Flight Simulator X, as are default CumulusX ! thermals.

Fig. 5: CumulusX! thermal clouds

CumulusX! Functions
Ridge Lift
Ridge lift is the lift that affects an aircraft in the
proximity of mountains caused by the deflection of
the surface wind through the shape of the terrain.
Indeed Flight Simulator X itself has a notation of
ridge lift, in two forms. One is scenery based and
consists of polygon blocks, characterised by an
orientation, a scaling factor and a height. The
orientation represents the direction of the slope face,
the scaling factor the steepness. The height
parameter can resemble the influence of the size of
the slope. Though this approach is basically quite
reasonable it is practically impossible to cover large
areas with detailed ridge lift data this way. As a
consequence the complexity of the scenery data Fig. 6: Ridge Lift
base will become enormous, and it has proven to be
very difficult, to translate an arbitrary terrain into a polygon based abstraction with a
reasonable complexity and sufficient accuracy at the same time.
The second form is found in the mission system of Flight Simulator X. While the ridge lift
model here has even more functionality, the concept of the model is actually completely
inappropriate, for achieving realistic ridge lift conditions, not mentioning the bugs, which
are still in it.
Thermal Ridge Lift
Thermal ridge lift may be considered a special form of ridge lift, which can be perceived at
mountains slope in absence of horizontal wind and occurs also, if normal thermals are no
or not any more present. Most of the time it is a weak lift due to direct sun irradiation
during the day, and stored thermal energy in the evening in combination. This allows to
prolong a final glide in the evening by clever selection of the appropriate slopes even in the
absence of wind or normal thermals.
Generation of Ridge Lift
Since Version 1.5 CumulusX! creates ridge in dependence of the installed and activated
scenery. CumulusX! develops ridge lift from the profile of the terrain under and around the
aircraft. This is inquired continuously during flight. These information are transformed into
usually reasonable ridge lift by a heuristic formula. So it is not necessary to integrate the
set of Navier-Stokes differential equations by extensive numerical methods. The
disadvantage is, that the result may not be realistic under certain circumstances.
During this, the orientation of two extended areas are analysed, one upwind, the other
downwind. These areas grow and shrink with the aircraft altitude above ground. By this
small protrusions and terrain irregularities have less influence and the ridge lift gets
smoother, as the aircraft gains altitude. Thereby the area with best conditions shifts in
upwind direction.
In addition a larger upwing area is analzyed for the presence of obstacles producing a
slipstream effect in the lee of a ridge. Once the aircraft is within the slipstream area, ridge

lift is substantially reduced, eventually down to zero. This avoids unrealistic ridge-lift at

Fig. 7: Streamlines over a mountain area


ground of a deep valley. In the licensed mode there is a turbulence effect in the slipstream
and in the sink of a ridge, which can become very dramatic.
There is also a decay function, which gradually reduces the ridge lift, depending on the
aircrafts altitude above ground level (AGL). A first component considers a reduction effect
when the plane is less then approximately 20 m above ground, until zero on ground.
A second decay reduces the slope lift with increasing altitude above ground level beyond
20 m AGL. The rate of decay is determined by the differences of the elevation of the
surrounding terrain, as far as detected by the algorithm. The higher these are, the higher
the ridge lift extents vertically. Large slopes will have a higher reaching ridge lift than small
hills. This effect starts to become effective if the elevation differences are high than 100 m.
Fig. 7 shows a flow profile over a mountain with several ridges. The colours indicate areas
with lift (red shades) or sink (blue shades). The dottet area indicates a ridge under the
influence of slipstream.

Thermals
Although Flight Simulator X contains already some built-in implementation of thermal
generation, its approach is far away from satisfactorily. Just to name a few shortcomings, it
is highly static, meaning that thermals, once present, remain at fixed places all over the
day, thermals widely not reacting on current weather conditions, e.g. do not adapt their
ceiling to the ceiling of otherwise existing clouds, they do not react on seasons, thermals
are absolutely vertical, regardless of wind conditions, and there is no texture in the
atmosphere in between of the thermals.
While this may be a acceptable starting point for beginners, it quickly becomes boring, and
it has nothing to do with the real thrill of uncertainty to react on in real life soaring.
In fact, Flight Simulator X uses a land-class based approach by means of the configuration
file ThermalDescriptions.xml, to identify thermal properties for a certain region, which

could have had result of reasonable thermals world-wide, if a regional factor and season
and weather adaptation would have been included. Unfortunately, this is not the case, so
this approach can only be said to be useless.
CumulusX! goes a different way, based on a small configuration file of few bytes, which
contains some general information about the current thermal properties, like coverage with
thermals, strength, ceiling, size, and atmosphere behaviour in between. This information
is then automatically adapted to the current season, weather, and terrain conditions, and a
live thermal distribution is produced, in which thermals are constantly creating and
dissipating. Depending on the local weather situation, thermal clouds are produced along
with the thermals, or not, when otherwise blue sky conditions prevail.
The principle thermal creation process is a random placement of a large number of
thermal cells. CumulusX! activates only those, which coincide with favourable conditions.
Thereby conditions of the ground underneath and steepness of slopes and their orientation
are checked.
This gives the freedom to react on local conditions, while still being able to synchronize the
thermal generation with well defined rules, which is essential for multiplayer compatibility.
Only those thermals are made visible which are in sufficient close proximity of the user
aircraft. There are more invisible thermals in a bubble of reality around the user aircraft
which are activated and made visible when required. During flight this follows the user
aircraft, while thermals left behind are discarded again according to the natural lifespan.
Thermal Model
In Fig. 8 the general thermal model is
shown. Basically it is a slanted cylinder. In
the centre of the core, the maximum lift is
obtained. The core is surrounded by a shell
of moderate sink. In default this is 10% of
the lift in the core. The thermal starts at
ground with a lift of zero, which gradually
increases until the end of the weak surface
layer is reached.
Then the lift continues with its nominal
value, until an inversion layer is
encountered. In the inversion layer, the lift
gradually decreases to a certain value, e.g.
50%, in the middle between upper and
lower inversion boundary. From then on, Fig. 8: Principal thermal model
the lift increases again until the end of the
inversion layer is passed. The lift starts to decrease again 90 m below the cloud lower
boundary and drops to zero at 50 m above.
If there is wind in the current altitude of the aircraft, thermals are leaning to the lee-side.
The leaning ratio, i.e. the ratio of lateral displacement between the top and the bottom of
the thermal and its height is the ratio between wind speed and lift, in same units. Thus the
leaning angle can be substantial, when lift is weak and wind is strong. In mountains extra
calculations are done to prevent from leaning into the slope, which would make it
impossible to follow the thermal from ground to the ceiling. Instead, the column would
follow the surface of the terrain, if this is steeper than the leaning angle of the thermal. For
better match to a vertical windprofile, wind speed and direction close to ground and at
ceiling altitude is taken to produce a realistic leaning curve.

Fig. 9: Thermal lifecycle


Thermals follow a lifecycle, i.e. a thermal starts first on ground. At this time, no cloud is
forming above. Within some minutes, the thermal columns develops upwards until the
condensation altitude is reached. Now, the thermal columns exists from ground to the
thermal ceiling. At this moment a cloud is developing at the condenstion altitude, first
small, then growing larger. A few minutes before the entire thermal comes to an end, the
column of lift looses contact to ground. It is now no longer possible to enter the thermal
from very low altitudes, while the cloud persists at the top. Finally, the lift disappears
completely and the cloud starts shrinking and dissolves finally.
Air Texture
During simulation a structured atmosphere is created that varies over time and place,
depending on wind direction. Fig. 10 and Fig. 11 show two different wind conditions, one
with zero wind, the other with 30, 15 kts. In the first case only a small amplitude of the
vertical air movement (outside from thermals) is shown, while in the second case distinct
structures are created with streets in parallel to the prevailing wind direction of moderate
lift of maximum 1 m/s, and substantial sink in between. This pattern dissolves again with
wind speed higher than 15 kts.

Fig. 10: Air texture at zero wind

Fig. 11: Air texture at 15 kts, 30

In addition both patterns are slowly time dependent, so thermal lift and sink regions move
during a day, so that one cannot rely that a certain area will have lift at a given time. Again
these patterns, while experienced mostly random, are synchronised to conditions which
are equal among participants of multiplayer sessions.
These widespread lift and sink conditions are influencing the thermal placement in a way
that thermals are not produced in areas where sink is dominating. In case of wind speed
around 15 kts, this results in the known clouds streets (Fig. 12, at dense thermal
coverage), which often allow to proceed miles and miles without loosing any altitude. The
penalty is, that the streets are usually not leading into the desired direction, and you will
have strong sink when trying to cross over the gaps in between.

The air texture is superimposed by short


term fluctuations of lift and sink, with a
timing of few seconds. This is also
depending on thermal and wind conditions,
but neither depending on wind direction or
location of the user aircraft. It is also not
considered for thermal placing.
Eventually, thermal placing is also
synchronised with the terrain profile. This
allows preferring thermals over slopes
which have good sun irradiation conditions.
In addition, also wind influence is
considered, which is usually dominating
over irradiation and air texture conditions.
So lee-side thermals are usually pretty
sparse, however the algorithm still allows Fig. 12: Cloud streets at 15 kts
thermals in overall lee-side conditions, if the
piece of terrain beneath the thermal is in coincidence with wind direction. This is a very
effective influence which usually overcompensates the effect of air-texture. Also cloud
streets will usually not occur in regions with a relevant relief structure.
Daytime and Season
Thermal activity is obviously depending on season and daytime. CumulusX ! has a simple
model of sun irradiation to determine when thermal activity starts, when it ends, how the
strength of thermal, relative to their predefined settings develop during the phase-in and
phase-out periods. For this an approximation of the sun position at each thermals place
and an estimation of the accumulated sun irradiation since sunrise as a measure for
thermal energy are calculated.

Fig. 13: Sun altitude at 50 N

Fig. 14: Thermal energy at 50 N

These two functions are used to control begin of thermal activity in the morning and fade
out in the evening. Frequently it is observed, that in the morning thermal population starts
to grown while thermals are relatively weak. Later their strength rise to the maximum
value. In the evening however, thermal coverage reduces, while individual thermals are
still pretty strong. This is nicely represented by the high thermal energy, even present after
sunset. Of course with sunset latest, no new thermals will be born. These two behaviours
are covered by a transformation of sun altitude and thermal energy into an effective
coverage, and an effective activity.

Fig. 15: Effective thermal coverage at 50 Fig. 16: Effective thermal activity at 50
latitude
latitude
One can see, that thermal coverage starts to develop in July at 50N around 8:30 hrs (9:30
DST), and achieves its full value at 9:25 (10:25 DST). Thermal strength develops more
slowly. It begins at the same time, but achieves its full value at 10:00. In the evening the
relation is a bit vice versa. It start to reduce in July at 18 hrs, while thermal activity, and
thus the strength remains high until very short before sunset at 19:30 hrs solar time.
Currently, the situation seems perhaps a bit too optimistic, and this behaviour will be a field
of further calibration in the future.
Weather dependency
The thermal simulation does an analysis of the built-in weather in Flight Simulator X to
decide, if thermal activity is likely to happen at all. An early idea was, to assess the local
status of the atmosphere, including temp and dew point, to create an assessment of the
thermal situation. Actually, real world weather in Flight Simulator X is indeed rich of
information on these parameters, at least in most cases. Unfortunately, the information in
the built-in weather themes is too sparse that one could expect a reasonable result.
CumulusX! concentrates therefore on the visible effects of the weather to decide on some
aspects of thermal activity. Most important here are cloud layers in Flight Simulator X. If
there is an appropriate cumulus cloud layer, this is used as the primary value for the
thermal ceiling. Otherwise, cloud situation is used to exclude thermals, or allow it after
evaluating time-of-day and season conditions. If there is no appropriate cumulus layer, and
conditions are otherwise appropriate for thermals, then blue thermals are created. and
CumulusX! removes the visible clouds. Nevertheless, thermal activity will go on. Most
probably the ceiling will be different from before, because in absence of clouds from Flight
Simulator X CumulusX! switches back to its own definition of thermal ceiling. This ceiling
depends on the configuration of CumulusX ! by the user.
You can also choose real weather from the weather setting in Flight Simulator X, which
makes the soaring flight as unforeseeable as in reality.
The following table gives an overview under which weather condition one can expect
thermals, or not.

Cumulus

Overcast cumulus

No cumulus

No stratus

Yes

Yes, no CumulusX!
clouds

Yes, Blue

Broken stratus over


cumulus

Yes

Yes, no CumulusX!
clouds

N/A

Stratus

N/A

N/A

No

Stratus under
Cumulus

No

No

N/A

Overcast stratus

No

No

No

Table 1: Weather conditions and thermals


The weather system of Flight Simulator X works indirectly by means of Weather Stations,
being configured with standardized METAR-data strings. These describe the local weather
situation in an abbreviated way, in the same way as it is done in real world aeronautical
weather reports.
In real world, good soaring conditions go typically along with a 3/8-5/8 cumulus cloud
coverage. Unfortunately, without further action, Flight Simulator X creates a wide area
pattern from it, which substantial regions having no clouds at all, very unfavourable for
cross country soaring.
However, Flight Simulator X has an additional weather station Global. In the proximity of
a localized weather station, weather conditions of nearby stations are interpolated. If
weather stations are not initialized, global weather conditions are used instead. For
software, this global weather station can be interrogated independently. This is used by
CumulusX! as fall-back in case of local weather stations not indicating cumulus clouds.
This can be used during setting up weather conditions for soaring flights, to achieve a
desired population of thermal clouds. In the following some approaches for special
scenarios are given:
1) Cloud thermals everywhere
Select weather theme Clear Skies first. This erases effectively all previously defined
weather stations including Global. Then select user defined weather and create
appropriate cloud and wind conditions for Global weather. Blue thermals should not occur
any more, even where Flight Simulator X does not show cumulus clouds at all.
2) Cloud thermals in a defined area, blue thermals otherwise
Again select weather theme Clear Skies first. Then select user defined weather, click on a
weather station in your desired area and set conditions locally. Proceed with all necessary
stations.
3) Cloud thermals everywhere, but no thermals at all in a certain region
Proceed according to 1), then select a weather station in that particular region and define a
minimum stratus layer (1/8) below the global cumulus layer. Extend the bad area by
adding more weather stations that way (but usually one is enough).
4) Real world weather without blue thermal areas
The downloaded real-world weather is mapped on to the localized weather stations,
leaving the global station unaffected. So, start again with weather theme Clear Skies first,
then go to user defined weather and define a global cumulus layer. Then download real

world weather. Check (by switching temporarily to user defined weather, without confirming
it) that there is no stratus layer in real world weather below your global cumulus layer. If
not, re-adjust the global cumulus layer and download real world weather again. You should
also check that global wind corresponds to the overall real world weather conditions.
There are many more possible combinations, I'd leave it to the fantasy of the user to think
of other useful settings.
Ground Dependency
During thermal creation a few ground features are considered. One is that thermals are not
created over water bodies. Thermals over snow and ice areas occur only over steep
slopes in mountain areas. Basically this is to avoid creation of thermals in an unrealistic
way over open sea and large lakes, or glacier areas.

Fig. 17: Thermal distribution, at the seaside

Fig. 18: Thermal ceiling over mountains

In forest regions the start of thermal activity is delayed, depending on seasonal conditions.
However, at evening time a higher number of thermals can be found over forests,
compared to the remaining landscape.
A further ground feature is the ground elevation. In reality, thermal ceiling tends to climb to
a certain extent with the elevation of the surrounding terrain. Initially, CumulusX ! did not
consider this effect and set the thermal height either to the predefined value, or aligned
with existing cumulus layers from Flight Simulator X. Now the simulation can make a
balance between the predefined ceiling, or the ceiling of cumulus layers from Flight
Simulator X, and the terrain elevation, depending on the users setting.
One simple option is, not to consider ground elevation at all. In this MSL-mode, clouds
will follow the predefined setting or align fully with existing clouds layers. Another option is
to raise the thermals with increasing ground elevation. This case is considered as AGLmode.
A third method is to use a weighted adaptation using the a mixture of the predefined ceiling
and the ground elevation. For an adaptation factor of e.g. 50% it is checked if the ground
clearance is at least 50% of the predefined thermal ceiling. If this not achieved any more,
the thermal height is increased by the missing altitude, scaled by the adaptation factor
again. This leads to the effect that lower ground features do not have any effect, while the
thermal height increases in higher mountain areas. Still very high mountains are in clouds.

Multiplayer Compatibility
In order to support multiplayer sessions, the thermal pattern, while looking random is still
following a rule, which results in exactly the same sequence of locations, timing, strength
and all other parameters, as long as all clients have the same global time and weather
conditions, the same land-class configuration (for forests, water, snow and ice), the same
mesh scenery (for slope influence), and all involved CumulusX ! instances use the same
configuration. Weather and time situation is automatically fulfilled in multiplayer sessions,
hosted by Flight Simulator X instances. The CumulusX! configuration can be shared prior
to the session by exchanging a small text file, or by agreeing on using the default settings.
When using Flight Simulator X' multiplayer mode, synchronisation of simulator clock and
weather conditions is done automatically. This is not the case with 3 rd party multiplayer
solutions. In this case, users have to align their clocks manually and agree upon this in
advance. Moreover, gliding is a daylight activity, preferably from noon to the later afternoon
and early evening. So if people world wide like to meet on a multiplayer server, the
problem occurs, that depending on the desired location, participants have to rise in the
middle of the night (if real time is agreed), or cannot reasonably participate in events
outside their real-world region.
To solve both problems it is proposed, to agree on a common clock synchronization
scheme which has a focus on the season and daytime which are favourable for gliding.
This means:
1) Daytime is divided into a repeating pattern (shift) which is adopted in starting a
session
2) Calender is adjusted to mostly summer months
3) General synchronisation is done with real-word Zulu time
To achieve this, the following procedure is executed:
1) The user aircraft is moved to the location of the venue
2) The simulator clock is synchronized with real world time (Menu environment/Time
and Season, Reset)
3) GMT-Date is checked if it is in the preferred months (June, 1 st, to September, 30th, in
Northern hemisphere, December, 1st, to March, 31st, on Southern)
4) If not, Calender is shifted by multiple of 122 days on Northern hemisphere, 121 on
Southern (or 122 in leap years)
5) Local Time is checked if it is within the planned window. If not clock is adjusted by
integer multiples of the shift duration until this is the case. GMT date must not
changed by that, i.e. one has to wrap around on the same Zulu day.
Because this is very tedious to achieve this manually, CumulusX! has a menu entry, that
does the job. Please relocate your aircraft to the venue of the event first to catch up local
daylight saving time and time zone conditions. Once the clock is set, no further alterations
are done, so one can fly out of the shift, without being hampered by wrap-around effects.
However, newly joining and syncing pilots will have other conditions, than those having left
the shift window.
Currently, three different shifts of 8, 6, and 4 hours are supported. It is necessary to agree
on a particular shift pattern for an event or a given server.

Another option for multiplayer operation is using the thermal script file, which allows a
placement of thermals by hand, and in this way also to consider very specific local
conditions, as power plants, house-thermals and so on. With a thermal script file, other
simulator weather conditions are largely neglected, except cloud altitude.

Operating Instructions
The Main Window
The main window is the primary user
interface. It contains three main buttons,
Connect, Disconnect and Enable Lift
(or Disable Lift if lift is already enabled).
The buttons Connect and Disconnect
manage the connection to the Flight
Simulator X simulation engine. The Button
Enable Lift transfers the simulation of the
vertical movement of the aircraft from Flight
Simulator X to CumulusX!. When Flight
Simulator X is running the simulation, the lift Fig. 19: Main Window
button turns green. When it is paused,
slewing or the user is using some dialogue it turns pink, meaning that CumulusX ! is
temporarily suspended.
Unless disconnected or disabled, or being in dialogue mode, CumulusX ! continues to
function during all its user interface actions, so you can change your settings on the fly
without suspending the simulation. However, the window mode of CumulusX ! is not
compatible with full screen mode, so you have to switch to windowed mode first. Then,
usually Cumulus! has to rebuild the thermal situation after a change of settings, which can
take up to a minute. Flight Simulator X will continue to run during this time without being
noticeably affected, so it is easily possible to change settings on the fly (if you can manage
to control the aircraft at the same time).
There is a series of check boxes which
allow selecting and deselecting certain lift
contributions individually. The flags right of
the lift check boxes indicate the current
state of the individual mechanism. Empty or
grey means, that the item is deactivated, or
information is not available, because
CumulusX! does not need this sort of lift for
the moment. Green means, that everything
is OK, and lift values are produced when
needed. Red means, that some error has Fig. 20: CumulusX! active
occurred, for example if slope lift is
activated, but there is no information available for that region. The thermal flags have also
the state orange, which means thermals have still to come, and the state light blue, which
means that there will be no more thermals today. Weather conditions are no reflected in
the check box.
Script Thermals are prioritized over AutoThermals. This means, if both are activated, Script
Thermals are used, unless a valid script file is not found, whereas CumulusX ! falls back to
producing AutoThermals. Nevertheless you can always enforce a particular lift source by
un-checking the unwanted sources.

Settings Files
CumulusX! allows the saving and loading of
settings files, to exchange with other users
and achieve easily the same configuration.
Settings files are simple text files containing
all
relevant
configuration
data
of
!
CumulusX . When planning a multiplayer
session the session host should prepare an
appropriate settings file for download
somewhere, or decide to use the default
settings.

Fig. 21: Loading settings

There is a few prepared settings included in


the distribution archive. Because of the adaptation to prevailing weather conditions,
season, and partly the terrain, a well balanced setting of CumulusX ! for a region will rarely
require a modification. So, one can concentrate on special cases, which are interesting for
high speed courses or particularly difficult conditions. . .
Enabling AutoStart
It is possible using CumulusX! in AutoStart
mode. This means that after start of the
program, it automatically tries to connect to
Flight Simulator X and enable lift. This is
particular useful, if you want to start
CumulusX! through Flight Simulator X by
means of an EXE.xml-file. This will
happen automatically by activating this
option. A sample EXE.xml-file is given in
the appendix for manual configuration.

Fig. 22: Enabling AutoStart


The program starts in minimized mode
then, so if you are not planning to change your settings, the main window of CumulusX !
may remain invisible throughout the entire session. In AutoStart mode CumulusX ! will
terminate with Flight Simulator X, in normal mode it will remain active.

Flight Simulator X Menu Functions


A few basic function of CumulusX ! are
accessible from the Flight Simulator X main
window. However, the user-interface of
CumulusX! is currently not fully compatible
with full screen mode. The critical functions
are indicated with an exclamation mark. Be
aware, that unexpected effects may happen
if you use them in full-screen mode. It is
highly recommended to switch over to
windowed mode first. The same holds true
for using the debug window.
Fig. 23: FSX Menu

You may however safely enable or disable


CumulusX! lift simulation, or select the

UnBlue option, which makes thermal clouds visible, even when blue sky conditions
prevail.
The multiplayer soaring clock (Fig. 24)
menu allows easy clock synchronization
among
participants
of
non-Flight
Simulator X multiplayer servers, by using
real world time. This requires a correct
setting of computer clock and time zone,
which should be the case in most
circumstances. Time synchronisation is
done in shifts, the only variable is the
length of the shift, on which should be
agreed upon when defining the event or
setting up the server. It may boradcast by
a server info or during the event by
means of virtual radio. Select the
appropriate shift from the menu. After that
Flight Simulator X will reload your Fig. 24: Soaring Clock Menu
scenery and traffic (if any). Then calendar
should show a date between June, 1 st,
and September, 30th, on Northern
hemisphere and December, 1st, and
March, 31st, on Southern hemisphere.
Local time should be in the window,
indicated in the menu.
If CumulusX! detects loading of a flight or
a mission or a flight it tries to load a
CumulusX!-configuration-file with the
extension .CMX from the same
directory as the .FLT-file. If successful
CumulusX! enters competition mode. In
competition mode the options UnBlue
and Debug are deactivated and the
CumulusX! user interface is locked. Also Fig. 25: Terminating competition mode
the map view, allowing spotting of thermals in the area is deactivated. By means of the
Flight Simulator X Add-On menu the CumulusX ! user interface can be unlocked again (Fig.
25). CumulusX! reports this to other programs, e.g. a logger program, so it can detect, if
CumulusX!' is settings were altered during a a mission, or if CumulusX ! was terminated and
restarted.

Smart Tow
The function Smart-Tow, which is an
intelligent tow plane is available only in
the licensed version or in the demo
mode. The Smart-Tow is activated by
selecting it from the drop-down menu. It
has to be configured prior to issuing the
tow-command (Fig. 26) to either a left- or
right-circuit pattern. After the initial climbout the tow-plane performs a 90 turn
and after gaining some additional altitude
it will perform another 90 turn. After
reaching 300 m above the aerodrome it
sets course on a nearby visible thermal
and starts circling there. During this
process rising terrain is avoided, so it will
also work in mountain areas. If there are Fig. 26: Configuring Smart Tow
no nearby thermals with a cumulus cloud, smart tow continues a rectangular pattern aside
the aerodrome. After release of the glider the Smart Tow returns to the aerodrome and
lands, vacates the runway, stops and
disappears. In mountain regions the return to
the aerodrome frequently fails at this time, as
there is not yet a reliably enough working
return procedure that works in all possible
situations. In such cases when a collision with
a mountain is imminent, the tow plane simply
disappears. This feature is still in an early
phase, so CFIT (controlled flight into terrain)
events may still occur.
Furthermore it is now possible to select the Fig. 27: Selection of the tow-plane
tow-plane, its pitch, tow speed anhd flap
setting. Change of aircraft and ptich however
require a restart of the simulator. CumulusX! scans shows a dialogue from which a
directory can be selected that contains the new tow-plane and its variations. After selecting
the directory one can choose the desired variation, define the pitch (positive is nose-up),
the desired tow speed, and flap setting. The tow plane and its pitch are defined in Flight
Simulator's configuration file FSX.CFG, which is read only once during start of the
simulator. Therefore these changes require a restart of the simulator. In this case
CumulusX! has to stay in memory and wait until Flight Simulator has terminated before the
necessary changes can be written here, because the simulator itself overwrites the
configuration file upon exit and would eliminate all changes of external programs. For
safety reasons CumulusX! creates a backup file of the configuration which can be used to
restore the configuration file in case of trouble.

Please note that like in reality not all planes


are suitable for towing. A good tow plane must
be able to achieve a good climb rate at
relatively low speed (e.g. 70 knots). Some
planes do not show reasonable climb rate at
such low speed, even if there is a large
positive pitch and an optimal flap setting are
selected. This comes from that fact, that with
certain wing airfoils drag increases very much
with pitch at low speed, so that even with a
powerful engine no reasonable climb-rate is
achieved. If one notices that the selected tow
speed is not achieved or after quite some time,
then the pitch can be too high or flap setting is Fig. 28: Tow plane configuration
inappropriate. Typical pitch values are around
+8...+11 (nose-up). Another tuning factor is the flap setting. By default, Flight Simulator X
uses flap position 2, which is appropriate for the Maule M7 which has plenty of flap
positions. At other aircraft flap position 2 could mean a position with very high drag. The
tow aircraft would never achieve the desired speed. In this case reduce to flap position 1
or even 0 (up). You have to find out yourself which are the best parameters for a certain
tow aircraft.
Some aircraft cannot be correctly controlled by the Smart-Tow function. The reason are
settings in their AIR-file, which is provided by the developer of the aircraft.

Settings Panel
You can access the settings panel (Fig. 30)
with the Tools/Configuration menu. The
settings panel opens a script file and defines
the properties in AutoThermal mode.
The field Thermal Script File allows defining
a text file containing timing location and other
properties of thermals, typically for a whole
day. When using script file, the parameters
defined in the script file header will overwrite
the settings pane. There is no randomization Fig. 29: Open Settings
of parameters. This gives most control over
thermal situation on the one hand, but on the other hand, the outcome will usually fit to a
specific location and weather situation (look in the appendix for more information). If the
field is empty or the script file is missing, or contains errors, CumulusX ! changes to
AutoThermal mode, if enabled. Its properties are defined by a number of parameters.
Several of these are defined by ranges. For these properties pseudo-random values are
chosen which are randomized, based on some global data from Flight Simulator X, being
equal for all participants in a multiplayer, so that all involved CumulusX ! instances will
produce the same conditions. This way the existence of an inversion layer and its
properties are determined, too.
The Lift Ceiling range defines the altitude above mean sea level to which the lift extends,
when there is no other information on thermal height available. When there are cumulus
cloud layers from the built-in weather system below 20000 ft, this value is used for the lift
ceiling instead. If weather conditions are suitable for thermals, and there are no cumulus
clouds produced by Flight Simulator X, CumulusX ! will generate blue thermals within the

defined ceiling range. A


pseudo random value from the
given range is selected, which
depends on the absolute time.
This random value is newly
determined every three hours.
The relation to absolute time
allows
again
the
synchronisation of several
instances of CumulusX!, based
on the global time of Flight
Simulator X.
Lift Strength defines the
range of lift in m/s that
thermals can have. This
strength is gradually increasing
in the morning until it achieves
its defined level. Thermal
Diameter
indicates
the
diameter of the portion of a
thermal having a positive lift. Fig. 30: Settings Panel
Thermal Duration gives the
range of lifetime that individual thermals can have. Thermal Coverage gives the number
of thermals per area, which are active simultaneously. Also here there is an increase. In
the evening the number of thermals decreases again, while the strength of the lift remains.
The Thermal Sink Scalar scales the amount of sink in the outer part of the thermal,
relative to the lift in the inner part. With a factor of 1 it is approximately 10% of the
maximum of lift in the centre part. The Weak Surface Layer defines an altitude above
ground (AGL) from which the thermal lift tapers out to zero at zero AGL altitude.
The Thermal Lean Factor gives the amount of slanting of the lift column. The lean factor
defines the weight with which the horizontal wind vector is superimposed with the vertical
lift vector. A value of zero produces a purely vertical thermal (no wind influence, good for
beginners), while a value of 1 produces a leaning as if lift and wind speed are added as
orthogonal vectors with equal weight.
Wide spread sink defines the atmosphere behaviour outside of the thermals. A positive
value defines a constant additional sink value that is applied to the aircraft movement.
Useful values are from zero (disabled) up to around +0.1, which counterbalances an
average thermal situation.
When using a negative value, this not turned into a widespread lift, but an automatic
calculation is involved to balance the whole amount of rising air with the sinking air. During
this, the actual number and strength of thermals is considered, including season and
daytime effects. In addition, a structured component of sink (air texture) is superimposed,
which depends on wind speed and direction, location of your aircraft, and time. So you
may have long streets of minimal sink more or less in parallel to wind direction at higher
wind speed, an also grooves of strong sink in between. At the end these effects are scaled
by the absolute value of this parameter. Useful values are between -1 (fully automatic) and
0 (disabled). For beginners, it may be good to start with this parameter disabled, because
the constant fluctuations due to the air texture can be rather confusing, while identifying
the centre of the lift of a thermal.
The parameter Ground Elevation Effect affects the actual ceiling of thermals again,

depending on the ground elevation below. If the parameter is 0, then ground elevation is
not considered at all. With a parameter of 1, thermal ceilings are effectively considered as
AGL altitudes. Parameter values between 0 and 1 lead to a kind of minimum effect of the
ground clearance of thermals. The desired ground clearance is considered as the the
currently effective thermal ceiling, scaled by ground-elevation-effect-parameter. If the
actual ground clearance would be less than this, the ceiling is raised. The amount of
additional altitude is the missing altitude, again scaled by the ground-elevation-effect. The
effect is, that in lowlands thermals are not affected. Only in high mountains ceiling is
increased. Still, very high mountains are still peaking in the clouds. A value of 0.5 will
produce a behaviour that thermal ceiling will increase in high regions, but not to the full
extent of the additional ground elevation. It has turned out that this gives usually a pretty
realistic effect. It happens that if there is a cumulus cloud layer of the built-in weather, then
the thermal clouds can reside over these.
The Inversion Layer parameters define a layer of weaker lift, representing the effect of
inversion conditions. Like the determination of the thermal ceiling, every three hours
CumulusX! determines newly if an inversion layer exists, and if so its parameters. A
probability of 0 means, there will be never an inversion layer. Vice versa, a probability of
100% means that an inversion layer will exist always. Distance Below Ceiling describes
the lower boundary of the inversion layer. Beginning from here the lift is decreasing in
upward direction until in the middle of the layer. Then it increases again, until the initial
value is re-established. Be careful with these settings, because depending on the strength
of a thermal and the minimum sink of you glider you can easily create a situation, in which
it is impossible to climb through the inversion layer.
The parameter Turbulence Effects (%) controls the strength of the turbulence feature.
The wing lift effect is turned off, if 0% is set here. The Dynamic Tow Plane checkbox lets
the tow plane show lift and turbulence effects during tow. These functions are available to
the registered users only.
The check box CCS-Compatibility affects profiles and characteristics of ridge lift and
during scripted mode. When it is set, CumulusX ! has mostly the same behaviour as
CCS2004, which should allow common multiplayer sessions of Flight Simulator X and
Flight Simulator 2004 in ridge lift and scripted mode. The two parameters Slope Lift
Scalar and Slope Layer Scalar determine the strength of ridge lift and affect the thickness
of the lift layer. They are only available in compatibility mode.
The button Reset restores default settings in all fields, except from Thermal Script File.
It is a reasonable fall back for multiplayer sessions, when no settings file could be
exchanged or defined before and included settings files have been altered,

Debug Window
By selecting Info/Debug a tool-window presenting information on CumulusX ! internal states
is presented. The content of it will probably change from version to version and is primarily
meant for supporting error reporting and debugging. For beginners it may be also helpful
to get some more information on the situation around the user aircraft.
Currently displayed values are:

Slope angle
Slope_dir
AmbWindDir
AmbWindSpeed
Lift Decay Const
Acft Altit. AGL
Slope-Lift
Wind:
Thermal:

Slope steepness []
True slope orientation []
True wind direction []
wind speed [m/s]
Lift decay constant/ Limit
Current AGL altitude [m]
resulting slope lift [m/s]
Lift due to wind
Lift due to sun

Thermal Lift
WideSpreadSink
AirTexture

Lift from current thermal


constant sink [m/s]
lift contribution of structured
atmosphere [m/s]
overall lift from thermal activity
[m/s]
Number of active thermals

Eff. Thermal Lift


# Act. Thermals
Thermal Energy
Sun Azimuth
Sun Altitude
Max. Sun Altit.
Solar time
Sun rise
Altitude Error
CumulusXDll

Fig. 31: Debug Window

Indicator for thermal energy


Direction of sun
Altitude angle of sun
Maximum sin altitude for today
local solar time
local solar time of sun rise
Difference between DLL-controlled
altitude and main-program-controlled
altitude, should be zero usually.
Indicates usage of DLL-mode

Limitations/Known bugs:
Unrealistic wind correction angle in slipstream
Unfortunately, it is a night mare trying to affect the simulator's weather system directly to
express sliptstream effects by reduction of wind speed. The two reasons are that first
many other add-ons as weather-addons or other utlities are already influencing directly the
weather system, so that conflicts would become unavoidable. Second, it is very difficult to
produce exactly the desired effect, in this case reducing wind speed at a particular
location. CumulusX! therefore affects the lift only and leaves the actual windspeed
unaffected. This leads to a much higher wind correction angle as one would expect in view
of the little lift which might be left over, as if the air flow goes directly though the mountain.
This is the same effect as without CumulusX ! at all. Though this is noticeably unrealistic I
can't do better for the moment.

CumulusX! crashes immediately:


CumulusX! depends on a library of Flight Simulator with Service Pack 2, being correctly
registered with Dotnet-Framework 2.0 (or 3.5 on Vista and Windows 7), otherwise the
program will crash immediately at start-up. Confusion arises from the fact, that
Acceleration Pack is said to contain SP2, which it does is not. Though the functionality is
equivalent, the libraries are different. If you encounter this problem with Acceleration Pack,
uninstall Acceleration pack, install Dotnet-Framework 2.0, if necessary, then install SP2.
After this you may uninstall SP2 again and install Acceleration Pack. That leaves the
required library of SP2 on the system and correctly registered with Dotnet-Framework 2.0.
If CumulusX! crashes on start-up even with SP2 installed, the reason is an incorrect
registration of an SP2 library with Dotnet-Framework, usually because Dotnet Framework
is missing or was installed after installation of SP2. This can only happen with Windows
XP, as later Windows versions have Dotnet-Framework built-in. In this case uninstall SP2,
install Dotnet-Framework, if necessary, and re-install SP2. This registers the library
correctly with Dotnet-Framework.

Sudden jump of aircraft to different location


This occurs when the visual models of the thermal clouds were not installed correctly, e.g.
under influence of user access control (UAC). Open the distribution archive, navigate to
SimObjects\Misc and copy the folder
CumulusXClouds into the directory
<FSXROOT>\SimObjects\Misc.

Vertical jutter of the aircraft


The effect is a vertical jutter of the aircraft. This occurs if the multitasking scheduler delays
the activation of CumulusX!, which fails to update the vertical position of the aircraft
frequently enough. In Windows XP and Vista this is occasionally disturbing, mostly during
aerotow.
This effect is much stronger and part time unacceptable in Windows 7, so usability of
CumulusX! in conjunction with Windows 7 is limited. A solution was developed in form of
an additional DLL. Please check out the authors website for further information and
download of the DLL-package. Without registration it will work in the proximity of Innsbruck
(LOWI). If you find it useful for you, you are kindly asked to apply for registration and a
personal license for a moderate fee.

Tow plane and other AI not affected by lift


Due to some limitations of Flight Simulator X, the CumulusX ! lift is effective at the user
aircraft only, and not at AI aircraft. In particular the tow plane is not affected by it, which
can make it very difficult to stay behind. In extreme case you may even be faster than the
tow-plane and going to overturn it. Extend the spoilers to keep this situation under control.
Interestingly, this is also the case in combination with built-in thermals, which do not affect
the tow plane either.

Differences in ridge lift during multiplayer sessions


During multiplayer sessions it may happen, that users have different experience of the
ridge lift. This may have different reasons.
First of all, all participants should have the same mesh scenery in effect. If there are
participants using Flight Simulator 2004 and CCS2004, their slope data base should
correspond to the mesh scenery of the Flight Simulator X users (or vice versa). The
coincidence is usually good enough, if mesh scenery and slope data base data is based
on 3 arc second SRTM data. Of course, all participants should have same weather
conditions.

Clouds not moving


I did not manage to make the clouds and thermals moving along with the wind. They are at
fixed locations, however, depending on wind speed and lift they lean more or less. There is
also a vivid discussion on how much and when thermal clouds are drifting.

Some graphic errors


There is a fundamental problem in handling semi-transparent objects correctly. The result
is that the cloud of the internal weather system are frequently drawn over the clouds
coming along with CumulusX!. For the time being, I cant help it.
Occasionally, Flight Simulator X does not display the thermal clouds in the map view. In
this case switch to a cockpit view and back. Then the clouds will become visible.

Other potential problems:


Some source of confusion may arise, when you have decided to leave the original Flight
Simulator X thermals in place, by not renaming ThermalDescriptions.xml. The original
thermal behaviour of Flight Simulator X is totally different and may not produce any clouds,
which may lead to the wrong conclusion, CumulusX ! is not working as described.
Because of the complexity, it is also sometimes not really obvious how the thermal
simulation will behave. Most effects are eventually features rather than bugs.

Acknowledgements
The author acknowledges the great work that has been done by a large number of
persons in the FS community. In particular I would like to mention Manfred Moldenhauer,
for creating historic SCASM, the invaluable tool for the scenery designers, Roland Stuck
for designing the beautiful ASW20BL and Max Roodveldt for the essential glider
instruments, Wolfgang Piper for a broad range of beautiful vintage and contemporary
glider planes, Eric Carden for his great thermal generator program CCS2004, an the entire
SOAR community for spending their time during beta testing and producing helpful
suggestions for improvements. I have taken advantage of their work since long time and
without them, CumulusX! would not exist. Special thanks Id like to express to Ian ForsterLewis for his tool Sim_Probe that proved the validity of the on-the-fly terrain scanning
method and served a long time as the information source for ridge lift of previous
CumulusX! releases. He produced also fruitful contributions for the multiplayer compatible
thermal creation algorithm.
And finally I like to express special thanks to the beta testing team (Joachim Schweigler,
Ian J. Lewis and Bert de Bruin) for lots of critical and nevertheless helpful findings.

Remarks
CUMULUSX.EXE was produced with Visual Studio 2005 Express Edition VB.NET
For those who are interested in virtual soaring, a very active community is found at SOAR,
an internet location, dedicated to the development and proliferation of soaring in flight
simulation.
Microsoft, Windows and Visual Studio are trademarks of the Microsoft Corporation.
Copyright 2007-2010, Peter Lrkens

Appendix
AutoStart with EXE.xml file
Find FSX' start-up file for Add-on executables EXE.xml. Open the Start/Run (Winkey-R)
and type %AppData%\Microsoft\FSX. Open the file EXE.XML in notepad and insert the
bold black lines from below. Take care not to break any existing block of <Launch.Addon>
/<Launch.Addon> clauses, but add before or right after. If you have installed CumulusX
at the proposed location in the Modules folder, you can use the proposed lines from below
directly. Otherwise you have to edit the italic line, that it points to the actual location of
CumulusX.exe.
The next time you start, Flight Simulator X will ask you to start CumulusX !, and if you trust
the source. If you click Yes, the next time CumulusX ! will start fully automatically. If you
check AutoStart in the CumulusX !-tools menu, CumulusX! will from now on connect
automatically and enable lift.
<?xml version="1.0" encoding="Windows-1252"?>
<SimBase.Document Type="Launch" version="1,0">
<Descr>Launch</Descr>
<Filename>EXE.xml</Filename>
<Disabled>False</Disabled>
<Launch.ManualLoad>False</Launch.ManualLoad>
.
.
.
<Launch.Addon>
<Disabled>False</Disabled>
<ManualLoad>False</ManualLoad>
<Name>CumulusX!</Name>
<Path>Modules\CumulusX!\CumulusX.exe</Path>
<CommandLine></CommandLine>
<NewConsole>True</NewConsole>
</Launch.Addon>
.
.
.
</SimBase.Document>

Manual entry into DLL.xml file


Find Flight Simulator X' start-up file for Add-on-DLLs DLL.xml. Open the Start/Run
(Winkey-R) and type %AppData%\Microsoft\FSX. Open the file DLL.XML in notepad and
insert the bold black lines from below. Take care not to break any existing block of
<Launch.Addon> /<Launch.Addon> clauses, but add before or right after. If you have
installed CumulusX! at the proposed location in the Modules folder, you can use the
sample lines from below directly. Otherwise you have to edit the italic line, that it points to
the actual location of CumulusXDLL.DLL.
The next time you start, Flight Simulator X will ask you to load CumulusXDLL.DLL, and if
you trust the source. If you click Yes, the next time CumulusXDLL will start fully
automatically.
<?xml version="1.0" encoding="Windows-1252"?>
<SimBase.Document Type="Launch" version="1,0">
<Descr>Launch</Descr>
<Filename>DLL.xml</Filename>
<Disabled>False</Disabled>
<Launch.ManualLoad>False</Launch.ManualLoad>
.
.
.
<Launch.Addon>
<Disabled>False</Disabled>
<ManualLoad>False</ManualLoad>
<Name>CumulusXDLL!</Name>
<Path>Modules\CumulusX!\CumulusXDLL.dll</Path>
<DllStartName>DLLStart</DllStartName>
<DllStopName>DLLStop</DllStopName>
</Launch.Addon>
.
.
.
</SimBase.Document>

CumulusX! Settings File (.cmx)


A settings file is to exchange favourite settings with other users. Basically, it contains all
the settings from the Settings panel. An example of a settings file is given below:
---------------------------------------------- begin --------------------------------------------------------CumulusX! V1.8 Peter Lrkens (c) 2008-2010
; Path to slope data base (should be empty)
; Path to script file
False ; CCS2004 Compatibility [false/true]
1
; CCS2004 Slope Lift Scalar [0.3 ... 3.0]
1
; CCS2004 Slope Layer Scalar [0.3 ... 3.0]
1500 ; Minimum Ceiling of AutoThermals [0 ... 10000 m]
3000 ; Maximum Ceiling of AutoThermals [0 ... 10000 m]
2.5 ; Minimum Strength of AutoThermals [0 m/s]
5.5 ; Maximum Strength of AutoThermals [15 m/s]
1000 ; Minimum Diameter of AutoThermals [0.3 ... 3 km]
1800 ; Maximum Diameter of AutoThermals [0.3 ... 3 km]
20
; Minimum Duration of AutoThermals [10 ... 45 min]
40
; Maximum Duration of AutoThermals [10 ... 45 min]
5
; AutoThermals Coverage [1 ... 15 /100km^2]
1
; AutoThermals Sink Scalar [-1.0 ... 3]
300 ; Weak Surface Layer Height [0 ... 1000 m]
0.5 ; Thermal Lean Factor [0 ... 3]
-1
; Wide Spread Sink [-1.0 ... 1]
25
; Inversion Layer Probability [0 ... 100 %]
25
; Inversion Layer Weakening [0 ... 50%]
150 ; Minimum Inversion Layer Thickness [150 ... 10000 m]
300 ; Maximum Inversion Layer Thickness [150 ... 10000 m]
300 ; Minimum Inversion Layer Thickness [150 ... 10000 m]
600 ; Minimum Inversion Layer Thickness [150 ... 10000 m]
True ; AutoStart and Connect to FSX [false/true]
True ; Enable Internal Slope Data [false/true]
; empty line, is ignored since Version 1.5.4
False ; Enable Script Thermals [false/true]
True ; Enable AutoThermals [false/true]
0.5 ; Ground Elevation Effect [0 ... 1]
100
; Turbulence Effects [0 ... 100]
-------------------------------------------------- end -------------------------------------------------------

The text in the very first line serves as version indicator and is created when saving a
settings file. You will get a warning when you try to load settings from a different version.
The colon character serves as comment separator. Do not include additional empty lines
or additional comment lines.
The line with the slope data base path should be empty. Then the settings file can be
loaded also on installations with CumulusX 1.0 and 1,1, without overwriting the local
settings for the slope data base path.

CCS-Script File Format (.dat)


The script file in CCS2004-format contains from two sections. The first section is a header
defining a number of global data for the thermal situation (blue text is for clarification only,
and must not be contained in the files)
Line #

Content

Remarks

Thermiek Project Map: (none used)

Unsupported

<empty line>

Mandatory!

Start Time: 10:00

Unused (always 10:00h)

Stop Time:

Unused (always 18:00h)

<empty line>

[Lift/Sink Settings]

Lift Ceiling (no cumulus): 10050 feet MSL

Weak Surface Layer Height:

500 feet AGL

Thermal Lean Factor:

3.00

Steepening factor

10

Widespread Sink:

5 fpm

0 200

11

Air Texture Intensity:

not yet implemented

12

Enable Scenery (BGL) Lift/Sink: 0

Unsupported

13

Slope Lift Strength Scalar:

1.0

0.3 3.0 (only when CCSComp.)

14

Slope Lift Height Scalar:

1.0

0.3 3.0 (otherwise ignored)

15

Thermal Sink Scalar:

1.0

0 3

16

<empty line>

17

[Inversion Layer Settings]

18

Present:

19

Thickness:
applicable

20

Peak Strength
applicable

21

Distance below
applicable

22

<empty line>

23

'Cheat Keys' Option:

24

<empty line>

18:00

Mandatory!

Mandatory!
1

0 or 1
not

Factor:

not

ceiling:

not

0 1000 [ft] ( ignored if )


0 50 [%]

( present = 0)

0 1000 [ft] ( as above

Mandatory!
0

Unsupported in CumulusX!
Mandatory!

When CCSCompatibility is checked, the Start and Stop Time parameters in the header are
neglected and a fixed start/stop time at 10:00 and 18:00 LT is considered. This is typically
redundant, because the list of thermals usually wont extend beyond the limits of this
window anyway.
The Lift Ceiling depends on the presence of the lowest Cumulus Cloud layers of the
internal weather system of Flight Simulator X, if any. If there is a cloud layer below 20000
ft, its altitude is used instead of the number here.
The weak surface layer height determines a layer of weak lift close to ground.
Note that the meaning of the thermal lean factor in CCS2004 is inverse to CumulusX !settings pane. A higher number in CCS2004 means a less leaning thermal while in
CumulusX! a higher number means a more leaning thermal. Here in the script file the
CCS2004 definition is used for compatibility reasons.
The switching of BGL Scenery lift is not supported in CumulusX ! directly, but can be
realised by the configuration setting Turn off all turbulence effects at user aircraft (or so)
in Flight Simulator X.
The slope lift strength scalar multiplies the default slope lift strength. The slope lift height
scalar extends the default decay of the slope lift by the given factor, i.e. a factor of 2
means a two times thicker layer of slope lift above the current AGL as default. These two

parameters are effective only, when CCSCompatibility is selected.


If the presence of an inversion layer is indicated, the three following lines give its
parameters. They are ignored, if the presence parameter is 0.
Eventually, the cheat-key parameter is not supported, as there is no function in CumulusX !
which directs you to a nearby thermal. This option is practically outdated, as CumulusX !
always generates the appropriate cumulus clouds. Thus an additional support in finding
thermals is not needed any more.
For more reading on the parameters I kindly refer to CCS2004 original User Guide.
After the header, the script file continues with the list of thermals (again, blue text is for
purpose of annotation only):
Thermal
Latitude
Line # #
[rad]
(unused)

Longitude
[rad]

Visibility
Radius [km] Lift [m/s] (unused Start Time [s]
)

25

00000

0.788606

0.109900

0.473

2.4

34200

26

00001

0.791193

0.116206

0.476

1.8

34200

27

00002

0.769687

0.117022

0.468

3.6

34200

28

00003

0.784883

0.102056

0.476

1.8

34200

29

00004

0.779877

0.087373

0.467

3.9

34200

30

00005

0.800298

0.106343

0.475

2.1

34200

31

00006

0.769693

0.097293

0.468

3.6

34200

32

00007

0.774295

0.107619

0.468

3.5

34200

33

00008

0.770844

0.116338

0.472

2.7

34200

34

00009

0.800770

0.113570

0.472

2.7

34200

35

00010

0.778938

0.096496

0.470

3.2

34200

36
.
.
.

00011

0.770454

0.107212

0.467

3.7

34200

The first column identifies each thermal with a number, which is ignored by CumulusX !. For
compatibility reasons the effective radius and lift are not exactly as found in the list. Radius
is actually only 93% of the radius parameter. Actual lift is approximately 10% less as
indicated in the list. This is likely to change in the future such that these adaptations are
only done in CCS-Compatibility mode, while in native mode the parameters are taken as
they are.
In addition, thermal strength varies during the day, regardless of the indication in the list. In
compatibility mode the lift strength fades in and out from 10:00 to 13:00 LT and 16:00 to
18:00, respectively. This is also likely to change in future, that in native mode thermal lift as
taken from the list at it is (you might create thermals at midnight).
Visibility is currently unused as it refers to the function of the cheat-key option only, which
is not provided in CumulusX!.
The last two columns define the timing behaviour of the thermals. As mentioned above,
regardless of the settings in the header and the timing parameters, lift is never effective
outside a window of 10:00-18:00. As before, this is also going to change. In future, timing
settings are always considered strict, unless CCS-Compatibility mode is chosen.

Requesting and transmitting of session codes


CumulusX! communicates with other software by means of two custom events, CumulusX.RequestSessionCode and CumulusX.ReportSessionCode. When CumulusX!
receives the event CumulusX.RequestSessionCode it transmits the event CumulusX.ReportSessionCode. With this event a parameter is transmitted of the type of integer32. It is determined non-zero and randomly during loading of a flight or a mission, if a
configuration file for CumulusX! could be loaded successfully from the same directory as
the .FLT-file of Flight Simulator X and with the same root name. After this the user interface of CumulusX! will be locked and the options UnBlue and Debug are deactivated. The
session code is reset to zero, when the user interface is unlocked again.

Version History
Version #

Release Date

Description
Thermal lift profile modified, CCS2004-slope lift behavior
restored in compatibility mode.
In licensed mode only: Smart Tow and Dynamic Tow
Plane, DLL (V.1.2.2) included in package

1.8

31.06.2010

1.7

Not released to
public

Slipstream effects from upwind ridges, rework of thermal


leaning and positions in mountains, ground reaching thermals
in steep terrain, lee-side thermals, cloud size indicates lift
strength
Licensed mode only: Turbulence and wing-tip lift effects

1.6

15.12.2009

Support for Windows 7 with CumulusXDLL (licensed version


only), change in cumulus cloud determination for less blue
thermal areas, deactivation of CumulusX! in ground proximity

1.5.4.0

05.09.2009

Slope data base replaced by internal algorithm, improved


thermal placement in mountains, new cloud set

1.2.1

21.06.09

Improved handling of cloud shadows in mountains. Thermals


over steep snow and ice-slopes reactivated, minor bug fixes,
automatic loading of settings files

1.1.5

18.05.2009

Slope thermals, AI-Clouds, weather conditions from thermal,


rather than aircraft location, DG808S Mods removed. Remote
control interface, installation routine

1.0

15.03.2008

Version Number and Manual updated, new VSI.XML for


DG808S

You might also like