Changeset 1018 for XIOS/trunk/src/node/field.cpp
- Timestamp:
- 01/10/17 13:52:53 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/trunk/src/node/field.cpp
r1017 r1018 795 795 if (grid && grid != gridRef && grid->hasTransform()) 796 796 { 797 double defaultValue = !default_value.isEmpty() ? default_value : 0.0; 798 std::pair<boost::shared_ptr<CFilter>, boost::shared_ptr<CFilter> > filters = CSpatialTransformFilter::buildFilterGraph(gc, gridRef, grid, defaultValue); 797 bool hasMissingValue = (!detect_missing_value.isEmpty() && !default_value.isEmpty() && detect_missing_value == true); 798 double defaultValue = hasMissingValue ? default_value : (!default_value.isEmpty() ? default_value : 0.0); 799 std::pair<boost::shared_ptr<CFilter>, boost::shared_ptr<CFilter> > filters = CSpatialTransformFilter::buildFilterGraph(gc, gridRef, grid, hasMissingValue, defaultValue); 799 800 800 801 filter->connectOutput(filters.first, 0); … … 814 815 true)); 815 816 else // The data might be passed from the model 816 instantDataFilter = clientSourceFilter = boost::shared_ptr<CSourceFilter>(new CSourceFilter(gc, grid)); 817 { 818 bool ignoreMissingValue = (!detect_missing_value.isEmpty() && !default_value.isEmpty() && detect_missing_value == true); 819 double defaultValue = ignoreMissingValue ? default_value : (!default_value.isEmpty() ? default_value : 0.0); 820 instantDataFilter = clientSourceFilter = boost::shared_ptr<CSourceFilter>(new CSourceFilter(gc, grid, NoneDu, false, 821 ignoreMissingValue, defaultValue)); } 817 822 } 818 823 … … 853 858 // Check if a spatial transformation is needed 854 859 if (grid && grid != fieldRef->grid && grid->hasTransform()) 855 { 856 double defaultValue = !default_value.isEmpty() ? default_value : 0.0; 857 filters = CSpatialTransformFilter::buildFilterGraph(gc, fieldRef->grid, grid, defaultValue); 860 { 861 bool hasMissingValue = (!detect_missing_value.isEmpty() && !default_value.isEmpty() && detect_missing_value == true); 862 double defaultValue = hasMissingValue ? default_value : (!default_value.isEmpty() ? default_value : 0.0); 863 filters = CSpatialTransformFilter::buildFilterGraph(gc, fieldRef->grid, grid, hasMissingValue, defaultValue); 858 864 } 859 865 else … … 900 906 { 901 907 if (!clientSourceFilter) 902 clientSourceFilter = boost::shared_ptr<CSourceFilter>(new CSourceFilter(gc, grid)); 908 { 909 bool ignoreMissingValue = (!detect_missing_value.isEmpty() && !default_value.isEmpty() && detect_missing_value == true); 910 double defaultValue = ignoreMissingValue ? default_value : (!default_value.isEmpty() ? default_value : 0.0); 911 clientSourceFilter = boost::shared_ptr<CSourceFilter>(new CSourceFilter(gc, grid, NoneDu, false, 912 ignoreMissingValue, defaultValue)); 913 } 903 914 904 915 selfReferenceFilter = clientSourceFilter; … … 934 945 935 946 const bool ignoreMissingValue = (!detect_missing_value.isEmpty() && !default_value.isEmpty() && detect_missing_value == true); 936 947 937 948 boost::shared_ptr<CTemporalFilter> temporalFilter(new CTemporalFilter(gc, operation, 938 949 CContext::getCurrent()->getCalendar()->getInitDate(),
Note: See TracChangeset
for help on using the changeset viewer.