2. Configuring AvnFPS

This section describes directory layout, configuration files used by AvnFPS and steps needed to download climatological data. Generally, this section will only be used as an aid in troubleshooting problems with the configuration of AvnFPS. While it is possible to configure AvnFPS by editing these files directly, most people will find it much easier to use the Graphical User Interfaces (GUI) described in Section 4, “Avnsetup”.

After successful installation of AvnFPS OB8.3, the top level directory /awips/adapt/avnfps should be as follows:

lx2-wfo: /bin/ls -la 
drwxrwxr-x   9 fxa     fxalpha 4096 Feb 21 15:04 3.5
drwxrwxr-x   9 fxa     fxalpha 4096 Jul  1 13:03 OB8.3
lrwxrwxrwx   1 root    root       7 Jul  1 13:33 bin -> OB8.3/bin
lrwxrwxrwx   1 root    root       8 Jul  1 13:33 data -> OB8.3/data
lrwxrwxrwx   1 root    root       7 Jul  1 13:33 etc -> OB8.3/etc
drwxrwxr-x   6 fxa     fxalpha 4096 Mar 21 19:27 freetype-2.1.10
drwxrwxr-x   5 fxa     fxalpha 4096 Jul  1 13:03 gamin-0.1.9
drwxrwxr-x   6 fxa     fxalpha 4096 Mar 21 20:27 hdf5-1.6.4
lrwxrwxrwx   1 root    root       8 Jul  1 13:33 logs -> OB8.3/logs
drwxrwxr-x   7 fxa     fxalpha 4096 Jul 13  2005 Python-2.4.1
drwxrwxr-x   6 fxa     fxalpha 4096 Jul 13  2005 tcltk8.4.5
		

The installation process does attempt to remove versions of the software older than 3.5. It is up to you to remove any remaining cruft that might be in this directory.

All configuration files are located in the directory /awips/adapt/avnfps/OB8.3/etc and its subdirectories. Most of the files are in Windowsini format:

[section]
keyword=argument(s)

Lines starting with # are comments.

Files containing specifications for graphical user interfaces (GUI) follow a X11 standard:

*pattern: value

where pattern is a hierarchy of one or more widget classes/names, separated by * or a .. Comment lines start with !. See [welch], Chapter 25. These files are located in the subdirectory app-resources.

2.1. Files in etc

etc/forecasters

Contains a list of forecaster ids with their names or initials. The numbers must be in the range 1 through 999. Lines starting with # are comments. Blank lines are allowed in the file. The format of this file has changed beginning with AvnFPS3.4 to include a flag as to whether a user is allowed to disseminate forecasts. The transmit flag follows the user's number, and is a simple binary flag: 0 - no; 1 - yes. An example:

# etc/forecasters
# List of forecasters
# Format:
# forecaster's number xmit_privilege [No=0,Yes=1] forecaster's name
1 0 Amanda
2 0 Dan
2 1 Mark
3 1 Matt
		

Thus, in this example, Mark and Matt have the ability to queue up TAFs for transmission. However, Amanda and Dan do not have this capability.

etc/logging.cfg

This file configures the logging behavior of all AvnFPS programs. You should not need to modify it.

# logging.cfg
# configuration file for Python logging utility

[loggers]
keys=root

[handlers]
keys=hdl

[formatters]
keys=fmt

[logger_root]   1
level=NOTSET
handlers=hdl

[handler_hdl]   2
class=WeeklyFileHandler
args=('%s/logs' % os.environ['TOP_DIR'], os.path.basename(sys.argv[0]).split('.')[0])
formatter=fmt

[formatter_fmt] 3
format=%(asctime)s %(levelname)-5s [%(process)5d:%(thread)6d] %(module)s: %(message)s
		

1

Log level is set in the section [logger_root]. Available values in decreasing order of information output are: DEBUG or NOTSET (these two are equivalent), INFO, WARNING, ERROR, CRITICAL.

2

[handler_hdl] specifies output directory and file name. The class WeeklyFileHandler appends an abbreviated day of the week to file name.

3

[formatter_fmt] specifies format of a line written to the log file. Refer to Python Documentation for details.

etc/server.cfg

Specifies values used by the data ingest servers.

# etc/server.cfg
# Name servers
# Either local or ip address. Local means that broadcast is used to locate
# the server, which means the server must be on the same subnet
# The list of tafs is displayed in the startup (menu) GUI

# Data ingest servers
[dis]           1
tags=text2,ltg,rltg,file,llws,guid

#[dis_text]     2
#name=text
#source=/data/fxa/point/avnfps/raw
#module=TextThread
#nhours=24

[dis_text]      3
name=text
source=/awips/adapt/avnfps/data/text
module=TriggerThread
nhours=24

