Ignore:
Timestamp:
11/16/18 14:03:09 (6 years ago)
Author:
dubos
Message:

devel/unstructured : read dual_ne from mesh file when parallel

File:
1 edited

Legend:

Unmodified
Added
Removed
  • codes/icosagcm/devel/Python/test/py/reorder.py

    r674 r779  
    11print 'Loading DYNAMICO modules ...' 
    2 from dynamico.meshes import morton_index, key_to_perm, reorder_indices, reorder_values 
     2from dynamico.meshes import morton_index, key_to_perm, reorder_indices, reorder_values, MPAS_Format, Unstructured_Mesh 
    33print '...Done' 
    44import numpy as np 
     
    77import time 
    88 
    9 grid = 10242 # 2562, 10242, 40962 
     9#------------ Read command-line arguments ----------# 
     10 
     11import argparse 
     12parser = argparse.ArgumentParser() 
     13parser.add_argument("-n", type=int, default=2562, 
     14                    help="number of primal cells in MPAS mesh") 
     15args = parser.parse_args() 
     16grid = args.n 
    1017 
    1118#-------------- read MPAS mesh ----------------# 
    1219 
    13 print 'Reading MPAS mesh ...' 
    14 mesh=cdf.Dataset('grids_MPAS/x1.%d.grid.nc'%grid, "r") 
     20meshfile='grids_MPAS/x1.%d.grid.nc'%grid 
     21print 'Reading MPAS mesh %s ...'%meshfile 
     22 
     23def f(lon,lat): return 0.*lon 
     24mesh=MPAS_Format(meshfile) 
     25mesh=Unstructured_Mesh(mesh, 1, 1, 1., f) 
     26primal_ne, dual_ne = mesh.primal_ne, mesh.dual_ne 
     27 
     28mesh=cdf.Dataset(meshfile, "r") 
    1529 
    1630def getdims(*names): return [len(mesh.dimensions[name]) for name in names] 
     
    5367for idx in primal_edge, left_right, dual_edge, down_up, primal_vertex, dual_vertex, trisk : idx[:]=idx[:]-1 
    5468 
    55 reorder_indices(perm_i, primal_deg, primal_vertex, primal_edge, lon_i, lat_i, Ai) 
    56 reorder_indices(perm_v, dual_vertex, dual_edge, lon_v, lat_v, Av, Riv2) 
     69reorder_indices(perm_i, primal_deg, primal_vertex, primal_edge, primal_ne, lon_i, lat_i, Ai) 
     70reorder_indices(perm_v, dual_vertex, dual_edge, dual_ne, lon_v, lat_v, Av, Riv2) 
    5771reorder_indices(perm_e, trisk_deg, left_right, down_up, trisk, lon_e, lat_e, angle_e, le, de, wee) 
    5872reorder_values(perm_i, dual_vertex, left_right) 
     
    6680 
    6781mesh=cdf.Dataset('grids/x1.%d.grid.nc'%grid, "r+") 
     82 
     83# create new variables dual_ne, primal_ne 
     84mesh.createVariable('signOnCell','i4',('nCells','maxEdges')) 
     85mesh.createVariable('signOnVertex','i4',('nVertices','vertexDegree')) 
    6886 
    6987def putvars(datas,names):  
     
    83101putvars( (lat_e,lon_e,angle_e), ('latEdge','lonEdge','angleEdge') ) 
    84102putvars( (wee,Riv2), ('weightsOnEdge','kiteAreasOnVertex') ) 
     103putvars( (primal_ne,dual_ne), ('signOnCell','signOnVertex') ) 
    85104 
    86105mesh.close() 
Note: See TracChangeset for help on using the changeset viewer.