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

Update develop-ref after #2075 #2076

Merged
merged 175 commits into from
Mar 2, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
175 commits
Select commit Hold shift + click to select a range
9437447
Per #1906, modify code to pass entire path to make_temp_file_name ins…
jprestop Oct 26, 2021
8c446ff
Feature 1761 percent thresh (#1956)
sethlinden Nov 3, 2021
d60924c
Feature 1905 ens_ctrl (#1955)
JohnHalleyGotway Nov 3, 2021
3b13ce1
Hotfix after merging changing for #1761. Updating the list of expecte…
JohnHalleyGotway Nov 3, 2021
5131042
Per #1905, committing a hotfix directly to the develop branch. Revert…
JohnHalleyGotway Nov 3, 2021
4ff28d1
Feature 1957 ascii2nc_python (#1958)
JohnHalleyGotway Nov 4, 2021
aee6269
Feature 1949 cf netcdf documentaton (#1951)
hsoh-u Nov 15, 2021
867360f
Feature 1968 ens_ctrl (#1969)
JohnHalleyGotway Nov 15, 2021
0990061
Feature 1809 gen prob (#1967)
JohnHalleyGotway Nov 16, 2021
1663bb6
Merge branch 'develop-ref' into develop
JohnHalleyGotway Nov 16, 2021
13996c2
Feature 1970 v10.1.0-beta4 (#1973)
JohnHalleyGotway Nov 16, 2021
dae9db7
Fix tiny typo in plot_data_plane usage statement.
JohnHalleyGotway Nov 17, 2021
9bd9946
Hotfix for the develop branch to get met-10.1.0-beta4 compiling on WC…
JohnHalleyGotway Nov 17, 2021
e0b659d
Updating the beta4 release date from 11/16 to 11/17 since the beta4 r…
JohnHalleyGotway Nov 17, 2021
817d9db
Update the MET PR template to list expected changes up front.
JohnHalleyGotway Nov 19, 2021
4e28ae7
Bugfix 1976 develop cdist (#1979)
JohnHalleyGotway Nov 22, 2021
6d16e23
Merge branch 'develop-ref' into develop
JohnHalleyGotway Nov 23, 2021
39a5233
#1936 Excludes precip3hr, precip6hr, precip12hr, and precip10min from…
Nov 29, 2021
c9434e8
Per #1985, correcting typo found while creating V10.0.1 in the develo…
JohnHalleyGotway Dec 1, 2021
84f8c7f
Per #1985, VERY minor change to fix alignment of titles in Point-Stat…
JohnHalleyGotway Dec 1, 2021
d35190e
#1936 Added an unit test for newer MESONET file
Dec 1, 2021
f81d250
Merge pull request #1984 from dtcenter/feature_1936_madis_nc2
hsoh-u Dec 2, 2021
8c29f09
Feature 1989 sort (#1990)
JohnHalleyGotway Dec 13, 2021
b93f4ea
Feature 1991 VCNT (#1992)
JohnHalleyGotway Dec 13, 2021
49fb555
Feature 1993 grid_mask (#1994)
JohnHalleyGotway Dec 13, 2021
dd0a68b
#1844 Added vx_pointdata_python
Dec 28, 2021
2b61506
#1844 Added vx_pointdata_python to PYTHON_LIBS & make file for vx_poi…
Dec 28, 2021
b4a4e18
#1844 Added vx_pointdata_python to SUBDIRS
Dec 28, 2021
ba9f81e
#1844 Initial release
Dec 28, 2021
abef2b7
#1844 Added met_point_data.cc & met_point_data.h
Dec 28, 2021
6c36d79
#1844 NcHeaderData is renamed to MetPointHeader and moved to met_poin…
Dec 28, 2021
3f0de5e
#1844 NcPointObsData is derived from MetPointObsData. Many methods ar…
Dec 28, 2021
6c50d50
#1844 Moved varianbles and methods to the base class MetPointData
Dec 28, 2021
0d7b731
#1844 override the obs_data pointer to the derived class
Dec 28, 2021
b053f71
#1844 Added pyobject_as_bool & pyobject_as_string_array
Dec 28, 2021
0ecea6e
#1844 Cleanup include statements and addpointdata_python.h if python …
Dec 28, 2021
e397fa1
#18443 Support python embedding
Dec 28, 2021
315d3b4
#1844 Initial release
Dec 28, 2021
95a65ed
#1844 Make buf_size const
Dec 29, 2021
e900334
Add GitHub Actions workflow to trigger METplus testing workflow (#2002)
georgemccabe Jan 5, 2022
1c981f4
changed names of inputs to send to METplus to match changes to METplu…
georgemccabe Jan 5, 2022
0273cf1
#1965 Excludes the duplicated variable names from multiple input files
Jan 7, 2022
ab1199b
#1965 Processed with the raw variable names and update them when the …
Jan 11, 2022
d5cc7b1
#1965 Added unit test ioda2nc_same_input
Jan 11, 2022
e48c5ff
#1965 Processed with the raw variable names and update them when the …
Jan 11, 2022
5617aa2
#1965 Added unit test ioda2nc_same_input
Jan 11, 2022
ee76143
#1965 initialize var_idx
hsoh-u Jan 12, 2022
1e97085
Merge pull request #2006 from dtcenter/feature_1965_ioda2nc_same_input
hsoh-u Jan 12, 2022
acbb7b9
Update the development environment for seneca to add /usr/local/nco/b…
Jan 12, 2022
717dd17
Merge branch 'develop' of https://github.com/dtcenter/MET into develop
JohnHalleyGotway Jan 12, 2022
58988bf
send email address of user who triggered event to METplus workflow as…
georgemccabe Jan 12, 2022
5632c5c
Merge branch 'develop' of github.com:dtcenter/MET into develop
georgemccabe Jan 12, 2022
b267883
Fixup the Rscript diffing logic to support running the nightly build …
JohnHalleyGotway Jan 12, 2022
d7eb8e4
Merge branch 'develop' of https://github.com/dtcenter/MET into develop
JohnHalleyGotway Jan 12, 2022
96536f5
No real changes here. Just formatting
Jan 12, 2022
fa41760
Feature 1974 message_type_group_map (#1999)
hsoh-u Jan 12, 2022
551f92b
Feature 1996 uninitialized variables (#2004)
hsoh-u Jan 12, 2022
39d7e6f
Merge remote-tracking branch 'origin/develop' into feature_1844_pytho…
Jan 12, 2022
dbc7d10
Feature 1695 ensemble single file (gen_ens_prod) (#2001)
georgemccabe Jan 12, 2022
be7910e
Feature 1965 NB faile with time summary by ioda2nc (#2008)
hsoh-u Jan 12, 2022
1e13dea
Feature 1810 shapes (#2005)
JohnHalleyGotway Jan 13, 2022
edd61fd
#1844 Added log message for use_var_id
Jan 13, 2022
6cae6b5
#1844 Get use_var_id for python embedding
Jan 13, 2022
aaa1010
#1844 Initial release
Jan 13, 2022
adf4928
#1844 Added met_point_obs.py and read_met_point_obs.py
Jan 13, 2022
0640d8d
#1844 Added 4 unit test for python embedding of MET point data
Jan 13, 2022
9483487
Merge remote-tracking branch 'origin/develop' into feature_1844_pytho…
Jan 13, 2022
37f4f32
More changes to test_util.R to account for differences between 4.7.0 …
JohnHalleyGotway Jan 13, 2022
36761b6
Fix merge conflict
JohnHalleyGotway Jan 13, 2022
4f57edd
#1844 Added python embedding for point observation data
Jan 13, 2022
27925d8
Merge remote-tracking branch 'origin/develop' into feature_1844_pytho…
Jan 13, 2022
de81526
Feature 1926 gridstat openmp (#1977)
mo-mglover Jan 13, 2022
e96a211
feature 1695 ensemble single file (ensemble_stat) (#2007)
georgemccabe Jan 14, 2022
032456b
Committing directly to the develop branch. Removing many, many instan…
JohnHalleyGotway Jan 14, 2022
ee4a3a4
feature 2011 v10.1.0-beta5 (#2014)
JohnHalleyGotway Jan 15, 2022
18ccf3a
feature 1695 fix issues with ensemble changes (#2012)
georgemccabe Jan 15, 2022
634806e
Merge branch 'develop-ref' into develop
JohnHalleyGotway Jan 15, 2022
e9df2fc
Hotfix for #1695 committed directly to the develop branch. The new En…
JohnHalleyGotway Jan 16, 2022
e75fe46
Merge branch 'develop-ref' into develop
JohnHalleyGotway Jan 17, 2022
65539e1
Adding George to email list for the nightly build.
JohnHalleyGotway Jan 18, 2022
ee621eb
Merge branch 'develop' into feature_1844_python_embedding
JohnHalleyGotway Jan 18, 2022
7c18231
Fix the links for the met-10.1.0-beta5 release notes.
JohnHalleyGotway Jan 20, 2022
3bd3cb3
Merge remote-tracking branch 'origin/develop' into feature_1844_pytho…
Jan 20, 2022
b8e0de3
#1844 Make met_point_obs as abstract class
Jan 21, 2022
29d479f
#1844 correctedb for loop end condition on processing obs bdata
Jan 21, 2022
333419c
Feature 1546 unit_tests (#2021)
JohnHalleyGotway Jan 24, 2022
b177c3b
#2020 Added SonarQube related varibales
Jan 25, 2022
11daa46
#2020 Initial release
Jan 25, 2022
89642fc
#2015 Avoid the repeasted debug message if derived varibales are disa…
Jan 25, 2022
6b9b411
#1996 Initialize right and left
Jan 25, 2022
b606312
#1966 Call clear() instead of reset memory for Header variable
Jan 25, 2022
4142c48
#1966 Make sure the levels from variable does not exceed the maxLevel
Jan 25, 2022
c4f5a1b
#1966 Removed unreachable codes
Jan 25, 2022
4226cbe
#1966 Do not write into NetcDF if empty data
Jan 25, 2022
dd9c46c
Merge branch 'develop' into feature_1844_python_embedding
JohnHalleyGotway Jan 25, 2022
7aaddba
Merge pull request #2010 from dtcenter/feature_1844_python_embedding
hsoh-u Jan 26, 2022
587b936
#2015 Corrected "retained or derived" count
Jan 27, 2022
cfb4759
Merge pull request #2024 from dtcenter/feature_2020_run_sonarqube
hsoh-u Jan 27, 2022
80f79fd
Merge pull request #2026 from dtcenter/feature_2015_pb2nc_debug_message
hsoh-u Jan 27, 2022
3097278
Feature 1546 CI testing (#2029)
georgemccabe Jan 27, 2022
d9447e9
Merge branch 'develop-ref' into develop
JohnHalleyGotway Jan 27, 2022
42ca71a
fixed broken workflow by setting environment variable expected for do…
georgemccabe Jan 27, 2022
5939357
add missing docker tag from push command
georgemccabe Jan 27, 2022
1e7551f
added correct docker tag value
georgemccabe Jan 27, 2022
afe0ad4
fixed incorrect truth data version for updating -ref reference data
georgemccabe Jan 27, 2022
6e1e209
Merge branch 'develop-ref' into develop
georgemccabe Jan 27, 2022
555494b
Updating develop with changes to the unit tests names. Renaming unit_…
JohnHalleyGotway Jan 28, 2022
ece4c3a
fixed directory to copy truth data into -- copy command was copying t…
georgemccabe Jan 28, 2022
afdf9db
git push origin develop0;136;0cMerge branch 'develop-ref' into develop
georgemccabe Jan 28, 2022
82d45a9
Per #1907, added warning about switch from Ensemble-Stat to Gen-Ens-P…
jprestop Jan 31, 2022
5dfcf5b
2028 Check null for header data
Feb 1, 2022
c767e8f
Removed un-reachable code
Feb 1, 2022
310c236
#2028 Check if the pointer (d) is null
Feb 1, 2022
fa5badf
#2015 Changed warning to debug message
Feb 1, 2022
df00576
#2028 Passing two dimensionl cur and dim array
Feb 1, 2022
206f74a
#2028 Set obs_data
Feb 2, 2022
4da5850
Merge pull request #2035 from dtcenter/feature_2028_madis2nc_profiler_qc
hsoh-u Feb 2, 2022
917c300
Feature 2003 briercl (#2034)
JohnHalleyGotway Feb 2, 2022
abdc436
do not run testing workflow if changes are isolated to the met/docs d…
georgemccabe Feb 3, 2022
4a31d4f
Per #2013, changed source and README. ci-run-unit (#2039)
davidalbo Feb 3, 2022
872e2e4
Feature 1055 read rot latlon (#2041)
JohnHalleyGotway Feb 8, 2022
221e148
Merge branch 'develop-ref' into develop
JohnHalleyGotway Feb 8, 2022
6ec6e71
#2044 Renamed obs_prefbufr_map to obs_prepbufr_map (typo)
Feb 9, 2022
b4ec7b8
#1996 Initialize i_point
Feb 9, 2022
fa3896d
#2044 Corrected config key for obs_prefbufr_map and give a warning fo…
Feb 10, 2022
9c45689
CI: output summary of differences in GHA log to easily see results wi…
georgemccabe Feb 10, 2022
b2e7276
#2027 Added a debug message
Feb 10, 2022
c9ba6f1
#2027 ci-run-unit Changed wind thres
Feb 10, 2022
6cd0b12
Merge remote-tracking branch 'origin/develop' into feature_2027_grid_…
Feb 10, 2022
c1b2022
#2027 ci-run-unit Increased the precision to debug message
Feb 10, 2022
47bfef6
print end of script after error summary, ci-run-unit
georgemccabe Feb 10, 2022
348d05e
#2027 Increased the buffer and cheking the status of sprintf
Feb 10, 2022
e9e5a52
Merge branch 'feature_2027_grid_stat_wind_direction' of github.com:dt…
Feb 10, 2022
a79cd9b
Feature 1998 standard sections (#2038)
lisagoodrich Feb 11, 2022
f4e1f7f
#2044 parse_conf_obs_bufr_map is moved to pb2nc_conf_info.c
Feb 11, 2022
3b88ab1
#2044 parse_conf_obs_bufr_map is moved to pb2nc_conf_info.c
Feb 11, 2022
4020d35
#2044 Changed debiug level for PBL
Feb 11, 2022
42aad8a
#2044 ci-run-unit Give warning if bad connfig key is used
Feb 11, 2022
ceacf2a
Update met_stats.cc
hsoh-u Feb 11, 2022
5437e5f
Update met_stats.cc
JohnHalleyGotway Feb 11, 2022
67b484c
Feature 2040 parse timing (#2048)
JohnHalleyGotway Feb 11, 2022
0f25d3c
Merge pull request #2047 from dtcenter/feature_2027_grid_stat_wind_di…
hsoh-u Feb 11, 2022
ae13219
#2033 ci-run-test Initial release
Feb 11, 2022
1d56b26
CI: Add logic to auto update input data (#2046)
georgemccabe Feb 11, 2022
39a50c1
Bugfix 2045 develop hira (#2049)
JohnHalleyGotway Feb 11, 2022
ce3582d
#2044 ci-run-test merge again
Feb 11, 2022
fd95301
Feature 2040 patch (#2053)
JohnHalleyGotway Feb 15, 2022
1852dae
For #2044, fix a typo in PB2NCConfig_G212. A commented out obs_bufr_v…
JohnHalleyGotway Feb 17, 2022
6b2134d
Merge pull request #2050 from dtcenter/feature_2044_pb2nc_config
hsoh-u Feb 17, 2022
418ebe7
print docker build log to GHA log if build fails
georgemccabe Feb 18, 2022
0d04d0d
Feature 1824 pb2nc mlcape (#2057)
hsoh-u Feb 18, 2022
a2a7372
Feature 1583 es hira (#2056)
JohnHalleyGotway Feb 18, 2022
e1160cf
Merge branch 'develop-ref' into develop
JohnHalleyGotway Feb 19, 2022
10ca15c
#1824 ci-run-test Reset itype to 1 for regular CAPE
Feb 19, 2022
fd9e63c
Merge pull request #2060 from dtcenter/feature_1824_pb2nc_MLCAPE2
hsoh-u Feb 20, 2022
6b78a89
SonarQube: check if pd_ptr is null
Feb 22, 2022
1d58705
#1824 Initialize cape_cnt_surface_msgs
Feb 22, 2022
946e4ec
ci-run-test Removed trailing spaces
Feb 22, 2022
f74ac2a
Modified the PR template to add review of the source issue metadata c…
Feb 22, 2022
2c4e4af
feature_2054_helpEmailChanges (#2064)
davidalbo Feb 23, 2022
ba71e4c
Merge pull request #2065 from dtcenter/feature_1824_pb2nc_MLCAPE2
hsoh-u Feb 23, 2022
36bdf26
Feature set job controls (#2066)
jprestop Feb 23, 2022
ab26b48
Feature 1918 std climo (#2061)
JohnHalleyGotway Feb 23, 2022
005da64
Merge branch 'develop-ref' into develop
JohnHalleyGotway Feb 24, 2022
30ad6b6
Feature 2070 obs_prepbufr_map (#2071)
JohnHalleyGotway Feb 24, 2022
eccbb38
#1996 simplify the retrun statement (no effect with tf_left at the se…
Feb 25, 2022
37aef73
#1996 Add null terminator only if the pointer is not NULL
Feb 25, 2022
543370e
#1996 Reduced duplicated for loops
Feb 25, 2022
4471c4a
#1996 Removed IsSet which is defined at the base class
Feb 25, 2022
c5a80d5
#1996 Initialize the variable
Feb 25, 2022
40569ff
#1996 ci-run-test Initialize the variable, nxy
Feb 25, 2022
b55b5c9
Merge branch 'develop' into feature_1996_sonarqube_findings2
JohnHalleyGotway Mar 1, 2022
7d63e0f
Merge pull request #2073 from dtcenter/feature_1996_sonarqube_findings2
hsoh-u Mar 1, 2022
107ac32
Feature 1918 climo_ens_member_id (#2075)
JohnHalleyGotway Mar 2, 2022
2eb1158
Merge branch 'develop-ref' into develop
JohnHalleyGotway Mar 2, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions met/docs/Users_Guide/gen-ens-prod.rst
Original file line number Diff line number Diff line change
Expand Up @@ -173,6 +173,18 @@ Each value in the array will replace the text **MET_ENS_MEMBER_ID**.
];
}

This replacement behavior can also be applied to climatology file name entry, in the
climo_mean and climo_stdev dictionaries.

.. code-block:: none

climo_mean = {
file_name = ["/path/to/file/memberMET_ENS_MEMBER_ID-mean.nc"];
}

This substitution method can only be used if **ens_member_ids** has at least one entry
and the **normalize** option is set to **CLIMO_ANOM** or **CLIMO_STD_ANOM**.

**control_id** is a string that is substituted in the same way as the **ens_member_ids** values
to read a control member. This value is only used when the **-ctrl** command line argument is
used. The value should not be found in the **ens_member_ids** array.
Expand Down
2 changes: 1 addition & 1 deletion met/src/basic/vx_config/threshold.cc
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@ if ( tf_left ) return ( true );

const bool tf_right = right_child->check(x, cmn, csd);

return ( tf_left || tf_right );
return ( tf_right );

}

Expand Down
9 changes: 5 additions & 4 deletions met/src/basic/vx_util/ascii_table.cc
Original file line number Diff line number Diff line change
Expand Up @@ -1002,9 +1002,10 @@ if ( DoCommaString ) {

p = strchr(junk, '.');

if ( p ) *p = (char) 0;

++p;
if ( p ) {
*p = (char) 0;
++p;
}

X = atol(junk);

Expand All @@ -1014,7 +1015,7 @@ if ( DoCommaString ) {

s << j2;

if ( Precision > 0 ) s << '.' << p;
if ( Precision > 0 && p ) s << '.' << p;

set_entry(r, c, s.string());

Expand Down
6 changes: 6 additions & 0 deletions met/src/libcode/vx_data2d/var_info.cc
Original file line number Diff line number Diff line change
Expand Up @@ -892,6 +892,12 @@ int EnsVarInfo::get_file_index(int index) {

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

ConcatString EnsVarInfo::get_ens_member_id(int index) {
return inputs[index].ens_member_id;
}

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

ConcatString raw_magic_str(Dictionary i_edict, GrdFileType file_type) {
ConcatString magic_str;

Expand Down
8 changes: 5 additions & 3 deletions met/src/libcode/vx_data2d/var_info.h
Original file line number Diff line number Diff line change
Expand Up @@ -258,9 +258,10 @@ inline int VarInfo::accum_attr() const { return(SetAttrAccum); }
//

struct InputInfo {
VarInfo * var_info; // Variable information to read
int file_index; // Index in file_list of file to read
StringArray * file_list; // Array of files (unallocated)
VarInfo * var_info; // Variable information to read
int file_index; // Index in file_list of file to read
StringArray * file_list; // Array of files (unallocated)
ConcatString ens_member_id; // MET_ENS_MEMBER_ID string
};

////////////////////////////////////////////////////////////////////////
Expand Down Expand Up @@ -292,6 +293,7 @@ class EnsVarInfo {
VarInfo * get_var_info(int index=0);
ConcatString get_file(int index=0);
int get_file_index(int index=0);
ConcatString get_ens_member_id(int index=0);

ConcatString nc_var_str; // Ensemble variable name strings
ThreshArray cat_ta; // Ensemble categorical thresholds
Expand Down
1 change: 1 addition & 0 deletions met/src/libcode/vx_nc_obs/met_point_data.cc
Original file line number Diff line number Diff line change
Expand Up @@ -403,6 +403,7 @@ void MetPointHeader::reset_counters() {
strl_len = 0;
strll_len = 0;
hdr_count = 0;
hdr_type_count = 0;

min_vld_time = -1;
max_vld_time = -1;
Expand Down
2 changes: 2 additions & 0 deletions met/src/libcode/vx_nc_obs/nc_obs_util.cc
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ void NcDataBuffer::reset_counters() {
hdr_data_offset = 0;
pb_hdr_count = 0;
pb_hdr_data_offset = 0;
prev_hdr_vld = 0;
}

///////////////////////////////////////////////////////////////////////////////
Expand Down Expand Up @@ -988,6 +989,7 @@ void NetcdfObsVars::reset(bool _use_var_id) {
deflate_level = 0;
hdr_cnt = 0; // header array length (fixed dimension if hdr_cnt > 0)
obs_cnt = 0; // obs. array length (fixed dimension if obs_cnt > 0)
raw_hdr_cnt = 0;
//hdr_str_len = 0; // string length for header (message) type header
}

Expand Down
33 changes: 17 additions & 16 deletions met/src/libcode/vx_shapedata/interest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -601,23 +601,33 @@ void get_percentiles(DistributionPercentiles &ptile,
const int perc, const bool precip_flag)

{
int i, x, y, count, n_values;
int i, x, y, n_values;
int nx, ny;
double *v = (double *) 0;
double *v_tmp = (double *) 0;
const char *method_name = "get_percentiles() -> ";

nx = raw.data.nx();
ny = raw.data.ny();

v_tmp = new double[nx*ny];
if(!v_tmp) {
mlog << Error << "\n" << method_name << "memory allocation error, v_tmp\n\n";
exit(1);
}

//
// Count values.
// Only check precipitation for values greater than zero.
// Only collect precipitation values greater than zero.
//
n_values = 0;
for(x=0; x<nx; ++x) {
for(y=0; y<ny; ++y) {
if((mask.s_is_on(x, y)) &&
(raw.is_valid_xy(x, y)) &&
(!precip_flag || (precip_flag && raw.data(x, y) > 0))) ++n_values;
(!precip_flag || (precip_flag && raw.data(x, y) > 0))) {
v_tmp[n_values++] = (double)(raw.data(x, y));
}
}
}

Expand All @@ -627,25 +637,15 @@ void get_percentiles(DistributionPercentiles &ptile,
v = new double [n_values];

if(!v) {
mlog << Error << "\nget_percentiles() -> "
<< "memory allocation error\n\n";
mlog << Error << "\n" << method_name << "memory allocation error\n\n";
exit(1);
}

//
// Fill values
//
count = 0;
for(x=0; x<nx; ++x) {
for(y=0; y<ny; ++y) {
if((mask.s_is_on(x, y)) &&
(raw.is_valid_xy(x, y)) &&
(!precip_flag || (precip_flag && raw.data(x, y) > 0))) {

v[count++] = (double) (raw.data(x, y));
}
}
}
for(x=0; x<n_values; ++x)
v[x] = v_tmp[x];

//
// Sort
Expand Down Expand Up @@ -685,6 +685,7 @@ void get_percentiles(DistributionPercentiles &ptile,
//
// Free memory
//
if(v_tmp) { delete [] v_tmp; v_tmp = (double *) 0; }
if(v) { delete [] v; v = (double *) 0; }

//
Expand Down
6 changes: 6 additions & 0 deletions met/src/libcode/vx_statistics/read_climo.cc
Original file line number Diff line number Diff line change
Expand Up @@ -243,6 +243,12 @@ void read_climo_file(const char *climo_file, GrdFileType ctype,
}
}

// Print log message for matching record
mlog << Debug(4)
<< "Found matching " << cur_ut_cs << " \""
<< info->magic_str() << "\" climatology field in file \""
<< climo_file << "\".\n";

// Regrid, if needed
if(!(mtddf->grid() == vx_grid)) {
mlog << Debug(2)
Expand Down
2 changes: 0 additions & 2 deletions met/src/libcode/vx_tc_util/genesis_info.h
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,6 @@ class GenesisInfo : public TrackInfo {

void assign(const GenesisInfo &);

bool IsSet;

// Genesis Information
int GenesisIndex;
unixtime GenesisTime;
Expand Down
81 changes: 68 additions & 13 deletions met/src/tools/other/gen_ens_prod/gen_ens_prod.cc
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,8 @@ static void process_command_line(int, char **);
static void process_grid(const Grid &);
static void process_ensemble();

static void get_climo_mean_stdev(GenEnsProdVarInfo *, int,
bool, int, DataPlane &, DataPlane &);
static void get_ens_mean_stdev(GenEnsProdVarInfo *, DataPlane &, DataPlane &);
static bool get_data_plane(const char *, GrdFileType, VarInfo *, DataPlane &);

Expand Down Expand Up @@ -272,7 +274,7 @@ void process_grid(const Grid &fcst_grid) {

void process_ensemble() {
int i_var, i_ens, n_ens_vld, n_ens_inputs;
bool need_reset;
bool need_reset, set_climo_ens_mem_id;
DataPlane ens_dp, ctrl_dp;
DataPlane cmn_dp, csd_dp;
DataPlane emn_dp, esd_dp;
Expand All @@ -287,6 +289,13 @@ void process_ensemble() {
// Need to reinitialize counts and sums for each ensemble field
need_reset = true;

// When normalizing relative to climatology with MET_ENS_MEMBER_ID set,
// read climatology separately for each member
set_climo_ens_mem_id =
(conf_info.ens_member_ids.n() > 1) &&
((*var_it)->normalize == NormalizeType_ClimoAnom ||
(*var_it)->normalize == NormalizeType_ClimoStdAnom);

// Print out the normalization flag
cs << cs_erase;
if((*var_it)->normalize != NormalizeType_None) {
Expand All @@ -310,9 +319,9 @@ void process_ensemble() {
// Skip bad data files
if(!ens_file_vld[(*var_it)->get_file_index(i_ens)]) continue;

mlog << Debug(3) << "\n"
<< "Reading field: "
<< var_info->magic_str() << "\n";
mlog << Debug(3)
<< "\nReading ensemble field \""
<< var_info->magic_str() << "\".\n";

// Read data and track the valid data count
if(!get_data_plane(ens_file.c_str(), etype,
Expand All @@ -335,17 +344,13 @@ void process_ensemble() {
clear_counts();

// Read climatology data for this field
cmn_dp = read_climo_data_plane(
conf_info.conf.lookup_array(conf_key_climo_mean_field, false),
i_var, ens_valid_ut, grid);

csd_dp = read_climo_data_plane(
conf_info.conf.lookup_array(conf_key_climo_stdev_field, false),
i_var, ens_valid_ut, grid);
get_climo_mean_stdev((*var_it), i_var,
set_climo_ens_mem_id,
i_ens, cmn_dp, csd_dp);

// Compute the ensemble summary data, if needed
if((*var_it)->normalize == NormalizeType_FcstAnom ||
(*var_it)->normalize == NormalizeType_FcstStdAnom ) {
(*var_it)->normalize == NormalizeType_FcstStdAnom) {
get_ens_mean_stdev((*var_it), emn_dp, esd_dp);
}
else {
Expand All @@ -371,6 +376,13 @@ void process_ensemble() {
exit(1);
}

// Read climo data with MET_ENS_MEMBER_ID set
if(set_climo_ens_mem_id) {
get_climo_mean_stdev((*var_it), i_var,
set_climo_ens_mem_id, i_ens,
cmn_dp, csd_dp);
}

// Normalize, if requested
if((*var_it)->normalize != NormalizeType_None) {
normalize_data(ctrl_dp, (*var_it)->normalize,
Expand All @@ -391,6 +403,13 @@ void process_ensemble() {

} // end if need_reset

// Read climo data with MET_ENS_MEMBER_ID set
if(set_climo_ens_mem_id) {
get_climo_mean_stdev((*var_it), i_var,
set_climo_ens_mem_id, i_ens,
cmn_dp, csd_dp);
}

// Normalize, if requested
if((*var_it)->normalize != NormalizeType_None) {
normalize_data(ens_dp, (*var_it)->normalize,
Expand All @@ -411,7 +430,7 @@ void process_ensemble() {
if(((double) n_ens_vld/n_ens_inputs) < conf_info.vld_ens_thresh) {
mlog << Error << "\nprocess_ensemble() -> "
<< n_ens_vld << " of " << n_ens_inputs
<< " (" << (double)n_ens_vld/n_ens_inputs << ")"
<< " (" << (double)n_ens_vld/n_ens_inputs << ")"
<< " fields found for \"" << (*var_it)->get_var_info()->magic_str()
<< "\" does not meet the threshold specified by \""
<< conf_key_ens_ens_thresh << "\" (" << conf_info.vld_ens_thresh
Expand All @@ -430,6 +449,41 @@ void process_ensemble() {

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

void get_climo_mean_stdev(GenEnsProdVarInfo *ens_info, int i_var,
bool set_ens_mem_id, int i_ens,
DataPlane &cmn_dp, DataPlane &csd_dp) {

// Set the MET_ENS_MEMBER_ID environment variable
if(set_ens_mem_id) {
setenv(met_ens_member_id, ens_info->get_ens_member_id(i_ens).c_str(), 1);
}

mlog << Debug(4)
<< "Reading climatology mean data for ensemble field \""
<< ens_info->get_var_info(i_ens)->magic_str() << "\".\n";

cmn_dp = read_climo_data_plane(
conf_info.conf.lookup_array(conf_key_climo_mean_field, false),
i_var, ens_valid_ut, grid);

mlog << Debug(4)
<< "Reading climatology standard deviation data for ensemble field \""
<< ens_info->get_var_info(i_ens)->magic_str() << "\".\n";

csd_dp = read_climo_data_plane(
conf_info.conf.lookup_array(conf_key_climo_stdev_field, false),
i_var, ens_valid_ut, grid);

// Unset the MET_ENS_MEMBER_ID environment variable
if(set_ens_mem_id) {
unsetenv(met_ens_member_id);
}

return;
}

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

void get_ens_mean_stdev(GenEnsProdVarInfo *ens_info,
DataPlane &emn_dp, DataPlane &esd_dp) {
int i_ens, nxy, j;
Expand All @@ -451,6 +505,7 @@ void get_ens_mean_stdev(GenEnsProdVarInfo *ens_info,
<< "Computing the ensemble mean and standard deviation for "
<< ens_info->raw_magic_str << ".\n";

nxy = 0;
// Loop over the ensemble inputs
for(i_ens=0; i_ens < ens_info->inputs_n(); i_ens++) {

Expand Down
2 changes: 1 addition & 1 deletion met/src/tools/other/gen_ens_prod/gen_ens_prod.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
//
// Mod# Date Name Description
// ---- ---- ---- -----------
// 000 09/10/21 Halley Gotway Initial version (MET #1904).
// 000 09/10/21 Halley Gotway MET #1904 Initial version.
//
////////////////////////////////////////////////////////////////////////

Expand Down
2 changes: 2 additions & 0 deletions met/src/tools/other/gen_ens_prod/gen_ens_prod_conf_info.cc
Original file line number Diff line number Diff line change
Expand Up @@ -213,6 +213,7 @@ void GenEnsProdConfInfo::process_config(GrdFileType etype, StringArray * ens_fil
input_info.var_info = next_var;
input_info.file_index = 0;
input_info.file_list = ens_files;
input_info.ens_member_id = ens_member_ids[j];
ens_info->add_input(input_info);

// Add InputInfo to ens info list for each ensemble file provided
Expand All @@ -221,6 +222,7 @@ void GenEnsProdConfInfo::process_config(GrdFileType etype, StringArray * ens_fil
input_info.var_info = NULL;
input_info.file_index = k;
input_info.file_list = ens_files;
input_info.ens_member_id = ens_member_ids[j];
ens_info->add_input(input_info);
} // end for k

Expand Down
Loading