BGL Meteorological Generator
(BGLMET.EXE)

Had I written this program about four years ago, I am sure it
would have been considered a real gee-whizz type program. But
with the arrival of FS6, FS98, and now with FS2000 just released,
some might wonder why anyone would bring out a utility for FS5.1
at all. Well, some people, myself included, still only have 5.1
and this program is for us/them. I hope all those poor souls out
there still lumbered with FS5.1 get some enjoyment out of this.

BGLMET stands for BGL (as in the scenery file) Meteorological Generator.
Basically BGLMET is a program which allows you to define multiple weather
areas for Flight Sim 5.1. These areas can be either defined by the user, or
loaded from a METAR file.

How does this differ from all the other weather generators for FS 5.1 out
there ? As I said, BGLMET generates MULTIPLE weather areas. Flight sim
natively allows you three areas, BGLMET tops this with a theoretically
unlimited number of weather areas.

Sure, but aren't there are programs out there which already do that using
Flight Shop ? I don't have flight shop, so I don't know for sure. And
because I don't have flight shop, that means that BGLMET works without
flight shop. Not having flight shop I can't say if it works with flight
shop, but I have every reason to believe it will. I do not believe it will
work at all with FS6, FS98, or FS2000 - but those people have had a
plethora of weather generators which do stuff like scour the web for real
time weather. The program is a small concession to poor people like me
still stuck with FS 5.1.

History (aka Why ?)

Well why not ? While doing some scenery design about 12 months ago (if you
were curious, and you know Brisbane like the back of your hand, I was
looking at making a fully functioning MLC building) I decoded most of the
weather engine in flight sim. I then discovered that I spent all this time
decoding the weather engine for nothing, because none of it worked in FS6+.
No MLC building. But as I was decoding the weather areas, the thought did
occur to me that I could make a weather generator using the knowledge I had
gathered, and make one not limited to three areas like flight sim. Thus the
idea was born. I didn't don anything about it for quite some time, and it
was only after someone emailed me about BGLINS and I realised there were
still a few other people out there stuck with FS5.1 that I finally decided
to do something about it finally.

What it don't do (yet)

BGLMET lets you set almost everything that you can set from the flight sim
weather menus. It also lets you import METAR Reports and set the weather
from them. It does not import weather from SAOs, winds aloft or any other
type of real world weather format yet. I hope to add the capability of
reading winds aloft, in a later version.

How it Works

Flight sim 5.1 natively has three weather areas global, local 1, and local
2. Whenever you are not within the bounds of local 1 or local 2, the
weather of the global area will be in effect. Effectively there is a fourth
weather section, the current weather. What flight sim does is decide on
which of local 1, local 2, or global is active, and then it copies that
weather data into the current weather area. What BGLMET does, with the help
of FSASM, is create a scenery file which hot wires the global weather
definition. Each time you enter into a new weather area, the weather
variables are updated to the new area. It is a little different from flight
sim's local 1 and local 2 weather areas. These are rectangular areas, and
while you are within them their conditions are active. When you leave a
local area, the global weather kicks back in. BGLMET differs a little in
that when you enter a BGLMET weather area, the weather is changed, but when
you leave, it stays set. In fact it stays set until you enter into a new
BGLMET area. When you enter into an area you can change the weather from
within the flight sim menus if you like.

What you Need

To run BGLMET you will need:

1) The latest version of BGLMET (naturally) but since you are reading this
file, I will take a small leap and assume that you already have that.

2) Adam Szofran's FSASM compiler (version 5 or 6).

3) If you are using FSASM version 5, and get an error referring to missing
or undefined macros (such as "IfVarRange3"), then you will also need to
get the FSASM advanced developers kit:
(ftp://ftp.halcyon.com/pub/users/zof/oldstuff/fsadk002.zip)

Just follow the installation instructions for each of these programs, and
then hopefully you will be flying !

Copyright, re-Distribution etc...

The Program and it's documentation is copyright 1999, 2000 Andrew Roach.
All rights reserved.

1) This program is FREEWARE and is provided AS IS.

2) No responsibility or liability will be accepted for any damages
resulting to person or equipment resulting from the use of this program
or files produced by it.

3) This program cannot be: a) sold for profit; b) included on compilation
CD-ROMs or any other storage media; or c) uploaded to any service which
charges a download or access fee; without written permission of the
author.

4) All resulting scenery files generated from this program, must remain
FREEWARE, and may not be distributed in any manner which contradicts
the conditions for distribution of the program as outlined in point 3

Subject to the exclusions listed above, the archive containing BGLMET may
be uploaded to BBSs and otherwise redistributed on a FREEWARE basis as long
as the original compressed archive and its contents are not modified in any
way.

