UW-Hydro/VIC — pull request #127 by tbohn (2014-05-30 21:37:38+00:00)
Title: Added partial vegetation cover (within each tile).

Added a time-varying (non-climatological) partial vegcover fraction within vegetated tiles. Previously, vegetation was assumed to cover 100% of the land surface in a vegetated tile (i.e., "big leaf" scheme). This assumption is not valid in general, and in particular becomes very inaccurate in arid environments (e.g., open shrublands), or as LAI decreases to near 0. In such cases, evaporation from bare soil between the plants becomes a major (or dominant) component of total evapotranspiration.

This partial veg cover fraction ("vegcover") is treated the same way as LAI and albedo: new options (VEGCOVER_SRC and VEGPARAM_VEGCOVER) tell VIC whether the veg param file contains 12 climatological vegcover values and whether to use those or the ones in the veg library. A new forcing variable ("VEGCOVER") can be included in forcing files along with LAI and albedo, and must be specified in the global parameter file in the same way. There is an additional option controlling whether VEGCOVER values appear in the veg library file: VEGLIB_VEGCOVER. FALSE by default, if TRUE it tells VIC to expect 12 monthly VEGCOVER values in each veg class, after the 12 LAI and before the 12 albedo values.

Internally, VIC uses the partial vegcover fraction to divide each veg tile into the area covered by plants and the area in between the plants. LAI and canopy moisture and snow storage are rescaled by 1/vegcover to get plant-specific values before canopy evap, transpiration, and canopy snow dynamics are computed (vegcover is not allowed to go below the value MIN_VEGCOVER in vicNl_def.h). Bare soil evap is computed for the bare soil component of the tile. Total evapotranspiration is computed as the area-weighted sum of canopy evap and transpiration from the vegetated fraction and bare soil evap from the bare soil fraction. Finally, LAI and canopy moisture storage are rescaled back to the tile-area-average values before output.

I have tested this with the options turned off to make sure that VIC will behave as before.