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

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

Adjustment of the NCL scripts and palmplot to allow for the use of special characters in NetCDF variable names

File size: 70.3 KB
RevLine 
[418]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
[190]12begin
13
14;*********************************************************
[194]15
16script=which_script
[526]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   ;******************************************************
[190]25   
26;*********************************************************
[194]27   
[190]28   ;******************************************************
29   ; parameters used by CROSS_SECTIONS
30   ;******************************************************
31   
[194]32   if (script .EQ. "cross_section")then
[190]33   
34      ;***************************************************
35      ; REQUIRED --file_1-- INPUT FILE
36      ;
[418]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');
[218]43      ; otherwise declare path and full file name
[190]44      ;
45      ; data type: string
46      ;
[418]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)
[218]51      ;
[190]52      ; default:   "File in"
53      ;***************************************************
54      if(.not. isvar("file_1"))then
[194]55
56
[267]57         file_1 = "File in"
[190]58         
[194]59         
[190]60      end if
61      ;***************************************************
[513]62      ; OPTIONAL/REQUIRED if more than one file of a job chain
[418]63      ;          --start_f-- START OF CYCLIC NUMBER
[190]64      ;
[418]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
[218]68      ;
69      ; data type: integer
70      ;
[418]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)
[218]73      ;
74      ; default:   -1 
75      ;***************************************************
76      if (.not. isvar("start_f"))then 
77     
78         
79         start_f = -1
80         
81         
82      end if
83      ;***************************************************
[513]84      ; OPTIONAL/REQUIRED if more than one file of a job chain
85      ;          --end_f-- END OF CYCLIC NUMBER
[218]86      ;
[513]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
[218]90      ;
91      ; data type: integer
92      ;
[418]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)
[218]95      ;
96      ; default:   -1 
97      ;***************************************************
98      if (.not. isvar("end_f"))then 
99     
100         
101         end_f = -1
102         
103         
104      end if
105      ;***************************************************
[513]106      ; OPTIONAL --xyc--xzc--yzc-- SELECTION of XY or XZ or YZ CROSS SECTIONS
[218]107      ;
[418]108      ; desired section has to be set to 1;
109      ; e.g.: xyc=1, xzc=0 and yzc=0 for xy-section
[190]110      ;
111      ; data type: integer
112      ;
[218]113      ; example: xyc = 1
114      ;          xzc = 0
115      ;          yzc = 0
116      ;
[190]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      ;
[418]137      ; format of the output file;
138      ; supported file formats: x11, pdf, ps, eps, epsi or ncgm
[190]139      ;
140      ; data type: string
141      ;
[218]142      ; example: format_out = "pdf"
143      ;
[190]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      ;
[218]156      ; path and name of the output file
[190]157      ;
158      ; data type: string
159      ;
[218]160      ; example: file_out = "/home/path_to_output/test_cs"
161      ;
[194]162      ; default:   "~/test_cs"
[190]163      ;***************************************************
164      if(.not. isvar("file_out"))then   
165     
166     
167         file_out = "~/test_cs"
168         
169         
170      end if     
171      ;***************************************************
[218]172      ; OPTIONAL --no_columns-- NUMBER OF COLUMNS
[190]173      ;
174      ; number of plots in one row
175      ;
176      ; data type: integer
[218]177      ;
178      ; example: no_columns = 1
[190]179      ;
180      ; default:   1
181      ;***************************************************
182      if(.not. isvar("no_columns"))then 
183     
184     
185         no_columns = 1
186         
187         
188      end if     
189      ;***************************************************
[218]190      ; OPTIONAL --no_rows-- NUMBER OF ROWS
[190]191      ;
192      ; number of plots in one column
193      ;
194      ; data type: integer
[218]195      ;
196      ; example: no_rows = 2
[190]197      ;
198      ; default:   2
199      ;***************************************************
[218]200      if(.not. isvar("no_rows"))then     
[190]201     
202     
[218]203         no_rows = 2
[190]204         
205         
206      end if     
207      ;***************************************************
208      ; OPTIONAL --sort-- TYPE OF SORTING
209      ;
[418]210      ; sequence of plots; sorting either by time step [="time"] or
211      ; by layer/height [="layer"]
[190]212      ;
213      ; data type: string
214      ;
[218]215      ; example: sort = "layer"
216      ;
[190]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      ;
[526]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
[190]233      ;
234      ; data type: string
[218]235      ;
[342]236      ; example: var = ",u,v,w,"
[190]237      ;
[218]238      ; default:   "all" (all available variables are plotted)
[190]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      ;
[418]250      ; first time step of plot; there is no need to specify a precise time
251      ; value from the input file,
[218]252      ; 'start_time_step' is rounded to the next existent time step
[190]253      ;
254      ; data type: double; dimension: [hour]
255      ;
[418]256      ; example:   start_time_step = 0.5d
[218]257      ;
[190]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      ;
[418]270      ; last time step of plot; there is no need to specify a precise time
271      ; value from the input file,
[218]272      ; 'end_time_step' is rounded to the next existent time step
[190]273      ;
274      ; data type: double; dimension: [hour]
275      ;
[418]276      ; example:   end_time_step = 2.0d
[218]277      ;
[190]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      ;
[513]290      ; value for minimum of x-axis, selectable if there are
291      ; NO preseted layers
[418]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
[190]295      ;
296      ; data type: double; dimension: [meter]
297      ;
[418]298      ; example: xs = 150.0d
[218]299      ;
[190]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      ;
[513]312      ; value for maximum of x-axis, selectable if there are
313      ; NO preseted layers
[418]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
[190]317      ;
318      ; data type: double; dimension: [meter]
319      ;
[418]320      ; example: xe = 300.0d
[218]321      ;
[190]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      ;
[513]334      ; value for minimum of y-axis, selectable if there are
335      ; NO preseted layers
[418]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
[190]339      ;
340      ; data type: double; dimension: [meter]
341      ;
[418]342      ; example: ys = 150.0d
[218]343      ;
[190]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      ;
[418]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
[190]360      ;
361      ; data type: double; dimension: [meter]
362      ;
[418]363      ; example: ye = 300.0d
[218]364      ;
[190]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      ;
[513]377      ; index for minimum of z-axis, selectable if there are
378      ; NO preseted layers
[418]379      ; for z (as for XZ or YZ 2D-DATA);
[513]380      ; you cannot specify a meter value from the input file due to
381      ; grid stretching 
[190]382      ;
383      ; data type: integer
384      ;
[218]385      ; example: zs = 0
386      ;
[190]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      ;
[513]399      ; index for maximum of z-axis, selectable if there are
400      ; NO preseted layers
[418]401      ; for z (as for XZ or YZ 2D-DATA);
[513]402      ; you cannot specify a meter value from the input file due to
403      ; grid stretching 
[190]404      ;
405      ; data type: integer
406      ;
[218]407      ; example: ze = 15
408      ;
[190]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      ;
[418]421      ; isoline plots [="Line"], contour plots [="Fill"] or both [="Both"]
422      ; can be choosen
[190]423      ;
424      ; data type: string
425      ;
[218]426      ; example: mode = "Fill"
427      ;
[190]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      ;
[418]440      ; area fill [="AreaFill"], raster fill [="RasterFill"] or
441      ; cell fill [="CellFill"] can be choosen
[190]442      ;
443      ; data type: string
444      ;
[218]445      ; example: fill_mode = "AreaFill"
446      ;
[517]447      ; default:    "RasterFill"
[190]448      ;***************************************************
449      if(.not. isvar("fill_mode"))then   
450     
451     
[517]452         fill_mode = "RasterFill"
[190]453         
454         
455      end if     
456      ;***************************************************
457      ; OPTIONAL --shape-- ASPECT RATIO
458      ;
[218]459      ; aspect ratio of axis is kept [=1] or not[=0]
[190]460      ;
461      ; data type: integer
462      ;
[218]463      ; example: shape = 1
464      ;
[190]465      ; default:   1
466      ;***************************************************
467      if(.not. isvar("shape"))then
468     
469         
470         shape = 1
471         
472         
[218]473      end if
[190]474      ;***************************************************
[218]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      ;
[517]499      ; example: font_size_legend = 0.04
[218]500      ;
[517]501      ; default:   0.04
[218]502      ;***************************************************
503      if(.not. isvar("font_size_legend"))then
504     
505         
[517]506         font_size_legend = 0.04
[218]507         
508         
509      end if   
510      ;***************************************************
[418]511      ; OPTIONAL --legend_label_stride-- REDUCTION OF THE NUMBER
512      ;                                  OF LABELS IN THE LEGEND
[218]513      ;
[418]514      ; if legend_label_stride is set to 1 every label is shown;
515      ; if set to 2 every second, ...
[218]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      ;***************************************************
[513]531      ; OPTIONAL --axes_explicit--
532      ;          EXPLICIT SETTINGS OF X- AND Y-AXES ARE SWITCHED ON
[218]533      ;
[418]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]
[218]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      ;***************************************************
[418]551      ; OPTIONAL if axes_explicit = 1 --major_ticks_x--
552      ;                              NUMBER OF MAJOR TICK MARKS AT X-AXIS
[218]553      ;
[418]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
[218]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      ;***************************************************
[418]573      ; OPTIONAL if axes_explicit = 1 --major_ticks_y--
574      ;                              NUMBER OF MAJOR TICK MARKS AT Y-AXIS
[218]575      ;
[418]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
[218]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      ;***************************************************
[418]595      ; OPTIONAL if axes_explicit = 1 --norm_x--norm_y--norm_z--
596      ;                              NORMALISE X-, Y- and Z-AXES
[218]597      ;
[513]598      ; normalising the axes with the given value;
599      ; units can explicitly be set;
[418]600      ; by default no normalising is used and units are [meter]
[218]601      ;
602      ; data type: float
603      ;
[418]604      ; default:   1.0
[218]605      ;***************************************************
606      if(.not. isvar("norm_x"))then     
607         
[418]608         norm_x = 1.0   
[218]609         
610      end if
611      if(.not. isvar("norm_y"))then     
612         
[418]613         norm_y = 1.0   
[218]614         
615      end if
616      if(.not. isvar("norm_z"))then     
617         
[418]618         norm_z = 1.0   
[218]619         
620      end if
621      ;***************************************************
[418]622      ; OPTIONAL if axes_explicit = 1 --unit_x--unit_y--unit_z--
623      ;                              UNITS OF X-, Y- and Z-AXES
[218]624      ;
[418]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]
[218]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      ;***************************************************
[190]650      ; OPTIONAL --vector-- VECTOR PLOT
651      ;
[218]652      ; a vector plot for one defined vector is switched on [=1] or off [=0]
[190]653      ;
654      ; data type: integer
655      ;
[218]656      ; example: vector = 0
657      ;
[190]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      ;
[418]670      ; variables for the vector, vec1 hast to be set to component 1 and
671      ; vec2 to component 2;
[218]672      ; inidcate them with one comma before and after each variable;
[190]673      ;
674      ; data type: string
675      ;
[218]676      ; example: vec1=",u,"
677      ;          vec2=",v,"
678      ;
[190]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      ;
[418]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
[190]698      ;
699      ; data type: string
700      ;
[218]701      ; example: plotvec = ",u,w,"
702      ;
[513]703      ; default:   "plotvec" (no combining,
704      ;                       the vector plot is created seperately)
[190]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      ;
[218]720      ; example: ref_mag = 0.05
721      ;
[190]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      ;***************************************************
[194]732
[190]733   end if
734
735   ;******************************************************
736   ; parameters used by PROFILES
737   ;******************************************************
738   
[194]739   if (script .EQ. "profiles")then
740
[190]741      ;***************************************************
[218]742      ; REQUIRED --file_1-- 1ST INPUT FILE
[190]743      ;
[418]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');
[218]748      ; otherwise declare path and full file name
[190]749      ;
750      ; data type: string
751      ;
[418]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)
[218]756      ;
[190]757      ; default:   "File in"
758      ;***************************************************
[218]759      if(.not. isvar("file_1"))then
760
761
[267]762         file_1 = "File in"
[218]763         
764         
765      end if
766      ;***************************************************
[513]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
[218]769      ;
[418]770      ; if there is more than one file for all timesteps of a job chain,
[513]771      ; declare the first cyclicnumber which contains timesteps
772      ; you'd like to use
[218]773      ;
774      ; data type: integer
775      ;
[418]776      ; example:   3 (if first file: example_pr.3.nc) and
777      ;            0 (if first file: example_pr.nc)
[218]778      ;
779      ; default:   -1 
780      ;***************************************************
781      if (.not. isvar("start_f_1"))then 
[190]782     
[218]783         
784         start_f_1 = -1
785         
786         
787      end if
788      ;***************************************************
[513]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
[218]791      ;
[418]792      ; if there is more than one file for all timesteps of a job chain,
[513]793      ; declare the last cyclicnumber which contains timesteps
794      ; you'd like to use
[218]795      ;
796      ; data type: integer
797      ;
[418]798      ; example:   48 (if last file: example_pr.48.nc) and
799      ;             0 (if last file: example_pr.nc)
[218]800      ;
801      ; default:   -1 
802      ;***************************************************
803      if (.not. isvar("end_f_1"))then 
[190]804     
[218]805         
[236]806         end_f_1 = -1
[190]807         
808         
809      end if
810      ;***************************************************
811      ; OPTIONAL --format_out-- OUTPUT FORMAT
812      ;
813      ; supported file formats: x11, pdf, ps, eps, epsi or ncgm
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      ;
[218]829      ; declare path and name of the output file
[190]830      ;
831      ; data type: string
832      ;
[194]833      ; default:   "~/test_pr"
[190]834      ;***************************************************
835      if (.not. isvar("file_out"))then 
836     
837       
838         file_out = "~/test_pr"
839         
840         
841      end if     
842      ;***************************************************
[218]843      ; OPTIONAL --no_columns-- NUMBER OF COLUMNS
[190]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      ;***************************************************
[218]859      ; OPTIONAL --no_rows-- NUMBER OF ROWS
[190]860      ;
861      ; number of plots in one column
862      ;
863      ; data type: integer
864      ;
865      ; default:   2
866      ;***************************************************
[218]867      if (.not. isvar("no_rows"))then   
[190]868     
869       
[218]870         no_rows = 2
[190]871         
872         
873      end if     
874      ;***************************************************
875      ; OPTIONAL --var-- OUTPUT VARIABLES
876      ;
[418]877      ; names of output variables;
878      ; inidcate them with one comma before and after each variable
[526]879      ; if the name contains double quotes (") use dq and the '+' operation to
880      ; concatenate the strings
[190]881      ;
882      ; data type: string
[218]883      ;
[526]884      ; example: var = ",u,v,w,w*pt*,w"+dq+"pt"+dq+",wpt,"
[190]885      ;
[218]886      ; default:   "all" (all available variables are plotted)
[190]887      ;***************************************************
888      if (.not. isvar("var"))then
889     
890         
891         var = "all"
892         
893         
[219]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         
[236]909         legend = 1
[219]910         
911         
[190]912      end if   
913      ;***************************************************
914      ; OPTIONAL ---no_files-- NUMBER OF INPUT FILES
915      ;
[418]916      ; up to 6 input files of different runs can be used; all input files
917      ; must contain the same variables and dimensionalties;
[218]918      ; identical variables are merged in one plot;
[190]919      ; combining or overlaying of any variables is not feasible;
[418]920      ; an extra legend (besides the time step legend) is drawn where you
921      ; can explicitily name the items
[190]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         
[218]949      end if
[190]950      ;***************************************************
[218]951      ; REQUIRED if no_files > 1 --file_2-- 2ND INPUT FILE
[190]952      ;
[418]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
[513]956      ; last cycle numbers are given with the parameters
957      ; 'start_f' and 'end_f');
[218]958      ; otherwise declare path and full file name
[190]959      ;
960      ; data type: string
961      ;
[418]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)
[218]966      ;
[190]967      ; default:   "File in"
968      ;***************************************************
[218]969      if(.not. isvar("file_2"))then
970
971
972         file_2 = "File in"
973         
974         
975      end if
976      ;***************************************************
[513]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
[218]979      ;
[418]980      ; if there is more than one file for all timesteps of a job chain,
[513]981      ; declare the first cyclicnumber which contains timesteps
982      ; you'd like to use
[218]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 
[190]991     
992         
[218]993         start_f_2 = -1
[190]994         
995         
[218]996      end if
[190]997      ;***************************************************
[513]998      ; REQUIRED --end_f_2-- if more than one file of a job chain
999      ;                      END OF CYCLIC NUMBER OF THE 2ND INPUT FILE
[218]1000      ;
[418]1001      ; if there is more than one file for all timesteps of a job chain,
[513]1002      ; declare the last cyclicnumber which contains timesteps
1003      ; you'd like to use
[218]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      ;***************************************************
[190]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         
[218]1033      end if
[190]1034      ;***************************************************
[218]1035      ; REQUIRED if no_files > 2 --file_3-- 3RD INPUT FILE
[190]1036      ;
[418]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
[513]1040      ; last cycle numbers are given with the parameters
1041      ; 'start_f' and 'end_f');
[218]1042      ; otherwise declare path and full file name
[190]1043      ;
1044      ; data type: string
1045      ;
[418]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)
[218]1050      ;
[190]1051      ; default:   "File in"
1052      ;***************************************************
[218]1053      if(.not. isvar("file_3"))then
1054
1055
1056         file_3 = "File in"
[190]1057         
1058         
[218]1059      end if
[190]1060      ;***************************************************
[513]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
[190]1063      ;
[418]1064      ; if there is more than one file for all timesteps of a job chain,
[513]1065      ; declare the first cyclicnumber which contains timesteps
1066      ; you'd like to use
[190]1067      ;
[218]1068      ; data type: integer
[190]1069      ;
[218]1070      ; example:   3 (if first file: example_ts.3.nc)
1071      ;
1072      ; default:   -1 
[190]1073      ;***************************************************
[218]1074      if (.not. isvar("start_f_3"))then 
[190]1075     
[218]1076         
1077         start_f_3 = -1
[190]1078         
1079         
[218]1080      end if
[190]1081      ;***************************************************
[513]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
[190]1084      ;
[513]1085      ; if there is more than one file for all timesteps of a job chain,
1086      ; declare
[418]1087      ; the last cyclicnumber which contains timesteps you'd like to use
[190]1088      ;
[218]1089      ; data type: integer
[190]1090      ;
[218]1091      ; example:   48 (if last file: example_ts.48.nc)
1092      ;
1093      ; default:   -1 
[190]1094      ;***************************************************
[218]1095      if (.not. isvar("end_f_3"))then 
[190]1096     
[218]1097         
1098         end_f_3 = -1
[190]1099         
1100         
[218]1101      end if   
[190]1102      ;***************************************************
[218]1103      ; OPTIONAL --name_legend_3-- 3rd LEGEND ITEM
[190]1104      ;
[218]1105      ; if no_files > 2: name of 3rd item in extra legend
[190]1106      ;
1107      ; data type: string
1108      ;
[218]1109      ; default:   "File 3"
[190]1110      ;***************************************************
[218]1111      if (.not. isvar("name_legend_3"))then
[190]1112     
[218]1113           
1114         name_legend_3 = "File 3"
[190]1115         
1116         
[218]1117      end if
[190]1118      ;***************************************************
[218]1119      ; REQUIRED if no_files > 3 --file_4-- 4TH INPUT FILE
[190]1120      ;
[418]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
[513]1124      ; last cycle numbers are given with the parameters
1125      ; 'start_f' and 'end_f');
[218]1126      ; otherwise declare path and full file name
[190]1127      ;
1128      ; data type: string
1129      ;
[418]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)
[218]1134      ;
[190]1135      ; default:   "File in"
1136      ;***************************************************
[218]1137      if(.not. isvar("file_4"))then
1138
1139
1140         file_4 = "File in"
[190]1141         
1142         
[218]1143      end if
[190]1144      ;***************************************************
[513]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
[190]1147      ;
[418]1148      ; if there is more than one file for all timesteps of a job chain,
[513]1149      ; declare the first cyclicnumber which contains timesteps
1150      ; you'd like to use
[190]1151      ;
[218]1152      ; data type: integer
[190]1153      ;
[218]1154      ; example:   3 (if first file: example_ts.3.nc)
1155      ;
1156      ; default:   -1 
[190]1157      ;***************************************************
[218]1158      if (.not. isvar("start_f_4"))then 
[190]1159     
[218]1160         
1161         start_f_4 = -1
[190]1162         
1163         
[218]1164      end if
[190]1165      ;***************************************************
[513]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
[190]1168      ;
[418]1169      ; if there is more than one file for all timesteps of a job chain,
[513]1170      ; declare the last cyclicnumber which contains timesteps
1171      ; you'd like to use
[190]1172      ;
[218]1173      ; data type: integer
[190]1174      ;
[218]1175      ; example:   48 (if last file: example_ts.48.nc)
1176      ;
1177      ; default:   -1 
[190]1178      ;***************************************************
[218]1179      if (.not. isvar("end_f_4"))then 
[190]1180     
[218]1181         
1182         end_f_4 = -1
[190]1183         
1184         
[218]1185      end if 
[190]1186      ;***************************************************
[218]1187      ; OPTIONAL --name_legend_4-- 4th LEGEND ITEM
[190]1188      ;
[218]1189      ; if no_files > 3: name of 4th item in extra legend
[190]1190      ;
1191      ; data type: string
1192      ;
[218]1193      ; default:   "File 4"
[190]1194      ;***************************************************
[218]1195      if (.not. isvar("name_legend_4"))then   
[190]1196     
[218]1197       
1198         name_legend_4 = "File 4"
[190]1199         
1200         
[218]1201      end if
[190]1202      ;***************************************************
[218]1203      ; REQUIRED if no_files > 4 --file_5-- 5TH INPUT FILE
[190]1204      ;
[418]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
[513]1208      ; last cycle numbers are given with the parameters
1209      ; 'start_f' and 'end_f');
[218]1210      ; otherwise declare path and full file name
[190]1211      ;
1212      ; data type: string
1213      ;
[418]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)
[218]1218      ;
[190]1219      ; default:   "File in"
1220      ;***************************************************
[218]1221      if(.not. isvar("file_5"))then
1222
1223
1224         file_5 = "File in"
[190]1225         
1226         
[218]1227      end if
[190]1228      ;***************************************************
[513]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
[190]1231      ;
[418]1232      ; if there is more than one file for all timesteps of a job chain,
[513]1233      ; declare the first cyclicnumber which contains timesteps
1234      ; you'd like to use
[190]1235      ;
[218]1236      ; data type: integer
[190]1237      ;
[218]1238      ; example:   3 (if first file: example_ts.3.nc)
1239      ;
1240      ; default:   -1 
[190]1241      ;***************************************************
[218]1242      if (.not. isvar("start_f_5"))then 
[190]1243     
[218]1244         
1245         start_f_5 = -1
[190]1246         
1247         
[218]1248      end if
[190]1249      ;***************************************************
[513]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
[190]1252      ;
[418]1253      ; if there is more than one file for all timesteps of a job chain,
[513]1254      ; declare the last cyclicnumber which contains timesteps
1255      ; you'd like to use
[190]1256      ;
[218]1257      ; data type: integer
[190]1258      ;
[218]1259      ; example:   48 (if last file: example_ts.48.nc)
1260      ;
1261      ; default:   -1 
[190]1262      ;***************************************************
[218]1263      if (.not. isvar("end_f_5"))then 
[190]1264     
[218]1265         
1266         end_f_5 = -1
[190]1267         
1268         
[218]1269      end if     
[190]1270      ;***************************************************
[218]1271      ; OPTIONAL --name_legend_5-- 5th LEGEND ITEM
[190]1272      ;
[218]1273      ; if no_files > 4: name of 5th item in extra legend
[190]1274      ;
1275      ; data type: string
1276      ;
[218]1277      ; default:   "File 5"
[190]1278      ;***************************************************
[218]1279      if (.not. isvar("name_legend_5"))then
[190]1280     
[218]1281           
1282         name_legend_5 = "File 5"
[190]1283         
1284         
[218]1285      end if
[190]1286      ;***************************************************
[218]1287      ; REQUIRED if no_files > 5 --file_6-- 6TH INPUT FILE
[190]1288      ;
[418]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
[513]1292      ; last cycle numbers are given with the parameters
1293      ; 'start_f' and 'end_f');
[218]1294      ; otherwise declare path and full file name
[190]1295      ;
1296      ; data type: string
1297      ;
[418]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)
[218]1302      ;
[190]1303      ; default:   "File in"
1304      ;***************************************************
[218]1305      if(.not. isvar("file_6"))then
1306
1307
1308         file_6 = "File in"
[190]1309         
1310         
[218]1311      end if
[190]1312      ;***************************************************
[513]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
[190]1315      ;
[418]1316      ; if there is more than one file for all timesteps of a job chain,
[513]1317      ; declare the first cyclicnumber which contains timesteps
1318      ; you'd like to use
[190]1319      ;
[218]1320      ; data type: integer
[190]1321      ;
[218]1322      ; example:   3 (if first file: example_ts.3.nc)
1323      ;
1324      ; default:   -1 
[190]1325      ;***************************************************
[218]1326      if (.not. isvar("start_f_6"))then 
[190]1327     
[218]1328         
1329         start_f_6 = -1
[190]1330         
1331         
[218]1332      end if
[190]1333      ;***************************************************
[513]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
[190]1336      ;
[418]1337      ; if there is more than one file for all timesteps of a job chain,
[513]1338      ; declare the last cyclicnumber which contains timesteps
1339      ; you'd like to use
[190]1340      ;
[218]1341      ; data type: integer
[190]1342      ;
[218]1343      ; example:   48 (if last file: example_ts.48.nc)
1344      ;
1345      ; default:   -1 
[190]1346      ;***************************************************
[218]1347      if (.not. isvar("end_f_6"))then 
[190]1348     
[218]1349         
1350         end_f_6 = -1
[190]1351         
1352         
[218]1353      end if                     
[190]1354      ;***************************************************
[218]1355      ; OPTIONAL --name_legend_6-- 6TH LEGEND ITEM
[190]1356      ;
[218]1357      ; if no_files > 5: name of 6th item in extra legend
[190]1358      ;
1359      ; data type: string
1360      ;
[218]1361      ; default:   "File 6"
[190]1362      ;***************************************************
[218]1363      if (.not. isvar("name_legend_6"))then
[190]1364     
[218]1365           
1366         name_legend_6 = "File 6"
[190]1367         
1368         
[218]1369      end if             
[190]1370      ;***************************************************
[218]1371      ; OPTIONAL --start_time_step-- FIRST TIME STEP
[190]1372      ;
[418]1373      ; first time step of plot; there is no need to specify a precise
1374      ; time value from the input file,
[218]1375      ; 'start_time_step' is rounded to the next existent time step
[190]1376      ;
[218]1377      ; data type: double; dimension: [hour]
[190]1378      ;
[418]1379      ; example:   start_time_step = 0.5d
[218]1380      ;
1381      ; default:   -1.d (first available time step)
[190]1382      ;***************************************************
[218]1383      if (.not. isvar("start_time_step"))then   
[190]1384     
[218]1385       
1386         start_time_step = -1.d
[190]1387         
1388         
1389      end if     
1390      ;***************************************************
[218]1391      ; OPTIONAL --end_time_step-- LAST TIME STEP
[190]1392      ;
[418]1393      ; last time step of plot; there is no need to specify a precise
1394      ; time value from the input file,
[218]1395      ; 'end_time_step' is rounded to the next existent time step
[190]1396      ;
[218]1397      ; data type: double; dimension: [hour]
[190]1398      ;
[418]1399      ; example:   end_time_step = 2.0d
[218]1400      ;
1401      ; default:   -1.d (last available time step)
[190]1402      ;***************************************************
[218]1403      if (.not. isvar("end_time_step"))then
[190]1404     
[218]1405         
[267]1406         end_time_step = -1.d   
[190]1407         
1408         
[218]1409      end if
[190]1410      ;***************************************************
[351]1411      ; OPTIONAL --time_stride-- TEMPORAL STRIDE
1412      ;
[418]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
[351]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      ;***************************************************
[218]1433      ; OPTIONAL --start_x-- STARTVALUE IN X-DIRECTION 
[190]1434      ;
[418]1435      ; if 3D data is used for profiles you can choose a startvalue
1436      ; in x-direction for horizontal averaging
[190]1437      ;
[218]1438      ; data type: integer; dimension [grippoint]
[190]1439      ;
[218]1440      ; example: start_x = 0
1441      ;
1442      ; default:   0 (minimum of range)
[190]1443      ;***************************************************
[218]1444      if (.not. isvar("start_x"))then   
[190]1445     
[218]1446         
1447         start_x = 0
[190]1448         
1449         
[218]1450      end if
[190]1451      ;***************************************************
[218]1452      ; OPTIONAL --end_x-- ENDVALUE IN X-DIRECTION 
[190]1453      ;
[418]1454      ; if 3D data is used for profiles you can choose an endvalue
1455      ; in x-direction for horizontal averaging
[190]1456      ;
[218]1457      ; data type: integer; dimension [grippoint]
[190]1458      ;
[218]1459      ; example: end_x = 200
1460      ;
1461      ; default:   -1 (maximum of range excluding ghostpoint)
[190]1462      ;***************************************************
[218]1463      if (.not. isvar("end_x"))then   
[190]1464     
[218]1465         
1466         end_x = -1
[190]1467         
1468         
[218]1469      end if
[190]1470      ;***************************************************
[218]1471      ; OPTIONAL --start_y-- STARTVALUE IN Y-DIRECTION 
[190]1472      ;
[418]1473      ; if 3D data is used for profiles you can choose a startvalue
1474      ; in y-direction for horizontal averaging
[190]1475      ;
[218]1476      ; data type: integer; dimension [grippoint]
[190]1477      ;
[218]1478      ; example: start_y = 0
1479      ;
1480      ; default:   0 (minimum of range)
[190]1481      ;***************************************************
[218]1482      if (.not. isvar("start_y"))then   
[190]1483     
[218]1484         
1485         start_y = 0
[190]1486         
1487         
[218]1488      end if
[190]1489      ;***************************************************
[218]1490      ; OPTIONAL --end_y-- ENDVALUE IN Y-DIRECTION 
[190]1491      ;
[418]1492      ; if 3D data is used for profiles you can choose an endvalue
1493      ; in y-direction for horizontal averaging
[190]1494      ;
[218]1495      ; data type: integer; dimension [grippoint]
[190]1496      ;
[218]1497      ; example: end_y = 200
1498      ;
1499      ; default:   -1 (maximum of range excluding ghostpoint)
[190]1500      ;***************************************************
[218]1501      if (.not. isvar("end_y"))then   
[190]1502     
[218]1503         
1504         end_y = -1
[190]1505         
1506         
[218]1507      end if     
[190]1508      ;***************************************************
1509      ; OPTIONAL --xs-- MINIMUM X-AXIS
1510      ;
1511      ; value for minimum of x-axis
1512      ;
1513      ; data type: float; dimension of variable
1514      ;
[218]1515      ; example: xs = 300. (e.g. if var=",pt")
1516      ;
[190]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      ;
[218]1533      ; example: xe = 302. (e.g. if var=",pt")
1534      ;
[190]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      ;
[418]1551      ; example: min_z = 0.0d
[218]1552      ;
[190]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      ;
[418]1569      ; example: max_z = 1000.0d
[218]1570      ;
[190]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      ;***************************************************
[218]1581      ; OPTIONAL --log_z-- LOGARITHMIC SCALE OF Z-AXIS
[190]1582      ;
[218]1583      ; logarithmic scale for z-axis is switched on [=1] or off [=0]
[190]1584      ;
1585      ; data type: integer
1586      ;
[218]1587      ; example: log_z = 0
1588      ;
[190]1589      ; default:   0
1590      ;***************************************************
[218]1591      if (.not. isvar("log_z"))then
[190]1592     
1593           
[218]1594         log_z = 0
[190]1595         
1596         
1597      end if     
1598      ;***************************************************
[218]1599      ; OPTIONAL --norm_z-- NORMALISING Z-AXIS
[190]1600      ;
[218]1601      ; value for normalising the z-axis
[190]1602      ;
1603      ; data type: float
1604      ;
[218]1605      ; example: norm_z = 1.
1606      ;
1607      ; default:   1. (no normalising)
[190]1608      ;***************************************************
[218]1609      if (.not. isvar("norm_z"))then
[190]1610     
1611           
[218]1612         norm_z = 1.
[190]1613         
1614         
1615      end if     
1616      ;***************************************************
1617      ; OPTIONAL --over-- OVERLAYING
1618      ;
[513]1619      ; predefined overlaying of standard variables is switched
1620      ; on [=1] or off [=0];
[190]1621      ; this feature cannot be used with statistic regions
1622      ;
1623      ; data type: integer
1624      ;
[218]1625      ; example: over = 0
1626      ;
[190]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      ;
[418]1639      ; combining of two or three individual variables is possible and
1640      ; switched on [=1] or off[=0]
[190]1641      ;
1642      ; data type: integer
1643      ;
[218]1644      ; example: combine = 0
1645      ;
[190]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      ;
[218]1662      ; example: number_comb = 2
1663      ;
[190]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      ;
[526]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
[190]1680      ;
1681      ; data type: string
1682      ;
[526]1683      ; example: c_var = ",u,v,w,w*pt*,w"+dq+"pt"+dq+",wpt,"
[218]1684      ;
[190]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      ;
[218]1701      ; example: black = 0
1702      ;
[190]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      ;
[418]1715      ; use of different line patterns [=1] or continous lines [=0]
1716      ; for different time steps
[190]1717      ;
1718      ; data type: integer
1719      ;
[218]1720      ; example: dash = 0
1721      ;
[190]1722      ; default:   0
1723      ;***************************************************
1724      if (.not. isvar("dash"))then     
1725     
1726       
1727         dash = 0     
1728         
1729         
[218]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         
[190]1766      end if     
1767      ;***************************************************
1768       
1769   end if
[194]1770
[190]1771   ;******************************************************
1772   ; parameters used by SPECTRA
1773   ;******************************************************
1774   
[194]1775   if (script .EQ. "spectra") then
1776
[190]1777      ;***************************************************
1778      ; REQUIRED --file_1-- INPUT FILE
1779      ;
[418]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
[513]1783      ; last cycle numbers are given with the parameters
1784      ; 'start_f' and 'end_f');
[218]1785      ; otherwise declare path and full file name
[190]1786      ;
1787      ; data type: string
1788      ;
[418]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)
[218]1793      ;
[190]1794      ; default:   "File in"
1795      ;***************************************************
[218]1796      if(.not. isvar("file_1"))then
1797
1798
1799         file_1 = "File in"
1800         
1801         
1802      end if
1803      ;***************************************************
[513]1804      ; OPTIONAL/REQUIRED if more than one file of a job chain
[418]1805      ;           --start_f-- START OF CYCLIC NUMBER
[218]1806      ;
[418]1807      ; if there is more than one file for all timesteps of a job chain,
[513]1808      ; declare the first cyclicnumber which contains timesteps
1809      ; you'd like to use
[218]1810      ;
1811      ; data type: integer
1812      ;
[418]1813      ; example:   start_f = 3 (if first file: example_sp.3.nc) and
1814      ;            start_f = 0 (if first file: example_sp.nc)
[218]1815      ;
1816      ; default:   -1 
1817      ;***************************************************
1818      if (.not. isvar("start_f"))then 
[190]1819     
1820         
[218]1821         start_f = -1
[190]1822         
1823         
[218]1824      end if
[190]1825      ;***************************************************
[513]1826      ; OPTIONAL/REQUIRED if more than one file of a job chain
[418]1827      ;          --end_f-- END OF CYCLIC NUMBER
[218]1828      ;
[418]1829      ; if there is more than one file for all timesteps of a job chain,
[513]1830      ; declare the last cyclicnumber which contains timesteps
1831      ; you'd like to use
[218]1832      ;
1833      ; data type: integer
1834      ;
[418]1835      ; example:   end_f = 48 (if last file: example_sp.48.nc) and
1836      ;            end_f =  0 (if last file: example_sp.nc)
[218]1837      ;
1838      ; default:   -1 
1839      ;***************************************************
1840      if (.not. isvar("end_f"))then 
1841     
1842         
1843         end_f = -1
1844         
1845         
1846      end if
1847      ;***************************************************
[190]1848      ; OPTIONAL --format_out-- OUTPUT FORMAT
1849      ;
[418]1850      ; format of the output file;
1851      ; supported file formats: x11, pdf, ps, eps, epsi or ncgm
[190]1852      ;
1853      ; data type: string
1854      ;
[218]1855      ; example: format_out = "pdf"
1856      ;
[190]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      ;
[218]1869      ; path and name of the output file
[190]1870      ;
1871      ; data type: string
1872      ;
[218]1873      ; example: file_out = "/home/path_to_output/test_sp"
1874      ;
[194]1875      ; default:   "~/test_sp"
[190]1876      ;***************************************************
1877      if (.not. isvar("file_out"))then 
1878     
1879       
1880         file_out = "~/test_sp"
1881         
1882         
1883      end if     
1884      ;***************************************************
[218]1885      ; OPTIONAL --no_columns-- NUMBER OF COLUMNS
[190]1886      ;
1887      ; number of plots in one row
1888      ;
1889      ; data type: integer
[218]1890      ;
1891      ; example: no_columns = 1
[190]1892      ;
1893      ; default:   1
1894      ;***************************************************
1895      if (.not. isvar("no_columns"))then         
1896     
1897     
1898         no_columns = 1
1899         
1900         
1901      end if     
1902      ;***************************************************
[218]1903      ; OPTIONAL --no_rows-- NUMBER OF ROWS
[190]1904      ;
1905      ; number of plots in one column
1906      ;
1907      ; data type: integer
[218]1908      ;
1909      ; example: no_rows = 2
[190]1910      ;
1911      ; default:   2
1912      ;***************************************************
[218]1913      if (.not. isvar("no_rows"))then
[190]1914     
1915         
[218]1916         no_rows = 2
[190]1917         
1918         
1919      end if     
1920      ;***************************************************
1921      ; OPTIONAL --var-- OUTPUT VARIABLES
1922      ;
[526]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
[190]1927      ;
1928      ; data type: string
[218]1929      ;
[342]1930      ; example: var = ",u,v,w,"
[190]1931      ;
[218]1932      ; default:   "all" (all available variables are plotted)
[190]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      ;
[418]1944      ; defines if all levels or selected levels are output;
1945      ; a 1D array with up to 100 elements
[218]1946      ; from 0 to 99 must be indicated
[190]1947      ;
1948      ; data type: integer array
1949      ;
[218]1950      ; example: height_level=(/0,3,7/)
1951      ;
1952      ; default:   (/-1/) (all levels are output)
[190]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      ;
[418]1964      ; defines if all heights [="height"] or all timesteps [="time"]
1965      ; are merged in one plot
[190]1966      ;
1967      ; data type: string
1968      ;
[218]1969      ; example: sort = "height"
1970      ;
[190]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      ;
[418]1983      ; first time step of plot; there is no need to specify a precise
1984      ; time value from the input file,
[218]1985      ; 'start_time_step' is rounded to the next existent time step
[190]1986      ;
1987      ; data type: double; dimension: [hour]
1988      ;
[418]1989      ; example:   start_time_step = 0.5d
[218]1990      ;
[190]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      ;
[418]2003      ; last time step of plot; there is no need to specify a precise
2004      ; time value from the input file,
[218]2005      ; 'end_time_step' is rounded to the next existent time step
[190]2006      ;
2007      ; data type: double; dimension: [hour]
2008      ;
[418]2009      ; example:   end_time_step = 2.0d
[218]2010      ;
[190]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      ;
[218]2027      ; example: black = 0
2028      ;
[190]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      ;
[218]2045      ; example: dash = 0
2046      ;
[190]2047      ; default:   0
2048      ;***************************************************
2049      if (.not. isvar("dash"))then   
2050     
2051         
2052         dash = 0
2053         
2054         
2055      end if
2056      ;***************************************************
[218]2057      ; OPTIONAL --log_x-- LOGARITHMIC SCALE X-AXIS
[190]2058      ;
[218]2059      ; logarithmic scale for x-axis is switched on [=1] or off [=0]
[190]2060      ;
2061      ; data type: integer
2062      ;
[218]2063      ; example: log_x = 1
2064      ;
[190]2065      ; default:   1
2066      ;***************************************************
[218]2067      if (.not. isvar("log_x"))then   
[190]2068     
2069         
[218]2070         log_x = 1
[190]2071         
2072         
2073      end if     
2074      ;***************************************************
[218]2075      ; OPTIONAL --log_y-- LOGARITHMIC SCALE Y-AXIS
[190]2076      ;
[218]2077      ; logarithmic scale for y-axis is switched on [=1] or off [=0]
[190]2078      ;
2079      ; data type: integer
2080      ;
[218]2081      ; example: log_y = 1
2082      ;
[190]2083      ; default:   1
2084      ;***************************************************
[218]2085      if (.not. isvar("log_y"))then   
[190]2086     
2087         
[218]2088         log_y = 1
[190]2089         
2090         
2091      end if     
2092      ;***************************************************
[218]2093      ; OPTIONAL --norm_x-- NORMALISING X-AXIS
[190]2094      ;
2095      ; value for normalising the x-axis
2096      ;
2097      ; data type: float
2098      ;
[513]2099      ; example: norm_x = 1.
[218]2100      ;
[190]2101      ; default:   1. (no normalising)
2102      ;***************************************************
[218]2103      if (.not. isvar("norm_x"))then   
[190]2104     
2105         
[218]2106         norm_x = 1.
[190]2107         
2108         
[218]2109      end if
2110      ;***************************************************
2111      ; OPTIONAL --norm_height-- NORMALISING X-AXIS WITH HEIGHT
2112      ;
[418]2113      ; normalising the x-axis with the height of each spectra
2114      ; is switched on [=1] or off [=0]
[218]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         
[190]2128      end if     
2129      ;***************************************************
[218]2130      ; OPTIONAL --norm_y-- NORMALISE Y-AXIS
[190]2131      ;
2132      ; value for normalising the y-axis
2133      ;
2134      ; data type: float
2135      ;
[218]2136      ; example: norm_y = 1.
2137      ;
[190]2138      ; default:   1. (no normalising)
2139      ;***************************************************
[218]2140      if (.not. isvar("norm_y"))then     
[190]2141     
2142       
[218]2143         norm_y = 1.
[190]2144         
2145         
[218]2146      end if
[190]2147      ;***************************************************
[218]2148      ; OPTIONAL --unit_x--unit_y-- UNITS OF X-, Y-AXES
2149      ;
[513]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
[218]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      ;***************************************************
[190]2206     
2207   end if
[194]2208
[190]2209   ;******************************************************
2210   ; parameters used by TIMESERIES
2211   ;******************************************************
2212
[194]2213   if (script .EQ. "timeseries") then
2214
[190]2215      ;***************************************************
2216      ; REQUIRED --file_1-- INPUT FILE
2217      ;
[418]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
[513]2221      ; last cycle numbers are given with the parameters
2222      ; 'start_f' and 'end_f');
[218]2223      ; otherwise declare path and full file name
[190]2224      ;
2225      ; data type: string
2226      ;
[418]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)
[218]2231      ;
[190]2232      ; default:   "File in"
2233      ;***************************************************
[218]2234      if(.not. isvar("file_1"))then
2235
2236
[267]2237         file_1 = "File in"
[218]2238         
2239         
2240      end if
2241      ;***************************************************
[513]2242      ; OPTIONAL/REQUIRED if more than one file of a job chain
[418]2243      ;          --start_f-- START OF CYCLIC NUMBER
[218]2244      ;
[418]2245      ; if there is more than one file for all timesteps of a job chain,
[513]2246      ; declare the first cyclicnumber which contains timesteps
2247      ; you'd like to use
[218]2248      ;
2249      ; data type: integer
2250      ;
[418]2251      ; example:   start_f = 3 (if first file: example_ts.3.nc) and
2252      ;            start_f = 0 (if first file: example_ts.nc)
[218]2253      ;
2254      ; default:   -1 
2255      ;***************************************************
2256      if (.not. isvar("start_f"))then 
[190]2257     
2258         
[218]2259         start_f = -1
[190]2260         
2261         
[218]2262      end if
[190]2263      ;***************************************************
[513]2264      ; OPTIONAL/REQUIRED if more than one file of a job chain
[418]2265      ;           --end_f-- END OF CYCLIC NUMBER
[218]2266      ;
[418]2267      ; if there is more than one file for all timesteps of a job chain,
[513]2268      ; declare the last cyclicnumber which contains timesteps
2269      ; you'd like to use
[218]2270      ;
2271      ; data type: integer
2272      ;
[418]2273      ; example:   end_f = 48 (if last file: example_ts.48.nc) and
2274      ;            end_f = 0 (if last file: example_ts.nc)
[218]2275      ;
2276      ; default:   -1 
2277      ;***************************************************
2278      if (.not. isvar("end_f"))then 
2279     
2280         
2281         end_f = -1
2282         
2283         
2284      end if
2285      ;***************************************************
[190]2286      ; OPTIONAL --format_out-- OUTPUT FORMAT
2287      ;
[418]2288      ; format of the output file;
2289      ; supported file formats: x11, pdf, ps, eps, epsi or ncgm
[190]2290      ;
2291      ; data type: string
2292      ;
[218]2293      ; example: format_out = "pdf"
2294      ;
[190]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      ;
[218]2307      ; path and name of the output file
[190]2308      ;
2309      ; data type: string
2310      ;
[218]2311      ; example: file_out = "/home/path_to_output/test_ts"
2312      ;
[194]2313      ; default:   "~/test_ts"
[190]2314      ;***************************************************
2315      if (.not. isvar("file_out"))then 
2316     
2317       
2318         file_out = "~/test_ts"
2319         
2320         
2321      end if     
2322      ;***************************************************
[218]2323      ; OPTIONAL --no_columns-- NUMBER OF COLUMNS
[190]2324      ;
2325      ; number of plots in one row
2326      ;
2327      ; data type: integer
[218]2328      ;
2329      ; example: no_columns = 1
[190]2330      ;
2331      ; default:   1
2332      ;***************************************************
2333      if (.not. isvar("no_columns"))then       
2334     
2335       
2336         no_columns = 1
2337         
2338         
2339      end if     
2340      ;***************************************************
[218]2341      ; OPTIONAL --no_rows-- NUMBER OF ROWS
[190]2342      ;
2343      ; number of plots in one column
2344      ;
2345      ; data type: integer
[218]2346      ;
2347      ; example: no_rows = 2
[190]2348      ;
2349      ; default:   2
2350      ;***************************************************
[218]2351      if (.not. isvar("no_rows"))then
[190]2352     
2353         
[267]2354         no_rows = 1
[190]2355         
2356         
2357      end if     
2358      ;***************************************************
2359      ; OPTIONAL --var-- OUTPUT VARIABLES
2360      ;
[526]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
[190]2365      ;
2366      ; data type: string
[218]2367      ;
[526]2368      ; example: var = ",umax,vmax,wmax,w"+dq+"pt"+dq+"0,"
[190]2369      ;
[218]2370      ; default:   "all" (all available variables are plotted)
[190]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      ;
[418]2382      ; first time step of plot; there is no need to specify a precise
2383      ; time value from the input file,
[218]2384      ; 'start_time_step' is rounded to the next existent time step
[190]2385      ;
2386      ; data type: double; dimension: [hour]
2387      ;
[418]2388      ; example:   start_time_step = 0.5d
[218]2389      ;
[190]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      ;
[418]2402      ; last time step of plot; there is no need to specify a precise
2403      ; time value from the input file,
[218]2404      ; 'end_time_step' is rounded to the next existent time step
[190]2405      ;
2406      ; data type: double; dimension: [hour]
2407      ;
[418]2408      ; example:   end_time_step = 2.0d
[218]2409      ;
[190]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         
[267]2417
[190]2418      end if     
2419      ;***************************************************
2420      ; OPTIONAL --over-- OVERLAYING
2421      ;
[513]2422      ; predefined overlaying of standard variables are switched
2423      ; on [=1] or off [=0];
[190]2424      ; this feature cannot be used with statistic regions
2425      ;
2426      ; data type: integer
2427      ;
[218]2428      ; example: over = 0
2429      ;
[190]2430      ; default:   0
2431      ;***************************************************
2432      if (.not. isvar("over"))then
2433     
2434         
2435         over = 0
2436         
2437         
[218]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         
[190]2456      end if
2457      ;***************************************************
[218]2458      ; OPTIONAL --norm_t-- NORMALISING X-AXIS OF TIMESERIES PLOTS (T-AXIS)
2459      ;
[513]2460      ; normalising the x-axis with the given value;
2461      ; the unit can explicitly set;
[418]2462      ; by default no normalising and unit is set to [s]
[218]2463      ;
2464      ; data type: float
2465      ;
[418]2466      ; example: norm_t = 3600.
[218]2467      ;
2468      ; default:   1.
2469      ;***************************************************
[513]2470      if(.not. isvar("norm_t"))then
[218]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      ;***************************************************
[513]2488      if(.not. isvar("unit_t"))then
[218]2489     
2490         
2491         unit_t = " "
2492         
2493         
2494      end if
2495      ;***************************************************
[190]2496
2497   end if
2498         
2499;*********************************************************       
2500   
2501end
Note: See TracBrowser for help on using the repository browser.