If you download this program and intend to use it, I would appreciate it if
you quickly stopped by
http://www.geocities.com/aroach.geo/fltsim/bglmetreg.html to let me know
your using the program. All you have to do is visit the site (it will only
take a few seconds) and that will tick over a counter and let me know how
many people out there are using BGLMET. I will use this to guide me in
future releases/developments.

Setup

Unzip all files in this archive, and insert in your favourite repository
for programs. The BGLMET.INI file must be placed in the same directory as
BGLMET.EXE. An icon file, BGLMET.ICO is included in case you want to set it
up with windows and are looking for a pretty picture. The ICAO.DB file
should also be copied to the same directory as BGLMET.EXE, however if this
file is not present the program will still run, all be it without some of
the features of the program. If, as you use the program, you never see a
window pop up saying it is loading the ICAO database, then feel free to
delete it.

After copying the files to a suitable directory, it will be necessary to
edit the BGLMET.INI file. Two entries have to be edited for the program to
work. Look for the Compiler section of the INI file, and edit FSASM_Path,
which should point to and include the FSASM executable; and BGL_PATH which
defines the name and location of the scenery file you want to generate:

[Compiler]

FSASM_Path=C:\TT\FLTSIM\FSASM\fsasm.exe

BGL_Path=C:\GAMES\FS5\SCENERY\BGLINS\SCENERY\weather.bgl

Please note: I have the BGL file set permanently for a good
reason - having multiple BGLMET weather files active at the same
time could be hazardous to your frame rate, not to mention
potentially cause database errors. By keeping a constant location
and name for the BGL, then these problems can be avoided.

To make the program fully functional, you will also need to edit the
World_Vis entry in the General section, and point it to your world.vis file
(more details follow).

Other INI Settings

[General]

StartFullScreen=0

Start Full screen BGLMET in FULL SCREEN MODE when set to 1 or in DOS BOX
MODE when set to 0

Windows_3=1

When running under some configurations of Windows 3.+, JPTUI will take a
long time to initialise the screen if the program is STARTED from within a
DOS BOX. To make JPTUI initialise in a timely fashion, if Windows_3 is set
to 1, then when BGLMET is run under windows, it will be forced to
initialise as a full screen dos session, thus by-passing this problem.
After the screen has initialised you can ALT-ENTER to make it run as a dos
box if you choose - the initialisation problem only occurs during start up.

Supress_Some_Warnings_And_Auto_Correct=1

BGLMET does a number of internal checks on the weather conditions you have
nominated. It will check to make sure things like cloud bottoms are less
than their tops etc.. BGLMET can automatically correct some of these errors
(such as incorrect ordering of temperature layers). When
Supress_Some_Warnings_And_Auto_Correct is set to 1, many of the less
problematic errors are automatically corrected. If it is set to 0 then a
warning box will come up giving you the option of auto correcting,
re-editing, or ignoring the error.

World_Vis=c:\games\fs5\scenery\world.vis

World_Vis points to the WORLD.VIS file in your flight sim's root scenery
directory. This is the file which flight sim uses to decide where all of
your scenery files are located. If you don't know where world.vis is, find
the directory that FS5.COM is in, and then look for world.vis in the
SCENERY directory in the FS5.COM directory. For example, if FS5.COM is in
C:\games\fs5 then world.vis will be in the directory C:\games\fs5\scenery.
BGLMET uses the world.vis file to import the airport menu entries from all
of your active BGLs. It only reads world.vis, and as such should never
corrupt it. Don't give it a copy of world.vis, as it also uses the location
of world.vis to access some BGLs which don't appear in the part of
world.vis I use for reading menus.

Load_World_Vis_At_Start=0

When Load_World_Vis_At_Start is set to 0 (the default), the airport menus
will only be loaded into memory if you specifically search for an airport
name, or browse the airport menus from within BGLMET. It is sort of load on
demand if you like, but they will be loaded ONLY ONCE a session, which if
set to 0 will be the first time you try to browse or search for an airport
name. When Load_World_Vis_At_Start is set to 1, then the airport menus are
loaded an initialised at the start of the program. This just increases the
load time a little. If you always will use the airport entries to set
locations, then you might want to set it to 1. If, you usually set the
locations absolutely, setting it to 0 may suit you better.

METAR_PATH=*.rw?

This setting contains the default extension and/or path to where the METAR
reports will be located. The factory setting of *.rw? will match Curt
Olson's real weather files, both the plain text (rwx extension) and GZIP
compressed (rwz extension) versions. You can add a path to a specific
directory if you like, or even specify a whole file name. The default
behaviour is to look in the directly the BGLMET.EXE file is in.

progress_refresh=1

