OpenCDSS / cdss-lib-common-java

Colorado's Decision Support Systems (CDSS) common library (Java)
GNU General Public License v3.0
0 stars 1 forks source link

TSProduct - enable Double Mass graph #189

Open smalers opened 1 year ago

smalers commented 1 year ago

There is interest in implementing a "double mass" plot. Basically, this plot shows cumulative values from one time series on one axis, and cumulative values from one or more time series on the other axis. It is used to identify cases where the relationship changes. For example, nearby precipitations should generally track similarly. If, however, a change occurs such as a tree growing over a gage, then the cumulative values will cause a change in the slope of the line. The data can be used as is, or the data can be corrected by applying an adjustment. In any case, the technique is useful for general quality control and understanding relationships between nearby stations.

To create a double mass plot from the TSTool main window would involve:

  1. Read two more more time series. Ideally, the first time series selected would be the "independent" (X axis?) and the others would be the Y-axis (?).
  2. If necessary, automatically accumulate to interval data, especially if input data are irregular interval. Perhaps daily interval is enough?
  3. Create the graph. It will be similar to the XY-Scatter plot in terms of configuration.
  4. Probably treat missing input as missing in output?

The time series product file and/or ProcessTSProduct command could provide additional properties to control the process, for example:

  1. Allow setting the accumulation interval when processing irregular interval time series.
  2. Annotate with straight lines of best fit, possibly with some criteria for when to use new relationships and lines. This may be difficult to automate. Perhaps have a way to publish this information to a file for review, such as a command parameter.