Closed giovannifi closed 4 years ago
@giovannifi, I took a quick look at this and ran your model. For my test, I did not have the mover on. I'm just looking at the rate_scaling option that you have selected. It looks to me like it's working as intended. In the python script, I set print_head = True, so that the calculated MAW heads are printed to the list file. The heads in that file look to be what you would expect. Then I looked at your script, and it seems like you are making your plots with the aquifer heads, not the heads in the well. The following table shows that the calculated well head is very close to the pump elevation plus the scaling rate.
MAW PACKAGE (MAW) HEADS FOR EACH CONTROL VOLUME PERIOD 5 STEP 1
-----------------------
NUMBER HEAD
-----------------------
1 35.608
-----------------------
The zip file for this model is attached here for convenience. tests.zip
@langevin-usgs , I believe that it is all the way around: in the hds file I can read the h_maw (the effective head at the well) and the flag print_head = True reports h_n (please refer to the notation of equation 7-36 of the manual). The last one, to me, should be considered as the aquifer head (the one without the losses). I understand that the intended logic of the software was this one but I wonder if this is the correct approach. Think about the opposite case (abstraction): with your logic the well will continue to abstract even when h_maw is below the pumping elevation, simply because the logic controls the elevation of h_n (h_n = h_maw + losses) that will be higher than h_maw. In the real life the pump has to be turned off when the effective head at the bore goes below the pump elevation. For my particular case, I would probably prefer this logic as I have ministerial prescription for the mounding of the aquifer. Maybe I am missing something and apologies if I am wrong. Thanks again for your very generous and prompt support.
This does not appear to be a bug.
I identified some issues with the MAW package and MVR packages. Do explain the issues I run two examples:
The model domain is defined as follows: Lx = 10000. Ly = 10000. ztop = 0. zbot = -20. nlay = 1 nrow = 100 ncol = 100 delr = Lx / ncol delc = Ly / nrow delv = (ztop - zbot) / nlay
the well is placed at this cell: wrow = 9 wcol = 19
the drains are places here: drn_r = 49 drn_c = 49 idx_drn = (0, drn_r, drn_c) idx_drn2 = (0, drn_r + 5, drn_c + 5)
Hydraulic parameters are homogeneous. For the well I used the “rate_scaling” option to limit the injection where: h0_w = 25.217347615185577 (starting head at the bore: the steady state head at the bore before the stress is applied) max_head = h0_w + 10.0 (limiting head: this is what the manual define as the pumping_elevation) scaling_lenght = 0.5 (scaling_length as per the manual definition)
If you see the figure heads_test1 and rates_test1 you would see that the MAW package is actually working as the injection rate is reduced. There is a sort of limitation of the injection rate, however I do not understand why the head never reaches the max allowed head. It appears that the flux is limited by a lower head cap that I cannot understand.
By analysing the figures heads_test2 and rates_test2 it appears that the “rate_scaling” option does not work for the water routed to the well. Indeed, the injection rate is identical to the drained rates and the water head at the well is higher than the assigned head constraint. I have the impression that the software would limit only the assigned injection rates not the additional injection rates coming from other sources such as the water mover. Is this the intended behaviour of the software?
Thanks in advance Kind Regards Giovanni Firmani