source: palm/trunk/SCRIPTS/NCL/ncl_preferences.ncl @ 342

Last change on this file since 342 was 342, checked in by heinze, 15 years ago

Plots of profiles appear in the order specified by the variable var.

File size: 65.2 KB
RevLine 
[190]1begin
2
3;*********************************************************
[194]4
5script=which_script
[190]6   
7;*********************************************************
[194]8   
[190]9   ;******************************************************
10   ; parameters used by CROSS_SECTIONS
11   ;******************************************************
12   
[194]13   if (script .EQ. "cross_section")then
[190]14   
15      ;***************************************************
16      ; REQUIRED --file_1-- INPUT FILE
17      ;
[218]18      ; input file produced by PALM; if there is more than one file for all timesteps of a job chain,
19      ; declare path and file name without cycle number and ".nc" (first and last cycle numbers are given with the parameters 'start_f' and 'end_f');
20      ; otherwise declare path and full file name
[190]21      ;
22      ; data type: string
23      ;
[218]24      ; example: file_1 = "/path_to_file/file_xy_av"      if you use more than one cycle number
25      ;          file_1 = "/path_to_file/file_xy_av.4.nc" if you use one file (e.g. with cycle number 4)
26      ;
[190]27      ; default:   "File in"
28      ;***************************************************
29      if(.not. isvar("file_1"))then
[194]30
31
[267]32         file_1 = "File in"
[190]33         
[194]34         
[190]35      end if
36      ;***************************************************
[218]37      ; REQUIRED if more than one file of a job chain --start_f-- START OF CYCLIC NUMBER
[190]38      ;
[218]39      ; if there is more than one file for all timesteps of a job chain, declare the first cyclicnumber which contains timesteps you'd like to use
40      ;
41      ; data type: integer
42      ;
[236]43      ; example:   start_f = 3 (if first file: example_xy_av.3.nc) and 0 (if first file: example_xy_av.nc)
[218]44      ;
45      ; default:   -1 
46      ;***************************************************
47      if (.not. isvar("start_f"))then 
48     
49         
50         start_f = -1
51         
52         
53      end if
54      ;***************************************************
55      ; REQUIRED if more than one file of a job chain --end_f-- END OF CYCLIC NUMBER
56      ;
57      ; if there is more than one file for all timesteps of a job chain, declare the last cyclicnumber which contains timesteps you'd like to use
58      ;
59      ; data type: integer
60      ;
[236]61      ; example:   end_f = 48 (if last file: example_xy_av.48.nc) and 0 (if last file: example_xy_av.nc)
[218]62      ;
63      ; default:   -1 
64      ;***************************************************
65      if (.not. isvar("end_f"))then 
66     
67         
68         end_f = -1
69         
70         
71      end if
72      ;***************************************************
73      ; REQUIRED --xyc--xzc--yzc-- SELECTION of XY or XZ or YZ CROSS SECTIONS
74      ;
[190]75      ; desired section has to be set to 1; e.g.: xyc=1, xzc=0 and yzc=0 for xy-section
76      ;
77      ; data type: integer
78      ;
[218]79      ; example: xyc = 1
80      ;          xzc = 0
81      ;          yzc = 0
82      ;
[190]83      ; default:   0
84      ;***************************************************
85      if(.not. isvar("xyc"))then     
86       
87         xyc = 0
88       
89      end if
90      if (.not. isvar("xzc"))then
91     
92         xzc = 0
93       
94      end if
95      if (.not. isvar("yzc"))then
96     
97         yzc = 0
98                 
99      end if             
100      ;***************************************************
101      ; OPTIONAL --format_out-- OUTPUT FORMAT
102      ;
[218]103      ; format of the output file; supported file formats: x11, pdf, ps, eps, epsi or ncgm
[190]104      ;
105      ; data type: string
106      ;
[218]107      ; example: format_out = "pdf"
108      ;
[190]109      ; default:   "x11"
110      ;***************************************************
111      if(.not. isvar("format_out"))then 
112     
113     
114         format_out = "x11"
115         
116         
117      end if
118      ;***************************************************
119      ; OPTIONAL --file_out-- OUTPUT FILE
120      ;
[218]121      ; path and name of the output file
[190]122      ;
123      ; data type: string
124      ;
[218]125      ; example: file_out = "/home/path_to_output/test_cs"
126      ;
[194]127      ; default:   "~/test_cs"
[190]128      ;***************************************************
129      if(.not. isvar("file_out"))then   
130     
131     
132         file_out = "~/test_cs"
133         
134         
135      end if     
136      ;***************************************************
[218]137      ; OPTIONAL --no_columns-- NUMBER OF COLUMNS
[190]138      ;
139      ; number of plots in one row
140      ;
141      ; data type: integer
[218]142      ;
143      ; example: no_columns = 1
[190]144      ;
145      ; default:   1
146      ;***************************************************
147      if(.not. isvar("no_columns"))then 
148     
149     
150         no_columns = 1
151         
152         
153      end if     
154      ;***************************************************
[218]155      ; OPTIONAL --no_rows-- NUMBER OF ROWS
[190]156      ;
157      ; number of plots in one column
158      ;
159      ; data type: integer
[218]160      ;
161      ; example: no_rows = 2
[190]162      ;
163      ; default:   2
164      ;***************************************************
[218]165      if(.not. isvar("no_rows"))then     
[190]166     
167     
[218]168         no_rows = 2
[190]169         
170         
171      end if     
172      ;***************************************************
173      ; OPTIONAL --sort-- TYPE OF SORTING
174      ;
175      ; sequence of plots; sorting either by time step [="time"] or by layer/height [="layer"]
176      ;
177      ; data type: string
178      ;
[218]179      ; example: sort = "layer"
180      ;
[190]181      ; default:   "layer"
182      ;***************************************************
183      if(.not. isvar("sort"))then       
184     
185     
186         sort = "layer"
187         
188         
189      end if     
190      ;***************************************************
191      ; OPTIONAL --var-- OUTPUT VARIABLES
192      ;
[218]193      ; names of output variables; inidcate them with one comma before and after each variable
[190]194      ;
195      ; data type: string
[218]196      ;
[342]197      ; example: var = ",u,v,w,"
[190]198      ;
[218]199      ; default:   "all" (all available variables are plotted)
[190]200      ;***************************************************
201      if(.not. isvar("var"))then
202     
203         
204         var = "all"
205         
206         
207      end if     
208      ;***************************************************
209      ; OPTIONAL --start_time_step-- FIRST TIME STEP
210      ;
[218]211      ; first time step of plot; there is no need to specify a precise time value from the input file,
212      ; 'start_time_step' is rounded to the next existent time step
[190]213      ;
214      ; data type: double; dimension: [hour]
215      ;
[218]216      ; example:   start_time_step = 0.5
217      ;
[190]218      ; default:   -1.d (first available time step)
219      ;***************************************************
220      if(.not. isvar("start_time_step"))then
221     
222         
223         start_time_step = -1.d
224         
225         
226      end if     
227      ;***************************************************
228      ; OPTIONAL --end_time_step-- LAST TIME STEP
229      ;
[218]230      ; last time step of plot; there is no need to specify a precise time value from the input file,
231      ; 'end_time_step' is rounded to the next existent time step
[190]232      ;
233      ; data type: double; dimension: [hour]
234      ;
[218]235      ; example:   end_time_step = 2.0
236      ;
[190]237      ; default:   -1.d (last available time step)
238      ;***************************************************
239      if(.not. isvar("end_time_step"))then       
240     
241     
242         end_time_step = -1.d
243         
244         
245      end if     
246      ;***************************************************
247      ; OPTIONAL --xs-- MINIMUM X-AXIS
248      ;
249      ; value for minimum of x-axis, selectable if there are NO preseted layers for x (as for XY or XZ 2D-DATA);
[218]250      ; there is no need to specify a precise meter value from the input file, it is rounded to the next existent value
[190]251      ;
252      ; data type: double; dimension: [meter]
253      ;
[218]254      ; example: xs = 150.0
255      ;
[190]256      ; default:   -1.d (minimum of range)
257      ;***************************************************
258      if(.not. isvar("xs"))then     
259     
260     
261         xs = -1.d
262         
263         
264      end if     
265      ;***************************************************
266      ; OPTIONAL --xe-- MAXIMUM X-AXIS
267      ;
268      ; value for maximum of x-axis, selectable if there are NO preseted layers for x (as for XY or XZ 2D-DATA);
[218]269      ; there is no need to specify a precise meter value from the input file, it is rounded to the next existent value
[190]270      ;
271      ; data type: double; dimension: [meter]
272      ;
[218]273      ; example: xe = 300.0
274      ;
[190]275      ; default:   -1.d (maximum of range)
276      ;***************************************************
277      if(.not. isvar("xe"))then     
278     
279     
280         xe = -1.d
281         
282         
283      end if     
284      ;***************************************************
285      ; OPTIONAL --ys-- MINIMUM Y-AXIS
286      ;
287      ; value for minimum of y-axis, selectable if there are NO preseted layers for y (as for XY or YZ 2D-DATA);
[218]288      ; there is no need to specify a precise meter value from the input file, it is rounded to the next existent value
[190]289      ;
290      ; data type: double; dimension: [meter]
291      ;
[218]292      ; example: ys = 150.0
293      ;
[190]294      ; default:   -1.d (minimum of range)
295      ;***************************************************
296      if(.not. isvar("ys"))then     
297     
298     
299         ys = -1.d
300         
301         
302      end if     
303      ;***************************************************
304      ; OPTIONAL --ye-- MAXIMUM Y-AXIS
305      ;
306      ; value for maximum of y-axis, selectable if there are NO preseted layers for y (as for XY or YZ 2D-DATA);
[218]307      ; there is no need to specify a precise meter value from the input file, it is rounded to the next existent value
[190]308      ;
309      ; data type: double; dimension: [meter]
310      ;
[218]311      ; example: ye = 300.0
312      ;
[190]313      ; default:   -1.d (maximum of range)
314      ;***************************************************
315      if(.not. isvar("ye"))then   
316     
317         
318         ye = -1.d
319         
320         
321      end if     
322      ;***************************************************
323      ; OPTIONAL --zs-- MINIMUM Z-AXIS
324      ;
[194]325      ; index for minimum of z-axis, selectable if there are NO preseted layers for z (as for XZ or YZ 2D-DATA);
326      ; you cannot specify a meter value from the input file due to grid stretching 
[190]327      ;
328      ; data type: integer
329      ;
[218]330      ; example: zs = 0
331      ;
[190]332      ; default:   -1 (minimum of range)
333      ;***************************************************
334      if(.not. isvar("zs"))then     
335     
336     
337         zs = -1
338         
339         
340      end if     
341      ;***************************************************
342      ; OPTIONAL --ze-- MAXIMUM Z-AXIS
343      ;
[194]344      ; index for maximum of z-axis, selectable if there are NO preseted layers for z (as for XZ or YZ 2D-DATA);
345      ; you cannot specify a meter value from the input file due to grid stretching 
[190]346      ;
347      ; data type: integer
348      ;
[218]349      ; example: ze = 15
350      ;
[190]351      ; default:   -1 (maximum of range)
352      ;***************************************************
353      if(.not. isvar("ze"))then
354     
355           
356         ze = -1
357         
358         
359      end if     
360      ;***************************************************
361      ; OPTIONAL --mode-- TYPE OF PLOT
362      ;
363      ; isoline plots [="Line"], contour plots [="Fill"] or both [="Both"] can be choosen
364      ;
365      ; data type: string
366      ;
[218]367      ; example: mode = "Fill"
368      ;
[190]369      ; default:   "Fill"
370      ;***************************************************
371      if(.not. isvar("mode"))then       
372     
373     
374         mode = "Fill"
375         
376         
377      end if     
378      ;***************************************************
379      ; OPTIONAL --fill_mode-- TYPE OF FILLING
380      ;
381      ; area fill [="AreaFill"], raster fill [="RasterFill"] or cell fill [="CellFill"] can be choosen
382      ;
383      ; data type: string
384      ;
[218]385      ; example: fill_mode = "AreaFill"
386      ;
[190]387      ; default:   "AreaFill"
388      ;***************************************************
389      if(.not. isvar("fill_mode"))then   
390     
391     
392         fill_mode = "AreaFill"
393         
394         
395      end if     
396      ;***************************************************
397      ; OPTIONAL --shape-- ASPECT RATIO
398      ;
[218]399      ; aspect ratio of axis is kept [=1] or not[=0]
[190]400      ;
401      ; data type: integer
402      ;
[218]403      ; example: shape = 1
404      ;
[190]405      ; default:   1
406      ;***************************************************
407      if(.not. isvar("shape"))then
408     
409         
410         shape = 1
411         
412         
[218]413      end if
[190]414      ;***************************************************
[218]415      ; OPTIONAL --font_size-- FONT SIZE OF STRINGS
416      ;
417      ; font size can be changed to fit to the current plot
418      ;
419      ; data type: float
420      ;
421      ; example: font_size = 0.04
422      ;
423      ; default:   0.04
424      ;***************************************************
425      if(.not. isvar("font_size"))then
426     
427         
428         font_size = 0.04
429         
430         
431      end if
432      ;***************************************************
433      ; OPTIONAL --font_size_legend-- FONT SIZE OF LEGEND STRINGS
434      ;
435      ; font size of the legend can be changed to fit to the current plot
436      ;
437      ; data type: float
438      ;
439      ; example: font_size_legend = 0.02
440      ;
441      ; default:   0.02
442      ;***************************************************
443      if(.not. isvar("font_size_legend"))then
444     
445         
446         font_size_legend = 0.02
447         
448         
449      end if   
450      ;***************************************************
451      ; OPTIONAL --legend_label_stride-- REDUCTION OF THE NUMBER OF LABELS IN THE LEGEND
452      ;
453      ; if legend_label_stride is set to 1 every label is shown; if set to 2 every second,...
454      ;
455      ; data type: integer
456      ;
457      ; example: legend_label_stride = 2
458      ;
459      ; default:   2
460      ;***************************************************
461      if(.not. isvar("legend_label_reduction"))then
462     
463         
464         legend_label_stride = 2
465         
466         
467      end if
468      ;***************************************************
469      ; OPTIONAL --axes_explicit-- EXPLICIT SETTINGS OF X- AND Y-AXES ARE SWITCHED ON
470      ;
471      ; to use several parameters to set up the axes, 'axes_explicit' must be switched [=1]; if switched off [=0] units of axes are [gridpoints]
472      ;
473      ; data type: integer
474      ;
475      ; example: axes_explicit = 0
476      ;
477      ; default:   0
478      ;***************************************************
479      if(.not. isvar("axes_explicit"))then
480     
481         
482         axes_explicit = 0
483         
484         
485      end if
486      ;***************************************************
487      ; OPTIONAL if axes_explicit = 1 --major_ticks_x-- NUMBER OF MAJOR TICK MARKS AT X-AXIS
488      ;
489      ; major_ticks_x can be set to any integer, best segmentation of x-axis can be achieved, if
490      ; (number of gripdpoints in x-direction)/(major_ticks_x-1)=INTEGER, e.g. 128/8 = 16 -> major_ticks_x should be set to 9
491      ;
492      ; data type: integer
493      ;
494      ; example: major_ticks_x = 6
495      ;
496      ; default:   6
497      ;***************************************************
498      if(.not. isvar("major_ticks_x"))then
499     
500         
501         major_ticks_x = 6
502         
503         
504      end if
505      ;***************************************************
506      ; OPTIONAL if axes_explicit = 1 --major_ticks_y-- NUMBER OF MAJOR TICK MARKS AT Y-AXIS
507      ;
508      ; major_ticks_y can be set to any integer, best segmentation of y-axis can be achieved, if
509      ; (number of gripdpoints in y-direction)/(major_ticks_y-1)=INTEGER, e.g. 128/8 = 16 -> major_ticks_y should be set to 9
510      ;
511      ; data type: integer
512      ;
513      ; example: major_ticks_y = 6
514      ;
515      ; default:   6
516      ;***************************************************
517      if(.not. isvar("major_ticks_y"))then
518     
519         
520         major_ticks_y = 6
521         
522         
523      end if
524      ;***************************************************
525      ; OPTIONAL if axes_explicit = 1 --norm_x--norm_y--norm_z-- NORMALISE X-, Y- and Z-AXES
526      ;
527      ; normalising the axes with the given value; units can explicitly set; by default no normalising is used and units are [meter]
528      ;
529      ; data type: float
530      ;
531      ; default:   1.
532      ;***************************************************
533      if(.not. isvar("norm_x"))then     
534         
535         norm_x = 1.     
536         
537      end if
538      if(.not. isvar("norm_y"))then     
539         
540         norm_y = 1.     
541         
542      end if
543      if(.not. isvar("norm_z"))then     
544         
545         norm_z = 1.     
546         
547      end if
548      ;***************************************************
549      ; OPTIONAL if axes_explicit = 1 --unit_x--unit_y--unit_z-- UNITS OF X-, Y- and Z-AXES
550      ;
551      ; units of the axes can be set; by default no units are given, if norm_x, norm_y or norm_z are unequal 1., otherwise units are [meter]
552      ;
553      ; data type: string,
554      ;
555      ; example: unit_x = "m/s"
556      ;
557      ; default:   " "
558      ;***************************************************
559      if(.not. isvar("unit_x"))then     
560         
561         unit_x = " "   
562         
563      end if
564      if(.not. isvar("unit_y"))then     
565         
566         unit_y = " "   
567         
568      end if
569      if(.not. isvar("unit_z"))then     
570         
571         unit_z = " "   
572         
573      end if
574      ;***************************************************
[190]575      ; OPTIONAL --vector-- VECTOR PLOT
576      ;
[218]577      ; a vector plot for one defined vector is switched on [=1] or off [=0]
[190]578      ;
579      ; data type: integer
580      ;
[218]581      ; example: vector = 0
582      ;
[190]583      ; default:   0
584      ;***************************************************
585      if(.not. isvar("vector"))then
586     
587         
588         vector = 0
589         
590         
591      end if     
592      ;***************************************************
593      ; REQUIRED IF vector=1 --vec1, vec2-- VECTOR FOR VECTOR PLOT
594      ;
595      ; variables for the vector, vec1 hast to be set to component 1 and vec2 to component 2;
[218]596      ; inidcate them with one comma before and after each variable;
[190]597      ;
598      ; data type: string
599      ;
[218]600      ; example: vec1=",u,"
601      ;          vec2=",v,"
602      ;
[190]603      ; default:   vec1 = "component1", vec2 = "component2"
604      ;***************************************************
605      if(.not. isvar("vec1"))then     
606         
607         vec1 = "component1"
608         
609      end if
610      if (.not. isvar("vec2"))then
611     
612         vec2 = "component2"     
613         
614      end if     
615      ;***************************************************
616      ; OPTIONAL --plotvec-- VARIABLE FOR EXTRA VECTOR PLOT
617      ;
[218]618      ; the vector plot can be combined with other plots of variables; if this is desired inidcate the variables,
619      ; where a vector plot shall overlay; inidcate them with one comma before and after each variable
[190]620      ;
621      ; data type: string
622      ;
[218]623      ; example: plotvec = ",u,w,"
624      ;
625      ; default:   "plotvec" (no combining, the vector plot is created seperately)
[190]626      ;***************************************************
627      if(.not. isvar("plotvec"))then
628     
629         
630         plotvec = "plotvec"
631         
632         
633      end if     
634      ;***************************************************
635      ; OPTIONAL --ref_mag-- REFERENCE VECTOR
636      ;
637      ; length of the reference vector in a vector plot
638      ;
639      ; data type: float
640      ;
[218]641      ; example: ref_mag = 0.05
642      ;
[190]643      ; default:   0.05
644      ;***************************************************
645      if(.not. isvar("ref_mag"))then
646     
647         
648         ref_mag = 0.05
649         
650         
651      end if             
652      ;***************************************************
[194]653
[190]654   end if
655
656   ;******************************************************
657   ; parameters used by PROFILES
658   ;******************************************************
659   
[194]660   if (script .EQ. "profiles")then
661
[190]662      ;***************************************************
[218]663      ; REQUIRED --file_1-- 1ST INPUT FILE
[190]664      ;
[218]665      ; 1st input file produced by PALM; if there is more than one file for all timesteps of a job chain,
666      ; declare path and file name without cycle number and ".nc" (first and last cycle numbers are given with the parameters 'start_f' and 'end_f');
667      ; otherwise declare path and full file name
[190]668      ;
669      ; data type: string
670      ;
[218]671      ; example: file_1 = "/path_to_file/file_pr"      if you use more than one cycle number
672      ;          file_1 = "/path_to_file/file_pr.4.nc" if you use one file (e.g. with cycle number 4)
673      ;
[190]674      ; default:   "File in"
675      ;***************************************************
[218]676      if(.not. isvar("file_1"))then
677
678
[267]679         file_1 = "File in"
[218]680         
681         
682      end if
683      ;***************************************************
684      ; REQUIRED --start_f_1-- START OF CYCLIC NUMBER OF THE 1ST INPUT FILE
685      ;
686      ; if there is more than one file for all timesteps of a job chain, declare the first cyclicnumber which contains timesteps you'd like to use
687      ;
688      ; data type: integer
689      ;
[236]690      ; example:   3 (if first file: example_pr.3.nc) and 0 (if first file: example_pr.nc)
[218]691      ;
692      ; default:   -1 
693      ;***************************************************
694      if (.not. isvar("start_f_1"))then 
[190]695     
[218]696         
697         start_f_1 = -1
698         
699         
700      end if
701      ;***************************************************
702      ; REQUIRED --end_f_1-- END OF CYCLIC NUMBER OF THE 1ST INPUT FILE
703      ;
704      ; if there is more than one file for all timesteps of a job chain, declare the last cyclicnumber which contains timesteps you'd like to use
705      ;
706      ; data type: integer
707      ;
[236]708      ; example:   48 (if last file: example_pr.48.nc) and 0 (if last file: example_pr.nc)
[218]709      ;
710      ; default:   -1 
711      ;***************************************************
712      if (.not. isvar("end_f_1"))then 
[190]713     
[218]714         
[236]715         end_f_1 = -1
[190]716         
717         
718      end if
719      ;***************************************************
720      ; OPTIONAL --format_out-- OUTPUT FORMAT
721      ;
722      ; supported file formats: x11, pdf, ps, eps, epsi or ncgm
723      ;
724      ; data type: string
725      ;
726      ; default:   "x11"
727      ;***************************************************
728      if (.not. isvar("format_out"))then         
729     
730     
731         format_out = "x11"
732         
733         
734      end if     
735      ;***************************************************
736      ; OPTIONAL --file_out-- OUTPUT FILE
737      ;
[218]738      ; declare path and name of the output file
[190]739      ;
740      ; data type: string
741      ;
[194]742      ; default:   "~/test_pr"
[190]743      ;***************************************************
744      if (.not. isvar("file_out"))then 
745     
746       
747         file_out = "~/test_pr"
748         
749         
750      end if     
751      ;***************************************************
[218]752      ; OPTIONAL --no_columns-- NUMBER OF COLUMNS
[190]753      ;
754      ; number of plots in one row
755      ;
756      ; data type: integer
757      ;
758      ; default:   1
759      ;***************************************************
760      if (.not. isvar("no_columns"))then         
761     
762     
763         no_columns = 1
764         
765         
766      end if     
767      ;***************************************************
[218]768      ; OPTIONAL --no_rows-- NUMBER OF ROWS
[190]769      ;
770      ; number of plots in one column
771      ;
772      ; data type: integer
773      ;
774      ; default:   2
775      ;***************************************************
[218]776      if (.not. isvar("no_rows"))then   
[190]777     
778       
[218]779         no_rows = 2
[190]780         
781         
782      end if     
783      ;***************************************************
784      ; OPTIONAL --var-- OUTPUT VARIABLES
785      ;
[218]786      ; names of output variables; inidcate them with one comma before and after each variable
[190]787      ;
788      ; data type: string
[218]789      ;
[342]790      ; example: var = ",u,v,w,";
[190]791      ;
[218]792      ; default:   "all" (all available variables are plotted)
[190]793      ;***************************************************
794      if (.not. isvar("var"))then
795     
796         
797         var = "all"
798         
799         
[219]800      end if
801      ;***************************************************
802      ; OPTIONAL --legend-- SWITCHES ON A LEGEND
803      ;
804      ; a legend is switched on [=1] or off [=0]
805      ;
806      ; data type: integer
807      ;
808      ; example: legend = 1
809      ;
810      ; default:   1
811      ;***************************************************
812      if (.not. isvar("legend"))then
813     
814         
[236]815         legend = 1
[219]816         
817         
[190]818      end if   
819      ;***************************************************
820      ; OPTIONAL ---no_files-- NUMBER OF INPUT FILES
821      ;
[218]822      ; up to 6 input files of different runs can be used; all input files must contain the same variables and dimensionalties;
823      ; identical variables are merged in one plot;
[190]824      ; combining or overlaying of any variables is not feasible;
[218]825      ; an extra legend (besides the time step legend) is drawn where you can explicitily name the items
[190]826      ;
827      ; data type: integer
828      ;
829      ; default:   1
830      ;***************************************************
831      if (.not. isvar("no_files"))then
832     
833         
834         no_files = 1
835         
836         
837      end if     
838      ;***************************************************
839      ; OPTIONAL --name_legend_1-- 1st LEGEND ITEM
840      ;
841      ; if no_files > 1: name of 1st item in extra legend
842      ;
843      ; data type: string
844      ;
845      ; default:   "File 1"
846      ;***************************************************
847      if (.not. isvar("name_legend_1"))then
848     
849           
850         name_legend_1 = "File 1"
851         
852         
[218]853      end if
[190]854      ;***************************************************
[218]855      ; REQUIRED if no_files > 1 --file_2-- 2ND INPUT FILE
[190]856      ;
[218]857      ; 2nd input file produced by PALM; if there is more than one file for all timesteps of a job chain,
858      ; declare path and file name without cycle number and ".nc" (first and last cycle numbers are given with the parameters 'start_f' and 'end_f');
859      ; otherwise declare path and full file name
[190]860      ;
861      ; data type: string
862      ;
[218]863      ; example: file_2 = "/path_to_file/file_pr"      if you use more than one cycle number
864      ;          file_2 = "/path_to_file/file_pr.4.nc" if you use one file (e.g. with cycle number 4)
865      ;
[190]866      ; default:   "File in"
867      ;***************************************************
[218]868      if(.not. isvar("file_2"))then
869
870
871         file_2 = "File in"
872         
873         
874      end if
875      ;***************************************************
876      ; REQUIRED --start_f_2-- START OF CYCLIC NUMBER OF THE 2ND INPUT FILE
877      ;
878      ; if there is more than one file for all timesteps of a job chain, declare the first cyclicnumber which contains timesteps you'd like to use
879      ;
880      ; data type: integer
881      ;
882      ; example:   3 (if first file: example_ts.3.nc)
883      ;
884      ; default:   -1 
885      ;***************************************************
886      if (.not. isvar("start_f_2"))then 
[190]887     
888         
[218]889         start_f_2 = -1
[190]890         
891         
[218]892      end if
[190]893      ;***************************************************
[218]894      ; REQUIRED --end_f_2-- END OF CYCLIC NUMBER OF THE 2ND INPUT FILE
895      ;
896      ; if there is more than one file for all timesteps of a job chain, declare the last cyclicnumber which contains timesteps you'd like to use
897      ;
898      ; data type: integer
899      ;
900      ; example:   48 (if last file: example_ts.48.nc)
901      ;
902      ; default:   -1 
903      ;***************************************************
904      if (.not. isvar("end_f_2"))then 
905     
906         
907         end_f_2 = -1
908         
909         
910      end if             
911      ;***************************************************
[190]912      ; OPTIONAL --name_legend_2-- 2nd LEGEND ITEM
913      ;
914      ; if no_files > 1: name of 2nd item in extra legend
915      ;
916      ; data type: string
917      ;
918      ; default:   "File 2"
919      ;***************************************************
920      if (.not. isvar("name_legend_2"))then   
921     
922         
923         name_legend_2 = "File 2"
924         
925         
[218]926      end if
[190]927      ;***************************************************
[218]928      ; REQUIRED if no_files > 2 --file_3-- 3RD INPUT FILE
[190]929      ;
[218]930      ; 3rd input file produced by PALM; if there is more than one file for all timesteps of a job chain,
931      ; declare path and file name without cycle number and ".nc" (first and last cycle numbers are given with the parameters 'start_f' and 'end_f');
932      ; otherwise declare path and full file name
[190]933      ;
934      ; data type: string
935      ;
[218]936      ; example: file_3 = "/path_to_file/file_pr"      if you use more than one cycle number
937      ;          file_3 = "/path_to_file/file_pr.4.nc" if you use one file (e.g. with cycle number 4)
938      ;
[190]939      ; default:   "File in"
940      ;***************************************************
[218]941      if(.not. isvar("file_3"))then
942
943
944         file_3 = "File in"
[190]945         
946         
[218]947      end if
[190]948      ;***************************************************
[218]949      ; REQUIRED --start_f_3-- START OF CYCLIC NUMBER OF THE 3RD INPUT FILE
[190]950      ;
[218]951      ; if there is more than one file for all timesteps of a job chain, declare the first cyclicnumber which contains timesteps you'd like to use
[190]952      ;
[218]953      ; data type: integer
[190]954      ;
[218]955      ; example:   3 (if first file: example_ts.3.nc)
956      ;
957      ; default:   -1 
[190]958      ;***************************************************
[218]959      if (.not. isvar("start_f_3"))then 
[190]960     
[218]961         
962         start_f_3 = -1
[190]963         
964         
[218]965      end if
[190]966      ;***************************************************
[218]967      ; REQUIRED --end_f_3-- END OF CYCLIC NUMBER OF THE 3RD INPUT FILE
[190]968      ;
[218]969      ; if there is more than one file for all timesteps of a job chain, declare the last cyclicnumber which contains timesteps you'd like to use
[190]970      ;
[218]971      ; data type: integer
[190]972      ;
[218]973      ; example:   48 (if last file: example_ts.48.nc)
974      ;
975      ; default:   -1 
[190]976      ;***************************************************
[218]977      if (.not. isvar("end_f_3"))then 
[190]978     
[218]979         
980         end_f_3 = -1
[190]981         
982         
[218]983      end if   
[190]984      ;***************************************************
[218]985      ; OPTIONAL --name_legend_3-- 3rd LEGEND ITEM
[190]986      ;
[218]987      ; if no_files > 2: name of 3rd item in extra legend
[190]988      ;
989      ; data type: string
990      ;
[218]991      ; default:   "File 3"
[190]992      ;***************************************************
[218]993      if (.not. isvar("name_legend_3"))then
[190]994     
[218]995           
996         name_legend_3 = "File 3"
[190]997         
998         
[218]999      end if
[190]1000      ;***************************************************
[218]1001      ; REQUIRED if no_files > 3 --file_4-- 4TH INPUT FILE
[190]1002      ;
[218]1003      ; 4th input file produced by PALM; if there is more than one file for all timesteps of a job chain,
1004      ; declare path and file name without cycle number and ".nc" (first and last cycle numbers are given with the parameters 'start_f' and 'end_f');
1005      ; otherwise declare path and full file name
[190]1006      ;
1007      ; data type: string
1008      ;
[218]1009      ; example: file_4 = "/path_to_file/file_pr"      if you use more than one cycle number
1010      ;          file_4 = "/path_to_file/file_pr.4.nc" if you use one file (e.g. with cycle number 4)
1011      ;
[190]1012      ; default:   "File in"
1013      ;***************************************************
[218]1014      if(.not. isvar("file_4"))then
1015
1016
1017         file_4 = "File in"
[190]1018         
1019         
[218]1020      end if
[190]1021      ;***************************************************
[218]1022      ; REQUIRED --start_f_4-- START OF CYCLIC NUMBER OF THE 4TH INPUT FILE
[190]1023      ;
[218]1024      ; if there is more than one file for all timesteps of a job chain, declare the first cyclicnumber which contains timesteps you'd like to use
[190]1025      ;
[218]1026      ; data type: integer
[190]1027      ;
[218]1028      ; example:   3 (if first file: example_ts.3.nc)
1029      ;
1030      ; default:   -1 
[190]1031      ;***************************************************
[218]1032      if (.not. isvar("start_f_4"))then 
[190]1033     
[218]1034         
1035         start_f_4 = -1
[190]1036         
1037         
[218]1038      end if
[190]1039      ;***************************************************
[218]1040      ; REQUIRED --end_f_4-- END OF CYCLIC NUMBER OF THE 4TH INPUT FILE
[190]1041      ;
[218]1042      ; if there is more than one file for all timesteps of a job chain, declare the last cyclicnumber which contains timesteps you'd like to use
[190]1043      ;
[218]1044      ; data type: integer
[190]1045      ;
[218]1046      ; example:   48 (if last file: example_ts.48.nc)
1047      ;
1048      ; default:   -1 
[190]1049      ;***************************************************
[218]1050      if (.not. isvar("end_f_4"))then 
[190]1051     
[218]1052         
1053         end_f_4 = -1
[190]1054         
1055         
[218]1056      end if 
[190]1057      ;***************************************************
[218]1058      ; OPTIONAL --name_legend_4-- 4th LEGEND ITEM
[190]1059      ;
[218]1060      ; if no_files > 3: name of 4th item in extra legend
[190]1061      ;
1062      ; data type: string
1063      ;
[218]1064      ; default:   "File 4"
[190]1065      ;***************************************************
[218]1066      if (.not. isvar("name_legend_4"))then   
[190]1067     
[218]1068       
1069         name_legend_4 = "File 4"
[190]1070         
1071         
[218]1072      end if
[190]1073      ;***************************************************
[218]1074      ; REQUIRED if no_files > 4 --file_5-- 5TH INPUT FILE
[190]1075      ;
[218]1076      ; 5th input file produced by PALM; if there is more than one file for all timesteps of a job chain,
1077      ; declare path and file name without cycle number and ".nc" (first and last cycle numbers are given with the parameters 'start_f' and 'end_f');
1078      ; otherwise declare path and full file name
[190]1079      ;
1080      ; data type: string
1081      ;
[218]1082      ; example: file_5 = "/path_to_file/file_pr"      if you use more than one cycle number
1083      ;          file_5 = "/path_to_file/file_pr.4.nc" if you use one file (e.g. with cycle number 4)
1084      ;
[190]1085      ; default:   "File in"
1086      ;***************************************************
[218]1087      if(.not. isvar("file_5"))then
1088
1089
1090         file_5 = "File in"
[190]1091         
1092         
[218]1093      end if
[190]1094      ;***************************************************
[218]1095      ; REQUIRED --start_f_5-- START OF CYCLIC NUMBER OF THE 5TH INPUT FILE
[190]1096      ;
[218]1097      ; if there is more than one file for all timesteps of a job chain, declare the first cyclicnumber which contains timesteps you'd like to use
[190]1098      ;
[218]1099      ; data type: integer
[190]1100      ;
[218]1101      ; example:   3 (if first file: example_ts.3.nc)
1102      ;
1103      ; default:   -1 
[190]1104      ;***************************************************
[218]1105      if (.not. isvar("start_f_5"))then 
[190]1106     
[218]1107         
1108         start_f_5 = -1
[190]1109         
1110         
[218]1111      end if
[190]1112      ;***************************************************
[218]1113      ; REQUIRED --end_f_5-- END OF CYCLIC NUMBER OF THE 5TH INPUT FILE
[190]1114      ;
[218]1115      ; if there is more than one file for all timesteps of a job chain, declare the last cyclicnumber which contains timesteps you'd like to use
[190]1116      ;
[218]1117      ; data type: integer
[190]1118      ;
[218]1119      ; example:   48 (if last file: example_ts.48.nc)
1120      ;
1121      ; default:   -1 
[190]1122      ;***************************************************
[218]1123      if (.not. isvar("end_f_5"))then 
[190]1124     
[218]1125         
1126         end_f_5 = -1
[190]1127         
1128         
[218]1129      end if     
[190]1130      ;***************************************************
[218]1131      ; OPTIONAL --name_legend_5-- 5th LEGEND ITEM
[190]1132      ;
[218]1133      ; if no_files > 4: name of 5th item in extra legend
[190]1134      ;
1135      ; data type: string
1136      ;
[218]1137      ; default:   "File 5"
[190]1138      ;***************************************************
[218]1139      if (.not. isvar("name_legend_5"))then
[190]1140     
[218]1141           
1142         name_legend_5 = "File 5"
[190]1143         
1144         
[218]1145      end if
[190]1146      ;***************************************************
[218]1147      ; REQUIRED if no_files > 5 --file_6-- 6TH INPUT FILE
[190]1148      ;
[218]1149      ; 6th input file produced by PALM; if there is more than one file for all timesteps of a job chain,
1150      ; declare path and file name without cycle number and ".nc" (first and last cycle numbers are given with the parameters 'start_f' and 'end_f');
1151      ; otherwise declare path and full file name
[190]1152      ;
1153      ; data type: string
1154      ;
[218]1155      ; example: file_6 = "/path_to_file/file_pr"      if you use more than one cycle number
1156      ;          file_6 = "/path_to_file/file_pr.4.nc" if you use one file (e.g. with cycle number 4)
1157      ;
[190]1158      ; default:   "File in"
1159      ;***************************************************
[218]1160      if(.not. isvar("file_6"))then
1161
1162
1163         file_6 = "File in"
[190]1164         
1165         
[218]1166      end if
[190]1167      ;***************************************************
[218]1168      ; REQUIRED --start_f_6-- START OF CYCLIC NUMBER OF THE 6TH INPUT FILE
[190]1169      ;
[218]1170      ; if there is more than one file for all timesteps of a job chain, declare the first cyclicnumber which contains timesteps you'd like to use
[190]1171      ;
[218]1172      ; data type: integer
[190]1173      ;
[218]1174      ; example:   3 (if first file: example_ts.3.nc)
1175      ;
1176      ; default:   -1 
[190]1177      ;***************************************************
[218]1178      if (.not. isvar("start_f_6"))then 
[190]1179     
[218]1180         
1181         start_f_6 = -1
[190]1182         
1183         
[218]1184      end if
[190]1185      ;***************************************************
[218]1186      ; REQUIRED --end_f_6-- END OF CYCLIC NUMBER OF THE 6TH INPUT FILE
[190]1187      ;
[218]1188      ; if there is more than one file for all timesteps of a job chain, declare the last cyclicnumber which contains timesteps you'd like to use
[190]1189      ;
[218]1190      ; data type: integer
[190]1191      ;
[218]1192      ; example:   48 (if last file: example_ts.48.nc)
1193      ;
1194      ; default:   -1 
[190]1195      ;***************************************************
[218]1196      if (.not. isvar("end_f_6"))then 
[190]1197     
[218]1198         
1199         end_f_6 = -1
[190]1200         
1201         
[218]1202      end if                     
[190]1203      ;***************************************************
[218]1204      ; OPTIONAL --name_legend_6-- 6TH LEGEND ITEM
[190]1205      ;
[218]1206      ; if no_files > 5: name of 6th item in extra legend
[190]1207      ;
1208      ; data type: string
1209      ;
[218]1210      ; default:   "File 6"
[190]1211      ;***************************************************
[218]1212      if (.not. isvar("name_legend_6"))then
[190]1213     
[218]1214           
1215         name_legend_6 = "File 6"
[190]1216         
1217         
[218]1218      end if             
[190]1219      ;***************************************************
[218]1220      ; OPTIONAL --start_time_step-- FIRST TIME STEP
[190]1221      ;
[218]1222      ; first time step of plot; there is no need to specify a precise time value from the input file,
1223      ; 'start_time_step' is rounded to the next existent time step
[190]1224      ;
[218]1225      ; data type: double; dimension: [hour]
[190]1226      ;
[218]1227      ; example:   start_time_step = 0.5
1228      ;
1229      ; default:   -1.d (first available time step)
[190]1230      ;***************************************************
[218]1231      if (.not. isvar("start_time_step"))then   
[190]1232     
[218]1233       
1234         start_time_step = -1.d
[190]1235         
1236         
1237      end if     
1238      ;***************************************************
[218]1239      ; OPTIONAL --end_time_step-- LAST TIME STEP
[190]1240      ;
[218]1241      ; last time step of plot; there is no need to specify a precise time value from the input file,
1242      ; 'end_time_step' is rounded to the next existent time step
[190]1243      ;
[218]1244      ; data type: double; dimension: [hour]
[190]1245      ;
[218]1246      ; example:   end_time_step = 2.0
1247      ;
1248      ; default:   -1.d (last available time step)
[190]1249      ;***************************************************
[218]1250      if (.not. isvar("end_time_step"))then
[190]1251     
[218]1252         
[267]1253         end_time_step = -1.d   
[190]1254         
1255         
[218]1256      end if
[190]1257      ;***************************************************
[218]1258      ; OPTIONAL --start_x-- STARTVALUE IN X-DIRECTION 
[190]1259      ;
[218]1260      ; if 3D data is used for profiles you can choose a startvalue in x-direction for horizontal averaging
[190]1261      ;
[218]1262      ; data type: integer; dimension [grippoint]
[190]1263      ;
[218]1264      ; example: start_x = 0
1265      ;
1266      ; default:   0 (minimum of range)
[190]1267      ;***************************************************
[218]1268      if (.not. isvar("start_x"))then   
[190]1269     
[218]1270         
1271         start_x = 0
[190]1272         
1273         
[218]1274      end if
[190]1275      ;***************************************************
[218]1276      ; OPTIONAL --end_x-- ENDVALUE IN X-DIRECTION 
[190]1277      ;
[218]1278      ; if 3D data is used for profiles you can choose an endvalue in x-direction for horizontal averaging
[190]1279      ;
[218]1280      ; data type: integer; dimension [grippoint]
[190]1281      ;
[218]1282      ; example: end_x = 200
1283      ;
1284      ; default:   -1 (maximum of range excluding ghostpoint)
[190]1285      ;***************************************************
[218]1286      if (.not. isvar("end_x"))then   
[190]1287     
[218]1288         
1289         end_x = -1
[190]1290         
1291         
[218]1292      end if
[190]1293      ;***************************************************
[218]1294      ; OPTIONAL --start_y-- STARTVALUE IN Y-DIRECTION 
[190]1295      ;
[218]1296      ; if 3D data is used for profiles you can choose a startvalue in y-direction for horizontal averaging
[190]1297      ;
[218]1298      ; data type: integer; dimension [grippoint]
[190]1299      ;
[218]1300      ; example: start_y = 0
1301      ;
1302      ; default:   0 (minimum of range)
[190]1303      ;***************************************************
[218]1304      if (.not. isvar("start_y"))then   
[190]1305     
[218]1306         
1307         start_y = 0
[190]1308         
1309         
[218]1310      end if
[190]1311      ;***************************************************
[218]1312      ; OPTIONAL --end_y-- ENDVALUE IN Y-DIRECTION 
[190]1313      ;
[218]1314      ; if 3D data is used for profiles you can choose an endvalue in y-direction for horizontal averaging
[190]1315      ;
[218]1316      ; data type: integer; dimension [grippoint]
[190]1317      ;
[218]1318      ; example: end_y = 200
1319      ;
1320      ; default:   -1 (maximum of range excluding ghostpoint)
[190]1321      ;***************************************************
[218]1322      if (.not. isvar("end_y"))then   
[190]1323     
[218]1324         
1325         end_y = -1
[190]1326         
1327         
[218]1328      end if     
[190]1329      ;***************************************************
1330      ; OPTIONAL --xs-- MINIMUM X-AXIS
1331      ;
1332      ; value for minimum of x-axis
1333      ;
1334      ; data type: float; dimension of variable
1335      ;
[218]1336      ; example: xs = 300. (e.g. if var=",pt")
1337      ;
[190]1338      ; default:   -1. (minimum of range)
1339      ;***************************************************
1340      if (.not. isvar("xs"))then   
1341     
1342         
1343         xs = -1.
1344         
1345         
1346      end if     
1347      ;***************************************************
1348      ; OPTIONAL --xe-- MAXIMUM X-AXIS
1349      ;
1350      ; value for maximum of x-axis
1351      ;
1352      ; data type: float; dimension of variable
1353      ;
[218]1354      ; example: xe = 302. (e.g. if var=",pt")
1355      ;
[190]1356      ; default:   -1. (maximum of range)
1357      ;***************************************************
1358      if (.not. isvar("xe"))then 
1359     
1360         
1361         xe = -1.
1362         
1363         
1364      end if     
1365      ;***************************************************
1366      ; OPTIONAL --min_z-- MINIMUM Z-AXIS
1367      ;
1368      ; value for minimum height of z-axis
1369      ;
1370      ; data type: double; dimension: [meter]
1371      ;
[218]1372      ; example: min_z = 0.0
1373      ;
[190]1374      ; default:   -1.d (related to the minimum of z-axis in input file)
1375      ;***************************************************
1376      if (.not. isvar("min_z"))then   
1377     
1378         
1379         min_z = -1.d
1380         
1381         
1382      end if     
1383      ;***************************************************
1384      ; OPTIONAL --max_z-- MAXIMUM Z-AXIS
1385      ;
1386      ; value for maximum height of z-axis
1387      ;
1388      ; data type: double; dimension: [meter]
1389      ;
[218]1390      ; example: max_z = 1000.0
1391      ;
[190]1392      ; default:   -1.d (related to the maximum of z-axis in input file)
1393      ;***************************************************
1394      if (.not. isvar("max_z"))then   
1395     
1396         
1397         max_z = -1.d
1398         
1399         
1400      end if     
1401      ;***************************************************
[218]1402      ; OPTIONAL --log_z-- LOGARITHMIC SCALE OF Z-AXIS
[190]1403      ;
[218]1404      ; logarithmic scale for z-axis is switched on [=1] or off [=0]
[190]1405      ;
1406      ; data type: integer
1407      ;
[218]1408      ; example: log_z = 0
1409      ;
[190]1410      ; default:   0
1411      ;***************************************************
[218]1412      if (.not. isvar("log_z"))then
[190]1413     
1414           
[218]1415         log_z = 0
[190]1416         
1417         
1418      end if     
1419      ;***************************************************
[218]1420      ; OPTIONAL --norm_z-- NORMALISING Z-AXIS
[190]1421      ;
[218]1422      ; value for normalising the z-axis
[190]1423      ;
1424      ; data type: float
1425      ;
[218]1426      ; example: norm_z = 1.
1427      ;
1428      ; default:   1. (no normalising)
[190]1429      ;***************************************************
[218]1430      if (.not. isvar("norm_z"))then
[190]1431     
1432           
[218]1433         norm_z = 1.
[190]1434         
1435         
1436      end if     
1437      ;***************************************************
1438      ; OPTIONAL --over-- OVERLAYING
1439      ;
[218]1440      ; predefined overlaying of standard variables is switched on [=1] or off [=0];
[190]1441      ; this feature cannot be used with statistic regions
1442      ;
1443      ; data type: integer
1444      ;
[218]1445      ; example: over = 0
1446      ;
[190]1447      ; default:   0
1448      ;***************************************************
1449      if (.not. isvar("over"))then
1450     
1451         
1452         over = 0
1453         
1454         
1455      end if     
1456      ;***************************************************
1457      ; OPTIONAL --combine-- COMBINING
1458      ;
1459      ; combining of two or three individual variables is possible and switched on [=1] or off[=0]
1460      ;
1461      ; data type: integer
1462      ;
[218]1463      ; example: combine = 0
1464      ;
[190]1465      ; default:   0
1466      ;***************************************************
1467      if (.not. isvar("combine"))then 
1468     
1469         
1470         combine = 0
1471         
1472         
1473      end if     
1474      ;***************************************************
1475      ; REQUIRED IF combine=1 --number_comb-- NUMBER FOR COMBINING
1476      ;
1477      ; number of variables for combining; 2 or 3 is valid
1478      ;
1479      ; data type: integer
1480      ;
[218]1481      ; example: number_comb = 2
1482      ;
[190]1483      ; default:   -1
1484      ;***************************************************
1485      if (.not. isvar("number_comb"))then
1486     
1487           
1488         number_comb = -1
1489         
1490         
1491      end if     
1492      ;***************************************************
1493      ; REQUIRED IF combine=1 --c_var-- VARIABLES FOR COMBINING
1494      ;
[218]1495      ; names of variables; inidcate them with one comma before and after each variable;
[190]1496      ;
1497      ; data type: string
1498      ;
[218]1499      ; example: c_var = ",u,v,"
1500      ;
[190]1501      ; default:   "c_variables"
1502      ;***************************************************
1503      if (.not. isvar("c_var"))then
1504     
1505           
1506         c_var = "c_variables"
1507         
1508         
1509      end if     
1510      ;***************************************************
1511      ; OPTIONAL --black-- BLACK OR COLOR LINES
1512      ;
1513      ; colored [=0] or black and white [=1] plots
1514      ;
1515      ; data type: integer
1516      ;
[218]1517      ; example: black = 0
1518      ;
[190]1519      ; default:   0
1520      ;***************************************************
1521      if (.not. isvar("black"))then
1522     
1523           
1524         black = 0
1525         
1526         
1527      end if     
1528      ;***************************************************
1529      ; OPTIONAL --dash-- DASHED LINES
1530      ;
1531      ; use of different line patterns [=1] or continous lines [=0] for different time steps
1532      ;
1533      ; data type: integer
1534      ;
[218]1535      ; example: dash = 0
1536      ;
[190]1537      ; default:   0
1538      ;***************************************************
1539      if (.not. isvar("dash"))then     
1540     
1541       
1542         dash = 0     
1543         
1544         
[218]1545      end if
1546      ;***************************************************
1547      ; OPTIONAL --font_size-- FONT SIZE OF STRINGS
1548      ;
1549      ; font size can be changed to fit to the current plot
1550      ;
1551      ; data type: float
1552      ;
1553      ; example: font_size = 0.02
1554      ;
1555      ; default:   0.02
1556      ;***************************************************
1557      if(.not. isvar("font_size"))then
1558     
1559         
1560         font_size = 0.02
1561         
1562         
1563      end if
1564      ;***************************************************
1565      ; OPTIONAL --font_size_legend-- FONT SIZE OF LEGEND STRINGS
1566      ;
1567      ; font size of the legend can be changed to fit to the current plot
1568      ;
1569      ; data type: float
1570      ;
1571      ; example: font_size_legend = 0.2
1572      ;
1573      ; default:   0.2
1574      ;***************************************************
1575      if(.not. isvar("font_size_legend"))then
1576     
1577         
1578         font_size_legend = 0.2
1579         
1580         
[190]1581      end if     
1582      ;***************************************************
1583       
1584   end if
[194]1585
[190]1586   ;******************************************************
1587   ; parameters used by SPECTRA
1588   ;******************************************************
1589   
[194]1590   if (script .EQ. "spectra") then
1591
[190]1592      ;***************************************************
1593      ; REQUIRED --file_1-- INPUT FILE
1594      ;
[218]1595      ; input file produced by PALM; if there is more than one file for all timesteps of a job chain,
1596      ; declare path and file name without cycle number and ".nc" (first and last cycle numbers are given with the parameters 'start_f' and 'end_f');
1597      ; otherwise declare path and full file name
[190]1598      ;
1599      ; data type: string
1600      ;
[218]1601      ; example: file_1 = "/path_to_file/file_sp"      if you use more than one cycle number
1602      ;          file_1 = "/path_to_file/file_sp.4.nc" if you use one file (e.g. with cycle number 4)
1603      ;
[190]1604      ; default:   "File in"
1605      ;***************************************************
[218]1606      if(.not. isvar("file_1"))then
1607
1608
1609         file_1 = "File in"
1610         
1611         
1612      end if
1613      ;***************************************************
1614      ; REQUIRED if more than one file of a job chain --start_f-- START OF CYCLIC NUMBER
1615      ;
1616      ; if there is more than one file for all timesteps of a job chain, declare the first cyclicnumber which contains timesteps you'd like to use
1617      ;
1618      ; data type: integer
1619      ;
[236]1620      ; example:   start_f = 3 (if first file: example_sp.3.nc) and 0 (if first file: example_sp.nc)
[218]1621      ;
1622      ; default:   -1 
1623      ;***************************************************
1624      if (.not. isvar("start_f"))then 
[190]1625     
1626         
[218]1627         start_f = -1
[190]1628         
1629         
[218]1630      end if
[190]1631      ;***************************************************
[218]1632      ; REQUIRED if more than one file of a job chain --end_f-- END OF CYCLIC NUMBER
1633      ;
1634      ; if there is more than one file for all timesteps of a job chain, declare the last cyclicnumber which contains timesteps you'd like to use
1635      ;
1636      ; data type: integer
1637      ;
[236]1638      ; example:   end_f = 48 (if last file: example_sp.48.nc) and 0 (if last file: example_sp.nc)
[218]1639      ;
1640      ; default:   -1 
1641      ;***************************************************
1642      if (.not. isvar("end_f"))then 
1643     
1644         
1645         end_f = -1
1646         
1647         
1648      end if
1649      ;***************************************************
[190]1650      ; OPTIONAL --format_out-- OUTPUT FORMAT
1651      ;
[218]1652      ; format of the output file; supported file formats: x11, pdf, ps, eps, epsi or ncgm
[190]1653      ;
1654      ; data type: string
1655      ;
[218]1656      ; example: format_out = "pdf"
1657      ;
[190]1658      ; default:   "x11"
1659      ;***************************************************
1660      if (.not. isvar("format_out"))then       
1661     
1662       
1663         format_out = "x11"
1664         
1665         
1666      end if     
1667      ;***************************************************
1668      ; OPTIONAL --file_out-- OUTPUT FILE
1669      ;
[218]1670      ; path and name of the output file
[190]1671      ;
1672      ; data type: string
1673      ;
[218]1674      ; example: file_out = "/home/path_to_output/test_sp"
1675      ;
[194]1676      ; default:   "~/test_sp"
[190]1677      ;***************************************************
1678      if (.not. isvar("file_out"))then 
1679     
1680       
1681         file_out = "~/test_sp"
1682         
1683         
1684      end if     
1685      ;***************************************************
[218]1686      ; OPTIONAL --no_columns-- NUMBER OF COLUMNS
[190]1687      ;
1688      ; number of plots in one row
1689      ;
1690      ; data type: integer
[218]1691      ;
1692      ; example: no_columns = 1
[190]1693      ;
1694      ; default:   1
1695      ;***************************************************
1696      if (.not. isvar("no_columns"))then         
1697     
1698     
1699         no_columns = 1
1700         
1701         
1702      end if     
1703      ;***************************************************
[218]1704      ; OPTIONAL --no_rows-- NUMBER OF ROWS
[190]1705      ;
1706      ; number of plots in one column
1707      ;
1708      ; data type: integer
[218]1709      ;
1710      ; example: no_rows = 2
[190]1711      ;
1712      ; default:   2
1713      ;***************************************************
[218]1714      if (.not. isvar("no_rows"))then
[190]1715     
1716         
[218]1717         no_rows = 2
[190]1718         
1719         
1720      end if     
1721      ;***************************************************
1722      ; OPTIONAL --var-- OUTPUT VARIABLES
1723      ;
[218]1724      ; names of output variables; inidcate them with one comma before and after each variable
[190]1725      ;
1726      ; data type: string
[218]1727      ;
[342]1728      ; example: var = ",u,v,w,"
[190]1729      ;
[218]1730      ; default:   "all" (all available variables are plotted)
[190]1731      ;***************************************************
1732      if (.not. isvar("var"))then
1733     
1734         
1735         var = "all"
1736         
1737         
1738      end if     
1739      ;***************************************************
1740      ; OPTIONAL --height_level-- HEIGHT LEVELS
1741      ;
[218]1742      ; defines if all levels or selected levels are output; a 1D array with up to 100 elements
1743      ; from 0 to 99 must be indicated
[190]1744      ;
1745      ; data type: integer array
1746      ;
[218]1747      ; example: height_level=(/0,3,7/)
1748      ;
1749      ; default:   (/-1/) (all levels are output)
[190]1750      ;***************************************************
1751      if (.not. isvar("height_level"))then
1752     
1753         
1754         height_level = (/-1/)
1755         
1756         
1757      end if     
1758      ;***************************************************
1759      ; OPTIONAL --sort-- TYPE OF SORTING
1760      ;
[218]1761      ; defines if all heights [="height"] or all timesteps [="time"] are merged in one plot
[190]1762      ;
1763      ; data type: string
1764      ;
[218]1765      ; example: sort = "height"
1766      ;
[190]1767      ; default:   "height"
1768      ;***************************************************
1769      if (.not. isvar("sort"))then
1770     
1771         
1772         sort = "height"
1773         
1774         
1775      end if     
1776      ;***************************************************
1777      ; OPTIONAL --start_time_step-- FIRST TIME STEP
1778      ;
[218]1779      ; first time step of plot; there is no need to specify a precise time value from the input file,
1780      ; 'start_time_step' is rounded to the next existent time step
[190]1781      ;
1782      ; data type: double; dimension: [hour]
1783      ;
[218]1784      ; example:   start_time_step = 0.5
1785      ;
[190]1786      ; default:   -1.d (first available time step)
1787      ;***************************************************
1788      if (.not. isvar("start_time_step"))then
1789     
1790         
1791         start_time_step = -1.d
1792         
1793         
1794      end if     
1795      ;***************************************************
1796      ; OPTIONAL --end_time_step-- LAST TIME STEP
1797      ;
[218]1798      ; last time step of plot; there is no need to specify a precise time value from the input file,
1799      ; 'end_time_step' is rounded to the next existent time step
[190]1800      ;
1801      ; data type: double; dimension: [hour]
1802      ;
[218]1803      ; example:   end_time_step = 2.0
1804      ;
[190]1805      ; default:   -1.d (last available time step)
1806      ;***************************************************
1807      if (.not. isvar("end_time_step"))then
1808     
1809         
1810         end_time_step = -1.d
1811         
1812         
1813      end if   
1814      ;***************************************************
1815      ; OPTIONAL --black-- BLACK OR COLOR LINES
1816      ;
1817      ; colored [=0] or black and white [=1] plots
1818      ;
1819      ; data type: integer
1820      ;
[218]1821      ; example: black = 0
1822      ;
[190]1823      ; default:   0
1824      ;***************************************************
1825      if (.not. isvar("black"))then
1826     
1827           
1828         black = 0
1829         
1830         
1831      end if     
1832      ;***************************************************
1833      ; OPTIONAL --dash-- DASHED LINES
1834      ;
1835      ; use of different line patterns [=1] or continous lines [=0]
1836      ;
1837      ; data type: integer
1838      ;
[218]1839      ; example: dash = 0
1840      ;
[190]1841      ; default:   0
1842      ;***************************************************
1843      if (.not. isvar("dash"))then   
1844     
1845         
1846         dash = 0
1847         
1848         
1849      end if
1850      ;***************************************************
[218]1851      ; OPTIONAL --log_x-- LOGARITHMIC SCALE X-AXIS
[190]1852      ;
[218]1853      ; logarithmic scale for x-axis is switched on [=1] or off [=0]
[190]1854      ;
1855      ; data type: integer
1856      ;
[218]1857      ; example: log_x = 1
1858      ;
[190]1859      ; default:   1
1860      ;***************************************************
[218]1861      if (.not. isvar("log_x"))then   
[190]1862     
1863         
[218]1864         log_x = 1
[190]1865         
1866         
1867      end if     
1868      ;***************************************************
[218]1869      ; OPTIONAL --log_y-- LOGARITHMIC SCALE Y-AXIS
[190]1870      ;
[218]1871      ; logarithmic scale for y-axis is switched on [=1] or off [=0]
[190]1872      ;
1873      ; data type: integer
1874      ;
[218]1875      ; example: log_y = 1
1876      ;
[190]1877      ; default:   1
1878      ;***************************************************
[218]1879      if (.not. isvar("log_y"))then   
[190]1880     
1881         
[218]1882         log_y = 1
[190]1883         
1884         
1885      end if     
1886      ;***************************************************
[218]1887      ; OPTIONAL --norm_x-- NORMALISING X-AXIS
[190]1888      ;
1889      ; value for normalising the x-axis
1890      ;
1891      ; data type: float
1892      ;
[218]1893      ; example: norm_x = 1
1894      ;
[190]1895      ; default:   1. (no normalising)
1896      ;***************************************************
[218]1897      if (.not. isvar("norm_x"))then   
[190]1898     
1899         
[218]1900         norm_x = 1.
[190]1901         
1902         
[218]1903      end if
1904      ;***************************************************
1905      ; OPTIONAL --norm_height-- NORMALISING X-AXIS WITH HEIGHT
1906      ;
1907      ; normalising the x-axis with the height of each spectra is switched on [=1] or off [=0]
1908      ;
1909      ; data type: integer
1910      ;
1911      ; example: norm_height = 0
1912      ;
1913      ; default:   0 (no normalising)
1914      ;***************************************************
1915      if (.not. isvar("norm_height"))then   
1916     
1917         
1918         norm_height = 0
1919         
1920         
[190]1921      end if     
1922      ;***************************************************
[218]1923      ; OPTIONAL --norm_y-- NORMALISE Y-AXIS
[190]1924      ;
1925      ; value for normalising the y-axis
1926      ;
1927      ; data type: float
1928      ;
[218]1929      ; example: norm_y = 1.
1930      ;
[190]1931      ; default:   1. (no normalising)
1932      ;***************************************************
[218]1933      if (.not. isvar("norm_y"))then     
[190]1934     
1935       
[218]1936         norm_y = 1.
[190]1937         
1938         
[218]1939      end if
[190]1940      ;***************************************************
[218]1941      ; OPTIONAL --unit_x--unit_y-- UNITS OF X-, Y-AXES
1942      ;
1943      ; unit of the x-axis can be set if norm_x is unequal 1, otherwise the unit is [1/m]; by default no unit is set for the y-axis
1944      ;
1945      ; data type: string,
1946      ;
1947      ; example: unit_x = "100/m"
1948      ;
1949      ; default:   " "
1950      ;***************************************************
1951      if(.not. isvar("unit_x"))then     
1952         
1953         unit_x = " "   
1954         
1955      end if
1956      if(.not. isvar("unit_y"))then     
1957         
1958         unit_y = " "   
1959         
1960      end if
1961      ;***************************************************
1962      ; OPTIONAL --font_size-- FONT SIZE OF STRINGS
1963      ;
1964      ; font size can be changed to fit to the current plot
1965      ;
1966      ; data type: float
1967      ;
1968      ; example: font_size = 0.02
1969      ;
1970      ; default:   0.02
1971      ;***************************************************
1972      if(.not. isvar("font_size"))then
1973     
1974         
1975         font_size = 0.02
1976         
1977         
1978      end if
1979      ;***************************************************
1980      ; OPTIONAL --font_size_legend-- FONT SIZE OF LEGEND STRINGS
1981      ;
1982      ; font size of the legend can be changed to fit to the current plot
1983      ;
1984      ; data type: float
1985      ;
1986      ; example: font_size_legend = 0.2
1987      ;
1988      ; default:   0.2
1989      ;***************************************************
1990      if(.not. isvar("font_size_legend"))then
1991     
1992         
1993         font_size_legend = 0.2
1994         
1995         
1996      end if     
1997      ;***************************************************
[190]1998     
1999   end if
[194]2000
[190]2001   ;******************************************************
2002   ; parameters used by TIMESERIES
2003   ;******************************************************
2004
[194]2005   if (script .EQ. "timeseries") then
2006
[190]2007      ;***************************************************
2008      ; REQUIRED --file_1-- INPUT FILE
2009      ;
[218]2010      ; input file produced by PALM; if there is more than one file for all timesteps of a job chain,
2011      ; declare path and file name without cycle number and ".nc" (first and last cycle numbers are given with the parameters 'start_f' and 'end_f');
2012      ; otherwise declare path and full file name
[190]2013      ;
2014      ; data type: string
2015      ;
[218]2016      ; example: file_1 = "/path_to_file/file_ts"      if you use more than one cycle number
2017      ;          file_1 = "/path_to_file/file_ts.4.nc" if you use one file (e.g. with cycle number 4)
2018      ;
[190]2019      ; default:   "File in"
2020      ;***************************************************
[218]2021      if(.not. isvar("file_1"))then
2022
2023
[267]2024         file_1 = "File in"
[218]2025         
2026         
2027      end if
2028      ;***************************************************
2029      ; REQUIRED if more than one file of a job chain --start_f-- START OF CYCLIC NUMBER
2030      ;
2031      ; if there is more than one file for all timesteps of a job chain, declare the first cyclicnumber which contains timesteps you'd like to use
2032      ;
2033      ; data type: integer
2034      ;
[236]2035      ; example:   start_f = 3 (if first file: example_ts.3.nc) and 0 (if first file: example_ts.nc)
[218]2036      ;
2037      ; default:   -1 
2038      ;***************************************************
2039      if (.not. isvar("start_f"))then 
[190]2040     
2041         
[218]2042         start_f = -1
[190]2043         
2044         
[218]2045      end if
[190]2046      ;***************************************************
[218]2047      ; REQUIRED if more than one file of a job chain --end_f-- END OF CYCLIC NUMBER
2048      ;
2049      ; if there is more than one file for all timesteps of a job chain, declare the last cyclicnumber which contains timesteps you'd like to use
2050      ;
2051      ; data type: integer
2052      ;
[236]2053      ; example:   end_f = 48 (if last file: example_ts.48.nc) and 0 (if last file: example_ts.nc)
[218]2054      ;
2055      ; default:   -1 
2056      ;***************************************************
2057      if (.not. isvar("end_f"))then 
2058     
2059         
2060         end_f = -1
2061         
2062         
2063      end if
2064      ;***************************************************
[190]2065      ; OPTIONAL --format_out-- OUTPUT FORMAT
2066      ;
[218]2067      ; format of the output file; supported file formats: x11, pdf, ps, eps, epsi or ncgm
[190]2068      ;
2069      ; data type: string
2070      ;
[218]2071      ; example: format_out = "pdf"
2072      ;
[190]2073      ; default:   "x11"
2074      ;***************************************************
2075      if (.not. isvar("format_out"))then         
2076     
2077     
2078         format_out = "x11"
2079         
2080         
2081      end if     
2082      ;***************************************************
2083      ; OPTIONAL --file_out-- OUTPUT FILE
2084      ;
[218]2085      ; path and name of the output file
[190]2086      ;
2087      ; data type: string
2088      ;
[218]2089      ; example: file_out = "/home/path_to_output/test_ts"
2090      ;
[194]2091      ; default:   "~/test_ts"
[190]2092      ;***************************************************
2093      if (.not. isvar("file_out"))then 
2094     
2095       
2096         file_out = "~/test_ts"
2097         
2098         
2099      end if     
2100      ;***************************************************
[218]2101      ; OPTIONAL --no_columns-- NUMBER OF COLUMNS
[190]2102      ;
2103      ; number of plots in one row
2104      ;
2105      ; data type: integer
[218]2106      ;
2107      ; example: no_columns = 1
[190]2108      ;
2109      ; default:   1
2110      ;***************************************************
2111      if (.not. isvar("no_columns"))then       
2112     
2113       
2114         no_columns = 1
2115         
2116         
2117      end if     
2118      ;***************************************************
[218]2119      ; OPTIONAL --no_rows-- NUMBER OF ROWS
[190]2120      ;
2121      ; number of plots in one column
2122      ;
2123      ; data type: integer
[218]2124      ;
2125      ; example: no_rows = 2
[190]2126      ;
2127      ; default:   2
2128      ;***************************************************
[218]2129      if (.not. isvar("no_rows"))then
[190]2130     
2131         
[267]2132         no_rows = 1
[190]2133         
2134         
2135      end if     
2136      ;***************************************************
2137      ; OPTIONAL --var-- OUTPUT VARIABLES
2138      ;
[218]2139      ; names of output variables; inidcate them with one comma before and after each variable
[190]2140      ;
2141      ; data type: string
[218]2142      ;
[342]2143      ; example: var = ",u,v,w,"
[190]2144      ;
[218]2145      ; default:   "all" (all available variables are plotted)
[190]2146      ;***************************************************
2147      if (.not. isvar("var"))then
2148     
2149         
2150         var = "all"
2151         
2152         
2153      end if     
2154      ;***************************************************
2155      ; OPTIONAL --start_time_step-- FIRST TIME STEP
2156      ;
[218]2157      ; first time step of plot; there is no need to specify a precise time value from the input file,
2158      ; 'start_time_step' is rounded to the next existent time step
[190]2159      ;
2160      ; data type: double; dimension: [hour]
2161      ;
[218]2162      ; example:   start_time_step = 0.5
2163      ;
[190]2164      ; default:   -1.d (first available time step)
2165      ;***************************************************
2166      if (.not. isvar("start_time_step"))then
2167     
2168         
2169         start_time_step = -1.d
2170         
2171         
2172      end if     
2173      ;***************************************************
2174      ; OPTIONAL --end_time_step-- LAST TIME STEP
2175      ;
[218]2176      ; last time step of plot; there is no need to specify a precise time value from the input file,
2177      ; 'end_time_step' is rounded to the next existent time step
[190]2178      ;
2179      ; data type: double; dimension: [hour]
2180      ;
[218]2181      ; example:   end_time_step = 2.0
2182      ;
[190]2183      ; default:   -1.d (last available time step)
2184      ;***************************************************
2185      if (.not. isvar("end_time_step"))then
2186     
2187         
2188         end_time_step = -1.d
2189         
[267]2190
[190]2191      end if     
2192      ;***************************************************
2193      ; OPTIONAL --over-- OVERLAYING
2194      ;
[218]2195      ; predefined overlaying of standard variables are switched on [=1] or off [=0];
[190]2196      ; this feature cannot be used with statistic regions
2197      ;
2198      ; data type: integer
2199      ;
[218]2200      ; example: over = 0
2201      ;
[190]2202      ; default:   0
2203      ;***************************************************
2204      if (.not. isvar("over"))then
2205     
2206         
2207         over = 0
2208         
2209         
[218]2210      end if
2211      ;***************************************************
2212      ; OPTIONAL --font_size-- FONT SIZE OF STRINGS
2213      ;
2214      ; font size can be changed to fit to the current plot
2215      ;
2216      ; data type: float
2217      ;
2218      ; example: font_size = 0.07
2219      ;
2220      ; default:   0.07
2221      ;***************************************************
2222      if(.not. isvar("font_size"))then
2223     
2224         
2225         font_size = 0.07
2226         
2227         
[190]2228      end if
2229      ;***************************************************
[218]2230      ; OPTIONAL --norm_t-- NORMALISING X-AXIS OF TIMESERIES PLOTS (T-AXIS)
2231      ;
2232      ; normalising the x-axis with the given value; the unit can explicitly set; by default no normalising and unit is set to [s]
2233      ;
2234      ; data type: float
2235      ;
2236      ; example: norm_t = 3600
2237      ;
2238      ; default:   1.
2239      ;***************************************************
2240      if(.not. isvar("normt"))then
2241     
2242         
2243         norm_t = 1.
2244         
2245         
2246      end if
2247      ;***************************************************
2248      ; OPTIONAL --unit_t-- UNIT OF X-AXIS OF TIMESERIES PLOTS (T-AXIS)
2249      ;
2250      ; unit of the x-axis can be set; by default unit is set to [s]
2251      ;
2252      ; data type: string
2253      ;
2254      ; example: unit_t = "h"
2255      ;
2256      ; default:   " "
2257      ;***************************************************
2258      if(.not. isvar("unitt"))then
2259     
2260         
2261         unit_t = " "
2262         
2263         
2264      end if
2265      ;***************************************************
[190]2266
2267   end if
2268         
2269;*********************************************************       
2270   
2271end
Note: See TracBrowser for help on using the repository browser.