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 support for Multi-Variate MODE #1184

Closed
dwfncar opened this issue Aug 14, 2019 · 7 comments · Fixed by #2088 or #2093
Closed

Add support for Multi-Variate MODE #1184

dwfncar opened this issue Aug 14, 2019 · 7 comments · Fixed by #2088 or #2093
Assignees
Labels
MET: Library Code requestor: NCAR/RAL NCAR Research Applications Laboratory type: new feature Make it do something new
Milestone

Comments

@dwfncar
Copy link
Contributor

dwfncar commented Aug 14, 2019

A new MODE tool is to be created to perform arbitrary set operations
(union, intersection, difference, etc.) on objects generated by MODE.
The objects in general will be associated with different variables.
Object attributes (centroid, axis, etc.) will be computed for the resultant objects.
Matching and merging may be a later option.
This tool is to be tested on fields relevant for dryline identification
(gradient of temperature, gradient of specific humidity, etc.).
The output format of the new tool will be identical to that of MODE.

Account Key: 2700042 WPC

Related METplus issue: dtcenter/METplus#1516

JohnHalleyGotway added a commit that referenced this issue Mar 7, 2022
…anch, made minor changes to get it compiling again.
@JohnHalleyGotway JohnHalleyGotway linked a pull request Mar 7, 2022 that will close this issue
15 tasks
JohnHalleyGotway added a commit that referenced this issue Mar 7, 2022
…ol_calc library. Also in tokenizer.cc replace a switch statement with if-elseif-else logic to avoid the use of constexpr which may impact the flags needed to compile MET. Don't want to introduce C++11 features this late in the development cycle for version 10.1.0 since I don't want existing MET compilation scripts to no longer work.
JohnHalleyGotway added a commit that referenced this issue Mar 8, 2022
…t when printing the usage statement. Update the copyright dates to 2022.
JohnHalleyGotway added a commit that referenced this issue Mar 9, 2022
…gic with multivar_logic since that's what the code is looking for.
JohnHalleyGotway added a commit that referenced this issue Mar 10, 2022
…orporated implemented following the standard Makefile conventions.
JohnHalleyGotway added a commit that referenced this issue Mar 10, 2022
@JohnHalleyGotway JohnHalleyGotway changed the title Multivariate MODE for Dryline Identification Add support for Multi-Variate MODE Mar 10, 2022
@JohnHalleyGotway
Copy link
Collaborator

JohnHalleyGotway commented Mar 10, 2022

Reopening this issue.

Merging in the multi-variate MODE PR into develop triggered a testing workflow run for METplus. But 6 of the 44 testing groups failed with runtime errors from MODE. So while the changes didn't break the MET regression tests, they did break the METplus ones.

All of the MODE runtime errors look something like this:

ERROR  : 
ERROR  : replace_env() -> unable to get value for environment variable "7??W?f?ʳ࿑5??ȕZ̈??ȗ&<y2?Ht???!̛*%Z4e?j"
ERROR  : 

Here's why... the logic on this line is insufficient:

const char * const user_config_filename = argv[3];

It assumes that the user-specified config file is always the 4-th item on the command line.

However, METplus runs MODE like this (at least in all of the failed runs):

bin/mode -v 2 /d1/projects/METplus/METplus_Data/met_test/data/sample_fcst/2005080700/wrfprs_ruc13_12.tm00_G212 /d1/projects/METplus/METplus_Data/met_test/data/sample_fcst/2005080712/wrfprs_ruc13_00.tm00_G212 MODEConfig_wrapped -outdir out

Having -v 2 immediately after the executable shifts the config file down. The weird error message is the result of trying to parse a binary GRIB file as if it were an ASCII config file. Rerunning the failed MODE command line with all optional args following the required ones fixes this problem.

However the real fix it to use the CommandLine class the properly parse the command line.

JohnHalleyGotway added a commit that referenced this issue Mar 10, 2022
@JohnHalleyGotway JohnHalleyGotway linked a pull request Mar 10, 2022 that will close this issue
15 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
MET: Library Code requestor: NCAR/RAL NCAR Research Applications Laboratory type: new feature Make it do something new
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants