Changeset 2293 in lmdz_wrf for trunk/tools


Ignore:
Timestamp:
Jan 28, 2019, 3:40:08 PM (6 years ago)
Author:
lfita
Message:

First version with slicing two variables !!

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tools/nc_var_tools.py

    r2291 r2293  
    2841428414    inpointsB = inpB.transpose()
    2841528415
     28416    # Remembering that it is python (C-like...)
     28417    inpointsA = inpointsA-1
     28418    inpointsB = inpointsB-1
     28419
    2841628420    maxNpointsAB = np.max(NpointsAB)
    2841728421    print "  Joined slice '" + newslcvarns[0] + "' & '" + newslcvarns[1] + "':",     \
     
    2845228456                    Nin = NpointsAB[jB,iB,jA,iA]
    2845328457                    innewvar[:,0:Nin,jB,iB,jA,iA] = pointsAB[:,0:Nin,jB,iB,jA,iA]
    28454                     print Nin, 'Lluis shapes sliceaA:', osliceaA.shape, 'sliceaB:', osliceaB.shape
     28458                    print Nin, 'Lluis shapes sliceaA:', osliceaA.shape, 'sliceaB:', osliceaB.shape, \
     28459                    'pnewvar:', pnewvar.shape, 'anewvar:', anewvar.shape
    2845528460                    for iv in range(Nin):
    28456                         pA = oslicepA[inpA[jA,iA,iv]-1,jA,iA]
    28457                         pB = oslicepB[inpB[jB,iB,iv]-1,jB,iB]
     28461                        print 'Lluis jB, iB, jA, iA:', jB,iB,jA,iA
     28462                        print 'Lluis shapes inpointsA:', inpointsA.shape, 'inpointsB:', inpointsB.shape
     28463                        print 'Lluis inpointsA:', inpointsA[iv,jA,iA], 'inpointsB:', inpointsB[iv,jB,iB]
     28464                        pA = oslicepA[inpointsA[iv,jA,iA],jA,iA]
     28465                        pB = oslicepB[inpointsB[iv,jB,iB],jB,iB]
     28466                        print 'Lluis shapes pnewvar:', pnewvar.shape, 'pA:', pA, 'pB:', pB
    2845828467                        pnewvar[iv,jB,iB,jA,iA]= pA*pB
    28459                         ixA = sliceinA[1,inpointsA[jA,iA,iv]-1,jA,iA]
    28460                         iyA = sliceinA[0,inpointsA[jA,iA,iv]-1,jA,iA]
     28468                        ixA = sliceinA[1,inpointsA[iv,jA,iA],jA,iA]
     28469                        iyA = sliceinA[0,inpointsA[iv,jA,iA],jA,iA]
    2846128470                        print '  A:', ixA, iyA
    2846228471                        aA = osliceaA[iyA,ixA]
    28463                         ixB = sliceinB[1,inpointsB[jB,iB,iv]-1,jB,iB]
    28464                         iyB = sliceinB[0,inpointsB[jB,iB,iv]-1,jB,iB]
     28472                        ixB = sliceinB[1,inpointsB[iv,jB,iB],jB,iB]
     28473                        iyB = sliceinB[0,inpointsB[iv,jB,iB],jB,iB]
    2846528474                        print '  B:', ixB, iyB
    2846628475                        aB = osliceaB[iyB,ixB]
    28467                         anewvar[jB,iB,jA,iA]= aA*aB
     28476                        anewvar[jB,iB,jA,iA]= (aA*pA)*(aB*pB)
    2846828477
    2846928478    onewnc.sync()
Note: See TracChangeset for help on using the changeset viewer.