Changeset 2777 in lmdz_wrf for trunk/tools


Ignore:
Timestamp:
Dec 1, 2019, 5:03:10 PM (5 years ago)
Author:
lfita
Message:

Last changes ?!

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tools/drawing_tools.py

    r2774 r2777  
    30803080            print '    provided:', projvals
    30813081            quit(-1)
    3082             m = Basemap(projection=proj, lat_0=projvals[0], lon_0=projvals[1],       \
    3083               llcrnrlon=projvals[2], llcrnrlat=projvals[3], urcrnrlon=projvals[4],   \
    3084               urcrnrlat=projvals[5], resolution=res)
     3082        defmap = Basemap(projection=proj, lat_0=projvals[0], lon_0=projvals[1],      \
     3083          llcrnrlon=projvals[2], llcrnrlat=projvals[3], urcrnrlon=projvals[4],       \
     3084          urcrnrlat=projvals[5], resolution=res)
    30853085
    30863086    elif proj == 'npstere':
     
    1510415104    return
    1510515105
    15106 def shad_simple(vv, vn, vu, xv, yv, vmin, vmax, parameters):
     15106def shad_simple(vv, xv, yv, vmin, vmax, vn='var', vu='-',                            \
     15107  parameters=['Reds',0.85,'vertical','%6g']):
    1510715108    """ Function to plot using pcolormesh
    1510815109      vv: variable values
     
    1512315124        cmapv = parameters[0]
    1512415125
    15125     splot = plt.pcolormesh(xv, yv, vv, cmap=cmapv, vmin=vmin,      \
    15126       vmax=vmax)
     15126    splot = plt.pcolormesh(xv, yv, vv, cmap=cmapv, vmin=vmin, vmax=vmax)
    1512715127    orien = gen.auto_val(parameters[2], 'vertical')
    1512815128    cbtkf = gen.auto_val(parameters[3], '%6g')
     
    1513915139        cbar = plt.colorbar(format=cbtkf, orientation=orien)
    1514015140
    15141     cbar.set_label(gen.latex_text(extrapar[0]) +'('+ gen.units_lunits(extrapar[6]) + \
    15142       ')')
     15141    cbar.set_label(gen.latex_text(vn) +'('+ gen.units_lunits(vu) + ')')
    1514315142
    1514415143    return splot
    1514515144
    15146 def cnt_simple(vv, xv, yv, vmin, vmax, contkind, parameters):
     15145def cnt_simple(vv, xv, yv, vmin, vmax, contkind, vn='var', vu='-',                   \
     15146  parameters=['auto','auto','%g']):
    1514715147    """ Function to plot using contour
    15148       vv: variables
     15148      vv: values variable
    1514915149      xv, yv: x,y coordinates
    1515015150      vmin, vmax: minimum and maximum rang of the plot
     
    1515815158        freqv: frequency of the lines ('auto', pretty(minxv, maxv, 10))
    1515915159        fmtlabs: format of the labels in the contour (None, also possible) ('auto',
    15160           '%d')
     15160          '%g')
    1516115161    """
    1516215162    fname = 'cnt_simple'
     
    1516415164    availcontkind = ['cmap', 'fixc', 'fixsigc']
    1516515165
    15166     clabfmt = gen.auto_val(parameters[2], '%d')
     15166    clabfmt = gen.auto_val(parameters[2], '%g')
    1516715167    if clabfmt == 'None': clabmt = None
    1516815168
    15169     if freqv == 'auto':
     15169    if parameters[1] == 'auto':
    1517015170        vc = pretty(vmin, vmax, 10)
    1517115171    else:
    15172         vc = np.arange(vmin, vmax+freqv, freqv)
    15173 
    15174     contkind = ckind.split(',')[0]
     15172        vc = np.arange(vmin, vmax+parameters[1], parameters[1])
     15173
    1517515174    if contkind == 'cmap':
    1517615175        colorval = gen.auto_val(parameters[0], 'Reds')
    1517715176        cplot = plt.contour(xv, yv, vv, levels=vc, cmap=plt.get_cmap(colorval))
     15177        colorval = 'k'
    1517815178    elif  contkind == 'fixc':
    1517915179        colorval = gen.auto_val(parameters[0], '#FF0000')
     
    1519815198        maxcntS = '{:g}'.format(vc[len(vc)-1])       
    1519915199
     15200    plt.annotate(vn + ': '+ gen.units_lunits(vu), xy=(0.01,0.05),                    \
     15201      xycoords='figure fraction', color=colorval)
     15202
    1520015203    return cplot
    1520115204
    15202 def plot_multivar_multikind(infilen, figv, figtitle, mapv=None, legvals=[0,8,1],     \
     15205def plot_multivar_multikind(infilen, figv, figtitle, kfig='png',                     \
     15206  fign='plot_multivar_multikind', mapv=None, legvals=[0,8,1],                        \
    1520315207  mervals=[8,'#AAAAAA',0,0.5], parvals=[8,'#AAAAAA',0,0.5],                          \
    1520415208  coastlvals=[0.25,'#AAAAAA'], countrylvals=[0.25,'#161616'],                        \
     
    1520815212      mapv= [m,meridians,parallels,x,y]: map environtment (from basemap) [None for
    1520915213        no map]
    15210       figv = {'lvars': ['vari', ...], 'vari': [valsi,drawtype,minv,maxv,dtypev]}:
     15214      figv = {'lvars': ['vari', ...], 'vari': [valsi,vu,drawtype,minv,maxv,dtypev]}:
    1521115215        dictionary with the information of the variables
    1521215216         'lvars': key with a sorted list of the variables to plot
    1521315217          vari: a sort of name to be used in `variables_values'
     15218          vu: units of the variable
    1521415219          valsi: matrix values to plot
    1521515220          drawtype: type of figure to draw with this variable
     
    1525315258    dvar1 = figv[var1]
    1525415259    var1v = dvar1[0]
     15260    if len(var1v.shape) != 2:
     15261        print errormsg
     15262        print '  ' + fname + ": variable '" + lvars[0] + "' has not 2D rank !!"
     15263        print '    var shape', var1v.shape
     15264        quit(-1)
    1525515265    dx = var1v.shape[1]
    1525615266    dy = var1v.shape[0]
     
    1526815278
    1526915279    for varn in lvars:
     15280        CFvals = gen.variables_values(varn)
    1527015281        dvari = figv[varn]
     15282        Nvari = len(dvari)
    1527115283        valsi = dvari[0]
    15272         figt = dvari[1]
    15273         vn = dvari[2]
    15274         vx = dvari[3]
    15275         parfigt = dvari[4]
     15284        vu = dvari[1]
     15285        figt = dvari[2]
     15286        vn = dvari[3]
     15287        vx = dvari[4]
     15288        parfigt = dvari[5:Nvari]
    1527615289
    1527715290        if figt == 'cnt_cmap':
    1527815291            figk = 'cmap'
    15279             ifp = cont_simple(valsi, x, y, vn, vx, figk, parfigt)
     15292            ifp = cnt_simple(valsi, x, y, vn, vx, figk, vn=CFvals[0], vu=vu,         \
     15293              parameters=parfigt)
    1528015294        elif figt == 'cnt_fixc':
    1528115295            figk = 'fixc'
    15282             ifp = cont_simple(valsi, x, y, vn, vx, figk, parfigt)
     15296            ifp = cnt_simple(valsi, x, y, vn, vx, figk, vn=CFvals[0], vu=vu,         \
     15297              parameters=parfigt)
    1528315298        elif figt == 'cnt_fixsigc':
    1528415299            figk = 'fixsigc'
    15285             ifp = cont_simple(valsi, x, y, vn, vx, figk, parfigt)
     15300            ifp = cnt_simple(valsi, x, y, vn, vx, figk, vn=CFvals[0], vu=vu,         \
     15301              parameters=parfigt)
    1528615302        elif figt == 'shad':
    15287             ifp = shad_simple(valsi, x, y, vn, vx, parfigt)
     15303            ifp = shad_simple(valsi, x, y, vn, vx, vn=CFvals[0], vu=vu,              \
     15304              parameters=parfigt)
    1528815305        else:
    1528915306            print errormsg
Note: See TracChangeset for help on using the changeset viewer.