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

Last change on this file since 235 was 219, checked in by letzel, 16 years ago
  • NCL scripts in trunk/SCRIPTS/NCL updated
File size: 65.4 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
[218]32         file_1 = "file_1"
[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      ;
43      ; example:   start_f = 3 (if first file: example_ts.3.nc)
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      ;
61      ; example:   end_f = 48 (if last file: example_ts.48.nc)
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      ;
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
679         file_1 = "File in"
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      ;
690      ; example:   3 (if first file: example_ts.3.nc)
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      ;
708      ; example:   48 (if last file: example_ts.48.nc)
709      ;
710      ; default:   -1 
711      ;***************************************************
712      if (.not. isvar("end_f_1"))then 
[190]713     
[218]714         
715         end_f_1 = -1
[190]716         
717         
718      end if
719      ;***************************************************
720      ; REQUIRED --prof3d-- 3D OR PROFILE DATA
721      ;
722      ; must be switched on [=1] if 3D data are used or switched off [=0] if profile data are used for profiles
723      ;
724      ; data type: integer
725      ;
726      ; default:   -1
727      ;***************************************************
728      if (.not. isvar("prof3d"))then 
729     
730         
731         prof3d = -1
732         
733         
734      end if     
735      ;***************************************************
736      ; OPTIONAL --format_out-- OUTPUT FORMAT
737      ;
738      ; supported file formats: x11, pdf, ps, eps, epsi or ncgm
739      ;
740      ; data type: string
741      ;
742      ; default:   "x11"
743      ;***************************************************
744      if (.not. isvar("format_out"))then         
745     
746     
747         format_out = "x11"
748         
749         
750      end if     
751      ;***************************************************
752      ; OPTIONAL --file_out-- OUTPUT FILE
753      ;
[218]754      ; declare path and name of the output file
[190]755      ;
756      ; data type: string
757      ;
[194]758      ; default:   "~/test_pr"
[190]759      ;***************************************************
760      if (.not. isvar("file_out"))then 
761     
762       
763         file_out = "~/test_pr"
764         
765         
766      end if     
767      ;***************************************************
[218]768      ; OPTIONAL --no_columns-- NUMBER OF COLUMNS
[190]769      ;
770      ; number of plots in one row
771      ;
772      ; data type: integer
773      ;
774      ; default:   1
775      ;***************************************************
776      if (.not. isvar("no_columns"))then         
777     
778     
779         no_columns = 1
780         
781         
782      end if     
783      ;***************************************************
[218]784      ; OPTIONAL --no_rows-- NUMBER OF ROWS
[190]785      ;
786      ; number of plots in one column
787      ;
788      ; data type: integer
789      ;
790      ; default:   2
791      ;***************************************************
[218]792      if (.not. isvar("no_rows"))then   
[190]793     
794       
[218]795         no_rows = 2
[190]796         
797         
798      end if     
799      ;***************************************************
800      ; OPTIONAL --var-- OUTPUT VARIABLES
801      ;
[218]802      ; names of output variables; inidcate them with one comma before and after each variable
[190]803      ;
804      ; data type: string
[218]805      ;
806      ; example: var = ",u,v,w";
[190]807      ;
[218]808      ; default:   "all" (all available variables are plotted)
[190]809      ;***************************************************
810      if (.not. isvar("var"))then
811     
812         
813         var = "all"
814         
815         
[219]816      end if
817      ;***************************************************
818      ; OPTIONAL --legend-- SWITCHES ON A LEGEND
819      ;
820      ; a legend is switched on [=1] or off [=0]
821      ;
822      ; data type: integer
823      ;
824      ; example: legend = 1
825      ;
826      ; default:   1
827      ;***************************************************
828      if (.not. isvar("legend"))then
829     
830         
831         legend = 0
832         
833         
[190]834      end if   
835      ;***************************************************
836      ; OPTIONAL ---no_files-- NUMBER OF INPUT FILES
837      ;
[218]838      ; up to 6 input files of different runs can be used; all input files must contain the same variables and dimensionalties;
839      ; identical variables are merged in one plot;
[190]840      ; combining or overlaying of any variables is not feasible;
[218]841      ; an extra legend (besides the time step legend) is drawn where you can explicitily name the items
[190]842      ;
843      ; data type: integer
844      ;
845      ; default:   1
846      ;***************************************************
847      if (.not. isvar("no_files"))then
848     
849         
850         no_files = 1
851         
852         
853      end if     
854      ;***************************************************
855      ; OPTIONAL --name_legend_1-- 1st LEGEND ITEM
856      ;
857      ; if no_files > 1: name of 1st item in extra legend
858      ;
859      ; data type: string
860      ;
861      ; default:   "File 1"
862      ;***************************************************
863      if (.not. isvar("name_legend_1"))then
864     
865           
866         name_legend_1 = "File 1"
867         
868         
[218]869      end if
[190]870      ;***************************************************
[218]871      ; REQUIRED if no_files > 1 --file_2-- 2ND INPUT FILE
[190]872      ;
[218]873      ; 2nd input file produced by PALM; if there is more than one file for all timesteps of a job chain,
874      ; 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');
875      ; otherwise declare path and full file name
[190]876      ;
877      ; data type: string
878      ;
[218]879      ; example: file_2 = "/path_to_file/file_pr"      if you use more than one cycle number
880      ;          file_2 = "/path_to_file/file_pr.4.nc" if you use one file (e.g. with cycle number 4)
881      ;
[190]882      ; default:   "File in"
883      ;***************************************************
[218]884      if(.not. isvar("file_2"))then
885
886
887         file_2 = "File in"
888         
889         
890      end if
891      ;***************************************************
892      ; REQUIRED --start_f_2-- START OF CYCLIC NUMBER OF THE 2ND INPUT FILE
893      ;
894      ; 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
895      ;
896      ; data type: integer
897      ;
898      ; example:   3 (if first file: example_ts.3.nc)
899      ;
900      ; default:   -1 
901      ;***************************************************
902      if (.not. isvar("start_f_2"))then 
[190]903     
904         
[218]905         start_f_2 = -1
[190]906         
907         
[218]908      end if
[190]909      ;***************************************************
[218]910      ; REQUIRED --end_f_2-- END OF CYCLIC NUMBER OF THE 2ND INPUT FILE
911      ;
912      ; 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
913      ;
914      ; data type: integer
915      ;
916      ; example:   48 (if last file: example_ts.48.nc)
917      ;
918      ; default:   -1 
919      ;***************************************************
920      if (.not. isvar("end_f_2"))then 
921     
922         
923         end_f_2 = -1
924         
925         
926      end if             
927      ;***************************************************
[190]928      ; OPTIONAL --name_legend_2-- 2nd LEGEND ITEM
929      ;
930      ; if no_files > 1: name of 2nd item in extra legend
931      ;
932      ; data type: string
933      ;
934      ; default:   "File 2"
935      ;***************************************************
936      if (.not. isvar("name_legend_2"))then   
937     
938         
939         name_legend_2 = "File 2"
940         
941         
[218]942      end if
[190]943      ;***************************************************
[218]944      ; REQUIRED if no_files > 2 --file_3-- 3RD INPUT FILE
[190]945      ;
[218]946      ; 3rd input file produced by PALM; if there is more than one file for all timesteps of a job chain,
947      ; 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');
948      ; otherwise declare path and full file name
[190]949      ;
950      ; data type: string
951      ;
[218]952      ; example: file_3 = "/path_to_file/file_pr"      if you use more than one cycle number
953      ;          file_3 = "/path_to_file/file_pr.4.nc" if you use one file (e.g. with cycle number 4)
954      ;
[190]955      ; default:   "File in"
956      ;***************************************************
[218]957      if(.not. isvar("file_3"))then
958
959
960         file_3 = "File in"
[190]961         
962         
[218]963      end if
[190]964      ;***************************************************
[218]965      ; REQUIRED --start_f_3-- START OF CYCLIC NUMBER OF THE 3RD INPUT FILE
[190]966      ;
[218]967      ; 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]968      ;
[218]969      ; data type: integer
[190]970      ;
[218]971      ; example:   3 (if first file: example_ts.3.nc)
972      ;
973      ; default:   -1 
[190]974      ;***************************************************
[218]975      if (.not. isvar("start_f_3"))then 
[190]976     
[218]977         
978         start_f_3 = -1
[190]979         
980         
[218]981      end if
[190]982      ;***************************************************
[218]983      ; REQUIRED --end_f_3-- END OF CYCLIC NUMBER OF THE 3RD INPUT FILE
[190]984      ;
[218]985      ; 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]986      ;
[218]987      ; data type: integer
[190]988      ;
[218]989      ; example:   48 (if last file: example_ts.48.nc)
990      ;
991      ; default:   -1 
[190]992      ;***************************************************
[218]993      if (.not. isvar("end_f_3"))then 
[190]994     
[218]995         
996         end_f_3 = -1
[190]997         
998         
[218]999      end if   
[190]1000      ;***************************************************
[218]1001      ; OPTIONAL --name_legend_3-- 3rd LEGEND ITEM
[190]1002      ;
[218]1003      ; if no_files > 2: name of 3rd item in extra legend
[190]1004      ;
1005      ; data type: string
1006      ;
[218]1007      ; default:   "File 3"
[190]1008      ;***************************************************
[218]1009      if (.not. isvar("name_legend_3"))then
[190]1010     
[218]1011           
1012         name_legend_3 = "File 3"
[190]1013         
1014         
[218]1015      end if
[190]1016      ;***************************************************
[218]1017      ; REQUIRED if no_files > 3 --file_4-- 4TH INPUT FILE
[190]1018      ;
[218]1019      ; 4th input file produced by PALM; if there is more than one file for all timesteps of a job chain,
1020      ; 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');
1021      ; otherwise declare path and full file name
[190]1022      ;
1023      ; data type: string
1024      ;
[218]1025      ; example: file_4 = "/path_to_file/file_pr"      if you use more than one cycle number
1026      ;          file_4 = "/path_to_file/file_pr.4.nc" if you use one file (e.g. with cycle number 4)
1027      ;
[190]1028      ; default:   "File in"
1029      ;***************************************************
[218]1030      if(.not. isvar("file_4"))then
1031
1032
1033         file_4 = "File in"
[190]1034         
1035         
[218]1036      end if
[190]1037      ;***************************************************
[218]1038      ; REQUIRED --start_f_4-- START OF CYCLIC NUMBER OF THE 4TH INPUT FILE
[190]1039      ;
[218]1040      ; 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]1041      ;
[218]1042      ; data type: integer
[190]1043      ;
[218]1044      ; example:   3 (if first file: example_ts.3.nc)
1045      ;
1046      ; default:   -1 
[190]1047      ;***************************************************
[218]1048      if (.not. isvar("start_f_4"))then 
[190]1049     
[218]1050         
1051         start_f_4 = -1
[190]1052         
1053         
[218]1054      end if
[190]1055      ;***************************************************
[218]1056      ; REQUIRED --end_f_4-- END OF CYCLIC NUMBER OF THE 4TH INPUT FILE
[190]1057      ;
[218]1058      ; 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]1059      ;
[218]1060      ; data type: integer
[190]1061      ;
[218]1062      ; example:   48 (if last file: example_ts.48.nc)
1063      ;
1064      ; default:   -1 
[190]1065      ;***************************************************
[218]1066      if (.not. isvar("end_f_4"))then 
[190]1067     
[218]1068         
1069         end_f_4 = -1
[190]1070         
1071         
[218]1072      end if 
[190]1073      ;***************************************************
[218]1074      ; OPTIONAL --name_legend_4-- 4th LEGEND ITEM
[190]1075      ;
[218]1076      ; if no_files > 3: name of 4th item in extra legend
[190]1077      ;
1078      ; data type: string
1079      ;
[218]1080      ; default:   "File 4"
[190]1081      ;***************************************************
[218]1082      if (.not. isvar("name_legend_4"))then   
[190]1083     
[218]1084       
1085         name_legend_4 = "File 4"
[190]1086         
1087         
[218]1088      end if
[190]1089      ;***************************************************
[218]1090      ; REQUIRED if no_files > 4 --file_5-- 5TH INPUT FILE
[190]1091      ;
[218]1092      ; 5th input file produced by PALM; if there is more than one file for all timesteps of a job chain,
1093      ; 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');
1094      ; otherwise declare path and full file name
[190]1095      ;
1096      ; data type: string
1097      ;
[218]1098      ; example: file_5 = "/path_to_file/file_pr"      if you use more than one cycle number
1099      ;          file_5 = "/path_to_file/file_pr.4.nc" if you use one file (e.g. with cycle number 4)
1100      ;
[190]1101      ; default:   "File in"
1102      ;***************************************************
[218]1103      if(.not. isvar("file_5"))then
1104
1105
1106         file_5 = "File in"
[190]1107         
1108         
[218]1109      end if
[190]1110      ;***************************************************
[218]1111      ; REQUIRED --start_f_5-- START OF CYCLIC NUMBER OF THE 5TH INPUT FILE
[190]1112      ;
[218]1113      ; 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]1114      ;
[218]1115      ; data type: integer
[190]1116      ;
[218]1117      ; example:   3 (if first file: example_ts.3.nc)
1118      ;
1119      ; default:   -1 
[190]1120      ;***************************************************
[218]1121      if (.not. isvar("start_f_5"))then 
[190]1122     
[218]1123         
1124         start_f_5 = -1
[190]1125         
1126         
[218]1127      end if
[190]1128      ;***************************************************
[218]1129      ; REQUIRED --end_f_5-- END OF CYCLIC NUMBER OF THE 5TH INPUT FILE
[190]1130      ;
[218]1131      ; 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]1132      ;
[218]1133      ; data type: integer
[190]1134      ;
[218]1135      ; example:   48 (if last file: example_ts.48.nc)
1136      ;
1137      ; default:   -1 
[190]1138      ;***************************************************
[218]1139      if (.not. isvar("end_f_5"))then 
[190]1140     
[218]1141         
1142         end_f_5 = -1
[190]1143         
1144         
[218]1145      end if     
[190]1146      ;***************************************************
[218]1147      ; OPTIONAL --name_legend_5-- 5th LEGEND ITEM
[190]1148      ;
[218]1149      ; if no_files > 4: name of 5th item in extra legend
[190]1150      ;
1151      ; data type: string
1152      ;
[218]1153      ; default:   "File 5"
[190]1154      ;***************************************************
[218]1155      if (.not. isvar("name_legend_5"))then
[190]1156     
[218]1157           
1158         name_legend_5 = "File 5"
[190]1159         
1160         
[218]1161      end if
[190]1162      ;***************************************************
[218]1163      ; REQUIRED if no_files > 5 --file_6-- 6TH INPUT FILE
[190]1164      ;
[218]1165      ; 6th input file produced by PALM; if there is more than one file for all timesteps of a job chain,
1166      ; 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');
1167      ; otherwise declare path and full file name
[190]1168      ;
1169      ; data type: string
1170      ;
[218]1171      ; example: file_6 = "/path_to_file/file_pr"      if you use more than one cycle number
1172      ;          file_6 = "/path_to_file/file_pr.4.nc" if you use one file (e.g. with cycle number 4)
1173      ;
[190]1174      ; default:   "File in"
1175      ;***************************************************
[218]1176      if(.not. isvar("file_6"))then
1177
1178
1179         file_6 = "File in"
[190]1180         
1181         
[218]1182      end if
[190]1183      ;***************************************************
[218]1184      ; REQUIRED --start_f_6-- START OF CYCLIC NUMBER OF THE 6TH INPUT FILE
[190]1185      ;
[218]1186      ; 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]1187      ;
[218]1188      ; data type: integer
[190]1189      ;
[218]1190      ; example:   3 (if first file: example_ts.3.nc)
1191      ;
1192      ; default:   -1 
[190]1193      ;***************************************************
[218]1194      if (.not. isvar("start_f_6"))then 
[190]1195     
[218]1196         
1197         start_f_6 = -1
[190]1198         
1199         
[218]1200      end if
[190]1201      ;***************************************************
[218]1202      ; REQUIRED --end_f_6-- END OF CYCLIC NUMBER OF THE 6TH INPUT FILE
[190]1203      ;
[218]1204      ; 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]1205      ;
[218]1206      ; data type: integer
[190]1207      ;
[218]1208      ; example:   48 (if last file: example_ts.48.nc)
1209      ;
1210      ; default:   -1 
[190]1211      ;***************************************************
[218]1212      if (.not. isvar("end_f_6"))then 
[190]1213     
[218]1214         
1215         end_f_6 = -1
[190]1216         
1217         
[218]1218      end if                     
[190]1219      ;***************************************************
[218]1220      ; OPTIONAL --name_legend_6-- 6TH LEGEND ITEM
[190]1221      ;
[218]1222      ; if no_files > 5: name of 6th item in extra legend
[190]1223      ;
1224      ; data type: string
1225      ;
[218]1226      ; default:   "File 6"
[190]1227      ;***************************************************
[218]1228      if (.not. isvar("name_legend_6"))then
[190]1229     
[218]1230           
1231         name_legend_6 = "File 6"
[190]1232         
1233         
[218]1234      end if             
[190]1235      ;***************************************************
[218]1236      ; OPTIONAL --start_time_step-- FIRST TIME STEP
[190]1237      ;
[218]1238      ; first time step of plot; there is no need to specify a precise time value from the input file,
1239      ; 'start_time_step' is rounded to the next existent time step
[190]1240      ;
[218]1241      ; data type: double; dimension: [hour]
[190]1242      ;
[218]1243      ; example:   start_time_step = 0.5
1244      ;
1245      ; default:   -1.d (first available time step)
[190]1246      ;***************************************************
[218]1247      if (.not. isvar("start_time_step"))then   
[190]1248     
[218]1249       
1250         start_time_step = -1.d
[190]1251         
1252         
1253      end if     
1254      ;***************************************************
[218]1255      ; OPTIONAL --end_time_step-- LAST TIME STEP
[190]1256      ;
[218]1257      ; last time step of plot; there is no need to specify a precise time value from the input file,
1258      ; 'end_time_step' is rounded to the next existent time step
[190]1259      ;
[218]1260      ; data type: double; dimension: [hour]
[190]1261      ;
[218]1262      ; example:   end_time_step = 2.0
1263      ;
1264      ; default:   -1.d (last available time step)
[190]1265      ;***************************************************
[218]1266      if (.not. isvar("end_time_step"))then
[190]1267     
[218]1268         
1269         end_time_step = -1.d     
[190]1270         
1271         
[218]1272      end if
[190]1273      ;***************************************************
[218]1274      ; OPTIONAL --start_x-- STARTVALUE IN X-DIRECTION 
[190]1275      ;
[218]1276      ; if 3D data is used for profiles you can choose a startvalue in x-direction for horizontal averaging
[190]1277      ;
[218]1278      ; data type: integer; dimension [grippoint]
[190]1279      ;
[218]1280      ; example: start_x = 0
1281      ;
1282      ; default:   0 (minimum of range)
[190]1283      ;***************************************************
[218]1284      if (.not. isvar("start_x"))then   
[190]1285     
[218]1286         
1287         start_x = 0
[190]1288         
1289         
[218]1290      end if
[190]1291      ;***************************************************
[218]1292      ; OPTIONAL --end_x-- ENDVALUE IN X-DIRECTION 
[190]1293      ;
[218]1294      ; if 3D data is used for profiles you can choose an endvalue in x-direction for horizontal averaging
[190]1295      ;
[218]1296      ; data type: integer; dimension [grippoint]
[190]1297      ;
[218]1298      ; example: end_x = 200
1299      ;
1300      ; default:   -1 (maximum of range excluding ghostpoint)
[190]1301      ;***************************************************
[218]1302      if (.not. isvar("end_x"))then   
[190]1303     
[218]1304         
1305         end_x = -1
[190]1306         
1307         
[218]1308      end if
[190]1309      ;***************************************************
[218]1310      ; OPTIONAL --start_y-- STARTVALUE IN Y-DIRECTION 
[190]1311      ;
[218]1312      ; if 3D data is used for profiles you can choose a startvalue in y-direction for horizontal averaging
[190]1313      ;
[218]1314      ; data type: integer; dimension [grippoint]
[190]1315      ;
[218]1316      ; example: start_y = 0
1317      ;
1318      ; default:   0 (minimum of range)
[190]1319      ;***************************************************
[218]1320      if (.not. isvar("start_y"))then   
[190]1321     
[218]1322         
1323         start_y = 0
[190]1324         
1325         
[218]1326      end if
[190]1327      ;***************************************************
[218]1328      ; OPTIONAL --end_y-- ENDVALUE IN Y-DIRECTION 
[190]1329      ;
[218]1330      ; if 3D data is used for profiles you can choose an endvalue in y-direction for horizontal averaging
[190]1331      ;
[218]1332      ; data type: integer; dimension [grippoint]
[190]1333      ;
[218]1334      ; example: end_y = 200
1335      ;
1336      ; default:   -1 (maximum of range excluding ghostpoint)
[190]1337      ;***************************************************
[218]1338      if (.not. isvar("end_y"))then   
[190]1339     
[218]1340         
1341         end_y = -1
[190]1342         
1343         
[218]1344      end if     
[190]1345      ;***************************************************
1346      ; OPTIONAL --xs-- MINIMUM X-AXIS
1347      ;
1348      ; value for minimum of x-axis
1349      ;
1350      ; data type: float; dimension of variable
1351      ;
[218]1352      ; example: xs = 300. (e.g. if var=",pt")
1353      ;
[190]1354      ; default:   -1. (minimum of range)
1355      ;***************************************************
1356      if (.not. isvar("xs"))then   
1357     
1358         
1359         xs = -1.
1360         
1361         
1362      end if     
1363      ;***************************************************
1364      ; OPTIONAL --xe-- MAXIMUM X-AXIS
1365      ;
1366      ; value for maximum of x-axis
1367      ;
1368      ; data type: float; dimension of variable
1369      ;
[218]1370      ; example: xe = 302. (e.g. if var=",pt")
1371      ;
[190]1372      ; default:   -1. (maximum of range)
1373      ;***************************************************
1374      if (.not. isvar("xe"))then 
1375     
1376         
1377         xe = -1.
1378         
1379         
1380      end if     
1381      ;***************************************************
1382      ; OPTIONAL --min_z-- MINIMUM Z-AXIS
1383      ;
1384      ; value for minimum height of z-axis
1385      ;
1386      ; data type: double; dimension: [meter]
1387      ;
[218]1388      ; example: min_z = 0.0
1389      ;
[190]1390      ; default:   -1.d (related to the minimum of z-axis in input file)
1391      ;***************************************************
1392      if (.not. isvar("min_z"))then   
1393     
1394         
1395         min_z = -1.d
1396         
1397         
1398      end if     
1399      ;***************************************************
1400      ; OPTIONAL --max_z-- MAXIMUM Z-AXIS
1401      ;
1402      ; value for maximum height of z-axis
1403      ;
1404      ; data type: double; dimension: [meter]
1405      ;
[218]1406      ; example: max_z = 1000.0
1407      ;
[190]1408      ; default:   -1.d (related to the maximum of z-axis in input file)
1409      ;***************************************************
1410      if (.not. isvar("max_z"))then   
1411     
1412         
1413         max_z = -1.d
1414         
1415         
1416      end if     
1417      ;***************************************************
[218]1418      ; OPTIONAL --log_z-- LOGARITHMIC SCALE OF Z-AXIS
[190]1419      ;
[218]1420      ; logarithmic scale for z-axis is switched on [=1] or off [=0]
[190]1421      ;
1422      ; data type: integer
1423      ;
[218]1424      ; example: log_z = 0
1425      ;
[190]1426      ; default:   0
1427      ;***************************************************
[218]1428      if (.not. isvar("log_z"))then
[190]1429     
1430           
[218]1431         log_z = 0
[190]1432         
1433         
1434      end if     
1435      ;***************************************************
[218]1436      ; OPTIONAL --norm_z-- NORMALISING Z-AXIS
[190]1437      ;
[218]1438      ; value for normalising the z-axis
[190]1439      ;
1440      ; data type: float
1441      ;
[218]1442      ; example: norm_z = 1.
1443      ;
1444      ; default:   1. (no normalising)
[190]1445      ;***************************************************
[218]1446      if (.not. isvar("norm_z"))then
[190]1447     
1448           
[218]1449         norm_z = 1.
[190]1450         
1451         
1452      end if     
1453      ;***************************************************
1454      ; OPTIONAL --over-- OVERLAYING
1455      ;
[218]1456      ; predefined overlaying of standard variables is switched on [=1] or off [=0];
[190]1457      ; this feature cannot be used with statistic regions
1458      ;
1459      ; data type: integer
1460      ;
[218]1461      ; example: over = 0
1462      ;
[190]1463      ; default:   0
1464      ;***************************************************
1465      if (.not. isvar("over"))then
1466     
1467         
1468         over = 0
1469         
1470         
1471      end if     
1472      ;***************************************************
1473      ; OPTIONAL --combine-- COMBINING
1474      ;
1475      ; combining of two or three individual variables is possible and switched on [=1] or off[=0]
1476      ;
1477      ; data type: integer
1478      ;
[218]1479      ; example: combine = 0
1480      ;
[190]1481      ; default:   0
1482      ;***************************************************
1483      if (.not. isvar("combine"))then 
1484     
1485         
1486         combine = 0
1487         
1488         
1489      end if     
1490      ;***************************************************
1491      ; REQUIRED IF combine=1 --number_comb-- NUMBER FOR COMBINING
1492      ;
1493      ; number of variables for combining; 2 or 3 is valid
1494      ;
1495      ; data type: integer
1496      ;
[218]1497      ; example: number_comb = 2
1498      ;
[190]1499      ; default:   -1
1500      ;***************************************************
1501      if (.not. isvar("number_comb"))then
1502     
1503           
1504         number_comb = -1
1505         
1506         
1507      end if     
1508      ;***************************************************
1509      ; REQUIRED IF combine=1 --c_var-- VARIABLES FOR COMBINING
1510      ;
[218]1511      ; names of variables; inidcate them with one comma before and after each variable;
[190]1512      ;
1513      ; data type: string
1514      ;
[218]1515      ; example: c_var = ",u,v,"
1516      ;
[190]1517      ; default:   "c_variables"
1518      ;***************************************************
1519      if (.not. isvar("c_var"))then
1520     
1521           
1522         c_var = "c_variables"
1523         
1524         
1525      end if     
1526      ;***************************************************
1527      ; OPTIONAL --black-- BLACK OR COLOR LINES
1528      ;
1529      ; colored [=0] or black and white [=1] plots
1530      ;
1531      ; data type: integer
1532      ;
[218]1533      ; example: black = 0
1534      ;
[190]1535      ; default:   0
1536      ;***************************************************
1537      if (.not. isvar("black"))then
1538     
1539           
1540         black = 0
1541         
1542         
1543      end if     
1544      ;***************************************************
1545      ; OPTIONAL --dash-- DASHED LINES
1546      ;
1547      ; use of different line patterns [=1] or continous lines [=0] for different time steps
1548      ;
1549      ; data type: integer
1550      ;
[218]1551      ; example: dash = 0
1552      ;
[190]1553      ; default:   0
1554      ;***************************************************
1555      if (.not. isvar("dash"))then     
1556     
1557       
1558         dash = 0     
1559         
1560         
[218]1561      end if
1562      ;***************************************************
1563      ; OPTIONAL --font_size-- FONT SIZE OF STRINGS
1564      ;
1565      ; font size can be changed to fit to the current plot
1566      ;
1567      ; data type: float
1568      ;
1569      ; example: font_size = 0.02
1570      ;
1571      ; default:   0.02
1572      ;***************************************************
1573      if(.not. isvar("font_size"))then
1574     
1575         
1576         font_size = 0.02
1577         
1578         
1579      end if
1580      ;***************************************************
1581      ; OPTIONAL --font_size_legend-- FONT SIZE OF LEGEND STRINGS
1582      ;
1583      ; font size of the legend can be changed to fit to the current plot
1584      ;
1585      ; data type: float
1586      ;
1587      ; example: font_size_legend = 0.2
1588      ;
1589      ; default:   0.2
1590      ;***************************************************
1591      if(.not. isvar("font_size_legend"))then
1592     
1593         
1594         font_size_legend = 0.2
1595         
1596         
[190]1597      end if     
1598      ;***************************************************
1599       
1600   end if
[194]1601
[190]1602   ;******************************************************
1603   ; parameters used by SPECTRA
1604   ;******************************************************
1605   
[194]1606   if (script .EQ. "spectra") then
1607
[190]1608      ;***************************************************
1609      ; REQUIRED --file_1-- INPUT FILE
1610      ;
[218]1611      ; input file produced by PALM; if there is more than one file for all timesteps of a job chain,
1612      ; 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');
1613      ; otherwise declare path and full file name
[190]1614      ;
1615      ; data type: string
1616      ;
[218]1617      ; example: file_1 = "/path_to_file/file_sp"      if you use more than one cycle number
1618      ;          file_1 = "/path_to_file/file_sp.4.nc" if you use one file (e.g. with cycle number 4)
1619      ;
[190]1620      ; default:   "File in"
1621      ;***************************************************
[218]1622      if(.not. isvar("file_1"))then
1623
1624
1625         file_1 = "File in"
1626         
1627         
1628      end if
1629      ;***************************************************
1630      ; REQUIRED if more than one file of a job chain --start_f-- START OF CYCLIC NUMBER
1631      ;
1632      ; 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
1633      ;
1634      ; data type: integer
1635      ;
1636      ; example:   start_f = 3 (if first file: example_ts.3.nc)
1637      ;
1638      ; default:   -1 
1639      ;***************************************************
1640      if (.not. isvar("start_f"))then 
[190]1641     
1642         
[218]1643         start_f = -1
[190]1644         
1645         
[218]1646      end if
[190]1647      ;***************************************************
[218]1648      ; REQUIRED if more than one file of a job chain --end_f-- END OF CYCLIC NUMBER
1649      ;
1650      ; 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
1651      ;
1652      ; data type: integer
1653      ;
1654      ; example:   end_f = 48 (if last file: example_ts.48.nc)
1655      ;
1656      ; default:   -1 
1657      ;***************************************************
1658      if (.not. isvar("end_f"))then 
1659     
1660         
1661         end_f = -1
1662         
1663         
1664      end if
1665      ;***************************************************
[190]1666      ; OPTIONAL --format_out-- OUTPUT FORMAT
1667      ;
[218]1668      ; format of the output file; supported file formats: x11, pdf, ps, eps, epsi or ncgm
[190]1669      ;
1670      ; data type: string
1671      ;
[218]1672      ; example: format_out = "pdf"
1673      ;
[190]1674      ; default:   "x11"
1675      ;***************************************************
1676      if (.not. isvar("format_out"))then       
1677     
1678       
1679         format_out = "x11"
1680         
1681         
1682      end if     
1683      ;***************************************************
1684      ; OPTIONAL --file_out-- OUTPUT FILE
1685      ;
[218]1686      ; path and name of the output file
[190]1687      ;
1688      ; data type: string
1689      ;
[218]1690      ; example: file_out = "/home/path_to_output/test_sp"
1691      ;
[194]1692      ; default:   "~/test_sp"
[190]1693      ;***************************************************
1694      if (.not. isvar("file_out"))then 
1695     
1696       
1697         file_out = "~/test_sp"
1698         
1699         
1700      end if     
1701      ;***************************************************
[218]1702      ; OPTIONAL --no_columns-- NUMBER OF COLUMNS
[190]1703      ;
1704      ; number of plots in one row
1705      ;
1706      ; data type: integer
[218]1707      ;
1708      ; example: no_columns = 1
[190]1709      ;
1710      ; default:   1
1711      ;***************************************************
1712      if (.not. isvar("no_columns"))then         
1713     
1714     
1715         no_columns = 1
1716         
1717         
1718      end if     
1719      ;***************************************************
[218]1720      ; OPTIONAL --no_rows-- NUMBER OF ROWS
[190]1721      ;
1722      ; number of plots in one column
1723      ;
1724      ; data type: integer
[218]1725      ;
1726      ; example: no_rows = 2
[190]1727      ;
1728      ; default:   2
1729      ;***************************************************
[218]1730      if (.not. isvar("no_rows"))then
[190]1731     
1732         
[218]1733         no_rows = 2
[190]1734         
1735         
1736      end if     
1737      ;***************************************************
1738      ; OPTIONAL --var-- OUTPUT VARIABLES
1739      ;
[218]1740      ; names of output variables; inidcate them with one comma before and after each variable
[190]1741      ;
1742      ; data type: string
[218]1743      ;
1744      ; example: var = ",u,v,w"
[190]1745      ;
[218]1746      ; default:   "all" (all available variables are plotted)
[190]1747      ;***************************************************
1748      if (.not. isvar("var"))then
1749     
1750         
1751         var = "all"
1752         
1753         
1754      end if     
1755      ;***************************************************
1756      ; OPTIONAL --height_level-- HEIGHT LEVELS
1757      ;
[218]1758      ; defines if all levels or selected levels are output; a 1D array with up to 100 elements
1759      ; from 0 to 99 must be indicated
[190]1760      ;
1761      ; data type: integer array
1762      ;
[218]1763      ; example: height_level=(/0,3,7/)
1764      ;
1765      ; default:   (/-1/) (all levels are output)
[190]1766      ;***************************************************
1767      if (.not. isvar("height_level"))then
1768     
1769         
1770         height_level = (/-1/)
1771         
1772         
1773      end if     
1774      ;***************************************************
1775      ; OPTIONAL --sort-- TYPE OF SORTING
1776      ;
[218]1777      ; defines if all heights [="height"] or all timesteps [="time"] are merged in one plot
[190]1778      ;
1779      ; data type: string
1780      ;
[218]1781      ; example: sort = "height"
1782      ;
[190]1783      ; default:   "height"
1784      ;***************************************************
1785      if (.not. isvar("sort"))then
1786     
1787         
1788         sort = "height"
1789         
1790         
1791      end if     
1792      ;***************************************************
1793      ; OPTIONAL --start_time_step-- FIRST TIME STEP
1794      ;
[218]1795      ; first time step of plot; there is no need to specify a precise time value from the input file,
1796      ; 'start_time_step' is rounded to the next existent time step
[190]1797      ;
1798      ; data type: double; dimension: [hour]
1799      ;
[218]1800      ; example:   start_time_step = 0.5
1801      ;
[190]1802      ; default:   -1.d (first available time step)
1803      ;***************************************************
1804      if (.not. isvar("start_time_step"))then
1805     
1806         
1807         start_time_step = -1.d
1808         
1809         
1810      end if     
1811      ;***************************************************
1812      ; OPTIONAL --end_time_step-- LAST TIME STEP
1813      ;
[218]1814      ; last time step of plot; there is no need to specify a precise time value from the input file,
1815      ; 'end_time_step' is rounded to the next existent time step
[190]1816      ;
1817      ; data type: double; dimension: [hour]
1818      ;
[218]1819      ; example:   end_time_step = 2.0
1820      ;
[190]1821      ; default:   -1.d (last available time step)
1822      ;***************************************************
1823      if (.not. isvar("end_time_step"))then
1824     
1825         
1826         end_time_step = -1.d
1827         
1828         
1829      end if   
1830      ;***************************************************
1831      ; OPTIONAL --black-- BLACK OR COLOR LINES
1832      ;
1833      ; colored [=0] or black and white [=1] plots
1834      ;
1835      ; data type: integer
1836      ;
[218]1837      ; example: black = 0
1838      ;
[190]1839      ; default:   0
1840      ;***************************************************
1841      if (.not. isvar("black"))then
1842     
1843           
1844         black = 0
1845         
1846         
1847      end if     
1848      ;***************************************************
1849      ; OPTIONAL --dash-- DASHED LINES
1850      ;
1851      ; use of different line patterns [=1] or continous lines [=0]
1852      ;
1853      ; data type: integer
1854      ;
[218]1855      ; example: dash = 0
1856      ;
[190]1857      ; default:   0
1858      ;***************************************************
1859      if (.not. isvar("dash"))then   
1860     
1861         
1862         dash = 0
1863         
1864         
1865      end if
1866      ;***************************************************
[218]1867      ; OPTIONAL --log_x-- LOGARITHMIC SCALE X-AXIS
[190]1868      ;
[218]1869      ; logarithmic scale for x-axis is switched on [=1] or off [=0]
[190]1870      ;
1871      ; data type: integer
1872      ;
[218]1873      ; example: log_x = 1
1874      ;
[190]1875      ; default:   1
1876      ;***************************************************
[218]1877      if (.not. isvar("log_x"))then   
[190]1878     
1879         
[218]1880         log_x = 1
[190]1881         
1882         
1883      end if     
1884      ;***************************************************
[218]1885      ; OPTIONAL --log_y-- LOGARITHMIC SCALE Y-AXIS
[190]1886      ;
[218]1887      ; logarithmic scale for y-axis is switched on [=1] or off [=0]
[190]1888      ;
1889      ; data type: integer
1890      ;
[218]1891      ; example: log_y = 1
1892      ;
[190]1893      ; default:   1
1894      ;***************************************************
[218]1895      if (.not. isvar("log_y"))then   
[190]1896     
1897         
[218]1898         log_y = 1
[190]1899         
1900         
1901      end if     
1902      ;***************************************************
[218]1903      ; OPTIONAL --norm_x-- NORMALISING X-AXIS
[190]1904      ;
1905      ; value for normalising the x-axis
1906      ;
1907      ; data type: float
1908      ;
[218]1909      ; example: norm_x = 1
1910      ;
[190]1911      ; default:   1. (no normalising)
1912      ;***************************************************
[218]1913      if (.not. isvar("norm_x"))then   
[190]1914     
1915         
[218]1916         norm_x = 1.
[190]1917         
1918         
[218]1919      end if
1920      ;***************************************************
1921      ; OPTIONAL --norm_height-- NORMALISING X-AXIS WITH HEIGHT
1922      ;
1923      ; normalising the x-axis with the height of each spectra is switched on [=1] or off [=0]
1924      ;
1925      ; data type: integer
1926      ;
1927      ; example: norm_height = 0
1928      ;
1929      ; default:   0 (no normalising)
1930      ;***************************************************
1931      if (.not. isvar("norm_height"))then   
1932     
1933         
1934         norm_height = 0
1935         
1936         
[190]1937      end if     
1938      ;***************************************************
[218]1939      ; OPTIONAL --norm_y-- NORMALISE Y-AXIS
[190]1940      ;
1941      ; value for normalising the y-axis
1942      ;
1943      ; data type: float
1944      ;
[218]1945      ; example: norm_y = 1.
1946      ;
[190]1947      ; default:   1. (no normalising)
1948      ;***************************************************
[218]1949      if (.not. isvar("norm_y"))then     
[190]1950     
1951       
[218]1952         norm_y = 1.
[190]1953         
1954         
[218]1955      end if
[190]1956      ;***************************************************
[218]1957      ; OPTIONAL --unit_x--unit_y-- UNITS OF X-, Y-AXES
1958      ;
1959      ; 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
1960      ;
1961      ; data type: string,
1962      ;
1963      ; example: unit_x = "100/m"
1964      ;
1965      ; default:   " "
1966      ;***************************************************
1967      if(.not. isvar("unit_x"))then     
1968         
1969         unit_x = " "   
1970         
1971      end if
1972      if(.not. isvar("unit_y"))then     
1973         
1974         unit_y = " "   
1975         
1976      end if
1977      ;***************************************************
1978      ; OPTIONAL --font_size-- FONT SIZE OF STRINGS
1979      ;
1980      ; font size can be changed to fit to the current plot
1981      ;
1982      ; data type: float
1983      ;
1984      ; example: font_size = 0.02
1985      ;
1986      ; default:   0.02
1987      ;***************************************************
1988      if(.not. isvar("font_size"))then
1989     
1990         
1991         font_size = 0.02
1992         
1993         
1994      end if
1995      ;***************************************************
1996      ; OPTIONAL --font_size_legend-- FONT SIZE OF LEGEND STRINGS
1997      ;
1998      ; font size of the legend can be changed to fit to the current plot
1999      ;
2000      ; data type: float
2001      ;
2002      ; example: font_size_legend = 0.2
2003      ;
2004      ; default:   0.2
2005      ;***************************************************
2006      if(.not. isvar("font_size_legend"))then
2007     
2008         
2009         font_size_legend = 0.2
2010         
2011         
2012      end if     
2013      ;***************************************************
[190]2014     
2015   end if
[194]2016
[190]2017   ;******************************************************
2018   ; parameters used by TIMESERIES
2019   ;******************************************************
2020
[194]2021   if (script .EQ. "timeseries") then
2022
[190]2023      ;***************************************************
2024      ; REQUIRED --file_1-- INPUT FILE
2025      ;
[218]2026      ; input file produced by PALM; if there is more than one file for all timesteps of a job chain,
2027      ; 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');
2028      ; otherwise declare path and full file name
[190]2029      ;
2030      ; data type: string
2031      ;
[218]2032      ; example: file_1 = "/path_to_file/file_ts"      if you use more than one cycle number
2033      ;          file_1 = "/path_to_file/file_ts.4.nc" if you use one file (e.g. with cycle number 4)
2034      ;
[190]2035      ; default:   "File in"
2036      ;***************************************************
[218]2037      if(.not. isvar("file_1"))then
2038
2039
2040         file_1 = "File in"
2041         
2042         
2043      end if
2044      ;***************************************************
2045      ; REQUIRED if more than one file of a job chain --start_f-- START OF CYCLIC NUMBER
2046      ;
2047      ; 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
2048      ;
2049      ; data type: integer
2050      ;
2051      ; example:   start_f = 3 (if first file: example_ts.3.nc)
2052      ;
2053      ; default:   -1 
2054      ;***************************************************
2055      if (.not. isvar("start_f"))then 
[190]2056     
2057         
[218]2058         start_f = -1
[190]2059         
2060         
[218]2061      end if
[190]2062      ;***************************************************
[218]2063      ; REQUIRED if more than one file of a job chain --end_f-- END OF CYCLIC NUMBER
2064      ;
2065      ; 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
2066      ;
2067      ; data type: integer
2068      ;
2069      ; example:   end_f = 48 (if last file: example_ts.48.nc)
2070      ;
2071      ; default:   -1 
2072      ;***************************************************
2073      if (.not. isvar("end_f"))then 
2074     
2075         
2076         end_f = -1
2077         
2078         
2079      end if
2080      ;***************************************************
[190]2081      ; OPTIONAL --format_out-- OUTPUT FORMAT
2082      ;
[218]2083      ; format of the output file; supported file formats: x11, pdf, ps, eps, epsi or ncgm
[190]2084      ;
2085      ; data type: string
2086      ;
[218]2087      ; example: format_out = "pdf"
2088      ;
[190]2089      ; default:   "x11"
2090      ;***************************************************
2091      if (.not. isvar("format_out"))then         
2092     
2093     
2094         format_out = "x11"
2095         
2096         
2097      end if     
2098      ;***************************************************
2099      ; OPTIONAL --file_out-- OUTPUT FILE
2100      ;
[218]2101      ; path and name of the output file
[190]2102      ;
2103      ; data type: string
2104      ;
[218]2105      ; example: file_out = "/home/path_to_output/test_ts"
2106      ;
[194]2107      ; default:   "~/test_ts"
[190]2108      ;***************************************************
2109      if (.not. isvar("file_out"))then 
2110     
2111       
2112         file_out = "~/test_ts"
2113         
2114         
2115      end if     
2116      ;***************************************************
[218]2117      ; OPTIONAL --no_columns-- NUMBER OF COLUMNS
[190]2118      ;
2119      ; number of plots in one row
2120      ;
2121      ; data type: integer
[218]2122      ;
2123      ; example: no_columns = 1
[190]2124      ;
2125      ; default:   1
2126      ;***************************************************
2127      if (.not. isvar("no_columns"))then       
2128     
2129       
2130         no_columns = 1
2131         
2132         
2133      end if     
2134      ;***************************************************
[218]2135      ; OPTIONAL --no_rows-- NUMBER OF ROWS
[190]2136      ;
2137      ; number of plots in one column
2138      ;
2139      ; data type: integer
[218]2140      ;
2141      ; example: no_rows = 2
[190]2142      ;
2143      ; default:   2
2144      ;***************************************************
[218]2145      if (.not. isvar("no_rows"))then
[190]2146     
2147         
[218]2148         no_rows = 2
[190]2149         
2150         
2151      end if     
2152      ;***************************************************
2153      ; OPTIONAL --var-- OUTPUT VARIABLES
2154      ;
[218]2155      ; names of output variables; inidcate them with one comma before and after each variable
[190]2156      ;
2157      ; data type: string
[218]2158      ;
2159      ; example: var = ",u,v,w"
[190]2160      ;
[218]2161      ; default:   "all" (all available variables are plotted)
[190]2162      ;***************************************************
2163      if (.not. isvar("var"))then
2164     
2165         
2166         var = "all"
2167         
2168         
2169      end if     
2170      ;***************************************************
2171      ; OPTIONAL --start_time_step-- FIRST TIME STEP
2172      ;
[218]2173      ; first time step of plot; there is no need to specify a precise time value from the input file,
2174      ; 'start_time_step' is rounded to the next existent time step
[190]2175      ;
2176      ; data type: double; dimension: [hour]
2177      ;
[218]2178      ; example:   start_time_step = 0.5
2179      ;
[190]2180      ; default:   -1.d (first available time step)
2181      ;***************************************************
2182      if (.not. isvar("start_time_step"))then
2183     
2184         
2185         start_time_step = -1.d
2186         
2187         
2188      end if     
2189      ;***************************************************
2190      ; OPTIONAL --end_time_step-- LAST TIME STEP
2191      ;
[218]2192      ; last time step of plot; there is no need to specify a precise time value from the input file,
2193      ; 'end_time_step' is rounded to the next existent time step
[190]2194      ;
2195      ; data type: double; dimension: [hour]
2196      ;
[218]2197      ; example:   end_time_step = 2.0
2198      ;
[190]2199      ; default:   -1.d (last available time step)
2200      ;***************************************************
2201      if (.not. isvar("end_time_step"))then
2202     
2203         
2204         end_time_step = -1.d
2205         
2206         
2207      end if     
2208      ;***************************************************
2209      ; OPTIONAL --over-- OVERLAYING
2210      ;
[218]2211      ; predefined overlaying of standard variables are switched on [=1] or off [=0];
[190]2212      ; this feature cannot be used with statistic regions
2213      ;
2214      ; data type: integer
2215      ;
[218]2216      ; example: over = 0
2217      ;
[190]2218      ; default:   0
2219      ;***************************************************
2220      if (.not. isvar("over"))then
2221     
2222         
2223         over = 0
2224         
2225         
[218]2226      end if
2227      ;***************************************************
2228      ; OPTIONAL --font_size-- FONT SIZE OF STRINGS
2229      ;
2230      ; font size can be changed to fit to the current plot
2231      ;
2232      ; data type: float
2233      ;
2234      ; example: font_size = 0.07
2235      ;
2236      ; default:   0.07
2237      ;***************************************************
2238      if(.not. isvar("font_size"))then
2239     
2240         
2241         font_size = 0.07
2242         
2243         
[190]2244      end if
2245      ;***************************************************
[218]2246      ; OPTIONAL --norm_t-- NORMALISING X-AXIS OF TIMESERIES PLOTS (T-AXIS)
2247      ;
2248      ; normalising the x-axis with the given value; the unit can explicitly set; by default no normalising and unit is set to [s]
2249      ;
2250      ; data type: float
2251      ;
2252      ; example: norm_t = 3600
2253      ;
2254      ; default:   1.
2255      ;***************************************************
2256      if(.not. isvar("normt"))then
2257     
2258         
2259         norm_t = 1.
2260         
2261         
2262      end if
2263      ;***************************************************
2264      ; OPTIONAL --unit_t-- UNIT OF X-AXIS OF TIMESERIES PLOTS (T-AXIS)
2265      ;
2266      ; unit of the x-axis can be set; by default unit is set to [s]
2267      ;
2268      ; data type: string
2269      ;
2270      ; example: unit_t = "h"
2271      ;
2272      ; default:   " "
2273      ;***************************************************
2274      if(.not. isvar("unitt"))then
2275     
2276         
2277         unit_t = " "
2278         
2279         
2280      end if
2281      ;***************************************************
[190]2282
2283   end if
2284         
2285;*********************************************************       
2286   
2287end
Note: See TracBrowser for help on using the repository browser.