[dis_ltg]       4
name=ltg
source=/data/fxa/point/binLightning/netcdf
module=LtgThread
# distance in miles, age in minutes
distance=20
age=15

[dis_rltg]      5
name=rltg
source=/data/fxa/img/SBN/netCDF/LATLON/3hr/LTG
module=RadLtgThread

[dis_llws]      6
name=llws
radar=/data/fxa/radar
profiler=/data/fxa/point/profiler/netcdf
acars=/data/fxa/point/acarsProfiles/netcdf
module=LLWSThread

[dis_file]      7
tag=px1
name=file
source=/awips/adapt/avnfps/data/grids,
module=FileThread

[dis_guid]      8
name=guid
eta=/data/fxa/point/model/ETA/netcdf
ngmmos=/data/fxa/point/mos/NGM/netcdf
gfsmos=/data/fxa/point/mos/GFS/netcdf
gfslamp=/data/fxa/point/gfslamp/netcdf
module=GuidanceThread
nhours=24

# access control
# hosts allowed to access data
[valid]         9
hosts=XXX.XXX.58.*
		

1

Section [dis] specifies which ingest threads should run. For each item tag on the list there is a corresponding [dis_tag] section which defines the thread. Each section comprises several items listed below. There are two ways of accessing text products. TextThread reads data files written by acqserver. However, the AWIPS ingest system has to be changed from baseline configuration in order to use this thread. Thus, it is commented out and TriggerThread is used in AWIPS instead.

  • name is one of predefined data sources which is specific to each module. Do not modify this value.

  • source is the directory where AWIPS data files reside. This directory is monitored by gamin server daemon, gam_server. In this case, this is the directory where avntrigger.sh writes files extracted from text database. A special case is LLWSThread which relies on aircraft, radar and profiler data. The relevant directories are specified by keywords acars, radar and profiler respectively.

  • module specifies Python source code file. Do not change.

  • nhours is a module specific parameter, in this case it is the number of hours of data that should be preserved in AvnFPS database.

2

Section [dis_text] defines an experimental setup that bypasses AWIPS decoders and databases. TAFs and METARs are retrieved from files dumped by acqserver into a directory. This configuration is not recommended for WFOs as it requires modification of baseline AWIPS configuration files.

3

Item [dis_text] defines thread processing reports retrieved from Postgres fxatext by avntrigger.sh via the trigger mechanism. This is delivered as the default WFO technique to get text products into AvnFPS

4

ltg tag controls the processing of lightning observations. The tag distance defines an area of interest. Only lightning strikes within a square centered at the TAF site of size twice the provided value (in miles) will be extracted from AWIPS data files.

5

[dis_rltg] tag is for the radar-based 3 hour cloud-to-ground lightning probability forecast which is currently available in the lower 48 states. OCONUS sites may safely remove this tag from the list in the [dis]section.

6

[dis_llws] controls Low Level Wind Shear setup. The directories are the aircraft (acars) profiles, base radar file location (the site id and product type VWP will be appended by the thread). The profiler tag can be a comma-delimited list of directories. This allows LDAD directories as well as AWIPS ones to be listed.

7

The [dis_file] describes a thread that reads the content of files in the directories listed on the source line. The base directory of each file is passed to the client, which can thus determine the data type. Currently this thread reads files produced by a GFE text formatter.

8

The [dis_guid], specifies guidance data: MOS and high-resolution point NAM-WRF model data. You may comment out some lines if a particular data is not available in your area. For instance, NGM MOS isn't available in Alaska and Pacific Regions, so ngmmos tag can be removed.

9

The access control section [valid] restricts access to AvnFPS server to hosts with IP addresses matching those on the hosts line. A shell type match characters can be used: * matches any string, ? matches single character

etc/px2finit.cfg

Specifies which servers should be started by avnint and their startup order and should not be changed.

# px2finit.cfg

[avnserver]     1
name=avnserver
order=0
wait=5

[avndrs]
name=avndrs
order=1
wait=3

[avndis]
name=avndis
order=2
wait=1

[avnxs]
name=avnxs
order=3
		

1

For each server there is a separate section. The tag must be unique. A section consists of 2-4 items:

  • name specifies server name

  • order determines server startup sequence. Servers with lower order start first.

  • wait is a wait time in seconds after a particular server is started (forked), before starting the next server on the list.

etc/gui.cfg

Specifies values used by graphical user interfaces (GUI) and is shared by all users.

# etc/gui.cfg
# specifies available monitor options for avnwatch

# Name servers 
# Either local or ip address. Local means that broadcast is used to locate 
# the server, which means the server must be on the same subnet
# The list of tafs is displayed in the startup (menu) GUI
[ns]           1
tags=local,

# colors in main GUI: 7 items
[colors]       2
tags=green3,grey,pale green,yellow,orange,red,purple


# editor tags
[editor_tags]  3
fatal=red
error=orange
warning=forest green

