更新 Fortran/SUB_BOUND.f90
This commit is contained in:
parent
c852e41e3c
commit
76b4c54955
@ -1,11 +1,11 @@
|
||||
! ==================================================================================
|
||||
! 确定计算时刻河段上下游边界条件值的子程序
|
||||
! 确定计算时刻河段上下游边界条件值的子程序
|
||||
! ==================================================================================
|
||||
!
|
||||
! 说明:下游外边界条件都给定一个过程,有ndata个数据点(1小时间隔),水位边界即为水位过程,
|
||||
! 流量边界即为流量过程,水位流量关系边界只限挡潮闸情况,给出闸下潮位过程。
|
||||
! 河道末端挡潮闸水位流量关系简化成Q=C1*B*e*dZ^C2。Z>Ztide且Z>Zctr时开闸,
|
||||
! 否则关闸,Zctr是挡潮闸运行控制水位,保证内河不会过低。
|
||||
! 说明:下游外边界条件都给定一个过程,有ndata个数据点(1小时间隔),水位边界即为水位过程,
|
||||
! 流量边界即为流量过程,水位流量关系边界只限挡潮闸情况,给出闸下潮位过程。
|
||||
! 河道末端挡潮闸水位流量关系简化成Q=C1*B*e*dZ^C2。Z>Ztide且Z>Zctr时开闸,
|
||||
! 否则关闸,Zctr是挡潮闸运行控制水位,保证内河不会过低。
|
||||
! ----------------------------------------------------------------------------------
|
||||
SUBROUTINE SUB_BOUND( NRIVER ,&
|
||||
NSECT ,&
|
||||
@ -57,12 +57,15 @@ SUBROUTINE SUB_BOUND( NRIVER ,&
|
||||
INTEGER::Ns(nriver),Pc(nriver),Nrc(krc,nriver),Lc(krc,nriver)
|
||||
REAL::Dric(krc,nriver),Qj(ndata,krc,nriver),Asave(krc,nriver)
|
||||
! boundary
|
||||
INTEGER::UB1(nriver),UB2(nriver),DB1(nriver),DB2(nriver),NUB(2,nriver),NDB(2,nriver)
|
||||
REAL::UBV(ndata,nriver),Aphi(2,nriver),DBV(ndata,nriver),Gate(4,nriver),ql,Zctr
|
||||
INTEGER::UB1(nriver),UB2(nriver),DB1(nriver),DB2(nriver),&
|
||||
NUB(2,nriver),NDB(2,nriver)
|
||||
REAL::UBV(ndata,nriver),Aphi(2,nriver),DBV(ndata,nriver),&
|
||||
Gate(4,nriver),ql,Zctr
|
||||
! calcu
|
||||
REAL::dt,sita,Bsor1,Bsor2
|
||||
! zzqq
|
||||
REAL::Z0(nsect,nriver),Q0(nsect,nriver),Z(nsect,nriver),Q(nsect,nriver),V(nsect,nriver)
|
||||
REAL::Z0(nsect,nriver),Q0(nsect,nriver),Z(nsect,nriver),&
|
||||
Q(nsect,nriver),V(nsect,nriver)
|
||||
! r_bv
|
||||
REAL::condu,condd(3)
|
||||
|
||||
@ -72,14 +75,14 @@ SUBROUTINE SUB_BOUND( NRIVER ,&
|
||||
|
||||
TC=DT*FLOAT(TSTEP)/3600.0
|
||||
|
||||
! 上游边界处理
|
||||
IF(UB2(RIVER).EQ.1)THEN ! 外
|
||||
! 上游边界处理
|
||||
IF(UB2(RIVER).EQ.1)THEN ! 外
|
||||
DO II=1,NDATA
|
||||
ZQ(II)=UBV(II,RIVER)
|
||||
END DO
|
||||
CALL INT_A(TC,NDATA,ZQ,FC)
|
||||
CONDU=FC
|
||||
ELSEIF(UB2(RIVER).EQ.2)THEN ! 内
|
||||
ELSEIF(UB2(RIVER).EQ.2)THEN ! 内
|
||||
IR=NUB(1,RIVER)
|
||||
IS=NUB(2,RIVER)
|
||||
IF(UB1(RIVER).EQ.1)THEN
|
||||
@ -90,7 +93,7 @@ SUBROUTINE SUB_BOUND( NRIVER ,&
|
||||
END IF
|
||||
END IF
|
||||
|
||||
! 下游边界处理
|
||||
! 下游边界处理
|
||||
IF(DB2(RIVER).EQ.1)THEN
|
||||
DO II=1,NDATA
|
||||
ZQ(II)=DBV(II,RIVER)
|
||||
|
Loading…
Reference in New Issue
Block a user