ncl_conpack_params man page

Conpack_params — This document briefly describes all Conpack internal parameters.

Description

Parameter descriptions follow, in alphabetical order. Each  description begins with a line giving the three-character  mnemonic name of the parameter, the phrase for which the  mnemonic stands, the intrinsic type of the parameter, and  an indication of whether or not it is an array.

'AIA' - Area Identifier Above - Integer Array

Each element of the parameter array 'AIA' is an area  identifier for the area above the contour level specified  by the corresponding element of the parameter array 'CLV'.  The corresponding element of the parameter array 'AIB' is  an area identifier for the area below that level. If, for a  particular contour level, both 'AIA' and 'AIB' are zero,  that level is ignored by the routine CPCLAM; otherwise,  contour lines at that level are added to the area map and  the given values of 'AIA' and 'AIB' are used as right and left area identifiers, respectively.  (Note that contour lines are traced with greater values to the right and lesser values to the left.)

There are three special elements in the parameter array  'AIA', corresponding to 'PAI' values of -1, -2, and -3; the  first specifies an area identifier for the area outside the  edge of the grid, the second an area identifier for any  area filled with special values, and the third an area  identifier for any area in which the mapping routine CPMPXY  returns the "out of range" value 'ORV'.

If contour levels are chosen automatically, rather than  being supplied by the user, the value supplied for the Ith  element of 'AIA' is I+1 and the value supplied for the Ith  element of 'AIB' is I.

The default value of element "-1" of 'AIA' is 0 and the  default values of elements "-2" and "-3" are -1's.

'AIB' - Area Identifier Below - Integer Array

See the description of 'AIA', above.

'CAF' - Cell Array Flag - Integer

The parameter 'CAF' determines the way in which the routine  CPCICA (which is called to store color indices in a user  cell array), gets from an area identifier associated with a  particular cell to a color index for that cell. Let IAID be  the area identifier that is associated with a given cell.  Then:

  • If 'CAF' is negative, the routine CPSCAE is called. The  default version of CPSCAE behaves as follows: if the value  of IAID is greater than or equal to zero, it itself is  stored in the cell array as a color index; otherwise, the  cell array is unchanged. A user version of CPSCAE may be  supplied to do something more complicated; since the value  of 'CAF' is one of the arguments of CPSCAE, its value may  be used to select one of a number of color-setting schemes  built into the routine.
  • If 'CAF' is positive, the value "'CAF'+IAID" is computed.  If that value is positive, it is stored in the cell array  as a color index; otherwise, the cell array is unchanged.  In this case, 'CAF' acts as an offset, mapping the area  identifiers to a unique portion of the color table.

The default value of 'CAF' is 0.

'CFA' - Constant-Field Label Angle - Real

The parameter 'CFA' specifies the angle (in degrees  counterclockwise from a vector pointing to the right) at  which a constant-field label is to be written.

The default value of 'CFA' is 0.

'CFB' - Constant-Field Label Box Flag - Integer

If 'CFB' is zero, the constant-field label will not be  boxed at all. The value 1 implies that the perimeter of the  box is to be drawn (in the same color as the label) after  the label is drawn. The value 2 implies that the box is to  be filled (in the color specified by 'LBC') before the  label is drawn. The value 3 implies both of the above.

The default value of 'CFB' is 0.

'CFC' - Constant-Field Label Color Index - Integer

If 'CFC' is less than zero, the constant-field label and  the box, if any, around it, will be drawn in the color  specified by the current text color index; if 'CFC' is  greater than or equal to zero, then it specifies the  desired color index for the label and the box. If a box is  drawn around the label, it is made the same color as the  label itself.

The default value of 'CFC' is -1.

'CFF' - Constant-Field-Found Flag - Integer

The parameter 'CFF' may not be set by the user; its  retrieved value will be non-zero if and only if CPRECT,  CPSPS1, or CPSPS2 detected a constant field.

The default value of 'CFF' (prior to any call to CPRECT,  CPSPS1, or CPSPS2) is zero.

'CFL' - Constant-Field Label Line Width - Real

If 'CFL' is less than or equal to zero, line width will not  be set before drawing a box around the constant-field  label. If 'CFL' is greater than zero, it specifies the  desired width, as a multiple of the "normal" line width.

The default value of 'CFL' is 0.

'CFP' - Constant-Field Label Positioning Flag - Integer

The parameter 'CFP' says how the constant-field label is to  be positioned. There are nine possible values, each of  which specifies a point of the label box which is to lie on  the point defined by 'CFX' and 'CFY': the value -4 implies  the lower left-hand corner of the label box, -3 implies the  center of the bottom of the box, -2 the lower right-hand  corner of the box, -1 the center of the left edge of the  box, 0 the center of the box, +1 the center of the right  edge of the box, +2 the upper left-hand corner of the box,  +3 the center of the top edge of the box, and +4 the upper  right-hand corner of the box. Left, right, bottom, and top  are defined from the viewpoint of someone viewing the label  right-side up.

The default value of 'CFP' is 0, so the constant-field  label will be centered on the point whose coordinates are  'CFX' and 'CFY'.

'CFS' - Constant-Field Label Size - Real

The parameter 'CFS' specifies the nominal size (width) of a  character in the constant-field label, as a fraction of the  width of the viewport. This nominal size is multiplied by  'CWM'.

The default value of 'CFS' is 0.012.

'CFT' - Constant-Field Label Text String - Character

The parameter 'CFT' specifies the text of the constant-field label, which is written when a constant data field is  detected; it is a character string of at most 40  characters. The embedded string '$ZDV$' will be replaced by  the numeric value of the field.

If 'CFT' is given the value ' ' (a single blank), the  constant-field label will not be written.

The default value of 'CFT' is 'CONSTANT FIELD - VALUE IS  $ZDV$'.

'CFW' - Constant-Field Label White Space Width - Real

The parameter 'CFW' specifies the nominal width of white  space to be left around the constant-field label, as a  fraction of the width of the viewport. This nominal width  is multiplied by 'CWM'.

The default value of 'CFW' is 0.005.

'CFX' - Constant-Field Label X Coordinate - Real

The parameter 'CFX' specifies the X coordinate of the  basepoint of the constant-field label. The given value is  mapped linearly onto the viewport; 0 refers to the left  edge of the viewport and 1 to the right edge of the  viewport. Values less than 0 or greater than 1 may be used.

The default value of 'CFX' is 0.5, so the constant-field  label is centered horizontally in the viewport.

'CFY' - Constant-Field Label Y Coordinate - Real

The parameter 'CFY' specifies the Y coordinate of the  basepoint of the constant-field label. The given value is  mapped linearly onto the viewport; 0 refers to the bottom  edge of the viewport and 1 to the top edge of the viewport.  Values less than 0 or greater than 1 may be used.

The default value of 'CFY' is 0.5, so the constant-field  label is centered vertically in the viewport.

'CIS' - Contour Interval Specifier - Real

See the description of 'CLS', below. When 'CLS' is greater  than zero, 'CIS' is used. A value of 'CIS' less than or  equal to zero indicates that Conpack is to choose the  contour interval (see the descriptions of the parameter  arrays 'CIT' and 'LIT'). A value of 'CIS' which is greater  than zero is the actual contour interval to be used; in  this case, 'LIS' may be given a non-zero value "n" to  specify that every "nth" contour level should be labeled.  See also the descriptions of 'CMN' and 'CMX', below.

The default value of 'CIS' is 0.

'CIT' - Contour Interval Table - Real Array

Each non-zero element of the ten-element parameter array  'CIT' is a real number greater than or equal to 1 and less  than 10; when Conpack picks the contour interval, it  chooses a number of the form "c x 10**k", where "c" is one of  the elements of 'CIT' and "k" is an integer. The non-zero  elements of 'CIT' must be sorted in ascending order and  appear at the beginning of the array.

The corresponding elements of the parameter array 'LIT'  specify which contours are to be labeled. A contour at  "nc x 10**k" is labeled if "n" is a multiple of "l", where  "l" is the element of 'LIT' corresponding to the element  "c" of 'CIT'. For example, if the first element of 'CIT' is  "1." and the first element of 'LIT' is "5", then Conpack is  allowed to use contour levels 1., 2., 3., 4., etc., with  labels at 5., 10., 15., etc. (5 x 1., 5 x 2., 5 x 3., etc.).

The default contents of 'CIT' and 'LIT' are as follows:

