6 SUBROUTINE isba_budget (IO, PK, PEK, DEK, OWATER_BUDGET, PTSTEP,&
7 PWG_INI, PWGI_INI, PWR_INI, PSWE_INI, PRAIN, PSNOW, PEVAP )
52 LOGICAL,
INTENT(IN) :: OWATER_BUDGET
54 REAL,
INTENT(IN) :: PTSTEP
56 REAL,
DIMENSION(:),
INTENT(IN) :: PWG_INI
57 REAL,
DIMENSION(:),
INTENT(IN) :: PWGI_INI
58 REAL,
DIMENSION(:),
INTENT(IN) :: PWR_INI
59 REAL,
DIMENSION(:),
INTENT(IN) :: PSWE_INI
61 REAL,
DIMENSION(:),
INTENT(IN) :: PRAIN
62 REAL,
DIMENSION(:),
INTENT(IN) :: PSNOW
63 REAL,
DIMENSION(:),
INTENT(IN) :: PEVAP
67 REAL,
DIMENSION(SIZE(PEK%XWR)) :: ZINPUT
68 REAL,
DIMENSION(SIZE(PEK%XWR)) :: ZOUTPUT
69 REAL,
DIMENSION(SIZE(PEK%XWR)) :: ZTENDENCY
70 REAL,
DIMENSION(SIZE(PEK%XWR)) :: ZICEFLUX
71 REAL,
DIMENSION(SIZE(PEK%XWR)) :: ZSWE_T
72 REAL,
DIMENSION(SIZE(PEK%XWR)) :: ZWG_T
73 REAL,
DIMENSION(SIZE(PEK%XWR)) :: ZWGI_T
74 REAL,
DIMENSION(SIZE(PEK%XWR)) :: ZSNDRIFT
75 REAL,
DIMENSION(SIZE(PEK%XWR)) :: ZEFLOOD
77 INTEGER :: INI, INL, INLS
79 REAL(KIND=JPRB) :: ZHOOK_HANDLE
90 inls=
SIZE(pek%TSNOW%WSNOW,2)
97 IF (pek%TSNOW%SCHEME==
'3-L'.OR.pek%TSNOW%SCHEME==
'CRO')
THEN 98 zsndrift(:) = dek%XSNDRIFT(:)
106 IF(owater_budget)
THEN 112 zswe_t(ji) = zswe_t(ji)+pek%TSNOW%WSNOW(ji,jl)
119 IF(io%CISBA==
'DIF')
THEN 122 IF(pek%XWG(ji,jl)/=
xundef)
THEN 123 zwg_t(ji) = zwg_t(ji)+pek%XWG(ji,jl) *pk%XDZG(ji,jl)*
xrholw 124 zwgi_t(ji) = zwgi_t(ji)+pek%XWGI(ji,jl)*pk%XDZG(ji,jl)*
xrholw 129 zwg_t(:) = pek%XWG (:,2)*pk%XDG(:,2)*
xrholw 130 zwgi_t(:) = pek%XWGI(:,2)*pk%XDG(:,2)*
xrholw 131 IF(io%CISBA==
'3-L')
THEN 132 zwg_t(:)=zwg_t(:)+pek%XWG(:,3)*(pk%XDG(:,3)-pk%XDG(:,2))*
xrholw 137 dek%XDWG (:) = (zwg_t(:)-pwg_ini(:))/ptstep
138 dek%XDWGI(:) = (zwgi_t(:)-pwgi_ini(:))/ptstep
139 dek%XDWR (:) = (pek%XWR(:)-pwr_ini(:))/ptstep
140 dek%XDSWE(:) = (zswe_t(:)-pswe_ini(:))/ptstep
144 ziceflux(:)=dek%XICEFLUX(:)
150 zeflood(:) = dek%XLE_FLOOD(:)/pk%XLVTT(:)+dek%XLEI_FLOOD(:)/pk%XLSTT(:)
153 zinput(:)=prain(:)+psnow(:)+dek%XIFLOOD(:)+dek%XIRRIG_FLUX(:)
156 zoutput(:) = pevap(:)+dek%XDRAIN (:)+dek%XRUNOFF (:) &
157 + dek%XPFLOOD(:)+ziceflux(:)+zsndrift(:) - zeflood(:)
160 ztendency(:) = dek%XDWG(:)+dek%XDWGI(:)+dek%XDWR(:)+dek%XDSWE(:)
163 dek%XWATBUD(:)=ztendency(:)-(zinput(:)-zoutput(:))
subroutine isba_budget(IO, PK, PEK, DEK, OWATER_BUDGET, PTSTEP, PWG_INI, PWGI_INI, PWR_INI, PSWE_INI, PRAIN, PSNOW, PEVAP)