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

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

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

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