'PAI' 'CIT' 'LIT' LEVELS ALLOWED LABEL INTERVAL
----- ----- ----- -------------- --------------
1 1.0 5 1.0 x 10 ** K EVERY 5TH ONE
2 2.0 5 2.0 x 10 ** K EVERY 5TH ONE
3 2.5 4 2.5 x 10 ** K EVERY 4TH ONE
4 4.0 5 4.0 x 10 ** K EVERY 5TH ONE
5 5.0 5 5.0 x 10 ** K EVERY 5TH ONE
6 0.0 0 FILLER TO END FILLER TO END
7 0.0 0 FILLER TO END FILLER TO END
8 0.0 0 FILLER TO END FILLER TO END
9 0.0 0 FILLER TO END FILLER TO END
10 0.0 0 FILLER TO END FILLER TO END
'CIU' - Contour Interval Used - Real

The parameter 'CIU' is normally intended for retrieval  only. When the selection of the contour interval is left up  to Conpack, 'CIU' is given the value chosen. When contour  levels are completely set by the user, the value of 'CIU'  may need to be set as well, for two reasons: 1) to make the  desired value appear in an informational label (in place of  the embedded string '$CIU$') and 2) so that it may be used  by the penalty scheme for positioning labels. The setting  of 'CIU' must be done after setting the contour levels  (because, as a side effect of the setting of element 1 of  'CLV', 'CIU' is zeroed). If the user supplies contour  levels, but supplies no value of 'CIU', and the penalty  scheme is used to position labels, the required contour  interval is estimated; in certain situations, this can lead  to problems (if, for example, the same contour level  appears twice in 'CLV', once to force lines at that level  to be drawn and once to force that level to be used as the  boundary for a shaded area).

The default value of 'CIU' is 0.

'CLC' - Contour Line Color Index - Integer Array

Each element of the parameter array 'CLC', if greater than  or equal to zero, is a color index for contour lines at the  level specified by the associated element of 'CLV'. A value  less than zero implies that the lines will be drawn in the  color specified by the current polyline color index.

There are three special elements in the parameter array  'CLC', corresponding to 'PAI' values of -1, -2, and -3; the  first specifies a color index for the edge of the grid, the  second a color index for the edge of any area filled with  special values, and the third a color index for the edge of  any area in which the mapping routine CPMPXY returns the  "out of range" value.

The default value of each element of 'CLC' is -1.

'CLD' - Contour Line Dash Pattern - Character Array

Each element of the parameter array 'CLD' is a dash pattern  (as expected by the package Dashline) to be used (when  'DPU' is non-zero) to draw contour lines at the level  specified by the associated element of the contour level  array 'CLV'. Elements of 'CLD' may be set using a call to  CPSETI, with a sixteen-bit integer as the second argument,  or using a call to CPSETC, with a character string of 32 or  fewer characters as the second argument. In either case,  the result will be a character string internally; a sixteen-bit integer will be converted to a sixteen-character string  by mapping 0-bits into apostrophes and 1-bits into dollar  signs.

There are three special elements in the parameter array  'CLD', corresponding to 'PAI' values of -1, -2, and -3; the  first specifies a dash pattern for the edge of the grid,  the second a dash pattern for the edge of any area filled  with special values, and the third a dash pattern for the  edge of any area in which the mapping routine CPMPXY  returns the "out of range" value.

When Conpack picks the contour levels, the default value  supplied for each associated dash pattern is the character  constant '$$$$$$$$$$$$$$$$'. This is also the default value  for each of the three special elements.

'CLL' - Contour Line Line Width - Real Array

Each element of the parameter array 'CLL' specifies the  line width used to draw contour lines at the level  specified by the associated element of the contour level  array 'CLV'. Each is expressed as a multiple of the  "normal" line width; values less than or equal to zero  imply that line width should not be set.

There are three special elements in the parameter array  'CLL', corresponding to 'PAI' values of -1, -2, and -3; the  first specifies a line width for the edge of the grid, the  second a line width for the edge of any area filled with  special values, and the third a line width for the edge of  any area in which the mapping routine CPMPXY returns the  "out of range" value.

When Conpack picks the contour levels, the default value  supplied for each associated line width is 0. This is also  the default value for each of the three special elements.

'CLS' - Contour Level Selection Flag - Integer

This parameter must be set prior to the call to CPRECT,  CPSPS1, or CPSPS2 which initiates the process of drawing a  particular contour plot; it specifies how contour levels  are to be selected, as follows:

  • If 'CLS' has the value "0", Conpack will not pick contour  levels at all; the current values of the parameters 'NCL',  'CLV', and associated arrays will not be changed. They will  thus retain the values chosen by Conpack during a previous  call or the values supplied by the user.
  • If 'CLS' has a negative value of the form "-n", Conpack  will generate "n" contour levels, splitting the range from  the minimum field value to the maximum field value into  "n+1" equal intervals.
  • If 'CLS' has a positive value of the form "+n" and 'CIS' is  less than or equal to zero, Conpack will use values of the  form "bk", where "b" is a "base" value chosen by Conpack  and "k" is an integer. The base value "b" will be a "nice"  value (as defined by the contents of the parameter array  'CIT'), chosen in such a way as to give at least "n"  contour levels (with the default contents of the array  'CIT', you may get as many as "2n" levels).
  • If 'CLS' has a positive value of the form "+n" and 'CIS' is  greater than zero and 'CMN' is greater than 'CMX', Conpack  will use values of the form "'CIS'*k", where "k" is an  integer.
  • If 'CLS' has a positive value of the form "+n" and 'CIS' is  greater than zero and 'CMN' is less than or equal to 'CMX',  Conpack will use values of the form "'CMN'+'CIS'*k" which  are greater than or equal to 'CMN' and less than or equal  to 'CMX', where "k" is an integer.

The default value of 'CLS' is 16.

'CLU' - Contour Level Use Flags - Integer Array

Each element of the parameter array 'CLU' indicates how the  associated contour level, in the parameter array 'CLV', is  to be used. The value 0 means that no contour line is to be  drawn at the associated level, the value 1 that the line is  to be drawn without labels, the value 2 that the labels are  to be drawn, but not the line, and the value 3 that both  the line and the labels are to be drawn.

There are three special elements in the parameter array  'CLU', corresponding to 'PAI' values of -1, -2, and -3; the  first specifies a flag for the edge of the grid, the second  a flag for the edge of any area filled with special values,  and the third a flag for the edge of any area in which the  mapping routine CPMPXY returns the "out of range" value. In  each case, if the flag is zero, the associated edge is not  drawn; otherwise, the associated edge is drawn.

When Conpack chooses the contour levels, the associated  elements of 'CLU' are given one of the two values 1 or 3,  depending on whether the line is to be labeled or not. The  default values of the special elements are all zeroes.

'CLV' - Contour Level Values - Real Array

Each of the first 'NCL' elements of the parameter array  'CLV' is a contour level for which something is to be done  (the drawing of contour lines, the drawing of contour  labels, and/or the addition of contour lines to an area  map).

Only elements 1 through 'NCL' may be accessed via the  parameter-setting routines. Thus, code to set the contour  levels and associated quantities must begin with a call to  set 'NCL'.

A side effect of setting the element numbered 'PAI' of  'CLV' is that the associated element number 'PAI' in each  of the parameter arrays 'AIA', 'AIB', 'CLC', 'CLD', 'CLL',  'CLU', 'LLC', and 'LLT' is also given a default value,  as follows:

'AIA'

´PAI'+1

'AIB'

´PAI'

'CLC'

-1

'CLD'

´$$$$$$$$$$$$$$$$'

'CLL'

0

'CLU'

1

'LLC'

-1

'LLT'

´ ' (a single blank)

Thus, in code to set contour levels and associated  quantities, each contour level must be set before the  quantities associated with it.

A side effect of setting element number 1 of 'CLV' is that  the parameter 'CIU', which indicates what contour interval  was used, is zeroed. It is assumed that this will only  happen when the user is providing all the contour levels,  in which case the concept of the "contour interval" may or  not be well defined. See the description of 'CIU' for more  information.

'CMN' - Contour Minimum - Real

When 'CLS' is greater than zero and 'CIS' is also greater  than zero, if 'CMN' is less than or equal to 'CMX', then  the contour levels used will be of the form 'CMN',  'CMN'+'CIS', 'CMN'+2*'CIS', ... , 'CMN'+n*'CIS', where "n"  is the largest integer such that 'CMN'+n*'CIS' is less than  or equal to 'CMX'. The labeled levels will be those for  which "n" is a multiple of 'LIS'.

The default values of 'CMN' and 'CMX' are 1 and 0,  respectively.

'CMX' - Contour Maximum - Real

See the description of 'CMN', above.

'CTM' - Character Temporary - Character

