-
Notifications
You must be signed in to change notification settings - Fork 76
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
Scale (and possibly also offset) not applied to MOU decision variables with "fixed" PARTRANS when supplied in an mou_dv_population_file during generation 0 #227
Comments
I'd say it's highly probable that scale and offset are not applied to fixed dvs. I'll have a look at this asap. |
Ok I see what is happening here its actually by design. If you pass values in an existing population/ensemble file for fixed parameters, that signals mou (and ies and da) that you know what you are doing and you want to use the values in the existing population/ensemble exactly as they are - this is a way to include stochastic but fixed parameters (say for future recharge). So in your case, by leaving those fixed parameter columns in the population file, mou is using the values "as-is" for each population member, but then when new members are generated, they get the ctrl file fixed parameter values (which now include scale and offset) - yikes! So to get around this, its probably easiest to just leave the fix parameters out of the population file you are passing in (which will trigger mou to use the ctrl file value and scale and offset for these fixed parameters). And I'll add some traps for this condition (fixed pars being passed but with non-trivial scale/offset). Is that a good compromise here? |
Thanks @jtwhite79, that reasoning makes sense and your solution sounds super reasonable for this (kinda weird) edge case. Really appreciate your quick response! |
Hey guys - this makes sense and explains what we were running into. The thing that was most confusing for us was that we were getting scale applied (e.g. flip in sign) in some DVs but not others. So, as we move parameters in and out of fixed status for experiments, we had to also change sign (which also means reversing upper and lower bounds). It gets hella confusing. I guess leaving fixed pars completely out of initial DV population is the ticket. One alternative thought is that we have been regarding DVs as parameters defined in the PST control file, not necessarily raw model input parameters, so it seems a bit inconsistent to treat them differently if fixed or not when they are all supplied in a single column in the initial population. That said, we solved the issue based on your feedback and can keep it rolling. Also as Nick said, this is kinda an edge case. |
Yeah i agree with you @mnfienen that is inconsistent so I went thru the pain of ensuring scale and offset are applied to fixed pars supplied in existing files. This will all be in the next release... |
Sorry for the pain @jtwhite79 but maximum appreciation from the cold north! |
We've been having trouble getting the correct sign on DV pumping rates with "fixed" partrans during generation 0 when we supply a mou dv population file. Pumping rates in the initial dv pop file are are all positive values. When MOU builds the MODFLOW well package from our template, we end up with positive rates for wells with "fixed" partrans and negative rates for wells with "none" partrans. Here is a summary from a random member of generation 0 (first six rows are "fixed", second six rows are "none"):

Is it possible that the scale multiplier is not applied to "fixed" values during gen 0? This issue seems to be resolved during generation 1 when MOU generates the dv population (though pumping rates in case.1.dv_pop.csv are also all positive). Here is the same table from a random member of gen 1 (all well package q's are negative):
The text was updated successfully, but these errors were encountered: