Skip to content

Commit

Permalink
Update develop-ref after #1892 (#1897)
Browse files Browse the repository at this point in the history
* Update install_met_env.kiowa

Commented out items and added text to description

* #1817 Added to_north argument at two_to_one()

* #1817 Calls two_to_one() with false for the third argument, to_north, if latitude moves north to south

* Feature 1819 automation doc warnings (#1836)

* Removing "/lib" that should not be there.

* #1508 checking stat() methoid returns no error before looking at FILE flag

* Enable PDF creation

* Modify inputenc, fontenc latex_elements

* Fix typo in conf.py

* Replace unicode with ascii

* Replace unicode exponent with math mode

* Change eqnarray to align

* Replace gif images with png for PDF

* Fix png file names

* Escape underscore in variable name in math mode

* Escape underscore in variable name in math mode

* Remove underscores from variables in math mode

* Replace bar with overline in some equations

* Test derefencing underscores in tables

* Test math changes in grid stat

* Test math formatting

* Test math formatting

* #1838 Added log message for lat/lon values

* #1838 Give warning if the first and lat lat/lon is same

* #1838 Support the double data type variable on reading float type values

* Feature 1833 develop discussions (#1849)

* Per #1833, changed references to met_help to Discussions.

* Per #1833, fixed typo and removed an unnecessary word

* #1852 Removed unused nc_buf_size. Make cur and dim to the same size (called API handles 2D or 3D)

* #1852 Check the start and count before calling NetCDF API

* Feature 1746 wavelet stat (#1851)

* For issue #1746 modified code to allow users to pass in an empty list (or NA) for forecast and observation thresholds in order to skip applying the threhsolds, but it will still compute stats with the raw fields. SL

* For issue #1746, added new unit test that uses a config file that has empty lists for the forecast and observation thresholds. SL

* For issue #1746 Added some content related to allowing users to set forecast and observation cat thresholds to an empty list in order to skip the binary masking (and consider all grid-points for stats). SL

* Per #1746, cleaning up for consistent indentation.

* Per #1746, cleaning up for consistent indentation.

* Per #1746, add a revision history note, update the plotting range in the postscript output to be [-n,n] where n is the maximum value of the maximum absolute difference and 1.0, and also fix a bug. When the NA threshold comes AFTER a real threshold, the resulting data and difference values were not being updated.

* Per #1746, change the Wavelet-Stat config file values in the the wvlt_plot dictionary by setting plot_min = plot_max = 0.0. That enables the default logic of the tool to take effect. Choose the plotting range of the wavelet plots as [-n,n], where n is the maximum of 1.0 and the maximum absolute difference.

* Per #1746, used apply_fcst_thresh where it should have been apply_obs_thresh.

* Per issue #1746, modified some content related to users being able to skip applying the categorical threhsolds by putting an empty list or NA in the configuration file. SL

* Per issue #1746 Added some warnings if the forecast threshold is set to NA but the observation threshold is not NA (a numeric threshold) and vice versa. SL

* Per #1746, fix a couple of typos and tweak wording in the wavelet-stat chapter.

* Per #1746, loop over each pair of fcst/obs thresholds to check for inconsistent use of the NA threshold type.

* Per #1746, a bit of code cleanup replacing calls to n_elements() with n() to make the code more concise.

* Per #1746, need to reinitialize apply_fcst_thresh and apply_obs_thresh to true inside the loop since the NA threshold can appear anywhere in the list of thresholds.

Co-authored-by: Seth Linden <[email protected]>
Co-authored-by: John Halley Gotway <[email protected]>

* Add sphinx.ext.pngmath to conf.py

* Fix typo in conf.py

* Add sphinx.ext.mathjax to conf.py

* Add sphinx.ext.imgmath to conf.py

* Fix typo in conf.py

* Change math formatting in Appendix C

* Temporarily disable equations with errors in Appendix C

* Remove sphinx.ext.imgmath in conf.py

* Modify math formatting in Appendix C

* Modify math formatting in Appendix C

* Modify math formatting in Appendix C

* Add sphinx.ext.imgmath to conf.py

* Modify math formatting in Appendix C

* Temporarily disable equations with errors in Appendix C

* Remove sphinx.ext.imgmath in conf.py

* Modify math formatting in Appendix C

* Modify math formatting in Appendix C

* Temporarily disable equations with errors

* Update README.md

* Modify math formatting in Appendix C

* Add usepackage{amssymb} to conf.py

* Modify math formatting in Appendix C

* Modify math formatting in Appendix C

* Modify math formatting in Appendix C

* Modify math formatting in Appendix C

* Modify math formatting in Appendix C

* Modify math formatting in Appendix C

* Modify math formatting in Appendix C

* Modify math formatting in Appendix C

* Modify math formatting in Appendix C

* Modify math formatting in Appendix C

* Modify math formatting in Appendix C

* Modify math formatting in Appendix C

* Modify math formatting in Appendix C

* Modify math formatting in Appendix C

* Modify math formatting in Appendix C

* Modify math formatting in Appendix C

* Modify math formatting in Appendix C

* Fix warnings in wavelet-stat.rst

* Omit Indices and tables in PDF version of User Guide

* Modify math formatting in Appendix G

* Modify math formatting in Appendix E

* Modify math formatting in Appendix G

* Modify math formatting in Appendix G

* Modify math formatting in Appendix G

* Modify math formatting in Appendix G

* Modify math formatting in Appendix G

* Modify math formatting in Appendix G

* Modify math formatting in Appendix G

* Modify math formatting in Appendix G

* Modify math formatting in Appendix G

* Change release date in conf.py

* #1852 get_string_val: check if 2D variable. Also checking if the variable does not have dimension (#1860)

Co-authored-by: Howard Soh <[email protected]>

* Feature 1453 create pdf user guide (#1859)

* Enable PDF creation

* Modify inputenc, fontenc latex_elements

* Fix typo in conf.py

* Replace unicode with ascii

* Replace unicode exponent with math mode

* Change eqnarray to align

* Replace gif images with png for PDF

* Fix png file names

* Escape underscore in variable name in math mode

* Escape underscore in variable name in math mode

* Remove underscores from variables in math mode

* Replace bar with overline in some equations

* Test derefencing underscores in tables

* Test math changes in grid stat

* Test math formatting

* Test math formatting

* Add sphinx.ext.pngmath to conf.py

* Fix typo in conf.py

* Add sphinx.ext.mathjax to conf.py

* Add sphinx.ext.imgmath to conf.py

* Fix typo in conf.py

* Change math formatting in Appendix C

* Temporarily disable equations with errors in Appendix C

* Remove sphinx.ext.imgmath in conf.py

* Modify math formatting in Appendix C

* Modify math formatting in Appendix C

* Modify math formatting in Appendix C

* Add sphinx.ext.imgmath to conf.py

* Modify math formatting in Appendix C

* Temporarily disable equations with errors in Appendix C

* Remove sphinx.ext.imgmath in conf.py

* Modify math formatting in Appendix C

* Modify math formatting in Appendix C

* Temporarily disable equations with errors

* Modify math formatting in Appendix C

* Add usepackage{amssymb} to conf.py

* Modify math formatting in Appendix C

* Modify math formatting in Appendix C

* Modify math formatting in Appendix C

* Modify math formatting in Appendix C

* Modify math formatting in Appendix C

* Modify math formatting in Appendix C

* Modify math formatting in Appendix C

* Modify math formatting in Appendix C

* Modify math formatting in Appendix C

* Modify math formatting in Appendix C

* Modify math formatting in Appendix C

* Modify math formatting in Appendix C

* Modify math formatting in Appendix C

* Modify math formatting in Appendix C

* Modify math formatting in Appendix C

* Modify math formatting in Appendix C

* Modify math formatting in Appendix C

* Fix warnings in wavelet-stat.rst

* Omit Indices and tables in PDF version of User Guide

* Modify math formatting in Appendix G

* Modify math formatting in Appendix E

* Modify math formatting in Appendix G

* Modify math formatting in Appendix G

* Modify math formatting in Appendix G

* Modify math formatting in Appendix G

* Modify math formatting in Appendix G

* Modify math formatting in Appendix G

* Modify math formatting in Appendix G

* Modify math formatting in Appendix G

* Modify math formatting in Appendix G

* Change release date in conf.py

Co-authored-by: John Halley Gotway <[email protected]>

* Feature 1853 rps doc (#1861)

* Per #1853, adding RPS docs from Eric.

* Per #1853, work in progress getting the formatting correct.

* Per #1853, work in progress getting the formatting correct.

* Per #1853, work in progress getting the formatting correct.

* Per #1853, work in progress getting the formatting correct.

* Per #1853, adding a manual page break after the ROC image to get it to stay in the right spot.

* Per #1853, backing out last change which didn't make the ROC image stay in the right spot.

* #1855 Removed break after return (SobarQube)

* #1855 Removed break after exit

* 1855 Added return at MetNcPointObsOut::write_to_netcdf

* #1855 Avoid releasing memory twice

* #1855 Removed unused code

* #1855 Corrected syntax error

* #1855 Changed the second call of close() to release _ncFile

* #1855 Deleted break after exit

* #1855 Chamnged while to if

* #1855 Added constructor TCLineCounts and initialized the members

* #1855 Added break statement back for case '-'

* #1855 Check the new size before extending to avoid thereference of the  null pointer

* #1855 Changed count to processed_count for log messages. Initialized variables at get_filtered_nc_data\*()

* #1855 Corected the number of memory copy

* #1855 Exit with an error message if both fgi & bgi are null

* #1855 Clear Lead_Times before extening. Formatting for error messages

* Add definition for the compilation environment on seneca.

* #1855 Extend Lead_Times for new times

* #1855 Removed break after exit

* #1855 define "c" dynamically

* #1855 Move the log message within if statement to avoid dereferencing a null pointer

* Feature 1843 scatter index (#1863)

* Added scatter index variables: SI, SI_BCL, SI_BCU to cnt columns. SL

* Per issue #1843 Added Scatter Index variables (SI, SI_BCL, SI_BCU) to the CNT stat type. SL

* Added Scatter Index (SI, SI_BCL, SI_BCU) to cnt stat type header. SL

* Per issue #1843, added Scatter Index variables to write_cnt_cols(). SL

* Per issue #1843 added Scatter Index (si) to CNTinfo class. SL

* Per issue #1843 added Scatter Index (SI, si) to CNTInfo::get_stat(). SL

* Per issue #1843 added Scatter Index (SI, si) calculation to both versions of compute_cntinfo(). SL

* Per issue #1843, forgot semi-colon after SI calculation, fixed. SL

* Added Scatter Index (si) to some of the clear() and allocate() functions. SL

* Per issue #1843, added Scatter Index (si) to compute_cnt_mean(). SL

* Per issue #1843, added Scatter Index (si) to bootstrap interval calculation and to the CNT write function. SL

* Per issue #1843 added Scatter Index (SI, SI_BCL, SI_BCU) to store_stat_cnt(). SL

* Per issue #1843, in get_stat() moved Scatterd Index (SI) line to be below RMSE for consitency. SL

* Added Scatter Index (SI) to the CNT output format table. SL

* Added Scatter Index (SI) to CNT statistics definitions. SL

* Update appendixC.rst

* Update stat_columns.cc

* Update compute_ci.cc

* Update met_stats.cc

* Per #1843, update write_cntinfo() function. Since we're READING the SI value immediately after the RMSE value when computing CI's, we also need to write SI immediately after RMSE. Otherwise, we'll be computing CI's using the wrong statistics replicates.

* Per #1843, check for divide by zero when computing SI... this could happen if comparing the same input file to itself with Grid-Stat.

* Per #1843, correct definition of SI from RMSE/ME to RMSE/OBAR.

* Per #1843, updated the SI definition to divide by OBAR instead of ME, but forgot to update the divide-by-zero check.

Co-authored-by: Seth Linden <[email protected]>
Co-authored-by: johnhg <[email protected]>

* #1855 Corected typo - compare the numnber of U and V

* #1855 Check if var_info is hull

* #1855 Avoid un-initialized variables: dt at open(), v at lat() & lon(), and local variables at data()

* #1855 Check if ldf is null pointer

* #1855 Removed break after exit

* #1855 Removed break after exit

* Update pcp_combine.cc

* Feature 1864 config urls (#1868)

* Per #1864, remove stale GitHub pages URL for the MET User's Guide.

* Per #1864, found stale GitHub IO links in the issue templates. Should make this same fix in the develop and default branches for all the METplus repos.

* Per #1864, fix stale GitHub IO link in the PR template.

* Move ROC curve in Appendix C

* Crop ROC image for better PDF formatting

* Shrink ROC image for better PDF formatting

* Modify figure alignment in conf.py

* Change text placement for ROC curve figure

* Feature 1834 faq (#1867)

* testing possible new drop-down menus for FAQ

* adding sphinx-panels to extensions to be able to use drop down menus in appendixA

* Per #1834, adding sphinx-panels to requirements.txt to see if that fixes the error

* Per #1834, added sphinx.ext to beginning of sphinx_panels to see if that fixes the error

* Per #1834, remove sphinx.ext and add trailing comma to end of extensions to see if that fixed the error

* Per #1834, added sphinx-panels to pip install command to see if that fixes the error

* Per #1834, added extra space in comment to get docs to build to see if change to documentation.yml will fix an error

* Per #1834, added return character to get rid of warning

* testing dropdown menus #1

* testing dropdown menus #2 removing lines and dotted lines

* testing #3

* testing 4

* fixing numbering, removing 2nd pulldown menu, trying to fix box width

* adding code block in dropdown

* trying to fix width

* trying to fix width with spacing

* trying to fix width with spacing 2nd dropdown

* removing panels

* solved problem, just use dropdown no panels

* adding second dropdown menu

* removing the dropdown menus and fixing the spacing.

* fixing typos

* adding in matched pairs

* adding in formating files for NetCDF and making FILE_IO a header

* fixing spacing

* time slice

* fixing spacing

* UNIX time conversion

* fixing spacing

* fixed-width

* scientific notation

* removing which per Julie P

* adding Gen_Vx_Mask section

* fixing formatting

* changing to numbers

* complex masking region

* neighborhood methods boundaries

* Neighborhood Methods to Compute Fraction

* adding Grid_Stat - How do I use Config File Setup to Read a NetCDF file

* using backticks with asterics

* one more backtick with asterics

* Grid_Stat - What would be an example of Verifying Probabilities

* fixing typos

* What is an example of using Grid-Stat with Regridding and Masking Turned On

* fixing typos

* Grid_Stat - What would be an example of Verifying Probabilities Example2

* trying to fix typos

* trying to fix code-block spacing

* Per #1834, attempting to fix warning.

* How do I use different masks in MET tools using MODE as an example

* trying to fix bullet list

* trying to fix bullet list 2

* trying to fix bullet list 2

* trying to fix bullet list 3

* Per #1834, attempting formatting changes

* Per #1834, attempting formatting changes

* Per #1834, attempting formatting changes

* Per #1834, attempting formatting changes

* Per #1834, attempting formatting changes

* Per #1834, modified formatting, including adding backslashes and removing extra returns in command line calls, and adding indentation for config file notation, and adding a return after each 'A.'

* Per #1834, changed code-block from ini to none to fix formatting

* *Pcp-Combine - What are some examples using -add

* Pcp-Combine -  How do I add and subtract with Pcp-Combine

* Pcp-Combine - How do I Combine 12-hour Accumulated Precipitation from Two Different Initialization Times

* Pcp-Combine - How Do I Correct a Precipitation Time Range

* Pcp-Combine - What Data Formats does MET Read

* Pcp-Combine - How does pass through work

* Pcp_Combine - How do I use -pcprx to run a project faster

* Pcp-Combine - How Do I Enter the Time Format Correctly

* Pcp-Combine - How do I use -subtract

* fixing formatting

* Pcp_Combine - How Do I Use -sum, -add, and -subtract to Achieve Same Accumulation Interval

* Pcp-Combine - What is the difference between -sum vs. -add

* Pcp-Combine - How Do I Select a Specific GRIB Record to Use

* fixing spacing for original text

* Plot-Data-Plane - How Do I Inspect Gen_Vx_Mask Output

* fixing typo

* Plot-Data-Plane - How Do I Specify GRIB Version

* Plot-Data-Plane - last 2 entries

* 2 misc. entries

* fixing typo

* Stat_Analysis - How does -aggregate_stat work

* Stat_Analysis - remaining entries

* fixing typo

* tc-pairs

* tc-stat

* troubleshooting area

* another stat-analysis

* another stat-analysis

* utilities

* fixing dashes

* Per #1834, trying out syntax

* Per #1834, removing added syntax

* fixing returns with bolding

* Per #1834, modified formatting

* adding italics for directories #1834

* replacing code-block ini with none to remove red lettering

* fixing questions to lower case #1834

* linking to section using numref #1834

* linking to section using numref #1834 attempt 2

* linking to section using numref #1834 attempt 3

* linking to section using numref #1834 attempt 4

* linking to section using numref #1834 attempt 5

* linking to section using numref #1834 attempt 6

* linking to section using numref #1834 attempt 7

* linking to section using numref #1834 attempt 8

* linking to anothre section #1834

* linking to another section #1834

* removing old info #1834

* grammar updates #1834

* grammar updates #1834

* fixing typos #1834

* email changes with Julie #1834

* trying to fix warning #1834

* changes #1834

* Per #1834, updating question titles and answers

* Per #1834, made updates to the content.

* Per #1834, made updates to the content

* Per #1834, made updates to the content

* Per #1834, made some major changes to the first 3 FAQ's. I don't have the time/bandwidth to review these completely at this time, but wanted to include at least these updates.

* testing some of the updates John O. suggested.

* updates John O. suggested take 2 #1834.

* updates John O. suggested take 3 #1834.

* updates John O. suggested take 4 #1834.

* updates John O. suggested take 5 #1834.

* updates John O. suggested.  Some didn't show up even though they've been removed #1834.

* trying to fix numbered list indenting #1834

* fixing numbered list indenting #1834

* cleaning up formatting #1834

* fixing broken links #1834

Co-authored-by: Julie.Prestopnik <[email protected]>
Co-authored-by: John Halley Gotway <[email protected]>

* bugfix 1872 plot_tcmpr.R -lookin directory (develop) (#1874)

* Bugfix 1875 develop memory (#1877)

* Per #1875, fix set_cdf_ta() to initialize cdf_ta prior to populating it.

* Per #1875, add debug(4) log messages whenever defining a new aggregation case in stat-analysis.

* Per #1875, switch log messages about new cases from Debug(4) to Debug(3).

* Per #1879, porting the same changes over to the develop branch. (#1881)

* Feature 1673 gbeta (#1857)

* Per #1673, add a distance_map.beta_value entry to all the Grid-Stat config files.

* Per #1673, enhance Grid-Stat to parse the new beta_value option and set its value in the library code.

* Per #1673, set the user-defined beta_value when processing the distance map scores.

* Per #1673, add 4 new DMAP columns write them. Just writing bad data values right now, still need to actually compute them! Also need to update Stat-Analysis to update the parsing/aggregation of these new values.

* Per #1673, enable beta_value to be set to a default bad data value.

* Per #1673 and @ericgilleland instruction (#1673 (comment)), strip asymmetric G-Beta (AGBETA) from the output.

* Per #1673, fix typo that was causing the code not to compile.

* Per #1673, update MET User's Guide about G/GBETA.

* Per #1673, report BETA_VALUE = TOTAL / 2 in the output instead of NA, as directed by Eric.

* Per #1673, remove descriptions of Grid-Stat-specific config options for nbrhd, fourier, gradient, and distance_map from the overview section since they belong in the Grid-Stat chapter. Also add direct links for them in the Grid-Stat chapter.

* Per #1673, do not reset the beta_value in DMAP::clear().

* Per #1673, log the DMAP options only after the beta_value has been determined.

* Per #1673, correct the default beta_value setting as N*N / 2.0.

* Per #1673, trying to format G-beta well.

* Per #1673, trying to format G-beta well.

* Per #1673, beta is formatted as \beta and not \Beta in latex.

* Per #1673, beta is formatted as \beta and not \Beta in latex.

* Per #1673, switch to defining beta_value as a function of the input grid size.

* Per #1673, push initial appendix C updates for GBETA.

* Per #1673, working on G and GBETA equations.

* Per #1673, working on G and GBETA equations.

* Per 1673, update GBETA details in appendix C.

* Per #1673, add Eric's info about selecting beta.

* Per #1673, update reference for Gilleland-2019 to Gilleland_PartI-2020 and Gilleland_PartII-2020.

* Per 1673, fix typo.

* Per #1673, making changes requested by Eric.

* Per #1673, making changes requested by Eric.

* Per #1673, update references based on Eric's feedback.

* Update appendixD.rst (#1869)

Updated this appendix.

* Update appendixD.rst

* Per #1673, making the formatting of Gilleland-2020 part I and II references consistent.

* Per #1673, update Grid-Stat docs to clarify that GBETA is only computed on the FULL verification domain and not any masking regions.

* Per #1673, add DataPlane::n_good_data() function to return a count valid data values.

* Per #1673, update vx_statistics library code to only set gbeta/beta_value to bad data for sub-domains.

* Per #1673, update grid_stat to mask out bad data between the fcst/obs fields before computing distance maps. This will change existing unit test results! Also store the count of valid data values in the full verification domain.

* Per #1673, since GBETA is only reported when VX_MASK = FULL, updating GridStatConfig_all to include the FULL masking region to make this example more meaningful.

Co-authored-by: ericgilleland <[email protected]>

* Feature 1764 point stat (#1885)

* Per #1764 added write_orank_row() to do_hera_ens(). SL

* Per issue #1764, added orank stat type for ensemble output. SL

* Per issue #1764, added code to setup_txt_files() for ORANK output. SL

* Added some comments for debuging. SL

* Per #1764, add orank to the list of outputs created by point_stat.

* Per #1764, add functions to compute the number of requested HiRA probabilities and ensemble members. Also update n_txt_row() to keep track of the number of ORANK rows to be written. Not totally sure if I'm counting these ORANK output lines correctly though.

* Per #1764, update logic in setup_txt_files() to call get_max_n_hira_prob() and get_max_n_hira_ens() functions.

* Per #1764, no real changes. Just fixing spacing.

* Per issue #1764, cleaned up print (cout) debug statements. SL

* Per issue #1764 added 'orank = NONE' to the config files for compatibility with changes to point_stat for calculating ORANK. SL

* Per issue #1764 added 'orank = STAT' to config file to produce ORANK output lines in point_stat. SL

* Per issue #1764 added content in all relevant sections for ORANK: observation rank statistic. SL

* Added 'orank = NONE' to config file for compatibility with changes to point_stant for ORANK. SL

* Added 'orank = NONE' to config file for compatibility with changes to point_stant for ORANK. SL

* Apply suggestions from code review

Co-authored-by: George McCabe <[email protected]>

* Per #1764, no real changes, just fixing indents.

* Per #1764, no real changes, just fixing indents.

* Per #1764, no real changes, just fixing indents.

* Per #1764, putting the docs for VCNT back into its logical order with the other vector line types. The order that they're listed here does not need to match their order in the enumeration in the code.

* Per #1764, fixing a vcnt typo I found in the grid-stat chapter... and making them consistent.

* Per issue #1764: After the call to write_orank_row, added lines to reset the observation begin and end times. SL

* Per #1764, no code changes, just fixing indents.

Co-authored-by: Seth Linden <[email protected]>
Co-authored-by: John Halley Gotway <[email protected]>
Co-authored-by: John Halley Gotway <[email protected]>
Co-authored-by: George McCabe <[email protected]>

* Adding Seth to the NB notification list.

* Bugfix 1886 develop grid_diag (#1888)

* Per #1886, port over the bugfixes from main_v10.0 to develop.

* Per #1886, make grid_diag error out if to_grid is set to FCST or OBS.

* Added additional default labels

* Feature 1870 realtime (#1893)

* Per #1870. add TCPairs config entries for valid_inc, valid_exc, and write_valid.

* Per #1870, removing 2 files I accidentally added.

* Per #1870, add code to parse the new tc_pairs config options.

* Per #1870, unrelated... just fixing spacing.

* Per #1870, update TrackPairInfo/Array classes and tc_pairs application code to use the write_valid option to subset the tracks by requested valid time before writing them.

* Per #1870, update the User's Guide with the new config options. Document valid_inc/valid_exc in the common TC config section and add write_valid to the TC-Pairs chapter.

* Per #1870, move the subset_write_valid() functionality to the library code and support it for both track and probability arrays.

* Per #1870, update unit_tc_pairs.xml with 2 new calls to exercise the new write_valid functionality for both tracks and probabilities.

* Per #1870, correct some typos in the docs... PROBRI and probri should be PROBRIRW and probrirw, resp.

* Per #1870, switching match_points from TRUE back to FALSE after I acciedentally committed that change.

* Per #1870, just fixing indent.

Co-authored-by: John Halley Gotway <[email protected]>

* Feature 1788 ssidx (#1892)

* Per #1788, add initial definition of the SSIDX line type.

* Per #1788, add a STAT-Analysis config file for computing the CBS Score. This is currently just a copy of the GO Index.

* Per #1788, add hooks for computing -job cbs_score.

* Per #1788, since we're adding a new SSIDX line type, the columns for that line type replace the job_ss_columns and job_go_columns arrays.

* Per #1788, rename cbs_score to cbs_index per UK Met Office instruction on 7/22/21. This convention is also consistent with the existing go_index and ss_index jobs.

* Per #1788 rename STATAnalysisConfig_CBS_Score to STATAnalysisConfig_CBS_Index

* Per #1788, update Makefile to handle name change.

* Per #1788, add support for SSIDX stat line type.

* Per #1788, define 4 output SSIDX columns.

* Per #1788, define an SSIndexInfo struct for stashing/writing SS Index values.

* Per #1788, write the SSIDX columns. However we don't need to function to write the whole row since it's only written by Stat-Analysis.

* Per #1788, create an AggrSSIndexInfo struct to keep track of unique stat header column input values.

* Per #1788, update the stat-analysis job code to make use of the new structs.

* Per #1788 fix typo.

* Per #1788, remove GO Index defintion from the code comments. That detail belongs elsewhere.

* Per #1788, since coding up the GO Index several CNT and CTC columns have been added. Adding them here to let them be included as part of the Skill Score index computations.

* Per #1788, update check_hdr_str() to print the name of the problematic header columns.

* Per #1788, add a set(one) member function to multiple array classes. This calls clear or erase on the array prior to adding a single element. Add this for StringArray, NumArray, and ThreshArray, and CRCArray.

* Per #1788, update the compute_ss_index() function in stat_analysis to make the code more concise by calling the newly adding singular set functions for arrays.

* Per #1788, add FCST_MODEL and REF_MODEL output columns to the SSIDX line type.

* Per #1788, add a new N_INIT column to the SSIDX line type to report the number of initialization times represented by this skill score. Also define the SSIDXData struct to store the skill score index job output.

* Per #1788, update STATAnalysisJob to explicitly set the job type directly rather than parsing a string.

* Per #1788, major change here adding skill_score_index_job.h/.cc to handle the computation of the skill score indices.

* Per #1788, update stat_analysis source code to make use of the new classes in skill_score_index_job.h/.cc.

* Per #1788, write a log message listing the model initialization times over which the skill score index is computed.

* Per #1788, tweak log message.

* Per #1788, compute n_term as the max lenght of the required arrays.

* Per #1788, drop in the ACTUAL definition of the GO index provide by the DTC AF project team. Also simplify the existing arrays down to lenght one if the value remains constant.

* Per #1788, correct CBS Index config file. Some parameters had 40 elements while others only had 32.

* Per #1788, do not write SSIDX output if there are no valid terms found.

* Per #1788, format the values in the skill score index log messages, replacing -9999 with NA.

* Per #1788, update the get_stat() member functions. For 0 pairs, return bad data for all statistics other than TOTAL.

* Per #1788, working on readability of the warning and error messages.

* Per #1788, define the ss_index_name directly in the STATAnalysis config file to make it really easy to modify.

* Per #1788, store the ss_index_name configuration option in the StatJob class. Also support a command line -ss_index_name option to override the config file value.

* Per #1788, change from name to ss_index_name variable to be a bit more descriptive in the variable names.

* Per #1788, since ss_index_name is in the StatJob class we no longer need to pass it around as an argument.

* Per #1788, simply the skill score index job handling logic a bit. We only need to update the default job once, not twice.:

* Revert "Per #1788, since ss_index_name is in the StatJob class we no longer need to pass it around as an argument."

This reverts commit cde0be0.

* Revert "Revert "Per #1788, since ss_index_name is in the StatJob class we no longer need to pass it around as an argument.""

This reverts commit bbfd838.

* Per #1788, I'd pruned too much code from stat_analysis.cc which caused the processing of config file jobs to fail. Fixing that here.

* Per #1788, switch Z0 to L0 to match the sample data for computing CBS Index.

* Per #1788, make it so that cbs_index and go_index work from config file.

* Per #1788, update the documentation for the skill score index changes.

* Per #1788, just move some variable definitions further down since they're only used sometimes.

* Per #1788, make job output description into a numbered section.

* Per #1788, little tweak.

* Per #1788, update the STATAnalysisConfig files to add ss_index_name and hss_ec_value, as needed.

* Per #1788, add new unit tests to exercise recent ss_index changes and update the Stat-Analysis documentation.

* Update met/docs/Users_Guide/stat-analysis.rst

Co-authored-by: jprestop <[email protected]>

* Update met/docs/Users_Guide/stat-analysis.rst

Sorry for the typos! Thanks for catching them.

Co-authored-by: jprestop <[email protected]>

* Update met/docs/Users_Guide/stat-analysis.rst

Co-authored-by: jprestop <[email protected]>

* Per #1788, fix typo in error message.

* Per #1788, fix a bug for ss_index... changing 'add' to 'set'. Also set the line_type seperately for each term, if requested.

* Per #1788, tweak the ss_index logic slightly to make it more efficient. For each input STATLine, instead of checking all the index terms, stop searching after the first match. This assumes that each input line should be used for only one of the terms... and I think that's a pretty reasonable assumption.

* Per #1788, minor tweaks to the STAT-Analysis docs.

* Per #1788, add ss_index_vld_thresh option to existing STAT-Analysis config files.

* Per #1788, add StatAnalysisJob ss_index_vld_thresh entry and parse it from the STAT-Analysis config file.

* Per #1788, update stat_analysis code to check ss_index_vld_thresh setting when computing the skill score index. Also update the Stat-Analysis chapter of the User's Guide.

* Per #1788, tweak one test to exercise a non-default ss_index_vld_thresh value.

Co-authored-by: jprestop <[email protected]>

Co-authored-by: jprestop <[email protected]>
Co-authored-by: Howard Soh <[email protected]>
Co-authored-by: hsoh-u <[email protected]>
Co-authored-by: Keith Searight <[email protected]>
Co-authored-by: Seth Linden <[email protected]>
Co-authored-by: Seth Linden <[email protected]>
Co-authored-by: MET Tools Test Account <[email protected]>
Co-authored-by: lisagoodrich <[email protected]>
Co-authored-by: George McCabe <[email protected]>
Co-authored-by: ericgilleland <[email protected]>
Co-authored-by: John Halley Gotway <[email protected]>
Co-authored-by: MET Tools Test Account <[email protected]>
Co-authored-by: Julie Prestopnik <[email protected]>
  • Loading branch information
14 people authored Aug 31, 2021
1 parent 7121f9e commit 875f867
Show file tree
Hide file tree
Showing 50 changed files with 1,751 additions and 845 deletions.
1 change: 1 addition & 0 deletions met/data/config/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ config_DATA = \
SeriesAnalysisConfig_default \
STATAnalysisConfig_default \
STATAnalysisConfig_GO_Index \
STATAnalysisConfig_CBS_Index \
TCPairsConfig_default \
TCRMWConfig_default \
RMWAnalysisConfig_default \
Expand Down
138 changes: 138 additions & 0 deletions met/data/config/STATAnalysisConfig_CBS_Index
Original file line number Diff line number Diff line change
@@ -0,0 +1,138 @@
////////////////////////////////////////////////////////////////////////////////
//
// STAT-Analysis configuration file used to compute the CBS Index.
//
// WARNING: This file should not be modified.
//
////////////////////////////////////////////////////////////////////////////////

//
// Filtering input STAT lines by the contents of each column
//
model = [];

fcst_lead = [ "24", "48", "72", "96", "120",
"24", "48", "72", "96", "120",
"24", "48", "72", "96", "120",
"24", "48", "72", "96", "120",
"24", "48", "72", "96", "120",
"24", "48", "72", "96", "120",
"24", "48", "72", "96", "120",
"24", "48", "72", "96", "120"
];
obs_lead = [];

fcst_valid_beg = "";
fcst_valid_end = "";
fcst_valid_inc = [];
fcst_valid_exc = [];
fcst_valid_hour = [];

obs_valid_beg = "";
obs_valid_end = "";
obs_valid_inc = [];
obs_valid_exc = [];
obs_valid_hour = [];

fcst_init_beg = "";
fcst_init_end = "";
fcst_init_inc = [];
fcst_init_exc = [];
fcst_init_hour = [];

obs_init_beg = "";
obs_init_end = "";
obs_init_inc = [];
obs_init_exc = [];
obs_init_hour = [];

fcst_var = [ "PRMSL", "PRMSL", "PRMSL", "PRMSL", "PRMSL",
"HGT", "HGT", "HGT", "HGT", "HGT",
"WIND", "WIND", "WIND", "WIND", "WIND",
"WIND", "WIND", "WIND", "WIND", "WIND",
"WIND", "WIND", "WIND", "WIND", "WIND",
"PRMSL", "PRMSL", "PRMSL", "PRMSL", "PRMSL",
"HGT", "HGT", "HGT", "HGT", "HGT",
"WIND", "WIND", "WIND", "WIND", "WIND"
];
obs_var = [];

fcst_lev = [ "L0", "L0", "L0", "L0", "L0",
"P500", "P500", "P500", "P500", "P500",
"P250", "P250", "P250", "P250", "P250",
"P850", "P850", "P850", "P850", "P850",
"P250", "P250", "P250", "P250", "P250",
"L0", "L0", "L0", "L0", "L0",
"P500", "P500", "P500", "P500", "P500",
"P250", "P250", "P250", "P250", "P250"
];
obs_lev = [];

obtype = [];

vx_mask = [ "NH", "NH", "NH", "NH", "NH",
"NH", "NH", "NH", "NH", "NH",
"NH", "NH", "NH", "NH", "NH",
"TROP", "TROP", "TROP", "TROP", "TROP",
"TROP", "TROP", "TROP", "TROP", "TROP",
"SH", "SH", "SH", "SH", "SH",
"SH", "SH", "SH", "SH", "SH",
"SH", "SH", "SH", "SH", "SH"
];

interp_mthd = [];

interp_pnts = [];

fcst_thresh = [];
obs_thresh = [];
cov_thresh = [];

alpha = [];

line_type = [ "SL1L2" ];

column = [ "RMSE" ];

weight = [ 6.4, 6.4, 6.4, 6.4, 6.4,
2.4, 2.4, 2.4, 2.4, 2.4,
2.4, 2.4, 2.4, 2.4, 2.4,
2.0, 2.0, 2.0, 2.0, 2.0,
1.2, 1.2, 1.2, 1.2, 1.2,
3.2, 3.2, 3.2, 3.2, 3.2,
1.2, 1.2, 1.2, 1.2, 1.2,
1.2, 1.2, 1.2, 1.2, 1.2
];

////////////////////////////////////////////////////////////////////////////////

//
// Confidence interval settings
//
out_alpha = 0.05;

boot = {
interval = PCTILE;
rep_prop = 1.0;
n_rep = 0;
rng = "mt19937";
seed = "";
}

////////////////////////////////////////////////////////////////////////////////

//
// Skill score index options
//
ss_index_name = "CBS_INDEX";
ss_index_vld_thresh = 1.0;

////////////////////////////////////////////////////////////////////////////////

hss_ec_value = NA;
rank_corr_flag = FALSE;
vif_flag = FALSE;
tmp_dir = "/tmp";
version = "V10.1.0";

////////////////////////////////////////////////////////////////////////////////
84 changes: 34 additions & 50 deletions met/data/config/STATAnalysisConfig_GO_Index
Original file line number Diff line number Diff line change
Expand Up @@ -11,18 +11,18 @@
//
model = [];

fcst_lead = [ "12", "24", "36", "48",
"12", "24", "36", "48",
"12", "24", "36", "48",
"12", "24", "36", "48",
"12", "24", "36", "48",
"12", "24", "36", "48",
"12", "24", "36", "48",
"12", "24", "36", "48",
"12", "24", "36", "48",
"12", "24", "36", "48",
"12", "24", "36", "48",
"12", "24", "36", "48"
fcst_lead = [ "12", "24", "36", "48",
"12", "24", "36", "48",
"12", "24", "36", "48",
"12", "24", "36", "48",
"12", "24", "36", "48",
"12", "24", "36", "48",
"12", "24", "36", "48",
"12", "24", "36", "48",
"12", "24", "36", "48",
"12", "24", "36", "48",
"12", "24", "36", "48",
"12", "24", "36", "48"
];
obs_lead = [];

Expand Down Expand Up @@ -94,46 +94,22 @@ cov_thresh = [];

alpha = [];

line_type = [ "SL1L2", "SL1L2", "SL1L2", "SL1L2",
"SL1L2", "SL1L2", "SL1L2", "SL1L2",
"SL1L2", "SL1L2", "SL1L2", "SL1L2",
"SL1L2", "SL1L2", "SL1L2", "SL1L2",
"SL1L2", "SL1L2", "SL1L2", "SL1L2",
"SL1L2", "SL1L2", "SL1L2", "SL1L2",
"SL1L2", "SL1L2", "SL1L2", "SL1L2",
"SL1L2", "SL1L2", "SL1L2", "SL1L2",
"SL1L2", "SL1L2", "SL1L2", "SL1L2",
"SL1L2", "SL1L2", "SL1L2", "SL1L2",
"SL1L2", "SL1L2", "SL1L2", "SL1L2",
"SL1L2", "SL1L2", "SL1L2", "SL1L2"
];
line_type = [ "SL1L2" ];

column = [ "RMSE", "RMSE", "RMSE", "RMSE",
"RMSE", "RMSE", "RMSE", "RMSE",
"RMSE", "RMSE", "RMSE", "RMSE",
"RMSE", "RMSE", "RMSE", "RMSE",
"RMSE", "RMSE", "RMSE", "RMSE",
"RMSE", "RMSE", "RMSE", "RMSE",
"RMSE", "RMSE", "RMSE", "RMSE",
"RMSE", "RMSE", "RMSE", "RMSE",
"RMSE", "RMSE", "RMSE", "RMSE",
"RMSE", "RMSE", "RMSE", "RMSE",
"RMSE", "RMSE", "RMSE", "RMSE",
"RMSE", "RMSE", "RMSE", "RMSE"
];
column = [ "RMSE" ];

weight = [ 4.0, 3.0, 2.0, 1.0,
4.0, 3.0, 2.0, 1.0,
4.0, 3.0, 2.0, 1.0,
8.0, 6.0, 4.0, 2.0,
8.0, 6.0, 4.0, 2.0,
8.0, 6.0, 4.0, 2.0,
8.0, 6.0, 4.0, 2.0,
8.0, 6.0, 4.0, 2.0,
4.0, 3.0, 2.0, 1.0,
8.0, 6.0, 4.0, 2.0,
4.0, 3.0, 2.0, 1.0,
8.0, 6.0, 4.0, 2.0
weight = [ 4.0, 3.0, 2.0, 1.0,
4.0, 3.0, 2.0, 1.0,
4.0, 3.0, 2.0, 1.0,
8.0, 6.0, 4.0, 2.0,
8.0, 6.0, 4.0, 2.0,
8.0, 6.0, 4.0, 2.0,
8.0, 6.0, 4.0, 2.0,
8.0, 6.0, 4.0, 2.0,
4.0, 3.0, 2.0, 1.0,
8.0, 6.0, 4.0, 2.0,
4.0, 3.0, 2.0, 1.0,
8.0, 6.0, 4.0, 2.0
];

////////////////////////////////////////////////////////////////////////////////
Expand All @@ -153,6 +129,14 @@ boot = {

////////////////////////////////////////////////////////////////////////////////

//
// Skill score index options
//
ss_index_name = "GO_INDEX";
ss_index_vld_thresh = 1.0;

////////////////////////////////////////////////////////////////////////////////

hss_ec_value = NA;
rank_corr_flag = FALSE;
vif_flag = FALSE;
Expand Down
8 changes: 8 additions & 0 deletions met/data/config/STATAnalysisConfig_default
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,14 @@ wmo_fisher_stats = [ "CNT:PR_CORR", "CNT:SP_CORR",

////////////////////////////////////////////////////////////////////////////////

//
// Skill score index options
//
ss_index_name = "SS_INDEX";
ss_index_vld_thresh = 1.0;

////////////////////////////////////////////////////////////////////////////////

hss_ec_value = NA;
rank_corr_flag = FALSE;
vif_flag = FALSE;
Expand Down
1 change: 1 addition & 0 deletions met/data/table_files/met_header_columns_V10.1.txt
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ V10.1 : STAT : VAL1L2 : VERSION MODEL DESC FCST_LEAD FCST_VALID_BEG FCST_VALID
V10.1 : STAT : VL1L2 : VERSION MODEL DESC FCST_LEAD FCST_VALID_BEG FCST_VALID_END OBS_LEAD OBS_VALID_BEG OBS_VALID_END FCST_VAR FCST_UNITS FCST_LEV OBS_VAR OBS_UNITS OBS_LEV OBTYPE VX_MASK INTERP_MTHD INTERP_PNTS FCST_THRESH OBS_THRESH COV_THRESH ALPHA LINE_TYPE TOTAL UFBAR VFBAR UOBAR VOBAR UVFOBAR UVFFBAR UVOOBAR F_SPEED_BAR O_SPEED_BAR
V10.1 : STAT : VCNT : VERSION MODEL DESC FCST_LEAD FCST_VALID_BEG FCST_VALID_END OBS_LEAD OBS_VALID_BEG OBS_VALID_END FCST_VAR FCST_UNITS FCST_LEV OBS_VAR OBS_UNITS OBS_LEV OBTYPE VX_MASK INTERP_MTHD INTERP_PNTS FCST_THRESH OBS_THRESH COV_THRESH ALPHA LINE_TYPE TOTAL FBAR FBAR_BCL FBAR_BCU OBAR OBAR_BCL OBAR_BCU FS_RMS FS_RMS_BCL FS_RMS_BCU OS_RMS OS_RMS_BCL OS_RMS_BCU MSVE MSVE_BCL MSVE_BCU RMSVE RMSVE_BCL RMSVE_BCU FSTDEV FSTDEV_BCL FSTDEV_BCU OSTDEV OSTDEV_BCL OSTDEV_BCU FDIR FDIR_BCL FDIR_BCU ODIR ODIR_BCL ODIR_BCU FBAR_SPEED FBAR_SPEED_BCL FBAR_SPEED_BCU OBAR_SPEED OBAR_SPEED_BCL OBAR_SPEED_BCU VDIFF_SPEED VDIFF_SPEED_BCL VDIFF_SPEED_BCU VDIFF_DIR VDIFF_DIR_BCL VDIFF_DIR_BCU SPEED_ERR SPEED_ERR_BCL SPEED_ERR_BCU SPEED_ABSERR SPEED_ABSERR_BCL SPEED_ABSERR_BCU DIR_ERR DIR_ERR_BCL DIR_ERR_BCU DIR_ABSERR DIR_ABSERR_BCL DIR_ABSERR_BCU
V10.1 : STAT : GENMPR : VERSION MODEL DESC FCST_LEAD FCST_VALID_BEG FCST_VALID_END OBS_LEAD OBS_VALID_BEG OBS_VALID_END FCST_VAR FCST_UNITS FCST_LEV OBS_VAR OBS_UNITS OBS_LEV OBTYPE VX_MASK INTERP_MTHD INTERP_PNTS FCST_THRESH OBS_THRESH COV_THRESH ALPHA LINE_TYPE TOTAL INDEX STORM_ID AGEN_INIT AGEN_FHR AGEN_LAT AGEN_LON AGEN_DLAND BGEN_LAT BGEN_LON BGEN_DLAND GEN_DIST GEN_TDIFF INIT_TDIFF DEV_CAT OPS_CAT
V10.1 : STAT : SSIDX : VERSION MODEL DESC FCST_LEAD FCST_VALID_BEG FCST_VALID_END OBS_LEAD OBS_VALID_BEG OBS_VALID_END FCST_VAR FCST_UNITS FCST_LEV OBS_VAR OBS_UNITS OBS_LEV OBTYPE VX_MASK INTERP_MTHD INTERP_PNTS FCST_THRESH OBS_THRESH COV_THRESH ALPHA LINE_TYPE FCST_MODEL REF_MODEL N_INIT N_TERM N_VLD SS_INDEX

V10.1 : MODE : OBJ : VERSION MODEL N_VALID GRID_RES DESC FCST_LEAD FCST_VALID FCST_ACCUM OBS_LEAD OBS_VALID OBS_ACCUM FCST_RAD FCST_THR OBS_RAD OBS_THR FCST_VAR FCST_UNITS FCST_LEV OBS_VAR OBS_UNITS OBS_LEV OBTYPE OBJECT_ID OBJECT_CAT CENTROID_X CENTROID_Y CENTROID_LAT CENTROID_LON AXIS_ANG LENGTH WIDTH AREA AREA_THRESH CURVATURE CURVATURE_X CURVATURE_Y COMPLEXITY INTENSITY_10 INTENSITY_25 INTENSITY_50 INTENSITY_75 INTENSITY_90 INTENSITY_USER INTENSITY_SUM CENTROID_DIST BOUNDARY_DIST CONVEX_HULL_DIST ANGLE_DIFF ASPECT_DIFF AREA_RATIO INTERSECTION_AREA UNION_AREA SYMMETRIC_DIFF INTERSECTION_OVER_AREA CURVATURE_RATIO COMPLEXITY_RATIO PERCENTILE_INTENSITY_RATIO INTEREST
V10.1 : MODE : CTS : VERSION MODEL N_VALID GRID_RES DESC FCST_LEAD FCST_VALID FCST_ACCUM OBS_LEAD OBS_VALID OBS_ACCUM FCST_RAD FCST_THR OBS_RAD OBS_THR FCST_VAR FCST_UNITS FCST_LEV OBS_VAR OBS_UNITS OBS_LEV OBTYPE FIELD TOTAL FY_OY FY_ON FN_OY FN_ON BASER FMEAN ACC FBIAS PODY PODN POFD FAR CSI GSS HK HSS ODDS
Expand Down
2 changes: 1 addition & 1 deletion met/docs/Users_Guide/point-stat.rst
Original file line number Diff line number Diff line change
Expand Up @@ -498,7 +498,7 @@ The first set of header columns are common to all of the output files generated

.. _table_PS_header_info_point-stat_out:

.. list-table:: Header information for each file point-stat outputs.
.. list-table:: Common STAT header columns.
:widths: auto
:header-rows: 2

Expand Down
Loading

0 comments on commit 875f867

Please sign in to comment.