source: trunk/mesoscale/PLOT/SPEC/GW/gravitwaveprof.pro @ 129

Last change on this file since 129 was 117, checked in by aslmd, 14 years ago

M 116 mesoscale/LMD_MM_MARS/SRC/WRFV2/phys/module_lmd_driver.F
* CORRECTION MAJEURE DE BUG : PSFC et TRACEURS PAS BIEN MIS A JOUR *

  • pdq au lieu de pdq*dt (dt = pas de temps dynamique)
  • idem pour pdpsrf

IMPACT SURTOUT SUR LES SIMULATIONS LONGUES ET LES SIMULATIONS TACHE DE POUSSIERE (stage Julien)
TEST A EFFECTUER POUR LES SIMULATIONS CYCLE DE L'EAU

M 116 mars/libf/phymars/newsedim.F
M 116 mars/README
Correction de deux bugs dans newsedim.F: 1-e(-x) trop faible et endif mal place

M 116 mesoscale/LMDZ.MARS.new/myGCM/start.nc
A 0 mesoscale/LMDZ.MARS.new/myGCM/DEFS_JB/SP51_HR_dq_r3.0n0.5a0.5_MY26_TM
A 0 mesoscale/LMDZ.MARS.new/myGCM/DEFS_JB/SP51_HR_dq_r3.0n0.5a0.5_MY26_TM/run.def
A 0 mesoscale/LMDZ.MARS.new/myGCM/DEFS_JB/SP51_HR_dq_r3.0n0.5a0.5_MY26_TM/traceur.def
A 0 mesoscale/LMDZ.MARS.new/myGCM/DEFS_JB/SP51_HR_dq_r3.0n0.5a0.5_MY26_TM/startfi72.nc
A 0 mesoscale/LMDZ.MARS.new/myGCM/DEFS_JB/SP51_HR_dq_r3.0n0.5a0.5_MY26_TM/start72.nc
A 0 mesoscale/LMDZ.MARS.new/myGCM/DEFS_JB/SP51_HR_dq_r3.0n0.5a0.5_MY26_TM/callphys.def
M 116 mesoscale/LMDZ.MARS.new/myGCM/traceur.def
M 116 mesoscale/LMDZ.MARS.new/myGCM/startfi.nc
M 116 mesoscale/LMDZ.MARS.new/myGCM/callphys.def
M 116 mesoscale/LMD_MM_MARS/SIMU/in_lmdz_mars_newphys/compile
M 116 mesoscale/LMD_MM_MARS/SIMU/in_lmdz_mars_newphys/myGCM/launch_gcm
M 116 mesoscale/LMD_MM_MARS/SIMU/in_lmdz_mars_newphys/myGCM/run_mcd_3days
Nouvelle base de donnees d'etats initiaux sans les nuages radiativement actifs

A 0 mesoscale/PLOT/SPEC/LES/turb_period_psfc.pro
A 0 mesoscale/PLOT/SPEC/LES/turb_inc.pro.new
M 116 mesoscale/PLOT/SPEC/GW/gravitwave2.pro
M 116 mesoscale/PLOT/SPEC/GW/gravitwaveprof.pro
Petites MAJ routines graphiques

  • Property svn:executable set to *
