-
Notifications
You must be signed in to change notification settings - Fork 24
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
* Per #2924, remove GenEnsProd config file comment about parsing desc separately from each obs.field entry because the obs dictionary does not exist in the GenEnsProd config file. * Per #2924, update list of needed config entry names * Per #2924, remove const from the parent() member function so that we can perform lookups for the parent. * Per #2924, update the signature for and logic of the utility functions that retrieve the climatology data. Rather than requiring all the climo_mean and climo_stdev dictionary entries to be defined at the same config file context level, parse each one individually. This enables the METplus wrappers to only partially override this dictionary and still rely on the default values provided in MET's default configuration files. * Per #2924, update all calls to the climatology utility functions based on the new function signature. Also update the tools to check the number of climo fields separately for the forecast and observation climos. * Per #2924, update the parsing logic for the climatology regrid dictionary. Use config.fcst.climo_mean.regrid first, config.fcst.regrid second, and config.climo_mean.regrid third. Notably, DO NOT use config.regrid. This is definitely the problem with having regrid specified at mutliple config file context levels. It makes the logic for which to use when very messy. * Per #2924, forgot to add an else to print an error * Per #2924, remove extraneous semicolon * Per #2924, move 'fcst.regrid' into 'fcst.climo_mean.regrid'. Defining the climatology regridding logic inside fcst is problematic because it applies to the forecast data as well and you end up with the verification grid being undefined. So the climo regridding logic must be defined in 'climo_mean.regrid' either within the 'fcst' and 'obs' dictionaries or at the top-level config context. * Per #2924, based on PR feedback from @georgemccabe, add the Upper_Left, Upper_Right, Lower_Right, and Lower_Left interpolation methods to the list of valid options for regridding, as already indicated in the MET User's Guide. * Per #2924, update the logic of parse_conf_regrid() to (hopefully) make it work the way @georgemccabe expects it to. It now uses pointers to both the primary and default dictionaries and parses each entry individually. * Per #2924, need to check for non-null pointer before using it * Per #2924, revise the climo_name dictionary lookup logic when parsing the regrid dictionary. * Per #2924, update logic for handling RegridInfo * Per #2924, remove the default regridding information from the 'Searching' log message to avoid confusion. * Per #2924, escape sequences, like \n, cannot be used inside R-string literals. * Per #2924, update the logic of check_climo_n_vx() * Per #2924, revise logic in read_climo_data_plane_array(). Check the number of climo fields provided. If there's 0, just return since no data has been requested. If there's 1, use it regardless of the number of input fields. If there's more than 1, just use the requested i_vx index value. * Per #2924, update Series-Analysis to set both i_fcst and i_obs when looping over the series entries. * Per #2924, no real change. Just whitespace. * Unrelated to #2924, superficial changes to formatting of method_name strings for consistency. * Per #2924, add a new series_analysis test that ERRORS OUT prior to this PR but works after the changes in this PR. --------- Co-authored-by: MET Tools Test Account <[email protected]>
- Loading branch information
1 parent
8cf2816
commit 01043c0
Showing
8 changed files
with
222 additions
and
23 deletions.
There are no files selected for viewing
162 changes: 162 additions & 0 deletions
162
internal/test_unit/config/SeriesAnalysisConfig_const_climo
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,162 @@ | ||
//////////////////////////////////////////////////////////////////////////////// | ||
// | ||
// Series-Analysis configuration file. | ||
// | ||
// For additional information, please see the MET User's Guide. | ||
// | ||
//////////////////////////////////////////////////////////////////////////////// | ||
|
||
// | ||
// Output model name to be written | ||
// | ||
model = "GFS"; | ||
|
||
// | ||
// Output description to be written | ||
// | ||
desc = "NA"; | ||
|
||
// | ||
// Output observation type to be written | ||
// | ||
obtype = "GFSANL"; | ||
|
||
//////////////////////////////////////////////////////////////////////////////// | ||
|
||
// | ||
// Verification grid | ||
// | ||
regrid = { | ||
to_grid = NONE; | ||
method = NEAREST; | ||
width = 1; | ||
vld_thresh = 0.5; | ||
} | ||
|
||
//////////////////////////////////////////////////////////////////////////////// | ||
|
||
censor_thresh = []; | ||
censor_val = []; | ||
cat_thresh = []; | ||
cnt_thresh = [ NA ]; | ||
cnt_logic = UNION; | ||
|
||
// | ||
// Forecast and observation fields to be verified | ||
// | ||
fcst = { | ||
field = [ | ||
{ name = "TMP"; level = "P850"; valid_time = "20120409_12"; }, | ||
{ name = "TMP"; level = "P850"; valid_time = "20120410_00"; }, | ||
{ name = "TMP"; level = "P850"; valid_time = "20120410_12"; } | ||
]; | ||
} | ||
obs = { | ||
field = [ | ||
{ name = "TMP"; level = "P850"; valid_time = "20120409_12"; }, | ||
{ name = "TMP"; level = "P850"; valid_time = "20120410_00"; }, | ||
{ name = "TMP"; level = "P850"; valid_time = "20120410_12"; } | ||
]; | ||
} | ||
|
||
//////////////////////////////////////////////////////////////////////////////// | ||
|
||
// | ||
// Climatology data | ||
// | ||
climo_mean = fcst; | ||
climo_mean = { | ||
|
||
file_name = [ ${CLIMO_MEAN_FILE_LIST} ]; | ||
|
||
field = [ | ||
{ name = "TMP"; level = "P850"; valid_time = "19590409_00"; } | ||
]; | ||
|
||
regrid = { | ||
method = BILIN; | ||
width = 2; | ||
vld_thresh = 0.5; | ||
} | ||
|
||
time_interp_method = NEAREST; | ||
day_interval = NA; | ||
hour_interval = NA; | ||
} | ||
|
||
climo_stdev = climo_mean; | ||
climo_stdev = { | ||
file_name = [ ${CLIMO_STDEV_FILE_LIST} ]; | ||
} | ||
|
||
climo_cdf = { | ||
cdf_bins = 1; | ||
center_bins = FALSE; | ||
direct_prob = FALSE; | ||
} | ||
|
||
//////////////////////////////////////////////////////////////////////////////// | ||
|
||
// | ||
// Confidence interval settings | ||
// | ||
ci_alpha = [ 0.05 ]; | ||
|
||
boot = { | ||
interval = PCTILE; | ||
rep_prop = 1.0; | ||
n_rep = 0; | ||
rng = "mt19937"; | ||
seed = "1"; | ||
} | ||
|
||
//////////////////////////////////////////////////////////////////////////////// | ||
|
||
// | ||
// Verification masking regions | ||
// | ||
mask = { | ||
grid = ""; | ||
poly = ""; | ||
} | ||
|
||
// | ||
// Number of grid points to be processed concurrently. Set smaller to use less | ||
// memory but increase the number of passes through the data. If set <= 0, all | ||
// grid points are processed concurrently. | ||
// | ||
block_size = 0; | ||
|
||
// | ||
// Ratio of valid matched pairs to compute statistics for a grid point | ||
// | ||
vld_thresh = 0.5; | ||
|
||
//////////////////////////////////////////////////////////////////////////////// | ||
|
||
// | ||
// Statistical output types | ||
// | ||
output_stats = { | ||
fho = [ ]; | ||
ctc = [ ]; | ||
cts = [ ]; | ||
mctc = [ ]; | ||
mcts = [ ]; | ||
cnt = [ "TOTAL", "RMSE", "ANOM_CORR" ]; | ||
sl1l2 = [ ]; | ||
sal1l2 = [ ]; | ||
pct = [ ]; | ||
pstd = [ ]; | ||
pjc = [ ]; | ||
prc = [ ]; | ||
} | ||
|
||
//////////////////////////////////////////////////////////////////////////////// | ||
|
||
hss_ec_value = NA; | ||
rank_corr_flag = FALSE; | ||
tmp_dir = "/tmp"; | ||
version = "V12.0.0"; | ||
|
||
//////////////////////////////////////////////////////////////////////////////// |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters