source: palm/trunk/SCRIPTS/NCL/.ncl.config.default @ 532

Last change on this file since 532 was 532, checked in by heinze, 14 years ago

NCL scripts allow the output of png files

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