Changeset 566 for palm/trunk
- Timestamp:
- Sep 30, 2010 1:37:58 PM (14 years ago)
- Location:
- palm/trunk/SCRIPTS
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SCRIPTS/NCL/.ncl.config.default
r534 r566 104 104 end if 105 105 ;*************************************************** 106 ; OPTIONAL --xyc--xzc--yzc-- SELECTION of XY or XZ or YZ CROSS SECTIONS107 ;108 ; desired section has to be set to 1;109 ; e.g.: xyc=1, xzc=0 and yzc=0 for xy-section110 ;111 ; data type: integer112 ;113 ; example: xyc = 1114 ; xzc = 0115 ; yzc = 0116 ;117 ; default: 0118 ;***************************************************119 if(.not. isvar("xyc"))then120 121 xyc = 0122 123 end if124 if (.not. isvar("xzc"))then125 126 xzc = 0127 128 end if129 if (.not. isvar("yzc"))then130 131 yzc = 0132 133 end if134 ;***************************************************135 106 ; OPTIONAL --format_out-- OUTPUT FORMAT 136 107 ; … … 166 137 167 138 file_out = "~/test_cs" 168 169 170 end if171 ;***************************************************172 ; OPTIONAL --no_columns-- NUMBER OF COLUMNS173 ;174 ; number of plots in one row175 ;176 ; data type: integer177 ;178 ; example: no_columns = 1179 ;180 ; default: 1181 ;***************************************************182 if(.not. isvar("no_columns"))then183 184 185 no_columns = 1186 187 188 end if189 ;***************************************************190 ; OPTIONAL --no_rows-- NUMBER OF ROWS191 ;192 ; number of plots in one column193 ;194 ; data type: integer195 ;196 ; example: no_rows = 2197 ;198 ; default: 2199 ;***************************************************200 if(.not. isvar("no_rows"))then201 202 203 no_rows = 2204 205 206 end if207 ;***************************************************208 ; OPTIONAL --sort-- TYPE OF SORTING209 ;210 ; sequence of plots; sorting either by time step [="time"] or211 ; by layer/height [="layer"]212 ;213 ; data type: string214 ;215 ; example: sort = "layer"216 ;217 ; default: "layer"218 ;***************************************************219 if(.not. isvar("sort"))then220 221 222 sort = "layer"223 139 224 140 … … 289 205 ; 290 206 ; value for minimum of x-axis, selectable if there are 291 ; NO preset edlayers207 ; NO preset layers 292 208 ; for x (as for XY or XZ 2D-DATA); 293 209 ; there is no need to specify a precise meter value from the input file, … … 311 227 ; 312 228 ; value for maximum of x-axis, selectable if there are 313 ; NO preset edlayers229 ; NO preset layers 314 230 ; for x (as for XY or XZ 2D-DATA); 315 231 ; there is no need to specify a precise meter value from the input file, … … 333 249 ; 334 250 ; value for minimum of y-axis, selectable if there are 335 ; NO preset edlayers251 ; NO preset layers 336 252 ; for y (as for XY or YZ 2D-DATA); 337 253 ; there is no need to specify a precise meter value from the input file, … … 354 270 ; OPTIONAL --ye-- MAXIMUM Y-AXIS 355 271 ; 356 ; value for maximum of y-axis, selectable if there are NO preset edlayers272 ; value for maximum of y-axis, selectable if there are NO preset layers 357 273 ; for y (as for XY or YZ 2D-DATA); 358 274 ; there is no need to specify a precise meter value from the input file, … … 376 292 ; 377 293 ; index for minimum of z-axis, selectable if there are 378 ; NO preset edlayers294 ; NO preset layers 379 295 ; for z (as for XZ or YZ 2D-DATA); 380 296 ; you cannot specify a meter value from the input file due to … … 398 314 ; 399 315 ; index for maximum of z-axis, selectable if there are 400 ; NO preset edlayers316 ; NO preset layers 401 317 ; for z (as for XZ or YZ 2D-DATA); 402 318 ; you cannot specify a meter value from the input file due to … … 413 329 414 330 ze = -1 331 332 333 end if 334 ;*************************************************** 335 ; OPTIONAL --no_columns-- NUMBER OF COLUMNS 336 ; 337 ; number of plots in one row 338 ; 339 ; data type: integer 340 ; 341 ; example: no_columns = 1 342 ; 343 ; default: 1 344 ;*************************************************** 345 if(.not. isvar("no_columns"))then 346 347 348 no_columns = 1 349 350 351 end if 352 ;*************************************************** 353 ; OPTIONAL --no_rows-- NUMBER OF ROWS 354 ; 355 ; number of plots in one column 356 ; 357 ; data type: integer 358 ; 359 ; example: no_rows = 2 360 ; 361 ; default: 2 362 ;*************************************************** 363 if(.not. isvar("no_rows"))then 364 365 366 no_rows = 2 367 368 369 end if 370 ;*************************************************** 371 ; OPTIONAL --sort-- TYPE OF SORTING 372 ; 373 ; sequence of plots; sorting either by time step [="time"] or 374 ; by layer/height [="layer"] 375 ; 376 ; data type: string 377 ; 378 ; example: sort = "layer" 379 ; 380 ; default: "layer" 381 ;*************************************************** 382 if(.not. isvar("sort"))then 383 384 385 sort = "layer" 415 386 416 387 … … 765 736 end if 766 737 ;*************************************************** 767 ; OPTIONAL/REQUIRED --start_f _1-- if more than one file of a job chain738 ; OPTIONAL/REQUIRED --start_f-- if more than one file of a job chain 768 739 ; START OF CYCLIC NUMBER OF THE 1ST INPUT FILE 769 740 ; … … 779 750 ; default: -1 780 751 ;*************************************************** 781 if (.not. isvar("start_f _1"))then752 if (.not. isvar("start_f"))then 782 753 783 754 784 start_f _1= -1785 786 787 end if 788 ;*************************************************** 789 ; OPTIONAL/REQUIRED --end_f _1-- if more than one file of a job chain755 start_f = -1 756 757 758 end if 759 ;*************************************************** 760 ; OPTIONAL/REQUIRED --end_f-- if more than one file of a job chain 790 761 ; END OF CYCLIC NUMBER OF THE 1ST INPUT FILE 791 762 ; … … 801 772 ; default: -1 802 773 ;*************************************************** 803 if (.not. isvar("end_f _1"))then774 if (.not. isvar("end_f"))then 804 775 805 776 806 end_f _1= -1777 end_f = -1 807 778 808 779 … … 837 808 838 809 file_out = "~/test_pr" 839 840 841 end if842 ;***************************************************843 ; OPTIONAL --no_columns-- NUMBER OF COLUMNS844 ;845 ; number of plots in one row846 ;847 ; data type: integer848 ;849 ; default: 1850 ;***************************************************851 if (.not. isvar("no_columns"))then852 853 854 no_columns = 1855 856 857 end if858 ;***************************************************859 ; OPTIONAL --no_rows-- NUMBER OF ROWS860 ;861 ; number of plots in one column862 ;863 ; data type: integer864 ;865 ; default: 2866 ;***************************************************867 if (.not. isvar("no_rows"))then868 869 870 no_rows = 2871 810 872 811 … … 894 833 end if 895 834 ;*************************************************** 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 ;*************************************************** 896 1246 ; OPTIONAL --legend-- SWITCHES ON A LEGEND 897 1247 ; … … 911 1261 912 1262 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 913 1281 ;*************************************************** 914 1282 ; OPTIONAL ---no_files-- NUMBER OF INPUT FILES … … 1369 1737 end if 1370 1738 ;*************************************************** 1371 ; OPTIONAL --start_time_step-- FIRST TIME STEP1372 ;1373 ; first time step of plot; there is no need to specify a precise1374 ; time value from the input file,1375 ; 'start_time_step' is rounded to the next existent time step1376 ;1377 ; data type: double; dimension: [hour]1378 ;1379 ; example: start_time_step = 0.5d1380 ;1381 ; default: -1.d (first available time step)1382 ;***************************************************1383 if (.not. isvar("start_time_step"))then1384 1385 1386 start_time_step = -1.d1387 1388 1389 end if1390 ;***************************************************1391 ; OPTIONAL --end_time_step-- LAST TIME STEP1392 ;1393 ; last time step of plot; there is no need to specify a precise1394 ; time value from the input file,1395 ; 'end_time_step' is rounded to the next existent time step1396 ;1397 ; data type: double; dimension: [hour]1398 ;1399 ; example: end_time_step = 2.0d1400 ;1401 ; default: -1.d (last available time step)1402 ;***************************************************1403 if (.not. isvar("end_time_step"))then1404 1405 1406 end_time_step = -1.d1407 1408 1409 end if1410 ;***************************************************1411 ; OPTIONAL --time_stride-- TEMPORAL STRIDE1412 ;1413 ; temporal stride for the plots; if time_stride=1 all the profiles1414 ; between first_time_step and end_time_step are plotted1415 ; (including first_time_step and end_time_step),1416 ; if time_stride=3 every third time step between start_time_step and1417 ; end_time_step is plotted1418 ;1419 ; data type: integer1420 ;1421 ; example: time_stride = 31422 ;1423 ; default: 11424 ;***************************************************1425 if (.not. isvar("time_stride"))then1426 1427 1428 time_stride = 11429 1430 1431 end if1432 ;***************************************************1433 ; OPTIONAL --start_x-- STARTVALUE IN X-DIRECTION1434 ;1435 ; if 3D data is used for profiles you can choose a startvalue1436 ; in x-direction for horizontal averaging1437 ;1438 ; data type: integer; dimension [grippoint]1439 ;1440 ; example: start_x = 01441 ;1442 ; default: 0 (minimum of range)1443 ;***************************************************1444 if (.not. isvar("start_x"))then1445 1446 1447 start_x = 01448 1449 1450 end if1451 ;***************************************************1452 ; OPTIONAL --end_x-- ENDVALUE IN X-DIRECTION1453 ;1454 ; if 3D data is used for profiles you can choose an endvalue1455 ; in x-direction for horizontal averaging1456 ;1457 ; data type: integer; dimension [grippoint]1458 ;1459 ; example: end_x = 2001460 ;1461 ; default: -1 (maximum of range excluding ghostpoint)1462 ;***************************************************1463 if (.not. isvar("end_x"))then1464 1465 1466 end_x = -11467 1468 1469 end if1470 ;***************************************************1471 ; OPTIONAL --start_y-- STARTVALUE IN Y-DIRECTION1472 ;1473 ; if 3D data is used for profiles you can choose a startvalue1474 ; in y-direction for horizontal averaging1475 ;1476 ; data type: integer; dimension [grippoint]1477 ;1478 ; example: start_y = 01479 ;1480 ; default: 0 (minimum of range)1481 ;***************************************************1482 if (.not. isvar("start_y"))then1483 1484 1485 start_y = 01486 1487 1488 end if1489 ;***************************************************1490 ; OPTIONAL --end_y-- ENDVALUE IN Y-DIRECTION1491 ;1492 ; if 3D data is used for profiles you can choose an endvalue1493 ; in y-direction for horizontal averaging1494 ;1495 ; data type: integer; dimension [grippoint]1496 ;1497 ; example: end_y = 2001498 ;1499 ; default: -1 (maximum of range excluding ghostpoint)1500 ;***************************************************1501 if (.not. isvar("end_y"))then1502 1503 1504 end_y = -11505 1506 1507 end if1508 ;***************************************************1509 ; OPTIONAL --xs-- MINIMUM X-AXIS1510 ;1511 ; value for minimum of x-axis1512 ;1513 ; data type: float; dimension of variable1514 ;1515 ; example: xs = 300. (e.g. if var=",pt")1516 ;1517 ; default: -1. (minimum of range)1518 ;***************************************************1519 if (.not. isvar("xs"))then1520 1521 1522 xs = -1.1523 1524 1525 end if1526 ;***************************************************1527 ; OPTIONAL --xe-- MAXIMUM X-AXIS1528 ;1529 ; value for maximum of x-axis1530 ;1531 ; data type: float; dimension of variable1532 ;1533 ; example: xe = 302. (e.g. if var=",pt")1534 ;1535 ; default: -1. (maximum of range)1536 ;***************************************************1537 if (.not. isvar("xe"))then1538 1539 1540 xe = -1.1541 1542 1543 end if1544 ;***************************************************1545 ; OPTIONAL --min_z-- MINIMUM Z-AXIS1546 ;1547 ; value for minimum height of z-axis1548 ;1549 ; data type: double; dimension: [meter]1550 ;1551 ; example: min_z = 0.0d1552 ;1553 ; default: -1.d (related to the minimum of z-axis in input file)1554 ;***************************************************1555 if (.not. isvar("min_z"))then1556 1557 1558 min_z = -1.d1559 1560 1561 end if1562 ;***************************************************1563 ; OPTIONAL --max_z-- MAXIMUM Z-AXIS1564 ;1565 ; value for maximum height of z-axis1566 ;1567 ; data type: double; dimension: [meter]1568 ;1569 ; example: max_z = 1000.0d1570 ;1571 ; default: -1.d (related to the maximum of z-axis in input file)1572 ;***************************************************1573 if (.not. isvar("max_z"))then1574 1575 1576 max_z = -1.d1577 1578 1579 end if1580 ;***************************************************1581 ; OPTIONAL --log_z-- LOGARITHMIC SCALE OF Z-AXIS1582 ;1583 ; logarithmic scale for z-axis is switched on [=1] or off [=0]1584 ;1585 ; data type: integer1586 ;1587 ; example: log_z = 01588 ;1589 ; default: 01590 ;***************************************************1591 if (.not. isvar("log_z"))then1592 1593 1594 log_z = 01595 1596 1597 end if1598 ;***************************************************1599 ; OPTIONAL --norm_z-- NORMALISING Z-AXIS1600 ;1601 ; value for normalising the z-axis1602 ;1603 ; data type: float1604 ;1605 ; example: norm_z = 1.1606 ;1607 ; default: 1. (no normalising)1608 ;***************************************************1609 if (.not. isvar("norm_z"))then1610 1611 1612 norm_z = 1.1613 1614 1615 end if1616 ;***************************************************1617 ; OPTIONAL --over-- OVERLAYING1618 ;1619 ; predefined overlaying of standard variables is switched1620 ; on [=1] or off [=0];1621 ; this feature cannot be used with statistic regions1622 ;1623 ; data type: integer1624 ;1625 ; example: over = 01626 ;1627 ; default: 01628 ;***************************************************1629 if (.not. isvar("over"))then1630 1631 1632 over = 01633 1634 1635 end if1636 ;***************************************************1637 ; OPTIONAL --combine-- COMBINING1638 ;1639 ; combining of two or three individual variables is possible and1640 ; switched on [=1] or off[=0]1641 ;1642 ; data type: integer1643 ;1644 ; example: combine = 01645 ;1646 ; default: 01647 ;***************************************************1648 if (.not. isvar("combine"))then1649 1650 1651 combine = 01652 1653 1654 end if1655 ;***************************************************1656 ; REQUIRED IF combine=1 --number_comb-- NUMBER FOR COMBINING1657 ;1658 ; number of variables for combining; 2 or 3 is valid1659 ;1660 ; data type: integer1661 ;1662 ; example: number_comb = 21663 ;1664 ; default: -11665 ;***************************************************1666 if (.not. isvar("number_comb"))then1667 1668 1669 number_comb = -11670 1671 1672 end if1673 ;***************************************************1674 ; REQUIRED IF combine=1 --c_var-- VARIABLES FOR COMBINING1675 ;1676 ; names of variables;1677 ; inidcate them with one comma before and after each variable1678 ; if the name contains double quotes (") use dq and the '+' operation to1679 ; concatenate the strings1680 ;1681 ; data type: string1682 ;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"))then1688 1689 1690 c_var = "c_variables"1691 1692 1693 end if1694 ;***************************************************1695 ; OPTIONAL --black-- BLACK OR COLOR LINES1696 ;1697 ; colored [=0] or black and white [=1] plots1698 ;1699 ; data type: integer1700 ;1701 ; example: black = 01702 ;1703 ; default: 01704 ;***************************************************1705 if (.not. isvar("black"))then1706 1707 1708 black = 01709 1710 1711 end if1712 ;***************************************************1713 ; OPTIONAL --dash-- DASHED LINES1714 ;1715 ; use of different line patterns [=1] or continous lines [=0]1716 ; for different time steps1717 ;1718 ; data type: integer1719 ;1720 ; example: dash = 01721 ;1722 ; default: 01723 ;***************************************************1724 if (.not. isvar("dash"))then1725 1726 1727 dash = 01728 1729 1730 end if1731 ;***************************************************1732 ; OPTIONAL --font_size-- FONT SIZE OF STRINGS1733 ;1734 ; font size can be changed to fit to the current plot1735 ;1736 ; data type: float1737 ;1738 ; example: font_size = 0.021739 ;1740 ; default: 0.021741 ;***************************************************1742 if(.not. isvar("font_size"))then1743 1744 1745 font_size = 0.021746 1747 1748 end if1749 ;***************************************************1750 ; OPTIONAL --font_size_legend-- FONT SIZE OF LEGEND STRINGS1751 ;1752 ; font size of the legend can be changed to fit to the current plot1753 ;1754 ; data type: float1755 ;1756 ; example: font_size_legend = 0.21757 ;1758 ; default: 0.21759 ;***************************************************1760 if(.not. isvar("font_size_legend"))then1761 1762 1763 font_size_legend = 0.21764 1765 1766 end if1767 ;***************************************************1768 1769 1739 end if 1770 1740 … … 1881 1851 1882 1852 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 1920 1854 ;*************************************************** 1921 1855 ; OPTIONAL --var-- OUTPUT VARIABLES … … 1940 1874 end if 1941 1875 ;*************************************************** 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 ;*************************************************** 1942 1916 ; OPTIONAL --height_level-- HEIGHT LEVELS 1943 1917 ; … … 1979 1953 end if 1980 1954 ;*************************************************** 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 2056 1990 ;*************************************************** 2057 1991 ; OPTIONAL --log_x-- LOGARITHMIC SCALE X-AXIS … … 2091 2025 end if 2092 2026 ;*************************************************** 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 ;*************************************************** 2093 2046 ; OPTIONAL --norm_x-- NORMALISING X-AXIS 2094 2047 ; … … 2108 2061 2109 2062 end if 2110 ;***************************************************2111 ; OPTIONAL --norm_height-- NORMALISING X-AXIS WITH HEIGHT2112 ;2113 ; normalising the x-axis with the height of each spectra2114 ; is switched on [=1] or off [=0]2115 ;2116 ; data type: integer2117 ;2118 ; example: norm_height = 02119 ;2120 ; default: 0 (no normalising)2121 ;***************************************************2122 if (.not. isvar("norm_height"))then2123 2124 2125 norm_height = 02126 2127 2128 end if2129 2063 ;*************************************************** 2130 2064 ; OPTIONAL --norm_y-- NORMALISE Y-AXIS … … 2165 2099 2166 2100 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 2167 2137 2168 2138 end if … … 2319 2289 2320 2290 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 ;*************************************************** 2359 2293 ; OPTIONAL --var-- OUTPUT VARIABLES 2360 2294 ; … … 2416 2350 2417 2351 2418 end if 2352 end if 2419 2353 ;*************************************************** 2420 2354 ; OPTIONAL --over-- OVERLAYING … … 2438 2372 end if 2439 2373 ;*************************************************** 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 ;*************************************************** 2440 2448 ; OPTIONAL --font_size-- FONT SIZE OF STRINGS 2441 2449 ; … … 2455 2463 2456 2464 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: float2465 ;2466 ; example: norm_t = 3600.2467 ;2468 ; default: 1.2469 ;***************************************************2470 if(.not. isvar("norm_t"))then2471 2472 2473 norm_t = 1.2474 2475 2476 end if2477 ;***************************************************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: string2483 ;2484 ; example: unit_t = "h"2485 ;2486 ; default: " "2487 ;***************************************************2488 if(.not. isvar("unit_t"))then2489 2490 2491 unit_t = " "2492 2493 2494 end if2495 2465 ;*************************************************** 2496 2466 -
palm/trunk/SCRIPTS/NCL/cross_sections.ncl
r534 r566 26 26 print("Neither the personal configuration file '.ncl.config' exists in") 27 27 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") 29 30 print(palm_bin_path + "/NCL") 30 31 print(" ") … … 49 50 50 51 ; *************************************************** 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 52 54 ; *************************************************** 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 53 66 54 67 if (file_1 .EQ. "File in") then … … 61 74 end if 62 75 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 64 80 print(" ") 65 81 print("'format_out = "+format_out+"' is invalid and set to'x11'") … … 91 107 end if 92 108 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 94 111 print(" ") 95 112 print("'fill_mode'= "+fill_mode+" is invalid and set to 'AreaFill'") … … 196 213 if (start_f .EQ. -1)then 197 214 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)") 199 217 print(" ") 200 218 exit … … 202 220 if (end_f .EQ. -1)then 203 221 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)") 205 224 print(" ") 206 225 exit … … 349 368 vecres = True 350 369 cs_res@gsnYAxisIrregular2Linear = True 370 vecres@gsnYAxisIrregular2Linear = True 351 371 352 372 cs_res@gsnDraw = False 353 373 cs_res@gsnFrame = False 354 374 cs_res@gsnMaximize = True 355 375 356 376 cs_res@tmXBLabelFontHeightF = font_size … … 404 424 if (start_time_step .GT. t_all(nt-1)/3600) 405 425 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") 407 428 print(" ") 408 429 print("Select another 'start_time_step'") … … 412 433 if (start_time_step .LT. t_all(0)/3600) 413 434 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") 415 437 print(" ") 416 438 print("Select another 'start_time_step'") … … 420 442 end if 421 443 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 423 446 st=i 424 447 break … … 444 467 if (end_time_step .LT. t_all(0)/3600) 445 468 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") 447 471 print(" ") 448 472 print("Select another 'end_time_step'") … … 452 476 if (end_time_step .GT. t_all(nt-1)/3600) 453 477 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") 455 480 print(" ") 456 481 print("Select another 'end_time_step'") … … 460 485 if (end_time_step .LT. start_time_step/3600) 461 486 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") 463 489 print(" ") 464 490 print("Select another 'start_time_step' or 'end_time_step'") … … 468 494 end if 469 495 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 471 498 et=i 472 499 break … … 489 516 490 517 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) 493 522 print(" ") 494 523 … … 502 531 if (vec1 .EQ. "component1") then 503 532 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") 505 535 print(" ") 506 536 exit … … 508 538 if (vec2 .EQ. "component2") then 509 539 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") 511 542 print(" ") 512 543 exit … … 571 602 end do 572 603 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 574 606 z_d = f_att->$vNam(varn)$ 575 607 zdim = dimsizes(z_d)-1 … … 607 639 end do 608 640 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 610 643 z_d = f_att->$vNam(varn)$ 611 644 zdim = dimsizes(z_d)-1 … … 642 675 if (delta_x .EQ. -1) then 643 676 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") 645 679 print(" ") 646 680 xstart=0 … … 649 683 if (delta_x .EQ. -1) then 650 684 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") 652 687 print(" ") 653 688 xstart=0 … … 655 690 if (xs .LT. 0-delta_x/2) then 656 691 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") 658 694 print(" ") 659 695 exit … … 662 698 if (xs .GE. xdim*delta_x) then 663 699 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") 665 703 print(" ") 666 704 exit … … 669 707 if (xs .GT. xdim*delta_x) then 670 708 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") 672 712 print(" ") 673 713 exit … … 681 721 if (delta_y .EQ. -1) then 682 722 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") 684 725 print(" ") 685 726 ystart=0 … … 688 729 if (delta_y .EQ. -1) then 689 730 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") 691 733 print(" ") 692 734 ystart=0 … … 694 736 if (ys .LT. 0-delta_y/2) then 695 737 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") 697 740 print(" ") 698 741 exit … … 701 744 if (ys .GE. ydim*delta_y) then 702 745 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") 704 749 print(" ") 705 750 exit … … 708 753 if (ys .GT. ydim*delta_y) then 709 754 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") 711 757 print(" ") 712 758 exit … … 720 766 if (delta_z .EQ. -1) then 721 767 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") 723 770 print(" ") 724 771 end if … … 726 773 if (delta_z .EQ. -1) then 727 774 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") 729 777 print(" ") 730 778 zs = 0 … … 732 780 if (zs .LT. 0) then 733 781 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") 735 784 print(" ") 736 785 exit … … 739 788 if (zs .GE. zdim) then 740 789 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) 742 792 print(" ") 743 793 exit … … 746 796 if (zs .GT. zdim) then 747 797 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) 749 800 print(" ") 750 801 exit … … 758 809 if (delta_x .EQ. -1) then 759 810 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") 761 813 print(" ") 762 814 xend=xdim … … 765 817 if (delta_x .EQ. -1) then 766 818 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") 768 821 print(" ") 769 822 xend=xdim … … 771 824 if (xe .GT. xdim*delta_x) then 772 825 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") 774 828 print(" ") 775 829 exit … … 778 832 if (xe .LE. 0-delta_x/2) 779 833 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") 781 837 print(" ") 782 838 exit … … 784 840 if (xe .LE. xs) then 785 841 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") 787 844 print(" ") 788 845 exit … … 790 847 if (xe .EQ. xs+1) then 791 848 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") 793 852 print(" ") 794 853 exit … … 797 856 if (xe .LT. 0-delta_x/2) 798 857 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") 800 860 print(" ") 801 861 exit … … 803 863 if (xe .LT. xs) then 804 864 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") 806 867 print(" ") 807 868 exit … … 815 876 if (delta_y .EQ. -1) then 816 877 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") 818 880 print(" ") 819 881 yend=ydim … … 822 884 if (delta_y .EQ. -1) then 823 885 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") 825 888 print(" ") 826 889 yend=ydim … … 828 891 if (ye .GT. ydim*delta_y) then 829 892 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") 831 895 print(" ") 832 896 exit … … 835 899 if (ye .LE. 0-delta_y/2) 836 900 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") 838 904 print(" ") 839 905 exit … … 841 907 if (ye .LE. ys) then 842 908 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") 844 911 print(" ") 845 912 exit … … 847 914 if (ye .EQ. ys+1) then 848 915 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") 850 919 print(" ") 851 920 exit … … 854 923 if (ye .LT. 0-delta_y/2) 855 924 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") 857 927 print(" ") 858 928 exit … … 860 930 if (ye .LT. ys) then 861 931 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") 863 934 print(" ") 864 935 exit … … 872 943 if (delta_z .EQ. -1) then 873 944 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") 875 947 print(" ") 876 948 ze = zdim … … 879 951 if (delta_z .EQ. -1) then 880 952 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") 882 955 print(" ") 883 956 ze = zdim … … 885 958 if (ze .GT. zdim) then 886 959 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) 888 962 print(" ") 889 963 exit … … 892 966 if (ze .LE. 0) 893 967 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") 895 970 print(" ") 896 971 exit … … 898 973 if (ze .LE. zs) then 899 974 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) 901 977 print(" ") 902 978 exit … … 904 980 if (ze .EQ. zs+1) then 905 981 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) 907 985 print(" ") 908 986 exit … … 911 989 if (ze .LT. 0) 912 990 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") 914 993 print(" ") 915 994 exit … … 917 996 if (ze .LT. zs) then 918 997 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) 920 1000 print(" ") 921 1001 exit … … 1066 1146 if (ar .GT. 0) 1067 1147 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) 1069 1150 end do 1070 1151 end if … … 1075 1156 if (br .GT. 0) 1076 1157 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) 1078 1160 end do 1079 1161 end if … … 1099 1181 if (ar .GT. 0) 1100 1182 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) 1102 1185 end do 1103 1186 end if … … 1108 1191 if (br .GT. 0) 1109 1192 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) 1111 1195 end do 1112 1196 end if … … 1132 1216 if (ar .GT. 0) 1133 1217 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) 1135 1220 end do 1136 1221 end if … … 1141 1226 if (br .GT. 0) 1142 1227 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) 1144 1230 end do 1145 1231 end if … … 1229 1315 if (xe .EQ. xs+1) then 1230 1316 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)") 1233 1321 print(" ") 1234 1322 exit … … 1238 1326 if (ye .EQ. ys+1) then 1239 1327 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)") 1242 1332 print(" ") 1243 1333 exit … … 1247 1337 if (ze .EQ. zs+1) then 1248 1338 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") 1250 1340 print("more gridpoints greater than start range="+zs+")") 1251 1341 print(" ") … … 1307 1397 no_zu1=0 1308 1398 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 1310 1421 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 1315 1435 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 1317 1447 check = False 1318 1448 else … … 1327 1457 1328 1458 no_var=no_var+1 1329 1330 if (vector .EQ. 1) then1331 if (","+vNam(varn)+"," .EQ. vec1) then1332 v1=v1+11333 end if1334 if (","+vNam(varn)+"," .EQ. vec2) then1335 v2=v2+11336 end if1337 end if1338 1459 1339 1460 if (xyc .EQ. 1) then … … 1348 1469 .or. vNam(varn) .eq. "shf*_xy" .or. vNam(varn) .eq. "t*_xy" \ 1349 1470 .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 1351 1473 data(varn,:,0,:,:)=temp(:,0,ys:ye,xs:xe) 1352 1474 no_zu1=no_zu1+1 … … 1368 1490 delete(temp) 1369 1491 end if 1370 if (check_vec1) then1371 vect1=data(varn,:,:,:,:)1372 end if1373 if (check_vec2) then1374 vect2=data(varn,:,:,:,:)1375 end if1376 1492 1377 1493 data!0 = "var" … … 1381 1497 data!4 = "x" 1382 1498 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))) 1385 1503 1386 1504 unit(varn) = data_att@units … … 1405 1523 do varn=dim-1,0,1 1406 1524 1407 if (vector .EQ. 1) then1408 check_vec1 = isStrSubset( vec1,","+vNam(varn)+",")1409 check_vec2 = isStrSubset( vec2,","+vNam(varn)+",")1410 end if1525 ;if (vector .EQ. 1) then 1526 ; check_vec1 = isStrSubset( vec1,","+vNam(varn)+",") 1527 ; check_vec2 = isStrSubset( vec2,","+vNam(varn)+",") 1528 ;end if 1411 1529 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 1413 1541 check = False 1414 1542 else … … 1442 1570 if (v1 .EQ. 0)then 1443 1571 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:") 1445 1574 print("- "+var_input) 1446 1575 print("be sure to have one comma before and after the variable") … … 1451 1580 if (v2 .EQ. 0)then 1452 1581 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:") 1454 1584 print("- "+var_input) 1455 1585 print("be sure to have one comma before and after the variable") … … 1478 1608 + no_time*no_layer/),graphic) 1479 1609 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) 1481 1612 end if 1482 1613 dim_plot=dimsizes(plot) … … 1546 1677 vecres@vcGlyphStyle = "CurlyVector" ; curly vectors 1547 1678 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 1549 1681 vecres@gsnRightString = "Vector plot of "+vec1+" and "+vec2 1550 1682 vecres@tmXBLabelFontHeightF = font_size … … 1553 1685 vecres@tiYAxisFontHeightF = font_size 1554 1686 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 1556 1689 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 1558 1692 end if 1559 1693 if (xyc .EQ. 1) then 1560 1694 vecres@tiXAxisString = "x (m)" 1561 1695 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) 1564 1699 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) 1566 1702 end if 1567 1703 end if … … 1570 1706 vecres@tiYAxisString = "z (m)" 1571 1707 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) 1573 1710 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) 1575 1713 end if 1576 1714 end if … … 1579 1717 vecres@tiYAxisString = "z (m)" 1580 1718 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) 1582 1721 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) 1584 1724 end if 1585 1725 end if … … 1592 1732 1593 1733 if (vector .EQ. 1 ) then 1594 check_vecp = isStrSubset( plotvec,","+vNam(varn)+",") 1734 check_vecp = isStrSubset( plotvec,","+vNam(varn)+",") 1595 1735 end if 1596 1736 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 1598 1748 check = False 1599 1749 else … … 1642 1792 end if 1643 1793 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 1652 1810 loe = 0 1653 1811 level = "=" + zu1(0) + "m" 1654 1812 end if 1655 1813 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) 1658 1818 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) 1669 1837 overlay(plot(n), plot_vec) 1670 1838 end if … … 1682 1850 end if 1683 1851 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 1692 1868 lie = 0 1693 1869 level = "=" + zu1(0) + "m" 1694 1870 end if 1695 1871 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 1697 1874 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) 1699 1877 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) 1710 1897 overlay(plot(n), plot_vec) 1711 1898 end if … … 1727 1914 level = "=" + y_d(lo) + "m" 1728 1915 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) 1731 1920 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) 1742 1940 overlay(plot(n), plot_vec) 1743 1941 end if … … 1750 1948 level = "=" + y_d(li) + "m" 1751 1949 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) 1754 1954 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) 1765 1974 overlay(plot(n), plot_vec) 1766 1975 end if … … 1782 1991 level = "=" + x_d(lo) + "m" 1783 1992 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) 1786 1997 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) 1797 2017 overlay(plot(n), plot_vec) 1798 2018 end if … … 1805 2025 level = "=" + x_d(li) + "m" 1806 2026 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) 1809 2031 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) 1820 2051 overlay(plot(n), plot_vec) 1821 2052 end if … … 1835 2066 1836 2067 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) 1839 2072 print(" ") 1840 2073 print("Outputs to .eps or .epsi have only one frame") … … 1843 2076 do np = 0,dim_plot-1,no_rows*no_columns 1844 2077 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) 1846 2080 no_frames = no_frames + 1 1847 2081 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) 1849 2084 no_frames = no_frames + 1 1850 2085 end if … … 1852 2087 end if 1853 2088 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 1855 2091 gsn_panel(wks_ps,plot(0:dim_plot-1),(/dim_plot,1/),cs_resP) 1856 2092 print(" ") … … 1860 2096 do np = 0,dim_plot-1,no_rows*no_columns 1861 2097 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) 1863 2100 no_frames = no_frames + 1 1864 2101 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) 1866 2104 no_frames = no_frames + 1 1867 2105 end if -
palm/trunk/SCRIPTS/NCL/profiles.ncl
r534 r566 24 24 print("Neither the personal configuration file '.ncl.config' exists in") 25 25 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") 27 28 print(palm_bin_path + "/NCL") 28 29 print(" ") … … 60 61 file_in = new(no_files,string) 61 62 file_in_1 = new(no_files,logical) 62 start_f 63 end_f 63 start_f_t = new(no_files,integer) 64 end_f_t = new(no_files,integer) 64 65 65 66 if (file_1 .EQ. "File in") then … … 73 74 file_in_1(0) = False 74 75 if (isStrSubset(file_in(0), ".nc"))then 75 start_f _1= -276 end_f _1= -276 start_f = -2 77 end_f = -2 77 78 file_in_1(0) = True 78 79 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)") 82 84 print(" ") 83 85 exit 84 86 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)") 88 91 print(" ") 89 92 exit 90 93 end if 91 start_f (0) = start_f_192 end_f (0) = end_f_194 start_f_t(0) = start_f 95 end_f_t(0) = end_f 93 96 94 97 if (no_files .GT. 1) then … … 109 112 if (start_f_2 .EQ. -1)then 110 113 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)") 112 116 print(" ") 113 117 exit … … 115 119 if (end_f_2 .EQ. -1)then 116 120 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)") 118 123 print(" ") 119 124 exit … … 140 145 if (start_f_3 .EQ. -1)then 141 146 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)") 143 149 print(" ") 144 150 exit … … 146 152 if (end_f_3 .EQ. -1)then 147 153 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)") 149 156 print(" ") 150 157 exit … … 171 178 if (start_f_4 .EQ. -1)then 172 179 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)") 174 182 print(" ") 175 183 exit … … 177 185 if (end_f_4 .EQ. -1)then 178 186 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)") 180 189 print(" ") 181 190 exit … … 202 211 if (start_f_5 .EQ. -1)then 203 212 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)") 205 215 print(" ") 206 216 exit … … 208 218 if (end_f_5 .EQ. -1)then 209 219 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)") 211 222 print(" ") 212 223 exit … … 233 244 if (start_f_6 .EQ. -1)then 234 245 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)") 236 248 print(" ") 237 249 exit … … 239 251 if (end_f_6 .EQ. -1)then 240 252 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)") 242 255 print(" ") 243 256 exit … … 248 261 249 262 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 251 267 print(" ") 252 268 print("'format_out = "+format_out+"' is invalid and set to'x11'") … … 273 289 over = 0 274 290 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") 276 293 print(" ") 277 294 end if … … 286 303 combine = 0 287 304 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") 289 307 print(" ") 290 308 end if … … 336 354 do nof=0,no_files-1 337 355 338 files=new(end_f (nof)-start_f(nof)+1,string)356 files=new(end_f_t(nof)-start_f_t(nof)+1,string) 339 357 if (file_in_1(nof))then 340 358 if (isfilepresent(file_in(nof)))then … … 347 365 end if 348 366 else 349 if (start_f (nof) .EQ. 0)then367 if (start_f_t(nof) .EQ. 0)then 350 368 if (isfilepresent(file_in(nof)+".nc"))then 351 369 files(0)=file_in(nof)+".nc" 352 do i=1,end_f (nof)370 do i=1,end_f_t(nof) 353 371 if (isfilepresent(file_in(nof)+"."+i+".nc"))then 354 372 files(i)=file_in(nof)+"."+i+".nc" 355 373 else 356 374 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") 358 377 print(" ") 359 378 exit … … 367 386 end if 368 387 else 369 do i=start_f (nof),end_f(nof)388 do i=start_f_t(nof),end_f_t(nof) 370 389 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" 372 391 else 373 392 print(" ") … … 392 411 if (dim0 .NE. dim)then 393 412 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") 395 415 print(" ") 396 416 exit … … 399 419 if (vNam0(i) .NE. vNam(i))then 400 420 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") 402 423 print(" ") 403 424 exit … … 423 444 prof3d = 0 424 445 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 426 448 prof3d = 1 427 449 break … … 475 497 476 498 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)) 478 501 end do 479 502 … … 548 571 end if 549 572 550 ;--------- --------------------------------------------below steps only for first file -> nof=0573 ;---------below steps only for first file -> nof=0 551 574 if (nof .EQ. 0) then 552 575 … … 564 587 565 588 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 567 591 continue 568 592 end if … … 616 640 break 617 641 else 618 if(vNam(varn) .EQ. "es" .OR. isStrSubset(vNam(varn), "es_")\619 642 if(vNam(varn) .EQ. "es" .OR. \ 643 isStrSubset(vNam(varn), "es_") .OR. vNam(varn) .EQ. "e*" .OR. isStrSubset(vNam(varn), "e*_"))then 620 644 z_u = f_att->$vNam(varn+1)$ 621 645 break … … 881 905 co=0 882 906 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 884 909 check = False 885 910 else … … 983 1008 if (start_time_step .GT. t_all(nt-1)/3600)then 984 1009 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") 986 1013 print(" ") 987 1014 print("Select another 'start_time_step'") … … 991 1018 if (start_time_step .LT. t_all(0)/3600)then 992 1019 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") 994 1022 print(" ") 995 1023 exit … … 998 1026 999 1027 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 1001 1030 st=i 1002 1031 break … … 1021 1050 if (end_time_step .GT. t_all(nt-1)/3600)then 1022 1051 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") 1024 1055 print(" ") 1025 1056 print("Select another 'end_time_step'") … … 1029 1060 if (end_time_step .LT. start_time_step/3600)then 1030 1061 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") 1032 1064 print(" ") 1033 1065 print("Select another 'start_time_step' or 'end_time_step'") … … 1038 1070 1039 1071 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 1041 1074 et=i 1042 1075 break … … 1072 1105 if (time_stride .GE. no_time) then 1073 1106 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,") 1075 1109 print("=> 'time_stride' is set to 1") 1076 1110 time_stride = 1 1077 1111 end if 1078 1112 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 1080 1116 np = dimsizes(ti_in) 1081 1117 1082 1118 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) 1085 1123 print(" with temporal stride = "+time_stride) 1086 1124 print(" ") … … 1091 1129 ; **************************************************** 1092 1130 1093 legend_label=new(np, double)1131 legend_label=new(np,string) 1094 1132 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) 1096 1134 end do 1097 1098 1135 1099 1136 ; *************************************************** … … 1150 1187 res@xyMonoDashPattern = True 1151 1188 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") 1153 1191 print(" ") 1154 1192 end if … … 1202 1240 if (min_z .GE. max(z_w) ) then 1203 1241 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)+")") 1205 1244 print(" ") 1206 1245 exit … … 1209 1248 if (min_z .GE. max(z_u) ) then 1210 1249 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)+")") 1212 1252 print(" ") 1213 1253 exit … … 1217 1257 if (min_z .LT. z_u(1) ) then 1218 1258 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") 1220 1261 print(" ") 1221 1262 exit … … 1224 1265 if (min_z .LT. z_w(1) ) then 1225 1266 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") 1227 1269 print(" ") 1228 1270 exit … … 1244 1286 if (min_z .GE. max(z_w) ) then 1245 1287 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)+")") 1247 1290 print(" ") 1248 1291 exit … … 1254 1297 if (min_z .GE. max(z_u) ) then 1255 1298 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)+")") 1257 1301 print(" ") 1258 1302 exit … … 1274 1318 if (max_z .GT. max(z_w) ) then 1275 1319 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)+")") 1277 1322 print(" ") 1278 1323 exit … … 1359 1404 1360 1405 end if 1361 ;------- -----------------------------------------------above steps only for first file1406 ;-------above steps only for first file 1362 1407 1363 1408 ; *************************************************** … … 1535 1580 if (start_x .GT. dimx-1)then 1536 1581 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)") 1538 1584 print(" ") 1539 1585 start_x=dimx-2 … … 1546 1592 if (end_x .GT. dimx-1)then 1547 1593 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)") 1549 1596 print(" ") 1550 1597 end_x=dimx-2 … … 1552 1599 if (end_x .LT. start_x)then 1553 1600 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)") 1555 1603 print(" ") 1556 1604 end_x=dimx-2 … … 1564 1612 if (start_y .GT. dimy-1)then 1565 1613 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)") 1567 1616 print(" ") 1568 1617 start_x=dimy-2 … … 1575 1624 if (end_y .GT. dimy-1)then 1576 1625 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)") 1578 1628 print(" ") 1579 1629 end_x=dimy-2 … … 1581 1631 if (end_y .LT. start_y)then 1582 1632 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)") 1584 1635 print(" ") 1585 1636 end_y=dimy-2 … … 1603 1654 1604 1655 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 1606 1658 check = False 1607 1659 end if 1608 1660 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 1610 1670 check = False 1611 1671 end if … … 1637 1697 temp = f[:]->$vNam(varn)$ 1638 1698 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)) 1641 1703 end do 1642 1704 end do … … 1646 1708 temp = f[:]->$vNam(varn)$ 1647 1709 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) 1649 1712 data(varn,j,i) = dim_avg_Wrap(dim_avg_Wrap(data_temp)) 1650 1713 end do … … 1658 1721 if (n_o .GT. number_comb-1) then 1659 1722 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+")") 1661 1725 print(" ") 1662 1726 exit … … 1666 1730 max_value = abs(0.01*max(data(varn,:,:))) 1667 1731 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 1669 1734 min_value = abs(0.1*max(data(varn,:,:))) 1670 1735 max_value = abs(0.1*max(data(varn,:,:))) 1671 1736 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 1673 1739 min_value = abs(0.1*min(data(varn,:,:))) 1674 1740 max_value = abs(0.1*min(data(varn,:,:))) … … 1679 1745 end if 1680 1746 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 1682 1749 min_value = 0.1 1683 1750 max_value = 0.1 … … 1782 1849 if(max_z_int .eq. min_z_int) 1783 1850 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") 1785 1853 print("at least two layers for the z-axis to plot") 1786 1854 print(" ") … … 1843 1911 res@trYMaxF = max_z 1844 1912 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 1846 1915 else 1847 1916 res@trXMinF = xs 1848 1917 end if 1849 1918 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 1851 1921 else 1852 1922 res@trXMaxF = xe … … 2301 2371 end if 2302 2372 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 2304 2375 miniwpptp=min(data(varn,:,min_z_int:max_z_int))-min_value 2305 2376 maxiwpptp=max(data(varn,:,min_z_int:max_z_int))+max_value … … 2418 2489 end if 2419 2490 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 2421 2493 miniwpvptp=min(data(varn,:,min_z_int:max_z_int))-min_value 2422 2494 maxiwpvptp=max(data(varn,:,min_z_int:max_z_int))+max_value … … 2558 2630 end if 2559 2631 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 2561 2634 miniwpqvp=min(data(varn,:,min_z_int:max_z_int))-min_value 2562 2635 maxiwpqvp=max(data(varn,:,min_z_int:max_z_int))+max_value … … 2698 2771 end if 2699 2772 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 2701 2775 miniwpsap=min(data(varn,:,min_z_int:max_z_int))-min_value 2702 2776 maxiwpsap=max(data(varn,:,min_z_int:max_z_int))+max_value … … 2838 2912 end if 2839 2913 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 2841 2916 miniwsususodz=min(data(varn,:,min_z_int:max_z_int))-min_value 2842 2917 maxiwsususodz=max(data(varn,:,min_z_int:max_z_int))+max_value … … 2884 2959 end if 2885 2960 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 2887 2963 miniwpeodz=min(data(varn,:,min_z_int:max_z_int))-min_value 2888 2964 maxiwpeodz=max(data(varn,:,min_z_int:max_z_int))+max_value … … 2935 3011 if (isStrSubset(data@long_name," SR " ) .and. over_remind) then 2936 3012 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;") 2938 3015 print("'over' is set to 0" ) 2939 3016 print(" ") … … 2992 3069 lgres@vpHeightF = 0.03*no_files 2993 3070 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) 2995 3073 2996 3074 amres = True … … 3073 3151 3074 3152 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 3076 3155 check = False 3077 3156 end if 3078 3157 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 3080 3167 check = False 3081 3168 end if … … 3162 3249 plot(n) = gsn_csm_xy(wks,data(varn,:,:),z,res) 3163 3250 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 3165 3253 if (u .EQ. 0) then 3166 3254 res@gsnLeftString = "u, v and w" … … 3186 3274 3187 3275 ; *************************************************** 3188 ; legend for combined plot3276 ; legend for overlaid plot 3189 3277 ; *************************************************** 3190 3278 … … 3193 3281 lgres@lgLabelFont = "helvetica" 3194 3282 lgres@lgLabelFontHeightF = font_size_legend 3195 lgres@vpWidthF = 0.0 63283 lgres@vpWidthF = 0.07 3196 3284 lgres@vpHeightF = 0.12 3197 3285 lgres@lgDashIndexes = (/0,1,2/) … … 3199 3287 3200 3288 amres = True 3201 amres@amParallelPosF = 0. 653202 amres@amOrthogonalPosF = -0.23203 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) 3204 3292 overlay(plot(n),plot_u) 3205 3293 u=1 … … 3212 3300 end if 3213 3301 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 3215 3304 if (pt .EQ. 0) then 3216 3305 res@gsnLeftString = "pt, vpt and lpt" … … 3236 3325 3237 3326 ; *************************************************** 3238 ; legend for combined plot3327 ; legend for overlaid plot 3239 3328 ; *************************************************** 3240 3329 … … 3246 3335 lgres@vpHeightF = 0.12 3247 3336 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) 3250 3338 amres = True 3251 amres@amParallelPosF = 0. 653252 amres@amOrthogonalPosF = -0.23253 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) 3254 3342 overlay(plot(n),plot_pt) 3255 3343 pt=1 … … 3261 3349 end if 3262 3350 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 3264 3353 if (q .EQ. 0) then 3265 3354 res@gsnLeftString = "q, qv and ql" … … 3285 3374 3286 3375 ; *************************************************** 3287 ; legend for combined plot3376 ; legend for overlaid plot 3288 3377 ; *************************************************** 3289 3378 … … 3292 3381 lgres@lgLabelFont = "helvetica" 3293 3382 lgres@lgLabelFontHeightF = font_size_legend 3294 lgres@vpWidthF = 0.0 63383 lgres@vpWidthF = 0.07 3295 3384 lgres@vpHeightF = 0.12 3296 3385 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) 3298 3387 3299 3388 amres = True 3300 amres@amParallelPosF = 0. 653301 amres@amOrthogonalPosF = -0.23302 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) 3303 3392 overlay(plot(n),plot_q) 3304 3393 q=1 … … 3311 3400 end if 3312 3401 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 3314 3404 if (e .EQ. 0) then 3315 3405 res@gsnLeftString = "e and e*" … … 3332 3422 3333 3423 ; *************************************************** 3334 ; legend for combined plot3424 ; legend for overlaid plot 3335 3425 ; *************************************************** 3336 3426 … … 3339 3429 lgres@lgLabelFont = "helvetica" 3340 3430 lgres@lgLabelFontHeightF = font_size_legend 3341 lgres@vpWidthF = 0.0 63431 lgres@vpWidthF = 0.07 3342 3432 lgres@vpHeightF = 0.08 3343 3433 lgres@lgDashIndexes = (/0,1,2/) … … 3345 3435 3346 3436 amres = True 3347 amres@amParallelPosF = 0. 653348 amres@amOrthogonalPosF = -0.23349 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) 3350 3440 overlay(plot(n),plot_e) 3351 3441 e=1 … … 3378 3468 3379 3469 ; *************************************************** 3380 ; legend for combined plot3470 ; legend for overlaid plot 3381 3471 ; *************************************************** 3382 3472 … … 3385 3475 lgres@lgLabelFont = "helvetica" 3386 3476 lgres@lgLabelFontHeightF = font_size_legend 3387 lgres@vpWidthF = 0.0 63477 lgres@vpWidthF = 0.07 3388 3478 lgres@vpHeightF = 0.08 3389 3479 lgres@lgDashIndexes = (/0,1,2/) … … 3391 3481 3392 3482 amres = True 3393 amres@amParallelPosF = 0. 653394 amres@amOrthogonalPosF = -0.23395 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) 3396 3486 overlay(plot(n),plot_km) 3397 3487 km=1 … … 3404 3494 end if 3405 3495 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 3408 3499 if (wpup .EQ. 0) then 3409 3500 res@gsnLeftString = "w"+dq+"u"+dq+", w*u* and wu" … … 3429 3520 3430 3521 ; *************************************************** 3431 ; legend for combined plot3522 ; legend for overlaid plot 3432 3523 ; *************************************************** 3433 3524 … … 3439 3530 lgres@vpHeightF = 0.12 3440 3531 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) 3442 3534 3443 3535 amres = True 3444 amres@amParallelPosF = 0. 653445 amres@amOrthogonalPosF = -0.23446 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) 3447 3539 overlay(plot(n),plot_wpup) 3448 3540 wpup=1 … … 3454 3546 end if 3455 3547 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 3458 3551 if (wpvp .EQ. 0) then 3459 3552 res@gsnLeftString = "w"+dq+"v"+dq+", w*v* and wv" … … 3479 3572 3480 3573 ; *************************************************** 3481 ; legend for combined plot3574 ; legend for overlaid plot 3482 3575 ; *************************************************** 3483 3576 … … 3489 3582 lgres@vpHeightF = 0.12 3490 3583 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) 3492 3586 3493 3587 amres = True 3494 amres@amParallelPosF = 0. 653495 amres@amOrthogonalPosF = -0.23496 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) 3497 3591 overlay(plot(n),plot_wpvp) 3498 3592 wpvp=1 … … 3504 3598 end if 3505 3599 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 3508 3603 if (wpptp .EQ. 0) then 3509 3604 res@gsnLeftString = "w"+dq+"pt"+dq+", w*pt* and wpt" … … 3529 3624 3530 3625 ; *************************************************** 3531 ; legend for combined plot3626 ; legend for overlaid plot 3532 3627 ; *************************************************** 3533 3628 … … 3539 3634 lgres@vpHeightF = 0.12 3540 3635 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) 3542 3638 3543 3639 amres = True 3544 amres@amParallelPosF = 0. 653545 amres@amOrthogonalPosF = -0.23546 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) 3547 3643 overlay(plot(n),plot_wpptp) 3548 3644 wpptp=1 … … 3554 3650 end if 3555 3651 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 3557 3654 if (wsptsBC .EQ. 0) then 3558 3655 res@gsnLeftString = "w*pt*BC and wptBC" … … 3575 3672 3576 3673 ; *************************************************** 3577 ; legend for combined plot3674 ; legend for overlaid plot 3578 3675 ; *************************************************** 3579 3676 … … 3585 3682 lgres@vpHeightF = 0.12 3586 3683 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) 3588 3686 3589 3687 amres = True 3590 amres@amParallelPosF = 0. 653591 amres@amOrthogonalPosF = -0.23592 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) 3593 3691 overlay(plot(n),plot_wsptsBC) 3594 3692 wsptsBC=1 … … 3600 3698 end if 3601 3699 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 3604 3703 if (wpvptp .EQ. 0) then 3605 3704 res@gsnLeftString = "w"+dq+"vpt"+dq+", w*vpt* and wvpt" … … 3625 3724 3626 3725 ; *************************************************** 3627 ; legend for combined plot3726 ; legend for overlaid plot 3628 3727 ; *************************************************** 3629 3728 … … 3635 3734 lgres@vpHeightF = 0.12 3636 3735 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) 3639 3738 amres = True 3640 amres@amParallelPosF = 0. 653641 amres@amOrthogonalPosF = -0.23642 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) 3643 3742 overlay(plot(n),plot_wpvptp) 3644 3743 wpvptp=1 … … 3650 3749 end if 3651 3750 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 3654 3754 if (wpqp .EQ. 0) then 3655 3755 res@gsnLeftString = "w"+dq+"q"+dq+", w*q* and wq" … … 3675 3775 3676 3776 ; *************************************************** 3677 ; legend for combined plot3777 ; legend for overlaid plot 3678 3778 ; *************************************************** 3679 3779 … … 3685 3785 lgres@vpHeightF = 0.12 3686 3786 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) 3688 3789 3689 3790 amres = True 3690 amres@amParallelPosF = 0. 653691 amres@amOrthogonalPosF = -0.23692 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) 3693 3794 overlay(plot(n),plot_wpqp) 3694 3795 wpqp=1 … … 3700 3801 end if 3701 3802 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 3704 3806 if (wpqvp .EQ. 0) then 3705 3807 res@gsnLeftString ="w"+dq+"qv"+dq+" , w*qv* and wqv" … … 3725 3827 3726 3828 ; *************************************************** 3727 ; legend for combined plot3829 ; legend for overlaid plot 3728 3830 ; *************************************************** 3729 3831 … … 3735 3837 lgres@vpHeightF = 0.12 3736 3838 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) 3738 3841 3739 3842 amres = True 3740 amres@amParallelPosF = 0. 653741 amres@amOrthogonalPosF = -0.23742 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) 3743 3846 overlay(plot(n),plot_wpqvp) 3744 3847 wpqvp=1 … … 3750 3853 end if 3751 3854 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 3754 3858 if (wpsp .EQ. 0) then 3755 3859 res@gsnLeftString = "w"+dq+"s"+dq+", w*s* and ws" … … 3775 3879 3776 3880 ; *************************************************** 3777 ; legend for combined plot3881 ; legend for overlaid plot 3778 3882 ; *************************************************** 3779 3883 … … 3785 3889 lgres@vpHeightF = 0.12 3786 3890 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) 3788 3893 3789 3894 amres = True 3790 amres@amParallelPosF = 0. 653791 amres@amOrthogonalPosF = -0.23792 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) 3793 3898 overlay(plot(n),plot_wpsp) 3794 3899 wpsp=1 … … 3800 3905 end if 3801 3906 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 3804 3910 if (wpsap .EQ. 0) then 3805 3911 res@gsnLeftString = "w"+dq+"sa"+dq+", w*sa* and wsa" … … 3825 3931 3826 3932 ; *************************************************** 3827 ; legend for combined plot3933 ; legend for overlaid plot 3828 3934 ; *************************************************** 3829 3935 … … 3835 3941 lgres@vpHeightF = 0.12 3836 3942 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) 3839 3945 amres = True 3840 amres@amParallelPosF = 0. 653841 amres@amOrthogonalPosF = -0.23842 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) 3843 3949 overlay(plot(n),plot_wpsap) 3844 3950 wpsap=1 … … 3851 3957 end if 3852 3958 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 3855 3962 if (us2 .EQ. 0) then 3856 3963 res@gsnLeftString = "u*2, v*2 and w*2" … … 3876 3983 3877 3984 ; *************************************************** 3878 ; legend for combined plot3985 ; legend for overlaid plot 3879 3986 ; *************************************************** 3880 3987 … … 3886 3993 lgres@vpHeightF = 0.12 3887 3994 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) 3890 3996 amres = True 3891 amres@amParallelPosF = 0. 653892 amres@amOrthogonalPosF = -0.23893 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) 3894 4000 overlay(plot(n),plot_us2) 3895 4001 us2=1 … … 3902 4008 end if 3903 4009 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 3906 4016 if (wsususodz .EQ. 0) then 3907 4017 res@gsnLeftString = "w*u*u*:dz, w*p*:dz and w"+dq+"e:dz" … … 3909 4019 res@gsnRightString = " " 3910 4020 if (xs .EQ. -1) then 3911 res@trXMinF = min((/miniwsususodz,miniwspsodz,miniwpeodz/)) 4021 res@trXMinF = min((/miniwsususodz,\ 4022 miniwspsodz,miniwpeodz/)) 3912 4023 else 3913 4024 res@trXMinF = xs 3914 4025 end if 3915 4026 if (xe .EQ. -1) then 3916 res@trXMaxF = max((/maxiwsususodz,maxiwspsodz,maxiwpeodz/)) 4027 res@trXMaxF = max((/maxiwsususodz,maxiwspsodz,\ 4028 maxiwpeodz/)) 3917 4029 else 3918 4030 res@trXMaxF = xe … … 3927 4039 3928 4040 ; *************************************************** 3929 ; legend for combined plot4041 ; legend for overlaid plot 3930 4042 ; *************************************************** 3931 4043 … … 3937 4049 lgres@vpHeightF = 0.12 3938 4050 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) 3941 4053 amres = True 3942 amres@amParallelPosF = 0. 653943 amres@amOrthogonalPosF = -0.23944 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) 3945 4057 overlay(plot(n),plot_wsususodz) 3946 4058 wsususodz=1 … … 3970 4082 3971 4083 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 3973 4086 check = False 3974 4087 end if 3975 4088 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 3977 4098 check = False 3978 4099 end if … … 4059 4180 print(" ") 4060 4181 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 = ") 4062 4184 print("- "+com_var_avail) 4063 4185 print("be sure to have one comma before and after the variable") … … 4073 4195 print(" ") 4074 4196 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 = ") 4076 4199 print("- "+com_var_avail) 4077 4200 print("be sure to have one comma before and after the variable") … … 4114 4237 no_frames = 0 4115 4238 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 4117 4241 gsn_panel(wks,plot_,(/n,1/),resP) 4118 4242 print(" ") … … 4125 4249 no_frames = no_frames + 1 4126 4250 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) 4128 4253 no_frames = no_frames + 1 4129 4254 end if -
palm/trunk/SCRIPTS/NCL/spectra.ncl
r534 r566 24 24 print("Neither the personal configuration file '.ncl.config' exists in") 25 25 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") 27 28 print(palm_bin_path + "/NCL") 28 29 print(" ") … … 59 60 end if 60 61 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 62 66 print(" ") 63 67 print("'format_out = "+format_out+"' is invalid and set to'x11'") … … 136 140 if (start_f .EQ. -1)then 137 141 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)") 139 144 print(" ") 140 145 exit … … 142 147 if (end_f .EQ. -1)then 143 148 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)") 145 151 print(" ") 146 152 exit … … 224 230 if (dim_level .GT. dimsizes(zu))then 225 231 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)+")") 227 234 print(" ") 228 235 exit … … 230 237 zuh=new(dim_level,double) 231 238 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 232 249 zuh(le)=zu(height_level(le)) 233 250 end do … … 243 260 if (dim_level .GT. dimsizes(zw))then 244 261 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)+")") 246 264 print(" ") 247 265 exit … … 249 267 zwh=new(dim_level,double) 250 268 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 251 279 zwh(le)=zw(height_level(le)) 252 280 end do … … 267 295 if (start_time_step .GT. t_all(nt-1)/3600)then 268 296 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") 270 299 print(" ") 271 300 print("Select another 'start_time_step'") … … 275 304 if (start_time_step .LT. t_all(0)/3600)then 276 305 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") 278 308 exit 279 309 end if … … 281 311 282 312 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 284 315 st=i 285 316 break … … 305 336 if (end_time_step .GT. t_all(nt-1)/3600)then 306 337 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") 308 340 print(" ") 309 341 print("Select another 'end_time_step'") … … 313 345 if (end_time_step .LT. start_time_step/3600)then 314 346 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") 316 349 print(" ") 317 350 print("Select another 'start_time_step' or 'end_time_step'") … … 322 355 323 356 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 325 359 et=i 326 360 break … … 343 377 344 378 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) 347 383 print(" ") 348 384 … … 387 423 end if 388 424 389 legend_label=new(dimt, double)425 legend_label=new(dimt,string) 390 426 legend_label_zu=new(dimz,double) 391 427 legend_label_zw=new(dimz,double) 392 428 legend_label_z=new(dimz,double) 393 429 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) 399 431 end do 400 432 if (sort .EQ. "time") … … 447 479 check = True 448 480 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 450 486 check = False 451 487 end if … … 458 494 459 495 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,:) 461 497 462 498 temp_att = f_att->$vNam(varn)$ … … 467 503 if (height_level(0) .NE. -1)then 468 504 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),:) 471 507 end do 472 508 end if 473 509 474 data=data/(norm_y*norm_x) ;SMOOTHING: #temp=smth9(temp/norm, 0.50, -0.25, False)#510 data=data/(norm_y*norm_x) 475 511 476 512 do i=0,b-1 … … 541 577 res@pmLegendOrthogonalPosF = -1.0 542 578 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) 544 581 do p=dimz-1,0,1 545 582 if (log_y .EQ. 1)then … … 549 586 st=p+start_time_step 550 587 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") 552 591 print(" ") 553 592 res@trYLog = False … … 577 616 st=p+start_time_step 578 617 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") 580 621 print(" ") 581 622 res@trYLog = False … … 583 624 end do 584 625 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)) 587 630 end if 588 631 max_y(q)=max(data(p,q,:)) 589 632 min_y(q)=min(data(p,q,:)) 590 633 min_x(q)=min(x_axis(q,:)) 591 max_x(q)=max(x_axis(q,:)) 634 max_x(q)=max(x_axis(q,:)) 592 635 end do 593 636 do q=0,dimz-1 … … 597 640 end if 598 641 if (q .EQ. 0)then 599 res@tiYAxisString = "("+unit_y+")" 642 res@tiYAxisString = "("+unit_y+")" 600 643 res@gsnLeftString = vNam(varn) 601 644 res@gsnRightString = "Time = "+legend_label(p)+"h" … … 605 648 res@trYMaxF = max(max_y) 606 649 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) 608 652 609 653 lgres = True … … 618 662 lgres@lgLineColors = color 619 663 end if 620 lgres@lgTitleString = "Height (m)"664 lgres@lgTitleString = "Height (m)" 621 665 lgres@lgLabelFont = "helvetica" 622 lgres@lgLabelFontHeightF 623 lgres@lgTitleFontHeightF 666 lgres@lgLabelFontHeightF = font_size_legend*6 667 lgres@lgTitleFontHeightF = font_size 624 668 lgres@vpWidthF = 0.12 625 lgres@vpHeightF = font_size_legend*(dimz+3) 669 lgres@vpHeightF = font_size_legend*(dimz+3) 626 670 627 lbid = gsn_create_legend(wks,dimz,legend_label_z,lgres) 671 lbid = gsn_create_legend(wks,dimz,legend_label_z,lgres) 628 672 629 673 amres = True … … 632 676 annoid1 = gsn_add_annotation(plot_h(q),lbid,amres) 633 677 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) 635 680 overlay(plot_h(0),plot_h(q)) 636 681 end if … … 672 717 no_frames = 0 673 718 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 675 721 gsn_panel(wks,plot,(/n,1/),resP) 676 722 print(" ") … … 683 729 no_frames = no_frames + 1 684 730 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) 686 733 no_frames = no_frames + 1 687 734 end if -
palm/trunk/SCRIPTS/NCL/timeseries.ncl
r534 r566 25 25 print("Neither the personal configuration file '.ncl.config' exists in") 26 26 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") 28 29 print(palm_bin_path + "/NCL") 29 30 print(" ") … … 60 61 end if 61 62 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 63 67 print(" ") 64 68 print("'format_out = "+format_out+"' is invalid and set to'x11'") … … 104 108 if (start_f .EQ. -1)then 105 109 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)") 107 112 print(" ") 108 113 exit … … 110 115 if (end_f .EQ. -1)then 111 116 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)") 113 119 print(" ") 114 120 exit … … 191 197 if (start_time_step .GE. t_all(nt-1)/3600) 192 198 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") 194 202 print(" ") 195 203 print("Select another 'start_time_step'") … … 199 207 if (start_time_step .LT. t_all(0)/3600) 200 208 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") 202 212 print(" ") 203 213 print("Select another 'start_time_step'") … … 207 217 end if 208 218 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 210 221 st=i 211 222 break 212 223 end if 213 224 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 215 227 st=nt-2 216 228 end if … … 233 245 if (end_time_step .LE. t_all(0)/3600) 234 246 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") 236 250 print(" ") 237 251 print("Select another 'end_time_step'") … … 241 255 if (end_time_step .GT. t_all(nt-1)/3600) 242 256 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") 244 260 print(" ") 245 261 print("Select another 'end_time_step'") … … 249 265 if (end_time_step .LE. start_time_step/3600) 250 266 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") 252 270 print(" ") 253 271 print("Select another 'start_time_step' or 'end_time_step'") … … 257 275 end if 258 276 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 260 279 et=i 261 280 break … … 278 297 279 298 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) 282 303 print(" ") 283 304 … … 300 321 res@tmYLLabelFont = "helvetica" 301 322 res@xyLineColors = (/237/) 323 res@trXMaxF = t_all(start_time_step) 324 res@trXMinF = t_all(end_time_step) 302 325 303 326 res@lgLabelFontHeightF = 0.02 … … 405 428 406 429 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)) 408 432 end do 409 433 … … 458 482 maxi(varn) = max(data(varn,:)) 459 483 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 461 486 if (mini(varn) .EQ. maxi(varn)) then 462 487 if (min(data(varn,:)) .EQ. 0)then … … 497 522 end if 498 523 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 500 526 if (mini(varn) .EQ. maxi(varn)) then 501 527 if (mini(varn) .EQ. 0)then … … 535 561 end if 536 562 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 539 566 if (mini(varn) .EQ. maxi(varn)) then 540 567 if (min(data(varn,:)) .EQ. 0)then … … 581 608 if (isStrSubset(data@long_name," SR " ))then 582 609 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;") 584 612 print("'over' is set to 0" ) 585 613 print(" ") … … 690 718 end if 691 719 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" ) 693 722 w0=0 694 723 res@xyLineColors = (/237/) … … 759 788 760 789 ; *************************************************** 761 ; legend for combined plot790 ; legend for overlaid plot 762 791 ; *************************************************** 763 792 … … 777 806 annoid1 = gsn_add_annotation(plot_ps(n),lbid,amres) 778 807 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 780 810 Es=1 781 811 overlay(plot_E,plot_Es) … … 784 814 785 815 ; *************************************************** 786 ; legend for combined plot816 ; legend for overlaid plot 787 817 ; *************************************************** 788 818 … … 803 833 end if 804 834 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 806 837 us=1 807 838 overlay(plot_us,plot_ws) … … 810 841 811 842 ; *************************************************** 812 ; legend for combined plot843 ; legend for overlaid plot 813 844 ; *************************************************** 814 845 … … 828 859 annoid1 = gsn_add_annotation(plot_ps(n),lbid,amres) 829 860 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 831 863 ws=1 832 864 overlay(plot_us,plot_ws) … … 835 867 836 868 ; *************************************************** 837 ; legend for combinedplot869 ; legend for overlaid plot 838 870 ; *************************************************** 839 871 … … 864 896 865 897 ; *************************************************** 866 ; legend for combined plot898 ; legend for overlaid plot 867 899 ; *************************************************** 868 900 … … 875 907 lgres@lgDashIndexes = (/0,0,0/) 876 908 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) 878 911 879 912 amres = True … … 892 925 893 926 ; *************************************************** 894 ; legend for combined plot927 ; legend for overlaid plot 895 928 ; *************************************************** 896 929 … … 903 936 lgres@lgDashIndexes = (/0,0,0/) 904 937 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) 907 940 amres = True 908 941 amres@amParallelPosF = 0.6 … … 920 953 921 954 ; *************************************************** 922 ; legend for combined plot955 ; legend for overlaid plot 923 956 ; *************************************************** 924 957 … … 931 964 lgres@lgDashIndexes = (/0,0,0/) 932 965 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) 935 968 amres = True 936 969 amres@amParallelPosF = 0.6 … … 947 980 948 981 ; *************************************************** 949 ; legend for combined plot982 ; legend for overlaid plot 950 983 ; *************************************************** 951 984 … … 958 991 lgres@lgDashIndexes = (/0,0,0/) 959 992 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) 961 994 962 995 amres = True … … 972 1005 973 1006 ; *************************************************** 974 ; legend for combined plot1007 ; legend for overlaid plot 975 1008 ; *************************************************** 976 1009 … … 983 1016 lgres@lgDashIndexes = (/0,0,0/) 984 1017 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) 986 1019 987 1020 amres = True … … 1000 1033 1001 1034 ; *************************************************** 1002 ; legend for combined plot1035 ; legend for overlaid plot 1003 1036 ; *************************************************** 1004 1037 … … 1011 1044 lgres@lgDashIndexes = (/0,0,0/) 1012 1045 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) 1015 1048 amres = True 1016 1049 amres@amParallelPosF = 0.6 … … 1019 1052 end if 1020 1053 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) 1022 1056 if (wt .NE. 1) then 1023 1057 wp=1 … … 1028 1062 1029 1063 ; *************************************************** 1030 ; legend for combined plot1064 ; legend for overlaid plot 1031 1065 ; *************************************************** 1032 1066 … … 1039 1073 lgres@lgDashIndexes = (/0,0,0/) 1040 1074 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) 1042 1077 1043 1078 amres = True … … 1056 1091 1057 1092 ; *************************************************** 1058 ; legend for combined plot1093 ; legend for overlaid plot 1059 1094 ; *************************************************** 1060 1095 … … 1067 1102 lgres@lgDashIndexes = (/0,0,0/) 1068 1103 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) 1071 1106 amres = True 1072 1107 amres@amParallelPosF = 0.6 … … 1076 1111 end if 1077 1112 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 1079 1115 p=1 1080 1116 overlay(plot_pt_0_,plot_pt_zp_) … … 1083 1119 1084 1120 ; *************************************************** 1085 ; legend for combined plot1121 ; legend for overlaid plot 1086 1122 ; *************************************************** 1087 1123 … … 1094 1130 lgres@lgDashIndexes = (/0,0,0/) 1095 1131 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) 1097 1133 1098 1134 amres = True … … 1101 1137 annoid1 = gsn_add_annotation(plot_ps(n),lbid,amres) 1102 1138 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 1104 1141 pz=1 1105 1142 overlay(plot_pt_0_,plot_pt_zp_) … … 1108 1145 1109 1146 ; *************************************************** 1110 ; legend for combined plot1147 ; legend for overlaid plot 1111 1148 ; *************************************************** 1112 1149 … … 1119 1156 lgres@lgDashIndexes = (/0,0,0/) 1120 1157 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) 1122 1159 1123 1160 amres = True … … 1128 1165 1129 1166 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. \ 1139 1178 vNam(varn) .NE. "E") then 1140 1179 … … 1230 1269 no_frames = 0 1231 1270 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 1233 1273 gsn_panel(wks_ps,plot_ps(1:n),(/n,1/),resP) 1234 1274 print(" ") … … 1241 1281 no_frames = no_frames + 1 1242 1282 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) 1244 1285 no_frames = no_frames + 1 1245 1286 end if -
palm/trunk/SCRIPTS/palmplot
r549 r566 14 14 # 01/04/10 - Rieke - bugfix - treatment of special character * 15 15 # 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 16 18 17 19 … … 24 26 printf "\n script_identifier has to be one of the following:" 25 27 printf "\n xy, xz, yz, pr, ts, sp" 26 printf "\n in dependence o fthe data that wants to be plotted\n"28 printf "\n in dependence on the data that wants to be plotted\n" 27 29 printf "\n the further arguments control the plot" 28 30 printf "\n they can also be set in the configuration file .ncl.config" 29 printf "\n a documentation is available at $PALM_BIN/\NCL\/UserGuide_for_NCLscripts.pdf\n\n") 31 printf "\n a documentation is available at" 32 printf "\n http://palm.muk.uni-hannover.de/wiki/doc/app/ncl \n\n") 30 33 exit 31 34 fi
Note: See TracChangeset
for help on using the changeset viewer.