Changeset 1781 in lmdz_wrf


Ignore:
Timestamp:
Feb 23, 2018, 2:14:03 PM (7 years ago)
Author:
lfita
Message:

Fixing use of 'WRFtime' in 'netcdf_fold_concatenation_HMT'

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tools/nc_var_tools.py

    r1780 r1781  
    1132211322        print infmsg
    1132311323        print '    ' + fname + ": creation of variable 'time' from WRF 'Times' !!"
    11324         odimvar = ncobjs[0].variables[vardimname]
     11324        odimvar = ncobjs[0].variables['Times']
    1132511325        timewrfv = odimvar[:]
    11326         tvals, tunits = compute_WRFtime(timewrfv, refdate='19491201000000', tunitsval='minutes')
     11326        tvals, urefvals = compute_WRFtime(timewrfv, refdate='19491201000000', tunitsval='minutes')
    1132711327        dimtwrf = len(tvals)
    1132811328        if not gen.searchInlist(newnc.dimensions,'time'):
    1132911329            newnc.createDimension('time',None)
    1133011330        newvar = newnc.createVariable('time', 'f8', 'time')
    11331         basicvardef(newvar, 'time', 'Time', tunits)
     11331        basicvardef(newvar, 'time', 'Time', urefvals)
    1133211332        newvar.setncattr('axis', 'T')
    1133311333        newvar.setncattr('_CoordinateAxisType', 'Time')
     
    1135511355    for ifile in range(Nfiles):
    1135611356        slicevartot = []
    11357         if not ncobjs[ifile].variables.has_key(vardimname):
     11357        if vardimname != 'WRFtime' and not ncobjs[ifile].variables.has_key(vardimname):
    1135811358            print errormsg
    1135911359            print '  ' + fname + ": file '" + confiles[ifile] + "' does not have " + \
    1136011360              " dimension-variable '" + vardimname + "' !!"
    1136111361            quit(-1)
    11362         objvar = ncobjs[ifile].variables[vardimname]
    11363         for dimn in objvar.dimensions:
    11364             ldimfile = len(ncobjs[ifile].dimensions[dimn])
     11362        if vardimname != 'WRFtime':
     11363            objvar = ncobjs[ifile].variables[vardimname]
     11364            for dimn in objvar.dimensions:
     11365                ldimfile = len(ncobjs[ifile].dimensions[dimn])
     11366                if dimn == condim:
     11367                    slicevartot.append(slice(begslicetot,begslicetot+ldimfile))
     11368                    begslicetot = begslicetot + ldimfile
     11369                else:
     11370                    slicevartot.append(slice(0,ldimfile))
     11371                if tunits:
     11372                    uvals = objvar.getncattr('units')
     11373                    #urefvals, objvals = gen.check_timestep(odimvar)
     11374                    #uvals, objvals = gen.check_timestep(objvar)
     11375                    newtimes = gen.coincident_CFtimes(objvar[:], urefvals, uvals)
     11376                    newvar[tuple(slicevartot)] = newtimes[:]
     11377                else:
     11378                    newvar[tuple(slicevartot)] = objvar[:]
     11379                newnc.sync()
     11380        else:
     11381            odimvarf = ncobjs[0].variables['Times']
     11382            timewrfvf = odimvarf[:]
     11383            tvalsf, utimef = compute_WRFtime(timewrfvf, refdate='19491201000000', tunitsval='minutes')
     11384            ldimfile = tvals.shape[0]
     11385            dimn = 'time'
     11386            condimn = 'time'
    1136511387            if dimn == condim:
    1136611388                slicevartot.append(slice(begslicetot,begslicetot+ldimfile))
     
    1136911391                slicevartot.append(slice(0,ldimfile))
    1137011392            if tunits:
    11371                 uvals = objvar.getncattr('units')
     11393                uvals = utimef
    1137211394                #urefvals, objvals = gen.check_timestep(odimvar)
    1137311395                #uvals, objvals = gen.check_timestep(objvar)
    11374                 newtimes = gen.coincident_CFtimes(objvar[:], urefvals, uvals)
     11396                newtimes = gen.coincident_CFtimes(tvalsf, urefvals, uvals)
    1137511397                newvar[tuple(slicevartot)] = newtimes[:]
    11376             else:
    11377                 newvar[tuple(slicevartot)] = objvar[:]
    1137811398            newnc.sync()
    1137911399
Note: See TracChangeset for help on using the changeset viewer.