Changeset 2347 in lmdz_wrf


Ignore:
Timestamp:
Feb 18, 2019, 4:48:28 PM (6 years ago)
Author:
lfita
Message:

Adding on `compute_slices_stats_areaweighted' 2D lon,lat variables

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tools/nc_var_tools.py

    r2344 r2347  
    1130811308 
    1130911309            newvar = onewnc.createVariable(ivdim, refvdimv.dtype, (refvdimv.dimensions))
     11310            print 'Lluis newvar:', newvar
    1131011311            varattrs = refvdimv.ncattrs()
    1131111312            newvar[:] = refvdimvals
    1131211313            for attrn in varattrs:
    1131311314                attrv = refvdimv.getncattr(attrn)
    11314                 newattr = set_attribute(newvar, attrn, attrv)
     11315                if attrn != '_FillValue':
     11316                    newattr = set_attribute(newvar, attrn, attrv)
    1131511317
    1131611318# Variable
     
    2772327725    iid = 0
    2772427726    for idn in dimv:
    27725         if gen.searchInlist(dimns,idn): slicevar.append(dimvs[idn])
     27727        if gen.searchInlist(dimns,idn): slicevar.append(dimvs[iid])
    2772627728        else:
    2772727729            ldim = ovar.shape[iid]
     
    2786527867    print '    slicespacedim:', slicespacedim, 'sdimy, sdimx:', sdimy, sdimx
    2786627868
    27867     olon1D = onc.variables[gen.dictionary_key(dimvars, slicespacedim[1])]
    27868     olat1D = onc.variables[gen.dictionary_key(dimvars, slicespacedim[0])]
     27869    print 'Lluis: dimvars ________'
     27870    gen.printing_dictionary(dimvars)
     27871    print 'slicespacedim:', slicespacedim
     27872    #olon1D = onc.variables[gen.dictionary_key(dimvars, slicespacedim[1])]
     27873    #olat1D = onc.variables[gen.dictionary_key(dimvars, slicespacedim[0])]
     27874    olon1D = onc.variables[dimvars[slicespacedim[1]]]
     27875    olat1D = onc.variables[dimvars[slicespacedim[0]]]
     27876
    2786927877    # Re-shaping them in case of 1D dimensions...
    2787027878    if len(olon1D.shape) == 1 and len(olat1D.shape) == 1:
     
    2791327921        new2Dvars = {slicespacedim[1]: olon2D, slicespacedim[0]: olat2D,             \
    2791427922          slicespacedim[1]+'_bnds': olonbnds2D, slicespacedim[0]+'_bnds': olatbnds2D}
     27923        slicebndsvar[slicespacedim[1]] = [slicespacedim[1]+'_bnds',                  \
     27924          slicespacedim[0]+'_bnds']
     27925        slicebndsvar[slicespacedim[0]] = [slicespacedim[1]+'_bnds',                  \
     27926          slicespacedim[0]+'_bnds']
     27927    else:
     27928        lon2D, lat2D = gen.lonlat2D(olon1D[:], olat1D[:])
     27929        olonbnds1D = onc.variables[slicebndsdim[slicespacedim[1]]]
     27930        olatbnds1D = onc.variables[slicebndsdim[slicespacedim[0]]]
     27931
     27932        new2Dvars = {slicespacedim[1]: olon1D, slicespacedim[0]: olat1D,             \
     27933          slicespacedim[1]+'_bnds': olonbnds1D, slicespacedim[0]+'_bnds': olatbnds1D}
    2791527934        slicebndsvar[slicespacedim[1]] = [slicespacedim[1]+'_bnds',                  \
    2791627935          slicespacedim[0]+'_bnds']
Note: See TracChangeset for help on using the changeset viewer.