Changeset 875 in lmdz_wrf for trunk


Ignore:
Timestamp:
Jun 18, 2016, 4:14:42 PM (8 years ago)
Author:
lfita
Message:

Generalizing `file_oper_alongdims' now only the variable dimensions with some dimension are added

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tools/nc_var_tools.py

    r874 r875  
    89818981                    newdimvarv, newdimvardimns=operation_alongdims(objvdim,dimvals,dimsoper,operkind)
    89828982
     8983# Introducing only that dimension variables with any dimension after the operation
     8984                    if len(newdimvardimns) > 0:
     8985
    89838986# Old method introducing new dimension if needed
    89848987##                    dimsvdim = objvdim.dimensions
     
    90059008##                            dimvdims.append(dimsvdim[idmvd])
    90069009
    9007                     newvar = objnewnc.createVariable(vardims[ivdim], vdimtype,       \
    9008                       tuple(newdimvardimns))
    9009                     newvar[:] = newdimvarv
    9010                     dimvattrs = objvdim.ncattrs()
    9011                     for attrn in dimvattrs:
    9012                         attrv = objvdim.getncattr(attrn)
    9013                         newattr = set_attribute(newvar,attrn,attrv)
    9014 
    9015                     newattr = set_attribute(newvar, 'operation:',  operkind +        \
    9016                       ' along ' + dimsoperS)
     9010                        newvar = objnewnc.createVariable(vardims[ivdim], vdimtype,   \
     9011                          tuple(newdimvardimns))
     9012                        newvar[:] = newdimvarv
     9013                        dimvattrs = objvdim.ncattrs()
     9014                        for attrn in dimvattrs:
     9015                            attrv = objvdim.getncattr(attrn)
     9016                            newattr = set_attribute(newvar,attrn,attrv)
     9017
     9018                        newattr = set_attribute(newvar, 'operation:',  operkind +    \
     9019                          ' along ' + dimsoperS)
    90179020
    90189021# new variable
    90199022            oldvarattr = objvar.ncattrs()
    90209023   
    9021             varname = variables_values(vn)[0]
     9024            varname = gen.variables_values(vn)[0]
    90229025            if gen.searchInlist(oldvarattr, 'standard_name'):
    90239026                stdname = objvar.getncattr('standard_name')
    90249027            else:
    9025                 stdname = variables_values(vn)[1]
     9028                stdname = gen.variables_values(vn)[1]
    90269029       
    90279030            if gen.searchInlist(oldvarattr, 'long_name'):
    90289031                lname = objvar.getncattr('long_name')
    90299032            else:
    9030                 lname = variables_values(vn)[4].replace('|',' ')
     9033                lname = gen.variables_values(vn)[4].replace('|',' ')
    90319034
    90329035            if gen.searchInlist(oldvarattr, 'units'):
    90339036                uname = objvar.getncattr('units')
    90349037            else:
    9035                 uname = variables_values(vn)[5]
     9038                uname = gen.variables_values(vn)[5]
    90369039   
    90379040            newvar = objnewnc.createVariable(varname + operkind, 'f4',
     
    90429045            newvar[:] = newvarv
    90439046            for idim in range(len(objvar.shape)):
    9044                 dimn = dimvals.split('|')[idim].split(':')[0]
     9047                if dimvals.find('|') != -1:
     9048                    dimn = dimvals.split('|')[idim].split(':')[0]
     9049                else:
     9050                    dimn = dimvals.split(':')[0]
    90459051                dimv = '{:d}'.format(len(objnc.dimensions[dimn]))
    90469052                if idim == 0:
Note: See TracChangeset for help on using the changeset viewer.