Specifies the number of seconds between refreshes of the progress bar while
importing METAR's and the ICAO database. Fractional values can be entered.

[Defaults]

The Defaults section contains predefined values for some of the weather
dialogue entries.

range=10000

The range is the radius of the weather area's activation zone. It is
measured in metres, and can be between 1 and 32768 m.

pressure=1020

Barometric pressure default value. Legal values range from 847 to 1185
millibars.

baro_drift=0

Barometer drift 1/0 - on/off.

visibility=64

The visibility/haze factor in statute miles.

magic_temp_calc=1

When magic_temp_calc is set to 1, all temperature layers except for the
surface temperature layer (layer 0) will be ghosted out, and the
temperatures for the three other layers will be calculated using a standard
temperature with altitude calculation. Don't despair if it does not happen
in front of your eyes. To see what it does, click on OK in the edit window,
then click on the EDIT button and look at the temperature area again - the
values should now be copied in. magic_temp_calc is always used to calculate
the temperatures when importing from a METAR file, however, if it is set to
0, it is possible to manually edit the values.

[Compiler]

Use_Simple_Code=0
Complex_Code_Cutoff=1000

These two settings are things which will probably never really come into
effect with normal use. Basically a met area is defined as a spherical
radius. In that, a point on the ground, defined by the lat and long,
basically has a hemisphere (or dome if you prefer) sitting on top of it. It
is not a cylinder with infinite altitude, and a circular base. With normal
ranges used for the met area, this won't be a problem - if your range is
set to 32000 m, for example, you are covered up to an altitude of around
90,000 ft (try getting the Cessna up that high !). If, however you have
used significantly smaller ranges, such as 1000-10,000 m for a met area,
then it is concealable to have a plane fly over an area and not trip the
code to switch over the weather. When Use_Simple_Code is set to 1, this is
what always will happen. When Use_Simple_Code is turned off, more complex
code may be substituted into the BGL file which will extend the vertical
range, effectively simulating a cylinder rather a hemisphere. The
Complex_Code_Cutoff setting (measured in m) is a minimum distance under
which the compiler should not bother trying to simulate a cylinder. So what
does this mean to you ? Basically leave it alone if your totally confused -
it should work fine. If you understand what this setting does from my
confused description, then you know what to do.

Code_Groups_As_LR=1
Code_Groups_As_MR=1
Code_Group_Break_Point=20000

These setting control what sort of scenery groups are generated by BGLMET.
When both Code_Groups_As_LR and Code_Groups_As_MR are set to 1, then the
scenery will use a mixture of both long-range groups (which stay in memory
longer, activate further out, and hit frame rate a little harder) and
Medium range groups, which do the opposite of all that. This is probably
the best setting to use, as BGLMET does not seriously contaminate frame
rate, so that is a non-issue. Code_Group_Break_Point is the cut off
distance (in metres) at which the decision is made as to which group to
use. If only one of either Code_Groups_As_LR or Code_Groups_As_MR are set
to 1, then this type of group will be used exclusively for scenery
generation.

[METAR_Conversion]

The entries in the [METAR_Conversion] section control how METAR files are
imported into BGLMET and hence Flight Sim.

vis10sm=64
vis10smrandom=1

By default, an automatic wether station can only report visibility
distances out to 10 statute miles. If visibility is greater than 10 statute
miles, then it is reported as 10 statute miles. While BGLMET could set all
of these stations to 10 miles, it is probably not really that
representative, and would result in a lot of places with low visibility.
The two settings, vis10sm and vis10smrandom control how visibility ranges
of 10 miles should be treated. If vis10smrandom is set to 1, then the
visibility range is set to a random value between 10 miles and the range
specified in vis10sm. If vis10smrandom is set to 0, then 10 miles is used.

surface_wind_max_depth=1000
surface_wind_min_depth=250
surface_wind_random=1

Surface wind conditions reported by METARs only include information about
the speed and direction of the wind - the depth is unknown. When
surface_wind_random is set to 1, the depth is set to a random value between
surface_wind_min_depth and surface_wind_max_depth. Both are measured in
feet. When surface_wind_random is set to 0, surface_wind_max_depth is used
to set the depth.

surface_wind_var_dir_random=1

METARs can (in a couple of ways) report variable wind directions. Sometimes
the peak direction is reported, in which case BGLMET will always use this.
In other cases, a range of values or just the fact the direction is
variable is reported. When surface_wind_var_dir_random is set to 1, and no
peak direction is quoted, a random value will be selected between the min
and max wind directions, or if no directions are stipulated, then a random
value between 0 and 359°. When surface_wind_var_dir_random is set to 0, and
no peak direction is quoted, the average value will be used.

