Replies: 3 comments 1 reply
-
It seems that if you have enough python skilz to use pstfrom, you ought to be able to spin up a simple post processor to format the model outputs into a format that is capatible with pstfrom expectations but also accommodate whatever rules you want to enforce...like just put the time series into long format like a smp file... I guess I'm struggling to understand the problem. Even if you only have a few actual obs from a monitoring location, I still like to see all the Sim results (across all output times) at that location. If you set weights to zero for the non measured values, they don't do anything during history matching, but you get to see those outputs for free...the only cost is larger output files... |
Beta Was this translation helpful? Give feedback.
-
Sorry if I wasn't clear enough. The problem is not that I'm unable to add the observations. Im my case - and in most practical cases - each monitoring location (site) has data collected at different times, with different frequencies, etc. Therefore, the easiest solution for me was to organize observations as a vectorized input file with 3 columns: My "problem" - this isn't a true problem of course - comes when post-processing results, because observation names are missing and all observations are in one big group. I was, therefore, trying to suggest a solution to possibly add some extra code to the |
Beta Was this translation helpful? Give feedback.
-
ok, two things I see: first, you can pass multiple columns as index columns, so you can pass |
Beta Was this translation helpful? Give feedback.
-
The nice feature of
PstFrom.add_observations
to add a bunch of metadata to the observation names seems to be lacking its full capacity for real observation timeseries. I.e., in many cases - at least in my practice - observation timeseries of head and/or concentration monitoring sites have non-overlaping time axes. For this reason, it is not possible to specifiy a list type input file in a table format as a surrogate for the model output file forPstFrom.add_observations()
. It will either have lots of empty cells, or the dataset will have to be drastically reduced. The alternative of using a model output file (as suggested in the tutorials) and then replacing the 'simulated' observations with true observations may not be practical either, because in most cases the true dataset is sparser than the simulated one.My solution
My workaround was to use a vectorized list file for
PstFrom.add_observations()
to add observations. In this case, however, the name of the observation site is not added as metadata, and there will only be a single observation group for the entire dataset. I of course needed to post-process my model output file as well using my ownmod2obs
type python script.I wonder what would be your alternative suggestion to this in order to exploit the full features of
PstFrom
? I could also think of invokingPstFrom.add_observations()
individually for each observation, but I'm not sure how practical that would be.Suggestion:
In principle, the vectorized file could be used to generate the same metadata in the observation names and to generate observation groups for each observation site, but it would need some modifications to the code. I.e., beside the time and value columns, the vectorized file can contain a third, category-type column that holds the site names.
I really hope that I haven't missed anything in using
PstFrom.add_observations()
, and that I didn't do any unnecessary extra work. Note, that I also considered usingPstFrom.add_observations_from_ins()
, but that's not any better.Looking forward to your comments and suggestions.
Beta Was this translation helpful? Give feedback.
All reactions