Closed kbarnhart closed 6 years ago
I think your new test looks good; if its the shear stress/threshold test that's failing, I'm pretty sure it's because n != 1 and the error is within the SmoothThresholdEroder component. Unfortunately I don't know the guts of that component well enough to go deeper than that.
looking at this component in more depth it does appear to not honor a value for n != 1.
also @cmshobe I'm somewhat confused by your 008 and 018 tests... how did you come up with the equations for the analytical solutions for no-diffusion end members?
I'm not sure how we'd make such an analytical solution anyways, since the K value is constantly changing as erosion progresses... I suspect this is why the analytical solution notebook is empty.
I think your tests only work because the threshold value you used is really small....
I think its totally fine if we don't have an analytical solution for things that don't have analytical solutions, but I want to understand your tests since I'm working on 808 right now.
Also, sorry I didn't catch this when I reviewed your PR... as it always happens, its hard to do a really thorough review at the right time...
@kbarnhart no worries! you're exactly right; they only work because the threshold is really small and the decimal precision of the test is coarse. I think your approach that you used in 002 would work, of making sure the values fall between the two solutions (the hard threshold solution and the no threshold solution).
Isnt it just the threshold that keeps changing through time, not K? and if you set the thresh change per depth to be 0, the same type of test you made for 002 should work for 008 and 018 as well?
Changes Missing Coverage | Covered Lines | Changed/Added Lines | % | ||
---|---|---|---|---|---|
terrainbento/derived_models/model_210_basicHyVs.py | 0 | 1 | 0.0% | ||
terrainbento/derived_models/model_208_basicDdVs.py | 0 | 2 | 0.0% | ||
terrainbento/derived_models/model_202_basicThVs.py | 0 | 2 | 0.0% | ||
terrainbento/derived_models/model_012_basicHyTh.py | 0 | 2 | 0.0% | ||
<!-- | Total: | 12 | 19 | 63.16% | --> |
Files with Coverage Reduction | New Missed Lines | % | ||
---|---|---|---|---|
terrainbento/derived_models/model_202_basicThVs.py | 1 | 23.08% | ||
terrainbento/derived_models/model_410_basicHySa.py | 2 | 96.15% | ||
<!-- | Total: | 3 | --> |
Totals | |
---|---|
Change from base Build 407: | 0.09% |
Covered Lines: | 1282 |
Relevant Lines: | 1886 |
These tests will not pass. There should be one 008 and one 002 that don't pass because of the SmoothThresh eroder being set to zero.
However, I had a really hard time getting the tests to work with thresholds of 0.0000001 (and I don't want to relax the decimal comparison to much because we are dealing with slopes that are already somewhat small).
This Landlab PR fixes the issue with 002. I don't yet understand why it doesn't fix the issue with 008.
@cmshobe @gregtucker comments welcome!
Only had a moment to look at this (it's early morning here) but I, like you, don't have a good intuition for why the 008 test isn't working since the structure seems the same as the 002 test.
This should have a few failures related to 008 and 018 (than need landlab to be updated in order to fix).
If these are the only failures, I'm going to merger.
Addresses (almost) #60
@cmshobe @gregtucker take a look?
also, I can't seem to figure out why the one test that is failing is failing... if either of you notice something, let me know.