source: lmdz_wrf/branches/LMDZ_WRFmeas/WRFV3/plot_lidar.py @ 2827

Last change on this file since 2827 was 415, checked in by lfita, 10 years ago

Getting only the necessary files

File size: 3.8 KB
Line 
1# Python script to plot lidar values from 'lidar.nc' from 'LIDAR_ASCII_netCDF.py'
2# L. Fita, LMD. Jussieu, November 2013
3## g.e. # plot_lidar.py -f lidar.nc -c 'BuPu' -v 'qv,0.0,0.001' -k pdf -r True
4## g.e. # plot_lidar.py -f lidar.nc -c 'seismic' -v 'w,-0.5,0.5' -k pdf -r True
5
6#
7## export PATH=/u/lflmd/bin/gcc_Python-2.7.5/bin:${PATH}
8
9import numpy as np
10from netCDF4 import Dataset as NetCDFFile
11import os
12import re
13import nc_var_tools as ncvar
14from optparse import OptionParser
15import drawing_tools as drawpy
16
17main = 'plot_lidar'
18errormsg = 'ERROR -- error -- ERROR -- error'
19
20####### ###### ##### #### ### ## #
21
22
23parser = OptionParser()
24parser.add_option("-c", "--Color_Bar", dest="colorbar",
25                  help="""color bar to use in the plot:
26                   Sequential: 'binary', 'Blues', 'BuGn', 'BuPu',
27                             'gist_yarg', 'GnBu', 'Greens', 'Greys',
28                             'Oranges', 'OrRd', 'PuBu', 'PuBuGn',
29                             'PuRd', 'Purples', 'RdPu', 'Reds', 'YlGn',
30                             'YlGnBu', 'YlOrBr', 'YlOrRd'
31                   Sequential 2: 'afmhot', 'autumn', 'bone', 'cool',
32                             'copper', 'gist_gray', 'gist_heat', 'gray',
33                             'hot', 'pink', 'spring', 'summer', 'winter'
34                   Diverging: 'BrBG', 'bwr', 'coolwarm', 'PiYG', 'PRGn',
35                             'PuOr', 'RdBu', 'RdGy', 'RdYlBu', 'RdYlGn',
36                             'seismic'
37                   Qualitative: 'Accent', 'Dark2', 'hsv', 'Paired',
38                              'Pastel1', 'Pastel2', 'Set1', 'Set2',
39                              'Set3', 'spectral'
40                   Miscellaneous: 'gist_earth', 'gist_ncar',
41                             'gist_rainbow', 'gist_stern', 'jet', 'brg',
42                             'CMRmap', 'cubehelix', 'gnuplot', 'gnuplot2',
43                             'ocean', 'rainbow', 'terrain', 'flag',
44                             'prism'
45                   http://matplotlib.org/1.3.1/examples/color/colormaps_reference.html""", metavar="LABEL")
46parser.add_option("-f", "--file", dest="ifile",
47                  help="netCDF file to use", metavar="FILE")
48parser.add_option("-k", "--figure_kind", dest="kfig",
49                  help="kind of figure ('null', only show, 'png', 'pdf')", metavar="LABEL")
50parser.add_option("-r", "--reverseAxes", dest="reversea",
51                  help="indicate if axes have to be reversed (default False. True, x-->y, y-->x)", metavar="FILE")
52parser.add_option("-v", "--variable", dest="var",
53                  help="varn,minv,maxv (name of the variable, minimum and maximum values ['all', full range]", metavar="LABEL")
54
55(opts, args) = parser.parse_args()
56
57#######    #######
58## MAIN
59    #######
60
61if not os.path.isfile(opts.ifile):
62    print errormsg
63    print '  ' + main + ' file: "' + opts.ifile + '" does not exist !!'
64    print errormsg
65    quit(-1)
66
67objifile = NetCDFFile(opts.ifile, 'r')
68varobj = objifile.variables[opts.var.split(',')[0]]
69varvalues = varobj[:]
70
71oheights = objifile.variables['z']
72otimes = objifile.variables['time']
73heights = oheights[:]
74times = otimes[:]
75
76drawpy.check_colorBar(opts.colorbar)
77
78varname = opts.var.split(',')[0]
79varmin = opts.var.split(',')[1]
80if varmin == 'all':
81    varn = np.min(varvalues)
82else:
83    varn = np.float(opts.var.split(',')[1])
84
85varmax = opts.var.split(',')[2]
86if varmax == 'all':
87    varx = np.max(varvalues)
88else:
89    varx = np.float(opts.var.split(',')[2])
90
91if not opts.reversea is None:
92    reversea = opts.reversea
93else:
94    reversea = False
95
96drawpy.plot_2Dfield_easy(varvalues, heights, times,                                  \
97  ['time (h since simulation start)','z'], opts.colorbar, varn, varx,                \
98  drawpy.units_lunits(varobj.getncattr('units')), opts.ifile, varname, opts.kfig,    \
99  reversea)
100
Note: See TracBrowser for help on using the repository browser.