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

RRFS METreformat: Implement Tier 1 Linetypes for RRFS UFS R2O command line support #234

Closed
22 tasks
bikegeek opened this issue Sep 15, 2023 · 3 comments · Fixed by #248
Closed
22 tasks

RRFS METreformat: Implement Tier 1 Linetypes for RRFS UFS R2O command line support #234

bikegeek opened this issue Sep 15, 2023 · 3 comments · Fixed by #248
Assignees
Labels
component: documentation Documentation issue component: METdataio METdataio: General priority: high High Priority reporting:UFS R2O (RRFS) R2O UFS Agile Framework requestor: DTC/T&E General DTC Testing and Evaluation work requestor:UFS R2O (Agile Framework) UFS R2O RRFS required: FOR DEVELOPMENT RELEASE Required to be completed in the development release for the assigned project required: FOR OFFICIAL RELEASE Required to be completed in the official release for the assigned milestone type: enhancement Improve something that it is currently doing type: task An actionable item of work

Comments

@bikegeek
Copy link
Collaborator

bikegeek commented Sep 15, 2023

Replace italics below with details for this issue.

Describe the Enhancement

Currently the METreformat write_stat_ascii.py module supports the FHO, CNT, CTS, CTC, and SL1L2 linetypes (these are also linetypes in the GridStat tool). Provide support for these Tier 1 linetypes:
ECNT
PCT
RHIST

The PCT (and other probabilistic/variable number of column) linetypes will require different reformatting than what was performed for the FHO, CNT, CTS, CTC, and SL1L2 linetypes due to the nature of some plotting scripts. The configuration file will need to explicitly request a line type to reformat.

In addition, while modifying the write_stat_ascii.py module, incorporate the logic to remove pre-existing output files to avoid appending redundant information in the same output file:
#232

Time Estimate

Estimate the amount of work required here.
Issues should represent approximately 1 to 3 days of work.

Sub-Issues

Consider breaking the enhancement down into sub-issues.

  • Add a checkbox for each sub-issue here.

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.

Enhancement 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: enhancement Improve something that it is currently doing alert: NEED ACCOUNT KEY Need to assign an account key to this issue priority: high High Priority type: task An actionable item of work component: documentation Documentation issue requestor: DTC/T&E General DTC Testing and Evaluation work required: FOR OFFICIAL RELEASE Required to be completed in the official release for the assigned milestone required: FOR DEVELOPMENT RELEASE Required to be completed in the development release for the assigned project METdataio: General component: METdataio reporting:UFS R2O (RRFS) R2O UFS Agile Framework requestor:UFS R2O (Agile Framework) UFS R2O RRFS labels Sep 15, 2023
@bikegeek bikegeek added this to the METdataio-3.0.0 milestone Sep 15, 2023
@bikegeek bikegeek self-assigned this Sep 15, 2023
bikegeek added a commit that referenced this issue Sep 26, 2023
… and updates to the constants.py in METdbLoad
bikegeek added a commit that referenced this issue Sep 26, 2023
bikegeek added a commit that referenced this issue Sep 27, 2023
@bikegeek
Copy link
Collaborator Author

The RRFS (UFS R2O) team has identified priorities for linetype support (from the UFS R2O notes from Oct 11)

Tier1:
ECNT (spread skill)
(F)BIAS by member (SL1L2 and CTC) Note: SL1L2 linetype is already supported in METreformat
PCT (reliability)
RHIST (rank histogram)

Tier 2:
plot type in parenthesis
PST (AUC)
CTC (CSI)
CTC (POD)
CTC (FAR)
PCT (ROC)

@bikegeek
Copy link
Collaborator Author

bikegeek commented Oct 18, 2023

Fixed this issue: #232

Remember to close issue 232 when this issue is closed.

@bikegeek bikegeek changed the title RRFS METreformat: Implement Remaining Linetypes for PointStat output RRFS METreformat: Implement Tier 1 Linetypes for RRFS UFS R2O command line support Oct 25, 2023
bikegeek added a commit that referenced this issue Nov 14, 2023
@bikegeek
Copy link
Collaborator Author

ECNT is complete

bikegeek added a commit that referenced this issue Nov 22, 2023
bikegeek added a commit that referenced this issue Nov 22, 2023
bikegeek added a commit that referenced this issue Nov 22, 2023
bikegeek added a commit that referenced this issue Dec 21, 2023
* Issue #234 adding data and XML specification file for testing the MCTC line type

