This repository serves as the public source code repository of the Distributed Hydrology Soil Vegetation Model (DHSVM). You can find DHSVM documentation, and selected past and ongoing DHSVM-based research & projects on the DHSVM website .
DHSVM (Wigmosta et al., 1994) numerically represents with high spatial resolution (typically on the order of 100 m) the effects of local weather, topography, soil type, and vegetation on the hydrology within watersheds. The model is used to study the impacts of climate change, land use change, forest management practices, flooding, glacier dynamics, stream temperature and stream quality.
DHSVM is a research model that does not come with any warrantee or guarantee. Please be advised that no technical support is available other than the model web page. Because the model is under continous development, there is no guarantee that the newly developed modules or options are exhaustively tested or work properly.
If you decide to use DHSVM, please acknowledge Wigmosta et al. [1994] and any other relevant publications. We are very interested in receiving a copy of any manuscripts of studies in which the model is used. Finally, if you do find bugs in the model or if you have improvements to the model code, we are interested in incorporating your suggestions and/or contributions.
This is a major release from DHSVM 3.1.2. It includes several new features, function enhancements and bug fixes.
The tutorial and sample data to run DHSVM v 3.2 will be made available on the DHSVM website .
New Capabilities
Enhancement & Fixes
DHSVM and related utilities can be configured and built using CMake. This provides an automated, cross-platform way to locate and use system libraries (X11, NetCDF, etc.) and select optional features. Here are some terse instructions:
In the top DHSVM (where CMakeLists.txt
is located), make a
directory for the build, called build
maybe.
In the build
directory, run CMake with
appropriate options, for example,
cmake -D CMAKE_BUILD_TYPE:STRING=Release ..
Look at example_configuration.sh
for configurations used on
several developers' systems. Alternatively, just use the script:
sh ../example_configuration.sh
This provides a vanilla configuration without X11, NetCDF, or RBM using the default C compiler.
If successful, build DHSVM and related programs, using
cmake --build .
The resulting executable programs will be in the build directory
in a tree mirroring the source tree. For example, DHSVM is
build/DHSVM/sourcecode/DHSVM
.
The original Makefiles are in the source tree and can still be used as described in the tutorial if preferred.
The normal DHSVM surface/subsurface routing scheme uses 4 neighbors and directs cell outflow to all down-gradient neighbors ("D4"). Another method, which uses 8 neighbors and directs outflow only to the neighbor with the steepest gradient ("D8"). The latter has proved useful in very low-gradient areas that span several cells. To enable D8 routing add this option
-D DHSVM_D8:BOOL=ON
to the configuration. D4 is the default.
If DHSVM is configured with this option,
-D DHSVM_SNOW_ONLY:BOOL=ON
an additional executable is built, DHSVM_SNOW
, which operates in
snow-only mode.