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

Add S2S use case for TC Genesis Density Function (GDF) and TC Track Density Function (TDF) #630

Closed
20 tasks
DanielAdriaansen opened this issue Sep 23, 2020 · 7 comments · Fixed by #878
Closed
20 tasks
Assignees
Labels
METplus: Configuration priority: medium Medium Priority requestor: University/UIUC University of Illinois, Urbana-Champaign type: new feature Make it do something new type: new use case Add a new use case
Milestone

Comments

@DanielAdriaansen
Copy link
Contributor

DanielAdriaansen commented Sep 23, 2020

Describe the New Feature

Add a use case demonstrating the computation and visualization of Genesis Density Function (GDF). This metric is used in S2S application to visualize the distribution and frequency of TC genesis events across a user-defined time period.

Acceptance Testing

Forecast data: GFDL vortex tracker output in "genesis mode" from NWP model forecast data
Observation data: Global ATCF bdecks data
MET tool: tc_gen
METplus wrapper: tc_gen_wrapper.py

Time Estimate

2-4 days of work

Funding Source

UIUC S2S 7790971
2785051

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

  • Review projects and select relevant Repository and Organization ones or add "alert:NEED PROJECT ASSIGNMENT" label
  • Select milestone to next major version milestone or "Future Versions"

Define Related Issue(s)

dtcenter/MET#1430

Consider the impact to the other METplus components.

New Feature 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.
  • 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), Project(s), Milestone, and Linked issues
  • Iterate until the reviewer(s) accept and merge your changes.
  • Delete your fork or branch.
  • Close this issue.
@DanielAdriaansen
Copy link
Contributor Author

For now, we can use the new MET_CONFIG_OVERRIDES capability in METplus to control new tc_gen config options via METplus wrappers. However this should be changed to use the appropriately supported METplus config items once #801 is complete.

@DanielAdriaansen DanielAdriaansen added requestor: University/UIUC University of Illinois, Urbana-Champaign type: new use case Add a new use case and removed requestor: NCAR National Center for Atmospheric Research labels Feb 9, 2021
@DanielAdriaansen DanielAdriaansen changed the title Add S2S use case for TC Genesis Density Function (GDF) Add S2S use case for TC Genesis Density Function (GDF) and TC Track Density Function (TDF) Mar 17, 2021
@DanielAdriaansen
Copy link
Contributor Author

Plotting being handled via dtcenter/METplotpy#48.

@DanielAdriaansen
Copy link
Contributor Author

DanielAdriaansen commented Mar 23, 2021

Prepping for PR. @georgemccabe, I am confused by the docs that say this:

All data that is input to the use case (not generated by METplus) should be referenced relative to {INPUT_BASE} and the
directory structure of the use case. For example, if adding a new model application use case found under model_applications/precipitation, the input directory should be relative to {INPUT_BASE}/model_applications/precipitation:

FCST_GRID_STAT_INPUT_DIR = {INPUT_BASE}/model_applications/precipitation

https://dtcenter.github.io/METplus/develop/Contributors_Guide/add_use_case.html#use-case-rules

Does automation assume INPUT_BASE is parm/use_cases necessitating this configuration?

@DanielAdriaansen
Copy link
Contributor Author

DanielAdriaansen commented Mar 23, 2021

Remaining items:

  • Finish documentation py file
  • Add gallery image
  • Add sample data
  • Run test with sample data
  • Set up automation
  • Create PR
  • Create PR in METplotpy

@georgemccabe
Copy link
Collaborator

Prepping for PR. @georgemccabe, I am confused by the docs that say this:

All data that is input to the use case (not generated by METplus) should be referenced relative to {INPUT_BASE} and the
directory structure of the use case. For example, if adding a new model application use case found under model_applications/precipitation, the input directory should be relative to {INPUT_BASE}/model_applications/precipitation:
FCST_GRID_STAT_INPUT_DIR = {INPUT_BASE}/model_applications/precipitation

dtcenter.github.io/METplus/develop/Contributors_Guide/add_use_case.html#use-case-rules

Does automation assume INPUT_BASE is parm/use_cases necessitating this configuration?

No, INPUT_BASE is set to the directory containing the input data needed to run the use cases. The directory structure is organized to match parm/use_cases directory structure. Similarly, the documentation for the use cases are found in the same structure under docs/use_cases.

For example, on kiowa, I often have INPUT_BASE set to /d1/projects/METplus/METplus_Data:

ls /d1/projects/METplus/METplus_Data/model_applications/*
/d1/projects/METplus/METplus_Data/model_applications/air_quality_and_comp:
aod

/d1/projects/METplus/METplus_Data/model_applications/climate:
CESM CESM_GridStat CESM_MODE gfs_analysis GPCP

/d1/projects/METplus/METplus_Data/model_applications/convection_allowing_models:
brightness_temperature hrefv21 hrrr_ensemble_sfc hrrr_esrl mask practically_perfect surrogate_severe_calc surrogate_severe_prac_perfect

/d1/projects/METplus/METplus_Data/model_applications/cryosphere:
sea_ice

/d1/projects/METplus/METplus_Data/model_applications/data_assimilation:
hofx_dir

/d1/projects/METplus/METplus_Data/model_applications/marine_and_coastal:
PlotDataPlane_obsHYCOM_coordTripolar

/d1/projects/METplus/METplus_Data/model_applications/medium_range:
atcf_track_data diff_index dorian_data grid_to_grid grid_to_obs poly reduced_model_data tc_pairs track_data

/d1/projects/METplus/METplus_Data/model_applications/precipitation:
daily_1deg_ccpa fcst HREFv2_Mean HREFv2_Mean_Gempak HRRRE mask PHPT poly prfv3rt1 QPE_Data StageIV WOFS

/d1/projects/METplus/METplus_Data/model_applications/s2s:
NMME UserScript_fcstGFS_obsERA_Blocking UserScript_obsERA_obsOnly_WeatherRegime

/d1/projects/METplus/METplus_Data/model_applications/space_weather:
glotec_vs_glotec glotec_vs_glotec.tar

/d1/projects/METplus/METplus_Data/model_applications/tc_and_extra_tc:
rmw track_data

@DanielAdriaansen
Copy link
Contributor Author

@georgemccabe should the use case conf file for METplus contain only items that deviate from the default settings? Or should it include all the conf options like the met_tool_wrapper use case conf file, but just set to the defaults?

@georgemccabe
Copy link
Collaborator

@georgemccabe should the use case conf file for METplus contain only items that deviate from the default settings? Or should it include all the conf options like the met_tool_wrapper use case conf file, but just set to the defaults?

I don't think it is necessary to include every default value for the model applications use cases. I would only include something you changed or something you foresee the user wanting to change for the use case.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
METplus: Configuration priority: medium Medium Priority requestor: University/UIUC University of Illinois, Urbana-Champaign type: new feature Make it do something new type: new use case Add a new use case
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants