Changeset 734
- Timestamp:
- 10/13/15 15:51:17 (8 years ago)
- Location:
- XIOS/trunk
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/trunk/inputs/REMAP/iodef.xml
r721 r734 9 9 <field id="src_field" operation="instant" grid_ref="src_grid"/> 10 10 <field id="dst_field" operation="instant" field_ref="src_field" grid_ref="dst_grid"/> 11 <field id="dst_field_regular" operation="instant" field_ref="tmp_field" grid_ref="dst_grid_regular" />11 <field id="dst_field_regular" operation="instant" field_ref="tmp_field" grid_ref="dst_grid_regular" read_access="true"/> 12 12 <field id="tmp_field" operation="instant" grid_ref="src_grid_regular"/> 13 13 </field_definition> … … 22 22 </file> 23 23 <file id="output_dst_regular" name="output_dst_regular" type="one_file"> 24 <!-- <field field_ref="dst_field_regular" name="field" />-->24 <field field_ref="dst_field_regular" name="field" /> 25 25 </file> 26 27 26 <file id="output_src_regular" name="output_src_regular" mode="read" type="multiple_file"> 28 <!-- <field id="src_field_regular" name="field" grid_ref="src_grid_regular" operation="instant"/>--> 29 </file> 30 <file id="output_regular" name="output_regular" mode="write"> 31 <!-- <field field_ref="field_regular" name="field" />--> 27 <field id="src_field_regular" name="field" grid_ref="src_grid_regular" operation="instant"/> 32 28 </file> 33 29 </file_definition> … … 40 36 <domain id="src_domain" /> 41 37 <domain id="dst_domain" domain_src="src_domain"> 42 <!-- <interpolate_domain file="weight.nc"/>-->43 38 <interpolate_domain/> 44 39 </domain> 45 <domain id="dst_domain_regular" domain_src="src_domain_regular" ni_glo=" 90" nj_glo="60" type="rectilinear">40 <domain id="dst_domain_regular" domain_src="src_domain_regular" ni_glo="360" nj_glo="180" type="rectilinear"> 46 41 <generate_rectilinear_domain /> 47 42 <interpolate_domain/> 48 43 </domain> 49 44 <domain id="src_domain_regular" ni_glo="180" nj_glo="90" type="rectilinear"> 50 <generate_rectilinear_domain />45 <generate_rectilinear_domain bounds_lat_start="-90" bounds_lat_end="90" lon_start="2" lon_end="360" /> 51 46 </domain> 52 47 </domain_definition> … … 74 69 <variable id="optimal_buffer_size" type="string">performance</variable> 75 70 <variable id="buffer_size_factor" type="double">30.0</variable> 71 <variable id="buffer_size_min" type="double">800000</variable> 76 72 </variable_group> 77 73 -
XIOS/trunk/src/node/domain.cpp
r731 r734 338 338 double latRange = lat_end - lat_start; 339 339 340 double lonStep = lonRange/double(ni_glo.getValue());341 double latStep = latRange/double(nj_glo.getValue());340 double lonStep = (1 == ni_glo.getValue()) ? lonRange : lonRange/double(ni_glo.getValue()-1); 341 double latStep = (1 == nj_glo.getValue()) ? latRange : latRange/double(nj_glo.getValue()-1); 342 342 343 343 // Assign lon value … … 423 423 int nbClient; 424 424 MPI_Comm_size(client->intraComm,&nbClient); 425 it->second->checkValid(this); 425 426 this->redistribute(nbClient); 426 427 break; -
XIOS/trunk/src/node/generate_rectilinear_domain.cpp
r727 r734 71 71 << "Define only one attribute: 'bounds_lat_start' or 'lat_start'."); 72 72 73 if (!bounds_lon_start.isEmpty() && !lat_start.isEmpty()) 74 ERROR("CGenerateRectilinearDomain::checkValid(CDomain* domainDst)", 75 << "[ id = " << this->getId() << " , context = '" << CObjectFactory::GetCurrentContextId() << " ] " 76 << "Only one latitude boundary attribute or latitude can be used but both 'bounds_lon_start' and 'lat_start' are defined." << std::endl 77 << "Define only one pair of attributes: ('bounds_lon_start' and 'bounds_lat_start') or ('lon_start' and 'lat_start')."); 78 79 if (!bounds_lat_start.isEmpty() && !lon_start.isEmpty()) 80 ERROR("CGenerateRectilinearDomain::checkValid(CDomain* domainDst)", 81 << "[ id = " << this->getId() << " , context = '" << CObjectFactory::GetCurrentContextId() << " ] " 82 << "Only one latitude boundary attribute or latitude can be used but both 'bounds_lat_start' and 'lon_start' are defined." << std::endl 83 << "Define only one pair of attributes: ('bounds_lon_start' and 'bounds_lat_start') or ('lon_start' and 'lat_start')."); 84 85 if (bounds_lon_start.isEmpty() && bounds_lat_start.isEmpty() && 86 lon_start.isEmpty() && lat_start.isEmpty()) 73 if (bounds_lon_start.isEmpty() && lon_start.isEmpty()) 87 74 { 88 75 bounds_lon_start.setValue(defaultBndsLonStart); 89 76 bounds_lon_end.setValue(defaultBndsLonEnd); 77 } 78 79 if (bounds_lat_start.isEmpty() && lat_start.isEmpty()) 80 { 90 81 bounds_lat_start.setValue(defaultBndsLatStart); 91 82 bounds_lat_end.setValue(defaultBndsLatEnd); … … 97 88 98 89 double boundsLonRange = bounds_lon_end - bounds_lon_start; 99 double boundsLonStep = boundsLonRange/ double(niGlo);90 double boundsLonStep = boundsLonRange/(double(niGlo)); 100 91 domainDst->bounds_lon_start = bounds_lon_start; 101 92 domainDst->bounds_lon_end = bounds_lon_end; … … 109 100 110 101 double boundsLatRange = bounds_lat_end - bounds_lat_start; 111 double boundsLatStep = boundsLatRange/ double(njGlo);102 double boundsLatStep = boundsLatRange/(double(njGlo)); 112 103 domainDst->bounds_lat_start = bounds_lat_start; 113 104 domainDst->bounds_lat_end = bounds_lat_end; … … 123 114 124 115 double lonRange = lon_end - lon_start; 125 double lonStep = lonRange/double(niGlo);116 double lonStep = (1 == niGlo) ? lonRange : lonRange/(double(niGlo)-1); 126 117 domainDst->lon_start = lon_start; 127 118 domainDst->lon_end = lon_end; … … 135 126 136 127 double latRange = lat_end - lat_start; 137 double latStep = latRange/double(njGlo);128 double latStep = (1 == njGlo) ? latRange : latRange/(double(njGlo)-1); 138 129 domainDst->lat_start = lat_start; 139 130 domainDst->lat_end = lat_end; -
XIOS/trunk/src/test/test_remap.f90
r721 r734 129 129 130 130 DO ts=1,1 131 !CALL xios_recv_field("src_field_regular", tmp_field)131 CALL xios_recv_field("src_field_regular", tmp_field) 132 132 CALL xios_update_calendar(ts) 133 133 CALL xios_send_field("src_field",src_field) 134 !CALL xios_send_field("tmp_field",tmp_field)134 CALL xios_send_field("tmp_field",tmp_field) 135 135 CALL wait_us(5000) ; 136 136 ENDDO -
XIOS/trunk/src/transformation/grid_transformation.cpp
r689 r734 54 54 CDomain* domain = CDomain::createDomain(); 55 55 domain->setAttributes(domainSrcTmp[idx]); 56 domain->solveInheritanceTransformation(); 56 57 domain->checkAttributesOnClient(); 57 58 domainSrc.push_back(domain);
Note: See TracChangeset
for help on using the changeset viewer.