Comments (6)
@tbohn or @bartnijssen , do either of you have any thoughts thoughts on this. The documentation for the option is sparse but this is what I've been able to find.
If TRUE VIC uses the linear interpolation of the logarithm of the
matric potential from the two surrounding layers to estimate the
soil moisture drainage from each layer (Boone and Wetzel, 1996).
This should improve the soil moisture drainage predicted by the
low resolution solution computed by VIC.
The option is used twice in runoff.c
343 if (options.LOG_MATRIC) {
344 for( lindex = 0; lindex < options.Nlayer; lindex++ ) {
345 if( (tmp_liq = liq[lindex] - evap[lindex][frost_area]) < resid_moist[lindex] )
346 tmp_liq = resid_moist[lindex];
347 if(tmp_liq > resid_moist[lindex])
348 matric[lindex] = soil_con->bubble[lindex] * pow( (tmp_liq - resid_moist[lindex]) / (soil_con->max_moist[l 348 index] - resid_moist[lindex]), -b[lindex]);
349 else
350 matric[lindex] = HUGE_RESIST;
351 }
352 }
...and...
366 if (options.LOG_MATRIC) {
367 avg_matric = pow( 10, (soil_con->depth[lindex+1] * log10(fabs(matric[lindex])) + soil_con->depth[lindex] 367 * log10(fabs(matric[lindex+1]))) / (soil_con->depth[lindex] + soil_con->depth[lindex+1]) );
368 tmp_liq = resid_moist[lindex] + ( soil_con->max_moist[lindex] - resid_moist[lindex] ) * pow( ( avg_matric 368 / soil_con->bubble[lindex] ), -1/b[lindex] );
369 }
I see three options moving forward with this issue:
- Leave the option as is implemented now but provide documentation on the global parameter webpage.
- The
LOG_MATRIC=FALSE
option: Remove the option and the LOG_MATRIC code. - The
LOG_MATRIC=True
option: Remove the option and make the LOG_MATRIC code the default treatment of soil moisture drainage.
from vic.
The way I see it, it was an experimental option that was never fully tested
(implemented before my time). The few tests I performed on it several
months ago indicated that it didn't make a big difference. But those
weren't comprehensive tests. If it turns out to make a difference to the
results, then replacing the current default ("false") with this ("true")
would change everyone's calibrations, so it seems to me it would need to be
proven to be a huge improvement for option 3 ("true") to be worth it. If
it turns out to NOT make a difference, there's no point in keeping it.
Meanwhile, option 1 requires more effort on our parts as well, for
something that probably few if any people use.
So I'm leaning towards option 2 (removing it).
Ted
On Thu, Sep 25, 2014 at 8:21 AM, Joe Hamman [email protected]
wrote:
@tbohn https://github.com/tbohn or @bartnijssen
https://github.com/bartnijssen , do either of you have any thoughts
thoughts on this. The documentation for the option is sparse but this is
what I've been able to find.If TRUE VIC uses the linear interpolation of the logarithm of the
matric potential from the two surrounding layers to estimate the
soil moisture drainage from each layer (Boone and Wetzel, 1996).
This should improve the soil moisture drainage predicted by the
low resolution solution computed by VIC.The option is used twice in runoff.c
https://github.com/UW-Hydro/VIC/blob/develop/src/runoff.c#L343-L352343 if (options.LOG_MATRIC) {344 for( lindex = 0; lindex < options.Nlayer; lindex++ ) {345 if( (tmp_liq = liq[lindex] - evap[lindex][frost_area]) < resid_moist[lindex] )346 tmp_liq = resid_moist[lindex];347 if(tmp_liq > resid_moist[lindex])348 matric[lindex] = soil_con->bubble[lindex] * pow( (tmp_liq - resid_moist[lindex]) / (soil_con->max_moist[l 348 index] - resid_moist[lindex]), -b[lindex]);349 else350 matric[lindex] = HUGE_RESIST;351 }352 }
...and...
366 if (options.LOG_MATRIC) {367 avg_matric = pow( 10, (soil_con->depth[lindex+1] * log10(fabs(matric[lindex])) + soil_con->depth[lindex] 367 * log10(fabs(matric[lindex+1]))) / (soil_con->depth[lindex] + soil_con->depth[lindex+1]) );368 tmp_liq = resid_moist[lindex] + ( soil_con->max_moist[lindex] - resid_moist[lindex] ) * pow( ( avg_matric 368 / soil_con->bubble[lindex] ), -
<
span class="mi">1/b[lindex] );369 }370 Q12[lindex] = Ksat[lindex] * pow(((tmp_liq - resid_moist[lindex]) / (soil_con->max_moist[lindex] - resid_mo 370 ist[lindex])), soil_con->
expt[lindex]); 371 }372 else Q12[lindex] = 0.;373 last_layer[last_cnt] = lindex;374 }I see three options moving forward with this issue:
- Leave the option as is implemented now but provide documentation on
the global parameter webpage
http://www.hydro.washington.edu/Lettenmaier/Models/VIC/Documentation/GlobalParam.shtml
.- The LOG_MATRIC=FALSE option: Remove the option and the LOG_MATRIC
code.
- The LOG_MATRIC=True option: Remove the option and make the
LOG_MATRIC code the default treatment of soil moisture drainage.—
Reply to this email directly or view it on GitHub
#65 (comment).
from vic.
The above PR (#143) is not set in stone but does illustrate how easy it is to remove the option entirely.
from vic.
Removed by merging PR #143
from vic.
I'm reopening since I'm seeing a few pieces of the LOG_MATRIC option still in the code.
from vic.
close again via 1b7d23a
from vic.
Related Issues (20)
- Bug in VIC5 vic_init Zsum_node calculation
- too little introduction to how to run rvic(image)
- macOS install of version 4.2
- Vegetation class fraction interaction with elevation bands in a grid cell
- [BUG] Running image driver with Lakes/Wetlands causes Segmentation Fault HOT 2
- Error in drainage equation VIC? HOT 1
- Travis-CI.org has been shut down
- Singularity Definition for VIC HOT 1
- Run RVIC prompt permissions are not enough, ask how to resolve
- VIC_Routing cannot operate
- classic and image drivers fail to build - Ubuntu 22.04 HOT 5
- NetCDF: Invalid dimension ID or name: Error getting dimension id MISSING HOT 1
- Segmentation fault when running image driver with LAKES = TRUE (cells with and without lakes) HOT 1
- layer 0 mineral bulk density (0.77000) must be less than mineral soil density(0.57000)
- New - Compile failure -- Resolved HOT 1
- ERROR: set_force_type.c:138: errno: None: Must supply netCDF variable name for WIND forcing file number 1
- [ERROR] ../../vic_run/src/CalcAerodynamic.c:119: errno: Numerical result out of range: Trunk space height below "center" of lower boundary
- Resloved--Can't Run vic_image.exe -g global,txt, and the error occured in the file of set_forcing_type.c HOT 1
- [QUESTION] Soil moisture fraction output with VIC v5
- Wpwp_FRACT MUST be <= Wcr_FRACT.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vic.