# # Copyright(c) 1997, Space Science and Engineering Center, UW-Madison # Refer to "McIDAS Software Acquisition and Distribution Policies" # in the file mcidas/data/license.txt # # $Id: SFCPLOT.CORE,v 1.25 2004/04/27 17:04:04 scottl Rel $ # SFCPLOT.CORE contains functional and display defaults used by SFCPLOT #Default Parameter Name: PARAMETER NAME=PLOT #Switches: Control funtions within SFCPLOT # MCCMDKEY= ON | Keyword Checking is ON # OFF | No keyword checking SWITCH MCCMDKEY=ON #Predefined Dataset(s) # These entries define the keys associated with predefined dataset(s) # TYPES= | types of datasets that have "generic" to dataset specfic # name conversion. A DEFINITION may include keys which are # the dataset names. These keys allow the user to "map" the # parameter name to a dataset specific name. DATASET TYPES=ISFC SVCA SYN ISHP #Keywords: (passed via context table and command line) # COLOR= | graphics color level # DATASET= | point dataset name and position; specify as alias.position # or group/descriptor.position where position is a positive # integer (absolute position), 0 or a negative integer # (relative position), or ALL # DECLUT=YES | declutter the plot, meaning do not plot overlapping # values # =NO | do not declutter the plot # GRA= | graphic frame number to display output # LSIZE= | plot height, in pixels, of specified parameter # NAV= | frame to use for navigation; specify frame number or C for # current frame (def=C); you cannot use NAV keyword if anything # other than the default value is used in the 'map' parameter # UNIT= | units for specified parameter; see param table in Remarks for # defaults; run CU LIST to list valid units and abbreviations for # all params except PLOT, which accepts only A (for American) or # M (for metric), def=A # # History: 20000601 - Changed LSIZE=8 to LSIZE=6 # 20000602 - Removed COLOR=3 to allow auto select of plot color # was -- KEYWORDS COLOR=3 \ # DATASET=RTPTSRC/SFCHOURLY \ # OFFSET='0 0' KEYWORDS DATASET=RTPTSRC/SFCHOURLY \ LSIZE=6 \ OFFSET='0 0' #Variables: (only passed via the context table) # These entries are controls for variables within the SFCPLOT macro. # They will effect the display by altering the way in which the source # code examines and/or requests the data. Some are passed directly from # the macro to the underlaying applications. Others directly effect the # macro itself. # # The values specified here act as the default values for all the # parameter definitions listed below. If a parameter requires a different # variable setting, the variable may be specified within the definition # of the variable. # # INTERVAL = | data ingest time interval in minutes from last obs # FORMAT= | display format (FORTRAN syntax) # MATH= | math expression used to compute a variable; see definition of RH # below for an example # MULTIPLY= | Multiplicative factor to apply to data values # NFILTER= | Number of filter passes through a dataset; filters are specified # using Source Globals attached to individual parameters # OFFSET=line elem | TV line and element offset relative to obs location # (0 0= data plotted at observation location) # OBS= | observation types include # 'HRLY' for SFC HOURLY observations # 'SP1' for SFC 1st SPECIAL observations # 'SP2' for SFC Latest SPECIAL observations # 'ALL' for all above types # START= | daily initial observation time in minutes from 0 GMT VARIABLES INTERVAL=60 \ MULTIPLY=1.0 \ START=0 #Source Globals: (only passed via the context table) # Source Globals are variables assigned by specific data types. These # entries act to extend or modify the common way of accessing a # parameter from a particular data type (eg. schema). # # The values specified here act as the default values for all the # parameter definitions listed below. If a parameter requires a different # global setting, the global may be specified within the definition # of the variable. # GLOBALS ISFC_SELECT='TYPE 0' #Definitions # These entries define the parameter specific deviations from the default # entries listed above. They list keyword, variable and global entries that # control the appearance, selection and usage for all the parameters that # are valid for the calling macro. # # NOTES: # - use "na" to signify that a parameter is NOT AVAILABLE for a given data type # For example: SYN=na --> parameter is not available with synoptic data type. # # History: 20000602 - Defined WINDB LSIZE= 10 ID FORMAT=A8 OFFSET='0 0 -4 16' \ ISFC=ID SVCA=ID SYN=ID ISHP='IDA IDB' ZS UNIT=FT FORMAT=I5 \ ISFC=ZS SVCA=ZS SYN=ZS ISHP=na ELEV UNIT=FT FORMAT=I5 \ ISFC=ZS SVCA=ZS SYN=ZS ISHP=na HMS FORMAT=I6 \ ISFC=HMS SVCA=HMS SYN=na ISHP=na OBTIME FORMAT=I6 \ ISFC=HMS SVCA=HMS SYN=na ISHP=na WX FORMAT=A8 \ ISFC='WX1 WX2' SVCA='WX1 WX2' SYN='WX1 WX2' ISHP=WXP WX1 ISFC=WX1 SVCA=WX1 SYN=WX1 ISHP=WXP WX2 ISFC=WX2 SVCA=WX2 SYN=WX2 ISHP=na WXS FORMAT='SYMB SYMB' OFFSET='0 -4 0 8' \ ISFC='WX1 WX2' SVCA='WX1 WX2' SYN='WX1 WX2' ISHP='WXP' T UNIT=F FORMAT=I4 TD UNIT=F FORMAT=I4 DIR SPD UNIT=KTS FORMAT=I3 GUS UNIT=KTS FORMAT=I3 WINDB UNIT=KTS FORMAT=FLAG LOC=+ LSIZE=10 \ ISFC=WIND SVCA=WIND SYN=WIND ISHP=WIND WINDV UNIT=KTS FORMAT=VECT \ ISFC=WIND SVCA=WIND SYN=WIND ISHP=WIND PALT UNIT=MB FORMAT=F6.1 \ ISFC=PSL SVCA=PSL SYN=na ISHP=na ALTIM UNIT=MB FORMAT=I4\ ISFC=PSL SVCA=PSL SYN=na ISHP=na PST UNIT=MB FORMAT=F6.1 \ ISFC=na SVCA=na SYN=PST ISHP=na PMSL UNIT=MB FORMAT=I4\ ISFC=PRE SVCA=na SYN=PSL ISHP=PSL VIS UNIT=MI FORMAT=F5.1 PCP UNIT=IN FORMAT=F5.2 INTERVAL=180 PCP3 UNIT=IN FORMAT=F5.2 INTERVAL=360 START=180 \ ISFC=PCP SVCA=PCP SYN=na ISHP=PCP PCP6 UNIT=IN FORMAT=F5.2 INTERVAL=360 \ ISFC=PCP SVCA=PCP SYN=na ISHP=na PCP24 UNIT=IN FORMAT=F5.2 INTERVAL=1440 START=720 \ ISFC=P24 SVCA=na SYN=na ISHP=na SNO UNIT=IN FORMAT=I3 INTERVAL=360 \ ISHP=na CAC FORMAT=I1 \ ISFC=CIGC SVCA=CCL SYN=na ISHP=na CA1 FORMAT=I1 \ ISFC=CC1 SVCA=CCM SYN=na ISHP=na CA2 FORMAT=I1 \ ISFC=CC2 SVCA=CCH SYN=na ISHP=na CZC UNIT=FT FORMAT=I5 \ ISFC=CIGH SVCA=ZCL SYN=na ISHP=na CZ1 UNIT=FT FORMAT=I5 \ ISFC=ZCL1 SVCA=ZCM SYN=na ISHP=na CZ2 UNIT=FT FORMAT=I5 \ ISFC=ZCL2 SVCA=ZCH SYN=na ISHP=na OBS UNIT=' ' COLOR=0 LSIZE=0 DECLUT=NO LOC=. TITLE=X 3 \ ISFC=DAY SVCA=DAY SYN=DAY ISHP=DAY PRE UNIT=MB FORMAT=F6.1 \ ISFC=PRE SVCA=na SYN=na ISHP=na PSL UNIT=MB FORMAT=F6.1 \ ISFC=PSL SVCA=PSL SYN=na ISHP=na CIGC FORMAT=I1 \ ISFC=CIGC SVCA=CCL SYN=na ISHP=na CC1 FORMAT=I1 \ ISFC=CC1 SVCA=CCM SYN=na ISHP=na CC2 FORMAT=I1 \ ISFC=CC2 SVCA=CCH SYN=na ISHP=na CIGH UNIT=FT FORMAT=I5 \ ISFC=CIGH SVCA=ZCL SYN=na ISHP=na ZCL1 UNIT=FT FORMAT=I5 \ ISFC=ZCL1 SVCA=ZCM SYN=na ISHP=na ZCL2 UNIT=FT FORMAT=I5 \ ISFC=ZCL2 SVCA=ZCH SYN=na ISHP=na CCL FORMAT=I1 \ ISFC=na SVCA=CCL SYN=na ISHP=na CCM FORMAT=I1 \ ISFC=na SVCA=CCM SYN=na ISHP=na CCH FORMAT=I1 \ ISFC=na SVCA=CCH SYN=na ISHP=na ZCL UNIT=FT FORMAT=I5 \ ISFC=na SVCA=ZCL SYN=na ISHP=na ZCM UNIT=FT FORMAT=I5 \ ISFC=na SVCA=ZCM SYN=na ISHP=na ZCH UNIT=FT FORMAT=I5 \ ISFC=na SVCA=ZCH SYN=na ISHP=na # EXAMPLE of a COMPOSITE PARAMETERs. Composite parameters are a # collection of individual parameters which are bundled together # using multiple OFFSET and FORMAT keys to from a grouping # around a central location (observation location). PLOT, # WIND and SKY are three different examples of composite # parameters. # # History: 20000601 - Changed wind barb size from 8 to 9 for PLOT # Changed WIND size and positioning from 8 to 6 # Changed SKY size and positioning from 8 to 6 # # 20061202 - Added PLOTSYM definition to plot weather # symbols instead of textual weather PLOT UNIT=AMERICAN METRIC \ AMERICAN='F F X MB KTS' METRIC='C C X MB KTS' \ COLOR='2 2 3 3 4 3 2' \ FORMAT='I3 I3 X K3 FLAG X I1' \ LSIZE='6 6 6 6 9 5 6' \ MULTIPLY='1 1 1 10' \ OFFSET='-8 -12 8 -12 X -20 -8 5 X X 8 5 X 14' \ LOC=+ \ TITLE=X 3 \ FONT=' '\ ISFC='T TD WX1 PSL WIND ID CIGC' \ SVCA='T TD WX1 PSL WIND ID CCL' \ SYN= na \ ISHP=na PLOTWXS UNIT=AMERICAN METRIC \ AMERICAN='F F X X MB KTS' \ METRIC='C C X X MB KTS' \ COLOR='2 2 3 3 3 4 3 2' \ FORMAT='I3 I3 SYMB SYMB K3 FLAG X I1' \ LSIZE='6 6 6 6 6 9 5 6' \ MULTIPLY='1 1 1 1 10' \ OFFSET='-8 -12 8 -12 0 -8 0 -20 -8 5 X X 8 5 X 14' \ LOC=+ \ TITLE=X 3 \ FONT=' '\ ISFC='T TD WX1 WX2 PSL WIND ID CIGC' \ SVCA='T TD WX1 WX2 PSL WIND ID CCL' \ SYN= na \ ISHP=na WIND UNIT=DDFF DDFF='X KTS'\ COLOR='3 2' \ FORMAT='K2 K2' \ LSIZE='6 6' \ MULTIPLY=.10 \ OFFSET='-4 -6 -4 6' \ ISFC='DIR SPD' \ SVCA='DIR SPD' \ SYN= 'DIR SPD' \ ISHP='DIR SPD' SKY UNIT=C12 C12='X X X'\ COLOR='3 2 4' \ FORMAT='K1 K1 K1' \ LSIZE='6 6 6' \ OFFSET='-4 -6 -4 0 -4 6' \ ISFC='CIGC CC1 CC2' \ SVCA='CCL CCM CCH' \ SYN= na\ ISHP=na # EXAMPLE of PARAMETER TYPES: the following definitions illustrate # how parameter names can be extended using the PTYPE keyword. Some # parameters may have different instances of the same basic format. By # supplying a parameter definition name in the form: (name).(type) # the user can define instances of any basic parameter. In the example # below the PLOT parameter is extended to two different types. The # .ALTIM type is a station model in which the pressure part of the # model reports the altimeter setting, while the PMSL type reports # pressure as the Sea Level Pressure. Note that the ALTIM version of # PLOT is only valid for ISFC and SVCA data types since the altimeter # setting is not contained in the SYN or ISHP data types. Also note # that the definition for PLOT (above) is identical to the PLOT.PMSL # definition. To invoke a particular parameter type the user enters # the parameter name with the PTYPE=type keyword. PLOT.PMSL UNIT=AMERICAN METRIC \ AMERICAN='F F X MB KTS' METRIC='C C X MB KTS' \ COLOR='2 2 3 3 4 3' \ FORMAT='I3 I3 X K3 FLAG' \ LSIZE='6 6 6 6 8 5' \ MULTIPLY='1 1 1 10' \ OFFSET='-8 -15 8 -15 X -20 -8 8 X X 8 8' \ LOC=+ \ TITLE=X 3 \ FONT=' '\ ISFC='T TD WX1 PRE WIND ID ' \ SVCA='T TD WX1 PRE WIND ID ' \ SYN= 'T TD WX1 PSL WIND ID ' \ ISHP='T TD WXP PSL WIND IDA' PLOT.ALTIM UNIT=AMERICAN METRIC \ AMERICAN='F F X MB KTS' METRIC='C C X MB KTS' \ COLOR='2 2 3 3 4 3 2' \ FORMAT='I3 I3 X K3 FLAG X I1' \ LSIZE='6 6 6 6 8 5 6' \ MULTIPLY='1 1 1 10' \ OFFSET='-8 -12 8 -12 X -20 -8 5 X X 8 5 X 14' \ LOC=+ \ TITLE=X 3 \ FONT=' '\ ISFC='T TD WX1 PSL WIND ID CIGC' \ SVCA='T TD WX1 PSL WIND ID CCL' \ SYN= na \ ISHP=na # EXAMPLE of DATA FILTERING. In this context the term filter # refers to a set of source specific SELECTION and FORMATING # strings which are used. # # In this example, the display of weather code symbols is illustrated. # Weather codes are generated by both human and automated observations. # The WMO has two versions of the weather code table used to describe # present weather based on the source type (STYP) of the observation. The format # WXCM signifies the code table for Manned stations and the format WXCA # signifies an Automated station. The code tables assign the higher numbered # codes to "more significant" weather phenomenon (rain, thunder, hail ...) # and the lower codes for lesser weather events (fog, haze, ...). To avoid # situtations in which the decluttering algorithm would prevent the plotting # of significate weather events caused by a previous lower ordered event # occupying the display space, the data is filtered to display the higher # numbered codes (50 through 90) initially. A second pass through the data # is performed to display (where decluttering allows) any of the lower # numbered codes (0 through 49). The Past Weather Symbols (WPC) are also # filered by observation type, giving plotting preference to the human # observations over the automated stations. The past weather table is # significantly shorter than the present weather table. Only 10 (0-9) past # weather types are defined. Of these 10 types only types 3-9 are displayed # (wmo standard). WXC COLOR='3 2 4 5' \ LSIZE='12 12 12 12' \ NFILTER= 2 \ OFFSET='0 0 0 14 0 28 0 42' \ ISFC='WXC1 WXC2 WXC3 WXC4' \ ISFC_FILTERS=2 \ ISFC_SELECT='WXC1 50 90' 'WXC1 00 49' \ ISFC_FORMAT='WXCM WXCM WXCM WXCM' 'WXCM WXCM WXCM WXCM'\ SVCA=na \ SYN= 'WXC1' \ SYN_FILTERS=4 \ SYN_SELECT='STYP 1 3;WXC1 50 90' 'STYP 4 7;WXC1 50 90' \ 'STYP 1 3;WXC1 00 49' 'STYP 4 7;WXC1 00 49' \ SYN_FORMAT=WXCM WXCA WXCM WXCA \ ISHP=na WPC COLOR='3 2' \ LSIZE='12 12' \ OFFSET='0 0 0 14' \ ISFC=na \ SVCA=na \ SYN='WPC1 WPC2' \ SYN_FILTERS=2 \ SYN_SELECT='STYP 1 3;WPC1 3 9' 'STYP 4 7;WPC1 3 9' \ SYN_FORMAT='WPCM WPCM' 'WPCA WPCA' \ ISHP=na # EXAMPLE of DERIVED PARAMETERS. Derived parameters are values computed # from the stored raw data. Below is an example illustrating the definition # of the derived parameter RH (Relative Humidity). Note the use of the # keyword MATH=. The entry for MATH= defines the equation used to compute # the derive parameter. Variables within the equation are denoted by # Pnn, where nn is a number from 1 to 99. These variables are assigned # to raw data parameters by explicitly stating their data type linkage. # In this example there are 2 variables used to compute RH, Temperature # and Dew Point. For each of the data types listed (ISFC, SVCA, ...) the # variables (P1 and P2) are assigned to raw data parameters. RH UNIT=% \ FORMAT=I3 \ MATH='EXP(5423*(1/P1-1/P2))*100'\ ISFC='P1=T[K]' 'P2=TD[K]'\ SVCA='P1=T[K]' 'P2=TD[K]'\ SYN ='P1=T[K]' 'P2=TD[K]'\ ISHP='P1=T[K]' 'P2=TD[K]' # EXAMPLE of FUNCTION PARAMETERS. Function parameters perform complex # MATH operations using pre-defined operations from within the equation # analyzier. Currently Mixing Ratio (RMIX), Potential Temperature (THETA) # Equivalent Potential Temperature (THETAE), Station Pressure (STNPRE) # and Wind Chill (CHILL) are supported. MIX UNIT=G/KG \ FORMAT=F5.2 \ MATH='RMIX(P3,(STNPREA(P1,P2)))'\ ISFC='P1=PSL[HPA]' 'P2=ZS[M]' 'P3=TD[K]'\ SVCA=na \ SYN=na \ ISHP=na MIX.PMSL UNIT=G/KG \ FORMAT=F5.2 \ MATH='RMIX(P3,(STNPRE(P1,P2,P4)))'\ ISFC='P1=PRE[HPA]' 'P2=ZS[M]' 'P3=TD[K]' 'P4=T[K]'\ SVCA=na \ SYN= 'P1=PSL[HPA]' 'P2=ZS[M]' 'P3=TD[K]' 'P4=T[K]'\ ISHP=na MIX.ALTIM UNIT=G/KG \ FORMAT=F5.2 \ MATH='RMIX(P3,(STNPREA(P1,P2)))'\ ISFC='P1=PSL[HPA]' 'P2=ZS[M]' 'P3=TD[K]' \ SVCA=na \ SYN= na \ ISHP=na MIX.PST UNIT=G/KG \ FORMAT=F5.2 \ MATH='RMIX(P2,P1)'\ ISFC=na SVCA=na \ SYN= 'P1=PST[HPA]' 'P2=TD[K]' \ ISHP=na THA UNIT=K \ FORMAT=I4\ MATH='THETA(P3,(STNPREA(P1,P2)))'\ ISFC='P1=PSL[HPA]' 'P2=ZS[M]' 'P3=T[K]'\ SVCA=na \ SYN =na \ ISHP=na THA.PMSL UNIT=K \ FORMAT=I4\ MATH='THETA(P3,(STNPRE(P1,P2,P3)))'\ ISFC='P1=PRE[HPA]' 'P2=ZS[M]' 'P3=T[K]'\ SVCA=na \ SYN ='P1=PSL[HPA]' 'P2=ZS[M]' 'P3=T[K]'\ ISHP=na THA.ALTIM UNIT=K \ FORMAT=I4\ MATH='THETA(P3,(STNPREA(P1,P2)))'\ ISFC='P1=PSL[HPA]' 'P2=ZS[M]' 'P3=T[K]'\ SVCA=na \ SYN =na \ ISHP=na THA.PST UNIT=K \ FORMAT=I4\ MATH='THETA(P2,P1)'\ ISFC=na \ SVCA=na \ SYN ='P1=PST[HPA]' 'P2=T[K]'\ ISHP=na THAE UNIT=K \ FORMAT=I4 \ MATH='THETAE(P3,P4,(STNPREA(P1,P2)))'\ ISFC='P1=PSL[HPA]' 'P2=ZS[M]' 'P3=T[K]' 'P4=TD[K]'\ SVCA=na \ SYN =na \ ISHP=na THAE.PMSL UNIT=K \ FORMAT=I4 \ MATH='THETAE(P3,P4,(STNPRE(P1,P2,P3)))'\ ISFC='P1=PRE[HPA]' 'P2=ZS[M]' 'P3=T[K]' 'P4=TD[K]'\ SVCA=na \ SYN ='P1=PSL[HPA]' 'P2=ZS[M]' 'P3=T[K]' 'P4=TD[K]'\ ISHP=na THAE.ALTIM UNIT=K \ FORMAT=I4 \ MATH='THETAE(P3,P4,(STNPREA(P1,P2)))'\ ISFC='P1=PSL[HPA]' 'P2=ZS[M]' 'P3=T[K]' 'P4=TD[K]'\ SVCA=na \ SYN =na \ ISHP=na THAE.PST UNIT=K \ FORMAT=I4 \ MATH='THETAE(P3,P4,P1))'\ ISFC=na\ SVCA=na \ SYN ='P1=PST[HPA]' 'P3=T[K]' 'P4=TD[K]'\ ISHP=na PSTN UNIT=HPA \ FORMAT=I4 \ MATH='STNPREA(P1,P2)'\ ISFC='P1=PSL[HPA]' 'P2=ZS[M]'\ SVCA=na \ SYN=na \ ISHP=na PSTN.PMSL UNIT=HPA \ FORMAT=F6.1 \ MATH='STNPRE(P1,P2,P3)'\ ISFC='P1=PRE[HPA]' 'P2=ZS[M]' 'P3=T[K]' \ SVCA=na \ SYN= 'P1=PSL[HPA]' 'P2=ZS[M]' 'P3=T[K]' \ ISHP=na PSTN.ALTIM UNIT=HPA \ FORMAT=F6.1 \ MATH='STNPREA(P1,P2)'\ ISFC='P1=PSL[HPA]' 'P2=ZS[M]' \ SVCA=na \ SYN= na \ ISHP=na CHILL UNIT=F \ FORMAT=I4 \ MATH='CHILL(P1,P2)'\ ISFC='P1=T[F]' 'P2=SPD[MPS]'\ SVCA='P1=T[F]' 'P2=SPD[MPS]'\ SYN ='P1=T[F]' 'P2=SPD[MPS]'\ ISHP='P1=T[F]' 'P2=SPD[MPS]' \ AWS= 'P1=T[F]' 'P2=SPD[MPS]' CHILL.OLD UNIT=F \ FORMAT=I4 \ MATH='CHILLOLD(P1,P2)'\ ISFC='P1=T[F]' 'P2=SPD[MPS]'\ SVCA='P1=T[F]' 'P2=SPD[MPS]'\ SYN ='P1=T[F]' 'P2=SPD[MPS]'\ ISHP='P1=T[F]' 'P2=SPD[MPS]' \ AWS= 'P1=T[F]' 'P2=SPD[MPS]' HEAT UNIT=F \ FORMAT=I4 \ MATH='HEAT(P1,P2)'\ ISFC='P1=T[F]' 'P2=TD[F]'\ ISFC_SELECT='T[F] 80 105; TD[F] 55 105' \ SVCA='P1=T[F]' 'P2=TD[F]'\ SVCA_SELECT='T[F] 80 105; TD[F] 55 105' \ SYN ='P1=T[F]' 'P2=TD[F]'\ SYN_SELECT='T[F] 80 105; TD[F] 55 105' \ ISHP='P1=T[F]' 'P2=TD[F]' \ ISHP_SELECT='T[F] 80 105; TD[F] 55 105' \ AWS= 'P1=T[F]' 'P2=TD[F]' \ AWS_SELECT='T[F] 80 105; TD[F] 55 105' # EXAMPLE of a TIME DIFFERENCE within a MATH operation. Notice the # use of the place holder '(NOW)' which signifies the current DAY and # TIME within the parameter strings. In the example below, a temperture # difference between the current day/time and 3 hours previous is computed. # Also notice the use of the curlly brackets, which denote the select clause # associated with the parameter. TDIF UNIT=F \ FORMAT=I3 \ MATH='P1-P2' \ ISFC='P1=T[F] {TIME (NOW);DAY (NOW)}' 'P2=T[F] {TIME (NOW-3);DAY (NOW-3)}'\ SVCA='na'\ SYN= 'P1=T[F] {TIME (NOW);DAY (NOW)}' 'P2=T[F] {TIME (NOW-3);DAY (NOW-3)}'\ ISHP='P1=T[F] {TIME (NOW);DAY (NOW)}' 'P2=T[F] {TIME (NOW-3);DAY (NOW-3)}'