Changeset 1636


Ignore:
Timestamp:
01/14/19 11:42:58 (3 months ago)
Author:
oabramkina
Message:

Backporting r1626 to dev before merging it to trunk.

Location:
XIOS/dev/dev_olga
Files:
1 added
45 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/dev_olga/arch/arch-GCC_LINUX.fcm

    r1542 r1636  
    1212%DEBUG_CFLAGS   -g  
    1313 
    14 %BASE_FFLAGS    -D__NONE__ -ffree-line-length-none  
     14%BASE_FFLAGS    -D__NONE__  
    1515%PROD_FFLAGS    -O3 
    1616%DEV_FFLAGS     -g -O2 
  • XIOS/dev/dev_olga/bld.cfg

    r1510 r1636  
    4343bld::lib xios 
    4444bld::target libxios.a  
    45 #bld::target generate_fortran_interface.exe  
     45bld::target generate_fortran_interface.exe  
    4646#bld::target test_remap.exe 
    47 bld::target xios_server.exe  
     47#bld::target xios_server.exe  
    4848#bld::target test_regular.exe 
    4949#bld::target test_xios2_cmip6.exe 
  • XIOS/dev/dev_olga/src/generate_fortran_interface.cpp

    r1558 r1636  
    317317  file.open((path+"ireorder_domain_attr.F90").c_str()); 
    318318  reorderDomain.generateFortranInterface(file); 
    319  
    320   file.open((path+"extract_domain_interface_attr.F90").c_str()); 
    321   extractDomain.generateFortran2003Interface(file); 
    322   file.close(); 
    323  
    324   file.open((path+"icextract_domain_attr.cpp").c_str()); 
    325   extractDomain.generateCInterface(file); 
    326   file.close(); 
    327  
    328   file.open((path+"iextract_domain_attr.F90").c_str()); 
    329   extractDomain.generateFortranInterface(file); 
    330  
    331319  file.close(); 
    332320   
  • XIOS/dev/dev_olga/src/generate_interface_impl.hpp

    r1158 r1636  
    215215    string fortranKindC=getStrFortranKindC<T>(); 
    216216 
    217     oss << "SUBROUTINE cxios_set_" << className << "_" << name << "(" << className << "_hdl, " << name << ") BIND(C)" << iendl; 
     217//    oss << "SUBROUTINE cxios_set_" << className << "_" << name << "(" << className << "_hdl, " << name << ") BIND(C)" << iendl; 
     218    int indent = oss.iword(iendl.index); 
     219    string str = "SUBROUTINE cxios_set_" + className + "_" + name + "(" + className + "_hdl, " + name + ") BIND(C)"; 
     220    if ((str.length() + indent) >132) 
     221    { 
     222      oss << str.substr(0,130-indent) ; 
     223      oss << "&" << endl; 
     224      oss << "&" << str.substr(130-indent,str.length()) ; 
     225    } 
     226    else 
     227    { 
     228      oss << str; 
     229    } 
     230    oss << iendl; 
    218231    oss << "  USE ISO_C_BINDING" << iendl; 
    219232    oss << "  INTEGER (kind = C_INTPTR_T), VALUE :: " << className << "_hdl" << iendl; 
     
    231244  void CInterface::AttributeFortran2003Interface<string>(ostream& oss, const string& className, const string& name) 
    232245  { 
    233     oss << "SUBROUTINE cxios_set_" << className << "_" << name << "(" << className << "_hdl, " << name << ", " << name << "_size) BIND(C)" << iendl; 
     246//    oss << "SUBROUTINE cxios_set_" << className << "_" << name << "(" << className << "_hdl, " << name << ", " << name << "_size) BIND(C)" << iendl; 
     247    int indent = oss.iword(iendl.index); 
     248    string str ="SUBROUTINE cxios_set_" + className + "_" + name + "(" + className + "_hdl, " + name + ", " + name + "_size) BIND(C)"; 
     249    if ((str.length() + indent) >132) 
     250    { 
     251      oss << str.substr(0,130-indent) ; 
     252      oss << "&" << endl; 
     253      oss << "&" << str.substr(130-indent,str.length()) ; 
     254    } 
     255    else 
     256    { 
     257      oss << str; 
     258    } 
     259    oss << iendl; 
    234260    oss << "  USE ISO_C_BINDING" << iendl; 
    235261    oss << "  INTEGER (kind = C_INTPTR_T), VALUE :: " << className << "_hdl" << iendl; 
     
    238264    oss << "END SUBROUTINE cxios_set_" << className << "_" << name << std::endl; 
    239265    oss << iendl; 
    240     oss << "SUBROUTINE cxios_get_" << className << "_" << name << "(" << className << "_hdl, " << name << ", " << name << "_size) BIND(C)" << iendl; 
     266//    oss << "SUBROUTINE cxios_get_" << className << "_" << name << "(" << className << "_hdl, " << name << ", " << name << "_size) BIND(C)" << iendl; 
     267    str = "SUBROUTINE cxios_get_" + className + "_" + name + "(" + className + "_hdl, " + name + ", " + name + "_size) BIND(C)"; 
     268    if ((str.length() + indent) >132) 
     269    { 
     270      oss << str.substr(0,130-indent) ; 
     271      oss << "&" << endl; 
     272      oss << "&" << str.substr(130-indent,str.length()) ; 
     273    } 
     274    else 
     275    { 
     276      oss << str; 
     277    } 
     278    oss << iendl; 
    241279    oss << "  USE ISO_C_BINDING" << iendl; 
    242280    oss << "  INTEGER (kind = C_INTPTR_T), VALUE :: " << className << "_hdl" << iendl; 
     
    247285 
    248286  template <> 
    249   void CInterface::AttributeFortran2003Interface<CDate>(ostream& oss, const string& className, const string& name) 
    250   { 
    251     oss << "SUBROUTINE cxios_set_" << className << "_" << name << "(" << className << "_hdl, " << name << ") BIND(C)" << iendl; 
    252     oss << "  USE ISO_C_BINDING" << iendl; 
    253     oss << "  USE IDATE" << iendl; 
    254     oss << "  INTEGER (kind = C_INTPTR_T), VALUE :: " << className << "_hdl" << iendl; 
    255     oss << "  TYPE(txios(date)), VALUE :: " << name << iendl; 
    256     oss << "END SUBROUTINE cxios_set_" << className << "_" << name << std::endl; 
     287  void CInterface::AttributeFortran2003Interface<CDuration>(ostream& oss, const string& className, const string& name) 
     288  { 
     289//    oss << "SUBROUTINE cxios_set_" << className << "_" << name << "(" << className << "_hdl, " << name << ") BIND(C)" << iendl; 
     290    string str = "SUBROUTINE cxios_set_" + className + "_" + name + "(" + className + "_hdl, " + name + ") BIND(C)"; 
     291    int indent = oss.iword(iendl.index); 
     292    if ((str.length() + indent) >132) 
     293    { 
     294      oss << str.substr(0,130-indent) ; 
     295      oss << "&" << endl; 
     296      oss << "&" << str.substr(130-indent,str.length()) ; 
     297    } 
     298    else 
     299    { 
     300      oss << str; 
     301    } 
    257302    oss << iendl; 
    258     oss << "SUBROUTINE cxios_get_" << className << "_" << name << "(" << className << "_hdl, " << name << ") BIND(C)" << iendl; 
    259     oss << "  USE ISO_C_BINDING" << iendl; 
    260     oss << "  USE IDATE" << iendl; 
    261     oss << "  INTEGER (kind = C_INTPTR_T), VALUE :: " << className << "_hdl" << iendl; 
    262     oss << "  TYPE(txios(date)) :: " << name << iendl; 
    263     oss << "END SUBROUTINE cxios_get_" << className << "_" << name << std::endl; 
    264   } 
    265  
    266   template <> 
    267   void CInterface::AttributeFortran2003Interface<CDuration>(ostream& oss, const string& className, const string& name) 
    268   { 
    269     oss << "SUBROUTINE cxios_set_" << className << "_" << name << "(" << className << "_hdl, " << name << ") BIND(C)" << iendl; 
    270303    oss << "  USE ISO_C_BINDING" << iendl; 
    271304    oss << "  USE IDURATION" << iendl; 
  • XIOS/dev/dev_olga/src/interface/c_attr/icaxis_attr.cpp

    r1542 r1636  
    44 
    55#include <boost/multi_array.hpp> 
    6 #include <memory> 
    76#include "xios.hpp" 
    87#include "attribute_template.hpp" 
  • XIOS/dev/dev_olga/src/interface/c_attr/icaxisgroup_attr.cpp

    r1542 r1636  
    44 
    55#include <boost/multi_array.hpp> 
    6 #include <memory> 
    76#include "xios.hpp" 
    87#include "attribute_template.hpp" 
  • XIOS/dev/dev_olga/src/interface/c_attr/iccalendar_wrapper_attr.cpp

    r1542 r1636  
    44 
    55#include <boost/multi_array.hpp> 
    6 #include <memory> 
    76#include "xios.hpp" 
    87#include "attribute_template.hpp" 
  • XIOS/dev/dev_olga/src/interface/c_attr/iccompute_connectivity_domain_attr.cpp

    r1542 r1636  
    44 
    55#include <boost/multi_array.hpp> 
    6 #include <memory> 
    76#include "xios.hpp" 
    87#include "attribute_template.hpp" 
  • XIOS/dev/dev_olga/src/interface/c_attr/iccontext_attr.cpp

    r1542 r1636  
    44 
    55#include <boost/multi_array.hpp> 
    6 #include <memory> 
    76#include "xios.hpp" 
    87#include "attribute_template.hpp" 
  • XIOS/dev/dev_olga/src/interface/c_attr/icdomain_attr.cpp

    r1542 r1636  
    44 
    55#include <boost/multi_array.hpp> 
    6 #include <memory> 
    76#include "xios.hpp" 
    87#include "attribute_template.hpp" 
     
    952951 
    953952 
     953  void cxios_set_domain_radius(domain_Ptr domain_hdl, double radius) 
     954  { 
     955    CTimer::get("XIOS").resume(); 
     956    domain_hdl->radius.setValue(radius); 
     957    CTimer::get("XIOS").suspend(); 
     958  } 
     959 
     960  void cxios_get_domain_radius(domain_Ptr domain_hdl, double* radius) 
     961  { 
     962    CTimer::get("XIOS").resume(); 
     963    *radius = domain_hdl->radius.getInheritedValue(); 
     964    CTimer::get("XIOS").suspend(); 
     965  } 
     966 
     967  bool cxios_is_defined_domain_radius(domain_Ptr domain_hdl) 
     968  { 
     969     CTimer::get("XIOS").resume(); 
     970     bool isDefined = domain_hdl->radius.hasInheritedValue(); 
     971     CTimer::get("XIOS").suspend(); 
     972     return isDefined; 
     973  } 
     974 
     975 
    954976  void cxios_set_domain_standard_name(domain_Ptr domain_hdl, const char * standard_name, int standard_name_size) 
    955977  { 
  • XIOS/dev/dev_olga/src/interface/c_attr/icdomaingroup_attr.cpp

    r1542 r1636  
    44 
    55#include <boost/multi_array.hpp> 
    6 #include <memory> 
    76#include "xios.hpp" 
    87#include "attribute_template.hpp" 
     
    978977 
    979978 
     979  void cxios_set_domaingroup_radius(domaingroup_Ptr domaingroup_hdl, double radius) 
     980  { 
     981    CTimer::get("XIOS").resume(); 
     982    domaingroup_hdl->radius.setValue(radius); 
     983    CTimer::get("XIOS").suspend(); 
     984  } 
     985 
     986  void cxios_get_domaingroup_radius(domaingroup_Ptr domaingroup_hdl, double* radius) 
     987  { 
     988    CTimer::get("XIOS").resume(); 
     989    *radius = domaingroup_hdl->radius.getInheritedValue(); 
     990    CTimer::get("XIOS").suspend(); 
     991  } 
     992 
     993  bool cxios_is_defined_domaingroup_radius(domaingroup_Ptr domaingroup_hdl) 
     994  { 
     995     CTimer::get("XIOS").resume(); 
     996     bool isDefined = domaingroup_hdl->radius.hasInheritedValue(); 
     997     CTimer::get("XIOS").suspend(); 
     998     return isDefined; 
     999  } 
     1000 
     1001 
    9801002  void cxios_set_domaingroup_standard_name(domaingroup_Ptr domaingroup_hdl, const char * standard_name, int standard_name_size) 
    9811003  { 
  • XIOS/dev/dev_olga/src/interface/c_attr/icduplicate_scalar_to_axis_attr.cpp

    r1542 r1636  
    44 
    55#include <boost/multi_array.hpp> 
    6 #include <memory> 
    76#include "xios.hpp" 
    87#include "attribute_template.hpp" 
  • XIOS/dev/dev_olga/src/interface/c_attr/icexpand_domain_attr.cpp

    r1542 r1636  
    44 
    55#include <boost/multi_array.hpp> 
    6 #include <memory> 
    76#include "xios.hpp" 
    87#include "attribute_template.hpp" 
  • XIOS/dev/dev_olga/src/interface/c_attr/icextract_axis_to_scalar_attr.cpp

    r1542 r1636  
    44 
    55#include <boost/multi_array.hpp> 
    6 #include <memory> 
    76#include "xios.hpp" 
    87#include "attribute_template.hpp" 
  • XIOS/dev/dev_olga/src/interface/c_attr/icextract_domain_to_axis_attr.cpp

    r1542 r1636  
    44 
    55#include <boost/multi_array.hpp> 
    6 #include <memory> 
    76#include "xios.hpp" 
    87#include "attribute_template.hpp" 
  • XIOS/dev/dev_olga/src/interface/c_attr/icfield_attr.cpp

    r1542 r1636  
    44 
    55#include <boost/multi_array.hpp> 
    6 #include <memory> 
    76#include "xios.hpp" 
    87#include "attribute_template.hpp" 
  • XIOS/dev/dev_olga/src/interface/c_attr/icfieldgroup_attr.cpp

    r1542 r1636  
    44 
    55#include <boost/multi_array.hpp> 
    6 #include <memory> 
    76#include "xios.hpp" 
    87#include "attribute_template.hpp" 
  • XIOS/dev/dev_olga/src/interface/c_attr/icfile_attr.cpp

    r1542 r1636  
    44 
    55#include <boost/multi_array.hpp> 
    6 #include <memory> 
    76#include "xios.hpp" 
    87#include "attribute_template.hpp" 
  • XIOS/dev/dev_olga/src/interface/c_attr/icfilegroup_attr.cpp

    r1542 r1636  
    44 
    55#include <boost/multi_array.hpp> 
    6 #include <memory> 
    76#include "xios.hpp" 
    87#include "attribute_template.hpp" 
  • XIOS/dev/dev_olga/src/interface/c_attr/icgenerate_rectilinear_domain_attr.cpp

    r1542 r1636  
    44 
    55#include <boost/multi_array.hpp> 
    6 #include <memory> 
    76#include "xios.hpp" 
    87#include "attribute_template.hpp" 
  • XIOS/dev/dev_olga/src/interface/c_attr/icgrid_attr.cpp

    r1542 r1636  
    44 
    55#include <boost/multi_array.hpp> 
    6 #include <memory> 
    76#include "xios.hpp" 
    87#include "attribute_template.hpp" 
  • XIOS/dev/dev_olga/src/interface/c_attr/icgridgroup_attr.cpp

    r1542 r1636  
    44 
    55#include <boost/multi_array.hpp> 
    6 #include <memory> 
    76#include "xios.hpp" 
    87#include "attribute_template.hpp" 
  • XIOS/dev/dev_olga/src/interface/c_attr/icinterpolate_axis_attr.cpp

    r1542 r1636  
    44 
    55#include <boost/multi_array.hpp> 
    6 #include <memory> 
    76#include "xios.hpp" 
    87#include "attribute_template.hpp" 
  • XIOS/dev/dev_olga/src/interface/c_attr/icinterpolate_domain_attr.cpp

    r1542 r1636  
    44 
    55#include <boost/multi_array.hpp> 
    6 #include <memory> 
    76#include "xios.hpp" 
    87#include "attribute_template.hpp" 
     
    162161 
    163162 
     163  void cxios_set_interpolate_domain_use_area(interpolate_domain_Ptr interpolate_domain_hdl, bool use_area) 
     164  { 
     165    CTimer::get("XIOS").resume(); 
     166    interpolate_domain_hdl->use_area.setValue(use_area); 
     167    CTimer::get("XIOS").suspend(); 
     168  } 
     169 
     170  void cxios_get_interpolate_domain_use_area(interpolate_domain_Ptr interpolate_domain_hdl, bool* use_area) 
     171  { 
     172    CTimer::get("XIOS").resume(); 
     173    *use_area = interpolate_domain_hdl->use_area.getInheritedValue(); 
     174    CTimer::get("XIOS").suspend(); 
     175  } 
     176 
     177  bool cxios_is_defined_interpolate_domain_use_area(interpolate_domain_Ptr interpolate_domain_hdl) 
     178  { 
     179     CTimer::get("XIOS").resume(); 
     180     bool isDefined = interpolate_domain_hdl->use_area.hasInheritedValue(); 
     181     CTimer::get("XIOS").suspend(); 
     182     return isDefined; 
     183  } 
     184 
     185 
    164186  void cxios_set_interpolate_domain_weight_filename(interpolate_domain_Ptr interpolate_domain_hdl, const char * weight_filename, int weight_filename_size) 
    165187  { 
  • XIOS/dev/dev_olga/src/interface/c_attr/icinverse_axis_attr.cpp

    r1542 r1636  
    44 
    55#include <boost/multi_array.hpp> 
    6 #include <memory> 
    76#include "xios.hpp" 
    87#include "attribute_template.hpp" 
  • XIOS/dev/dev_olga/src/interface/c_attr/icreduce_axis_to_axis_attr.cpp

    r1542 r1636  
    44 
    55#include <boost/multi_array.hpp> 
    6 #include <memory> 
    76#include "xios.hpp" 
    87#include "attribute_template.hpp" 
  • XIOS/dev/dev_olga/src/interface/c_attr/icreduce_axis_to_scalar_attr.cpp

    r1542 r1636  
    44 
    55#include <boost/multi_array.hpp> 
    6 #include <memory> 
    76#include "xios.hpp" 
    87#include "attribute_template.hpp" 
  • XIOS/dev/dev_olga/src/interface/c_attr/icreduce_domain_to_axis_attr.cpp

    r1542 r1636  
    44 
    55#include <boost/multi_array.hpp> 
    6 #include <memory> 
    76#include "xios.hpp" 
    87#include "attribute_template.hpp" 
  • XIOS/dev/dev_olga/src/interface/c_attr/icreduce_domain_to_scalar_attr.cpp

    r1542 r1636  
    44 
    55#include <boost/multi_array.hpp> 
    6 #include <memory> 
    76#include "xios.hpp" 
    87#include "attribute_template.hpp" 
  • XIOS/dev/dev_olga/src/interface/c_attr/icreduce_scalar_to_scalar_attr.cpp

    r1542 r1636  
    44 
    55#include <boost/multi_array.hpp> 
    6 #include <memory> 
    76#include "xios.hpp" 
    87#include "attribute_template.hpp" 
  • XIOS/dev/dev_olga/src/interface/c_attr/icreorder_domain_attr.cpp

    r1542 r1636  
    44 
    55#include <boost/multi_array.hpp> 
    6 #include <memory> 
    76#include "xios.hpp" 
    87#include "attribute_template.hpp" 
  • XIOS/dev/dev_olga/src/interface/c_attr/icscalar_attr.cpp

    r1542 r1636  
    44 
    55#include <boost/multi_array.hpp> 
    6 #include <memory> 
    76#include "xios.hpp" 
    87#include "attribute_template.hpp" 
  • XIOS/dev/dev_olga/src/interface/c_attr/icscalargroup_attr.cpp

    r1542 r1636  
    44 
    55#include <boost/multi_array.hpp> 
    6 #include <memory> 
    76#include "xios.hpp" 
    87#include "attribute_template.hpp" 
  • XIOS/dev/dev_olga/src/interface/c_attr/ictemporal_splitting_attr.cpp

    r1542 r1636  
    44 
    55#include <boost/multi_array.hpp> 
    6 #include <memory> 
    76#include "xios.hpp" 
    87#include "attribute_template.hpp" 
  • XIOS/dev/dev_olga/src/interface/c_attr/icvariable_attr.cpp

    r1542 r1636  
    44 
    55#include <boost/multi_array.hpp> 
    6 #include <memory> 
    76#include "xios.hpp" 
    87#include "attribute_template.hpp" 
  • XIOS/dev/dev_olga/src/interface/c_attr/icvariablegroup_attr.cpp

    r1542 r1636  
    44 
    55#include <boost/multi_array.hpp> 
    6 #include <memory> 
    76#include "xios.hpp" 
    87#include "attribute_template.hpp" 
  • XIOS/dev/dev_olga/src/interface/c_attr/iczoom_axis_attr.cpp

    r1542 r1636  
    44 
    55#include <boost/multi_array.hpp> 
    6 #include <memory> 
    76#include "xios.hpp" 
    87#include "attribute_template.hpp" 
  • XIOS/dev/dev_olga/src/interface/c_attr/iczoom_domain_attr.cpp

    r1542 r1636  
    44 
    55#include <boost/multi_array.hpp> 
    6 #include <memory> 
    76#include "xios.hpp" 
    87#include "attribute_template.hpp" 
  • XIOS/dev/dev_olga/src/interface/fortran_attr/domain_interface_attr.F90

    r1492 r1636  
    782782 
    783783 
     784    SUBROUTINE cxios_set_domain_radius(domain_hdl, radius) BIND(C) 
     785      USE ISO_C_BINDING 
     786      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     787      REAL (KIND=C_DOUBLE)      , VALUE :: radius 
     788    END SUBROUTINE cxios_set_domain_radius 
     789 
     790    SUBROUTINE cxios_get_domain_radius(domain_hdl, radius) BIND(C) 
     791      USE ISO_C_BINDING 
     792      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     793      REAL (KIND=C_DOUBLE)             :: radius 
     794    END SUBROUTINE cxios_get_domain_radius 
     795 
     796    FUNCTION cxios_is_defined_domain_radius(domain_hdl) BIND(C) 
     797      USE ISO_C_BINDING 
     798      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_radius 
     799      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     800    END FUNCTION cxios_is_defined_domain_radius 
     801 
     802 
    784803    SUBROUTINE cxios_set_domain_standard_name(domain_hdl, standard_name, standard_name_size) BIND(C) 
    785804      USE ISO_C_BINDING 
  • XIOS/dev/dev_olga/src/interface/fortran_attr/domaingroup_interface_attr.F90

    r1492 r1636  
    803803 
    804804 
     805    SUBROUTINE cxios_set_domaingroup_radius(domaingroup_hdl, radius) BIND(C) 
     806      USE ISO_C_BINDING 
     807      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     808      REAL (KIND=C_DOUBLE)      , VALUE :: radius 
     809    END SUBROUTINE cxios_set_domaingroup_radius 
     810 
     811    SUBROUTINE cxios_get_domaingroup_radius(domaingroup_hdl, radius) BIND(C) 
     812      USE ISO_C_BINDING 
     813      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     814      REAL (KIND=C_DOUBLE)             :: radius 
     815    END SUBROUTINE cxios_get_domaingroup_radius 
     816 
     817    FUNCTION cxios_is_defined_domaingroup_radius(domaingroup_hdl) BIND(C) 
     818      USE ISO_C_BINDING 
     819      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_radius 
     820      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     821    END FUNCTION cxios_is_defined_domaingroup_radius 
     822 
     823 
    805824    SUBROUTINE cxios_set_domaingroup_standard_name(domaingroup_hdl, standard_name, standard_name_size) BIND(C) 
    806825      USE ISO_C_BINDING 
  • XIOS/dev/dev_olga/src/interface/fortran_attr/idomain_attr.F90

    r1492 r1636  
    1616    , data_nj, dim_i_name, dim_j_name, domain_ref, i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d  & 
    1717    , latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo  & 
    18     , nj, nj_glo, nvertex, prec, standard_name, type ) 
     18    , nj, nj_glo, nvertex, prec, radius, standard_name, type ) 
    1919 
    2020    IMPLICIT NONE 
     
    6161      INTEGER  , OPTIONAL, INTENT(IN) :: nvertex 
    6262      INTEGER  , OPTIONAL, INTENT(IN) :: prec 
     63      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: radius 
    6364      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name 
    6465      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: type 
     
    7172      , data_nj, dim_i_name, dim_j_name, domain_ref, i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d  & 
    7273      , latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo  & 
    73       , nj, nj_glo, nvertex, prec, standard_name, type ) 
     74      , nj, nj_glo, nvertex, prec, radius, standard_name, type ) 
    7475 
    7576  END SUBROUTINE xios(set_domain_attr) 
     
    8081    , data_nj, dim_i_name, dim_j_name, domain_ref, i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d  & 
    8182    , latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo  & 
    82     , nj, nj_glo, nvertex, prec, standard_name, type ) 
     83    , nj, nj_glo, nvertex, prec, radius, standard_name, type ) 
    8384 
    8485    IMPLICIT NONE 
     
    124125      INTEGER  , OPTIONAL, INTENT(IN) :: nvertex 
    125126      INTEGER  , OPTIONAL, INTENT(IN) :: prec 
     127      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: radius 
    126128      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name 
    127129      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: type 
     
    132134      , data_nj, dim_i_name, dim_j_name, domain_ref, i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d  & 
    133135      , latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo  & 
    134       , nj, nj_glo, nvertex, prec, standard_name, type ) 
     136      , nj, nj_glo, nvertex, prec, radius, standard_name, type ) 
    135137 
    136138  END SUBROUTINE xios(set_domain_attr_hdl) 
     
    141143    , data_ni_, data_nj_, dim_i_name_, dim_j_name_, domain_ref_, i_index_, ibegin_, j_index_, jbegin_  & 
    142144    , lat_name_, latvalue_1d_, latvalue_2d_, lon_name_, long_name_, lonvalue_1d_, lonvalue_2d_, mask_1d_  & 
    143     , mask_2d_, name_, ni_, ni_glo_, nj_, nj_glo_, nvertex_, prec_, standard_name_, type_ ) 
     145    , mask_2d_, name_, ni_, ni_glo_, nj_, nj_glo_, nvertex_, prec_, radius_, standard_name_, type_  & 
     146     ) 
    144147 
    145148    IMPLICIT NONE 
     
    185188      INTEGER  , OPTIONAL, INTENT(IN) :: nvertex_ 
    186189      INTEGER  , OPTIONAL, INTENT(IN) :: prec_ 
     190      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: radius_ 
    187191      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name_ 
    188192      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: type_ 
     
    382386      ENDIF 
    383387 
     388      IF (PRESENT(radius_)) THEN 
     389        CALL cxios_set_domain_radius & 
     390      (domain_hdl%daddr, radius_) 
     391      ENDIF 
     392 
    384393      IF (PRESENT(standard_name_)) THEN 
    385394        CALL cxios_set_domain_standard_name & 
     
    399408    , data_nj, dim_i_name, dim_j_name, domain_ref, i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d  & 
    400409    , latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo  & 
    401     , nj, nj_glo, nvertex, prec, standard_name, type ) 
     410    , nj, nj_glo, nvertex, prec, radius, standard_name, type ) 
    402411 
    403412    IMPLICIT NONE 
     
    444453      INTEGER  , OPTIONAL, INTENT(OUT) :: nvertex 
    445454      INTEGER  , OPTIONAL, INTENT(OUT) :: prec 
     455      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: radius 
    446456      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: standard_name 
    447457      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: type 
     
    454464      , data_nj, dim_i_name, dim_j_name, domain_ref, i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d  & 
    455465      , latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo  & 
    456       , nj, nj_glo, nvertex, prec, standard_name, type ) 
     466      , nj, nj_glo, nvertex, prec, radius, standard_name, type ) 
    457467 
    458468  END SUBROUTINE xios(get_domain_attr) 
     
    463473    , data_nj, dim_i_name, dim_j_name, domain_ref, i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d  & 
    464474    , latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo  & 
    465     , nj, nj_glo, nvertex, prec, standard_name, type ) 
     475    , nj, nj_glo, nvertex, prec, radius, standard_name, type ) 
    466476 
    467477    IMPLICIT NONE 
     
    507517      INTEGER  , OPTIONAL, INTENT(OUT) :: nvertex 
    508518      INTEGER  , OPTIONAL, INTENT(OUT) :: prec 
     519      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: radius 
    509520      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: standard_name 
    510521      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: type 
     
    515526      , data_nj, dim_i_name, dim_j_name, domain_ref, i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d  & 
    516527      , latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo  & 
    517       , nj, nj_glo, nvertex, prec, standard_name, type ) 
     528      , nj, nj_glo, nvertex, prec, radius, standard_name, type ) 
    518529 
    519530  END SUBROUTINE xios(get_domain_attr_hdl) 
     
    524535    , data_ni_, data_nj_, dim_i_name_, dim_j_name_, domain_ref_, i_index_, ibegin_, j_index_, jbegin_  & 
    525536    , lat_name_, latvalue_1d_, latvalue_2d_, lon_name_, long_name_, lonvalue_1d_, lonvalue_2d_, mask_1d_  & 
    526     , mask_2d_, name_, ni_, ni_glo_, nj_, nj_glo_, nvertex_, prec_, standard_name_, type_ ) 
     537    , mask_2d_, name_, ni_, ni_glo_, nj_, nj_glo_, nvertex_, prec_, radius_, standard_name_, type_  & 
     538     ) 
    527539 
    528540    IMPLICIT NONE 
     
    568580      INTEGER  , OPTIONAL, INTENT(OUT) :: nvertex_ 
    569581      INTEGER  , OPTIONAL, INTENT(OUT) :: prec_ 
     582      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: radius_ 
    570583      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: standard_name_ 
    571584      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: type_ 
     
    765778      ENDIF 
    766779 
     780      IF (PRESENT(radius_)) THEN 
     781        CALL cxios_get_domain_radius & 
     782      (domain_hdl%daddr, radius_) 
     783      ENDIF 
     784 
    767785      IF (PRESENT(standard_name_)) THEN 
    768786        CALL cxios_get_domain_standard_name & 
     
    782800    , data_nj, dim_i_name, dim_j_name, domain_ref, i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d  & 
    783801    , latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo  & 
    784     , nj, nj_glo, nvertex, prec, standard_name, type ) 
     802    , nj, nj_glo, nvertex, prec, radius, standard_name, type ) 
    785803 
    786804    IMPLICIT NONE 
     
    863881      LOGICAL, OPTIONAL, INTENT(OUT) :: prec 
    864882      LOGICAL(KIND=C_BOOL) :: prec_tmp 
     883      LOGICAL, OPTIONAL, INTENT(OUT) :: radius 
     884      LOGICAL(KIND=C_BOOL) :: radius_tmp 
    865885      LOGICAL, OPTIONAL, INTENT(OUT) :: standard_name 
    866886      LOGICAL(KIND=C_BOOL) :: standard_name_tmp 
     
    875895      , data_nj, dim_i_name, dim_j_name, domain_ref, i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d  & 
    876896      , latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo  & 
    877       , nj, nj_glo, nvertex, prec, standard_name, type ) 
     897      , nj, nj_glo, nvertex, prec, radius, standard_name, type ) 
    878898 
    879899  END SUBROUTINE xios(is_defined_domain_attr) 
     
    884904    , data_nj, dim_i_name, dim_j_name, domain_ref, i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d  & 
    885905    , latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo  & 
    886     , nj, nj_glo, nvertex, prec, standard_name, type ) 
     906    , nj, nj_glo, nvertex, prec, radius, standard_name, type ) 
    887907 
    888908    IMPLICIT NONE 
     
    964984      LOGICAL, OPTIONAL, INTENT(OUT) :: prec 
    965985      LOGICAL(KIND=C_BOOL) :: prec_tmp 
     986      LOGICAL, OPTIONAL, INTENT(OUT) :: radius 
     987      LOGICAL(KIND=C_BOOL) :: radius_tmp 
    966988      LOGICAL, OPTIONAL, INTENT(OUT) :: standard_name 
    967989      LOGICAL(KIND=C_BOOL) :: standard_name_tmp 
     
    974996      , data_nj, dim_i_name, dim_j_name, domain_ref, i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d  & 
    975997      , latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo  & 
    976       , nj, nj_glo, nvertex, prec, standard_name, type ) 
     998      , nj, nj_glo, nvertex, prec, radius, standard_name, type ) 
    977999 
    9781000  END SUBROUTINE xios(is_defined_domain_attr_hdl) 
     
    9831005    , data_ni_, data_nj_, dim_i_name_, dim_j_name_, domain_ref_, i_index_, ibegin_, j_index_, jbegin_  & 
    9841006    , lat_name_, latvalue_1d_, latvalue_2d_, lon_name_, long_name_, lonvalue_1d_, lonvalue_2d_, mask_1d_  & 
    985     , mask_2d_, name_, ni_, ni_glo_, nj_, nj_glo_, nvertex_, prec_, standard_name_, type_ ) 
     1007    , mask_2d_, name_, ni_, ni_glo_, nj_, nj_glo_, nvertex_, prec_, radius_, standard_name_, type_  & 
     1008     ) 
    9861009 
    9871010    IMPLICIT NONE 
     
    10631086      LOGICAL, OPTIONAL, INTENT(OUT) :: prec_ 
    10641087      LOGICAL(KIND=C_BOOL) :: prec__tmp 
     1088      LOGICAL, OPTIONAL, INTENT(OUT) :: radius_ 
     1089      LOGICAL(KIND=C_BOOL) :: radius__tmp 
    10651090      LOGICAL, OPTIONAL, INTENT(OUT) :: standard_name_ 
    10661091      LOGICAL(KIND=C_BOOL) :: standard_name__tmp 
     
    12961321      ENDIF 
    12971322 
     1323      IF (PRESENT(radius_)) THEN 
     1324        radius__tmp = cxios_is_defined_domain_radius & 
     1325      (domain_hdl%daddr) 
     1326        radius_ = radius__tmp 
     1327      ENDIF 
     1328 
    12981329      IF (PRESENT(standard_name_)) THEN 
    12991330        standard_name__tmp = cxios_is_defined_domain_standard_name & 
  • XIOS/dev/dev_olga/src/interface/fortran_attr/idomaingroup_attr.F90

    r1492 r1636  
    1616    , data_nj, dim_i_name, dim_j_name, domain_ref, group_ref, i_index, ibegin, j_index, jbegin, lat_name  & 
    1717    , latvalue_1d, latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d  & 
    18     , name, ni, ni_glo, nj, nj_glo, nvertex, prec, standard_name, type ) 
     18    , name, ni, ni_glo, nj, nj_glo, nvertex, prec, radius, standard_name, type ) 
    1919 
    2020    IMPLICIT NONE 
     
    6262      INTEGER  , OPTIONAL, INTENT(IN) :: nvertex 
    6363      INTEGER  , OPTIONAL, INTENT(IN) :: prec 
     64      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: radius 
    6465      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name 
    6566      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: type 
     
    7273      , data_nj, dim_i_name, dim_j_name, domain_ref, group_ref, i_index, ibegin, j_index, jbegin, lat_name  & 
    7374      , latvalue_1d, latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d  & 
    74       , name, ni, ni_glo, nj, nj_glo, nvertex, prec, standard_name, type ) 
     75      , name, ni, ni_glo, nj, nj_glo, nvertex, prec, radius, standard_name, type ) 
    7576 
    7677  END SUBROUTINE xios(set_domaingroup_attr) 
     
    8182    , data_nj, dim_i_name, dim_j_name, domain_ref, group_ref, i_index, ibegin, j_index, jbegin, lat_name  & 
    8283    , latvalue_1d, latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d  & 
    83     , name, ni, ni_glo, nj, nj_glo, nvertex, prec, standard_name, type ) 
     84    , name, ni, ni_glo, nj, nj_glo, nvertex, prec, radius, standard_name, type ) 
    8485 
    8586    IMPLICIT NONE 
     
    126127      INTEGER  , OPTIONAL, INTENT(IN) :: nvertex 
    127128      INTEGER  , OPTIONAL, INTENT(IN) :: prec 
     129      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: radius 
    128130      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name 
    129131      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: type 
     
    134136      , data_nj, dim_i_name, dim_j_name, domain_ref, group_ref, i_index, ibegin, j_index, jbegin, lat_name  & 
    135137      , latvalue_1d, latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d  & 
    136       , name, ni, ni_glo, nj, nj_glo, nvertex, prec, standard_name, type ) 
     138      , name, ni, ni_glo, nj, nj_glo, nvertex, prec, radius, standard_name, type ) 
    137139 
    138140  END SUBROUTINE xios(set_domaingroup_attr_hdl) 
     
    143145    , data_ni_, data_nj_, dim_i_name_, dim_j_name_, domain_ref_, group_ref_, i_index_, ibegin_, j_index_  & 
    144146    , jbegin_, lat_name_, latvalue_1d_, latvalue_2d_, lon_name_, long_name_, lonvalue_1d_, lonvalue_2d_  & 
    145     , mask_1d_, mask_2d_, name_, ni_, ni_glo_, nj_, nj_glo_, nvertex_, prec_, standard_name_, type_  & 
    146     ) 
     147    , mask_1d_, mask_2d_, name_, ni_, ni_glo_, nj_, nj_glo_, nvertex_, prec_, radius_, standard_name_  & 
     148    , type_ ) 
    147149 
    148150    IMPLICIT NONE 
     
    189191      INTEGER  , OPTIONAL, INTENT(IN) :: nvertex_ 
    190192      INTEGER  , OPTIONAL, INTENT(IN) :: prec_ 
     193      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: radius_ 
    191194      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name_ 
    192195      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: type_ 
     
    391394      ENDIF 
    392395 
     396      IF (PRESENT(radius_)) THEN 
     397        CALL cxios_set_domaingroup_radius & 
     398      (domaingroup_hdl%daddr, radius_) 
     399      ENDIF 
     400 
    393401      IF (PRESENT(standard_name_)) THEN 
    394402        CALL cxios_set_domaingroup_standard_name & 
     
    408416    , data_nj, dim_i_name, dim_j_name, domain_ref, group_ref, i_index, ibegin, j_index, jbegin, lat_name  & 
    409417    , latvalue_1d, latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d  & 
    410     , name, ni, ni_glo, nj, nj_glo, nvertex, prec, standard_name, type ) 
     418    , name, ni, ni_glo, nj, nj_glo, nvertex, prec, radius, standard_name, type ) 
    411419 
    412420    IMPLICIT NONE 
     
    454462      INTEGER  , OPTIONAL, INTENT(OUT) :: nvertex 
    455463      INTEGER  , OPTIONAL, INTENT(OUT) :: prec 
     464      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: radius 
    456465      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: standard_name 
    457466      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: type 
     
    464473      , data_nj, dim_i_name, dim_j_name, domain_ref, group_ref, i_index, ibegin, j_index, jbegin, lat_name  & 
    465474      , latvalue_1d, latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d  & 
    466       , name, ni, ni_glo, nj, nj_glo, nvertex, prec, standard_name, type ) 
     475      , name, ni, ni_glo, nj, nj_glo, nvertex, prec, radius, standard_name, type ) 
    467476 
    468477  END SUBROUTINE xios(get_domaingroup_attr) 
     
    473482    , data_nj, dim_i_name, dim_j_name, domain_ref, group_ref, i_index, ibegin, j_index, jbegin, lat_name  & 
    474483    , latvalue_1d, latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d  & 
    475     , name, ni, ni_glo, nj, nj_glo, nvertex, prec, standard_name, type ) 
     484    , name, ni, ni_glo, nj, nj_glo, nvertex, prec, radius, standard_name, type ) 
    476485 
    477486    IMPLICIT NONE 
     
    518527      INTEGER  , OPTIONAL, INTENT(OUT) :: nvertex 
    519528      INTEGER  , OPTIONAL, INTENT(OUT) :: prec 
     529      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: radius 
    520530      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: standard_name 
    521531      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: type 
     
    526536      , data_nj, dim_i_name, dim_j_name, domain_ref, group_ref, i_index, ibegin, j_index, jbegin, lat_name  & 
    527537      , latvalue_1d, latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d  & 
    528       , name, ni, ni_glo, nj, nj_glo, nvertex, prec, standard_name, type ) 
     538      , name, ni, ni_glo, nj, nj_glo, nvertex, prec, radius, standard_name, type ) 
    529539 
    530540  END SUBROUTINE xios(get_domaingroup_attr_hdl) 
     
    535545    , data_ni_, data_nj_, dim_i_name_, dim_j_name_, domain_ref_, group_ref_, i_index_, ibegin_, j_index_  & 
    536546    , jbegin_, lat_name_, latvalue_1d_, latvalue_2d_, lon_name_, long_name_, lonvalue_1d_, lonvalue_2d_  & 
    537     , mask_1d_, mask_2d_, name_, ni_, ni_glo_, nj_, nj_glo_, nvertex_, prec_, standard_name_, type_  & 
    538     ) 
     547    , mask_1d_, mask_2d_, name_, ni_, ni_glo_, nj_, nj_glo_, nvertex_, prec_, radius_, standard_name_  & 
     548    , type_ ) 
    539549 
    540550    IMPLICIT NONE 
     
    581591      INTEGER  , OPTIONAL, INTENT(OUT) :: nvertex_ 
    582592      INTEGER  , OPTIONAL, INTENT(OUT) :: prec_ 
     593      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: radius_ 
    583594      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: standard_name_ 
    584595      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: type_ 
     
    783794      ENDIF 
    784795 
     796      IF (PRESENT(radius_)) THEN 
     797        CALL cxios_get_domaingroup_radius & 
     798      (domaingroup_hdl%daddr, radius_) 
     799      ENDIF 
     800 
    785801      IF (PRESENT(standard_name_)) THEN 
    786802        CALL cxios_get_domaingroup_standard_name & 
     
    800816    , data_nj, dim_i_name, dim_j_name, domain_ref, group_ref, i_index, ibegin, j_index, jbegin, lat_name  & 
    801817    , latvalue_1d, latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d  & 
    802     , name, ni, ni_glo, nj, nj_glo, nvertex, prec, standard_name, type ) 
     818    , name, ni, ni_glo, nj, nj_glo, nvertex, prec, radius, standard_name, type ) 
    803819 
    804820    IMPLICIT NONE 
     
    883899      LOGICAL, OPTIONAL, INTENT(OUT) :: prec 
    884900      LOGICAL(KIND=C_BOOL) :: prec_tmp 
     901      LOGICAL, OPTIONAL, INTENT(OUT) :: radius 
     902      LOGICAL(KIND=C_BOOL) :: radius_tmp 
    885903      LOGICAL, OPTIONAL, INTENT(OUT) :: standard_name 
    886904      LOGICAL(KIND=C_BOOL) :: standard_name_tmp 
     
    895913      , data_nj, dim_i_name, dim_j_name, domain_ref, group_ref, i_index, ibegin, j_index, jbegin, lat_name  & 
    896914      , latvalue_1d, latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d  & 
    897       , name, ni, ni_glo, nj, nj_glo, nvertex, prec, standard_name, type ) 
     915      , name, ni, ni_glo, nj, nj_glo, nvertex, prec, radius, standard_name, type ) 
    898916 
    899917  END SUBROUTINE xios(is_defined_domaingroup_attr) 
     
    904922    , data_nj, dim_i_name, dim_j_name, domain_ref, group_ref, i_index, ibegin, j_index, jbegin, lat_name  & 
    905923    , latvalue_1d, latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d  & 
    906     , name, ni, ni_glo, nj, nj_glo, nvertex, prec, standard_name, type ) 
     924    , name, ni, ni_glo, nj, nj_glo, nvertex, prec, radius, standard_name, type ) 
    907925 
    908926    IMPLICIT NONE 
     
    9861004      LOGICAL, OPTIONAL, INTENT(OUT) :: prec 
    9871005      LOGICAL(KIND=C_BOOL) :: prec_tmp 
     1006      LOGICAL, OPTIONAL, INTENT(OUT) :: radius 
     1007      LOGICAL(KIND=C_BOOL) :: radius_tmp 
    9881008      LOGICAL, OPTIONAL, INTENT(OUT) :: standard_name 
    9891009      LOGICAL(KIND=C_BOOL) :: standard_name_tmp 
     
    9961016      , data_nj, dim_i_name, dim_j_name, domain_ref, group_ref, i_index, ibegin, j_index, jbegin, lat_name  & 
    9971017      , latvalue_1d, latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d  & 
    998       , name, ni, ni_glo, nj, nj_glo, nvertex, prec, standard_name, type ) 
     1018      , name, ni, ni_glo, nj, nj_glo, nvertex, prec, radius, standard_name, type ) 
    9991019 
    10001020  END SUBROUTINE xios(is_defined_domaingroup_attr_hdl) 
     
    10051025    , data_ni_, data_nj_, dim_i_name_, dim_j_name_, domain_ref_, group_ref_, i_index_, ibegin_, j_index_  & 
    10061026    , jbegin_, lat_name_, latvalue_1d_, latvalue_2d_, lon_name_, long_name_, lonvalue_1d_, lonvalue_2d_  & 
    1007     , mask_1d_, mask_2d_, name_, ni_, ni_glo_, nj_, nj_glo_, nvertex_, prec_, standard_name_, type_  & 
    1008     ) 
     1027    , mask_1d_, mask_2d_, name_, ni_, ni_glo_, nj_, nj_glo_, nvertex_, prec_, radius_, standard_name_  & 
     1028    , type_ ) 
    10091029 
    10101030    IMPLICIT NONE 
     
    10881108      LOGICAL, OPTIONAL, INTENT(OUT) :: prec_ 
    10891109      LOGICAL(KIND=C_BOOL) :: prec__tmp 
     1110      LOGICAL, OPTIONAL, INTENT(OUT) :: radius_ 
     1111      LOGICAL(KIND=C_BOOL) :: radius__tmp 
    10901112      LOGICAL, OPTIONAL, INTENT(OUT) :: standard_name_ 
    10911113      LOGICAL(KIND=C_BOOL) :: standard_name__tmp 
     
    13271349      ENDIF 
    13281350 
     1351      IF (PRESENT(radius_)) THEN 
     1352        radius__tmp = cxios_is_defined_domaingroup_radius & 
     1353      (domaingroup_hdl%daddr) 
     1354        radius_ = radius__tmp 
     1355      ENDIF 
     1356 
    13291357      IF (PRESENT(standard_name_)) THEN 
    13301358        standard_name__tmp = cxios_is_defined_domaingroup_standard_name & 
  • XIOS/dev/dev_olga/src/interface/fortran_attr/iinterpolate_domain_attr.F90

    r1492 r1636  
    1313  SUBROUTINE xios(set_interpolate_domain_attr)  & 
    1414    ( interpolate_domain_id, detect_missing_value, mode, order, quantity, read_write_convention  & 
    15     , renormalize, weight_filename, write_weight ) 
     15    , renormalize, use_area, weight_filename, write_weight ) 
    1616 
    1717    IMPLICIT NONE 
     
    2727      LOGICAL  , OPTIONAL, INTENT(IN) :: renormalize 
    2828      LOGICAL (KIND=C_BOOL) :: renormalize_tmp 
     29      LOGICAL  , OPTIONAL, INTENT(IN) :: use_area 
     30      LOGICAL (KIND=C_BOOL) :: use_area_tmp 
    2931      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: weight_filename 
    3032      LOGICAL  , OPTIONAL, INTENT(IN) :: write_weight 
     
    3537      CALL xios(set_interpolate_domain_attr_hdl_)   & 
    3638      ( interpolate_domain_hdl, detect_missing_value, mode, order, quantity, read_write_convention  & 
    37       , renormalize, weight_filename, write_weight ) 
     39      , renormalize, use_area, weight_filename, write_weight ) 
    3840 
    3941  END SUBROUTINE xios(set_interpolate_domain_attr) 
     
    4143  SUBROUTINE xios(set_interpolate_domain_attr_hdl)  & 
    4244    ( interpolate_domain_hdl, detect_missing_value, mode, order, quantity, read_write_convention  & 
    43     , renormalize, weight_filename, write_weight ) 
     45    , renormalize, use_area, weight_filename, write_weight ) 
    4446 
    4547    IMPLICIT NONE 
     
    5456      LOGICAL  , OPTIONAL, INTENT(IN) :: renormalize 
    5557      LOGICAL (KIND=C_BOOL) :: renormalize_tmp 
     58      LOGICAL  , OPTIONAL, INTENT(IN) :: use_area 
     59      LOGICAL (KIND=C_BOOL) :: use_area_tmp 
    5660      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: weight_filename 
    5761      LOGICAL  , OPTIONAL, INTENT(IN) :: write_weight 
     
    6064      CALL xios(set_interpolate_domain_attr_hdl_)  & 
    6165      ( interpolate_domain_hdl, detect_missing_value, mode, order, quantity, read_write_convention  & 
    62       , renormalize, weight_filename, write_weight ) 
     66      , renormalize, use_area, weight_filename, write_weight ) 
    6367 
    6468  END SUBROUTINE xios(set_interpolate_domain_attr_hdl) 
     
    6670  SUBROUTINE xios(set_interpolate_domain_attr_hdl_)   & 
    6771    ( interpolate_domain_hdl, detect_missing_value_, mode_, order_, quantity_, read_write_convention_  & 
    68     , renormalize_, weight_filename_, write_weight_ ) 
     72    , renormalize_, use_area_, weight_filename_, write_weight_ ) 
    6973 
    7074    IMPLICIT NONE 
     
    7983      LOGICAL  , OPTIONAL, INTENT(IN) :: renormalize_ 
    8084      LOGICAL (KIND=C_BOOL) :: renormalize__tmp 
     85      LOGICAL  , OPTIONAL, INTENT(IN) :: use_area_ 
     86      LOGICAL (KIND=C_BOOL) :: use_area__tmp 
    8187      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: weight_filename_ 
    8288      LOGICAL  , OPTIONAL, INTENT(IN) :: write_weight_ 
     
    116122      ENDIF 
    117123 
     124      IF (PRESENT(use_area_)) THEN 
     125        use_area__tmp = use_area_ 
     126        CALL cxios_set_interpolate_domain_use_area & 
     127      (interpolate_domain_hdl%daddr, use_area__tmp) 
     128      ENDIF 
     129 
    118130      IF (PRESENT(weight_filename_)) THEN 
    119131        CALL cxios_set_interpolate_domain_weight_filename & 
     
    131143  SUBROUTINE xios(get_interpolate_domain_attr)  & 
    132144    ( interpolate_domain_id, detect_missing_value, mode, order, quantity, read_write_convention  & 
    133     , renormalize, weight_filename, write_weight ) 
     145    , renormalize, use_area, weight_filename, write_weight ) 
    134146 
    135147    IMPLICIT NONE 
     
    145157      LOGICAL  , OPTIONAL, INTENT(OUT) :: renormalize 
    146158      LOGICAL (KIND=C_BOOL) :: renormalize_tmp 
     159      LOGICAL  , OPTIONAL, INTENT(OUT) :: use_area 
     160      LOGICAL (KIND=C_BOOL) :: use_area_tmp 
    147161      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: weight_filename 
    148162      LOGICAL  , OPTIONAL, INTENT(OUT) :: write_weight 
     
    153167      CALL xios(get_interpolate_domain_attr_hdl_)   & 
    154168      ( interpolate_domain_hdl, detect_missing_value, mode, order, quantity, read_write_convention  & 
    155       , renormalize, weight_filename, write_weight ) 
     169      , renormalize, use_area, weight_filename, write_weight ) 
    156170 
    157171  END SUBROUTINE xios(get_interpolate_domain_attr) 
     
    159173  SUBROUTINE xios(get_interpolate_domain_attr_hdl)  & 
    160174    ( interpolate_domain_hdl, detect_missing_value, mode, order, quantity, read_write_convention  & 
    161     , renormalize, weight_filename, write_weight ) 
     175    , renormalize, use_area, weight_filename, write_weight ) 
    162176 
    163177    IMPLICIT NONE 
     
    172186      LOGICAL  , OPTIONAL, INTENT(OUT) :: renormalize 
    173187      LOGICAL (KIND=C_BOOL) :: renormalize_tmp 
     188      LOGICAL  , OPTIONAL, INTENT(OUT) :: use_area 
     189      LOGICAL (KIND=C_BOOL) :: use_area_tmp 
    174190      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: weight_filename 
    175191      LOGICAL  , OPTIONAL, INTENT(OUT) :: write_weight 
     
    178194      CALL xios(get_interpolate_domain_attr_hdl_)  & 
    179195      ( interpolate_domain_hdl, detect_missing_value, mode, order, quantity, read_write_convention  & 
    180       , renormalize, weight_filename, write_weight ) 
     196      , renormalize, use_area, weight_filename, write_weight ) 
    181197 
    182198  END SUBROUTINE xios(get_interpolate_domain_attr_hdl) 
     
    184200  SUBROUTINE xios(get_interpolate_domain_attr_hdl_)   & 
    185201    ( interpolate_domain_hdl, detect_missing_value_, mode_, order_, quantity_, read_write_convention_  & 
    186     , renormalize_, weight_filename_, write_weight_ ) 
     202    , renormalize_, use_area_, weight_filename_, write_weight_ ) 
    187203 
    188204    IMPLICIT NONE 
     
    197213      LOGICAL  , OPTIONAL, INTENT(OUT) :: renormalize_ 
    198214      LOGICAL (KIND=C_BOOL) :: renormalize__tmp 
     215      LOGICAL  , OPTIONAL, INTENT(OUT) :: use_area_ 
     216      LOGICAL (KIND=C_BOOL) :: use_area__tmp 
    199217      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: weight_filename_ 
    200218      LOGICAL  , OPTIONAL, INTENT(OUT) :: write_weight_ 
     
    234252      ENDIF 
    235253 
     254      IF (PRESENT(use_area_)) THEN 
     255        CALL cxios_get_interpolate_domain_use_area & 
     256      (interpolate_domain_hdl%daddr, use_area__tmp) 
     257        use_area_ = use_area__tmp 
     258      ENDIF 
     259 
    236260      IF (PRESENT(weight_filename_)) THEN 
    237261        CALL cxios_get_interpolate_domain_weight_filename & 
     
    249273  SUBROUTINE xios(is_defined_interpolate_domain_attr)  & 
    250274    ( interpolate_domain_id, detect_missing_value, mode, order, quantity, read_write_convention  & 
    251     , renormalize, weight_filename, write_weight ) 
     275    , renormalize, use_area, weight_filename, write_weight ) 
    252276 
    253277    IMPLICIT NONE 
     
    266290      LOGICAL, OPTIONAL, INTENT(OUT) :: renormalize 
    267291      LOGICAL(KIND=C_BOOL) :: renormalize_tmp 
     292      LOGICAL, OPTIONAL, INTENT(OUT) :: use_area 
     293      LOGICAL(KIND=C_BOOL) :: use_area_tmp 
    268294      LOGICAL, OPTIONAL, INTENT(OUT) :: weight_filename 
    269295      LOGICAL(KIND=C_BOOL) :: weight_filename_tmp 
     
    275301      CALL xios(is_defined_interpolate_domain_attr_hdl_)   & 
    276302      ( interpolate_domain_hdl, detect_missing_value, mode, order, quantity, read_write_convention  & 
    277       , renormalize, weight_filename, write_weight ) 
     303      , renormalize, use_area, weight_filename, write_weight ) 
    278304 
    279305  END SUBROUTINE xios(is_defined_interpolate_domain_attr) 
     
    281307  SUBROUTINE xios(is_defined_interpolate_domain_attr_hdl)  & 
    282308    ( interpolate_domain_hdl, detect_missing_value, mode, order, quantity, read_write_convention  & 
    283     , renormalize, weight_filename, write_weight ) 
     309    , renormalize, use_area, weight_filename, write_weight ) 
    284310 
    285311    IMPLICIT NONE 
     
    297323      LOGICAL, OPTIONAL, INTENT(OUT) :: renormalize 
    298324      LOGICAL(KIND=C_BOOL) :: renormalize_tmp 
     325      LOGICAL, OPTIONAL, INTENT(OUT) :: use_area 
     326      LOGICAL(KIND=C_BOOL) :: use_area_tmp 
    299327      LOGICAL, OPTIONAL, INTENT(OUT) :: weight_filename 
    300328      LOGICAL(KIND=C_BOOL) :: weight_filename_tmp 
     
    304332      CALL xios(is_defined_interpolate_domain_attr_hdl_)  & 
    305333      ( interpolate_domain_hdl, detect_missing_value, mode, order, quantity, read_write_convention  & 
    306       , renormalize, weight_filename, write_weight ) 
     334      , renormalize, use_area, weight_filename, write_weight ) 
    307335 
    308336  END SUBROUTINE xios(is_defined_interpolate_domain_attr_hdl) 
     
    310338  SUBROUTINE xios(is_defined_interpolate_domain_attr_hdl_)   & 
    311339    ( interpolate_domain_hdl, detect_missing_value_, mode_, order_, quantity_, read_write_convention_  & 
    312     , renormalize_, weight_filename_, write_weight_ ) 
     340    , renormalize_, use_area_, weight_filename_, write_weight_ ) 
    313341 
    314342    IMPLICIT NONE 
     
    326354      LOGICAL, OPTIONAL, INTENT(OUT) :: renormalize_ 
    327355      LOGICAL(KIND=C_BOOL) :: renormalize__tmp 
     356      LOGICAL, OPTIONAL, INTENT(OUT) :: use_area_ 
     357      LOGICAL(KIND=C_BOOL) :: use_area__tmp 
    328358      LOGICAL, OPTIONAL, INTENT(OUT) :: weight_filename_ 
    329359      LOGICAL(KIND=C_BOOL) :: weight_filename__tmp 
     
    367397      ENDIF 
    368398 
     399      IF (PRESENT(use_area_)) THEN 
     400        use_area__tmp = cxios_is_defined_interpolate_domain_use_area & 
     401      (interpolate_domain_hdl%daddr) 
     402        use_area_ = use_area__tmp 
     403      ENDIF 
     404 
    369405      IF (PRESENT(weight_filename_)) THEN 
    370406        weight_filename__tmp = cxios_is_defined_interpolate_domain_weight_filename & 
  • XIOS/dev/dev_olga/src/interface/fortran_attr/interpolate_domain_interface_attr.F90

    r1492 r1636  
    8888 
    8989 
    90     SUBROUTINE cxios_set_interpolate_domain_read_write_convention(interpolate_domain_hdl, read_write_convention, read_write_convention_size) BIND(C) 
     90    SUBROUTINE cxios_set_interpolate_domain_read_write_convention(interpolate_domain_hdl, read_write_convention, read_write_conven& 
     91&tion_size) BIND(C) 
    9192      USE ISO_C_BINDING 
    9293      INTEGER (kind = C_INTPTR_T), VALUE :: interpolate_domain_hdl 
     
    9596    END SUBROUTINE cxios_set_interpolate_domain_read_write_convention 
    9697 
    97     SUBROUTINE cxios_get_interpolate_domain_read_write_convention(interpolate_domain_hdl, read_write_convention, read_write_convention_size) BIND(C) 
     98    SUBROUTINE cxios_get_interpolate_domain_read_write_convention(interpolate_domain_hdl, read_write_convention, read_write_conven& 
     99&tion_size) BIND(C) 
    98100      USE ISO_C_BINDING 
    99101      INTEGER (kind = C_INTPTR_T), VALUE :: interpolate_domain_hdl 
     
    126128      INTEGER (kind = C_INTPTR_T), VALUE :: interpolate_domain_hdl 
    127129    END FUNCTION cxios_is_defined_interpolate_domain_renormalize 
     130 
     131 
     132    SUBROUTINE cxios_set_interpolate_domain_use_area(interpolate_domain_hdl, use_area) BIND(C) 
     133      USE ISO_C_BINDING 
     134      INTEGER (kind = C_INTPTR_T), VALUE :: interpolate_domain_hdl 
     135      LOGICAL (KIND=C_BOOL)      , VALUE :: use_area 
     136    END SUBROUTINE cxios_set_interpolate_domain_use_area 
     137 
     138    SUBROUTINE cxios_get_interpolate_domain_use_area(interpolate_domain_hdl, use_area) BIND(C) 
     139      USE ISO_C_BINDING 
     140      INTEGER (kind = C_INTPTR_T), VALUE :: interpolate_domain_hdl 
     141      LOGICAL (KIND=C_BOOL)             :: use_area 
     142    END SUBROUTINE cxios_get_interpolate_domain_use_area 
     143 
     144    FUNCTION cxios_is_defined_interpolate_domain_use_area(interpolate_domain_hdl) BIND(C) 
     145      USE ISO_C_BINDING 
     146      LOGICAL(kind=C_BOOL) :: cxios_is_defined_interpolate_domain_use_area 
     147      INTEGER (kind = C_INTPTR_T), VALUE :: interpolate_domain_hdl 
     148    END FUNCTION cxios_is_defined_interpolate_domain_use_area 
    128149 
    129150 
  • XIOS/dev/dev_olga/src/object_template_impl.hpp

    r1612 r1636  
    477477     oss << iendl; 
    478478     oss << "#include <boost/multi_array.hpp>" << iendl; 
    479      oss << "#include <boostXXX/shared_ptr.hpp>" << iendl; 
    480479     oss << "#include \"xios.hpp\"" << iendl; 
    481480     oss << "#include \"attribute_template.hpp\"" << iendl; 
     
    511510     oss << "INTERFACE" << iendl++; 
    512511     oss << "! Do not call directly / interface FORTRAN 2003 <-> C99"; 
    513      SuperClassMap::generateFortran2003Interface(oss,className); 
     512     SuperClassMap::generateFortran2003Interface(oss, className); 
    514513     oss << iendl--; 
    515514     oss << "END INTERFACE" << iendl--; 
Note: See TracChangeset for help on using the changeset viewer.