Changeset 779 for codes/icosagcm/devel/Python/test
- Timestamp:
- 11/16/18 14:03:09 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
codes/icosagcm/devel/Python/test/py/reorder.py
r674 r779 1 1 print 'Loading DYNAMICO modules ...' 2 from dynamico.meshes import morton_index, key_to_perm, reorder_indices, reorder_values 2 from dynamico.meshes import morton_index, key_to_perm, reorder_indices, reorder_values, MPAS_Format, Unstructured_Mesh 3 3 print '...Done' 4 4 import numpy as np … … 7 7 import time 8 8 9 grid = 10242 # 2562, 10242, 40962 9 #------------ Read command-line arguments ----------# 10 11 import argparse 12 parser = argparse.ArgumentParser() 13 parser.add_argument("-n", type=int, default=2562, 14 help="number of primal cells in MPAS mesh") 15 args = parser.parse_args() 16 grid = args.n 10 17 11 18 #-------------- read MPAS mesh ----------------# 12 19 13 print 'Reading MPAS mesh ...' 14 mesh=cdf.Dataset('grids_MPAS/x1.%d.grid.nc'%grid, "r") 20 meshfile='grids_MPAS/x1.%d.grid.nc'%grid 21 print 'Reading MPAS mesh %s ...'%meshfile 22 23 def f(lon,lat): return 0.*lon 24 mesh=MPAS_Format(meshfile) 25 mesh=Unstructured_Mesh(mesh, 1, 1, 1., f) 26 primal_ne, dual_ne = mesh.primal_ne, mesh.dual_ne 27 28 mesh=cdf.Dataset(meshfile, "r") 15 29 16 30 def getdims(*names): return [len(mesh.dimensions[name]) for name in names] … … 53 67 for idx in primal_edge, left_right, dual_edge, down_up, primal_vertex, dual_vertex, trisk : idx[:]=idx[:]-1 54 68 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)69 reorder_indices(perm_i, primal_deg, primal_vertex, primal_edge, primal_ne, lon_i, lat_i, Ai) 70 reorder_indices(perm_v, dual_vertex, dual_edge, dual_ne, lon_v, lat_v, Av, Riv2) 57 71 reorder_indices(perm_e, trisk_deg, left_right, down_up, trisk, lon_e, lat_e, angle_e, le, de, wee) 58 72 reorder_values(perm_i, dual_vertex, left_right) … … 66 80 67 81 mesh=cdf.Dataset('grids/x1.%d.grid.nc'%grid, "r+") 82 83 # create new variables dual_ne, primal_ne 84 mesh.createVariable('signOnCell','i4',('nCells','maxEdges')) 85 mesh.createVariable('signOnVertex','i4',('nVertices','vertexDegree')) 68 86 69 87 def putvars(datas,names): … … 83 101 putvars( (lat_e,lon_e,angle_e), ('latEdge','lonEdge','angleEdge') ) 84 102 putvars( (wee,Riv2), ('weightsOnEdge','kiteAreasOnVertex') ) 103 putvars( (primal_ne,dual_ne), ('signOnCell','signOnVertex') ) 85 104 86 105 mesh.close()
Note: See TracChangeset
for help on using the changeset viewer.