Changeset 2548 in lmdz_wrf


Ignore:
Timestamp:
May 19, 2019, 5:23:54 PM (6 years ago)
Author:
lfita
Message:

Final working version of cut_ypolygon' and nort_buoy1'

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tools/geometry_tools.py

    r2547 r2548  
    466466                    dd = yval - polygon[ip,0]
    467467                    print polygon[ip,:], ':', polygon[eep,:]
    468                     print 'dx', dx, 'dy', dy, 'dd', dd
    469468                    ept = [yval, polygon[ip,1]+dx*dd/dy]
    470469    else:
     
    486485                dy = polygon[eep,0] - polygon[ip,0]
    487486                dd = yval - polygon[ip,0]
    488                 print polygon[ip,:], ':', polygon[eep,:]
    489                 print 'dx', dx, 'dy', dy, 'dd', dd
    490487                ept = [yval, polygon[ip,1]+dx*dd/dy]
    491 
    492     print 'Lluis ipt:', ipt, 'ept:', ept
    493488
    494489    if ipt is None or ept is None:
     
    500495        cutpolygon = np.zeros((Npts,2), dtype=np.float)
    501496        if type(polygon) == type(gen.mamat):
    502             cutpolygon[0:icut+1,:] = polygon[0:icut+1,:].filled(gen.fillValueF)
     497            cutpolygon[0:icut+1,:] = polygon[0:icut+1,:]
    503498        else:
    504499            cutpolygon[0:icut+1,:] = polygon[0:icut+1,:]
     
    507502        Npts = ecut - icut + Nadd-1
    508503        cutpolygon = np.zeros((Npts,2), dtype=np.float)
    509         if type(polygon) == type(gen.mamat):
    510             cutpolygon[0:ecut-icut-1,:] = polygon[icut+1:ecut,:].filled(gen.fillValueF)
    511         else:
    512             cutpolygon[0:ecut-icut-1,:] = polygon[icut+1:ecut,:]
     504        cutpolygon[0,:] = ipt
     505        cutpolygon[1:ecut-icut,:] = polygon[icut+1:ecut,:]
    513506        iip = ecut-icut-1
    514507
     
    524517    if keep == 'bottom':
    525518        if type(polygon) == type(gen.mamat):
    526             cutpolygon[iip+Nadd:Npts,:] = polygon[ecut+1:N,:].filled(gen.fillValueF)
     519            cutpolygon[iip+Nadd:Npts,:] = polygon[ecut+1:N,:]
    527520        else:
    528521            cutpolygon[iip+Nadd:Npts,:] = polygon[ecut+1:N,:]
     
    530523    rmpolygon = []
    531524    if keep == 'bottom':
    532         for ip in range(N):
    533             if polygon[ip,0] > yval:
     525        for ip in range(Npts):
     526            if cutpolygon[ip,0] > yval:
    534527                rmpolygon.append([gen.fillValueF, gen.fillValueF])
    535528            else:
    536                 rmpolygon.append(polygon[ip,:])
     529                rmpolygon.append(cutpolygon[ip,:])
    537530    else:
    538         for ip in range(N):
    539             if polygon[ip,0] < yval:
     531        for ip in range(Npts):
     532            if cutpolygon[ip,0] < yval:
    540533                rmpolygon.append([gen.fillValueF, gen.fillValueF])
    541534            else:
    542                 rmpolygon.append(polygon[ip,:])
     535                rmpolygon.append(cutpolygon[ip,:])
    543536    Npts = len(rmpolygon)
    544537    cutpolygon = np.array(rmpolygon)
     
    16641657    # buoy
    16651658    N2 = int(N/2)
    1666     buoy1v, buoy1vsecs, buoy1vdic = buoy1(height=5., width=10., bradii=1.75, bfrac=0.8, N=N2)
     1659    buoy1v, buoy1vsecs, buoy1vdic = buoy1(height=5., width=10., bradii=1.75,         \
     1660      bfrac=0.8, N=N2)
    16671661    buoy[0:N2,:] = buoy1v
    16681662
     
    16851679    buoy[N2+N32+2:N,:] = trib + [bottsigns+1.1*lsign,0.]
    16861680
     1681    # painting it
     1682    Height = np.max(buoy1v[:,0])
     1683
     1684    print 'Lluis Height', Height
     1685
     1686    Ncut, halfdown = cut_ypolygon(buoy1v, yval=Height/2., keep='bottom')
     1687    Ncut, halfup = cut_ypolygon(buoy1v, yval=Height/2., keep='above')
     1688
    16871689    buoy = ma.masked_equal(buoy, gen.fillValueF)
    16881690
    1689     buoysecs = ['buoy', 'sign1', 'sign2']
     1691    buoysecs = ['buoy', 'sign1', 'sign2', 'halfk', 'halfy']
    16901692    buoydic = {'buoy': [buoy[0:N2,:],'-','k',1.5],                                   \
    16911693      'sign1': [buoy[N2+1:N2+N32+1,:],'-','k',1.5],                                  \
    1692       'sign2': [buoy[N2+N32+2:N,:],'-','k',1.5]}
    1693 
    1694     # painting it
    1695     Height = height + 1.8*bradii
    1696 #    print 'Lluis Height', Height
    1697 #    Ncut, halfdown = cut_ypolygon(buoy, yval=Height/2., keep='bottom')
    1698 #    Ncut, halfup = cut_ypolygon(buoy, yval=Height/2., keep='above')
    1699 
    1700 #    buoysecs.append('halfk')
    1701 #    buoydic['halfk'] = [halfup, '-', 'k', 1.]
    1702 #    buoysecs.append('halfy')
    1703 #    buoydic['halfy'] = [halfdown, '-', '#FFFF00', 1.]
     1694      'sign2': [buoy[N2+N32+2:N,:],'-','k',1.5], 'halfk': [halfup, '-', 'k', 1.],    \
     1695      'halfy': [halfdown, '-', '#FFFF00', 1.]}
    17041696
    17051697    return buoy, buoysecs, buoydic
Note: See TracChangeset for help on using the changeset viewer.