VIC 3.2.1
VIC development branched into 2 parallel paths at release 4.0.3. The 4.0.x branch has continued development of the same basic feature set, while the 4.1.x branch has incorporated new model algorithms including spatially-distributed soil ice and snow cover, a lake model, and permafrost processes.
Our eventual goal is to make the 4.1.x branch a true sucessor to the 4.0.x branch, containing all of the features in the 4.0.x branch plus the new features added in the 4.1.x branch. However, the process of reconciling these two branches has been slow, due to ongoing development in both branches.
VIC Releases 4.0.0 - 4.0.7 all contain the same basic feature set:
- Multiple land cover tiles per grid cell
- Single soil column per grid cell, consisting of multiple soil layers
- Water balance and energy balance modes
- Optional finite-difference solution to soil temperature profile
- Modeling of both the surface snow pack and the snow intercepted by the canopy
- Simulation of seasonally-frozen soil
VIC Releases 4.1.0 and 4.1.1 contain several new features, including:
- Optional computation of canopy energy balance when snow is present (accompanied by iteration between the canopy energy solution and the surface energy solution). This behavior is controlled by the CLOSE_ENERGY parameter.
- Parameterization of spatial variability of snow cover and frozen soil
- Simulation of effects of snowmelt for partial snow cover
- Modeling of lakes and wetlands
- Modeling of blowing snow sublimation
- Modeling of permafrost
Some of these features are described in more detail in Cherkauer et al, 2003 and Bowling et al, 2004.
VIC 4.0.6               (20-Jan-2008)         View README DOWNLOAD Source Code
This release contains several modifications compared to 4.0.5 (for details, see the README).
New Features:
- Flexible output configured via the global control file
- Optional headers for input and output files
- Optional aggregation to daily timestep of output variables
- Optional ALMA compliant input and output
- Sample global parameter file included with source code, including examples of flexible output configuration
- STATEFILE option is now specified in global control file, not the user_def.h
- State files are now saved at the end of the final timestep of the state file save date
- ARNO_PARAMS global option is now BASEFLOW, with the following behavior:
- When BASEFLOW is ARNO, the standard baseflow parameters are read from the soil file
- When BASEFLOW is NIJSSEN2001, the baseflow parameters from Nijssen et al (2001) are read from the soil file
Bugs Fixed:
- Correct reporting of aerodynamic resistance
- Added checks for valid dates (eg, VIC will return an error if an invalid start date, such as Jan 32, is specified)
- Cells completely covered by bare soil no longer cause bus errors
- Fixed OUTPUT_FORCE option file close errors
- Correct sub-daily temperature disaggregation when referencing GMT instead of local time
- Fixed reading/writing of state files when QUICK_FLUX is TRUE
- Fixed errors in baseflow calculation
- Fixed soil ice fractions for case when FROZEN_SOIL = TRUE and SNOW_BANDS > 1
Note on backwards-compatibility: VIC 4.0.6 is backwards-compatible with 4.0.5, for the most part. The same input files should produce very similar results in both 4.0.5 and 4.0.6. Exceptions include:
- If your 4.0.5 global parameter file contains "ARNO_PARAMS TRUE", you must change it to "BASEFLOW NIJSSEN2001". If your file contains "ARNO_PARAMS FALSE", you must change it to "BASEFLOW ARNO".
- In 4.0.5, if your global parameter file contained state file information (not commented out), you could still prevent a state file from being read and/or written by setting SAVE_STATE to FALSE in user_def.h. In 4.0.6 this is no longer possible, since there is no longer a SAVE_STATE option in user_def.h. You must now comment out the state file information in the global parameter file if you do not want to read/write a state file.
- In 4.0.5, you could set a state file save date that was outside your simulation period. In 4.0.6 this is not longer allowed.
- Output aerodynamic resistance values should be slightly different between 4.0.5 and 4.0.6, due to 4.0.5's incorrect reporting of these values. This does not affect VIC's simulation; it is a change in the reporting of aerodynamic resistance.
4.0.x Development
This release will contain several updates to 4.0.6.
New Features:
- Reporting of various types of Potential Evapotranspiration
Bug Fixes:
- Correction to calculation of wind speed above canopy
- More accurate estimation of local surface pressure (when not supplied as an input)
4.1.x Development
Future development:
- Add ability for lake model to run at at shorter time step than model, sim. to SNOW_STEP
- Stability correction to aerodynamic resistance is not applied in manner consistent with 4.0.5 or DHSVM
- Fix large daily fluctuations in stability correction
- Make lake model compatible with snowbands
- Improve canopy evaporation estimation for 24h timestep
This version will be the same as 4.1.0 Beta 5, plus a few minor bug fixes.
New Features:
- Updated lake model
- Lake drainage is now parameterized as flow over a broad-crested wier
- 2-layer snow pack model for snow on top of lake ice, consistent with upland snow pack model
- New format for lake parameter file, as a result of new drainage parameterization
- Option to use improved snow density algorithm, taken from SNTHERM89
- Option to use snow albedo decay algorithm of Sun et al. 1999
Bugs Fixed:
- The code can now handle very shallow lakes without crashing
- Correct soil ice fractions for the case when FROZEN_SOIL = TRUE and options.SNOW_BAND > 1
- Fixed incorrect setting of NOFLUX in calc_surf_energy_bal()
Known Issues:
- Water balance errors for DIST_PRCP = TRUE
Features/fixes under development:
- Reconciling 24h water balance mode results with 4.0.6 - almost complete
- Restoring COMPUTE_TREELINE option (was removed in earlier 4.1.x versions)
New Features:
- Flexible output configured via the global control file
- Optional headers for input and output files
- Optional aggregation to daily timestep of output variables
- Optional ALMA compliant input and output
- Sample global parameter file included with source code, including examples of flexible output configuration
- STATEFILE option is now specified in global control file, not the user_def.h
- State files are now saved at the end of the final timestep of the state file save date
- ARNO_PARAMS global option is now BASEFLOW, with the following behavior:
- When BASEFLOW is ARNO, the standard baseflow parameters are read from the soil file
- When BASEFLOW is NIJSSEN2001, the baseflow parameters from Nijssen et al (2001) are read from the soil file
- LAKE_MODEL compile-time option (in user_def.h) has been removed
- CONTINUEONERROR option (in global parameter file) allows model to continue simulating other grid cells in domain after encountering an error
- Permafrost-related features, including:
- Optional exponential distribution of soil thermal nodes
- Implicit solution of soil temperature profile
- Simulation of loss of ground ice via EXCESS_ICE option
Bugs Fixed:
- Fixes to water balance errors in lake model
- Fixed water balance errors arising in 24-hour water balance mode
- Fixed errors in baseflow calculation
Known Issues:
- QUICK_FS option does not work
For more details, see README file.
These are available upon request.
New Features:
- Improved lake model, including:
- - More flexible default lake profile, ranging from parabolic to square
- - Computation of blowing snow sublimation over lakes
- Support for ALMA input and output variables:
- - Automatically understands ALMA input variables: PSURF, QAIR, TAIR, RAINF, SNOWF in addition to standard VIC input variables
- - New ALMA_OUTPUT global parameter file option; when TRUE, VIC writes output variables conforming to the ALMA convention
- New stand-alone program vicInterp
- - Reads daily forcings (PREC, TMAX, TMIN, WIND) and outputs sub-daily forcings
- - Essentially a stripped-down version of VIC (compiled with the OUTPUT_FORCE option)
- - vicInterp can be compiled simply by typing "make interp" in the vic source code directory
Bugs Fixed:
- Fix large water balance errors in daily water balance mode when snow is present
- Lake model crashes when lakes dry up and when large (>97% of grid cell) lakes fill up
- Lake model state not saved in state files
- Aerodynamic resistance written to output files is not the actual aerodynamic resistance used in flux computations
- Global parameter "ARNO_PARAMS" renamed to "NIJSSEN2001_BASEFLOW" to reflect its true meaning
- - Users should replace "ARNO_PARAMS" with "NIJSSEN2001_BASEFLOW" in their global parameter files
- - VIC will still accept ARNO_PARAMS for now, but it will be phased out in the next release
This release contains several modifications compared to 4.1.0 Beta 1, including many of the fixes added to 4.0.5.
New Features:
- "-v" and "-o" command-line options, for displaying your VIC version and values of compile-time options
- Automatic recompilation on updates to *.h
- NEW_ARNO_TYPE global option is now ARNO_PARAMS. NOTE: When ARNO_PARAMS is TRUE, baseflow parameters from Nijssen et al (2001) are read from the soil file. When ARNO_PARAMS is FALSE, standard baseflow parameters are read from the soil file. We apologize for this confusing behavior; this will be fixed in the final release of VIC 4.1.0.
Bugs Fixed:
- Spurious condensation at low temperatures
- Validation of initial soil moisture
- Incorrect baseflow limits
- Runs using initial state files starting at state file date rather than global start date
- Incorrect sublimation values for BLOWING option
- Negative incoming shortwave radiation at high latitudes
- Undefined daily precipitation for deserts
- Snow_flux incorrectly set to Tcanopy in fluxes output file
- Incorrect value for sub_snow in fluxes output file
- For details of these and other fixes, see README
Known Issues:
- Lake model crashes when lakes dry up and when large (>97% of grid cell) lakes fill up
- Lake model does not function properly with multiple snowbands per cell
- Lake model must be run at sub-daily timestep; daily water balance runs cannot run lake model
- Lake model state not saved in state files
- Large water balance errors in daily water balance mode when snow is present
- COMPUTE_TREELINE option does not function
- Aerodynamic resistance written to output files is not the actual aerodynamic resistance used in flux computations
Original implementation of the 4.1.x branch.
Known Issues:
- Lake model does not function properly with multiple snowbands per cell
- Lake model crashes when lakes dry up and when large (>97% of grid cell) lakes fill up
- Lake model must be run at sub-daily timestep; daily water balance runs cannot run lake model
- Lake model state not saved in state files
- COMPUTE_TREELINE option does not function
- Large water balance errors in daily water balance mode when snow is present
- Aerodynamic resistance written to output files is not the actual aerodynamic resistance used in flux computations
- Spurious condensation at low temperatures
- Incorrect baseflow limits
- Incorrect sublimation values for BLOWING option
- Negative incoming shortwave radiation at high latitudes
- Undefined daily precipitation for deserts
- Snow_flux incorrectly set to Tcanopy in fluxes output file
- Incorrect value for sub_snow in fluxes output file
VIC 4.0.5               (8-Oct-2004)         View README       Request Source Code
New Features:
- "-o" command-line option for displaying values of compile-time options
- Automatic recompilation on updates to *.h
- Optional July average temperature field in soil parameter file (for use with COMPUTE_TREELINE option)
Bugs Fixed:
- Spurious condensation at low temperatures
- Validation of initial soil moisture
- Incorrect baseflow limits
- Runs using initial state files starting at state file date rather than global start date
- Negative incoming shortwave radiation at high latitudes
- Undefined daily precipitation for deserts
- For details of these and other fixes, see README
VIC 4.0.4               (5-Dec-2003)         View README       Request Source Code
New Features:
- "-v" command-line option for displaying your VIC version
- Ability to use baseflow parameters from Nijssen et al (2001) in soil file, via ARNO_PARAMS global option. NOTE: When ARNO_PARAMS is TRUE, baseflow parameters from Nijssen et al (2001) are read from the soil file. When ARNO_PARAMS is FALSE, standard baseflow parameters are read from the soil file. We apologize for this confusing behavior; this will be fixed in the final release of VIC 4.1.0.
- Ability to specify treeline, via COMPUTE_TREELINE global option (prevents formation of glaciers in some areas)
- Different snow albedo curves for accumulation and melting
- Ability to handle ASCII state files
Bugs Fixed:
- Fixes to incorrect indexing during sub-model time step snow calculations
- Incorrect reading/writing of state files
- For details of these and other fixes, see README
VIC 3.2.1               (1999)       Request Source Code
VIC releases 4.0.4 and later (and all 4.1.x releases):
Type "vicNl -v"
VIC releases 4.0.3 and earlier, and VIC 4.1.0 Beta 1:
You must use the version header file to check your routines:
- Run "grep Id *.c > ver_old.txt" in the directory with your current source code.
- Get the most recent version header file, if you did not download the entire source code package.
- Use xemacs file compare, sdiff, diff, or another file comparison package to compare the two header files for differences.
- Modified files can then either be directly substituted, or a compare can be run between the complete source files to identify the exact differences.
VIC Administrator
Last modified: Fri Aug 24 16:29:36 PDT 2007