 
      CALL SEQUENCE...
       shiftf  SERI SHIFT OUTPUT [-delt VAL1 -kind VAL2]
 
 
      DESCRIPTION...
       shiftf - SHIFT (CIRCULAR OR NOT) A TIME-SEQUENCE OF RECORDS.
 
 
      AUTHOR  - B.Dugas, octobre 1995.
      LAST REVISION: $Header: /data/armnraid1/cvs/RMNLIB/utils/rdiag/lspgm/shiftf.ptn,v 4.10 2012/08/29 15:51:34 dugas Exp $
 
 
      PURPOSE - PERFORM A TIME-SHIFT ON A SEQUENCE OF RECORDS OR
                ON TIME SERIES RECORDS. THE OPERATION IS FORWARD
                OR BACKWARD, DEPENDING ON THE SIGN OF THE "DELT"
                PARAMETRE, CIRCULAR OR NON-CIRCULAR, DEPENDING
                ON THE KIND PARAMETRE. THE DEFAULT IS TO DO A
                CIRCULAR SHIFT, THUS CONSERVING ALL INPUT DATA.
                THE NON-CIRCULAR SHIFT FILLS THE RELEVANT
                DISPLACED DATA SECTION WITH ZEROES. 
 
 
      INPUT FILE...
       SERI   = EITHER OF 1) SERIES OF MULT-VARIABLE MULTI-LEVEL SETS,
                WHERE THE DATA MAY BE REAL OR COMPLEX OR 2) A SET
                OF TIME SERIES RECORDS.
 
      NOTE THAT IN CASE 1), THE FILE IS SUPPOSED TO BE SORTED
                ACCORDING TO TIMESTEP/NAME/LEVEL, FROM MOST TO
                LEAST SIGNIFICANT
 
      OUTPUT FILE...
       SHIFT  = FILE CONTAINING THE SHIFTED DATA CORRESPONDING TO SERI.
 
 
      PARAMETERS...
 
       DELT      = THE SHIFT DELTA IN SAMPLE UNITS. POSITIVE (NEGATIVE)
                   VALUES IMPLY A SHIFT TOWARDS THE BEGINNING (END) OF
                   THE TIME SERIES.
       ABS(KIND) = 0 OR 1, CIRCULAR SHIFT (DEFAULT)
                   2,      NON-CIRCULAR SHIFT
       KIND      < 0,      INDIVIDUAL RECORDS ARE THEMSELVES TIME-SERIES
                 >=0,      THE FULL INPUT FILE IS THE TIME-SERIES
 
       READ( 5,5010 ) DELT,KIND
 5010  FORMAT(10X,2I5)
 
 
      EXAMPLE OF INPUT CARD...
 
  XLIN        5    0
 
         0123456789012345678901234567890123456789012345678901234567890
         1         2         3         4         5         6         7
 
 
      EXIT CONDITIONS...
        0 NO PROBLEMS
        1 TOO MANY OR NOT ENOUGH VERTICAL LEVELS ON FILE SERI
        2 NOT ENOUGH ALLOCATABLE MEMORY FOR BASIC FIELDS
       12 CANNOT ALLOCATE MEMORY FOR CIRCULAR BUFFER (KIND=0,1)
        3 PREMATURE EOF ON FILE SERI
        4 AT LEAST ONE TIMESTEP SET IS INCOMPLETE
        5 ERROR READING INPUT PARAMETERS
        6 ERROR READING FILE SERI
        7 DELT IS LARGER THAN LENGTH OF TIME SERIES
