Ignore:
Timestamp:
06/19/13 10:09:36 (11 years ago)
Author:
ymipsl
Message:

Add possibility to make inheritance of attributes and reference before closing the context definition.
New fortran fonction : xios_solve inheritance()
After this call, the value of attribute have the inherited value of their parent.

YM

File:
1 edited

Legend:

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

    r432 r445  
    3030  { 
    3131     CTimer::get("XIOS").resume(); 
    32     if(!string_copy(gridgroup_hdl->axis_ref.getValue(),axis_ref , axis_ref_size)) 
     32    if(!string_copy(gridgroup_hdl->axis_ref.getInheritedValue(),axis_ref , axis_ref_size)) 
    3333      ERROR("void cxios_get_gridgroup_axis_ref(gridgroup_Ptr gridgroup_hdl, char * axis_ref, int axis_ref_size)", <<"Input string is to short"); 
    3434     CTimer::get("XIOS").suspend(); 
     
    3838  { 
    3939     CTimer::get("XIOS").resume(); 
    40     return !gridgroup_hdl->axis_ref.isEmpty(); 
     40    return gridgroup_hdl->axis_ref.hasInheritedValue(); 
    4141     CTimer::get("XIOS").suspend(); 
    4242  } 
     
    5757  { 
    5858     CTimer::get("XIOS").resume(); 
    59     if(!string_copy(gridgroup_hdl->description.getValue(),description , description_size)) 
     59    if(!string_copy(gridgroup_hdl->description.getInheritedValue(),description , description_size)) 
    6060      ERROR("void cxios_get_gridgroup_description(gridgroup_Ptr gridgroup_hdl, char * description, int description_size)", <<"Input string is to short"); 
    6161     CTimer::get("XIOS").suspend(); 
     
    6565  { 
    6666     CTimer::get("XIOS").resume(); 
    67     return !gridgroup_hdl->description.isEmpty(); 
     67    return gridgroup_hdl->description.hasInheritedValue(); 
    6868     CTimer::get("XIOS").suspend(); 
    6969  } 
     
    8484  { 
    8585     CTimer::get("XIOS").resume(); 
    86     if(!string_copy(gridgroup_hdl->domain_ref.getValue(),domain_ref , domain_ref_size)) 
     86    if(!string_copy(gridgroup_hdl->domain_ref.getInheritedValue(),domain_ref , domain_ref_size)) 
    8787      ERROR("void cxios_get_gridgroup_domain_ref(gridgroup_Ptr gridgroup_hdl, char * domain_ref, int domain_ref_size)", <<"Input string is to short"); 
    8888     CTimer::get("XIOS").suspend(); 
     
    9292  { 
    9393     CTimer::get("XIOS").resume(); 
    94     return !gridgroup_hdl->domain_ref.isEmpty(); 
     94    return gridgroup_hdl->domain_ref.hasInheritedValue(); 
    9595     CTimer::get("XIOS").suspend(); 
    9696  } 
     
    111111  { 
    112112     CTimer::get("XIOS").resume(); 
    113     if(!string_copy(gridgroup_hdl->group_ref.getValue(),group_ref , group_ref_size)) 
     113    if(!string_copy(gridgroup_hdl->group_ref.getInheritedValue(),group_ref , group_ref_size)) 
    114114      ERROR("void cxios_get_gridgroup_group_ref(gridgroup_Ptr gridgroup_hdl, char * group_ref, int group_ref_size)", <<"Input string is to short"); 
    115115     CTimer::get("XIOS").suspend(); 
     
    119119  { 
    120120     CTimer::get("XIOS").resume(); 
    121     return !gridgroup_hdl->group_ref.isEmpty(); 
     121    return gridgroup_hdl->group_ref.hasInheritedValue(); 
    122122     CTimer::get("XIOS").suspend(); 
    123123  } 
     
    138138    CTimer::get("XIOS").resume(); 
    139139    CArray<bool,3> tmp(mask,shape(extent1,extent2,extent3),neverDeleteData) ; 
    140     tmp=gridgroup_hdl->mask ; 
     140    tmp=gridgroup_hdl->mask.getInheritedValue() ; 
    141141     CTimer::get("XIOS").suspend(); 
    142142  } 
     
    145145  { 
    146146     CTimer::get("XIOS").resume(); 
    147     return !gridgroup_hdl->mask.isEmpty(); 
     147    return gridgroup_hdl->mask.hasInheritedValue(); 
    148148     CTimer::get("XIOS").suspend(); 
    149149  } 
     
    164164  { 
    165165     CTimer::get("XIOS").resume(); 
    166     if(!string_copy(gridgroup_hdl->name.getValue(),name , name_size)) 
     166    if(!string_copy(gridgroup_hdl->name.getInheritedValue(),name , name_size)) 
    167167      ERROR("void cxios_get_gridgroup_name(gridgroup_Ptr gridgroup_hdl, char * name, int name_size)", <<"Input string is to short"); 
    168168     CTimer::get("XIOS").suspend(); 
     
    172172  { 
    173173     CTimer::get("XIOS").resume(); 
    174     return !gridgroup_hdl->name.isEmpty(); 
     174    return gridgroup_hdl->name.hasInheritedValue(); 
    175175     CTimer::get("XIOS").suspend(); 
    176176  } 
Note: See TracChangeset for help on using the changeset viewer.