Changeset 2739 in lmdz_wrf


Ignore:
Timestamp:
Oct 31, 2019, 2:06:45 PM (6 years ago)
Author:
lfita
Message:

Adding:

  • masking of values in `draw_2D_shad' if variable has 'missing_value' attribute
  • modify 'graphic_range' to compute extremes as masked values
  • Adding ' z0h' in variabels_values.dat
Location:
trunk/tools
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/tools/drawing.py

    r2699 r2739  
    263263
    264264    valshad, dimsshad = drw.slice_variable(objvars, dimvals.replace(',','|'))
     265    # Masking if exists 'missing_value' attribute
     266    if gen.searchInlist(objvars.ncattrs(), 'missing_value'):
     267        missval = objvars.missing_value
     268        print infmsg
     269        valshad = ma.masked_equal(valshad,missval)
     270        valshad = ma.masked_greater(valshad,0.95*missval)
     271        print '    ' + fname + ": masking by 'missing_value':", missval, " !!"
     272        print '        masked', np.sum(valshad.mask), 'values'
    265273
    266274# Dimensions names
  • trunk/tools/drawing_tools.py

    r2723 r2739  
    28012801    if type(vrng[0]) == type('S') and vrng[0][0:1] == 'S':
    28022802        if vrng[0] == 'Srange':
    2803             rangegrph[0] = np.min(varsV)
    2804             rangegrph[1] = np.max(varsV)
     2803            rangegrph[0] = varsV.min()
     2804            rangegrph[1] = varsV.max()
    28052805        elif vrng[0][0:11] == 'Saroundzero':
    2806             minv = np.min(varsV)
    2807             maxv = np.max(varsV)
     2806            minv = varsV.min()
     2807            maxv = varsV.max()
    28082808            minextrm = np.max([np.abs(minv), np.abs(maxv)])
    28092809            rangegrph[0] = -minextrm
    28102810            rangegrph[1] = minextrm
    28112811        elif vrng[0][0:11] == 'Saroundmean':
    2812             meanv = np.mean(varsV)
     2812            meanv = varsV.mean()
    28132813            permean = np.float(vrng[0].split('@')[1])
    2814             minv = np.min(varsV)*permean
    2815             maxv = np.max(varsV)*permean
     2814            minv = varsV.min()*permean
     2815            maxv = varsV.max()*permean
    28162816            minextrm = np.min([np.abs(meanv-minv), np.abs(maxv-meanv)])
    28172817            rangegrph[0] = meanv-minextrm
     
    28192819        elif vrng[0][0:13] == 'Saroundminmax':
    28202820            permean = np.float(vrng[0].split('@')[1])
    2821             minv = np.min(varsV)*permean
    2822             maxv = np.max(varsV)*permean
     2821            minv = varsV.min()*permean
     2822            maxv = varsV.max()*permean
    28232823            rangegrph[0] = minv
    28242824            rangegrph[1] = maxv
    28252825        elif vrng[0][0:17] == 'Saroundpercentile':
    2826             medianv = np.median(varsV)
     2826            medianv = varsV.median()
    28272827            valper = np.float(vrng[0].split('@')[1])
    28282828            minv = np.percentile(varsV, valper)
     
    28322832            rangegrph[1] = medianv+minextrm
    28332833        elif vrng[0][0:5] == 'Smean':
    2834             meanv = np.mean(varsV)
     2834            meanv = varsV.mean()
    28352835            permean = np.float(vrng[0].split('@')[1])
    2836             minv = np.min(varsV)*permean
    2837             maxv = np.max(varsV)*permean
     2836            minv = varsV.min()*permean
     2837            maxv = varsV.max()*permean
    28382838            minextrm = np.min([np.abs(meanv-minv), np.abs(maxv-meanv)])
    28392839            rangegrph[0] = -minextrm
    28402840            rangegrph[1] = minextrm
    28412841        elif vrng[0][0:7] == 'Smedian':
    2842             medianv = np.median(varsV)
     2842            medianv = varsV.median()
    28432843            permedian = np.float(vrng[0].split('@')[1])
    2844             minv = np.min(varsV)*permedian
    2845             maxv = np.max(varsV)*permedian
     2844            minv = varsV.min()*permedian
     2845            maxv = varsV.max()*permedian
    28462846            minextrm = np.min([np.abs(medianv-minv), np.abs(maxv-medianv)])
    28472847            rangegrph[0] = -minextrm
    28482848            rangegrph[1] = minextrm
    28492849        elif vrng[0][0:11] == 'Spercentile':
    2850             medianv = np.median(varsV)
     2850            medianv = varsV.median()
    28512851            valper = np.float(vrng[0].split('@')[1])
    28522852            minv = np.percentile(varsV, valper)
     
    46324632
    46334633    plt.axis([x.min(), x.max(), y.min(), y.max()])
    4634     if reva[0:4] == 'flip':
     4634    if reva is not None and reva[0:4] == 'flip':
    46354635        axis = reva.split('@')[1]
    46364636        if axis == 'x':
     
    1433214332          'c': center
    1433314333          'vert',Nvert: at coordinates of vertex number Nvert
    14334           'overt',xoffset,yoffset: at coordinates of vertex number Nvert aplying an
     14334          'overt',Nvert,xoffset,yoffset: at coordinates of vertex number Nvert aplying an
    1433514335            offset at each direction
    1433614336      Nint: number of intermediate grid points to use in order to have lon, lat
  • trunk/tools/variables_values.dat

    r2695 r2739  
    883883zg_per, zg_per, geopotential_height_per, 0., 80000., geopotential|height|perturbation, m2s-2, rainbow, $zg^{pert}$, zgpert
    884884PH, zg_per, geopotential_height_per, 0., 80000., geopotential|height|perturbation, m2s-2, rainbow, $zg^{pert}$, zgpert
     885z0h, z0h, roughness_heat, 0., 2., roughness|length|for|heat, -, CMRmap_r, $z_{0}h$, z0h
    885886zeq, zeq, height_level_equilibrium, 0., 2000., height|of|level|equilibirum, m, BuPu, $zeq$, zeq
    886887Equilibrum Level, zeq, height_level_equilibrium, 0., 2000., height|of|level|equilibirum, m, BuPu, $zeq$, zeq
Note: See TracChangeset for help on using the changeset viewer.