Changeset 335 in lmdz_wrf for trunk


Ignore:
Timestamp:
Feb 27, 2015, 6:24:29 PM (10 years ago)
Author:
lfita
Message:

Fixing oversized slice when we are close to the domain border

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tools/nc_var_tools.py

    r334 r335  
    1093810938# Circle values
    1093910939                cslicev.append(gtrajvals[it,0])
    10940                 if gtrajvals[it,2]-Nrad < 0 or gtrajvals[it,2]+Nrad + 1 > dimy + 1   \
    10941                   or gtrajvals[it,1]-Nrad < 0 or gtrajvals[it,1]+Nrad + 1 > dimx + 1:
     10940                if gtrajvals[it,2]-Nrad < 0 or gtrajvals[it,2]+Nrad + 1 >= dimy       \
     10941                  or gtrajvals[it,1]-Nrad < 0 or gtrajvals[it,1]+Nrad + 1 >= dimx:
     10942
     10943                    maxx = np.min([cxrangeslice[it][1], dimx])
     10944                    maxy = np.min([cyrangeslice[it][1], dimy])
    1094210945                    cslicev.append(slice(0,dimz))
    10943                     cslicev.append(slice(cyrangeslice[it][0],cyrangeslice[it][1]))
    10944                     cslicev.append(slice(cxrangeslice[it][0],cxrangeslice[it][1]))
     10946                    cslicev.append(slice(cyrangeslice[it][0], maxy))
     10947                    cslicev.append(slice(cxrangeslice[it][0], maxx))
    1094510948
    1094610949                    cslicevnoT.append(slice(0,dimz))
     
    1094910952
    1095010953                    cslice2D.append(slice(0,dimz))
    10951                     cslice2D.append(slice(0,cyrangeslice[it][1]-cyrangeslice[it][0]))
    10952                     cslice2D.append(slice(0,cxrangeslice[it][1]-cxrangeslice[it][0]))
    10953                     cslice2Dhor.append(slice(0, cyrangeslice[it][1] -                \
    10954                       cyrangeslice[it][0]))
    10955                     cslice2Dhor.append(slice(0, cxrangeslice[it][1] -                \
    10956                       cxrangeslice[it][0]))
     10954                    cslice2D.append(slice(0,maxy-cyrangeslice[it][0]))
     10955                    cslice2D.append(slice(0,maxx-cxrangeslice[it][0]))
     10956                    cslice2Dhor.append(slice(0, maxy - cyrangeslice[it][0]))
     10957                    cslice2Dhor.append(slice(0, maxx -cxrangeslice[it][0]))
    1095710958
    1095810959                    rvarvalst = np.ones((dimz,Nrad*2+1,Nrad*2+1),dtype=np.float)*    \
    1095910960                      fillValue
     10961                    print 'Lluis cslicev:',cslicev,'cslice2D:',cslice2D
    1096010962                    rvarvalst[tuple(cslice2D)] = varobj[tuple(cslicev)]
    1096110963                    for iz in range(dimz):
     
    1097710979                        rstatvarvals[it,iz,4] = maskedvals2[iz,:,:].mean()
    1097810980                        rstatvarvals[it,iz,5] = np.sqrt(rstatvarvals[it,iz,4] -      \
    10979                           rstatvarvals[it,iz,3]*rsattvarvals[it,iz,3])
     10981                          rstatvarvals[it,iz,3]*rstatvarvals[it,iz,3])
    1098010982
    1098110983                else:
Note: See TracChangeset for help on using the changeset viewer.