#! /bin/sh # # Last change: Mihai Dima 2001 # if [ $# -lt 4 ] then echo " " echo " ***** TEXT2CEXT1C ***** " echo " " echo "The programs transforms a TEXT file with two columns" echo " in an EXTRA file with one column" echo "The first column in the TEXT file is ignored" echo " = YYYY" echo " = 1 for monthly values" echo " = 2 for annual values" echo " " echo " Syntax: text1cext1c " echo " " exit 0 else echo " " echo " ***** TEXT2CEXT1C ***** " echo " " echo "file1="$1 echo "file2="$2 echo "Start year="$3 echo "Parameter="$4 cp $1 fort.1 fi cat > text2cext1c.f << EOF PROGRAM PTEXTEXT IMPLICIT REAL (A-H,O-Z) NCHAN=1 READ(*,*)IPARAM OPEN(1,FORM='FORMATTED', * STATUS='UNKNOWN') OPEN(2,FORM='UNFORMATTED', * ACCESS='SEQUENTIAL',STATUS='UNKNOWN') CALL TEXTEXT(IPARAM) STOP END C***************************************************************** SUBROUTINE TEXTEXT(IPARAM) IMPLICIT REAL (A-H,O-Z) C PARAMETER (UNDEF=0.9E+10,UNDEFE=.9*UNDEF) INTEGER IDATA,NREC READ(*,*)NAN NAN=NAN*10000 IF (IPARAM.EQ.1) THEN NAN=NAN+100 N = 0 NREC=0 REWIND 1 1 READ(1,*,END=2) IDATA,X N = N+1 WRITE(2) NAN+(N-1)*100,159,9999,1 WRITE(2) X NREC=NREC+1 IF (N.EQ.12) THEN N=0 NAN=NAN+10000 ENDIF GOTO 1 ENDIF C IF (IPARAM.EQ.2) THEN N=0 NREC=0 REWIND 1 5 READ(1,*,END=2) IX,X C PRINT *,IX,' ',X WRITE(2) NAN,159,9999,1 WRITE(2) X NREC=NREC+1 NAN=NAN+10000 GOTO 5 ENDIF 2 PRINT *,' NUMBER OF RECORDS: ', NREC PRINT *,' REGULAR END ' STOP C END EOF f77 text2cext1c.f -o text2cext1c.x text2cext1c.x $1 $2 << M $4 $3 M cp fort.2 $2 rm fort.1 fort.2 rm text2cext1c.x text2cext1c.f exit