awips2/nativeLib/rary.ohd.ofs/src/fcst_fldwav/TEXT/savc55.f
root 133dc97f67 Initial revision of AWIPS2 11.9.0-7p5
Former-commit-id: 06a8b51d6d [formerly 9f19e3f712 [formerly 64fa9254b946eae7e61bbc3f513b7c3696c4f54f]]
Former-commit-id: 9f19e3f712
Former-commit-id: a02aeb236c
2012-01-06 08:55:05 -06:00

131 lines
3.5 KiB
Fortran

C DESC -- THIS SUBROUTINE STORES THE CARRYOVER DATA AT THE APPROPIATE TIME
C
SUBROUTINE SAVC55(PO,CCO,ICCO,QL,LTQL,POLH,LTPOLH,ITWT,LTITWT,T1,
. LTT1,YD,QD,NB,KRCH,DDX,NQL,LQ1,LQN,NUMLAD,LAD,CHCTW,
. K1,K2,K10,K16)
C
C THIS SUBROUTINE WAS WRITTEN BY:
C JANICE LEWIS HRL MARCH, 1999
C
C
INCLUDE 'common/fdbug'
COMMON/M155/NU,JN,JJ,KIT,G,DT,TT,TIMF,F1
C
DIMENSION PO(*),CCO(*),ICCO(*),QL(*),LTQL(*),POLH(*),LTPOLH(*)
DIMENSION ITWT(*),LTITWT(*),T1(*),LTT1(*),YD(K2,K1),QD(K2,K1)
DIMENSION DDX(K2,K1),NUMLAD(K1),LAD(K16,K1),CHCTW(K16,K1),NQL(K1)
DIMENSION NB(K1),KRCH(K2,K1),LQN(K10,K1),LQ1(K10,K1)
CHARACTER*8 SNAME
C
C ================================= RCS keyword statements ==========
CHARACTER*68 RCSKW1,RCSKW2
DATA RCSKW1,RCSKW2 / '
.$Source: /fs/hseb/ob72/rfc/ofs/src/fcst_fldwav/RCS/savc55.f,v $
. $', '
.$Id: savc55.f,v 1.5 2004/02/02 21:53:55 jgofus Exp $
. $' /
C ===================================================================
C
C
C
DATA SNAME/'SAVC55 '/
C
CALL FPRBUG(SNAME,1,55,IBUG)
C
IYDI=PO(316)-1
IQDI=PO(317)-1
IQLI=PO(318)-1
IPLTI=PO(319)-1
IIWTI=PO(364)-1
NLOCK=PO(321)
LOCK=0
C
LCK=0
LLD=1
DO 1724 J=1,JN
C
C SAVE WSEL'S AND DISCHARGES
C
N=NB(J)
C WRITE(6,1)
C 1 FORMAT(2X,'*********** IN SAVC55 AFTER INITIALIZATION *********')
LIJ=LCAT21(1,J,NB)-1
C WRITE(6,2) IYDI,N,LIJ
C 2 FORMAT(3X,'IYDI=',I5,3X,'N=',I5,3X,'LIJ=',I10)
DO 1722 I=1,N
CCO(IYDI+I)=YD(I,J)
CCO(IQDI+I)=QD(I,J)
1722 CONTINUE
C WRITE(6,9999) (CCO(IYDI+I),I=1,N)
C 9999 FORMAT(2X,'COYDI=',10F10.2)
C WRITE(6,9998) (CCO(IQDI+I),I=1,N)
C 9998 FORMAT(2X,'COQDI=',10F10.2)
IYDI=IYDI+K2
IQDI=IQDI+K2
C
C SAVE LATERAL INFLOWS
C
LT1=LTT1(J)-1
CALL INTERP55(T1(1+LT1),NU,TT,IT1,IT2,TINP)
IF(NQL(J).EQ.0) GO TO 1730
N=NQL(J)
LQL=LCAT21(1,J,NQL)-1
C WRITE(6,4) IQLI,N,LQL
C 4 FORMAT(3X,'IQLI=',I5,3X,'N=',I5,3X,'LQL=',I10)
DO 1728 I=1,N
LOQ=LTQL(I+LQL)-1
DX=0.
L1=LQ1(I,J)
LN=LQN(I,J)-1
DO 1388 K=L1,LN
DX=DX+DDX(K,J)
1388 CONTINUE
C WRITE(6,6) L,LOQ,IT1,IT2,TINP,DDX(L,J),QL(IT1+LOQ),QL(IT2+LOQ)
C 6 FORMAT(4X,'L LOQ IT1 IT2 TINP DDX QL1 QL
C .2='/4I5,2F10.2,2F10.4)
CCO(IQLI+I)=(QL(IT1+LOQ)+TINP*(QL(IT2+LOQ)-QL(IT1+LOQ)))*DX
1728 CONTINUE
C WRITE(6,9997) (CCO(IQLI+I),I=1,N)
C 9997 FORMAT(2X,'COQLI=',10F10.2)
IQLI=IQLI+N
C
C SAVE TARGET POOL ELEVATIONS AND GATE CONTROL SWITCHES
C
1730 IF(NLOCK.EQ.0) GO TO 1724
IF(NUMLAD(J).EQ.0) GO TO 1724
N=NUMLAD(J)
NLD=LCAT21(1,J,NUMLAD)-1
I1=LOCK+1
C I1=LOCK+1
DO 1736 I=1,N
LD=LAD(I,J)
IF(KRCH(LD,J).EQ.28) THEN
LOCK=LOCK+1
LON=LTPOLH(LOCK)-1
LOT=LTITWT(LOCK)-1
CCO(IPLTI+LOCK)=POLH(IT2+LON)+TINP*(POLH(IT1+LON)-POLH(IT2+LON))
ICCO(IIWTI+LOCK)=ITWT(IT2+LOT)+TINP*(ITWT(IT1+LOT)-ITWT(IT2+LOT))
ENDIF
1736 CONTINUE
cc WRITE(6,9995) (CCO(IPLTI+I),I=1,N)
cc 9995 FORMAT(2X,'COPLTI=',10F10.2)
cc WRITE(6,9994) (ICCO(IIWTI+I),I=I1,LOCK)
cc 9994 FORMAT(2X,'COIWTI=',10I10)
C IPLTI=IPLTI+LOCK
C IIWTI=IIWTI+LOCK
C WRITE(6,4) IQLI,N,LQL
1724 CONTINUE
RETURN
END