Add loading efficiency to xsection plot - #170
Conversation
|
Good addition, but could you modify it to use the symbol We could consider a small list of symbols somewhere to help users understand what's what. Or at least have the loading_efficiency notebook mention |
|
And to be one step ahead in the process, the loading efficiency of the leaky layer is on its way. So can we include that right away as well? |
|
In the mathematical formulation, we use \beta for the loading efficiency. In the code it is called |
param_maq never broadcast/padded leffaq and leffll in the confined/ phreatic-top branch, unlike c/Sll/porll, so leffll was off-by-one relative to the lli index used when plotting. Also add the missing beta line to plots.py's standalone xsection implementation, which never had it (unlike inhom1d.py's Xsection.plot).
…aky layers" This reverts commit 56d59c7.
inhom1d.py's Xsection.plot already showed leffaq as beta text, but plots.py's separate xsection implementation (used by regular ModelMaq/Model3D models) never had it. leffll (leaky layer beta) is not added here since this branch has no leffll plumbing yet -- that depends on the head_in_leaky_layer work.
Guarded with hasattr since this branch doesn't have leffll plumbed into AquiferData yet (that lands with the head_in_leaky_layer work). Once it is, beta will show for leaky layers here too, same as it already does for aquifers.
self.leffll was referenced unconditionally, but this branch doesn't plumb leffll through AquiferData yet, so plotting params on any confined model with a leaky layer raised AttributeError. Guard with hasattr, consistent with the same guard just added in plots.py.
param_maq's confined/phreatic branch never broadcast leffaq to naq (unlike the leaky-top branch, which does), so leffaq stayed length 1 for any multi-aquifer confined model. Dormant since the original loading-efficiency commit; surfaced now because ml.plots.xsection() and Xsection.plot() both index leffaq[aqi] for aqi up to naq-1.
…Brst/timflow into add-loading-efficiency-plot
|
Pictures look nice! But I think it should work w/o any changes to aquifer_parameters, I would think. Let's first merge #74, which is almost done (working on some benchmark notebooks) and then see what needs to be done. |
|
When Sll=0, Timflow substitutes Sll=1e-20 (as it cannot deal with exactly zero). Maybe this can be done more elegant in the code. But that is what it is for now. In the xsection plot, can you check if Sll=1e-20 and print 0 instead? |
|
#74 has been merged. This PR can now be compared to dev. And the suggestion about printing Sll=0 (see above) can be implemented. Also, the changes in aquifer_parameters.py should be reconsidered. I wouldn't be surprised if they are not needed anymore. |
- set Sll to 0.0 if <= 1e-20 - merge dev
…ys, but use correct layer dimensions
|
Ok I took the liberty of updating your PR @MattBrst. Sll now shown as 0.0 if timflow uses default 1E-20. Maybe one final thought is necessary on the leffaq/leffll parsing in param_maq for the confined branch? I guess we should just force leffaq and leffll to zeros with the correct dimensions for this case? That way plotting continues to work (the correct layer is selected), but never plotted because values are 0.0. |
|
@dbrakenhoff: Thanks for updating the work! Are you sure that we do not need loading efficiency for confined aquifers? In the paper of Mark I see also for the confined case differences between beta=0 and beta=1. |
|
Isn't it that the river section is always semi-confined and has loading efficiency but the section next to it can have different top boundaries? |
|
In the paper, loading efficiencies are only shown below the river section and those are semi-confined. So I guess you are right. |
|
Just to confirm, the loading efficiency only has an effect with a semi-confined top (otherwise the load on the aquifer system cannot increase - well, if a trains rides by, but we don't have a |
|
I just checked and the loading efficiency is not shown in xsection plots when the topboundary is not semi. Nice. |


I would like to add the loading efficiency to the cross section plots.
Example from the benchmark with the following line of code:
So basically non-zero loading efficiencies for aquifers are plotted.