SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/average_diag_evap_isban.F90
Go to the documentation of this file.
00001 !#############################
00002 SUBROUTINE AVERAGE_DIAG_EVAP_ISBA_n(PRAIN,PSNOW)
00003 !#############################
00004 !
00005 !
00006 !!****  *AVERAGE_DIAG_EVAP_ISBA_n*  
00007 !!
00008 !!    PURPOSE
00009 !!    -------
00010 !      Average the cumulated diagnostics from all ISBA tiles
00011 !     
00012 !!**  METHOD
00013 !!    ------
00014 !
00015 !!    EXTERNAL
00016 !!    --------
00017 !!
00018 !!    IMPLICIT ARGUMENTS
00019 !!    ------------------ 
00020 !!
00021 !!      
00022 !!    REFERENCE
00023 !!    ---------
00024 !!      
00025 !!    AUTHOR
00026 !!    ------
00027 !!      P. Le Moigne           * Meteo-France *
00028 !!
00029 !!    MODIFICATIONS
00030 !!    -------------
00031 !!      Original    11/03
00032 !!      B. Decharme 2008     New diag for the water budget
00033 !!      B. Decharme 2012     New diag for snow 
00034 !!                                        carbon
00035 !!                                        isab water budget
00036 !-------------------------------------------------------------------------------
00037 !
00038 !*       0.     DECLARATIONS
00039 !               ------------
00040 !
00041 USE MODD_ISBA_n,           ONLY : XPATCH, LGLACIER
00042 USE MODD_DIAG_EVAP_ISBA_n, ONLY : XRNC, XAVG_RNC, XHC, XAVG_HC,                  &
00043                                   XLEC, XAVG_LEC, XGFLUXC, XAVG_GFLUXC,          &
00044                                   XLEIC, XAVG_LEIC,                              &
00045                                   XLEG, XLEGC, XAVG_LEG, XAVG_LEGC,              &
00046                                   XLEGI, XLEGIC, XAVG_LEGI, XAVG_LEGIC,          &
00047                                   XLEV, XLEVC, XAVG_LEV, XAVG_LEVC,              &
00048                                   XLES, XLESC, XAVG_LES, XAVG_LESC,              &
00049                                   XLESL, XLESLC, XAVG_LESL, XAVG_LESLC,          &
00050                                   XLER, XLERC, XAVG_LER, XAVG_LERC,              &
00051                                   XLETR, XLETRC, XAVG_LETR, XAVG_LETRC,          &
00052                                   XEVAP, XEVAPC, XAVG_EVAP, XAVG_EVAPC,          &
00053                                   XDRAIN, XDRAINC, XAVG_DRAIN, XAVG_DRAINC,      &
00054                                   XRUNOFF, XRUNOFFC, XAVG_RUNOFF, XAVG_RUNOFFC,  &
00055                                   XMELT, XMELTC, XAVG_MELT, XAVG_MELTC,          &
00056                                   LSURF_EVAP_BUDGET, LSURF_BUDGETC,              &
00057                                   LWATER_BUDGET,                                 &
00058                                   XHORT, XHORTC, XAVG_HORT, XAVG_HORTC,          &
00059                                   XDRIP, XDRIPC, XAVG_DRIP, XAVG_DRIPC,          &
00060                                   XIFLOOD, XIFLOODC, XAVG_IFLOOD, XAVG_IFLOODC,  &
00061                                   XPFLOOD, XPFLOODC, XAVG_PFLOOD, XAVG_PFLOODC,  &
00062                                   XLE_FLOOD, XLE_FLOODC, XAVG_LE_FLOOD,          &
00063                                   XAVG_LE_FLOODC, XLEI_FLOOD, XLEI_FLOODC,       &
00064                                   XAVG_LEI_FLOOD, XAVG_LEI_FLOODC,               &
00065                                   XICEFLUXC, XAVG_ICEFLUXC,                      &
00066                                   XRRVEG, XRRVEGC, XAVG_RRVEG, XAVG_RRVEGC,      &
00067                                   XIRRIG_FLUX, XIRRIG_FLUXC, XAVG_IRRIG_FLUX,    &
00068                                   XAVG_IRRIG_FLUXC,                              &
00069                                   XGPP,XGPPC,XAVG_GPP,XAVG_GPPC, XRESP_AUTO,     &
00070                                   XRESPC_AUTO,XAVG_RESP_AUTO,XAVG_RESPC_AUTO,    &
00071                                   XRESP_ECO,XRESPC_ECO,XAVG_RESP_ECO,            &
00072                                   XAVG_RESPC_ECO,XDWG,XDWGC,XAVG_DWG,XAVG_DWGC,  &     
00073                                   XDWGI,XDWGIC,XAVG_DWGI,XAVG_DWGIC,             &
00074                                   XDWR,XDWRC,XAVG_DWR,XAVG_DWRC,                 &
00075                                   XDSWE,XDSWEC,XAVG_DSWE,XAVG_DSWEC,             &
00076                                   XRAINFALL,XRAINFALLC,XSNOWFALL,XSNOWFALLC,     &
00077                                   XWATBUD,XWATBUDC,XAVG_WATBUD,XAVG_WATBUDC 
00078 !
00079 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
00080 USE PARKIND1  ,ONLY : JPRB
00081 !
00082 IMPLICIT NONE
00083 !
00084 !*      0.1    declarations of arguments
00085 !
00086 REAL,    DIMENSION(:), INTENT(IN) :: PRAIN         ! rainfall rate
00087 REAL,    DIMENSION(:), INTENT(IN) :: PSNOW         ! snowfall rate
00088 !
00089 !
00090 !*      0.2    declarations of local variables
00091 !
00092 INTEGER :: JPATCH ! tile loop counter
00093 INTEGER :: JJ
00094 REAL, DIMENSION(SIZE(XPATCH,1)) :: ZSUMPATCH
00095 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00096 !-------------------------------------------------------------------------------
00097 !
00098 !       0.     Initialization
00099 !              --------------
00100 !
00101 !
00102 IF (LHOOK) CALL DR_HOOK('AVERAGE_DIAG_EVAP_ISBA_N',0,ZHOOK_HANDLE)
00103 ZSUMPATCH(:) = 0.
00104 DO JPATCH=1,SIZE(XPATCH,2)
00105    DO JJ=1,SIZE(XPATCH,1)
00106       ZSUMPATCH(JJ) = ZSUMPATCH(JJ) + XPATCH(JJ,JPATCH)
00107   ENDDO
00108 ENDDO
00109 !
00110 !       1.     Surface Energy fluxes
00111 !              -----------------------
00112 !
00113 IF (LSURF_EVAP_BUDGET) THEN
00114 !        
00115    XAVG_LEG        (:) = 0.
00116    XAVG_LEGI       (:) = 0.
00117    XAVG_LEV        (:) = 0.
00118    XAVG_LES        (:) = 0.
00119    XAVG_LESL       (:) = 0.
00120    XAVG_LER        (:) = 0.
00121    XAVG_LETR       (:) = 0.
00122    XAVG_EVAP       (:) = 0.
00123    XAVG_DRAIN      (:) = 0.
00124    XAVG_RUNOFF     (:) = 0.
00125    XAVG_HORT       (:) = 0.
00126    XAVG_DRIP       (:) = 0.
00127    XAVG_RRVEG      (:) = 0.
00128    XAVG_MELT       (:) = 0.
00129    XAVG_IFLOOD     (:) = 0.
00130    XAVG_PFLOOD     (:) = 0.
00131    XAVG_LE_FLOOD   (:) = 0.
00132    XAVG_LEI_FLOOD  (:) = 0.
00133    XAVG_IRRIG_FLUXC(:) = 0.
00134    XAVG_GPP        (:) = 0.
00135    XAVG_RESP_AUTO  (:) = 0.
00136    XAVG_RESP_ECO   (:) = 0.
00137 !
00138   DO JPATCH=1,SIZE(XPATCH,2)
00139 !cdir nodep
00140     DO JJ=1,SIZE(ZSUMPATCH)
00141       IF (ZSUMPATCH(JJ) > 0.) THEN
00142 !
00143 ! Latent heat of evaporation over the ground
00144 !
00145         XAVG_LEG(JJ)  = XAVG_LEG(JJ) + XPATCH(JJ,JPATCH) * XLEG(JJ,JPATCH)
00146 !
00147 ! Surface soil ice sublimation
00148 !
00149         XAVG_LEGI(JJ) = XAVG_LEGI(JJ) + XPATCH(JJ,JPATCH) * XLEGI(JJ,JPATCH)
00150 !
00151 ! Latent heat of evaporation over vegetation
00152 !
00153         XAVG_LEV(JJ)  = XAVG_LEV(JJ) + XPATCH(JJ,JPATCH) * XLEV(JJ,JPATCH)
00154 !
00155 ! Latent heat of sublimation over snow
00156 !
00157         XAVG_LES(JJ)  = XAVG_LES(JJ) + XPATCH(JJ,JPATCH) * XLES(JJ,JPATCH)
00158 !
00159 ! Latent heat of evaporation of liquid water over snow
00160 !
00161         XAVG_LESL(JJ)  = XAVG_LESL(JJ) + XPATCH(JJ,JPATCH) * XLESL(JJ,JPATCH)
00162 !
00163 ! Evaporation from canopy water interception
00164 !
00165         XAVG_LER(JJ)  = XAVG_LER(JJ) + XPATCH(JJ,JPATCH) * XLER(JJ,JPATCH)
00166 !
00167 ! Evapotranspiration of the vegetation
00168 !
00169         XAVG_LETR(JJ)  = XAVG_LETR(JJ) + XPATCH(JJ,JPATCH) * XLETR(JJ,JPATCH)
00170 !
00171 ! Evapotranspiration
00172 !
00173         XAVG_EVAP(JJ)  = XAVG_EVAP(JJ) + XPATCH(JJ,JPATCH) * XEVAP(JJ,JPATCH)
00174 !
00175 ! Soil drainage flux
00176 !
00177         XAVG_DRAIN(JJ)  = XAVG_DRAIN(JJ) + XPATCH(JJ,JPATCH) * XDRAIN(JJ,JPATCH)
00178 !
00179 ! Supersaturation runoff
00180 !
00181         XAVG_RUNOFF(JJ) = XAVG_RUNOFF(JJ) + XPATCH(JJ,JPATCH) * XRUNOFF(JJ,JPATCH)
00182 !
00183 ! Horton runoff
00184 !
00185         XAVG_HORT(JJ)  = XAVG_HORT(JJ) + XPATCH(JJ,JPATCH) * XHORT(JJ,JPATCH)
00186 !
00187 ! Vegetation dripping
00188 !
00189         XAVG_DRIP(JJ)  = XAVG_DRIP(JJ) + XPATCH(JJ,JPATCH) * XDRIP(JJ,JPATCH)
00190 !
00191 ! Precipitation intercepted by the      vegetation
00192 !
00193         XAVG_RRVEG(JJ)  = XAVG_RRVEG(JJ) + XPATCH(JJ,JPATCH) * XRRVEG(JJ,JPATCH)
00194 !      
00195 ! Snow melt
00196 !
00197         XAVG_MELT(JJ)  = XAVG_MELT(JJ) + XPATCH(JJ,JPATCH) * XMELT(JJ,JPATCH)
00198 !      
00199 ! Flood infiltartion
00200 !
00201         XAVG_IFLOOD(JJ) = XAVG_IFLOOD(JJ) + XPATCH(JJ,JPATCH) * XIFLOOD(JJ,JPATCH)
00202 !      
00203 ! Precipitation intercepted by the floodplains
00204 !     
00205         XAVG_PFLOOD(JJ) = XAVG_PFLOOD(JJ) + XPATCH(JJ,JPATCH) * XPFLOOD(JJ,JPATCH)
00206 !      
00207 ! Floodplains evaporation
00208 !     
00209         XAVG_LE_FLOOD (JJ) = XAVG_LE_FLOOD (JJ) + XPATCH(JJ,JPATCH) * XLE_FLOOD (JJ,JPATCH)
00210         XAVG_LEI_FLOOD(JJ) = XAVG_LEI_FLOOD(JJ) + XPATCH(JJ,JPATCH) * XLEI_FLOOD(JJ,JPATCH)
00211 !      
00212 ! irrigation rate (as soil input)
00213 !
00214         XAVG_IRRIG_FLUX(JJ)  = XAVG_IRRIG_FLUX(JJ) + XPATCH(JJ,JPATCH) * XIRRIG_FLUX(JJ,JPATCH)
00215 !
00216 ! Gross primary production
00217 !
00218         XAVG_GPP(JJ) = XAVG_GPP(JJ) + XPATCH(JJ,JPATCH) * XGPP(JJ,JPATCH)
00219 !
00220 ! Autotrophic respiration
00221 !   
00222         XAVG_RESP_AUTO(JJ) = XAVG_RESP_AUTO(JJ) + XPATCH(JJ,JPATCH) * XRESP_AUTO(JJ,JPATCH)
00223 !
00224 ! Ecosystem respiration
00225 !
00226         XAVG_RESP_ECO(JJ) = XAVG_RESP_ECO(JJ) + XPATCH(JJ,JPATCH) * XRESP_ECO(JJ,JPATCH)  
00227 !        
00228       ENDIF
00229     END DO
00230   ENDDO
00231 !
00232 ! Isba water budget and reservoir time tendencies
00233 !
00234   IF(LWATER_BUDGET)THEN
00235 !  
00236     XRAINFALL  (:) = PRAIN(:)
00237     XSNOWFALL  (:) = PSNOW(:)
00238     XAVG_DWG   (:) = 0.0
00239     XAVG_DWGI  (:) = 0.0
00240     XAVG_DWR   (:) = 0.0
00241     XAVG_DSWE  (:) = 0.0
00242     XAVG_WATBUD(:) = 0.0
00243 !
00244     DO JPATCH=1,SIZE(XPATCH,2)
00245 !     cdir nodep
00246       DO JJ=1,SIZE(ZSUMPATCH)
00247         IF (ZSUMPATCH(JJ) > 0.) THEN
00248 !
00249            XAVG_DWG   (JJ) = XAVG_DWG   (JJ) + XPATCH(JJ,JPATCH) * XDWG   (JJ,JPATCH)
00250            XAVG_DWGI  (JJ) = XAVG_DWGI  (JJ) + XPATCH(JJ,JPATCH) * XDWGI  (JJ,JPATCH)
00251            XAVG_DWR   (JJ) = XAVG_DWR   (JJ) + XPATCH(JJ,JPATCH) * XDWR   (JJ,JPATCH)
00252            XAVG_DSWE  (JJ) = XAVG_DSWE  (JJ) + XPATCH(JJ,JPATCH) * XDSWE  (JJ,JPATCH)
00253            XAVG_WATBUD(JJ) = XAVG_WATBUD(JJ) + XPATCH(JJ,JPATCH) * XWATBUD(JJ,JPATCH)
00254 !
00255         ENDIF
00256       ENDDO
00257     ENDDO
00258 !
00259   ENDIF
00260 !
00261 END IF
00262 !
00263 !
00264 !       2.     Surface Cumulated Energy fluxes
00265 !              -------------------------------
00266 !
00267 IF (LSURF_BUDGETC) THEN
00268    XAVG_RNC        (:) = 0.
00269    XAVG_HC         (:) = 0.
00270    XAVG_LEC        (:) = 0.
00271    XAVG_GFLUXC     (:) = 0.
00272    XAVG_LEIC       (:) = 0.
00273    XAVG_LEGC       (:) = 0.
00274    XAVG_LEGIC      (:) = 0.
00275    XAVG_LEVC       (:) = 0.
00276    XAVG_LESC       (:) = 0.
00277    XAVG_LESLC      (:) = 0.
00278    XAVG_LERC       (:) = 0.
00279    XAVG_LETRC      (:) = 0.
00280    XAVG_EVAPC      (:) = 0.
00281    XAVG_DRAINC     (:) = 0.
00282    XAVG_RUNOFFC    (:) = 0.
00283    XAVG_HORTC      (:) = 0.
00284    XAVG_DRIPC      (:) = 0.
00285    XAVG_RRVEGC     (:) = 0.
00286    XAVG_MELTC      (:) = 0.
00287    XAVG_IFLOODC    (:) = 0.
00288    XAVG_PFLOODC    (:) = 0.
00289    XAVG_LE_FLOODC  (:) = 0.
00290    XAVG_LEI_FLOODC (:) = 0.
00291    XAVG_IRRIG_FLUXC(:) = 0.
00292    XAVG_GPPC       (:) = 0.
00293    XAVG_RESPC_AUTO (:) = 0.
00294    XAVG_RESPC_ECO  (:) = 0.
00295 !
00296   DO JPATCH=1,SIZE(XPATCH,2)
00297 !cdir nodep
00298     DO JJ=1,SIZE(ZSUMPATCH)
00299       IF (ZSUMPATCH(JJ) > 0.) THEN
00300 !
00301 ! Net radiation
00302 !
00303         XAVG_RNC(JJ)  = XAVG_RNC(JJ) + XPATCH(JJ,JPATCH) * XRNC(JJ,JPATCH)
00304 !
00305 ! Sensible heat flux
00306 !
00307         XAVG_HC(JJ)  = XAVG_HC(JJ) + XPATCH(JJ,JPATCH) * XHC(JJ,JPATCH)
00308 !
00309 ! Total latent heat flux
00310 !
00311         XAVG_LEC(JJ)  = XAVG_LEC(JJ) + XPATCH(JJ,JPATCH) * XLEC(JJ,JPATCH)
00312 !
00313 ! Storage flux
00314 !
00315         XAVG_GFLUXC(JJ)  = XAVG_GFLUXC(JJ) + XPATCH(JJ,JPATCH) * XGFLUXC(JJ,JPATCH)
00316 !
00317 ! Total surface sublimation
00318 !
00319         XAVG_LEIC(JJ)  = XAVG_LEIC(JJ) + XPATCH(JJ,JPATCH) * XLEIC(JJ,JPATCH)
00320 !
00321 ! Latent heat of evaporation over the ground
00322 !
00323         XAVG_LEGC(JJ)  = XAVG_LEGC(JJ) + XPATCH(JJ,JPATCH) * XLEGC(JJ,JPATCH)
00324 !
00325 ! Surface soil ice sublimation
00326 !
00327         XAVG_LEGIC(JJ)  = XAVG_LEGIC(JJ) + XPATCH(JJ,JPATCH) * XLEGIC(JJ,JPATCH)
00328 !
00329 ! Latent heat of evaporation over vegetation
00330 !
00331         XAVG_LEVC(JJ)  = XAVG_LEVC(JJ) + XPATCH(JJ,JPATCH) * XLEVC(JJ,JPATCH)
00332 !
00333 ! Latent heat of sublimation over snow
00334 !
00335         XAVG_LESC(JJ)  = XAVG_LESC(JJ) + XPATCH(JJ,JPATCH) * XLESC(JJ,JPATCH)
00336 !
00337 ! Latent heat of evaporation of liquid water over snow
00338 !
00339         XAVG_LESLC(JJ)  = XAVG_LESLC(JJ) + XPATCH(JJ,JPATCH) * XLESLC(JJ,JPATCH)
00340 !
00341 ! Evaporation from canopy water interception
00342 !
00343         XAVG_LERC(JJ)  = XAVG_LERC(JJ) + XPATCH(JJ,JPATCH) * XLERC(JJ,JPATCH)
00344 !
00345 ! Evapotranspiration of the vegetation
00346 !
00347         XAVG_LETRC(JJ)  = XAVG_LETRC(JJ) + XPATCH(JJ,JPATCH) * XLETRC(JJ,JPATCH)
00348 !
00349 ! Evapotranspiration
00350 !
00351         XAVG_EVAPC(JJ)  = XAVG_EVAPC(JJ) + XPATCH(JJ,JPATCH) * XEVAPC(JJ,JPATCH)
00352 !
00353 ! Soil drainage flux
00354 !
00355         XAVG_DRAINC(JJ)  = XAVG_DRAINC(JJ) + XPATCH(JJ,JPATCH) * XDRAINC(JJ,JPATCH)
00356 !
00357 ! Supersaturation runoff
00358 !
00359         XAVG_RUNOFFC(JJ)  = XAVG_RUNOFFC(JJ) + XPATCH(JJ,JPATCH) * XRUNOFFC(JJ,JPATCH)
00360 !
00361 ! Horton runoff
00362 !
00363         XAVG_HORTC(JJ)  = XAVG_HORTC(JJ) + XPATCH(JJ,JPATCH) * XHORTC(JJ,JPATCH)
00364 !
00365 ! Vegetation dripping
00366 !
00367         XAVG_DRIPC(JJ)  = XAVG_DRIPC(JJ) + XPATCH(JJ,JPATCH) * XDRIPC(JJ,JPATCH)
00368 !
00369 ! precipitation intercepted by the      vegetation
00370 !
00371         XAVG_RRVEGC(JJ)  = XAVG_RRVEGC(JJ) + XPATCH(JJ,JPATCH) * XRRVEGC(JJ,JPATCH)
00372 !      
00373 ! Snow melt
00374 !
00375         XAVG_MELTC(JJ)  = XAVG_MELTC(JJ) + XPATCH(JJ,JPATCH) * XMELTC(JJ,JPATCH)
00376 !      
00377 ! Flood infiltartion
00378 !
00379         XAVG_IFLOODC(JJ) = XAVG_IFLOODC(JJ) + XPATCH(JJ,JPATCH) * XIFLOODC(JJ,JPATCH)
00380 !      
00381 ! Precipitation intercepted by the floodplains
00382 !     
00383         XAVG_PFLOODC(JJ) = XAVG_PFLOODC(JJ) + XPATCH(JJ,JPATCH) * XPFLOODC(JJ,JPATCH)
00384 !      
00385 ! Floodplains evaporation
00386 !     
00387         XAVG_LE_FLOODC (JJ) = XAVG_LE_FLOODC (JJ) + XPATCH(JJ,JPATCH) * XLE_FLOODC (JJ,JPATCH)
00388         XAVG_LEI_FLOODC(JJ) = XAVG_LEI_FLOODC(JJ) + XPATCH(JJ,JPATCH) * XLEI_FLOODC(JJ,JPATCH)
00389 !      
00390 ! irrigation rate (as soil input)
00391 !
00392         XAVG_IRRIG_FLUXC(JJ)  = XAVG_IRRIG_FLUXC(JJ) + XPATCH(JJ,JPATCH) * XIRRIG_FLUXC(JJ,JPATCH)
00393 !
00394 ! Gross primary production
00395 !
00396         XAVG_GPPC(JJ) = XAVG_GPPC(JJ) + XPATCH(JJ,JPATCH) * XGPPC(JJ,JPATCH)
00397 !
00398 ! Autotrophic respiration
00399 !   
00400         XAVG_RESPC_AUTO(JJ) = XAVG_RESPC_AUTO(JJ) + XPATCH(JJ,JPATCH) * XRESPC_AUTO(JJ,JPATCH)
00401 !
00402 ! Ecosystem respiration
00403 !
00404         XAVG_RESPC_ECO(JJ) = XAVG_RESPC_ECO(JJ) + XPATCH(JJ,JPATCH) * XRESPC_ECO(JJ,JPATCH)
00405 !      
00406       ENDIF
00407     ENDDO
00408   END DO
00409 !
00410 ! Isba water budget and reservoir time tendencies
00411 !
00412   IF(LWATER_BUDGET)THEN
00413 !  
00414     XRAINFALLC  (:) = XRAINFALLC (:) + PRAIN(:)
00415     XSNOWFALLC  (:) = XSNOWFALLC (:) + PSNOW(:)
00416     XAVG_DWGC   (:) = 0.0
00417     XAVG_DWGIC  (:) = 0.0
00418     XAVG_DWRC   (:) = 0.0
00419     XAVG_DSWEC  (:) = 0.0
00420     XAVG_WATBUDC(:) = 0.0
00421 !
00422     DO JPATCH=1,SIZE(XPATCH,2)
00423 !     cdir nodep
00424       DO JJ=1,SIZE(ZSUMPATCH)
00425         IF (ZSUMPATCH(JJ) > 0.) THEN
00426 !
00427            XAVG_DWGC   (JJ) = XAVG_DWGC   (JJ) + XPATCH(JJ,JPATCH) * XDWGC   (JJ,JPATCH)
00428            XAVG_DWGIC  (JJ) = XAVG_DWGIC  (JJ) + XPATCH(JJ,JPATCH) * XDWGIC  (JJ,JPATCH)
00429            XAVG_DWRC   (JJ) = XAVG_DWRC   (JJ) + XPATCH(JJ,JPATCH) * XDWRC   (JJ,JPATCH)
00430            XAVG_DSWEC  (JJ) = XAVG_DSWEC  (JJ) + XPATCH(JJ,JPATCH) * XDSWEC  (JJ,JPATCH)
00431            XAVG_WATBUDC(JJ) = XAVG_WATBUDC(JJ) + XPATCH(JJ,JPATCH) * XWATBUDC(JJ,JPATCH)
00432 !
00433         ENDIF
00434       ENDDO
00435     ENDDO
00436 !
00437   ENDIF
00438 !
00439 ! Ice calving flux
00440 !  
00441   IF(LGLACIER)THEN 
00442     XAVG_ICEFLUXC(:)= 0.
00443     DO JPATCH=1,SIZE(XPATCH,2)
00444 !     cdir nodep  
00445       DO JJ=1,SIZE(ZSUMPATCH)
00446          IF(ZSUMPATCH(JJ) > 0.)THEN
00447             XAVG_ICEFLUXC(JJ) = XAVG_ICEFLUXC(JJ) + XPATCH(JJ,JPATCH) * XICEFLUXC(JJ,JPATCH)      
00448          ENDIF
00449       END DO
00450     END DO
00451   END IF
00452 !  
00453 END IF
00454 !
00455 IF (LHOOK) CALL DR_HOOK('AVERAGE_DIAG_EVAP_ISBA_N',1,ZHOOK_HANDLE)
00456 !
00457 !-------------------------------------------------------------------------------
00458 !
00459 END SUBROUTINE AVERAGE_DIAG_EVAP_ISBA_n