The parameter name 'CTM' refers to a temporary character  buffer in Conpack; the name may be used in the routine  CPCHCL to get the dash pattern for the current line and in  the routines CPCHHL, CPCHIL, and CPCHLL to get the text of  the label being written or to change it.

The parameter 'CTM' has no meaningful default value.

'CWM' - Character Width Multiplier - Real

All character size parameters are multiplied by 'CWM'; this  makes it easy to scale the sizes up or down simultaneously.  Parameters affected by this are 'CFS', 'CFW', 'DPS', 'DPV',  'HLS', 'HLW', 'ILS', 'ILW', 'LLS', and 'LLW'.

The default value of 'CWM' is 1.

'DPS' - Dash Pattern Size - Real

The parameter 'DPS' specifies the nominal size (width) of a  character in a dash pattern, as a fraction of the width of  the viewport. This nominal size is multiplied by 'CWM'.

The default value of 'DPS' is 0.010.

'DPU' - Dash Pattern Use Flag - Integer

If 'DPU' is less than or equal to zero, it means that no  dash patterns are to be used and that contour lines are to  be drawn using calls to CURVE. If 'DPU' is non-zero, it  means that dash patterns are to be used and that contour  lines are to be drawn using calls to CURVED. When the label  positioning flag ABS('LLP') = 1, contour lines are caused  to be labeled by using a dash pattern formed by  concatenating "n" repetitions of the appropriate element of  'CLD' (the nominal dash pattern for the line) and the  appropriate element of 'LLT' (the numeric label for the  line); in this case, 'DPU' specifies the value of "n".

The default value of 'DPU' is 3.

'DPV' - Dash Pattern Vector Length - Real

The parameter 'DPV' specifies the nominal length of the  solid vector generated by a dollar sign, or the gap vector  generated by an apostrophe, in a dash pattern, as a  fraction of the width of the viewport. This nominal length  is multiplied by 'CWM'.

The default value of 'DPV' is .005.

'GIC' - Group Identifier for Contour Lines - Integer

The parameter 'GIC' specifies the group identifier for  contour lines added to an area map by the routine CPCLAM.

The default value of 'GIC' is 3.

'GIL' - Group Identifier for Label Boxes - Integer

The parameter 'GIL' specifies the group identifier for  label boxes added to an area map by the routine CPLBAM.

The default value of 'GIL' is 3.

'GIS' - Group Identifier for Strips - Integer

The parameter 'GIS' specifies the group identifier for a  group of edges added to an area map by the routine CPCLAM  to create a set of vertical strips. This is done only if  the parameter 'NVS' (which is described later in this  section) is non-zero.

The default value of 'GIS' is 4.

'HCL' - Hachure Length - Real

The parameter 'HCL' specifies the hachure length, stated as  a fraction of the width of the viewport. A positive value  implies the use of hachures on the downslope side of the  contour. A negative value implies the use of hachures on  the upslope side of the contour.

The default value of 'HCL' is .004.

'HCS' - Hachure Spacing - Real

The parameter 'HCS' specifies the hachure spacing, stated  as a fraction of the width of the viewport. This is the  distance between one hachure and the next along a contour  line.

The default value of 'HCS' is .01.

'HCF' - Hachuring Flag - Integer

The parameter 'HCF' is the hachuring flag, with one of the  following values:

  • If 'HCF' = 0, hachuring is turned off (the default).
  • If 'HCF' = 1, all contours will be hachured.
  • If 'HCF' = 2, closed contours will be hachured only if the  interior of the contour is "downhill". Open contours will  be unconditionally hachured.
  • If 'HCF' = 3, closed contours will be hachured only if the  interior of the contour is "downhill". Open contours will  be unconditionally unhachured.
  • If 'HCF' = 4, closed contours will be hachured only if the  interior of the contour is "downhill". Open contours will  be hachured only if the "interior" of the contour is  "downhill", where "interior" is defined by computing the  total change in direction along the contour. If that total  is positive, the "interior" is to the left; if it is  negative, the "interior" is to the right.

Negative values of 'HCF' may also be used. Each has the  same effect as the corresponding positive value, except  that the word "downhill" in the definition above is  replaced by the word "uphill".

The default value of 'HCF' is 0.

