SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/pack_isba_patchn.F90
Go to the documentation of this file.
00001 !     #########
00002 SUBROUTINE PACK_ISBA_PATCH_n(KMASK,KSIZE,KPATCH)
00003 !##############################################
00004 !
00005 !
00006 !!****  *PACK_ISBA_PATCH_n * - packs ISBA variables
00007 !!
00008 !!    PURPOSE
00009 !!    -------
00010 !
00011 !!**  METHOD
00012 !!    ------
00013 !!
00014 !!    REFERENCE
00015 !!    ---------
00016 !!      
00017 !!
00018 !!    AUTHOR
00019 !!    ------
00020 !!     V. Masson and A. boone
00021 !!
00022 !!    MODIFICATIONS
00023 !!    -------------
00024 !!      Original    01/2004
00025 !!      B. Decharme    2008 floodplains
00026 !!      B. Decharme 01/2009 Good dim for XP_TG
00027 !!      A.L. Gibelin 04/2009 : BIOMASS and RESP_BIOMASS arrays 
00028 !!      A.L. Gibelin 04/2009 : TAU_WOOD for NCB option 
00029 !!      A.L. Gibelin 05/2009 : Add carbon spinup
00030 !!      A.L. Gibelin 06/2009 : Soil carbon variables for CNT option
00031 !!      A.L. Gibelin 07/2009 : Suppress RDK and transform GPP as a diagnostic
00032 !!      A.L. Gibelin 07/2009 : Suppress PPST and PPSTF as outputs
00033 !!
00034 !!------------------------------------------------------------------
00035 !
00036 USE MODD_DATA_COVER_PAR,  ONLY : NVEGTYPE
00037 USE MODD_ISBA_n,      ONLY : NGROUND_LAYER,  NNBIOMASS, NNLITTER, NNSOILCARB,       &
00038                                NNLITTLEVS, CISBA, CPHOTO, CSCOND, CRESPSL,          &
00039                                LGLACIER, XZ0_O_Z0H, XEMIS, XZ0, XWRMAX_CF, XGAMMA,  &
00040                                XCV, XRGL, XVEGTYPE_PATCH, XDG, XRUNOFFD, XRUNOFFB,  &
00041                                XWDRAIN, XTAUICE, XZ0REL, XGAMMAT, NWG_LAYER,        &
00042                                XC1SAT, XC2REF, XC3, XC4B, XC4REF, XACOEF, XPCOEF,   &
00043                                XWFC, XWWILT, XWSAT, XBCOEF, XWR, XTG, XWG,          &
00044                                XWGI, XLAI, XRESA, XVEG, XTDEEP, TSNOW, XROOTFRAC,   &
00045                                XCONDSAT, XMPOTSAT, XCGSAT, XHCAPSOIL,               &
00046                                XCONDDRY, XCONDSLD, XRSMIN, XBSLAI, XLAIMIN,         &
00047                                XSEFOLD, XH_TREE, XANMAX, XFZERO, XEPSO,             &
00048                                XGAMM, XQDGAMM, XGMES, XRE25, XQDGMES, XT1GMES,      &
00049                                XT2GMES, XTAU_WOOD, LTR_ML,                          &
00050                                XAMAX, XQDAMAX, XT1AMAX, XT2AMAX, XAN, XANFM,        &
00051                                XLE, LSTRESS, XF2I, XGC, XAH, XBH, XDMAX,            &
00052                                XANDAY, XZ0EFFIP,XZ0EFFIM,XZ0EFFJP,XZ0EFFJM,         &
00053                                XAOSIP,XAOSIM,XAOSJP,XAOSJM,                         &
00054                                XHO2IP,XHO2IM,XHO2JP,XHO2JM, XSSO_SLOPE,             &
00055                                XALBNIR, XALBVIS, XALBUV, XFAPARC, XFAPIRC,          &
00056                                XALBNIR_VEG, XALBVIS_VEG, XALBUV_VEG, XLAI_EFFC,     &
00057                                XALBNIR_DRY, XALBVIS_DRY, XALBUV_DRY, XMUS,          &
00058                                XALBNIR_WET, XALBVIS_WET, XALBUV_WET,                &
00059                                XALBNIR_SOIL, XALBVIS_SOIL, XALBUV_SOIL,             &
00060                                XCLAY, XSAND, NPATCH, XBIOMASS, XRESP_BIOMASS,       &
00061                                XLITTER, XSOILCARB, XLIGNIN_STRUC,                   &
00062                                XCE_NITRO,XCF_NITRO,XCNA_NITRO,XBSLAI_NITRO,         &
00063                                XWATSUP,XIRRIG,TSEED,TREAP,                          &
00064                                CRAIN, XMUF, XFSAT, XKSAT_ICE,                       &
00065                                XD_ICE, LFLOOD, XFFLOOD, XPIFLOOD, XZ0_FLOOD,        &
00066                                XPCPS, XPLVTT, XPLSTT, XINCREASE, XTURNOVER,         &
00067                                XPSN, XPSNG, XPSNV, XPSNV_A, XFF, XFFG, XFFV, XALBF, &
00068                                XEMISF, XDIR_ALB_WITH_SNOW, XSCA_ALB_WITH_SNOW,      &
00069                                XICE_STO, XFFROZEN, XDZG, XDZDIF, XSOILWGHT
00070                              
00071 USE MODD_AGRI,        ONLY : LAGRIP
00072 USE MODD_AGRI_n,      ONLY : LIRRIDAY, XTHRESHOLDSPT, LIRRIGATE
00073                              
00074 USE MODD_ISBA_GRID_n, ONLY : XLAT, XLON
00075 
00076 USE MODD_PACK_ISBA,  ONLY :    NSIZE_LSIMPLE, NSIZE_L0, NSIZE_TSIMPLE,  NSIZE_T0, NSIZE_SIMPLE,  &
00077                                NSIZE_GROUND, NSIZE_VEGTYPE, NSIZE_TG, NSIZE_SNOW, NSIZE_ALB,     &
00078                                NSIZE_2, NSIZE_BIOMASS, NSIZE_SOILCARB, NSIZE_LITTLEVS,           &
00079                                NSIZE_LITTER, NSIZE_0, NSIZE_00, NSIZE_000, NSIZE_01,             &
00080                                NSIZE_NSIMPLE, NSIZE_N0,                                          &
00081                                LBLOCK_SIMPLE, LBLOCK_0, TBLOCK_SIMPLE, TBLOCK_0, XBLOCK_SIMPLE,  &
00082                                XBLOCK_GROUND, XBLOCK_VEGTYPE, XBLOCK_TG, XBLOCK_SNOW, XBLOCK_ALB,&
00083                                XBLOCK_2, XBLOCK_BIOMASS, XBLOCK_SOILCARB, XBLOCK_LITTLEVS,       &
00084                                XBLOCK_LITTER, XBLOCK_0, XBLOCK_00, XBLOCK_000, XBLOCK_01,        &
00085                                NBLOCK_SIMPLE, NBLOCK_0,                                          &
00086                                XP_Z0_O_Z0H, XP_EMIS, XP_Z0, XP_WRMAX_CF, XP_GAMMA,               &
00087                                XP_CV, XP_RGL, XP_VEGTYPE_PATCH, XP_DG, XP_RUNOFFD, XP_RUNOFFB,   &
00088                                XP_WDRAIN, XP_TAUICE, XP_Z0REL, XP_GAMMAT, NK_WG_LAYER,           &
00089                                XP_C1SAT, XP_C2REF, XP_C3, XP_C4B, XP_C4REF, XP_ACOEF, XP_PCOEF,  &
00090                                XP_WFC, XP_WWILT, XP_WSAT, XP_BCOEF, XP_WR, XP_TG, XP_WG,         &
00091                                XP_WGI, XP_LAI, XP_RESA, XP_VEG, XP_TDEEP, XP_ROOTFRAC, XP_DZG,   &
00092                                XP_DZDIF, XP_CONDSAT, XP_MPOTSAT, XP_CGSAT, XP_HCAPSOIL,          &
00093                                XP_CONDDRY, XP_CONDSLD, XP_RSMIN, XP_BSLAI, XP_LAIMIN,            &
00094                                XP_SEFOLD, XP_H_TREE, XP_ANF, XP_ANMAX, XP_FZERO, XP_EPSO,        &
00095                                XP_GAMM, XP_QDGAMM, XP_GMES, XP_RE25, XP_QDGMES, XP_T1GMES,       &
00096                                XP_T2GMES, XP_TAU_WOOD,                                           &
00097                                XP_AMAX, XP_QDAMAX, XP_T1AMAX, XP_T2AMAX, XP_AN, XP_ANFM,         &
00098                                LP_STRESS, XP_F2I, XP_GC, XP_AH, XP_BH, XP_DMAX, XP_ANDAY,        &
00099                                XP_Z0EFFIP,XP_Z0EFFIM,XP_Z0EFFJP,XP_Z0EFFJM,                      &
00100                                XP_AOSIP,XP_AOSIM,XP_AOSJP,XP_AOSJM,                              &
00101                                XP_HO2IP,XP_HO2IM,XP_HO2JP,XP_HO2JM, XP_SSO_SLOPE,                &
00102                                XP_SNOWSWE, XP_SNOWRHO, XP_SNOWALB, XP_SNOWHEAT, XP_SNOWEMIS,     &
00103                                XP_SNOWGRAN1, XP_SNOWGRAN2, XP_SNOWHIST, XP_SNOWAGE,              &
00104                                XP_LE, XP_ALBNIR, XP_ALBVIS, XP_ALBUV, XP_LAI_EFFC, XP_MUS,       &
00105                                XP_ALBNIR_VEG, XP_ALBUV_VEG, XP_ALBVIS_VEG,                       &
00106                                XP_ALBNIR_DRY, XP_ALBVIS_DRY, XP_ALBUV_DRY,                       &
00107                                XP_ALBNIR_WET, XP_ALBVIS_WET, XP_ALBUV_WET,                       &
00108                                XP_ALBNIR_SOIL, XP_ALBVIS_SOIL, XP_ALBUV_SOIL,                    &
00109                                XP_CLAY, XP_SAND, XP_LAT, XP_LON, XP_BIOMASS, XP_RESP_BIOMASS,    &
00110                                XP_LITTER, XP_SOILCARB, XP_LIGNIN_STRUC, XP_FAPARC, XP_FAPIRC,    &
00111                                XP_CE_NITRO, XP_CF_NITRO, XP_CNA_NITRO, XP_BSLAI_NITRO,           &
00112                                TP_SEED,TP_REAP,XP_IRRIG,XP_WATSUP,XP_LIRRIDAY,XP_THRESHOLD,      &
00113                                XP_LIRRIGATE, XP_MUF, XP_FSAT, XP_KSAT_ICE, XP_D_ICE,             &
00114                                XP_FFLOOD, XP_Z0FLOOD, XP_PIFLOOD, XP_INCREASE, XP_TURNOVER,      &
00115                                XP_PSN, XP_PSNG, XP_PSNV, XP_PSNV_A, XP_FF, XP_FFG, XP_FFV,       &
00116                                XP_CPS, XP_LVTT, XP_LSTT, XP_ALBF, XP_EMISF, XP_DIR_ALB_WITH_SNOW,&
00117                                XP_SCA_ALB_WITH_SNOW, XP_ICE_STO, XP_FFROZEN, XP_SOILWGHT  
00118 !
00119 USE MODD_CSTS,       ONLY : XLVTT, XLSTT, XCPD
00120 !
00121 USE MODI_ABOR1_SFX
00122 !
00123 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
00124 USE PARKIND1  ,ONLY : JPRB
00125 !
00126 IMPLICIT NONE
00127 !
00128 INTEGER, INTENT(IN)               :: KSIZE, KPATCH
00129 INTEGER, DIMENSION(:), INTENT(IN) :: KMASK
00130 !
00131 INTEGER :: ISIZE_LSIMPLE, ISIZE_L0, ISIZE_TSIMPLE, ISIZE_T0, ISIZE_SIMPLE,  
00132            ISIZE_GROUND, ISIZE_VEGTYPE, ISIZE_TG, ISIZE_SNOW, ISIZE_ALB,    
00133            ISIZE_2, ISIZE_BIOMASS, ISIZE_SOILCARB, ISIZE_LITTLEVS,          
00134            ISIZE_LITTER, ISIZE_0, ISIZE_00,ISIZE_000, ISIZE_01,             
00135            ISIZE_NSIMPLE, ISIZE_N0
00136 !
00137 INTEGER :: JJ, JI, JK, JL 
00138 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00139 !------------------------------------------------------------------------
00140 IF (LHOOK) CALL DR_HOOK('PACK_ISBA_PATCH_N',0,ZHOOK_HANDLE)
00141 !
00142 ALLOCATE(LBLOCK_SIMPLE(KSIZE,NSIZE_LSIMPLE))
00143 ALLOCATE(LBLOCK_0(0,NSIZE_L0))
00144 ALLOCATE(NBLOCK_SIMPLE(KSIZE,NSIZE_NSIMPLE))
00145 ALLOCATE(NBLOCK_0(0,NSIZE_N0))
00146 ALLOCATE(TBLOCK_SIMPLE(KSIZE,NSIZE_TSIMPLE))
00147 ALLOCATE(TBLOCK_0(0,NSIZE_T0))
00148 ALLOCATE(XBLOCK_SIMPLE(KSIZE,NSIZE_SIMPLE))
00149 ALLOCATE(XBLOCK_GROUND(KSIZE,NGROUND_LAYER,NSIZE_GROUND))
00150 ALLOCATE(XBLOCK_VEGTYPE(KSIZE,NVEGTYPE,NSIZE_VEGTYPE))
00151 ALLOCATE(XBLOCK_TG(KSIZE,SIZE(XTG,2),NSIZE_TG))
00152 ALLOCATE(XBLOCK_SNOW(KSIZE,TSNOW%NLAYER,NSIZE_SNOW))
00153 ALLOCATE(XBLOCK_ALB(KSIZE,SIZE(XDIR_ALB_WITH_SNOW,2),NSIZE_ALB))
00154 ALLOCATE(XBLOCK_2(KSIZE,2,NSIZE_2))
00155 ALLOCATE(XBLOCK_BIOMASS(KSIZE,NNBIOMASS,NSIZE_BIOMASS))
00156 ALLOCATE(XBLOCK_SOILCARB(KSIZE,NNSOILCARB,NSIZE_SOILCARB))
00157 ALLOCATE(XBLOCK_LITTLEVS(KSIZE,NNLITTLEVS,NSIZE_LITTLEVS))
00158 ALLOCATE(XBLOCK_LITTER(KSIZE,NNLITTER,NNLITTLEVS,NSIZE_LITTER))
00159 ALLOCATE(XBLOCK_0(0,NSIZE_0))
00160 ALLOCATE(XBLOCK_00(0,0,NSIZE_00))
00161 ALLOCATE(XBLOCK_000(0,0,0,NSIZE_000))
00162 ALLOCATE(XBLOCK_01(0,1,NSIZE_01))
00163 !
00164 ISIZE_LSIMPLE=0
00165 ISIZE_L0=0
00166 ISIZE_NSIMPLE=0
00167 ISIZE_N0=0
00168 ISIZE_TSIMPLE=0
00169 ISIZE_T0=0
00170 ISIZE_SIMPLE=0
00171 ISIZE_GROUND=0
00172 ISIZE_VEGTYPE=0
00173 ISIZE_TG=0
00174 ISIZE_SNOW=0
00175 ISIZE_ALB=0
00176 ISIZE_2=0
00177 ISIZE_BIOMASS=0
00178 ISIZE_LITTER=0
00179 ISIZE_SOILCARB=0
00180 ISIZE_LITTLEVS=0
00181 ISIZE_0=0
00182 ISIZE_00=0
00183 ISIZE_000=0
00184 ISIZE_01=0
00185 !
00186 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00187 XP_Z0_O_Z0H     => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00188 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00189 XP_EMIS         => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00190 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00191 XP_ALBNIR       => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00192 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00193 XP_ALBVIS       => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00194 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00195 XP_ALBUV        => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00196 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00197 XP_ALBNIR_VEG   => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00198 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00199 XP_ALBVIS_VEG   => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00200 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00201 XP_ALBUV_VEG    => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00202 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00203 XP_ALBNIR_SOIL  => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00204 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00205 XP_ALBVIS_SOIL  => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00206 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00207 XP_ALBUV_SOIL   => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00208 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00209 XP_Z0           => XBLOCK_SIMPLE(:,ISIZE_SIMPLE) 
00210 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00211 XP_WRMAX_CF     => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00212 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00213 XP_GAMMA        => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00214 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00215 XP_CV           => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00216 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00217 XP_RGL          => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00218 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00219 XP_RUNOFFD      => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00220 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00221 XP_Z0EFFIP      => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00222 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00223 XP_Z0EFFIM      => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00224 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00225 XP_Z0EFFJP      => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00226 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00227 XP_Z0EFFJM      => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00228 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00229 XP_WR           => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00230 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00231 XP_LAI          => XBLOCK_SIMPLE(:,ISIZE_SIMPLE) 
00232 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00233 XP_RESA         => XBLOCK_SIMPLE(:,ISIZE_SIMPLE) 
00234 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00235 XP_CPS          => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00236 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00237 XP_LVTT         => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00238 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00239 XP_LSTT         => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00240 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00241 XP_VEG          => XBLOCK_SIMPLE(:,ISIZE_SIMPLE) 
00242 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00243 XP_SNOWALB      => XBLOCK_SIMPLE(:,ISIZE_SIMPLE) 
00244 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00245 XP_LE           => XBLOCK_SIMPLE(:,ISIZE_SIMPLE) 
00246 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00247 XP_PSN          => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00248 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00249 XP_PSNG         => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00250 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00251 XP_PSNV         => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00252 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00253 XP_ALBNIR_DRY   => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00254 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00255 XP_ALBVIS_DRY   => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00256 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00257 XP_ALBUV_DRY    => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00258 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00259 XP_ALBNIR_WET   => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00260 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00261 XP_ALBVIS_WET   => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00262 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00263 XP_ALBUV_WET    => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00264 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00265 XP_RUNOFFB      => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00266 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00267 XP_WDRAIN       => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00268 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00269 XP_TAUICE       => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00270 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00271 XP_Z0REL        => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00272 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00273 XP_AOSIP        => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00274 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00275 XP_AOSIM        => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00276 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00277 XP_AOSJP        => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00278 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00279 XP_AOSJM        => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00280 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00281 XP_HO2IP        => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00282 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00283 XP_HO2IM        => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00284 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00285 XP_HO2JP        => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00286 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00287 XP_HO2JM        => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00288 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00289 XP_SSO_SLOPE    => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00290 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00291 XP_GAMMAT       => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00292 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00293 XP_TDEEP        => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00294 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00295 XP_LAT        => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00296 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00297 XP_LON        => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00298 !
00299 ISIZE_GROUND = ISIZE_GROUND + 1
00300 XP_CLAY         => XBLOCK_GROUND(:,:,ISIZE_GROUND)
00301 ISIZE_GROUND = ISIZE_GROUND + 1
00302 XP_SAND         => XBLOCK_GROUND(:,:,ISIZE_GROUND)
00303 ISIZE_GROUND = ISIZE_GROUND + 1
00304 XP_WFC          => XBLOCK_GROUND(:,:,ISIZE_GROUND)
00305 ISIZE_GROUND = ISIZE_GROUND + 1
00306 XP_WWILT        => XBLOCK_GROUND(:,:,ISIZE_GROUND)
00307 ISIZE_GROUND = ISIZE_GROUND + 1
00308 XP_WSAT         => XBLOCK_GROUND(:,:,ISIZE_GROUND)
00309 ISIZE_GROUND = ISIZE_GROUND + 1
00310 XP_CONDSAT      => XBLOCK_GROUND(:,:,ISIZE_GROUND)
00311 ISIZE_GROUND = ISIZE_GROUND + 1
00312 XP_DG           => XBLOCK_GROUND(:,:,ISIZE_GROUND)
00313 ISIZE_GROUND = ISIZE_GROUND + 1
00314 XP_WG           => XBLOCK_GROUND(:,:,ISIZE_GROUND)
00315 ISIZE_GROUND = ISIZE_GROUND + 1
00316 XP_WGI          => XBLOCK_GROUND(:,:,ISIZE_GROUND)
00317 !
00318 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00319 XP_KSAT_ICE     => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00320 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00321 XP_D_ICE        => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00322 !
00323 ISIZE_VEGTYPE = ISIZE_VEGTYPE + 1
00324 XP_VEGTYPE_PATCH => XBLOCK_VEGTYPE(:,:,ISIZE_VEGTYPE)
00325 !
00326 ISIZE_TG = ISIZE_TG + 1
00327 XP_TG           => XBLOCK_TG(:,:,ISIZE_TG)
00328 !
00329 ISIZE_SNOW = ISIZE_SNOW + 1
00330 XP_SNOWSWE      => XBLOCK_SNOW(:,:,ISIZE_SNOW)
00331 ISIZE_SNOW = ISIZE_SNOW + 1
00332 XP_SNOWRHO      => XBLOCK_SNOW(:,:,ISIZE_SNOW)
00333 !
00334 ISIZE_ALB = ISIZE_ALB + 1
00335 XP_DIR_ALB_WITH_SNOW=> XBLOCK_ALB(:,:,ISIZE_ALB)
00336 ISIZE_ALB = ISIZE_ALB + 1
00337 XP_SCA_ALB_WITH_SNOW=> XBLOCK_ALB(:,:,ISIZE_ALB)
00338 !
00339 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00340 XP_FFLOOD       => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00341 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00342 XP_PIFLOOD      => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00343 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00344 XP_Z0FLOOD      => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00345 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00346 XP_FF           => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00347 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00348 XP_FFG          => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00349 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00350 XP_FFV          => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00351 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00352 XP_FFROZEN      => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00353 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00354 XP_ALBF         => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00355 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00356 XP_EMISF        => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00357 ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00358 XP_FSAT         => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00359 !
00360 IF(TSNOW%SCHEME=='EBA') THEN
00361   ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00362    XP_PSNV_A      => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00363 ELSE
00364   ISIZE_0 = ISIZE_0 + 1
00365   XP_PSNV_A       => XBLOCK_0(:,ISIZE_0)
00366 ENDIF
00367 !
00368 IF (TSNOW%SCHEME=='3-L' .OR. TSNOW%SCHEME=='CRO') THEN
00369   ISIZE_SNOW = ISIZE_SNOW + 1
00370    XP_SNOWHEAT   => XBLOCK_SNOW(:,:,ISIZE_SNOW)
00371   ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00372    XP_SNOWEMIS   => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00373 ELSE
00374   ISIZE_00 = ISIZE_00 + 1
00375   XP_SNOWHEAT   => XBLOCK_00(:,:,ISIZE_00) 
00376   ISIZE_0 = ISIZE_0 + 1
00377   XP_SNOWEMIS   => XBLOCK_0(:,ISIZE_0)
00378 END IF
00379 !
00380 IF(TSNOW%SCHEME=='CRO') THEN
00381   ISIZE_SNOW = ISIZE_SNOW + 1
00382    XP_SNOWGRAN1  => XBLOCK_SNOW(:,:,ISIZE_SNOW)
00383   ISIZE_SNOW = ISIZE_SNOW + 1
00384    XP_SNOWGRAN2  => XBLOCK_SNOW(:,:,ISIZE_SNOW)
00385 ISIZE_SNOW = ISIZE_SNOW + 1
00386    XP_SNOWHIST   => XBLOCK_SNOW(:,:,ISIZE_SNOW)
00387   ISIZE_SNOW = ISIZE_SNOW + 1
00388    XP_SNOWAGE    => XBLOCK_SNOW(:,:,ISIZE_SNOW)
00389 ELSE      
00390   ISIZE_00 = ISIZE_00 + 1
00391   XP_SNOWGRAN1  => XBLOCK_00(:,:,ISIZE_00)  
00392   ISIZE_00 = ISIZE_00 + 1
00393   XP_SNOWGRAN2  => XBLOCK_00(:,:,ISIZE_00) 
00394   ISIZE_00 = ISIZE_00 + 1
00395   XP_SNOWHIST   => XBLOCK_00(:,:,ISIZE_00) 
00396   ISIZE_00 = ISIZE_00 + 1
00397   XP_SNOWAGE    => XBLOCK_00(:,:,ISIZE_00) 
00398 END IF
00399 !
00400 IF(LGLACIER)THEN  
00401   ISIZE_SIMPLE = ISIZE_SIMPLE + 1  
00402    XP_ICE_STO=> XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00403 ELSE     
00404   ISIZE_0 = ISIZE_0 + 1
00405   XP_ICE_STO=> XBLOCK_0(:,ISIZE_0)
00406 ENDIF
00407 !
00408 IF (CSCOND=='PL98'.OR.CISBA=='DIF') THEN
00409   ISIZE_GROUND = ISIZE_GROUND + 1
00410    XP_HCAPSOIL   => XBLOCK_GROUND(:,:,ISIZE_GROUND)
00411 ELSE
00412   ISIZE_01 = ISIZE_01 + 1
00413   XP_HCAPSOIL   => XBLOCK_01(:,:,ISIZE_01)
00414 END IF
00415 !
00416 IF (CSCOND=='PL98') THEN
00417   ISIZE_GROUND = ISIZE_GROUND + 1
00418    XP_CONDDRY    => XBLOCK_GROUND(:,:,ISIZE_GROUND)
00419   ISIZE_GROUND = ISIZE_GROUND + 1
00420    XP_CONDSLD    => XBLOCK_GROUND(:,:,ISIZE_GROUND)
00421 ELSE
00422   ISIZE_01 = ISIZE_01 + 1
00423   XP_CONDDRY    => XBLOCK_01(:,:,ISIZE_01)
00424   ISIZE_01 = ISIZE_01 + 1
00425   XP_CONDSLD    => XBLOCK_01(:,:,ISIZE_01)
00426 END IF
00427 !
00428 IF (CISBA=='2-L' .OR. CISBA=='3-L') THEN   
00429   ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00430    XP_C4B          => XBLOCK_SIMPLE(:,ISIZE_SIMPLE) 
00431   ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00432    XP_ACOEF        => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00433  ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00434    XP_PCOEF        => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00435   ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00436    XP_CGSAT        => XBLOCK_SIMPLE(:,ISIZE_SIMPLE) 
00437   ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00438    XP_C1SAT        => XBLOCK_SIMPLE(:,ISIZE_SIMPLE) 
00439   ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00440    XP_C2REF        => XBLOCK_SIMPLE(:,ISIZE_SIMPLE) 
00441   ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00442    XP_C4REF        => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)   
00443   ISIZE_2 = ISIZE_2 + 1
00444   XP_C3           => XBLOCK_2(:,:,ISIZE_2)
00445 ELSE
00446   ISIZE_0 = ISIZE_0 + 1
00447   XP_C4B          => XBLOCK_0(:,ISIZE_0)
00448   ISIZE_0 = ISIZE_0 + 1
00449   XP_ACOEF        => XBLOCK_0(:,ISIZE_0) 
00450  ISIZE_0 = ISIZE_0 + 1
00451   XP_PCOEF        => XBLOCK_0(:,ISIZE_0)
00452   ISIZE_0 = ISIZE_0 + 1
00453   XP_CGSAT        => XBLOCK_0(:,ISIZE_0) 
00454   ISIZE_0 = ISIZE_0 + 1
00455   XP_C1SAT        => XBLOCK_0(:,ISIZE_0) 
00456   ISIZE_0 = ISIZE_0 + 1
00457   XP_C2REF        => XBLOCK_0(:,ISIZE_0)   
00458   ISIZE_0 = ISIZE_0 + 1
00459   XP_C4REF        => XBLOCK_0(:,ISIZE_0)  
00460   ISIZE_00 = ISIZE_00 + 1
00461   XP_C3           => XBLOCK_00(:,:,ISIZE_00)   
00462 END IF
00463 !
00464 ISIZE_GROUND = ISIZE_GROUND + 1
00465 XP_MPOTSAT    => XBLOCK_GROUND(:,:,ISIZE_GROUND)
00466 ISIZE_GROUND = ISIZE_GROUND + 1
00467 XP_BCOEF      => XBLOCK_GROUND(:,:,ISIZE_GROUND)
00468 !
00469 IF (CISBA=='DIF') THEN
00470 !
00471   ISIZE_GROUND = ISIZE_GROUND + 1
00472    XP_ROOTFRAC   => XBLOCK_GROUND(:,:,ISIZE_GROUND) 
00473   ISIZE_GROUND = ISIZE_GROUND + 1
00474    XP_DZG        => XBLOCK_GROUND(:,:,ISIZE_GROUND)
00475   ISIZE_GROUND = ISIZE_GROUND + 1
00476    XP_DZDIF      => XBLOCK_GROUND(:,:,ISIZE_GROUND) 
00477   ISIZE_GROUND = ISIZE_GROUND + 1
00478    XP_SOILWGHT   => XBLOCK_GROUND(:,:,ISIZE_GROUND)
00479 !
00480   ISIZE_NSIMPLE = ISIZE_NSIMPLE + 1
00481    NK_WG_LAYER   => NBLOCK_SIMPLE(:,ISIZE_NSIMPLE)
00482 !  
00483 ELSE
00484 !
00485   ISIZE_01 = ISIZE_01 + 1
00486   XP_ROOTFRAC   => XBLOCK_01(:,:,ISIZE_01)
00487   ISIZE_01 = ISIZE_01 + 1
00488   XP_DZG        => XBLOCK_01(:,:,ISIZE_01)
00489   ISIZE_01 = ISIZE_01 + 1
00490   XP_DZDIF      => XBLOCK_01(:,:,ISIZE_01)
00491   ISIZE_01 = ISIZE_01 + 1
00492   XP_SOILWGHT   => XBLOCK_01(:,:,ISIZE_01)  
00493 !  
00494   ISIZE_N0 = ISIZE_N0 + 1
00495    NK_WG_LAYER   => NBLOCK_0(:,ISIZE_N0)
00496 !   
00497 END IF
00498 !
00499 IF (LTR_ML) THEN
00500   ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00501   XP_FAPARC => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00502   ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00503   XP_FAPIRC => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00504   ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00505   XP_LAI_EFFC => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00506   ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00507   XP_MUS => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)  
00508 ELSE
00509   ISIZE_0 = ISIZE_0 + 1
00510   XP_FAPARC => XBLOCK_0(:,ISIZE_0)
00511   ISIZE_0 = ISIZE_0 + 1
00512   XP_FAPIRC => XBLOCK_0(:,ISIZE_0)
00513   ISIZE_0 = ISIZE_0 + 1
00514   XP_LAI_EFFC => XBLOCK_0(:,ISIZE_0)
00515   ISIZE_0 = ISIZE_0 + 1
00516   XP_MUS => XBLOCK_0(:,ISIZE_0)
00517 ENDIF
00518 !
00519 IF (CPHOTO=='NON') THEN
00520   ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00521    XP_RSMIN      => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00522 ELSE
00523   ISIZE_0 = ISIZE_0 + 1
00524   XP_RSMIN      => XBLOCK_0(:,ISIZE_0)
00525 END IF
00526 !
00527 !
00528 IF (CPHOTO/='NON') THEN
00529   ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00530    XP_BSLAI      => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00531   ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00532    XP_LAIMIN     => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00533   ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00534    XP_SEFOLD     => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00535   ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00536    XP_H_TREE     => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00537   ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00538    XP_ANF        => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00539   ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00540    XP_ANMAX      => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00541   ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00542    XP_FZERO      => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00543   ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00544    XP_EPSO       => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00545   ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00546    XP_GAMM       => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00547   ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00548    XP_QDGAMM     => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00549   ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00550    XP_GMES       => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00551   ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00552    XP_RE25       => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00553   ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00554    XP_QDGMES     => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00555   ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00556    XP_T1GMES     => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00557   ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00558    XP_T2GMES     => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00559   ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00560    XP_AMAX       => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00561   ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00562    XP_QDAMAX     => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00563   ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00564    XP_T1AMAX     => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00565   ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00566    XP_T2AMAX     => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00567   ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00568    XP_AN         => XBLOCK_SIMPLE(:,ISIZE_SIMPLE) 
00569   ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00570    XP_ANDAY      => XBLOCK_SIMPLE(:,ISIZE_SIMPLE) 
00571   ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00572    XP_ANFM       => XBLOCK_SIMPLE(:,ISIZE_SIMPLE) 
00573   ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00574    XP_GC         => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00575   ISIZE_BIOMASS = ISIZE_BIOMASS + 1
00576   XP_BIOMASS        => XBLOCK_BIOMASS(:,:,ISIZE_BIOMASS)
00577   ISIZE_BIOMASS = ISIZE_BIOMASS + 1 
00578   XP_RESP_BIOMASS   => XBLOCK_BIOMASS(:,:,ISIZE_BIOMASS)
00579 ELSE
00580   ISIZE_0 = ISIZE_0 + 1
00581   XP_BSLAI      => XBLOCK_0(:,ISIZE_0)
00582   ISIZE_0 = ISIZE_0 + 1
00583   XP_LAIMIN     => XBLOCK_0(:,ISIZE_0)
00584   ISIZE_0 = ISIZE_0 + 1
00585   XP_SEFOLD     => XBLOCK_0(:,ISIZE_0)
00586   ISIZE_0 = ISIZE_0 + 1
00587   XP_H_TREE     => XBLOCK_0(:,ISIZE_0)
00588   ISIZE_0 = ISIZE_0 + 1
00589   XP_ANF        => XBLOCK_0(:,ISIZE_0)
00590   ISIZE_0 = ISIZE_0 + 1
00591   XP_ANMAX      => XBLOCK_0(:,ISIZE_0)
00592   ISIZE_0 = ISIZE_0 + 1
00593   XP_FZERO      => XBLOCK_0(:,ISIZE_0)
00594   ISIZE_0 = ISIZE_0 + 1
00595   XP_EPSO       => XBLOCK_0(:,ISIZE_0)
00596   ISIZE_0 = ISIZE_0 + 1
00597   XP_GAMM       => XBLOCK_0(:,ISIZE_0)
00598   ISIZE_0 = ISIZE_0 + 1
00599   XP_QDGAMM     => XBLOCK_0(:,ISIZE_0)
00600   ISIZE_0 = ISIZE_0 + 1
00601   XP_GMES       => XBLOCK_0(:,ISIZE_0)
00602   ISIZE_0 = ISIZE_0 + 1
00603   XP_RE25       => XBLOCK_0(:,ISIZE_0)
00604   ISIZE_0 = ISIZE_0 + 1
00605   XP_QDGMES     => XBLOCK_0(:,ISIZE_0)
00606   ISIZE_0 = ISIZE_0 + 1
00607   XP_T1GMES     => XBLOCK_0(:,ISIZE_0)
00608   ISIZE_0 = ISIZE_0 + 1
00609   XP_T2GMES     => XBLOCK_0(:,ISIZE_0)
00610   ISIZE_0 = ISIZE_0 + 1
00611   XP_AMAX       => XBLOCK_0(:,ISIZE_0)
00612   ISIZE_0 = ISIZE_0 + 1
00613   XP_QDAMAX     => XBLOCK_0(:,ISIZE_0)
00614   ISIZE_0 = ISIZE_0 + 1
00615   XP_T1AMAX     => XBLOCK_0(:,ISIZE_0)
00616   ISIZE_0 = ISIZE_0 + 1
00617   XP_T2AMAX     => XBLOCK_0(:,ISIZE_0)
00618   ISIZE_0 = ISIZE_0 + 1
00619   XP_AN         => XBLOCK_0(:,ISIZE_0)
00620   ISIZE_0 = ISIZE_0 + 1
00621   XP_ANDAY      => XBLOCK_0(:,ISIZE_0)
00622   ISIZE_0 = ISIZE_0 + 1
00623   XP_ANFM       => XBLOCK_0(:,ISIZE_0)
00624   ISIZE_0 = ISIZE_0 + 1
00625   XP_GC         => XBLOCK_0(:,ISIZE_0)
00626   ISIZE_00 = ISIZE_00 + 1
00627   XP_BIOMASS        => XBLOCK_00(:,:,ISIZE_00)
00628   ISIZE_00 = ISIZE_00 + 1
00629   XP_RESP_BIOMASS   => XBLOCK_00(:,:,ISIZE_00)
00630 END IF
00631 !
00632 IF (CPHOTO=='AST' .OR. CPHOTO=='LST' .OR. CPHOTO=='NIT' .OR. CPHOTO=='NCB') THEN
00633   ISIZE_LSIMPLE = ISIZE_LSIMPLE + 1
00634   LP_STRESS     => LBLOCK_SIMPLE(:,ISIZE_LSIMPLE)
00635   ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00636    XP_F2I        => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00637   ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00638    XP_AH         => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00639   ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00640    XP_BH         => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00641   ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00642    XP_DMAX       => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00643 ELSE
00644   ISIZE_L0 = ISIZE_L0 + 1
00645   LP_STRESS     => LBLOCK_0(:,ISIZE_L0)
00646   ISIZE_0 = ISIZE_0 + 1
00647   XP_F2I        => XBLOCK_0(:,ISIZE_0)
00648   ISIZE_0 = ISIZE_0 + 1
00649   XP_AH         => XBLOCK_0(:,ISIZE_0)
00650   ISIZE_0 = ISIZE_0 + 1
00651   XP_BH         => XBLOCK_0(:,ISIZE_0)
00652   ISIZE_0 = ISIZE_0 + 1
00653   XP_DMAX       => XBLOCK_0(:,ISIZE_0)
00654 END IF
00655 !
00656 IF (CPHOTO=='LAI' .OR. CPHOTO=='LST' .OR. CPHOTO=='NIT' .OR. CPHOTO=='NCB') THEN
00657   ISIZE_TSIMPLE = ISIZE_TSIMPLE + 1
00658   TP_SEED           => TBLOCK_SIMPLE(:,ISIZE_TSIMPLE)
00659   ISIZE_TSIMPLE = ISIZE_TSIMPLE + 1
00660   TP_REAP           => TBLOCK_SIMPLE(:,ISIZE_TSIMPLE)
00661   ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00662    XP_IRRIG          => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00663   ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00664    XP_WATSUP         => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00665   IF (LAGRIP) THEN
00666      ISIZE_LSIMPLE = ISIZE_LSIMPLE + 1
00667      XP_LIRRIDAY       => LBLOCK_SIMPLE(:,ISIZE_LSIMPLE)
00668      ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00669      XP_THRESHOLD      => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00670      ISIZE_LSIMPLE = ISIZE_LSIMPLE + 1
00671      XP_LIRRIGATE      => LBLOCK_SIMPLE(:,ISIZE_LSIMPLE)
00672   ELSE
00673      ISIZE_L0 = ISIZE_L0 + 1
00674      XP_LIRRIDAY       => LBLOCK_0(:,ISIZE_L0)
00675      ISIZE_0 = ISIZE_0 + 1
00676      XP_THRESHOLD      => XBLOCK_0(:,ISIZE_0)
00677      ISIZE_L0 = ISIZE_L0 + 1
00678      XP_LIRRIGATE      => LBLOCK_0(:,ISIZE_L0)
00679   ENDIF
00680 ELSE
00681   ISIZE_T0 = ISIZE_T0 + 1
00682   TP_SEED           => TBLOCK_0(:,ISIZE_T0)
00683   ISIZE_T0 = ISIZE_T0 + 1
00684   TP_REAP           => TBLOCK_0(:,ISIZE_T0)
00685   ISIZE_0 = ISIZE_0 + 1
00686   XP_IRRIG          => XBLOCK_0(:,ISIZE_0)
00687   ISIZE_0 = ISIZE_0 + 1
00688   XP_WATSUP         => XBLOCK_0(:,ISIZE_0)
00689   ISIZE_L0 = ISIZE_L0 + 1
00690   XP_LIRRIDAY       => LBLOCK_0(:,ISIZE_L0)
00691   ISIZE_0 = ISIZE_0 + 1
00692   XP_THRESHOLD      => XBLOCK_0(:,ISIZE_0)
00693   ISIZE_L0 = ISIZE_L0 + 1
00694   XP_LIRRIGATE      => LBLOCK_0(:,ISIZE_L0)
00695 ENDIF
00696 !
00697 IF(CPHOTO=='NIT' .OR. CPHOTO=='NCB') THEN
00698   ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00699    XP_CE_NITRO       => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00700   ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00701    XP_CF_NITRO       => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00702   ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00703    XP_CNA_NITRO      => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00704   ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00705    XP_BSLAI_NITRO    => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00706 ELSE
00707   ISIZE_0 = ISIZE_0 + 1
00708   XP_CE_NITRO       => XBLOCK_0(:,ISIZE_0)
00709   ISIZE_0 = ISIZE_0 + 1
00710   XP_CF_NITRO       => XBLOCK_0(:,ISIZE_0)
00711   ISIZE_0 = ISIZE_0 + 1
00712   XP_CNA_NITRO      => XBLOCK_0(:,ISIZE_0)
00713   ISIZE_0 = ISIZE_0 + 1
00714   XP_BSLAI_NITRO    => XBLOCK_0(:,ISIZE_0)
00715 END IF
00716 !
00717 IF (CPHOTO=='NCB') THEN
00718   ISIZE_BIOMASS = ISIZE_BIOMASS + 1
00719   XP_INCREASE     => XBLOCK_BIOMASS(:,:,ISIZE_BIOMASS)
00720   ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00721    XP_TAU_WOOD     => XBLOCK_SIMPLE(:,ISIZE_SIMPLE)  
00722 ELSE
00723   ISIZE_00 = ISIZE_00 + 1
00724   XP_INCREASE     => XBLOCK_00(:,:,ISIZE_00)
00725   ISIZE_0 = ISIZE_0 + 1
00726   XP_TAU_WOOD     => XBLOCK_0(:,ISIZE_0)
00727 ENDIF
00728 !
00729 IF (CRESPSL=='CNT') THEN
00730   ISIZE_LITTER = ISIZE_LITTER + 1
00731   XP_LITTER         => XBLOCK_LITTER(:,:,:,ISIZE_LITTER)
00732   ISIZE_SOILCARB = ISIZE_SOILCARB + 1
00733   XP_SOILCARB       => XBLOCK_SOILCARB(:,:,ISIZE_SOILCARB)
00734   ISIZE_LITTLEVS = ISIZE_LITTLEVS + 1
00735   XP_LIGNIN_STRUC   => XBLOCK_LITTLEVS(:,:,ISIZE_LITTLEVS)
00736   ISIZE_BIOMASS = ISIZE_BIOMASS + 1
00737   XP_TURNOVER       => XBLOCK_BIOMASS(:,:,ISIZE_BIOMASS)
00738 ELSE
00739   ISIZE_000 = ISIZE_000 + 1
00740   XP_LITTER         => XBLOCK_000(:,:,:,ISIZE_000)
00741   ISIZE_00 = ISIZE_00 + 1
00742   XP_SOILCARB       => XBLOCK_00(:,:,ISIZE_00)
00743   ISIZE_00 = ISIZE_00 + 1
00744   XP_LIGNIN_STRUC   => XBLOCK_00(:,:,ISIZE_00)
00745   ISIZE_00 = ISIZE_00 + 1
00746   XP_TURNOVER       => XBLOCK_00(:,:,ISIZE_00)
00747 END IF
00748 !
00749 IF (CRAIN=='SGH')THEN
00750   ISIZE_SIMPLE = ISIZE_SIMPLE + 1
00751    XP_MUF=> XBLOCK_SIMPLE(:,ISIZE_SIMPLE)
00752 ELSE
00753   ISIZE_0 = ISIZE_0 + 1
00754   XP_MUF=> XBLOCK_0(:,ISIZE_0)
00755 ENDIF
00756 !
00757 !
00758 IF (ISIZE_SIMPLE.GT.NSIZE_SIMPLE) &
00759   CALL ABOR1_SFX("PACK_ISBA_PATCH_n: PROBLEM DEFINING SIZE_SIMPLE / NUMBER OF FIELDS")
00760 IF (ISIZE_GROUND.GT.NSIZE_GROUND) &
00761   CALL ABOR1_SFX("PACK_ISBA_PATCH_n: PROBLEM DEFINING SIZE_GROUND / NUMBER OF FIELDS")
00762 IF (ISIZE_VEGTYPE.GT.NSIZE_VEGTYPE) &
00763   CALL ABOR1_SFX("PACK_ISBA_PATCH_n: PROBLEM DEFINING SIZE_VEGTYPE / NUMBER OF FIELDS")
00764 IF (ISIZE_TG.GT.NSIZE_TG) &
00765   CALL ABOR1_SFX("PACK_ISBA_PATCH_n: PROBLEM DEFINING SIZE_TG / NUMBER OF FIELDS")
00766 IF (ISIZE_SNOW.GT.NSIZE_SNOW) &
00767   CALL ABOR1_SFX("PACK_ISBA_PATCH_n: PROBLEM DEFINING SIZE_SNOW / NUMBER OF FIELDS")
00768 IF (ISIZE_ALB.GT.NSIZE_ALB) &
00769   CALL ABOR1_SFX("PACK_ISBA_PATCH_n: PROBLEM DEFINING SIZE_ALB / NUMBER OF FIELDS")
00770 IF (ISIZE_0.GT.NSIZE_0) &
00771   CALL ABOR1_SFX("PACK_ISBA_PATCH_n: PROBLEM DEFINING SIZE_0 / NUMBER OF FIELDS")
00772 IF (ISIZE_00.GT.NSIZE_00) &
00773   CALL ABOR1_SFX("PACK_ISBA_PATCH_n: PROBLEM DEFINING SIZE_00 / NUMBER OF FIELDS")
00774 IF (ISIZE_01.GT.NSIZE_01) &
00775   CALL ABOR1_SFX("PACK_ISBA_PATCH_n: PROBLEM DEFINING SIZE_01 / NUMBER OF FIELDS")
00776 IF (ISIZE_2.GT.NSIZE_2) &
00777   CALL ABOR1_SFX("PACK_ISBA_PATCH_n: PROBLEM DEFINING SIZE_2 / NUMBER OF FIELDS")
00778 IF (ISIZE_BIOMASS.GT.NSIZE_BIOMASS) &
00779   CALL ABOR1_SFX("PACK_ISBA_PATCH_n: PROBLEM DEFINING SIZE_BIOMASS / NUMBER OF FIELDS")
00780 IF (ISIZE_LITTER.GT.NSIZE_LITTER) &
00781   CALL ABOR1_SFX("PACK_ISBA_PATCH_n: PROBLEM DEFINING SIZE_LITTER / NUMBER OF FIELDS")
00782 IF (ISIZE_SOILCARB.GT.NSIZE_SOILCARB) &
00783   CALL ABOR1_SFX("PACK_ISBA_PATCH_n: PROBLEM DEFINING SIZE_SOILCARB / NUMBER OF FIELDS")
00784 IF (ISIZE_LITTLEVS.GT.NSIZE_LITTLEVS) &
00785   CALL ABOR1_SFX("PACK_ISBA_PATCH_n: PROBLEM DEFINING SIZE_LITTLEVS / NUMBER OF FIELDS")
00786 IF (ISIZE_000.GT.NSIZE_000) &
00787   CALL ABOR1_SFX("PACK_ISBA_PATCH_n: PROBLEM DEFINING SIZE_000 / NUMBER OF FIELDS")
00788 IF (ISIZE_TSIMPLE.GT.NSIZE_TSIMPLE) &
00789   CALL ABOR1_SFX("PACK_ISBA_PATCH_n: PROBLEM DEFINING SIZE_TSIMPLE / NUMBER OF FIELDS")
00790 IF (ISIZE_T0.GT.NSIZE_T0) &
00791   CALL ABOR1_SFX("PACK_ISBA_PATCH_n: PROBLEM DEFINING SIZE_T0 / NUMBER OF FIELDS")
00792 IF (ISIZE_LSIMPLE.GT.NSIZE_LSIMPLE) &
00793   CALL ABOR1_SFX("PACK_ISBA_PATCH_n: PROBLEM DEFINING SIZE_LSIMPLE / NUMBER OF FIELDS")
00794 IF (ISIZE_L0.GT.NSIZE_L0) &
00795   CALL ABOR1_SFX("PACK_ISBA_PATCH_n: PROBLEM DEFINING SIZE_L0 / NUMBER OF FIELDS")
00796 IF (ISIZE_N0.GT.NSIZE_N0) &
00797   CALL ABOR1_SFX("PACK_ISBA_PATCH_n: PROBLEM DEFINING SIZE_N0 / NUMBER OF FIELDS")  
00798 !
00799 !------------------------------------------------------------------------
00800 !
00801 IF (NPATCH==1) THEN
00802   !
00803   XP_Z0_O_Z0H     (:)    =    XZ0_O_Z0H     (:, 1)
00804   XP_EMIS         (:)    =    XEMIS         (:, 1)
00805   XP_ALBNIR       (:)    =    XALBNIR       (:, 1)
00806   XP_ALBVIS       (:)    =    XALBVIS       (:, 1)
00807   XP_ALBUV        (:)    =    XALBUV        (:, 1)
00808   XP_ALBNIR_VEG   (:)    =    XALBNIR_VEG   (:, 1)
00809   XP_ALBVIS_VEG   (:)    =    XALBVIS_VEG   (:, 1)
00810   XP_ALBUV_VEG    (:)    =    XALBUV_VEG    (:, 1)
00811   XP_ALBNIR_SOIL  (:)    =    XALBNIR_SOIL  (:, 1)
00812   XP_ALBVIS_SOIL  (:)    =    XALBVIS_SOIL  (:, 1)
00813   XP_ALBUV_SOIL   (:)    =    XALBUV_SOIL   (:, 1)
00814   XP_Z0           (:)    =    XZ0           (:, 1)
00815   XP_WRMAX_CF     (:)    =    XWRMAX_CF     (:, 1)
00816   XP_GAMMA        (:)    =    XGAMMA        (:, 1)
00817   XP_CV           (:)    =    XCV           (:, 1)
00818   XP_RGL          (:)    =    XRGL          (:, 1)
00819   XP_RUNOFFD      (:)    =    XRUNOFFD      (:, 1) 
00820   XP_Z0EFFIP      (:)    =    XZ0EFFIP      (:, 1)
00821   XP_Z0EFFIM      (:)    =    XZ0EFFIM      (:, 1)
00822   XP_Z0EFFJP      (:)    =    XZ0EFFJP      (:, 1)
00823   XP_Z0EFFJM      (:)    =    XZ0EFFJM      (:, 1)  
00824   XP_WR           (:)    =    XWR           (:, 1)   
00825   XP_LAI          (:)    =    XLAI          (:, 1) 
00826   XP_RESA         (:)    =    XRESA         (:, 1)
00827   XP_CPS          (:)    =    XPCPS         (:, 1)
00828   XP_LVTT         (:)    =    XPLVTT        (:, 1)
00829   XP_LSTT         (:)    =    XPLSTT        (:, 1) 
00830   XP_VEG          (:)    =    XVEG          (:, 1)  
00831   XP_SNOWALB      (:)    =    TSNOW%ALB     (:, 1) 
00832   XP_LE           (:)    =    XLE           (:, 1)  
00833   XP_PSN          (:)    =    XPSN          (:, 1)
00834   XP_PSNG         (:)    =    XPSNG         (:, 1)
00835   XP_PSNV         (:)    =    XPSNV         (:, 1)  
00836   XP_ALBNIR_DRY   (:)    =    XALBNIR_DRY   (:)
00837   XP_ALBVIS_DRY   (:)    =    XALBVIS_DRY   (:)
00838   XP_ALBUV_DRY    (:)    =    XALBUV_DRY    (:)
00839   XP_ALBNIR_WET   (:)    =    XALBNIR_WET   (:)
00840   XP_ALBVIS_WET   (:)    =    XALBVIS_WET   (:)
00841   XP_ALBUV_WET    (:)    =    XALBUV_WET    (:)  
00842   XP_RUNOFFB      (:)    =    XRUNOFFB      (:)
00843   XP_WDRAIN       (:)    =    XWDRAIN       (:)
00844   XP_TAUICE       (:)    =    XTAUICE       (:)
00845   XP_Z0REL        (:)    =    XZ0REL        (:)
00846   XP_AOSIP        (:)    =    XAOSIP        (:)
00847   XP_AOSIM        (:)    =    XAOSIM        (:)
00848   XP_AOSJP        (:)    =    XAOSJP        (:)
00849   XP_AOSJM        (:)    =    XAOSJM        (:)
00850   XP_HO2IP        (:)    =    XHO2IP        (:)
00851   XP_HO2IM        (:)    =    XHO2IM        (:)
00852   XP_HO2JP        (:)    =    XHO2JP        (:)
00853   XP_HO2JM        (:)    =    XHO2JM        (:)
00854   XP_SSO_SLOPE    (:)    =    XSSO_SLOPE    (:)
00855   XP_GAMMAT       (:)    =    XGAMMAT       (:)
00856   XP_TDEEP        (:)    =    XTDEEP        (:)  
00857   XP_LAT          (:)    =    XLAT          (:)
00858   XP_LON          (:)    =    XLON          (:)
00859   !
00860   XP_CLAY         (:,:)  =    XCLAY         (:, :)
00861   XP_SAND         (:,:)  =    XSAND         (:, :) 
00862   XP_WFC          (:, :) =    XWFC          (:, :)
00863   XP_WWILT        (:, :) =    XWWILT        (:, :)
00864   XP_WSAT         (:, :) =    XWSAT         (:, :)
00865   XP_CONDSAT      (:, :) =    XCONDSAT      (:, :, 1)  
00866   XP_DG           (:, :) =    XDG           (:, :, 1)  
00867   XP_WG           (:, :) =    XWG           (:, :, 1)
00868   XP_WGI          (:, :) =    XWGI          (:, :, 1)
00869   XP_MPOTSAT      (:, :) =    XMPOTSAT      (:, :) 
00870   XP_BCOEF        (:, :) =    XBCOEF        (:, :)  
00871   !
00872   XP_KSAT_ICE     (:)    =    XKSAT_ICE     (:, 1)
00873   XP_D_ICE        (:)    =    XD_ICE        (:, 1)
00874   !
00875   XP_VEGTYPE_PATCH(:, :) =    XVEGTYPE_PATCH(:, :, 1)  
00876   !
00877   XP_TG           (:, :) =    XTG           (:, :, 1)  
00878   !  
00879   XP_SNOWSWE      (:, :) =    TSNOW%WSNOW   (:, :, 1)
00880   XP_SNOWRHO      (:, :) =    TSNOW%RHO     (:, :, 1)  
00881   !  
00882   XP_DIR_ALB_WITH_SNOW (:,:)= XDIR_ALB_WITH_SNOW(:, :, 1)
00883   XP_SCA_ALB_WITH_SNOW (:,:)= XSCA_ALB_WITH_SNOW(:, :, 1)
00884   !  
00885   XP_FSAT(:)=XFSAT(:)
00886   !
00887   IF(LFLOOD)THEN
00888     XP_FFLOOD  (:)=XFFLOOD  (:)
00889     XP_PIFLOOD (:)=XPIFLOOD (:)
00890     XP_Z0FLOOD (:)=XZ0_FLOOD(:, 1)
00891     XP_FF      (:)=XFF      (:, 1)
00892     XP_FFG     (:)=XFFG     (:, 1)
00893     XP_FFV     (:)=XFFV     (:, 1)    
00894     XP_FFROZEN (:)=XFFROZEN (:, 1)    
00895     XP_ALBF    (:)=XALBF    (:, 1)
00896     XP_EMISF   (:)=XEMISF   (:, 1)
00897   ELSE
00898     XP_FFLOOD  (:)= 0.0
00899     XP_PIFLOOD (:)= 0.0
00900     XP_FF      (:)= 0.0
00901     XP_FFG     (:)= 0.0
00902     XP_FFV     (:)= 0.0
00903     XP_FFROZEN (:)= 0.0   
00904     XP_ALBF    (:)= 0.0
00905     XP_EMISF   (:)= 0.0    
00906   ENDIF
00907   !
00908   IF(TSNOW%SCHEME=='EBA') THEN
00909     XP_PSNV_A (:)    = XPSNV_A(:, 1)
00910   ENDIF
00911   !
00912   IF (TSNOW%SCHEME=='3-L' .OR. TSNOW%SCHEME=='CRO') THEN
00913     XP_SNOWHEAT   (:, :) =    TSNOW%HEAT   (:, :, 1)
00914   END IF
00915   !
00916   IF(TSNOW%SCHEME=='CRO') THEN
00917     XP_SNOWGRAN1  (:,:) =     TSNOW%GRAN1  (:,:,1)
00918     XP_SNOWGRAN2  (:,:) =     TSNOW%GRAN2  (:,:,1)
00919     XP_SNOWHIST   (:,:) =     TSNOW%HIST   (:,:,1)  
00920     XP_SNOWAGE    (:,:) =     TSNOW%AGE    (:,:,1)  
00921   END IF
00922   !
00923   IF(LGLACIER)THEN
00924     XP_ICE_STO (:)= XICE_STO  (:,1)
00925   ENDIF
00926   !  
00927   IF (CSCOND=='PL98'.OR.CISBA=='DIF') THEN
00928     XP_HCAPSOIL(:, :) = XHCAPSOIL    (:, :)
00929   END IF
00930   !  
00931   IF (CSCOND=='PL98') THEN
00932     XP_CONDDRY    (:, :) =    XCONDDRY     (:, :)
00933     XP_CONDSLD    (:, :) =    XCONDSLD     (:, :)
00934   END IF
00935   !
00936   IF (CISBA=='2-L' .OR. CISBA=='3-L') THEN
00937     XP_C4B        (:)    =    XC4B          (:)
00938     XP_ACOEF      (:)    =    XACOEF        (:)
00939     XP_PCOEF      (:)    =    XPCOEF        (:)
00940     XP_CGSAT      (:)    =    XCGSAT        (:) 
00941     XP_C1SAT      (:)    =    XC1SAT        (:, 1)
00942     XP_C2REF      (:)    =    XC2REF        (:, 1)    
00943     XP_C4REF      (:)    =    XC4REF        (:, 1)    
00944     XP_C3         (:,:)  =    XC3           (:,:,1)    
00945   END IF
00946   !
00947   IF (CISBA=='DIF') THEN
00948     XP_ROOTFRAC   (:, :) =    XROOTFRAC   (:, :, 1)
00949     XP_DZG        (:, :) =    XDZG        (:, :, 1)
00950     XP_DZDIF      (:, :) =    XDZDIF      (:, :, 1)
00951     XP_SOILWGHT   (:, :) =    XSOILWGHT   (:, :, 1)
00952     NK_WG_LAYER   (:   ) =    NWG_LAYER   (:,    1)
00953   END IF
00954   !
00955   IF (LTR_ML) THEN
00956     XP_FAPARC     (:)   =     XFAPARC     (:, 1)
00957     XP_FAPIRC     (:)   =     XFAPIRC     (:, 1)
00958     XP_LAI_EFFC   (:)   =     XLAI_EFFC   (:, 1)
00959     XP_MUS        (:)   =     XMUS        (:, 1)
00960   ENDIF
00961   !  
00962   IF (CPHOTO=='NON') THEN
00963     XP_RSMIN      (:)    =    XRSMIN      (:, 1) 
00964   END IF
00965   !
00966   IF (CPHOTO/='NON') THEN
00967     XP_BSLAI      (:)    =    XBSLAI      (:, 1)
00968     XP_LAIMIN     (:)    =    XLAIMIN     (:, 1)
00969     XP_SEFOLD     (:)    =    XSEFOLD     (:, 1)
00970     XP_H_TREE     (:)    =    XH_TREE     (:, 1)
00971     XP_ANMAX      (:)    =    XANMAX      (:, 1)
00972     XP_FZERO      (:)    =    XFZERO      (:, 1)
00973     XP_EPSO       (:)    =    XEPSO       (:, 1)
00974     XP_GAMM       (:)    =    XGAMM       (:, 1)
00975     XP_QDGAMM     (:)    =    XQDGAMM     (:, 1)
00976     XP_GMES       (:)    =    XGMES       (:, 1)
00977     XP_RE25       (:)    =    XRE25       (:, 1)
00978     XP_QDGMES     (:)    =    XQDGMES     (:, 1)
00979     XP_T1GMES     (:)    =    XT1GMES     (:, 1)
00980     XP_T2GMES     (:)    =    XT2GMES     (:, 1)
00981     XP_AMAX       (:)    =    XAMAX       (:, 1)
00982     XP_QDAMAX     (:)    =    XQDAMAX     (:, 1)
00983     XP_T1AMAX     (:)    =    XT1AMAX     (:, 1)
00984     XP_T2AMAX     (:)    =    XT2AMAX     (:, 1)
00985     XP_AN         (:)    =    XAN         (:, 1) 
00986     XP_ANDAY      (:)    =    XANDAY      (:, 1) 
00987     XP_ANFM       (:)    =    XANFM       (:, 1) 
00988     XP_GC         (:)    =    XGC         (:, 1)
00989     XP_BIOMASS        (:,:)  =    XBIOMASS        (:,:,1)
00990     XP_RESP_BIOMASS   (:,:)  =    XRESP_BIOMASS   (:,:,1)
00991   END IF
00992   !
00993   IF (CPHOTO=='AST' .OR. CPHOTO=='LST' .OR. CPHOTO=='NIT' .OR. CPHOTO=='NCB') THEN  
00994     LP_STRESS     (:)    =    LSTRESS     (:, 1)
00995     XP_F2I        (:)    =    XF2I        (:, 1)
00996     XP_AH         (:)    =    XAH         (:, 1)
00997     XP_BH         (:)    =    XBH         (:, 1)
00998     XP_DMAX       (:)    =    XDMAX       (:, 1)
00999   END IF
01000   !
01001   IF(CPHOTO=='LAI' .OR. CPHOTO=='LST' .OR. CPHOTO=='NIT' .OR. CPHOTO=='NCB') THEN
01002     TP_SEED     (:) = TSEED     (:,1)
01003     TP_REAP     (:) = TREAP     (:,1)
01004     XP_IRRIG    (:) = XIRRIG    (:,1)
01005     XP_WATSUP   (:) = XWATSUP   (:,1)
01006     IF (LAGRIP) THEN
01007        XP_LIRRIDAY (:) = LIRRIDAY  (:,1)
01008        XP_THRESHOLD(:) = XTHRESHOLDSPT(:,1)
01009        XP_LIRRIGATE(:) = LIRRIGATE (:,1)
01010     END IF
01011   ENDIF
01012   !  
01013   IF(CPHOTO=='NIT' .OR. CPHOTO=='NCB') THEN 
01014      XP_CE_NITRO       (:)  =    XCE_NITRO       (:,1)
01015      XP_CF_NITRO       (:)  =    XCF_NITRO       (:,1)
01016      XP_CNA_NITRO      (:)  =    XCNA_NITRO      (:,1)
01017      XP_BSLAI_NITRO    (:)    =    XBSLAI_NITRO  (:,1)
01018   END IF
01019   !
01020   IF (CPHOTO=='NCB') THEN
01021      XP_INCREASE       (:,:)  =    XINCREASE       (:,:,1)          
01022      XP_TAU_WOOD       (:)    =    XTAU_WOOD       (:,1)
01023   END IF
01024   !
01025   IF (CRESPSL=='CNT') THEN
01026     XP_LITTER         (:,:,:) =    XLITTER         (:,:,:,1)
01027     XP_SOILCARB       (:,:)   =    XSOILCARB       (:,:,1)
01028     XP_LIGNIN_STRUC   (:,:)   =    XLIGNIN_STRUC   (:,:,1)
01029     XP_TURNOVER       (:,:)   =    XTURNOVER       (:,:,1)
01030   END IF
01031   !
01032   IF (CRAIN=='SGH') THEN
01033     XP_MUF(:)=XMUF(:)
01034   ENDIF
01035 !
01036 !------------------------------------------------------------------------
01037 ELSE
01038 !------------------------------------------------------------------------
01039 !
01040   DO JJ=1,KSIZE
01041     JI                      =    KMASK(JJ)
01042     XP_Z0_O_Z0H     (JJ)    =    XZ0_O_Z0H     (JI, KPATCH)
01043     XP_EMIS         (JJ)    =    XEMIS         (JI, KPATCH)
01044     XP_ALBNIR       (JJ)    =    XALBNIR       (JI, KPATCH)
01045     XP_ALBVIS       (JJ)    =    XALBVIS       (JI, KPATCH)
01046     XP_ALBUV        (JJ)    =    XALBUV        (JI, KPATCH)
01047     XP_ALBNIR_VEG   (JJ)    =    XALBNIR_VEG   (JI, KPATCH)
01048     XP_ALBVIS_VEG   (JJ)    =    XALBVIS_VEG   (JI, KPATCH)
01049     XP_ALBUV_VEG    (JJ)    =    XALBUV_VEG    (JI, KPATCH)
01050     XP_ALBNIR_SOIL  (JJ)    =    XALBNIR_SOIL  (JI, KPATCH)
01051     XP_ALBVIS_SOIL  (JJ)    =    XALBVIS_SOIL  (JI, KPATCH)
01052     XP_ALBUV_SOIL   (JJ)    =    XALBUV_SOIL   (JI, KPATCH)
01053     XP_Z0           (JJ)    =    XZ0           (JI, KPATCH)
01054     XP_WRMAX_CF     (JJ)    =    XWRMAX_CF     (JI, KPATCH)
01055     XP_GAMMA        (JJ)    =    XGAMMA        (JI, KPATCH)
01056     XP_CV           (JJ)    =    XCV           (JI, KPATCH)
01057     XP_RGL          (JJ)    =    XRGL          (JI, KPATCH)
01058     XP_RUNOFFD      (JJ)    =    XRUNOFFD      (JI, KPATCH)
01059     XP_Z0EFFIP      (JJ)    =    XZ0EFFIP      (JI, KPATCH)
01060     XP_Z0EFFIM      (JJ)    =    XZ0EFFIM      (JI, KPATCH)
01061     XP_Z0EFFJP      (JJ)    =    XZ0EFFJP      (JI, KPATCH)
01062     XP_Z0EFFJM      (JJ)    =    XZ0EFFJM      (JI, KPATCH)  
01063     XP_WR           (JJ)    =    XWR           (JI, KPATCH) 
01064     XP_LAI          (JJ)    =    XLAI          (JI, KPATCH) 
01065     XP_RESA         (JJ)    =    XRESA         (JI, KPATCH) 
01066     XP_CPS          (JJ)    =    XPCPS         (JI, KPATCH)
01067     XP_LVTT         (JJ)    =    XPLVTT        (JI, KPATCH)
01068     XP_LSTT         (JJ)    =    XPLSTT        (JI, KPATCH)
01069     XP_VEG          (JJ)    =    XVEG          (JI, KPATCH) 
01070     XP_SNOWALB      (JJ)    =    TSNOW%ALB     (JI, KPATCH) 
01071     XP_LE           (JJ)    =    XLE           (JI, KPATCH) 
01072     XP_PSN          (JJ)    =    XPSN          (JI, KPATCH)
01073     XP_PSNG         (JJ)    =    XPSNG         (JI, KPATCH)
01074     XP_PSNV         (JJ)    =    XPSNV         (JI, KPATCH)    
01075     XP_ALBNIR_DRY   (JJ)    =    XALBNIR_DRY   (JI)
01076     XP_ALBVIS_DRY   (JJ)    =    XALBVIS_DRY   (JI)
01077     XP_ALBUV_DRY    (JJ)    =    XALBUV_DRY    (JI)
01078     XP_ALBNIR_WET   (JJ)    =    XALBNIR_WET   (JI)
01079     XP_ALBVIS_WET   (JJ)    =    XALBVIS_WET   (JI)
01080     XP_ALBUV_WET    (JJ)    =    XALBUV_WET    (JI)    
01081     XP_RUNOFFB      (JJ)    =    XRUNOFFB      (JI)
01082     XP_WDRAIN       (JJ)    =    XWDRAIN       (JI)
01083     XP_TAUICE       (JJ)    =    XTAUICE       (JI)
01084     XP_Z0REL        (JJ)    =    XZ0REL        (JI)
01085     XP_AOSIP        (JJ)    =    XAOSIP        (JI)
01086     XP_AOSIM        (JJ)    =    XAOSIM        (JI)
01087     XP_AOSJP        (JJ)    =    XAOSJP        (JI)
01088     XP_AOSJM        (JJ)    =    XAOSJM        (JI)
01089     XP_HO2IP        (JJ)    =    XHO2IP        (JI)
01090     XP_HO2IM        (JJ)    =    XHO2IM        (JI)
01091     XP_HO2JP        (JJ)    =    XHO2JP        (JI)
01092     XP_HO2JM        (JJ)    =    XHO2JM        (JI)
01093     XP_SSO_SLOPE    (JJ)    =    XSSO_SLOPE    (JI)
01094     XP_GAMMAT       (JJ)    =    XGAMMAT       (JI)
01095     XP_TDEEP        (JJ)    =    XTDEEP        (JI) 
01096     XP_LAT          (JJ)    =    XLAT          (JI)
01097     XP_LON          (JJ)    =    XLON          (JI)    
01098     XP_FSAT         (JJ)    =    XFSAT         (JI)
01099   ENDDO
01100   !  
01101   DO JK=1,NGROUND_LAYER
01102     DO JJ=1,KSIZE
01103       JI                       =    KMASK(JJ)
01104       XP_CLAY         (JJ,JK)  =    XCLAY         (JI, JK)
01105       XP_SAND         (JJ,JK)  =    XSAND         (JI, JK)
01106       XP_WFC          (JJ,JK)  =    XWFC          (JI, JK)
01107       XP_WWILT        (JJ,JK)  =    XWWILT        (JI, JK)
01108       XP_WSAT         (JJ,JK)  =    XWSAT         (JI, JK)    
01109       XP_CONDSAT      (JJ,JK)  =    XCONDSAT      (JI, JK, KPATCH)      
01110       XP_DG           (JJ,JK)  =    XDG           (JI, JK, KPATCH)  
01111       XP_WG           (JJ,JK)  =    XWG           (JI, JK, KPATCH)
01112       XP_WGI          (JJ,JK)  =    XWGI          (JI, JK, KPATCH)
01113       XP_MPOTSAT      (JJ, JK) =    XMPOTSAT      (JI, JK)
01114       XP_BCOEF        (JJ, JK) =    XBCOEF        (JI, JK)      
01115     ENDDO    
01116   ENDDO  
01117   !  
01118   DO JJ=1,KSIZE
01119      JI              = KMASK(JJ)
01120      XP_KSAT_ICE(JJ) = XKSAT_ICE(JI,KPATCH)
01121      XP_D_ICE   (JJ) = XD_ICE   (JI,KPATCH)
01122   END DO
01123   !
01124   DO JK=1,NVEGTYPE
01125     DO JJ=1,KSIZE
01126       JI                      =    KMASK(JJ)
01127       XP_VEGTYPE_PATCH(JJ,JK) =    XVEGTYPE_PATCH(JI, JK, KPATCH)
01128     ENDDO
01129   ENDDO  
01130   !
01131   DO JK=1,SIZE(XTG,2)
01132     DO JJ=1,KSIZE
01133       JI                       =    KMASK(JJ)
01134       XP_TG           (JJ,JK)  =    XTG           (JI, JK, KPATCH)  
01135     ENDDO
01136   ENDDO
01137   !  
01138   DO JK=1,TSNOW%NLAYER
01139     DO JJ=1,KSIZE
01140       JI                       =    KMASK(JJ)
01141       XP_SNOWSWE      (JJ,JK)  =    TSNOW%WSNOW   (JI, JK, KPATCH)
01142       XP_SNOWRHO      (JJ,JK)  =    TSNOW%RHO     (JI, JK, KPATCH)
01143     ENDDO
01144   ENDDO  
01145   !  
01146   DO JK=1,SIZE(XP_DIR_ALB_WITH_SNOW,2)
01147     DO JJ=1,KSIZE
01148       JI                          = KMASK(JJ)
01149       XP_DIR_ALB_WITH_SNOW (JJ,JK)= XDIR_ALB_WITH_SNOW(JI,JK,KPATCH)
01150       XP_SCA_ALB_WITH_SNOW (JJ,JK)= XSCA_ALB_WITH_SNOW(JI,JK,KPATCH)
01151     ENDDO
01152   ENDDO
01153   !
01154   IF (LFLOOD)THEN
01155     DO JJ=1,KSIZE
01156        JI             = KMASK(JJ)
01157        XP_FFLOOD  (JJ)=XFFLOOD  (JI)
01158        XP_PIFLOOD (JJ)=XPIFLOOD (JI)
01159        XP_Z0FLOOD (JJ)=XZ0_FLOOD(JI,KPATCH)
01160        XP_FF      (JJ)=XFF      (JI,KPATCH)
01161        XP_FFG     (JJ)=XFFG     (JI,KPATCH)
01162        XP_FFV     (JJ)=XFFV     (JI,KPATCH)
01163        XP_FFROZEN (JJ)=XFFROZEN (JI,KPATCH)    
01164        XP_ALBF    (JJ)=XALBF    (JI,KPATCH)
01165        XP_EMISF   (JJ)=XEMISF   (JI,KPATCH)       
01166     END DO
01167   ELSE
01168     XP_FFLOOD  (:) = 0.0
01169     XP_PIFLOOD (:) = 0.0
01170     XP_FF      (:) = 0.0
01171     XP_FFG     (:) = 0.0
01172     XP_FFROZEN (:) = 0.0
01173     XP_FFV     (:) = 0.0
01174     XP_ALBF    (:) = 0.0
01175     XP_EMISF   (:) = 0.0
01176   ENDIF
01177 !
01178   IF(TSNOW%SCHEME=='EBA') THEN
01179     DO JJ=1,KSIZE
01180        JI                = KMASK(JJ)
01181        XP_PSNV_A (JJ)    = XPSNV_A(JI, KPATCH)
01182     END DO
01183   END IF
01184   !
01185   IF (TSNOW%SCHEME=='3-L' .OR. TSNOW%SCHEME=='CRO') THEN
01186     DO JK=1,SIZE(XP_SNOWHEAT,2)
01187       DO JJ=1,KSIZE
01188         JI                     =    KMASK(JJ)
01189         XP_SNOWHEAT   (JJ, JK) =    TSNOW%HEAT   (JI, JK, KPATCH)
01190       ENDDO
01191     END DO
01192   END IF
01193   !
01194   IF (TSNOW%SCHEME=='CRO') THEN
01195     DO JK=1,SIZE(XP_SNOWGRAN1,2)
01196       DO JJ=1,KSIZE
01197         JI                     =    KMASK(JJ)  
01198         XP_SNOWGRAN1  (JJ, JK) =    TSNOW%GRAN1  (JI, JK, KPATCH)
01199         XP_SNOWGRAN2  (JJ, JK) =    TSNOW%GRAN2  (JI, JK, KPATCH)
01200         XP_SNOWHIST   (JJ, JK) =    TSNOW%HIST   (JI, JK, KPATCH)
01201         XP_SNOWAGE    (JJ, JK) =    TSNOW%AGE    (JI, JK, KPATCH)
01202       ENDDO
01203     END DO
01204   END IF
01205   !
01206   IF(LGLACIER)THEN
01207     DO JJ=1,KSIZE
01208        JI             = KMASK(JJ)
01209        XP_ICE_STO(JJ) = XICE_STO  (JI,KPATCH)
01210     ENDDO
01211   ENDIF
01212   !  
01213   IF (CSCOND=='PL98'.OR.CISBA=='DIF') THEN
01214     DO JK=1,SIZE(XHCAPSOIL,2)
01215       DO JJ=1,KSIZE
01216         JI                    =    KMASK(JJ)
01217         XP_HCAPSOIL   (JJ, JK) =    XHCAPSOIL    (JI, JK)
01218       ENDDO
01219     ENDDO
01220   END IF
01221   !
01222   IF (CSCOND=='PL98') THEN
01223     DO JK=1,SIZE(XCONDDRY,2)
01224       DO JJ=1,KSIZE
01225         JI                    =    KMASK(JJ)
01226         XP_CONDDRY    (JJ, JK) =    XCONDDRY     (JI, JK)
01227         XP_CONDSLD    (JJ, JK) =    XCONDSLD     (JI, JK)
01228       ENDDO
01229     ENDDO
01230   END IF
01231   !
01232   IF (CISBA=='2-L' .OR. CISBA=='3-L') THEN
01233     DO JJ=1,KSIZE
01234       JI                    =    KMASK(JJ)
01235       XP_C4B        (JJ)    =    XC4B          (JI)
01236       XP_ACOEF      (JJ)    =    XACOEF        (JI)
01237       XP_PCOEF      (JJ)    =    XPCOEF        (JI)
01238       XP_CGSAT      (JJ)    =    XCGSAT        (JI) 
01239       XP_C1SAT      (JJ)    =    XC1SAT        (JI, KPATCH)
01240       XP_C2REF      (JJ)    =    XC2REF        (JI, KPATCH)     
01241       XP_C4REF      (JJ)    =    XC4REF        (JI, KPATCH)      
01242     ENDDO
01243     !
01244     DO JK=1,SIZE(XC3,2)
01245       DO JJ=1,KSIZE
01246         JI                    =    KMASK(JJ)
01247         XP_C3         (JJ,JK)  =    XC3           (JI, JK, KPATCH)
01248       ENDDO
01249     ENDDO
01250   END IF
01251   !
01252     DO JK=1,SIZE(XBCOEF,2)
01253       DO JJ=1,KSIZE    
01254          JI                  =    KMASK(JJ)
01255          XP_MPOTSAT (JJ, JK) =    XMPOTSAT (JI, JK)
01256          XP_BCOEF   (JJ, JK) =    XBCOEF   (JI, JK)
01257       ENDDO
01258     ENDDO
01259   !
01260   IF (CISBA=='DIF') THEN
01261     DO JK=1,SIZE(XROOTFRAC,2)
01262       DO JJ=1,KSIZE
01263         JI                     =    KMASK(JJ)
01264         XP_ROOTFRAC   (JJ, JK) =    XROOTFRAC   (JI, JK, KPATCH)
01265         XP_DZG        (JJ, JK) =    XDZG        (JI, JK, KPATCH)
01266         XP_DZDIF      (JJ, JK) =    XDZDIF      (JI, JK, KPATCH)
01267         XP_SOILWGHT   (JJ, JK) =    XSOILWGHT   (JI, JK, KPATCH)
01268       ENDDO
01269     ENDDO
01270     DO JJ=1,KSIZE
01271       JI                =  KMASK(JJ)
01272       NK_WG_LAYER (JJ)  =  NWG_LAYER (JI,KPATCH)
01273     ENDDO
01274   ENDIF
01275   !
01276   IF (LTR_ML) THEN
01277     DO JJ=1,KSIZE
01278       JI                    =    KMASK(JJ)
01279       XP_FAPARC      (JJ)    =    XFAPARC      (JI, KPATCH)
01280       XP_FAPIRC      (JJ)    =    XFAPIRC      (JI, KPATCH)
01281       XP_LAI_EFFC    (JJ)    =    XLAI_EFFC    (JI, KPATCH)
01282       XP_MUS         (JJ)    =    XMUS         (JI, KPATCH)
01283     ENDDO
01284   ENDIF  
01285   !
01286   IF (CPHOTO=='NON') THEN
01287     DO JJ=1,KSIZE
01288       JI                    =    KMASK(JJ)
01289       XP_RSMIN      (JJ)    =    XRSMIN      (JI, KPATCH)
01290     END DO
01291   END IF
01292   !
01293   IF (CPHOTO/='NON') THEN
01294     DO JJ=1,KSIZE
01295       JI                    =    KMASK(JJ)
01296       XP_BSLAI      (JJ)    =    XBSLAI      (JI, KPATCH)
01297       XP_LAIMIN     (JJ)    =    XLAIMIN     (JI, KPATCH)
01298       XP_SEFOLD     (JJ)    =    XSEFOLD     (JI, KPATCH)
01299       XP_H_TREE     (JJ)    =    XH_TREE     (JI, KPATCH)
01300       XP_ANMAX      (JJ)    =    XANMAX      (JI, KPATCH)
01301       XP_FZERO      (JJ)    =    XFZERO      (JI, KPATCH)
01302       XP_EPSO       (JJ)    =    XEPSO       (JI, KPATCH)
01303       XP_GAMM       (JJ)    =    XGAMM       (JI, KPATCH)
01304       XP_QDGAMM     (JJ)    =    XQDGAMM     (JI, KPATCH)
01305       XP_GMES       (JJ)    =    XGMES       (JI, KPATCH)
01306       XP_RE25       (JJ)    =    XRE25       (JI, KPATCH)
01307       XP_QDGMES     (JJ)    =    XQDGMES     (JI, KPATCH)
01308       XP_T1GMES     (JJ)    =    XT1GMES     (JI, KPATCH)
01309       XP_T2GMES     (JJ)    =    XT2GMES     (JI, KPATCH)
01310       XP_AMAX       (JJ)    =    XAMAX       (JI, KPATCH)
01311       XP_QDAMAX     (JJ)    =    XQDAMAX     (JI, KPATCH)
01312       XP_T1AMAX     (JJ)    =    XT1AMAX     (JI, KPATCH)
01313       XP_T2AMAX     (JJ)    =    XT2AMAX     (JI, KPATCH)
01314       XP_AN         (JJ)    =    XAN         (JI, KPATCH) 
01315       XP_ANDAY      (JJ)    =    XANDAY      (JI, KPATCH) 
01316       XP_ANFM       (JJ)    =    XANFM       (JI, KPATCH) 
01317       XP_GC         (JJ)    =    XGC         (JI, KPATCH)
01318     ENDDO
01319     DO JK=1,SIZE(XBIOMASS,2)
01320       DO JJ=1,KSIZE
01321         JI                    =    KMASK(JJ)
01322         XP_BIOMASS        (JJ,JK)  =    XBIOMASS        (JI,JK,KPATCH)
01323         XP_RESP_BIOMASS   (JJ,JK)  =    XRESP_BIOMASS   (JI,JK,KPATCH)
01324       ENDDO
01325     END DO
01326   END IF
01327   !
01328   IF (CPHOTO=='AST' .OR. CPHOTO=='LST' .OR. CPHOTO=='NIT' .OR. CPHOTO=='NCB') THEN
01329     DO JJ=1,KSIZE
01330       JI                    =    KMASK(JJ)
01331       LP_STRESS     (JJ)    =    LSTRESS     (JI, KPATCH)
01332       XP_F2I        (JJ)    =    XF2I        (JI, KPATCH)
01333       XP_AH         (JJ)    =    XAH         (JI, KPATCH)
01334       XP_BH         (JJ)    =    XBH         (JI, KPATCH)
01335       XP_DMAX       (JJ)    =    XDMAX       (JI, KPATCH)
01336     END DO
01337   END IF
01338   !
01339   IF(CPHOTO=='LAI' .OR. CPHOTO=='LST' .OR. CPHOTO=='NIT' .OR. CPHOTO=='NCB') THEN
01340     DO JJ=1,KSIZE
01341       JI               = KMASK(JJ)
01342       TP_SEED     (JJ) = TSEED     (JI,KPATCH)
01343       TP_REAP     (JJ) = TREAP     (JI,KPATCH)
01344       XP_IRRIG    (JJ) = XIRRIG    (JI,KPATCH)
01345       XP_WATSUP   (JJ) = XWATSUP   (JI,KPATCH)
01346     ENDDO
01347     IF (LAGRIP) THEN
01348       DO JJ=1,KSIZE
01349         XP_LIRRIDAY (JJ) = LIRRIDAY  (JI,KPATCH)
01350         XP_THRESHOLD(JJ) = XTHRESHOLDSPT(JI,KPATCH)
01351         XP_LIRRIGATE(JJ) = LIRRIGATE (JI,KPATCH)
01352       ENDDO
01353     ENDIF
01354   ENDIF
01355   !
01356   IF(CPHOTO=='NIT' .OR. CPHOTO=='NCB') THEN
01357     DO JJ=1,KSIZE
01358       JI                      =    KMASK(JJ)
01359       XP_CE_NITRO       (JJ)  =    XCE_NITRO       (JI,KPATCH)
01360       XP_CF_NITRO       (JJ)  =    XCF_NITRO       (JI,KPATCH)
01361       XP_CNA_NITRO      (JJ)  =    XCNA_NITRO      (JI,KPATCH)
01362       XP_BSLAI_NITRO    (JJ)  =    XBSLAI_NITRO    (JI,KPATCH)      
01363     END DO
01364   END IF
01365   !
01366   IF (CPHOTO=='NCB') THEN
01367     DO JK=1,SIZE(XINCREASE,2)
01368       DO JJ=1,KSIZE
01369         JI                      =    KMASK(JJ)
01370         XP_INCREASE   (JJ,JK)   =    XINCREASE       (JI,JK,KPATCH)
01371       ENDDO
01372     END DO
01373     DO JJ=1,KSIZE
01374       JI                      =    KMASK(JJ)
01375       XP_TAU_WOOD       (JJ)  =    XTAU_WOOD       (JI,KPATCH)
01376     END DO  
01377   END IF
01378   !
01379   IF (CRESPSL=='CNT') THEN
01380     DO JL=1,SIZE(XP_LITTER,3)
01381       DO JK=1,SIZE(XP_LITTER,2)
01382         DO JJ=1,KSIZE
01383           JI                      =    KMASK(JJ)
01384           XP_LITTER         (JJ,JK,JL) =    XLITTER         (JI,JK,JL,KPATCH)
01385         ENDDO
01386       ENDDO
01387     ENDDO
01388     DO JK=1,SIZE(XP_SOILCARB,2)
01389       DO JJ=1,KSIZE
01390         JI                      =    KMASK(JJ)
01391         XP_SOILCARB       (JJ,JK)   =    XSOILCARB       (JI,JK,KPATCH)
01392       ENDDO
01393     ENDDO
01394      DO JK=1,SIZE(XP_LIGNIN_STRUC,2)
01395       DO JJ=1,KSIZE
01396         JI                      =    KMASK(JJ)
01397         XP_LIGNIN_STRUC  (JJ,JK)   =    XLIGNIN_STRUC  (JI,JK,KPATCH)
01398       ENDDO
01399     ENDDO
01400     DO JK=1,SIZE(XP_TURNOVER,2)
01401       DO JJ=1,KSIZE
01402         JI                      =    KMASK(JJ)
01403         XP_TURNOVER      (JJ,JK)   =    XTURNOVER       (JI,JK,KPATCH)
01404       ENDDO
01405     ENDDO
01406   END IF
01407 !
01408   IF (CRAIN=='SGH')THEN
01409     DO JJ=1,KSIZE
01410        JI         = KMASK(JJ)
01411        XP_MUF(JJ) = XMUF(JI)
01412     END DO
01413   ENDIF
01414 !
01415 !------------------------------------------------------------------------
01416 END IF
01417 IF (LHOOK) CALL DR_HOOK('PACK_ISBA_PATCH_N',1,ZHOOK_HANDLE)
01418 !------------------------------------------------------------------------
01419 END SUBROUTINE PACK_ISBA_PATCH_n