Changeset 2379 in lmdz_wrf


Ignore:
Timestamp:
Mar 7, 2019, 7:47:44 PM (6 years ago)
Author:
lfita
Message:

Adding Error message when passed a wrong type of slicing value in 'SliceVarDict?'

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tools/nc_var_tools.py

    r2377 r2379  
    1538915389                else:
    1539015390                    slicevals.append(dictv)
     15391            else:
     15392                print errormsg
     15393                print '  ' + fname + ": type of value for slicing ", type(dictv),    \
     15394                  " not ready !!"
     15395                print '    available ones:', type([1]), type(int(1))
     15396                quit(-1)
    1539115397        else:
    1539215398            slicevals.append(slice(0,varshape[idim]))
     
    3092330929
    3092430930    # Space Dimension variables
     30931    spacedims = [axisdims['Y'][0], axisdims['X'][0]]
    3092530932    dnv = axisdims['X']
    30926     add_vars(onc,onewnc,[dnv[1]])
     30933    oxvar = onc.variables[dnv[1]]   
     30934    varslc, vard = SliceVarDict(oxvar,slicedims)
     30935    newvar = onewnc.createVariable(dnv[1], 'f', tuple(vard))
     30936    print 'oxvar dimensions:', oxvar.dimensions
     30937    print 'Lluis shapes: newvar', newvar.shape, 'slice', varslc, 'oxvar:', oxvar.shape, 'X', axisdims['X']
     30938    print 'Lluis slicedims:', slicedims
     30939    newvar[:] = oxvar[tuple(varslc)]
     30940    ncattrs = oxvar.ncattrs()
     30941    for attrn in ncattrs:
     30942        attrv = oxvar.getncattr(attrn)
     30943        newvar.setncattr(attrn,attrv)
     30944
    3092730945    dnv = axisdims['Y']
    30928     add_vars(onc,onewnc,[dnv[1]])
     30946    oyvar = onc.variables[dnv[1]]   
     30947    varslc, vard = SliceVarDict(oyvar,slicedims)
     30948    newvar = onewnc.createVariable(dnv[1], 'f', tuple(vard))
     30949    newvar[:] = oyvar[tuple(varslc)]
     30950    ncattrs = oyvar.ncattrs()
     30951    for attrn in ncattrs:
     30952        attrv = oyvar.getncattr(attrn)
     30953        newvar.setncattr(attrn,attrv)
    3092930954
    3093030955    # Variable
    30931     icvar = np.arange(np.prod(compressvar.shape))
     30956    icvar = np.arange(np.prod(compressvar.shape)).reshape(compressvar.shape)
    3093230957    icc = icvar[~compressmask.mask]
    3093330958
    30934     newvar = onenc.createVariable(compressvar, 'i', ('compressvar'))
    30935     cfvarvals = gen.variablesvalues(compressvar)
     30959    newvar = onewnc.createVariable(compressvarn, 'i', (compressvarn))
     30960    cfvarvals = gen.variables_values(compressvarn)
    3093630961    basicvardef(newvar, cfvarvals[1], cfvarvals[4], cfvarvals[5])
    3093730962    newvar.setncattr('compress', compressS)
    3093830963    newvar[:] = icc
     30964
     30965    onc.close()
     30966 
     30967    onewnc.sync()
     30968    onewnc.close()
    3093930969   
     30970    print fname + ": successfully written file '" + fname + ".nc' !!"
    3094030971    return
    3094130972
    3094230973
    30943 values = 'XLAND:Time|0:single,1:X|west_east|XLONG_M,Y|south_north|XLAT_M'
     30974values = 'XLAND:Time|0:single,1:X|west_east|XLONG,Y|south_north|XLAT'
    3094430975
    3094530976compress_data(values, '/home/lluis/PY/wrfout_d01_1995-01-01_00:00:00', 'T2')
Note: See TracChangeset for help on using the changeset viewer.