The user will be expected to increase the value of the  internal parameter 'RWC' ("Real Workspace for Contours")  from its default 100 to a value large enough to accommodate  any contour that can arise from his/her data field; this  may require increasing the size of the real workspace  array. (This is so that the hachuring routine is assured of  seeing all of each contour line. Otherwise, it can't tell  which way the "inside" and the "outside" of the closed  contours are.)

Closed contours that are broken into pieces that appear to  be open contours (either because portions of the closed  contour disappear as a result of the mapping implied by non-zero values of the parameter 'MAP' and the out-of-range  value 'ORV', or because they run through special-value  areas, as defined by the internal parameter 'SPV', or  because the user has forgotten to increase the value of  'RWC', as described in the previous paragraph), will be  hachured. The rationale for this is that no real confusion  can arise from hachuring a contour line which shouldn't be,  only from not hachuring one that should be.

'HIC' - High Label Color Index - Integer

The parameter 'HIC' is used in determining the color index  for high labels. See the description of 'HLC', below.

'HIT' - High Label Text String - Character

The parameter 'HIT' specifies the text string to be used in  labeling a high. See the description of 'HLT', below.

'HLA' - High/Low Label Angle - Real

The parameter 'HLA' specifies the angle (in degrees  counterclockwise from a vector pointing to the right) at  which high and low labels are to be written.

The default value of 'HLA' is 0.

'HLB' - High/Low Label Box Flag - Integer

If 'HLB' is zero, high and low labels will not be boxed at  all. The value 1 implies that the perimeter of the box is  to be drawn (in the same color as the label) after the  label is drawn. The value 2 implies that the box is to be  filled (in the color specified by 'LBC') before the label  is drawn. The value 3 implies both of the above.

The default value of 'HLB' is 0.

'HLC' - High/Low Label Color Index - Integer

The parameter 'HLC' is used in determining the color index  for high and low labels.

The color index for high labels is determined in this  manner: If 'HIC' is greater than or equal to zero, 'HIC' is  used as the color index. If 'HIC' is less than zero, but  'HLC' is greater than or equal to zero, 'HLC' is used as  the color index. If both 'HIC' and 'HLC' are less than  zero, the current text color index is used. If a box is  drawn around the label, it is made the same color as the  label itself.

The color index for low labels is determined similarly: If  'LOC' is greater than or equal to zero, 'LOC' is used as  the color index. If 'LOC' is less than zero, but 'HLC' is  greater than or equal to zero, 'HLC' is used as the color  index. If both 'LOC' and 'HLC' are less than zero, the  current text color index is used. If a box is drawn around  the label, it is made the same color as the label itself.

To set the color index of all high and low labels, simply  supply the desired value for 'HLC'. To have highs and low  labels which are colored differently, set 'HIC' and 'LOC'.

The default values of 'HLC', 'HIC', and 'LOC' are all -1's.

'HLE' - High/Low Equal-Value Search - Integer

If 'HLE' has the value zero, only the "normal" search for highs and lows, as described in the programmer document for CONPACK (in the section "Searching for Highs and Lows") is performed.

If 'HLE' has the value one, and if the "normal" search for highs and lows sees evidence that an additional search should be performed, then the additional search is performed.  See the section "Extended High/Low Search Algorithm", in the programmer document for CONPACK.

If 'HLE' has the value two or greater, and if the "normal" search for highs and lows sees evidence that an additional search should be performed, then the additional search is performed, but the candidate regions considered are limited to those containing no more than 'HLE' grid points.

Whenever 'HLE' is given a non-zero value, care should be taken to provide enough space in the integer work array to hold an additional M*N elements, where M and N are the dimensions of the array being contoured.  This space will be needed during a call to CPHLLB.

The default value of 'HLE' is zero.

'HLL' - High/Low Line Width - Real

If 'HLL' has a value less than or equal to zero, line width  will not be set before drawing boxes around high and low  labels. If 'HLL' has a value greater than zero, it  specifies the desired width, as a multiple of the "normal"  line width.

The default value of 'HLL' is 0.

'HLO' - High/Low Label Overlap Flag - Integer

The value of 'HLO' says what is to be done about the  problem of high and low labels overlapping other objects.  The value 0 implies that the problem will be ignored; high  and low labels will not be checked for overlap with  anything else. Adding 1 to the value of 'HLO' implies the  omission of high and low labels which overlap the  informational label. Adding 2 implies the omission of high  and low labels which overlap other high and low labels  found before it. Adding 4 implies the omission of high and  low labels which overlap the edges of the viewport, while  adding 8 implies that high and low labels which overlap the  edges of the viewport should be moved inward by just enough  to take care of the problem. If you add both 4 and 8, the  effect will be as if you had added 4 alone.

The default value of 'HLO' is 3 (1 + 2).

'HLS' - High/Low Label Size - Real

The parameter 'HLS' specifies the nominal size (width) of a  character in a high or low label, as a fraction of the  width of the viewport. This nominal size is multiplied by  'CWM'.

The default value of 'HLS' is .012.

'HLT' - High/Low Label Text Strings - Character

The character strings used to label highs and lows may be  specified individually, by setting 'HIT' and 'LOT', or  together, by setting 'HLT'. If 'HLT' is set, and there are  no apostrophes in the given character string, both 'HIT'  and 'LOT' will be set equal to it and it will therefore be  used as the label for both highs and lows. If there are  apostrophes in the string, what precedes the first one will  be used as the value of 'HIT' (the label for a high) and  what follows it will be used as the value of 'LOT' (the  label for a low).

Remember that, in FORTRAN, an apostrophe in a string which  is delimited by apostrophes is represented by two  apostrophes.

The substring $ZDV$ may be used to represent the numeric  value of the high or the low, divided by the current scale  factor; the substring $ZDVU$ may be used to represent the  unscaled value.

Some examples:

FORTRAN STRING HIGH LABEL LOW LABEL
------------------------ ------------- -------------
'H''L' H L
'HI''LO' HI LO
'$ZDV$' 1.362 0.764
'H($ZDV$)''L($ZDV$)' H(1.362) L(0.764)
'H:B:$ZDV$:E:''L:B:$ZDV$:E:' H L
1.362 0.764

Note that, in the final example, the subscripting  capability of the utility Plotchar is used. The terminating  function code "E" ensures that the "H" or the "L" will be  centered on the high or low; to center the whole thing,  either remove the 'E's or change them to 'N's.

Neither of the character strings 'HIT' and 'LOT' may  contain more than 20 characters.

If 'HIT' is blank, highs will not be labeled. If 'LOT' is  blank, lows will not be labeled.

The default value for 'HIT' is 'H:B:$ZDV$:E:' and the  default value of 'LOT' is 'H:B:$ZDV$:E:', as shown in the  final example above.

'HLW' - High/Low Label White Space Width - Real

The parameter 'HLW' specifies the nominal width of white  space to be left around a high or low label, as a fraction  of the width of the viewport. This nominal width is  multiplied by 'CWM'.

The default value of 'HLW' is 0.005.

'HLX' - High/Low Search Radius in X - Integer

If 'HLX' is greater than zero, it specifies the half-width  of the index-value neighborhood used in searching the  contour field for highs and lows. If 'HLX' is less than or  equal to zero, Conpack picks a reasonable value to use  (approximately 1/8 of 'ZDM', but not less than 2 nor  greater than 15).

As an example, if 'HLX' = 3 and 'HLY' = 4, then the values  in ZDAT examined to determine if (I,J) is a high or a low  are those having indices (K,L), where either K is not equal  to I or L is not equal to J, K is between MAX(1,I-3) and  MIN('ZDM',I+3), inclusive, and L is between MAX(1,J-4) and  MIN('ZDN',J+4), inclusive.

The default value of 'HLX' is 0.

'HLY' - High/Low Search Radius in Y - Integer

If 'HLY' is greater than zero, it specifies the half-height  of the index-value neighborhood used in searching the  contour field for highs and lows. If 'HLY' is less than or  equal to zero, Conpack picks a reasonable value to use  (approximately 1/8 of 'ZDN', but not less than 2 nor  greater than 15).

For an example, see the description of 'HLX', above.

The default value of 'HLY' is 0.

'ILA' - Informational Label Angle - Real

The parameter 'ILA' specifies the angle (in degrees  counterclockwise from a vector pointing to the right) at  which the informational label is to be written.

The default value of 'ILA' is 0.

'ILB' - Informational Label Box Flag - Integer

If 'ILB' is zero, the informational label will not be boxed  at all. The value 1 implies that the perimeter of the box  is to be drawn (in the same color as the label) after the  label is drawn. The value 2 implies that the box is to be  filled (in the color specified by 'LBC') before the label  is drawn. The value 3 implies both of the above.

The default value of 'ILB' is 0.

'ILC' - Informational Label Color Index - Integer

If 'ILC' is less than zero, the informational label and the  box, if any, around it, will be drawn in the color  specified by the current text color index; if 'ILC' is  greater than or equal to zero, then it specifies the  desired color index for the label and the box. If a box is  drawn around the label, it is made the same color as the  label itself.

The default value of 'ILC' is -1.

'ILL' - Informational Label Line Width - Real

If 'ILL' has a value less than or equal to zero, line width  will not be set before drawing a box around the  informational label. If 'ILL' has a value greater than  zero, it specifies the desired width, as a multiple of the  "normal" line width.

The default value of 'ILL' is 0.

'ILP' - Informational Label Positioning Flag - Integer

The parameter 'ILP' says how the informational label is to  be positioned. There are nine possible values, each of  which specifies a point of the label box which is to lie on  the point defined by 'ILX' and 'ILY': the value -4 implies  the lower left-hand corner of the label box, -3 implies the  center of the bottom of the box, -2 the lower right-hand  corner of the box, -1 the center of the left edge of the  box, 0 the center of the box, +1 the center of the right  edge of the box, +2 the upper left-hand corner of the box,  +3 the center of the top edge of the box, and +4 the upper  right-hand corner of the box. Left, right, bottom, and top  are defined from the viewpoint of someone reading the label  right-side up.

The default value of 'ILP' is 4, so the upper right-hand  corner of the box will be placed on the point ('ILX','ILY').

'ILS' - Informational Label Size - Real

The parameter 'ILS' specifies the nominal size (width) of a  character in the informational label, as a fraction of the  width of the viewport. This nominal size is multiplied by  'CWM'.

The default value of 'ILS' is 0.012.

'ILT' - Informational Label Text String - Character

The parameter 'ILT' is a string of 100 or fewer characters,  specifying the text of the informational label. The  following substrings will be replaced by a numeric value:

$CIU$ - THE CONTOUR INTERVAL USED.
$CMN$ - THE MINIMUM CONTOUR LEVEL.
$CMX$ - THE MAXIMUM CONTOUR LEVEL.
$SFU$ - THE CURRENT SCALE FACTOR.
$ZMN$ - THE MINIMUM VALUE IN THE DATA ARRAY.
$ZMX$ - THE MAXIMUM VALUE IN THE DATA ARRAY.

In each case except $SFU$, the given value will have been  divided by the current scale factor. A "U" may be inserted  just before the final "$" (as in '$CIUU$', '$CMNU$', etc.)  to request the use of an unscaled value.

The value with which $CIU$ is replaced will only be correct  if Conpack itself has chosen the contour levels; otherwise,  it may be necessary for the user to set the value of 'CIU'  (which see, above).

If 'ILT' is given the value '  ' (a single blank), there  will be no informational label.

The default value of 'ILT' is 'CONTOUR FROM $CMN$ TO $CMX$  BY $CIU$'.

'ILW' - Informational Label White Space Width - Real

The parameter 'ILW' specifies the nominal width of white  space to be left around the informational label, as a  fraction of the width of the viewport. This nominal width  is multiplied by 'CWM'.

The default value of 'ILW' is 0.005.

'ILX' - Informational Label X Coordinate - Real

The parameter 'ILX' specifies the X coordinate of the  basepoint of the informational label. The given value is  mapped linearly onto the viewport; 0 refers to the left  edge of the viewport and 1 to the right edge of the  viewport. Values less than 0 or greater than 1 may be used.

The default value of 'ILX' is 0.98.

'ILY' - Informational Label Y Coordinate - Real

The parameter 'ILY' specifies the Y coordinate of the  basepoint of the informational label. The given value is  mapped linearly onto the viewport; 0 refers to the bottom  edge of the viewport and 1 to the top edge of the viewport.  Values less than 0 or greater than 1 may be used.

The default value of 'ILY' is -.02.

'IWM' - Integer Workspace for Masking - Integer

The parameter 'IWM' specifies the amount of integer  workspace to be allotted for use by CPCLDM, which draws  contour lines masked by an area map, in calls to the  routine ARDRLN, in the package Areas. Assume a parameter  value "n"; the space used will be "2n" ("n" for the array  IAI and "n" for the array IAG, in calls to ARDRLN). The  value "n" must be greater than or equal to the number of  group identifiers used in generating the area map.

The default value of 'IWM' is 10.

'IWU' - Integer Workspace Usage - Integer

The parameter 'IWU' is intended for retrieval only. It is  zeroed by the call to CPRECT, CPSPS1, or CPSPS2. Therefore, by  retrieving its value after an entire plot has been  constructed, one may find out how large an integer  workspace was actually required.

'LBC' - Label Box Color Index - Integer

If label boxes (of whatever type) are filled, the filling  is done using the color index specified by 'LBC'. If 'LBC'  is less than zero, the current fill area color index is  used.

The default value of 'LBC' is 0, which specifies the  background color.

'LBX' - Label Box X Coordinate - Real

Not to be set by the user. The value may be retrieved in  one of the routines CPCHCF, CPCHHL, CPCHIL, or CPCHLL. It  specifies the X coordinate (in the current user coordinate  system) of the center of the box surrounding the label that  has caused the routine to be called.

The default value of 'LBX' is 0.

'LBY' - Label Box Y Coordinate - Real

Not to be set by the user. The value may be retrieved in  one of the routines CPCHCF, CPCHHL, CPCHIL, or CPCHLL. It  specifies the Y coordinate (in the current user coordinate  system) of the center of the box surrounding the label that  has caused the routine to be called.

The default value of 'LBY' is 0.

'LIS' - Label Interval Specifier - Integer

When 'CLS' is given a positive value, indicating that  Conpack is to choose contour levels at intervals of the  form "bk", where "b" is a base value and "k" is an integer,  and 'CIS' is given a positive value, indicating that it is  the desired value of "b", then 'LIS' must be set to specify  the interval between labeled contour levels.

See the descriptions of the parameters 'CLS' and 'CIS'.

As an example, one might specify 'CLS'=1, 'CIS'=1/3 and  'LIS'=3 in order to get contours at values like 1/3, 2/3, 3/ 3, 4/3, etc., with labels at values like 1, 2, 3, etc.

The default value of 'LIS' is 5.

'LIT' - Label Interval Table - Integer Array

See the description of the parameter 'CIT'.

'LIU' - Label Interval Used - Integer

The parameter 'LIU' is for retrieval only. When Conpack  chooses the contour interval and decides that every "nth"  one should be labeled, it sets 'LIU' to "n".

'LLA' - Line Label Angle - Real

The parameter 'LLA' specifies the angle (in degrees  counterclockwise from a vector pointing to the right) at  which contour line labels are to be written when ABS('LLP')  is greater than or equal to 2 and 'LLO' is 0.

The default value of 'LLA' is 0.

'LLB' - Line Label Box Flag - Integer

If 'LLB' is zero, contour line labels drawn by CPLBDR will  not be boxed at all. The value 1 implies that the perimeter  of the box is to be drawn (in the same color as the label)  after the label is drawn. The value 2 implies that the box  is to be filled (in the color specified by 'LBC') before  the label is drawn. The value 3 implies both of the above.

The default value of 'LLB' is 0.

'LLC' - Line Label Color Index - Integer Array

Each element of the parameter array 'LLC', if greater than  or equal to zero, is the color index for labels on contour  lines at the level specified by the associated element of  'CLV'. A value less than zero implies that the current text  color index is to be used.

This parameter only affects line labels when ABS('LLP') = 2  or 3 and the labels are therefore drawn by CPLBDR. It does  not affect line labels when ABS('LLP') = 1 and the line  labels are therefore drawn by the dash package, as called  by CPCLDM or CPCLDR.

The default values of the elements of 'LLC' are all -1's.

'LLL' - Line Label Line Width - Real

If 'LLL' has a value less than or equal to zero, line width  will not be set before drawing boxes around contour line  labels. If 'LLL' has a value greater than zero, it  specifies the desired width, as a multiple of the "normal"  line width.

The default value of 'LLL' is 0.

'LLO' - Line Label Orientation - Integer

The parameter 'LLO' only has effect when ABS('LLP') is  greater than or equal to 2, specifying use of either the  regular scheme or the penalty scheme for positioning labels  on contour lines. If 'LLO' is zero, the labels are written  at the angle specified by 'LLA'. If 'LLO' is non-zero, the  labels are written in the local direction of the contour  line.

The default value of 'LLO' is 0.

'LLP' - Line Label Positioning - Integer

The parameter 'LLP' says whether or not labels should be  produced and, if so, how, as follows:

  • If 'LLP' is 0, it says that no line labels should be  produced.
  • If ABS('LLP') is 1, it says that labels should be  positioned along contour lines by using the old Conrec_family  scheme of setting up a character dash pattern including the  label and using the software dash package to draw the  labels (which requires having 'DPU' set non-zero). This  scheme has the disadvantages that one cannot control the  orientation and one cannot shield the labels from having  contour lines drawn through them.
  • If ABS('LLP') is 2, it says that labels should be  positioned at regular intervals along the line. See the  descriptions of the parameters 'RC1', 'RC2', and 'RC3'.
  • If ABS('LLP') is 3, it says that labels should be  positioned using a penalty scheme, which gives much better  results than either of the others.

When 'LLP' is 2 or 3, the 2D smoothing, if any, implied by  the value of 'T2D' is suspended during label positioning,  so that fewer label positions will be considered; this is  quite a bit faster and the results are nearly as good as if  the smoothing were done. To force smoothing, use 'LLP' = -2  or -3.

The default value of 'LLP' is 1.

'LLS' - Line Label Size - Real

The parameter 'LLS' specifies the nominal size (width) of a  character in a contour line label, as a fraction of the  width of the viewport. This nominal size is multiplied by  'CWM'.

The default value of 'LLS' is 0.010.

'LLT' - Line Label Text String - Character

For each I from 1 to 'NCL', element I of the parameter  array 'LLT' is a string of twenty or fewer characters, to  be used as a label for the contour level specified by the  Ith element of 'CLV'. Since the character string will be  plotted using the routine PLCHHQ, in the package Plotchar,  it may contain colon-enclosed "function codes" to do things  like create superscripts.

If the elements of this array are not supplied by the user,  they will be filled in by Conpack itself.

'LLW' - Line Label White Space - Real

The parameter 'LLW' specifies the nominal width of white  space to be left around a contour line label, as a fraction  of the width of the viewport. This nominal width is  multiplied by 'CWM'.

The default value of 'LLW' is 0.005.

'LOC' - Low Label Color Index - Integer

The parameter 'LOC' is used in determining the color index  for low labels. See the description of 'HLC', above.

'LOT' - Low Label Text String - Character

The parameter 'LOT' specifies the text string to be used in  labeling a low. See 'HLT', above.

'MAP' - Mapping Flag - Integer

If 'MAP' is zero, it says that the x and y coordinates used  to create the contour map are not to be transformed by the  user-replaceable subroutine CPMPXY. If 'MAP' is non-zero,  it says that x and y coordinates are to be so transformed. The default version of CPMPXY provides two useful mappings:

If the first subscript of the data array is a linear  function of the longitude and the second is a linear  function of the latitude, then one can transform all  graphics output onto a map background created by calls to  routines in the utility package Ezmap just by setting 'MAP'  = 1, 'XC1' = minimum longitude, 'XCM' = maximum longitude,  'YC1' = minimum latitude, and 'YCN' = maximum latitude. Also, the parameter 'SET' must be given the value 0 in  order to prevent Conpack from calling SET and thereby  overriding the call done by Ezmap.

If the first subscript of the data array is a linear  function of rho and the second is a linear function of  theta, where rho and theta are polar coordinates, then to  map all graphics output properly, one may set 'MAP' = 2,  'XC1' = minimum rho, 'XCM' = maximum rho, 'YC1' = minimum  theta, and 'YCN' = maximum theta. In this case, one must  either use 'SET' = 0 and do an appropriate SET call or use  'SET' = 1 and give the parameters 'WDB', 'WDL', 'WDR', and  'WDT' values consistent with the mapped values of X and Y,  which will all be of the form "rho*cos(theta)" and  "rho*sin(theta)", respectively.

Using any other non-zero value of 'MAP' will result in the  identity mapping.

Of course, one can replace the routine CPMPXY and build as  many different mappings into it as desired. See the  description of CPMPXY.

'NCL' - Number of Contour Levels - Integer

If Conpack is to pick contour levels (see the description  of the parameter 'CLS') then the initial call to CPRECT,  CPSPS1, or CPSPS2 causes 'NCL' to be zeroed. Subsequently,  during the first call to a Conpack routine requiring  contour levels to have been chosen, 'NCL' will be set as  part of the process of choosing them. If the user elects to  choose the contour levels, the first parameter which must  be set to do this is 'NCL'.

The parameter 'NCL' has no meaningful default value.

'NEL' - Numeric Exponent Length - Integer

Giving 'NEL' a value less than or equal to zero says that  exponents in numeric labels should be written in the  shortest possible form; plus signs are omitted and the  exponent magnitude is written with no leading zeroes. A  value "n" which is greater than zero indicates that all  exponents should be written with a sign (+ or -) and that  the exponent magnitude should be padded with leading zeroes  to a length of n characters.

The default value of 'NEL' is 0.

'NET' - Numeric Exponent Type - Integer

The parameter 'NET' says what characters are to be used  between the mantissa of a numeric label and the exponent.  The value 0 implies the use of an E, as in FORTRAN "E  format", the value 1 implies the use of function codes, as  expected by the utility Plotchar, to generate "x 10**n",  where n is a superscript exponent, and the value 2 implies  the use of "x10**".

The default value of 'NET' is 1.

'NEU' - Numeric Exponent Use Flag - Integer

Giving 'NEU' a value less than or equal to zero forces the  use of the exponential form in all numeric labels. A  positive value "n" indicates that the form without an  exponent should be used as long as it requires no more than  n characters; otherwise the form requiring the fewest  characters should be used.

The default value of 'NEU' is 5.

'NLS' - Numeric Leftmost Significant Digit Flag - Integer

Giving 'NLS' the value zero says that the leftmost non-zero  digit of a number represented by a numeric label is to be  considered its first significant digit. A non-zero value  says that the digit in the same digit position as the  leftmost non-zero digit of the largest number (in absolute  value) in the data field being contoured is to be  considered the leftmost significant digit. This tends to  make the numeric labels more nearly consistent with one  another. Consider the following example, using three  significant digits:

USING 'NLS'=0: .500 1.00 1.50 ... 9.50 10.5 ...
USING 'NLS'=1: .5   1.0  1.5  ... 9.5  10.5 ...

The default value of 'NLS' is 1.

'NLZ' - Numeric Leading Zero Flag - Integer

Giving 'NLZ' a non-zero value says that a zero is to placed  before any numeric label which would otherwise begin with a  decimal point (use "0.345", rather than ".345").

The default value of 'NLZ' is 0.

'NOF' - Numeric Omission Flags - Integer

The parameter 'NOF' says what parts of a numeric label may  be omitted. The value 0 says that no part may be omitted.  Add a 4 to indicate that a leading "1" or "1." which is  unnecessary (as in "1 x 10**13") may be omitted, a 2 to  indicate that a trailing decimal point (as in "13.") may be  omitted, and a 1 to indicate that trailing zeroes (as in  "46.200") may be omitted.

Contour line labels generated by Conpack and values in the  informational label which are known to have been rounded to  "nice" values (like '$CIU$', '$CMN$', and '$CMX$') will  have trailing zeroes trimmed in any case, no matter what  the value of 'NOF' is.

The default value of 'NOF' is 6 (4 + 2).

'NSD' - Number of Significant Digits - Integer

The parameter 'NSD' specifies the maximum number of  significant digits to be used in numeric labels  representing contour field values. A negative value "-n"  indicates that n significant digits should be used. A  positive value "n" indicates that "m+n" digits should be  used, where "m" is the number of digits that are the same  for all values in the contour field. (For example, if the  minimum value is "1123.6" and the maximum value is  "1125.9", then the value of "m" is 3.)

The default value of 'NSD' is 4.

'NVS' - Number of Vertical Strips - Integer

When the parameter 'NVS' is non-zero, an extra group of  edges, with group identifier 'GIS', is added to the area  map by the routine CPCLAM. These edges include the boundary  of the viewport and enough vertical lines to break the area  occupied by the viewport up into 'NVS' vertical strips. The  object of this is to break up the contour bands which are  to be filled into smaller and simpler pieces; this may be  necessary if the graphics device in use limits the number  of points which may be used to define a polygon to be  filled. The area identifier for the outside of the viewport  is -1; all other area identifiers used are 0's.

The default value of 'NVS' is 1.

'ORV' - Out-of-Range Value - Real

If 'ORV' is non-zero, it specifies an out-of-range value,  to be used as the value of X and Y coordinates returned by  the mapping routine CPMPXY to say that a point is out-of-range  (invisible) under the current mapping.

The default value of 'ORV' is 0.

'PAI' - Parameter Array Index - Integer

The value of 'PAI' must be set before calling CPGETC,  CPGETI, CPGETR, CPSETC, CPSETI, or CPSETR to access any  parameter which is an array; it indicates which element of  the array is meant. For example, to set the 10th contour  level to zero, use code like this:

CALL CPSETI ('PAI - PARAMETER ARRAY INDEX',10)
CALL CPSETR ('CLV - CONTOUR LEVEL',0.)

The default value of 'PAI' is 0.

'PC1' - Penalty Scheme Constant 1 - Real

The parameter 'PC1' is one of the constants used in the  penalty scheme for positioning labels. The largest gradient  allowed at the position of a label will be GRAV + 'PC1' *  GRSD, where GRAV is the average gradient and GRSD is the  standard deviation of the gradients.

The default value of 'PC1' is 1.

'PC2' - Penalty Scheme Constant 2 - Real

The parameter 'PC2' is one of the constants used in the  penalty scheme for positioning labels. It specifies the  maximum (estimated) number of contour bands allowed to  cross a label.

The default value of 'PC2' is 5.

'PC3' - Penalty Scheme Constant 3 - Real

The parameter 'PC3' is one of the constants used in the  penalty scheme for positioning labels. It specifies, in  degrees, the maximum cumulative change in direction to be  allowed along that portion of the contour line covered by a  circle centered on a label and having a radius equal to  half the width of the label.

The default value of 'PC3' is 60.

'PC4' - Penalty Scheme Constant 4 - Real

The parameter 'PC4' is one of the constants used in the  penalty scheme for positioning labels. It specifies the  "optimal distance" in the term in the penalty function  which attempts to force labels to be at an optimal distance  from each other.

The default value of 'PC4' is 0.05.

'PC5' - Penalty Scheme Constant 5 - Real

The parameter 'PC5' is one of the constants used in the  penalty scheme for positioning labels. It specifies the  "folding distance" in the term in the penalty function  which attempts to force labels to be at an optimal distance  from each other.

The default value of 'PC5' is 0.15.

'PC6' - Penalty Scheme Constant 6 - Real

The parameter 'PC6' is one of the constants used in the  penalty scheme for positioning labels. It specifies the  minimum distance to be allowed between any two labels on  the same contour line, as a fraction of the width of the  viewport.

The default value of 'PC6' is 0.30.

'PIC' - Point Interpolation Flag for Contours - Integer

The parameter 'PIC' specifies the number of points to  interpolate between each pair of points defining a segment  of a contour line, prior to any mapping implied by the  parameter 'MAP'. It is intended that a non-zero value  should normally be used only if 'MAP' is non-zero, which  turns mapping on, and 'T2D' is zero, which turns the 2D  smoother off; the intent is to map straight-line segments  of contour lines more nearly correctly into curved-line  segments on a background (one drawn by Ezmap, for example). If the 2D smoother is turned on, the additional points will  be used and the smoothed curve will be constrained to pass  through them; this may be useful.

A negative value of 'PIC' causes ABS('PIC') points to be  interpolated, but the interpolated points are not, in  general, used to draw the line segment; the object, in this  case, is simply to do a finer search for changes in  visibility (out-of-range state, as defined by values of  'ORV' returned by the routine CPMPXY) along the segment.

The default value of 'PIC' is 0.

'PIE' - Point Interpolation Flag for Edges - Integer

The parameter 'PIE' specifies the number of points to  interpolate between each pair of points defining a segment  of an "edge" (the edge of the grid, the edge of a  special-value area, or the edge of an out-of-range area). It is  intended that a non-zero value should normally be used only  if 'MAP' is non-zero, which turns mapping on; the intent is  to map straight-line segments of edge lines more nearly  correctly into curved-line segments on a background (one  drawn by Ezmap, for example).

A negative value of 'PIE' causes ABS('PIE') points to be  interpolated, but the interpolated points are not, in  general, used to draw the line segment; the object, in this  case, is simply to do a finer search for changes in  out-of-range state (visibility) along the segment. (The edges of  out-of-range areas, however, are drawn using all such  interpolated points.)

Using too large an (absolute) value of 'PIE' will cause the  tracing of the edges of out-of-range areas to be very  time-consuming, because the number of points to be examined is  'ZDM' x 'ZDN' x 'PIE' x 'PIE'.

The default value of 'PIE' is 0.

'PW1' - Penalty Scheme Weight 1 - Real

The parameter 'PW1' specifies the weight for the gradient  term in the penalty function.

The default value of 'PW1' is 2.

'PW2' - Penalty Scheme Weight 2 - Real

The parameter 'PW2' specifies the weight for the  number-of-contours term in the penalty function.

The default value of 'PW2' is 0.

'PW3' - Penalty Scheme Weight 3 - Real

The parameter 'PW3' specifies the weight for the  change-in-direction term in the penalty function.

The default value of 'PW3' is 1.

'PW4' - Penalty Scheme Weight 4 - Real

The parameter 'PW4' specifies the weight for the  optimum-distance term in the penalty function.

The default value of 'PW4' is 1.

'RC1' - Regular Scheme Constant 1 - Real

The parameter 'RC1' specifies the desired distance from the  beginning of a contour line to the first label on that line  when they are positioned using the "regular" scheme. The  nth label on each labeled contour line will be at a  distance 'RC1' + 'RC2' x (n-1) + 'RC3' x Rn units (in the  fractional coordinate system) from the beginning of the  line, where "Rn" is a random number between -1 and 1.

The default value of 'RC1' is 0.25.

'RC2' - Regular Scheme Constant 2 - Real

The parameter 'RC2' specifies the desired nominal distance  between labels when they are positioned using the "regular"  scheme. See the description of 'RC1', above.

The default value of 'RC2' is 0.25.

'RC3' - Regular Scheme Constant 3 - Real

The parameter 'RC3' specifies the desired maximum variation  in the distance between labels when they are positioned  using the regular scheme. See the description of 'RC1',  above.

The default value of 'RC3' is 0.05.

'RWC' - Real Workspace for Contours - Integer

The parameter 'RWC' specifies the amount of real workspace  to be allotted to hold X coordinates of points defining  contour lines. Assume a parameter value "n". If no 2D  smoothing is requested, the total space used will be "2n"  ("n" for X coordinates and another "n" for Y coordinates).  If 2D smoothing is requested, the total space used will be  "7n" ("n" for X coordinates, "n" for Y coordinates, and  "5n" for scratch arrays).

Normally, the value of 'RWC' is of no particular interest  to the user, since the same contour lines are produced with  a small value as would be produced with a larger value.  There are two situations in which it becomes of more  interest: 1) When the penalty scheme is used to position  labels, the length of the portion of the contour line over  which the penalty function is evaluated is limited by the  value of 'RWC'. If 'RWC' is set too small, too many labels  may be put on a given contour line and some of them may be  too close to each other. 2) When hachuring has been  activated (by setting the value of 'HCF' non-zero), it is  important that the internal routine that does the hachuring  see entire contours at once, so that it may properly decide  whether a contour is open or closed and, in the latter  case, where the interior of the closed contour is. In both  of these cases, the solution is to increase the value of  'RWC'.

