-
Notifications
You must be signed in to change notification settings - Fork 37
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
Arma macro len #70
Arma macro len #70
Conversation
@@ -134,6 +163,8 @@ def __init__(self, **kwargs): | |||
self._type = 'ARMA' | |||
self._var_names = None # variables from the ARMA to use | |||
self.eval_mode = None # ARMA evaluation style (clustered, full, truncated) | |||
self.needs_multiyear = None # if not None, then this is a 1-year ARMA that needs multiyearing |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Less of a comment and more for my own knowledge. Can you describe a situation when you have a 1-year ARMA that needs multiyearing? I'm not quite sure what exactly that means.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, sure.
In a "infinite" NPV analysis, you really want to look at the same behavior year after year until the cashflows asymptotically approach 0. We've deviated from that to do specific project lengths, with the somewhat unspoken hypothesis that 30 or 60 years is functionally infinite. Further, we've deviated to use "interpolated" ARMAs so that every year isn't really the same, but instead evolves according to some pattern.
A multiyear ARMA, at its base, samples the ARMA (clusters and all) uniquely for each year, but it's the same ARMA being sampled for each year. Hence, you get unique realization each year, but from the same sampling source. In contrast, for the Interpolated ARMA, you get a sample from a different source for each year.
We should be able to handle a single-year ARMA in multiyear mode (through flags you place on the pickeldROM instance in RAVEN) as easily as handling an Interpolated ARMA.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks good to me. I had a question regarding multiyear ARMAs.
Also, regarding adding the arma.pk
files to the commit history. I realize we probably commit them as the are required by the other integration tests. What are your thoughts on adding a prerequisite tag to the integration tests that need an ARMA?
See idaholab/raven/issues/1237, yes, I would love to do this. EDIT: I added a task in HERON to track this. |
Pull Request Description
What issue does this change request address?
Closes #69
What are the significant changes in functionality due to this change request?
Adds an explicit check of the serialized ARMA during compile time to check the samples will be shaped appropriately.
Also removes a workaround that was allowing one-year ARMAs to be used as multiyear ARMAs by re-using the same sample; this was not a designed behaviour.
Also adds structure to integration tests, splitting them into "workflows" and "mechanics". Workflows are good starting places for user cases, while mechanics are more algorithmic tests and less useful as starting workflows.
For Change Control Board: Change Request Review
The following review must be completed by an authorized member of the Change Control Board.