Changeset 1695 in lmdz_wrf


Ignore:
Timestamp:
Dec 7, 2017, 8:35:22 PM (7 years ago)
Author:
lfita
Message:

Improving and fixing `addvals'

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tools/nc_var_tools.py

    r1677 r1695  
    968968    attrvalue = value of the attribute
    969969    """
     970    fname = 'set_attribute'
    970971
    971972    attvar = ncv.ncattrs()
     
    46084609    addval=values.split(':')[3]
    46094610
    4610     filexist(filename, errormsg, 'add values')
     4611    gen.filexist(filename, errormsg, 'add values')
    46114612    ncfa = NetCDFFile(filename,'r')
    46124613
     
    46444645    else:
    46454646        addvaln = addval
    4646     addvalv=typemod(addvaln, str(varinf.dtype))
     4647    addvalv = gen.typemod(addvaln, str(varinf.dtype))
    46474648
    46484649    newnc = NetCDFFile(newf,'w')
     
    46694670
    46704671        varattrs = var.ncattrs()
    4671         if searchInlist(varattrs, '_FillValue'):
     4672        if gen.searchInlist(varattrs, '_FillValue'):
    46724673            fillval = var.getncattr('_FillValue')
    46734674            newvarobj = newnc.createVariable(vname, vkind, vdims, fill_value=fillval)
     
    46764677        else:
    46774678            newvarobj = newnc.createVariable(vname, vkind, vdims)
    4678          
     4679
    46794680        varobj=ncfa.variables[vname]
    46804681        vals = varobj[:]
    46814682
    46824683        if vname == varN:
    4683              for ival in range(Nvals):
    4684 ##                 print '      ' + fname + ': adding',ival+1,' values'
    4685                  newvar = np.insert(vals, pos, addvalv, axis=dimension)
    4686                  vals=newvar.copy()
    4687              newvarobj[:] = newvar
     4684            for ival in range(Nvals):
     4685                newvar = np.insert(vals, pos, addvalv, axis=dimension)
     4686                vals=newvar.copy()
     4687            newvarobj[:] = newvar
    46884688        else:
    46894689            if vname == dmodname:
     
    47104710            else:
    47114711                vardims=list(var.dimensions)
    4712                 if searchInlist(vardims,varinf.dimns[dimension]):
     4712                if gen.searchInlist(vardims,varinf.dimns[dimension]):
    47134713##                    print '    ' + fname + ' variable ' + vname + ' has also the increased dimension!'
    47144714                    vardim=vardims.index(varinf.dimns[dimension])
     
    47204720                else:
    47214721                    newvarobj[:] = vals
    4722 
    47234722        for vattr in varobj.ncattrs():
    47244723            if not vattr == '_FillValue':
    4725                 vattrval = var.getncattr(vattr)
    4726                 newvarobj = set_attribute(newvarobj, vattr, vattrval)
     4724                vattrval = varobj.getncattr(vattr)
     4725                newattr = set_attribute(newvarobj, vattr, vattrval)
    47274726
    47284727# Global attributes
     
    47304729    for gattr in ncfa.ncattrs():
    47314730        gattrval = ncfa.getncattr(gattr)
    4732         newnc = set_attribute(newnc, gattr, gattrval)
     4731        newattr = set_attribute(newnc, gattr, gattrval)
    47334732
    47344733    newnc.sync()
Note: See TracChangeset for help on using the changeset viewer.