The default value of 'RWC' is 100.

'RWG' - Real Workspace for Gradients - Integer

The parameter 'RWG' specifies the amount of real workspace  to be allotted to hold gradients which are to be computed  and used in positioning labels using the penalty scheme.  Using a larger value provides for a more accurate  representation of the gradient field, up to the point at  which it exceeds 'ZDM' x 'ZDN'.

The default value of 'RWG' is 1000.

'RWM' - Real Workspace for Masking - Integer

The parameter 'RWM' specifies the amount of real workspace  to be allotted for use by CPCLDM, which draws contour lines  masked by an area map, in calls to the routine ARDRLN, in  the package Areas. Assume a parameter value "n"; the space  used will be "2n" ("n" for the X-coordinate array XCS and  "n" for the Y-coordinate array YCS, in calls to ARDRLN).  Any value of "n" greater than or equal to 2 will work;  smaller values will cause the generation of more calls to  the user routine RTPL (one of the arguments of CPCLDM).

The default value of 'RWM' is 100.

'RWU' - Real Workspace Usage - Integer

The parameter 'RWU' is intended for retrieval only. It is  zeroed by the call to CPRECT, CPSPS1, or CPSPS2.  Thereafter, as Conpack routines are called, the value of  'RWU' is updated to reflect the largest number of words of  real workspace needed at any one time. Therefore, by  retrieving its value after an entire plot has been  constructed, one may find out how large a real workspace  was actually required.

