6 SUBROUTINE update_esm_isba_n (IO, S, K, NK, NP, NPE, KI,KSW,PZENITH,PSW_BANDS,PDIR_ALB,&
7 PSCA_ALB,PEMIS,PTSRAD,PTSURF )
54 USE modi_average_tsurf
55 USE modi_update_rad_isba_n
73 INTEGER,
INTENT(IN) :: KI
74 INTEGER,
INTENT(IN) :: KSW
76 REAL,
DIMENSION(KI),
INTENT(IN) :: PZENITH
77 REAL,
DIMENSION(KSW),
INTENT(IN) :: PSW_BANDS
79 REAL,
DIMENSION(KI,KSW),
INTENT(OUT) :: PDIR_ALB
80 REAL,
DIMENSION(KI,KSW),
INTENT(OUT) :: PSCA_ALB
81 REAL,
DIMENSION(KI),
INTENT(OUT) :: PEMIS
82 REAL,
DIMENSION(KI),
INTENT(OUT) :: PTSRAD
83 REAL,
DIMENSION(KI),
INTENT(OUT) :: PTSURF
93 REAL,
DIMENSION(KI,KSW,IO%NPATCH) :: ZDIR_ALB_PATCH
94 REAL,
DIMENSION(KI,KSW,IO%NPATCH) :: ZSCA_ALB_PATCH
95 REAL,
DIMENSION(KI,IO%NPATCH) :: ZEMIS_PATCH
96 REAL,
DIMENSION(KI,IO%NPATCH) :: ZTSRAD_PATCH
97 REAL,
DIMENSION(KI,IO%NPATCH) :: ZTSURF_PATCH
98 REAL,
DIMENSION(KI,IO%NPATCH) :: ZEMIS
100 LOGICAL :: LEXPLICIT_SNOW
102 INTEGER :: IMASK, JI, JP
104 REAL(KIND=JPRB) :: ZHOOK_HANDLE
111 IF (
lhook)
CALL dr_hook(
'UPDATE_ESM_ISBA_N',0,zhook_handle)
113 zdir_alb_patch(:,:,:) = 0.0
114 zsca_alb_patch(:,:,:) = 0.0
115 zemis_patch(:,: ) = 0.0
117 lexplicit_snow = (npe%AL(1)%TSNOW%SCHEME==
'3-L'.OR.npe%AL(1)%TSNOW%SCHEME
'CRO' 125 ztsrad_patch(:,:) = 0.0
126 ztsurf_patch(:,:) = 0.0
134 zdir_alb_patch(:,:,jp),zsca_alb_patch(:,:,jp),zemis_patch
142 zemis(imask,jp) = pek%XEMIS(ji)
144 IF(lexplicit_snow.AND.io%LFLOOD)
THEN 145 IF (pek%XPSN(ji)<1.0.AND.pek%XEMIS(ji)/=
xundef)
THEN 146 zemis(imask,jp) = ((1.-kk%XFF(ji)-pek%XPSN(ji))*pek%XEMIS(ji) +
151 ztsrad_patch(imask,jp) = pek%XTG(ji,1)
152 ztsurf_patch(imask,jp) = pek%XTG(ji,1)
154 IF(lexplicit_snow)
THEN 155 IF(pek%XEMIS(ji)/=
xundef.AND.zemis_patch(imask,jp)/=0.)
THEN 156 ztsrad_patch(imask,jp) = ( ( (1.-pek%XPSN(ji))*zemis(imask,jp)*pek%XTG
160 ztsurf_patch(imask,jp) = pek%XTG(ji,1)*(1.-pek%XPSN(ji)) + pek%TSNOW%TS
176 ptsrad = s%XTSRAD_NAT
183 IF (
lhook)
CALL dr_hook(
'UPDATE_ESM_ISBA_N',1,zhook_handle)
subroutine average_tsurf(PFRAC_TILE, PTSURF_TILE, PTSURF)
subroutine update_esm_isba_n(IO, S, K, NK, NP, NPE, KI, KSW, PZENIT
subroutine average_rad(PFRAC_TILE, PDIR_ALB_TILE, PSCA_ALB_TILE, PEMIS_TILE, PTRAD_TILE,
subroutine update_rad_isba_n(IO, S, KK, PK, PEK, KPATCH, PZENITH, PSW_BANDS, PDIR_ALB_WITH_SNOW, PSCA_ALB_WITH_SNOW, PEMIST, PDIR_SW, PSCA_SW)