 
      CALL SEQUENCE...
       addf    X1 X2 [ ... X78 ] Z OUTPUT [ -name 1 / 2 / ... / 78 ] [-def]
       subf    X1 X2 Z OUTPUT [ -name 1 / 2 ] [-def]
       mltf    X1 X2 Z OUTPUT [ -name 1 / 2 ] [-def]
       divf    X1 X2 Z OUTPUT [ -name 1 / 2 ] [-def]
       cmlt    X1 X2 Z OUTPUT [ -name 1 / 2 ] [-def]
       cdiv    X1 X2 Z OUTPUT [ -name 1 / 2 ] [-def]
       conjmlt X1 X2 Z OUTPUT [ -name 1 / 2 ] [-def]
 
 
      AUTHOR - J.D.Henderson,  01 JAN 1981.
      LAST REVISION: $Header: /home/cvs/RMNLIB/utils/rdiag/lspgm/addf.ptn,v 4.32 2014/09/25 20:20:45 dugas Exp $
 
 
      DESCRIPTION...
       A SET OF CCC FILE ARITHMETIC PROGRAMS WHICH...
 
       ... PRODUCES FILE Z = X1 + X2 [ + X3 + [ ... + X78 ] ] (addf)
       ... PRODUCES FILE Z = X1 - X2                          (subf)
           ( WHERE ALL Xi MAY CONTAIN REAL OR COMPLEX DATA TYPES )
 
       ... PRODUCES FILE Z = X1 * X2                          (mltf)
       ... PRODUCES FILE Z = X1 / X2                          (divf)
           ( WHERE 1) X1 AND X2 MAY ONLY CONTAIN REAL DATA TYPES
             AND   2) X1/ZERO RETURNS ZERO )
 
       ... PRODUCES FILE Z = X1 * X2                          (cmlt)
       ... PRODUCES FILE Z = X1 * CONJG(Y2)                   (conjmlt)
       ... PRODUCES FILE Z = X1 / X2                          (cdiv)
           ( WHERE 1) X1 AND X2 MAY ONLY CONTAIN COMPLEX DATA TYPES
             AND   2) X1/(0,0) RETURNS ZERO )
 
 
      Notes:
      1) WHEN THE THE NAMES OF CORRESPONDING VARIABLES IN X1 AND X2 ARE
         DIFFERENT, THE PROGRAM WILL REPLACE THEM BY A CHARACTER SEQUENCE
         THAT INDICATES WHAT OPERATION WAS PERFORMED. THIS DEFAULT BEHAVIOR
         CAN BE AVOIDED BY SPECIFYING THE "-name" COMMAND-LINE ARGUMENT WITH
         A VALUE OF THE ORDINAL OF THE INPUT FILE WHOSE NAMES SHOULD BE KEPT.
      2) ADDF CAN ADD UP TO N=78 INPUT FILES. THE (N+1)th FILENAME 
         CORRESPONDS TO THAT OF THE OUTPUT FILE Z.
      3) Operations on arrays that have the same size but different grid
         descriptor sets (GRTYP,IGi) is possible if using the "-na" argument.
      4) MISSING VALUE TREATMENT IS SUPPORTED VIA EITHER THE "MISSING_VALUE"
         ENVIRONMENT VARIABLE OR THE "-mvalue" COMMAND-LINE ARGUMENT.
         TWO PROCESSING OPTIONS ARE SUPPORTED HERE, DEPENDING ON THE "-def"
         COMMAND-LINE ARGUMENT. THE DEFAULT OPTION, WHICH HOLDS WHEN THE
         ARGUMENT IS NOT SPECIFIED, IS AS FOLLOWS :
 
            X1 (not missing) & X2 (not missing) => Z = X1 (operand) X2
            X1 (    missing) & X2 (not missing) => Z = u  (operand) X2
            X1 (not missing) & X2 (    missing) => Z = X1
            X1 (    missing) & X2 (    missing) => Z = Missing value
 
          where 1) (operand) is "+" "*" or "/"; note that these rules
                   also apply to the complex versions of these operands;
                2) u is the operand unit, such that: u (operand) v = v.
 
         OTHERWISE, WHEN "-def" IS SPECIFIED, ANY OPERATION THAT MAKES
         USE OF A MISSING VALUE WILL GENERATE A MISSING VALUE RESULT.
 
 
      EXIT CONDITIONS...
        0 NO PROBLEMS
        1 FEWER RECORDS IN FILE X2 THAN IN FILE X1
        2 RECORDS NOT THE SAME SIZE
        3 PREMATURE EOF ON FILE X1
        4 PREMATURE EOF ON FILE X2
        5 MLT OR DIV FOUND COMPLEX DATA. USE CDIV OR CMLT
        6 CMLT, CDIV OR CONJMLT FOUND NON-COMPLEX DATA
        7 LESS THAN 2 INPUT FILES or MORE THAN 2 AND MODE.NE.ADDF
        8 ERROR IN COMMAND-LINE PARAMETRE FORMAT
