Changeset 305 in lmdz_wrf for trunk


Ignore:
Timestamp:
Feb 25, 2015, 7:44:56 PM (10 years ago)
Author:
lfita
Message:

Everything is time-dimensionated at Ttraj on 'compute_tevolboxtraj'

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tools/nc_var_tools.py

    r304 r305  
    1072210722            rstatvarvals = np.ones(tuple([Ttraj,dimz,6]), dtype=np.float)
    1072310723
    10724             for it0 in range(Ttraj):
    10725                 it = Tbeg + it0
     10724            for it in range(Ttraj):
     10725                it0 = Tbeg + it
    1072610726
    1072710727                slicev = []
     
    1073410734                cslicevnoThor = []
    1073510735
    10736                 slicev.append(gtrajvals[it0,0])
    10737                 if gtrajvals[it0,2]-box2 < 0 or gtrajvals[it0,2]+box2 + 1 > dimy + 1 \
    10738                   or gtrajvals[it0,1]-box2 < 0 or gtrajvals[it0,1]+box2 + 1 > dimx +1:
     10736                slicev.append(gtrajvals[it,0])
     10737                if gtrajvals[it,2]-box2 < 0 or gtrajvals[it,2]+box2 + 1 > dimy + 1  \
     10738                  or gtrajvals[it,1]-box2 < 0 or gtrajvals[it,1]+box2 + 1 > dimx +1:
    1073910739# box values
    1074010740                    slicev.append(slice(0,dimz))
    10741                     slicev.append(slice(yrangeslice[it0][0],yrangeslice[it0][1]))
    10742                     slicev.append(slice(xrangeslice[it0][0],xrangeslice[it0][1]))
     10741                    slicev.append(slice(yrangeslice[it0][0],yrangeslice[it][1]))
     10742                    slicev.append(slice(xrangeslice[it0][0],xrangeslice[it][1]))
    1074310743
    1074410744                    slicevnoT.append(slice(0,dimz))
    10745                     slicevnoT.append(slice(yrangeslice[it0][0],yrangeslice[it0][1]))
    10746                     slicevnoT.append(slice(xrangeslice[it0][0],xrangeslice[it0][1]))
     10745                    slicevnoT.append(slice(yrangeslice[it][0],yrangeslice[it][1]))
     10746                    slicevnoT.append(slice(xrangeslice[it][0],xrangeslice[it][1]))
    1074710747
    1074810748                    slice2D.append(slice(0,dimz))
    10749                     slice2D.append(slice(0,yrangeslice[it0][1]-yrangeslice[it0][0]))
    10750                     slice2D.append(slice(0,xrangeslice[it0][1]-xrangeslice[it0][0]))
     10749                    slice2D.append(slice(0,yrangeslice[it][1]-yrangeslice[it][0]))
     10750                    slice2D.append(slice(0,xrangeslice[it][1]-xrangeslice[it][0]))
    1075110751
    1075210752                    rvarvalst = np.ones((dimz, Nrad*2+1, Nrad*2+1),dtype=np.float)*  \
     
    1076910769                else:
    1077010770                    slicev.append(slice(0,dimz))
    10771                     slicev.append(slice(gtrajvals[it0,2]-box2,                       \
    10772                       gtrajvals[it0,2]+box2+1))
    10773                     slicev.append(slice(gtrajvals[it0,1]-box2,                       \
    10774                       gtrajvals[it0,1]+box2+1))
     10771                    slicev.append(slice(gtrajvals[it,2]-box2, gtrajvals[it,2]+box2+1))
     10772                    slicev.append(slice(gtrajvals[it,1]-box2, gtrajvals[it,1]+box2+1))
    1077510773                    slicevnoT.append(slice(0,dimz))
    10776                     slicevnoT.append(slice(gtrajvals[it0,2]-box2, gtrajvals[it0,2]+  \
     10774                    slicevnoT.append(slice(gtrajvals[it,2]-box2, gtrajvals[it,2]+    \
    1077710775                      box2+1))
    10778                     slicevnoT.append(slice(gtrajvals[it0,1]-box2, gtrajvals[it0,1]+  \
     10776                    slicevnoT.append(slice(gtrajvals[it,1]-box2, gtrajvals[it,1]+    \
    1077910777                      box2+1))
    1078010778                    slice2D.append(slice(0,dimz))
    10781                     slice2D.append(slice(gtrajvals[it0,2]-box2, gtrajvals[it0,2] +   \
     10779                    slice2D.append(slice(gtrajvals[it,2]-box2, gtrajvals[it,2] +     \
    1078210780                      box2 + 1))
    10783                     slice2D.append(slice(gtrajvals[it0,1]-box2, gtrajvals[it0,1] +   \
     10781                    slice2D.append(slice(gtrajvals[it,1]-box2, gtrajvals[it,1] +     \
    1078410782                      box2 + 1))
    1078510783
     
    1080310801
    1080410802# Circle values
    10805                 cslicev.append(gtrajvals[it0,0])
    10806                 if gtrajvals[it0,2]-Nrad < 0 or gtrajvals[it0,2]+Nrad + 1 > dimy + 1 \
    10807                   or gtrajvals[it0,1]-Nrad < 0 or gtrajvals[it0,1]+Nrad + 1 > dimx +1:
     10803                cslicev.append(gtrajvals[it,0])
     10804                if gtrajvals[it,2]-Nrad < 0 or gtrajvals[it,2]+Nrad + 1 > dimy + 1  \
     10805                  or gtrajvals[it,1]-Nrad < 0 or gtrajvals[it,1]+Nrad + 1 > dimx + 1:
    1080810806                    cslicev.append(slice(0,dimz))
    10809                     cslicev.append(slice(cyrangeslice[it0][0],cyrangeslice[it0][1]))
    10810                     cslicev.append(slice(cxrangeslice[it0][0],cxrangeslice[it0][1]))
     10807                    cslicev.append(slice(cyrangeslice[it][0],cyrangeslice[it][1]))
     10808                    cslicev.append(slice(cxrangeslice[it][0],cxrangeslice[it][1]))
    1081110809
    1081210810                    cslicevnoT.append(slice(0,dimz))
    10813                     cslicevnoT.append(slice(cyrangeslice[it0][0],                    \
    10814                       cyrangeslice[it0][1]))
    10815                     cslicevnoT.append(slice(cxrangeslice[it0][0],                    \
    10816                       cxrangeslice[it0][1]))
     10811                    cslicevnoT.append(slice(cyrangeslice[it][0], cyrangeslice[it][1]))
     10812                    cslicevnoT.append(slice(cxrangeslice[it][0], cxrangeslice[it][1]))
    1081710813
    1081810814                    cslice2D.append(slice(0,dimz))
    10819                     cslice2D.append(slice(0,cyrangeslice[it0][1]-                    \
    10820                       cyrangeslice[it0][0]))
    10821                     cslice2D.append(slice(0,cxrangeslice[it0][1]-                    \
    10822                       cxrangeslice[it0][0]))
    10823                     cslice2Dhor.append(slice(0, cyrangeslice[it0][1] -               \
    10824                       cyrangeslice[it0][0]))
    10825                     cslice2Dhor.append(slice(0, cxrangeslice[it0][1] -               \
    10826                       cxrangeslice[it0][0]))
     10815                    cslice2D.append(slice(0,cyrangeslice[it][1]-cyrangeslice[it][0]))
     10816                    cslice2D.append(slice(0,cxrangeslice[it][1]-cxrangeslice[it][0]))
     10817                    cslice2Dhor.append(slice(0, cyrangeslice[it][1] -                \
     10818                      cyrangeslice[it][0]))
     10819                    cslice2Dhor.append(slice(0, cxrangeslice[it][1] -                \
     10820                      cxrangeslice[it][0]))
    1082710821
    1082810822                    rvarvalst = np.ones((dimz,Nrad*2+1,Nrad*2+1),dtype=np.float)*    \
     
    1083010824                    rvarvalst[tuple(cslice2D)] = varobj[tuple(cslicev)]
    1083110825                    for iz in range(dimz):
    10832                         tslice = [slice(it0)]+cslice2Dhor
     10826                        tslice = [slice(it)]+cslice2Dhor
    1083310827                        rvarvalst[iz,:,:] = np.where(circdist[tuple(tslice)] >       \
    1083410828                          np.float(Nrad), fillValue, rvarvalst[iz,:,:])
     
    1085010844                else:
    1085110845                    cslicev.append(slice(0,dimz))
    10852                     cslicev.append(slice(gtrajvals[it0,2]-Nrad,gtrajvals[it0,2]+Nrad+\
    10853                       1))
    10854                     cslicev.append(slice(gtrajvals[it0,1]-Nrad,gtrajvals[it0,1]+Nrad+\
    10855                       1))
     10846                    cslicev.append(slice(gtrajvals[it,2]-Nrad,gtrajvals[it,2]+Nrad+1))
     10847                    cslicev.append(slice(gtrajvals[it,1]-Nrad,gtrajvals[it,1]+Nrad+1))
    1085610848                    cslicevnoT.append(slice(0,dimz))
    10857                     cslicevnoT.append(slice(gtrajvals[it0,2]-Nrad, gtrajvals[it0,2]+ \
     10849                    cslicevnoT.append(slice(gtrajvals[it,2]-Nrad, gtrajvals[it,2]+  \
    1085810850                      Nrad+1))
    10859                     cslicevnoT.append(slice(gtrajvals[it0,1]-Nrad, gtrajvals[it0,1]+ \
     10851                    cslicevnoT.append(slice(gtrajvals[it,1]-Nrad, gtrajvals[it,1]+  \
    1086010852                      Nrad+1))
    10861                     cslicevnoThor.append(slice(gtrajvals[it0,2]-Nrad,                \
    10862                       gtrajvals[it0,2] + Nrad+1))
    10863                     cslicevnoThor.append(slice(gtrajvals[it0,1]-Nrad,                \
    10864                       gtrajvals[it0,1] + Nrad+1))
     10853                    cslicevnoThor.append(slice(gtrajvals[it,2]-Nrad,                 \
     10854                      gtrajvals[it,2] + Nrad+1))
     10855                    cslicevnoThor.append(slice(gtrajvals[it,1]-Nrad,                 \
     10856                      gtrajvals[it,1] + Nrad+1))
    1086510857                    cslice2D.append(slice(0,dimz))
    10866                     cslice2D.append(slice(gtrajvals[it0,2]-Nrad,gtrajvals[it0,2] +   \
     10858                    cslice2D.append(slice(gtrajvals[it,2]-Nrad,gtrajvals[it,2] +     \
    1086710859                      Nrad+1))
    10868                     cslice2D.append(slice(gtrajvals[it0,1]-Nrad,gtrajvals[it0,1] +   \
     10860                    cslice2D.append(slice(gtrajvals[it,1]-Nrad,gtrajvals[it,1] +     \
    1086910861                      Nrad+1))
    1087010862
     
    1087210864# circle values
    1087310865                    for iz in range(dimz):
    10874                         tslice = [it0]+cslicevnoThor
     10866                        tslice = [it]+cslicevnoThor
    1087510867                        rvarvalst[iz,:,:] = np.where(circdist[tuple(tslice)] >       \
    1087610868                          np.float(Nrad), fillValue, rvarvalst[iz,:,:])
     
    1097510967            rstatvarvals = np.ones(tuple([Ttraj,6]), dtype=np.float)
    1097610968
    10977             for it0 in range(Ttraj):
    10978                 it = Tbeg + it0
     10969            for it in range(Ttraj):
     10970                it0 = Tbeg + it
    1097910971
    1098010972                slicev = []
Note: See TracChangeset for help on using the changeset viewer.