dtcenter / METplus

Python scripting infrastructure for MET tools.
https://metplus.readthedocs.io
Apache License 2.0
97 stars 37 forks source link

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

Closed DanielAdriaansen closed 3 years ago

DanielAdriaansen commented 4 years ago

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

Labels

Projects and Milestone

Define Related Issue(s)

dtcenter/MET#1430

Consider the impact to the other METplus components.

New Feature Checklist

See the METplus Workflow for details.

DanielAdriaansen commented 3 years ago

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 commented 3 years ago

Plotting being handled via dtcenter/METplotpy#48.

DanielAdriaansen commented 3 years ago

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 commented 3 years ago

Remaining items:

georgemccabe commented 3 years ago

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 commented 3 years ago

@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 commented 3 years ago

@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.