Ignore:
Timestamp:
08/24/15 14:53:17 (9 years ago)
Author:
mhnguyen
Message:

Changing some domain attributes

+) Longitude and latitude from now on can be 2 dimension array

Test
+) On Curie
+) test_client, test_complete pass and are correct

Location:
XIOS/trunk/src/interface
Files:
6 edited

Legend:

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

    r657 r664  
    4343 
    4444 
    45   void cxios_set_domain_bounds_lat(domain_Ptr domain_hdl, double* bounds_lat, int extent1, int extent2) 
    46   { 
    47     CTimer::get("XIOS").resume(); 
    48     CArray<double,2> tmp(bounds_lat, shape(extent1, extent2), neverDeleteData); 
    49     domain_hdl->bounds_lat.reference(tmp.copy()); 
    50      CTimer::get("XIOS").suspend(); 
    51   } 
    52  
    53   void cxios_get_domain_bounds_lat(domain_Ptr domain_hdl, double* bounds_lat, int extent1, int extent2) 
    54   { 
    55     CTimer::get("XIOS").resume(); 
    56     CArray<double,2> tmp(bounds_lat, shape(extent1, extent2), neverDeleteData); 
    57     tmp=domain_hdl->bounds_lat.getInheritedValue(); 
    58      CTimer::get("XIOS").suspend(); 
    59   } 
    60  
    61   bool cxios_is_defined_domain_bounds_lat(domain_Ptr domain_hdl) 
    62   { 
    63      CTimer::get("XIOS").resume(); 
    64      bool isDefined = domain_hdl->bounds_lat.hasInheritedValue(); 
    65      CTimer::get("XIOS").suspend(); 
    66      return isDefined; 
    67   } 
    68  
    69  
    70   void cxios_set_domain_bounds_lon(domain_Ptr domain_hdl, double* bounds_lon, int extent1, int extent2) 
    71   { 
    72     CTimer::get("XIOS").resume(); 
    73     CArray<double,2> tmp(bounds_lon, shape(extent1, extent2), neverDeleteData); 
    74     domain_hdl->bounds_lon.reference(tmp.copy()); 
    75      CTimer::get("XIOS").suspend(); 
    76   } 
    77  
    78   void cxios_get_domain_bounds_lon(domain_Ptr domain_hdl, double* bounds_lon, int extent1, int extent2) 
    79   { 
    80     CTimer::get("XIOS").resume(); 
    81     CArray<double,2> tmp(bounds_lon, shape(extent1, extent2), neverDeleteData); 
    82     tmp=domain_hdl->bounds_lon.getInheritedValue(); 
    83      CTimer::get("XIOS").suspend(); 
    84   } 
    85  
    86   bool cxios_is_defined_domain_bounds_lon(domain_Ptr domain_hdl) 
    87   { 
    88      CTimer::get("XIOS").resume(); 
    89      bool isDefined = domain_hdl->bounds_lon.hasInheritedValue(); 
     45  void cxios_set_domain_bounds_lat_1d(domain_Ptr domain_hdl, double* bounds_lat_1d, int extent1, int extent2) 
     46  { 
     47    CTimer::get("XIOS").resume(); 
     48    CArray<double,2> tmp(bounds_lat_1d, shape(extent1, extent2), neverDeleteData); 
     49    domain_hdl->bounds_lat_1d.reference(tmp.copy()); 
     50     CTimer::get("XIOS").suspend(); 
     51  } 
     52 
     53  void cxios_get_domain_bounds_lat_1d(domain_Ptr domain_hdl, double* bounds_lat_1d, int extent1, int extent2) 
     54  { 
     55    CTimer::get("XIOS").resume(); 
     56    CArray<double,2> tmp(bounds_lat_1d, shape(extent1, extent2), neverDeleteData); 
     57    tmp=domain_hdl->bounds_lat_1d.getInheritedValue(); 
     58     CTimer::get("XIOS").suspend(); 
     59  } 
     60 
     61  bool cxios_is_defined_domain_bounds_lat_1d(domain_Ptr domain_hdl) 
     62  { 
     63     CTimer::get("XIOS").resume(); 
     64     bool isDefined = domain_hdl->bounds_lat_1d.hasInheritedValue(); 
     65     CTimer::get("XIOS").suspend(); 
     66     return isDefined; 
     67  } 
     68 
     69 
     70  void cxios_set_domain_bounds_lat_2d(domain_Ptr domain_hdl, double* bounds_lat_2d, int extent1, int extent2, int extent3) 
     71  { 
     72    CTimer::get("XIOS").resume(); 
     73    CArray<double,3> tmp(bounds_lat_2d, shape(extent1, extent2, extent3), neverDeleteData); 
     74    domain_hdl->bounds_lat_2d.reference(tmp.copy()); 
     75     CTimer::get("XIOS").suspend(); 
     76  } 
     77 
     78  void cxios_get_domain_bounds_lat_2d(domain_Ptr domain_hdl, double* bounds_lat_2d, int extent1, int extent2, int extent3) 
     79  { 
     80    CTimer::get("XIOS").resume(); 
     81    CArray<double,3> tmp(bounds_lat_2d, shape(extent1, extent2, extent3), neverDeleteData); 
     82    tmp=domain_hdl->bounds_lat_2d.getInheritedValue(); 
     83     CTimer::get("XIOS").suspend(); 
     84  } 
     85 
     86  bool cxios_is_defined_domain_bounds_lat_2d(domain_Ptr domain_hdl) 
     87  { 
     88     CTimer::get("XIOS").resume(); 
     89     bool isDefined = domain_hdl->bounds_lat_2d.hasInheritedValue(); 
     90     CTimer::get("XIOS").suspend(); 
     91     return isDefined; 
     92  } 
     93 
     94 
     95  void cxios_set_domain_bounds_lon_1d(domain_Ptr domain_hdl, double* bounds_lon_1d, int extent1, int extent2) 
     96  { 
     97    CTimer::get("XIOS").resume(); 
     98    CArray<double,2> tmp(bounds_lon_1d, shape(extent1, extent2), neverDeleteData); 
     99    domain_hdl->bounds_lon_1d.reference(tmp.copy()); 
     100     CTimer::get("XIOS").suspend(); 
     101  } 
     102 
     103  void cxios_get_domain_bounds_lon_1d(domain_Ptr domain_hdl, double* bounds_lon_1d, int extent1, int extent2) 
     104  { 
     105    CTimer::get("XIOS").resume(); 
     106    CArray<double,2> tmp(bounds_lon_1d, shape(extent1, extent2), neverDeleteData); 
     107    tmp=domain_hdl->bounds_lon_1d.getInheritedValue(); 
     108     CTimer::get("XIOS").suspend(); 
     109  } 
     110 
     111  bool cxios_is_defined_domain_bounds_lon_1d(domain_Ptr domain_hdl) 
     112  { 
     113     CTimer::get("XIOS").resume(); 
     114     bool isDefined = domain_hdl->bounds_lon_1d.hasInheritedValue(); 
     115     CTimer::get("XIOS").suspend(); 
     116     return isDefined; 
     117  } 
     118 
     119 
     120  void cxios_set_domain_bounds_lon_2d(domain_Ptr domain_hdl, double* bounds_lon_2d, int extent1, int extent2, int extent3) 
     121  { 
     122    CTimer::get("XIOS").resume(); 
     123    CArray<double,3> tmp(bounds_lon_2d, shape(extent1, extent2, extent3), neverDeleteData); 
     124    domain_hdl->bounds_lon_2d.reference(tmp.copy()); 
     125     CTimer::get("XIOS").suspend(); 
     126  } 
     127 
     128  void cxios_get_domain_bounds_lon_2d(domain_Ptr domain_hdl, double* bounds_lon_2d, int extent1, int extent2, int extent3) 
     129  { 
     130    CTimer::get("XIOS").resume(); 
     131    CArray<double,3> tmp(bounds_lon_2d, shape(extent1, extent2, extent3), neverDeleteData); 
     132    tmp=domain_hdl->bounds_lon_2d.getInheritedValue(); 
     133     CTimer::get("XIOS").suspend(); 
     134  } 
     135 
     136  bool cxios_is_defined_domain_bounds_lon_2d(domain_Ptr domain_hdl) 
     137  { 
     138     CTimer::get("XIOS").resume(); 
     139     bool isDefined = domain_hdl->bounds_lon_2d.hasInheritedValue(); 
    90140     CTimer::get("XIOS").suspend(); 
    91141     return isDefined; 
     
    429479 
    430480 
    431   void cxios_set_domain_latvalue(domain_Ptr domain_hdl, double* latvalue, int extent1) 
    432   { 
    433     CTimer::get("XIOS").resume(); 
    434     CArray<double,1> tmp(latvalue, shape(extent1), neverDeleteData); 
    435     domain_hdl->latvalue.reference(tmp.copy()); 
    436      CTimer::get("XIOS").suspend(); 
    437   } 
    438  
    439   void cxios_get_domain_latvalue(domain_Ptr domain_hdl, double* latvalue, int extent1) 
    440   { 
    441     CTimer::get("XIOS").resume(); 
    442     CArray<double,1> tmp(latvalue, shape(extent1), neverDeleteData); 
    443     tmp=domain_hdl->latvalue.getInheritedValue(); 
    444      CTimer::get("XIOS").suspend(); 
    445   } 
    446  
    447   bool cxios_is_defined_domain_latvalue(domain_Ptr domain_hdl) 
    448   { 
    449      CTimer::get("XIOS").resume(); 
    450      bool isDefined = domain_hdl->latvalue.hasInheritedValue(); 
     481  void cxios_set_domain_latvalue_1d(domain_Ptr domain_hdl, double* latvalue_1d, int extent1) 
     482  { 
     483    CTimer::get("XIOS").resume(); 
     484    CArray<double,1> tmp(latvalue_1d, shape(extent1), neverDeleteData); 
     485    domain_hdl->latvalue_1d.reference(tmp.copy()); 
     486     CTimer::get("XIOS").suspend(); 
     487  } 
     488 
     489  void cxios_get_domain_latvalue_1d(domain_Ptr domain_hdl, double* latvalue_1d, int extent1) 
     490  { 
     491    CTimer::get("XIOS").resume(); 
     492    CArray<double,1> tmp(latvalue_1d, shape(extent1), neverDeleteData); 
     493    tmp=domain_hdl->latvalue_1d.getInheritedValue(); 
     494     CTimer::get("XIOS").suspend(); 
     495  } 
     496 
     497  bool cxios_is_defined_domain_latvalue_1d(domain_Ptr domain_hdl) 
     498  { 
     499     CTimer::get("XIOS").resume(); 
     500     bool isDefined = domain_hdl->latvalue_1d.hasInheritedValue(); 
     501     CTimer::get("XIOS").suspend(); 
     502     return isDefined; 
     503  } 
     504 
     505 
     506  void cxios_set_domain_latvalue_2d(domain_Ptr domain_hdl, double* latvalue_2d, int extent1, int extent2) 
     507  { 
     508    CTimer::get("XIOS").resume(); 
     509    CArray<double,2> tmp(latvalue_2d, shape(extent1, extent2), neverDeleteData); 
     510    domain_hdl->latvalue_2d.reference(tmp.copy()); 
     511     CTimer::get("XIOS").suspend(); 
     512  } 
     513 
     514  void cxios_get_domain_latvalue_2d(domain_Ptr domain_hdl, double* latvalue_2d, int extent1, int extent2) 
     515  { 
     516    CTimer::get("XIOS").resume(); 
     517    CArray<double,2> tmp(latvalue_2d, shape(extent1, extent2), neverDeleteData); 
     518    tmp=domain_hdl->latvalue_2d.getInheritedValue(); 
     519     CTimer::get("XIOS").suspend(); 
     520  } 
     521 
     522  bool cxios_is_defined_domain_latvalue_2d(domain_Ptr domain_hdl) 
     523  { 
     524     CTimer::get("XIOS").resume(); 
     525     bool isDefined = domain_hdl->latvalue_2d.hasInheritedValue(); 
    451526     CTimer::get("XIOS").suspend(); 
    452527     return isDefined; 
     
    480555 
    481556 
    482   void cxios_set_domain_lonvalue(domain_Ptr domain_hdl, double* lonvalue, int extent1) 
    483   { 
    484     CTimer::get("XIOS").resume(); 
    485     CArray<double,1> tmp(lonvalue, shape(extent1), neverDeleteData); 
    486     domain_hdl->lonvalue.reference(tmp.copy()); 
    487      CTimer::get("XIOS").suspend(); 
    488   } 
    489  
    490   void cxios_get_domain_lonvalue(domain_Ptr domain_hdl, double* lonvalue, int extent1) 
    491   { 
    492     CTimer::get("XIOS").resume(); 
    493     CArray<double,1> tmp(lonvalue, shape(extent1), neverDeleteData); 
    494     tmp=domain_hdl->lonvalue.getInheritedValue(); 
    495      CTimer::get("XIOS").suspend(); 
    496   } 
    497  
    498   bool cxios_is_defined_domain_lonvalue(domain_Ptr domain_hdl) 
    499   { 
    500      CTimer::get("XIOS").resume(); 
    501      bool isDefined = domain_hdl->lonvalue.hasInheritedValue(); 
    502      CTimer::get("XIOS").suspend(); 
    503      return isDefined; 
    504   } 
    505  
    506  
    507   void cxios_set_domain_mask(domain_Ptr domain_hdl, bool* mask, int extent1, int extent2) 
    508   { 
    509     CTimer::get("XIOS").resume(); 
    510     CArray<bool,2> tmp(mask, shape(extent1, extent2), neverDeleteData); 
    511     domain_hdl->mask.reference(tmp.copy()); 
    512      CTimer::get("XIOS").suspend(); 
    513   } 
    514  
    515   void cxios_get_domain_mask(domain_Ptr domain_hdl, bool* mask, int extent1, int extent2) 
    516   { 
    517     CTimer::get("XIOS").resume(); 
    518     CArray<bool,2> tmp(mask, shape(extent1, extent2), neverDeleteData); 
    519     tmp=domain_hdl->mask.getInheritedValue(); 
    520      CTimer::get("XIOS").suspend(); 
    521   } 
    522  
    523   bool cxios_is_defined_domain_mask(domain_Ptr domain_hdl) 
    524   { 
    525      CTimer::get("XIOS").resume(); 
    526      bool isDefined = domain_hdl->mask.hasInheritedValue(); 
     557  void cxios_set_domain_lonvalue_1d(domain_Ptr domain_hdl, double* lonvalue_1d, int extent1) 
     558  { 
     559    CTimer::get("XIOS").resume(); 
     560    CArray<double,1> tmp(lonvalue_1d, shape(extent1), neverDeleteData); 
     561    domain_hdl->lonvalue_1d.reference(tmp.copy()); 
     562     CTimer::get("XIOS").suspend(); 
     563  } 
     564 
     565  void cxios_get_domain_lonvalue_1d(domain_Ptr domain_hdl, double* lonvalue_1d, int extent1) 
     566  { 
     567    CTimer::get("XIOS").resume(); 
     568    CArray<double,1> tmp(lonvalue_1d, shape(extent1), neverDeleteData); 
     569    tmp=domain_hdl->lonvalue_1d.getInheritedValue(); 
     570     CTimer::get("XIOS").suspend(); 
     571  } 
     572 
     573  bool cxios_is_defined_domain_lonvalue_1d(domain_Ptr domain_hdl) 
     574  { 
     575     CTimer::get("XIOS").resume(); 
     576     bool isDefined = domain_hdl->lonvalue_1d.hasInheritedValue(); 
     577     CTimer::get("XIOS").suspend(); 
     578     return isDefined; 
     579  } 
     580 
     581 
     582  void cxios_set_domain_lonvalue_2d(domain_Ptr domain_hdl, double* lonvalue_2d, int extent1, int extent2) 
     583  { 
     584    CTimer::get("XIOS").resume(); 
     585    CArray<double,2> tmp(lonvalue_2d, shape(extent1, extent2), neverDeleteData); 
     586    domain_hdl->lonvalue_2d.reference(tmp.copy()); 
     587     CTimer::get("XIOS").suspend(); 
     588  } 
     589 
     590  void cxios_get_domain_lonvalue_2d(domain_Ptr domain_hdl, double* lonvalue_2d, int extent1, int extent2) 
     591  { 
     592    CTimer::get("XIOS").resume(); 
     593    CArray<double,2> tmp(lonvalue_2d, shape(extent1, extent2), neverDeleteData); 
     594    tmp=domain_hdl->lonvalue_2d.getInheritedValue(); 
     595     CTimer::get("XIOS").suspend(); 
     596  } 
     597 
     598  bool cxios_is_defined_domain_lonvalue_2d(domain_Ptr domain_hdl) 
     599  { 
     600     CTimer::get("XIOS").resume(); 
     601     bool isDefined = domain_hdl->lonvalue_2d.hasInheritedValue(); 
     602     CTimer::get("XIOS").suspend(); 
     603     return isDefined; 
     604  } 
     605 
     606 
     607  void cxios_set_domain_mask_1d(domain_Ptr domain_hdl, bool* mask_1d, int extent1) 
     608  { 
     609    CTimer::get("XIOS").resume(); 
     610    CArray<bool,1> tmp(mask_1d, shape(extent1), neverDeleteData); 
     611    domain_hdl->mask_1d.reference(tmp.copy()); 
     612     CTimer::get("XIOS").suspend(); 
     613  } 
     614 
     615  void cxios_get_domain_mask_1d(domain_Ptr domain_hdl, bool* mask_1d, int extent1) 
     616  { 
     617    CTimer::get("XIOS").resume(); 
     618    CArray<bool,1> tmp(mask_1d, shape(extent1), neverDeleteData); 
     619    tmp=domain_hdl->mask_1d.getInheritedValue(); 
     620     CTimer::get("XIOS").suspend(); 
     621  } 
     622 
     623  bool cxios_is_defined_domain_mask_1d(domain_Ptr domain_hdl) 
     624  { 
     625     CTimer::get("XIOS").resume(); 
     626     bool isDefined = domain_hdl->mask_1d.hasInheritedValue(); 
     627     CTimer::get("XIOS").suspend(); 
     628     return isDefined; 
     629  } 
     630 
     631 
     632  void cxios_set_domain_mask_2d(domain_Ptr domain_hdl, bool* mask_2d, int extent1, int extent2) 
     633  { 
     634    CTimer::get("XIOS").resume(); 
     635    CArray<bool,2> tmp(mask_2d, shape(extent1, extent2), neverDeleteData); 
     636    domain_hdl->mask_2d.reference(tmp.copy()); 
     637     CTimer::get("XIOS").suspend(); 
     638  } 
     639 
     640  void cxios_get_domain_mask_2d(domain_Ptr domain_hdl, bool* mask_2d, int extent1, int extent2) 
     641  { 
     642    CTimer::get("XIOS").resume(); 
     643    CArray<bool,2> tmp(mask_2d, shape(extent1, extent2), neverDeleteData); 
     644    tmp=domain_hdl->mask_2d.getInheritedValue(); 
     645     CTimer::get("XIOS").suspend(); 
     646  } 
     647 
     648  bool cxios_is_defined_domain_mask_2d(domain_Ptr domain_hdl) 
     649  { 
     650     CTimer::get("XIOS").resume(); 
     651     bool isDefined = domain_hdl->mask_2d.hasInheritedValue(); 
    527652     CTimer::get("XIOS").suspend(); 
    528653     return isDefined; 
  • XIOS/trunk/src/interface/c_attr/icdomaingroup_attr.cpp

    r657 r664  
    4343 
    4444 
    45   void cxios_set_domaingroup_bounds_lat(domaingroup_Ptr domaingroup_hdl, double* bounds_lat, int extent1, int extent2) 
    46   { 
    47     CTimer::get("XIOS").resume(); 
    48     CArray<double,2> tmp(bounds_lat, shape(extent1, extent2), neverDeleteData); 
    49     domaingroup_hdl->bounds_lat.reference(tmp.copy()); 
    50      CTimer::get("XIOS").suspend(); 
    51   } 
    52  
    53   void cxios_get_domaingroup_bounds_lat(domaingroup_Ptr domaingroup_hdl, double* bounds_lat, int extent1, int extent2) 
    54   { 
    55     CTimer::get("XIOS").resume(); 
    56     CArray<double,2> tmp(bounds_lat, shape(extent1, extent2), neverDeleteData); 
    57     tmp=domaingroup_hdl->bounds_lat.getInheritedValue(); 
    58      CTimer::get("XIOS").suspend(); 
    59   } 
    60  
    61   bool cxios_is_defined_domaingroup_bounds_lat(domaingroup_Ptr domaingroup_hdl) 
    62   { 
    63      CTimer::get("XIOS").resume(); 
    64      bool isDefined = domaingroup_hdl->bounds_lat.hasInheritedValue(); 
    65      CTimer::get("XIOS").suspend(); 
    66      return isDefined; 
    67   } 
    68  
    69  
    70   void cxios_set_domaingroup_bounds_lon(domaingroup_Ptr domaingroup_hdl, double* bounds_lon, int extent1, int extent2) 
    71   { 
    72     CTimer::get("XIOS").resume(); 
    73     CArray<double,2> tmp(bounds_lon, shape(extent1, extent2), neverDeleteData); 
    74     domaingroup_hdl->bounds_lon.reference(tmp.copy()); 
    75      CTimer::get("XIOS").suspend(); 
    76   } 
    77  
    78   void cxios_get_domaingroup_bounds_lon(domaingroup_Ptr domaingroup_hdl, double* bounds_lon, int extent1, int extent2) 
    79   { 
    80     CTimer::get("XIOS").resume(); 
    81     CArray<double,2> tmp(bounds_lon, shape(extent1, extent2), neverDeleteData); 
    82     tmp=domaingroup_hdl->bounds_lon.getInheritedValue(); 
    83      CTimer::get("XIOS").suspend(); 
    84   } 
    85  
    86   bool cxios_is_defined_domaingroup_bounds_lon(domaingroup_Ptr domaingroup_hdl) 
    87   { 
    88      CTimer::get("XIOS").resume(); 
    89      bool isDefined = domaingroup_hdl->bounds_lon.hasInheritedValue(); 
     45  void cxios_set_domaingroup_bounds_lat_1d(domaingroup_Ptr domaingroup_hdl, double* bounds_lat_1d, int extent1, int extent2) 
     46  { 
     47    CTimer::get("XIOS").resume(); 
     48    CArray<double,2> tmp(bounds_lat_1d, shape(extent1, extent2), neverDeleteData); 
     49    domaingroup_hdl->bounds_lat_1d.reference(tmp.copy()); 
     50     CTimer::get("XIOS").suspend(); 
     51  } 
     52 
     53  void cxios_get_domaingroup_bounds_lat_1d(domaingroup_Ptr domaingroup_hdl, double* bounds_lat_1d, int extent1, int extent2) 
     54  { 
     55    CTimer::get("XIOS").resume(); 
     56    CArray<double,2> tmp(bounds_lat_1d, shape(extent1, extent2), neverDeleteData); 
     57    tmp=domaingroup_hdl->bounds_lat_1d.getInheritedValue(); 
     58     CTimer::get("XIOS").suspend(); 
     59  } 
     60 
     61  bool cxios_is_defined_domaingroup_bounds_lat_1d(domaingroup_Ptr domaingroup_hdl) 
     62  { 
     63     CTimer::get("XIOS").resume(); 
     64     bool isDefined = domaingroup_hdl->bounds_lat_1d.hasInheritedValue(); 
     65     CTimer::get("XIOS").suspend(); 
     66     return isDefined; 
     67  } 
     68 
     69 
     70  void cxios_set_domaingroup_bounds_lat_2d(domaingroup_Ptr domaingroup_hdl, double* bounds_lat_2d, int extent1, int extent2, int extent3) 
     71  { 
     72    CTimer::get("XIOS").resume(); 
     73    CArray<double,3> tmp(bounds_lat_2d, shape(extent1, extent2, extent3), neverDeleteData); 
     74    domaingroup_hdl->bounds_lat_2d.reference(tmp.copy()); 
     75     CTimer::get("XIOS").suspend(); 
     76  } 
     77 
     78  void cxios_get_domaingroup_bounds_lat_2d(domaingroup_Ptr domaingroup_hdl, double* bounds_lat_2d, int extent1, int extent2, int extent3) 
     79  { 
     80    CTimer::get("XIOS").resume(); 
     81    CArray<double,3> tmp(bounds_lat_2d, shape(extent1, extent2, extent3), neverDeleteData); 
     82    tmp=domaingroup_hdl->bounds_lat_2d.getInheritedValue(); 
     83     CTimer::get("XIOS").suspend(); 
     84  } 
     85 
     86  bool cxios_is_defined_domaingroup_bounds_lat_2d(domaingroup_Ptr domaingroup_hdl) 
     87  { 
     88     CTimer::get("XIOS").resume(); 
     89     bool isDefined = domaingroup_hdl->bounds_lat_2d.hasInheritedValue(); 
     90     CTimer::get("XIOS").suspend(); 
     91     return isDefined; 
     92  } 
     93 
     94 
     95  void cxios_set_domaingroup_bounds_lon_1d(domaingroup_Ptr domaingroup_hdl, double* bounds_lon_1d, int extent1, int extent2) 
     96  { 
     97    CTimer::get("XIOS").resume(); 
     98    CArray<double,2> tmp(bounds_lon_1d, shape(extent1, extent2), neverDeleteData); 
     99    domaingroup_hdl->bounds_lon_1d.reference(tmp.copy()); 
     100     CTimer::get("XIOS").suspend(); 
     101  } 
     102 
     103  void cxios_get_domaingroup_bounds_lon_1d(domaingroup_Ptr domaingroup_hdl, double* bounds_lon_1d, int extent1, int extent2) 
     104  { 
     105    CTimer::get("XIOS").resume(); 
     106    CArray<double,2> tmp(bounds_lon_1d, shape(extent1, extent2), neverDeleteData); 
     107    tmp=domaingroup_hdl->bounds_lon_1d.getInheritedValue(); 
     108     CTimer::get("XIOS").suspend(); 
     109  } 
     110 
     111  bool cxios_is_defined_domaingroup_bounds_lon_1d(domaingroup_Ptr domaingroup_hdl) 
     112  { 
     113     CTimer::get("XIOS").resume(); 
     114     bool isDefined = domaingroup_hdl->bounds_lon_1d.hasInheritedValue(); 
     115     CTimer::get("XIOS").suspend(); 
     116     return isDefined; 
     117  } 
     118 
     119 
     120  void cxios_set_domaingroup_bounds_lon_2d(domaingroup_Ptr domaingroup_hdl, double* bounds_lon_2d, int extent1, int extent2, int extent3) 
     121  { 
     122    CTimer::get("XIOS").resume(); 
     123    CArray<double,3> tmp(bounds_lon_2d, shape(extent1, extent2, extent3), neverDeleteData); 
     124    domaingroup_hdl->bounds_lon_2d.reference(tmp.copy()); 
     125     CTimer::get("XIOS").suspend(); 
     126  } 
     127 
     128  void cxios_get_domaingroup_bounds_lon_2d(domaingroup_Ptr domaingroup_hdl, double* bounds_lon_2d, int extent1, int extent2, int extent3) 
     129  { 
     130    CTimer::get("XIOS").resume(); 
     131    CArray<double,3> tmp(bounds_lon_2d, shape(extent1, extent2, extent3), neverDeleteData); 
     132    tmp=domaingroup_hdl->bounds_lon_2d.getInheritedValue(); 
     133     CTimer::get("XIOS").suspend(); 
     134  } 
     135 
     136  bool cxios_is_defined_domaingroup_bounds_lon_2d(domaingroup_Ptr domaingroup_hdl) 
     137  { 
     138     CTimer::get("XIOS").resume(); 
     139     bool isDefined = domaingroup_hdl->bounds_lon_2d.hasInheritedValue(); 
    90140     CTimer::get("XIOS").suspend(); 
    91141     return isDefined; 
     
    455505 
    456506 
    457   void cxios_set_domaingroup_latvalue(domaingroup_Ptr domaingroup_hdl, double* latvalue, int extent1) 
    458   { 
    459     CTimer::get("XIOS").resume(); 
    460     CArray<double,1> tmp(latvalue, shape(extent1), neverDeleteData); 
    461     domaingroup_hdl->latvalue.reference(tmp.copy()); 
    462      CTimer::get("XIOS").suspend(); 
    463   } 
    464  
    465   void cxios_get_domaingroup_latvalue(domaingroup_Ptr domaingroup_hdl, double* latvalue, int extent1) 
    466   { 
    467     CTimer::get("XIOS").resume(); 
    468     CArray<double,1> tmp(latvalue, shape(extent1), neverDeleteData); 
    469     tmp=domaingroup_hdl->latvalue.getInheritedValue(); 
    470      CTimer::get("XIOS").suspend(); 
    471   } 
    472  
    473   bool cxios_is_defined_domaingroup_latvalue(domaingroup_Ptr domaingroup_hdl) 
    474   { 
    475      CTimer::get("XIOS").resume(); 
    476      bool isDefined = domaingroup_hdl->latvalue.hasInheritedValue(); 
     507  void cxios_set_domaingroup_latvalue_1d(domaingroup_Ptr domaingroup_hdl, double* latvalue_1d, int extent1) 
     508  { 
     509    CTimer::get("XIOS").resume(); 
     510    CArray<double,1> tmp(latvalue_1d, shape(extent1), neverDeleteData); 
     511    domaingroup_hdl->latvalue_1d.reference(tmp.copy()); 
     512     CTimer::get("XIOS").suspend(); 
     513  } 
     514 
     515  void cxios_get_domaingroup_latvalue_1d(domaingroup_Ptr domaingroup_hdl, double* latvalue_1d, int extent1) 
     516  { 
     517    CTimer::get("XIOS").resume(); 
     518    CArray<double,1> tmp(latvalue_1d, shape(extent1), neverDeleteData); 
     519    tmp=domaingroup_hdl->latvalue_1d.getInheritedValue(); 
     520     CTimer::get("XIOS").suspend(); 
     521  } 
     522 
     523  bool cxios_is_defined_domaingroup_latvalue_1d(domaingroup_Ptr domaingroup_hdl) 
     524  { 
     525     CTimer::get("XIOS").resume(); 
     526     bool isDefined = domaingroup_hdl->latvalue_1d.hasInheritedValue(); 
     527     CTimer::get("XIOS").suspend(); 
     528     return isDefined; 
     529  } 
     530 
     531 
     532  void cxios_set_domaingroup_latvalue_2d(domaingroup_Ptr domaingroup_hdl, double* latvalue_2d, int extent1, int extent2) 
     533  { 
     534    CTimer::get("XIOS").resume(); 
     535    CArray<double,2> tmp(latvalue_2d, shape(extent1, extent2), neverDeleteData); 
     536    domaingroup_hdl->latvalue_2d.reference(tmp.copy()); 
     537     CTimer::get("XIOS").suspend(); 
     538  } 
     539 
     540  void cxios_get_domaingroup_latvalue_2d(domaingroup_Ptr domaingroup_hdl, double* latvalue_2d, int extent1, int extent2) 
     541  { 
     542    CTimer::get("XIOS").resume(); 
     543    CArray<double,2> tmp(latvalue_2d, shape(extent1, extent2), neverDeleteData); 
     544    tmp=domaingroup_hdl->latvalue_2d.getInheritedValue(); 
     545     CTimer::get("XIOS").suspend(); 
     546  } 
     547 
     548  bool cxios_is_defined_domaingroup_latvalue_2d(domaingroup_Ptr domaingroup_hdl) 
     549  { 
     550     CTimer::get("XIOS").resume(); 
     551     bool isDefined = domaingroup_hdl->latvalue_2d.hasInheritedValue(); 
    477552     CTimer::get("XIOS").suspend(); 
    478553     return isDefined; 
     
    506581 
    507582 
    508   void cxios_set_domaingroup_lonvalue(domaingroup_Ptr domaingroup_hdl, double* lonvalue, int extent1) 
    509   { 
    510     CTimer::get("XIOS").resume(); 
    511     CArray<double,1> tmp(lonvalue, shape(extent1), neverDeleteData); 
    512     domaingroup_hdl->lonvalue.reference(tmp.copy()); 
    513      CTimer::get("XIOS").suspend(); 
    514   } 
    515  
    516   void cxios_get_domaingroup_lonvalue(domaingroup_Ptr domaingroup_hdl, double* lonvalue, int extent1) 
    517   { 
    518     CTimer::get("XIOS").resume(); 
    519     CArray<double,1> tmp(lonvalue, shape(extent1), neverDeleteData); 
    520     tmp=domaingroup_hdl->lonvalue.getInheritedValue(); 
    521      CTimer::get("XIOS").suspend(); 
    522   } 
    523  
    524   bool cxios_is_defined_domaingroup_lonvalue(domaingroup_Ptr domaingroup_hdl) 
    525   { 
    526      CTimer::get("XIOS").resume(); 
    527      bool isDefined = domaingroup_hdl->lonvalue.hasInheritedValue(); 
    528      CTimer::get("XIOS").suspend(); 
    529      return isDefined; 
    530   } 
    531  
    532  
    533   void cxios_set_domaingroup_mask(domaingroup_Ptr domaingroup_hdl, bool* mask, int extent1, int extent2) 
    534   { 
    535     CTimer::get("XIOS").resume(); 
    536     CArray<bool,2> tmp(mask, shape(extent1, extent2), neverDeleteData); 
    537     domaingroup_hdl->mask.reference(tmp.copy()); 
    538      CTimer::get("XIOS").suspend(); 
    539   } 
    540  
    541   void cxios_get_domaingroup_mask(domaingroup_Ptr domaingroup_hdl, bool* mask, int extent1, int extent2) 
    542   { 
    543     CTimer::get("XIOS").resume(); 
    544     CArray<bool,2> tmp(mask, shape(extent1, extent2), neverDeleteData); 
    545     tmp=domaingroup_hdl->mask.getInheritedValue(); 
    546      CTimer::get("XIOS").suspend(); 
    547   } 
    548  
    549   bool cxios_is_defined_domaingroup_mask(domaingroup_Ptr domaingroup_hdl) 
    550   { 
    551      CTimer::get("XIOS").resume(); 
    552      bool isDefined = domaingroup_hdl->mask.hasInheritedValue(); 
     583  void cxios_set_domaingroup_lonvalue_1d(domaingroup_Ptr domaingroup_hdl, double* lonvalue_1d, int extent1) 
     584  { 
     585    CTimer::get("XIOS").resume(); 
     586    CArray<double,1> tmp(lonvalue_1d, shape(extent1), neverDeleteData); 
     587    domaingroup_hdl->lonvalue_1d.reference(tmp.copy()); 
     588     CTimer::get("XIOS").suspend(); 
     589  } 
     590 
     591  void cxios_get_domaingroup_lonvalue_1d(domaingroup_Ptr domaingroup_hdl, double* lonvalue_1d, int extent1) 
     592  { 
     593    CTimer::get("XIOS").resume(); 
     594    CArray<double,1> tmp(lonvalue_1d, shape(extent1), neverDeleteData); 
     595    tmp=domaingroup_hdl->lonvalue_1d.getInheritedValue(); 
     596     CTimer::get("XIOS").suspend(); 
     597  } 
     598 
     599  bool cxios_is_defined_domaingroup_lonvalue_1d(domaingroup_Ptr domaingroup_hdl) 
     600  { 
     601     CTimer::get("XIOS").resume(); 
     602     bool isDefined = domaingroup_hdl->lonvalue_1d.hasInheritedValue(); 
     603     CTimer::get("XIOS").suspend(); 
     604     return isDefined; 
     605  } 
     606 
     607 
     608  void cxios_set_domaingroup_lonvalue_2d(domaingroup_Ptr domaingroup_hdl, double* lonvalue_2d, int extent1, int extent2) 
     609  { 
     610    CTimer::get("XIOS").resume(); 
     611    CArray<double,2> tmp(lonvalue_2d, shape(extent1, extent2), neverDeleteData); 
     612    domaingroup_hdl->lonvalue_2d.reference(tmp.copy()); 
     613     CTimer::get("XIOS").suspend(); 
     614  } 
     615 
     616  void cxios_get_domaingroup_lonvalue_2d(domaingroup_Ptr domaingroup_hdl, double* lonvalue_2d, int extent1, int extent2) 
     617  { 
     618    CTimer::get("XIOS").resume(); 
     619    CArray<double,2> tmp(lonvalue_2d, shape(extent1, extent2), neverDeleteData); 
     620    tmp=domaingroup_hdl->lonvalue_2d.getInheritedValue(); 
     621     CTimer::get("XIOS").suspend(); 
     622  } 
     623 
     624  bool cxios_is_defined_domaingroup_lonvalue_2d(domaingroup_Ptr domaingroup_hdl) 
     625  { 
     626     CTimer::get("XIOS").resume(); 
     627     bool isDefined = domaingroup_hdl->lonvalue_2d.hasInheritedValue(); 
     628     CTimer::get("XIOS").suspend(); 
     629     return isDefined; 
     630  } 
     631 
     632 
     633  void cxios_set_domaingroup_mask_1d(domaingroup_Ptr domaingroup_hdl, bool* mask_1d, int extent1) 
     634  { 
     635    CTimer::get("XIOS").resume(); 
     636    CArray<bool,1> tmp(mask_1d, shape(extent1), neverDeleteData); 
     637    domaingroup_hdl->mask_1d.reference(tmp.copy()); 
     638     CTimer::get("XIOS").suspend(); 
     639  } 
     640 
     641  void cxios_get_domaingroup_mask_1d(domaingroup_Ptr domaingroup_hdl, bool* mask_1d, int extent1) 
     642  { 
     643    CTimer::get("XIOS").resume(); 
     644    CArray<bool,1> tmp(mask_1d, shape(extent1), neverDeleteData); 
     645    tmp=domaingroup_hdl->mask_1d.getInheritedValue(); 
     646     CTimer::get("XIOS").suspend(); 
     647  } 
     648 
     649  bool cxios_is_defined_domaingroup_mask_1d(domaingroup_Ptr domaingroup_hdl) 
     650  { 
     651     CTimer::get("XIOS").resume(); 
     652     bool isDefined = domaingroup_hdl->mask_1d.hasInheritedValue(); 
     653     CTimer::get("XIOS").suspend(); 
     654     return isDefined; 
     655  } 
     656 
     657 
     658  void cxios_set_domaingroup_mask_2d(domaingroup_Ptr domaingroup_hdl, bool* mask_2d, int extent1, int extent2) 
     659  { 
     660    CTimer::get("XIOS").resume(); 
     661    CArray<bool,2> tmp(mask_2d, shape(extent1, extent2), neverDeleteData); 
     662    domaingroup_hdl->mask_2d.reference(tmp.copy()); 
     663     CTimer::get("XIOS").suspend(); 
     664  } 
     665 
     666  void cxios_get_domaingroup_mask_2d(domaingroup_Ptr domaingroup_hdl, bool* mask_2d, int extent1, int extent2) 
     667  { 
     668    CTimer::get("XIOS").resume(); 
     669    CArray<bool,2> tmp(mask_2d, shape(extent1, extent2), neverDeleteData); 
     670    tmp=domaingroup_hdl->mask_2d.getInheritedValue(); 
     671     CTimer::get("XIOS").suspend(); 
     672  } 
     673 
     674  bool cxios_is_defined_domaingroup_mask_2d(domaingroup_Ptr domaingroup_hdl) 
     675  { 
     676     CTimer::get("XIOS").resume(); 
     677     bool isDefined = domaingroup_hdl->mask_2d.hasInheritedValue(); 
    553678     CTimer::get("XIOS").suspend(); 
    554679     return isDefined; 
  • XIOS/trunk/src/interface/fortran_attr/domain_interface_attr.F90

    r657 r664  
    3333 
    3434 
    35     SUBROUTINE cxios_set_domain_bounds_lat(domain_hdl, bounds_lat, extent1, extent2) BIND(C) 
    36       USE ISO_C_BINDING 
    37       INTEGER (kind = C_INTPTR_T), VALUE       :: domain_hdl 
    38       REAL (KIND=C_DOUBLE)     , DIMENSION(*) :: bounds_lat 
    39       INTEGER (kind = C_INT), VALUE  :: extent1 
    40       INTEGER (kind = C_INT), VALUE  :: extent2 
    41     END SUBROUTINE cxios_set_domain_bounds_lat 
    42  
    43     SUBROUTINE cxios_get_domain_bounds_lat(domain_hdl, bounds_lat, extent1, extent2) BIND(C) 
    44       USE ISO_C_BINDING 
    45       INTEGER (kind = C_INTPTR_T), VALUE       :: domain_hdl 
    46       REAL (KIND=C_DOUBLE)     , DIMENSION(*) :: bounds_lat 
    47       INTEGER (kind = C_INT), VALUE  :: extent1 
    48       INTEGER (kind = C_INT), VALUE  :: extent2 
    49     END SUBROUTINE cxios_get_domain_bounds_lat 
    50  
    51     FUNCTION cxios_is_defined_domain_bounds_lat(domain_hdl) BIND(C) 
    52       USE ISO_C_BINDING 
    53       LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_bounds_lat 
    54       INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
    55     END FUNCTION cxios_is_defined_domain_bounds_lat 
    56  
    57  
    58     SUBROUTINE cxios_set_domain_bounds_lon(domain_hdl, bounds_lon, extent1, extent2) BIND(C) 
    59       USE ISO_C_BINDING 
    60       INTEGER (kind = C_INTPTR_T), VALUE       :: domain_hdl 
    61       REAL (KIND=C_DOUBLE)     , DIMENSION(*) :: bounds_lon 
    62       INTEGER (kind = C_INT), VALUE  :: extent1 
    63       INTEGER (kind = C_INT), VALUE  :: extent2 
    64     END SUBROUTINE cxios_set_domain_bounds_lon 
    65  
    66     SUBROUTINE cxios_get_domain_bounds_lon(domain_hdl, bounds_lon, extent1, extent2) BIND(C) 
    67       USE ISO_C_BINDING 
    68       INTEGER (kind = C_INTPTR_T), VALUE       :: domain_hdl 
    69       REAL (KIND=C_DOUBLE)     , DIMENSION(*) :: bounds_lon 
    70       INTEGER (kind = C_INT), VALUE  :: extent1 
    71       INTEGER (kind = C_INT), VALUE  :: extent2 
    72     END SUBROUTINE cxios_get_domain_bounds_lon 
    73  
    74     FUNCTION cxios_is_defined_domain_bounds_lon(domain_hdl) BIND(C) 
    75       USE ISO_C_BINDING 
    76       LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_bounds_lon 
    77       INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
    78     END FUNCTION cxios_is_defined_domain_bounds_lon 
     35    SUBROUTINE cxios_set_domain_bounds_lat_1d(domain_hdl, bounds_lat_1d, extent1, extent2) BIND(C) 
     36      USE ISO_C_BINDING 
     37      INTEGER (kind = C_INTPTR_T), VALUE       :: domain_hdl 
     38      REAL (KIND=C_DOUBLE)     , DIMENSION(*) :: bounds_lat_1d 
     39      INTEGER (kind = C_INT), VALUE  :: extent1 
     40      INTEGER (kind = C_INT), VALUE  :: extent2 
     41    END SUBROUTINE cxios_set_domain_bounds_lat_1d 
     42 
     43    SUBROUTINE cxios_get_domain_bounds_lat_1d(domain_hdl, bounds_lat_1d, extent1, extent2) BIND(C) 
     44      USE ISO_C_BINDING 
     45      INTEGER (kind = C_INTPTR_T), VALUE       :: domain_hdl 
     46      REAL (KIND=C_DOUBLE)     , DIMENSION(*) :: bounds_lat_1d 
     47      INTEGER (kind = C_INT), VALUE  :: extent1 
     48      INTEGER (kind = C_INT), VALUE  :: extent2 
     49    END SUBROUTINE cxios_get_domain_bounds_lat_1d 
     50 
     51    FUNCTION cxios_is_defined_domain_bounds_lat_1d(domain_hdl) BIND(C) 
     52      USE ISO_C_BINDING 
     53      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_bounds_lat_1d 
     54      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     55    END FUNCTION cxios_is_defined_domain_bounds_lat_1d 
     56 
     57 
     58    SUBROUTINE cxios_set_domain_bounds_lat_2d(domain_hdl, bounds_lat_2d, extent1, extent2, extent3) BIND(C) 
     59      USE ISO_C_BINDING 
     60      INTEGER (kind = C_INTPTR_T), VALUE       :: domain_hdl 
     61      REAL (KIND=C_DOUBLE)     , DIMENSION(*) :: bounds_lat_2d 
     62      INTEGER (kind = C_INT), VALUE  :: extent1 
     63      INTEGER (kind = C_INT), VALUE  :: extent2 
     64      INTEGER (kind = C_INT), VALUE  :: extent3 
     65    END SUBROUTINE cxios_set_domain_bounds_lat_2d 
     66 
     67    SUBROUTINE cxios_get_domain_bounds_lat_2d(domain_hdl, bounds_lat_2d, extent1, extent2, extent3) BIND(C) 
     68      USE ISO_C_BINDING 
     69      INTEGER (kind = C_INTPTR_T), VALUE       :: domain_hdl 
     70      REAL (KIND=C_DOUBLE)     , DIMENSION(*) :: bounds_lat_2d 
     71      INTEGER (kind = C_INT), VALUE  :: extent1 
     72      INTEGER (kind = C_INT), VALUE  :: extent2 
     73      INTEGER (kind = C_INT), VALUE  :: extent3 
     74    END SUBROUTINE cxios_get_domain_bounds_lat_2d 
     75 
     76    FUNCTION cxios_is_defined_domain_bounds_lat_2d(domain_hdl) BIND(C) 
     77      USE ISO_C_BINDING 
     78      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_bounds_lat_2d 
     79      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     80    END FUNCTION cxios_is_defined_domain_bounds_lat_2d 
     81 
     82 
     83    SUBROUTINE cxios_set_domain_bounds_lon_1d(domain_hdl, bounds_lon_1d, extent1, extent2) BIND(C) 
     84      USE ISO_C_BINDING 
     85      INTEGER (kind = C_INTPTR_T), VALUE       :: domain_hdl 
     86      REAL (KIND=C_DOUBLE)     , DIMENSION(*) :: bounds_lon_1d 
     87      INTEGER (kind = C_INT), VALUE  :: extent1 
     88      INTEGER (kind = C_INT), VALUE  :: extent2 
     89    END SUBROUTINE cxios_set_domain_bounds_lon_1d 
     90 
     91    SUBROUTINE cxios_get_domain_bounds_lon_1d(domain_hdl, bounds_lon_1d, extent1, extent2) BIND(C) 
     92      USE ISO_C_BINDING 
     93      INTEGER (kind = C_INTPTR_T), VALUE       :: domain_hdl 
     94      REAL (KIND=C_DOUBLE)     , DIMENSION(*) :: bounds_lon_1d 
     95      INTEGER (kind = C_INT), VALUE  :: extent1 
     96      INTEGER (kind = C_INT), VALUE  :: extent2 
     97    END SUBROUTINE cxios_get_domain_bounds_lon_1d 
     98 
     99    FUNCTION cxios_is_defined_domain_bounds_lon_1d(domain_hdl) BIND(C) 
     100      USE ISO_C_BINDING 
     101      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_bounds_lon_1d 
     102      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     103    END FUNCTION cxios_is_defined_domain_bounds_lon_1d 
     104 
     105 
     106    SUBROUTINE cxios_set_domain_bounds_lon_2d(domain_hdl, bounds_lon_2d, extent1, extent2, extent3) BIND(C) 
     107      USE ISO_C_BINDING 
     108      INTEGER (kind = C_INTPTR_T), VALUE       :: domain_hdl 
     109      REAL (KIND=C_DOUBLE)     , DIMENSION(*) :: bounds_lon_2d 
     110      INTEGER (kind = C_INT), VALUE  :: extent1 
     111      INTEGER (kind = C_INT), VALUE  :: extent2 
     112      INTEGER (kind = C_INT), VALUE  :: extent3 
     113    END SUBROUTINE cxios_set_domain_bounds_lon_2d 
     114 
     115    SUBROUTINE cxios_get_domain_bounds_lon_2d(domain_hdl, bounds_lon_2d, extent1, extent2, extent3) BIND(C) 
     116      USE ISO_C_BINDING 
     117      INTEGER (kind = C_INTPTR_T), VALUE       :: domain_hdl 
     118      REAL (KIND=C_DOUBLE)     , DIMENSION(*) :: bounds_lon_2d 
     119      INTEGER (kind = C_INT), VALUE  :: extent1 
     120      INTEGER (kind = C_INT), VALUE  :: extent2 
     121      INTEGER (kind = C_INT), VALUE  :: extent3 
     122    END SUBROUTINE cxios_get_domain_bounds_lon_2d 
     123 
     124    FUNCTION cxios_is_defined_domain_bounds_lon_2d(domain_hdl) BIND(C) 
     125      USE ISO_C_BINDING 
     126      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_bounds_lon_2d 
     127      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     128    END FUNCTION cxios_is_defined_domain_bounds_lon_2d 
    79129 
    80130 
     
    357407 
    358408 
    359     SUBROUTINE cxios_set_domain_latvalue(domain_hdl, latvalue, extent1) BIND(C) 
    360       USE ISO_C_BINDING 
    361       INTEGER (kind = C_INTPTR_T), VALUE       :: domain_hdl 
    362       REAL (KIND=C_DOUBLE)     , DIMENSION(*) :: latvalue 
    363       INTEGER (kind = C_INT), VALUE  :: extent1 
    364     END SUBROUTINE cxios_set_domain_latvalue 
    365  
    366     SUBROUTINE cxios_get_domain_latvalue(domain_hdl, latvalue, extent1) BIND(C) 
    367       USE ISO_C_BINDING 
    368       INTEGER (kind = C_INTPTR_T), VALUE       :: domain_hdl 
    369       REAL (KIND=C_DOUBLE)     , DIMENSION(*) :: latvalue 
    370       INTEGER (kind = C_INT), VALUE  :: extent1 
    371     END SUBROUTINE cxios_get_domain_latvalue 
    372  
    373     FUNCTION cxios_is_defined_domain_latvalue(domain_hdl) BIND(C) 
    374       USE ISO_C_BINDING 
    375       LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_latvalue 
    376       INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
    377     END FUNCTION cxios_is_defined_domain_latvalue 
     409    SUBROUTINE cxios_set_domain_latvalue_1d(domain_hdl, latvalue_1d, extent1) BIND(C) 
     410      USE ISO_C_BINDING 
     411      INTEGER (kind = C_INTPTR_T), VALUE       :: domain_hdl 
     412      REAL (KIND=C_DOUBLE)     , DIMENSION(*) :: latvalue_1d 
     413      INTEGER (kind = C_INT), VALUE  :: extent1 
     414    END SUBROUTINE cxios_set_domain_latvalue_1d 
     415 
     416    SUBROUTINE cxios_get_domain_latvalue_1d(domain_hdl, latvalue_1d, extent1) BIND(C) 
     417      USE ISO_C_BINDING 
     418      INTEGER (kind = C_INTPTR_T), VALUE       :: domain_hdl 
     419      REAL (KIND=C_DOUBLE)     , DIMENSION(*) :: latvalue_1d 
     420      INTEGER (kind = C_INT), VALUE  :: extent1 
     421    END SUBROUTINE cxios_get_domain_latvalue_1d 
     422 
     423    FUNCTION cxios_is_defined_domain_latvalue_1d(domain_hdl) BIND(C) 
     424      USE ISO_C_BINDING 
     425      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_latvalue_1d 
     426      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     427    END FUNCTION cxios_is_defined_domain_latvalue_1d 
     428 
     429 
     430    SUBROUTINE cxios_set_domain_latvalue_2d(domain_hdl, latvalue_2d, extent1, extent2) BIND(C) 
     431      USE ISO_C_BINDING 
     432      INTEGER (kind = C_INTPTR_T), VALUE       :: domain_hdl 
     433      REAL (KIND=C_DOUBLE)     , DIMENSION(*) :: latvalue_2d 
     434      INTEGER (kind = C_INT), VALUE  :: extent1 
     435      INTEGER (kind = C_INT), VALUE  :: extent2 
     436    END SUBROUTINE cxios_set_domain_latvalue_2d 
     437 
     438    SUBROUTINE cxios_get_domain_latvalue_2d(domain_hdl, latvalue_2d, extent1, extent2) BIND(C) 
     439      USE ISO_C_BINDING 
     440      INTEGER (kind = C_INTPTR_T), VALUE       :: domain_hdl 
     441      REAL (KIND=C_DOUBLE)     , DIMENSION(*) :: latvalue_2d 
     442      INTEGER (kind = C_INT), VALUE  :: extent1 
     443      INTEGER (kind = C_INT), VALUE  :: extent2 
     444    END SUBROUTINE cxios_get_domain_latvalue_2d 
     445 
     446    FUNCTION cxios_is_defined_domain_latvalue_2d(domain_hdl) BIND(C) 
     447      USE ISO_C_BINDING 
     448      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_latvalue_2d 
     449      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     450    END FUNCTION cxios_is_defined_domain_latvalue_2d 
    378451 
    379452 
     
    399472 
    400473 
    401     SUBROUTINE cxios_set_domain_lonvalue(domain_hdl, lonvalue, extent1) BIND(C) 
    402       USE ISO_C_BINDING 
    403       INTEGER (kind = C_INTPTR_T), VALUE       :: domain_hdl 
    404       REAL (KIND=C_DOUBLE)     , DIMENSION(*) :: lonvalue 
    405       INTEGER (kind = C_INT), VALUE  :: extent1 
    406     END SUBROUTINE cxios_set_domain_lonvalue 
    407  
    408     SUBROUTINE cxios_get_domain_lonvalue(domain_hdl, lonvalue, extent1) BIND(C) 
    409       USE ISO_C_BINDING 
    410       INTEGER (kind = C_INTPTR_T), VALUE       :: domain_hdl 
    411       REAL (KIND=C_DOUBLE)     , DIMENSION(*) :: lonvalue 
    412       INTEGER (kind = C_INT), VALUE  :: extent1 
    413     END SUBROUTINE cxios_get_domain_lonvalue 
    414  
    415     FUNCTION cxios_is_defined_domain_lonvalue(domain_hdl) BIND(C) 
    416       USE ISO_C_BINDING 
    417       LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_lonvalue 
    418       INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
    419     END FUNCTION cxios_is_defined_domain_lonvalue 
    420  
    421  
    422     SUBROUTINE cxios_set_domain_mask(domain_hdl, mask, extent1, extent2) BIND(C) 
    423       USE ISO_C_BINDING 
    424       INTEGER (kind = C_INTPTR_T), VALUE       :: domain_hdl 
    425       LOGICAL (KIND=C_BOOL)     , DIMENSION(*) :: mask 
    426       INTEGER (kind = C_INT), VALUE  :: extent1 
    427       INTEGER (kind = C_INT), VALUE  :: extent2 
    428     END SUBROUTINE cxios_set_domain_mask 
    429  
    430     SUBROUTINE cxios_get_domain_mask(domain_hdl, mask, extent1, extent2) BIND(C) 
    431       USE ISO_C_BINDING 
    432       INTEGER (kind = C_INTPTR_T), VALUE       :: domain_hdl 
    433       LOGICAL (KIND=C_BOOL)     , DIMENSION(*) :: mask 
    434       INTEGER (kind = C_INT), VALUE  :: extent1 
    435       INTEGER (kind = C_INT), VALUE  :: extent2 
    436     END SUBROUTINE cxios_get_domain_mask 
    437  
    438     FUNCTION cxios_is_defined_domain_mask(domain_hdl) BIND(C) 
    439       USE ISO_C_BINDING 
    440       LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_mask 
    441       INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
    442     END FUNCTION cxios_is_defined_domain_mask 
     474    SUBROUTINE cxios_set_domain_lonvalue_1d(domain_hdl, lonvalue_1d, extent1) BIND(C) 
     475      USE ISO_C_BINDING 
     476      INTEGER (kind = C_INTPTR_T), VALUE       :: domain_hdl 
     477      REAL (KIND=C_DOUBLE)     , DIMENSION(*) :: lonvalue_1d 
     478      INTEGER (kind = C_INT), VALUE  :: extent1 
     479    END SUBROUTINE cxios_set_domain_lonvalue_1d 
     480 
     481    SUBROUTINE cxios_get_domain_lonvalue_1d(domain_hdl, lonvalue_1d, extent1) BIND(C) 
     482      USE ISO_C_BINDING 
     483      INTEGER (kind = C_INTPTR_T), VALUE       :: domain_hdl 
     484      REAL (KIND=C_DOUBLE)     , DIMENSION(*) :: lonvalue_1d 
     485      INTEGER (kind = C_INT), VALUE  :: extent1 
     486    END SUBROUTINE cxios_get_domain_lonvalue_1d 
     487 
     488    FUNCTION cxios_is_defined_domain_lonvalue_1d(domain_hdl) BIND(C) 
     489      USE ISO_C_BINDING 
     490      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_lonvalue_1d 
     491      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     492    END FUNCTION cxios_is_defined_domain_lonvalue_1d 
     493 
     494 
     495    SUBROUTINE cxios_set_domain_lonvalue_2d(domain_hdl, lonvalue_2d, extent1, extent2) BIND(C) 
     496      USE ISO_C_BINDING 
     497      INTEGER (kind = C_INTPTR_T), VALUE       :: domain_hdl 
     498      REAL (KIND=C_DOUBLE)     , DIMENSION(*) :: lonvalue_2d 
     499      INTEGER (kind = C_INT), VALUE  :: extent1 
     500      INTEGER (kind = C_INT), VALUE  :: extent2 
     501    END SUBROUTINE cxios_set_domain_lonvalue_2d 
     502 
     503    SUBROUTINE cxios_get_domain_lonvalue_2d(domain_hdl, lonvalue_2d, extent1, extent2) BIND(C) 
     504      USE ISO_C_BINDING 
     505      INTEGER (kind = C_INTPTR_T), VALUE       :: domain_hdl 
     506      REAL (KIND=C_DOUBLE)     , DIMENSION(*) :: lonvalue_2d 
     507      INTEGER (kind = C_INT), VALUE  :: extent1 
     508      INTEGER (kind = C_INT), VALUE  :: extent2 
     509    END SUBROUTINE cxios_get_domain_lonvalue_2d 
     510 
     511    FUNCTION cxios_is_defined_domain_lonvalue_2d(domain_hdl) BIND(C) 
     512      USE ISO_C_BINDING 
     513      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_lonvalue_2d 
     514      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     515    END FUNCTION cxios_is_defined_domain_lonvalue_2d 
     516 
     517 
     518    SUBROUTINE cxios_set_domain_mask_1d(domain_hdl, mask_1d, extent1) BIND(C) 
     519      USE ISO_C_BINDING 
     520      INTEGER (kind = C_INTPTR_T), VALUE       :: domain_hdl 
     521      LOGICAL (KIND=C_BOOL)     , DIMENSION(*) :: mask_1d 
     522      INTEGER (kind = C_INT), VALUE  :: extent1 
     523    END SUBROUTINE cxios_set_domain_mask_1d 
     524 
     525    SUBROUTINE cxios_get_domain_mask_1d(domain_hdl, mask_1d, extent1) BIND(C) 
     526      USE ISO_C_BINDING 
     527      INTEGER (kind = C_INTPTR_T), VALUE       :: domain_hdl 
     528      LOGICAL (KIND=C_BOOL)     , DIMENSION(*) :: mask_1d 
     529      INTEGER (kind = C_INT), VALUE  :: extent1 
     530    END SUBROUTINE cxios_get_domain_mask_1d 
     531 
     532    FUNCTION cxios_is_defined_domain_mask_1d(domain_hdl) BIND(C) 
     533      USE ISO_C_BINDING 
     534      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_mask_1d 
     535      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     536    END FUNCTION cxios_is_defined_domain_mask_1d 
     537 
     538 
     539    SUBROUTINE cxios_set_domain_mask_2d(domain_hdl, mask_2d, extent1, extent2) BIND(C) 
     540      USE ISO_C_BINDING 
     541      INTEGER (kind = C_INTPTR_T), VALUE       :: domain_hdl 
     542      LOGICAL (KIND=C_BOOL)     , DIMENSION(*) :: mask_2d 
     543      INTEGER (kind = C_INT), VALUE  :: extent1 
     544      INTEGER (kind = C_INT), VALUE  :: extent2 
     545    END SUBROUTINE cxios_set_domain_mask_2d 
     546 
     547    SUBROUTINE cxios_get_domain_mask_2d(domain_hdl, mask_2d, extent1, extent2) BIND(C) 
     548      USE ISO_C_BINDING 
     549      INTEGER (kind = C_INTPTR_T), VALUE       :: domain_hdl 
     550      LOGICAL (KIND=C_BOOL)     , DIMENSION(*) :: mask_2d 
     551      INTEGER (kind = C_INT), VALUE  :: extent1 
     552      INTEGER (kind = C_INT), VALUE  :: extent2 
     553    END SUBROUTINE cxios_get_domain_mask_2d 
     554 
     555    FUNCTION cxios_is_defined_domain_mask_2d(domain_hdl) BIND(C) 
     556      USE ISO_C_BINDING 
     557      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_mask_2d 
     558      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     559    END FUNCTION cxios_is_defined_domain_mask_2d 
    443560 
    444561 
  • XIOS/trunk/src/interface/fortran_attr/domaingroup_interface_attr.F90

    r657 r664  
    3333 
    3434 
    35     SUBROUTINE cxios_set_domaingroup_bounds_lat(domaingroup_hdl, bounds_lat, extent1, extent2) BIND(C) 
    36       USE ISO_C_BINDING 
    37       INTEGER (kind = C_INTPTR_T), VALUE       :: domaingroup_hdl 
    38       REAL (KIND=C_DOUBLE)     , DIMENSION(*) :: bounds_lat 
    39       INTEGER (kind = C_INT), VALUE  :: extent1 
    40       INTEGER (kind = C_INT), VALUE  :: extent2 
    41     END SUBROUTINE cxios_set_domaingroup_bounds_lat 
    42  
    43     SUBROUTINE cxios_get_domaingroup_bounds_lat(domaingroup_hdl, bounds_lat, extent1, extent2) BIND(C) 
    44       USE ISO_C_BINDING 
    45       INTEGER (kind = C_INTPTR_T), VALUE       :: domaingroup_hdl 
    46       REAL (KIND=C_DOUBLE)     , DIMENSION(*) :: bounds_lat 
    47       INTEGER (kind = C_INT), VALUE  :: extent1 
    48       INTEGER (kind = C_INT), VALUE  :: extent2 
    49     END SUBROUTINE cxios_get_domaingroup_bounds_lat 
    50  
    51     FUNCTION cxios_is_defined_domaingroup_bounds_lat(domaingroup_hdl) BIND(C) 
    52       USE ISO_C_BINDING 
    53       LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_bounds_lat 
    54       INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
    55     END FUNCTION cxios_is_defined_domaingroup_bounds_lat 
    56  
    57  
    58     SUBROUTINE cxios_set_domaingroup_bounds_lon(domaingroup_hdl, bounds_lon, extent1, extent2) BIND(C) 
    59       USE ISO_C_BINDING 
    60       INTEGER (kind = C_INTPTR_T), VALUE       :: domaingroup_hdl 
    61       REAL (KIND=C_DOUBLE)     , DIMENSION(*) :: bounds_lon 
    62       INTEGER (kind = C_INT), VALUE  :: extent1 
    63       INTEGER (kind = C_INT), VALUE  :: extent2 
    64     END SUBROUTINE cxios_set_domaingroup_bounds_lon 
    65  
    66     SUBROUTINE cxios_get_domaingroup_bounds_lon(domaingroup_hdl, bounds_lon, extent1, extent2) BIND(C) 
    67       USE ISO_C_BINDING 
    68       INTEGER (kind = C_INTPTR_T), VALUE       :: domaingroup_hdl 
    69       REAL (KIND=C_DOUBLE)     , DIMENSION(*) :: bounds_lon 
    70       INTEGER (kind = C_INT), VALUE  :: extent1 
    71       INTEGER (kind = C_INT), VALUE  :: extent2 
    72     END SUBROUTINE cxios_get_domaingroup_bounds_lon 
    73  
    74     FUNCTION cxios_is_defined_domaingroup_bounds_lon(domaingroup_hdl) BIND(C) 
    75       USE ISO_C_BINDING 
    76       LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_bounds_lon 
    77       INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
    78     END FUNCTION cxios_is_defined_domaingroup_bounds_lon 
     35    SUBROUTINE cxios_set_domaingroup_bounds_lat_1d(domaingroup_hdl, bounds_lat_1d, extent1, extent2) BIND(C) 
     36      USE ISO_C_BINDING 
     37      INTEGER (kind = C_INTPTR_T), VALUE       :: domaingroup_hdl 
     38      REAL (KIND=C_DOUBLE)     , DIMENSION(*) :: bounds_lat_1d 
     39      INTEGER (kind = C_INT), VALUE  :: extent1 
     40      INTEGER (kind = C_INT), VALUE  :: extent2 
     41    END SUBROUTINE cxios_set_domaingroup_bounds_lat_1d 
     42 
     43    SUBROUTINE cxios_get_domaingroup_bounds_lat_1d(domaingroup_hdl, bounds_lat_1d, extent1, extent2) BIND(C) 
     44      USE ISO_C_BINDING 
     45      INTEGER (kind = C_INTPTR_T), VALUE       :: domaingroup_hdl 
     46      REAL (KIND=C_DOUBLE)     , DIMENSION(*) :: bounds_lat_1d 
     47      INTEGER (kind = C_INT), VALUE  :: extent1 
     48      INTEGER (kind = C_INT), VALUE  :: extent2 
     49    END SUBROUTINE cxios_get_domaingroup_bounds_lat_1d 
     50 
     51    FUNCTION cxios_is_defined_domaingroup_bounds_lat_1d(domaingroup_hdl) BIND(C) 
     52      USE ISO_C_BINDING 
     53      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_bounds_lat_1d 
     54      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     55    END FUNCTION cxios_is_defined_domaingroup_bounds_lat_1d 
     56 
     57 
     58    SUBROUTINE cxios_set_domaingroup_bounds_lat_2d(domaingroup_hdl, bounds_lat_2d, extent1, extent2, extent3) BIND(C) 
     59      USE ISO_C_BINDING 
     60      INTEGER (kind = C_INTPTR_T), VALUE       :: domaingroup_hdl 
     61      REAL (KIND=C_DOUBLE)     , DIMENSION(*) :: bounds_lat_2d 
     62      INTEGER (kind = C_INT), VALUE  :: extent1 
     63      INTEGER (kind = C_INT), VALUE  :: extent2 
     64      INTEGER (kind = C_INT), VALUE  :: extent3 
     65    END SUBROUTINE cxios_set_domaingroup_bounds_lat_2d 
     66 
     67    SUBROUTINE cxios_get_domaingroup_bounds_lat_2d(domaingroup_hdl, bounds_lat_2d, extent1, extent2, extent3) BIND(C) 
     68      USE ISO_C_BINDING 
     69      INTEGER (kind = C_INTPTR_T), VALUE       :: domaingroup_hdl 
     70      REAL (KIND=C_DOUBLE)     , DIMENSION(*) :: bounds_lat_2d 
     71      INTEGER (kind = C_INT), VALUE  :: extent1 
     72      INTEGER (kind = C_INT), VALUE  :: extent2 
     73      INTEGER (kind = C_INT), VALUE  :: extent3 
     74    END SUBROUTINE cxios_get_domaingroup_bounds_lat_2d 
     75 
     76    FUNCTION cxios_is_defined_domaingroup_bounds_lat_2d(domaingroup_hdl) BIND(C) 
     77      USE ISO_C_BINDING 
     78      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_bounds_lat_2d 
     79      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     80    END FUNCTION cxios_is_defined_domaingroup_bounds_lat_2d 
     81 
     82 
     83    SUBROUTINE cxios_set_domaingroup_bounds_lon_1d(domaingroup_hdl, bounds_lon_1d, extent1, extent2) BIND(C) 
     84      USE ISO_C_BINDING 
     85      INTEGER (kind = C_INTPTR_T), VALUE       :: domaingroup_hdl 
     86      REAL (KIND=C_DOUBLE)     , DIMENSION(*) :: bounds_lon_1d 
     87      INTEGER (kind = C_INT), VALUE  :: extent1 
     88      INTEGER (kind = C_INT), VALUE  :: extent2 
     89    END SUBROUTINE cxios_set_domaingroup_bounds_lon_1d 
     90 
     91    SUBROUTINE cxios_get_domaingroup_bounds_lon_1d(domaingroup_hdl, bounds_lon_1d, extent1, extent2) BIND(C) 
     92      USE ISO_C_BINDING 
     93      INTEGER (kind = C_INTPTR_T), VALUE       :: domaingroup_hdl 
     94      REAL (KIND=C_DOUBLE)     , DIMENSION(*) :: bounds_lon_1d 
     95      INTEGER (kind = C_INT), VALUE  :: extent1 
     96      INTEGER (kind = C_INT), VALUE  :: extent2 
     97    END SUBROUTINE cxios_get_domaingroup_bounds_lon_1d 
     98 
     99    FUNCTION cxios_is_defined_domaingroup_bounds_lon_1d(domaingroup_hdl) BIND(C) 
     100      USE ISO_C_BINDING 
     101      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_bounds_lon_1d 
     102      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     103    END FUNCTION cxios_is_defined_domaingroup_bounds_lon_1d 
     104 
     105 
     106    SUBROUTINE cxios_set_domaingroup_bounds_lon_2d(domaingroup_hdl, bounds_lon_2d, extent1, extent2, extent3) BIND(C) 
     107      USE ISO_C_BINDING 
     108      INTEGER (kind = C_INTPTR_T), VALUE       :: domaingroup_hdl 
     109      REAL (KIND=C_DOUBLE)     , DIMENSION(*) :: bounds_lon_2d 
     110      INTEGER (kind = C_INT), VALUE  :: extent1 
     111      INTEGER (kind = C_INT), VALUE  :: extent2 
     112      INTEGER (kind = C_INT), VALUE  :: extent3 
     113    END SUBROUTINE cxios_set_domaingroup_bounds_lon_2d 
     114 
     115    SUBROUTINE cxios_get_domaingroup_bounds_lon_2d(domaingroup_hdl, bounds_lon_2d, extent1, extent2, extent3) BIND(C) 
     116      USE ISO_C_BINDING 
     117      INTEGER (kind = C_INTPTR_T), VALUE       :: domaingroup_hdl 
     118      REAL (KIND=C_DOUBLE)     , DIMENSION(*) :: bounds_lon_2d 
     119      INTEGER (kind = C_INT), VALUE  :: extent1 
     120      INTEGER (kind = C_INT), VALUE  :: extent2 
     121      INTEGER (kind = C_INT), VALUE  :: extent3 
     122    END SUBROUTINE cxios_get_domaingroup_bounds_lon_2d 
     123 
     124    FUNCTION cxios_is_defined_domaingroup_bounds_lon_2d(domaingroup_hdl) BIND(C) 
     125      USE ISO_C_BINDING 
     126      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_bounds_lon_2d 
     127      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     128    END FUNCTION cxios_is_defined_domaingroup_bounds_lon_2d 
    79129 
    80130 
     
    378428 
    379429 
    380     SUBROUTINE cxios_set_domaingroup_latvalue(domaingroup_hdl, latvalue, extent1) BIND(C) 
    381       USE ISO_C_BINDING 
    382       INTEGER (kind = C_INTPTR_T), VALUE       :: domaingroup_hdl 
    383       REAL (KIND=C_DOUBLE)     , DIMENSION(*) :: latvalue 
    384       INTEGER (kind = C_INT), VALUE  :: extent1 
    385     END SUBROUTINE cxios_set_domaingroup_latvalue 
    386  
    387     SUBROUTINE cxios_get_domaingroup_latvalue(domaingroup_hdl, latvalue, extent1) BIND(C) 
    388       USE ISO_C_BINDING 
    389       INTEGER (kind = C_INTPTR_T), VALUE       :: domaingroup_hdl 
    390       REAL (KIND=C_DOUBLE)     , DIMENSION(*) :: latvalue 
    391       INTEGER (kind = C_INT), VALUE  :: extent1 
    392     END SUBROUTINE cxios_get_domaingroup_latvalue 
    393  
    394     FUNCTION cxios_is_defined_domaingroup_latvalue(domaingroup_hdl) BIND(C) 
    395       USE ISO_C_BINDING 
    396       LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_latvalue 
    397       INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
    398     END FUNCTION cxios_is_defined_domaingroup_latvalue 
     430    SUBROUTINE cxios_set_domaingroup_latvalue_1d(domaingroup_hdl, latvalue_1d, extent1) BIND(C) 
     431      USE ISO_C_BINDING 
     432      INTEGER (kind = C_INTPTR_T), VALUE       :: domaingroup_hdl 
     433      REAL (KIND=C_DOUBLE)     , DIMENSION(*) :: latvalue_1d 
     434      INTEGER (kind = C_INT), VALUE  :: extent1 
     435    END SUBROUTINE cxios_set_domaingroup_latvalue_1d 
     436 
     437    SUBROUTINE cxios_get_domaingroup_latvalue_1d(domaingroup_hdl, latvalue_1d, extent1) BIND(C) 
     438      USE ISO_C_BINDING 
     439      INTEGER (kind = C_INTPTR_T), VALUE       :: domaingroup_hdl 
     440      REAL (KIND=C_DOUBLE)     , DIMENSION(*) :: latvalue_1d 
     441      INTEGER (kind = C_INT), VALUE  :: extent1 
     442    END SUBROUTINE cxios_get_domaingroup_latvalue_1d 
     443 
     444    FUNCTION cxios_is_defined_domaingroup_latvalue_1d(domaingroup_hdl) BIND(C) 
     445      USE ISO_C_BINDING 
     446      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_latvalue_1d 
     447      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     448    END FUNCTION cxios_is_defined_domaingroup_latvalue_1d 
     449 
     450 
     451    SUBROUTINE cxios_set_domaingroup_latvalue_2d(domaingroup_hdl, latvalue_2d, extent1, extent2) BIND(C) 
     452      USE ISO_C_BINDING 
     453      INTEGER (kind = C_INTPTR_T), VALUE       :: domaingroup_hdl 
     454      REAL (KIND=C_DOUBLE)     , DIMENSION(*) :: latvalue_2d 
     455      INTEGER (kind = C_INT), VALUE  :: extent1 
     456      INTEGER (kind = C_INT), VALUE  :: extent2 
     457    END SUBROUTINE cxios_set_domaingroup_latvalue_2d 
     458 
     459    SUBROUTINE cxios_get_domaingroup_latvalue_2d(domaingroup_hdl, latvalue_2d, extent1, extent2) BIND(C) 
     460      USE ISO_C_BINDING 
     461      INTEGER (kind = C_INTPTR_T), VALUE       :: domaingroup_hdl 
     462      REAL (KIND=C_DOUBLE)     , DIMENSION(*) :: latvalue_2d 
     463      INTEGER (kind = C_INT), VALUE  :: extent1 
     464      INTEGER (kind = C_INT), VALUE  :: extent2 
     465    END SUBROUTINE cxios_get_domaingroup_latvalue_2d 
     466 
     467    FUNCTION cxios_is_defined_domaingroup_latvalue_2d(domaingroup_hdl) BIND(C) 
     468      USE ISO_C_BINDING 
     469      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_latvalue_2d 
     470      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     471    END FUNCTION cxios_is_defined_domaingroup_latvalue_2d 
    399472 
    400473 
     
    420493 
    421494 
    422     SUBROUTINE cxios_set_domaingroup_lonvalue(domaingroup_hdl, lonvalue, extent1) BIND(C) 
    423       USE ISO_C_BINDING 
    424       INTEGER (kind = C_INTPTR_T), VALUE       :: domaingroup_hdl 
    425       REAL (KIND=C_DOUBLE)     , DIMENSION(*) :: lonvalue 
    426       INTEGER (kind = C_INT), VALUE  :: extent1 
    427     END SUBROUTINE cxios_set_domaingroup_lonvalue 
    428  
    429     SUBROUTINE cxios_get_domaingroup_lonvalue(domaingroup_hdl, lonvalue, extent1) BIND(C) 
    430       USE ISO_C_BINDING 
    431       INTEGER (kind = C_INTPTR_T), VALUE       :: domaingroup_hdl 
    432       REAL (KIND=C_DOUBLE)     , DIMENSION(*) :: lonvalue 
    433       INTEGER (kind = C_INT), VALUE  :: extent1 
    434     END SUBROUTINE cxios_get_domaingroup_lonvalue 
    435  
    436     FUNCTION cxios_is_defined_domaingroup_lonvalue(domaingroup_hdl) BIND(C) 
    437       USE ISO_C_BINDING 
    438       LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_lonvalue 
    439       INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
    440     END FUNCTION cxios_is_defined_domaingroup_lonvalue 
    441  
    442  
    443     SUBROUTINE cxios_set_domaingroup_mask(domaingroup_hdl, mask, extent1, extent2) BIND(C) 
    444       USE ISO_C_BINDING 
    445       INTEGER (kind = C_INTPTR_T), VALUE       :: domaingroup_hdl 
    446       LOGICAL (KIND=C_BOOL)     , DIMENSION(*) :: mask 
    447       INTEGER (kind = C_INT), VALUE  :: extent1 
    448       INTEGER (kind = C_INT), VALUE  :: extent2 
    449     END SUBROUTINE cxios_set_domaingroup_mask 
    450  
    451     SUBROUTINE cxios_get_domaingroup_mask(domaingroup_hdl, mask, extent1, extent2) BIND(C) 
    452       USE ISO_C_BINDING 
    453       INTEGER (kind = C_INTPTR_T), VALUE       :: domaingroup_hdl 
    454       LOGICAL (KIND=C_BOOL)     , DIMENSION(*) :: mask 
    455       INTEGER (kind = C_INT), VALUE  :: extent1 
    456       INTEGER (kind = C_INT), VALUE  :: extent2 
    457     END SUBROUTINE cxios_get_domaingroup_mask 
    458  
    459     FUNCTION cxios_is_defined_domaingroup_mask(domaingroup_hdl) BIND(C) 
    460       USE ISO_C_BINDING 
    461       LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_mask 
    462       INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
    463     END FUNCTION cxios_is_defined_domaingroup_mask 
     495    SUBROUTINE cxios_set_domaingroup_lonvalue_1d(domaingroup_hdl, lonvalue_1d, extent1) BIND(C) 
     496      USE ISO_C_BINDING 
     497      INTEGER (kind = C_INTPTR_T), VALUE       :: domaingroup_hdl 
     498      REAL (KIND=C_DOUBLE)     , DIMENSION(*) :: lonvalue_1d 
     499      INTEGER (kind = C_INT), VALUE  :: extent1 
     500    END SUBROUTINE cxios_set_domaingroup_lonvalue_1d 
     501 
     502    SUBROUTINE cxios_get_domaingroup_lonvalue_1d(domaingroup_hdl, lonvalue_1d, extent1) BIND(C) 
     503      USE ISO_C_BINDING 
     504      INTEGER (kind = C_INTPTR_T), VALUE       :: domaingroup_hdl 
     505      REAL (KIND=C_DOUBLE)     , DIMENSION(*) :: lonvalue_1d 
     506      INTEGER (kind = C_INT), VALUE  :: extent1 
     507    END SUBROUTINE cxios_get_domaingroup_lonvalue_1d 
     508 
     509    FUNCTION cxios_is_defined_domaingroup_lonvalue_1d(domaingroup_hdl) BIND(C) 
     510      USE ISO_C_BINDING 
     511      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_lonvalue_1d 
     512      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     513    END FUNCTION cxios_is_defined_domaingroup_lonvalue_1d 
     514 
     515 
     516    SUBROUTINE cxios_set_domaingroup_lonvalue_2d(domaingroup_hdl, lonvalue_2d, extent1, extent2) BIND(C) 
     517      USE ISO_C_BINDING 
     518      INTEGER (kind = C_INTPTR_T), VALUE       :: domaingroup_hdl 
     519      REAL (KIND=C_DOUBLE)     , DIMENSION(*) :: lonvalue_2d 
     520      INTEGER (kind = C_INT), VALUE  :: extent1 
     521      INTEGER (kind = C_INT), VALUE  :: extent2 
     522    END SUBROUTINE cxios_set_domaingroup_lonvalue_2d 
     523 
     524    SUBROUTINE cxios_get_domaingroup_lonvalue_2d(domaingroup_hdl, lonvalue_2d, extent1, extent2) BIND(C) 
     525      USE ISO_C_BINDING 
     526      INTEGER (kind = C_INTPTR_T), VALUE       :: domaingroup_hdl 
     527      REAL (KIND=C_DOUBLE)     , DIMENSION(*) :: lonvalue_2d 
     528      INTEGER (kind = C_INT), VALUE  :: extent1 
     529      INTEGER (kind = C_INT), VALUE  :: extent2 
     530    END SUBROUTINE cxios_get_domaingroup_lonvalue_2d 
     531 
     532    FUNCTION cxios_is_defined_domaingroup_lonvalue_2d(domaingroup_hdl) BIND(C) 
     533      USE ISO_C_BINDING 
     534      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_lonvalue_2d 
     535      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     536    END FUNCTION cxios_is_defined_domaingroup_lonvalue_2d 
     537 
     538 
     539    SUBROUTINE cxios_set_domaingroup_mask_1d(domaingroup_hdl, mask_1d, extent1) BIND(C) 
     540      USE ISO_C_BINDING 
     541      INTEGER (kind = C_INTPTR_T), VALUE       :: domaingroup_hdl 
     542      LOGICAL (KIND=C_BOOL)     , DIMENSION(*) :: mask_1d 
     543      INTEGER (kind = C_INT), VALUE  :: extent1 
     544    END SUBROUTINE cxios_set_domaingroup_mask_1d 
     545 
     546    SUBROUTINE cxios_get_domaingroup_mask_1d(domaingroup_hdl, mask_1d, extent1) BIND(C) 
     547      USE ISO_C_BINDING 
     548      INTEGER (kind = C_INTPTR_T), VALUE       :: domaingroup_hdl 
     549      LOGICAL (KIND=C_BOOL)     , DIMENSION(*) :: mask_1d 
     550      INTEGER (kind = C_INT), VALUE  :: extent1 
     551    END SUBROUTINE cxios_get_domaingroup_mask_1d 
     552 
     553    FUNCTION cxios_is_defined_domaingroup_mask_1d(domaingroup_hdl) BIND(C) 
     554      USE ISO_C_BINDING 
     555      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_mask_1d 
     556      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     557    END FUNCTION cxios_is_defined_domaingroup_mask_1d 
     558 
     559 
     560    SUBROUTINE cxios_set_domaingroup_mask_2d(domaingroup_hdl, mask_2d, extent1, extent2) BIND(C) 
     561      USE ISO_C_BINDING 
     562      INTEGER (kind = C_INTPTR_T), VALUE       :: domaingroup_hdl 
     563      LOGICAL (KIND=C_BOOL)     , DIMENSION(*) :: mask_2d 
     564      INTEGER (kind = C_INT), VALUE  :: extent1 
     565      INTEGER (kind = C_INT), VALUE  :: extent2 
     566    END SUBROUTINE cxios_set_domaingroup_mask_2d 
     567 
     568    SUBROUTINE cxios_get_domaingroup_mask_2d(domaingroup_hdl, mask_2d, extent1, extent2) BIND(C) 
     569      USE ISO_C_BINDING 
     570      INTEGER (kind = C_INTPTR_T), VALUE       :: domaingroup_hdl 
     571      LOGICAL (KIND=C_BOOL)     , DIMENSION(*) :: mask_2d 
     572      INTEGER (kind = C_INT), VALUE  :: extent1 
     573      INTEGER (kind = C_INT), VALUE  :: extent2 
     574    END SUBROUTINE cxios_get_domaingroup_mask_2d 
     575 
     576    FUNCTION cxios_is_defined_domaingroup_mask_2d(domaingroup_hdl) BIND(C) 
     577      USE ISO_C_BINDING 
     578      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_mask_2d 
     579      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     580    END FUNCTION cxios_is_defined_domaingroup_mask_2d 
    464581 
    465582 
  • XIOS/trunk/src/interface/fortran_attr/idomain_attr.F90

    r657 r664  
    1212 
    1313  SUBROUTINE xios(set_domain_attr)  & 
    14     ( domain_id, area, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index  & 
    15     , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, i_index, ibegin  & 
    16     , j_index, jbegin, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex  & 
    17     , standard_name, type ) 
     14    ( domain_id, area, bounds_lat_1d, bounds_lat_2d, bounds_lon_1d, bounds_lon_2d, data_dim, data_i_index  & 
     15    , data_ibegin, data_j_index, data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref  & 
     16    , i_index, ibegin, j_index, jbegin, latvalue_1d, latvalue_2d, long_name, lonvalue_1d, lonvalue_2d  & 
     17    , mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name, type ) 
    1818 
    1919    IMPLICIT NONE 
     
    2121      CHARACTER(LEN=*), INTENT(IN) ::domain_id 
    2222      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: area(:,:) 
    23       REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lat(:,:) 
    24       REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lon(:,:) 
     23      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lat_1d(:,:) 
     24      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lat_2d(:,:,:) 
     25      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lon_1d(:,:) 
     26      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lon_2d(:,:,:) 
    2527      INTEGER  , OPTIONAL, INTENT(IN) :: data_dim 
    2628      INTEGER  , OPTIONAL, INTENT(IN) :: data_i_index(:) 
     
    3739      INTEGER  , OPTIONAL, INTENT(IN) :: j_index(:) 
    3840      INTEGER  , OPTIONAL, INTENT(IN) :: jbegin 
    39       REAL (KIND=8) , OPTIONAL, INTENT(IN) :: latvalue(:) 
     41      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: latvalue_1d(:) 
     42      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: latvalue_2d(:,:) 
    4043      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name 
    41       REAL (KIND=8) , OPTIONAL, INTENT(IN) :: lonvalue(:) 
    42       LOGICAL  , OPTIONAL, INTENT(IN) :: mask(:,:) 
    43       LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_tmp(:,:) 
     44      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: lonvalue_1d(:) 
     45      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: lonvalue_2d(:,:) 
     46      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_1d(:) 
     47      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d_tmp(:) 
     48      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_2d(:,:) 
     49      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_2d_tmp(:,:) 
    4450      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name 
    4551      INTEGER  , OPTIONAL, INTENT(IN) :: ni 
     
    5359      CALL xios(get_domain_handle)(domain_id,domain_hdl) 
    5460      CALL xios(set_domain_attr_hdl_)   & 
    55       ( domain_hdl, area, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index  & 
    56       , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, i_index, ibegin  & 
    57       , j_index, jbegin, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex  & 
    58       , standard_name, type ) 
     61      ( domain_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lon_1d, bounds_lon_2d, data_dim, data_i_index  & 
     62      , data_ibegin, data_j_index, data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref  & 
     63      , i_index, ibegin, j_index, jbegin, latvalue_1d, latvalue_2d, long_name, lonvalue_1d, lonvalue_2d  & 
     64      , mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name, type ) 
    5965 
    6066  END SUBROUTINE xios(set_domain_attr) 
    6167 
    6268  SUBROUTINE xios(set_domain_attr_hdl)  & 
    63     ( domain_hdl, area, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index  & 
    64     , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, i_index, ibegin  & 
    65     , j_index, jbegin, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex  & 
    66     , standard_name, type ) 
     69    ( domain_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lon_1d, bounds_lon_2d, data_dim, data_i_index  & 
     70    , data_ibegin, data_j_index, data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref  & 
     71    , i_index, ibegin, j_index, jbegin, latvalue_1d, latvalue_2d, long_name, lonvalue_1d, lonvalue_2d  & 
     72    , mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name, type ) 
    6773 
    6874    IMPLICIT NONE 
    6975      TYPE(txios(domain)) , INTENT(IN) :: domain_hdl 
    7076      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: area(:,:) 
    71       REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lat(:,:) 
    72       REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lon(:,:) 
     77      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lat_1d(:,:) 
     78      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lat_2d(:,:,:) 
     79      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lon_1d(:,:) 
     80      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lon_2d(:,:,:) 
    7381      INTEGER  , OPTIONAL, INTENT(IN) :: data_dim 
    7482      INTEGER  , OPTIONAL, INTENT(IN) :: data_i_index(:) 
     
    8593      INTEGER  , OPTIONAL, INTENT(IN) :: j_index(:) 
    8694      INTEGER  , OPTIONAL, INTENT(IN) :: jbegin 
    87       REAL (KIND=8) , OPTIONAL, INTENT(IN) :: latvalue(:) 
     95      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: latvalue_1d(:) 
     96      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: latvalue_2d(:,:) 
    8897      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name 
    89       REAL (KIND=8) , OPTIONAL, INTENT(IN) :: lonvalue(:) 
    90       LOGICAL  , OPTIONAL, INTENT(IN) :: mask(:,:) 
    91       LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_tmp(:,:) 
     98      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: lonvalue_1d(:) 
     99      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: lonvalue_2d(:,:) 
     100      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_1d(:) 
     101      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d_tmp(:) 
     102      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_2d(:,:) 
     103      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_2d_tmp(:,:) 
    92104      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name 
    93105      INTEGER  , OPTIONAL, INTENT(IN) :: ni 
     
    100112 
    101113      CALL xios(set_domain_attr_hdl_)  & 
    102       ( domain_hdl, area, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index  & 
    103       , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, i_index, ibegin  & 
    104       , j_index, jbegin, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex  & 
    105       , standard_name, type ) 
     114      ( domain_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lon_1d, bounds_lon_2d, data_dim, data_i_index  & 
     115      , data_ibegin, data_j_index, data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref  & 
     116      , i_index, ibegin, j_index, jbegin, latvalue_1d, latvalue_2d, long_name, lonvalue_1d, lonvalue_2d  & 
     117      , mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name, type ) 
    106118 
    107119  END SUBROUTINE xios(set_domain_attr_hdl) 
    108120 
    109121  SUBROUTINE xios(set_domain_attr_hdl_)   & 
    110     ( domain_hdl, area_, bounds_lat_, bounds_lon_, data_dim_, data_i_index_, data_ibegin_, data_j_index_  & 
    111     , data_jbegin_, data_n_index_, data_ni_, data_nj_, domain_group_ref_, domain_ref_, i_index_  & 
    112     , ibegin_, j_index_, jbegin_, latvalue_, long_name_, lonvalue_, mask_, name_, ni_, ni_glo_, nj_  & 
    113     , nj_glo_, nvertex_, standard_name_, type_ ) 
     122    ( domain_hdl, area_, bounds_lat_1d_, bounds_lat_2d_, bounds_lon_1d_, bounds_lon_2d_, data_dim_  & 
     123    , data_i_index_, data_ibegin_, data_j_index_, data_jbegin_, data_n_index_, data_ni_, data_nj_  & 
     124    , domain_group_ref_, domain_ref_, i_index_, ibegin_, j_index_, jbegin_, latvalue_1d_, latvalue_2d_  & 
     125    , long_name_, lonvalue_1d_, lonvalue_2d_, mask_1d_, mask_2d_, name_, ni_, ni_glo_, nj_, nj_glo_  & 
     126    , nvertex_, standard_name_, type_ ) 
    114127 
    115128    IMPLICIT NONE 
    116129      TYPE(txios(domain)) , INTENT(IN) :: domain_hdl 
    117130      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: area_(:,:) 
    118       REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lat_(:,:) 
    119       REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lon_(:,:) 
     131      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lat_1d_(:,:) 
     132      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lat_2d_(:,:,:) 
     133      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lon_1d_(:,:) 
     134      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lon_2d_(:,:,:) 
    120135      INTEGER  , OPTIONAL, INTENT(IN) :: data_dim_ 
    121136      INTEGER  , OPTIONAL, INTENT(IN) :: data_i_index_(:) 
     
    132147      INTEGER  , OPTIONAL, INTENT(IN) :: j_index_(:) 
    133148      INTEGER  , OPTIONAL, INTENT(IN) :: jbegin_ 
    134       REAL (KIND=8) , OPTIONAL, INTENT(IN) :: latvalue_(:) 
     149      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: latvalue_1d_(:) 
     150      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: latvalue_2d_(:,:) 
    135151      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name_ 
    136       REAL (KIND=8) , OPTIONAL, INTENT(IN) :: lonvalue_(:) 
    137       LOGICAL  , OPTIONAL, INTENT(IN) :: mask_(:,:) 
    138       LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask__tmp(:,:) 
     152      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: lonvalue_1d_(:) 
     153      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: lonvalue_2d_(:,:) 
     154      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_1d_(:) 
     155      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d__tmp(:) 
     156      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_2d_(:,:) 
     157      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_2d__tmp(:,:) 
    139158      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name_ 
    140159      INTEGER  , OPTIONAL, INTENT(IN) :: ni_ 
     
    150169      ENDIF 
    151170 
    152       IF (PRESENT(bounds_lat_)) THEN 
    153         CALL cxios_set_domain_bounds_lat(domain_hdl%daddr, bounds_lat_, size(bounds_lat_,1), size(bounds_lat_,2)) 
    154       ENDIF 
    155  
    156       IF (PRESENT(bounds_lon_)) THEN 
    157         CALL cxios_set_domain_bounds_lon(domain_hdl%daddr, bounds_lon_, size(bounds_lon_,1), size(bounds_lon_,2)) 
     171      IF (PRESENT(bounds_lat_1d_)) THEN 
     172        CALL cxios_set_domain_bounds_lat_1d(domain_hdl%daddr, bounds_lat_1d_, size(bounds_lat_1d_,1), size(bounds_lat_1d_,2)) 
     173      ENDIF 
     174 
     175      IF (PRESENT(bounds_lat_2d_)) THEN 
     176        CALL cxios_set_domain_bounds_lat_2d(domain_hdl%daddr, bounds_lat_2d_, size(bounds_lat_2d_,1), size(bounds_lat_2d_,2), size(bounds_lat_2d_,3)) 
     177      ENDIF 
     178 
     179      IF (PRESENT(bounds_lon_1d_)) THEN 
     180        CALL cxios_set_domain_bounds_lon_1d(domain_hdl%daddr, bounds_lon_1d_, size(bounds_lon_1d_,1), size(bounds_lon_1d_,2)) 
     181      ENDIF 
     182 
     183      IF (PRESENT(bounds_lon_2d_)) THEN 
     184        CALL cxios_set_domain_bounds_lon_2d(domain_hdl%daddr, bounds_lon_2d_, size(bounds_lon_2d_,1), size(bounds_lon_2d_,2), size(bounds_lon_2d_,3)) 
    158185      ENDIF 
    159186 
     
    214241      ENDIF 
    215242 
    216       IF (PRESENT(latvalue_)) THEN 
    217         CALL cxios_set_domain_latvalue(domain_hdl%daddr, latvalue_, size(latvalue_,1)) 
     243      IF (PRESENT(latvalue_1d_)) THEN 
     244        CALL cxios_set_domain_latvalue_1d(domain_hdl%daddr, latvalue_1d_, size(latvalue_1d_,1)) 
     245      ENDIF 
     246 
     247      IF (PRESENT(latvalue_2d_)) THEN 
     248        CALL cxios_set_domain_latvalue_2d(domain_hdl%daddr, latvalue_2d_, size(latvalue_2d_,1), size(latvalue_2d_,2)) 
    218249      ENDIF 
    219250 
     
    222253      ENDIF 
    223254 
    224       IF (PRESENT(lonvalue_)) THEN 
    225         CALL cxios_set_domain_lonvalue(domain_hdl%daddr, lonvalue_, size(lonvalue_,1)) 
    226       ENDIF 
    227  
    228       IF (PRESENT(mask_)) THEN 
    229         ALLOCATE(mask__tmp(size(mask_,1), size(mask_,2))) 
    230         mask__tmp = mask_ 
    231         CALL cxios_set_domain_mask(domain_hdl%daddr, mask__tmp, size(mask_,1), size(mask_,2)) 
     255      IF (PRESENT(lonvalue_1d_)) THEN 
     256        CALL cxios_set_domain_lonvalue_1d(domain_hdl%daddr, lonvalue_1d_, size(lonvalue_1d_,1)) 
     257      ENDIF 
     258 
     259      IF (PRESENT(lonvalue_2d_)) THEN 
     260        CALL cxios_set_domain_lonvalue_2d(domain_hdl%daddr, lonvalue_2d_, size(lonvalue_2d_,1), size(lonvalue_2d_,2)) 
     261      ENDIF 
     262 
     263      IF (PRESENT(mask_1d_)) THEN 
     264        ALLOCATE(mask_1d__tmp(size(mask_1d_,1))) 
     265        mask_1d__tmp = mask_1d_ 
     266        CALL cxios_set_domain_mask_1d(domain_hdl%daddr, mask_1d__tmp, size(mask_1d_,1)) 
     267      ENDIF 
     268 
     269      IF (PRESENT(mask_2d_)) THEN 
     270        ALLOCATE(mask_2d__tmp(size(mask_2d_,1), size(mask_2d_,2))) 
     271        mask_2d__tmp = mask_2d_ 
     272        CALL cxios_set_domain_mask_2d(domain_hdl%daddr, mask_2d__tmp, size(mask_2d_,1), size(mask_2d_,2)) 
    232273      ENDIF 
    233274 
     
    267308 
    268309  SUBROUTINE xios(get_domain_attr)  & 
    269     ( domain_id, area, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index  & 
    270     , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, i_index, ibegin  & 
    271     , j_index, jbegin, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex  & 
    272     , standard_name, type ) 
     310    ( domain_id, area, bounds_lat_1d, bounds_lat_2d, bounds_lon_1d, bounds_lon_2d, data_dim, data_i_index  & 
     311    , data_ibegin, data_j_index, data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref  & 
     312    , i_index, ibegin, j_index, jbegin, latvalue_1d, latvalue_2d, long_name, lonvalue_1d, lonvalue_2d  & 
     313    , mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name, type ) 
    273314 
    274315    IMPLICIT NONE 
     
    276317      CHARACTER(LEN=*), INTENT(IN) ::domain_id 
    277318      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: area(:,:) 
    278       REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lat(:,:) 
    279       REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lon(:,:) 
     319      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lat_1d(:,:) 
     320      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lat_2d(:,:,:) 
     321      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lon_1d(:,:) 
     322      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lon_2d(:,:,:) 
    280323      INTEGER  , OPTIONAL, INTENT(OUT) :: data_dim 
    281324      INTEGER  , OPTIONAL, INTENT(OUT) :: data_i_index(:) 
     
    292335      INTEGER  , OPTIONAL, INTENT(OUT) :: j_index(:) 
    293336      INTEGER  , OPTIONAL, INTENT(OUT) :: jbegin 
    294       REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: latvalue(:) 
     337      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: latvalue_1d(:) 
     338      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: latvalue_2d(:,:) 
    295339      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name 
    296       REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: lonvalue(:) 
    297       LOGICAL  , OPTIONAL, INTENT(OUT) :: mask(:,:) 
    298       LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_tmp(:,:) 
     340      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: lonvalue_1d(:) 
     341      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: lonvalue_2d(:,:) 
     342      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_1d(:) 
     343      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d_tmp(:) 
     344      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_2d(:,:) 
     345      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_2d_tmp(:,:) 
    299346      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name 
    300347      INTEGER  , OPTIONAL, INTENT(OUT) :: ni 
     
    308355      CALL xios(get_domain_handle)(domain_id,domain_hdl) 
    309356      CALL xios(get_domain_attr_hdl_)   & 
    310       ( domain_hdl, area, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index  & 
    311       , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, i_index, ibegin  & 
    312       , j_index, jbegin, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex  & 
    313       , standard_name, type ) 
     357      ( domain_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lon_1d, bounds_lon_2d, data_dim, data_i_index  & 
     358      , data_ibegin, data_j_index, data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref  & 
     359      , i_index, ibegin, j_index, jbegin, latvalue_1d, latvalue_2d, long_name, lonvalue_1d, lonvalue_2d  & 
     360      , mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name, type ) 
    314361 
    315362  END SUBROUTINE xios(get_domain_attr) 
    316363 
    317364  SUBROUTINE xios(get_domain_attr_hdl)  & 
    318     ( domain_hdl, area, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index  & 
    319     , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, i_index, ibegin  & 
    320     , j_index, jbegin, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex  & 
    321     , standard_name, type ) 
     365    ( domain_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lon_1d, bounds_lon_2d, data_dim, data_i_index  & 
     366    , data_ibegin, data_j_index, data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref  & 
     367    , i_index, ibegin, j_index, jbegin, latvalue_1d, latvalue_2d, long_name, lonvalue_1d, lonvalue_2d  & 
     368    , mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name, type ) 
    322369 
    323370    IMPLICIT NONE 
    324371      TYPE(txios(domain)) , INTENT(IN) :: domain_hdl 
    325372      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: area(:,:) 
    326       REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lat(:,:) 
    327       REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lon(:,:) 
     373      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lat_1d(:,:) 
     374      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lat_2d(:,:,:) 
     375      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lon_1d(:,:) 
     376      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lon_2d(:,:,:) 
    328377      INTEGER  , OPTIONAL, INTENT(OUT) :: data_dim 
    329378      INTEGER  , OPTIONAL, INTENT(OUT) :: data_i_index(:) 
     
    340389      INTEGER  , OPTIONAL, INTENT(OUT) :: j_index(:) 
    341390      INTEGER  , OPTIONAL, INTENT(OUT) :: jbegin 
    342       REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: latvalue(:) 
     391      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: latvalue_1d(:) 
     392      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: latvalue_2d(:,:) 
    343393      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name 
    344       REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: lonvalue(:) 
    345       LOGICAL  , OPTIONAL, INTENT(OUT) :: mask(:,:) 
    346       LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_tmp(:,:) 
     394      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: lonvalue_1d(:) 
     395      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: lonvalue_2d(:,:) 
     396      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_1d(:) 
     397      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d_tmp(:) 
     398      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_2d(:,:) 
     399      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_2d_tmp(:,:) 
    347400      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name 
    348401      INTEGER  , OPTIONAL, INTENT(OUT) :: ni 
     
    355408 
    356409      CALL xios(get_domain_attr_hdl_)  & 
    357       ( domain_hdl, area, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index  & 
    358       , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, i_index, ibegin  & 
    359       , j_index, jbegin, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex  & 
    360       , standard_name, type ) 
     410      ( domain_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lon_1d, bounds_lon_2d, data_dim, data_i_index  & 
     411      , data_ibegin, data_j_index, data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref  & 
     412      , i_index, ibegin, j_index, jbegin, latvalue_1d, latvalue_2d, long_name, lonvalue_1d, lonvalue_2d  & 
     413      , mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name, type ) 
    361414 
    362415  END SUBROUTINE xios(get_domain_attr_hdl) 
    363416 
    364417  SUBROUTINE xios(get_domain_attr_hdl_)   & 
    365     ( domain_hdl, area_, bounds_lat_, bounds_lon_, data_dim_, data_i_index_, data_ibegin_, data_j_index_  & 
    366     , data_jbegin_, data_n_index_, data_ni_, data_nj_, domain_group_ref_, domain_ref_, i_index_  & 
    367     , ibegin_, j_index_, jbegin_, latvalue_, long_name_, lonvalue_, mask_, name_, ni_, ni_glo_, nj_  & 
    368     , nj_glo_, nvertex_, standard_name_, type_ ) 
     418    ( domain_hdl, area_, bounds_lat_1d_, bounds_lat_2d_, bounds_lon_1d_, bounds_lon_2d_, data_dim_  & 
     419    , data_i_index_, data_ibegin_, data_j_index_, data_jbegin_, data_n_index_, data_ni_, data_nj_  & 
     420    , domain_group_ref_, domain_ref_, i_index_, ibegin_, j_index_, jbegin_, latvalue_1d_, latvalue_2d_  & 
     421    , long_name_, lonvalue_1d_, lonvalue_2d_, mask_1d_, mask_2d_, name_, ni_, ni_glo_, nj_, nj_glo_  & 
     422    , nvertex_, standard_name_, type_ ) 
    369423 
    370424    IMPLICIT NONE 
    371425      TYPE(txios(domain)) , INTENT(IN) :: domain_hdl 
    372426      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: area_(:,:) 
    373       REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lat_(:,:) 
    374       REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lon_(:,:) 
     427      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lat_1d_(:,:) 
     428      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lat_2d_(:,:,:) 
     429      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lon_1d_(:,:) 
     430      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lon_2d_(:,:,:) 
    375431      INTEGER  , OPTIONAL, INTENT(OUT) :: data_dim_ 
    376432      INTEGER  , OPTIONAL, INTENT(OUT) :: data_i_index_(:) 
     
    387443      INTEGER  , OPTIONAL, INTENT(OUT) :: j_index_(:) 
    388444      INTEGER  , OPTIONAL, INTENT(OUT) :: jbegin_ 
    389       REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: latvalue_(:) 
     445      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: latvalue_1d_(:) 
     446      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: latvalue_2d_(:,:) 
    390447      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name_ 
    391       REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: lonvalue_(:) 
    392       LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_(:,:) 
    393       LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask__tmp(:,:) 
     448      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: lonvalue_1d_(:) 
     449      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: lonvalue_2d_(:,:) 
     450      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_1d_(:) 
     451      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d__tmp(:) 
     452      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_2d_(:,:) 
     453      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_2d__tmp(:,:) 
    394454      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name_ 
    395455      INTEGER  , OPTIONAL, INTENT(OUT) :: ni_ 
     
    405465      ENDIF 
    406466 
    407       IF (PRESENT(bounds_lat_)) THEN 
    408         CALL cxios_get_domain_bounds_lat(domain_hdl%daddr, bounds_lat_, size(bounds_lat_,1), size(bounds_lat_,2)) 
    409       ENDIF 
    410  
    411       IF (PRESENT(bounds_lon_)) THEN 
    412         CALL cxios_get_domain_bounds_lon(domain_hdl%daddr, bounds_lon_, size(bounds_lon_,1), size(bounds_lon_,2)) 
     467      IF (PRESENT(bounds_lat_1d_)) THEN 
     468        CALL cxios_get_domain_bounds_lat_1d(domain_hdl%daddr, bounds_lat_1d_, size(bounds_lat_1d_,1), size(bounds_lat_1d_,2)) 
     469      ENDIF 
     470 
     471      IF (PRESENT(bounds_lat_2d_)) THEN 
     472        CALL cxios_get_domain_bounds_lat_2d(domain_hdl%daddr, bounds_lat_2d_, size(bounds_lat_2d_,1), size(bounds_lat_2d_,2), size(bounds_lat_2d_,3)) 
     473      ENDIF 
     474 
     475      IF (PRESENT(bounds_lon_1d_)) THEN 
     476        CALL cxios_get_domain_bounds_lon_1d(domain_hdl%daddr, bounds_lon_1d_, size(bounds_lon_1d_,1), size(bounds_lon_1d_,2)) 
     477      ENDIF 
     478 
     479      IF (PRESENT(bounds_lon_2d_)) THEN 
     480        CALL cxios_get_domain_bounds_lon_2d(domain_hdl%daddr, bounds_lon_2d_, size(bounds_lon_2d_,1), size(bounds_lon_2d_,2), size(bounds_lon_2d_,3)) 
    413481      ENDIF 
    414482 
     
    469537      ENDIF 
    470538 
    471       IF (PRESENT(latvalue_)) THEN 
    472         CALL cxios_get_domain_latvalue(domain_hdl%daddr, latvalue_, size(latvalue_,1)) 
     539      IF (PRESENT(latvalue_1d_)) THEN 
     540        CALL cxios_get_domain_latvalue_1d(domain_hdl%daddr, latvalue_1d_, size(latvalue_1d_,1)) 
     541      ENDIF 
     542 
     543      IF (PRESENT(latvalue_2d_)) THEN 
     544        CALL cxios_get_domain_latvalue_2d(domain_hdl%daddr, latvalue_2d_, size(latvalue_2d_,1), size(latvalue_2d_,2)) 
    473545      ENDIF 
    474546 
     
    477549      ENDIF 
    478550 
    479       IF (PRESENT(lonvalue_)) THEN 
    480         CALL cxios_get_domain_lonvalue(domain_hdl%daddr, lonvalue_, size(lonvalue_,1)) 
    481       ENDIF 
    482  
    483       IF (PRESENT(mask_)) THEN 
    484         ALLOCATE(mask__tmp(size(mask_,1), size(mask_,2))) 
    485         CALL cxios_get_domain_mask(domain_hdl%daddr, mask__tmp, size(mask_,1), size(mask_,2)) 
    486         mask_ = mask__tmp 
     551      IF (PRESENT(lonvalue_1d_)) THEN 
     552        CALL cxios_get_domain_lonvalue_1d(domain_hdl%daddr, lonvalue_1d_, size(lonvalue_1d_,1)) 
     553      ENDIF 
     554 
     555      IF (PRESENT(lonvalue_2d_)) THEN 
     556        CALL cxios_get_domain_lonvalue_2d(domain_hdl%daddr, lonvalue_2d_, size(lonvalue_2d_,1), size(lonvalue_2d_,2)) 
     557      ENDIF 
     558 
     559      IF (PRESENT(mask_1d_)) THEN 
     560        ALLOCATE(mask_1d__tmp(size(mask_1d_,1))) 
     561        CALL cxios_get_domain_mask_1d(domain_hdl%daddr, mask_1d__tmp, size(mask_1d_,1)) 
     562        mask_1d_ = mask_1d__tmp 
     563      ENDIF 
     564 
     565      IF (PRESENT(mask_2d_)) THEN 
     566        ALLOCATE(mask_2d__tmp(size(mask_2d_,1), size(mask_2d_,2))) 
     567        CALL cxios_get_domain_mask_2d(domain_hdl%daddr, mask_2d__tmp, size(mask_2d_,1), size(mask_2d_,2)) 
     568        mask_2d_ = mask_2d__tmp 
    487569      ENDIF 
    488570 
     
    522604 
    523605  SUBROUTINE xios(is_defined_domain_attr)  & 
    524     ( domain_id, area, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index  & 
    525     , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, i_index, ibegin  & 
    526     , j_index, jbegin, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex  & 
    527     , standard_name, type ) 
     606    ( domain_id, area, bounds_lat_1d, bounds_lat_2d, bounds_lon_1d, bounds_lon_2d, data_dim, data_i_index  & 
     607    , data_ibegin, data_j_index, data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref  & 
     608    , i_index, ibegin, j_index, jbegin, latvalue_1d, latvalue_2d, long_name, lonvalue_1d, lonvalue_2d  & 
     609    , mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name, type ) 
    528610 
    529611    IMPLICIT NONE 
     
    532614      LOGICAL, OPTIONAL, INTENT(OUT) :: area 
    533615      LOGICAL(KIND=C_BOOL) :: area_tmp 
    534       LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lat 
    535       LOGICAL(KIND=C_BOOL) :: bounds_lat_tmp 
    536       LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon 
    537       LOGICAL(KIND=C_BOOL) :: bounds_lon_tmp 
     616      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lat_1d 
     617      LOGICAL(KIND=C_BOOL) :: bounds_lat_1d_tmp 
     618      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lat_2d 
     619      LOGICAL(KIND=C_BOOL) :: bounds_lat_2d_tmp 
     620      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon_1d 
     621      LOGICAL(KIND=C_BOOL) :: bounds_lon_1d_tmp 
     622      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon_2d 
     623      LOGICAL(KIND=C_BOOL) :: bounds_lon_2d_tmp 
    538624      LOGICAL, OPTIONAL, INTENT(OUT) :: data_dim 
    539625      LOGICAL(KIND=C_BOOL) :: data_dim_tmp 
     
    564650      LOGICAL, OPTIONAL, INTENT(OUT) :: jbegin 
    565651      LOGICAL(KIND=C_BOOL) :: jbegin_tmp 
    566       LOGICAL, OPTIONAL, INTENT(OUT) :: latvalue 
    567       LOGICAL(KIND=C_BOOL) :: latvalue_tmp 
     652      LOGICAL, OPTIONAL, INTENT(OUT) :: latvalue_1d 
     653      LOGICAL(KIND=C_BOOL) :: latvalue_1d_tmp 
     654      LOGICAL, OPTIONAL, INTENT(OUT) :: latvalue_2d 
     655      LOGICAL(KIND=C_BOOL) :: latvalue_2d_tmp 
    568656      LOGICAL, OPTIONAL, INTENT(OUT) :: long_name 
    569657      LOGICAL(KIND=C_BOOL) :: long_name_tmp 
    570       LOGICAL, OPTIONAL, INTENT(OUT) :: lonvalue 
    571       LOGICAL(KIND=C_BOOL) :: lonvalue_tmp 
    572       LOGICAL, OPTIONAL, INTENT(OUT) :: mask 
    573       LOGICAL(KIND=C_BOOL) :: mask_tmp 
     658      LOGICAL, OPTIONAL, INTENT(OUT) :: lonvalue_1d 
     659      LOGICAL(KIND=C_BOOL) :: lonvalue_1d_tmp 
     660      LOGICAL, OPTIONAL, INTENT(OUT) :: lonvalue_2d 
     661      LOGICAL(KIND=C_BOOL) :: lonvalue_2d_tmp 
     662      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_1d 
     663      LOGICAL(KIND=C_BOOL) :: mask_1d_tmp 
     664      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_2d 
     665      LOGICAL(KIND=C_BOOL) :: mask_2d_tmp 
    574666      LOGICAL, OPTIONAL, INTENT(OUT) :: name 
    575667      LOGICAL(KIND=C_BOOL) :: name_tmp 
     
    591683      CALL xios(get_domain_handle)(domain_id,domain_hdl) 
    592684      CALL xios(is_defined_domain_attr_hdl_)   & 
    593       ( domain_hdl, area, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index  & 
    594       , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, i_index, ibegin  & 
    595       , j_index, jbegin, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex  & 
    596       , standard_name, type ) 
     685      ( domain_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lon_1d, bounds_lon_2d, data_dim, data_i_index  & 
     686      , data_ibegin, data_j_index, data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref  & 
     687      , i_index, ibegin, j_index, jbegin, latvalue_1d, latvalue_2d, long_name, lonvalue_1d, lonvalue_2d  & 
     688      , mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name, type ) 
    597689 
    598690  END SUBROUTINE xios(is_defined_domain_attr) 
    599691 
    600692  SUBROUTINE xios(is_defined_domain_attr_hdl)  & 
    601     ( domain_hdl, area, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index  & 
    602     , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, i_index, ibegin  & 
    603     , j_index, jbegin, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex  & 
    604     , standard_name, type ) 
     693    ( domain_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lon_1d, bounds_lon_2d, data_dim, data_i_index  & 
     694    , data_ibegin, data_j_index, data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref  & 
     695    , i_index, ibegin, j_index, jbegin, latvalue_1d, latvalue_2d, long_name, lonvalue_1d, lonvalue_2d  & 
     696    , mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name, type ) 
    605697 
    606698    IMPLICIT NONE 
     
    608700      LOGICAL, OPTIONAL, INTENT(OUT) :: area 
    609701      LOGICAL(KIND=C_BOOL) :: area_tmp 
    610       LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lat 
    611       LOGICAL(KIND=C_BOOL) :: bounds_lat_tmp 
    612       LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon 
    613       LOGICAL(KIND=C_BOOL) :: bounds_lon_tmp 
     702      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lat_1d 
     703      LOGICAL(KIND=C_BOOL) :: bounds_lat_1d_tmp 
     704      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lat_2d 
     705      LOGICAL(KIND=C_BOOL) :: bounds_lat_2d_tmp 
     706      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon_1d 
     707      LOGICAL(KIND=C_BOOL) :: bounds_lon_1d_tmp 
     708      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon_2d 
     709      LOGICAL(KIND=C_BOOL) :: bounds_lon_2d_tmp 
    614710      LOGICAL, OPTIONAL, INTENT(OUT) :: data_dim 
    615711      LOGICAL(KIND=C_BOOL) :: data_dim_tmp 
     
    640736      LOGICAL, OPTIONAL, INTENT(OUT) :: jbegin 
    641737      LOGICAL(KIND=C_BOOL) :: jbegin_tmp 
    642       LOGICAL, OPTIONAL, INTENT(OUT) :: latvalue 
    643       LOGICAL(KIND=C_BOOL) :: latvalue_tmp 
     738      LOGICAL, OPTIONAL, INTENT(OUT) :: latvalue_1d 
     739      LOGICAL(KIND=C_BOOL) :: latvalue_1d_tmp 
     740      LOGICAL, OPTIONAL, INTENT(OUT) :: latvalue_2d 
     741      LOGICAL(KIND=C_BOOL) :: latvalue_2d_tmp 
    644742      LOGICAL, OPTIONAL, INTENT(OUT) :: long_name 
    645743      LOGICAL(KIND=C_BOOL) :: long_name_tmp 
    646       LOGICAL, OPTIONAL, INTENT(OUT) :: lonvalue 
    647       LOGICAL(KIND=C_BOOL) :: lonvalue_tmp 
    648       LOGICAL, OPTIONAL, INTENT(OUT) :: mask 
    649       LOGICAL(KIND=C_BOOL) :: mask_tmp 
     744      LOGICAL, OPTIONAL, INTENT(OUT) :: lonvalue_1d 
     745      LOGICAL(KIND=C_BOOL) :: lonvalue_1d_tmp 
     746      LOGICAL, OPTIONAL, INTENT(OUT) :: lonvalue_2d 
     747      LOGICAL(KIND=C_BOOL) :: lonvalue_2d_tmp 
     748      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_1d 
     749      LOGICAL(KIND=C_BOOL) :: mask_1d_tmp 
     750      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_2d 
     751      LOGICAL(KIND=C_BOOL) :: mask_2d_tmp 
    650752      LOGICAL, OPTIONAL, INTENT(OUT) :: name 
    651753      LOGICAL(KIND=C_BOOL) :: name_tmp 
     
    666768 
    667769      CALL xios(is_defined_domain_attr_hdl_)  & 
    668       ( domain_hdl, area, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index  & 
    669       , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, i_index, ibegin  & 
    670       , j_index, jbegin, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex  & 
    671       , standard_name, type ) 
     770      ( domain_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lon_1d, bounds_lon_2d, data_dim, data_i_index  & 
     771      , data_ibegin, data_j_index, data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref  & 
     772      , i_index, ibegin, j_index, jbegin, latvalue_1d, latvalue_2d, long_name, lonvalue_1d, lonvalue_2d  & 
     773      , mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name, type ) 
    672774 
    673775  END SUBROUTINE xios(is_defined_domain_attr_hdl) 
    674776 
    675777  SUBROUTINE xios(is_defined_domain_attr_hdl_)   & 
    676     ( domain_hdl, area_, bounds_lat_, bounds_lon_, data_dim_, data_i_index_, data_ibegin_, data_j_index_  & 
    677     , data_jbegin_, data_n_index_, data_ni_, data_nj_, domain_group_ref_, domain_ref_, i_index_  & 
    678     , ibegin_, j_index_, jbegin_, latvalue_, long_name_, lonvalue_, mask_, name_, ni_, ni_glo_, nj_  & 
    679     , nj_glo_, nvertex_, standard_name_, type_ ) 
     778    ( domain_hdl, area_, bounds_lat_1d_, bounds_lat_2d_, bounds_lon_1d_, bounds_lon_2d_, data_dim_  & 
     779    , data_i_index_, data_ibegin_, data_j_index_, data_jbegin_, data_n_index_, data_ni_, data_nj_  & 
     780    , domain_group_ref_, domain_ref_, i_index_, ibegin_, j_index_, jbegin_, latvalue_1d_, latvalue_2d_  & 
     781    , long_name_, lonvalue_1d_, lonvalue_2d_, mask_1d_, mask_2d_, name_, ni_, ni_glo_, nj_, nj_glo_  & 
     782    , nvertex_, standard_name_, type_ ) 
    680783 
    681784    IMPLICIT NONE 
     
    683786      LOGICAL, OPTIONAL, INTENT(OUT) :: area_ 
    684787      LOGICAL(KIND=C_BOOL) :: area__tmp 
    685       LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lat_ 
    686       LOGICAL(KIND=C_BOOL) :: bounds_lat__tmp 
    687       LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon_ 
    688       LOGICAL(KIND=C_BOOL) :: bounds_lon__tmp 
     788      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lat_1d_ 
     789      LOGICAL(KIND=C_BOOL) :: bounds_lat_1d__tmp 
     790      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lat_2d_ 
     791      LOGICAL(KIND=C_BOOL) :: bounds_lat_2d__tmp 
     792      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon_1d_ 
     793      LOGICAL(KIND=C_BOOL) :: bounds_lon_1d__tmp 
     794      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon_2d_ 
     795      LOGICAL(KIND=C_BOOL) :: bounds_lon_2d__tmp 
    689796      LOGICAL, OPTIONAL, INTENT(OUT) :: data_dim_ 
    690797      LOGICAL(KIND=C_BOOL) :: data_dim__tmp 
     
    715822      LOGICAL, OPTIONAL, INTENT(OUT) :: jbegin_ 
    716823      LOGICAL(KIND=C_BOOL) :: jbegin__tmp 
    717       LOGICAL, OPTIONAL, INTENT(OUT) :: latvalue_ 
    718       LOGICAL(KIND=C_BOOL) :: latvalue__tmp 
     824      LOGICAL, OPTIONAL, INTENT(OUT) :: latvalue_1d_ 
     825      LOGICAL(KIND=C_BOOL) :: latvalue_1d__tmp 
     826      LOGICAL, OPTIONAL, INTENT(OUT) :: latvalue_2d_ 
     827      LOGICAL(KIND=C_BOOL) :: latvalue_2d__tmp 
    719828      LOGICAL, OPTIONAL, INTENT(OUT) :: long_name_ 
    720829      LOGICAL(KIND=C_BOOL) :: long_name__tmp 
    721       LOGICAL, OPTIONAL, INTENT(OUT) :: lonvalue_ 
    722       LOGICAL(KIND=C_BOOL) :: lonvalue__tmp 
    723       LOGICAL, OPTIONAL, INTENT(OUT) :: mask_ 
    724       LOGICAL(KIND=C_BOOL) :: mask__tmp 
     830      LOGICAL, OPTIONAL, INTENT(OUT) :: lonvalue_1d_ 
     831      LOGICAL(KIND=C_BOOL) :: lonvalue_1d__tmp 
     832      LOGICAL, OPTIONAL, INTENT(OUT) :: lonvalue_2d_ 
     833      LOGICAL(KIND=C_BOOL) :: lonvalue_2d__tmp 
     834      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_1d_ 
     835      LOGICAL(KIND=C_BOOL) :: mask_1d__tmp 
     836      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_2d_ 
     837      LOGICAL(KIND=C_BOOL) :: mask_2d__tmp 
    725838      LOGICAL, OPTIONAL, INTENT(OUT) :: name_ 
    726839      LOGICAL(KIND=C_BOOL) :: name__tmp 
     
    745858      ENDIF 
    746859 
    747       IF (PRESENT(bounds_lat_)) THEN 
    748         bounds_lat__tmp = cxios_is_defined_domain_bounds_lat(domain_hdl%daddr) 
    749         bounds_lat_ = bounds_lat__tmp 
    750       ENDIF 
    751  
    752       IF (PRESENT(bounds_lon_)) THEN 
    753         bounds_lon__tmp = cxios_is_defined_domain_bounds_lon(domain_hdl%daddr) 
    754         bounds_lon_ = bounds_lon__tmp 
     860      IF (PRESENT(bounds_lat_1d_)) THEN 
     861        bounds_lat_1d__tmp = cxios_is_defined_domain_bounds_lat_1d(domain_hdl%daddr) 
     862        bounds_lat_1d_ = bounds_lat_1d__tmp 
     863      ENDIF 
     864 
     865      IF (PRESENT(bounds_lat_2d_)) THEN 
     866        bounds_lat_2d__tmp = cxios_is_defined_domain_bounds_lat_2d(domain_hdl%daddr) 
     867        bounds_lat_2d_ = bounds_lat_2d__tmp 
     868      ENDIF 
     869 
     870      IF (PRESENT(bounds_lon_1d_)) THEN 
     871        bounds_lon_1d__tmp = cxios_is_defined_domain_bounds_lon_1d(domain_hdl%daddr) 
     872        bounds_lon_1d_ = bounds_lon_1d__tmp 
     873      ENDIF 
     874 
     875      IF (PRESENT(bounds_lon_2d_)) THEN 
     876        bounds_lon_2d__tmp = cxios_is_defined_domain_bounds_lon_2d(domain_hdl%daddr) 
     877        bounds_lon_2d_ = bounds_lon_2d__tmp 
    755878      ENDIF 
    756879 
     
    825948      ENDIF 
    826949 
    827       IF (PRESENT(latvalue_)) THEN 
    828         latvalue__tmp = cxios_is_defined_domain_latvalue(domain_hdl%daddr) 
    829         latvalue_ = latvalue__tmp 
     950      IF (PRESENT(latvalue_1d_)) THEN 
     951        latvalue_1d__tmp = cxios_is_defined_domain_latvalue_1d(domain_hdl%daddr) 
     952        latvalue_1d_ = latvalue_1d__tmp 
     953      ENDIF 
     954 
     955      IF (PRESENT(latvalue_2d_)) THEN 
     956        latvalue_2d__tmp = cxios_is_defined_domain_latvalue_2d(domain_hdl%daddr) 
     957        latvalue_2d_ = latvalue_2d__tmp 
    830958      ENDIF 
    831959 
     
    835963      ENDIF 
    836964 
    837       IF (PRESENT(lonvalue_)) THEN 
    838         lonvalue__tmp = cxios_is_defined_domain_lonvalue(domain_hdl%daddr) 
    839         lonvalue_ = lonvalue__tmp 
    840       ENDIF 
    841  
    842       IF (PRESENT(mask_)) THEN 
    843         mask__tmp = cxios_is_defined_domain_mask(domain_hdl%daddr) 
    844         mask_ = mask__tmp 
     965      IF (PRESENT(lonvalue_1d_)) THEN 
     966        lonvalue_1d__tmp = cxios_is_defined_domain_lonvalue_1d(domain_hdl%daddr) 
     967        lonvalue_1d_ = lonvalue_1d__tmp 
     968      ENDIF 
     969 
     970      IF (PRESENT(lonvalue_2d_)) THEN 
     971        lonvalue_2d__tmp = cxios_is_defined_domain_lonvalue_2d(domain_hdl%daddr) 
     972        lonvalue_2d_ = lonvalue_2d__tmp 
     973      ENDIF 
     974 
     975      IF (PRESENT(mask_1d_)) THEN 
     976        mask_1d__tmp = cxios_is_defined_domain_mask_1d(domain_hdl%daddr) 
     977        mask_1d_ = mask_1d__tmp 
     978      ENDIF 
     979 
     980      IF (PRESENT(mask_2d_)) THEN 
     981        mask_2d__tmp = cxios_is_defined_domain_mask_2d(domain_hdl%daddr) 
     982        mask_2d_ = mask_2d__tmp 
    845983      ENDIF 
    846984 
  • XIOS/trunk/src/interface/fortran_attr/idomaingroup_attr.F90

    r657 r664  
    1212 
    1313  SUBROUTINE xios(set_domaingroup_attr)  & 
    14     ( domaingroup_id, area, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index  & 
    15     , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, group_ref, i_index  & 
    16     , ibegin, j_index, jbegin, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo  & 
    17     , nvertex, standard_name, type ) 
     14    ( domaingroup_id, area, bounds_lat_1d, bounds_lat_2d, bounds_lon_1d, bounds_lon_2d, data_dim  & 
     15    , data_i_index, data_ibegin, data_j_index, data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref  & 
     16    , domain_ref, group_ref, i_index, ibegin, j_index, jbegin, latvalue_1d, latvalue_2d, long_name  & 
     17    , lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  & 
     18    , type ) 
    1819 
    1920    IMPLICIT NONE 
     
    2122      CHARACTER(LEN=*), INTENT(IN) ::domaingroup_id 
    2223      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: area(:,:) 
    23       REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lat(:,:) 
    24       REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lon(:,:) 
     24      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lat_1d(:,:) 
     25      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lat_2d(:,:,:) 
     26      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lon_1d(:,:) 
     27      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lon_2d(:,:,:) 
    2528      INTEGER  , OPTIONAL, INTENT(IN) :: data_dim 
    2629      INTEGER  , OPTIONAL, INTENT(IN) :: data_i_index(:) 
     
    3841      INTEGER  , OPTIONAL, INTENT(IN) :: j_index(:) 
    3942      INTEGER  , OPTIONAL, INTENT(IN) :: jbegin 
    40       REAL (KIND=8) , OPTIONAL, INTENT(IN) :: latvalue(:) 
     43      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: latvalue_1d(:) 
     44      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: latvalue_2d(:,:) 
    4145      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name 
    42       REAL (KIND=8) , OPTIONAL, INTENT(IN) :: lonvalue(:) 
    43       LOGICAL  , OPTIONAL, INTENT(IN) :: mask(:,:) 
    44       LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_tmp(:,:) 
     46      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: lonvalue_1d(:) 
     47      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: lonvalue_2d(:,:) 
     48      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_1d(:) 
     49      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d_tmp(:) 
     50      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_2d(:,:) 
     51      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_2d_tmp(:,:) 
    4552      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name 
    4653      INTEGER  , OPTIONAL, INTENT(IN) :: ni 
     
    5461      CALL xios(get_domaingroup_handle)(domaingroup_id,domaingroup_hdl) 
    5562      CALL xios(set_domaingroup_attr_hdl_)   & 
    56       ( domaingroup_hdl, area, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index  & 
    57       , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, group_ref, i_index  & 
    58       , ibegin, j_index, jbegin, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo  & 
    59       , nvertex, standard_name, type ) 
     63      ( domaingroup_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lon_1d, bounds_lon_2d, data_dim  & 
     64      , data_i_index, data_ibegin, data_j_index, data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref  & 
     65      , domain_ref, group_ref, i_index, ibegin, j_index, jbegin, latvalue_1d, latvalue_2d, long_name  & 
     66      , lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  & 
     67      , type ) 
    6068 
    6169  END SUBROUTINE xios(set_domaingroup_attr) 
    6270 
    6371  SUBROUTINE xios(set_domaingroup_attr_hdl)  & 
    64     ( domaingroup_hdl, area, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index  & 
    65     , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, group_ref, i_index  & 
    66     , ibegin, j_index, jbegin, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo  & 
    67     , nvertex, standard_name, type ) 
     72    ( domaingroup_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lon_1d, bounds_lon_2d, data_dim  & 
     73    , data_i_index, data_ibegin, data_j_index, data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref  & 
     74    , domain_ref, group_ref, i_index, ibegin, j_index, jbegin, latvalue_1d, latvalue_2d, long_name  & 
     75    , lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  & 
     76    , type ) 
    6877 
    6978    IMPLICIT NONE 
    7079      TYPE(txios(domaingroup)) , INTENT(IN) :: domaingroup_hdl 
    7180      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: area(:,:) 
    72       REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lat(:,:) 
    73       REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lon(:,:) 
     81      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lat_1d(:,:) 
     82      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lat_2d(:,:,:) 
     83      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lon_1d(:,:) 
     84      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lon_2d(:,:,:) 
    7485      INTEGER  , OPTIONAL, INTENT(IN) :: data_dim 
    7586      INTEGER  , OPTIONAL, INTENT(IN) :: data_i_index(:) 
     
    8798      INTEGER  , OPTIONAL, INTENT(IN) :: j_index(:) 
    8899      INTEGER  , OPTIONAL, INTENT(IN) :: jbegin 
    89       REAL (KIND=8) , OPTIONAL, INTENT(IN) :: latvalue(:) 
     100      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: latvalue_1d(:) 
     101      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: latvalue_2d(:,:) 
    90102      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name 
    91       REAL (KIND=8) , OPTIONAL, INTENT(IN) :: lonvalue(:) 
    92       LOGICAL  , OPTIONAL, INTENT(IN) :: mask(:,:) 
    93       LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_tmp(:,:) 
     103      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: lonvalue_1d(:) 
     104      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: lonvalue_2d(:,:) 
     105      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_1d(:) 
     106      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d_tmp(:) 
     107      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_2d(:,:) 
     108      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_2d_tmp(:,:) 
    94109      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name 
    95110      INTEGER  , OPTIONAL, INTENT(IN) :: ni 
     
    102117 
    103118      CALL xios(set_domaingroup_attr_hdl_)  & 
    104       ( domaingroup_hdl, area, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index  & 
    105       , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, group_ref, i_index  & 
    106       , ibegin, j_index, jbegin, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo  & 
    107       , nvertex, standard_name, type ) 
     119      ( domaingroup_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lon_1d, bounds_lon_2d, data_dim  & 
     120      , data_i_index, data_ibegin, data_j_index, data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref  & 
     121      , domain_ref, group_ref, i_index, ibegin, j_index, jbegin, latvalue_1d, latvalue_2d, long_name  & 
     122      , lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  & 
     123      , type ) 
    108124 
    109125  END SUBROUTINE xios(set_domaingroup_attr_hdl) 
    110126 
    111127  SUBROUTINE xios(set_domaingroup_attr_hdl_)   & 
    112     ( domaingroup_hdl, area_, bounds_lat_, bounds_lon_, data_dim_, data_i_index_, data_ibegin_, data_j_index_  & 
    113     , data_jbegin_, data_n_index_, data_ni_, data_nj_, domain_group_ref_, domain_ref_, group_ref_  & 
    114     , i_index_, ibegin_, j_index_, jbegin_, latvalue_, long_name_, lonvalue_, mask_, name_, ni_  & 
    115     , ni_glo_, nj_, nj_glo_, nvertex_, standard_name_, type_ ) 
     128    ( domaingroup_hdl, area_, bounds_lat_1d_, bounds_lat_2d_, bounds_lon_1d_, bounds_lon_2d_, data_dim_  & 
     129    , data_i_index_, data_ibegin_, data_j_index_, data_jbegin_, data_n_index_, data_ni_, data_nj_  & 
     130    , domain_group_ref_, domain_ref_, group_ref_, i_index_, ibegin_, j_index_, jbegin_, latvalue_1d_  & 
     131    , latvalue_2d_, long_name_, lonvalue_1d_, lonvalue_2d_, mask_1d_, mask_2d_, name_, ni_, ni_glo_  & 
     132    , nj_, nj_glo_, nvertex_, standard_name_, type_ ) 
    116133 
    117134    IMPLICIT NONE 
    118135      TYPE(txios(domaingroup)) , INTENT(IN) :: domaingroup_hdl 
    119136      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: area_(:,:) 
    120       REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lat_(:,:) 
    121       REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lon_(:,:) 
     137      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lat_1d_(:,:) 
     138      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lat_2d_(:,:,:) 
     139      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lon_1d_(:,:) 
     140      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lon_2d_(:,:,:) 
    122141      INTEGER  , OPTIONAL, INTENT(IN) :: data_dim_ 
    123142      INTEGER  , OPTIONAL, INTENT(IN) :: data_i_index_(:) 
     
    135154      INTEGER  , OPTIONAL, INTENT(IN) :: j_index_(:) 
    136155      INTEGER  , OPTIONAL, INTENT(IN) :: jbegin_ 
    137       REAL (KIND=8) , OPTIONAL, INTENT(IN) :: latvalue_(:) 
     156      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: latvalue_1d_(:) 
     157      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: latvalue_2d_(:,:) 
    138158      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name_ 
    139       REAL (KIND=8) , OPTIONAL, INTENT(IN) :: lonvalue_(:) 
    140       LOGICAL  , OPTIONAL, INTENT(IN) :: mask_(:,:) 
    141       LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask__tmp(:,:) 
     159      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: lonvalue_1d_(:) 
     160      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: lonvalue_2d_(:,:) 
     161      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_1d_(:) 
     162      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d__tmp(:) 
     163      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_2d_(:,:) 
     164      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_2d__tmp(:,:) 
    142165      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name_ 
    143166      INTEGER  , OPTIONAL, INTENT(IN) :: ni_ 
     
    153176      ENDIF 
    154177 
    155       IF (PRESENT(bounds_lat_)) THEN 
    156         CALL cxios_set_domaingroup_bounds_lat(domaingroup_hdl%daddr, bounds_lat_, size(bounds_lat_,1), size(bounds_lat_,2)) 
    157       ENDIF 
    158  
    159       IF (PRESENT(bounds_lon_)) THEN 
    160         CALL cxios_set_domaingroup_bounds_lon(domaingroup_hdl%daddr, bounds_lon_, size(bounds_lon_,1), size(bounds_lon_,2)) 
     178      IF (PRESENT(bounds_lat_1d_)) THEN 
     179        CALL cxios_set_domaingroup_bounds_lat_1d(domaingroup_hdl%daddr, bounds_lat_1d_, size(bounds_lat_1d_,1), size(bounds_lat_1d_,2)) 
     180      ENDIF 
     181 
     182      IF (PRESENT(bounds_lat_2d_)) THEN 
     183        CALL cxios_set_domaingroup_bounds_lat_2d(domaingroup_hdl%daddr, bounds_lat_2d_, size(bounds_lat_2d_,1), size(bounds_lat_2d_,2), size(bounds_lat_2d_,3)) 
     184      ENDIF 
     185 
     186      IF (PRESENT(bounds_lon_1d_)) THEN 
     187        CALL cxios_set_domaingroup_bounds_lon_1d(domaingroup_hdl%daddr, bounds_lon_1d_, size(bounds_lon_1d_,1), size(bounds_lon_1d_,2)) 
     188      ENDIF 
     189 
     190      IF (PRESENT(bounds_lon_2d_)) THEN 
     191        CALL cxios_set_domaingroup_bounds_lon_2d(domaingroup_hdl%daddr, bounds_lon_2d_, size(bounds_lon_2d_,1), size(bounds_lon_2d_,2), size(bounds_lon_2d_,3)) 
    161192      ENDIF 
    162193 
     
    221252      ENDIF 
    222253 
    223       IF (PRESENT(latvalue_)) THEN 
    224         CALL cxios_set_domaingroup_latvalue(domaingroup_hdl%daddr, latvalue_, size(latvalue_,1)) 
     254      IF (PRESENT(latvalue_1d_)) THEN 
     255        CALL cxios_set_domaingroup_latvalue_1d(domaingroup_hdl%daddr, latvalue_1d_, size(latvalue_1d_,1)) 
     256      ENDIF 
     257 
     258      IF (PRESENT(latvalue_2d_)) THEN 
     259        CALL cxios_set_domaingroup_latvalue_2d(domaingroup_hdl%daddr, latvalue_2d_, size(latvalue_2d_,1), size(latvalue_2d_,2)) 
    225260      ENDIF 
    226261 
     
    229264      ENDIF 
    230265 
    231       IF (PRESENT(lonvalue_)) THEN 
    232         CALL cxios_set_domaingroup_lonvalue(domaingroup_hdl%daddr, lonvalue_, size(lonvalue_,1)) 
    233       ENDIF 
    234  
    235       IF (PRESENT(mask_)) THEN 
    236         ALLOCATE(mask__tmp(size(mask_,1), size(mask_,2))) 
    237         mask__tmp = mask_ 
    238         CALL cxios_set_domaingroup_mask(domaingroup_hdl%daddr, mask__tmp, size(mask_,1), size(mask_,2)) 
     266      IF (PRESENT(lonvalue_1d_)) THEN 
     267        CALL cxios_set_domaingroup_lonvalue_1d(domaingroup_hdl%daddr, lonvalue_1d_, size(lonvalue_1d_,1)) 
     268      ENDIF 
     269 
     270      IF (PRESENT(lonvalue_2d_)) THEN 
     271        CALL cxios_set_domaingroup_lonvalue_2d(domaingroup_hdl%daddr, lonvalue_2d_, size(lonvalue_2d_,1), size(lonvalue_2d_,2)) 
     272      ENDIF 
     273 
     274      IF (PRESENT(mask_1d_)) THEN 
     275        ALLOCATE(mask_1d__tmp(size(mask_1d_,1))) 
     276        mask_1d__tmp = mask_1d_ 
     277        CALL cxios_set_domaingroup_mask_1d(domaingroup_hdl%daddr, mask_1d__tmp, size(mask_1d_,1)) 
     278      ENDIF 
     279 
     280      IF (PRESENT(mask_2d_)) THEN 
     281        ALLOCATE(mask_2d__tmp(size(mask_2d_,1), size(mask_2d_,2))) 
     282        mask_2d__tmp = mask_2d_ 
     283        CALL cxios_set_domaingroup_mask_2d(domaingroup_hdl%daddr, mask_2d__tmp, size(mask_2d_,1), size(mask_2d_,2)) 
    239284      ENDIF 
    240285 
     
    274319 
    275320  SUBROUTINE xios(get_domaingroup_attr)  & 
    276     ( domaingroup_id, area, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index  & 
    277     , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, group_ref, i_index  & 
    278     , ibegin, j_index, jbegin, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo  & 
    279     , nvertex, standard_name, type ) 
     321    ( domaingroup_id, area, bounds_lat_1d, bounds_lat_2d, bounds_lon_1d, bounds_lon_2d, data_dim  & 
     322    , data_i_index, data_ibegin, data_j_index, data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref  & 
     323    , domain_ref, group_ref, i_index, ibegin, j_index, jbegin, latvalue_1d, latvalue_2d, long_name  & 
     324    , lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  & 
     325    , type ) 
    280326 
    281327    IMPLICIT NONE 
     
    283329      CHARACTER(LEN=*), INTENT(IN) ::domaingroup_id 
    284330      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: area(:,:) 
    285       REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lat(:,:) 
    286       REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lon(:,:) 
     331      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lat_1d(:,:) 
     332      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lat_2d(:,:,:) 
     333      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lon_1d(:,:) 
     334      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lon_2d(:,:,:) 
    287335      INTEGER  , OPTIONAL, INTENT(OUT) :: data_dim 
    288336      INTEGER  , OPTIONAL, INTENT(OUT) :: data_i_index(:) 
     
    300348      INTEGER  , OPTIONAL, INTENT(OUT) :: j_index(:) 
    301349      INTEGER  , OPTIONAL, INTENT(OUT) :: jbegin 
    302       REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: latvalue(:) 
     350      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: latvalue_1d(:) 
     351      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: latvalue_2d(:,:) 
    303352      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name 
    304       REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: lonvalue(:) 
    305       LOGICAL  , OPTIONAL, INTENT(OUT) :: mask(:,:) 
    306       LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_tmp(:,:) 
     353      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: lonvalue_1d(:) 
     354      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: lonvalue_2d(:,:) 
     355      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_1d(:) 
     356      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d_tmp(:) 
     357      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_2d(:,:) 
     358      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_2d_tmp(:,:) 
    307359      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name 
    308360      INTEGER  , OPTIONAL, INTENT(OUT) :: ni 
     
    316368      CALL xios(get_domaingroup_handle)(domaingroup_id,domaingroup_hdl) 
    317369      CALL xios(get_domaingroup_attr_hdl_)   & 
    318       ( domaingroup_hdl, area, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index  & 
    319       , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, group_ref, i_index  & 
    320       , ibegin, j_index, jbegin, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo  & 
    321       , nvertex, standard_name, type ) 
     370      ( domaingroup_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lon_1d, bounds_lon_2d, data_dim  & 
     371      , data_i_index, data_ibegin, data_j_index, data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref  & 
     372      , domain_ref, group_ref, i_index, ibegin, j_index, jbegin, latvalue_1d, latvalue_2d, long_name  & 
     373      , lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  & 
     374      , type ) 
    322375 
    323376  END SUBROUTINE xios(get_domaingroup_attr) 
    324377 
    325378  SUBROUTINE xios(get_domaingroup_attr_hdl)  & 
    326     ( domaingroup_hdl, area, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index  & 
    327     , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, group_ref, i_index  & 
    328     , ibegin, j_index, jbegin, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo  & 
    329     , nvertex, standard_name, type ) 
     379    ( domaingroup_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lon_1d, bounds_lon_2d, data_dim  & 
     380    , data_i_index, data_ibegin, data_j_index, data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref  & 
     381    , domain_ref, group_ref, i_index, ibegin, j_index, jbegin, latvalue_1d, latvalue_2d, long_name  & 
     382    , lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  & 
     383    , type ) 
    330384 
    331385    IMPLICIT NONE 
    332386      TYPE(txios(domaingroup)) , INTENT(IN) :: domaingroup_hdl 
    333387      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: area(:,:) 
    334       REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lat(:,:) 
    335       REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lon(:,:) 
     388      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lat_1d(:,:) 
     389      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lat_2d(:,:,:) 
     390      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lon_1d(:,:) 
     391      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lon_2d(:,:,:) 
    336392      INTEGER  , OPTIONAL, INTENT(OUT) :: data_dim 
    337393      INTEGER  , OPTIONAL, INTENT(OUT) :: data_i_index(:) 
     
    349405      INTEGER  , OPTIONAL, INTENT(OUT) :: j_index(:) 
    350406      INTEGER  , OPTIONAL, INTENT(OUT) :: jbegin 
    351       REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: latvalue(:) 
     407      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: latvalue_1d(:) 
     408      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: latvalue_2d(:,:) 
    352409      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name 
    353       REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: lonvalue(:) 
    354       LOGICAL  , OPTIONAL, INTENT(OUT) :: mask(:,:) 
    355       LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_tmp(:,:) 
     410      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: lonvalue_1d(:) 
     411      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: lonvalue_2d(:,:) 
     412      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_1d(:) 
     413      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d_tmp(:) 
     414      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_2d(:,:) 
     415      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_2d_tmp(:,:) 
    356416      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name 
    357417      INTEGER  , OPTIONAL, INTENT(OUT) :: ni 
     
    364424 
    365425      CALL xios(get_domaingroup_attr_hdl_)  & 
    366       ( domaingroup_hdl, area, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index  & 
    367       , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, group_ref, i_index  & 
    368       , ibegin, j_index, jbegin, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo  & 
    369       , nvertex, standard_name, type ) 
     426      ( domaingroup_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lon_1d, bounds_lon_2d, data_dim  & 
     427      , data_i_index, data_ibegin, data_j_index, data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref  & 
     428      , domain_ref, group_ref, i_index, ibegin, j_index, jbegin, latvalue_1d, latvalue_2d, long_name  & 
     429      , lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  & 
     430      , type ) 
    370431 
    371432  END SUBROUTINE xios(get_domaingroup_attr_hdl) 
    372433 
    373434  SUBROUTINE xios(get_domaingroup_attr_hdl_)   & 
    374     ( domaingroup_hdl, area_, bounds_lat_, bounds_lon_, data_dim_, data_i_index_, data_ibegin_, data_j_index_  & 
    375     , data_jbegin_, data_n_index_, data_ni_, data_nj_, domain_group_ref_, domain_ref_, group_ref_  & 
    376     , i_index_, ibegin_, j_index_, jbegin_, latvalue_, long_name_, lonvalue_, mask_, name_, ni_  & 
    377     , ni_glo_, nj_, nj_glo_, nvertex_, standard_name_, type_ ) 
     435    ( domaingroup_hdl, area_, bounds_lat_1d_, bounds_lat_2d_, bounds_lon_1d_, bounds_lon_2d_, data_dim_  & 
     436    , data_i_index_, data_ibegin_, data_j_index_, data_jbegin_, data_n_index_, data_ni_, data_nj_  & 
     437    , domain_group_ref_, domain_ref_, group_ref_, i_index_, ibegin_, j_index_, jbegin_, latvalue_1d_  & 
     438    , latvalue_2d_, long_name_, lonvalue_1d_, lonvalue_2d_, mask_1d_, mask_2d_, name_, ni_, ni_glo_  & 
     439    , nj_, nj_glo_, nvertex_, standard_name_, type_ ) 
    378440 
    379441    IMPLICIT NONE 
    380442      TYPE(txios(domaingroup)) , INTENT(IN) :: domaingroup_hdl 
    381443      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: area_(:,:) 
    382       REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lat_(:,:) 
    383       REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lon_(:,:) 
     444      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lat_1d_(:,:) 
     445      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lat_2d_(:,:,:) 
     446      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lon_1d_(:,:) 
     447      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lon_2d_(:,:,:) 
    384448      INTEGER  , OPTIONAL, INTENT(OUT) :: data_dim_ 
    385449      INTEGER  , OPTIONAL, INTENT(OUT) :: data_i_index_(:) 
     
    397461      INTEGER  , OPTIONAL, INTENT(OUT) :: j_index_(:) 
    398462      INTEGER  , OPTIONAL, INTENT(OUT) :: jbegin_ 
    399       REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: latvalue_(:) 
     463      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: latvalue_1d_(:) 
     464      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: latvalue_2d_(:,:) 
    400465      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name_ 
    401       REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: lonvalue_(:) 
    402       LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_(:,:) 
    403       LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask__tmp(:,:) 
     466      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: lonvalue_1d_(:) 
     467      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: lonvalue_2d_(:,:) 
     468      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_1d_(:) 
     469      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d__tmp(:) 
     470      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_2d_(:,:) 
     471      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_2d__tmp(:,:) 
    404472      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name_ 
    405473      INTEGER  , OPTIONAL, INTENT(OUT) :: ni_ 
     
    415483      ENDIF 
    416484 
    417       IF (PRESENT(bounds_lat_)) THEN 
    418         CALL cxios_get_domaingroup_bounds_lat(domaingroup_hdl%daddr, bounds_lat_, size(bounds_lat_,1), size(bounds_lat_,2)) 
    419       ENDIF 
    420  
    421       IF (PRESENT(bounds_lon_)) THEN 
    422         CALL cxios_get_domaingroup_bounds_lon(domaingroup_hdl%daddr, bounds_lon_, size(bounds_lon_,1), size(bounds_lon_,2)) 
     485      IF (PRESENT(bounds_lat_1d_)) THEN 
     486        CALL cxios_get_domaingroup_bounds_lat_1d(domaingroup_hdl%daddr, bounds_lat_1d_, size(bounds_lat_1d_,1), size(bounds_lat_1d_,2)) 
     487      ENDIF 
     488 
     489      IF (PRESENT(bounds_lat_2d_)) THEN 
     490        CALL cxios_get_domaingroup_bounds_lat_2d(domaingroup_hdl%daddr, bounds_lat_2d_, size(bounds_lat_2d_,1), size(bounds_lat_2d_,2), size(bounds_lat_2d_,3)) 
     491      ENDIF 
     492 
     493      IF (PRESENT(bounds_lon_1d_)) THEN 
     494        CALL cxios_get_domaingroup_bounds_lon_1d(domaingroup_hdl%daddr, bounds_lon_1d_, size(bounds_lon_1d_,1), size(bounds_lon_1d_,2)) 
     495      ENDIF 
     496 
     497      IF (PRESENT(bounds_lon_2d_)) THEN 
     498        CALL cxios_get_domaingroup_bounds_lon_2d(domaingroup_hdl%daddr, bounds_lon_2d_, size(bounds_lon_2d_,1), size(bounds_lon_2d_,2), size(bounds_lon_2d_,3)) 
    423499      ENDIF 
    424500 
     
    483559      ENDIF 
    484560 
    485       IF (PRESENT(latvalue_)) THEN 
    486         CALL cxios_get_domaingroup_latvalue(domaingroup_hdl%daddr, latvalue_, size(latvalue_,1)) 
     561      IF (PRESENT(latvalue_1d_)) THEN 
     562        CALL cxios_get_domaingroup_latvalue_1d(domaingroup_hdl%daddr, latvalue_1d_, size(latvalue_1d_,1)) 
     563      ENDIF 
     564 
     565      IF (PRESENT(latvalue_2d_)) THEN 
     566        CALL cxios_get_domaingroup_latvalue_2d(domaingroup_hdl%daddr, latvalue_2d_, size(latvalue_2d_,1), size(latvalue_2d_,2)) 
    487567      ENDIF 
    488568 
     
    491571      ENDIF 
    492572 
    493       IF (PRESENT(lonvalue_)) THEN 
    494         CALL cxios_get_domaingroup_lonvalue(domaingroup_hdl%daddr, lonvalue_, size(lonvalue_,1)) 
    495       ENDIF 
    496  
    497       IF (PRESENT(mask_)) THEN 
    498         ALLOCATE(mask__tmp(size(mask_,1), size(mask_,2))) 
    499         CALL cxios_get_domaingroup_mask(domaingroup_hdl%daddr, mask__tmp, size(mask_,1), size(mask_,2)) 
    500         mask_ = mask__tmp 
     573      IF (PRESENT(lonvalue_1d_)) THEN 
     574        CALL cxios_get_domaingroup_lonvalue_1d(domaingroup_hdl%daddr, lonvalue_1d_, size(lonvalue_1d_,1)) 
     575      ENDIF 
     576 
     577      IF (PRESENT(lonvalue_2d_)) THEN 
     578        CALL cxios_get_domaingroup_lonvalue_2d(domaingroup_hdl%daddr, lonvalue_2d_, size(lonvalue_2d_,1), size(lonvalue_2d_,2)) 
     579      ENDIF 
     580 
     581      IF (PRESENT(mask_1d_)) THEN 
     582        ALLOCATE(mask_1d__tmp(size(mask_1d_,1))) 
     583        CALL cxios_get_domaingroup_mask_1d(domaingroup_hdl%daddr, mask_1d__tmp, size(mask_1d_,1)) 
     584        mask_1d_ = mask_1d__tmp 
     585      ENDIF 
     586 
     587      IF (PRESENT(mask_2d_)) THEN 
     588        ALLOCATE(mask_2d__tmp(size(mask_2d_,1), size(mask_2d_,2))) 
     589        CALL cxios_get_domaingroup_mask_2d(domaingroup_hdl%daddr, mask_2d__tmp, size(mask_2d_,1), size(mask_2d_,2)) 
     590        mask_2d_ = mask_2d__tmp 
    501591      ENDIF 
    502592 
     
    536626 
    537627  SUBROUTINE xios(is_defined_domaingroup_attr)  & 
    538     ( domaingroup_id, area, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index  & 
    539     , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, group_ref, i_index  & 
    540     , ibegin, j_index, jbegin, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo  & 
    541     , nvertex, standard_name, type ) 
     628    ( domaingroup_id, area, bounds_lat_1d, bounds_lat_2d, bounds_lon_1d, bounds_lon_2d, data_dim  & 
     629    , data_i_index, data_ibegin, data_j_index, data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref  & 
     630    , domain_ref, group_ref, i_index, ibegin, j_index, jbegin, latvalue_1d, latvalue_2d, long_name  & 
     631    , lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  & 
     632    , type ) 
    542633 
    543634    IMPLICIT NONE 
     
    546637      LOGICAL, OPTIONAL, INTENT(OUT) :: area 
    547638      LOGICAL(KIND=C_BOOL) :: area_tmp 
    548       LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lat 
    549       LOGICAL(KIND=C_BOOL) :: bounds_lat_tmp 
    550       LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon 
    551       LOGICAL(KIND=C_BOOL) :: bounds_lon_tmp 
     639      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lat_1d 
     640      LOGICAL(KIND=C_BOOL) :: bounds_lat_1d_tmp 
     641      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lat_2d 
     642      LOGICAL(KIND=C_BOOL) :: bounds_lat_2d_tmp 
     643      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon_1d 
     644      LOGICAL(KIND=C_BOOL) :: bounds_lon_1d_tmp 
     645      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon_2d 
     646      LOGICAL(KIND=C_BOOL) :: bounds_lon_2d_tmp 
    552647      LOGICAL, OPTIONAL, INTENT(OUT) :: data_dim 
    553648      LOGICAL(KIND=C_BOOL) :: data_dim_tmp 
     
    580675      LOGICAL, OPTIONAL, INTENT(OUT) :: jbegin 
    581676      LOGICAL(KIND=C_BOOL) :: jbegin_tmp 
    582       LOGICAL, OPTIONAL, INTENT(OUT) :: latvalue 
    583       LOGICAL(KIND=C_BOOL) :: latvalue_tmp 
     677      LOGICAL, OPTIONAL, INTENT(OUT) :: latvalue_1d 
     678      LOGICAL(KIND=C_BOOL) :: latvalue_1d_tmp 
     679      LOGICAL, OPTIONAL, INTENT(OUT) :: latvalue_2d 
     680      LOGICAL(KIND=C_BOOL) :: latvalue_2d_tmp 
    584681      LOGICAL, OPTIONAL, INTENT(OUT) :: long_name 
    585682      LOGICAL(KIND=C_BOOL) :: long_name_tmp 
    586       LOGICAL, OPTIONAL, INTENT(OUT) :: lonvalue 
    587       LOGICAL(KIND=C_BOOL) :: lonvalue_tmp 
    588       LOGICAL, OPTIONAL, INTENT(OUT) :: mask 
    589       LOGICAL(KIND=C_BOOL) :: mask_tmp 
     683      LOGICAL, OPTIONAL, INTENT(OUT) :: lonvalue_1d 
     684      LOGICAL(KIND=C_BOOL) :: lonvalue_1d_tmp 
     685      LOGICAL, OPTIONAL, INTENT(OUT) :: lonvalue_2d 
     686      LOGICAL(KIND=C_BOOL) :: lonvalue_2d_tmp 
     687      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_1d 
     688      LOGICAL(KIND=C_BOOL) :: mask_1d_tmp 
     689      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_2d 
     690      LOGICAL(KIND=C_BOOL) :: mask_2d_tmp 
    590691      LOGICAL, OPTIONAL, INTENT(OUT) :: name 
    591692      LOGICAL(KIND=C_BOOL) :: name_tmp 
     
    607708      CALL xios(get_domaingroup_handle)(domaingroup_id,domaingroup_hdl) 
    608709      CALL xios(is_defined_domaingroup_attr_hdl_)   & 
    609       ( domaingroup_hdl, area, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index  & 
    610       , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, group_ref, i_index  & 
    611       , ibegin, j_index, jbegin, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo  & 
    612       , nvertex, standard_name, type ) 
     710      ( domaingroup_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lon_1d, bounds_lon_2d, data_dim  & 
     711      , data_i_index, data_ibegin, data_j_index, data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref  & 
     712      , domain_ref, group_ref, i_index, ibegin, j_index, jbegin, latvalue_1d, latvalue_2d, long_name  & 
     713      , lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  & 
     714      , type ) 
    613715 
    614716  END SUBROUTINE xios(is_defined_domaingroup_attr) 
    615717 
    616718  SUBROUTINE xios(is_defined_domaingroup_attr_hdl)  & 
    617     ( domaingroup_hdl, area, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index  & 
    618     , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, group_ref, i_index  & 
    619     , ibegin, j_index, jbegin, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo  & 
    620     , nvertex, standard_name, type ) 
     719    ( domaingroup_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lon_1d, bounds_lon_2d, data_dim  & 
     720    , data_i_index, data_ibegin, data_j_index, data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref  & 
     721    , domain_ref, group_ref, i_index, ibegin, j_index, jbegin, latvalue_1d, latvalue_2d, long_name  & 
     722    , lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  & 
     723    , type ) 
    621724 
    622725    IMPLICIT NONE 
     
    624727      LOGICAL, OPTIONAL, INTENT(OUT) :: area 
    625728      LOGICAL(KIND=C_BOOL) :: area_tmp 
    626       LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lat 
    627       LOGICAL(KIND=C_BOOL) :: bounds_lat_tmp 
    628       LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon 
    629       LOGICAL(KIND=C_BOOL) :: bounds_lon_tmp 
     729      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lat_1d 
     730      LOGICAL(KIND=C_BOOL) :: bounds_lat_1d_tmp 
     731      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lat_2d 
     732      LOGICAL(KIND=C_BOOL) :: bounds_lat_2d_tmp 
     733      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon_1d 
     734      LOGICAL(KIND=C_BOOL) :: bounds_lon_1d_tmp 
     735      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon_2d 
     736      LOGICAL(KIND=C_BOOL) :: bounds_lon_2d_tmp 
    630737      LOGICAL, OPTIONAL, INTENT(OUT) :: data_dim 
    631738      LOGICAL(KIND=C_BOOL) :: data_dim_tmp 
     
    658765      LOGICAL, OPTIONAL, INTENT(OUT) :: jbegin 
    659766      LOGICAL(KIND=C_BOOL) :: jbegin_tmp 
    660       LOGICAL, OPTIONAL, INTENT(OUT) :: latvalue 
    661       LOGICAL(KIND=C_BOOL) :: latvalue_tmp 
     767      LOGICAL, OPTIONAL, INTENT(OUT) :: latvalue_1d 
     768      LOGICAL(KIND=C_BOOL) :: latvalue_1d_tmp 
     769      LOGICAL, OPTIONAL, INTENT(OUT) :: latvalue_2d 
     770      LOGICAL(KIND=C_BOOL) :: latvalue_2d_tmp 
    662771      LOGICAL, OPTIONAL, INTENT(OUT) :: long_name 
    663772      LOGICAL(KIND=C_BOOL) :: long_name_tmp 
    664       LOGICAL, OPTIONAL, INTENT(OUT) :: lonvalue 
    665       LOGICAL(KIND=C_BOOL) :: lonvalue_tmp 
    666       LOGICAL, OPTIONAL, INTENT(OUT) :: mask 
    667       LOGICAL(KIND=C_BOOL) :: mask_tmp 
     773      LOGICAL, OPTIONAL, INTENT(OUT) :: lonvalue_1d 
     774      LOGICAL(KIND=C_BOOL) :: lonvalue_1d_tmp 
     775      LOGICAL, OPTIONAL, INTENT(OUT) :: lonvalue_2d 
     776      LOGICAL(KIND=C_BOOL) :: lonvalue_2d_tmp 
     777      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_1d 
     778      LOGICAL(KIND=C_BOOL) :: mask_1d_tmp 
     779      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_2d 
     780      LOGICAL(KIND=C_BOOL) :: mask_2d_tmp 
    668781      LOGICAL, OPTIONAL, INTENT(OUT) :: name 
    669782      LOGICAL(KIND=C_BOOL) :: name_tmp 
     
    684797 
    685798      CALL xios(is_defined_domaingroup_attr_hdl_)  & 
    686       ( domaingroup_hdl, area, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index  & 
    687       , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, group_ref, i_index  & 
    688       , ibegin, j_index, jbegin, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo  & 
    689       , nvertex, standard_name, type ) 
     799      ( domaingroup_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lon_1d, bounds_lon_2d, data_dim  & 
     800      , data_i_index, data_ibegin, data_j_index, data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref  & 
     801      , domain_ref, group_ref, i_index, ibegin, j_index, jbegin, latvalue_1d, latvalue_2d, long_name  & 
     802      , lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  & 
     803      , type ) 
    690804 
    691805  END SUBROUTINE xios(is_defined_domaingroup_attr_hdl) 
    692806 
    693807  SUBROUTINE xios(is_defined_domaingroup_attr_hdl_)   & 
    694     ( domaingroup_hdl, area_, bounds_lat_, bounds_lon_, data_dim_, data_i_index_, data_ibegin_, data_j_index_  & 
    695     , data_jbegin_, data_n_index_, data_ni_, data_nj_, domain_group_ref_, domain_ref_, group_ref_  & 
    696     , i_index_, ibegin_, j_index_, jbegin_, latvalue_, long_name_, lonvalue_, mask_, name_, ni_  & 
    697     , ni_glo_, nj_, nj_glo_, nvertex_, standard_name_, type_ ) 
     808    ( domaingroup_hdl, area_, bounds_lat_1d_, bounds_lat_2d_, bounds_lon_1d_, bounds_lon_2d_, data_dim_  & 
     809    , data_i_index_, data_ibegin_, data_j_index_, data_jbegin_, data_n_index_, data_ni_, data_nj_  & 
     810    , domain_group_ref_, domain_ref_, group_ref_, i_index_, ibegin_, j_index_, jbegin_, latvalue_1d_  & 
     811    , latvalue_2d_, long_name_, lonvalue_1d_, lonvalue_2d_, mask_1d_, mask_2d_, name_, ni_, ni_glo_  & 
     812    , nj_, nj_glo_, nvertex_, standard_name_, type_ ) 
    698813 
    699814    IMPLICIT NONE 
     
    701816      LOGICAL, OPTIONAL, INTENT(OUT) :: area_ 
    702817      LOGICAL(KIND=C_BOOL) :: area__tmp 
    703       LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lat_ 
    704       LOGICAL(KIND=C_BOOL) :: bounds_lat__tmp 
    705       LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon_ 
    706       LOGICAL(KIND=C_BOOL) :: bounds_lon__tmp 
     818      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lat_1d_ 
     819      LOGICAL(KIND=C_BOOL) :: bounds_lat_1d__tmp 
     820      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lat_2d_ 
     821      LOGICAL(KIND=C_BOOL) :: bounds_lat_2d__tmp 
     822      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon_1d_ 
     823      LOGICAL(KIND=C_BOOL) :: bounds_lon_1d__tmp 
     824      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon_2d_ 
     825      LOGICAL(KIND=C_BOOL) :: bounds_lon_2d__tmp 
    707826      LOGICAL, OPTIONAL, INTENT(OUT) :: data_dim_ 
    708827      LOGICAL(KIND=C_BOOL) :: data_dim__tmp 
     
    735854      LOGICAL, OPTIONAL, INTENT(OUT) :: jbegin_ 
    736855      LOGICAL(KIND=C_BOOL) :: jbegin__tmp 
    737       LOGICAL, OPTIONAL, INTENT(OUT) :: latvalue_ 
    738       LOGICAL(KIND=C_BOOL) :: latvalue__tmp 
     856      LOGICAL, OPTIONAL, INTENT(OUT) :: latvalue_1d_ 
     857      LOGICAL(KIND=C_BOOL) :: latvalue_1d__tmp 
     858      LOGICAL, OPTIONAL, INTENT(OUT) :: latvalue_2d_ 
     859      LOGICAL(KIND=C_BOOL) :: latvalue_2d__tmp 
    739860      LOGICAL, OPTIONAL, INTENT(OUT) :: long_name_ 
    740861      LOGICAL(KIND=C_BOOL) :: long_name__tmp 
    741       LOGICAL, OPTIONAL, INTENT(OUT) :: lonvalue_ 
    742       LOGICAL(KIND=C_BOOL) :: lonvalue__tmp 
    743       LOGICAL, OPTIONAL, INTENT(OUT) :: mask_ 
    744       LOGICAL(KIND=C_BOOL) :: mask__tmp 
     862      LOGICAL, OPTIONAL, INTENT(OUT) :: lonvalue_1d_ 
     863      LOGICAL(KIND=C_BOOL) :: lonvalue_1d__tmp 
     864      LOGICAL, OPTIONAL, INTENT(OUT) :: lonvalue_2d_ 
     865      LOGICAL(KIND=C_BOOL) :: lonvalue_2d__tmp 
     866      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_1d_ 
     867      LOGICAL(KIND=C_BOOL) :: mask_1d__tmp 
     868      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_2d_ 
     869      LOGICAL(KIND=C_BOOL) :: mask_2d__tmp 
    745870      LOGICAL, OPTIONAL, INTENT(OUT) :: name_ 
    746871      LOGICAL(KIND=C_BOOL) :: name__tmp 
     
    765890      ENDIF 
    766891 
    767       IF (PRESENT(bounds_lat_)) THEN 
    768         bounds_lat__tmp = cxios_is_defined_domaingroup_bounds_lat(domaingroup_hdl%daddr) 
    769         bounds_lat_ = bounds_lat__tmp 
    770       ENDIF 
    771  
    772       IF (PRESENT(bounds_lon_)) THEN 
    773         bounds_lon__tmp = cxios_is_defined_domaingroup_bounds_lon(domaingroup_hdl%daddr) 
    774         bounds_lon_ = bounds_lon__tmp 
     892      IF (PRESENT(bounds_lat_1d_)) THEN 
     893        bounds_lat_1d__tmp = cxios_is_defined_domaingroup_bounds_lat_1d(domaingroup_hdl%daddr) 
     894        bounds_lat_1d_ = bounds_lat_1d__tmp 
     895      ENDIF 
     896 
     897      IF (PRESENT(bounds_lat_2d_)) THEN 
     898        bounds_lat_2d__tmp = cxios_is_defined_domaingroup_bounds_lat_2d(domaingroup_hdl%daddr) 
     899        bounds_lat_2d_ = bounds_lat_2d__tmp 
     900      ENDIF 
     901 
     902      IF (PRESENT(bounds_lon_1d_)) THEN 
     903        bounds_lon_1d__tmp = cxios_is_defined_domaingroup_bounds_lon_1d(domaingroup_hdl%daddr) 
     904        bounds_lon_1d_ = bounds_lon_1d__tmp 
     905      ENDIF 
     906 
     907      IF (PRESENT(bounds_lon_2d_)) THEN 
     908        bounds_lon_2d__tmp = cxios_is_defined_domaingroup_bounds_lon_2d(domaingroup_hdl%daddr) 
     909        bounds_lon_2d_ = bounds_lon_2d__tmp 
    775910      ENDIF 
    776911 
     
    850985      ENDIF 
    851986 
    852       IF (PRESENT(latvalue_)) THEN 
    853         latvalue__tmp = cxios_is_defined_domaingroup_latvalue(domaingroup_hdl%daddr) 
    854         latvalue_ = latvalue__tmp 
     987      IF (PRESENT(latvalue_1d_)) THEN 
     988        latvalue_1d__tmp = cxios_is_defined_domaingroup_latvalue_1d(domaingroup_hdl%daddr) 
     989        latvalue_1d_ = latvalue_1d__tmp 
     990      ENDIF 
     991 
     992      IF (PRESENT(latvalue_2d_)) THEN 
     993        latvalue_2d__tmp = cxios_is_defined_domaingroup_latvalue_2d(domaingroup_hdl%daddr) 
     994        latvalue_2d_ = latvalue_2d__tmp 
    855995      ENDIF 
    856996 
     
    8601000      ENDIF 
    8611001 
    862       IF (PRESENT(lonvalue_)) THEN 
    863         lonvalue__tmp = cxios_is_defined_domaingroup_lonvalue(domaingroup_hdl%daddr) 
    864         lonvalue_ = lonvalue__tmp 
    865       ENDIF 
    866  
    867       IF (PRESENT(mask_)) THEN 
    868         mask__tmp = cxios_is_defined_domaingroup_mask(domaingroup_hdl%daddr) 
    869         mask_ = mask__tmp 
     1002      IF (PRESENT(lonvalue_1d_)) THEN 
     1003        lonvalue_1d__tmp = cxios_is_defined_domaingroup_lonvalue_1d(domaingroup_hdl%daddr) 
     1004        lonvalue_1d_ = lonvalue_1d__tmp 
     1005      ENDIF 
     1006 
     1007      IF (PRESENT(lonvalue_2d_)) THEN 
     1008        lonvalue_2d__tmp = cxios_is_defined_domaingroup_lonvalue_2d(domaingroup_hdl%daddr) 
     1009        lonvalue_2d_ = lonvalue_2d__tmp 
     1010      ENDIF 
     1011 
     1012      IF (PRESENT(mask_1d_)) THEN 
     1013        mask_1d__tmp = cxios_is_defined_domaingroup_mask_1d(domaingroup_hdl%daddr) 
     1014        mask_1d_ = mask_1d__tmp 
     1015      ENDIF 
     1016 
     1017      IF (PRESENT(mask_2d_)) THEN 
     1018        mask_2d__tmp = cxios_is_defined_domaingroup_mask_2d(domaingroup_hdl%daddr) 
     1019        mask_2d_ = mask_2d__tmp 
    8701020      ENDIF 
    8711021 
Note: See TracChangeset for help on using the changeset viewer.