Comments (6)
Nice use of embedded code in markdown! I need to learn this trick.
The regressions equations from Gupta and Larson 1979 did not include SAT, but I agree this is a problem. How about we limit DUL to (SAT-0.10). We should then similarly limit LL to no more than (DUL-0.10) since it can continue to be modified.
from dssat-csm-os.
@palderman
I have a simple check for DUL > SAT-0.10 and for LL > DUL-0.10 here. Do you have a specific set of data that failed previously that you can test? Or send to me and I can test. I'll also do our standard tests. Thanks.
from dssat-csm-os.
Here are the lines of code:
(why don't they show up as embedded code?)
from dssat-csm-os.
@chporter, I think it doesn't show up embedded because it's not from this repo (it's from your fork).
I'd prefer a solution that is more conceptually coherent. It seems to me that the reason we are adjusting DUL
, LL
, etc is that these actually do change with increasing SOM. If that's true then why should we assume that SAT
stays the same? Does it make sense to say that BD
changes (and probably porosity?), but SAT
doesn't change?
Before I get into my ideas for SAT
, though, I think we have some things to resolve for DUL
and LL
. Do you know the journal and/or title for Gupta and Larson (1979)? There are a couple I have found:
Gupta, S., & Larson, W. E. (1979). Estimating soil water retention characteristics from particle size distribution, organic matter percent, and bulk density. Water Resources Research, 15(6), 1633-1635.
Gupta, S. C., & Larson, W. E. (1979). A model for predicting packing density of soils using particle‐size distribution. Soil Science Society of America Journal, 43(4), 758-764.
I can get the first one (Water Resources) and I think the coefficients match. Assuming that's the right reference, I'm a bit bothered by our implementation. There is only one equation given in that article:
θp = a × sand (%) + b × silt (%) + c × clay (%) + d × organic matter (%) + e × bulk density (g/cm 3)
This does not match what we have in the code. For example, using the coefficients provided in Table 1 of that article, the equation for -0.10 bars would be:
θp = (0.005018) × sand (%) + (0.008548) × silt (%) + (0.008833) × clay (%) + (0.004966) × organic matter (%) + (-0.24230) × bulk density (g/cm 3)
What we have now is:
dssat-csm-os/Soil/SoilUtilities/SOILDYN.for
Lines 1207 to 1208 in 0ea6a91
First, I'm not sure about the validity of applying regression coefficients to the marginal change in the predictors. It seems to me that the logic is that we first assume:
Δθp = (0.005018) × Δ sand (%) + (0.008548) × Δ silt (%) + (0.008833) × Δ clay (%) + (0.004966) × Δ organic matter (%) + (-0.24230) × Δ bulk density (g/cm 3)
Then we assume
Δ sand (%) = Δ silt (%) = Δ clay (%) = 0
which leaves us with:
Δθp = (0.004966) × Δ organic matter (%) + (-0.24230) × Δ bulk density (g/cm 3)
I'm uneasy about that reasoning, but maybe it's okay. Assuming for the moment that the logic is sound, shouldn't our implementation be:
dDUL_SOM = 0.004966 * dSOM - 0.2423 * dBD_SOM
If so, that leaves us with correcting code for DUL
and LL
in addition to figuring out SAT
.
Edit: I question the nomenclature, but dOC
is the correct variable as it is calculated as:
dssat-csm-os/Soil/SoilUtilities/SOILDYN.for
Line 1203 in 0ea6a91
I have some thoughts about how to handle SAT
, but I need to check a couple of things first. I will post those ideas later.
from dssat-csm-os.
@chporter, what do you think of adjusting SSAT
using the same equation from Gupta and Larson (1979) with the coefficients they have for -0.04 bars?
I realize that -0.04 is not the same as 0, but it's probably better than assuming that SAT
doesn't change (which is what we do now). Here is a plot that shows how Δθp would look for different values of SOM change (ΔSOM):
Note that I also adjusted bulk density according to the equations in SOILDYN.for:
The inflection point in both plots at just below ΔSOM = 3 is due to the fact that we limit the ΔBD:
dssat-csm-os/Soil/SoilUtilities/SOILDYN.for
Lines 1181 to 1182 in 0ea6a91
but ΔSOM continues to increase.
from dssat-csm-os.
@palderman Yes, I agree now that we should probably be adjusting SAT with the other soil water capacity variables. I think your method makes sense and is better than our current method of leaving SAT unmodified.
The inflection point is bothersome and the limits that cause it are arbitrary. I'm open to suggestions for improving these.
The reference I used is the first one you listed: "Estimating soil water retention..." by Gupta and Larson, 1979.
Thanks for digging into this.
from dssat-csm-os.
Related Issues (20)
- Negative RADSH HOT 2
- Confusing calculation of CMINESR vs CMINERT in FOR_SENMOB()
- Test Issue
- Environmental modifications with sequence mode
- Check Weather Method and RUNMODE for existing weather files (IPEXP subroutine)
- Program received signal SIGFPE: Floating-point exception - erroneous arithmetic operation. HOT 7
- Temperature modification link to TAV HOT 1
- MZCER048.ECO fails running for multiple treatments on SEAS project HOT 1
- ch4 output of version 4.8 is 0 HOT 1
- 4-digit weather file - strange behavior HOT 1
- PMFRAC is spammed for GET functions in WARNING.OUT
- about several parameters related to the methane model
- Runtime error to generate .CSV output in OPSOMLIT_C.for
- Starting simulation Date (SDATE) issue when running in batch file mode HOT 1
- Could not locate error file: ./MODEL.ERR HOT 1
- Avoid having TRNU .EQ. 0.0 statements
- Soil N initialization needs Soil Temperature HOT 2
- 2D - raised bed with no plastic mulch
- Calibration of the average daily photosynthetic conversion efficiency RUE for CERES-Rice HOT 3
- how to run GenCalc ? code does not seem to be available in dssat-csm-os HOT 5
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 dssat-csm-os.