564 lines
14 KiB
Fortran
564 lines
14 KiB
Fortran
|
! SUB_SHUILIANGJISUAN.f90
|
|||
|
!
|
|||
|
! FUNCTIONS/SUBROUTINES exported from SUB_SHUILIANGJISUAN.dll:
|
|||
|
! SUB_SHUILIANGJISUAN - subroutine
|
|||
|
!
|
|||
|
subroutine SUB_SHUILIANGJISUAN( NDATA ,& ! <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD> // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
LONG ,& ! <20>ӵ<EFBFBD><D3B5><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
INbd ,& ! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
INzd ,& ! <20>߳<D7B8>
|
|||
|
INsm ,& ! <20><><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>
|
|||
|
INrough ,& ! <20><><EFBFBD><EFBFBD>
|
|||
|
ZZ0 ,& ! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼˮλ
|
|||
|
DB ,& ! <20><><EFBFBD>α߽<CEB1><DFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1.ˮλ<CBAE>߽<EFBFBD> 2.<2E><><EFBFBD><EFBFBD><EFBFBD>߽<EFBFBD>
|
|||
|
UQ ,& ! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
DQH ,& ! <20><><EFBFBD><EFBFBD>ˮλ/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
dt ,& ! <20><><EFBFBD>㲽<EFBFBD><E3B2BD><EFBFBD><EFBFBD> <20>룩
|
|||
|
OUTT ,& ! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
OUTQ ,& ! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
OUTH ) ! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˮλ
|
|||
|
|
|||
|
! Expose subroutine SUB_SHUILIANGJISUAN to users of this DLL
|
|||
|
!
|
|||
|
!DEC$ ATTRIBUTES DLLEXPORT::SUB_SHUILIANGJISUAN
|
|||
|
|
|||
|
! Variables
|
|||
|
|
|||
|
INTEGER::FHD
|
|||
|
|
|||
|
INTEGER::NRIVER
|
|||
|
INTEGER::NSECT
|
|||
|
INTEGER::MRIVER
|
|||
|
INTEGER::KRC
|
|||
|
INTEGER::NDATA
|
|||
|
|
|||
|
REAL::ZZ0
|
|||
|
|
|||
|
INTEGER::DB
|
|||
|
|
|||
|
REAL::UQ(NDATA)
|
|||
|
REAL::DQH(NDATA)
|
|||
|
|
|||
|
REAL::OUTQ(1000)
|
|||
|
REAL::OUTH(1000)
|
|||
|
REAL::OUTT(1000)
|
|||
|
|
|||
|
REAL::DDGC ! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̶<EFBFBD><CCB6>߳<EFBFBD>
|
|||
|
|
|||
|
REAL::MAXH
|
|||
|
|
|||
|
INTEGER::MY ! 1.<2E><><EFBFBD><EFBFBD> 2.δ<><CEB4><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
integer River,tstep
|
|||
|
! node
|
|||
|
INTEGER,ALLOCATABLE::Ns(:),Pc(:),Nrc(:,:),Lc(:,:)
|
|||
|
REAL,ALLOCATABLE::Dric(:,:),Qj(:,:,:),Asave(:,:)
|
|||
|
! section
|
|||
|
REAL,ALLOCATABLE::ds(:,:),bd(:,:),zd(:,:),sm(:,:), rough(:,:)
|
|||
|
! boundary
|
|||
|
INTEGER,ALLOCATABLE::UB1(:),UB2(:),DB1(:),DB2(:),NUB(:,:),NDB(:,:)
|
|||
|
REAL,ALLOCATABLE::UBV(:,:),Aphi(:,:),DBV(:,:),Gate(:,:)
|
|||
|
REAL::ql,Zctr
|
|||
|
! calcu
|
|||
|
REAL::dt,sita,Bsor1,Bsor2
|
|||
|
! zzqq
|
|||
|
REAL,ALLOCATABLE::Z0(:,:),Q0(:,:),Z(:,:),Q(:,:),V(:,:)
|
|||
|
! r_bv
|
|||
|
REAL::condu,condd(3)
|
|||
|
! BARC
|
|||
|
REAL::Bs,As,Rs,Cs
|
|||
|
|
|||
|
REAL,ALLOCATABLE::Qp(:)
|
|||
|
REAL,ALLOCATABLE::Zc(:,:),Qc(:,:)
|
|||
|
|
|||
|
INTEGER::I
|
|||
|
INTEGER::II
|
|||
|
|
|||
|
REAL::LONG
|
|||
|
|
|||
|
REAL::INbd
|
|||
|
REAL::INzd
|
|||
|
REAL::INsm
|
|||
|
REAL::INrough
|
|||
|
|
|||
|
INTEGER::TEMP
|
|||
|
|
|||
|
!OPEN(1,FILE='OUTFHDL.TXT')
|
|||
|
!WRITE(1,*)' ! <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD> ', NDATA ,&
|
|||
|
! ' ! <20>ӵ<EFBFBD><D3B5><EFBFBD><EFBFBD><EFBFBD> ', LONG ,&
|
|||
|
! '! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ', INbd ,&
|
|||
|
! '! <20>߳<D7B8> ' , INzd ,&
|
|||
|
! '! <20><><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5> ', INsm ,&
|
|||
|
! ' ! <20><><EFBFBD><EFBFBD> ' , INrough ,&
|
|||
|
! ' ! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼˮλ ', ZZ0 ,&
|
|||
|
! ' ! <20><><EFBFBD>α߽<CEB1><DFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1.ˮλ<CBAE>߽<EFBFBD> 2.<2E><><EFBFBD><EFBFBD><EFBFBD>߽<EFBFBD> ', DB ,&
|
|||
|
! ' ! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ' , UQ ,&
|
|||
|
! ' ! <20><><EFBFBD><EFBFBD>ˮλ/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ', DQH ,&
|
|||
|
! ' ! <20><><EFBFBD>㲽<EFBFBD><E3B2BD><EFBFBD><EFBFBD> <20>룩 ', dt ,&
|
|||
|
! '! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̶<EFBFBD><CCB6>߳<EFBFBD> ', DDGC
|
|||
|
FHD = 0
|
|||
|
TEMP = 0
|
|||
|
|
|||
|
! 1.<2E><><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD>̬<EFBFBD><CCAC><EFBFBD><EFBFBD>
|
|||
|
!open(1,file='<27>ӵ<EFBFBD><D3B5><EFBFBD>̬<EFBFBD><CCAC><EFBFBD><EFBFBD>.TXT')
|
|||
|
|
|||
|
! <20><><EFBFBD>룺1.<2E>ӵ<EFBFBD><D3B5><EFBFBD><EFBFBD><EFBFBD> 2.<2E>ӵ<EFBFBD><D3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ 3.<2E>ӵ<EFBFBD><D3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ 4.<2E><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
|
|||
|
!CALL SUB_GETNXT(1)
|
|||
|
!read(1,*)
|
|||
|
nriver = 1
|
|||
|
nsect = 6
|
|||
|
krc = 0
|
|||
|
|
|||
|
mriver=nsect - 1 ! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD>ģ<EFBFBD><EFBFBD><CEA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD><CDB5>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD><EFBFBD>-1<><31>
|
|||
|
|
|||
|
ALLOCATE(Ns(nriver),Pc(nriver),Nrc(krc,nriver),Lc(krc,nriver))
|
|||
|
ALLOCATE(Dric(krc,nriver),Qj(ndata,krc,nriver),Asave(krc,nriver))
|
|||
|
ALLOCATE(ds(mriver,nriver),bd(nsect,nriver),zd(nsect,nriver),sm(nsect,nriver), rough(nsect,nriver))
|
|||
|
ALLOCATE(UB1(nriver),UB2(nriver),DB1(nriver),DB2(nriver),NUB(2,nriver),NDB(2,nriver))
|
|||
|
ALLOCATE(UBV(ndata,nriver),Aphi(2,nriver),DBV(ndata,nriver),Gate(4,nriver))
|
|||
|
ALLOCATE(Z0(nsect,nriver),Q0(nsect,nriver),Z(nsect,nriver),Q(nsect,nriver),V(nsect,nriver))
|
|||
|
ALLOCATE(Qp(ndata))
|
|||
|
ALLOCATE(Zc(nsect,nriver),Qc(nsect,nriver))
|
|||
|
|
|||
|
!<21><><EFBFBD>룺 1.<2E>ӵ<EFBFBD><D3B5><EFBFBD><EFBFBD><EFBFBD> 2.<2E>ӵ<EFBFBD><D3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 3.<2E>ӵ<EFBFBD><D3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
! CALL SUB_GETNXT(1)
|
|||
|
! DO I = 1,nriver
|
|||
|
!read(1,*)II,Ns(i),Pc(i)
|
|||
|
! END DO
|
|||
|
Ns(1) = 6
|
|||
|
Pc(1) = 0
|
|||
|
|
|||
|
!<21><><EFBFBD>룺! 1.<2E>ӵ<EFBFBD><D3B5><EFBFBD><EFBFBD><EFBFBD> 2.<2E>ӵ<EFBFBD><D3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD> 3.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 4.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD>㣬2<E3A3AC><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3<EFBFBD><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˮ<EFBFBD><CBAE>
|
|||
|
! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĺӵ<C4BA><D3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˮ<EFBFBD><CBAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㣺1<E3A3BA><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㣺-1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˮ<EFBFBD><CBAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
Nrc = 0
|
|||
|
Lc = 0
|
|||
|
Dric = 0
|
|||
|
! DO J = 1,nriver
|
|||
|
! DO I = 1,Pc(J)
|
|||
|
! CALL SUB_GETNXT(1)
|
|||
|
!read(1,*)II,Nrc(i,j),Lc(i,j),Dric(i,j)
|
|||
|
! END DO
|
|||
|
! END DO
|
|||
|
|
|||
|
! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
Qj = 0.0
|
|||
|
!DO k=1,nriver
|
|||
|
! DO j=1,Pc(k)
|
|||
|
! CALL SUB_GETNXT(1)
|
|||
|
! if(Lc(j,k).eq.2)then
|
|||
|
! read(1,*)II,II,(Qj(i,j,k),i=1,ndata)
|
|||
|
! end if
|
|||
|
! END DO
|
|||
|
! END DO
|
|||
|
|
|||
|
! <20><><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD>ˮ<EFBFBD><CBAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˮ<EFBFBD><CBAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>m2<6D><32>
|
|||
|
Asave = 0.0
|
|||
|
!DO k=1,nriver
|
|||
|
! DO j=1,Pc(k)
|
|||
|
! if(Lc(j,k).eq.3)then
|
|||
|
! CALL SUB_GETNXT(1)
|
|||
|
! read(1,*)Asave(j,k)
|
|||
|
! end if
|
|||
|
! END DO
|
|||
|
! END DO
|
|||
|
|
|||
|
! 2.<2E><><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
! CALL SUB_GETNXT(1)
|
|||
|
! ds = 0.0
|
|||
|
! DO J = 1,nriver
|
|||
|
! DO I = 1,Ns(j)-1
|
|||
|
!read(1,*)II,II,ds(i,j) ! ÿ<><C3BF><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD><EFBFBD>εij<CEB5><C4B3>ȣ<EFBFBD><C8A3><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD>㡢<EFBFBD><E3A1A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>μ<EFBFBD><CEBC><EFBFBD><EFBFBD><EFBFBD>ˮ<EFBFBD><CBAE><EFBFBD>ij<EFBFBD><C4B3><EFBFBD>ȡ0<C8A1><30>ÿ<EFBFBD><C3BF><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD><EFBFBD><EFBFBD>ĩ<C4A9>γ<EFBFBD><CEB3>ȱ<EFBFBD><C8B1><EFBFBD>ȡһ<C8A1><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>
|
|||
|
! END DO
|
|||
|
! END DO
|
|||
|
|
|||
|
ds(:,1) = LONG/5
|
|||
|
|
|||
|
! CALL SUB_GETNXT(1)
|
|||
|
! bd = 0.0
|
|||
|
! zd = 0.0
|
|||
|
! sm = 0.0
|
|||
|
! rough = 0.0
|
|||
|
! DO j=1,nriver
|
|||
|
! DO I =1,Ns(j)
|
|||
|
!read(1,*)II,II,bd(i,j),zd(i,j),sm(i,j),rough(i,j) ! <20><><EFBFBD>ζ<EFBFBD><CEB6><EFBFBD><EFBFBD><EFBFBD><D7BF><EFBFBD><EFBFBD>̡߳<DFB3><CCA1><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
! END DO
|
|||
|
! END DO
|
|||
|
|
|||
|
bd = INbd
|
|||
|
zd = INzd
|
|||
|
sm = INsm
|
|||
|
rough = INrough
|
|||
|
|
|||
|
! 3.<2E><><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><D3B5>߽<EFBFBD><DFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
! CALL SUB_GETNXT(1)
|
|||
|
! read(1,*)ZZ0,Zctr ! ZZ0<5A><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼˮλ,Zctr<74><72><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD>ĩ<EFBFBD>˵<EFBFBD><CBB5><EFBFBD>բ<EFBFBD><D5A2><EFBFBD>п<EFBFBD><D0BF><EFBFBD>ˮλ,
|
|||
|
|
|||
|
Zctr = 0.0
|
|||
|
|
|||
|
Scanal = 0.0 ! Scanal<61><6C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>кӵ<D0BA><D3B5>ĺϼƳ<CFBC><C6B3>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD>ڼ<EFBFBD><DABC><EFBFBD><EFBFBD>Բ<EFBFBD><D4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ql
|
|||
|
|
|||
|
DO J = 1,nriver
|
|||
|
DO I = 1,Ns(j)-1
|
|||
|
Scanal = Scanal + ds(i,j) ! ÿ<><C3BF><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD><EFBFBD>εij<CEB5><C4B3>ȣ<EFBFBD><C8A3><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD>㡢<EFBFBD><E3A1A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>μ<EFBFBD><CEBC><EFBFBD><EFBFBD><EFBFBD>ˮ<EFBFBD><CBAE><EFBFBD>ij<EFBFBD><C4B3><EFBFBD>ȡ0<C8A1><30>ÿ<EFBFBD><C3BF><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD><EFBFBD><EFBFBD>ĩ<C4A9>γ<EFBFBD><CEB3>ȱ<EFBFBD><C8B1><EFBFBD>ȡһ<C8A1><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>
|
|||
|
END DO
|
|||
|
END DO
|
|||
|
|
|||
|
!CALL SUB_GETNXT(1)
|
|||
|
!DO I = 1,ndata
|
|||
|
! read(1,*)II,Qp(i) ! Qp<51><70><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
! END DO
|
|||
|
|
|||
|
Qp = 0.0
|
|||
|
|
|||
|
! UB1<42><31><EFBFBD>α߽<CEB1><DFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><31>1<EFBFBD><31><EFBFBD><EFBFBD>ˮλ<CBAE>߽磬2<E7A3AC><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߽<EFBFBD>,3<><33><EFBFBD><EFBFBD>ˮλ<CBAE><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>
|
|||
|
! UB2<42><32><EFBFBD>α߽<CEB1><DFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2<EFBFBD><32>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߽磬2<E7A3AC><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڱ߽磩
|
|||
|
! DB1<42><31><EFBFBD>α߽<CEB1><DFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><31>1<EFBFBD><31><EFBFBD><EFBFBD>ˮλ<CBAE>߽磬2<E7A3AC><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߽<EFBFBD>,3<><33><EFBFBD><EFBFBD>ˮλ<CBAE><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>
|
|||
|
! DB2<42><32><EFBFBD>α߽<CEB1><DFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2<EFBFBD><32>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߽磬2<E7A3AC><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڱ߽磩
|
|||
|
!CALL SUB_GETNXT(1)
|
|||
|
! DO I = 1,nriver
|
|||
|
! read(1,*)II,UB1(i),UB2(i),DB1(i),DB2(i)
|
|||
|
!END DO
|
|||
|
|
|||
|
|
|||
|
|
|||
|
UB1(1) = 2
|
|||
|
UB2(1) = 1
|
|||
|
|
|||
|
DB1(1) = DB
|
|||
|
DB2(1) = 1
|
|||
|
|
|||
|
|
|||
|
!CALL SUB_GETNXT(1)
|
|||
|
UBV = 0.0
|
|||
|
NUB = 0
|
|||
|
!DO i=1,nriver
|
|||
|
! if(UB2(i).eq.1)then ! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD><CEBA><EFBFBD><EFBFBD>ⲿ<EFBFBD>߽<EFBFBD>
|
|||
|
! read(1,*)II,II,II,(UBV(j,i),j=1,ndata) ! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߽<EFBFBD><DFBD><EFBFBD><EFBFBD>洦<EFBFBD><E6B4A6>ˮλ<CBAE><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
! elseif(UB2(i).eq.2)then ! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD><CEBA><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2>߽<EFBFBD>
|
|||
|
! read(1,*)II,II,II,(NUB(j,i),j=1,2) ! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڱ߽<DAB1><DFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵĺӵ<C4BA><D3B5><EFBFBD><EFBFBD>š<EFBFBD><EFBFBD>α<EFBFBD><CEB1><EFBFBD>
|
|||
|
! endif
|
|||
|
! END DO
|
|||
|
|
|||
|
DO I = 1,ndata
|
|||
|
UBV(I,1) = UQ(I)
|
|||
|
END DO
|
|||
|
|
|||
|
!CALL SUB_GETNXT(1)
|
|||
|
!DO i=1,nriver
|
|||
|
! if(DB2(i).eq.1)then ! <20><><EFBFBD><EFBFBD><EFBFBD>ⲿ
|
|||
|
! if(DB1(i).eq.3)then ! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>բ<EFBFBD>³<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>
|
|||
|
! read(1,*)II,II,II,(DBV(j,i),j=1,ndata),(Gate(j,i),j=1,4) ! <20><><EFBFBD><EFBFBD> Gate(1,i) = բ<><D5A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Gate(2,i) = <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Gate(3,i) = <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽC1<43><31>Gate(4,i) = <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽC2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽQ=C1*B*e*dZ^C2<43>е<EFBFBD>C1<43><31>C2<43><32>
|
|||
|
! ELSE
|
|||
|
! read(1,*)II,II,II,(DBV(j,i),j=1,ndata) ! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߽<EFBFBD><DFBD><EFBFBD><EFBFBD>洦<EFBFBD><E6B4A6>ˮλ<CBAE><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>բ<EFBFBD>³<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>
|
|||
|
! end if
|
|||
|
! elseif(DB2(i).eq.2)then ! <20><><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD>
|
|||
|
! if(DB1(i).eq.2)then
|
|||
|
! read(1,*)II,II,II,(NDB(j,i),j=1,2),(Aphi(j,i),j=1,2) ! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڱ߽磨<DFBD>ܺ<EFBFBD><DCBA><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5> <20><><EFBFBD><EFBFBD><EFBFBD>ڱ߽<DAB1>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>ˮλ<CBAE><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ǹܺ<C7B9><DCBA><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>ṩ<EFBFBD><E1B9A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>
|
|||
|
! ELSE
|
|||
|
! read(1,*)II,II,II,(NDB(j,i),j=1,2) ! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڱ߽<DAB1><DFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵĺӵ<C4BA><D3B5><EFBFBD><EFBFBD>š<EFBFBD><EFBFBD>α<EFBFBD><CEB1><EFBFBD>
|
|||
|
! end if
|
|||
|
! endif
|
|||
|
!END DO
|
|||
|
|
|||
|
DO I = 1,ndata
|
|||
|
DBV(I,1) = DQH(I)
|
|||
|
END DO
|
|||
|
|
|||
|
! 4.<2E><><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
!CALL SUB_GETNXT(1)
|
|||
|
!read(1,*)period,dt,sita ! period<6F><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Сʱ<D0A1><CAB1><EFBFBD><EFBFBD>dt<64><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>䲽<EFBFBD><E4B2BD><EFBFBD><EFBFBD><EFBFBD>룩,sita<74><61><EFBFBD><EFBFBD>ˮ<EFBFBD><CBAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽȨϵ<C8A8><CFB5>
|
|||
|
!CALL SUB_GETNXT(1)
|
|||
|
!read(1,*)sorz,sorq,epsz,epsq ! sorz<72><7A>sorq<72><71><EFBFBD><EFBFBD>ˮλ<CBAE><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɳ<EFBFBD><C9B3><EFBFBD><EFBFBD><EFBFBD>,epsz<73><7A>epsq<73><71><EFBFBD><EFBFBD>ˮλ<CBAE><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƾ<EFBFBD><C6BE><EFBFBD>
|
|||
|
!CALL SUB_GETNXT(1)
|
|||
|
!read(1,*)Bsor1,Bsor2 ! Bsor1<72><31>Bsor2<72><32><EFBFBD><EFBFBD>ˮբ<CBAE><D5A2><EFBFBD>߽硢<DFBD>ܺ<EFBFBD><DCBA>ڱ߽<DAB1><DFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5>ɳ<EFBFBD><C9B3><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
!close(1)
|
|||
|
|
|||
|
period =REAL( NDATA - 1 )
|
|||
|
|
|||
|
! read(1,*)dt
|
|||
|
|
|||
|
sita = 0.7
|
|||
|
|
|||
|
sorz = 0.3
|
|||
|
sorq = 0.3
|
|||
|
epsz = 0.01
|
|||
|
epsq = 0.1
|
|||
|
|
|||
|
Bsor1 = 0.3
|
|||
|
Bsor2 = 0.1
|
|||
|
|
|||
|
|
|||
|
! <20><><EFBFBD><EFBFBD>ʱ<EFBFBD>䲽<EFBFBD><E4B2BD>
|
|||
|
maxtstep=period*3600/dt
|
|||
|
maxiter=1000 ! <20><><EFBFBD><EFBFBD>ģ<EFBFBD>ⲽ<EFBFBD><E2B2BD>
|
|||
|
|
|||
|
! <20><><EFBFBD>ӵ<EFBFBD>ˮλ<CBAE><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
|
|||
|
DO river=1,nriver
|
|||
|
DO Is=1,Ns(river)
|
|||
|
Z0(Is,river)=ZZ0
|
|||
|
Q0(Is,river)=0.0
|
|||
|
END DO
|
|||
|
END DO
|
|||
|
|
|||
|
! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˮλ<CBAE><CEBB><EFBFBD><EFBFBD>
|
|||
|
!open(1,file='<27>ӵ<EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˮλ<CBAE>仯.TXT')
|
|||
|
!open(2,file='<27>ӵ<EFBFBD>2<EFBFBD><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˮλ<CBAE>仯.TXT')
|
|||
|
!open(3,file='<27>ӵ<EFBFBD>3<EFBFBD><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˮλ<CBAE>仯.TXT')
|
|||
|
!open(4,file='<27>ӵ<EFBFBD>4<EFBFBD><34><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˮλ<CBAE>仯.TXT')
|
|||
|
!
|
|||
|
!open(11,file='<27>ӵ<EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>仯.TXT')
|
|||
|
!open(12,file='<27>ӵ<EFBFBD>2<EFBFBD><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>仯.TXT')
|
|||
|
!open(13,file='<27>ӵ<EFBFBD>3<EFBFBD><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>仯.TXT')
|
|||
|
!open(14,file='<27>ӵ<EFBFBD>4<EFBFBD><34><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>仯.TXT')
|
|||
|
|
|||
|
! ----------------------------------------------------------------------------------
|
|||
|
! <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD><C3BF>ʱ<EFBFBD>̵<EFBFBD>ˮλ<CBAE><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
! ----------------------------------------------------------------------------------
|
|||
|
DO tstep=1,maxtstep ! <20><><EFBFBD><EFBFBD><EFBFBD>ۼ<EFBFBD><DBBC><EFBFBD>
|
|||
|
|
|||
|
TEMP = TEMP + 1
|
|||
|
ttime=dt*tstep/3600.0 ! <20><>ʵʱ<CAB5><CAB1>
|
|||
|
! write(*,15)ttime
|
|||
|
|
|||
|
iter=0
|
|||
|
DO river=1,nriver
|
|||
|
DO Is=1,Ns(river)
|
|||
|
Z(Is,river)=Z0(Is,river)
|
|||
|
Q(Is,river)=Q0(Is,river)
|
|||
|
END DO
|
|||
|
END DO
|
|||
|
|
|||
|
! <20><><EFBFBD>㵱ǰʱ<C7B0><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С
|
|||
|
call int_a( ttime ,& ! <20><>ʵʱ<CAB5><CAB1> // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
ndata ,& ! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>仯<EFBFBD><E4BBAF><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
|
|||
|
Qp ,& ! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>仯<EFBFBD><E4BBAF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
fc ) ! <20><>ǰʱ<C7B0><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
ql=fc/Scanal
|
|||
|
|
|||
|
25 iter=iter+1
|
|||
|
|
|||
|
DO river=1,nriver
|
|||
|
DO Is=1,Ns(river)
|
|||
|
Zc(Is,river)=Z(Is,river)
|
|||
|
Qc(Is,river)=Q(Is,river)
|
|||
|
END DO
|
|||
|
END DO
|
|||
|
|
|||
|
DO river=1,nriver
|
|||
|
! ȷ<><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>̺Ӷ<CCBA><D3B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>α߽<CEB1><DFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
|
|||
|
call sub_bound( NRIVER ,&
|
|||
|
NSECT ,&
|
|||
|
MRIVER ,&
|
|||
|
KRC ,&
|
|||
|
NDATA ,&
|
|||
|
river ,&
|
|||
|
tstep ,&
|
|||
|
Ns ,&
|
|||
|
Pc ,&
|
|||
|
Nrc ,&
|
|||
|
Lc ,&
|
|||
|
Dric ,&
|
|||
|
Qj ,&
|
|||
|
Asave ,&
|
|||
|
UB1 ,&
|
|||
|
UB2 ,&
|
|||
|
DB1 ,&
|
|||
|
DB2 ,&
|
|||
|
NUB ,&
|
|||
|
NDB ,&
|
|||
|
UBV ,&
|
|||
|
Aphi ,&
|
|||
|
DBV ,&
|
|||
|
Gate ,&
|
|||
|
ql ,&
|
|||
|
Zctr ,&
|
|||
|
dt ,&
|
|||
|
sita ,&
|
|||
|
Bsor1 ,&
|
|||
|
Bsor2 ,&
|
|||
|
Z0 ,&
|
|||
|
Q0 ,&
|
|||
|
Z ,&
|
|||
|
Q ,&
|
|||
|
V ,&
|
|||
|
condu ,&
|
|||
|
condd )
|
|||
|
|
|||
|
! <20><><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>δ֪ʱ<D6AA><CAB1>ˮλZ<CEBB><5A><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Q
|
|||
|
call sub_QZ( NRIVER ,&
|
|||
|
NSECT ,&
|
|||
|
MRIVER ,&
|
|||
|
KRC ,&
|
|||
|
NDATA ,&
|
|||
|
river ,&
|
|||
|
tstep ,&
|
|||
|
Ns ,&
|
|||
|
Pc ,&
|
|||
|
Nrc ,&
|
|||
|
Lc ,&
|
|||
|
Dric ,&
|
|||
|
Qj ,&
|
|||
|
Asave ,&
|
|||
|
ds ,&
|
|||
|
bd ,&
|
|||
|
zd ,&
|
|||
|
sm ,&
|
|||
|
rough ,&
|
|||
|
UB1 ,&
|
|||
|
UB2 ,&
|
|||
|
DB1 ,&
|
|||
|
DB2 ,&
|
|||
|
NUB ,&
|
|||
|
NDB ,&
|
|||
|
UBV ,&
|
|||
|
Aphi ,&
|
|||
|
DBV ,&
|
|||
|
Gate ,&
|
|||
|
ql ,&
|
|||
|
Zctr ,&
|
|||
|
dt ,&
|
|||
|
sita ,&
|
|||
|
Bsor1 ,&
|
|||
|
Bsor2 ,&
|
|||
|
Z0 ,&
|
|||
|
Q0 ,&
|
|||
|
Z ,&
|
|||
|
Q ,&
|
|||
|
V ,&
|
|||
|
condu ,&
|
|||
|
condd ,&
|
|||
|
Bs ,&
|
|||
|
As ,&
|
|||
|
Rs ,&
|
|||
|
Cs )
|
|||
|
|
|||
|
END DO
|
|||
|
|
|||
|
dzmax=0.0
|
|||
|
dqmax=0.0
|
|||
|
DO river=1,nriver
|
|||
|
DO Is=1,Ns(river)
|
|||
|
dz=abs(Z(Is,river)-Zc(Is,river))
|
|||
|
dq=abs(Q(Is,river)-Qc(Is,river))
|
|||
|
if(dz.gt.dzmax)then
|
|||
|
dzmax=dz
|
|||
|
maxz_r=river
|
|||
|
maxz_s=Is
|
|||
|
end if
|
|||
|
if(dq.gt.dqmax)then
|
|||
|
dqmax=dq
|
|||
|
maxq_r=river
|
|||
|
maxq_s=Is
|
|||
|
end if
|
|||
|
END DO
|
|||
|
END DO
|
|||
|
|
|||
|
if(dzmax.gt.epsz.or.dqmax.gt.epsq)then
|
|||
|
! write(*,50)iter,maxz_r,maxz_s,dzmax,maxq_r,maxq_s,dqmax
|
|||
|
|
|||
|
DO river=1,nriver
|
|||
|
DO Is=1,Ns(river)
|
|||
|
Z(Is,river)=(1.0-sorz)*Zc(Is,river)+sorz*Z(Is,river)
|
|||
|
Q(Is,river)=(1.0-sorq)*Qc(Is,river)+sorq*Q(Is,river)
|
|||
|
END DO
|
|||
|
END DO
|
|||
|
|
|||
|
if(iter.le.maxiter)then
|
|||
|
goto 25
|
|||
|
else
|
|||
|
! write(*,55)
|
|||
|
goto 600
|
|||
|
end if
|
|||
|
|
|||
|
else
|
|||
|
|
|||
|
DO river=1,nriver
|
|||
|
DO Is=1,Ns(river)
|
|||
|
! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>漸<EFBFBD><E6BCB8>Ҫ<EFBFBD><D2AA>
|
|||
|
call sub_sect(NRIVER ,&
|
|||
|
NSECT ,&
|
|||
|
MRIVER ,&
|
|||
|
KRC ,&
|
|||
|
NDATA ,&
|
|||
|
river,Is,Z(Is,river),&
|
|||
|
ds ,&
|
|||
|
bd ,&
|
|||
|
zd ,&
|
|||
|
sm ,&
|
|||
|
rough ,&
|
|||
|
Bs ,&
|
|||
|
As ,&
|
|||
|
Rs ,&
|
|||
|
Cs )
|
|||
|
|
|||
|
|
|||
|
V(Is,river)=Q(Is,river)/As
|
|||
|
END DO
|
|||
|
END DO
|
|||
|
|
|||
|
! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͺӵ<CDBA><D3B5><EFBFBD>ˮλ<CBAE><CEBB><EFBFBD><EFBFBD><EFBFBD>仯<EFBFBD><E4BBAF><EFBFBD><EFBFBD>
|
|||
|
DO jj=1,nriver
|
|||
|
!write(jj,80)ttime,(Z(ii,jj),ii=1,Ns(jj))
|
|||
|
END DO
|
|||
|
DO jj=1,nriver
|
|||
|
jj1=jj+10
|
|||
|
!write(jj1,80)ttime,(Q(ii,jj),ii=1,Ns(jj))
|
|||
|
END DO
|
|||
|
|
|||
|
IF(FHD==1)THEN
|
|||
|
OUTQ(TEMP ) = Q(5,1)*0.9
|
|||
|
OUTH(TEMP ) = Z(5,1)*0.95
|
|||
|
ELSE
|
|||
|
OUTQ(TEMP ) = Q(5,1)
|
|||
|
OUTH(TEMP ) = Z(5,1)
|
|||
|
END IF
|
|||
|
|
|||
|
OUTT(TEMP ) = ttime
|
|||
|
|
|||
|
DO river=1,nriver
|
|||
|
DO Is=1,Ns(river)
|
|||
|
Z0(Is,river)=Z(Is,river)
|
|||
|
Q0(Is,river)=Q(Is,river)
|
|||
|
END DO
|
|||
|
END DO
|
|||
|
|
|||
|
end if
|
|||
|
|
|||
|
END DO
|
|||
|
|
|||
|
600 close(100)
|
|||
|
close(2)
|
|||
|
close(3)
|
|||
|
close(4)
|
|||
|
|
|||
|
close(11)
|
|||
|
close(12)
|
|||
|
close(13)
|
|||
|
close(14)
|
|||
|
|
|||
|
15 format(55x,'time=',f10.2)
|
|||
|
50 format(55x,'iter=',i5/1x,'maxz_r=',i5,5x,'maxz_s=',i5,5x,'dzmax=',e10.4/1x,'maxq_r=',i5,5x,'maxq_s=',i5,5x,'dqmax=',e10.4)
|
|||
|
55 format(1x,'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɢ')
|
|||
|
80 format(1x,40f12.4)
|
|||
|
|
|||
|
|
|||
|
!MAXH = MAXVAL(OUTH)
|
|||
|
!IF(MAXH.GT.DDGC)THEN
|
|||
|
! MY = 1
|
|||
|
!ELSE
|
|||
|
! MY = 0
|
|||
|
!END IF
|
|||
|
|
|||
|
!WRITE(1,*)' ! 1.<2E><><EFBFBD><EFBFBD> 0.δ<><CEB4><EFBFBD><EFBFBD> ' , MY ,&
|
|||
|
! '! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1> ', OUTT ,&
|
|||
|
! '! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ', OUTQ ,&
|
|||
|
! '! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˮλ ', OUTH
|
|||
|
|
|||
|
CLOSE(1)
|
|||
|
|
|||
|
END SUBROUTINE SUB_SHUILIANGJISUAN
|
|||
|
|