'SET' - Do-SET-Call Flag - Integer

Giving 'SET' the value 0 says that no SET call is to be  done by Conpack; the value 1 says that it is to be done. In  the latter case, the call is done by CPRECT, CPSPS1, or  CPSPS2.

Arguments 5-8 of a SET call done by the user must be  consistent with the ranges of the X and Y coordinates being  used by Conpack, as specified by the values of the  parameters 'XC1', 'XCM', 'YC1', 'YCN', and 'MAP'. See the  descriptions of those parameters.

The default value of 'SET' is 1.

'SFS' - Scale Factor Selector - Real

The scale factor is that value (usually, but not  necessarily, a power of 10) by which the actual values of  contour field values are to be divided to get the value of  a numeric label. If 'SFS' is given a value greater than  zero, that value is the scale factor to be used. If 'SFS'  is given a value less than or equal to zero, it is  truncated to form an integer directing Conpack to select a  scale factor, as follows:

0

Implies that the scale factor should be selected in such  a way as to reduce the ZDAT element having the largest  absolute value to the range from 0.1 to 0.999...

-1

Implies that the scale factor should be selected in such  a way as to reduce the ZDAT element having the largest  absolute value to the range from 1. to 9.999...

-2

Implies that the scale factor should be selected in such a way as to place the decimal point in the ZDAT element  having the largest absolute value after the rightmost  significant digit of that value (as defined by the values  of 'NSD' and 'NLS').

