Changeset 566 for palm


Ignore:
Timestamp:
Sep 30, 2010 1:37:58 PM (11 years ago)
Author:
heinze
Message:

Formatting of all NCL scripts.
Items of .ncl.config are re-sorted and xyc, xzc and yzc are no parameters any more.
Parameters start_f_1/end_f_1 are renamed to start_f/end_f in profiles.ncl.
Bugfix in cross_sections: enable vector plot if var is set explicitly.
Deletion of NCL user guide because guide is no available online.

Location:
palm/trunk/SCRIPTS
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • palm/trunk/SCRIPTS/NCL/.ncl.config.default

    r534 r566  
    104104      end if
    105105      ;***************************************************
    106       ; OPTIONAL --xyc--xzc--yzc-- SELECTION of XY or XZ or YZ CROSS SECTIONS
    107       ;
    108       ; desired section has to be set to 1;
    109       ; e.g.: xyc=1, xzc=0 and yzc=0 for xy-section
    110       ;
    111       ; data type: integer
    112       ;
    113       ; example: xyc = 1
    114       ;          xzc = 0
    115       ;          yzc = 0
    116       ;
    117       ; default:   0
    118       ;***************************************************
    119       if(.not. isvar("xyc"))then     
    120        
    121          xyc = 0
    122        
    123       end if
    124       if (.not. isvar("xzc"))then
    125      
    126          xzc = 0
    127        
    128       end if
    129       if (.not. isvar("yzc"))then
    130      
    131          yzc = 0
    132                  
    133       end if             
    134       ;***************************************************
    135106      ; OPTIONAL --format_out-- OUTPUT FORMAT
    136107      ;
     
    166137     
    167138         file_out = "~/test_cs"
    168          
    169          
    170       end if     
    171       ;***************************************************
    172       ; OPTIONAL --no_columns-- NUMBER OF COLUMNS
    173       ;
    174       ; number of plots in one row
    175       ;
    176       ; data type: integer
    177       ;
    178       ; example: no_columns = 1
    179       ;
    180       ; default:   1
    181       ;***************************************************
    182       if(.not. isvar("no_columns"))then 
    183      
    184      
    185          no_columns = 1
    186          
    187          
    188       end if     
    189       ;***************************************************
    190       ; OPTIONAL --no_rows-- NUMBER OF ROWS
    191       ;
    192       ; number of plots in one column
    193       ;
    194       ; data type: integer
    195       ;
    196       ; example: no_rows = 2
    197       ;
    198       ; default:   2
    199       ;***************************************************
    200       if(.not. isvar("no_rows"))then     
    201      
    202      
    203          no_rows = 2
    204          
    205          
    206       end if     
    207       ;***************************************************
    208       ; OPTIONAL --sort-- TYPE OF SORTING
    209       ;
    210       ; sequence of plots; sorting either by time step [="time"] or
    211       ; by layer/height [="layer"]
    212       ;
    213       ; data type: string
    214       ;
    215       ; example: sort = "layer"
    216       ;
    217       ; default:   "layer"
    218       ;***************************************************
    219       if(.not. isvar("sort"))then       
    220      
    221      
    222          sort = "layer"
    223139         
    224140         
     
    289205      ;
    290206      ; value for minimum of x-axis, selectable if there are
    291       ; NO preseted layers
     207      ; NO preset layers
    292208      ; for x (as for XY or XZ 2D-DATA);
    293209      ; there is no need to specify a precise meter value from the input file,
     
    311227      ;
    312228      ; value for maximum of x-axis, selectable if there are
    313       ; NO preseted layers
     229      ; NO preset layers
    314230      ; for x (as for XY or XZ 2D-DATA);
    315231      ; there is no need to specify a precise meter value from the input file,
     
    333249      ;
    334250      ; value for minimum of y-axis, selectable if there are
    335       ; NO preseted layers
     251      ; NO preset layers
    336252      ; for y (as for XY or YZ 2D-DATA);
    337253      ; there is no need to specify a precise meter value from the input file,
     
    354270      ; OPTIONAL --ye-- MAXIMUM Y-AXIS
    355271      ;
    356       ; value for maximum of y-axis, selectable if there are NO preseted layers
     272      ; value for maximum of y-axis, selectable if there are NO preset layers
    357273      ; for y (as for XY or YZ 2D-DATA);
    358274      ; there is no need to specify a precise meter value from the input file,
     
    376292      ;
    377293      ; index for minimum of z-axis, selectable if there are
    378       ; NO preseted layers
     294      ; NO preset layers
    379295      ; for z (as for XZ or YZ 2D-DATA);
    380296      ; you cannot specify a meter value from the input file due to
     
    398314      ;
    399315      ; index for maximum of z-axis, selectable if there are
    400       ; NO preseted layers
     316      ; NO preset layers
    401317      ; for z (as for XZ or YZ 2D-DATA);
    402318      ; you cannot specify a meter value from the input file due to
     
    413329           
    414330         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"
    415386         
    416387         
     
    765736      end if
    766737      ;***************************************************
    767       ; OPTIONAL/REQUIRED --start_f_1-- if more than one file of a job chain
     738      ; OPTIONAL/REQUIRED --start_f-- if more than one file of a job chain
    768739      ;                    START OF CYCLIC NUMBER OF THE 1ST INPUT FILE
    769740      ;
     
    779750      ; default:   -1 
    780751      ;***************************************************
    781       if (.not. isvar("start_f_1"))then 
     752      if (.not. isvar("start_f"))then 
    782753     
    783754         
    784          start_f_1 = -1
    785          
    786          
    787       end if
    788       ;***************************************************
    789       ; OPTIONAL/REQUIRED --end_f_1--  if more than one file of a job chain
     755         start_f = -1
     756         
     757         
     758      end if
     759      ;***************************************************
     760      ; OPTIONAL/REQUIRED --end_f--  if more than one file of a job chain
    790761      ;            END OF CYCLIC NUMBER OF THE 1ST INPUT FILE
    791762      ;
     
    801772      ; default:   -1 
    802773      ;***************************************************
    803       if (.not. isvar("end_f_1"))then 
     774      if (.not. isvar("end_f"))then 
    804775     
    805776         
    806          end_f_1 = -1
     777         end_f = -1
    807778         
    808779         
     
    837808       
    838809         file_out = "~/test_pr"
    839          
    840          
    841       end if     
    842       ;***************************************************
    843       ; OPTIONAL --no_columns-- NUMBER OF COLUMNS
    844       ;
    845       ; number of plots in one row
    846       ;
    847       ; data type: integer
    848       ;
    849       ; default:   1
    850       ;***************************************************
    851       if (.not. isvar("no_columns"))then         
    852      
    853      
    854          no_columns = 1
    855          
    856          
    857       end if     
    858       ;***************************************************
    859       ; OPTIONAL --no_rows-- NUMBER OF ROWS
    860       ;
    861       ; number of plots in one column
    862       ;
    863       ; data type: integer
    864       ;
    865       ; default:   2
    866       ;***************************************************
    867       if (.not. isvar("no_rows"))then   
    868      
    869        
    870          no_rows = 2
    871810         
    872811         
     
    894833      end if
    895834      ;***************************************************
     835      ; OPTIONAL --start_time_step-- FIRST TIME STEP
     836      ;
     837      ; first time step of plot; there is no need to specify a precise
     838      ; time value from the input file,
     839      ; 'start_time_step' is rounded to the next existent time step
     840      ;
     841      ; data type: double; dimension: [hour]
     842      ;
     843      ; example:   start_time_step = 0.5d
     844      ;
     845      ; default:   -1.d (first available time step)
     846      ;***************************************************
     847      if (.not. isvar("start_time_step"))then   
     848     
     849       
     850         start_time_step = -1.d
     851         
     852         
     853      end if     
     854      ;***************************************************
     855      ; OPTIONAL --end_time_step-- LAST TIME STEP
     856      ;
     857      ; last time step of plot; there is no need to specify a precise
     858      ; time value from the input file,
     859      ; 'end_time_step' is rounded to the next existent time step
     860      ;
     861      ; data type: double; dimension: [hour]
     862      ;
     863      ; example:   end_time_step = 2.0d
     864      ;
     865      ; default:   -1.d (last available time step)
     866      ;***************************************************
     867      if (.not. isvar("end_time_step"))then
     868     
     869         
     870         end_time_step = -1.d   
     871         
     872         
     873      end if
     874      ;***************************************************
     875      ; OPTIONAL --time_stride-- TEMPORAL STRIDE
     876      ;
     877      ; temporal stride for the plots; if time_stride=1 all the profiles
     878      ; between first_time_step and end_time_step are plotted
     879      ; (including first_time_step and end_time_step),
     880      ; if time_stride=3 every third time step between start_time_step and
     881      ; end_time_step is plotted
     882      ;
     883      ; data type: integer
     884      ;
     885      ; example:   time_stride = 3
     886      ;
     887      ; default:   1
     888      ;***************************************************
     889      if (.not. isvar("time_stride"))then       
     890     
     891       
     892         time_stride = 1
     893         
     894         
     895      end if
     896      ;***************************************************
     897      ; OPTIONAL --xs-- MINIMUM X-AXIS
     898      ;
     899      ; value for minimum of x-axis
     900      ;
     901      ; data type: float; dimension of variable
     902      ;
     903      ; example: xs = 300. (e.g. if var=",pt")
     904      ;
     905      ; default:   -1. (minimum of range)
     906      ;***************************************************
     907      if (.not. isvar("xs"))then   
     908     
     909         
     910         xs = -1.
     911         
     912         
     913      end if     
     914      ;***************************************************
     915      ; OPTIONAL --xe-- MAXIMUM X-AXIS
     916      ;
     917      ; value for maximum of x-axis
     918      ;
     919      ; data type: float; dimension of variable
     920      ;
     921      ; example: xe = 302. (e.g. if var=",pt")
     922      ;
     923      ; default:   -1. (maximum of range)
     924      ;***************************************************
     925      if (.not. isvar("xe"))then 
     926     
     927         
     928         xe = -1.
     929         
     930         
     931      end if     
     932      ;***************************************************
     933      ; OPTIONAL --min_z-- MINIMUM Z-AXIS
     934      ;
     935      ; value for minimum height of z-axis
     936      ;
     937      ; data type: double; dimension: [meter]
     938      ;
     939      ; example: min_z = 0.0d
     940      ;
     941      ; default:   -1.d (related to the minimum of z-axis in input file)
     942      ;***************************************************
     943      if (.not. isvar("min_z"))then   
     944     
     945         
     946         min_z = -1.d
     947         
     948         
     949      end if     
     950      ;***************************************************
     951      ; OPTIONAL --max_z-- MAXIMUM Z-AXIS
     952      ;
     953      ; value for maximum height of z-axis
     954      ;
     955      ; data type: double; dimension: [meter]
     956      ;
     957      ; example: max_z = 1000.0d
     958      ;
     959      ; default:   -1.d (related to the maximum of z-axis in input file)
     960      ;***************************************************
     961      if (.not. isvar("max_z"))then   
     962     
     963         
     964         max_z = -1.d
     965         
     966         
     967      end if     
     968      ;***************************************************
     969      ; OPTIONAL --start_x-- STARTVALUE IN X-DIRECTION 
     970      ;
     971      ; if 3D data is used for profiles you can choose a startvalue
     972      ; in x-direction for horizontal averaging
     973      ;
     974      ; data type: integer; dimension [grippoint]
     975      ;
     976      ; example: start_x = 0
     977      ;
     978      ; default:   0 (minimum of range)
     979      ;***************************************************
     980      if (.not. isvar("start_x"))then   
     981     
     982         
     983         start_x = 0
     984         
     985         
     986      end if
     987      ;***************************************************
     988      ; OPTIONAL --end_x-- ENDVALUE IN X-DIRECTION 
     989      ;
     990      ; if 3D data is used for profiles you can choose an endvalue
     991      ; in x-direction for horizontal averaging
     992      ;
     993      ; data type: integer; dimension [grippoint]
     994      ;
     995      ; example: end_x = 200
     996      ;
     997      ; default:   -1 (maximum of range excluding ghostpoint)
     998      ;***************************************************
     999      if (.not. isvar("end_x"))then   
     1000     
     1001         
     1002         end_x = -1
     1003         
     1004         
     1005      end if
     1006      ;***************************************************
     1007      ; OPTIONAL --start_y-- STARTVALUE IN Y-DIRECTION 
     1008      ;
     1009      ; if 3D data is used for profiles you can choose a startvalue
     1010      ; in y-direction for horizontal averaging
     1011      ;
     1012      ; data type: integer; dimension [grippoint]
     1013      ;
     1014      ; example: start_y = 0
     1015      ;
     1016      ; default:   0 (minimum of range)
     1017      ;***************************************************
     1018      if (.not. isvar("start_y"))then   
     1019     
     1020         
     1021         start_y = 0
     1022         
     1023         
     1024      end if
     1025      ;***************************************************
     1026      ; OPTIONAL --end_y-- ENDVALUE IN Y-DIRECTION 
     1027      ;
     1028      ; if 3D data is used for profiles you can choose an endvalue
     1029      ; in y-direction for horizontal averaging
     1030      ;
     1031      ; data type: integer; dimension [grippoint]
     1032      ;
     1033      ; example: end_y = 200
     1034      ;
     1035      ; default:   -1 (maximum of range excluding ghostpoint)
     1036      ;***************************************************
     1037      if (.not. isvar("end_y"))then   
     1038     
     1039         
     1040         end_y = -1
     1041         
     1042         
     1043      end if     
     1044      ;***************************************************
     1045      ; OPTIONAL --no_columns-- NUMBER OF COLUMNS
     1046      ;
     1047      ; number of plots in one row
     1048      ;
     1049      ; data type: integer
     1050      ;
     1051      ; default:   1
     1052      ;***************************************************
     1053      if (.not. isvar("no_columns"))then         
     1054     
     1055     
     1056         no_columns = 1
     1057         
     1058         
     1059      end if     
     1060      ;***************************************************
     1061      ; OPTIONAL --no_rows-- NUMBER OF ROWS
     1062      ;
     1063      ; number of plots in one column
     1064      ;
     1065      ; data type: integer
     1066      ;
     1067      ; default:   2
     1068      ;***************************************************
     1069      if (.not. isvar("no_rows"))then   
     1070     
     1071       
     1072         no_rows = 2
     1073         
     1074         
     1075      end if     
     1076      ;***************************************************
     1077      ; OPTIONAL --log_z-- LOGARITHMIC SCALE OF Z-AXIS
     1078      ;
     1079      ; logarithmic scale for z-axis is switched on [=1] or off [=0]
     1080      ;
     1081      ; data type: integer
     1082      ;
     1083      ; example: log_z = 0
     1084      ;
     1085      ; default:   0
     1086      ;***************************************************
     1087      if (.not. isvar("log_z"))then
     1088     
     1089           
     1090         log_z = 0
     1091         
     1092         
     1093      end if     
     1094      ;***************************************************
     1095      ; OPTIONAL --norm_z-- NORMALISING Z-AXIS
     1096      ;
     1097      ; value for normalising the z-axis
     1098      ;
     1099      ; data type: float
     1100      ;
     1101      ; example: norm_z = 1.
     1102      ;
     1103      ; default:   1. (no normalising)
     1104      ;***************************************************
     1105      if (.not. isvar("norm_z"))then
     1106     
     1107           
     1108         norm_z = 1.
     1109         
     1110         
     1111      end if     
     1112      ;***************************************************
     1113      ; OPTIONAL --over-- OVERLAYING
     1114      ;
     1115      ; predefined overlaying of standard variables is switched
     1116      ; on [=1] or off [=0];
     1117      ; this feature cannot be used with statistic regions
     1118      ;
     1119      ; data type: integer
     1120      ;
     1121      ; example: over = 0
     1122      ;
     1123      ; default:   0
     1124      ;***************************************************
     1125      if (.not. isvar("over"))then
     1126     
     1127         
     1128         over = 0
     1129         
     1130         
     1131      end if     
     1132      ;***************************************************
     1133      ; OPTIONAL --combine-- COMBINING
     1134      ;
     1135      ; combining of two or three individual variables is possible and
     1136      ; switched on [=1] or off[=0]
     1137      ;
     1138      ; data type: integer
     1139      ;
     1140      ; example: combine = 0
     1141      ;
     1142      ; default:   0
     1143      ;***************************************************
     1144      if (.not. isvar("combine"))then 
     1145     
     1146         
     1147         combine = 0
     1148         
     1149         
     1150      end if     
     1151      ;***************************************************
     1152      ; REQUIRED IF combine=1 --number_comb-- NUMBER FOR COMBINING
     1153      ;
     1154      ; number of variables for combining; 2 or 3 is valid
     1155      ;
     1156      ; data type: integer
     1157      ;
     1158      ; example: number_comb = 2
     1159      ;
     1160      ; default:   -1
     1161      ;***************************************************
     1162      if (.not. isvar("number_comb"))then
     1163     
     1164           
     1165         number_comb = -1
     1166         
     1167         
     1168      end if     
     1169      ;***************************************************
     1170      ; REQUIRED IF combine=1 --c_var-- VARIABLES FOR COMBINING
     1171      ;
     1172      ; names of variables;
     1173      ; inidcate them with one comma before and after each variable
     1174      ; if the name contains double quotes (") use dq and the '+' operation to
     1175      ; concatenate the strings
     1176      ;
     1177      ; data type: string
     1178      ;
     1179      ; example: c_var = ",u,v,w,w*pt*,w"+dq+"pt"+dq+",wpt,"
     1180      ;
     1181      ; default:   "c_variables"
     1182      ;***************************************************
     1183      if (.not. isvar("c_var"))then
     1184     
     1185           
     1186         c_var = "c_variables"
     1187         
     1188         
     1189      end if     
     1190      ;***************************************************
     1191      ; OPTIONAL --black-- BLACK OR COLOR LINES
     1192      ;
     1193      ; colored [=0] or black and white [=1] plots
     1194      ;
     1195      ; data type: integer
     1196      ;
     1197      ; example: black = 0
     1198      ;
     1199      ; default:   0
     1200      ;***************************************************
     1201      if (.not. isvar("black"))then
     1202     
     1203           
     1204         black = 0
     1205         
     1206         
     1207      end if     
     1208      ;***************************************************
     1209      ; OPTIONAL --dash-- DASHED LINES
     1210      ;
     1211      ; use of different line patterns [=1] or continous lines [=0]
     1212      ; for different time steps
     1213      ;
     1214      ; data type: integer
     1215      ;
     1216      ; example: dash = 0
     1217      ;
     1218      ; default:   0
     1219      ;***************************************************
     1220      if (.not. isvar("dash"))then     
     1221     
     1222       
     1223         dash = 0     
     1224         
     1225         
     1226      end if
     1227      ;***************************************************
     1228      ; OPTIONAL --font_size-- FONT SIZE OF STRINGS
     1229      ;
     1230      ; font size can be changed to fit to the current plot
     1231      ;
     1232      ; data type: float
     1233      ;
     1234      ; example: font_size = 0.02
     1235      ;
     1236      ; default:   0.02
     1237      ;***************************************************
     1238      if(.not. isvar("font_size"))then
     1239     
     1240         
     1241         font_size = 0.02
     1242         
     1243         
     1244      end if
     1245      ;***************************************************
    8961246      ; OPTIONAL --legend-- SWITCHES ON A LEGEND
    8971247      ;
     
    9111261         
    9121262      end if   
     1263      ;***************************************************
     1264      ; OPTIONAL --font_size_legend-- FONT SIZE OF LEGEND STRINGS
     1265      ;
     1266      ; font size of the legend can be changed to fit to the current plot
     1267      ;
     1268      ; data type: float
     1269      ;
     1270      ; example: font_size_legend = 0.2
     1271      ;
     1272      ; default:   0.2
     1273      ;***************************************************
     1274      if(.not. isvar("font_size_legend"))then
     1275     
     1276         
     1277         font_size_legend = 0.2
     1278         
     1279         
     1280      end if     
    9131281      ;***************************************************
    9141282      ; OPTIONAL ---no_files-- NUMBER OF INPUT FILES
     
    13691737      end if             
    13701738      ;***************************************************
    1371       ; OPTIONAL --start_time_step-- FIRST TIME STEP
    1372       ;
    1373       ; first time step of plot; there is no need to specify a precise
    1374       ; time value from the input file,
    1375       ; 'start_time_step' is rounded to the next existent time step
    1376       ;
    1377       ; data type: double; dimension: [hour]
    1378       ;
    1379       ; example:   start_time_step = 0.5d
    1380       ;
    1381       ; default:   -1.d (first available time step)
    1382       ;***************************************************
    1383       if (.not. isvar("start_time_step"))then   
    1384      
    1385        
    1386          start_time_step = -1.d
    1387          
    1388          
    1389       end if     
    1390       ;***************************************************
    1391       ; OPTIONAL --end_time_step-- LAST TIME STEP
    1392       ;
    1393       ; last time step of plot; there is no need to specify a precise
    1394       ; time value from the input file,
    1395       ; 'end_time_step' is rounded to the next existent time step
    1396       ;
    1397       ; data type: double; dimension: [hour]
    1398       ;
    1399       ; example:   end_time_step = 2.0d
    1400       ;
    1401       ; default:   -1.d (last available time step)
    1402       ;***************************************************
    1403       if (.not. isvar("end_time_step"))then
    1404      
    1405          
    1406          end_time_step = -1.d   
    1407          
    1408          
    1409       end if
    1410       ;***************************************************
    1411       ; OPTIONAL --time_stride-- TEMPORAL STRIDE
    1412       ;
    1413       ; temporal stride for the plots; if time_stride=1 all the profiles
    1414       ; between first_time_step and end_time_step are plotted
    1415       ; (including first_time_step and end_time_step),
    1416       ; if time_stride=3 every third time step between start_time_step and
    1417       ; end_time_step is plotted
    1418       ;
    1419       ; data type: integer
    1420       ;
    1421       ; example:   time_stride = 3
    1422       ;
    1423       ; default:   1
    1424       ;***************************************************
    1425       if (.not. isvar("time_stride"))then       
    1426      
    1427        
    1428          time_stride = 1
    1429          
    1430          
    1431       end if
    1432       ;***************************************************
    1433       ; OPTIONAL --start_x-- STARTVALUE IN X-DIRECTION 
    1434       ;
    1435       ; if 3D data is used for profiles you can choose a startvalue
    1436       ; in x-direction for horizontal averaging
    1437       ;
    1438       ; data type: integer; dimension [grippoint]
    1439       ;
    1440       ; example: start_x = 0
    1441       ;
    1442       ; default:   0 (minimum of range)
    1443       ;***************************************************
    1444       if (.not. isvar("start_x"))then   
    1445      
    1446          
    1447          start_x = 0
    1448          
    1449          
    1450       end if
    1451       ;***************************************************
    1452       ; OPTIONAL --end_x-- ENDVALUE IN X-DIRECTION 
    1453       ;
    1454       ; if 3D data is used for profiles you can choose an endvalue
    1455       ; in x-direction for horizontal averaging
    1456       ;
    1457       ; data type: integer; dimension [grippoint]
    1458       ;
    1459       ; example: end_x = 200
    1460       ;
    1461       ; default:   -1 (maximum of range excluding ghostpoint)
    1462       ;***************************************************
    1463       if (.not. isvar("end_x"))then   
    1464      
    1465          
    1466          end_x = -1
    1467          
    1468          
    1469       end if
    1470       ;***************************************************
    1471       ; OPTIONAL --start_y-- STARTVALUE IN Y-DIRECTION 
    1472       ;
    1473       ; if 3D data is used for profiles you can choose a startvalue
    1474       ; in y-direction for horizontal averaging
    1475       ;
    1476       ; data type: integer; dimension [grippoint]
    1477       ;
    1478       ; example: start_y = 0
    1479       ;
    1480       ; default:   0 (minimum of range)
    1481       ;***************************************************
    1482       if (.not. isvar("start_y"))then   
    1483      
    1484          
    1485          start_y = 0
    1486          
    1487          
    1488       end if
    1489       ;***************************************************
    1490       ; OPTIONAL --end_y-- ENDVALUE IN Y-DIRECTION 
    1491       ;
    1492       ; if 3D data is used for profiles you can choose an endvalue
    1493       ; in y-direction for horizontal averaging
    1494       ;
    1495       ; data type: integer; dimension [grippoint]
    1496       ;
    1497       ; example: end_y = 200
    1498       ;
    1499       ; default:   -1 (maximum of range excluding ghostpoint)
    1500       ;***************************************************
    1501       if (.not. isvar("end_y"))then   
    1502      
    1503          
    1504          end_y = -1
    1505          
    1506          
    1507       end if     
    1508       ;***************************************************
    1509       ; OPTIONAL --xs-- MINIMUM X-AXIS
    1510       ;
    1511       ; value for minimum of x-axis
    1512       ;
    1513       ; data type: float; dimension of variable
    1514       ;
    1515       ; example: xs = 300. (e.g. if var=",pt")
    1516       ;
    1517       ; default:   -1. (minimum of range)
    1518       ;***************************************************
    1519       if (.not. isvar("xs"))then   
    1520      
    1521          
    1522          xs = -1.
    1523          
    1524          
    1525       end if     
    1526       ;***************************************************
    1527       ; OPTIONAL --xe-- MAXIMUM X-AXIS
    1528       ;
    1529       ; value for maximum of x-axis
    1530       ;
    1531       ; data type: float; dimension of variable
    1532       ;
    1533       ; example: xe = 302. (e.g. if var=",pt")
    1534       ;
    1535       ; default:   -1. (maximum of range)
    1536       ;***************************************************
    1537       if (.not. isvar("xe"))then 
    1538      
    1539          
    1540          xe = -1.
    1541          
    1542          
    1543       end if     
    1544       ;***************************************************
    1545       ; OPTIONAL --min_z-- MINIMUM Z-AXIS
    1546       ;
    1547       ; value for minimum height of z-axis
    1548       ;
    1549       ; data type: double; dimension: [meter]
    1550       ;
    1551       ; example: min_z = 0.0d
    1552       ;
    1553       ; default:   -1.d (related to the minimum of z-axis in input file)
    1554       ;***************************************************
    1555       if (.not. isvar("min_z"))then   
    1556      
    1557          
    1558          min_z = -1.d
    1559          
    1560          
    1561       end if     
    1562       ;***************************************************
    1563       ; OPTIONAL --max_z-- MAXIMUM Z-AXIS
    1564       ;
    1565       ; value for maximum height of z-axis
    1566       ;
    1567       ; data type: double; dimension: [meter]
    1568       ;
    1569       ; example: max_z = 1000.0d
    1570       ;
    1571       ; default:   -1.d (related to the maximum of z-axis in input file)
    1572       ;***************************************************
    1573       if (.not. isvar("max_z"))then   
    1574      
    1575          
    1576          max_z = -1.d
    1577          
    1578          
    1579       end if     
    1580       ;***************************************************
    1581       ; OPTIONAL --log_z-- LOGARITHMIC SCALE OF Z-AXIS
    1582       ;
    1583       ; logarithmic scale for z-axis is switched on [=1] or off [=0]
    1584       ;
    1585       ; data type: integer
    1586       ;
    1587       ; example: log_z = 0
    1588       ;
    1589       ; default:   0
    1590       ;***************************************************
    1591       if (.not. isvar("log_z"))then
    1592      
    1593            
    1594          log_z = 0
    1595          
    1596          
    1597       end if     
    1598       ;***************************************************
    1599       ; OPTIONAL --norm_z-- NORMALISING Z-AXIS
    1600       ;
    1601       ; value for normalising the z-axis
    1602       ;
    1603       ; data type: float
    1604       ;
    1605       ; example: norm_z = 1.
    1606       ;
    1607       ; default:   1. (no normalising)
    1608       ;***************************************************
    1609       if (.not. isvar("norm_z"))then
    1610      
    1611            
    1612          norm_z = 1.
    1613          
    1614          
    1615       end if     
    1616       ;***************************************************
    1617       ; OPTIONAL --over-- OVERLAYING
    1618       ;
    1619       ; predefined overlaying of standard variables is switched
    1620       ; on [=1] or off [=0];
    1621       ; this feature cannot be used with statistic regions
    1622       ;
    1623       ; data type: integer
    1624       ;
    1625       ; example: over = 0
    1626       ;
    1627       ; default:   0
    1628       ;***************************************************
    1629       if (.not. isvar("over"))then
    1630      
    1631          
    1632          over = 0
    1633          
    1634          
    1635       end if     
    1636       ;***************************************************
    1637       ; OPTIONAL --combine-- COMBINING
    1638       ;
    1639       ; combining of two or three individual variables is possible and
    1640       ; switched on [=1] or off[=0]
    1641       ;
    1642       ; data type: integer
    1643       ;
    1644       ; example: combine = 0
    1645       ;
    1646       ; default:   0
    1647       ;***************************************************
    1648       if (.not. isvar("combine"))then 
    1649      
    1650          
    1651          combine = 0
    1652          
    1653          
    1654       end if     
    1655       ;***************************************************
    1656       ; REQUIRED IF combine=1 --number_comb-- NUMBER FOR COMBINING
    1657       ;
    1658       ; number of variables for combining; 2 or 3 is valid
    1659       ;
    1660       ; data type: integer
    1661       ;
    1662       ; example: number_comb = 2
    1663       ;
    1664       ; default:   -1
    1665       ;***************************************************
    1666       if (.not. isvar("number_comb"))then
    1667      
    1668            
    1669          number_comb = -1
    1670          
    1671          
    1672       end if     
    1673       ;***************************************************
    1674       ; REQUIRED IF combine=1 --c_var-- VARIABLES FOR COMBINING
    1675       ;
    1676       ; names of variables;
    1677       ; inidcate them with one comma before and after each variable
    1678       ; if the name contains double quotes (") use dq and the '+' operation to
    1679       ; concatenate the strings
    1680       ;
    1681       ; data type: string
    1682       ;
    1683       ; example: c_var = ",u,v,w,w*pt*,w"+dq+"pt"+dq+",wpt,"
    1684       ;
    1685       ; default:   "c_variables"
    1686       ;***************************************************
    1687       if (.not. isvar("c_var"))then
    1688      
    1689            
    1690          c_var = "c_variables"
    1691          
    1692          
    1693       end if     
    1694       ;***************************************************
    1695       ; OPTIONAL --black-- BLACK OR COLOR LINES
    1696       ;
    1697       ; colored [=0] or black and white [=1] plots
    1698       ;
    1699       ; data type: integer
    1700       ;
    1701       ; example: black = 0
    1702       ;
    1703       ; default:   0
    1704       ;***************************************************
    1705       if (.not. isvar("black"))then
    1706      
    1707            
    1708          black = 0
    1709          
    1710          
    1711       end if     
    1712       ;***************************************************
    1713       ; OPTIONAL --dash-- DASHED LINES
    1714       ;
    1715       ; use of different line patterns [=1] or continous lines [=0]
    1716       ; for different time steps
    1717       ;
    1718       ; data type: integer
    1719       ;
    1720       ; example: dash = 0
    1721       ;
    1722       ; default:   0
    1723       ;***************************************************
    1724       if (.not. isvar("dash"))then     
    1725      
    1726        
    1727          dash = 0     
    1728          
    1729          
    1730       end if
    1731       ;***************************************************
    1732       ; OPTIONAL --font_size-- FONT SIZE OF STRINGS
    1733       ;
    1734       ; font size can be changed to fit to the current plot
    1735       ;
    1736       ; data type: float
    1737       ;
    1738       ; example: font_size = 0.02
    1739       ;
    1740       ; default:   0.02
    1741       ;***************************************************
    1742       if(.not. isvar("font_size"))then
    1743      
    1744          
    1745          font_size = 0.02
    1746          
    1747          
    1748       end if
    1749       ;***************************************************
    1750       ; OPTIONAL --font_size_legend-- FONT SIZE OF LEGEND STRINGS
    1751       ;
    1752       ; font size of the legend can be changed to fit to the current plot
    1753       ;
    1754       ; data type: float
    1755       ;
    1756       ; example: font_size_legend = 0.2
    1757       ;
    1758       ; default:   0.2
    1759       ;***************************************************
    1760       if(.not. isvar("font_size_legend"))then
    1761      
    1762          
    1763          font_size_legend = 0.2
    1764          
    1765          
    1766       end if     
    1767       ;***************************************************
    1768        
    17691739   end if
    17701740
     
    18811851         
    18821852         
    1883       end if     
    1884       ;***************************************************
    1885       ; OPTIONAL --no_columns-- NUMBER OF COLUMNS
    1886       ;
    1887       ; number of plots in one row
    1888       ;
    1889       ; data type: integer
    1890       ;
    1891       ; example: no_columns = 1
    1892       ;
    1893       ; default:   1
    1894       ;***************************************************
    1895       if (.not. isvar("no_columns"))then         
    1896      
    1897      
    1898          no_columns = 1
    1899          
    1900          
    1901       end if     
    1902       ;***************************************************
    1903       ; OPTIONAL --no_rows-- NUMBER OF ROWS
    1904       ;
    1905       ; number of plots in one column
    1906       ;
    1907       ; data type: integer
    1908       ;
    1909       ; example: no_rows = 2
    1910       ;
    1911       ; default:   2
    1912       ;***************************************************
    1913       if (.not. isvar("no_rows"))then
    1914      
    1915          
    1916          no_rows = 2
    1917          
    1918          
    1919       end if     
     1853      end if   
    19201854      ;***************************************************
    19211855      ; OPTIONAL --var-- OUTPUT VARIABLES
     
    19401874      end if     
    19411875      ;***************************************************
     1876      ; OPTIONAL --start_time_step-- FIRST TIME STEP
     1877      ;
     1878      ; first time step of plot; there is no need to specify a precise
     1879      ; time value from the input file,
     1880      ; 'start_time_step' is rounded to the next existent time step
     1881      ;
     1882      ; data type: double; dimension: [hour]
     1883      ;
     1884      ; example:   start_time_step = 0.5d
     1885      ;
     1886      ; default:   -1.d (first available time step)
     1887      ;***************************************************
     1888      if (.not. isvar("start_time_step"))then
     1889     
     1890         
     1891         start_time_step = -1.d
     1892         
     1893         
     1894      end if     
     1895      ;***************************************************
     1896      ; OPTIONAL --end_time_step-- LAST TIME STEP
     1897      ;
     1898      ; last time step of plot; there is no need to specify a precise
     1899      ; time value from the input file,
     1900      ; 'end_time_step' is rounded to the next existent time step
     1901      ;
     1902      ; data type: double; dimension: [hour]
     1903      ;
     1904      ; example:   end_time_step = 2.0d
     1905      ;
     1906      ; default:   -1.d (last available time step)
     1907      ;***************************************************
     1908      if (.not. isvar("end_time_step"))then
     1909     
     1910         
     1911         end_time_step = -1.d
     1912         
     1913         
     1914      end if   
     1915      ;***************************************************
    19421916      ; OPTIONAL --height_level-- HEIGHT LEVELS
    19431917      ;
     
    19791953      end if     
    19801954      ;***************************************************
    1981       ; OPTIONAL --start_time_step-- FIRST TIME STEP
    1982       ;
    1983       ; first time step of plot; there is no need to specify a precise
    1984       ; time value from the input file,
    1985       ; 'start_time_step' is rounded to the next existent time step
    1986       ;
    1987       ; data type: double; dimension: [hour]
    1988       ;
    1989       ; example:   start_time_step = 0.5d
    1990       ;
    1991       ; default:   -1.d (first available time step)
    1992       ;***************************************************
    1993       if (.not. isvar("start_time_step"))then
    1994      
    1995          
    1996          start_time_step = -1.d
    1997          
    1998          
    1999       end if     
    2000       ;***************************************************
    2001       ; OPTIONAL --end_time_step-- LAST TIME STEP
    2002       ;
    2003       ; last time step of plot; there is no need to specify a precise
    2004       ; time value from the input file,
    2005       ; 'end_time_step' is rounded to the next existent time step
    2006       ;
    2007       ; data type: double; dimension: [hour]
    2008       ;
    2009       ; example:   end_time_step = 2.0d
    2010       ;
    2011       ; default:   -1.d (last available time step)
    2012       ;***************************************************
    2013       if (.not. isvar("end_time_step"))then
    2014      
    2015          
    2016          end_time_step = -1.d
    2017          
    2018          
    2019       end if   
    2020       ;***************************************************
    2021       ; OPTIONAL --black-- BLACK OR COLOR LINES
    2022       ;
    2023       ; colored [=0] or black and white [=1] plots
    2024       ;
    2025       ; data type: integer
    2026       ;
    2027       ; example: black = 0
    2028       ;
    2029       ; default:   0
    2030       ;***************************************************
    2031       if (.not. isvar("black"))then
    2032      
    2033            
    2034          black = 0
    2035          
    2036          
    2037       end if     
    2038       ;***************************************************
    2039       ; OPTIONAL --dash-- DASHED LINES
    2040       ;
    2041       ; use of different line patterns [=1] or continous lines [=0]
    2042       ;
    2043       ; data type: integer
    2044       ;
    2045       ; example: dash = 0
    2046       ;
    2047       ; default:   0
    2048       ;***************************************************
    2049       if (.not. isvar("dash"))then   
    2050      
    2051          
    2052          dash = 0
    2053          
    2054          
    2055       end if
     1955      ; OPTIONAL --no_columns-- NUMBER OF COLUMNS
     1956      ;
     1957      ; number of plots in one row
     1958      ;
     1959      ; data type: integer
     1960      ;
     1961      ; example: no_columns = 1
     1962      ;
     1963      ; default:   1
     1964      ;***************************************************
     1965      if (.not. isvar("no_columns"))then         
     1966     
     1967     
     1968         no_columns = 1
     1969         
     1970         
     1971      end if     
     1972      ;***************************************************
     1973      ; OPTIONAL --no_rows-- NUMBER OF ROWS
     1974      ;
     1975      ; number of plots in one column
     1976      ;
     1977      ; data type: integer
     1978      ;
     1979      ; example: no_rows = 2
     1980      ;
     1981      ; default:   2
     1982      ;***************************************************
     1983      if (.not. isvar("no_rows"))then
     1984     
     1985         
     1986         no_rows = 2
     1987         
     1988         
     1989      end if     
    20561990      ;***************************************************
    20571991      ; OPTIONAL --log_x-- LOGARITHMIC SCALE X-AXIS
     
    20912025      end if     
    20922026      ;***************************************************
     2027      ; OPTIONAL --norm_height-- NORMALISING X-AXIS WITH HEIGHT
     2028      ;
     2029      ; normalising the x-axis with the height of each spectra
     2030      ; is switched on [=1] or off [=0]
     2031      ;
     2032      ; data type: integer
     2033      ;
     2034      ; example: norm_height = 0
     2035      ;
     2036      ; default:   0 (no normalising)
     2037      ;***************************************************
     2038      if (.not. isvar("norm_height"))then   
     2039     
     2040         
     2041         norm_height = 0
     2042         
     2043         
     2044      end if     
     2045      ;***************************************************
    20932046      ; OPTIONAL --norm_x-- NORMALISING X-AXIS
    20942047      ;
     
    21082061         
    21092062      end if
    2110       ;***************************************************
    2111       ; OPTIONAL --norm_height-- NORMALISING X-AXIS WITH HEIGHT
    2112       ;
    2113       ; normalising the x-axis with the height of each spectra
    2114       ; is switched on [=1] or off [=0]
    2115       ;
    2116       ; data type: integer
    2117       ;
    2118       ; example: norm_height = 0
    2119       ;
    2120       ; default:   0 (no normalising)
    2121       ;***************************************************
    2122       if (.not. isvar("norm_height"))then   
    2123      
    2124          
    2125          norm_height = 0
    2126          
    2127          
    2128       end if     
    21292063      ;***************************************************
    21302064      ; OPTIONAL --norm_y-- NORMALISE Y-AXIS
     
    21652099         
    21662100         unit_y = " "   
     2101         
     2102      end if
     2103      ;***************************************************
     2104      ; OPTIONAL --black-- BLACK OR COLOR LINES
     2105      ;
     2106      ; colored [=0] or black and white [=1] plots
     2107      ;
     2108      ; data type: integer
     2109      ;
     2110      ; example: black = 0
     2111      ;
     2112      ; default:   0
     2113      ;***************************************************
     2114      if (.not. isvar("black"))then
     2115     
     2116           
     2117         black = 0
     2118         
     2119         
     2120      end if     
     2121      ;***************************************************
     2122      ; OPTIONAL --dash-- DASHED LINES
     2123      ;
     2124      ; use of different line patterns [=1] or continous lines [=0]
     2125      ;
     2126      ; data type: integer
     2127      ;
     2128      ; example: dash = 0
     2129      ;
     2130      ; default:   0
     2131      ;***************************************************
     2132      if (.not. isvar("dash"))then   
     2133     
     2134         
     2135         dash = 0
     2136         
    21672137         
    21682138      end if
     
    23192289         
    23202290         
    2321       end if     
    2322       ;***************************************************
    2323       ; OPTIONAL --no_columns-- NUMBER OF COLUMNS
    2324       ;
    2325       ; number of plots in one row
    2326       ;
    2327       ; data type: integer
    2328       ;
    2329       ; example: no_columns = 1
    2330       ;
    2331       ; default:   1
    2332       ;***************************************************
    2333       if (.not. isvar("no_columns"))then       
    2334      
    2335        
    2336          no_columns = 1
    2337          
    2338          
    2339       end if     
    2340       ;***************************************************
    2341       ; OPTIONAL --no_rows-- NUMBER OF ROWS
    2342       ;
    2343       ; number of plots in one column
    2344       ;
    2345       ; data type: integer
    2346       ;
    2347       ; example: no_rows = 2
    2348       ;
    2349       ; default:   2
    2350       ;***************************************************
    2351       if (.not. isvar("no_rows"))then
    2352      
    2353          
    2354          no_rows = 1
    2355          
    2356          
    2357       end if     
    2358       ;***************************************************
     2291      end if
     2292 ;***************************************************
    23592293      ; OPTIONAL --var-- OUTPUT VARIABLES
    23602294      ;
     
    24162350         
    24172351
    2418       end if     
     2352      end if            
    24192353      ;***************************************************
    24202354      ; OPTIONAL --over-- OVERLAYING
     
    24382372      end if
    24392373      ;***************************************************
     2374      ; OPTIONAL --norm_t-- NORMALISING X-AXIS OF TIMESERIES PLOTS (T-AXIS)
     2375      ;
     2376      ; normalising the x-axis with the given value;
     2377      ; the unit can be set explicitly;
     2378      ; by default no normalising and unit is set to [s]
     2379      ;
     2380      ; data type: float
     2381      ;
     2382      ; example: norm_t = 3600.
     2383      ;
     2384      ; default:   1.
     2385      ;***************************************************
     2386      if(.not. isvar("norm_t"))then
     2387     
     2388         
     2389         norm_t = 1.
     2390         
     2391         
     2392      end if
     2393      ;***************************************************
     2394      ; OPTIONAL --unit_t-- UNIT OF X-AXIS OF TIMESERIES PLOTS (T-AXIS)
     2395      ;
     2396      ; unit of the x-axis can be set; by default unit is set to [s]
     2397      ;
     2398      ; data type: string
     2399      ;
     2400      ; example: unit_t = "h"
     2401      ;
     2402      ; default:   " "
     2403      ;***************************************************
     2404      if(.not. isvar("unit_t"))then
     2405     
     2406         
     2407         unit_t = " "
     2408         
     2409         
     2410      end if
     2411      ;***************************************************
     2412      ; OPTIONAL --no_columns-- NUMBER OF COLUMNS
     2413      ;
     2414      ; number of plots in one row
     2415      ;
     2416      ; data type: integer
     2417      ;
     2418      ; example: no_columns = 1
     2419      ;
     2420      ; default:   1
     2421      ;***************************************************
     2422      if (.not. isvar("no_columns"))then       
     2423     
     2424       
     2425         no_columns = 1
     2426         
     2427         
     2428      end if     
     2429      ;***************************************************
     2430      ; OPTIONAL --no_rows-- NUMBER OF ROWS
     2431      ;
     2432      ; number of plots in one column
     2433      ;
     2434      ; data type: integer
     2435      ;
     2436      ; example: no_rows = 2
     2437      ;
     2438      ; default:   2
     2439      ;***************************************************
     2440      if (.not. isvar("no_rows"))then
     2441     
     2442         
     2443         no_rows = 2
     2444         
     2445         
     2446      end if     
     2447      ;***************************************************
    24402448      ; OPTIONAL --font_size-- FONT SIZE OF STRINGS
    24412449      ;
     
    24552463         
    24562464      end if
    2457       ;***************************************************
    2458       ; OPTIONAL --norm_t-- NORMALISING X-AXIS OF TIMESERIES PLOTS (T-AXIS)
    2459       ;
    2460       ; normalising the x-axis with the given value;
    2461       ; the unit can explicitly set;
    2462       ; by default no normalising and unit is set to [s]
    2463       ;
    2464       ; data type: float
    2465       ;
    2466       ; example: norm_t = 3600.
    2467       ;
    2468       ; default:   1.
    2469       ;***************************************************
    2470       if(.not. isvar("norm_t"))then
    2471      
    2472          
    2473          norm_t = 1.
    2474          
    2475          
    2476       end if
    2477       ;***************************************************
    2478       ; OPTIONAL --unit_t-- UNIT OF X-AXIS OF TIMESERIES PLOTS (T-AXIS)
    2479       ;
    2480       ; unit of the x-axis can be set; by default unit is set to [s]
    2481       ;
    2482       ; data type: string
    2483       ;
    2484       ; example: unit_t = "h"
    2485       ;
    2486       ; default:   " "
    2487       ;***************************************************
    2488       if(.not. isvar("unit_t"))then
    2489      
    2490          
    2491          unit_t = " "
    2492          
    2493          
    2494       end if
    24952465      ;***************************************************
    24962466
  • palm/trunk/SCRIPTS/NCL/cross_sections.ncl

    r534 r566  
    2626      print("Neither the personal configuration file '.ncl.config' exists in")
    2727      print("~/palm/current_version")
    28       print("nor the default configuration file '.ncl.config.default' exists in")
     28      print("nor the default configuration file '.ncl.config.default' "+\
     29            "exists in")
    2930      print(palm_bin_path + "/NCL")
    3031      print(" ")
     
    4950
    5051   ; ***************************************************
    51    ; set default parameter values and strings if not assigned in prompt or parameter list
     52   ; set default parameter values and strings if not assigned
     53   ; in prompt or parameter list
    5254   ; ***************************************************
     55
     56   ; Selection of type of cross section is done in palmplot
     57   if (.not. isvar("xyc"))then       
     58      xyc = 0   
     59   end if
     60   if (.not. isvar("xzc"))then 
     61      xzc = 0   
     62   end if
     63   if (.not. isvar("yzc"))then     
     64      yzc = 0
     65   end if
    5366   
    5467   if (file_1 .EQ. "File in") then
     
    6174   end if
    6275
    63    if (format_out .NE. "x11" .AND. format_out .NE. "pdf" .AND. format_out .NE. "eps" .AND. format_out .NE. "ps" .AND. format_out .NE. "epsi" .AND. format_out .NE. "ncgm" .AND. format_out .NE. "png")then
     76   if (format_out .NE. "x11" .AND. format_out .NE. "pdf" .AND.   \
     77       format_out .NE. "eps" .AND. format_out .NE. "ps" .AND.    \
     78       format_out .NE. "epsi" .AND. format_out .NE. "ncgm" .AND. \
     79       format_out .NE. "png") then
    6480      print(" ")
    6581      print("'format_out = "+format_out+"' is invalid and set to'x11'")
     
    91107   end if
    92108
    93    if (fill_mode .NE. "AreaFill" .AND. fill_mode .NE. "RasterFill" .AND. fill_mode .NE. "CellFill") then
     109   if (fill_mode .NE. "AreaFill" .AND. fill_mode .NE. "RasterFill" .AND.\
     110       fill_mode .NE. "CellFill") then
    94111      print(" ")
    95112      print("'fill_mode'= "+fill_mode+" is invalid and set to 'AreaFill'")
     
    196213   if (start_f .EQ. -1)then
    197214      print(" ")
    198       print("'start_f' must be one of the cyclic numbers (at least 0) of your input file(s)")
     215      print("'start_f' must be one of the cyclic numbers (at least 0) "+\
     216            "of your input file(s)")
    199217      print(" ") 
    200218      exit
     
    202220   if (end_f .EQ. -1)then
    203221      print(" ")
    204       print("'end_f' must be one of the cyclic numbers (at least 0) of your input file(s)")
     222      print("'end_f' must be one of the cyclic numbers (at least 0) of "+\
     223            "your input file(s)")
    205224      print(" ") 
    206225      exit
     
    349368   vecres                          = True
    350369   cs_res@gsnYAxisIrregular2Linear = True 
     370   vecres@gsnYAxisIrregular2Linear = True
    351371 
    352372   cs_res@gsnDraw                 = False
    353373   cs_res@gsnFrame                = False
    354     cs_res@gsnMaximize                = True
     374   cs_res@gsnMaximize                = True
    355375   
    356376   cs_res@tmXBLabelFontHeightF   = font_size
     
    404424      if (start_time_step .GT. t_all(nt-1)/3600)
    405425         print(" ")
    406          print("'start_time_step' = "+ start_time_step +"h is greater than last time step = " + t_all(nt-1)+"s = "+t_all(nt-1)/3600+"h")
     426         print("'start_time_step' = "+ start_time_step +"h is greater than "+\
     427               "last time step = " + t_all(nt-1)+"s = "+t_all(nt-1)/3600+"h")
    407428         print(" ")
    408429         print("Select another 'start_time_step'")
     
    412433      if (start_time_step .LT. t_all(0)/3600)
    413434         print(" ")
    414          print("'start_time_step' = "+ start_time_step +"h is lower than first time step = " + t_all(0)+"s = "+t_all(0)/3600+"h")
     435         print("'start_time_step' = "+ start_time_step +"h is lower than "+\
     436               "first time step = " + t_all(0)+"s = "+t_all(0)/3600+"h")
    415437         print(" ")
    416438         print("Select another 'start_time_step'")
     
    420442   end if
    421443   do i=0,nt-1   
    422       if (start_time_step .GE. (t_all(i)-delta_t/2)/3600 .AND. start_time_step .LT. (t_all(i)+delta_t/2)/3600)then
     444      if (start_time_step .GE. (t_all(i)-delta_t/2)/3600 .AND. \
     445          start_time_step .LT. (t_all(i)+delta_t/2)/3600)then
    423446         st=i
    424447         break
     
    444467      if (end_time_step .LT. t_all(0)/3600)
    445468         print(" ")
    446          print("'end_time_step' = "+end_time_step+ "h is lower than first time step = " + t_all(0)+"s = "+t_all(0)/3600+"h")
     469         print("'end_time_step' = "+end_time_step+ "h is lower than "+\
     470               "first time step = " + t_all(0)+"s = "+t_all(0)/3600+"h")
    447471         print(" ")
    448472         print("Select another 'end_time_step'")
     
    452476      if (end_time_step .GT. t_all(nt-1)/3600)
    453477         print(" ")
    454          print("'end_time_step' = "+ end_time_step +"h is greater than last time step = " + t_all(nt-1)+"s = "+t_all(nt-1)/3600+"h")
     478         print("'end_time_step' = "+ end_time_step +"h is greater than "+\
     479               "last time step = " + t_all(nt-1)+"s = "+t_all(nt-1)/3600+"h")
    455480         print(" ")
    456481         print("Select another 'end_time_step'") 
     
    460485      if (end_time_step .LT. start_time_step/3600)
    461486         print(" ")
    462          print("'end_time_step' = "+ end_time_step +"h is lower than 'start_time_step' = "+start_time_step+"h")
     487         print("'end_time_step' = "+ end_time_step +"h is lower than "+\
     488               "'start_time_step' = "+start_time_step+"h")
    463489         print(" ")
    464490         print("Select another 'start_time_step' or 'end_time_step'")
     
    468494   end if
    469495   do i=0,nt-1     
    470       if (end_time_step .GE. (t_all(i)-delta_t/2)/3600 .AND. end_time_step .LT. (t_all(i)+delta_t/2)/3600)then
     496      if (end_time_step .GE. (t_all(i)-delta_t/2)/3600 .AND. \
     497          end_time_step .LT. (t_all(i)+delta_t/2)/3600)then
    471498         et=i
    472499         break
     
    489516
    490517   print(" ")
    491    print("Output of time steps from "+t_all(start_time_step)/3600+" h = "+t_all(start_time_step)+" s => index = "+start_time_step)
    492    print("                     till "+t_all(end_time_step)/3600+" h = "+t_all(end_time_step)+" s => index = "+end_time_step)
     518   print("Output of time steps from "+t_all(start_time_step)/3600+" h = "+\
     519                t_all(start_time_step)+" s => index = "+start_time_step)
     520   print("                     till "+t_all(end_time_step)/3600+" h = "  +\
     521                t_all(end_time_step)+" s => index = "+end_time_step)
    493522   print(" ")
    494523 
     
    502531      if (vec1 .EQ. "component1") then
    503532         print(" ")
    504          print("Indicate Vector 1 ('vec1') for Vector-Plot or set 'vector' to 0")
     533         print("Indicate Vector 1 ('vec1') for Vector-Plot or "+\
     534               "set 'vector' to 0")
    505535         print(" ")
    506536         exit
     
    508538      if (vec2 .EQ. "component2") then
    509539         print(" ")
    510          print("Indicate Vector 2 ('vec2') for Vector-Plot or set 'vector' to 0")
     540         print("Indicate Vector 2 ('vec2') for Vector-Plot or "+\
     541               "set 'vector' to 0")
    511542         print(" ")
    512543         exit
     
    571602      end do
    572603      do varn=0,dim-1   
    573          if (vNam(varn) .eq. "zw" .or. vNam(varn) .eq. "zu" .OR. vNam(varn) .eq. "zu_3d" .or. vNam(varn) .eq. "zw_3d") then
     604         if (vNam(varn) .eq. "zw" .or. vNam(varn) .eq. "zu" .OR. \
     605             vNam(varn) .eq. "zu_3d" .or. vNam(varn) .eq. "zw_3d") then
    574606            z_d     = f_att->$vNam(varn)$
    575607            zdim    = dimsizes(z_d)-1
     
    607639      end do
    608640      do varn=0,dim-1
    609          if (vNam(varn) .eq. "zw" .or. vNam(varn) .eq. "zu" .OR. vNam(varn) .eq. "zu_3d" .or. vNam(varn) .eq. "zw_3d") then
     641         if (vNam(varn) .eq. "zw" .or. vNam(varn) .eq. "zu" .OR. \
     642             vNam(varn) .eq. "zu_3d" .or. vNam(varn) .eq. "zw_3d") then
    610643            z_d     = f_att->$vNam(varn)$
    611644            zdim    = dimsizes(z_d)-1
     
    642675      if (delta_x .EQ. -1) then
    643676         print(" ")
    644          print("You cannot choose a start value for x, there are preseted layers for x")
     677         print("You cannot choose a start value for x, "+\
     678               "there are preset layers for x")
    645679         print(" ")
    646680         xstart=0
     
    649683      if (delta_x .EQ. -1) then
    650684         print(" ")
    651          print("You cannot choose a start value for x, there are preseted layers for x")
     685         print("You cannot choose a start value for x, "+\
     686               "there are preset layers for x")
    652687         print(" ")
    653688         xstart=0
     
    655690         if (xs .LT. 0-delta_x/2) then
    656691            print(" ")
    657             print("range start for x-coordinate = "+xs+"m is lower than first value = "+(0-delta_x/2)+"m")
     692            print("range start for x-coordinate = "+\
     693                   xs+"m is lower than first value = "+(0-delta_x/2)+"m")
    658694            print(" ")
    659695            exit
     
    662698            if (xs .GE. xdim*delta_x) then
    663699               print(" ")
    664                print("range start for x-coordinate = "+xs+"m is equal or greater than last value = "+xdim*delta_x+"m")
     700               print("range start for x-coordinate = "+\
     701                     xs+"m is equal or greater than last value = "+\
     702                     xdim*delta_x+"m")
    665703               print(" ")
    666704               exit
     
    669707            if (xs .GT. xdim*delta_x) then
    670708               print(" ")
    671                print("range start for x-coordinate = "+xs+"m is greater than last value = "+xdim*delta_x+"m")
     709               print("range start for x-coordinate = "+\
     710                     xs+"m is greater than last value = "+\
     711                     xdim*delta_x+"m")
    672712               print(" ")
    673713               exit
     
    681721      if (delta_y .EQ. -1) then
    682722         print(" ")
    683          print("You cannot choose a start value for y, there are preseted layers for y")
     723         print("You cannot choose a start value for y, "+\
     724               "there are preset layers for y")
    684725         print(" ")
    685726         ystart=0
     
    688729      if (delta_y .EQ. -1) then
    689730         print(" ")
    690          print("You cannot choose a start value for y, there are preseted layers for y")
     731         print("You cannot choose a start value for y, "+\
     732                "there are preset layers for y")
    691733         print(" ")
    692734         ystart=0
     
    694736         if (ys .LT. 0-delta_y/2) then
    695737            print(" ")
    696             print("range start for y-coordinate = "+ys+"m is lower than first value = "+0-delta_y/2+"m")
     738            print("range start for y-coordinate = "+\
     739                  ys+"m is lower than first value = "+0-delta_y/2+"m")
    697740            print(" ")
    698741            exit
     
    701744            if (ys .GE. ydim*delta_y) then
    702745               print(" ")
    703                print("range start for y-coordinate = "+ys+"m is equal or greater than last value = "+ydim*delta_y+"m")
     746               print("range start for y-coordinate = "+\
     747                     ys+"m is equal or greater than last value = "+\
     748                     ydim*delta_y+"m")
    704749               print(" ")
    705750               exit
     
    708753            if (ys .GT. ydim*delta_y) then
    709754               print(" ")
    710                print("range start for y-coordinate = "+ys+"m is greater than last value = "+ydim*delta_y+"m")
     755               print("range start for y-coordinate = "+\
     756                     ys+"m is greater than last value = "+ydim*delta_y+"m")
    711757               print(" ")
    712758               exit
     
    720766      if (delta_z .EQ. -1) then
    721767         print(" ")
    722          print("You cannot choose a start value for z, there are preseted layers for z")
     768         print("You cannot choose a start value for z, "+\
     769               "there are preset layers for z")
    723770         print(" ")
    724771      end if
     
    726773      if (delta_z .EQ. -1) then
    727774         print(" ")
    728          print("You cannot choose a start value for z, there are preseted layers for z")
     775         print("You cannot choose a start value for z, "+\
     776               "there are preset layers for z")
    729777         print(" ")
    730778         zs = 0
     
    732780         if (zs .LT. 0) then
    733781            print(" ")
    734             print("range start for z-coordinate = "+zs+" is lower than first gridpoint = 0")
     782            print("range start for z-coordinate = "+\
     783                  zs+" is lower than first gridpoint = 0")
    735784            print(" ")
    736785            exit
     
    739788            if (zs .GE. zdim) then
    740789               print(" ")
    741                print("range start for z-coordinate = "+zs+" is equal or greater than last gridpoint = "+zdim)
     790               print("range start for z-coordinate = "+\
     791                     zs+" is equal or greater than last gridpoint = "+zdim)
    742792               print(" ")
    743793               exit
     
    746796            if (zs .GT. zdim) then
    747797               print(" ")
    748                print("range start for z-coordinate = "+zs+" is greater than last gridpoint = "+zdim)
     798               print("range start for z-coordinate = "+\
     799                     zs+" is greater than last gridpoint = "+zdim)
    749800               print(" ")
    750801               exit
     
    758809      if (delta_x .EQ. -1) then
    759810         print(" ")
    760          print("You cannot choose an end value for x, there are preseted layers for x")
     811         print("You cannot choose an end value for x, "+\
     812               "there are preset layers for x")
    761813         print(" ")
    762814         xend=xdim
     
    765817      if (delta_x .EQ. -1) then
    766818         print(" ")
    767          print("You cannot choose an end value for x, there are preseted layers for x")
     819         print("You cannot choose an end value for x, "+\
     820               "there are preset layers for x")
    768821         print(" ")
    769822         xend=xdim
     
    771824         if (xe .GT. xdim*delta_x) then
    772825            print(" ")
    773             print("range end for x-coordinate = "+xe+"m is greater than last value = "+xdim*delta_x+"m")
     826            print("range end for x-coordinate = "+\
     827                  xe+"m is greater than last value = "+xdim*delta_x+"m")
    774828            print(" ")
    775829            exit
     
    778832            if (xe .LE. 0-delta_x/2)
    779833               print(" ")
    780                print("range end for x-coordinate = "+xe+"m is equal or lower than first value = "+(0-delta_x/2)+"m")
     834               print("range end for x-coordinate = "+\
     835                     xe+"m is equal or lower than first value = "+\
     836                     (0-delta_x/2)+"m")
    781837               print(" ")
    782838               exit
     
    784840            if (xe .LE. xs) then
    785841               print(" ")
    786                print("range end for x-coordinate = "+xe+"m is equal or lower than start range = "+xs+"m")
     842               print("range end for x-coordinate = "+\
     843                     xe+"m is equal or lower than start range = "+xs+"m")
    787844               print(" ")
    788845               exit
     
    790847            if (xe .EQ. xs+1) then
    791848               print(" ")
    792                print("range end for x-coordinate = "+xe+"m must be at least two more gridpoints greater than start range = "+xs+"m")
     849               print("range end for x-coordinate = "+\
     850                     xe+"m must be at least two more gridpoints "+\
     851                     "greater than start range = "+xs+"m")
    793852               print(" ")
    794853               exit
     
    797856            if (xe .LT. 0-delta_x/2)
    798857               print(" ")
    799                print("range end for x-coordinate = "+xe+"m is lower than first value = "+(0-delta_x/2)+"m")
     858               print("range end for x-coordinate = "+\
     859                     xe+"m is lower than first value = "+(0-delta_x/2)+"m")
    800860               print(" ")
    801861               exit
     
    803863            if (xe .LT. xs) then
    804864               print(" ")
    805                print("range end for x-coordinate = "+xe+"m is lower than start range = "+xs+"m")
     865               print("range end for x-coordinate = "+\
     866                     xe+"m is lower than start range = "+xs+"m")
    806867               print(" ")
    807868               exit
     
    815876      if (delta_y .EQ. -1) then
    816877         print(" ")
    817          print("You cannot choose an end value for y, there are preseted layers for y")
     878         print("You cannot choose an end value for y, "+\
     879               "there are preset layers for y")
    818880         print(" ")
    819881         yend=ydim
     
    822884      if (delta_y .EQ. -1) then
    823885         print(" ")
    824          print("You cannot choose an end value for y, there are preseted layers for y")
     886         print("You cannot choose an end value for y, "+\
     887               "there are preset layers for y")
    825888         print(" ")
    826889         yend=ydim
     
    828891         if (ye .GT. ydim*delta_y) then
    829892            print(" ")
    830             print("range end for y-coordinate = "+ye+"m is greater than last value = "+ydim*delta_y+"m")
     893            print("range end for y-coordinate = "+\
     894                  ye+"m is greater than last value = "+ydim*delta_y+"m")
    831895            print(" ")
    832896            exit
     
    835899            if (ye .LE. 0-delta_y/2)
    836900               print(" ")
    837                print("range end for y-coordinate = "+ye+"m is equal or lower than first value = "+(0-delta_y/2)+"m")
     901               print("range end for y-coordinate = "+\
     902                     ye+"m is equal or lower than first value = "+\
     903                     (0-delta_y/2)+"m")
    838904               print(" ")
    839905               exit
     
    841907            if (ye .LE. ys) then
    842908               print(" ")
    843                print("range end for y-coordinate = "+ye+"m is equal or lower than start range = "+ys+"m")
     909               print("range end for y-coordinate = "+\
     910                    ye+"m is equal or lower than start range = "+ys+"m")
    844911               print(" ")
    845912               exit
     
    847914            if (ye .EQ. ys+1) then
    848915               print(" ")
    849                print("range end for y-coordinate = "+ye+"m must be at least two more gridpoints greater than start range = "+ys+"m")
     916               print("range end for y-coordinate = "+\
     917                     ye+"m must be at least two more gridpoints greater "+\
     918                     "than start range = "+ys+"m")
    850919               print(" ")
    851920               exit
     
    854923            if (ye .LT. 0-delta_y/2)
    855924               print(" ")
    856                print("range end for y-coordinate = "+ye+"m is lower than first value = "+(0-delta_y/2)+"m")
     925               print("range end for y-coordinate = "+\
     926                     ye+"m is lower than first value = "+(0-delta_y/2)+"m")
    857927               print(" ")
    858928               exit
     
    860930            if (ye .LT. ys) then
    861931               print(" ")
    862                print("range end for y-coordinate = "+ye+"m is lower than start range = "+ys+"m")
     932               print("range end for y-coordinate = "+\
     933                     ye+"m is lower than start range = "+ys+"m")
    863934               print(" ")
    864935               exit
     
    872943      if (delta_z .EQ. -1) then
    873944         print(" ")
    874          print("You cannot choose an end value for z, there are preseted layers for z")
     945         print("You cannot choose an end value for z, "+\
     946               "there are preset layers for z")
    875947         print(" ")
    876948         ze = zdim
     
    879951      if (delta_z .EQ. -1) then
    880952         print(" ")
    881          print("You cannot choose an end value for z, there are preseted layers for z")
     953         print("You cannot choose an end value for z, "+\
     954               "there are preset layers for z")
    882955         print(" ")
    883956         ze = zdim
     
    885958         if (ze .GT. zdim) then
    886959            print(" ")
    887             print("range end for z-coordinate = "+ze+" is greater than last gridpoint = "+zdim)
     960            print("range end for z-coordinate = "+\
     961                  ze+" is greater than last gridpoint = "+zdim)
    888962            print(" ")
    889963            exit
     
    892966            if (ze .LE. 0)
    893967               print(" ")
    894                print("range end for z-coordinate = "+ze+" is equal or lower than first gridpoint = 0")
     968               print("range end for z-coordinate = "+\
     969                     ze+" is equal or lower than first gridpoint = 0")
    895970               print(" ")
    896971               exit
     
    898973            if (ze .LE. zs) then
    899974               print(" ")
    900                print("range end for z-coordinate = "+ze+" is equal or lower than start range = "+zs)
     975               print("range end for z-coordinate = "+\
     976                     ze+" is equal or lower than start range = "+zs)
    901977               print(" ")
    902978               exit
     
    904980            if (ze .EQ. zs+1) then
    905981               print(" ")
    906                print("range end for z-coordinate = "+ze+" must be at least two more gridpoints greater than start range = "+zs)
     982               print("range end for z-coordinate = "+\
     983                     ze+" must be at least two more gridpoints "+\
     984                     "greater than start range = "+zs)
    907985               print(" ")
    908986               exit
     
    911989            if (ze .LT. 0)
    912990               print(" ")
    913                print("range end for z-coordinate = "+ze+" is lower than first gridpoint = 0")
     991               print("range end for z-coordinate = "+\
     992                     ze+" is lower than first gridpoint = 0")
    914993               print(" ")
    915994               exit
     
    917996            if (ze .LT. zs) then
    918997               print(" ")
    919                print("range end for z-coordinate = "+ze+" is lower than start range = "+zs)
     998               print("range end for z-coordinate = "+\
     999                     ze+" is lower than start range = "+zs)
    9201000               print(" ")
    9211001               exit
     
    10661146         if (ar .GT. 0)
    10671147            do min_ar=0,3
    1068                 array_minor_yl(4*(ar-1)+min_ar)= y_d(array_yl(ar-1))+(y_d(array_yl(ar))-y_d(array_yl(ar-1)))/5*(min_ar+1)
     1148                array_minor_yl(4*(ar-1)+min_ar)= y_d(array_yl(ar-1))+\
     1149                         (y_d(array_yl(ar))-y_d(array_yl(ar-1)))/5*(min_ar+1)
    10691150            end do
    10701151         end if 
     
    10751156         if (br .GT. 0)
    10761157            do min_br=0,3
    1077                array_minor_xb(4*(br-1)+min_br)= x_d(array_xb(br-1))+(x_d(array_xb(br))-x_d(array_xb(br-1)))/5*(min_br+1)
     1158               array_minor_xb(4*(br-1)+min_br)= x_d(array_xb(br-1))+\
     1159                         (x_d(array_xb(br))-x_d(array_xb(br-1)))/5*(min_br+1)
    10781160            end do
    10791161         end if
     
    10991181         if (ar .GT. 0)
    11001182            do min_ar=0,3
    1101                array_minor_yl(4*(ar-1)+min_ar)= z_d(array_yl(ar-1))+(z_d(array_yl(ar))-z_d(array_yl(ar-1)))/5*(min_ar+1)
     1183               array_minor_yl(4*(ar-1)+min_ar)= z_d(array_yl(ar-1))+\
     1184                          (z_d(array_yl(ar))-z_d(array_yl(ar-1)))/5*(min_ar+1)
    11021185            end do
    11031186         end if 
     
    11081191         if (br .GT. 0)
    11091192            do min_br=0,3
    1110                array_minor_xb(4*(br-1)+min_br)= x_d(array_xb(br-1))+(x_d(array_xb(br))-x_d(array_xb(br-1)))/5*(min_br+1)
     1193               array_minor_xb(4*(br-1)+min_br)= x_d(array_xb(br-1))+\
     1194                         (x_d(array_xb(br))-x_d(array_xb(br-1)))/5*(min_br+1)
    11111195            end do
    11121196         end if
     
    11321216         if (ar .GT. 0)
    11331217            do min_ar=0,3
    1134                array_minor_yl(4*(ar-1)+min_ar)= z_d(array_yl(ar-1))+(z_d(array_yl(ar))-z_d(array_yl(ar-1)))/5*(min_ar+1)
     1218               array_minor_yl(4*(ar-1)+min_ar)= z_d(array_yl(ar-1))+\
     1219                         (z_d(array_yl(ar))-z_d(array_yl(ar-1)))/5*(min_ar+1)
    11351220            end do
    11361221         end if 
     
    11411226         if (br .GT. 0)
    11421227            do min_br=0,3
    1143                array_minor_xb(4*(br-1)+min_br)= y_d(array_xb(br-1))+(y_d(array_xb(br))-y_d(array_xb(br-1)))/5*(min_br+1)
     1228               array_minor_xb(4*(br-1)+min_br)= y_d(array_xb(br-1))+\
     1229                         (y_d(array_xb(br))-y_d(array_xb(br-1)))/5*(min_br+1)
    11441230            end do
    11451231         end if
     
    12291315      if (xe .EQ. xs+1) then
    12301316         print(" ")
    1231          print("range end for x-coordinate="+xe*delta_x+"m) must be at least two")
    1232          print("more gridpoints(="+2*delta_x+"m) greater than start range="+xs*delta_x+"m)")
     1317         print("range end for x-coordinate="+xe*delta_x+\
     1318               "m must be at least two")
     1319         print("more gridpoints(="+2*delta_x+"m) greater than start range="+\
     1320               xs*delta_x+"m)")
    12331321         print(" ")
    12341322         exit
     
    12381326      if (ye .EQ. ys+1) then
    12391327         print(" ")
    1240          print("range end for y-coordinate="+ye*delta_y+"m) must be at least two")
    1241          print("more gridpoints(="+2*delta_y+"m) greater than start range="+ys*delta_y+"m)")
     1328         print("range end for y-coordinate="+ye*delta_y+\
     1329               "m must be at least two")
     1330         print("more gridpoints(="+2*delta_y+"m greater than start range="+\
     1331               ys*delta_y+"m)")
    12421332         print(" ")
    12431333         exit
     
    12471337      if (ze .EQ. zs+1) then
    12481338         print(" ")
    1249          print("range end for x-coordinate="+ze+") must be at least two")
     1339         print("range end for z-coordinate="+ze+" must be at least two")
    12501340         print("more gridpoints greater than start range="+zs+")")
    12511341         print(" ")
     
    13071397   no_zu1=0
    13081398
    1309    do varn=dim-1,0,1       
     1399   ;****************************************************
     1400   ; Preparation of vector plots
     1401   ; ****************************************************       
     1402
     1403   do varn=dim-1,0,1
     1404
     1405     if (vector .EQ. 1) then   
     1406        check_vec1 = isStrSubset( vec1,","+vNam(varn)+",")
     1407        if (check_vec1) then
     1408            temp = f[:]->$vNam(varn)$
     1409            data_att = f_att->$vNam(varn)$
     1410            vect1=temp(:,zs:ze,ys:ye,xs:xe)
     1411            delete(temp)
     1412         end if
     1413
     1414         check_vec2 = isStrSubset( vec2,","+vNam(varn)+",")
     1415         if (check_vec2) then
     1416            temp = f[:]->$vNam(varn)$
     1417            data_att = f_att->$vNam(varn)$
     1418            vect2=temp(:,zs:ze,ys:ye,xs:xe)
     1419            delete(temp)
     1420         end if
    13101421   
    1311       if (vector .EQ. 1) then   
    1312          check_vec1 = isStrSubset( vec1,","+vNam(varn)+",")
    1313          check_vec2 = isStrSubset( vec2,","+vNam(varn)+",")
    1314       end if
     1422         if (","+vNam(varn)+"," .EQ. vec1) then
     1423            v1=v1+1
     1424         end if
     1425         if (","+vNam(varn)+"," .EQ. vec2) then
     1426             v2=v2+1
     1427          end if
     1428     end if
     1429
     1430   end do
     1431
     1432
     1433
     1434   do varn=dim-1,0,1     
    13151435           
    1316       if ( vNam(varn) .eq. "zw" .or. vNam(varn) .eq. "yv" .or. vNam(varn) .eq. "xu" .or. vNam(varn) .eq. "zu" .or. vNam(varn) .eq. "zwwi" .or. vNam(varn) .eq. "zusi" .or. vNam(varn) .eq. "time" .or. vNam(varn) .eq. "zu_3d" .or. vNam(varn) .eq. "zw_3d" .or. vNam(varn) .eq. "x".or. vNam(varn) .eq. "y" .or. vNam(varn) .eq. "zu_xy" .or. vNam(varn) .eq. "zw_xy" .or. vNam(varn) .eq. "zu1_xy" .or. vNam(varn) .eq. "ind_z_xy" .or. vNam(varn) .eq. "y_xz" .or. vNam(varn) .eq. "yv_xz" .or. vNam(varn) .eq. "ind_y_xz" .or. vNam(varn) .eq. "x_yz" .or. vNam(varn) .eq. "xu_yz" .or. vNam(varn) .eq. "ind_x_yz") then
     1436      if ( vNam(varn) .eq. "zw" .or. vNam(varn) .eq. "yv" .or.          \
     1437           vNam(varn) .eq. "xu" .or. vNam(varn) .eq. "zu" .or.          \
     1438           vNam(varn) .eq. "zwwi" .or. vNam(varn) .eq. "zusi" .or.      \
     1439           vNam(varn) .eq. "time" .or. vNam(varn) .eq. "zu_3d" .or.     \
     1440           vNam(varn) .eq. "zw_3d" .or. vNam(varn) .eq. "x".or.         \
     1441           vNam(varn) .eq. "y" .or. vNam(varn) .eq. "zu_xy" .or.        \
     1442           vNam(varn) .eq. "zw_xy" .or. vNam(varn) .eq. "zu1_xy" .or.   \
     1443           vNam(varn) .eq. "ind_z_xy" .or. vNam(varn) .eq. "y_xz" .or.  \
     1444           vNam(varn) .eq. "yv_xz" .or. vNam(varn) .eq. "ind_y_xz" .or. \
     1445           vNam(varn) .eq. "x_yz" .or. vNam(varn) .eq. "xu_yz" .or.     \
     1446           vNam(varn) .eq. "ind_x_yz") then
    13171447         check = False
    13181448      else
     
    13271457     
    13281458         no_var=no_var+1
    1329 
    1330          if (vector .EQ. 1) then
    1331             if (","+vNam(varn)+"," .EQ. vec1) then
    1332                v1=v1+1
    1333             end if
    1334             if (","+vNam(varn)+"," .EQ. vec2) then
    1335                v2=v2+1
    1336             end if
    1337          end if
    13381459
    13391460         if (xyc .EQ. 1) then
     
    13481469              .or. vNam(varn) .eq. "shf*_xy" .or. vNam(varn) .eq. "t*_xy"   \
    13491470              .or. vNam(varn) .eq. "u*_xy" .or. vNam(varn) .eq. "z0*_xy") then
    1350               ;these variables depend on zu1_xy and that's why they have only one z-layer
     1471              ;these variables depend on zu1_xy and that's why they have
     1472              ;only one z-layer
    13511473              data(varn,:,0,:,:)=temp(:,0,ys:ye,xs:xe)
    13521474              no_zu1=no_zu1+1
     
    13681490            delete(temp)
    13691491         end if
    1370          if (check_vec1) then
    1371             vect1=data(varn,:,:,:,:)
    1372          end if
    1373          if (check_vec2) then
    1374             vect2=data(varn,:,:,:,:)
    1375          end if
    13761492
    13771493         data!0 = "var"
     
    13811497         data!4 = "x" 
    13821498
    1383          MinVal(varn) = min(data(varn,start_time_step:end_time_step,0:(ze-zs),0:(ye-ys),0:(xe-xs)))
    1384          MaxVal(varn) = max(data(varn,start_time_step:end_time_step,0:(ze-zs),0:(ye-ys),0:(xe-xs)))
     1499         MinVal(varn) = min(data(varn,start_time_step:end_time_step,\
     1500                                               0:(ze-zs),0:(ye-ys),0:(xe-xs)))
     1501         MaxVal(varn) = max(data(varn,start_time_step:end_time_step,\
     1502                                               0:(ze-zs),0:(ye-ys),0:(xe-xs)))
    13851503         
    13861504         unit(varn) = data_att@units
     
    14051523   do varn=dim-1,0,1   
    14061524   
    1407       if (vector .EQ. 1) then   
    1408          check_vec1 = isStrSubset( vec1,","+vNam(varn)+",")
    1409          check_vec2 = isStrSubset( vec2,","+vNam(varn)+",")
    1410       end if
     1525      ;if (vector .EQ. 1) then   
     1526      ;   check_vec1 = isStrSubset( vec1,","+vNam(varn)+",")
     1527      ;   check_vec2 = isStrSubset( vec2,","+vNam(varn)+",")
     1528      ;end if
    14111529           
    1412       if ( vNam(varn) .eq. "zw" .or. vNam(varn) .eq. "yv" .or. vNam(varn) .eq. "xu" .or. vNam(varn) .eq. "zu" .or. vNam(varn) .eq. "zwwi" .or. vNam(varn) .eq. "zusi" .or. vNam(varn) .eq. "time" .or. vNam(varn) .eq. "zu_3d" .or. vNam(varn) .eq. "zw_3d" .or. vNam(varn) .eq. "x".or. vNam(varn) .eq. "y" .or. vNam(varn) .eq. "zu_xy" .or. vNam(varn) .eq. "zw_xy" .or. vNam(varn) .eq. "zu1_xy" .or. vNam(varn) .eq. "ind_z_xy" .or. vNam(varn) .eq. "y_xz" .or. vNam(varn) .eq. "yv_xz" .or. vNam(varn) .eq. "ind_y_xz" .or. vNam(varn) .eq. "x_yz" .or. vNam(varn) .eq. "xu_yz" .or. vNam(varn) .eq. "ind_x_yz") then
     1530      if ( vNam(varn) .eq. "zw" .or. vNam(varn) .eq. "yv" .or.          \
     1531           vNam(varn) .eq. "xu" .or. vNam(varn) .eq. "zu" .or.          \
     1532           vNam(varn) .eq. "zwwi" .or. vNam(varn) .eq. "zusi" .or.      \
     1533           vNam(varn) .eq. "time" .or. vNam(varn) .eq. "zu_3d" .or.     \
     1534           vNam(varn) .eq. "zw_3d" .or. vNam(varn) .eq. "x".or.         \
     1535           vNam(varn) .eq. "y" .or. vNam(varn) .eq. "zu_xy" .or.        \
     1536           vNam(varn) .eq. "zw_xy" .or. vNam(varn) .eq. "zu1_xy" .or.   \
     1537           vNam(varn) .eq. "ind_z_xy" .or. vNam(varn) .eq. "y_xz" .or.  \
     1538           vNam(varn) .eq. "yv_xz" .or. vNam(varn) .eq. "ind_y_xz" .or. \
     1539           vNam(varn) .eq. "x_yz" .or. vNam(varn) .eq. "xu_yz" .or.     \
     1540           vNam(varn) .eq. "ind_x_yz") then
    14131541         check = False
    14141542      else
     
    14421570      if (v1 .EQ. 0)then
    14431571         print(" ")
    1444          print("Component 1 for the vector-plot ('vec1') must be one of the varibles on the input file:")
     1572         print("Component 1 for the vector-plot ('vec1') must be one "+\
     1573               "of the variables on the input file:")
    14451574         print("- "+var_input)
    14461575         print("be sure to have one comma before and after the variable")
     
    14511580      if (v2 .EQ. 0)then
    14521581         print(" ")
    1453          print("Component 2 for the vector-plot ('vec2') must be one of the varibles on the input file:")
     1582         print("Component 2 for the vector-plot ('vec2') must be one "+\
     1583               "of the variables on the input file:")
    14541584         print("- "+var_input)
    14551585         print("be sure to have one comma before and after the variable")
     
    14781608                                         + no_time*no_layer/),graphic)
    14791609   else
    1480       plot=new((/no_time*no_layer*no_var - no_time*(no_layer-1)*no_zu1/),graphic)
     1610      plot=new((/no_time*no_layer*no_var - no_time*(no_layer-1)*no_zu1/)\
     1611                                                                ,graphic)
    14811612   end if
    14821613   dim_plot=dimsizes(plot)
     
    15461677            vecres@vcGlyphStyle     = "CurlyVector"   ; curly vectors
    15471678            vecres@vcRefMagnitudeF  = ref_mag         ; define vector ref mag
    1548             vecres@vcRefLengthF     = 0.05            ; define length of vec ref
     1679            vecres@vcRefLengthF     = 0.05            ; define length of
     1680                                                      ; vec ref
    15491681            vecres@gsnRightString   = "Vector plot of "+vec1+" and "+vec2
    15501682            vecres@tmXBLabelFontHeightF   = font_size
     
    15531685            vecres@tiYAxisFontHeightF     = font_size
    15541686            if (sort .EQ. "time")then
    1555                vecres@gsnLeftString = "t=" + decimalPlaces(t_all(li)/3600,2,True) +"h   "+level
     1687               vecres@gsnLeftString = "t=" + \
     1688                             decimalPlaces(t_all(li)/3600,2,True) +"h   "+level
    15561689            else
    1557                vecres@gsnLeftString = "t=" + decimalPlaces(t_all(lo)/3600,2,True) +"h   "+level
     1690               vecres@gsnLeftString = "t=" + \
     1691                             decimalPlaces(t_all(lo)/3600,2,True) +"h   "+level
    15581692            end if
    15591693            if (xyc .EQ. 1) then 
    15601694               vecres@tiXAxisString = "x (m)"
    15611695               vecres@tiYAxisString = "y (m)"   
    1562                if (sort .EQ. "time")then                                         
    1563                   plot(n) = gsn_csm_vector(wks_ps,vect1(li,lo-los,:,:),vect2(li,lo-los,:,:),vecres)
     1696               if (sort .EQ. "time")then
     1697                  plot(n) = gsn_csm_vector(wks_ps,vect1(li,lo-los,:,:),\
     1698                                               vect2(li,lo-los,:,:),vecres)
    15641699               else
    1565                   plot(n) = gsn_csm_vector(wks_ps,vect1(lo,li-lis,:,:),vect2(lo,li-lis,:,:),vecres)
     1700                  plot(n) = gsn_csm_vector(wks_ps,vect1(lo,li-lis,:,:),\
     1701                                                vect2(lo,li-lis,:,:),vecres)
    15661702               end if
    15671703            end if
     
    15701706               vecres@tiYAxisString = "z (m)"
    15711707               if (sort .EQ. "time")then
    1572                   plot(n) = gsn_csm_vector(wks_ps,vect1(li,:,lo-los,:),vect2(li,:,lo-los,:),vecres)
     1708                  plot(n) = gsn_csm_vector(wks_ps,vect1(li,:,lo-los,:),\
     1709                                               vect2(li,:,lo-los,:),vecres)
    15731710               else
    1574                   plot(n) = gsn_csm_vector(wks_ps,vect1(lo,:,li-lis,:),vect2(lo,:,li-lis,:),vecres)
     1711                  plot(n) = gsn_csm_vector(wks_ps,vect1(lo,:,li-lis,:),\
     1712                                                vect2(lo,:,li-lis,:),vecres)
    15751713               end if
    15761714            end if
     
    15791717               vecres@tiYAxisString = "z (m)"
    15801718               if (sort .EQ. "time")then
    1581                   plot(n) = gsn_csm_vector(wks_ps,vect1(li,:,:,lo-los),vect2(li,:,:,lo-los),vecres)
     1719                  plot(n) = gsn_csm_vector(wks_ps,vect1(li,:,:,lo-los),\
     1720                                                vect2(li,:,:,lo-los),vecres)
    15821721               else
    1583                   plot(n) = gsn_csm_vector(wks_ps,vect1(lo,:,:,li-lis),vect2(lo,:,:,li-lis),vecres)
     1722                  plot(n) = gsn_csm_vector(wks_ps,vect1(lo,:,:,li-lis),\
     1723                                                vect2(lo,:,:,li-lis),vecres)
    15841724               end if
    15851725            end if
     
    15921732
    15931733      if (vector .EQ. 1 ) then   
    1594          check_vecp = isStrSubset( plotvec,","+vNam(varn)+",") 
     1734         check_vecp = isStrSubset( plotvec,","+vNam(varn)+",")
    15951735      end if
    15961736     
    1597       if ( vNam(varn) .eq. "zw" .or. vNam(varn) .eq. "yv" .or. vNam(varn) .eq. "xu" .or. vNam(varn) .eq. "zu" .or. vNam(varn) .eq. "zwwi" .or. vNam(varn) .eq. "zusi" .or. vNam(varn) .eq. "time" .or. vNam(varn) .eq. "zu_3d" .or. vNam(varn) .eq. "zw_3d" .or. vNam(varn) .eq. "x".or. vNam(varn) .eq. "y" .or. vNam(varn) .eq. "zu_xy" .or. vNam(varn) .eq. "zw_xy" .or. vNam(varn) .eq. "zu1_xy" .or. vNam(varn) .eq. "ind_z_xy" .or. vNam(varn) .eq. "y_xz" .or. vNam(varn) .eq. "yv_xz" .or. vNam(varn) .eq. "ind_y_xz" .or. vNam(varn) .eq. "x_yz" .or. vNam(varn) .eq. "xu_yz" .or. vNam(varn) .eq. "ind_x_yz") then
     1737      if ( vNam(varn) .eq. "zw" .or. vNam(varn) .eq. "yv" .or.          \
     1738           vNam(varn) .eq. "xu" .or. vNam(varn) .eq. "zu" .or.          \
     1739           vNam(varn) .eq. "zwwi" .or. vNam(varn) .eq. "zusi" .or.      \
     1740           vNam(varn) .eq. "time" .or. vNam(varn) .eq. "zu_3d" .or.     \
     1741           vNam(varn) .eq. "zw_3d" .or. vNam(varn) .eq. "x".or.         \
     1742           vNam(varn) .eq. "y" .or. vNam(varn) .eq. "zu_xy" .or.        \
     1743           vNam(varn) .eq. "zw_xy" .or. vNam(varn) .eq. "zu1_xy" .or.   \
     1744           vNam(varn) .eq. "ind_z_xy" .or. vNam(varn) .eq. "y_xz" .or.  \
     1745           vNam(varn) .eq. "yv_xz" .or. vNam(varn) .eq. "ind_y_xz" .or. \
     1746           vNam(varn) .eq. "x_yz" .or. vNam(varn) .eq. "xu_yz" .or.     \
     1747           vNam(varn) .eq. "ind_x_yz") then
    15981748         check = False
    15991749      else
     
    16421792                     end if
    16431793
    1644                      if(vNam(varn) .eq. "lwps_xy" .or. vNam(varn) .eq. "pras_xy"       \
    1645                          .or. vNam(varn) .eq. "prrs_xy" .or. vNam(varn) .eq. "qsws_xy" \
    1646                          .or. vNam(varn) .eq. "shfs_xy" .or. vNam(varn) .eq. "ts_xy"   \
    1647                          .or. vNam(varn) .eq. "us_xy" .or. vNam(varn) .eq. "z0s_xy"    \
    1648                          .or. vNam(varn) .eq. "lwp*_xy" .or. vNam(varn) .eq. "pra*_xy" \
    1649                          .or. vNam(varn) .eq. "prr*_xy" .or. vNam(varn) .eq. "qsws*_xy"\
    1650                          .or. vNam(varn) .eq. "shf*_xy" .or. vNam(varn) .eq. "t*_xy"   \
    1651                          .or. vNam(varn) .eq. "u*_xy" .or. vNam(varn) .eq. "z0*_xy") then
     1794                     if(vNam(varn) .eq. "lwps_xy"  .or. \
     1795                        vNam(varn) .eq. "pras_xy"  .or. \
     1796                        vNam(varn) .eq. "prrs_xy"  .or. \
     1797                        vNam(varn) .eq. "qsws_xy"  .or. \
     1798                        vNam(varn) .eq. "shfs_xy"  .or. \
     1799                        vNam(varn) .eq. "ts_xy"    .or. \
     1800                        vNam(varn) .eq. "us_xy"    .or. \
     1801                        vNam(varn) .eq. "z0s_xy"   .or. \
     1802                        vNam(varn) .eq. "lwp*_xy"  .or. \
     1803                        vNam(varn) .eq. "pra*_xy"  .or. \
     1804                        vNam(varn) .eq. "prr*_xy"  .or. \
     1805                        vNam(varn) .eq. "qsws*_xy" .or. \
     1806                        vNam(varn) .eq. "shf*_xy"  .or. \
     1807                        vNam(varn) .eq. "t*_xy"    .or. \
     1808                        vNam(varn) .eq. "u*_xy"    .or. \
     1809                        vNam(varn) .eq. "z0*_xy") then
    16521810                         loe = 0
    16531811                         level = "=" + zu1(0) + "m"
    16541812                     end if
    16551813                   
    1656                      cs_res@gsnCenterString = "t=" + decimalPlaces(t_all(li)/3600,2,True) +"h  z"+level           
    1657                      plot(n) = gsn_csm_contour(wks_ps,data(varn,li,lo-los,:,:),cs_res)
     1814                     cs_res@gsnCenterString = "t=" + \
     1815                       decimalPlaces(t_all(li)/3600,2,True) +"h  z"+level
     1816                     plot(n) = gsn_csm_contour(wks_ps,\
     1817                                           data(varn,li,lo-los,:,:),cs_res)
    16581818                     if (vector .EQ. 1 .AND. check_vecp) then
    1659                         vecres                  = True            ; vector only resources
    1660                         vecres@gsnDraw          = False           ; don't draw
    1661                         vecres@gsnFrame         = False           ; don't advance frame
    1662                         vecres@vcGlyphStyle     = "CurlyVector"   ; curly vectors
    1663                         vecres@vcRefMagnitudeF  = ref_mag         ; define vector ref mag
    1664                         vecres@vcRefLengthF     = 0.05            ; define length of vec ref 
    1665                         vecres@gsnRightString   = " "
    1666                         vecres@gsnLeftString    = " "
    1667                         vecres@tiXAxisString    = " "   
    1668                         plot_vec=gsn_csm_vector(wks_ps,vect1(li,lo-los,:,:),vect2(li,lo-los,:,:),vecres)
     1819                        vecres                 = True           ; vector only
     1820                                                                ; resources
     1821                        vecres@gsnDraw         = False          ; don't draw
     1822                        vecres@gsnFrame        = False          ; don't
     1823                                                                ; advance frame
     1824                        vecres@vcGlyphStyle    = "CurlyVector"  ; curly
     1825                                                                ; vectors
     1826                        vecres@vcRefMagnitudeF = ref_mag        ; define
     1827                                                                ; vector ref
     1828                                                                ; mag
     1829                        vecres@vcRefLengthF    = 0.05           ; define
     1830                                                                ; length of
     1831                                                                ; vec ref 
     1832                        vecres@gsnRightString  = " "
     1833                        vecres@gsnLeftString   = " "
     1834                        vecres@tiXAxisString   = " "   
     1835                        plot_vec=gsn_csm_vector(wks_ps,\
     1836                              vect1(li,lo-los,:,:),vect2(li,lo-los,:,:),vecres)
    16691837                        overlay(plot(n), plot_vec)
    16701838                     end if                         
     
    16821850                     end if
    16831851       
    1684                      if(vNam(varn) .eq. "lwps_xy" .or. vNam(varn) .eq. "pras_xy"       \
    1685                          .or. vNam(varn) .eq. "prrs_xy" .or. vNam(varn) .eq. "qsws_xy" \
    1686                          .or. vNam(varn) .eq. "shfs_xy" .or. vNam(varn) .eq. "ts_xy"   \
    1687                          .or. vNam(varn) .eq. "us_xy" .or. vNam(varn) .eq. "z0s_xy"    \
    1688                          .or. vNam(varn) .eq. "lwp*_xy" .or. vNam(varn) .eq. "pra*_xy" \
    1689                          .or. vNam(varn) .eq. "prr*_xy" .or. vNam(varn) .eq. "qsws*_xy"\
    1690                          .or. vNam(varn) .eq. "shf*_xy" .or. vNam(varn) .eq. "t*_xy"   \
    1691                          .or. vNam(varn) .eq. "u*_xy" .or. vNam(varn) .eq. "z0*_xy") then
     1852                     if(vNam(varn) .eq. "lwps_xy"  .or. \
     1853                        vNam(varn) .eq. "pras_xy"  .or. \
     1854                        vNam(varn) .eq. "prrs_xy"  .or. \
     1855                        vNam(varn) .eq. "qsws_xy"  .or. \
     1856                        vNam(varn) .eq. "shfs_xy"  .or. \
     1857                        vNam(varn) .eq. "ts_xy"    .or. \
     1858                        vNam(varn) .eq. "us_xy"    .or. \
     1859                        vNam(varn) .eq. "z0s_xy"   .or. \
     1860                        vNam(varn) .eq. "lwp*_xy"  .or. \
     1861                        vNam(varn) .eq. "pra*_xy"  .or. \
     1862                        vNam(varn) .eq. "prr*_xy"  .or. \
     1863                        vNam(varn) .eq. "qsws*_xy" .or. \
     1864                        vNam(varn) .eq. "shf*_xy"  .or. \
     1865                        vNam(varn) .eq. "t*_xy"    .or. \
     1866                        vNam(varn) .eq. "u*_xy"    .or. \
     1867                        vNam(varn) .eq. "z0*_xy") then
    16921868                         lie = 0
    16931869                         level = "=" + zu1(0) + "m"
    16941870                     end if
    16951871               
    1696                      cs_res@gsnCenterString = "t=" + decimalPlaces(t_all(lo)/3600,2,True) + "h  z"+ level
     1872                     cs_res@gsnCenterString = "t=" + \
     1873                           decimalPlaces(t_all(lo)/3600,2,True) + "h  z"+ level
    16971874                     
    1698                      plot(n) = gsn_csm_contour(wks_ps,data(varn,lo,li-lis,:,:),cs_res)
     1875                     plot(n) = gsn_csm_contour(wks_ps,\
     1876                                            data(varn,lo,li-lis,:,:),cs_res)
    16991877                     if (vector .EQ. 1 .AND. check_vecp) then
    1700                         vecres                  = True            ; vector only resources
    1701                         vecres@gsnDraw          = False           ; don't draw
    1702                         vecres@gsnFrame         = False           ; don't advance frame
    1703                         vecres@vcGlyphStyle     = "CurlyVector"   ; curly vectors
    1704                         vecres@vcRefMagnitudeF  = ref_mag         ; define vector ref mag
    1705                         vecres@vcRefLengthF     = 0.05            ; define length of vec ref
    1706                         vecres@gsnRightString   = " "             ; turn off right string
    1707                         vecres@gsnLeftString    = " "             ; turn off left string
    1708                         vecres@tiXAxisString    = " "   
    1709                         plot_vec=gsn_csm_vector(wks_ps,vect1(lo,li-lis,:,:),vect2(lo,li-lis,:,:),vecres)
     1878                        vecres                 = True           ; vector only
     1879                                                                ; resources
     1880                        vecres@gsnDraw         = False          ; don't draw
     1881                        vecres@gsnFrame        = False          ; don't
     1882                                                                ; advance frame
     1883                        vecres@vcGlyphStyle    = "CurlyVector"  ; curly vectors
     1884                        vecres@vcRefMagnitudeF = ref_mag        ; define
     1885                                                                ; vector ref
     1886                                                                ; mag
     1887                        vecres@vcRefLengthF    = 0.05           ; define
     1888                                                                ; length of
     1889                                                                ; vec ref
     1890                        vecres@gsnRightString  = " "            ; turn off
     1891                                                                ; right string
     1892                        vecres@gsnLeftString   = " "            ; turn off
     1893                                                                ; left string
     1894                        vecres@tiXAxisString   = " "   
     1895                        plot_vec=gsn_csm_vector(wks_ps,vect1(lo,li-lis,:,:),\
     1896                                                   vect2(lo,li-lis,:,:),vecres)
    17101897                        overlay(plot(n), plot_vec)
    17111898                     end if
     
    17271914                        level = "=" + y_d(lo) + "m"
    17281915                     end if
    1729                      cs_res@gsnCenterString = "t=" + decimalPlaces(t_all(li)/3600,2,True) + "h  y"+ level
    1730                      plot(n) = gsn_csm_contour(wks_ps,data(varn,li,:,lo-los,:),cs_res)
     1916                     cs_res@gsnCenterString = "t=" + \
     1917                           decimalPlaces(t_all(li)/3600,2,True) + "h  y"+ level
     1918                     plot(n) = gsn_csm_contour(wks_ps,\
     1919                                              data(varn,li,:,lo-los,:),cs_res)
    17311920                     if (vector .EQ. 1 .AND. check_vecp) then
    1732                         vecres                  = True            ; vector only resources
    1733                         vecres@gsnDraw          = False           ; don't draw
    1734                         vecres@gsnFrame         = False           ; don't advance frame
    1735                         vecres@vcGlyphStyle     = "CurlyVector"   ; curly vectors
    1736                         vecres@vcRefMagnitudeF  = ref_mag         ; define vector ref mag
    1737                         vecres@vcRefLengthF     = 0.05            ; define length of vec ref
    1738                         vecres@gsnRightString   = " "             ; turn off right string
    1739                         vecres@gsnLeftString    = " "             ; turn off left string
    1740                         vecres@tiXAxisString    = " "   
    1741                         plot_vec=gsn_csm_vector(wks_ps,vect1(li,:,lo-los,:),vect2(li,:,lo-los,:),vecres)
     1921                        vecres                 = True           ; vector only
     1922                                                                ; resources
     1923                        vecres@gsnDraw         = False          ; don't draw
     1924                        vecres@gsnFrame        = False          ; don't
     1925                                                                ; advance frame
     1926                        vecres@vcGlyphStyle    = "CurlyVector"  ; curly vectors
     1927                        vecres@vcRefMagnitudeF = ref_mag        ; define
     1928                                                                ; vector ref
     1929                                                                ; mag
     1930                        vecres@vcRefLengthF    = 0.05           ; define
     1931                                                                ; length of
     1932                                                                ; vec ref
     1933                        vecres@gsnRightString  = " "            ; turn off
     1934                                                                ; right string
     1935                        vecres@gsnLeftString   = " "            ; turn off
     1936                                                                ; left string
     1937                        vecres@tiXAxisString   = " "   
     1938                        plot_vec=gsn_csm_vector(wks_ps,vect1(li,:,lo-los,:),\
     1939                                                   vect2(li,:,lo-los,:),vecres)
    17421940                        overlay(plot(n), plot_vec)
    17431941                     end if
     
    17501948                        level = "=" + y_d(li) + "m"
    17511949                     end if
    1752                      cs_res@gsnCenterString = "t=" + decimalPlaces(t_all(lo)/3600,2,True) + "h  y"+ level
    1753                      plot(n) = gsn_csm_contour(wks_ps,data(varn,lo,:,li-lis,:),cs_res)
     1950                     cs_res@gsnCenterString = "t=" + \
     1951                           decimalPlaces(t_all(lo)/3600,2,True) + "h  y"+ level
     1952                     plot(n) = gsn_csm_contour(wks_ps,\
     1953                                              data(varn,lo,:,li-lis,:),cs_res)
    17541954                     if (vector .EQ. 1 .AND. check_vecp) then
    1755                         vecres                  = True            ; vector only resources
    1756                         vecres@gsnDraw          = False           ; don't draw
    1757                         vecres@gsnFrame         = False           ; don't advance frame
    1758                         vecres@vcGlyphStyle     = "CurlyVector"   ; curly vectors
    1759                         vecres@vcRefMagnitudeF  = ref_mag         ; define vector ref mag
    1760                         vecres@vcRefLengthF     = 0.05            ; define length of vec ref
    1761                         vecres@gsnRightString   = " "             ; turn off right string
    1762                         vecres@gsnLeftString    = " "             ; turn off left string
    1763                         vecres@tiXAxisString    = " "   
    1764                         plot_vec=gsn_csm_vector(wks_ps,vect1(lo,:,li-lis,:),vect2(lo,:,li-lis,:),vecres)
     1955                        vecres                 = True           ; vector only
     1956                                                                ; resources
     1957                        vecres@gsnDraw         = False          ; don't draw
     1958                        vecres@gsnFrame        = False          ; don't
     1959                                                                ; advance frame
     1960                        vecres@vcGlyphStyle    = "CurlyVector"  ; curly vectors
     1961                        vecres@vcRefMagnitudeF = ref_mag        ; define
     1962                                                                ; vector ref
     1963                                                                ; mag
     1964                        vecres@vcRefLengthF    = 0.05           ; define
     1965                                                                ; length of
     1966                                                                ; vec ref
     1967                        vecres@gsnRightString  = " "            ; turn off
     1968                                                                ; right string
     1969                        vecres@gsnLeftString   = " "            ; turn off
     1970                                                                ; left string
     1971                        vecres@tiXAxisString   = " "   
     1972                        plot_vec=gsn_csm_vector(wks_ps,vect1(lo,:,li-lis,:),\
     1973                                                   vect2(lo,:,li-lis,:),vecres)
    17651974                        overlay(plot(n), plot_vec)
    17661975                     end if
     
    17821991                        level = "=" + x_d(lo) + "m"
    17831992                     end if
    1784                      cs_res@gsnCenterString = "t=" + decimalPlaces(t_all(li)/3600,2,True) + "h  x"+ level
    1785                      plot(n) = gsn_csm_contour(wks_ps,data(varn,li,:,:,lo-los),cs_res)
     1993                     cs_res@gsnCenterString = "t=" + \
     1994                          decimalPlaces(t_all(li)/3600,2,True) + "h  x"+ level
     1995                     plot(n) = gsn_csm_contour(wks_ps,\
     1996                                          data(varn,li,:,:,lo-los),cs_res)
    17861997                     if (vector .EQ. 1 .AND. check_vecp) then
    1787                         vecres                  = True            ; vector only resources
    1788                         vecres@gsnDraw          = False           ; don't draw
    1789                         vecres@gsnFrame         = False           ; don't advance frame
    1790                         vecres@vcGlyphStyle     = "CurlyVector"   ; curly vectors
    1791                         vecres@vcRefMagnitudeF  = ref_mag         ; define vector ref mag
    1792                         vecres@vcRefLengthF     = 0.05            ; define length of vec ref
    1793                         vecres@gsnRightString   = " "             ; turn off right string
    1794                         vecres@gsnLeftString    = " "             ; turn off left string
    1795                         vecres@tiXAxisString    = " "   
    1796                         plot_vec=gsn_csm_vector(wks_ps,vect1(li,:,:,lo-los),vect2(li,:,:,lo-los),vecres)
     1998                        vecres                 = True           ; vector only
     1999                                                                ; resources
     2000                        vecres@gsnDraw         = False          ; don't draw
     2001                        vecres@gsnFrame        = False          ; don't
     2002                                                                ; advance frame
     2003                        vecres@vcGlyphStyle    = "CurlyVector"  ; curly vectors
     2004                        vecres@vcRefMagnitudeF = ref_mag        ; define
     2005                                                                ; vector ref
     2006                                                                ; mag
     2007                        vecres@vcRefLengthF    = 0.05           ; define
     2008                                                                ; length of
     2009                                                                ; vec ref
     2010                        vecres@gsnRightString  = " "            ; turn off
     2011                                                                ; right string
     2012                        vecres@gsnLeftString   = " "            ; turn off
     2013                                                                ; left string
     2014                        vecres@tiXAxisString   = " "   
     2015                        plot_vec=gsn_csm_vector(wks_ps,vect1(li,:,:,lo-los),\
     2016                                                   vect2(li,:,:,lo-los),vecres)
    17972017                        overlay(plot(n), plot_vec)
    17982018                     end if
     
    18052025                        level = "=" + x_d(li) + "m"
    18062026                     end if
    1807                      cs_res@gsnCenterString = "t=" + decimalPlaces(t_all(lo)/3600,2,True) + "h  x"+ level
    1808                      plot(n) = gsn_csm_contour(wks_ps,data(varn,lo,:,:,li-lis),cs_res)
     2027                     cs_res@gsnCenterString = "t=" + \
     2028                           decimalPlaces(t_all(lo)/3600,2,True) + "h  x"+ level
     2029                     plot(n) = gsn_csm_contour(wks_ps,\
     2030                                          data(varn,lo,:,:,li-lis),cs_res)
    18092031                     if (vector .EQ. 1 .AND. check_vecp)then
    1810                         vecres                  = True            ; vector only resources
    1811                         vecres@gsnDraw          = False           ; don't draw
    1812                         vecres@gsnFrame         = False           ; don't advance frame
    1813                         vecres@vcGlyphStyle     = "CurlyVector"   ; curly vectors
    1814                         vecres@vcRefMagnitudeF  = ref_mag         ; define vector ref mag
    1815                         vecres@vcRefLengthF     = 0.05            ; define length of vec ref
    1816                         vecres@gsnRightString   = " "             ; turn off right string
    1817                         vecres@gsnLeftString    = " "             ; turn off left string
    1818                         vecres@tiXAxisString    = " "   
    1819                         plot_vec=gsn_csm_vector(wks_ps,vect1(lo,:,:,li-lis),vect2(lo,:,:,li-lis),vecres)
     2032                        vecres                 = True           ; vector only
     2033                                                                ;resources
     2034                        vecres@gsnDraw         = False          ; don't draw
     2035                        vecres@gsnFrame        = False          ; don't
     2036                                                                ; advance frame
     2037                        vecres@vcGlyphStyle    = "CurlyVector"  ; curly vectors
     2038                        vecres@vcRefMagnitudeF = ref_mag        ; define
     2039                                                                ; vector ref
     2040                                                                ; mag
     2041                        vecres@vcRefLengthF    = 0.05           ; define
     2042                                                                ; length of
     2043                                                                ; vec ref
     2044                        vecres@gsnRightString  = " "            ; turn off
     2045                                                                ; right string
     2046                        vecres@gsnLeftString   = " "            ; turn off
     2047                                                                ; left string
     2048                        vecres@tiXAxisString   = " "   
     2049                        plot_vec=gsn_csm_vector(wks_ps,vect1(lo,:,:,li-lis),\
     2050                                                   vect2(lo,:,:,li-lis),vecres)
    18202051                        overlay(plot(n), plot_vec)
    18212052                     end if
     
    18352066
    18362067   if (vector .EQ. 1 .AND. plotvec .EQ. "plotvec") then
    1837       if ((format_out .EQ. "eps" .OR. format_out .EQ. "epsi") .AND. no_time*no_layer*(no_var+1) .gt. no_rows*no_columns) then
    1838          gsn_panel(wks_ps,plot(0:(no_time*no_layer*(no_var+1))-1),(/no_var+1,no_layer*no_time/),cs_resP)
     2068      if ((format_out .EQ. "eps" .OR. format_out .EQ. "epsi") .AND. \
     2069           no_time*no_layer*(no_var+1) .gt. no_rows*no_columns) then
     2070         gsn_panel(wks_ps,plot(0:(no_time*no_layer*(no_var+1))-1),\
     2071                                       (/no_var+1,no_layer*no_time/),cs_resP)
    18392072         print(" ")
    18402073         print("Outputs to .eps or .epsi have only one frame")
     
    18432076         do np = 0,dim_plot-1,no_rows*no_columns   
    18442077            if ( np + no_rows*no_columns .gt. dim_plot-1) then
    1845                gsn_panel(wks_ps, plot(np:dim_plot-1),(/no_rows,no_columns/),cs_resP)
     2078               gsn_panel(wks_ps, plot(np:dim_plot-1),(/no_rows,no_columns/),\
     2079                                                                      cs_resP)
    18462080               no_frames = no_frames + 1
    18472081            else
    1848                gsn_panel(wks_ps, plot(np:np+no_rows*no_columns-1),(/no_rows,no_columns/),cs_resP)
     2082               gsn_panel(wks_ps, plot(np:np+no_rows*no_columns-1),\
     2083                                              (/no_rows,no_columns/),cs_resP)
    18492084               no_frames = no_frames + 1
    18502085            end if
     
    18522087      end if
    18532088   else       
    1854       if ((format_out .EQ. "eps" .OR. format_out .EQ. "epsi") .AND. dim_plot .gt. no_rows*no_columns) then
     2089      if ((format_out .EQ. "eps" .OR. format_out .EQ. "epsi") \
     2090                               .AND. dim_plot .gt. no_rows*no_columns) then
    18552091         gsn_panel(wks_ps,plot(0:dim_plot-1),(/dim_plot,1/),cs_resP)
    18562092         print(" ")
     
    18602096         do np = 0,dim_plot-1,no_rows*no_columns 
    18612097            if ( np + no_rows*no_columns .gt. dim_plot-1) then
    1862                gsn_panel(wks_ps, plot(np:dim_plot-1),(/no_rows,no_columns/),cs_resP)
     2098               gsn_panel(wks_ps, plot(np:dim_plot-1),(/no_rows,no_columns/),\
     2099                                                                     cs_resP)
    18632100               no_frames = no_frames + 1
    18642101            else
    1865                gsn_panel(wks_ps, plot(np:np+no_rows*no_columns-1),(/no_rows,no_columns/),cs_resP)
     2102               gsn_panel(wks_ps, plot(np:np+no_rows*no_columns-1),\
     2103                                              (/no_rows,no_columns/),cs_resP)
    18662104               no_frames = no_frames + 1
    18672105            end if
  • palm/trunk/SCRIPTS/NCL/profiles.ncl

    r534 r566  
    2424      print("Neither the personal configuration file '.ncl.config' exists in")
    2525      print("~/palm/current_version")
    26       print("nor the default configuration file '.ncl.config.default' exists in")
     26      print("nor the default configuration file '.ncl.config.default' "+\
     27            "exists in")
    2728      print(palm_bin_path + "/NCL")
    2829      print(" ")
     
    6061   file_in   = new(no_files,string)
    6162   file_in_1 = new(no_files,logical)
    62    start_f  = new(no_files,integer)
    63    end_f     = new(no_files,integer)
     63   start_f_t = new(no_files,integer)
     64   end_f_t   = new(no_files,integer)
    6465   
    6566   if (file_1 .EQ. "File in") then
     
    7374   file_in_1(0) = False
    7475   if (isStrSubset(file_in(0), ".nc"))then
    75       start_f_1 = -2
    76       end_f_1 = -2
     76      start_f = -2
     77      end_f = -2
    7778      file_in_1(0) = True     
    7879   end if 
    79    if (start_f_1 .EQ. -1)then
    80       print(" ")
    81       print("'start_f_1' must be one of the cyclic numbers (at least 0) of your input file(s)")
     80   if (start_f .EQ. -1)then
     81      print(" ")
     82      print("'start_f' must be one of the cyclic numbers (at least 0) "+\
     83            "of your input file(s)")
    8284      print(" ") 
    8385      exit
    8486   end if
    85    if (end_f_1 .EQ. -1)then
    86       print(" ")
    87       print("'end_f_1' must be one of the cyclic numbers (at least 0) of your input file(s)")
     87   if (end_f .EQ. -1)then
     88      print(" ")
     89      print("'end_f' must be one of the cyclic numbers (at least 0) of "+\
     90            "your input file(s)")
    8891      print(" ") 
    8992      exit
    9093   end if           
    91    start_f(0) = start_f_1
    92    end_f(0) = end_f_1    
     94   start_f_t(0) = start_f
     95   end_f_t(0) = end_f   
    9396 
    9497   if (no_files .GT. 1) then
     
    109112      if (start_f_2 .EQ. -1)then
    110113         print(" ")
    111          print("'start_f_2' must be one of the cyclic numbers (at least 0) of your input file(s)")
     114         print("'start_f_2' must be one of the cyclic numbers (at least 0) "+\
     115              "of your input file(s)")
    112116         print(" ") 
    113117         exit
     
    115119      if (end_f_2 .EQ. -1)then
    116120         print(" ")
    117          print("'end_f_2' must be one of the cyclic numbers (at least 0) of your input file(s)")
     121         print("'end_f_2' must be one of the cyclic numbers (at least 0) "+\
     122               "of your input file(s)")
    118123         print(" ") 
    119124         exit
     
    140145      if (start_f_3 .EQ. -1)then
    141146         print(" ")
    142          print("'start_f_3' must be one of the cyclic numbers (at least 0) of your input file(s)")
     147         print("'start_f_3' must be one of the cyclic numbers (at least 0) "+\
     148               "of your input file(s)")
    143149         print(" ") 
    144150         exit
     
    146152      if (end_f_3 .EQ. -1)then
    147153         print(" ")
    148          print("'end_f_3' must be one of the cyclic numbers (at least 0) of your input file(s)")
     154         print("'end_f_3' must be one of the cyclic numbers (at least 0) "+\
     155               "of your input file(s)")
    149156         print(" ") 
    150157         exit
     
    171178      if (start_f_4 .EQ. -1)then
    172179         print(" ")
    173          print("'start_f_4' must be one of the cyclic numbers (at least 0) of your input file(s)")
     180         print("'start_f_4' must be one of the cyclic numbers (at least 0) "+\
     181               "of your input file(s)")
    174182         print(" ") 
    175183         exit
     
    177185      if (end_f_4 .EQ. -1)then
    178186         print(" ")
    179          print("'end_f_4' must be one of the cyclic numbers (at least 0) of your input file(s)")
     187         print("'end_f_4' must be one of the cyclic numbers (at least 0) "+\
     188               "of your input file(s)")
    180189         print(" ") 
    181190         exit
     
    202211      if (start_f_5 .EQ. -1)then
    203212         print(" ")
    204          print("'start_f_5' must be one of the cyclic numbers (at least 0) of your input file(s)")
     213         print("'start_f_5' must be one of the cyclic numbers (at least 0) "+\
     214               "of your input file(s)")
    205215         print(" ") 
    206216         exit
     
    208218      if (end_f_5 .EQ. -1)then
    209219         print(" ")
    210          print("'end_f_5' must be one of the cyclic numbers (at least 0) of your input file(s)")
     220         print("'end_f_5' must be one of the cyclic numbers (at least 0) "+\
     221               "of your input file(s)")
    211222         print(" ") 
    212223         exit
     
    233244      if (start_f_6 .EQ. -1)then
    234245         print(" ")
    235          print("'start_f_6' must be one of the cyclic numbers (at least 0) of your input file(s)")
     246         print("'start_f_6' must be one of the cyclic numbers (at least 0) "+\
     247               "of your input file(s)")
    236248         print(" ") 
    237249         exit
     
    239251      if (end_f_6 .EQ. -1)then
    240252         print(" ")
    241          print("'end_f_6' must be one of the cyclic numbers (at least 0) of your input file(s)")
     253         print("'end_f_6' must be one of the cyclic numbers (at least 0) "+\
     254               "of your input file(s)")
    242255         print(" ") 
    243256         exit
     
    248261
    249262   
    250    if (format_out .NE. "x11" .AND. format_out .NE. "pdf" .AND. format_out .NE. "eps" .AND. format_out .NE. "ps" .AND. format_out .NE. "epsi" .AND. format_out .NE. "ncgm" .AND. format_out .NE. "png")then
     263   if (format_out .NE. "x11" .AND. format_out .NE. "pdf" .AND.  \
     264      format_out .NE. "eps" .AND. format_out .NE. "ps" .AND.    \
     265      format_out .NE. "epsi" .AND. format_out .NE. "ncgm" .AND. \
     266      format_out .NE. "png")then
    251267      print(" ")
    252268      print("'format_out = "+format_out+"' is invalid and set to'x11'")
     
    273289      over = 0
    274290      print(" ")
    275       print("If you have more than one input file - you cannot overlay variables: over is set to 0")
     291      print("If you have more than one input file - you cannot overlay "+\
     292            "variables: over is set to 0")
    276293      print(" ")
    277294   end if
     
    286303      combine = 0
    287304      print(" ")
    288       print("If you have more than one input file you cannot combine variables: combine is set to 0")
     305      print("If you have more than one input file you cannot combine "+\
     306            "variables: combine is set to 0")
    289307      print(" ")
    290308   end if   
     
    336354   do nof=0,no_files-1
    337355
    338    files=new(end_f(nof)-start_f(nof)+1,string)
     356   files=new(end_f_t(nof)-start_f_t(nof)+1,string)
    339357   if (file_in_1(nof))then
    340358      if (isfilepresent(file_in(nof)))then
     
    347365      end if
    348366   else
    349       if (start_f(nof) .EQ. 0)then
     367      if (start_f_t(nof) .EQ. 0)then
    350368         if (isfilepresent(file_in(nof)+".nc"))then
    351369            files(0)=file_in(nof)+".nc"
    352             do i=1,end_f(nof)
     370            do i=1,end_f_t(nof)
    353371               if (isfilepresent(file_in(nof)+"."+i+".nc"))then   
    354372                  files(i)=file_in(nof)+"."+i+".nc"
    355373               else
    356374                  print(" ")
    357                   print("Input file: '"+file_in(nof)+"."+i+".nc' does not exist")
     375                  print("Input file: '"+file_in(nof)+"."+i+".nc' does not "+\
     376                        "exist")
    358377                  print(" ")
    359378                  exit 
     
    367386         end if
    368387      else
    369          do i=start_f(nof),end_f(nof)
     388         do i=start_f_t(nof),end_f_t(nof)
    370389            if (isfilepresent(file_in(nof)+"."+i+".nc"))then   
    371                files(i-start_f(nof))=file_in(nof)+"."+i+".nc"
     390               files(i-start_f_t(nof))=file_in(nof)+"."+i+".nc"
    372391            else
    373392               print(" ")
     
    392411      if (dim0 .NE. dim)then
    393412         print(" ")
    394          print("There are 'no_files'="+no_files+" input files but they do not contain the same variables")
     413         print("There are 'no_files'="+no_files+" input files but they do "+\
     414               "not contain the same variables")
    395415         print(" ")
    396416         exit
     
    399419            if (vNam0(i) .NE. vNam(i))then
    400420               print(" ")
    401                print("There are 'no_files'="+no_files+" input files but they do not contain the same variables")
     421               print("There are 'no_files'="+no_files+" input files but "+\
     422                     "they do not contain the same variables")
    402423               print(" ")
    403424               exit
     
    423444   prof3d = 0
    424445   do varn = dim-1,0,1
    425       if ( isStrSubset( vNam(varn), "zu_3d") .OR. isStrSubset( vNam(varn), "zw_3d")) then
     446      if ( isStrSubset( vNam(varn), "zu_3d") .OR. \
     447           isStrSubset( vNam(varn), "zw_3d")) then
    426448         prof3d = 1
    427449         break
     
    475497
    476498      do j=0,comma-2
    477          vNam_temp(j) = charactertostring(var_char(indices(j)+1:indices(j+1)-1))
     499         vNam_temp(j) = charactertostring(\
     500                                   var_char(indices(j)+1:indices(j+1)-1))
    478501      end do
    479502
     
    548571    end if
    549572
    550    ;-----------------------------------------------------below steps only for first file -> nof=0
     573   ;---------below steps only for first file -> nof=0
    551574   if (nof .EQ. 0) then
    552575
     
    564587 
    565588   do varn=0,dim-1
    566       if ( isStrSubset( vNam(varn), "time") .OR. isStrSubset( vNam(varn), "NORM")) then
     589      if ( isStrSubset( vNam(varn), "time") .OR. \
     590           isStrSubset( vNam(varn), "NORM")) then
    567591         continue
    568592      end if
     
    616640                                          break
    617641                                       else
    618                                           if(vNam(varn) .EQ. "es" .OR. isStrSubset(vNam(varn), "es_")\
    619                                              .OR. vNam(varn) .EQ. "e*" .OR. isStrSubset(vNam(varn), "e*_"))then
     642                                          if(vNam(varn) .EQ. "es" .OR. \
     643                                           isStrSubset(vNam(varn), "es_") .OR. vNam(varn) .EQ. "e*" .OR. isStrSubset(vNam(varn), "e*_"))then
    620644                                             z_u = f_att->$vNam(varn+1)$
    621645                                             break
     
    881905      co=0
    882906      do varn=0,dim-1     
    883          if ( isStrSubset( vNam(varn), "time") .OR. isStrSubset( vNam(varn), "NORM")) then
     907         if ( isStrSubset( vNam(varn), "time") .OR. \
     908              isStrSubset( vNam(varn), "NORM")) then
    884909            check = False
    885910         else
     
    9831008      if (start_time_step .GT. t_all(nt-1)/3600)then
    9841009         print(" ")
    985          print("'start_time_step' = "+ start_time_step +"h is greater than last time step = " + t_all(nt-1)+"s = "+t_all(nt-1)/3600+"h")
     1010         print("'start_time_step' = "+ start_time_step +"h is greater "+\
     1011               "than last time step = " \
     1012               + t_all(nt-1)+"s = "+t_all(nt-1)/3600+"h")
    9861013         print(" ")
    9871014         print("Select another 'start_time_step'")
     
    9911018      if (start_time_step .LT. t_all(0)/3600)then
    9921019         print(" ")
    993          print("'start_time_step' = "+ start_time_step +"h is lower than first time step = " + t_all(0)+"s = "+t_all(0)/3600+"h")
     1020         print("'start_time_step' = "+ start_time_step +"h is lower "+\
     1021               "than first time step = " + t_all(0)+"s = "+t_all(0)/3600+"h")
    9941022         print(" ")
    9951023         exit
     
    9981026
    9991027   do i=0,nt-1   
    1000       if (start_time_step .GE. (t_all(i)-delta_t/2)/3600 .AND. start_time_step .LT. (t_all(i)+delta_t/2)/3600)then
     1028      if (start_time_step .GE. (t_all(i)-delta_t/2)/3600 .AND.\
     1029          start_time_step .LT. (t_all(i)+delta_t/2)/3600)then
    10011030         st=i
    10021031         break
     
    10211050      if (end_time_step .GT. t_all(nt-1)/3600)then
    10221051         print(" ")
    1023          print("'end_time_step' = "+ end_time_step +"h is greater than last time step = " + t_all(nt-1)+"s = "+t_all(nt-1)/3600+"h")
     1052         print("'end_time_step' = "+ end_time_step +"h is greater "+\
     1053               "than last time step = " +\
     1054                t_all(nt-1)+"s = "+t_all(nt-1)/3600+"h")
    10241055         print(" ")
    10251056         print("Select another 'end_time_step'") 
     
    10291060      if (end_time_step .LT. start_time_step/3600)then
    10301061         print(" ")
    1031          print("'end_time_step' = "+ end_time_step +"h is lower than 'start_time_step' = "+start_time_step+"h")
     1062         print("'end_time_step' = "+ end_time_step +"h is lower "+\
     1063               "than 'start_time_step' = "+start_time_step+"h")
    10321064         print(" ")
    10331065         print("Select another 'start_time_step' or 'end_time_step'")
     
    10381070
    10391071   do i=0,nt-1     
    1040       if (end_time_step .GE. (t_all(i)-delta_t/2)/3600 .AND. end_time_step .LT. (t_all(i)+delta_t/2)/3600)then
     1072      if (end_time_step .GE. (t_all(i)-delta_t/2)/3600 .AND.\
     1073          end_time_step .LT. (t_all(i)+delta_t/2)/3600)then
    10411074         et=i
    10421075         break
     
    10721105   if (time_stride .GE. no_time) then
    10731106      print(" ")
    1074       print("'time_stride' is greater equal than number of available time steps,")
     1107      print("'time_stride' is greater equal than number of available "+\
     1108           "time steps,")
    10751109      print("=> 'time_stride' is set to 1")
    10761110      time_stride = 1
    10771111   end if
    10781112
    1079    ti_in = ispan(start_time_step,end_time_step,time_stride) ;ti_in contents the time indices to plot
     1113   ti_in = ispan(start_time_step,end_time_step,time_stride) ;ti_in contents
     1114                                                            ;the time indices
     1115                                                            ;to plot
    10801116   np    = dimsizes(ti_in) 
    10811117
    10821118   print(" ")
    1083    print("Output of time steps from "+t_all(start_time_step)/3600+" h = "+t_all(start_time_step)+" s => index = "+start_time_step)
    1084    print("                     till "+t_all(ti_in(np-1))/3600+" h = "+t_all(ti_in(np-1))+" s => index = "+end_time_step)
     1119   print("Output of time steps from "+t_all(start_time_step)/3600+\
     1120         " h = "+t_all(start_time_step)+" s => index = "+start_time_step)
     1121   print("                     till "+t_all(ti_in(np-1))/3600+" h = "\
     1122        +t_all(ti_in(np-1))+" s => index = "+end_time_step)
    10851123   print("                     with temporal stride = "+time_stride)
    10861124   print(" ")
     
    10911129   ; ****************************************************
    10921130   
    1093    legend_label=new(np,double)
     1131   legend_label=new(np,string)
    10941132   do p=0, np-1
    1095       legend_label(p)=decimalPlaces(t_all(ti_in(p))/3600,3,True)         
     1133      legend_label(p)=sprintf("%6.2f", t_all(ti_in(p))/3600)
    10961134   end do
    1097    
    10981135
    10991136   ; ***************************************************
     
    11501187         res@xyMonoDashPattern       = True 
    11511188         print(" ")
    1152          print("If you use more than one file, patterns for different timesteps cannot be used")
     1189         print("If you use more than one file, patterns for different "+\
     1190               "timesteps cannot be used")
    11531191         print(" ")
    11541192      end if       
     
    12021240            if (min_z .GE. max(z_w) ) then
    12031241               print(" ")
    1204                print("Minimum of height ('min_z'="+min_z+") is greater than available heights (="+max(z_w)+")")
     1242               print("Minimum of height ('min_z'="+min_z+") is greater "+\
     1243                     "than available heights (="+max(z_w)+")")
    12051244               print(" ")
    12061245               exit
     
    12091248            if (min_z .GE. max(z_u) ) then
    12101249               print(" ")
    1211                print("Minimum of height ('min_z'="+min_z+") is greater than available heights (="+max(z_u)+")")
     1250               print("Minimum of height ('min_z'="+min_z+") is greater "+\
     1251                     "than available heights (="+max(z_u)+")")
    12121252               print(" ")
    12131253               exit
     
    12171257            if (min_z .LT. z_u(1) ) then
    12181258               print(" ")
    1219                print("Begin height 'min_z' at least at level k=1 (="+z_u(1)+"m) due to the logarithmic scale of the y-axis")
     1259               print("Begin height 'min_z' at least at level k=1 (="+\
     1260                     z_u(1)+"m) due to the logarithmic scale of the y-axis")
    12201261               print(" ")
    12211262               exit
     
    12241265            if (min_z .LT. z_w(1) ) then
    12251266               print(" ")
    1226                print("Begin height 'min_z' at least at level k=1 (="+z_w(1)+"m) due to the logarithmic scale of the y-axis")
     1267               print("Begin height 'min_z' at least at level k=1 (="+\
     1268                     z_w(1)+"m) due to the logarithmic scale of the y-axis")
    12271269               print(" ")
    12281270               exit
     
    12441286         if (min_z .GE. max(z_w) ) then
    12451287            print(" ")
    1246             print("Minimum of height ('min_z'="+min_z+") is greater than available heights (="+max(z_w)+")")
     1288            print("Minimum of height ('min_z'="+min_z+") is greater than "+\
     1289                  "available heights (="+max(z_w)+")")
    12471290            print(" ")
    12481291            exit
     
    12541297         if (min_z .GE. max(z_u) ) then
    12551298            print(" ")
    1256             print("Minimum of height ('min_z'="+min_z+") is greater than available heights (="+max(z_u)+")")
     1299            print("Minimum of height ('min_z'="+min_z+") is greater than "+\
     1300                  "available heights (="+max(z_u)+")")
    12571301            print(" ")
    12581302            exit
     
    12741318      if (max_z .GT. max(z_w) ) then
    12751319         print(" ")
    1276          print("Maximum of height ('max_z'="+max_z+") is greater than available heights (="+max(z_w)+")")
     1320         print("Maximum of height ('max_z'="+max_z+") is greater than "+\
     1321               "available heights (="+max(z_w)+")")
    12771322         print(" ")
    12781323         exit
     
    13591404
    13601405   end if
    1361    ;------------------------------------------------------ above steps only for first file
     1406   ;-------above steps only for first file
    13621407
    13631408   ; ***************************************************
     
    15351580   if (start_x .GT. dimx-1)then
    15361581      print(" ")
    1537       print("'start_x' is greater than available x-range and set to maximum of x-range (excluding ghostpoint)")
     1582      print("'start_x' is greater than available x-range and set to "+\
     1583            "maximum of x-range (excluding ghostpoint)")
    15381584      print(" ")
    15391585      start_x=dimx-2
     
    15461592   if (end_x .GT. dimx-1)then
    15471593      print(" ")
    1548       print("'end_x' = "+end_x+" is greater than available x-range and set to maximum of x-range (excluding ghostpoint)")
     1594      print("'end_x' = "+end_x+" is greater than available x-range and set "+\
     1595            "to maximum of x-range (excluding ghostpoint)")
    15491596      print(" ")
    15501597      end_x=dimx-2
     
    15521599   if (end_x .LT. start_x)then
    15531600      print(" ")
    1554       print("'end_x' = "+end_x+" is lower than 'start_x' = "+start_x+" and set to maximum of x-range (excluding ghostpoint)")
     1601      print("'end_x' = "+end_x+" is lower than 'start_x' = "+start_x+\
     1602            " and set to maximum of x-range (excluding ghostpoint)")
    15551603      print(" ")
    15561604      end_x=dimx-2
     
    15641612   if (start_y .GT. dimy-1)then
    15651613      print(" ")
    1566       print("'start_y' is greater than available y-range and set to maximum of y-range (excluding ghostpoint)")
     1614      print("'start_y' is greater than available y-range and set to "+\
     1615            "maximum of y-range (excluding ghostpoint)")
    15671616      print(" ")
    15681617      start_x=dimy-2
     
    15751624   if (end_y .GT. dimy-1)then
    15761625      print(" ")
    1577       print("'end_y' = "+end_y+" is greater than available y-range and set to maximum of y-range (excluding ghostpoint)")
     1626      print("'end_y' = "+end_y+" is greater than available y-range and "+\
     1627            "set to maximum of y-range (excluding ghostpoint)")
    15781628      print(" ")
    15791629      end_x=dimy-2
     
    15811631   if (end_y .LT. start_y)then
    15821632      print(" ")
    1583       print("'end_y' = "+end_y+" is lower than 'start_y' = "+start_y+" and set to maximum of y-range (excluding ghostpoint)")
     1633      print("'end_y' = "+end_y+" is lower than 'start_y' = "+start_y+\
     1634            " and set to maximum of y-range (excluding ghostpoint)")
    15841635      print(" ")
    15851636      end_y=dimy-2
     
    16031654     
    16041655      if (prof3d .EQ. 0) then
    1605          if ( isStrSubset( vNam(varn), "time") .OR. isStrSubset( vNam(varn), "NORM")) then
     1656         if ( isStrSubset( vNam(varn), "time") .OR. \
     1657              isStrSubset( vNam(varn), "NORM")) then
    16061658            check = False
    16071659         end if
    16081660      else
    1609          if ( isStrSubset( vNam(varn), "time") .OR. isStrSubset( vNam(varn), "zusi") .OR. isStrSubset( vNam(varn), "zwwi") .OR. isStrSubset( vNam(varn), "x") .OR. isStrSubset( vNam(varn), "xu") .OR. isStrSubset( vNam(varn), "y") .OR. isStrSubset( vNam(varn), "yv") .OR. isStrSubset( vNam(varn), "zu_3d") .OR. isStrSubset( vNam(varn), "zw_3d")) then
     1661         if ( isStrSubset( vNam(varn), "time") .OR.  \
     1662              isStrSubset( vNam(varn), "zusi") .OR.  \
     1663              isStrSubset( vNam(varn), "zwwi") .OR.  \
     1664              isStrSubset( vNam(varn), "x") .OR.     \
     1665              isStrSubset( vNam(varn), "xu") .OR.    \
     1666              isStrSubset( vNam(varn), "y") .OR.     \
     1667              isStrSubset( vNam(varn), "yv") .OR.    \
     1668              isStrSubset( vNam(varn), "zu_3d") .OR. \
     1669              isStrSubset( vNam(varn), "zw_3d")) then
    16101670            check = False
    16111671         end if
     
    16371697                        temp = f[:]->$vNam(varn)$
    16381698                        temp_att = f_att->$vNam(varn)$
    1639                         data_temp = temp(ti_in(j),i,start_y:end_y,start_x:end_x)
    1640                         data(varn,j,i-1) = dim_avg_Wrap(dim_avg_Wrap(data_temp))
     1699                        data_temp = temp(ti_in(j),i,\
     1700                                         start_y:end_y,start_x:end_x)
     1701                        data(varn,j,i-1) = dim_avg_Wrap(\
     1702                                                   dim_avg_Wrap(data_temp))
    16411703                     end do
    16421704                  end do
     
    16461708                        temp = f[:]->$vNam(varn)$
    16471709                        temp_att = f_att->$vNam(varn)$
    1648                         data_temp = temp(ti_in(j),i,start_y:end_y,start_x:end_x)
     1710                        data_temp = temp(ti_in(j),i,\
     1711                                            start_y:end_y,start_x:end_x)
    16491712                        data(varn,j,i) = dim_avg_Wrap(dim_avg_Wrap(data_temp))
    16501713                     end do
     
    16581721            if (n_o .GT. number_comb-1) then
    16591722               print(" ")
    1660                print("Set 'number_comb' to the number of overlaying variables ('c_var' = "+c_var+")")
     1723               print("Set 'number_comb' to the number of overlaying "+\
     1724                     "variables ('c_var' = "+c_var+")")
    16611725               print(" ")
    16621726               exit
     
    16661730               max_value = abs(0.01*max(data(varn,:,:)))
    16671731            else
    1668                if (abs(min(data(varn,:,:))) .LT. 0.01 .AND. abs(max(data(varn,:,:))) .GT. 0.01)then
     1732               if (abs(min(data(varn,:,:))) .LT. 0.01 .AND. \
     1733                   abs(max(data(varn,:,:))) .GT. 0.01)then
    16691734                  min_value = abs(0.1*max(data(varn,:,:)))
    16701735                  max_value = abs(0.1*max(data(varn,:,:)))
    16711736               else
    1672                   if (abs(max(data(varn,:,:))) .LT. 0.01 .AND. abs(min(data(varn,:,:))) .GT. 0.01)then
     1737                  if (abs(max(data(varn,:,:))) .LT. 0.01 .AND. \
     1738                      abs(min(data(varn,:,:))) .GT. 0.01)then
    16731739                     min_value = abs(0.1*min(data(varn,:,:)))
    16741740                     max_value = abs(0.1*min(data(varn,:,:)))
     
    16791745               end if
    16801746            end if
    1681             if (min(data(varn,:,:)) .EQ. 0 .AND. max(data(varn,:,:)) .EQ. 0)then
     1747            if (min(data(varn,:,:)) .EQ. 0 .AND. \
     1748                max(data(varn,:,:)) .EQ. 0)then
    16821749               min_value = 0.1
    16831750               max_value = 0.1
     
    17821849         if(max_z_int .eq. min_z_int)
    17831850             print(" ")
    1784              print("Please increase 'max_z' or decrease 'min_z' so that there are")
     1851             print("Please increase 'max_z' or decrease 'min_z' so that "+\
     1852                   "there are")
    17851853             print("at least two layers for the z-axis to plot")
    17861854             print(" ")
     
    18431911            res@trYMaxF            = max_z
    18441912            if (xs .EQ. -1) then
    1845                res@trXMinF            = min(data(varn,:,min_z_int:max_z_int))-min_value
     1913               res@trXMinF            = min(data(varn,:,min_z_int:max_z_int))-\
     1914                                                                      min_value
    18461915            else
    18471916               res@trXMinF            = xs     
    18481917            end if
    18491918            if (xe .EQ. -1) then
    1850                res@trXMaxF            = max(data(varn,:,min_z_int:max_z_int))+max_value
     1919               res@trXMaxF            = max(data(varn,:,min_z_int:max_z_int))+\
     1920                                                                      max_value
    18511921            else
    18521922               res@trXMaxF            = xe 
     
    23012371            end if
    23022372
    2303             if (vNam(varn) .EQ. "wpptp" .OR. vNam(varn) .EQ. "w"+dq+"pt"+dq) then
     2373            if (vNam(varn) .EQ. "wpptp" .OR. vNam(varn) \
     2374               .EQ. "w"+dq+"pt"+dq) then
    23042375               miniwpptp=min(data(varn,:,min_z_int:max_z_int))-min_value
    23052376               maxiwpptp=max(data(varn,:,min_z_int:max_z_int))+max_value
     
    24182489            end if
    24192490
    2420             if (vNam(varn) .EQ. "wpvptp" .OR. vNam(varn) .EQ. "w"+dq+"vpt"+dq) then
     2491            if (vNam(varn) .EQ. "wpvptp" .OR. vNam(varn) \
     2492                .EQ. "w"+dq+"vpt"+dq) then
    24212493               miniwpvptp=min(data(varn,:,min_z_int:max_z_int))-min_value
    24222494               maxiwpvptp=max(data(varn,:,min_z_int:max_z_int))+max_value
     
    25582630            end if
    25592631
    2560             if (vNam(varn) .EQ. "wpqvp" .OR. vNam(varn) .EQ. "w"+dq+"qv"+dq) then
     2632            if (vNam(varn) .EQ. "wpqvp" .OR. \
     2633               vNam(varn) .EQ. "w"+dq+"qv"+dq) then
    25612634               miniwpqvp=min(data(varn,:,min_z_int:max_z_int))-min_value
    25622635               maxiwpqvp=max(data(varn,:,min_z_int:max_z_int))+max_value
     
    26982771            end if
    26992772
    2700             if (vNam(varn) .EQ. "wpsap" .OR. vNam(varn) .EQ. "w"+dq+"sa"+dq) then
     2773            if (vNam(varn) .EQ. "wpsap" .OR. \
     2774                vNam(varn) .EQ. "w"+dq+"sa"+dq) then
    27012775               miniwpsap=min(data(varn,:,min_z_int:max_z_int))-min_value
    27022776               maxiwpsap=max(data(varn,:,min_z_int:max_z_int))+max_value
     
    28382912            end if
    28392913
    2840             if (vNam(varn) .EQ. "wsususodz" .OR. vNam(varn) .EQ. "w*u*u*:dz") then
     2914            if (vNam(varn) .EQ. "wsususodz" .OR. \
     2915                vNam(varn) .EQ. "w*u*u*:dz") then
    28412916               miniwsususodz=min(data(varn,:,min_z_int:max_z_int))-min_value
    28422917               maxiwsususodz=max(data(varn,:,min_z_int:max_z_int))+max_value
     
    28842959               end if
    28852960            end if
    2886             if (vNam(varn) .EQ. "wpeodz" .OR. vNam(varn) .EQ. "w"+dq+"p:dz") then
     2961            if (vNam(varn) .EQ. "wpeodz" .OR. \
     2962                vNam(varn) .EQ. "w"+dq+"p:dz") then
    28872963               miniwpeodz=min(data(varn,:,min_z_int:max_z_int))-min_value
    28882964               maxiwpeodz=max(data(varn,:,min_z_int:max_z_int))+max_value
     
    29353011   if (isStrSubset(data@long_name," SR " ) .and. over_remind) then
    29363012      print(" ")
    2937       print("If you have outputs of statistic regions you cannot overlay variables;")
     3013      print("If you have outputs of statistic regions you cannot overlay "+\
     3014            "variables;")
    29383015      print("'over' is set to 0" )
    29393016      print(" ")
     
    29923069         lgres@vpHeightF          = 0.03*no_files         
    29933070         lgres@lgDashIndexes      = multi_dash(no_files-1:0)
    2994          lbid = gsn_create_legend(wks,no_files,multi_legend(no_files-1:0),lgres)       
     3071         lbid = gsn_create_legend(\
     3072                            wks,no_files,multi_legend(no_files-1:0),lgres)
    29953073
    29963074         amres = True
     
    30733151     
    30743152         if (prof3d .EQ. 0) then
    3075             if ( isStrSubset( vNam(varn), "time") .OR. isStrSubset( vNam(varn), "NORM")) then
     3153            if ( isStrSubset( vNam(varn), "time") .OR. \
     3154                 isStrSubset( vNam(varn), "NORM")) then
    30763155               check = False
    30773156            end if
    30783157         else
    3079             if ( isStrSubset( vNam(varn), "time") .OR. isStrSubset( vNam(varn), "zusi") .OR. isStrSubset( vNam(varn), "zwwi") .OR. isStrSubset( vNam(varn), "x") .OR. isStrSubset( vNam(varn), "xu") .OR. isStrSubset( vNam(varn), "y") .OR. isStrSubset( vNam(varn), "yv") .OR. isStrSubset( vNam(varn), "zu_3d") .OR. isStrSubset( vNam(varn), "zw_3d")) then
     3158            if ( isStrSubset( vNam(varn), "time") .OR.  \
     3159                 isStrSubset( vNam(varn), "zusi") .OR.  \
     3160                 isStrSubset( vNam(varn), "zwwi") .OR.  \
     3161                 isStrSubset( vNam(varn), "x") .OR.     \
     3162                 isStrSubset( vNam(varn), "xu") .OR.    \
     3163                 isStrSubset( vNam(varn), "y") .OR.     \
     3164                 isStrSubset( vNam(varn), "yv") .OR.    \
     3165                 isStrSubset( vNam(varn), "zu_3d") .OR. \
     3166                 isStrSubset( vNam(varn), "zw_3d")) then
    30803167               check = False
    30813168            end if
     
    31623249            plot(n) = gsn_csm_xy(wks,data(varn,:,:),z,res) 
    31633250           
    3164             if (vNam(varn) .EQ. "u" .OR. vNam(varn) .EQ. "v" .OR. vNam(varn) .EQ. "w") then
     3251            if (vNam(varn) .EQ. "u" .OR. vNam(varn) .EQ. "v" .OR. \
     3252                vNam(varn) .EQ. "w") then
    31653253               if (u .EQ. 0) then
    31663254                  res@gsnLeftString      = "u, v and w"
     
    31863274
    31873275                  ; ***************************************************
    3188                   ; legend for combined plot
     3276                  ; legend for overlaid plot
    31893277                  ; ***************************************************
    31903278     
     
    31933281                  lgres@lgLabelFont        = "helvetica"   
    31943282                  lgres@lgLabelFontHeightF = font_size_legend           
    3195                   lgres@vpWidthF           = 0.06           
     3283                  lgres@vpWidthF           = 0.07           
    31963284                  lgres@vpHeightF          = 0.12         
    31973285                  lgres@lgDashIndexes      = (/0,1,2/)
     
    31993287
    32003288                  amres = True
    3201                   amres@amParallelPosF   = 0.65             
    3202                   amres@amOrthogonalPosF = -0.2           
    3203                   annoid1 = gsn_add_annotation(plot(n),lbid,amres)                 
     3289                  amres@amParallelPosF   = 0.88             
     3290                  amres@amOrthogonalPosF = 0.33           
     3291                  annoid1 = gsn_add_annotation(plot(n),lbid,amres)
    32043292                  overlay(plot(n),plot_u)
    32053293                  u=1
     
    32123300            end if 
    32133301     
    3214             if (vNam(varn) .EQ. "pt" .OR. vNam(varn) .EQ. "vpt" .OR. vNam(varn) .EQ. "lpt") then
     3302            if (vNam(varn) .EQ. "pt" .OR. vNam(varn) .EQ. "vpt" .OR. \
     3303                vNam(varn) .EQ. "lpt") then
    32153304               if (pt .EQ. 0) then
    32163305                  res@gsnLeftString      = "pt, vpt and lpt"
     
    32363325
    32373326                  ; ***************************************************
    3238                   ; legend for combined plot
     3327                  ; legend for overlaid plot
    32393328                  ; ***************************************************
    32403329     
     
    32463335                  lgres@vpHeightF          = 0.12         
    32473336                  lgres@lgDashIndexes      = (/0,1,2/)
    3248                   lbid = gsn_create_legend(wks,3,(/"pt","vpt","lpt"/),lgres)       
    3249 
     3337                  lbid = gsn_create_legend(wks,3,(/"pt","vpt","lpt"/),lgres)
    32503338                  amres = True
    3251                   amres@amParallelPosF   = 0.65            
    3252                   amres@amOrthogonalPosF = -0.2           
    3253                   annoid1 = gsn_add_annotation(plot(n),lbid,amres)                 
     3339                  amres@amParallelPosF   = 0.88     
     3340                  amres@amOrthogonalPosF = 0.33           
     3341                  annoid1 = gsn_add_annotation(plot(n),lbid,amres)
    32543342                  overlay(plot(n),plot_pt)
    32553343                  pt=1
     
    32613349               end if
    32623350            end if           
    3263             if (vNam(varn) .EQ. "q" .OR. vNam(varn) .EQ. "qv" .OR. vNam(varn) .EQ. "ql") then
     3351            if (vNam(varn) .EQ. "q" .OR. vNam(varn) .EQ. "qv" .OR. \
     3352                vNam(varn) .EQ. "ql") then
    32643353               if (q .EQ. 0) then
    32653354                  res@gsnLeftString      = "q, qv and ql"
     
    32853374
    32863375                  ; ***************************************************
    3287                   ; legend for combined plot
     3376                  ; legend for overlaid plot
    32883377                  ; ***************************************************
    32893378     
     
    32923381                  lgres@lgLabelFont        = "helvetica"   
    32933382                  lgres@lgLabelFontHeightF = font_size_legend           
    3294                   lgres@vpWidthF           = 0.06         
     3383                  lgres@vpWidthF           = 0.07         
    32953384                  lgres@vpHeightF          = 0.12         
    32963385                  lgres@lgDashIndexes      = (/0,1,2/)
    3297                   lbid = gsn_create_legend(wks,3,(/"q","qv","ql"/),lgres)       
     3386                  lbid = gsn_create_legend(wks,3,(/"q","qv","ql"/),lgres)
    32983387
    32993388                  amres = True
    3300                   amres@amParallelPosF   = 0.65             
    3301                   amres@amOrthogonalPosF = -0.2           
    3302                   annoid1 = gsn_add_annotation(plot(n),lbid,amres)                 
     3389                  amres@amParallelPosF   = 0.88             
     3390                  amres@amOrthogonalPosF = 0.33           
     3391                  annoid1 = gsn_add_annotation(plot(n),lbid,amres)
    33033392                  overlay(plot(n),plot_q)
    33043393                  q=1
     
    33113400            end if   
    33123401           
    3313             if (vNam(varn) .EQ. "e" .OR. vNam(varn) .EQ. "es" .OR. vNam(varn) .EQ. "e*" ) then
     3402            if (vNam(varn) .EQ. "e" .OR. vNam(varn) .EQ. "es" .OR. \
     3403                vNam(varn) .EQ. "e*" ) then
    33143404               if (e .EQ. 0) then
    33153405                  res@gsnLeftString      = "e and e*"
     
    33323422
    33333423                  ; ***************************************************
    3334                   ; legend for combined plot
     3424                  ; legend for overlaid plot
    33353425                  ; ***************************************************
    33363426     
     
    33393429                  lgres@lgLabelFont        = "helvetica"   
    33403430                  lgres@lgLabelFontHeightF = font_size_legend           
    3341                   lgres@vpWidthF           = 0.06           
     3431                  lgres@vpWidthF           = 0.07           
    33423432                  lgres@vpHeightF          = 0.08         
    33433433                  lgres@lgDashIndexes      = (/0,1,2/)
     
    33453435
    33463436                  amres = True
    3347                   amres@amParallelPosF   = 0.65             
    3348                   amres@amOrthogonalPosF = -0.2           
    3349                   annoid1 = gsn_add_annotation(plot(n),lbid,amres)                 
     3437                  amres@amParallelPosF   = 0.88             
     3438                  amres@amOrthogonalPosF = 0.365           
     3439                  annoid1 = gsn_add_annotation(plot(n),lbid,amres)
    33503440                  overlay(plot(n),plot_e)
    33513441                  e=1
     
    33783468
    33793469                  ; ***************************************************
    3380                   ; legend for combined plot
     3470                  ; legend for overlaid plot
    33813471                  ; ***************************************************
    33823472     
     
    33853475                  lgres@lgLabelFont        = "helvetica"   
    33863476                  lgres@lgLabelFontHeightF = font_size_legend           
    3387                   lgres@vpWidthF           = 0.06           
     3477                  lgres@vpWidthF           = 0.07           
    33883478                  lgres@vpHeightF          = 0.08         
    33893479                  lgres@lgDashIndexes      = (/0,1,2/)
     
    33913481
    33923482                  amres = True
    3393                   amres@amParallelPosF   = 0.65             
    3394                   amres@amOrthogonalPosF = -0.2           
    3395                   annoid1 = gsn_add_annotation(plot(n),lbid,amres)                 
     3483                  amres@amParallelPosF   = 0.88             
     3484                  amres@amOrthogonalPosF = 0.365           
     3485                  annoid1 = gsn_add_annotation(plot(n),lbid,amres)
    33963486                  overlay(plot(n),plot_km)
    33973487                  km=1
     
    34043494            end if           
    34053495           
    3406             if (vNam(varn) .EQ. "wpup" .OR. vNam(varn) .EQ. "wsus" .OR. vNam(varn) .EQ. "wu" \
    3407                 .OR. vNam(varn) .EQ. "w"+dq+"u"+dq .OR. vNam(varn) .EQ. "w*u*") then
     3496            if (vNam(varn) .EQ. "wpup" .OR. vNam(varn) .EQ. "wsus" .OR.      \
     3497                vNam(varn) .EQ. "wu" .OR. vNam(varn) .EQ. "w"+dq+"u"+dq .OR. \
     3498                vNam(varn) .EQ. "w*u*") then
    34083499               if (wpup .EQ. 0) then
    34093500                  res@gsnLeftString      = "w"+dq+"u"+dq+", w*u* and wu"
     
    34293520
    34303521                  ; ***************************************************
    3431                   ; legend for combined plot
     3522                  ; legend for overlaid plot
    34323523                  ; ***************************************************
    34333524     
     
    34393530                  lgres@vpHeightF          = 0.12         
    34403531                  lgres@lgDashIndexes      = (/0,1,2/)
    3441                   lbid = gsn_create_legend(wks,3,(/"w"+dq+"u"+dq,"w*u*","wu"/),lgres)       
     3532                  lbid = gsn_create_legend(\
     3533                                wks,3,(/"w"+dq+"u"+dq,"w*u*","wu"/),lgres)
    34423534
    34433535                  amres = True
    3444                   amres@amParallelPosF   = 0.65             
    3445                   amres@amOrthogonalPosF = -0.2           
    3446                   annoid1 = gsn_add_annotation(plot(n),lbid,amres)                 
     3536                  amres@amParallelPosF   = 0.88             
     3537                  amres@amOrthogonalPosF = 0.33           
     3538                  annoid1 = gsn_add_annotation(plot(n),lbid,amres)
    34473539                  overlay(plot(n),plot_wpup)
    34483540                  wpup=1
     
    34543546               end if
    34553547            end if
    3456             if (vNam(varn) .EQ. "wpvp" .OR. vNam(varn) .EQ. "wsvs" .OR.vNam(varn) .EQ. "wv"\
    3457                 .OR. vNam(varn) .EQ. "w"+dq+"v"+dq .OR. vNam(varn) .EQ. "w*v*") then
     3548            if (vNam(varn) .EQ. "wpvp" .OR. vNam(varn) .EQ. "wsvs" .OR.     \
     3549               vNam(varn) .EQ. "wv" .OR. vNam(varn) .EQ. "w"+dq+"v"+dq .OR. \
     3550               vNam(varn) .EQ. "w*v*") then
    34583551               if (wpvp .EQ. 0) then
    34593552                  res@gsnLeftString      = "w"+dq+"v"+dq+", w*v* and wv"
     
    34793572
    34803573                  ; ***************************************************
    3481                   ; legend for combined plot
     3574                  ; legend for overlaid plot
    34823575                  ; ***************************************************
    34833576     
     
    34893582                  lgres@vpHeightF          = 0.12         
    34903583                  lgres@lgDashIndexes      = (/0,1,2/)
    3491                   lbid = gsn_create_legend(wks,3,(/"w"+dq+"v"+dq,"w*v*","wv"/),lgres)       
     3584                  lbid = gsn_create_legend(\
     3585                             wks,3,(/"w"+dq+"v"+dq,"w*v*","wv"/),lgres)       
    34923586
    34933587                  amres = True
    3494                   amres@amParallelPosF   = 0.65             
    3495                   amres@amOrthogonalPosF = -0.2           
    3496                   annoid1 = gsn_add_annotation(plot(n),lbid,amres)                 
     3588                  amres@amParallelPosF   = 0.88             
     3589                  amres@amOrthogonalPosF = 0.33           
     3590                  annoid1 = gsn_add_annotation(plot(n),lbid,amres)
    34973591                  overlay(plot(n),plot_wpvp)
    34983592                  wpvp=1
     
    35043598               end if
    35053599            end if
    3506             if (vNam(varn) .EQ. "wpptp" .OR. vNam(varn) .EQ. "wspts" .OR. vNam(varn) .EQ. "wpt"\
    3507                 .OR. vNam(varn) .EQ. "w"+dq+"pt"+dq .OR. vNam(varn) .EQ. "w*pt*") then
     3600            if (vNam(varn) .EQ. "wpptp" .OR. vNam(varn) .EQ. "wspts" .OR.     \
     3601                vNam(varn) .EQ. "wpt" .OR. vNam(varn) .EQ. "w"+dq+"pt"+dq .OR.\
     3602                vNam(varn) .EQ. "w*pt*") then
    35083603               if (wpptp .EQ. 0) then                 
    35093604                  res@gsnLeftString      = "w"+dq+"pt"+dq+", w*pt* and wpt"
     
    35293624
    35303625                  ; ***************************************************
    3531                   ; legend for combined plot
     3626                  ; legend for overlaid plot
    35323627                  ; ***************************************************
    35333628     
     
    35393634                  lgres@vpHeightF          = 0.12         
    35403635                  lgres@lgDashIndexes      = (/0,1,2/)             
    3541                   lbid = gsn_create_legend(wks,3,(/"w"+dq+"pt"+dq,"w*pt*","wpt"/),lgres)     
     3636                  lbid = gsn_create_legend(\
     3637                               wks,3,(/"w"+dq+"pt"+dq,"w*pt*","wpt"/),lgres)
    35423638
    35433639                  amres = True
    3544                   amres@amParallelPosF   = 0.65             
    3545                   amres@amOrthogonalPosF = -0.2           
    3546                   annoid1 = gsn_add_annotation(plot(n),lbid,amres)                 
     3640                  amres@amParallelPosF   = 0.88             
     3641                  amres@amOrthogonalPosF = 0.33           
     3642                  annoid1 = gsn_add_annotation(plot(n),lbid,amres)
    35473643                  overlay(plot(n),plot_wpptp)
    35483644                  wpptp=1
     
    35543650               end if
    35553651            end if
    3556             if (vNam(varn) .EQ. "wsptsBC" .OR. vNam(varn) .EQ. "wptBC" .OR. vNam(varn) .EQ. "w*pt*BC") then
     3652            if (vNam(varn) .EQ. "wsptsBC" .OR. vNam(varn) .EQ. "wptBC" .OR.\
     3653                vNam(varn) .EQ. "w*pt*BC") then
    35573654               if (wsptsBC .EQ. 0) then
    35583655                  res@gsnLeftString      = "w*pt*BC and wptBC"
     
    35753672
    35763673                  ; ***************************************************
    3577                   ; legend for combined plot
     3674                  ; legend for overlaid plot
    35783675                  ; ***************************************************
    35793676     
     
    35853682                  lgres@vpHeightF          = 0.12         
    35863683                  lgres@lgDashIndexes      = (/0,1,2/)
    3587                   lbid = gsn_create_legend(wks,3,(/"w*pt*BC","wptBC"/),lgres)       
     3684                  lbid = gsn_create_legend(\
     3685                                        wks,3,(/"w*pt*BC","wptBC"/),lgres)
    35883686
    35893687                  amres = True
    3590                   amres@amParallelPosF   = 0.65             
    3591                   amres@amOrthogonalPosF = -0.2           
    3592                   annoid1 = gsn_add_annotation(plot(n),lbid,amres)                 
     3688                  amres@amParallelPosF   = 0.88             
     3689                  amres@amOrthogonalPosF = 0.33           
     3690                  annoid1 = gsn_add_annotation(plot(n),lbid,amres)
    35933691                  overlay(plot(n),plot_wsptsBC)
    35943692                  wsptsBC=1
     
    36003698               end if 
    36013699            end if             
    3602             if (vNam(varn) .EQ. "wpvptp" .OR. vNam(varn) .EQ. "wsvpts" .OR. vNam(varn) .EQ. "wvpt"\
    3603                 .OR. vNam(varn) .EQ. "w"+dq+"vpt"+dq .OR. vNam(varn) .EQ. "w*vpt*") then
     3700            if (vNam(varn) .EQ. "wpvptp" .OR. vNam(varn) .EQ. "wsvpts" .OR. \
     3701                vNam(varn) .EQ. "wvpt" .OR. vNam(varn) .EQ. \
     3702                "w"+dq+"vpt"+dq .OR. vNam(varn) .EQ. "w*vpt*") then
    36043703               if (wpvptp .EQ. 0) then
    36053704                  res@gsnLeftString      = "w"+dq+"vpt"+dq+", w*vpt* and wvpt"
     
    36253724
    36263725                  ; ***************************************************
    3627                   ; legend for combined plot
     3726                  ; legend for overlaid plot
    36283727                  ; ***************************************************
    36293728     
     
    36353734                  lgres@vpHeightF          = 0.12         
    36363735                  lgres@lgDashIndexes      = (/0,1,2/)
    3637                   lbid = gsn_create_legend(wks,3,(/"w"+dq+"vpt"+dq,"w*vpt*","wvpt"/),lgres)       
    3638 
     3736                  lbid = gsn_create_legend(\
     3737                             wks,3,(/"w"+dq+"vpt"+dq,"w*vpt*","wvpt"/),lgres)
    36393738                  amres = True
    3640                   amres@amParallelPosF   = 0.65             
    3641                   amres@amOrthogonalPosF = -0.2           
    3642                   annoid1 = gsn_add_annotation(plot(n),lbid,amres)                 
     3739                  amres@amParallelPosF   = 0.88             
     3740                  amres@amOrthogonalPosF = 0.33           
     3741                  annoid1 = gsn_add_annotation(plot(n),lbid,amres)
    36433742                  overlay(plot(n),plot_wpvptp)
    36443743                  wpvptp=1
     
    36503749               end if
    36513750            end if
    3652             if (vNam(varn) .EQ. "wpqp" .OR. vNam(varn) .EQ. "wsqs" .OR. vNam(varn) .EQ. "wq"\
    3653                  .OR. vNam(varn) .EQ. "w"+dq+"q"+dq .OR. vNam(varn) .EQ. "w*q*") then
     3751            if (vNam(varn) .EQ. "wpqp" .OR. vNam(varn) .EQ. "wsqs" .OR.      \
     3752                vNam(varn) .EQ. "wq" .OR. vNam(varn) .EQ. "w"+dq+"q"+dq .OR. \
     3753                vNam(varn) .EQ. "w*q*") then
    36543754               if (wpqp .EQ. 0) then
    36553755                  res@gsnLeftString      = "w"+dq+"q"+dq+", w*q* and wq"
     
    36753775
    36763776                  ; ***************************************************
    3677                   ; legend for combined plot
     3777                  ; legend for overlaid plot
    36783778                  ; ***************************************************
    36793779     
     
    36853785                  lgres@vpHeightF          = 0.12         
    36863786                  lgres@lgDashIndexes      = (/0,1,2/)
    3687                   lbid = gsn_create_legend(wks,3,(/"w"+dq+"q"+dq,"w*q*","wq"/),lgres)       
     3787                  lbid = gsn_create_legend(\
     3788                             wks,3,(/"w"+dq+"q"+dq,"w*q*","wq"/),lgres)       
    36883789
    36893790                  amres = True
    3690                   amres@amParallelPosF   = 0.65             
    3691                   amres@amOrthogonalPosF = -0.2           
    3692                   annoid1 = gsn_add_annotation(plot(n),lbid,amres)                 
     3791                  amres@amParallelPosF   = 0.88             
     3792                  amres@amOrthogonalPosF = 0.33           
     3793                  annoid1 = gsn_add_annotation(plot(n),lbid,amres)
    36933794                  overlay(plot(n),plot_wpqp)
    36943795                  wpqp=1
     
    37003801               end if
    37013802            end if
    3702             if (vNam(varn) .EQ. "wpqvp" .OR. vNam(varn) .EQ. "wsqvs" .OR. vNam(varn) .EQ. "wqv"\
    3703                 .OR. vNam(varn) .EQ. "w"+dq+"qv"+dq .OR. vNam(varn) .EQ. "w*qv*") then
     3803            if (vNam(varn) .EQ. "wpqvp" .OR. vNam(varn) .EQ. "wsqvs" .OR.     \
     3804                vNam(varn) .EQ. "wqv" .OR. vNam(varn) .EQ. "w"+dq+"qv"+dq .OR.\
     3805                vNam(varn) .EQ. "w*qv*") then
    37043806               if (wpqvp .EQ. 0) then
    37053807                  res@gsnLeftString      ="w"+dq+"qv"+dq+" , w*qv* and wqv"
     
    37253827
    37263828                  ; ***************************************************
    3727                   ; legend for combined plot
     3829                  ; legend for overlaid plot
    37283830                  ; ***************************************************
    37293831     
     
    37353837                  lgres@vpHeightF          = 0.12         
    37363838                  lgres@lgDashIndexes      = (/0,1,2/)
    3737                   lbid = gsn_create_legend(wks,3,(/"w"+dq+"qv"+dq,"w*qv*","wqv"/),lgres)       
     3839                  lbid = gsn_create_legend(\
     3840                                wks,3,(/"w"+dq+"qv"+dq,"w*qv*","wqv"/),lgres)
    37383841
    37393842                  amres = True
    3740                   amres@amParallelPosF   = 0.65             
    3741                   amres@amOrthogonalPosF = -0.2           
    3742                   annoid1 = gsn_add_annotation(plot(n),lbid,amres)                 
     3843                  amres@amParallelPosF   = 0.88             
     3844                  amres@amOrthogonalPosF = 0.33           
     3845                  annoid1 = gsn_add_annotation(plot(n),lbid,amres)
    37433846                  overlay(plot(n),plot_wpqvp)
    37443847                  wpqvp=1
     
    37503853               end if
    37513854            end if
    3752             if (vNam(varn) .EQ. "wpsp" .OR. vNam(varn) .EQ. "wsss" .OR. vNam(varn) .EQ. "ws"\
    3753                 .OR. vNam(varn) .EQ. "w"+dq+"s"+dq .OR. vNam(varn) .EQ. "w*s*") then
     3855            if (vNam(varn) .EQ. "wpsp" .OR. vNam(varn) .EQ. "wsss" .OR.     \
     3856                vNam(varn) .EQ. "ws" .OR. vNam(varn) .EQ. "w"+dq+"s"+dq .OR.\
     3857                vNam(varn) .EQ. "w*s*") then
    37543858               if (wpsp .EQ. 0) then
    37553859                  res@gsnLeftString      = "w"+dq+"s"+dq+", w*s* and ws"
     
    37753879
    37763880                  ; ***************************************************
    3777                   ; legend for combined plot
     3881                  ; legend for overlaid plot
    37783882                  ; ***************************************************
    37793883     
     
    37853889                  lgres@vpHeightF          = 0.12         
    37863890                  lgres@lgDashIndexes      = (/0,1,2/)
    3787                   lbid = gsn_create_legend(wks,3,(/"w"+dq+"s"+dq,"w*s*","ws"/),lgres)       
     3891                  lbid = gsn_create_legend(\
     3892                           wks,3,(/"w"+dq+"s"+dq,"w*s*","ws"/),lgres)       
    37883893
    37893894                  amres = True
    3790                   amres@amParallelPosF   = 0.65             
    3791                   amres@amOrthogonalPosF = -0.2           
    3792                   annoid1 = gsn_add_annotation(plot(n),lbid,amres)                 
     3895                  amres@amParallelPosF   = 0.88             
     3896                  amres@amOrthogonalPosF = 0.33           
     3897                  annoid1 = gsn_add_annotation(plot(n),lbid,amres)
    37933898                  overlay(plot(n),plot_wpsp)
    37943899                  wpsp=1
     
    38003905               end if
    38013906            end if
    3802             if (vNam(varn) .EQ. "wpsap" .OR.vNam(varn) .EQ. "wssas" .OR. vNam(varn) .EQ. "wsa"\
    3803                 .OR. vNam(varn) .EQ. "w"+dq+"sa"+dq .OR. vNam(varn) .EQ. "w*sa*") then
     3907            if (vNam(varn) .EQ. "wpsap" .OR.vNam(varn) .EQ. "wssas" .OR.      \
     3908                vNam(varn) .EQ. "wsa" .OR. vNam(varn) .EQ. "w"+dq+"sa"+dq .OR.\
     3909                vNam(varn) .EQ. "w*sa*") then
    38043910               if (wpsap .EQ. 0) then
    38053911                  res@gsnLeftString      = "w"+dq+"sa"+dq+", w*sa* and wsa"
     
    38253931
    38263932                  ; ***************************************************
    3827                   ; legend for combined plot
     3933                  ; legend for overlaid plot
    38283934                  ; ***************************************************
    38293935     
     
    38353941                  lgres@vpHeightF          = 0.12         
    38363942                  lgres@lgDashIndexes      = (/0,1,2/)
    3837                   lbid = gsn_create_legend(wks,3,(/"w"+dq+"sa"+dq,"w*sa*","wsa"/),lgres)       
    3838 
     3943                  lbid = gsn_create_legend(\
     3944                             wks,3,(/"w"+dq+"sa"+dq,"w*sa*","wsa"/),lgres)
    38393945                  amres = True
    3840                   amres@amParallelPosF   = 0.65             
    3841                   amres@amOrthogonalPosF = -0.2           
    3842                   annoid1 = gsn_add_annotation(plot(n),lbid,amres)                 
     3946                  amres@amParallelPosF   = 0.88             
     3947                  amres@amOrthogonalPosF = 0.33           
     3948                  annoid1 = gsn_add_annotation(plot(n),lbid,amres)
    38433949                  overlay(plot(n),plot_wpsap)
    38443950                  wpsap=1
     
    38513957            end if
    38523958         
    3853             if (vNam(varn) .EQ. "us2" .OR. vNam(varn) .EQ. "vs2" .OR. vNam(varn) .EQ. "ws2" \
    3854                 .OR. vNam(varn) .EQ. "u*2" .OR. vNam(varn) .EQ. "v*2" .OR. vNam(varn) .EQ. "w*2" ) then
     3959            if (vNam(varn) .EQ. "us2" .OR. vNam(varn) .EQ. "vs2" .OR. \
     3960                vNam(varn) .EQ. "ws2" .OR. vNam(varn) .EQ. "u*2" .OR. \
     3961                vNam(varn) .EQ. "v*2" .OR. vNam(varn) .EQ. "w*2" ) then
    38553962               if (us2 .EQ. 0) then
    38563963                  res@gsnLeftString      = "u*2, v*2 and w*2"
     
    38763983
    38773984                  ; ***************************************************
    3878                   ; legend for combined plot
     3985                  ; legend for overlaid plot
    38793986                  ; ***************************************************
    38803987     
     
    38863993                  lgres@vpHeightF          = 0.12         
    38873994                  lgres@lgDashIndexes      = (/0,1,2/)
    3888                   lbid = gsn_create_legend(wks,3,(/"u*2","v*2","w*2"/),lgres)       
    3889 
     3995                  lbid = gsn_create_legend(wks,3,(/"u*2","v*2","w*2"/),lgres)
    38903996                  amres = True
    3891                   amres@amParallelPosF   = 0.65             
    3892                   amres@amOrthogonalPosF = -0.2           
    3893                   annoid1 = gsn_add_annotation(plot(n),lbid,amres)                 
     3997                  amres@amParallelPosF   = 0.88             
     3998                  amres@amOrthogonalPosF = 0.33           
     3999                  annoid1 = gsn_add_annotation(plot(n),lbid,amres)
    38944000                  overlay(plot(n),plot_us2)
    38954001                  us2=1
     
    39024008            end if
    39034009           
    3904             if (vNam(varn) .EQ. "wsususodz" .OR. vNam(varn) .EQ. "wspsodz" .OR. vNam(varn) .EQ. "wpeodz" \
    3905                .OR. vNam(varn) .EQ. "w*u*u*:dz" .OR. vNam(varn) .EQ. "w*p*:dz" .OR. vNam(varn) .EQ. "w"+dq+"e:dz") then
     4010            if (vNam(varn) .EQ. "wsususodz" .OR. \
     4011                vNam(varn) .EQ. "wspsodz" .OR.   \
     4012                vNam(varn) .EQ. "wpeodz" .OR.    \
     4013                vNam(varn) .EQ. "w*u*u*:dz" .OR. \
     4014                vNam(varn) .EQ. "w*p*:dz" .OR.   \
     4015                vNam(varn) .EQ. "w"+dq+"e:dz") then
    39064016               if (wsususodz .EQ. 0) then
    39074017                  res@gsnLeftString      = "w*u*u*:dz, w*p*:dz and w"+dq+"e:dz"
     
    39094019                  res@gsnRightString     = " "
    39104020                  if (xs .EQ. -1) then
    3911                      res@trXMinF = min((/miniwsususodz,miniwspsodz,miniwpeodz/))
     4021                     res@trXMinF = min((/miniwsususodz,\
     4022                                                   miniwspsodz,miniwpeodz/))
    39124023                  else
    39134024                     res@trXMinF = xs
    39144025                  end if
    39154026                  if (xe .EQ. -1) then
    3916                      res@trXMaxF = max((/maxiwsususodz,maxiwspsodz,maxiwpeodz/))
     4027                     res@trXMaxF = max((/maxiwsususodz,maxiwspsodz,\
     4028                                                               maxiwpeodz/))
    39174029                  else
    39184030                     res@trXMaxF = xe 
     
    39274039
    39284040                  ; ***************************************************
    3929                   ; legend for combined plot
     4041                  ; legend for overlaid plot
    39304042                  ; ***************************************************
    39314043     
     
    39374049                  lgres@vpHeightF          = 0.12         
    39384050                  lgres@lgDashIndexes      = (/0,1,2/)
    3939                   lbid = gsn_create_legend(wks,3,(/"w*u*u*:dz","w*p*:dz","w"+dq+"e:dz"/),lgres)       
    3940 
     4051                  lbid = gsn_create_legend(\
     4052                           wks,3,(/"w*u*u*:dz","w*p*:dz","w"+dq+"e:dz"/),lgres)
    39414053                  amres = True
    3942                   amres@amParallelPosF   = 0.65             
    3943                   amres@amOrthogonalPosF = -0.2           
    3944                   annoid1 = gsn_add_annotation(plot(n),lbid,amres)                 
     4054                  amres@amParallelPosF   = 0.88             
     4055                  amres@amOrthogonalPosF = 0.33           
     4056                  annoid1 = gsn_add_annotation(plot(n),lbid,amres)
    39454057                  overlay(plot(n),plot_wsususodz)
    39464058                  wsususodz=1
     
    39704082     
    39714083         if (prof3d .EQ. 0) then
    3972             if ( isStrSubset( vNam(varn), "time") .OR. isStrSubset( vNam(varn), "NORM")) then
     4084            if ( isStrSubset( vNam(varn), "time") .OR. \
     4085                 isStrSubset( vNam(varn), "NORM")) then
    39734086               check = False
    39744087            end if
    39754088         else
    3976             if ( isStrSubset( vNam(varn), "time") .OR. isStrSubset( vNam(varn), "zusi") .OR. isStrSubset( vNam(varn), "zwwi") .OR. isStrSubset( vNam(varn), "x") .OR. isStrSubset( vNam(varn), "xu") .OR. isStrSubset( vNam(varn), "y") .OR. isStrSubset( vNam(varn), "yv") .OR. isStrSubset( vNam(varn), "zu_3d") .OR. isStrSubset( vNam(varn), "zw_3d")) then
     4089            if ( isStrSubset( vNam(varn), "time") .OR.  \
     4090                 isStrSubset( vNam(varn), "zusi") .OR.  \
     4091                 isStrSubset( vNam(varn), "zwwi") .OR.  \
     4092                 isStrSubset( vNam(varn), "x") .OR.     \
     4093                 isStrSubset( vNam(varn), "xu") .OR.    \
     4094                 isStrSubset( vNam(varn), "y") .OR.     \
     4095                 isStrSubset( vNam(varn), "yv") .OR.    \
     4096                 isStrSubset( vNam(varn), "zu_3d") .OR. \
     4097                 isStrSubset( vNam(varn), "zw_3d")) then
    39774098               check = False
    39784099            end if
     
    40594180            print(" ")
    40604181            print("combining is not possible,")
    4061             print("'c_var'(= "+c_var+") must include two variables of the general plots = ")
     4182            print("'c_var'(= "+c_var+") must include two variables of "+\
     4183                  "the general plots = ")
    40624184            print("- "+com_var_avail)
    40634185            print("be sure to have one comma before and after the variable")
     
    40734195            print(" ")
    40744196            print("combining is not possible,")
    4075             print("'c_var'(= "+c_var+") must include three variables of the general plots = ")
     4197            print("'c_var'(= "+c_var+") must include three variables of "+\
     4198                  "the general plots = ")
    40764199            print("- "+com_var_avail)
    40774200            print("be sure to have one comma before and after the variable")
     
    41144237   no_frames = 0
    41154238
    4116    if ((format_out .EQ. "eps" .OR. format_out .EQ. "epsi") .AND. n .gt. no_rows*no_columns) then
     4239   if ((format_out .EQ. "eps" .OR. format_out .EQ. "epsi") .AND. \
     4240       n .gt. no_rows*no_columns) then
    41174241      gsn_panel(wks,plot_,(/n,1/),resP)
    41184242      print(" ")
     
    41254249            no_frames = no_frames + 1 
    41264250         else
    4127             gsn_panel(wks,plot_(i:i+no_rows*no_columns-1),(/no_rows,no_columns/),resP)
     4251            gsn_panel(wks,plot_(i:i+no_rows*no_columns-1),\
     4252                                                (/no_rows,no_columns/),resP)
    41284253            no_frames = no_frames + 1 
    41294254         end if
  • palm/trunk/SCRIPTS/NCL/spectra.ncl

    r534 r566  
    2424      print("Neither the personal configuration file '.ncl.config' exists in")
    2525      print("~/palm/current_version")
    26       print("nor the default configuration file '.ncl.config.default' exists in")
     26      print("nor the default configuration file '.ncl.config.default' "+\
     27            "exists in")
    2728      print(palm_bin_path + "/NCL")
    2829      print(" ")
     
    5960   end if
    6061
    61    if (format_out .NE. "x11" .AND. format_out .NE. "pdf" .AND. format_out .NE. "eps" .AND. format_out .NE. "ps" .AND. format_out .NE. "epsi" .AND. format_out .NE. "ncgm" .AND. format_out .NE. "png")then
     62   if (format_out .NE. "x11" .AND. format_out .NE. "pdf" .AND.   \
     63       format_out .NE. "eps" .AND. format_out .NE. "ps" .AND.    \
     64       format_out .NE. "epsi" .AND. format_out .NE. "ncgm" .AND. \
     65       format_out .NE. "png")then
    6266      print(" ")
    6367      print("'format_out = "+format_out+"' is invalid and set to'x11'")
     
    136140   if (start_f .EQ. -1)then
    137141      print(" ")
    138       print("'start_f' must be one of the cyclic numbers (at least 0) of your input file(s)")
     142      print("'start_f' must be one of the cyclic numbers (at least 0) of "+\
     143            "your input file(s)")
    139144      print(" ") 
    140145      exit
     
    142147   if (end_f .EQ. -1)then
    143148      print(" ")
    144       print("'end_f' must be one of the cyclic numbers (at least 0) of your input file(s)")
     149      print("'end_f' must be one of the cyclic numbers (at least 0) of "+\
     150            "your input file(s)")
    145151      print(" ") 
    146152      exit
     
    224230            if (dim_level .GT. dimsizes(zu))then
    225231               print(" ")
    226                print("'height_level' has more elements than available height levels in input file (= "+dimz+")")
     232               print("'height_level' has more elements than available "+\
     233                     "height levels in input file (= "+dimsizes(zu)+")")
    227234               print(" ")
    228235               exit
     
    230237               zuh=new(dim_level,double)
    231238               do le=0,dim_level-1
     239                  if (height_level(le) .GE. dimsizes(zu)) then
     240                     no_levels=dimsizes(zu)-1
     241                     print(" ")
     242                     print("Element "+le+" of 'height_level' is greater "  +\
     243                          "than the maximum available index in input file "+\
     244                          "which is "+no_levels+". Note that the first "   +\
     245                          "element has the index 0.")
     246                     print(" ")
     247                     exit
     248                  end if
    232249                  zuh(le)=zu(height_level(le))
    233250               end do
     
    243260               if (dim_level .GT. dimsizes(zw))then
    244261                  print(" ")
    245                   print("'height_level' has more elements than available height levels in input file (= "+dimz+")")
     262                  print("'height_level' has more elements than available "+\
     263                        "height levels in input file (= "+dimsizes(zw)+")")
    246264                  print(" ")
    247265                  exit
     
    249267                  zwh=new(dim_level,double)
    250268                  do le=0,dim_level-1
     269                     if (height_level(le) .GE. dimsizes(zw)) then
     270                        no_levels=dimsizes(zw)-1
     271                        print(" ")
     272                        print("Element "+le+" of 'height_level' is greater "+\
     273                              "than the maximum available index in input "  +\
     274                              "file which is "+no_levels+". Note that the " +\
     275                              "first element has the index 0.")
     276                        print(" ")
     277                        exit
     278                     end if
    251279                     zwh(le)=zw(height_level(le))
    252280                  end do
     
    267295      if (start_time_step .GT. t_all(nt-1)/3600)then
    268296         print(" ")
    269          print("'start_time_step' = "+ start_time_step +"h is greater than last time step = " + t_all(nt-1)+"s = "+t_all(nt-1)/3600+"h")
     297         print("'start_time_step' = "+ start_time_step +"h is greater than "+\
     298               "last time step = "+ t_all(nt-1)+"s = "+t_all(nt-1)/3600+"h")
    270299         print(" ")
    271300         print("Select another 'start_time_step'")
     
    275304      if (start_time_step .LT. t_all(0)/3600)then
    276305         print(" ")
    277          print("'start_time_step' = "+ start_time_step +"h is lower than first time step = " + t_all(0)+"s = "+t_all(0)/3600+"h")       
     306         print("'start_time_step' = "+ start_time_step +"h is lower than "+\
     307               "first time step = "+ t_all(0)+"s = "+t_all(0)/3600+"h")       
    278308         exit
    279309      end if
     
    281311
    282312   do i=0,nt-1     
    283       if (start_time_step .GE. (t_all(i)-delta_t/2)/3600 .AND. start_time_step .LT. (t_all(i)+delta_t/2)/3600)then
     313      if (start_time_step .GE. (t_all(i)-delta_t/2)/3600 .AND. \
     314          start_time_step .LT. (t_all(i)+delta_t/2)/3600)then
    284315         st=i
    285316         break
     
    305336      if (end_time_step .GT. t_all(nt-1)/3600)then
    306337         print(" ")
    307          print("'end_time_step' = "+ end_time_step +"h is greater than last time step = " + t_all(nt-1)+"s = "+t_all(nt-1)/3600+"h")
     338         print("'end_time_step' = "+ end_time_step +"h is greater than "+\
     339               "last time step = " + t_all(nt-1)+"s = "+t_all(nt-1)/3600+"h")
    308340         print(" ")
    309341         print("Select another 'end_time_step'") 
     
    313345      if (end_time_step .LT. start_time_step/3600)then
    314346         print(" ")
    315          print("'end_time_step' = "+ end_time_step +"h is lower than 'start_time_step' = "+start_time_step+"h")
     347         print("'end_time_step' = "+ end_time_step +"h is lower than "+\
     348               "'start_time_step' = "+start_time_step+"h")
    316349         print(" ")
    317350         print("Select another 'start_time_step' or 'end_time_step'")
     
    322355
    323356   do i=0,nt-1     
    324       if (end_time_step .GE. (t_all(i)-delta_t/2)/3600 .AND. end_time_step .LT. (t_all(i)+delta_t/2)/3600)then
     357      if (end_time_step .GE. (t_all(i)-delta_t/2)/3600 .AND. \
     358          end_time_step .LT. (t_all(i)+delta_t/2)/3600)then
    325359         et=i
    326360         break
     
    343377
    344378   print(" ")
    345    print("Output of time steps from "+t_all(start_time_step)/3600+" h = "+t_all(start_time_step)+" s => index = "+start_time_step)
    346    print("                     till "+t_all(end_time_step)/3600+" h = "+t_all(end_time_step)+" s => index = "+end_time_step)
     379   print("Output of time steps from "+t_all(start_time_step)/3600+" h = "+\
     380         t_all(start_time_step)+" s => index = "+start_time_step)
     381   print("                     till "+t_all(end_time_step)/3600+" h = "+\
     382         t_all(end_time_step)+" s => index = "+end_time_step)
    347383   print(" ")
    348384
     
    387423   end if
    388424
    389    legend_label=new(dimt,double)
     425   legend_label=new(dimt,string)
    390426   legend_label_zu=new(dimz,double)
    391427   legend_label_zw=new(dimz,double)
    392428   legend_label_z=new(dimz,double)
    393429   do p=start_time_step,end_time_step
    394       if (t_all(p)/3600 .LT. 1) then
    395          legend_label(p-start_time_step)=decimalPlaces(t_all(p)/3600,2,True)
    396       else
    397          legend_label(p-start_time_step)=decimalPlaces(t_all(p)/3600,0,True)
    398       end if
     430      legend_label(p-start_time_step)=sprintf("%6.2f", t_all(p)/3600)
    399431   end do 
    400432   if (sort .EQ. "time")
     
    447479      check = True
    448480
    449       if ( isStrSubset( vNam(varn), "time") .OR. isStrSubset( vNam(varn), "zu_sp") .OR. isStrSubset( vNam(varn), "zw_sp") .OR. isStrSubset( vNam(varn), "k_x") .OR. isStrSubset( vNam(varn), "k_y")) then
     481      if ( isStrSubset( vNam(varn), "time") .OR.  \
     482           isStrSubset( vNam(varn), "zu_sp") .OR. \
     483           isStrSubset( vNam(varn), "zw_sp") .OR. \
     484           isStrSubset( vNam(varn), "k_x") .OR.   \
     485           isStrSubset( vNam(varn), "k_y")) then
    450486            check = False
    451487      end if
     
    458494
    459495         temp = f[:]->$vNam(varn)$
    460          data = temp(start_time_step:end_time_step,0:dimz-1,:)
     496         data = temp(start_time_step:end_time_step,0:dimz-1,:) 
    461497
    462498         temp_att = f_att->$vNam(varn)$
     
    467503         if (height_level(0) .NE. -1)then
    468504            do te=0,dimz-1
    469             print(height_level(te))
    470                data(:,te,:) = temp(start_time_step:end_time_step,height_level(te),:)           
     505               data(:,te,:) = temp(start_time_step:end_time_step,\
     506                                                    height_level(te),:)       
    471507            end do
    472508         end if
    473509
    474          data=data/(norm_y*norm_x)  ;SMOOTHING: #temp=smth9(temp/norm, 0.50, -0.25, False)#
     510         data=data/(norm_y*norm_x)
    475511           
    476512         do i=0,b-1           
     
    541577            res@pmLegendOrthogonalPosF  = -1.0
    542578            res@pmLegendWidthF          = 0.12
    543             res@pmLegendHeightF         = 0.04*(end_time_step-start_time_step+1)
     579            res@pmLegendHeightF         = 0.04*\
     580                                          (end_time_step-start_time_step+1)
    544581            do p=dimz-1,0,1
    545582               if (log_y .EQ. 1)then 
     
    549586                           st=p+start_time_step
    550587                           print(" ")
    551                            print("'"+vNam(varn)+"("+st+","+q+","+r+")' is equal 0; Logarithmic scale for y-axis and height "+z(p)+" cannot be used")
     588                           print("'"+vNam(varn)+"("+st+","+q+","+r+")' is "+\
     589                                 "equal 0. Logarithmic scale for y-axis "+\
     590                                 "and height "+z(p)+" cannot be used")
    552591                           print(" ")
    553592                           res@trYLog = False
     
    577616                           st=p+start_time_step
    578617                           print(" ")
    579                            print("'"+vNam(varn)+"("+st+","+q+","+r+")' is equal 0; Logarithmic scale for y-axis and time "+legend_label(p)+" cannot be used")
     618                           print("'"+vNam(varn)+"("+st+","+q+","+r+")' "+\
     619                                 "is equal 0. Logarithmic scale for y-axis "+\
     620                                 "and time "+legend_label(p)+" h cannot be used")
    580621                           print(" ")
    581622                           res@trYLog = False
     
    583624                     end do
    584625                     if (norm_height .EQ. 1 .AND. p .EQ. 0)then
    585                         data(p,q,:) = data(p,q,:)*doubletofloat(legend_label_z(q))
    586                         x_axis(q,:) = x_axis(q,:)*doubletofloat(legend_label_z(q))
     626                        data(p,q,:) = data(p,q,:)*\
     627                                           doubletofloat(legend_label_z(q))
     628                        x_axis(q,:) = x_axis(q,:)*\
     629                                           doubletofloat(legend_label_z(q))
    587630                     end if
    588631                     max_y(q)=max(data(p,q,:))
    589632                     min_y(q)=min(data(p,q,:))
    590633                     min_x(q)=min(x_axis(q,:))
    591                      max_x(q)=max(x_axis(q,:))                                   
     634                     max_x(q)=max(x_axis(q,:))
    592635                  end do
    593636                  do q=0,dimz-1
     
    597640                     end if
    598641                     if (q .EQ. 0)then
    599                         res@tiYAxisString      = "("+unit_y+")"                 
     642                        res@tiYAxisString      = "("+unit_y+")"
    600643                        res@gsnLeftString      = vNam(varn)
    601644                        res@gsnRightString     = "Time = "+legend_label(p)+"h"
     
    605648                        res@trYMaxF = max(max_y)
    606649                       
    607                         plot_h(q)  = gsn_csm_xy(wks,x_axis(q,:),data(p,q,:),res)
     650                        plot_h(q)  = gsn_csm_xy(wks,x_axis(q,:),\
     651                                                         data(p,q,:),res)
    608652                       
    609653                        lgres = True
     
    618662                           lgres@lgLineColors = color
    619663                        end if
    620                         lgres@lgTitleString = "Height (m)" 
     664                        lgres@lgTitleString      = "Height (m)" 
    621665                        lgres@lgLabelFont        = "helvetica"
    622                         lgres@lgLabelFontHeightF     = font_size_legend*6
    623                         lgres@lgTitleFontHeightF     = font_size     
     666                        lgres@lgLabelFontHeightF = font_size_legend*6
     667                        lgres@lgTitleFontHeightF = font_size     
    624668                        lgres@vpWidthF           = 0.12           
    625                         lgres@vpHeightF          = font_size_legend*(dimz+3)           
     669                        lgres@vpHeightF          = font_size_legend*(dimz+3)
    626670 
    627                         lbid = gsn_create_legend(wks,dimz,legend_label_z,lgres)       
     671                        lbid = gsn_create_legend(wks,dimz,legend_label_z,lgres)
    628672
    629673                        amres = True
     
    632676                        annoid1 = gsn_add_annotation(plot_h(q),lbid,amres)
    633677                     else
    634                         plot_h(q)  = gsn_csm_xy(wks,x_axis(q,:),data(p,q,:),res)
     678                        plot_h(q)  = gsn_csm_xy(wks,x_axis(q,:),\
     679                                                        data(p,q,:),res)
    635680                        overlay(plot_h(0),plot_h(q))
    636681                     end if
     
    672717   no_frames = 0
    673718
    674    if ((format_out .EQ. "eps" .OR. format_out .EQ. "epsi") .AND. n .gt. no_rows*no_columns) then
     719   if ((format_out .EQ. "eps" .OR. format_out .EQ. "epsi") .AND. \
     720                                          n .gt. no_rows*no_columns) then
    675721      gsn_panel(wks,plot,(/n,1/),resP)
    676722      print(" ")
     
    683729            no_frames = no_frames + 1
    684730         else
    685             gsn_panel(wks,plot(i:i+no_rows*no_columns-1),(/no_rows,no_columns/),resP)
     731            gsn_panel(wks,plot(i:i+no_rows*no_columns-1),\
     732                                           (/no_rows,no_columns/),resP)
    686733            no_frames = no_frames + 1   
    687734         end if
  • palm/trunk/SCRIPTS/NCL/timeseries.ncl

    r534 r566  
    2525      print("Neither the personal configuration file '.ncl.config' exists in")
    2626      print("~/palm/current_version")
    27       print("nor the default configuration file '.ncl.config.default' exists in")
     27      print("nor the default configuration file '.ncl.config.default' "+\
     28            "exists in")
    2829      print(palm_bin_path + "/NCL")
    2930      print(" ")
     
    6061   end if
    6162
    62    if (format_out .NE. "x11" .AND. format_out .NE. "pdf" .AND. format_out .NE. "eps" .AND. format_out .NE. "ps" .AND. format_out .NE. "epsi" .AND. format_out .NE. "ncgm" .AND. format_out .NE. "png")then
     63   if (format_out .NE. "x11" .AND. format_out .NE. "pdf" .AND.   \
     64       format_out .NE. "eps" .AND. format_out .NE. "ps" .AND.    \
     65       format_out .NE. "epsi" .AND. format_out .NE. "ncgm" .AND. \
     66       format_out .NE. "png")then
    6367      print(" ")
    6468      print("'format_out = "+format_out+"' is invalid and set to'x11'")
     
    104108   if (start_f .EQ. -1)then
    105109      print(" ")
    106       print("'start_f' must be one of the cyclic numbers (at least 0) of your input file(s)")
     110      print("'start_f' must be one of the cyclic numbers (at least 0) of "+\
     111            "your input file(s)")
    107112      print(" ") 
    108113      exit
     
    110115   if (end_f .EQ. -1)then
    111116      print(" ")
    112       print("'end_f' must be one of the cyclic numbers (at least 0) of your input file(s)")
     117      print("'end_f' must be one of the cyclic numbers (at least 0) of "+\
     118            "your input file(s)")
    113119      print(" ") 
    114120      exit
     
    191197      if (start_time_step .GE. t_all(nt-1)/3600)
    192198         print(" ")
    193          print("'start_time_step' = "+ start_time_step +"h is equal or greater than last time step = " + t_all(nt-1)+"s = "+t_all(nt-1)/3600+"h")
     199         print("'start_time_step' = "+ start_time_step +\
     200               "h is equal or greater than last time step = " + \
     201               t_all(nt-1)+"s = "+t_all(nt-1)/3600+"h")
    194202         print(" ")
    195203         print("Select another 'start_time_step'")
     
    199207      if (start_time_step .LT. t_all(0)/3600)
    200208         print(" ")
    201          print("'start_time_step' = "+ start_time_step +"h is lower than first time step = " + t_all(0)+"s = "+t_all(0)/3600+"h")
     209         print("'start_time_step' = "+ start_time_step +\
     210               "h is lower than first time step = " + t_all(0)+"s = "+\
     211               t_all(0)/3600+"h")
    202212         print(" ")
    203213         print("Select another 'start_time_step'")
     
    207217   end if
    208218   do i=0,nt-2     
    209       if (start_time_step .GE. (t_all(i)-delta_t/2)/3600 .AND. start_time_step .LT. (t_all(i)+delta_t/2)/3600)then
     219      if (start_time_step .GE. (t_all(i)-delta_t/2)/3600 .AND. \
     220          start_time_step .LT. (t_all(i)+delta_t/2)/3600)then
    210221         st=i
    211222         break
    212223      end if
    213224   end do
    214    if (start_time_step .GE. t_all(nt-1)-delta_t/2 .AND. start_time_step .LT. t_all(nt-1)) then
     225   if (start_time_step .GE. t_all(nt-1)-delta_t/2 .AND. \
     226       start_time_step .LT. t_all(nt-1)) then
    215227      st=nt-2   
    216228   end if
     
    233245      if (end_time_step .LE. t_all(0)/3600)
    234246         print(" ")
    235          print("'end_time_step' = "+end_time_step+ "h is lower or equal than first time step = " + t_all(0)+"s = "+t_all(0)/3600+"h")
     247         print("'end_time_step' = "+end_time_step+ \
     248              "h is lower or equal than first time step = " + \
     249               t_all(0)+"s = "+t_all(0)/3600+"h")
    236250         print(" ")
    237251         print("Select another 'end_time_step'")
     
    241255      if (end_time_step .GT. t_all(nt-1)/3600)
    242256         print(" ")
    243          print("'end_time_step' = "+ end_time_step +"h is greater than last time step = " + t_all(nt-1)+"s = "+t_all(nt-1)/3600+"h")
     257         print("'end_time_step' = "+ end_time_step +\
     258               "h is greater than last time step = " + t_all(nt-1)+"s = "+\
     259               t_all(nt-1)/3600+"h")
    244260         print(" ")
    245261         print("Select another 'end_time_step'") 
     
    249265      if (end_time_step .LE. start_time_step/3600)
    250266         print(" ")
    251          print("'end_time_step' = "+ end_time_step +"h is equal or lower than 'start_time_step' = "+start_time_step+"h")
     267         print("'end_time_step' = "+ end_time_step +\
     268               "h is equal or lower than 'start_time_step' = "+\
     269               start_time_step+"h")
    252270         print(" ")
    253271         print("Select another 'start_time_step' or 'end_time_step'")
     
    257275   end if
    258276   do i=0,nt-1     
    259       if (end_time_step .GE. (t_all(i)-delta_t/2)/3600 .AND. end_time_step .LT. (t_all(i)+delta_t/2)/3600)then
     277      if (end_time_step .GE. (t_all(i)-delta_t/2)/3600 .AND. \
     278          end_time_step .LT. (t_all(i)+delta_t/2)/3600)then
    260279         et=i
    261280         break
     
    278297
    279298   print(" ")
    280    print("Output of time steps from "+t_all(start_time_step)/3600+" h = "+t_all(start_time_step)+" s => index = "+start_time_step)
    281    print("                     till "+t_all(end_time_step)/3600+" h = "+t_all(end_time_step)+" s => index = "+end_time_step)
     299   print("Output of time steps from "+t_all(start_time_step)/3600+" h = "+\
     300         t_all(start_time_step)+" s => index = "+start_time_step)
     301   print("                     till "+t_all(end_time_step)/3600+" h = "+\
     302         t_all(end_time_step)+" s => index = "+end_time_step)
    282303   print(" ")
    283304
     
    300321   res@tmYLLabelFont           = "helvetica"
    301322   res@xyLineColors            = (/237/)
     323   res@trXMaxF                 = t_all(start_time_step)
     324   res@trXMinF                 = t_all(end_time_step)
    302325   
    303326   res@lgLabelFontHeightF     = 0.02
     
    405428
    406429      do j = 0, comma -2
    407          vNam_temp(j) = charactertostring(var_char(indices(j)+1:indices(j+1)-1))
     430         vNam_temp(j) = charactertostring(\
     431                                   var_char(indices(j)+1:indices(j+1)-1))
    408432      end do
    409433     
     
    458482            maxi(varn) = max(data(varn,:))
    459483           
    460             if (vNam(varn) .EQ. "E" .OR. vNam(varn) .EQ. "Es" .OR. vNam(varn) .EQ. "E*") then
     484            if (vNam(varn) .EQ. "E" .OR. vNam(varn) .EQ. "Es" .OR. \
     485                vNam(varn) .EQ. "E*") then
    461486               if (mini(varn) .EQ. maxi(varn)) then
    462487                  if (min(data(varn,:)) .EQ. 0)then
     
    497522            end if
    498523
    499             if (vNam(varn) .EQ. "umax" .OR. vNam(varn) .EQ. "vmax" .OR. vNam(varn) .EQ. "wmax") then
     524            if (vNam(varn) .EQ. "umax" .OR. vNam(varn) .EQ. "vmax" .OR. \
     525                vNam(varn) .EQ. "wmax") then
    500526               if (mini(varn) .EQ. maxi(varn)) then
    501527                  if (mini(varn) .EQ. 0)then
     
    535561            end if
    536562
    537             if (vNam(varn) .EQ. "wpptp0" .OR. vNam(varn) .EQ. "wpptp" .OR. vNam(varn) .EQ. "wpt"\
    538                .OR. vNam(varn) .EQ. "w"+dq+"pt"+dq+"0" .OR. vNam(varn) .EQ. "w"+dq+"pt"+dq ) then
     563            if (vNam(varn) .EQ. "wpptp0" .OR. vNam(varn) .EQ. "wpptp" .OR. \
     564                vNam(varn) .EQ. "wpt" .OR. vNam(varn) .EQ. \
     565                "w"+dq+"pt"+dq+"0" .OR. vNam(varn) .EQ. "w"+dq+"pt"+dq ) then
    539566               if (mini(varn) .EQ. maxi(varn)) then
    540567                  if (min(data(varn,:)) .EQ. 0)then
     
    581608  if (isStrSubset(data@long_name," SR " ))then
    582609      print(" ")
    583       print("If you have outputs of statistic regions you cannot overlay variables;")
     610      print("If you have outputs of statistic regions you cannot overlay "+\
     611            "variables;")
    584612      print("'over' is set to 0" )
    585613      print(" ")
     
    690718            end if
    691719
    692             if (vNam(varn) .EQ. "wpptp0" .OR. vNam(varn) .EQ. "w"+dq+"pt"+dq+"0" )
     720            if (vNam(varn) .EQ. "wpptp0" .OR. \
     721                vNam(varn) .EQ. "w"+dq+"pt"+dq+"0" )
    693722               w0=0
    694723               res@xyLineColors            = (/237/)
     
    759788
    760789               ; ***************************************************
    761                ; legend for combined plot
     790               ; legend for overlaid plot
    762791               ; ***************************************************
    763792     
     
    777806               annoid1 = gsn_add_annotation(plot_ps(n),lbid,amres)           
    778807            end if
    779             if ((vNam(varn) .EQ. "Es" .OR. vNam(varn) .EQ. "E*") .AND. E .NE. 1) then
     808            if ((vNam(varn) .EQ. "Es" .OR. vNam(varn) .EQ. "E*") .AND. \
     809                E .NE. 1) then
    780810               Es=1
    781811               overlay(plot_E,plot_Es)
     
    784814
    785815               ; ***************************************************
    786                ; legend for combined plot
     816               ; legend for overlaid plot
    787817               ; ***************************************************
    788818     
     
    803833            end if
    804834
    805             if ((vNam(varn) .EQ. "us" .OR. vNam(varn) .EQ. "u*") .AND. ws .NE. 1) then
     835            if ((vNam(varn) .EQ. "us" .OR. vNam(varn) .EQ. "u*") .AND. \
     836                 ws .NE. 1) then
    806837               us=1
    807838               overlay(plot_us,plot_ws)
     
    810841
    811842               ; ***************************************************
    812                ; legend for combined plot
     843               ; legend for overlaid plot
    813844               ; ***************************************************
    814845     
     
    828859               annoid1 = gsn_add_annotation(plot_ps(n),lbid,amres)
    829860            end if
    830             if ((vNam(varn) .EQ. "ws" .OR. vNam(varn) .EQ. "w*") .AND. us .NE. 1) then
     861            if ((vNam(varn) .EQ. "ws" .OR. vNam(varn) .EQ. "w*") .AND. \
     862                 us .NE. 1) then
    831863               ws=1
    832864               overlay(plot_us,plot_ws)
     
    835867
    836868               ; ***************************************************
    837                ; legend for combined plot
     869               ; legend for overlaid plot
    838870               ; ***************************************************
    839871     
     
    864896
    865897                  ; ***************************************************
    866                   ; legend for combined plot
     898                  ; legend for overlaid plot
    867899                  ; ***************************************************
    868900     
     
    875907                  lgres@lgDashIndexes      = (/0,0,0/)
    876908                  lgres@lgLineColors       = (/237,144,80/)
    877                   lbid = gsn_create_legend(wks_ps,3,(/"umax","vmax","wmax"/),lgres)       
     909                  lbid = gsn_create_legend(\
     910                                  wks_ps,3,(/"umax","vmax","wmax"/),lgres)
    878911
    879912                  amres = True
     
    892925
    893926                  ; ***************************************************
    894                   ; legend for combined plot
     927                  ; legend for overlaid plot
    895928                  ; ***************************************************
    896929     
     
    903936                  lgres@lgDashIndexes      = (/0,0,0/)
    904937                  lgres@lgLineColors       = (/237,144,80/)
    905                   lbid = gsn_create_legend(wks_ps,3,(/"umax","vmax","wmax"/),lgres)       
    906 
     938                  lbid = gsn_create_legend(\
     939                                      wks_ps,3,(/"umax","vmax","wmax"/),lgres)
    907940                  amres = True
    908941                  amres@amParallelPosF   = 0.6             
     
    920953
    921954                  ; ***************************************************
    922                   ; legend for combined plot
     955                  ; legend for overlaid plot
    923956                  ; ***************************************************
    924957     
     
    931964                  lgres@lgDashIndexes      = (/0,0,0/)
    932965                  lgres@lgLineColors       = (/237,144,80/)
    933                   lbid = gsn_create_legend(wks_ps,3,(/"umax","vmax","wmax"/),lgres)       
    934 
     966                  lbid = gsn_create_legend(\
     967                                       wks_ps,3,(/"umax","vmax","wmax"/),lgres)
    935968                  amres = True
    936969                  amres@amParallelPosF   = 0.6             
     
    947980       
    948981               ; ***************************************************
    949                ; legend for combined plot
     982               ; legend for overlaid plot
    950983               ; ***************************************************
    951984     
     
    958991               lgres@lgDashIndexes      = (/0,0,0/)
    959992               lgres@lgLineColors       = (/237,144,80/)
    960                lbid = gsn_create_legend(wks_ps,2,(/"z_i_wpt","z_i_pt"/),lgres)       
     993               lbid = gsn_create_legend(wks_ps,2,(/"z_i_wpt","z_i_pt"/),lgres)
    961994
    962995               amres = True
     
    9721005
    9731006               ; ***************************************************
    974                ; legend for combined plot
     1007               ; legend for overlaid plot
    9751008               ; ***************************************************
    9761009     
     
    9831016               lgres@lgDashIndexes      = (/0,0,0/)
    9841017               lgres@lgLineColors       = (/237,144,80/)
    985                lbid = gsn_create_legend(wks_ps,2,(/"z_i_wpt","z_i_pt"/),lgres)      
     1018               lbid = gsn_create_legend(wks_ps,2,(/"z_i_wpt","z_i_pt"/),lgres)
    9861019
    9871020               amres = True
     
    10001033
    10011034                  ; ***************************************************
    1002                   ; legend for combined plot
     1035                  ; legend for overlaid plot
    10031036                  ; ***************************************************
    10041037     
     
    10111044                  lgres@lgDashIndexes      = (/0,0,0/)
    10121045                  lgres@lgLineColors       = (/237,144,80/)
    1013                   lbid = gsn_create_legend(wks_ps,3,(/"wpptp0","wpptp","wpt"/),lgres)       
    1014 
     1046                  lbid = gsn_create_legend(\
     1047                                    wks_ps,3,(/"wpptp0","wpptp","wpt"/),lgres)
    10151048                  amres = True
    10161049                  amres@amParallelPosF   = 0.6             
     
    10191052               end if           
    10201053            end if
    1021             if ((vNam(varn) .EQ. "wpptp" .OR. vNam(varn) .EQ. "w"+dq+"pt"+dq) .AND. w0 .NE. 1)
     1054            if ((vNam(varn) .EQ. "wpptp" .OR. \
     1055                 vNam(varn) .EQ. "w"+dq+"pt"+dq) .AND. w0 .NE. 1)
    10221056               if (wt .NE. 1) then
    10231057                 wp=1
     
    10281062                 
    10291063                 ; ***************************************************
    1030                   ; legend for combined plot
     1064                  ; legend for overlaid plot
    10311065                  ; ***************************************************
    10321066     
     
    10391073                  lgres@lgDashIndexes      = (/0,0,0/)
    10401074                  lgres@lgLineColors       = (/237,144,80/)
    1041                   lbid = gsn_create_legend(wks_ps,3,(/"wpptp0","wpptp","wpt"/),lgres)       
     1075                  lbid = gsn_create_legend(\
     1076                                     wks_ps,3,(/"wpptp0","wpptp","wpt"/),lgres)
    10421077
    10431078                  amres = True
     
    10561091
    10571092                  ; ***************************************************
    1058                   ; legend for combined plot
     1093                  ; legend for overlaid plot
    10591094                  ; ***************************************************
    10601095     
     
    10671102                  lgres@lgDashIndexes      = (/0,0,0/)
    10681103                  lgres@lgLineColors       = (/237,144,80/)
    1069                   lbid = gsn_create_legend(wks_ps,3,(/"wpptp0","wpptp","wpt"/),lgres)       
    1070 
     1104                  lbid = gsn_create_legend(\
     1105                                  wks_ps,3,(/"wpptp0","wpptp","wpt"/),lgres)
    10711106                  amres = True
    10721107                  amres@amParallelPosF   = 0.6             
     
    10761111            end if
    10771112
    1078             if ((vNam(varn) .EQ. "pt_0_" .OR. vNam(varn) .EQ. "pt(0)") .AND. pz .NE. 1) then
     1113            if ((vNam(varn) .EQ. "pt_0_" .OR. vNam(varn) .EQ. "pt(0)") .AND. \
     1114                pz .NE. 1) then
    10791115               p=1     
    10801116               overlay(plot_pt_0_,plot_pt_zp_)
     
    10831119     
    10841120               ; ***************************************************
    1085                ; legend for combined plot
     1121               ; legend for overlaid plot
    10861122               ; ***************************************************
    10871123     
     
    10941130               lgres@lgDashIndexes      = (/0,0,0/)
    10951131               lgres@lgLineColors       = (/237,144,80/)
    1096                lbid = gsn_create_legend(wks_ps,2,(/"pt_0_","pt_zp_"/),lgres)       
     1132               lbid = gsn_create_legend(wks_ps,2,(/"pt_0_","pt_zp_"/),lgres)
    10971133
    10981134               amres = True
     
    11011137               annoid1 = gsn_add_annotation(plot_ps(n),lbid,amres)
    11021138            end if
    1103             if ((vNam(varn) .EQ. "pt_zp_" .OR. vNam(varn) .EQ. "pt(zp)") .AND. p .NE. 1) then
     1139            if ((vNam(varn) .EQ. "pt_zp_" .OR. vNam(varn) .EQ. "pt(zp)") .AND.\
     1140                 p .NE. 1) then
    11041141               pz=1       
    11051142               overlay(plot_pt_0_,plot_pt_zp_)
     
    11081145
    11091146               ; ***************************************************
    1110                ; legend for combined plot
     1147               ; legend for overlaid plot
    11111148               ; ***************************************************
    11121149     
     
    11191156               lgres@lgDashIndexes      = (/0,0,0/)
    11201157               lgres@lgLineColors       = (/237,144,80/)
    1121                lbid = gsn_create_legend(wks_ps,2,(/"pt_0_","pt_zp_"/),lgres)       
     1158               lbid = gsn_create_legend(wks_ps,2,(/"pt_0_","pt_zp_"/),lgres)
    11221159
    11231160               amres = True
     
    11281165
    11291166            if(vNam(varn) .NE. "pt_zp_" .AND. vNam(varn) .NE. "pt(zp)" .AND. \
    1130                vNam(varn) .NE. "pt_0_" .AND. vNam(varn) .NE. "pt(0)" .AND. \
    1131                vNam(varn) .NE. "wpt" .AND. vNam(varn) .NE. "wpptp" .AND. \
    1132                vNam(varn) .NE. "w"+dq+"pt"+dq .AND. vNam(varn) .NE. "wpptp0" .AND. \
    1133                vNam(varn) .NE. "w"+dq+"pt"+dq+"0" .AND. vNam(varn) .NE. "z_i_pt" .AND.\
    1134                vNam(varn) .NE. "z_i_wpt" .AND. vNam(varn) .NE. "wmax" .AND. \
    1135                vNam(varn) .NE. "vmax" .AND. vNam(varn) .NE. "umax" .AND. \
    1136                vNam(varn) .NE. "ws" .AND. vNam(varn) .NE. "w*" .AND.  \
    1137                vNam(varn) .NE. "us" .AND. vNam(varn) .NE. "u*" .AND. \
    1138                vNam(varn) .NE. "Es" .AND. vNam(varn) .NE. "E*" .AND. \
     1167               vNam(varn) .NE. "pt_0_" .AND. vNam(varn) .NE. "pt(0)" .AND.   \
     1168               vNam(varn) .NE. "wpt" .AND. vNam(varn) .NE. "wpptp" .AND.     \
     1169               vNam(varn) .NE. "w"+dq+"pt"+dq .AND.                          \
     1170               vNam(varn) .NE. "wpptp0" .AND.                                \
     1171               vNam(varn) .NE. "w"+dq+"pt"+dq+"0" .AND.                      \
     1172               vNam(varn) .NE. "z_i_pt" .AND.                                \
     1173               vNam(varn) .NE. "z_i_wpt" .AND. vNam(varn) .NE. "wmax" .AND.  \
     1174               vNam(varn) .NE. "vmax" .AND. vNam(varn) .NE. "umax" .AND.     \
     1175               vNam(varn) .NE. "ws" .AND. vNam(varn) .NE. "w*" .AND.         \
     1176               vNam(varn) .NE. "us" .AND. vNam(varn) .NE. "u*" .AND.         \
     1177               vNam(varn) .NE. "Es" .AND. vNam(varn) .NE. "E*" .AND.         \
    11391178               vNam(varn) .NE. "E") then
    11401179
     
    12301269   no_frames = 0
    12311270 
    1232    if ((format_out .EQ. "eps" .OR. format_out .EQ. "epsi") .AND. n .gt. no_rows*no_columns) then
     1271   if ((format_out .EQ. "eps" .OR. format_out .EQ. "epsi") .AND. \
     1272        n .gt. no_rows*no_columns) then
    12331273      gsn_panel(wks_ps,plot_ps(1:n),(/n,1/),resP)
    12341274      print(" ")
     
    12411281            no_frames = no_frames + 1           
    12421282         else
    1243             gsn_panel(wks_ps, plot_ps(np:np+no_rows*no_columns-1),(/no_rows,no_columns/),resP)
     1283            gsn_panel(wks_ps, plot_ps(np:np+no_rows*no_columns-1),\
     1284                                                   (/no_rows,no_columns/),resP)
    12441285            no_frames = no_frames + 1
    12451286         end if
  • palm/trunk/SCRIPTS/palmplot

    r549 r566  
    1414    # 01/04/10 - Rieke - bugfix - treatment of special character *
    1515    #                    in NCL variables containing lists corrected
     16    # 23/08/10 - Rieke - bugfix - "" had to be added in if-queries
     17    # 30/09/10 - Rieke - Link to new online documentation of PALM NCL scripts