Changeset 2610 in lmdz_wrf


Ignore:
Timestamp:
Jun 18, 2019, 1:20:28 AM (5 years ago)
Author:
lfita
Message:

Wokring cut_xpolygon !!

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tools/geometry_tools.py

    r2609 r2610  
    848848    else:
    849849        ##print '  ' + fname + ': found ', Ncuts, ' Ncuts'
    850         if Ncuts > 1 and keep == 'left':
     850        if Ncuts >= 1 and keep == 'left':
    851851            # Re-shifting cuts by closest heigth.
    852852            yis = []
     
    885885                        icut.append(newecut[icc])
    886886                        ipt.append(newept[icc])
    887         ##print '    xval=', xval, 'cut, ip; ipt ep; ept ________'
    888         ##for ic in range(Ncuts):
    889         ##    print '      ', ic, icut[ic], ';', ipt[ic], ecut[ic], ';', ept[ic]
     887        print '    xval=', xval, 'cut, ip; ipt ep; ept ________'
     888        for ic in range(Ncuts):
     889            print '      ', ic, icut[ic], ';', ipt[ic], ecut[ic], ';', ept[ic]
    890890
    891891    # Length of joining lines
     
    924924
    925925    cutpolygon = []
    926 
    927926    iipc = 0
    928927    for ic in range(Ncuts):
    929928        dcpt = Ncpts[ic]
     929        cutpolygon.append(ipt[ic])
    930930        if keep == 'left':
    931931            if ic == 0:
    932                 add_secpolygon_list(cutpolygon,0,icut[ic],polygon)
     932                add_secpolygon_list(cutpolygon,icut[ic]+1,N,polygon)
     933                add_secpolygon_list(cutpolygon,0,ecut[ic],polygon)
    933934                iipc = icut[ic]
    934935            else:
    935936                add_secpolygon_list(cutpolygon,icut[ic]+1,ecut[ic],polygon)
    936                 #cutpolygon[iipc:iipc+dcpt-1,:] = polygon[icut[ic]+1:ecut[ic],:]
    937                 iipc = iipc + dcpt -1
    938937        else:
    939             cutpolygon.append(ipt[ic])
    940938            add_secpolygon_list(cutpolygon,icut[ic]+1,ecut[ic],polygon)
    941             #cutpolygon[iipc:iipc+dcpt-1,:]=polygon[icut[ic]+1:ecut[ic],:]
    942939            iipc = iipc+dcpt-1
    943 
    944940        # cutting line
    945941        cutline = np.zeros((Nadds[ic],2), dtype=np.float)
     
    950946            cutline[ip,:] = ipt[ic] + np.array([dy*ip,dx*ip])
    951947        cutline[Nadds[ic]-1,:] = ept[ic]
    952         print 'Lluis ipt0', ipt[ic], 'cutline[Nadds-ic,:]', cutline[Nadds[ic]-1,:], 'ept', ept[ic]
    953948        if keep == 'left':
    954             if ic == 0:
    955                 for ip in range(Nadds[ic]): cutpolygon.append(cutline[ip,:])
    956             else:
    957                 for ip in range(Nadds[ic]-1,0,-1): cutpolygon.append(cutline[ip,:])
     949            for ip in range(Nadds[ic]-1,-1,-1): cutpolygon.append(cutline[ip,:])
    958950            iipc = iipc+Nadds[ic]
    959951            if ic == 0:
    960 #                cutpolygon[iipc:iipc+N-ecut[ic]-1,:] = polygon[ecut[ic]+1:N,:]
    961 #                iipc = iipc + N-ecut[ic]-1
    962                 add_secpolygon_list(cutpolygon,ecut[ic]-2,N,polygon)
    963                 #cutpolygon[iipc:iipc+N-ecut[ic]+2,:] = polygon[ecut[ic]-2:N,:]
    964                 iipc = iipc + N-ecut[ic]+2
     952                add_secpolygon_list(cutpolygon,ecut[ic],N,polygon)
    965953                cutpolygon.append(polygon[0,:])
    966954                iipc = iipc + 1
    967955        else:
    968             for ip in range(Nadds[ic]-1,0,-1): cutpolygon.append(cutline[ip,:])
     956            for ip in range(Nadds[ic]-1,-1,-1): cutpolygon.append(cutline[ip,:])
    969957            iipc = iipc+Nadds[ic]
    970958        cutpolygon.append([gen.fillValueF, gen.fillValueF])
     
    986974            else:
    987975                rmpolygon.append(cutpolygon[ip,:])
    988     Npts = len(rmpolygon)
    989976
    990977    rmpolygon = np.array(rmpolygon)
    991978    cutpolygon = rm_consecpt_polygon(rmpolygon)
     979    Npts = cutpolygon.shape[0]
    992980
    993981    cutpolygon = ma.masked_equal(cutpolygon, gen.fillValueF)
Note: See TracChangeset for help on using the changeset viewer.