Skip to content
Snippets Groups Projects

Handling of situations where all values for a variable are nans

Merged Michele Marin requested to merge bugfix_nan_summary into master
1 file
+ 4
10
Compare changes
  • Side-by-side
  • Inline
@@ -250,18 +250,12 @@ for i=1:numel(global_quantities_fieldnames)
@@ -250,18 +250,12 @@ for i=1:numel(global_quantities_fieldnames)
if ~any(strcmp(global_quantities_fieldnames{i},special_fields))
if ~any(strcmp(global_quantities_fieldnames{i},special_fields))
if ~isstruct(ids_summary.global_quantities.(global_quantities_fieldnames{i}).value) && ...
if ~isstruct(ids_summary.global_quantities.(global_quantities_fieldnames{i}).value) && ...
~isempty(global_quantities.(global_quantities_fieldnames{i}).data)
~isempty(global_quantities.(global_quantities_fieldnames{i}).data)
% setup mask to get rid of nans
%Use interpos_nan to get rid of nans. Arrays will be empty if filled with nans
mask = ~isnan(global_quantities.(global_quantities_fieldnames{i}).data);
% assign a flat 1 to the array if it is all nans
if all(mask(:) == 0)
fprintf('Warning, %s is filled with NaNs, substituting 1\n', global_quantities_fieldnames{i});
global_quantities.(global_quantities_fieldnames{i}).data(:)=1;
mask(:)=1;
end
ids_summary.global_quantities.(global_quantities_fieldnames{i}).value = ...
ids_summary.global_quantities.(global_quantities_fieldnames{i}).value = ...
interpos(21,global_quantities.(global_quantities_fieldnames{i}).t(mask),...
interpos_nan(21,global_quantities.(global_quantities_fieldnames{i}).t,...
global_quantities.(global_quantities_fieldnames{i}).data(mask), ...
global_quantities.(global_quantities_fieldnames{i}).data, ...
ids_summary.time);
ids_summary.time);
 
ids_summary.global_quantities.(global_quantities_fieldnames{i}).source = ['gdat request: ' global_quantities_desc.(global_quantities_fieldnames{i})];
ids_summary.global_quantities.(global_quantities_fieldnames{i}).source = ['gdat request: ' global_quantities_desc.(global_quantities_fieldnames{i})];
elseif ~isempty(global_quantities.(global_quantities_fieldnames{i}).data)
elseif ~isempty(global_quantities.(global_quantities_fieldnames{i}).data)
special_fields{end+1} = global_quantities_fieldnames{i};
special_fields{end+1} = global_quantities_fieldnames{i};
Loading