· 8 years ago · Aug 12, 2018, 06:24 PM
1Some instructions from an another email to get you started:
2
3When you enter the page you will see only one format: EFZZ
4It's the generic ATIS format for everywhere where a format doesn't exist and it also acts as an example (sometime I will create a tool that will display all the formats and which can be accessed by anyone).
5EFZZ simply means generic ATIS format for all Finnish airports. EFHK would mean ATIS format for airport EFHK.
6
7First of all you should start by creating LJZZ as the generic ATIS model for the country and then for individual airports as needed.
8
9You will also have to create voice files for everything within brackets '[' ']' that is output into the ATIS. That will take some time. Just to make things harder the voice files have to be saved as 7350hz wav files, which is unsupported by many audio editing programs.
10
11
12Let's go through the settings first, line by line:
13
14*access* = This is the country code to which all the fields belongs to
15*area* = Same as above, but airport wise (or ALL)
16*trlrule* = the rule to calculate transition level: first value indicates the unit and the following values will be as many altitude,pressure values as you need. e.g. "hpa,70,960,65,978' will translate to TRL = 70 when pressure is less than 960 and TRL = 65 when pressure is 960 but less than 978 (TRL 65: 960 <= QNH < 978)
17*m2km_rule *= At which point visibility readout changes from meters to kilometers (by default visibility of 5000 meters and up is in kilometers as per ICAO annex)
18*vis_rule* = This is only a toggle used to change determination of "visibility more than 10 km/miles" between metric and SM. If visibility in METAR is '9999' then the generator will output the field 'visibility_grp:9999' from the format section. If you change this to any other value than 9999 or 10SM this feature will be disabled and 'visibility_grp:9999' will never be called and '9999' in METAR will be stated as visibility 10 kilometers (or 10000 meters if m2km_rule is set to higher).
19*wind_calm* = Wind speed when the field 'wind_grp:calm' will be called to indicate the wind is calm (function: wind speed <= wind_calm = "wind calm", wind speed > wind_calm = wind speed)
20*enable_rwy_use* = true/false toggle, use 't' for true and 'f' for false. If enabled (= true) then active departure and arrival runways will be stated in a single statement IF arrival and departure runways are same. Otherwise and when toggled false arrival and departure runways will be stated in separate arrival and departure runway statements.
21*atis_layout* = defines the order of ATIS sections in the output (I will get to this later)
22*atis_sfccond* = the order of sections in surface condition report, functions similarly to ATIS layout (this too later...).
23*cloud_base* = This consists of two parameters: altitude, condition. Altitude determines at which altitude clouds in a METAR will be ignored. If all the reported clouds are above the given altitude, therefore excluded from the ATIS, and no CAVOK or other such condition exists then the second parameter will be called instead. All the values under 'cloud_grp' in the format section are accepted, e.g. 'SKC'.
24*voiceapts* = This is a list of airport ICAOs with existing voice files for the full name of airport. Only affects string %mairport%, which contains the ICAO of ATIS airport (parsed from METAR). Pretty much useful only in the 'ALL' formats when the format can be used for any airport within a country and every airport doesn't have a dedicated voice file. If ATIS airport is listed then it's ICAO will be enclosed in brackets (e.g. [EFHK]), but if the ICAO doesn't exist in the list then the string %mairport% will be left empty. However, if the airport list contains 'ZZZZ' then any airport not in the list will have the ICAO without brackets and therefore each letter will be spelled separately (e.g. EFHK -> Echo Foxtrot Hotel Kilo).
25*magvar* = Magnetic variation of an airport. Used in a string that outputs wind speed in true heading.
26*excl_tens* = true/false toggle, use 't' for true and 'f' for false. Toggles whether to state altitudes like 20000 feet as (false =) {20000} or (true =) 20[000]. The first value is spelled as "twenty thousand" and the other value is spelled as "two zero thousand" (000 is defined in the atisfiles.txt to output thousand)
27*three_friction* = true/false toggle and random variation value. Toggles whether to indicate friction coefficiency three times in surface condition report. The second value sets the random variation for the other two friction coefficiency values (only one is indicated in the METAR itself). This will output for example either "80" or "81 80 82".
28
29
30Now to the format section:
31
32This is where all the text is stored that will be output in the ATIS. Each field represents a section in the format. Strings enclosed in %'s are used to output values, like visibility, cloud height and so on forth.
33':' sign is used to separate the text from the section indicators, that can consists of one or two values. The last value will be always the text. The first value will always determine the primary group and the second group (if exists) will determine the subgroup of a primary group. For example visibility can have multiple different kinds of texts according to the visibility in the METAR and each possible case is included as a subgroup which output you can alter.
34
35The functionality of the generator is pretty simple. If a value in a METAR does not exist then the correctsponding field in the format section will be left empty and therefore not show at all in the ATIS. You can also use blank fields in the format section if you do not want something to be included in the ATIS at all. Alternatively you can also leave the whole string enclosed in %'s out of 'atis_layout' in the settings. All of the primary groups are available globally as strings enclosed in %'s.
36
37You can get a list of all the globally available strings by adding "debug" as a parameter in the URL (remember to add '&' before each parameter in the URL with the exception of the first that is preceeded by '?' mark!).
38E.g.
39http://www.uniatis.net/atis.php?arr=15&dep=22R&apptype=ILS&info=F&metar=EFHK%20311720Z%2012006KT%20CAVOK%2007/02%20Q1023%200409//95%205409//95%201509//95%20NOSIG&debug
40This will give you a confusing list of arrays that are titled. Look for arrays titled "string table", there are two of them; one after first pass and the other after second pass. These will contain all the available strings that can be used in anywhere in the format section and in the setting 'atis_layout'. With the debug parameter you will see the contents of strings with different METARs.
41
42
43It should be pretty obvious for most parts what each line represents. I don't think I want to go through all of the over 200 lines separately :D
44Some quick pointers to those fields which will probably cause confusion:
45*approach_type* - in the default configuration this will output "[expect %apptype% approach]" in the ATIS. %apptype% consists the value entered over the URL as 'apptype' parameter. If it's "ILS" then approach_type will output "[expect ILS approach]".
46*auto* - used when METAR includes "AUTO".
47*rwy_use* - this is used when the setting 'rwy_in_use' is enabled and while active arrival and departure runways are the same.
48*rwy_seprt* = used between the last and second last runway when multiple runways exists. Can be also left empty like any other field in the format section.
49
50*sfccond* = This is used in conjuction with %rwy_state% that contains the surface condition in an order as configured in the setting 'sfccond_layout'. This string simply makes it possible to add something like "[surface condition]" prior to the actual condition report contained in %rwy_state%.
51rwy_state, deposit, contamination, depth, friction and other_conds are the section of surface condition used in 'sfccond_layout'. These 6 fields shouldn't be used in the setting 'atis_layout' and these will be grouped together in %rwy_state%, which is the useable string for surface condition.
52As with all fields, these will be left empty if a condition does not exist.
53
54*visibility_grp, rvr_grp* and *cloud_grp *have locally available strings (only useable within their respective groups) that contain distances and altitudes in different formats.
55
56Locally available strings in *rvr_grp*:
57%rvrrwy% = RVR runway for an instance.
58%rvrminm% = RVR minimum visibility in meters without unit: {400}
59%rvrminm_n% = Same as above, but output is without brackets: 400
60%rvrminm_u% = Same as above, but output is with the unit included: {400}[meters] (..or as the output for meters is configured in the format section)
61%rvrminm_u_n% = Same as above, but the output is without brackets and with the unit included: 400[meters]
62%rvrmax% = RVR maximum visibility in meters without unit: {400}
63_n, _u and _u_n are also available as above.
64%rvrminft% = RVR minimum visibility in feets.
65_n, _u and _u_n are also available as above.
66%rvrmaxft% = RVR maximum viisbility in feets.
67_n, _u and _u_n are also available as above.
68
69Locally available stirngs in *visibility_grp*:
70%vism% = Visibility in meters
71_n, _u and _u_n are also available as above
72%visft% = visibiltiy in feets.
73_n, _u and _u_n are also available as above
74
75Locally available stirngs in *cloud_grp*:
76%cloudft% = cloud height in feets.
77_n, _u and _u_n are also available as above
78%cloudm% = cloud height in meters
79_n, _u and _u_n are also available as above
80
81
82There are also several custom types available that can come in handy. Fortunately I've already wrote instructions to the forum under announcements.