Text Templates
In WFO Advanced, the software that generates the text for watches,
warnings, or advisories (wwa's) uses template files to control exactly
how each wwa is built. Template files allow one to change the
characteristics of a particular wwa, or add a new one, without having
to change the code.
There are four main concepts to understand within template files,
paragraphs, substitutions, bullets, and variables.
The text of a template is very free format. In general, consecutive
spaces are changed to one space before processing, spaces preceding a
period are removed, and all consecutive lines of text without an
intervening blank line are considered to be in a paragraph. Also,
individual lines and arguments in substitutions have their leading and
trailing spaces stripped before processing. A place holder character
(~) and a paragraph break character (&) are available to override this
default behavior. Later in this document is a table of all special
characters.
A substitution is a signal to the software to build some text based on
the geographic, temporal, or other characteristics of the wwa in question.
The general format of a substitution is as follows:
< substitution_type | qualifier_type = qualifier_value | ... >
The substitution type, qualifier type, and qualifier value are in general
just text. However, certain qualifier types for certain substitution types
do result in the qualifier value being interpreted as a number. Not all
qualifier types require that a qualifier value be present. Normally,
leading and trailing spaces are stripped off of the qualifier value.
However, if a `==' (double equals sign) is used between a qualifier
type and value, then a leading and trailing space is added to the
qualifier value.
If a line or series of lines contain nothing but a substitution that
results in no text being generated, it is as if those lines never appeared
in the template. Thus, an null substitution will not create a paragraph
break in this case. If it is desired that text from two substitutions
be directly adjacent with no intervening spaces, then the trailing
delimeter from the first needs to be directly adjacent and on the same
line as the leading delimeter from the next. A line continuation
(backslash at the end of a line, see special characters table) can
accomplish this as well.
To date, by convention, substitution types are all caps and qualifier types
are all lower case with underscores. The text that results from a
substitution can be completely within a paragraph, be a single paragraph
in itself, or span several paragraphs. Place holder and/or paragraph
break characters in the text from a substitution are fully interpreted in
organizing paragraphs. Later in this document is a table of currently
available substitutions. Two very important types of substitutions
rely on geographic entity lookup tables (gelt's) to produce their text.
Some additional information about gelt's is available from
makeGeoTables.doc.
A bullet is a piece of text that can appear or not appear in the output
text based on a software switch under control of the user. The basic
format of a bullet is as follows:
{ ^ title text | bullet text }
The carat sign (^) is an optional signal which, if present, specifies
that this text should be marked for inclusion by default. The title text
is a label by which the user refers to the text of the bullet. The
bullet text is what actually appears in the output text when the bullet
is marked for inclusion. Just as with a substitution, the text from a
bullet can be completely within a paragraph, be a single paragraph
in itself, or span several paragraphs. Substitutions can appear within
a bullet, but bullets cannot be imbedded within substitutions.
While it is not possible to nest substitutions, it is possible to
direct the text of a substitution into a variable, and then that
variable can be refered to within the value of a `lead' or `trail'
qualifier in another substitution. The text of any substitution can
be directed to a variable by placing a qualifier of the type `var'
in the substitution. The value of the `var' qualifier is the name of
the variable that the text of the substitution is assigned to.
Variable names should be all alphabetic or numeric characters, with
no escape sequences or spaces (underscores are OK). A variable name
is refered to with a leading `$$' (double dollar sign) and a trailing
`!' (exclamation point). If one puts variable defining substitutions
into a bullet, then whether that variable is defined is controlled by
whether that bullet is turned on.
Special characters for template files.
- \
- Backslash at the end of a line represents a line continuation
to the module that actually reads the text file into memory.
Line continuations are meaningless in the context of the template
and can cause odd paragraphing behavior, so this use is not
recommended. In all other cases, a backslash escapes the
immediately following character. This means that the following
character will appear in the text without the backslash, but
will not be interpreted as a special character.
- //
- Double slash is a comment marker in the module that actually
reads the text file into memory. From there to the end of
the line is a comment. Comments are OK, but they should be
used with care inside a substitution or bullet.
- $$
- Double dollar sign is the signal that what follows is a
variable name, and that it should be replaced with the value
of that variable in the output text. The variable name is up
to the next escape or exclamation point.
- !
- Variable name terminator. In the case where a `!' is used to
terminate a variable name, the exclamation point does not appear
in the output text.
- #
- When appearing at the beginning of a line, the pound sign
can be part of a C/C++ style include statement, which are
interpreted by the module that actually reads the text file
into memory.
- <>
- Substitution delimiters. Text in angle brackets does not appear
in the output directly. Substitution text is a description of
some text which can be built based on the geographic, temporal,
or other characteristics of the watch, warning, or advisory in
question.
- {}
- Bullet delimiters. Text in curly braces can appear or not appear
in the output text based on a software switch under control of the
user.
- |
- Field separator. Separates title from the text in a bullet,
individual qualifiers from each other in a substitution.
- =
- Separates the type of a qualifier from its value.
- ^
- Marks a bullet as being included by default.
- ~
- Indent/place holder. When internal to a paragraph, will cause
a space to be placed where otherwise the automatic paragraph
formatting might cause a space to be removed. At the beginning
of a paragraph causes all text in that paragraph to be indented
one space for each ~ that appears. An escaped space will behave
just like a place holder, but not like an indent marker.
- %
- Reverse indent marker. When at the beginning of a paragraph
causes all text in that paragraph except for the first line
to be indented one space for each % that appears. Reverse
indent markers can appear immediately after standard indent
markers (~ characters).
- &
- Paragraph break. Causes a new paragraph to start without an
intervening blank line. Two consecutive paragraph breaks will
force a blank line to appear.
- []
- Used as translation delimiters within translation control strings.
Currently available substitutions. Each type is followed by a sub table
describing the applicable qualifiers. Qualifiers require no value unless
qualifier values are mentioned.
Time generating substitutions. These all have the same list of possible
qualifiers.
- ISSUE
- Causes text to be generated describing the issue time of the
wwa being generated.
- START
- Causes text to be generated describing the start time of the
wwa being generated.
- EXPIRE
- Causes text to be generated describing the expiration time
of the wwa being generated.
- EVENT
- Causes text to be generated describing the time of occurrence
of the weather event for which the wwa is being generated.
- NOW
- Causes text to be generated describing the current time.
- clock
- Output in clock format, e.g. 905 PM MDT. Default.
- header
- Output in product header format, e.g.
255 PM MDT WED JUL 12 1995.
- ddhhmm
- Output in like format, where dd is day, hh is hour,
and mm is minute.
- plain
- Output including a plain language description of the
time of day, e.g. 200 PM MDT WEDNESDAY AFTERNOON.
- local
- Output in local time. Default.
- gmt
- Output in Greenwich Mean Time.
- interval
- Value is number of minutes to round time to.
By default times are not rounded.
- delta
- Value is number of minutes by which to change the time
specified by the substitution type. Default is zero.
- last_table
- Only output this time text if the last area
table used produced some output.
- no_text
- Will not generate any text.
- lead
- Value is some arbitrary text that will precede the
time description.
- trail
- Value is some arbitrary text that will follow the
time description.
- var
- Value is the name of a variable that has assigned to
it the text produced here.
- VAR
- This substitution is made available for the purpose of allowing
the user to direct the contents of the lead and/or trail qualifier
into a variable.
- lead
- Beginning of some arbitrary text.
- trail
- Ending of some arbitrary text.
- var
- Value is the name of a variable that has assigned to
it the text produced here.
- MOVEMENT
- This substitution generates text that describes the movement
of the weather event for which the wwa is being generated.
If the movement is marked as undefined, no text will be
generated.
- units
- Units string to attach to speed, defaults to `MPH'.
- multiplier
- Number to multiply raw speed from tracking
calculation to get desired unit. Raw speed is
in km/s, so default multiplier is 3600/1.61.
- interval
- Value is number of speed units to round speed to.
By default speeds are not rounded.
- lead
- Value is some arbitrary text that will precede the
movement description.
- trail
- Value is some arbitrary text that will follow the
movement description.
- var
- Value is the name of a variable that has assigned to
it the text produced here.
- COORDS
- Puts encoded latitude and longtiude coordinates into the
product that can be used for plotting warnings.
- DURATIONS
- This is a special substitution that generates no text.
Each qualifier is a possible duration for the wwa, in
number of minutes or in hh:mm format. The qualifier
with the value `default' is the default duration. (This
substitution type does completely invert the usual syntax
for qualifier types and values.)
- AUX_INFO
- This is a special substitution that generates no text.
Each qualifier is a key, and each value is some text that
can be passed back to the client based on that key.
- DEPICT_KEYS
- This is a special substitution that generates no text.
Each qualifier is a map background key that should be
loaded in the warnGen program when this template is being
used.
- COLUMNS
- This is a special substitution that generates no text.
This controls column layouts.
- lead
- Text that occurs before the first column. Defaults to
`~~' (two place holders).
- separator
- Text that occurs before between columns. Defaults to
`~' (one place holder).
- trail
- Text that occurs after the last column. Defaults to
an empty string.
- AREA
- This substitution causes text to be generated describing
the area of the wwa. This substitution makes use of a gelt.
- file
- Value is the name of a gelt file, minus the file
suffix. One can use unix environment variables within
the file name. There can be several `file' qualifiers
in one `AREA' substitution. With one exception, all
qualifiers up to the next `file' qualifier modify that
`file' qualifier. The default behavior is to process each
`file' qualifier in order until it finds one that actually
generates some text, then will return that text for the
substitution. When two consecutive file qualifiers refer
to the same file, the values of other qualifiers will be
preserved. They will often revert to defaults when
a new file is introduced. If this is not true, then
this will be noted and that qualifier will be refered to
as persistent.
- accumulate
- If this qualifier is present, then all file
qualifiers will be processed and the list of items
used will be the sum total of the items produced
from all of the tables. This qualifier is persistent.
- area
- This qualifier defines the area of interest that this
gelt file will try to provide a description for.
If the value is `WWA' then the base polygon of the wwa is
used to define the area of interest. If the value is
some other gelt file, then whatever area is currently
held within that gelt is used as the area of interest.
This is useful for imposing consistency between
different gelts that might otherwise react differently
to filtering because they have different types of
geographic entities. If this qualifier is not present,
whatever area is currently held within that gelt is
used, unchanged. The first time a gelt file is
refered to within a template, this qualifier needs to
be present. This qualifier is persistent even to file
changes.
- format
- The purpose of this qualifier is to control how lists of
individual items from a gelt are put together. This
value can be `list', `ugc', `count', `none', `simple',
`xxx_columns', or `blank' of which `list' is the
default. `list' will cause each item returned to be put
in a list separated by elipses. `ugc' will cause the
items to be formatted as they were a list of ugc codes.
`xxx_columns' will cause the items to be arranged in
colums, where the actual text of the value is
`one_column', `two_columns' up through `seven_columns'.
`count' just returns an ascii string representing the
number of items in the list. `simple' means just
catenate the text together. `none' means no text is
generated for this file qualifier. `blank' means no
text is generated for the list, but lead and trail
qualifiers will still be used. This qualifier is
persistent.
- multiple
- If the value is "yes", then the substitution will
only produce text if more that one point describes the
weather event. If the value is "no", then the
substitution will only produce text if a single point
describes the weather event. Any other value invokes
the default behavior, which is to allow any number of
points in the weather event. If the weather event
does not exist, then this qualifier has no effect.
This qualifier is persistent.
- min_count
- Minimum number of unique items that must result
from the gelt query after translation in order to
allow the current qualifier to generate text. Defaults
to one. When in accumulate mode and the value is
negative, accumulation will stop as soon as that many
(absolute value) are present. This qualifier is
persistent.
- max_count
- If positive, and more than this many items are returned
from the gelt query, no text will result. If negative,
will truncate the list to that many (absolute value).
When in accumulate mode and the value is positive,
will only dispose of the text from the specific `file'
qualifier that caused the count to exceed the
threshold, not all text. Defaults to a very large
number. This qualifier is persistent.
- output_field
- Each geographic entity in a gelt has some
descriptive text associated with it, which is
broken into one or more fields delimited by
vertical bars. The value of the `output_field'
qualifier is the index of the field which is
the text returned for each geographic entity,
one based. Zero (the default) mean returns all
text regardless of field delimiters.
- item_format
- This value is a translation control string which
controls how each item from the gelt is reformatted.
The default is to do no reformatting. See next
main section for information about translation
control strings. This is really a more powerful
version of the `output_field' qualifier.
- sort_by
- This value is a translation control string which
controls how the individual items from the gelt are
sorted before being used. If blank, then no sorting
occurs, which is the default behavior. See next
main section for information about translation
control strings. This qualifier is persistent.
- stratify_by
- This value is a translation control string which
controls one manner by which the individual items
from the gelt are grouped before being used. Items
for which the result of the translation are the same
are considered to be in the same group. For each
group, it is as if a separate substitution entry was
present, with the formating and application of
lead/trail qualifiers occuring independently.
If blank, then no stratification occurs, which is the
default behavior. This qualifier is persistent.
- group_by
- This value is a translation control string which
controls yet another manner by which the individual items
from the gelt are grouped before being used. This manner
of grouping responds to the sort_by qualifier.
Consecutive items that have the same result of the
group_by translation are in the same group. These
groups do not respond as if each were from a separate
substitution entry. An item's position in a group
can be acted on by the item_format translation control
string. If blank, all items are in the same group,
which is the default behavior. This qualifier is
persistent.
- in_group
- If positive, and more than this many items in any group
result from the gelt query, no text will be returned.
If negative, will truncate each group to that many items
(absolute value). When in accumulate mode and the
value is positive, will only dispose of the text from
the specific `file' qualifier that caused the maximum
group size to exceed the threshold, not all text.
Defaults to a very large number. This qualifier is
persistent.
- max_groups
- If positive, and more than this many groups result
from the gelt query, no text will be returned. If
negative, will truncate the list to that many groups
(absolute value). When in accumulate mode and the
value is positive, will only dispose of the text from
the specific `file' qualifier that caused the group
count to exceed the threshold, not all text.
Defaults to a very large number. This qualifier is
persistent.
- unique_by
- The result of the translation control string in a
unique_by qualifier is the way in which items can be
marked as non-unique and be removed. If blank, then
it will not be used, which is the default behavior.
This qualifier is persistent.
- delta
- Invokes a feature which causes a time, distance, and
bearing to be assigned to each geographic entity, based
on when the weather event will be closest to that entity.
If a value is present, entities having a time associated
with them within that many minutes of the start time of
the warning will not be used. The time, distance and
bearing can be used by a translation control string.
This qualifier is persistent.
- interval
- If present, times assigned to geographic entities will
be rounded to this many minutes. This qualifier is
persistent.
- max_dist
- A point more than this far from the location of
the weather phenomena (in km) will not be referenced.
This qualifier is persistent.
- proximal
- Value is an additional phrase prepended to the
description of a single point if it happens to be
directly over some geographic entity. If a number,
then this is how close a weather event must be to
a location to be considered "OVER" it, in km.
This qualifier is persistent.
- portions
- If present, activates a feature which will provide
a plain language description of which portions of a
geographic entity fall within the area of interest.
A value, if present, represents the minimum size in
square km that an entity must be in order to be
described in this fashion, the default being zero.
- central
- If present, activates a feature which will allow
the use of the keyword "central" when describing a
portion of an area.
- extreme
- If present, activates a feature which will make use
of the keyword "extreme" when describing the
situation where only a very small portion of some
geographic entity falls within the area of interest.
- min_fraction
- Value is the minimum fraction of a geographic
entity which must fall within the area of interest
for that geographic entity to be included.
Default value is zero, so if this qualifier
is not included, then the feature is in effect
turned off.
- min_area
- Value is the minimum size in square km of a geographic
entity which must fall within the area of interest
for that geographic entity to be included.
Default value is zero, so if not this qualifier
is not included, then the feature is in effect
turned off.
- test_both
- When present, a portion of a geographic entity must
pass both tests to be included in the area of interest.
by default, it must only pass one test or the other.
- lead
- Value is a translation control string which will
provide text that will precede the text provided by
the gelt. First item from the gelt is input to
the translation control string to produce the result.
This qualifier is persistent.
- trail
- Value is a translation control string which will
provide text that will follow the text provided by
the gelt. Last item from the gelt is input to
the translation control string to produce the result.
This qualifier is persistent.
- include_field
- It is possible to only include those geographic
entities for which a certain text fragment occurs
in a certain field; the value of this qualifier
is the index of that field. This index affects
the next `include_text' qualifier that occurs.
The default is 0, which causes all fields to be
checked.
- include_text
- Text to look for in the field pointed to by
value of the last `include_field' qualifier.
The occurence of the `include_text' qualifier
is what actually activates this feature. Multiple
occurences of the `include_text' qualifier for
a single `file' qualifier will result in multiple
checks for text that must be present in an entity.
The default behavior is for no include checks to
occur. The effect of this qualifier never carries
over between `file' qualifiers.
- exclude_field
- It is possible to exclude those geographic entities
for which a certain text fragment occurs in
a certain field; the value of this qualifier is the
index of that field. This index affects the next
`exclude_text' qualifier that occurs. The default
is 0, which causes all fields to be checked.
- exclude_text
- Text to look for in the field pointed to by
value of the last `exclude_field' qualifier. The
occurence of the `exclude_text' qualifier is what
actually activates this feature. Multiple
occurences of the `exclude_text' qualifier for a
single `file' qualifier will result in multiple
checks for text that must not be present in an
entity. The default behavior is for no exclude
checks to occur. The effect of this qualifier never
carries over between `file' qualifiers.
- no_same
- If present, will not generate any text if the last
time a gelt based substitution was used the exact same
text was generated.
- cross
- This allows an additional table to be used to add to
information to individual item descriptions. In the cross
reference table, the description is of the centroid of
the entity found in the main table in the `file' qualifier.
See the description of translation control strings for
information about how to use the information from a
cross reference table in an item description.
- used
- This qualifier allow one to exclude geographic entities that
were previously used to generate text in some other instance
of an AREA or WX substitution. There are three main values
for this qualifier; `clear', which means empty out the list
of previously used entities, `accumulate', which means add
entities from this substitution to the list, and `avoid',
which means do not generate text for those entities in the
list. There are also two hybridv alues for this qualifier;
`begin', which means clear then accumulate, and `implement'
which means avoid thean clear.
- var
- Value is the name of a variable that has assigned to
it the text produced here.
- WX
- This substitution causes text to be generated describing the
location of the weather event for which the wwa is being
generated. This substitution makes use of a gelt.
- file
- Value is the name of a gelt file, minus the file
suffix. One can use unix environment variables within
the file name. There can be several `file' qualifiers
in one `WWA' substitution. All qualifiers up to the next
`file' qualifier modify that `file' qualifier. The
code will process each `file' qualifier in order until
the required minimum number of weather points have
been identified. When two consecutive file qualifiers refer
to the same file, the values of other qualifiers will be
preserved. They will often revert to defaults when
a new file is introduced. If this is not true, then
this will be noted and that qualifier will be refered to
as persistent.
- area
- This qualifier defines the area of interest that this
gelt file will try to provide a description for.
If the value is `WWA' then the base polygon of the wwa is
used to define the area of interest. If the value is
some other gelt file, then whatever area is currently
held within that gelt is used as the area of interest.
This is useful for imposing consistency between
different gelts that might otherwise react differently
to filtering because they have different types of
geographic entities. If this qualifier is not present,
whatever area is currently held within that gelt is
used, unchangeded. The first time a gelt file is
refered to within a template, this qualifier needs to
be present.
- format
- Value is either `list', `line', or `none', of
which `line' is the default. `list' will cause
a description of the locations of weather events
to be presented as an elipses delimited list.
`line' will cause a list of weather locations to
be described as a line spanning these locations.
`none' will result in no text being generated.
This qualifier is persistent.
- multiple
- If the value is "yes", then the substitution will
only produce text if more that one point is being
used to describe the weather event. If the value is
"no", then the substitution will only produce text
if only one point is being used to describe the weather
event. Any other value invokes the default behavior,
which is to allow any number of points. This qualifier
is persistent.
- output_field
- Each geographic entity in a gelt has some
descriptive text associated with it, which is
broken into one or more fields delimited by
vertical bars. The value of the `output_field'
qualifier is the index of the field which is
the text returned for each geographic entity,
one based. Zero mean returns all text regardless
of field delimiters. This qualifier is persistent.
- item_format
- This value is a translation control string which
controls how each item from the gelt is reformatted.
The default is to do no reformatting. See next
main section for information about translation
control strings. This is really a more powerful
version of the `output_field' qualifier. This
qualifier is persistent.
- portions
- If present, activates a feature which will provide
a plain language description of which portions of a
geographic entity fall within the area of interest.
A value, if present, represents the minimum size in
square km that an entity must be in order to be
described in this fashion, the default being zero.
- extreme
- If present, activates a feature which will make use
of the keyword "extreme" when describing the
situation where a point falls very near the boundary
of some geographic entity.
- min_fraction
- Value is the minimum fraction of a geographic
entity which must fall within the area of interest
for that geographic entity to be included.
Default value is zero, so if not this qualifier
is not included, then the feature is in effect
turned off.
- min_area
- Value is the minimum size in square km of a geographic
entity which must fall within the area of interest
for that geographic entity to be included.
Default value is zero, so if not this qualifier
is not included, then the feature is in effect
turned off.
- test_both
- When present, a portion of a geographic entity must
pass both tests to be included in the area of interest.
by default, it must only pass one test or the other.
- lead
- Value is a translation control string which will
provide text that will precede the text provided by
the gelt. First item from the gelt is input to
the translation control string to produce the result.
This qualifier is persistent.
- trail
- Value is a translation control string which will
provide text that will follow the text provided by
the gelt. First item from the gelt is input to
the translation control string to produce the result.
This qualifier is persistent.
- include_field
- It is possible to only include those geographic
entities for which a certain text fragment occurs
in a certain field; the value of this qualifier
is the index of that field. This index affects
the next `include_text' qualifier that occurs.
The default is 0, which causes all fields to be
checked.
- include_text
- Text to look for in the field pointed to by
value of the last `include_field' qualifier.
The occurence of the `include_text' qualifier
is what actually activates this feature. Multiple
occurences of the `include_text' qualifier for
a single `file' qualifier will result in multiple
checks for text that must be present in an entity.
The default behavior is for no include checks to
occur. The effect of this qualifier never carries
over between `file' qualifiers.
- exclude_field
- It is possible to exclude those geographic entities
for which a certain text fragment occurs in
a certain field; the value of this qualifier is the
index of that field. This index affects the next
`exclude_text' qualifier that occurs. The default
is 0, which causes all fields to be checked.
- exclude_text
- Text to look for in the field pointed to by
value of the last `exclude_field' qualifier. The
occurence of the `exclude_text' qualifier is what
actually activates this feature. Multiple
occurences of the `exclude_text' qualifier for a
single `file' qualifier will result in multiple
checks for text that must not be present in an
entity. The default behavior is for no exclude
checks to occur. The effect of this qualifier never
carries over between `file' qualifiers.
- filter
- If present, activates behavior where no item in a gelt
can be refered to unless it is identified as being at
least partially within the area currently held by the
gelt.
- no_same
- If present, will not generate any text if the last
time a gelt based substitution was used the exact same
location description was generated.
- proximal
- Value is an additional phrase prepended to the
description of a single point if it happens to be
directly over some geographic entity. If a number,
then this is how close a weather event must be to
a location to be considered "OVER" it, in km.
This qualifier is persistent.
- max_dist
- A point more than this far from the location of
the weather phenomena will not be referenced.
This qualifier is persistent.
- interval
- If present, a reported time for the weather event is
rounded to this many minutes. This qualifier is
persistent.
- delta
- Normally, a `WX' substitution will describe the location
of the weather event as it was identified on the last
frame with the storm marker. If the `delta' qualifier
is present, then this substitution will describe the
projected location of the weather event that many
minutes in the future. This substitution will not
generate text if the resulting time is not within
the valid period of the wwa.
- used
- This qualifier allows one to exclude geographic entities that
were previously used to generate text in some other instance
of an AREA or WX substitution. There are three main values
for this qualifier; `clear', which means empty out the list
of previously used entities, `accumulate', which means add
entities from this substitution to the list, and `avoid',
which means do not generate text for those entities in the
list. There are also two hybrid values for this qualifier;
`begin', which means clear then accumulate, and `implement'
which means avoid thean clear.
- var
- Value is the name of a variable that has assigned to
it the text produced here.
This section describes how translation control strings work.
As mentioned before, each piece of text found in the *.id file
of a gelt is broken up into fields by vertical bars. A translation
control string allows the user to intermingle literal text, untranslated
text straight from one of the fields of an item of gelt text, or
an item of gelt text that is translated somehow.
Here is an example of a translation control string:
ABC [1]DEF[2,tuv] HIJ [xyz]
The result of this translation control string will be the literal
text "ABC ", followed by the contents of field one, followed by the
literal text "DEF", followed by the contents of field 2 acted on by
the translation type `tuv', followed by the literal text " HIJ ",
followed by the result of translation type `xyz' acting on the whole
gelt item. A field index of 99 is treated the same as literal text.
There are several numbers that can be added to the field index that
will allow additional flexibility in formatting. Adding 50 to the
field index will cause the formatting code to try to get a field from cross
reference text. This will only work if a `cross' qualifier is present with
the table from which one is generating text. 50 means all text from the
cross reference table, 51 means field one from the cross reference table,
etc.
The other numbers that can be added to field indices control whether text
is generated based on an item's position in a group. Adding 1000 means
show this text only if the items current group has exactly one item. Adding
2000 means show this text only if the items current group has more than
one item. Adding 3000 means show this text only if there is just one
weather point. Adding 6000 means show this text only if there is more
than one weather point.
Group positions are refered to as front, back, and mid, refering to
the first, last, and anything not first or last, respectively.
Additionaly, start and end refer to the first and last in the entire
lists of items. These are the numbers that can be added to a field
index to refer to the various positions in a group:
100 - start or front
200 - start
300 - front
400 - mid
500 - back
600 - end
700 - back or end
If one of these numbers is added to the field index then the item must
be in that position in the group for that text to be shown. If the
field index is made negative, then the item must not be in that
position in the group for that text to be shown.
Here is a list of the recognized translation types. For some of them,
the text of the gelt item is not actually used.
- state
- This translation attempts to convert an upper case postal
abbreviation into a state name. The data for this translation
is in the file nationalData/state.abrev.
- area
- This translation attempts to convert a lower case abbreviation
of an area of a state into plain language, such as `ne' to
`NORTHEAST'. The data for this translation is in the file
nationalData/areas.abrev.
- county_type
- This translation attempts to identify the state in
question and provide the proper nomenclature for counties or
county equivalents (i.e. PARISH). The data for this
translation is in the file nationalData/county_type.abrev.
- counties_type
- Same as `county_type' translation except that it will
return plural if the number of items returned from the
gelt query is more than one.
- area_state
- This translation combines the results of the `state'
and `area' translation and attempts to provide text such
as `NORTHEAST TEXAS'.
- county_area_state
- This translation combines the results of the `state'
`area', and `county_type' translation and attempts to
provide text such as `BACA COUNTY IN SOUTHEAST COLORADO'.
- clock
- Provides a clock format description of the local time. Uses the
beginning of the wwa for the `AREA' substitution, uses the time
of the weather event for a `WX' substitution. This translation
type does not use the text of the gelt item.
- plain
- Just like a `clock' translation type except it provides a plain
language description of the date and time.
- header
- Just like a `clock' translation type except it provides a
header format description of the date and time.
- ddhhmm
- Provides a ddhhmm format description of the gmt time. Uses the
beginning of the warning for the `AREA' substitution, uses the time
of the weather event for a `WX' substitution. This translation
type does not use the text of the gelt item.
- count
- Returns an ascii representation of the count of the number of
items returned from a gelt query.
- gcnt
- Returns an ascii representation of the count of the number of
items in a group.
- index
- Returns an ascii representation of the gelt table index of an
item. Really only useful in a `sort_by', `group_by' or `unique_by'
qualifier.
- -index
- Returns an ascii representation of the negative of a gelt
table index of an item. Really only useful in a `sort_by' qualifier.
- gidx
- Returns an ascii representation of the position in its group for
an item.
- itime
- Returns an ascii representation of the unix time associated
with an item. Really only useful in a `sort_by', `group_by' or
`unique_by' qualifier.
- -itime
- Returns an ascii representation of the negative of the unix
time associated with an item. Really only useful in a `sort_by'
qualifier.
- size
- Returns an ascii representation of the size in hectares of an
entity (to the resolution of the gelt grid). Really only useful in a
`sort_by' qualifier.
- -size
- Returns an ascii representation of the negative of the size in
hectares of an entity. Really only useful in a `sort_by' qualifier.
- table
- Returns an ascii representation of the order of the `file'
qualifier in use within the substitution. Only useful if in accumulate
mode and for a `sort_by', `group_by' or `unique_by' qualifier.
- -table
- Returns an ascii representation of the negative of the order
of the `file' qualifier in use within the substitution. Only useful
if in accumulate mode and for a `sort_by' qualifier.
- dist
- Returns an ascii representation of the distance from weather
event in tenths of km. Really only useful for a `sort_by',
`group_by' or `unique_by' qualifier.
- -dist
- Returns an ascii representation of the distance from weather
event in tenths of km. Really only useful for a `sort_by'
qualifier.
- azran
- Adds description of distance and bearing in miles and degrees
meteorological from an entity to the weather event. For zero
distance will add proximity descriptor.
- azrn0
- Adds description of distance and bearing only if distance is
greater than zero.
- azrn1
- Adds description of distance and bearing. Uses proximity
descriptor if distance is zero; strips portion of area descriptor
otherwise.
- azrn2
- Adds description of distance and bearing only if distance is
greater than zero; strips portion of area descriptor.
- azrn3
- Describes distance and bearing; uses proximity descriptor if
distance is zero.
- azrn4
- Describes distance and bearing only if distance is greater than
zero.
- county_count
- Returns an ascii representation of the count of the
number of items returned from a gelt query, followed by the same
output one would get from the `counties_type' translation.
- alpha
- Removes all non-alphabetic characters.
- S
- Blank if the item count is less than two, otherwise returns "S".
- s
- Blank if the item count is less than two, otherwise returns "s".
Author: Jim Ramer
Last update: Nov 98