1 | ;####################################################################### |
---|
2 | ;# Program language: IDL (Interactive Data Language), file-ending .pro # |
---|
3 | ;# # |
---|
4 | ;# This program creates png- or ps-images from netCDF-files generated # |
---|
5 | ;# by PALM. The images show profiles of an available variable. # |
---|
6 | ;# # |
---|
7 | ;# Remarks: # |
---|
8 | ;# * Program reads netCDF files ending with *_pr.nc (PALM profiles) # |
---|
9 | ;# * The input-parameters, that the program requires, have to be # |
---|
10 | ;# entered in the following section "ENTER PARAMETERS". # |
---|
11 | ;# * The program creates a .png or .ps image in the current directory# |
---|
12 | ;# # |
---|
13 | ;# coder: F. Herbort # |
---|
14 | ;####################################################################### |
---|
15 | ; # |
---|
16 | ; ENTER PARAMETERS: # |
---|
17 | ; ================= # |
---|
18 | ; # |
---|
19 | ; Host-Identifier: # |
---|
20 | hostid = 'lcsgih' ; # |
---|
21 | ; # |
---|
22 | ; Name of run: # |
---|
23 | name_of_run = 'example_cbl' ; sub-folder of # |
---|
24 | ; ~/palm/current_version/JOBS # |
---|
25 | ; Number for restart-files: # |
---|
26 | resnum = ' ' ; (blank if no restart-file is considered) # |
---|
27 | ; # |
---|
28 | ; Path to netCDF-file: # |
---|
29 | netcdf_path = '/home/herbort/palm/current_version/JOBS/'+name_of_run+'/OUTPUT/' ;# |
---|
30 | ; # |
---|
31 | ; Point of time [s]: # |
---|
32 | t_point = 3604 ; # |
---|
33 | ; # |
---|
34 | ; Chosing desired variables (0 = no, 1 = yes): # |
---|
35 | u_yn = 0 ; u-wind component # |
---|
36 | v_yn = 0 ; v-wind component # |
---|
37 | w_yn = 0 ; w-wind component # |
---|
38 | pt_yn = 1 ; potential temperature # |
---|
39 | wpt_yn = 1 ; turbulent heat flux # |
---|
40 | wpptp_yn = 0 ; sub-grid fraction of turb. heat flux (added in plot wpt)# |
---|
41 | wu_yn = 0 ; turbulent flux of momentum # |
---|
42 | e_yn = 0 ; turbulent kinetic energy # |
---|
43 | us2_yn = 0 ; variance of resolved u-wind component # |
---|
44 | vs2_yn = 0 ; variance of resolved v-wind component # |
---|
45 | ws2_yn = 0 ; variance of resolved w-wind component # |
---|
46 | pts2_yn = 0 ; variance of resolved potential temperature component # |
---|
47 | ; # |
---|
48 | ; normalized z-axis? (0 = no, 1 = yes): # |
---|
49 | norm_yn = 0 ; # |
---|
50 | ; # |
---|
51 | ; kind of image (.png or .ps): # |
---|
52 | png_yn = 1 ; # |
---|
53 | ps_yn = 0 ; # |
---|
54 | ;####################################################################### |
---|
55 | |
---|
56 | PRINT, ' ' |
---|
57 | PRINT, '===========================================================' |
---|
58 | PRINT, 'Program creates images from netCDF-files generated by PALM.' |
---|
59 | PRINT, 'The images show profiles of different variables. ' |
---|
60 | PRINT, ' [F. Herbort]' |
---|
61 | PRINT, '===========================================================' |
---|
62 | PRINT, ' ' |
---|
63 | |
---|
64 | ;======================================================================= |
---|
65 | ; Constants and parameters: |
---|
66 | ; ------------------------- |
---|
67 | |
---|
68 | kind_data = 'pr' |
---|
69 | |
---|
70 | ;======================================================================= |
---|
71 | ; Checking existence of file: |
---|
72 | ; --------------------------- |
---|
73 | |
---|
74 | IF resnum EQ ' ' THEN datafile = hostid+'_'+name_of_run+'_'+kind_data+'.nc' |
---|
75 | IF resnum NE ' ' THEN datafile = hostid+'_'+name_of_run+'_'+kind_data+'.'+resnum+'.nc' |
---|
76 | input = netcdf_path+datafile |
---|
77 | |
---|
78 | fileyn = FILE_TEST(input) |
---|
79 | |
---|
80 | ; Checking, wether filename is without hostid at the beginning of filename: |
---|
81 | IF fileyn EQ 0L THEN BEGIN |
---|
82 | IF resnum EQ ' ' THEN datafile = name_of_run+'_'+kind_data+'.nc' |
---|
83 | IF resnum NE ' ' THEN datafile = name_of_run+'_'+kind_data+'.'+resnum+'.nc' |
---|
84 | input = netcdf_path+datafile |
---|
85 | fileyn = FILE_TEST(input) |
---|
86 | ENDIF |
---|
87 | |
---|
88 | IF fileyn EQ 0L THEN BEGIN |
---|
89 | PRINT, 'netCDF-file does not exist!' |
---|
90 | PRINT, 'Program aborted' |
---|
91 | PRINT, ' ' |
---|
92 | GOTO, abort_flag |
---|
93 | ENDIF |
---|
94 | |
---|
95 | ;======================================================================= |
---|
96 | ; Reading the profile data from netCDF-file: |
---|
97 | ; ------------------------------------------ |
---|
98 | |
---|
99 | nid = NCDF_OPEN(input) |
---|
100 | |
---|
101 | NCDF_VARGET, nid, 'time', time |
---|
102 | NCDF_VARGET, nid, 'zpt', zu_vals |
---|
103 | NCDF_VARGET, nid, 'zwpt', zw_vals |
---|
104 | IF u_yn NE 0 THEN NCDF_VARGET, nid, 'u', u_wind |
---|
105 | IF v_yn NE 0 THEN NCDF_VARGET, nid, 'v', v_wind |
---|
106 | IF w_yn NE 0 THEN NCDF_VARGET, nid, 'w', w_wind |
---|
107 | IF pt_yn NE 0 THEN NCDF_VARGET, nid, 'pt', pt |
---|
108 | IF wpt_yn NE 0 OR norm_yn NE 0 OR wpptp_yn NE 0 THEN NCDF_VARGET, nid, 'wpt', wpt |
---|
109 | IF wpptp_yn NE 0 THEN NCDF_VARGET, nid, 'w"pt"', wpptp |
---|
110 | IF wu_yn NE 0 THEN NCDF_VARGET, nid, 'wu', wu |
---|
111 | IF e_yn NE 0 THEN NCDF_VARGET, nid, 'e', tke |
---|
112 | IF us2_yn NE 0 THEN NCDF_VARGET, nid, 'u*2', us2 |
---|
113 | IF vs2_yn NE 0 THEN NCDF_VARGET, nid, 'v*2', vs2 |
---|
114 | IF ws2_yn NE 0 THEN NCDF_VARGET, nid, 'w*2', ws2 |
---|
115 | IF pts2_yn NE 0 THEN NCDF_VARGET, nid, 'pt*2', pts2 |
---|
116 | |
---|
117 | NCDF_CLOSE, nid |
---|
118 | |
---|
119 | PRINT, 'profile data read in' |
---|
120 | PRINT, ' ' |
---|
121 | |
---|
122 | ; Determing vertical dimension: |
---|
123 | res = SIZE(zu_vals, /DIMENSION) |
---|
124 | nz = res(0) |
---|
125 | |
---|
126 | ;======================================================================= |
---|
127 | ; Finding the time point: |
---|
128 | ; ----------------------- |
---|
129 | |
---|
130 | tt = WHERE(ROUND(time) EQ FIX(t_point)) |
---|
131 | |
---|
132 | IF tt(0) EQ -1 THEN tt = WHERE(FIX(t_point) - 1 EQ ROUND(time)) |
---|
133 | IF tt(0) EQ -1 THEN tt = WHERE(FIX(t_point) + 1 EQ ROUND(time)) |
---|
134 | IF tt(0) EQ -1 THEN tt = WHERE(FIX(t_point) - 2 EQ ROUND(time)) |
---|
135 | IF tt(0) EQ -1 THEN tt = WHERE(FIX(t_point) + 2 EQ ROUND(time)) |
---|
136 | |
---|
137 | IF tt(0) EQ -1 THEN BEGIN |
---|
138 | PRINT, 'Desired time point not possible!' |
---|
139 | PRINT, 'Program aborted' |
---|
140 | PRINT, ' ' |
---|
141 | GOTO, abort_flag |
---|
142 | ENDIF |
---|
143 | |
---|
144 | tt = tt(0) |
---|
145 | |
---|
146 | time_sec = STRING(time(tt), FORMAT = '(I5.5)') |
---|
147 | |
---|
148 | ;======================================================================= |
---|
149 | ; Plotting the data: |
---|
150 | ; ------------------ |
---|
151 | |
---|
152 | SET_PLOT, 'Z' |
---|
153 | DEVICE, Z_BUFFERING = 0, SET_RESOLUTION=[1200,900] |
---|
154 | SET_COLORS=256 |
---|
155 | |
---|
156 | LOADCT, 0 |
---|
157 | TVLCT, R,G,B, /GET |
---|
158 | |
---|
159 | !P.CHARSIZE = 2.3 |
---|
160 | !P.CHARTHICK = 2.3 |
---|
161 | !X.THICK = 3.0 |
---|
162 | !Y.THICK = 3.0 |
---|
163 | !X.TICKLEN = 0.025 |
---|
164 | !Y.TICKLEN = 0.01 |
---|
165 | |
---|
166 | black = 0 |
---|
167 | white = 255 |
---|
168 | !P.BACKGROUND = white |
---|
169 | |
---|
170 | plot_window = [0.12,0.10,0.96,0.99] |
---|
171 | |
---|
172 | ; .ps-preferences, if desired: |
---|
173 | IF ps_yn NE 0 THEN BEGIN |
---|
174 | SET_PLOT, 'PS' |
---|
175 | PRINT, 'Postscript-Format (.ps) selected' |
---|
176 | PRINT, '' |
---|
177 | ;Farbeinstellungen, Format etc.: |
---|
178 | ;DEVICE, /COLOR, BITS = 8, ENCAPSULATED = 1, /ISOLATIN1, /PORTRAIT |
---|
179 | ;DEVICE, FILENAME = plotpath+plotfile+'.eps' |
---|
180 | DEVICE, /COLOR, BITS = 8, ENCAPSULATED = 0, /ISOLATIN1, /LANDSCAPE |
---|
181 | ;DEVICE, SCALE_FACTOR = 1.0, XOFFSET = 1.0, YOFFSET = 1.0 |
---|
182 | !P.CHARSIZE = 1.5 |
---|
183 | !P.CHARTHICK = 1.5 |
---|
184 | ;plot_window = [0.095,0.225,0.97,0.99] |
---|
185 | ENDIF |
---|
186 | |
---|
187 | ; Determining z-axis range of the plot: |
---|
188 | IF norm_yn EQ 0 THEN BEGIN |
---|
189 | !Y.TICKFORMAT = '(I4)' |
---|
190 | zi = 1.0 |
---|
191 | |
---|
192 | z_min = 0.0 |
---|
193 | z_max = FLOOR(MAX(zw_vals)/100.0)*100.0 |
---|
194 | z_inter = 500.0 |
---|
195 | z_minor = 5 |
---|
196 | z_title = 'altitude [m]' |
---|
197 | ENDIF |
---|
198 | |
---|
199 | IF norm_yn NE 0 THEN BEGIN |
---|
200 | !Y.TICKFORMAT = '(F3.1)' |
---|
201 | wpt_dum = FLTARR(nz) |
---|
202 | wpt_dum = wpt(*,tt) |
---|
203 | |
---|
204 | i_z = WHERE(wpt_dum EQ MIN(wpt_dum)) |
---|
205 | i_z = i_z(0) |
---|
206 | |
---|
207 | zi = zw_vals(i_z) |
---|
208 | |
---|
209 | z_min = 0.0 |
---|
210 | z_max = FLOOR(MAX(zw_vals / zi)/0.2)*0.2 |
---|
211 | z_inter = 0.2 |
---|
212 | z_minor = 2 |
---|
213 | z_title = 'z/z!Di!N [1]' |
---|
214 | ENDIF |
---|
215 | |
---|
216 | IF u_yn NE 0 THEN BEGIN ; u |
---|
217 | IF MAX([MAX(u_wind(*,tt)),ABS(MIN(u_wind(*,tt)))]) LE 10.0 THEN BEGIN |
---|
218 | x_max = CEIL(MAX([MAX(u_wind(*,tt)),ABS(MIN(u_wind(*,tt)))])/1.0)*1.0 |
---|
219 | ;x_min = -x_max |
---|
220 | x_inter = 1.0 |
---|
221 | x_minor = 2 |
---|
222 | ENDIF |
---|
223 | IF MAX([MAX(u_wind(*,tt)),ABS(MIN(u_wind(*,tt)))]) GT 10.0 THEN BEGIN |
---|
224 | x_max = CEIL(MAX([MAX(u_wind(*,tt)),ABS(MIN(u_wind(*,tt)))])/2.0)*2.0 |
---|
225 | ;x_min = -x_max |
---|
226 | x_inter = 2.0 |
---|
227 | x_minor = 4 |
---|
228 | ENDIF |
---|
229 | x_min = -x_max |
---|
230 | |
---|
231 | IF norm_yn EQ 0 THEN plotfile = 'u_'+time_sec+'s_'+name_of_run+'_idl_pr' |
---|
232 | IF norm_yn NE 0 THEN plotfile = 'u_norm_'+time_sec+'s_'+name_of_run+'_idl_pr' |
---|
233 | |
---|
234 | IF ps_yn EQ 1 THEN DEVICE, FILENAME = plotfile+'.ps' |
---|
235 | |
---|
236 | PLOT, u_wind(*,tt), zu_vals/zi, COLOR = black, XRANGE = [x_min,x_max], YRANGE = [z_min,z_max], $ |
---|
237 | XMINOR = x_minor, YMINOR = z_minor, XTICKINTERVAL = x_inter, YTICKINTERVAL = z_inter, $ |
---|
238 | XTITLE = 'u [m/s]', YTITLE = z_title, POSITION = plot_window, $ |
---|
239 | XSTYLE = 1, YSTYLE = 1, LINESTYLE = 0, XTICKFORMAT = '(F5.1)' |
---|
240 | |
---|
241 | PLOTS, [0.0,0.0], [z_min,z_max], COLOR = black, LINESTYLE = 2 |
---|
242 | IF norm_yn NE 0 THEN PLOTS, [x_min,x_max], [1.0,1.0], COLOR = black, LINESTYLE = 2 |
---|
243 | |
---|
244 | IF png_yn EQ 1 THEN BEGIN |
---|
245 | DATA = TVRD() |
---|
246 | WRITE_PNG, plotfile+'.png', DATA, r, g, b |
---|
247 | PRINT, 'png-image of "u" created' |
---|
248 | ;PRINT, '' |
---|
249 | ENDIF |
---|
250 | |
---|
251 | DEVICE, /CLOSE |
---|
252 | ENDIF |
---|
253 | |
---|
254 | IF v_yn NE 0 THEN BEGIN ; v |
---|
255 | IF MAX([MAX(v_wind(*,tt)),ABS(MIN(v_wind(*,tt)))]) LE 10.0 THEN BEGIN |
---|
256 | x_max = CEIL(MAX([MAX(v_wind(*,tt)),ABS(MIN(v_wind(*,tt)))])/1.0)*1.0 |
---|
257 | ;x_min = -x_max |
---|
258 | x_inter = 1.0 |
---|
259 | x_minor = 2 |
---|
260 | ENDIF |
---|
261 | IF MAX([MAX(v_wind(*,tt)),ABS(MIN(v_wind(*,tt)))]) GT 10.0 THEN BEGIN |
---|
262 | x_max = CEIL(MAX([MAX(v_wind(*,tt)),ABS(MIN(v_wind(*,tt)))])/2.0)*2.0 |
---|
263 | ;x_min = -x_max |
---|
264 | x_inter = 2.0 |
---|
265 | x_minor = 4 |
---|
266 | ENDIF |
---|
267 | x_min = -x_max |
---|
268 | |
---|
269 | IF norm_yn EQ 0 THEN plotfile = 'v_'+time_sec+'s_'+name_of_run+'_idl_pr' |
---|
270 | IF norm_yn NE 0 THEN plotfile = 'v_norm_'+time_sec+'s_'+name_of_run+'_idl_pr' |
---|
271 | |
---|
272 | IF ps_yn EQ 1 THEN DEVICE, FILENAME = plotfile+'.ps' |
---|
273 | |
---|
274 | PLOT, v_wind(*,tt), zu_vals/zi, COLOR = black, XRANGE = [x_min,x_max], YRANGE = [z_min,z_max], $ |
---|
275 | XMINOR = x_minor, YMINOR = z_minor, XTICKINTERVAL = x_inter, YTICKINTERVAL = z_inter, $ |
---|
276 | XTITLE = 'v [m/s]', YTITLE = z_title, POSITION = plot_window, $ |
---|
277 | XSTYLE = 1, YSTYLE = 1, LINESTYLE = 0, XTICKFORMAT = '(F5.1)' |
---|
278 | |
---|
279 | PLOTS, [0.0,0.0], [z_min,z_max], COLOR = black, LINESTYLE = 2 |
---|
280 | IF norm_yn NE 0 THEN PLOTS, [x_min,x_max], [1.0,1.0], COLOR = black, LINESTYLE = 2 |
---|
281 | |
---|
282 | IF png_yn EQ 1 THEN BEGIN |
---|
283 | DATA = TVRD() |
---|
284 | WRITE_PNG, plotfile+'.png', DATA, r, g, b |
---|
285 | PRINT, 'png-image of "v" created' |
---|
286 | ;PRINT, '' |
---|
287 | ENDIF |
---|
288 | |
---|
289 | DEVICE, /CLOSE |
---|
290 | ENDIF |
---|
291 | |
---|
292 | IF w_yn NE 0 THEN BEGIN ; w |
---|
293 | IF MAX([MAX(w_wind(*,tt)),ABS(MIN(w_wind(*,tt)))]) LE 10.0 THEN BEGIN |
---|
294 | x_max = CEIL(MAX([MAX(w_wind(*,tt)),ABS(MIN(w_wind(*,tt)))])/1.0)*1.0 |
---|
295 | ;x_min = -x_max |
---|
296 | x_inter = 1.0 |
---|
297 | x_minor = 2 |
---|
298 | ENDIF |
---|
299 | IF MAX([MAX(w_wind(*,tt)),ABS(MIN(w_wind(*,tt)))]) GT 10.0 THEN BEGIN |
---|
300 | x_max = CEIL(MAX([MAX(w_wind(*,tt)),ABS(MIN(w_wind(*,tt)))])/2.0)*2.0 |
---|
301 | ;x_min = -x_max |
---|
302 | x_inter = 2.0 |
---|
303 | x_minor = 4 |
---|
304 | ENDIF |
---|
305 | x_min = -x_max |
---|
306 | |
---|
307 | IF norm_yn EQ 0 THEN plotfile = 'w_'+time_sec+'s_'+name_of_run+'_idl_pr' |
---|
308 | IF norm_yn NE 0 THEN plotfile = 'w_norm_'+time_sec+'s_'+name_of_run+'_idl_pr' |
---|
309 | |
---|
310 | IF ps_yn EQ 1 THEN DEVICE, FILENAME = plotfile+'.ps' |
---|
311 | |
---|
312 | PLOT, w_wind(*,tt), zw_vals/zi, COLOR = black, XRANGE = [x_min,x_max], YRANGE = [z_min,z_max], $ |
---|
313 | XMINOR = x_minor, YMINOR = z_minor, XTICKINTERVAL = x_inter, YTICKINTERVAL = z_inter, $ |
---|
314 | XTITLE = 'w [m/s]', YTITLE = z_title, POSITION = plot_window, $ |
---|
315 | XSTYLE = 1, YSTYLE = 1, LINESTYLE = 0, XTICKFORMAT = '(F4.1)' |
---|
316 | |
---|
317 | PLOTS, [0.0,0.0], [z_min,z_max], COLOR = black, LINESTYLE = 2 |
---|
318 | IF norm_yn NE 0 THEN PLOTS, [x_min,x_max], [1.0,1.0], COLOR = black, LINESTYLE = 2 |
---|
319 | |
---|
320 | IF png_yn EQ 1 THEN BEGIN |
---|
321 | DATA = TVRD() |
---|
322 | WRITE_PNG, plotfile+'.png', DATA, r, g, b |
---|
323 | PRINT, 'png-image of "w" created' |
---|
324 | ;PRINT, '' |
---|
325 | ENDIF |
---|
326 | |
---|
327 | DEVICE, /CLOSE |
---|
328 | ENDIF |
---|
329 | |
---|
330 | IF pt_yn NE 0 THEN BEGIN ; pt |
---|
331 | x_min = FLOOR(MIN(pt(*,tt))/1.0)*1.0 |
---|
332 | x_max = CEIL(MAX(pt(*,tt))/1.0)*1.0 |
---|
333 | x_inter = 2.0 |
---|
334 | x_minor = 4 |
---|
335 | |
---|
336 | IF norm_yn EQ 0 THEN plotfile = 'pt_'+time_sec+'s_'+name_of_run+'_idl_pr' |
---|
337 | IF norm_yn NE 0 THEN plotfile = 'pt_norm_'+time_sec+'s_'+name_of_run+'_idl_pr' |
---|
338 | |
---|
339 | IF ps_yn EQ 1 THEN DEVICE, FILENAME = plotfile+'.ps' |
---|
340 | |
---|
341 | PLOT, pt(*,tt), zu_vals/zi, COLOR = black, XRANGE = [x_min,x_max], YRANGE = [z_min,z_max], $ |
---|
342 | XMINOR = x_minor, YMINOR = z_minor, XTICKINTERVAL = x_inter, YTICKINTERVAL = z_inter, $ |
---|
343 | XTITLE = '!4h!3 [K]', YTITLE = z_title, POSITION = plot_window, $ |
---|
344 | XSTYLE = 1, YSTYLE = 1, LINESTYLE = 0, XTICKFORMAT = '(I3)' |
---|
345 | |
---|
346 | IF norm_yn NE 0 THEN PLOTS, [x_min,x_max], [1.0,1.0], COLOR = black, LINESTYLE = 2 |
---|
347 | |
---|
348 | IF png_yn EQ 1 THEN BEGIN |
---|
349 | DATA = TVRD() |
---|
350 | WRITE_PNG, plotfile+'.png', DATA, r, g, b |
---|
351 | PRINT, 'png-image of "pt" created' |
---|
352 | ;PRINT, '' |
---|
353 | ENDIF |
---|
354 | |
---|
355 | DEVICE, /CLOSE |
---|
356 | ENDIF |
---|
357 | |
---|
358 | IF wpt_yn NE 0 OR wpptp_yn NE 0 THEN BEGIN ; wpt |
---|
359 | x_min = FLOOR(MIN(wpt(*,tt))/0.02)*0.02 |
---|
360 | x_max = CEIL(MAX(wpt(*,tt))/0.02)*0.02 |
---|
361 | x_inter = 0.02 |
---|
362 | x_minor = 2 |
---|
363 | |
---|
364 | IF norm_yn EQ 0 THEN plotfile = 'wpt_'+time_sec+'s_'+name_of_run+'_idl_pr' |
---|
365 | IF norm_yn NE 0 THEN plotfile = 'wpt_norm_'+time_sec+'s_'+name_of_run+'_idl_pr' |
---|
366 | |
---|
367 | IF ps_yn EQ 1 THEN DEVICE, FILENAME = plotfile+'.ps' |
---|
368 | |
---|
369 | PLOT, wpt(*,tt), zw_vals/zi, COLOR = black, XRANGE = [x_min,x_max], YRANGE = [z_min,z_max], $ |
---|
370 | XMINOR = x_minor, YMINOR = z_minor, XTICKINTERVAL = x_inter, YTICKINTERVAL = z_inter, $ |
---|
371 | XTITLE = 'w!4h!3 [Km/s]', YTITLE = z_title, POSITION = plot_window, $ |
---|
372 | XSTYLE = 1, YSTYLE = 1, LINESTYLE = 0, XTICKFORMAT = '(F5.2)' |
---|
373 | |
---|
374 | IF wpptp_yn NE 0 THEN OPLOT, wpptp(*,tt), zw_vals/zi, COLOR = black, LINESTYLE = 1 |
---|
375 | |
---|
376 | PLOTS, [0.0,0.0], [z_min,z_max], COLOR = black, LINESTYLE = 2 |
---|
377 | IF norm_yn NE 0 THEN PLOTS, [x_min,x_max], [1.0,1.0], COLOR = black, LINESTYLE = 2 |
---|
378 | |
---|
379 | IF png_yn EQ 1 THEN BEGIN |
---|
380 | DATA = TVRD() |
---|
381 | WRITE_PNG, plotfile+'.png', DATA, r, g, b |
---|
382 | PRINT, 'png-image of "wpt" created' |
---|
383 | ;PRINT, '' |
---|
384 | ENDIF |
---|
385 | |
---|
386 | DEVICE, /CLOSE |
---|
387 | ENDIF |
---|
388 | |
---|
389 | IF wu_yn NE 0 THEN BEGIN ; wu |
---|
390 | x_min = FLOOR(MIN(wu(*,tt))/0.01)*0.01 |
---|
391 | x_max = CEIL(MAX(wu(*,tt))/0.01)*0.01 |
---|
392 | x_inter = 0.01 |
---|
393 | x_minor = 2 |
---|
394 | |
---|
395 | IF norm_yn EQ 0 THEN plotfile = 'wu_'+time_sec+'s_'+name_of_run+'_idl_pr' |
---|
396 | IF norm_yn NE 0 THEN plotfile = 'wu_norm_'+time_sec+'s_'+name_of_run+'_idl_pr' |
---|
397 | |
---|
398 | IF ps_yn EQ 1 THEN DEVICE, FILENAME = plotfile+'.ps' |
---|
399 | |
---|
400 | PLOT, wu(*,tt), zw_vals/zi, COLOR = black, XRANGE = [x_min,x_max], YRANGE = [z_min,z_max], $ |
---|
401 | XMINOR = x_minor, YMINOR = z_minor, XTICKINTERVAL = x_inter, YTICKINTERVAL = z_inter, $ |
---|
402 | XTITLE = 'wu [m!U2!N/s!U2!N]', YTITLE = z_title, POSITION = plot_window, $ |
---|
403 | XSTYLE = 1, YSTYLE = 1, LINESTYLE = 0, XTICKFORMAT = '(F5.2)' |
---|
404 | |
---|
405 | PLOTS, [0.0,0.0], [z_min,z_max], COLOR = black, LINESTYLE = 2 |
---|
406 | IF norm_yn NE 0 THEN PLOTS, [x_min,x_max], [1.0,1.0], COLOR = black, LINESTYLE = 2 |
---|
407 | |
---|
408 | IF png_yn EQ 1 THEN BEGIN |
---|
409 | DATA = TVRD() |
---|
410 | WRITE_PNG, plotfile+'.png', DATA, r, g, b |
---|
411 | PRINT, 'png-image of "wu" created' |
---|
412 | ;PRINT, '' |
---|
413 | ENDIF |
---|
414 | |
---|
415 | DEVICE, /CLOSE |
---|
416 | ENDIF |
---|
417 | |
---|
418 | IF e_yn NE 0 THEN BEGIN ; e |
---|
419 | x_min = FLOOR(MIN(tke(*,tt))/0.1)*0.1 |
---|
420 | x_max = CEIL(MAX(tke(*,tt))/0.1)*0.1 |
---|
421 | x_inter = 0.1 |
---|
422 | x_minor = 2 |
---|
423 | |
---|
424 | IF norm_yn EQ 0 THEN plotfile = 'e_'+time_sec+'s_'+name_of_run+'_idl_pr' |
---|
425 | IF norm_yn NE 0 THEN plotfile = 'e_norm_'+time_sec+'s_'+name_of_run+'_idl_pr' |
---|
426 | |
---|
427 | IF ps_yn EQ 1 THEN DEVICE, FILENAME = plotfile+'.ps' |
---|
428 | |
---|
429 | PLOT, tke(*,tt), zu_vals/zi, COLOR = black, XRANGE = [x_min,x_max], YRANGE = [z_min,z_max], $ |
---|
430 | XMINOR = x_minor, YMINOR = z_minor, XTICKINTERVAL = x_inter, YTICKINTERVAL = z_inter, $ |
---|
431 | XTITLE = 'e [m!U2!N/s!U2!N]', YTITLE = z_title, POSITION = plot_window, $ |
---|
432 | XSTYLE = 1, YSTYLE = 1, LINESTYLE = 0, XTICKFORMAT = '(F3.1)' |
---|
433 | |
---|
434 | IF norm_yn NE 0 THEN PLOTS, [x_min,x_max], [1.0,1.0], COLOR = black, LINESTYLE = 2 |
---|
435 | |
---|
436 | IF png_yn EQ 1 THEN BEGIN |
---|
437 | DATA = TVRD() |
---|
438 | WRITE_PNG, plotfile+'.png', DATA, r, g, b |
---|
439 | PRINT, 'png-image of "e" created' |
---|
440 | ;PRINT, '' |
---|
441 | ENDIF |
---|
442 | |
---|
443 | DEVICE, /CLOSE |
---|
444 | ENDIF |
---|
445 | |
---|
446 | IF us2_yn NE 0 THEN BEGIN ; u*2 |
---|
447 | IF MAX(us2(*,tt)) LE 3.0 THEN BEGIN |
---|
448 | x_min = FLOOR(MIN(us2(*,tt))/0.2)*0.2 |
---|
449 | x_max = CEIL(MAX(us2(*,tt))/0.2)*0.2 |
---|
450 | x_inter = 0.2 |
---|
451 | x_minor = 2 |
---|
452 | ENDIF |
---|
453 | IF MAX(us2(*,tt)) GT 3.0 THEN BEGIN |
---|
454 | x_min = FLOOR(MIN(us2(*,tt))/0.5)*0.5 |
---|
455 | x_max = CEIL(MAX(us2(*,tt))/0.5)*0.5 |
---|
456 | x_inter = 0.5 |
---|
457 | x_minor = 5 |
---|
458 | ENDIF |
---|
459 | |
---|
460 | IF norm_yn EQ 0 THEN plotfile = 'us2_'+time_sec+'s_'+name_of_run+'_idl_pr' |
---|
461 | IF norm_yn NE 0 THEN plotfile = 'us2_norm_'+time_sec+'s_'+name_of_run+'_idl_pr' |
---|
462 | |
---|
463 | IF ps_yn EQ 1 THEN DEVICE, FILENAME = plotfile+'.ps' |
---|
464 | |
---|
465 | PLOT, us2(*,tt), zu_vals/zi, COLOR = black, XRANGE = [x_min,x_max], YRANGE = [z_min,z_max], $ |
---|
466 | XMINOR = x_minor, YMINOR = z_minor, XTICKINTERVAL = x_inter, YTICKINTERVAL = z_inter, $ |
---|
467 | XTITLE = 'u*!U2!N [m!U2!N/s!U2!N]', YTITLE = z_title, POSITION = plot_window, $ |
---|
468 | XSTYLE = 1, YSTYLE = 1, LINESTYLE = 0, XTICKFORMAT = '(F3.1)' |
---|
469 | |
---|
470 | IF norm_yn NE 0 THEN PLOTS, [x_min,x_max], [1.0,1.0], COLOR = black, LINESTYLE = 2 |
---|
471 | |
---|
472 | IF png_yn EQ 1 THEN BEGIN |
---|
473 | DATA = TVRD() |
---|
474 | WRITE_PNG, plotfile+'.png', DATA, r, g, b |
---|
475 | PRINT, 'png-image of "u*2" created' |
---|
476 | ;PRINT, '' |
---|
477 | ENDIF |
---|
478 | |
---|
479 | DEVICE, /CLOSE |
---|
480 | ENDIF |
---|
481 | |
---|
482 | IF vs2_yn NE 0 THEN BEGIN ; v*2 |
---|
483 | IF MAX(vs2(*,tt)) LE 3.0 THEN BEGIN |
---|
484 | x_min = FLOOR(MIN(vs2(*,tt))/0.2)*0.2 |
---|
485 | x_max = CEIL(MAX(vs2(*,tt))/0.2)*0.2 |
---|
486 | x_inter = 0.2 |
---|
487 | x_minor = 2 |
---|
488 | ENDIF |
---|
489 | IF MAX(vs2(*,tt)) GT 3.0 THEN BEGIN |
---|
490 | x_min = FLOOR(MIN(vs2(*,tt))/0.5)*0.5 |
---|
491 | x_max = CEIL(MAX(vs2(*,tt))/0.5)*0.5 |
---|
492 | x_inter = 0.5 |
---|
493 | x_minor = 2 |
---|
494 | ENDIF |
---|
495 | |
---|
496 | IF norm_yn EQ 0 THEN plotfile = 'vs2_'+time_sec+'s_'+name_of_run+'_idl_pr' |
---|
497 | IF norm_yn NE 0 THEN plotfile = 'vs2_norm_'+time_sec+'s_'+name_of_run+'_idl_pr' |
---|
498 | |
---|
499 | IF ps_yn EQ 1 THEN DEVICE, FILENAME = plotfile+'.ps' |
---|
500 | |
---|
501 | PLOT, vs2(*,tt), zu_vals/zi, COLOR = black, XRANGE = [x_min,x_max], YRANGE = [z_min,z_max], $ |
---|
502 | XMINOR = x_minor, YMINOR = z_minor, XTICKINTERVAL = x_inter, YTICKINTERVAL = z_inter, $ |
---|
503 | XTITLE = 'v*!U2!N [m!U2!N/s!U2!N]', YTITLE = z_title, POSITION = plot_window, $ |
---|
504 | XSTYLE = 1, YSTYLE = 1, LINESTYLE = 0, XTICKFORMAT = '(F3.1)' |
---|
505 | |
---|
506 | IF norm_yn NE 0 THEN PLOTS, [x_min,x_max], [1.0,1.0], COLOR = black, LINESTYLE = 2 |
---|
507 | |
---|
508 | IF png_yn EQ 1 THEN BEGIN |
---|
509 | DATA = TVRD() |
---|
510 | WRITE_PNG, plotfile+'.png', DATA, r, g, b |
---|
511 | PRINT, 'png-image of "v*2" created' |
---|
512 | ;PRINT, '' |
---|
513 | ENDIF |
---|
514 | |
---|
515 | DEVICE, /CLOSE |
---|
516 | ENDIF |
---|
517 | |
---|
518 | IF ws2_yn NE 0 THEN BEGIN ; w*2 |
---|
519 | x_min = FLOOR(MIN(ws2(*,tt))/0.2)*0.2 |
---|
520 | x_max = CEIL(MAX(ws2(*,tt))/0.2)*0.2 |
---|
521 | x_inter = 0.2 |
---|
522 | x_minor = 2 |
---|
523 | |
---|
524 | IF norm_yn EQ 0 THEN plotfile = 'ws2_'+time_sec+'s_'+name_of_run+'_idl_pr' |
---|
525 | IF norm_yn NE 0 THEN plotfile = 'ws2_norm_'+time_sec+'s_'+name_of_run+'_idl_pr' |
---|
526 | |
---|
527 | IF ps_yn EQ 1 THEN DEVICE, FILENAME = plotfile+'.ps' |
---|
528 | |
---|
529 | PLOT, ws2(*,tt), zw_vals/zi, COLOR = black, XRANGE = [x_min,x_max], YRANGE = [z_min,z_max], $ |
---|
530 | XMINOR = x_minor, YMINOR = z_minor, XTICKINTERVAL = x_inter, YTICKINTERVAL = z_inter, $ |
---|
531 | XTITLE = 'w*!U2!N [m!U2!N/s!U2!N]', YTITLE = z_title, POSITION = plot_window, $ |
---|
532 | XSTYLE = 1, YSTYLE = 1, LINESTYLE = 0, XTICKFORMAT = '(F3.1)' |
---|
533 | |
---|
534 | IF norm_yn NE 0 THEN PLOTS, [x_min,x_max], [1.0,1.0], COLOR = black, LINESTYLE = 2 |
---|
535 | |
---|
536 | IF png_yn EQ 1 THEN BEGIN |
---|
537 | DATA = TVRD() |
---|
538 | WRITE_PNG, plotfile+'.png', DATA, r, g, b |
---|
539 | PRINT, 'png-image of "w*2" created' |
---|
540 | ;PRINT, '' |
---|
541 | ENDIF |
---|
542 | |
---|
543 | DEVICE, /CLOSE |
---|
544 | ENDIF |
---|
545 | |
---|
546 | IF pts2_yn NE 0 THEN BEGIN ; pt*2 |
---|
547 | x_min = FLOOR(MIN(pts2(*,tt))/0.1)*0.1 |
---|
548 | x_max = CEIL(MAX(pts2(*,tt))/0.1)*0.1 |
---|
549 | x_inter = 0.1 |
---|
550 | x_minor = 2 |
---|
551 | |
---|
552 | IF norm_yn EQ 0 THEN plotfile = 'pts2_'+time_sec+'s_'+name_of_run+'_idl_pr' |
---|
553 | IF norm_yn NE 0 THEN plotfile = 'pts2_norm_'+time_sec+'s_'+name_of_run+'_idl_pr' |
---|
554 | |
---|
555 | IF ps_yn EQ 1 THEN DEVICE, FILENAME = plotfile+'.ps' |
---|
556 | |
---|
557 | PLOT, pts2(*,tt), zu_vals/zi, COLOR = black, XRANGE = [x_min,x_max], YRANGE = [z_min,z_max], $ |
---|
558 | XMINOR = x_minor, YMINOR = z_minor, XTICKINTERVAL = x_inter, YTICKINTERVAL = z_inter, $ |
---|
559 | XTITLE = '!4h!3*!U2!N [Km/s]', YTITLE = z_title, POSITION = plot_window, $ |
---|
560 | XSTYLE = 1, YSTYLE = 1, LINESTYLE = 0, XTICKFORMAT = '(F3.1)' |
---|
561 | |
---|
562 | IF norm_yn NE 0 THEN PLOTS, [x_min,x_max], [1.0,1.0], COLOR = black, LINESTYLE = 2 |
---|
563 | |
---|
564 | IF png_yn EQ 1 THEN BEGIN |
---|
565 | DATA = TVRD() |
---|
566 | WRITE_PNG, plotfile+'.png', DATA, r, g, b |
---|
567 | PRINT, 'png-image of "pt*2" created' |
---|
568 | ;PRINT, '' |
---|
569 | ENDIF |
---|
570 | |
---|
571 | DEVICE, /CLOSE |
---|
572 | ENDIF |
---|
573 | |
---|
574 | PRINT, ' ' |
---|
575 | PRINT, 'Program finished' |
---|
576 | abort_flag: |
---|
577 | PRINT, ' ' |
---|
578 | |
---|
579 | |
---|
580 | END |
---|