cloud_top_randomise=1

METARs only report the base of cloud levels - that is all that can be seen
from the ground after all. BGLMET has to figure out what to do with the
cloud tops. It starts by looking at a the altitude of the cloud base, and
the amount of cloud coverage (the only things reported in a METAR), then
takes these values and then looks up the cloud profile settings for a cloud
type which most closely matches it. When cloud_top_randomise is set to 1, a
random value is selected for cloud tops based on the minimum and maximum
values defined in the cloud profile settings. Icing is just set (not
randomised). When cloud_top_randomise is set to 0, the default value cloud
tops is set from the values defined in the cloud profile settings.

cloud_dev_randomise=1

BGLMET has to figure out what to do with the cloud deviation. When
cloud_dev_randomise is set to 1, a random value is selected for cloud
deviation based on the minimum and maximum values defined in the cloud
profile settings. When cloud_dev_randomise is set to 0, the default value
cloud deviation is set from the values defined in the cloud profile
settings.

cloud_turb_randmise=1

BGLMET has to figure out what to do with the in-cloud turbulence. When
cloud_turb_randomise is set to 1, a random value is selected for in-cloud
turbulence based on the minimum and maximum values defined in the cloud
profile settings. When cloud_turb_randomise is set to 0, the default value
cloud turbulence is set from the values defined in the cloud profile
settings.

combine_clouds_strict=0
combine_clouds=2000

METARs can report a maximum of six cloud layers. Flight sim can reproduce
two plus a storm layer. Clearly, we have a problem..... These two settings
control how BGLMET handles more than two cloud layers at a time. But before
I describe them in more detail, I will say this much about the topic. In
all my testing so far, I would estimate that at least 95% of all the METARs
that I have so far looked at have had two or less weather areas reported.
Usually only one is reported. What this means is the fact that flight sim
only allows two areas plus a storm layer is not as serious a limitation as
it might at first sound. But for those other times, when more than one
later is reported, I have to do something with it. The first thing which
happens is BGLMET checks to see if any layers are storm layers. If there
are storm layers present, then one layer will be defined as a storm layer
and effectively take it out of consideration. If there are still more than
two layers left over after this step, other things may be done. According
to the standard, METARs are supposed to report the most significant cloud
layer first, and then report the others in decreasing relevance. They have
rules defining how this is supposed to be done. With that said, it almost
always looks like they define them from the bottom up. When
combine_clouds_strict is set to 1, then the natural order of the METAR is
followed, and the first two layers reported will be used. When
combine_clouds_strict is set to 0 then layers are studied to see if
combining them might not be a better approach. In this case, if two layers
are withing combine_clouds distance of each other (measured in feet), then
the two layers are combined into one - the top of the higher is combined
with the base of the first, and voila. Not necessarily ideal, that's why
you can turn it off if you want, but I think better than nothing.

[CIRRUS], [CIRROSTRATUS], [CIRROCUMULUS], [ALTOSTRATUS], [ALTOCUMULUS],
[STRATOCUMULUS], [NIMBOSTRATUS], [STRATUS], [CUMULUS]

These sections are the aforementioned cloud profile settings. There is one
corresponding to each of the pre-defined cloud types in the flight sim
weather menus. The values in this INI file are my best guess to the values
used in flight sim. They have two uses. Firstly they are used in BGLMET's
weather menus so you can emulate the setting in flight sim's own menus. The
second use is as scalars for use in METAR importing. In general I would
advise against messing around with most of these settings, but they are
here if you want to experiment. I think most are self-explanatory, so I
won't go into too much detail. The only setting I will explain is:

override_limits=0

This setting only effects the weather menus of BGLMET and not the METAR
importing. What it does, when set to 1, is allow you to override the limit
checking functions of BGLMET. Flight sim won't let you enter values outside
the quoted ranges, but it will allow their setting. When override_limits is
set to 0, BGLMET will behave just like flight sim, and use flight sim's
rules. When it is set to 1, you can set values outside of the range
expected by flight sim. It will let you do this surprisingly, just as long
as you don't do so from within flight sim.

[Storms]

The Storms section lets you customise the way storms are generated from the
cloud menu. Flight sim allows you to have three cloud levels - just as long
as the last one is a storm cloud. When you set up a storm (called
cumulonimbus in flight sim) from within flight sim, parameters such as
turbulence and icing are automatically defined, and limits are placed on
acceptable values for turbulence. The settings in the Storms section let
you customise how BGLMET will handle storm generation.

override_limits=0

