Ignore:
Timestamp:
08/25/15 16:52:45 (9 years ago)
Author:
rlacroix
Message:

Add support for indexed output.

If the new field attribute "indexed_output" is set to true and a mask is defined (either at grid, domain or axis level), the indexed data will be outputed instead of the full data with missing values.

See http://cfconventions.org/Data/cf-conventions/cf-conventions-1.5/build/cf-conventions.html#compression-by-gathering for more information.

Location:
XIOS/trunk/src/interface/c_attr
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • XIOS/trunk/src/interface/c_attr/icfield_attr.cpp

    r608 r676  
    313313 
    314314 
     315  void cxios_set_field_indexed_output(field_Ptr field_hdl, bool indexed_output) 
     316  { 
     317    CTimer::get("XIOS").resume(); 
     318    field_hdl->indexed_output.setValue(indexed_output); 
     319    CTimer::get("XIOS").suspend(); 
     320  } 
     321 
     322  void cxios_get_field_indexed_output(field_Ptr field_hdl, bool* indexed_output) 
     323  { 
     324    CTimer::get("XIOS").resume(); 
     325    *indexed_output = field_hdl->indexed_output.getInheritedValue(); 
     326    CTimer::get("XIOS").suspend(); 
     327  } 
     328 
     329  bool cxios_is_defined_field_indexed_output(field_Ptr field_hdl) 
     330  { 
     331     CTimer::get("XIOS").resume(); 
     332     bool isDefined = field_hdl->indexed_output.hasInheritedValue(); 
     333     CTimer::get("XIOS").suspend(); 
     334     return isDefined; 
     335  } 
     336 
     337 
    315338  void cxios_set_field_level(field_Ptr field_hdl, int level) 
    316339  { 
  • XIOS/trunk/src/interface/c_attr/icfieldgroup_attr.cpp

    r608 r676  
    339339 
    340340 
     341  void cxios_set_fieldgroup_indexed_output(fieldgroup_Ptr fieldgroup_hdl, bool indexed_output) 
     342  { 
     343    CTimer::get("XIOS").resume(); 
     344    fieldgroup_hdl->indexed_output.setValue(indexed_output); 
     345    CTimer::get("XIOS").suspend(); 
     346  } 
     347 
     348  void cxios_get_fieldgroup_indexed_output(fieldgroup_Ptr fieldgroup_hdl, bool* indexed_output) 
     349  { 
     350    CTimer::get("XIOS").resume(); 
     351    *indexed_output = fieldgroup_hdl->indexed_output.getInheritedValue(); 
     352    CTimer::get("XIOS").suspend(); 
     353  } 
     354 
     355  bool cxios_is_defined_fieldgroup_indexed_output(fieldgroup_Ptr fieldgroup_hdl) 
     356  { 
     357     CTimer::get("XIOS").resume(); 
     358     bool isDefined = fieldgroup_hdl->indexed_output.hasInheritedValue(); 
     359     CTimer::get("XIOS").suspend(); 
     360     return isDefined; 
     361  } 
     362 
     363 
    341364  void cxios_set_fieldgroup_level(fieldgroup_Ptr fieldgroup_hdl, int level) 
    342365  { 
Note: See TracChangeset for help on using the changeset viewer.