# miscellaneous features
[features]     4
tafeditor=1

# viewers: taf and metar must be present, taf must be first on the list
[viewers]       5
tags=taf,metar,gfsmos,gfslamp,etamos,ngmmos,grids

[viewer_taf]    6
module=TafViewer

[viewer_metar]
module=MetarViewer
label=Metars

[viewer_etamos]
module=MosViewer
label=ETA-MOS
model=eta

[viewer_gfsmos]
module=MosViewer
label=GFS-MOS
model=gfs

[viewer_ngmmos]
module=MosViewer
label=NGM-MOS
model=ngm

[viewer_grids]
module=GridViewer
label=Grids

[viewer_gfslamp]
module=MosViewer
label=GFSLAMP
model=gfslamp

[menus]         7
number=7

[menu_0]        8
items=metar

[menu_1]
items=persistence_1hr,persistence_2hr,persistence_3hr

[menu_2]
items=ltg

[menu_3]
items=rltg

[menu_4]
items=ccfp

[menu_5]
items=grids

[menu_6]
items=llws

[monitor_metar] 9
menu=METAR
module=MetarMonitor
items=tempo,vsby,wind,wx,sky
labels=tpo,vis,wnd,wx,cig
tempolevel=2

[monitor_persistence_1hr]
menu=persistence 1hr
module=PersistMonitor
nhours=1        10
items=vsby,wind,wx,sky
labels=vis,wnd,wx,cig

[monitor_persistence_2hr]
menu=persistence 2hr
module=PersistMonitor
nhours=2
items=vsby,wind,wx,sky
labels=vis,wnd,wx,cig

[monitor_persistence_3hr]
menu=persistence 3hr
module=PersistMonitor
nhours=3
items=vsby,wind,wx,sky
labels=vis,wnd,wx,cig

[monitor_ltg]
menu=ltg
module=LtgMonitor
items=wx
labels=ts

[monitor_rltg]
menu=rltg
module=RadLtgMonitor
items=wx
labels=ts

[monitor_ccfp]
menu=ccfp
module=CCFPMonitor
items=wx
labels=ts

[monitor_grids]
menu=grid
module=GridMonitor
from=2          11
to=6
items=vsby,wind,wx,sky
labels=vis,wnd,wx,sky

[monitor_llws]
menu=llws
module=LLWSMonitor
items=wind
labels=ws
		

1

The tags are a list of comma separated addresses of machines where avnserver runs. In order to connect, the server's configuration file must have the client (GUI) IP address listed in its [valid] section, as described above.

2

Lists colors used to indicate discrepancies between forecasts and observations/guidance, in increasing order of severity. The first 2 colors are used to indicate OK and Missing status, the remaining are used to mark severity codes. These are now "fallback" color scheme should the individual user not provide his/her own colors.

3

These are the colors used in the TAF text editor's syntax checker.

4

If set to 1, a TAF Editor button will be displayed in the main monitoring GUI below the menu bar.

5

Lists data viewers available in the TAF Editor window. For each tag listed, there must be a [viewer_tag] section.

6

Each viewer requires certain parameters. module specifies a Python source code file, label defines text displayed in the window's tab. Some modules require additional values. You should not modify any of those values, with the exception of the labels.

7