If override_limits is set to 1, then all the entries in the Storms section
are ignored, and you can set up the storm clouds any which way you like.
Interestingly, flight sim will let you set them up pretty much any way you
like as well. Even though the flight sim weather menu wont let you do some
things such as have a non-turbulent storm cloud, flight sim itself will.
The range checking must be done at the menu level, and therefore BGLMET can
be used to by-pass it. When override_limits is set to 0, the menus in
BGLMET will behave like those in flight sim - presenting you with realistic
limits on how you can set the storms parameters.

max_turbulence=8

Turbulence is measured from 1 to 8, with 1 being none/low and 8 being the
max. max_turbulence sets the upper limit.

min_turbulence=4

Turbulence is measured from 1 to 8, with 1 being none/low and 8 being the
max. min_turbulence sets the lower limit.

turbulence=8

The default value of turbulence to be set in the storm dialogue.

icing=1

Controls if the in cloud icing box is by default check marked (1) or not
(0).

Usage

The program can be either run from under windows or from a DOS prompt.
There are no command line arguments to the program. I have used Jean-Pierre
Delprat's JPTUI text based windowing system
for the user interphase. Anyone who has
tried my BGLINS program should recognise the interphase. Hopefully it is
easy enough and logical to use, but just to set you straight, here is a
quick run down and a menu by menu description of the program.

The MetArea Window

After you dismiss the about screen which comes up on running the program,
the MetArea window will open. It looks a little like this:

[Image]

The centre of the window has a list of the defined MetAreas. Under this are
six buttons which control the program for the most part.

ADD - will insert a new weather area below the highlighted entry, or if the
last MetArea is highlighted, it will add a new entry to the list. After
clicking on the button, the Edit window will open up.

EDIT - allows you to change some (or all for that matter) of the parameters
of an already defined weather area. After clicking on the button, the Edit
window will open up.

COPY - allows you to create a new MetArea, copying all the weather
information from the area highlighted when selected. All weather sections
apart from the Location window's contents are copied. After clicking on the
button, the Edit window will open up.

DELETE -deletes the current MetArea.

CANCEL - same as quit.

GO - is the same as the generate function in the menus. It has two
functions. Firstly it makes a FSASM (*.FSA) file with the weather
information in it. Next it will attempt to compile it with FSASM. After a
successful compile, it will remove the source file.

The Edit Window

The Edit window is divided into five separate tabs/sub windows, each with a
different theme.

[Image]

There are four buttons along the bottom. OK and CANCEL are pretty self
evident.

METAR Button

The METAR button will, if no METAR files have previously been loaded, bring
up a file requester asking you to select a METAR for importing. When the
loading is complete, a window will open with a search box, a result pane,
and a Look up ICAO Code button. The search box only searches on four
characters. The general idea is that you enter an ICAO code for the METAR
station, hit search, and it will find all METAR reports matching that
station. In reality you can search on other things too (such as weather
conditions). Entering CB, for example, will bring up all wether stations
with storm clouds. But the real idea is to enter an ICAO code.

If you don't know the ICAO code, click on the Look up ICAO Code button. It
will load the ICAO database (defined in the ICAO.DB file) which contains
the location, ICAO code, and name of all known ICAO stations. The search
window which will come up after the database has loaded and initialised is
a free-text search on the location. It will return the results in the
format of the ICAO code, the location, and the description. Click on the
one you want to use, hit OK, and the ICAO code is automatically copied into
the METAR search windows search box.

The program can read both plain text METAR reports as well as GZIP
compressed METAR reports. METAR reports can be down loaded from many sites
on the web. It is possible to load multiple METAR files into memory at
once, but if more than one file is to be read in, it has to be done so from
Import METAR entry in the File menu. BGLMET is a little like an elephant -
it never forgets (well it does when you exit) but whenever you load another
METAR file, it just adds it to memory. You can use this to build up many
METAR reports from different times, or if you are down loading from a site
such as NOAA which breaks them into small files with 20 or so stations, you
can combine a lot of stations in memory.

CLOSEST METAR Button

BGLMET has basically become a sort of relational database manager as of
version 2.0. The three databases it maintains, or can maintain, are a METAR
database, an ICAO database, and the flight sim airport menu database. The
METAR database is linked to the ICAO database via the four letter ICAO
code. The ICAO database is linked to the airport menus via the geographical
location (lat and lon), and the METAR database is linked to the airport
menus indirectly by the ICAO database which sort of acts as the middle man.

The CLOSEST METAR button basically implements this link. What is does is
searches out for the closest METAR report to the location specified in the
location tab of the edit window , which in turn can be optionally set from
the airport menus (phew). What all that means is that whatever location is
entered into the lat/lon boxes (and regardless of how you got the
location), the closest METAR report to that location is found.

