diff --git a/pyglance/glance/compare.py b/pyglance/glance/compare.py index a14f49017d3e93143f28f67ab45b86d1992f28a0..b2afe98c0daacad60d8b30b83cd97cb8c6c2d749 100644 --- a/pyglance/glance/compare.py +++ b/pyglance/glance/compare.py @@ -992,28 +992,6 @@ python -m glance isParent = True childPids = [] - # loop to create the images for all our variables - if (runInfo['shouldIncludeImages']) : - for varKey in variableAnalysisInfo : - if (not ('shouldIncludeImages' in variableAnalysisInfo[varKey]['run_info'])) \ - or (variableAnalysisInfo[varKey]['run_info']['shouldIncludeImages']) : - - # create the images comparing that variable - print("\tcreating figures for: " + variableAnalysisInfo[varKey]['exp_name']) - plot.plot_and_save_figure_comparison(variableAnalysisInfo[varKey]['data']['A'], - variableAnalysisInfo[varKey]['data']['B'], - variableAnalysisInfo[varKey]['run_info'], - files['file A']['path'], - files['file B']['path'], - latitudeA, longitudeA, - latitudeB, longitudeB, - latitudeCommon, longitudeCommon, - spaciallyInvalidMaskA, - spaciallyInvalidMaskB, - outputPath, True, - doFork=runInfo['doFork']) - print("\tfinished creating figures for: " + variableAnalysisInfo[varKey]['exp_name']) - # reports are fast, so the parent thread will just do this # generate our general report pages once we've looked at all the variables if (runInfo['shouldIncludeReport']) : @@ -1054,6 +1032,28 @@ python -m glance print ('generating glossary') report.generate_and_save_doc_page(delta.STATISTICS_DOC, outputPath) + # loop to create the images for all our variables + if (runInfo['shouldIncludeImages']) : + for varKey in variableAnalysisInfo : + if (not ('shouldIncludeImages' in variableAnalysisInfo[varKey]['run_info'])) \ + or (variableAnalysisInfo[varKey]['run_info']['shouldIncludeImages']) : + + # create the images comparing that variable + print("\tcreating figures for: " + variableAnalysisInfo[varKey]['exp_name']) + plot.plot_and_save_figure_comparison(variableAnalysisInfo[varKey]['data']['A'], + variableAnalysisInfo[varKey]['data']['B'], + variableAnalysisInfo[varKey]['run_info'], + files['file A']['path'], + files['file B']['path'], + latitudeA, longitudeA, + latitudeB, longitudeB, + latitudeCommon, longitudeCommon, + spaciallyInvalidMaskA, + spaciallyInvalidMaskB, + outputPath, True, + doFork=runInfo['doFork']) + print("\tfinished creating figures for: " + variableAnalysisInfo[varKey]['exp_name']) + # if we're the parent, wait for any children to catch up if isParent: if len(childPids) > 0 : diff --git a/pyglance/glance/io.py b/pyglance/glance/io.py index d1b7263a738733db49108b25cc66da916b82ef6b..9225e527d8a466f9600de278b0ab7a85dee8f5c0 100644 --- a/pyglance/glance/io.py +++ b/pyglance/glance/io.py @@ -82,11 +82,13 @@ class hdf(SD): # get information about where the data is the missing value missing_val = self.missing_value(name) - missing_mask = (raw_data_copy == missing_val) + missing_mask = np.zeros(raw_data_copy.shape, dtype=np.bool) + missing_mask[raw_data_copy == missing_val] = True # create the scaled version of the data scaled_data_copy = np.array(raw_data_copy, dtype=data_type) - scaled_data_copy[~missing_mask] = (scaled_data_copy[~missing_mask] - add_offset) * scale_factor #TODO, type truncation issues? + #scaled_data_copy[~missing_mask] = (scaled_data_copy[~missing_mask] - add_offset) * scale_factor #TODO, type truncation issues? + scaled_data_copy[~missing_mask] = (scaled_data_copy[~missing_mask] * scale_factor) + add_offset #TODO, type truncation issues? return scaled_data_copy @@ -146,11 +148,13 @@ class nc(CDF): # get information about where the data is the missing value missing_val = self.missing_value(name) - missing_mask = (raw_data_copy == missing_val) + missing_mask = np.zeros(raw_data_copy.shape, dtype=np.bool) + missing_mask[raw_data_copy == missing_val] = True # create the scaled version of the data scaled_data_copy = np.array(raw_data_copy, dtype=data_type) - scaled_data_copy[~missing_mask] = (scaled_data_copy[~missing_mask] - add_offset) * scale_factor #TODO, type truncation issues? + #scaled_data_copy[~missing_mask] = (scaled_data_copy[~missing_mask] - add_offset) * scale_factor #TODO, type truncation issues? + scaled_data_copy[~missing_mask] = (scaled_data_copy[~missing_mask] * scale_factor) + add_offset #TODO, type truncation issues? return scaled_data_copy @@ -222,11 +226,13 @@ class h5(object): # get information about where the data is the missing value missing_val = self.missing_value(name) - missing_mask = (raw_data_copy == missing_val) + missing_mask = np.zeros(raw_data_copy.shape, dtype=np.bool) + missing_mask[raw_data_copy == missing_val] = True # create the scaled version of the data scaled_data_copy = np.array(raw_data_copy, dtype=data_type) - scaled_data_copy[~missing_mask] = (scaled_data_copy[~missing_mask] - add_offset) * scale_factor #TODO, type truncation issues? + #scaled_data_copy[~missing_mask] = (scaled_data_copy[~missing_mask] - add_offset) * scale_factor #TODO, type truncation issues? + scaled_data_copy[~missing_mask] = (scaled_data_copy[~missing_mask] * scale_factor) + add_offset #TODO, type truncation issues? return scaled_data_copy