Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

QGIS-TIM (transient) several elements not useable #145

Open
jasper-hve opened this issue Mar 18, 2024 · 3 comments
Open

QGIS-TIM (transient) several elements not useable #145

jasper-hve opened this issue Mar 18, 2024 · 3 comments

Comments

@jasper-hve
Copy link

I would like to use either Head Line Sink of Head Well for transient calculations. I ran into issues. Exporting the model to python reveals why. The Head Line Sink object is incorporated into the TIMML model by default using the 'head' value in the second column of attribute table. Since this value is required for running the model the Head Line Sink is in effect at t=0 regardless of time steps.

Suggestion: is it possible to have head = NULL given the meaning: do not incorporate into TIMML?

@Huite
Copy link
Contributor

Huite commented Apr 15, 2024

This is probably somewhat confusing -- it really illustrates the need for more documentation -- but this is as intended.

TTim doesn't compute heads, it computes drawdowns. We use the TimML model (which does output heads) and then superpose the drawdown to compute transient heads.

Since TTim still only works with drawdown, what happens behind the scenes is that the TimML steady head is used, the transient head values are subtracted, and the head difference is used as the value fed to TTim. So in the current setup, if you want to use either the head line sink or head well in transient computation, you need to set a head value that is equal to zero difference.

For example, in this model, I have a leaky top with a steady-state head of 10. I set the stationary head of the head line sink to 10 as well, and the transient head to 5. The value communicated to ttim is then -5, and the resulting drawdown is superposed with timml to generate transient heads:

image

You have to know the initial value equalling zero drawdown. In this case it's easy, but in other cases you might have to run a steady-state TimML computation first. The python conversion clarifies this a little:

ttim_river_0 = ttim.HeadLineSinkString(
    model=ttim_model,
    xy=[(105770.86085813672, 453463.37438873376),
     (105816.25464303404, 453465.0982033501),
     (105861.64842793137, 453466.8220179664),
     (105905.31839821236, 453469.69504232705)],
    tsandh=[(0.5, -5.0), (3.5, 0.0)],
    res=10.0,
    wh=10.0,
    layers=0,
    label=None,
)

At t=0.5, a difference is of -5 is generated; at t=3.5 a difference of 0 is set again.

(This can be tricky to interpret: the drawdown isn't turned off, I think it will actually start feeding at t=3.5 again.)

@Huite
Copy link
Contributor

Huite commented Apr 15, 2024

By the way, this is related to #144.

It should be possible to allow head is NULL when running in "drawdown" mode. You still get the trickyness with enforcing drawdowns: you can easily "turn off" a discharge based element over time, but not a head based on.

@jasper-hve
Copy link
Author

Thanks Huite for your reply. I was indeed confused by the difference between a drawdown and a head level as consequence of drawdown. The input for this in QGIS-TIM is not the same as in python, hence my confusion

In python the modelmaq model of ttim has an option to use a timml model to superpose drawdown. tsandh is given where h means a drawdown, not a drawdown level.
For instance tsandh = [(0, -2)] means the level at the linesink will be -2 when timmml model is not incorporated.
When tsandh = [(0, -2)] and timml model with uniform flow with gradient yields level = -5 at linesink then ttim result gives a level of -7. This allows the calculation of time-dependent headlinesink results including variations in groundwater level from the base timmml model.

You are correct that choosing a head level equal to the head in timml model yields the correct result. You are also correct that in your model at t=3.5 the linesink will start feeding.

I am unable however to get the temporal controller to display the right results. It does not show drawdown variations with time. For a discharge well the temporal controller does work fine for me in the same model.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants