Skip to content
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

Create documentation and testing for TCMPR plotting code #383

Closed
6 of 23 tasks
bikegeek opened this issue Aug 15, 2023 · 1 comment · Fixed by #441
Closed
6 of 23 tasks

Create documentation and testing for TCMPR plotting code #383

bikegeek opened this issue Aug 15, 2023 · 1 comment · Fixed by #441
Assignees
Labels
alert: NEED ACCOUNT KEY Need to assign an account key to this issue component: documentation Documentation issue component: testing Software testing issue METplotpy: Plots priority: high High Priority requestor: METplus Team METplus Development Team required: FOR OFFICIAL RELEASE Required to be completed in the official release for the assigned milestone type: task An actionable item of work

Comments

@bikegeek
Copy link
Collaborator

bikegeek commented Aug 15, 2023

Describe the Task

The Python version of the MET tcmpr plotter written in R is now finished but needs tests and documentation.

  • Please refer to the existing plot_tcmpr.R script this replaces.
  • Review the usage statement to make sure sufficient equivalent configuration options are provided by this Python version.
  • In particular, confirm that event equalization logic is provided and works as expected.
  • Check whether the 8 plot types are supported (BOXPLOT, POINT, MEAN, MEDIAN, RELPERF, RANK, SKILL_MN, SKILL_MD) or coordinate with @KathrynNewman to confirm their removal.
  • Add tests to cover a reasonable sample of the functionality.
  • Provide a description of each supported plot type in the documentation, and perhaps an example. But mostly just make the documentation consistent with the existing level of detail for METplotpy.

Time Estimate

Approximately 2-3 days for writing tests
Approximately 2 days for creating, verifying, and finalizing documentation

Sub-Issues

Consider breaking the task down into sub-issues.

  • Document instructions for generating each plot type supported
  • Create tests to verify that plots are getting generated and visually match what is expected (if image comparison is reliable)

Relevant Deadlines

List relevant project deadlines here or state NONE.

Funding Source

Define the source of funding and account keys here or state NONE.

Define the Metadata

Assignee

  • Select engineer(s) or no engineer required
  • Select scientist(s) or no scientist required

Labels

  • Select component(s)
  • Select priority
  • Select requestor(s)

Projects and Milestone

  • Select Repository and/or Organization level Project(s) or add alert: NEED CYCLE ASSIGNMENT label
  • Select Milestone as the next official version or Future Versions

Define Related Issue(s)

Consider the impact to the other METplus components.

Task Checklist

See the METplus Workflow for details.

  • Complete the issue definition above, including the Time Estimate and Funding Source.
  • Fork this repository or create a branch of develop.
    Branch name: feature_<Issue Number>_<Description>
  • Complete the development and test your changes.
  • Add/update log messages for easier debugging.
  • Add/update unit tests.
  • Add/update documentation.
  • Add any new Python packages to the METplus Components Python Requirements table.
  • Push local changes to GitHub.
  • Submit a pull request to merge into develop.
    Pull request: feature <Issue Number> <Description>
  • Define the pull request metadata, as permissions allow.
    Select: Reviewer(s) and Development issues
    Select: Repository level development cycle Project for the next official release
    Select: Milestone as the next official version
  • Iterate until the reviewer(s) accept and merge your changes.
  • Delete your fork or branch.
  • Close this issue.
@bikegeek bikegeek added type: task An actionable item of work priority: high High Priority component: documentation Documentation issue alert: NEED ACCOUNT KEY Need to assign an account key to this issue alert: NEED CYCLE ASSIGNMENT Need to assign to a release development cycle component: testing Software testing issue requestor: METplus Team METplus Development Team required: FOR OFFICIAL RELEASE Required to be completed in the official release for the assigned milestone METplotpy: Plots labels Aug 15, 2023
@bikegeek bikegeek added this to the METplotpy-3.0.0 milestone Aug 15, 2023
@bikegeek bikegeek self-assigned this Aug 15, 2023
@bikegeek bikegeek removed the alert: NEED CYCLE ASSIGNMENT Need to assign to a release development cycle label Feb 14, 2024
bikegeek added a commit that referenced this issue Mar 7, 2024
bikegeek added a commit that referenced this issue Mar 7, 2024
bikegeek added a commit that referenced this issue Mar 7, 2024
bikegeek added a commit that referenced this issue Mar 7, 2024
bikegeek added a commit that referenced this issue Mar 7, 2024
bikegeek added a commit that referenced this issue Mar 7, 2024
bikegeek added a commit that referenced this issue Mar 7, 2024
bikegeek added a commit that referenced this issue Mar 7, 2024
bikegeek added a commit that referenced this issue Mar 7, 2024
bikegeek added a commit that referenced this issue Mar 7, 2024
…g one config file and logging to replace printing to stdout
bikegeek added a commit that referenced this issue Mar 7, 2024
… file, logging support added to replace print statements
bikegeek added a commit that referenced this issue Mar 7, 2024
…onfig file and logging to replace print statements
bikegeek added a commit that referenced this issue Mar 7, 2024
… file and logging to replace print statements
bikegeek added a commit that referenced this issue Mar 7, 2024
bikegeek added a commit that referenced this issue Mar 7, 2024
…onfig file and logging replaces printing to stdout
bikegeek added a commit that referenced this issue Mar 7, 2024
bikegeek added a commit that referenced this issue Mar 7, 2024
bikegeek added a commit that referenced this issue Mar 7, 2024
…ot types defined in a single config file. Also added logging
bikegeek added a commit that referenced this issue Mar 7, 2024
…ned in a single config file and added logging
bikegeek added a commit that referenced this issue Mar 14, 2024
bikegeek added a commit that referenced this issue Mar 14, 2024
bikegeek added a commit that referenced this issue Mar 14, 2024
hankenstein2 pushed a commit that referenced this issue May 7, 2024
* Issue #383 modifications to support multiple plot types, list_stat_1 values

