source: trunk/UTIL/PYTHON/planetoplot_v2/pp.py @ 914

Last change on this file since 914 was 913, checked in by aslmd, 12 years ago

UTIL PYTHON planetoplot_v2. sorry. initialization bug.

  • Property svn:executable set to *
File size: 5.3 KB
Line 
1#! /usr/bin/env python
2##############################################
3##  A MINIMAL PP.PY SCRIPT USING PPCLASS.PY ##
4##  Author: A. Spiga 03/2013                ##
5##############################################
6from optparse import OptionParser ### TBR by argparse
7from ppclass import pp, inspect
8import sys
9##############################################
10
11# NB: this is a convenient command-line script
12#     ... but ppclass is more versatile
13#     ... than what is proposed here
14#     ... e.g. differences between files,
15#     ... complex operations,
16#     ... see sample scripts
17
18#####################################
19# get arguments from the command line
20#####################################
21parser = OptionParser()
22parser.add_option('--verbose',action='store_true',dest='verbose',default=False,help='')
23# field --> lower case
24parser.add_option('-f','--file',action='append',dest='file',type="string",default=None,help='')
25parser.add_option('-v','--var',action='append',dest='var',type="string",default=None,help='')
26parser.add_option('-x','--lat',action='append',dest='x',type="string",default=None,help='')
27parser.add_option('-y','--lon',action='append',dest='y',type="string",default=None,help='')
28parser.add_option('-z','--vert',action='append',dest='z',type="string",default=None,help='')
29parser.add_option('-t','--time',action='append',dest='t',type="string",default=None,help='')
30parser.add_option('-c','--contour',action='store',dest='contour',type="string",default=None,help='')
31parser.add_option('-i','--vecx',action='store',dest='vecx',type="string",default=None,help='')
32parser.add_option('-j','--vecy',action='store',dest='vecy',type="string",default=None,help='')
33parser.add_option('-m','--mult',action='store',dest='mult',type="float",default=None,help='')
34parser.add_option('-a','--add',action='store',dest='add',type="float",default=None,help='')
35parser.add_option('-o','--output',action='store',dest='filename',type="string",default="myplot",help='')
36parser.add_option('-d','--directory',action='store',dest='folder',type="string",default="./",help='')
37# plot --> upper case
38# -- generic
39parser.add_option('-T','--title',action='append',dest='title',type="string",default=None,help='')
40parser.add_option('-X','--xlabel',action='append',dest='xlabel',type="string",default=None,help='')
41parser.add_option('-Y','--ylabel',action='append',dest='ylabel',type="string",default=None,help='')
42parser.add_option('-D','--div',action='store',dest='div',type="int",default=20,help='')
43parser.add_option('-H','--trans',action='store',dest='trans',type="float",default=1.0,help='')
44parser.add_option('-Z','--logy',action='store_true',dest='logy',default=False,help='')
45parser.add_option('-O','--save',action='store',dest='out',type="string",default="gui",help='')
46# -- 1D plot
47parser.add_option('-L','--lstyle',action='append',dest='lstyle',type="string",default=None,help='')
48parser.add_option('-S','--superpose',action='store_true',dest='superpose',default=False,help='')
49# -- 2D plot
50parser.add_option('-C','--colorb',action='append',dest='colorb',type="string",default=None,help='')
51parser.add_option('-P','--proj',action='append',dest='proj',type="string",default=None,help='')
52parser.add_option('-B','--back',action='append',dest='back',type="string",default=None,help='')
53parser.add_option('-A','--area',action='append',dest='area',type="string",default=None,help='')
54parser.add_option('-I','--blon',action='append',dest='blon',type="float",default=None,help='')
55parser.add_option('-J','--blat',action='append',dest='blat',type="float",default=None,help='')
56parser.add_option('-N','--vmin',action='append',dest='vmin',type="float",default=None,help='')
57parser.add_option('-M','--vmax',action='append',dest='vmax',type="float",default=None,help='')
58(opt,args) = parser.parse_args()
59
60##########################################
61# a possibility to simply inspect the file
62##########################################
63if opt.file is None:
64    print "Stop here. I need at least a file: -f FILE" ; exit()
65if opt.var is None:
66    for filename in opt.file: inspect(filename)
67    exit()
68
69######################################
70# use ppclass to get field and plot it
71######################################
72# treat the case of additional vectors or contours (contours must be before vectors)
73var = [] ; vargoal = []
74for element in opt.var:
75    var.append(element) ; vargoal.append("main")
76    if opt.contour is not None: var.append(opt.contour) ; vargoal.append("contour")
77    if opt.vecx is not None: var.append(opt.vecx) ; vargoal.append("vector")
78    if opt.vecy is not None: var.append(opt.vecy) ; vargoal.append("vector")
79# set pp object
80user = pp(file=opt.file, var=var, vargoal=vargoal, \
81          x=opt.x, y=opt.y, z=opt.z, t=opt.t,\
82          verbose=opt.verbose)
83# define field
84user.define()
85# retrieve field
86user.retrieve()
87# some possible operations
88if opt.add is not None: user = user + opt.add
89if opt.mult is not None: user = user * opt.mult
90# get some options
91user.superpose = opt.superpose
92user.filename = opt.filename
93user.folder = opt.folder
94user.out = opt.out
95# define plot
96user.defineplot()
97# user-defined plot settings
98user.getopt(opt)
99# make plot
100user.makeplot()
101
102####################################
103# save a .sh file with the command #
104####################################
105command = ""
106for arg in sys.argv: command = command + arg + ' '
107f = open(opt.filename+'.sh', 'w')
108f.write(command)
Note: See TracBrowser for help on using the repository browser.