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

Last change on this file since 3248 was 958, checked in by hoffmann, 12 years ago

minor changes in palmplot pr

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