Ignore:
Timestamp:
03/19/24 14:23:16 (4 months ago)
Author:
jderouillat
Message:

Add XIOS3 fortran interfaces (resources management, chunking, compression)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS3/trunk/src/interface/c_attr/icdomaingroup_attr.cpp

    r1626 r2616  
    4242 
    4343 
     44  void cxios_set_domaingroup_area_1d(domaingroup_Ptr domaingroup_hdl, double* area_1d, int* extent) 
     45  { 
     46    CTimer::get("XIOS").resume(); 
     47    CArray<double,1> tmp(area_1d, shape(extent[0]), neverDeleteData); 
     48    domaingroup_hdl->area_1d.reference(tmp.copy()); 
     49     CTimer::get("XIOS").suspend(); 
     50  } 
     51 
     52  void cxios_get_domaingroup_area_1d(domaingroup_Ptr domaingroup_hdl, double* area_1d, int* extent) 
     53  { 
     54    CTimer::get("XIOS").resume(); 
     55    CArray<double,1> tmp(area_1d, shape(extent[0]), neverDeleteData); 
     56    tmp=domaingroup_hdl->area_1d.getInheritedValue(); 
     57     CTimer::get("XIOS").suspend(); 
     58  } 
     59 
     60  bool cxios_is_defined_domaingroup_area_1d(domaingroup_Ptr domaingroup_hdl) 
     61  { 
     62     CTimer::get("XIOS").resume(); 
     63     bool isDefined = domaingroup_hdl->area_1d.hasInheritedValue(); 
     64     CTimer::get("XIOS").suspend(); 
     65     return isDefined; 
     66  } 
     67 
     68 
     69  void cxios_set_domaingroup_area_2d(domaingroup_Ptr domaingroup_hdl, double* area_2d, int* extent) 
     70  { 
     71    CTimer::get("XIOS").resume(); 
     72    CArray<double,2> tmp(area_2d, shape(extent[0], extent[1]), neverDeleteData); 
     73    domaingroup_hdl->area_2d.reference(tmp.copy()); 
     74     CTimer::get("XIOS").suspend(); 
     75  } 
     76 
     77  void cxios_get_domaingroup_area_2d(domaingroup_Ptr domaingroup_hdl, double* area_2d, int* extent) 
     78  { 
     79    CTimer::get("XIOS").resume(); 
     80    CArray<double,2> tmp(area_2d, shape(extent[0], extent[1]), neverDeleteData); 
     81    tmp=domaingroup_hdl->area_2d.getInheritedValue(); 
     82     CTimer::get("XIOS").suspend(); 
     83  } 
     84 
     85  bool cxios_is_defined_domaingroup_area_2d(domaingroup_Ptr domaingroup_hdl) 
     86  { 
     87     CTimer::get("XIOS").resume(); 
     88     bool isDefined = domaingroup_hdl->area_2d.hasInheritedValue(); 
     89     CTimer::get("XIOS").suspend(); 
     90     return isDefined; 
     91  } 
     92 
     93 
    4494  void cxios_set_domaingroup_bounds_lat_1d(domaingroup_Ptr domaingroup_hdl, double* bounds_lat_1d, int* extent) 
    4595  { 
     
    194244 
    195245 
     246  void cxios_set_domaingroup_chunking_weight_i(domaingroup_Ptr domaingroup_hdl, double chunking_weight_i) 
     247  { 
     248    CTimer::get("XIOS").resume(); 
     249    domaingroup_hdl->chunking_weight_i.setValue(chunking_weight_i); 
     250    CTimer::get("XIOS").suspend(); 
     251  } 
     252 
     253  void cxios_get_domaingroup_chunking_weight_i(domaingroup_Ptr domaingroup_hdl, double* chunking_weight_i) 
     254  { 
     255    CTimer::get("XIOS").resume(); 
     256    *chunking_weight_i = domaingroup_hdl->chunking_weight_i.getInheritedValue(); 
     257    CTimer::get("XIOS").suspend(); 
     258  } 
     259 
     260  bool cxios_is_defined_domaingroup_chunking_weight_i(domaingroup_Ptr domaingroup_hdl) 
     261  { 
     262     CTimer::get("XIOS").resume(); 
     263     bool isDefined = domaingroup_hdl->chunking_weight_i.hasInheritedValue(); 
     264     CTimer::get("XIOS").suspend(); 
     265     return isDefined; 
     266  } 
     267 
     268 
     269  void cxios_set_domaingroup_chunking_weight_j(domaingroup_Ptr domaingroup_hdl, double chunking_weight_j) 
     270  { 
     271    CTimer::get("XIOS").resume(); 
     272    domaingroup_hdl->chunking_weight_j.setValue(chunking_weight_j); 
     273    CTimer::get("XIOS").suspend(); 
     274  } 
     275 
     276  void cxios_get_domaingroup_chunking_weight_j(domaingroup_Ptr domaingroup_hdl, double* chunking_weight_j) 
     277  { 
     278    CTimer::get("XIOS").resume(); 
     279    *chunking_weight_j = domaingroup_hdl->chunking_weight_j.getInheritedValue(); 
     280    CTimer::get("XIOS").suspend(); 
     281  } 
     282 
     283  bool cxios_is_defined_domaingroup_chunking_weight_j(domaingroup_Ptr domaingroup_hdl) 
     284  { 
     285     CTimer::get("XIOS").resume(); 
     286     bool isDefined = domaingroup_hdl->chunking_weight_j.hasInheritedValue(); 
     287     CTimer::get("XIOS").suspend(); 
     288     return isDefined; 
     289  } 
     290 
     291 
    196292  void cxios_set_domaingroup_comment(domaingroup_Ptr domaingroup_hdl, const char * comment, int comment_size) 
    197293  { 
     
    9541050 
    9551051 
     1052  void cxios_set_domaingroup_nvertex_name(domaingroup_Ptr domaingroup_hdl, const char * nvertex_name, int nvertex_name_size) 
     1053  { 
     1054    std::string nvertex_name_str; 
     1055    if (!cstr2string(nvertex_name, nvertex_name_size, nvertex_name_str)) return; 
     1056    CTimer::get("XIOS").resume(); 
     1057    domaingroup_hdl->nvertex_name.setValue(nvertex_name_str); 
     1058    CTimer::get("XIOS").suspend(); 
     1059  } 
     1060 
     1061  void cxios_get_domaingroup_nvertex_name(domaingroup_Ptr domaingroup_hdl, char * nvertex_name, int nvertex_name_size) 
     1062  { 
     1063    CTimer::get("XIOS").resume(); 
     1064    if (!string_copy(domaingroup_hdl->nvertex_name.getInheritedValue(), nvertex_name, nvertex_name_size)) 
     1065      ERROR("void cxios_get_domaingroup_nvertex_name(domaingroup_Ptr domaingroup_hdl, char * nvertex_name, int nvertex_name_size)", << "Input string is too short"); 
     1066    CTimer::get("XIOS").suspend(); 
     1067  } 
     1068 
     1069  bool cxios_is_defined_domaingroup_nvertex_name(domaingroup_Ptr domaingroup_hdl) 
     1070  { 
     1071     CTimer::get("XIOS").resume(); 
     1072     bool isDefined = domaingroup_hdl->nvertex_name.hasInheritedValue(); 
     1073     CTimer::get("XIOS").suspend(); 
     1074     return isDefined; 
     1075  } 
     1076 
     1077 
    9561078  void cxios_set_domaingroup_prec(domaingroup_Ptr domaingroup_hdl, int prec) 
    9571079  { 
Note: See TracChangeset for help on using the changeset viewer.