Changeset 770 for codes/icosagcm


Ignore:
Timestamp:
11/05/18 14:28:31 (6 years ago)
Author:
dubos
Message:

devel/unstructured bugfix : indexing of Cartesian mesh

File:
1 edited

Legend:

Unmodified
Added
Removed
  • codes/icosagcm/devel/Python/dynamico/meshes.py

    r760 r770  
    104104        # Python order : nqdyn,ny,nx,llm   / indices start at 0 
    105105        # indices below follow Fortran while x,y follow Python/C 
    106         index=lambda x,y : ((x+(nx*(y+2*ny)))%(nx*ny))+1 
    107         indexu=lambda x,y : 2*index(x,y)-1 
    108         indexv=lambda x,y : 2*index(x,y) 
     106        def periodize(x,nx): return (x+2*nx)%nx 
     107        def index(x,y):      return 1+periodize(x,nx)+nx*periodize(y,ny) 
     108        def indexu(x,y):     return 2*index(x,y)-1 
     109        def indexv(x,y):     return 2*index(x,y) 
    109110        def zeros(shape,n=1): return [np.zeros(shape) for i in range(n)] if n>1 else np.zeros(shape) 
    110111        def indices(shape,n=1): return [np.zeros(shape,np.int32) for i in range(n)] if n>1 else np.zeros(shape,np.int32) 
Note: See TracChangeset for help on using the changeset viewer.