Section [menus] defines data areas in the main monitoring GUI. For each area there must be a section [menu_#] listing items that will be monitored. Count starts from 0.

8

Items is a list of comma separated tags, each of the tags must have a corresponding [monitor_item] section. If the list consists of one item, it must be terminated by a comma. If 2 or more items are on the list, the user can select what is monitored.

9

Each monitor requires certain parameters. module specifies a Python source code file, menu defines text displayed when the popup menu is invoked. items is a list of monitored weather elements, labels determine displayed text. To keep the GUI nicely aligned, keep label names 2 or 3 characters long. tempolevel attribute is used to determine which monitoring rules are used when deciding if a TEMPO condition was not satisfied.

10

nhours is the number of hours to look ahead assuming the weather does not change

11

from, to define interval of time the grids are monitored against the forecast

etc/wxplot.cfg

This is a configuration file for the weather plot GUI.

# wxplot.cfg

[print]         1
cmd=convert - tmp/%s.jpg

[hours]         2
back=24
forward=24

[vsby]          3
bot=0.125
top=10.0

[cig]
bot=100
top=8000

[viewers]       4
tags=taf,metar,gfsmos,gfslamp,etamos,ngmmos,eta

[selected]      5
tags=taf,metar

[viewer_taf]    6
module=TafPlot
label=TAF
color=blue

[viewer_metar]
module=MetarPlot
label=METARs
color=red

[viewer_gfsmos]
module=MosPlot
label=GFS-MOS
color=forest green
model=avn

[viewer_etamos]
module=MosPlot
label=ETA-MOS
color=green
model=gfs

[viewer_ngmmos]
module=MosPlot
label=NGM-MOS
color=dark green
model=ngm

[viewer_eta]
module=EtaPlot
label=NAM-WRF
color=brown

[viewer_gfslamp]
module=MosPlot
label=GFS-LAMP
color=purple
model=gfslamp
		

1

Command to be executed when the Print is pressed. A window dump file (xwd format) is passed via standard input stream.

2

Number of hours of data to display, counted from the current hour.

3

Ceiling and visibility plot limits.

4

This section lists data viewers available in the Weather Plot window. For each tag listed, there must be a [viewer_tag] section.

5

Data viewer(s) enabled by default on startup.

6

Each viewer requires certain parameters. 'module' tag specifies a Python source code file, 'label' tag defines text displayed as a toggle button name. Some modules require additional values. You should not modify any of those values, with the exception of the labels.

etc/xmit.cfg

This configuration file is used by avnxs which sends forecast and verification products out for dissemination.

# etc/xmit.cfg

[verification]       1       
wmo = NXUS98 KPIT
awips = KPBZVFTPBZ
fcstid = 0
period = 6

[transmission]       2
# how often checks for new files (seconds)
frequency = 15
# reject older than (hours)
old = 3
		

1

This section defines parameters used by the program to transmit the NXUS98 verification product to NWS headquarters. wmo and awips are the WMO and AWIPS headers. These headers must exist in the file /awips/fxa/data/afos2awips.txt. The transmission file name contains (reserved) forecaster id 0. This should not be changed. The verification product is transmitted every 6 hours.

2

You may want to adjust the attribute 'old' value. It defines the length of time (in hours) a product may reside in the pending queue for transmission, before moving to the 'bad' directory.

etc/triggerTemplate

Made by avnsetup's Trigger Editor. This file is processed during trigger localization on the data server.

2.2. TAF configuration files

The TAF configuration files reside in directory etc/tafs. For each TAF site CCCC there is a subdirectory etc/tafs/CCCC containing template files, one per each forecast period and site info data etc/tafs/CCCC/info.cfg.

Site Info File

This file is normally created by the Taf Site Editor GUI, normally invoked from avnsetup.

# etc/tafs/KIAD/info.cfg

[headers]
wmo = FTUS41 KIAD
afos = WBCTAFIAD

[thresholds]	1
cig = 200,600,1000,2000,3100
radar_cutoff = 100,0
vsby = 0.5,1.0,2.0,3.0,6.0
profiler_cutoff = 
tafduration = 24

[sites]		2
radars = KLWX,TIAD
gfsmos = KIAD
gfslamp = KIAD
metar = KIAD
eta = KIAD
ngmmos = IAD
profilers = 
etamos = KIAD
acars = IAD

[geography]	3
lat = 38.96
runway = 180,110
lon = -77.45
elev = 98
			

1

Section [thresholds] defines ceiling and visibility categories used by the monitoring system. Cutoff values correspond to heights in meters below which data will be ignored. As in the example above, for the KLWX radar, any VWP data above 100 meters to 610 (2000 ft) meters will be used in the wind-shear calculations. This feature is useful if your VWP source(s) is (are) routinely contaminated by non-meterological phenomenon at the lowest levels near the site. ACARS data has been QC and are used in their entirety: there are no "cutoff" value. The length of the aerodrome forecast is given, in hours, by the tafduration attribute.

2

Section [sites] defines IDs used by other data sources. Some TAF sites may have more than one associated observation. In that case, separate the ids by a comma.

3

Section [geography] provides location of the airport. elev is in meters, runway directions in degrees true north not magnetic north are used to calculate cross/head/tail winds.

Monitoring Rules

The default configuration files for all monitors are located in the directory etc/tafs/XXXX. Currently these are: grids.cfg, ltg.cfg, mtrs.cfg, rltg.cfg, ccfp.cfg. All can be edited with the "Montoring Rules" GUI via avnsetup. Here is an example of rule definition file for monitoring of METARs:

# etc/tafs/XXXX/mtrs.cfg

[rule_11]		1
severity = 5
msg = Visibility difference of 3 or more categories
unique = 1
type = vsby
method = VsbyCatDelta
ncat = 3
.......
[rules]			2
active = 0,1,2,3,4,5,6,7,8,9,10,11
.......
[rule_1]
severity = 3
msg = Freezing precipitation in TAF and not in obs
unique = 0
type = wx
method = WxTafDelta
wx = FZRA,FZDZ,PL
.......
			

1

Each [rule_N] provides arguments to the monitoring function, specified by the method keyword. The following tags must exist for each rule:

  1. severity: a number in the range 1 through 5 corresponding to colors defined by the forecaster or in a fallback condition, in gui.cfg, see 2.

  2. msg: message displayed by the monitoring GUI.

  3. type: one of wind, vsby, wx, sky

  4. unique: 0 or 1.

Each function may accept additional arguments, such as ncat. In this case ncat is the number of categories the visibilities in a TAF/METAR pair must differ for the rule to activate. Thus you may specify the same method with different arguments, ncat=2 in our case.

2

Section [rules] defines the list of rules to monitor. For each number there must be a corresponding [rule_N] section.

If you want to have rules dependent on the TAF site, copy the relevant file to the TAF site directory and modify it there. The monitoring program first tries to find the files in the site directory, if it can't find it there, uses the one from etc/tafs/XXXX.

[Important]Important

There are no default hardcoded rules, the files in etc/tafs/XXXX must exist.

Impact QC Definition File

With the Impact QC feature, the forecaster can be alerted when a prepared TAF has a significant impact on airport operations. This file is optional and cannot be modified with avnsetup, you must use a text editor instead. Shown below is a configuration file with additional rules added that are specific to Pittsburgh International Airport, etc/tafs/KPIT/impact.cfg:

# impact.cfg

[conditions]         1
items=cond_1,cond_2,cond_3,cond_4,cond_5

[cond_1]             2
tag=FC
level=1
text=Impact: Fuel-Alternate vsby<3 or cig<2000
expr=vsby<2.95 or cig<2000

[cond_2]
tag=FC
level=2
text=Impact: LIFR conditions vsby<1 or cig<500
expr=vsby<0.95 or cig<500

[cond_3]
tag=ws
level=1
text=Wind shift vs previous group resulting in >6kt change along PIT runway 28R/10L,may affect runway config
expr=wind[0].shift and wind[0].runway>6

[cond_4]
tag=xw
level=1
text=Cross wind component >14KT on PIT runway 28R/10L
expr=wind[0].cross>14

[cond_5]
tag=xw
level=2
text=Cross wind component >24KT on PIT runway 28R/10L
expr=wind[0].cross>24
			

1

Section [conditions] defines the list of conditions to check. For each tag [cond_N] there must be a corresponding section.

2

Each [cond_N] provides arguments to the impact check function. The check is done for each TAF period. The following tags must exist for each rule:

  1. expr: a Python expression to be evaluated. This expression can contain following variables: vsby, cig, wind, ts. vsby is in miles, ceiling in feet. wind is an array that has length equal to the number of runways. Each element of this array contains 3 values: runway, cross and shift. The wind vector is represented in a Cartesian coordinates along and perpendicular to the runway. The absolute values of these components are wind[N].runway and wind[N].cross, where N is runway number, counted from 0, as listed in the site configuration file, see section : “Site Info File”. wind[N].shift is a Boolean value, indicating that the runway component changed sign from one TAF period to another. ts is a Boolean value denoting whether thunderstorms are present in the TAF.

  2. text: message to be displayed when the expression evaluates to True.

  3. level: highlight background color, 1 - green, 2 - orange.

  4. tag: used to group messages, so only the message with the highest level is displayed. In this example, if visibility is 1/2SM, only the LIFR message is shown in a popup window of the TAF Editor.

Climate QC Definition File

The file etc/tafs/XXXX/climqc.cfg is used to define category thresholds used while creating climate QC count files. Currently this file cannot be modified with avnsetup, you must use a text editor. An example:

#etc/tafs/XXXX/climqc.cfg

[args]          1
alpha=0.3
showdetails=0

[thresholds]   	2
vsby=0.27,1.1,2.9,6.1
cig=205,605,1005,3105,40000
ff=4.1,10.1,20.1
dd=22.5,67.5,112.5,157.5,202.5,247.5,292.5,337.5
			

1

The parameter alpha is used to determine likelihood of occurence of a combination of weather elements in the forecast based on conditional probabilities. Alpha should be a positve number, less than one. The showdetails flag (0=no;1=yes) turns detailed statistics display, generally disliked by forecastes.

2

The thresholds determine category ranges. Each of arguments is a list of values v1 < v2 < ... < vn, with implicit v1 = 0 and vn+1 = ∞. Category k consists of all values v such that vkv < vk+1.

The value 40 000 ft on the ceiling list serves to distinguish between limited and unlimited ceiling, which is coded as 99 998 ft.

If you want to have thresholds dependent upon the unique operational constraints at the specific TAF site, copy this file to the TAF site directory and modify it there. The program avnqcstats which creates the count files first tries to find the file in the site directory, if it can't find it there, uses the one from etc/tafs/XXXX directory.

TAF Product Definition Files

Located in etc/tafs. Normally created by the Taf Product GUI invoked from avnsetup. An example file:

# etc/tafs/PBZ_TAFS.cfg

# list of TAF sites
[sites]
workpil = PITWRKTAF
idents=KPIT,KAGC,KBVI,KLBE,KHLG,KMGW,KZZV,KFKL,KDUJ
			

Default Product File

The optional DEFAULT file contains name of the configuration file, sans the .cfg extension. that should be loaded on startup of the monitoring GUI. If not present, the first one in alphabetical order is used.

TAF Formatter Configuration Files

The TAF Formatter requires three configuration files. These files are located in the directory etc/tafs/XXXX. With AvnFPSOB8.3, flt_cat.cfg and grp_taf.cfg files can now be customized for each TAF site and moved to its respective etc/taf/CCCC directory.

File flt_cat.cfg contains the threshhold values of visibility and ceiling height that are used to determine aviation flight categories. The default values are identical to those provided in NWS Instruction 10-813. The thresholds can be changed to site-specific values.

#etc/tafs/XXXX/flt_cat.cfg
[cig]
thresholds=200,500,1000,3000,3500,4000,5000,8000,10000,12000,15000,18000,20000
[vis]
thresholds=0.5,1,3,5	1
			
1

These thresholds divide the spectrum of ceiling and visibility into categories with an implied 0 at the beginning and 'infinity' at the end of each list. Thus as defined here, ceiling category 1 corresponds to cloud heights from 0 to 200 feet, category 2 from 200 to 500 feet, etc. Similarily for visibility, with category 1 corresponding to visibilities LTE to 1/2 mile. Category 5 corresponds to visibility greater than 5 miles.

File grp_taf.cfg contains the configurable threshold values that are used to form concise TAFs. Detailed description for each category has been provided inside the file.

#
# This file contains thresholds that control the algorithm that converts
# numerical/tabular gudiance into 'guidance' TAFs.
#
# Probability thresholds used for MOS.  This section also acts as a default
# section if 'gfslamp' and 'grid' sections are not provided
#
[mos]
#
# Probabilities (POT and POP06) equal and above which precipitation and/or
# thunderstorms will be included in the prevailing group.
#
prev_precip=80
prev_tstm=80
#
# Probabilities (POT and POP06) equal above which the tempo group is formed
# containing precipitation and/or thunderstorms.
#
tempo_precip=36
tempo_tstm=36
#
# Probabilities (POT and POP06) equal and above which the prob30 group is formed
# containing precipitation and/or thunderstorms.
#
prob30_precip=26
prob30_tstm=26
#
#Same as above but used after the 9th hour in forecast
#
prev_precip_af_9hr=90
prev_tstm_af_9hr=90
tempo_precip_af_9hr=46
tempo_tstm_af_9hr=36
#
#
[gfslamp]
#
# A new set of thresholds for LAMP due to the increased forecast resolutions:
# hourly probability for precipitation and two-hour probability for thunder
#
prev_precip=50
prev_tstm=35
tempo_precip=36
tempo_tstm=26
prob30_precip=25
prob30_tstm=15
#
# Same set of thresholds used for after the 9th hour in forecast
prev_precip_af_9hr=60
prev_tstm_af_9hr=45
tempo_precip_af_9hr=46
tempo_tstm_af_9hr=36
#
# Boolean (yes/no) if PROB30 groups are wanted in guidance TAFs
[prob30]
value=yes
#
[def_singleton]
#
#
# The longest time span in hours that makes this group combinable with
# a longer, adjacent (in time) group. If the duration of a group is longer
# than this value, this group stays alone in the final TAF.
#
short_dt=1	1
#
# The shortest time span in hours that allows its shorter duration 
# neighbor to be combined with it.
#
long_dt=15	2
#
# Maximum category difference between the long and the short duration groups. If the
# difference in flight category between the two groups is greater than this value,
# they are not combined.
#
# Categories are treated separately for visibility and ceilings.
#
# To see the breakpoints for the ceiling and visibility categories, see
# etc/tafs/XXXX/flt_cat.cfg (flight category) configuration file.
# 
# First the visibility
#
dc_vis=1	3
#
# Lowest visibility category to which the combining algorithm is applied
#
low_c_vis=5	4
#
# Highest visibility category to which the combining algorithm is applied
#
high_c_vis=5	5
#
# Now, the ceiling . . .
#
dc_cig=1	6
#
# The lowest ceiling category to which the combining is applied
#
low_c_cig=13	7
#
# Highest ceiling category to which the combining is applied
high_c_cig=14	8
#
# Earliest forecast time in hrs to which the combining algorithm can be applied
low_p=12	9
#
# Maximum allowable ceiling height in hundreds of feet when thunderstorms
# are forecasted
#
[cb_hi]
value=50
#
# Maximum speed which is considered to be not a calm wind.
[wind]
calmwd=2
#
# Wind speed and direction change in wind speed above which combining will not be applied.
high_wind=10
wind_chg=4	10
#
# Boolean (yes/no) flag if dry thunder is allowed in TAF
[dryts]
value=yes
#
# Boolean (yes/no) flage if CB without thunder is allowed in TAF
[cbwots]
value=no
        
[Note]Note

Items 1 through 9 control how two dissimilar (in visibility and/or ceiling) groups, one 'short', the other 'long', can be further combined.

1

The maximum duration of the smaller group that can be combined with the larger, dissimilar one. When combined, the larger group values are not adjusted by the smaller group's values.

2

The minimum length of time to be considered the 'large' group candidate for combining with smaller ones.

3

The largest visibility category difference allowed between TAF groups and still be able to combine.

4

The lowest visibility category allowed to be considered for combining. This value is related to the values assigned to the vis thresholds in flt_cat.cfg file.

5

The highest visibility category allowed to be considered for combining. This value is related to the values assigned to the vis thresholds in flt_cat.cfg file. Usually set to the number of visibility 'breakpoints' in vis thresholds.

6

The largest ceiling category difference allowed between TAF groups and still be able to combine.

7

The lowest ceiling category allowed to be considered for combining. This value is related to the values assigned to the cig thresholds in flt_cat.cfg file.

8

The highest ceiling category allowed to be considered for combining. This value is related to the values assigned to the cig thresholds in flt_cat.cfg file. Usually set to the number of ceiling 'breakpoints' in cig thresholds.

9

Number of hours when the combining algorithm will be applied to groups valid beyond the TAF's beginning valid time.

10

Maximum allowable difference in speed (knots) and direction (tens of degrees) between groups allowed to be combined.

Finally, grid_probs.cfg contains configuration data on how the probability attributes on IFPS grids are translated into numerical probability values that will be used to form TAFs. Remember that precipation is only included in the TAFs when certain probability threshold is exceeded. This file cannot be customized to individual TAF sites.

#tables used to convert prob symbols in grids to a pop value 
[before9hr]
S=30
IS=30
WS=30

SC=50
O=50
C=50

D=70
WP=70
NM=70
L=70

[after9hr]
S=20
IS=20
WS=20

SC=30
O=30
C=30

D=50
WP=50
NM=50
L=50
		

2.3. X resources configuration files

The default and individual resource files are located in the directory etc/app-resources. To edit the default file etc/app-resources/X you can use any text editor. Individual files have naming convention X.N, where N is the forecaster number from etc/forecasters. These files are created by a graphical editor available from the AvnWatch GUI menu.

Here is the listing of the default file etc/app-resources/X

!! default X resources configuration file
!! default font 
!! change 100 to 140 if you want bigger default font
*font:                          -adobe-helvetica-bold-r-normal-*-*-100-*-*-p-*-iso8859-9
!! default colors
*background:                    grey70
*foreground:                    black
!! text window font
*Text.font:                     7x14
!! text window colors
*Text.background:               #2f3f6f
*Text.foreground:               #ffffff
!! other text window specific options
*Text.width:                    74
*Text.height:                   24
*Text.cursor:                   hand1
!! forecast editor font - may want bigger
*textEditor.font:               8x16
!! forecast editor colors - may want different
*textEditor.background:         #1f2f6f
*textEditor.foreground:         white
*textEditor.width:              70
*textEditor.height:             12
!! cursor width and color
*textEditor.cursor:             arrow
*textEditor.insertWidth:        5
*insertBackground:              yellow
!! text viewer window options
*textViewer.width:              74
*textViewer.height:             12
!! forecast editor orientation: horizontal or vertical
*orientation:                   vertical
!! listbox font
*Listbox.font:                  7x14
!! entry font
*Entry.font:                    7x14
!! entry window colors
*Entry.background:              white
*MessageBar*Entry.background:   grey85
!! balloon message (popup) font
*Balloon.Label.font:            7x14
!! balloon message alert placement
*impactPlacement:		top
!! modifies behavior of dialogs
*transientDialogs:              1
!! confirmation on closing editor 
*confirmClose:                  0
!! confirmation on sending amendments/corrections 
*confirmSend:                   1
!! status alert colors: colors shown on the 'christmas tree'
*alertLevel0:     green3
*alertLevel1:     grey
*alertLevel2:     pale green
*alertLevel3:     yellow
*alertLevel4:     orange
*alertLevel5:     red
*alertLevel6:     purple
!! alert options: use colors for the first level that should result in 
!! notification - pale green, yellow, orange, red, purple or none
*notifyDeiconify:               alertLevel4
*notifyRaise:                   alertLevel5
*notifyPlay:                    alertLevel6
!! not implemented
!!*notifyTalk:                    none
*playFile:                      /awips/fxa/data/sounds/asterisk.au
!! blink on new notification
*blink:                         1
!! warning/error level to disallow send:
!! 'always', 'warning, 'error', 'fatal'
*disallowSend:                  error
!! forecast editor options
!! use template, one of: template, merge, latest
*loadOrder:                     merge
!! ask for transmission time when sending routine forecasts
*asktime:                       1
!! periodically save bulletins in a backup file
*autosave:                      1
!! update issue and valid times on QC
*updatetimes:                   1
!! print forecasts on send
*autoprint:                     0
!! Insert/Overwrite
*insert:                        1
!! Word-wrap long lines: either none or word
*wrap:                          word
!! When showing a list of METARs and TAFs in Tweb Editor whether
!! to allow duplicates to show up in the text windows
*showUnique:			0
!! Amd, Rtd, Cor buttons on the right
*amdbuttons:                    1
!! number of TAFs to display
*numTafs:                       1
!! number of hours of METARs to display
*numHours:                      6
!! number of hours of METARs to display when all stations are to be displayed in viewer
*numHoursAll:			1
!! show bulletin headers in the text window
*showHeaders:                   1
!! show decoded METARs
*showDecoded:                   1
!! show category probabilities for MOS
*showProbs:                     1
!! Format of MOS and Grids reports: raw, long or short
*showFormatted:                 short
!! flight category highlights
*highlightFlightCat:            0
*lifrColor:                     #6c1916
*ifrColor:                      #5b3c2c
*mvfrColor:                     #2c484c
*vfrColor:                      #112346
!!
!! editable by knowledgable people only
!!
!! send forecasts in a collective
*collective:                    0
!! prevents line wrap in message boxes
*wrapLength:                    0
		

Lines starting with "!!" are comments. Resource names begin with a "*" and end with ":". Anything after a ":" is a resource value. Many of the allowable values are not well documented, or cryptic. For example, valid values for cursor shape in a text window

*Text.cursor:                   hand1
		

are defined in file /usr/include/X11/cursorfont.h. You have to know that the leading XC_ in line

#define XC_hand1 58

must be stripped and 58 ignored. Valid color names are in /usr/lib/X11/rgb.txt, but if you don't find one you like, a hexadecimal number can be used instead, such as

*lifrColor:                     #6c1916
		

We suggest that you use the graphical resource editor available from in avnsetup before making changes to this file.

2.4. Climatological Data

AvnFPS 3.2 introduced a new set of climatological GUIs requiring updated climatological files. The climate GUIs require fast, efficient access to voluminous amounts (often 30 years) of data. The existing NetCDF files, delivered with AvnFPS 3.1 was determined too slow and inefficient when GUI response times needed to be in seconds. HDF5 is a file format that emphasizes storage and I/O efficiency to meet performance requirements. The AvnFPS team decided to use this format for the climatology GUIs.

The climatological data files for all locations where the NWS prepares TAFs have been posted to a web page that is available to the World Wide Web. The Universal Resource Locator (URL) for the directory where they are posted is http://www.mdl.nws.noaa.gov/~avnfps/data/hdf5. File names are of the form CCCC.hd5, where CCCC is the location identifier where the data were observed. The files are rather large but HDF5 already stores the data in compressed format, so there is no post-processing step after downloading it. The files are ready to be used at this point by the climatological GUIs.

Some WFOs may find this hosting solution somewhat awkward. It seemed, however, to be the safest way to protect the AWIPS Wide Area Network (WAN) from the impacts of large data transfers.

The following procedures can be used to download the data files and make them available to AvnFPS:

Procedure 1.1. To download from an internet browser

  1. On a host that can access the WWW, launch a browser application and direct it to http://www.mdl.nws.noaa.gov/~avnfps/data/hdf5. You will see a page that lists available stations along with file modification times and sizes. The link for each station points to a binary file.

  2. Find the station whose data you want to download.

  3. Use the appropriate features of the browser to download the file for the station your site needs. On most browsers, this involves performing a right click on the station name and a feature such as Save Link Target As... or Save Link As..

  4. Move this file to AvnFPS climate directory /data/adapt/avnfps/climate. Files can be moved physically via removeable media, transferred through the AWIPSPUB firewall, or transferred via LDAD.

  5. Once the save process is completed you may proceed to other stations using the same procedure.

Procedure 1.2. To download using wget command on a Linux host

  1. Identify the URLs for each file you will download. They are of the form http://www.mdl.nws.noaa.gov/~avnfps/data/hdf5/CCCC.hd5, where CCCC is the Station ID.

  2. Identify a directory on your local system where the files can reside temporarily.

  3. Use the wget to download each file.

    wget --passive-ftp -nv dataURL -o output_dir/CCCC.hd5

    where dataURL is the URL from the previous step, CCCC is the site id you and output_dir is the directory where you want to save the files.

  4. Move these files to AvnFPS data directory /data/adapt/avnfps/climate. This directory is visible from all hosts. Files can be moved physically via removeable media, transferred through the AWIPSPUB firewall, or transferred via LDAD.