 
      CALL SEQUENCES...
       mkmask1  MASKIN OUT1 OUT2 INPUT OUTPUT
       mkmask2  MSKIN1 MSKIN2 MSKOUT OUTPUT
       mkmask3  MSKIN1 MSKIN2 MSKOUT OUTPUT
 
 
      AUTHOR  - B.Dugas, MARS 21/1989.
      LAST REVISION: $Header: /data/armnraid1/cvs/RMNLIB/utils/rdiag/lspgm/mkmask.ptn,v 4.3 2008/05/03 21:06:30 dugas Exp $
 
 
      DESCRIPTION OF THE DIFFERENT PROGRAMS...
       1) MKMASK1 IS A COMPLETELY (I.E. INCOMPATIBLE) NEW VERSION OF THE 
          OLD XTRAC2 PROGRAM. IT DOES NOT ACTUALLY EXTRACT RECORDS OUT OF
          AN AUXILIARY DATASET (AS BEFORE) BUT RATHER BUILDS ONE OR TWO
          NEW MASKING RECORDS FROM THE ORIGINAL ONE. INPUT INFORMATION
         (FROM UNIT 5) STILL HAS THE SAME MEANING AND FORMAT. 
 
         INPUT PARAMETER SET (DEFAULT VALUES IN PARENTHESIS) ... 
 
          NUMBER (=0)         =  LENGTH OF PARTIAL SERIES. IF  EQUAL 
                                 TO ZERO, YOU TAKE ALL POINTS AS  IN 
                                 PROGRAM  XTRAC. IN  THIS  CASE, OFF 
                                 AND ALIGN ARE IGNORED. 
 
          ALIGNMENT (ALIGN=1) =  1  ON THE START OF THE EVENTS, 
                                 2  ON THE MIDDLE OF THEM, 
                                 3  ON THEIR END. 
 
          OFFSET (OFF=0)      =  STARTING DISTANCE FROM  ALIGNMENT POINT. 
                                 IT CAN BE ANY POSITIVE OR NEGATIVE INTEGER.
 
          IF THE COMBINATION OF PARAMETERS IS SUCH AS TO PRODUCE A SUBSET 
          OF THE ORIGINAL MASK (I.E. EVERY NON-ZERO VALUE OF OUT1 CORRES- 
          PONDS TO NON-ZERO VALUES OF MASKIN) A SECOND OUTPUT MASK (OUT2) 
          IS PRODUCED. THIS NEW MASK WILL HAVE LENGTH EQUAL TO THE NUMBER 
          OF NON-ZERO VALUES FOUND IN MASKIN.  IT WILL BE NULL  WHEN OUT1 
          AND MASKIN ARE NOT IN AGREEMENT, ONE OTHERWISE. 
 
          SEVERAL SETS OF MASK RECORDS CAN BE BUILT BY SIMPLY INCLUDING 
          AS MANY INPUT CARDS AS REQUIRED. 
 
          READ( 5,5000 ) NUMBER,ALIGN,OFF
 5000     FORMAT(10X,3I5)
 
 
         EXAMPLE OF INPUT CARD...
 
  MKMASK1     7    2    0
 
         0123456789012345678901234567890123456789012345678901234567890
         1         2         3         4         5         6         7
 
 
       2) MKMASK2 MERGES TWO SERIES OF MASKING RECORDS INTO A NEW 
          SINGLE SET. THE NEW SET OF MASKS IS DEFINED IN THE FOLLOWING 
          WAY... 
 
          A) THE I-TH SET OF RECORDS OF MSKOUT HAS LENGHT EQUAL TO THE 
             NUMBER OF NON-ZERO POINTS OF THE I-TH MSKIN1. 
          B) THERE ARE M RECORDS IN MSKIN1, N RECORDS IN MSKIN2 AND MN 
             RECORDS IN MSKOUT. 
          C) IF THE J-TH  MSKIN1 AND AND I-TH MSKIN2 HAVE CORRESPONDING 
             NON-ZERO POINTS,  THE (I,J)-TH  MSKOUT WILL HAVE ONES  FOR 
             THESE POINTS AND ZERO OTHERWISE. 
 
 
       3) MKMASK3 MERGES TWO SERIES OF  MASKING RECORDS INTO A NEW 
          SINGLE SET. IT PERFORMS AS A FUNCTIONAL INVERSE TO THE MKMASK2 
          PROGRAM. THE NEW MASKS ARE DEFINED IN THE FOLLOWING WAY... 
 
          A) THE RECORDS OF MSKOUT HAVE LENGHT EQUAL TO THE NUMBER OF 
             POINTS IN THE FIRST RECORD OF MSKIN1. ONLY THAT RECORD IS 
             IN FACT CONSIDERED. 
          B) THERE ARE THE SAME NUMBER OF RECORDS IN MSKOUT AS IN FILE 
             MASKIN2. 
          C) THE NUMBER OF POINTS  IN ALL RECORDS OF MSKIN2  HAS TO BE 
             EQUAL TO THE NUMBER OF NON-ZERO VALUES IN MSKIN1. THAT IS 
             WERE THE CONNECTION TO XTRAC OCCURS. 
 
 
      EXIT CONDITIONS FOR MKMASK1...
       0 NO PROBLEMS
       1 PROBLEM READING FILE MASKIN
       2 OFFSET GREATER THAN RECORD LENGTH
       3 PREMATURE EOF ON INPUT
 
      EXIT CONDITIONS FOR MKMASK2/MKMASK3...
       0 NO PROBLEMS
       1 UNABLE TO READ MSKIN1
       2 UNABLE TO READ MSKIN2
       3 GRIDS NOT THE SAME SIZE IN MSKIN1 AND MSKIN2
