source: trunk/MESOSCALE/PLOT/SPEC/LES/include_tprime.pro @ 205

Last change on this file since 205 was 96, checked in by aslmd, 14 years ago

LMD_MM_MARS et LMD_LES_MARS: ajouts mineurs: commentaires et modifications routines de plot

File size: 6.1 KB
Line 
1        ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2        OPENR, 22, 'input_coord' & READF, 22, lonu & READF, 22, latu & READF, 22, lsu & READF, 22, lctu & CLOSE, 22
3        OPENR, 23, 'input_more' & READF, 23, hgtu, tsurfu & CLOSE, 23
4        domain='d01' & filesWRF = FindFile('wrfout_'+domain+'_????-??-??_??:??:??') & nf=n_elements(filesWRF)
5        id=ncdf_open(filesWRF(0))
6                NCDF_DIMINQ, id, NCDF_DIMID(id, 'west_east'    ), toto, nx & NCDF_DIMINQ, id, NCDF_DIMID(id, 'south_north'  ), toto, ny
7                NCDF_DIMINQ, id, NCDF_DIMID(id, 'bottom_top'   ), toto, nz & NCDF_DIMINQ, id, NCDF_DIMID(id, 'Time'         ), toto, nt
8                NCDF_CLOSE, id
9        id=ncdf_open(filesWRF(nf-1))  ;; for interrupted runs
10                NCDF_DIMINQ, id, NCDF_DIMID(id, 'Time'         ), toto, ntlast
11                NCDF_CLOSE, id
12        ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
13        yeye = 0 & nttot = (nf-1)*nt + ntlast & localtime = lctu + history_interval_s*findgen(nttot)/3700.
14        std_tprime = fltarr(nz,nttot)
15        field = fltarr(nz,nttot)
16        anomalt = 1.
17        for loop  = 0, nf-1 do begin
18                                                  timetime = SYSTIME(1)
19          print, loop
20          if (loop ne nf-1) then nloop2=nt else nloop2=ntlast
21        for loop2 = 0, nloop2-1 do begin
22!QUIET=1
23
24 ;;;; TEMPPOT
25 ;tprime = getget(filesWRF(loop), 'T', anomaly=anomalt, count=[0,0,0,1], offset=[0,0,0,loop2])   ;; t' = t - <t>
26 ;;;; TEMP (K)
27 tempk = reform ( ( t0 + getget(filesWRF(loop), 'T', count=[0,0,0,1], offset=[0,0,0,loop2]) ) * ( getget(filesWRF(loop), 'PTOT', count=[0,0,0,1], offset=[0,0,0,loop2]) / p0 )^r_cp )
28 meanmean = reform(TOTAL(TOTAL(tempk,1),1) / float(nx) / float(ny))
29 for i=0,n_elements(tempk(*,0,0,0))-1 do for j=0,n_elements(tempk(0,*,0,0))-1 do tempk(i,j,*) = tempk(i,j,*) - meanmean
30 tprime = TEMPORARY(tempk)^2
31 
32 std_tprime(*, yeye) = sqrt ( reform(TOTAL(TOTAL(TEMPORARY(tprime),1),1) / float(nx) / float(ny)) )
33 ;print, std_tprime(*, yeye)
34 ;print, yeye
35
36!QUIET=0
37        yeye = TEMPORARY(yeye) + 1
38        endfor
39        endfor
40        ;save, std_tprime, localtime, filename='addturb.dat' ;; pour l'instant ecrase systematiquement
41        ;stop
42        ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
43
44
45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
46zefield       =  transpose(std_tprime)
47zex           =  localtime
48zey           =  h
49set_name      =  'std_tprime.ps'
50set_title     =  "Temperature standard deviation (K)" ;"Maximum updraft speed (m.s!U-1!N)"
51set_titlex    =  'Local Time (h)'
52set_titley    =  'Altitude above surface (km)'
53set_subtitle  =  ''
54set_xrange    =  [8.,18.]
55set_yrange    =  [0.,7.]
56set_tickx     =  1.
57set_ticky     =  1.
58minval        =  0.
59maxval        =  2. ;15.;14.;13.
60nlev          =  10 ;(maxval-minval)*10.
61pal           =  22
62rrr           =  'no'
63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
64if (saveps eq 'true') then PS_Start, FILENAME=set_name
65!P.Charsize = 1.2
66;; 0. levels
67lev = minval + (maxval-minval)*findgen(nlev+1)/float(nlev) & if (minval ne 0.) then lev = lev[where(lev ne 0.)]
68;;; 1. background
69loadct, 0 & contour, /NODATA, zefield, zex, zey, xtitle=set_titlex, xrange=set_xrange, xtickinterval=set_tickx, ytitle=set_titley, yrange=set_yrange, ytickinterval=set_ticky, title=set_title, subtitle=set_subtitle, color=0
70  ;; 2. color field
71  loadct, pal & if (rrr eq 'yes') then TVLCT, r, g, b, /Get & if (rrr eq 'yes') then TVLCT, Reverse(r), Reverse(g), Reverse(b)
72              contour, zefield, zex, zey, levels=lev, c_labels=findgen(n_elements(lev))*0.+1., /overplot, /cell_fill
73;; 3. contour field
74loadct, 0 & contour, zefield, zex, zey, levels=lev, c_labels=findgen(n_elements(lev))*0.+1., /noerase, xtitle=set_titlex, xrange=set_xrange, xtickinterval=set_tickx, ytitle=set_titley, yrange=set_yrange, ytickinterval=set_ticky, title=set_title, subtitle=set_subtitle, color=0, C_LINESTYLE = (lev LT 0.0)
75;; 4. choose output
76if (saveps eq 'true') then PS_End, /PNG
77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
78
79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
80zefield       =  transpose(std_tprime)
81zex           =  localtime
82zey           =  h
83set_name      =  'std_tprime_ns.ps'
84set_title     =  "Temperature standard deviation (K)" ;"Maximum updraft speed (m.s!U-1!N)"
85set_titlex    =  'Local Time (h)'
86set_titley    =  'Altitude above surface (km)'
87set_subtitle  =  ''
88set_xrange    =  [8.,18.]
89set_yrange    =  [0.,1.]
90set_tickx     =  1.
91set_ticky     =  1.
92minval        =  0.
93maxval        =  2. ;15.;14.;13.
94nlev          =  10 ;(maxval-minval)*10.
95pal           =  22
96rrr           =  'no'
97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
98if (saveps eq 'true') then PS_Start, FILENAME=set_name
99!P.Charsize = 1.2
100;; 0. levels
101lev = minval + (maxval-minval)*findgen(nlev+1)/float(nlev) & if (minval ne 0.) then lev = lev[where(lev ne 0.)]
102;;; 1. background
103loadct, 0 & contour, /NODATA, zefield, zex, zey, xtitle=set_titlex, xrange=set_xrange, xtickinterval=set_tickx, ytitle=set_titley, yrange=set_yrange, ytickinterval=set_ticky, title=set_title, subtitle=set_subtitle, color=0
104  ;; 2. color field
105  loadct, pal & if (rrr eq 'yes') then TVLCT, r, g, b, /Get & if (rrr eq 'yes') then TVLCT, Reverse(r), Reverse(g), Reverse(b)
106              contour, zefield, zex, zey, levels=lev, c_labels=findgen(n_elements(lev))*0.+1., /overplot, /cell_fill
107;; 3. contour field
108loadct, 0 & contour, zefield, zex, zey, levels=lev, c_labels=findgen(n_elements(lev))*0.+1., /noerase, xtitle=set_titlex, xrange=set_xrange, xtickinterval=set_tickx, ytitle=set_titley, yrange=set_yrange, ytickinterval=set_ticky, title=set_title, subtitle=set_subtitle, color=0, C_LINESTYLE = (lev LT 0.0)
109;; 4. choose output
110if (saveps eq 'true') then PS_End, /PNG
111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
112
113
114
115
116stop
Note: See TracBrowser for help on using the repository browser.