* Issue #234 added test for the MCTC line type

* Issue #234 added necessary MCTC information

* Issue #234 added support for the MCTC linetype

* Issue #234 support implemented for the MCTS linetype, including tests and updates to the constants.py in METdbLoad

* Issue #234 added data for ECLV, MPR, PCT, VL1L2, and VCNT line type

* Issue #234 adding test for the VL1L2 line type

* Issue #234 support added for the VL1L2 linetype

* Issue #234 added VL1L2 specific content for the METreformat write_stat_ascii module

* Issue #234 xml specification files for newly added/soon to be added linetypes

* Issue #234 added necessary variables for supporting the VCNT linetype for METreformat to use

* Issue #234 renamed point_stat.yaml to more generic name

* issue #234 simplification and addition of ensemble stat ECNT linetype support

* issue #234 added test for ensemble stat ECNT linetype

* data and xml config for tests

* Issue #234 added test for expected ECNT stat names

* issue #234 data for testing ECNT

* issue #234 ECNT info for reformatting

* issue #234 another test for ECNT linetype reformatting

* Rename test_point_stat_to_ascii.py to test_reformatting.py

changing name to reflect what this is testing, in light of more line type support (from point stat, grid stat, and ensemble stat tools).

* Update requirements.txt

upate pip to 23.3 to address vulnerability

* Update unit_tests.yml

name of test updated to reflect name change

* fix logging message format

* updated tests, replacing need for xml spec files

* config file for the ensemble stat ECNT linetype reformatting

* changed name of ECNT yaml file

* Issue #234 Added logging, performance metrics collection, refactor to reformat only one linetype

* separate configs for VCNT and CNT

* Skip VCNT test, work-in-progress

* fix syntax for test decorator

* updated test for ECNT linetype

* fix logging so no valid log directory needed if user selected STDOUT

* Partial implementation of PCT reformatting.
Label all the columns/headers.

* issue #234 adding test data for PCT, PRC, PJC, and PSTD

* issue #234 added support for PCT linetype

* issue #234 added config file for test

* issue #234 added test for PCT reformatting

* isse #234 changes for PCT

* change formatting for log messages

* updates due to changes to test.

* Data for ECNT line type test

* Renamed file to be more generic now that additional line types are being supported that aren't just in point stat

* Some additional content to include other line types from other MET tools.

* Updated with logging settings and linetype setting

* Added VCNT and replace MCTS with MCTC

* Data for rhist, phist, relp, and orank linetypes

* Added RHIST info to facilitate reformatting

* Issue #234 content for RHIST line type testing

* Added support for RHIST line type and rearranged logic for subsetting within the process_pct to support input that contains other linetypes.

* Make line type value in config file all upper case to ensure correct matching with line types in the constants.py file in METdbLoad

* Update list of supported line types, changed extension of output_filename to .data for METplotpy compatibility

* included information for the RHIST and PCT reformatting

* Replaced reformat_point_stat_data in toc tree with reformat_stat_data

* Removed placeholder text

* Removing previous doc which was incorrectly named for point_stat

* testing dropdown menu

* cleaning up dropdown bullet points

* fixing last bullet list in dropdown menu

* Fixed some typos

* Add information about over writing existing output file

* Update reformat_stat_data.rst

Fixed some minor formatting

---------

Co-authored-by: lisagoodrich <33230218+lisagoodrich@users.noreply.github.com>
Co-authored-by: Hank Fisher <fisherh@ucar.edu>
@bikegeek bikegeek closed this as completed Jan 4, 2024
@bikegeek bikegeek removed the alert: NEED ACCOUNT KEY Need to assign an account key to this issue label Feb 7, 2024
@bikegeek bikegeek linked a pull request Feb 7, 2024 that will close this issue
14 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component: documentation Documentation issue component: METdataio METdataio: General priority: high High Priority reporting:UFS R2O (RRFS) R2O UFS Agile Framework requestor: DTC/T&E General DTC Testing and Evaluation work requestor:UFS R2O (Agile Framework) UFS R2O RRFS required: FOR DEVELOPMENT RELEASE Required to be completed in the development release for the assigned project required: FOR OFFICIAL RELEASE Required to be completed in the official release for the assigned milestone type: enhancement Improve something that it is currently doing type: task An actionable item of work
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

1 participant