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

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

Using the NCL scripts by means of the shell script palmplot

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