If no METAR report has been loaded yet, a file requester will come up
asking you to specify one. If the ICAO.DB database has not yet been loaded,
it will also then be loaded. Finally, the ICAO.DB and the METAR database
have to be linked together. This can take quite a few seconds, but do not
despair - it only gets done whenever the METAR and the ICAO databases get
out of synch with each other, and this will only happen if new METAR
reports are imported, so for most times it will happen only once.

The ICAO.DB file is a compressed file containing ICAO station codes, their
location, and a brief description. If you want to regenerate or edit the
file, then download the ICAODB05.ZIP archive and read the instructions.

Location Tab

The location tab has all the information about the location of the weather
area. Weather areas are basically circular. Unlike flight sim where the
weather of a weather area is active only while you are in the area, BGLMET
weather areas work a little differently. When you fly into a weather area
the weather is set. It will remain set after you leave the area, and will
stay active until you enter into another weather area which will then reset
the weather.

The Label is an optional label used to identify individual weather areas.
At present it does no more than separate them in the window. Eventually it
may be linked to ICAO codes for METAR importing or something like that. Who
knows ????

The latitude and longitude are entered in decimal degrees, and define the
centre of the weather area.

Weather activation range is basically the radius of the weather area (which
is circular remember). It is measured in metres and ranges from 1 to 65536
m. For people who no-speak-the-metric, metres = feet/3.28.

There are two buttons in the Get Location Frame, namely Browse Airport
Menus, and Search Airport Database. Both of these functions search the
airport menus of your scenery files to get locations, which are then
entered into the latitude, longitude, and label dialogues of the location
window. They both use the same data, only they access it in different ways.
The Browse Airport Menus function will present a list of regions and the
airports located withing them. It is very similar to the "Airports" menu of
flight sim. Search Airport Database is a free text search which goes
through the airports, and returns all matches to the search criteria. The
search is case insensitive.

At the bottom of the location tab is a simple check box. What this says,
and whether you can click on it depends on what you have done. If you have
set the weather for an area manually it will say "No METAR station
associated with this Location", and will be greyed out. If you had set the
weather in part or in full from a METAR station, it will say something
like: "Use METAR station KJFK as a template", and will be activated. At
present this function does nothing - it is just there for future expansion.
In future versions I hope to add a feature called update weather, and what
that feature will do is search through a saved met file, and for each entry
which has a template defined, update that locations weather from a
different METAR. Like I said this does nothing yet, but is here for future
expansion. The data is saved so you can start building up files now if you
like.

Clouds Tab

The clouds tab is divided into three sections: Layer 1, Layer 2, and
Storms, each accessed by a sub-tab. Flight sim allows only three cloud
layers, and if you define all three, one has to be defined as a storm. The
BGLMET windows reflect this limitation. Most of the window is pretty
self-evident, but one thing to point out - turbulence of 1 really means no
turbulence. Turbulence is also a decimal, so fractional values between 1
and 8 can be entered.

Winds Tab

Flight sim allows four separate wind layers, three of which can be at
altitude, as long as one is a surface wind. As with the Clouds, the Winds
are set from sub-tabs.

Temperature Tab

Flight sim supports up to four temperature layers. Temperatures are pretty
weird in flight sim, and deciphering how flight sim handled temperatures
was one of the more challenging parts about writing BGLMET, so I will give
you a few tips. While you can have four layers, I would highly recommend
keeping layer one with an altitude of 0 ft. Flight sim will let you do
other stuff, but odd things can happen when its more than 0 ft. Only layer
one should really be 0 ft. Flight sim itself will sort the layers around
and try and make ant 0 ft layer equal to layer one if necessary, this
usually (but not always) works. BGLMET will warn you about doing this, and
will do so itself if you let it.

To turn off a temperature layer, set its altitude to 0 ft. Only layer one
can have an altitude of 0 ft.

When the magic_temp_calc setting in the INI file is set to 1, all
temperature layers except for the surface temperature layer (layer 0) will
be ghosted out, and the temperatures for the three other layers will be
calculated using a standard temperature with altitude calculation.

Flight sim lets you set temperatures from -75°C to +95°C. I understand that
at altitude -75° is quite expectable, but +95°C ??? Show me a place on
earth with temperatures like that ! I think the world record is 58°C, so
why flight sim lets you go to +95°C I do not know (green house gone mad ?),
but it does. I mean, the av-gas in your tanks would have evaporated by
then, not to mention numerous things on the plane probably melting. BGLMET
will let you set the temperatures this high if you want, but I seriously
doubt you will get any planes airborne at these temperatures.

Vis/Pressure Tab

