Changeset 2768 in lmdz_wrf for trunk/tools


Ignore:
Timestamp:
Nov 18, 2019, 3:46:52 AM (5 years ago)
Author:
lfita
Message:

General 'generic_tools' using

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tools/nc_var_tools.py

    r2709 r2768  
    14711471
    14721472  attvar = var.ncattrs()
    1473   if searchInlist(attvar, values):
     1473  if gen.searchInlist(attvar, values):
    14741474      attr = var.delncattr(values)
    14751475  else:
     
    14951495
    14961496  attvar = ncf.ncattrs()
    1497   if searchInlist(attvar, values):
     1497  if gen.searchInlist(attvar, values):
    14981498      attr = ncf.delncattr(values)
    14991499  else:
     
    28902890# Checking fill value
    28912891##
    2892   if searchInlist(varattr, '_FillValue'):
     2892  if gen.searchInlist(varattr, '_FillValue'):
    28932893      varfil = var._FillValue
    28942894  else:
     
    29252925  newvar = ncfo.variables['time']
    29262926  newvarattrs = newvar.ncattrs()
    2927   if searchInlist(newvarattrs, 'bounds'):
     2927  if gen.searchInlist(newvarattrs, 'bounds'):
    29282928      if newvar.getncattr('bounds') == 'time_bnds':
    29292929          ncf = NetCDFFile(ncfile,'r')
     
    30803080# Checking fill value
    30813081##
    3082   if searchInlist(varattr, '_FillValue'):
     3082  if gen.searchInlist(varattr, '_FillValue'):
    30833083      varfil = var._FillValue
    30843084  else:
     
    31153115  newvar = ncfo.variables['time']
    31163116  newvarattrs = newvar.ncattrs()
    3117   if searchInlist(newvarattrs, 'bounds'):
     3117  if gen.searchInlist(newvarattrs, 'bounds'):
    31183118      if newvar.getncattr('bounds') == 'time_bnds':
    31193119          ncf = NetCDFFile(ncfile,'r')
     
    51625162    for var in ncft.variables:
    51635163        varobj = ncft.variables[var]
    5164         if searchInlist(varobj.dimensions, tname):
     5164        if gen.searchInlist(varobj.dimensions, tname):
    51655165            print fname + ': time-sorting variable: "' + var + '" '
    51665166            varvals = varobj[:]
     
    57545754#       Looking if variable has lon and/or lat:
    57555755        varlonlat = False
    5756         if searchInlist(vardims, oldlonlatdim[0]): varlonlat = True
    5757         if searchInlist(vardims, oldlonlatdim[1]): varlonlat = True
     5756        if gen.searchInlist(vardims, oldlonlatdim[0]): varlonlat = True
     5757        if gen.searchInlist(vardims, oldlonlatdim[1]): varlonlat = True
    57585758
    57595759        if varn != oldlon and varn != oldlat and varlonlat:
     
    57825782                    newslice0 = newslice[:]
    57835783
    5784                     if searchInlist(vardims,oldlat):
     5784                    if gen.searchInlist(vardims,oldlat):
    57855785                        oldslice0.append(mappairs[0,jnew,inew])
    57865786                        newslice0.append(jnew)
    57875787
    5788                     if searchInlist(vardims,oldlon):
     5788                    if gen.searchInlist(vardims,oldlon):
    57895789                        oldslice0.append(mappairs[1,jnew,inew])
    57905790                        newslice0.append(inew)
     
    58195819            newvarval = ovar[:]
    58205820
    5821         if searchInlist(varattrs, '_FillValue'):
     5821        if gen.searchInlist(varattrs, '_FillValue'):
    58225822            fvalv = ovar.getncattr('_FillValue')
    58235823            newvar = ncfnew.createVariable(varn, vartype, tuple(newvardimn),         \
     
    73957395                    otime = objfile.variables['time']
    73967396                    timevals = otime[:]
    7397                     if searchInlist(otime.ncattrs(),'units'):
     7397                    if gen.searchInlist(otime.ncattrs(),'units'):
    73987398                        tunits = otime.getncattr['units']
    73997399                    else:
     
    74447444                    otime = objfile.variables['time']
    74457445                    timevals = otime[:]
    7446                     if searchInlist(otime.ncattrs(),'units'):
     7446                    if gen.searchInlist(otime.ncattrs(),'units'):
    74477447                        tunits = otime.getncattr['units']
    74487448                    else:
     
    74627462            newvar[it,:,:] = valsvar[inside]
    74637463
    7464         if searchInlist(varobj.ncattrs(),'standard_name'):
     7464        if gen.searchInlist(varobj.ncattrs(),'standard_name'):
    74657465            vsname = varobj.getncattr('standard_name')
    74667466        else:
    74677467            vsname = varn
    7468         if searchInlist(varobj.ncattrs(),'long_name'):
     7468        if gen.searchInlist(varobj.ncattrs(),'long_name'):
    74697469            vlname = varobj.getncattr('long_name')
    74707470        else:
    74717471            vlname = varn
    7472         if searchInlist(varobj.ncattrs(),'units'):
     7472        if gen.searchInlist(varobj.ncattrs(),'units'):
    74737473            vunits = varobj.getncattr('units')
    74747474        else:
     
    82568256        if opern == 'add':
    82578257            newvarv[tuple(tnewvar)] = newvarv[tuple(tnewvar)] + varobj[tuple(tslice)]
    8258             if searchInlist(varobj.ncattrs(), 'units') and newunits != '-':
     8258            if gen.searchInlist(varobj.ncattrs(), 'units') and newunits != '-':
    82598259                newunits = varobj.getncattr('units')
    82608260        elif opern == 'sub':
    82618261            newvarv[tuple(tnewvar)] = newvarv[tuple(tnewvar)] - varobj[tuple(tslice)]
    8262             if searchInlist(varobj.ncattrs(), 'units') and newunits != '-':
     8262            if gen.searchInlist(varobj.ncattrs(), 'units') and newunits != '-':
    82638263                newunits = varobj.getncattr('units')
    82648264        elif opern == 'mul':
     
    84268426        if opern == 'add':
    84278427            newvarv[tuple(tslice)] = newvarv[tuple(prevslice)] + varobj[tuple(tslice)]
    8428             if searchInlist(varobj.ncattrs(), 'units') and newunits != '-':
     8428            if gen.searchInlist(varobj.ncattrs(), 'units') and newunits != '-':
    84298429                newunits = varobj.getncattr('units')
    84308430        elif opern == 'sub':
    84318431            newvarv[tuple(tslice)] = newvarv[tuple(prevslice)] - varobj[tuple(tslice)]
    8432             if searchInlist(varobj.ncattrs(), 'units') and newunits != '-':
     8432            if gen.searchInlist(varobj.ncattrs(), 'units') and newunits != '-':
    84338433                newunits = varobj.getncattr('units')
    84348434        elif opern == 'mul':
     
    90909090            otime = objfile.variables['time']
    90919091            timevals = otime[:]
    9092             if searchInlist(otime.ncattrs(),'units'):
     9092            if gen.searchInlist(otime.ncattrs(),'units'):
    90939093                tunits = otime.getncattr['units']
    90949094            else:
     
    91469146            otime = objfile.variables['time']
    91479147            timevals = otime[:]
    9148             if searchInlist(otime.ncattrs(),'units'):
     9148            if gen.searchInlist(otime.ncattrs(),'units'):
    91499149                tunits = otime.getncattr['units']
    91509150            else:
     
    91649164            newvar[it,:,:,:] = valsvar[inside3D]
    91659165
    9166     if searchInlist(varobj.ncattrs(),'standard_name'):
     9166    if gen.searchInlist(varobj.ncattrs(),'standard_name'):
    91679167        vsname = varobj.getncattr('standard_name')
    91689168    else:
    91699169        vsname = varn
    9170     if searchInlist(varobj.ncattrs(),'long_name'):
     9170    if gen.searchInlist(varobj.ncattrs(),'long_name'):
    91719171        vlname = varobj.getncattr('long_name')
    91729172    else:
    91739173        vlname = varn
    9174     if searchInlist(varobj.ncattrs(),'units'):
     9174    if gen.searchInlist(varobj.ncattrs(),'units'):
    91759175        vunits = varobj.getncattr('units')
    91769176    else:
     
    92309230    arguments = '[trajfile]@[Tbeg],[lonname],[latname],[zname],[timename],' +        \
    92319231      '[timekind],[boxsize],[circler]]'
    9232     check_arguments(fname,values,arguments,',')
     9232    gen.check_arguments(fname,values,arguments,',')
    92339233
    92349234    trajfile = values.split(',')[0].split('@')[0]
     
    92849284            varns = [varn]
    92859285
    9286     lonv, latv = lonlat2D(lonobj[:],latobj[:])
     9286    lonv, latv = gen.lonlat2D(lonobj[:],latobj[:])
    92879287
    92889288    dimx = lonv.shape[1]
     
    92939293# Selecting accordingly a trajectory
    92949294##
    9295     Ttraj = file_nlines(trajfile,'#')
     9295    Ttraj = gen.file_nlines(trajfile,'#')
    92969296    if timekind == 'wrf':
    92979297        dimt = objfile.variables[timn].shape[0]
     
    93429342
    93439343# Slicing brings to reduce 1 time-step.... ???
    9344         if line[0:1] != '#':
     9344        if len(line) > 1 and line[0:1] != '#':
    93459345            gtrajvals[it,0] = Tbeg + iline - 1
    93469346            gtrajvals[it,1] = int(line.split(' ')[1])
     
    93499349       
    93509350            if timekind == 'wrf':
    9351                 gdate = datetimeStr_conversion(timv[gtrajvals[it,0]],'WRFdatetime',  \
    9352                   'matYmdHMS')
    9353                 trajvals[it,0] = realdatetime1_CFcompilant(gdate, '19491201000000',  \
     9351                gdate = gen.datetimeStr_conversion(timv[gtrajvals[it,0]],            \
     9352                  'WRFdatetime', 'matYmdHMS')
     9353                trajvals[it,0]= gen.realdatetime1_CFcompilant(gdate,'19491201000000',\
    93549354                  'hours')
    93559355                tunits = 'hours since 1949-12-01 00:00:00'
     
    94179417
    94189418# circle values
    9419             circdist[it,:,:] = radius_dist(dimy,dimx,gtrajvals[it,2],gtrajvals[it,1])
     9419            circdist[it,:,:] = gen.radius_dist(dimy,dimx,gtrajvals[it,2],gtrajvals[it,1])
    94209420            if gtrajvals[it,2]-Nrad < 0 or gtrajvals[it,2]+Nrad + 1 > dimy + 1 \
    94219421              or gtrajvals[it,1]-Nrad < 0 or gtrajvals[it,1]+Nrad + 1 > dimx + 1:
     
    94959495
    94969496    for vn in varns:
    9497         vnst = variables_values(vn)[0]
    9498         if not searchInlist(objfile.variables, vn):
     9497        vnst = gen.variables_values(vn)[0]
     9498        if not gen.searchInlist(objfile.variables, vn):
    94999499            print errormsg
    95009500            print '  ' + fname + ": variable name '" + vn + "' is not in file " +    \
     
    95299529
    95309530                objofile.createDimension('z', dimz)
    9531                 newvar = objofile.createVariable(zn, 'f4', ('z'),fill_value=fillValue)
    9532                 if searchInlist(varzobj.ncattrs(),'standard_name'):
     9531                newvar = objofile.createVariable(zn, 'f4', ('z'),                    \
     9532                  fill_value=gen.fillValueF)
     9533                if gen.searchInlist(varzobj.ncattrs(),'standard_name'):
    95339534                    vsname = varzobj.getncattr('standard_name')
    95349535                else:
    9535                     vsname = variables_values(zn)[1]
    9536                 if searchInlist(varzobj.ncattrs(),'long_name'):
     9536                    vsname = gen.variables_values(zn)[1]
     9537                if gen.searchInlist(varzobj.ncattrs(),'long_name'):
    95379538                    vlname = varzobj.getncattr('long_name')
    95389539                else:
    9539                     vlname = variables_values(zn)[4].replace('|',' ')
    9540                 if searchInlist(varzobj.ncattrs(),'units'):
     9540                    vlname = gen.variables_values(zn)[4].replace('|',' ')
     9541                if gen.searchInlist(varzobj.ncattrs(),'units'):
    95419542                    vunits = varzobj.getncattr('units')
    95429543                else:
    9543                     vunits = variables_values(zn)[5].replace('|',' ')
     9544                    vunits = gen.variables_values(zn)[5].replace('|',' ')
    95449545   
    95459546                newattr = basicvardef(newvar, vsname, vlname, vunits)
     
    95869587
    95879588                    rvarvalst = np.ones((dimz, Nrad*2+1, Nrad*2+1),dtype=np.float)*  \
    9588                       fillValue
     9589                      gen.fillValueF
    95899590
    95909591                    varvalst[tuple(slice2D)] = varobj[tuple(slicev)]
     
    95929593   
    95939594# box stats values
    9594                     maskedvals = ma.masked_values (varvalst, fillValue)
     9595                    maskedvals = ma.masked_values (varvalst, gen.fillValueF)
    95959596                    maskedvals2 = maskedvals*maskedvals
    95969597                    for iz in range(dimz):
     
    96609661
    96619662                    rvarvalst = np.ones((dimz,Nrad*2+1,Nrad*2+1),dtype=np.float)*    \
    9662                       fillValue
     9663                      gen.fillValueF
    96639664                    rvarvalst[tuple(cslice2D)] = varobj[tuple(cslicev)]
    96649665                    for iz in range(dimz):
     
    96669667                        zslice = [slice(iz,iz)]+cslice2Dhor
    96679668                        rvarvalst[tuple(zslice)] = np.where(circdist[tuple(tslice)] > \
    9668                           np.float(Nrad), fillValue, rvarvalst[tuple(zslice)])
     9669                          np.float(Nrad), gen.fillValueF, rvarvalst[tuple(zslice)])
    96699670
    96709671                    rvarvals[it,:,:,:] = rvarvalst
    96719672
    96729673# circle stats values
    9673                     maskedvals = ma.masked_values (rvarvalst, fillValue)
     9674                    maskedvals = ma.masked_values (rvarvalst, gen.fillValueF)
    96749675                    maskedvals2 = maskedvals*maskedvals
    96759676                    for iz in range(dimz):
     
    97079708                        tslice = [it]+cslicevnoThor
    97089709                        rvarvalst[iz,:,:] = np.where(circdist[tuple(tslice)] >       \
    9709                           np.float(Nrad), fillValue, rvarvalst[iz,:,:])
     9710                          np.float(Nrad), gen.fillValueF, rvarvalst[iz,:,:])
    97109711
    97119712                    rvarvals[it,:,:,:] = rvarvalst
    97129713
    97139714# circle stats values
    9714                     maskedvals = ma.masked_values (rvarvalst, fillValue)
     9715                    maskedvals = ma.masked_values (rvarvalst, gen.fillValueF)
    97159716                    maskedvals2 = maskedvals*maskedvals
    97169717                    for iz in range(dimz):
     
    97289729# variable box values
    97299730            newvar = objofile.createVariable(vnst + 'box', 'f4', ('time','z','y','x'),\
    9730               fill_value=fillValue)
    9731             if searchInlist(varobj.ncattrs(),'standard_name'):
     9731              fill_value=gen.fillValueF)
     9732            if gen.searchInlist(varobj.ncattrs(),'standard_name'):
    97329733                vsname = varobj.getncattr('standard_name')
    97339734            else:
    9734                 vsname = variables_values(vn)[1]
    9735             if searchInlist(varobj.ncattrs(),'long_name'):
     9735                vsname = gen.variables_values(vn)[1]
     9736            if gen.searchInlist(varobj.ncattrs(),'long_name'):
    97369737                vlname = varobj.getncattr('long_name')
    97379738            else:
    9738                 vlname = variables_values(vn)[4].replace('|',' ')
    9739             if searchInlist(varobj.ncattrs(),'units'):
     9739                vlname = gen.variables_values(vn)[4].replace('|',' ')
     9740            if gen.searchInlist(varobj.ncattrs(),'units'):
    97409741                vunits = varobj.getncattr('units')
    97419742            else:
    9742                 vunits = variables_values(vn)[5].replace('|',' ')
     9743                vunits = gen.variables_values(vn)[5].replace('|',' ')
    97439744
    97449745            newattr = basicvardef(newvar, vsname, vlname, vunits)
     
    97489749# center of the trajectory
    97499750            newvar = objofile.createVariable('trj_' + vnst, 'f', ('time','z'),     \
    9750               fill_value=fillValue)
     9751              fill_value=gen.fillValueF)
    97519752            newattr = basicvardef(newvar, 'trj_' + vsname, 'value along the ' +    \
    97529753              'trajectory of '+ vn, vunits)
     
    97579758            for statn in statnames:
    97589759                newvar = objofile.createVariable(statn + '_' + vnst,'f',('time','z'),\
    9759                   fill_value=fillValue)
     9760                  fill_value=gen.fillValueF)
    97609761                newattr = basicvardef(newvar, statn + '_' + vsname, vstlname[ist] +  \
    97619762                  ' the box ('+str(boxs)+'x'+str(boxs)+') of ' + vnst, vunits)
     
    97669767# variable circle values
    97679768            newvar = objofile.createVariable(vnst + 'circle','f4',('time','z','yr',    \
    9768               'xr'), fill_value=fillValue)
    9769             if searchInlist(varobj.ncattrs(),'standard_name'):
     9769              'xr'), fill_value=gen.fillValueF)
     9770            if gen.searchInlist(varobj.ncattrs(),'standard_name'):
    97709771                vsname = varobj.getncattr('standard_name')
    97719772            else:
    9772                 vsname = variables_values(vn)[1]
    9773             if searchInlist(varobj.ncattrs(),'long_name'):
     9773                vsname = gen.variables_values(vn)[1]
     9774            if gen.searchInlist(varobj.ncattrs(),'long_name'):
    97749775                vlname = varobj.getncattr('long_name')
    97759776            else:
    9776                 vlname = variables_values(vn)[4].replace('|',' ')
    9777             if searchInlist(varobj.ncattrs(),'units'):
     9777                vlname = gen.variables_values(vn)[4].replace('|',' ')
     9778            if gen.searchInlist(varobj.ncattrs(),'units'):
    97789779                vunits = varobj.getncattr('units')
    97799780            else:
    9780                 vunits = variables_values(vn)[5].replace('|',' ')
     9781                vunits = gen.variables_values(vn)[5].replace('|',' ')
    97819782
    97829783            newattr = basicvardef(newvar, vsname, vlname, vunits)
     
    97889789            for statn in cstatnames:
    97899790                newvar = objofile.createVariable(statn + '_' + vnst,'f',('time','z'),\
    9790                   fill_value=fillValue)
     9791                  fill_value=gen.fillValueF)
    97919792                newattr = basicvardef(newvar, statn + '_' + vsname, vstlname[ist] +  \
    97929793                  ' the circle of radius ('+ str(circler)+') of ' + vnst, vunits)
     
    98349835                    slice2D.append(slice(0,xrangeslice[it][1]-xrangeslice[it][0]))
    98359836
    9836                     rvarvalst = np.ones((Nrad*2+1, Nrad*2+1),dtype=np.float)*fillValue
     9837                    rvarvalst = np.ones((Nrad*2+1, Nrad*2+1),dtype=np.float)*gen.fillValueF
    98379838                    varvalst[tuple(slice2D)] = varobj[tuple(slicev)]
    98389839                    varvals[it,:,:] = varvalst
    98399840   
    98409841# box stats values
    9841                     maskedvals = ma.masked_values (varvalst, fillValue)
     9842                    maskedvals = ma.masked_values (varvalst, gen.fillValueF)
    98429843                    statvarvals[it,0] = varvalst[box2,box2]
    98439844                    statvarvals[it,1] = maskedvals.min()
     
    99059906                    cslice2D.append(slice(0,maxx - cxrangeslice[it][0]))
    99069907
    9907                     rvarvalst = np.ones((Nrad*2+1,Nrad*2+1),dtype=np.float)*fillValue
     9908                    rvarvalst = np.ones((Nrad*2+1,Nrad*2+1),dtype=np.float)*gen.fillValueF
    99089909                    rvarvalst[tuple(cslice2D)] = varobj[tuple(cslicev)]
    99099910                    rvarvalst[tuple(cslice2D)] = np.where(circdist[tuple(cslicev)] >\
    9910                       np.float(Nrad), fillValue, rvarvalst[tuple(cslice2D)])
     9911                      np.float(Nrad), gen.fillValueF, rvarvalst[tuple(cslice2D)])
    99119912
    99129913                    rvarvals[it,:,:] = rvarvalst
    99139914
    99149915# circle stats values
    9915                     maskedvals = ma.masked_values (rvarvalst, fillValue)
     9916                    maskedvals = ma.masked_values (rvarvalst, gen.fillValueF)
    99169917                    rstatvarvals[it,0] = rvarvalst[Nrad,Nrad]
    99179918                    rstatvarvals[it,1] = maskedvals.min()
     
    99429943                    cdist = circdist[tuple(cslicevC)]
    99439944# circle values
    9944                     rvarvalst = np.where(cdist > np.float(Nrad),fillValue,rvarvalst)
     9945                    rvarvalst = np.where(cdist > np.float(Nrad),gen.fillValueF,rvarvalst)
    99459946                    rvarvals[it,:,:] = rvarvalst
    99469947
    99479948# circle stats values
    9948                     maskedvals = ma.masked_values (rvarvalst, fillValue)
     9949                    maskedvals = ma.masked_values (rvarvalst, gen.fillValueF)
    99499950                    rstatvarvals[it,0] = rvarvalst[Nrad,Nrad]
    99509951                    rstatvarvals[it,1] = maskedvals.min()
     
    99619962# variable box values
    99629963            newvar = objofile.createVariable(vnst + 'box', 'f4', ('time', 'y', 'x'), \
    9963               fill_value=fillValue)
    9964             if searchInlist(varobj.ncattrs(),'standard_name'):
     9964              fill_value=gen.fillValueF)
     9965            if gen.searchInlist(varobj.ncattrs(),'standard_name'):
    99659966                vsname = varobj.getncattr('standard_name')
    99669967            else:
    9967                 vsname = variables_values(vn)[1]
    9968             if searchInlist(varobj.ncattrs(),'long_name'):
     9968                vsname = gen.variables_values(vn)[1]
     9969            if gen.searchInlist(varobj.ncattrs(),'long_name'):
    99699970                vlname = varobj.getncattr('long_name')
    99709971            else:
    9971                 vlname = variables_values(vn)[4].replace('|',' ')
    9972             if searchInlist(varobj.ncattrs(),'units'):
     9972                vlname = gen.variables_values(vn)[4].replace('|',' ')
     9973            if gen.searchInlist(varobj.ncattrs(),'units'):
    99739974                vunits = varobj.getncattr('units')
    99749975            else:
    9975                 vunits = variables_values(vn)[5].replace('|',' ')
     9976                vunits = gen.variables_values(vn)[5].replace('|',' ')
    99769977
    99779978            newattr = basicvardef(newvar, vsname, vlname, vunits)
     
    99819982# center of the trajectory
    99829983            newvar = objofile.createVariable('trj_' + vnst, 'f', ('time'),           \
    9983               fill_value=fillValue)
     9984              fill_value=gen.fillValueF)
    99849985            newattr = basicvardef(newvar, 'trj_' + vsname, 'value along the ' +      \
    99859986              'trajectory of '+ vnst, vunits)
     
    99909991            for statn in statnames:
    99919992                newvar = objofile.createVariable(statn + '_' + vnst, 'f', ('time'),  \
    9992                   fill_value=fillValue)
     9993                  fill_value=gen.fillValueF)
    99939994                newattr = basicvardef(newvar, statn + '_' + vsname, vstlname[ist] +  \
    99949995                  ' the box ('+str(boxs)+'x'+str(boxs)+') of ' + vnst, vunits)
     
    999910000# variable circle values
    1000010001            newvar = objofile.createVariable(vnst + 'circle','f4',('time','yr','xr'),\
    10001               fill_value=fillValue)
    10002             if searchInlist(varobj.ncattrs(),'standard_name'):
     10002              fill_value=gen.fillValueF)
     10003            if gen.searchInlist(varobj.ncattrs(),'standard_name'):
    1000310004                vsname = varobj.getncattr('standard_name')
    1000410005            else:
    10005                 vsname = variables_values(vn)[1]
    10006             if searchInlist(varobj.ncattrs(),'long_name'):
     10006                vsname = gen.variables_values(vn)[1]
     10007            if gen.searchInlist(varobj.ncattrs(),'long_name'):
    1000710008                vlname = varobj.getncattr('long_name')
    1000810009            else:
    10009                 vlname = variables_values(vn)[4].replace('|',' ')
    10010             if searchInlist(varobj.ncattrs(),'units'):
     10010                vlname = gen.variables_values(vn)[4].replace('|',' ')
     10011            if gen.searchInlist(varobj.ncattrs(),'units'):
    1001110012                vunits = varobj.getncattr('units')
    1001210013            else:
    10013                 vunits = variables_values(vn)[5].replace('|',' ')
     10014                vunits = gen.variables_values(vn)[5].replace('|',' ')
    1001410015
    1001510016            newattr = basicvardef(newvar, vsname, vlname, vunits)
     
    1002110022            for statn in cstatnames:
    1002210023                newvar = objofile.createVariable(statn + '_' + vnst, 'f', ('time'),  \
    10023                   fill_value=fillValue)
     10024                  fill_value=gen.fillValueF)
    1002410025                newattr = basicvardef(newvar, statn + '_' + vsname, vstlname[ist] +  \
    1002510026                  ' the circle of radius ('+ str(circler)+') of ' + vnst, vunits)
     
    1005610057
    1005710058            newvar = objofile.createVariable('lon', 'f8', ('time', 'y', 'x'),        \
    10058               fill_value=fillValue)
     10059              fill_value=gen.fillValueF)
    1005910060            newattr = basicvardef(newvar, 'longitude', 'longitude',                  \
    1006010061              'degrees west_east')
     
    1006210063
    1006310064            newvar = objofile.createVariable('lat', 'f8', ('time', 'y', 'x'),        \
    10064               fill_value=fillValue)
     10065              fill_value=gen.fillValueF)
    1006510066            newattr = basicvardef(newvar, 'latitude', 'latitude',                    \
    1006610067              'degrees north_south')
     
    1007110072
    1007210073# global attributes
    10073     objofile.setncattr('author', 'L. Fita')
    10074     objofile.setncattr('institution', 'Laboratire de Meteorologie Dynamique')
    10075     objofile.setncattr('university', 'Pierre Marie Curie - Jussieu')
    10076     objofile.setncattr('center', 'Centre National de Recherches Scientifiques')
    10077     objofile.setncattr('city', 'Paris')
    10078     objofile.setncattr('country', 'France')
    10079     objofile.setncattr('script', 'nc_var_tools.py')
    10080     objofile.setncattr('function', 'compute_tevolboxtraj')
    10081     objofile.setncattr('version', '1.0')
     10074    add_global_PyNCplot(objofile, 'nc_var_tools', fname, '1.1')
    1008210075    objofile.setncattr('data_file',ncfile)
    1008310076
     
    1035810351    varattrs = ovar.ncattrs()
    1035910352
    10360     if searchInlist(varattrs,'std_name'):
     10353    if gen.searchInlist(varattrs,'std_name'):
    1036110354        stdn = ovar.getncattr('std_name')
    1036210355    else:
    10363         vvalues = variables_values(ovar._name)
     10356        vvalues = gen.variables_values(ovar._name)
    1036410357        stdn = vvalues[1]
    1036510358
    10366     if searchInlist(varattrs,'long_name'):
     10359    if gen.searchInlist(varattrs,'long_name'):
    1036710360        lonn = ovar.getncattr('long_name')
    1036810361    else:
    1036910362        lonn = vvalues[4].replace('|',' ')
    1037010363
    10371     if searchInlist(varattrs,'units'):
     10364    if gen.searchInlist(varattrs,'units'):
    1037210365        un = ovar.getncattr('units')
    1037310366    else:
     
    1110811101        nvals = len(listline)
    1110911102        if nvals > 0:
    11110             if searchInlist(add1,listline[0]):
     11103            if gen.searchInlist(add1,listline[0]):
    1111111104                nmlval = int(listline[nvals-1].replace(',','')) + 1
    1111211105                onmlobj.write(' ' + listline[0] + ' = ' + str(nmlval) + ',\n')
    11113             elif searchInlist(add1value,listline[0]):
     11106            elif gen.searchInlist(add1value,listline[0]):
    1111411107                if Ndomref == 1:
    1111511108                    nmlval = 1
     
    1111811111                onmlobj.write(' ' + listline[0] + ' = ' +                            \
    1111911112                  numVector_String(listline[2:nvals+1], ' ') + ' ' +str(nmlval)+',\n')
    11120             elif searchInlist(repeatvalue,listline[0]):
     11113            elif gen.searchInlist(repeatvalue,listline[0]):
    1112111114                nmlval = listline[nvals-1]
    1112211115                onmlobj.write(' ' + listline[0] + ' = ' +                            \
     
    1263012623                    newnc.createDimension(dimn, len(dimobj))
    1263112624
    12632         if searchInlist(varvobj.ncattrs(),'_FillValue'):
     12625        if gen.searchInlist(varvobj.ncattrs(),'_FillValue'):
    1263312626            vfillValue = varvobj._FillValue
    1263412627        else:
     
    1263612629
    1263712630        vtype = varvobj.dtype
    12638         if searchInlist(dimvhorns,vn):
     12631        if gen.searchInlist(dimvhorns,vn):
    1263912632            print '  ' + fname + ': dimension values variable!'
    1264012633            print "    keeping original values as '" + vn + "' and filtered as '" +  \
     
    1265112644            newvar = newnc.createVariable(vn, vtype, vardims, fill_value = fillValue)
    1265212645
    12653         if searchInlist(vardims,dimnh1) or searchInlist(vardims,dimnh2):
     12646        if gen.searchInlist(vardims,dimnh1) or searchInlist(vardims,dimnh2):
    1265412647            varv = varvobj[:]
    1265512648            varfilt = varvobj[:]
    1265612649            dimh1id = -1
    1265712650            dimh2id = -1
    12658             if searchInlist(vardims,dimnh1): dimh1id= vardims.index(dimnh1)
    12659             if searchInlist(vardims,dimnh2): dimh2id= vardims.index(dimnh2)
     12651            if gen.searchInlist(vardims,dimnh1): dimh1id= vardims.index(dimnh1)
     12652            if gen.searchInlist(vardims,dimnh2): dimh2id= vardims.index(dimnh2)
    1266012653
    1266112654            if dimh1id != -1 and dimh2id != -1:
     
    1322113214        varatts = vno.ncattrs()
    1322213215
    13223         if searchInlist(varatts, '_FillValue'):
     13216        if gen.searchInlist(varatts, '_FillValue'):
    1322413217            fillv = vno.getncattr('_FillValue')
    1322513218            newvar = newnc.createVariable(vn, vtype, vdim, fill_value=fillv)
     
    1327613269
    1327713270    dims = onc.dimensions
    13278     if searchInlist(dims, dimname):
     13271    if gen.searchInlist(dims, dimname):
    1327913272        print errormsg
    1328013273        print '  ' + fname + ": file '"  + ncfile + "' already has dimension '" +    \
     
    1335613349        varatts = vno.ncattrs()
    1335713350
    13358         if searchInlist(varatts, '_FillValue'):
     13351        if gen.searchInlist(varatts, '_FillValue'):
    1335913352            fillv = vno.getncattr('_FillValue')
    1336013353            newvar = newnc.createVariable(vn, vtype, vdim, fill_value=fillv)
     
    1345013443        quit(-1)
    1345113444   
    13452     if searchInlist(varatts, '_FillValue'):
     13445    if gen.searchInlist(varatts, '_FillValue'):
    1345313446        fillv = varo.getncattr('_FillValue')
    1345413447        newvar = newnc.createVariable(varn, newtype, vardims, fill_value=fillv)
     
    1347213465            varatts = vno.ncattrs()
    1347313466
    13474             if searchInlist(varatts, '_FillValue'):
     13467            if gen.searchInlist(varatts, '_FillValue'):
    1347513468                fillv = vno.getncattr('_FillValue')
    1347613469                newvar = newnc.createVariable(vn, vtype, vdim, fill_value=fillv)
     
    1375513748            else:
    1375613749                for ir in trjSQradii[it].keys():
    13757                     if searchInlist(TOTradii,ir): TOTradii.append(ir)
     13750                    if gen.searchInlist(TOTradii,ir): TOTradii.append(ir)
    1375813751            it = it + 1
    1375913752            iline = iline + 1
     
    1380013793
    1380113794    for vn in varns:
    13802         vnst = variables_values(vn)[0]
     13795        vnst = gen.variables_values(vn)[0]
    1380313796        if not searchInlist(objfile.variables, vn):
    1380413797            print errormsg
     
    1383513828                objofile.createDimension('z', dimz)
    1383613829                newvar = objofile.createVariable(zn, 'f4', ('z'),fill_value=fillValue)
    13837                 if searchInlist(varzobj.ncattrs(),'standard_name'):
     13830                if gen.searchInlist(varzobj.ncattrs(),'standard_name'):
    1383813831                    vsname = varzobj.getncattr('standard_name')
    1383913832                else:
    13840                     vsname = variables_values(zn)[1]
    13841                 if searchInlist(varzobj.ncattrs(),'long_name'):
     13833                    vsname = gen.variables_values(zn)[1]
     13834                if gen.searchInlist(varzobj.ncattrs(),'long_name'):
    1384213835                    vlname = varzobj.getncattr('long_name')
    1384313836                else:
    13844                     vlname = variables_values(zn)[4].replace('|',' ')
    13845                 if searchInlist(varzobj.ncattrs(),'units'):
     13837                    vlname = gen.variables_values(zn)[4].replace('|',' ')
     13838                if gen.searchInlist(varzobj.ncattrs(),'units'):
    1384613839                    vunits = varzobj.getncattr('units')
    1384713840                else:
    13848                     vunits = variables_values(zn)[5].replace('|',' ')
     13841                    vunits = gen.variables_values(zn)[5].replace('|',' ')
    1384913842   
    1385013843                newattr = basicvardef(newvar, vsname, vlname, vunits)
     
    1405514048            newvar = objofile.createVariable(vnst + 'box', 'f4', ('time','z','y','x'),\
    1405614049              fill_value=fillValue)
    14057             if searchInlist(varobj.ncattrs(),'standard_name'):
     14050            if gen.searchInlist(varobj.ncattrs(),'standard_name'):
    1405814051                vsname = varobj.getncattr('standard_name')
    1405914052            else:
    14060                 vsname = variables_values(vn)[1]
    14061             if searchInlist(varobj.ncattrs(),'long_name'):
     14053                vsname = gen.variables_values(vn)[1]
     14054            if gen.searchInlist(varobj.ncattrs(),'long_name'):
    1406214055                vlname = varobj.getncattr('long_name')
    1406314056            else:
    14064                 vlname = variables_values(vn)[4].replace('|',' ')
    14065             if searchInlist(varobj.ncattrs(),'units'):
     14057                vlname = gen.variables_values(vn)[4].replace('|',' ')
     14058            if gen.searchInlist(varobj.ncattrs(),'units'):
    1406614059                vunits = varobj.getncattr('units')
    1406714060            else:
    14068                 vunits = variables_values(vn)[5].replace('|',' ')
     14061                vunits = gen.variables_values(vn)[5].replace('|',' ')
    1406914062
    1407014063            newattr = basicvardef(newvar, vsname, vlname, vunits)
     
    1409314086            newvar = objofile.createVariable(vnst + 'circle','f4',('time','z','yr',    \
    1409414087              'xr'), fill_value=fillValue)
    14095             if searchInlist(varobj.ncattrs(),'standard_name'):
     14088            if gen.searchInlist(varobj.ncattrs(),'standard_name'):
    1409614089                vsname = varobj.getncattr('standard_name')
    1409714090            else:
    14098                 vsname = variables_values(vn)[1]
    14099             if searchInlist(varobj.ncattrs(),'long_name'):
     14091                vsname = gen.variables_values(vn)[1]
     14092            if gen.searchInlist(varobj.ncattrs(),'long_name'):
    1410014093                vlname = varobj.getncattr('long_name')
    1410114094            else:
    14102                 vlname = variables_values(vn)[4].replace('|',' ')
    14103             if searchInlist(varobj.ncattrs(),'units'):
     14095                vlname = gen.variables_values(vn)[4].replace('|',' ')
     14096            if gen.searchInlist(varobj.ncattrs(),'units'):
    1410414097                vunits = varobj.getncattr('units')
    1410514098            else:
    14106                 vunits = variables_values(vn)[5].replace('|',' ')
     14099                vunits = gen.variables_values(vn)[5].replace('|',' ')
    1410714100
    1410814101            newattr = basicvardef(newvar, vsname, vlname, vunits)
     
    1429014283            newvar = objofile.createVariable(vnst + 'box', 'f4', ('time', 'y', 'x'), \
    1429114284              fill_value=fillValue)
    14292             if searchInlist(varobj.ncattrs(),'standard_name'):
     14285            if gen.searchInlist(varobj.ncattrs(),'standard_name'):
    1429314286                vsname = varobj.getncattr('standard_name')
    1429414287            else:
    14295                 vsname = variables_values(vn)[1]
    14296             if searchInlist(varobj.ncattrs(),'long_name'):
     14288                vsname = gen.variables_values(vn)[1]
     14289            if gen.searchInlist(varobj.ncattrs(),'long_name'):
    1429714290                vlname = varobj.getncattr('long_name')
    1429814291            else:
    14299                 vlname = variables_values(vn)[4].replace('|',' ')
    14300             if searchInlist(varobj.ncattrs(),'units'):
     14292                vlname = gen.variables_values(vn)[4].replace('|',' ')
     14293            if gen.searchInlist(varobj.ncattrs(),'units'):
    1430114294                vunits = varobj.getncattr('units')
    1430214295            else:
    14303                 vunits = variables_values(vn)[5].replace('|',' ')
     14296                vunits = gen.variables_values(vn)[5].replace('|',' ')
    1430414297
    1430514298            newattr = basicvardef(newvar, vsname, vlname, vunits)
     
    1432814321            newvar = objofile.createVariable(vnst + 'circle','f4',('time','yr','xr'),\
    1432914322              fill_value=fillValue)
    14330             if searchInlist(varobj.ncattrs(),'standard_name'):
     14323            if gen.searchInlist(varobj.ncattrs(),'standard_name'):
    1433114324                vsname = varobj.getncattr('standard_name')
    1433214325            else:
    14333                 vsname = variables_values(vn)[1]
    14334             if searchInlist(varobj.ncattrs(),'long_name'):
     14326                vsname = gen.variables_values(vn)[1]
     14327            if gen.searchInlist(varobj.ncattrs(),'long_name'):
    1433514328                vlname = varobj.getncattr('long_name')
    1433614329            else:
    14337                 vlname = variables_values(vn)[4].replace('|',' ')
    14338             if searchInlist(varobj.ncattrs(),'units'):
     14330                vlname = gen.variables_values(vn)[4].replace('|',' ')
     14331            if gen.searchInlist(varobj.ncattrs(),'units'):
    1433914332                vunits = varobj.getncattr('units')
    1434014333            else:
    14341                 vunits = variables_values(vn)[5].replace('|',' ')
     14334                vunits = gen.variables_values(vn)[5].replace('|',' ')
    1434214335
    1434314336            newattr = basicvardef(newvar, vsname, vlname, vunits)
     
    1449114484            DT = endT - iniT
    1449214485            # Python version depending
    14493             if searchInlist(dir(DT), 'total_seconds'):
     14486            if gen.searchInlist(dir(DT), 'total_seconds'):
    1449414487                diffT = DT.total_seconds()
    1449514488            else:
     
    1450314496        foundclosest = False
    1450414497        for fn in ncobjs.keys():
    14505             if searchInlist(ncobjs[fn], dtv):
     14498            if gen.searchInlist(ncobjs[fn], dtv):
    1450614499                istep = ncobjs[fn].index(dtv)
    1450714500
     
    1451514508                DT = endT - iniT
    1451614509                # Python version depending
    14517                 if searchInlist(dir(DT), 'total_seconds'):
     14510                if gen.searchInlist(dir(DT), 'total_seconds'):
    1451814511                    diffitv = np.abs(DT.total_seconds())
    1451914512                else:
     
    1467114664# Removing time dimension from the variable dimensions
    1467214665        Vndims = oVn.dimensions
    14673         if searchInlist(Vndims, tdim) and Vn != tvdim:
     14666        if gen.searchInlist(Vndims, tdim) and Vn != tvdim:
    1467414667            varNOtdimns = []
    1467514668            varNOtdimvs = []
Note: See TracChangeset for help on using the changeset viewer.