Changeset 629 in lmdz_wrf for trunk


Ignore:
Timestamp:
Sep 16, 2015, 11:28:35 AM (9 years ago)
Author:
lfita
Message:

Working on the radial averages. Now points function works!

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tools/nc_var_tools.py

    r628 r629  
    1520115201        if maxradii is not None and rad > maxradii: break
    1520215202        Nrad = int(values[2])
    15203         couples = None
     15203        couples = []
    1520415204        Nradgood = 0
    1520515205        if Nrad > 1:
    1520615206           Ncouples = 0
    15207            couples = []
    1520815207           for ic in range(Nrad):
    1520915208               ix = int(values[3 + ic*2])
    1521015209               iy = int(values[3 + ic*2 + 1])
    1521115210               if ix <= Npt and iy <= Npt:
    15212                    couples.append(np.array([ix,iy], dtype=int))
     15211                   couples.append(np.array([ix,iy]))
    1521315212                   Nradgood = Nradgood + 1
    1521415213               elif ix > Npt and iy > Npt: break
     
    1521715216             iy = int(values[4])
    1521815217             if ix <= Npt and iy <= Npt:
    15219                  couples = np.array([ix,iy], dtype=int)
     15218                 couples.append(np.array([ix,iy]))
    1522015219                 Nradgood = Nradgood + 1
    1522115220             elif ix > Npt and iy > Npt: break
     
    1522315222        if Nradgood > 0:
    1522415223            Nradii[rad] = Nradgood
    15225             gridradii[rad] = np.array(couples)
     15224            finalcouples = np.zeros((Nradgood,2), dtype=int)
     15225            for ic in range(Nradgood):
     15226                finalcouples[ic,:] = couples[ic]
     15227            gridradii[rad] = finalcouples
    1522615228
    1522715229#    for rad in sorted(gridradii.keys()):
     
    1524015242    gridcomb = []
    1524115243    gridcomb.append([x,y])
    15242     gridcomb.append([-x,y])
    15243     gridcomb.append([-x,-y])
    15244     gridcomb.append([x,-y])
     15244    if x != 0: gridcomb.append([-x,y])
     15245    if x != 0 and y != 0: gridcomb.append([-x,-y])
     15246    if y != 0: gridcomb.append([x,-y])
    1524515247
    1524615248    if x != y:
    1524715249        gridcomb.append([y,x])
    15248         gridcomb.append([-y,x])
    15249         gridcomb.append([-y,-x])
    15250         gridcomb.append([y,-x])
     15250        if y != 0: gridcomb.append([-y,x])
     15251        if x != 0 and y != 0: gridcomb.append([-y,-x])
     15252        if x != 0: gridcomb.append([y,-x])
    1525115253
    1525215254    return gridcomb
     
    1526015262      dx= x size of the domain of values
    1526115263      dy= y size of the domain of values
     15264      >>> radpos, SQradpos = radii_points(12,12,1,8,25,25)
     15265      radpos:
     15266      [[[ 13.          12.        ]]
     15267       [[ 12.70710678  12.70710678]]
     15268       [[ 12.          13.        ]]
     15269       [[ 11.29289322  12.70710678]]
     15270       [[ 11.          12.        ]]
     15271       [[ 11.29289322  11.29289322]]
     15272       [[ 12.          11.        ]]
     15273       [[ 12.70710678  11.29289322]]]
     15274      SQradpos:
     15275      {1.0: [[13, 12], [11, 12], [12, 13], [12, 11]], 1.41421356237: [[13, 13], [11, 13], [11, 11], [13, 11]]}
    1526215276    """
    1526315277    fname = 'radii_points'
    1526415278
    15265     radiipos = np.zeros((Nang, Lrad, 2), dtype = int)
     15279    radiipos = np.zeros((Nang, Lrad, 2), dtype = np.float)
    1526615280    SQradiipos = {}
    1526715281
     
    1528715301# Creation of a matrix with all the grid points at each time-step
    1528815302            if iipos >= 0 and iipos < dx-1 and jjpos >= 0 and jjpos < dy-1:
    15289                 radiipos[ia,ip,0] = iipos
    15290                 radiipos[ia,ip,1] = jjpos
     15303                radiipos[ia,ip,0] = posangle[ip,0]
     15304                radiipos[ia,ip,1] = posangle[ip,1]
    1529115305
    1529215306# SQ radii values
     
    1530015314        Npairs = len(pairs.flatten())/2
    1530115315        pairsw = []
    15302         print 'Lluis ',SQradii[ir],'pairs:',pairs, type([pairs])
    1530315316        for ip in range(Npairs):
    1530415317            if Npairs == 0:
    15305                 print '  Lluis NO pair:', SQradii[ir],':',pairs
    1530615318                break
    15307             elif Npairs == 1:
    15308                 print '  Lluis single pair:',pairs[ip*2],pairs[ip*2+1]
    15309                 allpairs = grid_combinations(pairs[ip*2],pairs[ip*2+1])
    1531015319            else:
    15311                 print ip,'  Lluis 1 pair:',pairs[ip,0],pairs[ip,1]
    15312                 allpairs = grid_combinations(pairs[ip,0],pairs[ip,1])
    15313                
     15320                allpairs = grid_combinations(pairs[ip,0],pairs[ip,1])               
    1531415321            for iap in range(len(allpairs)):
    1531515322                ppos = allpairs[iap]
     
    1547915486            trjradii[it,:,:,:], trjSQradii[it] = radii_points(trajvals[it,0],        \
    1548015487              trajvals[it,1],radii,Nangle,dimx,dimy)
     15488            print trjradii[it,:,:,:]
     15489            print '-----------'
     15490            print trjSQradii[it,:,:,:]
    1548115491
    1548215492            it = it + 1
    1548315493            iline = iline + 1
     15494
    1548415495            quit()
    1548515496
Note: See TracChangeset for help on using the changeset viewer.