Changeset 786 for XIOS/trunk/src
- Timestamp:
- 11/12/15 16:33:25 (8 years ago)
- Location:
- XIOS/trunk/src
- Files:
-
- 21 added
- 1 deleted
- 6 edited
- 1 copied
- 2 moved
Legend:
- Unmodified
- Added
- Removed
-
XIOS/trunk/src/generate_fortran_interface.cpp
r784 r786 5 5 #include "object_template.hpp" 6 6 #include "group_template.hpp" 7 #include "context.hpp" 8 #include "file.hpp" 9 #include "zoom_domain.hpp" 10 #include "zoom_axis.hpp" 7 //#include "context.hpp" 8 //#include "file.hpp" 9 //#include "zoom_domain.hpp" 10 //#include "zoom_axis.hpp" 11 //#include "interpolate_axis.hpp" 12 //#include "interpolate_domain.hpp" 13 #include "node_type.hpp" 11 14 12 15 int main (int argc, char ** argv, char ** UNUSED (env)) … … 34 37 CZoomAxis zoomAxis; 35 38 39 CInterpolateAxis interpolateAxis; 40 CInterpolateDomain interpolateDomain; 41 42 CGenerateRectilinearDomain genDomain; 43 CInverseAxis inverseAxis; 44 36 45 ostringstream oss; 37 46 ofstream file; … … 224 233 file.close(); 225 234 235 file.open((path+"interpolate_axis_interface_attr.F90").c_str()); 236 interpolateAxis.generateFortran2003Interface(file); 237 file.close(); 238 239 file.open((path+"icinterpolate_axis_attr.cpp").c_str()); 240 interpolateAxis.generateCInterface(file); 241 file.close(); 242 243 file.open((path+"iinterpolate_axis_attr.F90").c_str()); 244 interpolateAxis.generateFortranInterface(file); 245 file.close(); 246 247 file.open((path+"interpolate_domain_interface_attr.F90").c_str()); 248 interpolateDomain.generateFortran2003Interface(file); 249 file.close(); 250 251 file.open((path+"icinterpolate_domain_attr.cpp").c_str()); 252 interpolateDomain.generateCInterface(file); 253 file.close(); 254 255 file.open((path+"iinterpolate_domain_attr.F90").c_str()); 256 interpolateDomain.generateFortranInterface(file); 257 file.close(); 258 259 file.open((path+"generate_rectilinear_domain_interface_attr.F90").c_str()); 260 genDomain.generateFortran2003Interface(file); 261 file.close(); 262 263 file.open((path+"icgenerate_rectilinear_domain_attr.cpp").c_str()); 264 genDomain.generateCInterface(file); 265 file.close(); 266 267 file.open((path+"igenerate_rectilinear_domain_attr.F90").c_str()); 268 genDomain.generateFortranInterface(file); 269 file.close(); 270 271 file.open((path+"inverse_axis_interface_attr.F90").c_str()); 272 inverseAxis.generateFortran2003Interface(file); 273 file.close(); 274 275 file.open((path+"icinverse_axis_attr.cpp").c_str()); 276 inverseAxis.generateCInterface(file); 277 file.close(); 278 279 file.open((path+"iinverse_axis_attr.F90").c_str()); 280 inverseAxis.generateFortranInterface(file); 281 file.close(); 282 226 283 file.open((path+"context_interface_attr.F90").c_str()); 227 284 context->generateFortran2003Interface(file); … … 235 292 context->generateFortranInterface(file); 236 293 file.close(); 237 238 239 240 294 } -
XIOS/trunk/src/interface/c/icgenerate_rectilinear_domain.cpp
r785 r786 14 14 #include "icutil.hpp" 15 15 #include "timer.hpp" 16 #include " zoom_domain.hpp"16 #include "generate_rectilinear_domain.hpp" 17 17 18 18 extern "C" … … 22 22 // ----------------------- Redéfinition de types ---------------------------- 23 23 24 typedef xios::C ZoomDomain * XZoomDomainPtr;24 typedef xios::CGenerateRectilinearDomain * XGenDomainPtr; 25 25 26 26 // ------------------------ Création des handle ----------------------------- 27 void cxios_ zoom_domain_handle_create(XZoomDomainPtr * _ret, const char * _id, int _id_len)27 void cxios_generate_rectilinear_domain_handle_create(XGenDomainPtr * _ret, const char * _id, int _id_len) 28 28 { 29 29 std::string id; 30 30 if (!cstr2string(_id, _id_len, id)) return; 31 31 CTimer::get("XIOS").resume() ; 32 *_ret = xios::C ZoomDomain::get(id);32 *_ret = xios::CGenerateRectilinearDomain::get(id); 33 33 CTimer::get("XIOS").suspend() ; 34 34 } 35 35 36 36 // -------------------- Vérification des identifiants ----------------------- 37 void cxios_ zoom_domain_valid_id(bool * _ret, const char * _id, int _id_len)37 void cxios_generate_rectilinear_domain_valid_id(bool * _ret, const char * _id, int _id_len) 38 38 { 39 39 std::string id; … … 41 41 42 42 CTimer::get("XIOS").resume() ; 43 *_ret = xios::C ZoomDomain::has(id);43 *_ret = xios::CGenerateRectilinearDomain::has(id); 44 44 CTimer::get("XIOS").suspend() ; 45 45 } -
XIOS/trunk/src/interface/c/icinverse_axis.cpp
r785 r786 14 14 #include "icutil.hpp" 15 15 #include "timer.hpp" 16 #include " zoom_axis.hpp"16 #include "inverse_axis.hpp" 17 17 18 18 extern "C" … … 22 22 // ----------------------- Redéfinition de types ---------------------------- 23 23 24 typedef xios::C ZoomAxis * XZoomAxisPtr;24 typedef xios::CInverseAxis * XInverseAxisPtr; 25 25 26 26 // ------------------------ Création des handle ----------------------------- 27 void cxios_ zoom_axis_handle_create (XZoomAxisPtr * _ret, const char * _id, int _id_len)27 void cxios_inverse_axis_handle_create(XInverseAxisPtr * _ret, const char * _id, int _id_len) 28 28 { 29 29 std::string id; 30 30 if (!cstr2string(_id, _id_len, id)) return; 31 31 CTimer::get("XIOS").resume() ; 32 *_ret = xios::C ZoomAxis::get(id);32 *_ret = xios::CInverseAxis::get(id); 33 33 CTimer::get("XIOS").suspend() ; 34 34 } 35 35 36 36 // -------------------- Vérification des identifiants ----------------------- 37 void cxios_ zoom_axis_valid_id(bool * _ret, const char * _id, int _id_len)37 void cxios_inverse_axis_valid_id(bool * _ret, const char * _id, int _id_len) 38 38 { 39 39 std::string id; … … 41 41 42 42 CTimer::get("XIOS").resume() ; 43 *_ret = xios::C ZoomAxis::has(id);43 *_ret = xios::CInverseAxis::has(id); 44 44 CTimer::get("XIOS").suspend() ; 45 45 } -
XIOS/trunk/src/interface/c/iczoom.cpp
r785 r786 15 15 #include "timer.hpp" 16 16 #include "zoom_axis.hpp" 17 #include "zoom_domain.hpp" 17 18 18 19 extern "C" … … 23 24 24 25 typedef xios::CZoomAxis * XZoomAxisPtr; 25 26 typedef xios::CZoomDomain * XZoomDomainPtr; 26 27 // ------------------------ Création des handle ----------------------------- 27 28 void cxios_zoom_axis_handle_create (XZoomAxisPtr * _ret, const char * _id, int _id_len) … … 44 45 CTimer::get("XIOS").suspend() ; 45 46 } 47 48 // ------------------------ Création des handle ----------------------------- 49 void cxios_zoom_domain_handle_create(XZoomDomainPtr * _ret, const char * _id, int _id_len) 50 { 51 std::string id; 52 if (!cstr2string(_id, _id_len, id)) return; 53 CTimer::get("XIOS").resume() ; 54 *_ret = xios::CZoomDomain::get(id); 55 CTimer::get("XIOS").suspend() ; 56 } 57 58 // -------------------- Vérification des identifiants ----------------------- 59 void cxios_zoom_domain_valid_id(bool * _ret, const char * _id, int _id_len) 60 { 61 std::string id; 62 if (!cstr2string(_id, _id_len, id)) return; 63 64 CTimer::get("XIOS").resume() ; 65 *_ret = xios::CZoomDomain::has(id); 66 CTimer::get("XIOS").suspend() ; 67 } 46 68 } // extern "C" -
XIOS/trunk/src/interface/fortran/ixios.F90
r784 r786 75 75 USE izoom_domain_attr, ONLY : xios(set_zoom_domain_attr), xios(get_zoom_domain_attr), xios(is_defined_zoom_domain_attr) 76 76 77 USE iinterpolate_axis, ONLY : txios(interpolate_axis), xios(is_valid_interpolate_axis) 78 79 USE iinterpolate_axis_attr, ONLY : xios(set_interpolate_axis_attr), xios(get_interpolate_axis_attr), & 80 xios(is_defined_interpolate_axis_attr) 81 82 USE iinterpolate_domain, ONLY : txios(interpolate_domain), xios(is_valid_interpolate_domain) 83 84 USE iinterpolate_domain_attr, ONLY : xios(set_interpolate_domain_attr), xios(get_interpolate_domain_attr), & 85 xios(is_defined_interpolate_domain_attr) 86 87 USE iinverse_axis, ONLY : txios(inverse_axis), xios(is_valid_inverse_axis) 88 89 USE iinverse_axis_attr, ONLY : xios(set_inverse_axis_attr), xios(get_inverse_axis_attr), xios(is_defined_inverse_axis_attr) 90 91 USE igenerate_rectilinear_domain, ONLY : txios(generate_rectilinear_domain), xios(is_valid_generate_rectilinear_domain) 92 93 USE igenerate_rectilinear_domain_attr, ONLY : xios(set_generate_rectilinear_domain_attr), xios(get_generate_rectilinear_domain_attr), & 94 xios(is_defined_generate_rectilinear_domain_attr) 95 77 96 USE XIOS_INTERFACES, ONLY : xios(set_attr), xios(get_attr), xios(is_defined_attr), xios(get_handle), xios(add_child), & 78 97 xios(send_field), xios(send_scalar), xios(recv_field), xios(field_is_active), xios(getVar), xios(setVar) -
XIOS/trunk/src/interface/fortran/ixios_interfaces.F90
r784 r786 59 59 USE izoom_domain_attr, ONLY : xios(set_zoom_domain_attr_hdl), xios(get_zoom_domain_attr_hdl), xios(is_defined_zoom_domain_attr_hdl) 60 60 61 USE iinterpolate_axis, ONLY : xios(get_interpolate_axis_handle) 62 63 USE iinterpolate_axis_attr, ONLY : xios(set_interpolate_axis_attr_hdl), xios(get_interpolate_axis_attr_hdl), & 64 xios(is_defined_interpolate_axis_attr_hdl) 65 66 USE iinterpolate_domain, ONLY : xios(get_interpolate_domain_handle) 67 68 USE iinterpolate_domain_attr, ONLY : xios(set_interpolate_domain_attr_hdl), xios(get_interpolate_domain_attr_hdl), & 69 xios(is_defined_interpolate_domain_attr_hdl) 70 71 USE iinverse_axis, ONLY : xios(get_inverse_axis_handle) 72 73 USE iinverse_axis_attr, ONLY : xios(set_inverse_axis_attr_hdl), xios(get_inverse_axis_attr_hdl), xios(is_defined_inverse_axis_attr_hdl) 74 75 USE igenerate_rectilinear_domain, ONLY : xios(get_generate_rectilinear_domain_handle) 76 77 USE igenerate_rectilinear_domain_attr, ONLY : xios(set_generate_rectilinear_domain_attr_hdl), & 78 xios(get_generate_rectilinear_domain_attr_hdl), & 79 xios(is_defined_generate_rectilinear_domain_attr_hdl) 80 61 81 USE ixml_tree, ONLY : xios(add_axis), xios(add_file), xios(add_grid), xios(add_field), xios(add_domain), & 62 82 xios(add_fieldtofile), xios(add_variabletofile), xios(add_variabletofield), & … … 73 93 xios(set_grid_attr_hdl), xios(set_gridgroup_attr_hdl), xios(set_axis_attr_hdl) , & 74 94 xios(set_axisgroup_attr_hdl), xios(set_context_attr_hdl), xios(set_zoom_axis_attr_hdl), & 75 xios(set_zoom_domain_attr_hdl) 95 xios(set_zoom_domain_attr_hdl), xios(set_interpolate_axis_attr_hdl), & 96 xios(set_interpolate_domain_attr_hdl), xios(set_inverse_axis_attr_hdl), & 97 xios(set_generate_rectilinear_domain_attr_hdl) 76 98 END INTERFACE xios(set_attr) 77 99 … … 82 104 xios(get_grid_attr_hdl), xios(get_gridgroup_attr_hdl), xios(get_axis_attr_hdl) , & 83 105 xios(get_axisgroup_attr_hdl), xios(get_context_attr_hdl), xios(get_zoom_axis_attr_hdl), & 84 xios(get_zoom_domain_attr_hdl) 106 xios(get_zoom_domain_attr_hdl), xios(get_interpolate_axis_attr_hdl), & 107 xios(get_interpolate_domain_attr_hdl), xios(get_inverse_axis_attr_hdl), & 108 xios(get_generate_rectilinear_domain_attr_hdl) 85 109 END INTERFACE xios(get_attr) 86 110 … … 91 115 xios(is_defined_grid_attr_hdl), xios(is_defined_gridgroup_attr_hdl), xios(is_defined_axis_attr_hdl) , & 92 116 xios(is_defined_axisgroup_attr_hdl), xios(is_defined_context_attr_hdl), & 93 xios(is_defined_zoom_axis_attr_hdl), xios(is_defined_zoom_domain_attr_hdl) 117 xios(is_defined_zoom_axis_attr_hdl), xios(is_defined_zoom_domain_attr_hdl), & 118 xios(is_defined_interpolate_axis_attr_hdl), xios(is_defined_interpolate_domain_attr_hdl), & 119 xios(is_defined_inverse_axis_attr_hdl), xios(is_defined_generate_rectilinear_domain_attr_hdl) 94 120 END INTERFACE xios(is_defined_attr) 95 121 … … 99 125 xios(get_gridgroup_handle), xios(get_axis_handle), xios(get_axisgroup_handle), & 100 126 xios(get_field_handle), xios(get_fieldgroup_handle),xios(get_variable_handle), & 101 xios(get_variablegroup_handle), xios(get_zoom_axis_handle), & 102 xios(get_zoom_domain_handle) 127 xios(get_variablegroup_handle), xios(get_zoom_axis_handle), & 128 xios(get_zoom_domain_handle), xios(get_interpolate_axis_handle), & 129 xios(get_interpolate_domain_handle), xios(get_inverse_axis_handle), & 130 xios(get_generate_rectilinear_domain_handle) 103 131 END INTERFACE xios(get_handle) 104 132 -
XIOS/trunk/src/node/axis.cpp
r784 r786 920 920 tmp->parse(node); 921 921 transformationMap_.push_back(std::make_pair(TRANS_INVERSE_AXIS,tmp)); 922 } else if (node.getElementName() == zoom) { 923 CZoomAxis* tmp = (CZoomAxisGroup::get(zoomAxisDefRoot))->createChild(); 922 } 923 else if (node.getElementName() == zoom) { 924 CZoomAxis* tmp = (CZoomAxisGroup::get(zoomAxisDefRoot))->createChild(nodeId); 924 925 tmp->parse(node); 925 926 transformationMap_.push_back(std::make_pair(TRANS_ZOOM_AXIS,tmp)); -
XIOS/trunk/src/test/test_complete.f90
r784 r786 88 88 89 89 CALL xios_set_axis_attr("axis_atm",n_glo=llm ,value=lval) ; 90 CALL xios_set_zoom_axis_attr("axis_atm_zoom",zoom_size=2); 90 91 91 92 CALL xios_set_domain_attr("domain_atm",ni_glo=ni_glo, nj_glo=nj_glo, ibegin=ibegin, ni=ni,jbegin=jbegin,nj=nj, type='curvilinear') -
XIOS/trunk/src/test/test_remap.f90
r785 r786 120 120 bounds_lon_1D=dst_boundslon, bounds_lat_1D=dst_boundslat, nvertex=dst_nvertex) 121 121 122 ! CALL xios_set_zoom_domain_attr("dst_domain_regular_pole", zoom_ibegin=10, zoom_ni=10, &123 ! zoom_jbegin=10, zoom_nj=10)122 CALL xios_set_generate_rectilinear_domain_attr("domain_regular_pole", lat_start=dble(-90.0), lat_end=dble(90), & 123 lon_start=dble(2), lon_end=dble(360)) 124 124 125 125 dtime%second = 3600
Note: See TracChangeset
for help on using the changeset viewer.