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

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

New parameter time_stride is in profiles.ncl available.

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