I probably should have called this the other tab, because it is everything
which does not fit anywhere else. It does have the visibility and pressure
in it, but also day/night temperature variation. Basically I only
discovered how to encode the day/night temp variation after I had written
most of the UI, and I could not be particularly bothered redoing the whole
temperature window to make it fit. Besides, there was room to kill in the
Vis/Pressure tab, so it went here. Only point to make here is that
visibility is measured in statute miles. Why ? Because that is what METARs
report it in. Interestingly it is the only thing in the entire flight sim
engine I have ever seen which accepts imperial values - even though
altitude in the international flying world is measured in feet, flight sim
still stores it in metres. So why visibility should be stored as statute
miles I do not know. But it is.

Menus

File

Load - loads a BGLMET file into memory.

Save - writes the define weather areas to a file. Suggested extension is
".MET"

Generate has two functions. Firstly it makes a FSASM (*.FSA) file with the
weather information in it. Next it will attempt to compile it with FSASM.

Import METAR - loads a METAR file into memory.

Quit. Do I really have to tell you what this does ?

Edit

Clear removes all waypoints from memory.

Insert/Add will insert a new weather area (MetArea) below the highlighted
entry, or if the last MetArea is highlighted, it will add a new entry to
the list. This is functionally the same as the Add button.

Delete deletes the current MetArea. It is functionally identical to the
Delete button.

Edit allows you to change the details of a MetArea. It is functionally
identical to the Edit button.

Options

Add ATIS messages basically does what my interim program, ADANATIS, did
namely it adds ATIS stations for each MET area. The ATIS messages are added
to the BGL with the weather data. I did much searching, and found that in
all of my scenery, 131.00 MHZ was never used, so I have set the frequency
of the ATIS reports to this.

Ignore TAF's lets you explicitly ignore any TAF data which you may try to
important. BGLMET tries to convert as much of a TAF as it can by default,
but can never convert everything (some information, like dew point, is
guessed). If you are a purist and only want real world data (a TAF is a
forecast, a METAR is an observation) or just like METARs, then set this.

Windows

About - pretty self explanatory !

Reset DOS Box will configure the program for running in a DOS WINDOW within
windows. This means using the standard font, and the windows mouse driver.

Reset FULL Screen configures the program for running on a FULL SCREEN under
windows, or as a program run from DOS. In the setup the program uses a
custom font and a graphical mouse driver. This mode is not compatible with
a DOS WINDOW, and if run in a DOS WINDOW will result in garbage displayed
to the screen, and poor (if any) mouse tracking.

Refresh Display will re-draw the screen. Use this option, or its keyboard
equivalent (CTRL-HOME) if the display should become illegible.

Preferences Brings up the preferences dialogue (not implemented yet)

Help is ghosted, and unless a small miracle happens, will stay that way.
Not yet implemented.

Sources of METAR Reports

This section is by no means complete - it is just to get you started
really. Searching the web on METAR will bring up more if none of these suit
you.

Real Weather for Flight Simulator Pilots - Curt Olson's excellent web site.
This offers an hourly updated list of METAR reports, both in a plain text
version and as a compressed version. BGLMET can read both, but if you use
Netscape you have to take care when trying to download the compressed data
because it is easily corrupted by Netscape. I find that I usually have to
get the file out of my Netscape CACHE to get an uncorrupted copy. But it is
quicker to download !

Airservices Australia - Area Briefing - is probably the best site for
Australian Aviation weather that I have so far found. This web page gives
you a map of Australia split into forecast regions. Just click on the
region you want, and presto. A lot of extraneous data comes with this -
NOTAMs, and god only knows what else. BGLMET will only deal with what it
understands, so don't worry too much about everything there. One point -
with my version of Netscape, I can only save this data as HTML, which
BGLMET doesn't appreciate, so I would suggest you copy the data from the
clipboard, and paste it into a text editor, then save and load the file.

Australian Weather - Actually finding the METARs involves negotiating a
series of menus and finding out passwords etc... (don't worry they give you
the password to sample the data). Many of the METARs can be found elsewhere
embedded in other METAR sites.

NOAA METAR Reports - this site is the behemoth of the METAR sites. You can
download just about anything from the last 24 hours here. The files are
big, which I assume means complete. I have not had the patience to wait
though. You can also donwload an ICAO specified list if you like.

NOAA Aerodrome Reports - this site is a little kinder to get reports from
than the other NOAA site. Reports are organised into flight sectors. There
are heaps of other neato things on this page too !

Aviation weather for Europe - offers a gizmo like in the NOAA METAR Reports
site to download a group of METARs given a list of ICAO codes. You can also
browse by European country. This site may have more European reports.

Flight Planning & Aviation Weather - you know, I can't remember what is at
this one, but it must have METARs becasse it was in with my other METAR
links !

