Ignore:
Timestamp:
10/04/22 14:04:11 (21 months ago)
Author:
jderouillat
Message:

Backport commits [2181,2200-2202,2250,2252] related to UGRID in XIOS3

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS3/trunk/src/io/nc4_data_output.cpp

    r2395 r2409  
    492492      std::vector<StdString> dim0; 
    493493      StdString domainName = domain->name; 
    494       domain->assignMesh(domainName, domain->nvertex); 
    495       domain->mesh->createMeshEpsilon(context->intraComm_, domain->lonvalue, domain->latvalue, domain->bounds_lonvalue, domain->bounds_latvalue); 
    496494 
    497495      StdString node_x = domainName + "_node_x"; 
     
    609607                SuperClassWriter::addAttribute("edge_coordinates", edge_x + " " + edge_y, &domainName); 
    610608                SuperClassWriter::addAttribute("edge_node_connectivity", edge_nodes, &domainName); 
     609                SuperClassWriter::addAttribute("face_edge_connectivity", face_edges, &domainName); 
     610                SuperClassWriter::addAttribute("edge_face_connectivity", edge_faces, &domainName); 
    611611                SuperClassWriter::addDimension(dimEdge, domain->mesh->nbEdgesGlo); 
    612612                dim0.clear(); 
     
    628628                SuperClassWriter::addAttribute("start_index", 0, &edge_nodes); 
    629629              } 
     630              SuperClassWriter::addAttribute("face_face_connectivity", face_faces, &domainName); 
    630631              SuperClassWriter::addAttribute("face_coordinates", face_x + " " + face_y, &domainName); 
    631632              SuperClassWriter::addAttribute("face_node_connectivity", face_nodes, &domainName); 
     
    729730                 startNodes[0] = domain->mesh->node_start; 
    730731                 countNodes[0] = domain->mesh->node_count; 
     732                 if (countNodes[0]==0) startNodes[0]=0 ; // for netcdf error 
    731733                 startEdgeNodes[0] = domain->ibegin; 
    732734                 startEdgeNodes[1] = 0; 
     
    765767                 startNodes[0] = domain->mesh->node_start; 
    766768                 countNodes[0] = domain->mesh->node_count; 
     769                 if (countNodes[0]==0) startNodes[0]=0; 
     770 
    767771                 startEdges[0] = domain->mesh->edge_start; 
    768772                 countEdges[0] = domain->mesh->edge_count; 
     773                 if (countEdges[0]==0) startEdges[0]=0 ; // for netcdf error 
     774 
    769775                 startEdgeNodes[0] = domain->mesh->edge_start; 
     776                 countEdgeNodes[0] = domain->mesh->edge_count; 
     777                 if (countEdgeNodes[0]==0) startEdgeNodes[0]=0; // for netcdf error 
    770778                 startEdgeNodes[1] = 0; 
    771                  countEdgeNodes[0] = domain->mesh->edge_count; 
    772779                 countEdgeNodes[1]= 2; 
     780                  
    773781                 startEdgeFaces[0] = domain->mesh->edge_start; 
     782                 countEdgeFaces[0] = domain->mesh->edge_count; 
     783                 if (countEdgeFaces[0]==0) startEdgeFaces[0]=0 ; // for netcdf error 
    774784                 startEdgeFaces[1]= 0; 
    775                  countEdgeFaces[0] = domain->mesh->edge_count; 
    776785                 countEdgeFaces[1]= 2; 
     786                  
    777787                 startFaceConctv[0] = domain->ibegin; 
     788                 countFaceConctv[0] = domain->ni; 
    778789                 startFaceConctv[1] = 0; 
    779                  countFaceConctv[0] = domain->ni; 
    780790                 countFaceConctv[1] = domain->nvertex; 
    781791               } 
Note: See TracChangeset for help on using the changeset viewer.