Changeset 1549
- Timestamp:
- 06/25/18 12:12:42 (6 years ago)
- Location:
- XIOS/trunk/src
- Files:
-
- 7 added
- 16 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/trunk/src/config/domain_attribute.conf
r1493 r1549 62 62 DECLARE_ATTRIBUTE(StdString, domain_ref) 63 63 DECLARE_ATTRIBUTE(int, prec) 64 65 DECLARE_ATTRIBUTE_PRIVATE(int, global_zoom_ibegin) 66 DECLARE_ATTRIBUTE_PRIVATE(int, global_zoom_ni) 67 DECLARE_ATTRIBUTE_PRIVATE(int, global_zoom_jbegin) 68 DECLARE_ATTRIBUTE_PRIVATE(int, global_zoom_nj) -
XIOS/trunk/src/config/domain_attribute_private.conf
r1410 r1549 26 26 DECLARE_ARRAY_PRIVATE(double, 2, bounds_latvalue_unstructured_read_from_file) 27 27 28 DECLARE_ATTRIBUTE_PRIVATE(int, global_zoom_ibegin)29 DECLARE_ATTRIBUTE_PRIVATE(int, global_zoom_ni)30 DECLARE_ATTRIBUTE_PRIVATE(int, global_zoom_jbegin)31 DECLARE_ATTRIBUTE_PRIVATE(int, global_zoom_nj)28 //DECLARE_ATTRIBUTE_PRIVATE(int, global_zoom_ibegin) 29 //DECLARE_ATTRIBUTE_PRIVATE(int, global_zoom_ni) 30 //DECLARE_ATTRIBUTE_PRIVATE(int, global_zoom_jbegin) 31 //DECLARE_ATTRIBUTE_PRIVATE(int, global_zoom_nj) 32 32 33 33 // Local zoom information -
XIOS/trunk/src/config/node_type.conf
r1457 r1549 105 105 #ifdef __XIOS_CReorderDomain__ 106 106 DECLARE_NODE(ReorderDomain, reorder_domain) 107 #endif //__XIOS_CReduceScalarToScalar_ 107 #endif //__XIOS_CReorderDomain_ 108 109 #ifdef __XIOS_CExtractDomain__ 110 DECLARE_NODE(ExtractDomain, extract_domain) 111 #endif //__XIOS_CExtractDomain__ 108 112 109 113 #ifdef __XIOS_CContext__ -
XIOS/trunk/src/generate_fortran_interface.cpp
r1492 r1549 36 36 CExpandDomain expandDomain; 37 37 CReorderDomain reorderDomain; 38 CExtractDomain extractDomain; 38 39 39 40 CInterpolateAxis interpolateAxis; … … 315 316 reorderDomain.generateFortranInterface(file); 316 317 318 file.open((path+"extract_domain_interface_attr.F90").c_str()); 319 extractDomain.generateFortran2003Interface(file); 320 file.close(); 321 322 file.open((path+"icextract_domain_attr.cpp").c_str()); 323 extractDomain.generateCInterface(file); 324 file.close(); 325 326 file.open((path+"iextract_domain_attr.F90").c_str()); 327 extractDomain.generateFortranInterface(file); 328 317 329 file.close(); 318 330 -
XIOS/trunk/src/group_factory_decl.cpp
r1542 r1549 44 44 macro(CReduceScalarToScalarGroup) 45 45 macro(CReorderDomainGroup) 46 macro(CExtractDomainGroup) 46 47 } -
XIOS/trunk/src/group_template_decl.cpp
r1457 r1549 33 33 macro(ReduceScalarToScalar) 34 34 macro(ReorderDomain) 35 macro(ExtractDomain) 35 36 36 37 } -
XIOS/trunk/src/node/domain.cpp
r1542 r1549 77 77 m["expand_domain"] = TRANS_EXPAND_DOMAIN; 78 78 m["reorder_domain"] = TRANS_REORDER_DOMAIN; 79 m["extract_domain"] = TRANS_EXTRACT_DOMAIN; 79 80 } 80 81 … … 1212 1213 1213 1214 /* 1214 Fill in longitude and latitude value from clients (or models) into internal values lonvalue, latvalue which1215 w ill be used by XIOS.1215 Fill in longitude, latitude, bounds, and area into internal values (lonvalue, latvalue, bounds_lonvalue, bounds_latvalue, areavalue) 1216 which will be used by XIOS. 1216 1217 */ 1217 1218 void CDomain::completeLonLatClient(void) … … 1219 1220 bool lonlatValueExisted = (0 != lonvalue.numElements()) || (0 != latvalue.numElements()); 1220 1221 checkBounds() ; 1222 checkArea() ; 1223 1221 1224 if (!lonvalue_2d.isEmpty() && !lonlatValueExisted) 1222 1225 { … … 1313 1316 } 1314 1317 } 1318 1319 if (!area.isEmpty() && areavalue.isEmpty()) 1320 { 1321 areavalue.resize(ni*nj); 1322 for (int j = 0; j < nj; ++j) 1323 { 1324 for (int i = 0; i < ni; ++i) 1325 { 1326 int k = j * ni + i; 1327 areavalue(k) = area(i,j); 1328 } 1329 } 1330 } 1315 1331 } 1316 1332 … … 1455 1471 << "[ id = " << this->getId() << " , context = '" << CObjectFactory::GetCurrentContextId() << " ] " 1456 1472 << "'bounds_lon_1d' dimension is not compatible with 'nvertex'." << std::endl 1457 << "'bounds_lon_1d' dimension is " << bounds_lon_1d.extent( 1)1473 << "'bounds_lon_1d' dimension is " << bounds_lon_1d.extent(0) 1458 1474 << " but nvertex is " << nvertex.getValue() << "."); 1459 1475 … … 1462 1478 << "[ id = " << this->getId() << " , context = '" << CObjectFactory::GetCurrentContextId() << " ] " 1463 1479 << "'bounds_lon_2d' dimension is not compatible with 'nvertex'." << std::endl 1464 << "'bounds_lon_2d' dimension is " << bounds_lon_2d.extent( 2)1480 << "'bounds_lon_2d' dimension is " << bounds_lon_2d.extent(0) 1465 1481 << " but nvertex is " << nvertex.getValue() << "."); 1466 1482 … … 1479 1495 << "[ id = " << this->getId() << " , context = '" << CObjectFactory::GetCurrentContextId() << " ] " 1480 1496 << "'bounds_lat_1d' dimension is not compatible with 'nvertex'." << std::endl 1481 << "'bounds_lat_1d' dimension is " << bounds_lat_1d.extent( 1)1497 << "'bounds_lat_1d' dimension is " << bounds_lat_1d.extent(0) 1482 1498 << " but nvertex is " << nvertex.getValue() << "."); 1483 1499 … … 1486 1502 << "[ id = " << this->getId() << " , context = '" << CObjectFactory::GetCurrentContextId() << " ] " 1487 1503 << "'bounds_lat_2d' dimension is not compatible with 'nvertex'." << std::endl 1488 << "'bounds_lat_2d' dimension is " << bounds_lat_2d.extent( 2)1504 << "'bounds_lat_2d' dimension is " << bounds_lat_2d.extent(0) 1489 1505 << " but nvertex is " << nvertex.getValue() << "."); 1490 1506 … … 1525 1541 << "Area size is " << area.extent(0) << " x " << area.extent(1) << "."); 1526 1542 } 1527 if (areavalue.isEmpty())1528 {1529 areavalue.resize(ni*nj);1530 for (int j = 0; j < nj; ++j)1531 {1532 for (int i = 0; i < ni; ++i)1533 {1534 int k = j * ni + i;1535 areavalue(k) = area(i,j);1536 }1537 }1538 }1543 // if (areavalue.isEmpty()) 1544 // { 1545 // areavalue.resize(ni*nj); 1546 // for (int j = 0; j < nj; ++j) 1547 // { 1548 // for (int i = 0; i < ni; ++i) 1549 // { 1550 // int k = j * ni + i; 1551 // areavalue(k) = area(i,j); 1552 // } 1553 // } 1554 // } 1539 1555 } 1540 1556 } -
XIOS/trunk/src/node/node_enum.hpp
r1457 r1549 38 38 eDuplicateScalarToAxis, 39 39 eReduceScalarToScalar, 40 eReorderDomain 40 eReorderDomain, 41 eExtractDomain 41 42 } ENodeType; 42 43 -
XIOS/trunk/src/node/node_type.hpp
r1457 r1549 29 29 #include "reduce_scalar_to_scalar.hpp" 30 30 #include "reorder_domain.hpp" 31 #include "extract_domain.hpp" 31 32 32 33 -
XIOS/trunk/src/node/transformation_enum.hpp
r1457 r1549 24 24 TRANS_DUPLICATE_SCALAR_TO_AXIS = 15, 25 25 TRANS_REDUCE_SCALAR_TO_SCALAR = 16, 26 TRANS_REORDER_DOMAIN = 17 26 TRANS_REORDER_DOMAIN = 17, 27 TRANS_EXTRACT_DOMAIN = 18 27 28 } ETranformationType; 28 29 -
XIOS/trunk/src/object_factory_decl.cpp
r1542 r1549 45 45 macro(CReduceScalarToScalar) 46 46 macro(CReorderDomain) 47 macro(CExtractDomain) 47 48 48 49 macro(CFieldGroup) … … 72 73 macro(CReduceScalarToScalarGroup) 73 74 macro(CReorderDomainGroup) 75 macro(CExtractDomainGroup) 74 76 } -
XIOS/trunk/src/object_template_decl.cpp
r1457 r1549 32 32 template class CObjectTemplate<CReduceScalarToScalar>; 33 33 template class CObjectTemplate<CReorderDomain>; 34 template class CObjectTemplate<CExtractDomain>; 34 35 35 36 template class CObjectTemplate<CContextGroup>; … … 59 60 template class CObjectTemplate<CReduceScalarToScalarGroup>; 60 61 template class CObjectTemplate<CReorderDomainGroup>; 62 template class CObjectTemplate<CExtractDomainGroup>; 61 63 } -
XIOS/trunk/src/transformation/algo_types.hpp
r1457 r1549 30 30 #include "scalar_algorithm_reduce_scalar.hpp" 31 31 #include "domain_algorithm_reorder.hpp" 32 #include "domain_algorithm_extract.hpp" 32 33 33 34 -
XIOS/trunk/src/transformation/grid_transformation_selector.cpp
r1457 r1549 40 40 CDomainAlgorithmExpand::registerTrans(); 41 41 CDomainAlgorithmReorder::registerTrans(); 42 CDomainAlgorithmExtract::registerTrans(); 42 43 } 43 44 -
XIOS/trunk/src/type/type_util.hpp
r1457 r1549 58 58 class CReorderDomain; 59 59 class CReorderDomainGroup; 60 class CExtractDomain; 61 class CExtractDomainGroup; 60 62 61 63 template <typename T> inline string getStrType(void); … … 132 134 macro(CReorderDomain) 133 135 macro(CReorderDomainGroup) 136 macro(CExtractDomain) 137 macro(CExtractDomainGroup) 134 138 135 139 #undef macro -
XIOS/trunk/src/xml_parser_decl.cpp
r1457 r1549 38 38 macro( ReduceScalarToScalar ) 39 39 macro( ReorderDomain ) 40 macro( ExtractDomain ) 40 41 } 41 42 }
Note: See TracChangeset
for help on using the changeset viewer.