Date: May 16, 2000 From: Keith Cherkauer Topic: Release of VIC 4.0.0 The code for VIC release 4.0.0 has undergone several months of tests (as VIC release 3.3.0 Beta) and has now been deemed ready for release to the general public. This document is designed to provide information concerning changes in the model between the last release version (3.2.1) and the current version. There is no formal users manual, information about how to use the current version can be found at http://www.hydro.washington.edu/Lettenmaier/Models/VIC/VIChome.html. Information about the basic model design can be found in Liang, et al. (1994), while the rewrite of the source code as well as the addition of cold season processes is described in Cherkauer and Lettenmaier (1999). The VIC macroscale hydrologic model was developed as a research tool. As such it is the users responsibility to verify that it is working correctly when applied to new situations. When using the VIC model reference should be made to Liang, et al. (1994) and Cherkauer and Lettenmaier (1999) as well as an acknowledgment that the code was received from the University of Washington. Other important papers relating to the development of the VIC model are included on the home page and in the source code. Possible bugs in the code should be reported to vicadmin@hydro.washington.edu. ALWAYS CHECK YOUR INPUT FILES! Most "bugs" are actually caused by trying to run the model with bad parameters or forcing data. The VIC model will run limited checks to find common major errors but in most cases it will attempt to run with the bad values. If after checking all of your input data you still believe you have found a bug in the model, send an e-mail including the complete output from the model as well as a description of the problem and the files necessary to run the model to recreate the code (if files are large please put a compressed tar file in ftp://ftp.ce.washington.edu/pub/HYDRO/vicadmin/TEMP). Outdated and modified versions of the code are the responsibility of the user to debug. Modifications made to the code, which may improve the general model performance, may be submitted to vicadmin@hydro.washington.edu for possible inclusion in future versions of the code. VIC release 4.0.0 represents a major change to the source code from version 3.2.1. It is strongly recommended that if you were using version 3.2.1 or earlier versions that you update with a complete copy of the new code. Major changes from release version 3.2.1 to 4.0.0: - Radiation Estimation Update: The routines to estimate shortwave and longwave radiation as well as vapor pressure from daily minimum and maximum temperature and precipitation have been updated to correspond to the algorithm described by Thornton and Running (1999). These routines provide significantly improved radiation estimates especially in regions outside the continental United States. - Model Core Update: The core of the VIC model was rewritten so that all modes of the model (water balance, energy balance, etc.) make use of the same model code. This makes it easier to modify the model and have modifications apply to sll modes, it also allows the model to run with new combinations of algorithms (i.e. full energy balance mode with the finite difference ground heat flux solution). - Soil Moisture Transport Update: The frozen and thawed sub-layers added to the model for the original frozen soil algorithm have been removed. This makes the soil drainage routine cleaner and faster. Frozen soils now estimate full layer ice contents from the ice content at each soil thermal node. Without being confined by sub-layers, the frozen soil algorithm can now be applied to regions of permafrost. - Forcing File Control Added: Version 4.0.0 moves controls of the forcing file format and data types into the global control file. The model can now handle most ASCII column and short int Binary files without writing new subroutines and recompiling the source code. - Pre-processor Options Added: There are now more option flags in the source code headers to control which parts of the model are in fact compiled. This allows the model functionality to be adjusted without the addition of computationally intensive conditional switching statements. - Model State File: With the release of version 4.0.0 separate snow and soil initialization files have been combined into a single model state file. The state file can be created outside the model for starting simulations with prescribed initial conditions, or the model state can be saved by VIC at a specified date. Note that currently there will be small differences between a full and a warm started simulation because radiation and vapor pressure are estimated using forcing data from the simulation period, not from the full dataset included in the forcing file. It also does not store wet and dry fraction information, when running with distributed precipitation the model is restarted using average soil conditions. References: Liang, X., D. P. Lettenmaier, E. F. Wood, and S. J. Burges, A simple hydrologically based model of land surface water and energy fluxes for GSMs, J. Geophys. Res., 99(D7), 14,415-14,428, 1994. Cherkauer, K. A., and D. P. Lettenmaier, Hydrologic effects of frozen soils in the upper Mississippi River basin, J. Geophys. Res., 104(D16), 19,599-19,610, 1999. Thornton, P.E. and S.W. Running, An improved algorithm for estimating incident daily solar radiation from measurements of temperature, humidity, and precipitation, Ag. For. Met., 93, 211-228, 1999. File List: CalcAerodynamic.c modify_Ksat.c Makefile mtclim42_vic.c SnowPackEnergyBalance.c mtclim42_vic.h StabilityCorrection.c mtclim42_wrapper.c alloc_atmos.c nrerror.c arno_evap.c open_debug.c calc_air_temperature.c open_file.c calc_cloud_cover_fraction.c open_state_file.c calc_longwave.c penman.c calc_rainonly.c prepare_full_energy.c calc_root_fraction.c put_data.c calc_surf_energy_bal.c read_arcinfo_ascii.c calc_veg_params.c read_atmos_data.c canopy_evap.c read_forcing_data.c check_files.c read_initial_model_state.c check_state_file.c read_snowband.c close_files.c read_soilparam.c cmd_proc.c read_soilparam_arc.c compress_files.c read_veglib.c compute_dz.c read_vegparam.c correct_precip.c redistribute_during_storm.c dist_prec.c root_brent.c estimate_T1.c runoff.c free_dist_prcp.c snow.h free_vegcon.c snow_intercept.c frozen_soil.c snow_melt.c full_energy.c snow_utility.c func_surf_energy_bal.c soil_conduction.c get_force_type.c soil_thermal_eqn.c get_global_param.c solve_snow.c global.h store_moisture_for_debug.c initialize_atmos.c surface_fluxes.c initialize_global.c svp.c initialize_model_state.c user_def.h initialize_new_storm.c vicNl.c initialize_snow.c vicNl.h initialize_soil.c vicNl_def.h initialize_veg.c vicerror.c make_cell_data.c write_atmosdata.c make_dist_prcp.c write_data.c make_dmy.c write_debug.c make_energy_bal.c write_layer.c make_in_and_outfiles.c write_model_state.c make_snow_data.c write_soilparam.c make_veg_var.c write_vegparam.c massrelease.c write_vegvar.c