* issue #383 modifications to support generating more than one plot type

* issue #383 provide supporting plotting multiple plot types with single config file

* issue #383 provide supporting plotting multiple plot types with single config file

* issue #383 provide supporting plotting multiple plot types with single config file

* clean up comments

* issue #383 provide supporting plotting multiple plot types with single config file

* issue #383 provide supporting plotting multiple plot types with single config file

* issue #383 provide supporting plotting multiple plot types with single config file

* issue #383 provide supporting plotting multiple plot types with single config file

* fix colors and legends

* issue #383 add logging to replace printing to stdout

* issue #383 add logging support

* issue #383 added logging support

* issue #383 modifications to support plotting multiple plot types using one config file and logging to replace printing to stdout

* issue #383 modifications to support multiple plot types in one config file, logging support added to replace print statements

* issue #383 modifications to support multiple plot types in a single config file and logging to replace print statements

* issue #383 modifications to support multiple plot types in one config file and logging to replace print statements

* issue #383 replace print statements with logging

* Issue #383 logging support

* issue #383 modifications to support multiple plot types in a single config file and logging replaces printing to stdout

* issue #383 modifications to support plotting multiple plot types defined in a single config file

* issue #383 modifications to support multiple plot types in a single config file and added logging

* issue #383 add more checking and modifications to support multiple plot types defined in a single config file.  Also added logging

* issue #383 modifications to support plotting multiple plot types defined in a single config file and added logging

* issue #383 update the plot name to include the plot type

* issue #383 TCMPR plot documentation initial content

* changed file permissions

* Added tcmpr_plots to the Table of Contents

* issue #383 plot images added for TCMPR plotter

* Updated plot to match updates to User's Guide

* updates to match User's Guide

* Update the config files for box plot and relperf plots to create only the TK_ERR plot so the y-axis can be more specific.

* Delete docs/Users_Guide/figure/RELPERF_SAMPLE_DATA_ABS(AMAX_WIND-BMAX_WIND)_relperf.png

not relevant

* Delete docs/Users_Guide/figure/BOXPLOT_SAMPLE_DATA_ABS(AMAX_WIND-BMAX_WIND)_boxplot.png

not relevant

* sample data for TCMPR plotter

* issue #383 config for all seven plot types

* issue #383 removed unused figure, replaced with TK_ERR figure for boxplot

* issue #383 removed hard-coded paths

* issue #383 rearrange content for clarity

* issue #383 fix incomplete sentences

* issue #383 added the baseline_file and column_info_file

* issue #383 added instructions for the baseline_file and column_info_file settings

* issue #383 basic system tests for TCMPR plotting

* System tests for TCMPR plotting

* Issue #383 include the tcmpr plotting system tests

* issue #383 explicitly set hfip_bsln to 'no'

* explicitly set hfip_bsln to no in testing

* change comparison syntax for hfip_bsln check

* change file size testing

* change file size testing with assert False for mismatch

* change file size testing-check mean line plots

* comment out file size testing, they are not consistent when run inside containers

* issue #383 Explicitly state that the TCMPR data must have all columns labelled

* plot_list replaced with plot_type_list

* Update tcmpr_config.py

set hfip_bsln.lower() to a variable
@jprestop jprestop linked a pull request May 15, 2024 that will close this issue
14 tasks
@jprestop
Copy link
Contributor

Completed with PR: #441

