Changeset 663 in lmdz_wrf for trunk


Ignore:
Timestamp:
Jan 11, 2016, 5:00:20 PM (9 years ago)
Author:
lfita
Message:

Adding slice for the weights variable

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tools/nc_var_tools.py

    r662 r663  
    1724317243                for id1 in range(loopshape[0]):
    1724417244                    slicevalues = SliceVar(iovar,dimsloop,[id1])
     17245                    slicewgt = SliceVar(iovarwgt,dimsloop,[id1])
    1724517246                    newvals[id1] = np.mean(ivarv[tuple(slicevalues)] /               \
    17246                       ivarwgtv[tuple(slicevalues)])
     17247                      ivarwgtv[tuple(slicewgt)])
    1724717248            elif len(loopshape) == 2:
    1724817249                newvals = np.ones((loopshape[0],loopshape[1]),dtype=np.float)*       \
     
    1725117252                    for id2 in range(loopshape[1]):
    1725217253                        slicevalues = SliceVar(iovar,dimsloop,[id1,id2])
     17254                        slicewgt = SliceVar(iovarwgt,dimsloop,[id1,id2])
    1725317255                        newvals[id1,id2] = np.mean(ivarv[tuple(slicevalues)] /       \
    17254                           ivarwgtv[tuple(slicevalues)])
     17256                          ivarwgtv[tuple(slicewgt)])
    1725517257            elif len(loopshape) == 3:
    1725617258                newvals = np.ones((loopshape[0],loopshape[1],loopshape[2]),          \
     
    1726017262                        for id3 in range(loopshape[1]):
    1726117263                            slicevalues = SliceVar(iovar,dimsloop,[id1,id2,id3])
     17264                            slicewgt = SliceVar(iovarwgt,dimsloop,[id1,id2,id3])
    1726217265                            newvals[id1,id2,id3]= np.mean(ivarv[tuple(slicevalues)]/ \
    17263                               ivarwgtv[tuple(slicevalues)])
     17266                              ivarwgtv[tuple(slicewgt)])
    1726417267        elif oper == 'nothing':
    1726517268            longvarname = 'using variable ' + varname + ' as space weights'
     
    1726817271                for id1 in range(loopshape[0]):
    1726917272                    slicevalues = SliceVar(iovar,dimsloop,[id1])
     17273                    slicewgt = SliceVar(iovarwgt,dimsloop,[id1])
    1727017274                    newvals[id1] = np.mean(ivarv[tuple(slicevalues)]*                \
    17271                       ivarwgtv[tuple(slicevalues)])
     17275                      ivarwgtv[tuple(slicewgt)])
    1727217276            elif len(loopshape) == 2:
    1727317277                newvals = np.ones((loopshape[0],loopshape[1]), dtype=np.float)*      \
     
    1727617280                    for id2 in range(loopshape[1]):
    1727717281                        slicevalues = SliceVar(iovar,dimsloop,[id1,id2])
     17282                        slicewgt = SliceVar(iovarwgt,dimsloop,[id1,id2])
    1727817283                        newvals[id1,id2] = np.mean(ivarv[tuple(slicevalues)]*        \
    17279                           ivarwgtv[tuple(slicevalues)])
     17284                          ivarwgtv[tuple(slicewgt)])
    1728017285            elif len(loopshape) == 3:
    1728117286                newvals = np.ones((loopshape[0],loopshape[1],loopshape[2]),          \
     
    1728517290                        for id3 in range(loopshape[2]):
    1728617291                            slicevalues = SliceVar(iovar,dimsloop,[id1,id2.id3])
     17292                            slicewgt = SliceVar(iovarwgt,dimsloop,[id1,id2,id3])
    1728717293                            newvals[id1,id2,id3]=np.mean(ivarv[tuple(slicevalues)]*  \
    17288                               ivarwgtv[tuple(slicevalues)])
     17294                              ivarwgtv[tuple(slicewgt)])
    1728917295    elif weightk == 'reglonlat':
    1729017296        longvarname = 'using cos(latitude) variable ' + latname + ' as space weights'
Note: See TracChangeset for help on using the changeset viewer.