As I said, there are dozens more out there, all you have to do is look !

Wish List / The Future

I want to add the following eventually:

* UPDATE weather from a new METAR
* Improved modelling of different phenomina
* WINDS ALOFT
* Increase the range of the MET areas to 100km
* Add a fill in the blank function which adds intermediate MET areas

Known Bugs and Quirks

Load Error - No DMPI

BGLMET is a 32-bit dos application and requires a DMPI server to be loaded
and operating. If you run the program from under windows there should be
one running. If you run the program from DOS, you may not have one running.
If you should get an error message on start-up reporting that no DMPI
server could be found, it is time for you to get one. The easiest way to do
this is to download CSDMPI3B.ZIP which is a free DMPI server available from
your local SimTel mirror in the
????gnu/djgpp/v2misc/csdpmi3b
directory. What the ????? equals depends on which SimTel Mirror you happen
to visit. For example you could try are:
ftp://ftp.digital.com/pub/micro/pc/simtelnet/gnu/djgpp/v2misc/csdpmi3b.zip

Program slowing down or stopping when run under WIN3.+

This is to do with windows refreshing using JPTUI. With me, 99% of the time
it happens when the program is firs run. Occasionally it will happen (if
memory is low) at other occasions. The quickest way to fix it is to
ALT-ENTER and then ALT-TAB the window to a full screen dos session to fix
it up.

Program Crashes after Load Error

I think this error has been fixed, but accident with version 2. However, if
you should experience any crashes after a load error, please email me
letting me know, and referr to the old directions: If you ever try to load
a file, and get any sort of an error message, if the computer doesn't crash
or lock up once you dismiss the error message, I strongly recommend you to
exit and restart the program. Loading errors indicate something has gone
wrong (they would not be errors otherwise would they ?), and basically with
BGLMET they usually end up being fatal. I have not tracked down why some
result in the computer crashing immediately, and others crashing minutes
later (and still others never), but it is this very unpredictability which
is why I suggest if you get a load error, you just restart. I have kept
them classified as non-fatal errors waiting for a time when I can fix this
one.

dj00001.fsa(13): Fatal error: Undefined record or macro name 'ifvarange'

If you get any errors when FSASM is trying to compile referring to
undefined records or missing macros, if you have installed FSASM 5, make
sure you also install the FSASM advanced developers kit from
ftp://ftp.halcyon.com/pub/users/zof/oldstuff/fsadk002.zip.

After deleting, MET areas don't seem to add any more

Sometime, after deleting a MET area, if you then try to insert a new one,
it does not show up in the window. If this should occur, save the file,
exit BGLMET, and rerun the program loading the file again. With luck, the
data which was not added might reappear. If it does, lucky you. If it
didn't, at least now when you try to add data, it will successfully add.
This problem only seems to happen if you are clicking on ADD at a position
other than the last MET area defined. A similar error also occurs if you
select ADD from any position other than the last MET area, and then you
cancel the window the first time (instead of clicking on OK). If you click
on EDIT, and then cancel and edit, everything would be fine.

Can't set weather phenomena to altitudes greater than 65,536 ft

Flight sim allows for weather phonomania (winds and temperatures) to be set
to altitudes of up to 100,000 ft. The dialogs in BGLMET allow you to enter
these values too, but unfortunately there is a bug which cuts values off at
65536 ft. I can't really fix this one without bringing in a new
file-format, so for the time being, this limitation will remain. I may fix
this eventually, but it should not be a great concern given how few
aircraft can operate at these altitudes !

Unknown Bugs

Well if I knew what they were, then they would be reported in the Known
Bugs section, wouldn't they ? If you should happen to find a bug with this
program, please send me an email letting me know
what it was, and how it happened. Don't forget to include what version of
flight sim you were running, and what version of FSASM you were using.

Credits

Adam Szofran for his excellent FSASM scenery assembler.

Jean-Pierre Delpra for writing, and help with using, his JPTUI text based
windowing system.

Comments/Suggestion/Feedback

I welcome all your comments about this program, and encourage you to email
me. I wrote this program for myself, but figured that someone else out
there might like it.

All comments to:
aroach@geocities.com

Remember, if you are going to use this program, and would like to see
future upgrades - let me know you use it by stopping off at:
http://www.geocities.com/aroach.geo/fltsim/bglmetreg.html

If you would like to be notified when future versions of BGLMET are
released, just give me your name and email address and hit send, and I will
add you to a list.

Your name: Your Email address:
What is your home town and country ?

And finally, there is my obligatory WEB page. Nothing flight sim like on it
yet, but there are some cute airshow pictures:
http://www.geocities.com/aroach.geo/
http://www.geocities.com/aroach.geo/airshow.html