UW-Hydro / VIC

The Variable Infiltration Capacity (VIC) Macroscale Hydrologic Model
http://vic.readthedocs.io
MIT License
262 stars 392 forks source link

Differences in energy fluxes between develop branch and VIC 4.1.2.l when FROZEN_SOIL=TRUE #118

Closed tbohn closed 10 years ago

tbohn commented 10 years ago

While testing the dist_prec removal (develop branch), I found differences in energy fluxes between this and VIC 4.1.2.l when FROZEN_SOIL=TRUE.

Upon further investigation, I found that the develop branch PRE dist_prec removal also has these differences with VIC 4.1.2.l, so they're not coming from the removal of dist_prec (however, a few smaller differences do still exist between post- and pre- dist_prec removal, so the dist_prec removal might still need debugging).

These differences are confined to FROZEN_SOIL=TRUE, and seem to originate in different soil temperatures. I think the source of this bug might be the removal of user_def.h and accompanying movement of SPATIAL_FROST into the options struct. As part of that, the frozen_soil code's loops over the frost_subareas went from being inside precompile #if's to being inside normal if's. I suspect this is where the problem originated.

tbohn commented 10 years ago

If someone could assign this to me and to 4.2 milestone, that would be great...

tbohn commented 10 years ago

OK, found the cause - it's a feature, not a bug. The develop branch contains an assumption of constant moisture (SLAB_MOIST_FRACT, defined in vicNl_def.h) below the bottom of the lowest hydrological soil layer. Previously, VIC assumed that the moisture content at the bottom of the lowest soil layer continued to apply at all depths below it. For arctic simulations, in which the bottom of the soil temperature profile is often much deeper than the hydrologic soil column, this SLAB_MOIST_FRACT assumption makes sense.

@bartnijssen and @jhamman, do you have any opinions about keeping this feature? I got it originally from Tara Troy's code from her Eurasian simulations.

tbohn commented 10 years ago

Note that the description of SLAB_MOIST_FRACT in vicNl_def.h is wrong; it's not the ratio of deep soil moisture to bottom soil layer moisture; it is the ratio of deep soil moisture to the bottom layer's MAXIMUM soil moisture. So soil moisture is constant in time and space below the hydrologic soil layers.

jhamman commented 10 years ago

I'm fine with keeping the feature provided that there is good documentation on what it does. So at a minimum, we'll need to fix the description of SLAB_MOIST_FRACT in vicNl_def.h.

jhamman commented 10 years ago

Thanks @tbohn