Release of VIC.4.1.2.k
***** Description of changes from VIC 4.1.2.j to VIC 4.1.2.k *****
Bug Fixes:
Fix for crash when FROZEN_SOIL, EXP_TRANS and IMPLICIT all == TRUE
Files Affected:
frozen_soil.c
func_surf_energy_bal.c
vicNl.h
Description:
Extended the "cold nose" hack to the "warm nose" condition, and also
extended to cover the IMPLICIT scheme.
This will be superceded by a more bug-free soil temperature scheme
in the next major release of the model.
Better out-of-box behavior for soil temperature scheme
Files Affected:
get_global_param.c
global.param.sample
initialize_global.c
initialize_model_state.c
Description:
Added constraints to help ensure efficient, physically reasonable
simulation of the soil temperature profile:
- Set default values of IMPLICIT and EXP_TRANS to TRUE.
- Made "cold" (no-spinup) initial soil temperatures more consistent
with air temperature and bottom boundary temperature. - Added validation of option.Nnodes for EXP_TRANS=TRUE to guarantee
that, for the given soil temperature bottom boundary depth "dp" (also
known as the damping depth), there are at least 3 nodes within the top
50 cm of the soil column. This is to constrain errors to a reasonable
size. To satisfy this condition, the following relationship must hold:
Nnodes >= 5*ln(dp+1)+1
Some examples:
dp(m) minimum Nnodes
4 9
7 12
10 14
25 18
50 21
VIC will exit with an error message to this effect if Nnodes is too
small for the given value of dp.