hankenstein2 added a commit that referenced this issue May 29, 2024
* Issue #383 modifications to support multiple plot types, list_stat_1 values

* issue #383 modifications to support generating more than one plot type

* issue #383 provide supporting plotting multiple plot types with single config file

* issue #383 provide supporting plotting multiple plot types with single config file

* issue #383 provide supporting plotting multiple plot types with single config file

* clean up comments

* issue #383 provide supporting plotting multiple plot types with single config file

* issue #383 provide supporting plotting multiple plot types with single config file

* issue #383 provide supporting plotting multiple plot types with single config file

* issue #383 provide supporting plotting multiple plot types with single config file

* fix colors and legends

* issue #383 add logging to replace printing to stdout

* issue #383 add logging support

* issue #383 added logging support

* issue #383 modifications to support plotting multiple plot types using one config file and logging to replace printing to stdout

* issue #383 modifications to support multiple plot types in one config file, logging support added to replace print statements

* issue #383 modifications to support multiple plot types in a single config file and logging to replace print statements

* issue #383 modifications to support multiple plot types in one config file and logging to replace print statements

* issue #383 replace print statements with logging

* Issue #383 logging support

* issue #383 modifications to support multiple plot types in a single config file and logging replaces printing to stdout

* issue #383 modifications to support plotting multiple plot types defined in a single config file

* issue #383 modifications to support multiple plot types in a single config file and added logging

* issue #383 add more checking and modifications to support multiple plot types defined in a single config file.  Also added logging

* issue #383 modifications to support plotting multiple plot types defined in a single config file and added logging

* issue #383 update the plot name to include the plot type

* issue #383 TCMPR plot documentation initial content

* changed file permissions

* Added tcmpr_plots to the Table of Contents

* issue #383 plot images added for TCMPR plotter

* Updated plot to match updates to User's Guide

* updates to match User's Guide

* Update the config files for box plot and relperf plots to create only the TK_ERR plot so the y-axis can be more specific.

* Delete docs/Users_Guide/figure/RELPERF_SAMPLE_DATA_ABS(AMAX_WIND-BMAX_WIND)_relperf.png

not relevant

* Delete docs/Users_Guide/figure/BOXPLOT_SAMPLE_DATA_ABS(AMAX_WIND-BMAX_WIND)_boxplot.png

not relevant

* sample data for TCMPR plotter

* issue #383 config for all seven plot types

* issue #383 removed unused figure, replaced with TK_ERR figure for boxplot

* issue #383 removed hard-coded paths

* issue #383 rearrange content for clarity

* issue #383 fix incomplete sentences

* issue #383 added the baseline_file and column_info_file

* issue #383 added instructions for the baseline_file and column_info_file settings

* issue #383 basic system tests for TCMPR plotting

* System tests for TCMPR plotting

* Issue #383 include the tcmpr plotting system tests

* issue #383 explicitly set hfip_bsln to 'no'

* explicitly set hfip_bsln to no in testing

* change comparison syntax for hfip_bsln check

* change file size testing

* change file size testing with assert False for mismatch

* change file size testing-check mean line plots

* comment out file size testing, they are not consistent when run inside containers

* issue #383 Explicitly state that the TCMPR data must have all columns labelled

* issue #342 added two more settings to accomodate plotting for TCDiag data

* Add support for creating line plot

* Support for reading in the tcst reformatted file

* replace printing to stdout with logging

* create log directory if one doesn't already exist

* Added two more settings for the point plot to support generating line plot for TCDiag data

* plot_list replaced with plot_type_list

* Added two settings to support line plot for TCDiag data

* modify formatting

* Refactor to allow user to create either a scatter or line plot.  Decrease opacity to enable better visualization of overlapping points

* reformatted TCDiag from TC-Pairs output, to be used for testing

* Config file for generating TCDiag simple time series for all forecasts and a single initialization

* check for identical length of x- and y-values for line plot

* pull out plot generating code from the main and into it's own function to make this more usable for METplus use cases

* Clean up comments and formatting of the create_plot method

* replace existing logic with code that behaves more like unix mkdir -p to create directories for output

* Delete plots/config directory

* Update tcmpr_config.py

Fixing sonar qube complaint

---------

Co-authored-by: Hank Fisher <fisherh@ucar.edu>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
alert: NEED ACCOUNT KEY Need to assign an account key to this issue component: documentation Documentation issue component: testing Software testing issue METplotpy: Plots priority: high High Priority requestor: METplus Team METplus Development Team required: FOR OFFICIAL RELEASE Required to be completed in the official release for the assigned milestone type: task An actionable item of work
Projects
Status: 🏁 Done
Development

Successfully merging a pull request may close this issue.

3 participants