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: /home/cvs/RMNLIB/utils/rdiag/lspgm/shiftf.ptn,v 4.11 2014/09/25 20:20:52 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