source: trunk/UTIL/PYTHON/planetoplot_v2/examples/additional/easy_get_field.py @ 1029

Last change on this file since 1029 was 1029, checked in by aslmd, 11 years ago

UTIL PYTHON planetoplot_v2

  • added keywords nxticks nyticks xp yp missing for improved plot settings
  • added function to print contents of pp object
  • added to ppplot a function figureref to easily set a figure of given size
  • bug fix affecting .ppobj objects containing fields with missing values
  • bug fix when size of z coordinate do not match field
  • bug fix for Ls time coordinates (added changetime=correctls)
  • bug fix if not connected to internet
  • tidying up examples
  • Property svn:executable set to *
File size: 2.2 KB
Line 
1#! /usr/bin/env python
2from ppclass import pp
3
4########
5## ppclass allows for getting fields very easily from a netcdf file
6## ... this is contained in the "f" attributes of the pp object
7## ... and the "l" attributes of the pp object contains useful information
8## ... two methods getf() and getfl() are helpful shortcuts
9###########################################
10
11## 1 --> an unique and straightforward request
12##   --> very easy ! see also minimal_field.py
13##############################################
14icetot = pp(file="/home/aymeric/Big_Data/DATAPLOT/diagfired.nc",var="icetot",t=0.5).getf()
15print "icetot", icetot[10,10]
16
17## 2 --> simple multiple request, no labelling
18##############################################
19test = pp(file="/home/aymeric/Big_Data/DATAPLOT/diagfired.nc",t=0.5)
20test.var = ["mtot","icetot"]
21allf = test.getf() # or allf = test.get().f
22##
23mtot = allf[0]
24icetot = allf[1]
25print "mtot", mtot[10,10]
26print "icetot", icetot[10,10]
27
28## 3 --> complex multiple requests and labelling
29################################################
30test = pp(file="/home/aymeric/Big_Data/DATAPLOT/diagfired.nc")
31test.var = ["mtot","icetot"]
32test.t = [0.4,0.5]
33allf,lab = test.getfl()
34##
35icetot04 = allf[lab.index("_v=icetot_t=0.4_")]
36mtot04 = allf[lab.index("_v=mtot_t=0.4_")]
37icetot05 = allf[lab.index("_v=icetot_t=0.5_")]
38mtot05 = allf[lab.index("_v=mtot_t=0.5_")]
39print "mtot04", mtot04[10,10]
40print "icetot04", icetot04[10,10]
41print "mtot05", mtot05[10,10]
42print "icetot05", icetot05[10,10]
43
44## 4 --> an example of complete labelling
45## .... a rather unlikely example ....
46## .... but shows label ordering ....
47#########################################
48test = pp()
49test.file = ["/home/aymeric/Big_Data/DATAPLOT/diagfired.nc","/home/aymeric/Big_Data/DATAPLOT/diagfired.nc"]
50test.var = ["u","v"]
51test.x = [10.,20.]
52test.y = [10.,20.]
53test.z = [10.,20.]
54test.t = [0.4,0.5]
55print "... please wait. this one is a bit stupid..."
56allf,lab = test.getfl()
57## note label ordering: file -- var -- x -- y -- z -- t
58l1 = "_f=#2_v=u_x=10.0_y=10.0_z=20.0_t=0.4_"
59l2 = "_f=#2_v=v_x=10.0_y=10.0_z=20.0_t=0.4_"
60u_example = allf[lab.index(l1)]
61v_example = allf[lab.index(l2)]
62print l1, u_example
63print l2, v_example
Note: See TracBrowser for help on using the repository browser.