File size: 9.3 KB
Line 
1pro gravitwaveprof
2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
3
4;
5; faire avant api avec kappa 3.9
6;
7
8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
9        path='../TESTGW/'
10        path='/tmp7/aslmd/'
11path='/home/aslmd/GRAVITWAVE/'
12        experiment='mcd_lt16_rcpcst'
13        ;experiment='mcd_lt16'
14        ;experiment='short_mcd_lt16_rcpcst'
15        ;experiment='short_mcd_lt16'
16        ;experiment='short_mcd_lt16_calcprho'
17        ;experiment='mcd_lt16_calcprho'
18        ;experiment='short_mcd_lt16_calcprho_tot'
19        ;experiment='colder_gcm_add_short'
20        ;experiment='colder_gcm_add'
21        experiment=''
22        ;experiment='wind15'
23        ;experiment='wind20c'
24        ;experiment='colder_gcm_add_3.9_fine_rad_mountain'
25        experiment='test'
26experiment='GW_MARS_highwind_3D.157077'
27experiment='GW_MARS_highwind_3D_lower_opacity.161436'
28experiment='GW_MARS_highwind_3D_loweropacity_lotspoints.161468'
29experiment='GW_MARS_highwind_3D_loweropacity_morepoints.161542'
30experiment='GW_MARS_highwind_3D_loweropacity_morepoints_LT15.161544'
31experiment='GW_MARS_highwind_3D_loweropacity_morepoints_LTcst.168440'
32experiment='GW_MARS_highwind_3D_loweropacity_morepoints_widehill.168468'
33        file=path+experiment+'_wrfout_d01_9999-09-09_09:00:00_z'
34file=path+experiment+'/wrfout_d01_9999-09-09_09:00:00_z'
35;file=path+experiment+'/wrfout_d01_9999-09-09_10:00:00_z'
36;file=path+experiment+'/wrfout_d01_9999-09-09_11:00:00_z'
37charvar='W' & charvarc='W'
38charvar='tk' & charvarc='W'
39charvar='tk' & charvarc='W' & cond=1
40charvar='tpot' & charvarc='tpot'
41;charvar='PTOT' & charvarc='PTOT'
42charvar='tk' & charvarc='tk'
43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
44nts=1  & nte=15   & nxs=0   & nxe=59
45nts=3  & nte=nts  & nxs=999 & nxe=999 ;; moyenne ;; attention a la montagne !!!
46nts=4  & nte=nts  & nxs=31  & nxe=nxs ;; AU CENTRE ! sinon choisir le point en traçant de 0a 59
47nts=1  & nte=nts  & nxs=0   & nxe=59
48nts=4  & nte=nts  & nxs=0   & nxe=59
49nts=1  & nte=15   & nxs=31  & nxe=31
50nts=1  & nte=15   & nxs=45  & nxe=45
51nts=9  & nte=9    & nxs=0   & nxe=59
52nts=1  & nte=13   & nxs=59  & nxe=59
53nts=8  & nte=8    & nxs=0   & nxe=121
54nts=1  & nte=9    & nxs=59  & nxe=59
55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
56nts=1  & nte=10  & nxs=50   & nxe=50
57;nts=1  & nte=1  & nxs=6   & nxe=6
58nts=1  & nte=100  & nxs=50   & nxe=50
59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
60;
61;
62;
63what_I_plot=0. & overcontour=0.
64;SPAWN, '\rm param_plot.idl ; cp gravitwave_inc2.pro param_plot.idl'
65;
66;
67;
68getcdf, $
69        file=file, $
70        charvar=charvar, $
71        invar=invar
72;getcdf, $
73;        file=file, $
74;        charvar=charvarc, $
75;        invar=invarc
76getcdf, $
77        file=file, $
78        charvar='vert', $
79        invar=vert
80getcdf, $
81        file=file, $
82        charvar='PTOT', $
83        invar=columnp
84;;
85;;
86;;
87        s = size(invar) & middle = floor(s[2]/2) & print, 'PLOT at y subs ', middle
88        nte = min(s[4]-1,nte) & print, 'nte ', nte
89        mean_invar = TOTAL(invar(*,*,*,nts:nte),4) / float(nte-nts+1)
90        ;mean_columnp = TOTAL(columnp(*,*,*,nts:nte),4) / float(nte-nts+1)
91        anomal_invar = invar & for i=0,s[4]-1 do anomal_invar(*,*,*,i) = anomal_invar(*,*,*,i) - mean_invar
92;;
93;;
94;;
95;       goto, perturb
96for nt=nts,nte do begin
97for nx=nxs,nxe do begin
98;
99zefile=experiment+'_'+charvar+'_'+string(nt+100,'(I0)')+'_'+string(nx+100,'(I0)')
100;
101;
102;
103  PS_Start, filename=zefile+'.ps'
104  print, zefile+'.ps'
105  !P.Charsize = 1.2
106  !p.charthick = 2.0
107  !p.thick = 2.0
108  !x.thick = 2.0
109  !y.thick = 2.0
110;
111;
112;
113;;what_I_plot = reform(invar(*,1,*,nt))
114;what_I_plot = reform(invar(*,59,*,nt))
115what_I_plot = reform(invar(*,middle,*,nt))
116
117   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
118   file=path+experiment+'/input_sounding' & header='' & nlines_header=1 & ncol = 5
119   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
120   nlines = FILE_LINES(file)-nlines_header & data=FLTARR(ncol,nlines)
121   OPENR, lun, file, /GET_LUN & READF, lun, header & READF, lun, data & CLOSE, lun & FREE_LUN, lun
122   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
123   mcd_column      = reform(data(0,*))
124   calc_tpot       = reform(data(1,*))
125
126   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
127   file=path+experiment+'/input_therm' & ncol = 5
128   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
129   nlines = FILE_LINES(file) & data=FLTARR(ncol,nlines)
130   OPENR, lun, file, /GET_LUN & READF, lun, data & CLOSE, lun & FREE_LUN, lun
131   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
132   pressure        = reform(data(2,*))
133   mcd_tpot        = reform(data(4,*))   
134
135   if (nx lt 999) then begin
136     what_I_plot = reform(what_I_plot(nx,*))
137   endif else begin
138     what_I_plot = TOTAL(what_I_plot,1) / n_elements(reform(what_I_plot(*,0)))
139   endelse
140
141     ;;;;;;;;;;;
142     ;;;;;;;;;;;
143     ;;;;;;;;;;;
144     column = vert/1000.
145     overplot_column = mcd_column/1000.
146     alt = [20.,150.]
147     alt = [40.,100.]
148     alt = [40.,80.]
149     alt = [0.,120.]
150     ;;;;;;;;;;;
151     ;;;;;;;;;;;
152     ;mention = ''
153     SPAWN, '\rm param_plot.idl'
154     minfield_init = 85.  ;100.
155     maxfield_init = 185. ;250.
156     title_axis = ['Temperature (K)','Altitude (km)']
157     overplot = mcd_tpot
158     ;;;;;;;;;;;
159     SPAWN, "echo 'intervaly=10.' >> param_plot.idl"
160     SPAWN, "echo 'intervalx=5.' >> param_plot.idl"
161     ;;;;;;;;;;;
162
163        ;overplot = reform(mean_invar(nx,middle,*))
164        ;overplot_column = column
165
166;;;;;;;;;;;;;;;;;;;;;;;;;;;; PLOT PRESSION mettre profile en log
167;column = reform(columnp(nx,middle,*,nt))
168;overplot_column = pressure
169;       ;;overplot = mean_invar
170;       ;;overplot_column = mean_columnp
171;alt = [1.e2,1.e-3]
172;title_axis = ['Temperature (K)','Pressure (Pa)']
173;;;;;;;;;;;;;;;;;;;;;;;;;;;;; PLOT PRESSION
174
175;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
176;; calculer la CAPE ? Tsat - Tenv / Tenv
177
178
179                        ;what_I_plot = pressure
180                        ;       what_I_plot = calc_tpot
181                        ;overplot = alog(overplot) / alog(10.)
182                        ;overplot = overplot[where(overplot lt 35.)] ;; evite les valeurs impossibles
183                        ;what_I_plot = alog(what_I_plot) / alog(10.)
184                        ;minfield_init = -5.
185                        ;maxfield_init = 3.
186                        ;       ;;tpot
187                        ;       minfield_init = 2.
188                        ;       maxfield_init = 4.
189                        ;what_I_plot = 100. * abs(calc_tpot - overplot) / overplot
190                        ;minfield_init = 0.000001
191                        ;maxfield_init = 100.
192
193   profile, $
194        what_I_plot, $                          ; 1D vertical profile
195        column, $                               ; altitudes     
196        alt=alt, $                              ; altitude range [altmin, altmax]
197        minfield=minfield_init, $               ; minimum value of plotted field (=0: calculate)
198        maxfield=maxfield_init, $               ; maximum value of plotted field (=0: calculate)
199        inprofile=overplot, $                   ; another vertical profile to overplot
200        incolumn=overplot_column, $             ; altitudes of the other vertical profile (in case /= column)
201;        discrete=discrete, $                    ; show the profile points (= type of points in !psym)
202;        title_plot=title_user, $                ; title of the plot ('Profile' is default)
203        title_axis=title_axis, $                ; title of the [x,y] axis (['Field','Altitude'] is default)
204        mention=mention                         ; add text precision within the plot window (default is nothing or '')
205
206        ;;; sponge layer
207        ;w=where(FINITE(overplot) ne 0)
208        ;oplot, [minfield_init,maxfield_init], [max(overplot_column[w])-50.,max(overplot_column[w])-50.], linestyle=1
209
210        ;column = columnp
211        ;@tempcond.inc
212        ;yeye = reform(overplot(nx,1,*,nt))
213        ;;w = where(yeye le 0.) & yeye[w] = !VALUES.F_NAN
214        ;;oplot, yeye, vert/1000., linestyle=1
215
216@tempcond.inc
217overplot = reform(overplot(nx,middle,*,nt))
218oplot, overplot, overplot_column, linestyle=1
219
220        ;calc_tk = calc_tpot * (pressure/610.)^(1/4.4)
221        ;oplot, calc_tk, column, linestyle=3
222
223PS_End, /PNG
224endfor
225endfor
226
227perturb:
228PS_Start, filename=experiment+'_'+charvar+'_perturb_'+string(nxs+100,'(I0)')+'.ps'
229
230     what_I_plot_loop = reform(anomal_invar(nxs,middle,*,*))
231
232     what_I_plot = reform(what_I_plot_loop(*,nts))
233     column = vert/1000.
234     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
235     alt = [0.,120.]
236     minfield_init = -30.
237     maxfield_init = 30.
238     title_axis = ['Temperature anomaly (K)','Altitude (km)']
239                ;; peut pas changer     
240                ;SPAWN, "echo 'intervaly=10.' >> param_plot.idl"
241                ;SPAWN, "echo 'intervalx=5.' >> param_plot.idl"
242     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
243     profile, $
244        what_I_plot, $                          ; 1D vertical profile
245        column, $                               ; altitudes     
246        alt=alt, $                              ; altitude range [altmin, altmax]
247        minfield=minfield_init, $               ; minimum value of plotted field (=0: calculate)
248        maxfield=maxfield_init, $               ; maximum value of plotted field (=0: calculate)
249        inprofile=overplot, $                   ; another vertical profile to overplot
250        incolumn=overplot_column, $             ; altitudes of the other vertical profile (in case /= column)
251;        discrete=discrete, $                    ; show the profile points (= type of points in !psym)
252;        title_plot=title_user, $                ; title of the plot ('Profile' is default)
253        title_axis=title_axis, $                ; title of the [x,y] axis (['Field','Altitude'] is default)
254        mention=mention                         ; add text precision within the plot window (default is nothing or '')
255
256     for iii=nts+1, nte do begin
257        overplot = reform(what_I_plot_loop(*,iii))
258        overplot_column = column
259        oplot, overplot, overplot_column
260     endfor
261
262        ;temppp = reform(mean_invar(nxs,middle,*))
263        ;hache = 191.*temppp/3.72/1000.
264        ;ok = column / ( 2. * hache )
265        ;print, exp(ok)
266        ;yeah = exp(ok)
267        ;oplot, yeah, column
268
269PS_End, /PNG
270
271end
Note: See TracBrowser for help on using the repository browser.