-3

Implies that the scale factor should be selected in such  a way as to remove extra zeroes from the ends of the ZDAT  element having the largest absolute value. For example, if  that element were 0.000136, the scale factor would be 10 to  the power -3; if that element were 136000 (assuming three  significant digits are desired), the scale factor would be  10 to the power 3. If there are no extra zeroes on either  end of the ZDAT element having the largest absolute value,  the scale factor will be 1.

-4 or less

Implies that the scale factor should be selected  in such a way as to reduce all contour labels to integers.

The default value of 'SFS' is 1.

'SFU' - Scale Factor Used - Real

The parameter 'SFU' is intended for retrieval only; it  gives the value of the scale factor selected for use by  Conpack.

'SPV' - Special Value - Real

If 'SPV' is non-zero, it specifies a "special value", which  may be used in data fields to signal missing data. No  contour lines will be drawn within any grid cell with a  special value at one or more of its four corners.

The default value of 'SPV' is 0.

'SSL' - Smoothed Segment Length - Real

The parameter 'SSL' specifies the distance between points  used to draw the curves generated by 2D smoothing; it is  expressed as a fraction of the width of the window in the  coordinate system in which the smoothing is being done.

The default value of 'SSL' is 0.01.

'T2D' - Tension on 2-Dimensional Splines - Real

A non-zero value of 'T2D' says that 2D smoothing (using  cubic splines under tension) should be done; the absolute  value of 'T2D' is the desired tension. If 'T2D' is  negative, smoothing will be done before the mapping, if  any, requested by the flag 'MAP'; if 'T2D' is positive,  smoothing will be done after the mapping.

The default value of 'T2D' is 0.

'T3D' - Tension on 3-Dimensional Splines - Real

The parameter 'T3D' specifies the tension on the 3D  (bicubic) splines used by CPSPS1 or CPSPS2 to smooth the  data being contoured.

The default value of 'T3D' is 1.

'VPB' - Viewport Bottom - Real

The parameter 'VPB' is only used when 'SET' is non-zero,  saying that Conpack should do the call to SET; it specifies  the position of the bottom edge of the area in which the  viewport is to be placed, expressed as a fraction between 0  (the bottom edge of the plotter frame) and 1 (the top edge  of the plotter frame). See also the description of 'VPS'.

The default value of 'VPB' is 0.05.

'VPL' - Viewport Left - Real

The parameter 'VPL' is only used when 'SET' is non-zero,  saying that Conpack should do the call to SET; it specifies  the position of the left edge of the area in which the  viewport is to be placed, expressed as a fraction between 0  (the left edge of the plotter frame) and 1 (the right edge  of the plotter frame). See also the description of 'VPS'.

The default value of 'VPL' is 0.05.

'VPR' - Viewport Right - Real

The parameter 'VPR' is only used when 'SET' is non-zero,  saying that Conpack should do the call to SET; it specifies  the position of the right edge of the area in which the  viewport is to be placed, expressed as a fraction between 0  (the left edge of the plotter frame) and 1 (the right edge  of the plotter frame). See also the description of 'VPS'.

The default value of 'VPR' is 0.95.

'VPS' - Viewport Shape - Real

The parameter 'VPS' is only used when 'SET' is non-zero,  saying that Conpack should do the call to SET; it specifies  the desired viewport shape, as follows:

  • A negative value specifies the exact shape of the viewport;  the absolute value is the ratio of the width of the  viewport to its height.
  • The value 0 specifies a viewport completely filling the  area specified by 'VPL', 'VPR', 'VPB', and 'VPT'.
  • A value "s" between 0 and 1 specifies a plot of the shape  determined by the values of 'XC1', 'XCM', 'YC1', and 'YCN',  reverting to the shape specified by 'VPL', 'VPR', 'VPB',  and 'VPT' if the ratio of the shorter side to the longer  side would be less than "s".
  • A value "s" greater than or equal to 1 specifies a plot of  the shape determined by the values of 'XC1', 'XCM', YC1',  and 'YCN', reverting to a square if the ratio of the longer  side to the shorter side would be greater than "s".

The viewport, whatever its final shape, is centered in, and  made as large as possible in, the area specified by the  parameters 'VPB', 'VPL', 'VPR', and 'VPT'.

The default value of 'VPS' is 0.25.

'VPT' - Viewport Top - Real

The parameter 'VPT' is only used when 'SET' is non-zero,  saying that Conpack should do the call to SET; it specifies  the position of the top edge of the area in which the  viewport is to be placed, expressed as a fraction between 0  (the bottom edge of the plotter frame) and 1 (the top edge  of the plotter frame). See also the description of 'VPS'.

The default value of 'VPT' is 0.95.

'WDB' - Window Bottom - Real

When Conpack does the call to 'SET', the parameter 'WDB' is  used to determine argument number 7, the user Y coordinate  at the bottom of the window. If 'WDB' is not equal to  'WDT', 'WDB' is used. If 'WDB' is equal to 'WDT', but 'YC1'  is not equal to 'YCN', then 'YC1' is used. Otherwise, the  value 1 is used.

The default value of 'WDB' is 0.

'WDL' - Window Left - Real

When Conpack does the call to 'SET', the parameter 'WDL' is  used to determine argument number 5, the user X coordinate  at the left edge of the window. If 'WDL' is not equal to  'WDR', 'WDL' is used. If 'WDL' is equal to 'WDR', but 'XC1'  is not equal to 'XCM', then 'XC1' is used. Otherwise, the  value 1 is used.

The default value of 'WDL' is 0.

'WDR' - Window Right - Real

When Conpack does the call to 'SET', the parameter 'WDR' is  used to determine argument number 6, the user X coordinate  at the right edge of the window. If 'WDR' is not equal to  'WDL', 'WDR' is used. If 'WDR' is equal to 'WDL', but 'XCM'  is not equal to 'XC1', then 'XCM' is used. Otherwise, the  value REAL('ZDM') is used.

The default value of 'WDR' is 0.

'WDT' - Window Top - Real

When Conpack does the call to 'SET', the parameter 'WDB' is  used to determine argument number 8, the user Y coordinate  at the top of the window. If 'WDT' is not equal to 'WDB',  'WDT' is used. If 'WDT' is equal to 'WDB', but 'YCN' is not  equal to 'YC1', then 'YCN' is used. Otherwise, the value  REAL('ZDN') is used.

The default value of 'WDT' is 0.

'WSO' - Workspace Overflow Flag - Integer

The parameter 'WSO' says what to do when a real or integer  workspace overflow occurs, as follows:

  • The value 0 indicates that execution will terminate with a  fatal-error call to SETER.
  • The value 1 indicates that an error message will be written  to the error file, after which execution will continue.
  • The value 2 indicates that no error message will be  written, and that execution will continue.

When execution continues, the resulting plot will be  incomplete. The values of 'IWU' and 'RWU' may be retrieved  to find out how much workspace would have been used if the  call on which the workspace overflow occurred had  succeeded; note that, if these amounts are provided on a  subsequent run, one is not assured that the workspace overflow will be averted.

The default value of 'WSO' is 1.

'XC1' - X Coordinate at Index 1 - Real

The parameter 'XC1' specifies the X coordinate value which  corresponds to a value of 1 for the first subscript of the  data array, prior to any mapping implied by a non-zero  value of 'MAP'. If 'XC1' is equal to 'XCM', 1 will be used.

The default value of 'XC1' is 0.

'XCM' - X Coordinate at Index M - Real

The parameter 'XCM' specifies the X coordinate value which  corresponds to a value of 'ZDM' for the first subscript of  the data array, prior to any mapping implied by a non-zero  value of 'MAP'. If 'XC1' is equal to 'XCM', REAL('ZDM')  will be used.

The default value of 'XCM' is 0.

'YC1' - Y Coordinate at Index 1 - Real

The parameter 'YC1' specifies the Y coordinate value which  corresponds to a value of 1 for the second subscript of the  data array, prior to any mapping implied by a non-zero  value of 'MAP'. If 'YC1' is equal to 'YCM', 1 will be used.

The default value of 'YC1' is 0.

'YCN' - Y Coordinate at Index N - Real

The parameter 'YCN' specifies the Y coordinate value which  corresponds to a value of 'ZDN' for the second subscript of  the data array, prior to any mapping implied by a non-zero  value of 'MAP'. If 'YC1' is equal to 'YCN', REAL('ZDN')  will be used.

The default value of 'YCN' is 0.

'ZD1' - ZDAT 1st Dimension - Integer

The parameter 'ZD1' specifies the first dimension of the  array ZDAT, which contains the data to be contoured. If  CPRECT is called, it sets 'ZD1' (the argument KZDT is the  desired value). If CPSPS1 or CPSPS2 is called, it either  picks a value of 'ZD1' (if 'ZDS' is non-zero) or expects  the user to have done so (if 'ZDS' is zero).

The default value of 'ZD1' is 1.

'ZDM' - Z Data Array Dimension M - Integer

The parameter 'ZDM' specifies the first dimension of the  array of data to be contoured. Its value will be less than  or equal to the value of 'ZD1'. If CPRECT is called, it  sets 'ZDM' (the argument MZDT is the desired value). If  CPSPS1 or CPSPS2 is called, it either picks a value of  'ZDM' (if 'ZDS' is non-zero) or expects the user to have  done so (if 'ZDS' is zero).

The default value of 'ZDM' is 1.

'ZDN' - Z Data Array Dimension N - Integer

The parameter 'ZDN' specifies the second dimension of the  array of data to be contoured. If CPRECT is called, it sets  'ZDN' (the argument NZDT is the desired value). If CPSPS1  or CPSPS2 is called, it either picks a value of 'ZDN' (if  'ZDS' is non-zero) or expects the user to have done so (if  'ZDS' is zero).

The default value of 'ZDN' is 1.

'ZDS' - ZDAT Dimension Selector - Integer

If 'ZDS' is non-zero, CPSPS1 or CPSPS2 will select values  for 'ZD1', 'ZDM', and 'ZDN'; otherwise, they will be  expected to have been set by the user. Note that, if the  size of the dense array is not a product of the size of the  sparse array and some perfect square, the aspect ratio of  the dense grid may be slightly different from that of the  sparse grid.

The default value of 'ZDS' is 1.

'ZDU' - Z Data Value, Unscaled - Real

The parameter 'ZDU' is just like 'ZDV' (which see, below),  but the value is unscaled.

'ZDV' - Z Data Value - Real

The parameter 'ZDV' is mostly for output. Its value may be  retrieved in a user version of CPCHHL to retrieve the value  of the high or low which is being labeled. If a character  string representing the value is desired, CPGETC may be  used to obtain it (as modified by the current scale  factor); thus, to obtain the character representation of an  arbitrary value in a form consistent with the other values  on a contour plot, set 'ZDV' with a call to CPSETR and  retrieve the value of 'ZDV' with a call to CPGETC; if an  unscaled value is desired, use the parameter name 'ZDU' in  the call to CPGETC.

'ZMN' - Z Minimum Value - Real

The minimum value in the field, as found by CPRECT, CPSPS1,  or CPSPS2. For output only.

'ZMX' - Z Maximum Value - Real

The maximum value in the field, as found by CPRECT, CPSPS1,  or CPSPS2. For output only.

See Also

Online: cpgetc, cpgeti, cpgetr, cprset, cpsetc, cpseti, cpsetr

Hardcopy: NCAR Graphics Contouring and Mapping Tutorial

Info

March 1993 UNIX NCAR GRAPHICS