Changeset 526
- Timestamp:
- Mar 30, 2010 2:04:38 PM (15 years ago)
- Location:
- palm/trunk
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/DOC/tec/technical_documentation.html
r525 r526 1 1 <!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en"> 2 2 <html><head> 3 3 4 4 5 … … 91 92 <td style="vertical-align: top;">30/03/10<br> 92 93 </td> 94 <td style="vertical-align: top;">RH<br> 95 </td> 96 <td style="vertical-align: top;">526<br> 97 </td> 98 <td style="vertical-align: top;">3.7a<br> 99 </td> 100 <td style="vertical-align: top;">C<br> 101 </td> 102 <td style="vertical-align: top;">Adjustment of the NCL scripts and <span style="font-family: Courier New,Courier,monospace;">palmplot </span>to allow for special characters in NetCDF variable names <br> 103 </td> 104 <td style="vertical-align: top;">palmplot, .ncl.config.default, cross_sections.ncl, profiles.ncl, timeseries.ncl, spectra.ncl<br> 105 </td> 106 </tr> 107 <tr> 108 <td style="vertical-align: top;">30/03/10<br> 109 </td> 93 110 <td style="vertical-align: top;">SR<br> 94 111 </td> … … 185 202 <td style="vertical-align: top;">NCL scripts can be run with the shell script <span style="font-family: Courier New,Courier,monospace;">palmplot.</span><br> 186 203 </td> 187 <td style="vertical-align: top;">palmplot .ncl.config.default cross_sections.nclprofiles.ncl<br>204 <td style="vertical-align: top;">palmplot, .ncl.config.default, cross_sections.ncl, profiles.ncl<br> 188 205 </td> 189 206 </tr> -
palm/trunk/SCRIPTS/NCL/.ncl.config.default
r517 r526 15 15 16 16 script=which_script 17 18 ;****************************************************** 19 ; BE AWARE: NCl uses double quotes (") to denote strings 20 ; to retrieve the double quote character - use dq: 21 22 dq=str_get_dq() 23 24 ;****************************************************** 17 25 18 26 ;********************************************************* … … 219 227 ; OPTIONAL --var-- OUTPUT VARIABLES 220 228 ; 221 ; names of output variables; inidcate them with one comma before 222 ; and after 223 ; each variable 229 ; names of output variables; 230 ; inidcate them with one comma before and after each variable; 231 ; if the name contains double quotes (") use dq and the '+' operation to 232 ; concatenate the strings 224 233 ; 225 234 ; data type: string … … 868 877 ; names of output variables; 869 878 ; inidcate them with one comma before and after each variable 879 ; if the name contains double quotes (") use dq and the '+' operation to 880 ; concatenate the strings 870 881 ; 871 882 ; data type: string 872 883 ; 873 ; example: var = ",u,v,w, ";884 ; example: var = ",u,v,w,w*pt*,w"+dq+"pt"+dq+",wpt," 874 885 ; 875 886 ; default: "all" (all available variables are plotted) … … 1663 1674 ; REQUIRED IF combine=1 --c_var-- VARIABLES FOR COMBINING 1664 1675 ; 1665 ; names of variables; inidcate them with one comma before and 1666 ; after each variable; 1667 ; 1668 ; data type: string 1669 ; 1670 ; example: c_var = ",u,v," 1676 ; names of variables; 1677 ; inidcate them with one comma before and after each variable 1678 ; if the name contains double quotes (") use dq and the '+' operation to 1679 ; concatenate the strings 1680 ; 1681 ; data type: string 1682 ; 1683 ; example: c_var = ",u,v,w,w*pt*,w"+dq+"pt"+dq+",wpt," 1671 1684 ; 1672 1685 ; default: "c_variables" … … 1908 1921 ; OPTIONAL --var-- OUTPUT VARIABLES 1909 1922 ; 1910 ; names of output variables; inidcate them with one comma before 1911 ; and after each variable 1923 ; names of output variables; 1924 ; inidcate them with one comma before and after each variable 1925 ; if the name contains double quotes (") use dq and the '+' operation to 1926 ; concatenate the strings 1912 1927 ; 1913 1928 ; data type: string … … 2344 2359 ; OPTIONAL --var-- OUTPUT VARIABLES 2345 2360 ; 2346 ; names of output variables; inidcate them with one comma before 2347 ; and after each variable 2361 ; names of output variables; 2362 ; inidcate them with one comma before and after each variable 2363 ; if the name contains double quotes (") use dq and the '+' operation to 2364 ; concatenate the strings 2348 2365 ; 2349 2366 ; data type: string 2350 2367 ; 2351 ; example: var = ",u ,v,w,"2368 ; example: var = ",umax,vmax,wmax,w"+dq+"pt"+dq+"0," 2352 2369 ; 2353 2370 ; default: "all" (all available variables are plotted) -
palm/trunk/SCRIPTS/NCL/cross_sections.ncl
r514 r526 34 34 35 35 begin 36 37 ; *************************************************** 38 ; Retrieving the double quote character 39 ; *************************************************** 40 41 dq=str_get_dq() 36 42 37 43 ; *************************************************** … … 1321 1327 .or. vNam(varn) .eq. "prrs_xy" .or. vNam(varn) .eq. "qsws_xy" \ 1322 1328 .or. vNam(varn) .eq. "shfs_xy" .or. vNam(varn) .eq. "ts_xy" \ 1323 .or. vNam(varn) .eq. "us_xy" .or. vNam(varn) .eq. "z0s_xy") then 1329 .or. vNam(varn) .eq. "us_xy" .or. vNam(varn) .eq. "z0s_xy" \ 1330 .or. vNam(varn) .eq. "lwp*_xy" .or. vNam(varn) .eq. "pra*_xy" \ 1331 .or. vNam(varn) .eq. "prr*_xy" .or. vNam(varn) .eq. "qsws*_xy"\ 1332 .or. vNam(varn) .eq. "shf*_xy" .or. vNam(varn) .eq. "t*_xy" \ 1333 .or. vNam(varn) .eq. "u*_xy" .or. vNam(varn) .eq. "z0*_xy") then 1324 1334 ;these variables depend on zu1_xy and that's why they have only one z-layer 1325 1335 data(varn,:,0,:,:)=temp(:,0,ys:ye,xs:xe) … … 1606 1616 .or. vNam(varn) .eq. "prrs_xy" .or. vNam(varn) .eq. "qsws_xy" \ 1607 1617 .or. vNam(varn) .eq. "shfs_xy" .or. vNam(varn) .eq. "ts_xy" \ 1608 .or. vNam(varn) .eq. "us_xy" .or. vNam(varn) .eq. "z0s_xy") then 1618 .or. vNam(varn) .eq. "us_xy" .or. vNam(varn) .eq. "z0s_xy" \ 1619 .or. vNam(varn) .eq. "lwp*_xy" .or. vNam(varn) .eq. "pra*_xy" \ 1620 .or. vNam(varn) .eq. "prr*_xy" .or. vNam(varn) .eq. "qsws*_xy"\ 1621 .or. vNam(varn) .eq. "shf*_xy" .or. vNam(varn) .eq. "t*_xy" \ 1622 .or. vNam(varn) .eq. "u*_xy" .or. vNam(varn) .eq. "z0*_xy") then 1609 1623 loe = 0 1610 1624 level = "=" + zu1(0) + "m" … … 1642 1656 .or. vNam(varn) .eq. "prrs_xy" .or. vNam(varn) .eq. "qsws_xy" \ 1643 1657 .or. vNam(varn) .eq. "shfs_xy" .or. vNam(varn) .eq. "ts_xy" \ 1644 .or. vNam(varn) .eq. "us_xy" .or. vNam(varn) .eq. "z0s_xy") then 1658 .or. vNam(varn) .eq. "us_xy" .or. vNam(varn) .eq. "z0s_xy" \ 1659 .or. vNam(varn) .eq. "lwp*_xy" .or. vNam(varn) .eq. "pra*_xy" \ 1660 .or. vNam(varn) .eq. "prr*_xy" .or. vNam(varn) .eq. "qsws*_xy"\ 1661 .or. vNam(varn) .eq. "shf*_xy" .or. vNam(varn) .eq. "t*_xy" \ 1662 .or. vNam(varn) .eq. "u*_xy" .or. vNam(varn) .eq. "z0*_xy") then 1645 1663 lie = 0 1646 1664 level = "=" + zu1(0) + "m" -
palm/trunk/SCRIPTS/NCL/profiles.ncl
r523 r526 33 33 34 34 begin 35 36 ;*************************************************** 37 ; Retrieving the double quote character 38 ;*************************************************** 39 40 dq=str_get_dq() 35 41 36 42 ;*************************************************** … … 590 596 else 591 597 if(vNam(varn) .EQ. "e" .OR. isStrSubset(vNam(varn), "e_"))then 598 592 599 z_u = f_att->$vNam(varn+1)$ 593 600 break 594 601 else 595 if(vNam(varn) .EQ. "es" .OR. isStrSubset(vNam(varn), "es_"))then 602 if(vNam(varn) .EQ. "es" .OR. isStrSubset(vNam(varn), "es_")\ 603 .OR. vNam(varn) .EQ. "e*" .OR. isStrSubset(vNam(varn), "e*_"))then 596 604 z_u = f_att->$vNam(varn+1)$ 597 605 break … … 609 617 break 610 618 else 611 if(vNam(varn) .EQ. "us2" .OR. isStrSubset(vNam(varn), "us2_"))then 619 if(vNam(varn) .EQ. "us2" .OR. isStrSubset(vNam(varn), "us2_")\ 620 .OR. vNam(varn) .EQ. "u*2" .OR. isStrSubset(vNam(varn), "u*2_"))then 612 621 z_u = f_att->$vNam(varn+1)$ 613 622 break 614 623 else 615 if(vNam(varn) .EQ. "vs2" .OR. isStrSubset(vNam(varn), "vs2_") )then 624 if(vNam(varn) .EQ. "vs2" .OR. isStrSubset(vNam(varn), "vs2_")\ 625 .OR. vNam(varn) .EQ. "v*2" .OR. isStrSubset(vNam(varn), "v*2_"))then 616 626 z_u = f_att->$vNam(varn+1)$ 617 627 break 618 628 else 619 if(vNam(varn) .EQ. "pts2" .OR. isStrSubset(vNam(varn), "pts2_"))then 629 if(vNam(varn) .EQ. "pts2" .OR. isStrSubset(vNam(varn), "pts2_")\ 630 .OR. vNam(varn) .EQ. "pt*2" .OR. isStrSubset(vNam(varn), "pt*2_"))then 620 631 z_u = f_att->$vNam(varn+1)$ 621 632 break 622 633 else 623 if(vNam(varn) .EQ. "wsususodz" .OR. isStrSubset(vNam(varn), "wsususodz_"))then 634 if(vNam(varn) .EQ. "wsususodz" .OR. isStrSubset(vNam(varn), "wsususodz_")\ 635 .OR. vNam(varn) .EQ. "w*u*u*:dz" .OR. isStrSubset(vNam(varn), "w*u*u*:dz_"))then 624 636 z_u = f_att->$vNam(varn+1)$ 625 637 break 626 638 else 627 if(vNam(varn) .EQ. "wspsodz" .OR. isStrSubset(vNam(varn), "wspsodz_"))then 639 if(vNam(varn) .EQ. "wspsodz" .OR. isStrSubset(vNam(varn), "wspsodz_")\ 640 .OR. vNam(varn) .EQ. "w*p*:dz" .OR. isStrSubset(vNam(varn), "w*p*:dz_"))then 628 641 z_u = f_att->$vNam(varn+1)$ 629 642 break 630 643 else 631 if(vNam(varn) .EQ. "wpeodz" .OR. isStrSubset(vNam(varn), "wpeodz_"))then 644 if(vNam(varn) .EQ. "wpeodz" .OR. isStrSubset(vNam(varn), "wpeodz_")\ 645 .OR. vNam(varn) .EQ. "w"+dq+"e:dz" .OR. isStrSubset(vNam(varn), "w"+dq+"e:dz_"))then 632 646 z_u = f_att->$vNam(varn+1)$ 633 647 break … … 664 678 break 665 679 else 666 if (vNam(varn) .EQ. "wpup" .OR. isStrSubset(vNam(varn), "wpup_"))then 680 if (vNam(varn) .EQ. "wpup" .OR. isStrSubset(vNam(varn), "wpup_")\ 681 .OR. vNam(varn) .EQ. "w"+dq+"u"+dq .OR. isStrSubset(vNam(varn), "w"+dq+"u"+dq+"_"))then 667 682 z_w = f_att->$vNam(varn+1)$ 668 683 break 669 684 else 670 if(vNam(varn) .EQ. "wsus" .OR. isStrSubset(vNam(varn), "wsus_"))then 685 if(vNam(varn) .EQ. "wsus" .OR. isStrSubset(vNam(varn), "wsus_")\ 686 .OR. vNam(varn) .EQ. "w*u*" .OR. isStrSubset(vNam(varn), "w*u*_"))then 671 687 z_w = f_att->$vNam(varn+1)$ 672 688 break … … 676 692 break 677 693 else 678 if(vNam(varn) .EQ. "wpvp" .OR. isStrSubset(vNam(varn), "wpvp_"))then 694 if(vNam(varn) .EQ. "wpvp" .OR. isStrSubset(vNam(varn), "wpvp_")\ 695 .OR. vNam(varn) .EQ. "w"+dq+"v"+dq .OR. isStrSubset(vNam(varn), "w"+dq+"v"+dq+"_"))then 679 696 z_w = f_att->$vNam(varn+1)$ 680 697 break 681 698 else 682 if(vNam(varn) .EQ. "wsvs" .OR. isStrSubset(vNam(varn), "wsvs_"))then 699 if(vNam(varn) .EQ. "wsvs" .OR. isStrSubset(vNam(varn), "wsvs_")\ 700 .OR. vNam(varn) .EQ. "w*v*" .OR. isStrSubset(vNam(varn), "w*v*_"))then 683 701 z_w = f_att->$vNam(varn+1)$ 684 702 break … … 688 706 break 689 707 else 690 if(vNam(varn) .EQ. "wptpp" .OR. isStrSubset(vNam(varn), "wptpp_"))then 708 if(vNam(varn) .EQ. "wptpp" .OR. isStrSubset(vNam(varn), "wptpp_")\ 709 .OR. vNam(varn) .EQ. "w"+dq+"pt"+dq .OR. isStrSubset(vNam(varn), "w"+dq+"pt"+dq+"_"))then 691 710 z_w = f_att->$vNam(varn+1)$ 692 711 break 693 712 else 694 if(vNam(varn) .EQ. "wspts" .OR. isStrSubset(vNam(varn), "wspts_"))then 713 if(vNam(varn) .EQ. "wspts" .OR. isStrSubset(vNam(varn), "wspts_")\ 714 .OR. vNam(varn) .EQ. "w*pt*" .OR. isStrSubset(vNam(varn), "w*pt*_"))then 695 715 z_w = f_att->$vNam(varn+1)$ 696 716 break 697 717 else 698 if(vNam(varn) .EQ. "wpt" .OR. isStrSubset(vNam(varn), "wp z_"))then718 if(vNam(varn) .EQ. "wpt" .OR. isStrSubset(vNam(varn), "wpt_"))then 699 719 z_w = f_att->$vNam(varn+1)$ 700 720 break 701 721 else 702 if(vNam(varn) .EQ. "wsptsBC" .OR. isStrSubset(vNam(varn), "wsptsBC_"))then 722 if(vNam(varn) .EQ. "wsptsBC" .OR. isStrSubset(vNam(varn), "wsptsBC_")\ 723 .OR. vNam(varn) .EQ. "w*pt*BC" .OR. isStrSubset(vNam(varn), "w*pt*BC_"))then 703 724 z_w = f_att->$vNam(varn+1)$ 704 725 break … … 708 729 break 709 730 else 710 if(vNam(varn) .EQ. "wpvptp" .OR. isStrSubset(vNam(varn), "wpvptp_"))then 731 if(vNam(varn) .EQ. "wpvptp" .OR. isStrSubset(vNam(varn), "wpvptp_")\ 732 .OR. vNam(varn) .EQ. "w"+dq+"vpt"+dq .OR. isStrSubset(vNam(varn), "w"+dq+"vpt"+dq+"_"))then 711 733 z_w = f_att->$vNam(varn+1)$ 712 734 break 713 735 else 714 if(vNam(varn) .EQ. "wsvpts" .OR. isStrSubset(vNam(varn), "wsvpts_"))then 736 if(vNam(varn) .EQ. "wsvpts" .OR. isStrSubset(vNam(varn), "wsvpts_")\ 737 .OR. vNam(varn) .EQ. "w*vpt*" .OR. isStrSubset(vNam(varn), "w*vpt*_"))then 715 738 z_w = f_att->$vNam(varn+1)$ 716 739 break … … 720 743 break 721 744 else 722 if(vNam(varn) .EQ. "wpqp" .OR. isStrSubset(vNam(varn), "wpqp_"))then 745 if(vNam(varn) .EQ. "wpqp" .OR. isStrSubset(vNam(varn), "wpqp_")\ 746 .OR. vNam(varn) .EQ. "w"+dq+"q"+dq .OR. isStrSubset(vNam(varn), "w"+dq+"q"+dq+"_"))then 723 747 z_w = f_att->$vNam(varn+1)$ 724 748 break 725 749 else 726 if(vNam(varn) .EQ. "wsqs" .OR. isStrSubset(vNam(varn), "wsqs_"))then 750 if(vNam(varn) .EQ. "wsqs" .OR. isStrSubset(vNam(varn), "wsqs_")\ 751 .OR. vNam(varn) .EQ. "w*q*" .OR. isStrSubset(vNam(varn), "w*q*_"))then 727 752 z_w = f_att->$vNam(varn+1)$ 728 753 break … … 732 757 break 733 758 else 734 if(vNam(varn) .EQ. "wpqvp" .OR. isStrSubset(vNam(varn), "wpqvp_"))then 759 if(vNam(varn) .EQ. "wpqvp" .OR. isStrSubset(vNam(varn), "wpqvp_")\ 760 .OR. vNam(varn) .EQ. "w"+dq+"qv"+dq .OR. isStrSubset(vNam(varn), "w"+dq+"qv"+dq+"_"))then 735 761 z_w = f_att->$vNam(varn+1)$ 736 762 break 737 763 else 738 if(vNam(varn) .EQ. "wsqvs" .OR. isStrSubset(vNam(varn), "wsqvs_"))then 764 if(vNam(varn) .EQ. "wsqvs" .OR. isStrSubset(vNam(varn), "wsqvs_")\ 765 .OR. vNam(varn) .EQ. "w*qv*" .OR. isStrSubset(vNam(varn), "w*qv*_"))then 739 766 z_w = f_att->$vNam(varn+1)$ 740 767 break … … 744 771 break 745 772 else 746 if(vNam(varn) .EQ. "wpsp" .OR. isStrSubset(vNam(varn), "wpsp_"))then 773 if(vNam(varn) .EQ. "wpsp" .OR. isStrSubset(vNam(varn), "wpsp_")\ 774 .OR. vNam(varn) .EQ. "w"+dq+"s"+dq .OR. isStrSubset(vNam(varn), "w"+dq+"s"+dq+"_"))then 747 775 z_w = f_att->$vNam(varn+1)$ 748 776 break 749 777 else 750 if(vNam(varn) .EQ. "wsss" .OR. isStrSubset(vNam(varn), "wsss_"))then 778 if(vNam(varn) .EQ. "wsss" .OR. isStrSubset(vNam(varn), "wsss_")\ 779 .OR. vNam(varn) .EQ. "w*s*" .OR. isStrSubset(vNam(varn), "w*s*_"))then 751 780 z_w = f_att->$vNam(varn+1)$ 752 781 break … … 756 785 break 757 786 else 758 if(vNam(varn) .EQ. "wpsap" .OR. isStrSubset(vNam(varn), "wpsap_"))then 787 if(vNam(varn) .EQ. "wpsap" .OR. isStrSubset(vNam(varn), "wpsap_")\ 788 .OR. vNam(varn) .EQ. "w"+dq+"sa"+dq .OR. isStrSubset(vNam(varn), "w"+dq+"sa"+dq+"_"))then 759 789 z_w = f_att->$vNam(varn+1)$ 760 790 break 761 791 else 762 if(vNam(varn) .EQ. "wssas" .OR. isStrSubset(vNam(varn), "wssas_") )then 792 if(vNam(varn) .EQ. "wssas" .OR. isStrSubset(vNam(varn), "wssas_")\ 793 .OR. vNam(varn) .EQ. "w*sa*" .OR. isStrSubset(vNam(varn), "w*sa*_"))then 763 794 z_w = f_att->$vNam(varn+1)$ 764 795 break … … 768 799 break 769 800 else 770 if(vNam(varn) .EQ. "wses" .OR. isStrSubset(vNam(varn), "wses_"))then 801 if(vNam(varn) .EQ. "wses" .OR. isStrSubset(vNam(varn), "wses_")\ 802 .OR. vNam(varn) .EQ. "w*e*" .OR. isStrSubset(vNam(varn), "w*e*_"))then 771 803 z_w = f_att->$vNam(varn+1)$ 772 804 break 773 805 else 774 if(vNam(varn) .EQ. "ws2" .OR. isStrSubset(vNam(varn), "ws2_"))then 806 if(vNam(varn) .EQ. "ws2" .OR. isStrSubset(vNam(varn), "ws2_")\ 807 .OR. vNam(varn) .EQ. "w*2" .OR. isStrSubset(vNam(varn), "w*2_"))then 775 808 z_w = f_att->$vNam(varn+1)$ 776 809 break 777 810 else 778 if(vNam(varn) .EQ. "ws3" .OR. isStrSubset(vNam(varn), "ws3_"))then 811 if(vNam(varn) .EQ. "ws3" .OR. isStrSubset(vNam(varn), "ws3_")\ 812 .OR. vNam(varn) .EQ. "w*3" .OR. isStrSubset(vNam(varn), "w*3_"))then 779 813 z_w = f_att->$vNam(varn+1)$ 780 814 break … … 784 818 break 785 819 else 786 if(vNam(varn) .EQ. "ws2pts".OR. isStrSubset(vNam(varn), "ws2pts_") )then 820 if(vNam(varn) .EQ. "ws2pts".OR. isStrSubset(vNam(varn), "ws2pts_")\ 821 .OR. vNam(varn) .EQ. "w*2pt*" .OR. isStrSubset(vNam(varn), "w*2pt*_"))then 787 822 z_w = f_att->$vNam(varn+1)$ 788 823 break 789 824 else 790 if(vNam(varn) .EQ. "wspts2" .OR. isStrSubset(vNam(varn), "wspts2_"))then 825 if(vNam(varn) .EQ. "wspts2" .OR. isStrSubset(vNam(varn), "wspts2_")\ 826 .OR. vNam(varn) .EQ. "w*pt*2" .OR. isStrSubset(vNam(varn), "w*pt*2_"))then 791 827 z_w = f_att->$vNam(varn+1)$ 792 828 break … … 2034 2070 end if 2035 2071 end if 2036 if (vNam(varn) .EQ. "es" ) then2072 if (vNam(varn) .EQ. "es" .OR. vNam(varn) .EQ. "e*") then 2037 2073 minies=min(data(varn,:,min_z_int:max_z_int))-min_value 2038 2074 maxies=max(data(varn,:,min_z_int:max_z_int))+max_value … … 2105 2141 end if 2106 2142 2107 if (vNam(varn) .EQ. "wpup" ) then2143 if (vNam(varn) .EQ. "wpup" .OR. vNam(varn) .EQ. "w"+dq+"u"+dq) then 2108 2144 miniwpup=min(data(varn,:,min_z_int:max_z_int))-min_value 2109 2145 maxiwpup=max(data(varn,:,min_z_int:max_z_int))+max_value … … 2128 2164 end if 2129 2165 end if 2130 if (vNam(varn) .EQ. "wsus" ) then2166 if (vNam(varn) .EQ. "wsus" .OR. vNam(varn) .EQ. "w*u*") then 2131 2167 miniwsus=min(data(varn,:,min_z_int:max_z_int))-min_value 2132 2168 maxiwsus=max(data(varn,:,min_z_int:max_z_int))+max_value … … 2175 2211 end if 2176 2212 2177 if (vNam(varn) .EQ. "wpvp" ) then2213 if (vNam(varn) .EQ. "wpvp" .OR. vNam(varn) .EQ. "w"+dq+"v"+dq) then 2178 2214 miniwpvp=min(data(varn,:,min_z_int:max_z_int))-min_value 2179 2215 maxiwpvp=max(data(varn,:,min_z_int:max_z_int))+max_value … … 2198 2234 end if 2199 2235 end if 2200 if (vNam(varn) .EQ. "wsvs" ) then2236 if (vNam(varn) .EQ. "wsvs" .OR. vNam(varn) .EQ. "w*v*") then 2201 2237 miniwsvs=min(data(varn,:,min_z_int:max_z_int))-min_value 2202 2238 maxiwsvs=max(data(varn,:,min_z_int:max_z_int))+max_value … … 2245 2281 end if 2246 2282 2247 if (vNam(varn) .EQ. "wpptp" ) then2283 if (vNam(varn) .EQ. "wpptp" .OR. vNam(varn) .EQ. "w"+dq+"pt"+dq) then 2248 2284 miniwpptp=min(data(varn,:,min_z_int:max_z_int))-min_value 2249 2285 maxiwpptp=max(data(varn,:,min_z_int:max_z_int))+max_value … … 2268 2304 end if 2269 2305 end if 2270 if (vNam(varn) .EQ. "wspts" ) then2306 if (vNam(varn) .EQ. "wspts" .OR. vNam(varn) .EQ. "w*pt*") then 2271 2307 miniwspts=min(data(varn,:,min_z_int:max_z_int))-min_value 2272 2308 maxiwspts=max(data(varn,:,min_z_int:max_z_int))+max_value … … 2315 2351 end if 2316 2352 2317 if (vNam(varn) .EQ. "wsptsBC" ) then2353 if (vNam(varn) .EQ. "wsptsBC".OR. vNam(varn) .EQ. "w*pt*BC" ) then 2318 2354 miniwsptsBC=min(data(varn,:,min_z_int:max_z_int))-min_value 2319 2355 maxiwsptsBC=max(data(varn,:,min_z_int:max_z_int))+max_value … … 2362 2398 end if 2363 2399 2364 if (vNam(varn) .EQ. "wpvptp" ) then2400 if (vNam(varn) .EQ. "wpvptp" .OR. vNam(varn) .EQ. "w"+dq+"vpt"+dq) then 2365 2401 miniwpvptp=min(data(varn,:,min_z_int:max_z_int))-min_value 2366 2402 maxiwpvptp=max(data(varn,:,min_z_int:max_z_int))+max_value … … 2385 2421 end if 2386 2422 end if 2387 if (vNam(varn) .EQ. "wsvpts" ) then2423 if (vNam(varn) .EQ. "wsvpts" .OR. vNam(varn) .EQ. "w*vpt*") then 2388 2424 miniwsvpts=min(data(varn,:,min_z_int:max_z_int))-min_value 2389 2425 maxiwsvpts=max(data(varn,:,min_z_int:max_z_int))+max_value … … 2432 2468 end if 2433 2469 2434 if (vNam(varn) .EQ. "wpqp" ) then2470 if (vNam(varn) .EQ. "wpqp" .OR. vNam(varn) .EQ. "w"+dq+"q"+dq) then 2435 2471 miniwpqp=min(data(varn,:,min_z_int:max_z_int))-min_value 2436 2472 maxiwpqp=max(data(varn,:,min_z_int:max_z_int))+max_value … … 2455 2491 end if 2456 2492 end if 2457 if (vNam(varn) .EQ. "wsqs" ) then2493 if (vNam(varn) .EQ. "wsqs".OR. vNam(varn) .EQ. "w*s*" ) then 2458 2494 miniwsqs=min(data(varn,:,min_z_int:max_z_int))-min_value 2459 2495 maxiwsqs=max(data(varn,:,min_z_int:max_z_int))+max_value … … 2502 2538 end if 2503 2539 2504 if (vNam(varn) .EQ. "wpqvp" ) then2540 if (vNam(varn) .EQ. "wpqvp" .OR. vNam(varn) .EQ. "w"+dq+"qv"+dq) then 2505 2541 miniwpqvp=min(data(varn,:,min_z_int:max_z_int))-min_value 2506 2542 maxiwpqvp=max(data(varn,:,min_z_int:max_z_int))+max_value … … 2525 2561 end if 2526 2562 end if 2527 if (vNam(varn) .EQ. "wsqvs" ) then2563 if (vNam(varn) .EQ. "wsqvs" .OR. vNam(varn) .EQ. "w*qv*") then 2528 2564 miniwsqvs=min(data(varn,:,min_z_int:max_z_int))-min_value 2529 2565 maxiwsqvs=max(data(varn,:,min_z_int:max_z_int))+max_value … … 2572 2608 end if 2573 2609 2574 if (vNam(varn) .EQ. "wpsp" ) then2610 if (vNam(varn) .EQ. "wpsp" .OR. vNam(varn) .EQ. "w"+dq+"s"+dq) then 2575 2611 miniwpsp=min(data(varn,:,min_z_int:max_z_int))-min_value 2576 2612 maxiwpsp=max(data(varn,:,min_z_int:max_z_int))+max_value … … 2595 2631 end if 2596 2632 end if 2597 if (vNam(varn) .EQ. "wsss" ) then2633 if (vNam(varn) .EQ. "wsss" .OR. vNam(varn) .EQ. "w*s*" ) then 2598 2634 miniwsss=min(data(varn,:,min_z_int:max_z_int))-min_value 2599 2635 maxiwsss=max(data(varn,:,min_z_int:max_z_int))+max_value … … 2642 2678 end if 2643 2679 2644 if (vNam(varn) .EQ. "wpsap" ) then2680 if (vNam(varn) .EQ. "wpsap" .OR. vNam(varn) .EQ. "w"+dq+"sa"+dq) then 2645 2681 miniwpsap=min(data(varn,:,min_z_int:max_z_int))-min_value 2646 2682 maxiwpsap=max(data(varn,:,min_z_int:max_z_int))+max_value … … 2665 2701 end if 2666 2702 end if 2667 if (vNam(varn) .EQ. "wssas" ) then2703 if (vNam(varn) .EQ. "wssas" .OR. vNam(varn) .EQ. "w*sa*") then 2668 2704 miniwssas=min(data(varn,:,min_z_int:max_z_int))-min_value 2669 2705 maxiwssas=max(data(varn,:,min_z_int:max_z_int))+max_value … … 2712 2748 end if 2713 2749 2714 if (vNam(varn) .EQ. "us2" ) then2750 if (vNam(varn) .EQ. "us2" .OR. vNam(varn) .EQ. "u*2") then 2715 2751 minius2=min(data(varn,:,min_z_int:max_z_int))-min_value 2716 2752 maxius2=max(data(varn,:,min_z_int:max_z_int))+max_value … … 2735 2771 end if 2736 2772 end if 2737 if (vNam(varn) .EQ. "vs2" ) then2773 if (vNam(varn) .EQ. "vs2" .OR. vNam(varn) .EQ. "v*2") then 2738 2774 minivs2=min(data(varn,:,min_z_int:max_z_int))-min_value 2739 2775 maxivs2=max(data(varn,:,min_z_int:max_z_int))+max_value … … 2758 2794 end if 2759 2795 end if 2760 if (vNam(varn) .EQ. "ws2" ) then2796 if (vNam(varn) .EQ. "ws2" .OR. vNam(varn) .EQ. "w*2") then 2761 2797 miniws2=min(data(varn,:,min_z_int:max_z_int))-min_value 2762 2798 maxiws2=max(data(varn,:,min_z_int:max_z_int))+max_value … … 2782 2818 end if 2783 2819 2784 if (vNam(varn) .EQ. "wsususodz" ) then2820 if (vNam(varn) .EQ. "wsususodz" .OR. vNam(varn) .EQ. "w*u*u*:dz") then 2785 2821 miniwsususodz=min(data(varn,:,min_z_int:max_z_int))-min_value 2786 2822 maxiwsususodz=max(data(varn,:,min_z_int:max_z_int))+max_value … … 2805 2841 end if 2806 2842 end if 2807 if (vNam(varn) .EQ. "wspsodz" ) then2843 if (vNam(varn) .EQ. "wspsodz" .OR. vNam(varn) .EQ. "w*p*:dz") then 2808 2844 miniwspsodz=min(data(varn,:,min_z_int:max_z_int))-min_value 2809 2845 maxiwspsodz=max(data(varn,:,min_z_int:max_z_int))+max_value … … 2828 2864 end if 2829 2865 end if 2830 if (vNam(varn) .EQ. "wpeodz" ) then2866 if (vNam(varn) .EQ. "wpeodz" .OR. vNam(varn) .EQ. "w"+dq+"p:dz") then 2831 2867 miniwpeodz=min(data(varn,:,min_z_int:max_z_int))-min_value 2832 2868 maxiwpeodz=max(data(varn,:,min_z_int:max_z_int))+max_value … … 3255 3291 end if 3256 3292 3257 if (vNam(varn) .EQ. "e" .OR. vNam(varn) .EQ. "es" ) then3293 if (vNam(varn) .EQ. "e" .OR. vNam(varn) .EQ. "es" .OR. vNam(varn) .EQ. "e*" ) then 3258 3294 if (e .EQ. 0) then 3259 res@gsnLeftString = "e and e s"3295 res@gsnLeftString = "e and e*" 3260 3296 res@tiXAxisString = "["+unit(varn)+"]" 3261 3297 res@gsnRightString = " " … … 3286 3322 lgres@vpHeightF = 0.08 3287 3323 lgres@lgDashIndexes = (/0,1,2/) 3288 lbid = gsn_create_legend(wks,2,(/"e","e s"/),lgres)3324 lbid = gsn_create_legend(wks,2,(/"e","e*"/),lgres) 3289 3325 3290 3326 amres = True … … 3348 3384 end if 3349 3385 3350 if (vNam(varn) .EQ. "wpup" .OR. vNam(varn) .EQ. "wsus" .OR. vNam(varn) .EQ. "wu") then 3386 if (vNam(varn) .EQ. "wpup" .OR. vNam(varn) .EQ. "wsus" .OR. vNam(varn) .EQ. "wu" \ 3387 .OR. vNam(varn) .EQ. "w"+dq+"u"+dq .OR. vNam(varn) .EQ. "w*u*") then 3351 3388 if (wpup .EQ. 0) then 3352 res@gsnLeftString = "w pup, wsusand wu"3389 res@gsnLeftString = "w"+dq+"u"+dq+", w*u* and wu" 3353 3390 res@tiXAxisString = "["+unit(varn)+"]" 3354 3391 res@gsnRightString = " " … … 3382 3419 lgres@vpHeightF = 0.12 3383 3420 lgres@lgDashIndexes = (/0,1,2/) 3384 lbid = gsn_create_legend(wks,3,(/"w pup","wsus","wu"/),lgres)3421 lbid = gsn_create_legend(wks,3,(/"w"+dq+"u"+dq,"w*u*","wu"/),lgres) 3385 3422 3386 3423 amres = True … … 3397 3434 end if 3398 3435 end if 3399 if (vNam(varn) .EQ. "wpvp" .OR. vNam(varn) .EQ. "wsvs" .OR.vNam(varn) .EQ. "wv") then 3436 if (vNam(varn) .EQ. "wpvp" .OR. vNam(varn) .EQ. "wsvs" .OR.vNam(varn) .EQ. "wv"\ 3437 .OR. vNam(varn) .EQ. "w"+dq+"v"+dq .OR. vNam(varn) .EQ. "w*v*") then 3400 3438 if (wpvp .EQ. 0) then 3401 res@gsnLeftString = "w pvp, wsvsand wv"3439 res@gsnLeftString = "w"+dq+"v"+dq+", w*v* and wv" 3402 3440 res@tiXAxisString = "["+unit(varn)+"]" 3403 3441 res@gsnRightString = " " … … 3431 3469 lgres@vpHeightF = 0.12 3432 3470 lgres@lgDashIndexes = (/0,1,2/) 3433 lbid = gsn_create_legend(wks,3,(/"w pvp","wsvs","wv"/),lgres)3471 lbid = gsn_create_legend(wks,3,(/"w"+dq+"v"+dq,"w*v*","wv"/),lgres) 3434 3472 3435 3473 amres = True … … 3446 3484 end if 3447 3485 end if 3448 if (vNam(varn) .EQ. "wpptp" .OR. vNam(varn) .EQ. "wspts" .OR. vNam(varn) .EQ. "wpt") then 3449 if (wpptp .EQ. 0) then 3450 res@gsnLeftString = "wpptp, wspts and wpt" 3486 if (vNam(varn) .EQ. "wpptp" .OR. vNam(varn) .EQ. "wspts" .OR. vNam(varn) .EQ. "wpt"\ 3487 .OR. vNam(varn) .EQ. "w"+dq+"pt"+dq .OR. vNam(varn) .EQ. "w*pt*") then 3488 if (wpptp .EQ. 0) then 3489 res@gsnLeftString = "w"+dq+"pt"+dq+", w*pt* and wpt" 3451 3490 res@tiXAxisString = "["+unit(varn)+"]" 3452 3491 res@gsnRightString = " " … … 3461 3500 res@trXMaxF = xe 3462 3501 end if 3463 if (vNam(varn) .EQ. "wspts" )then3502 if (vNam(varn) .EQ. "wspts" .OR. vNam(varn) .EQ. "w*pt*")then 3464 3503 res@xyDashPattern = 1 3465 3504 end if 3466 3505 if (vNam(varn) .EQ. "wpt")then 3506 res@xyDashPattern = 2 3507 end if 3508 plot(n) = gsn_csm_xy(wks,data(varn,:,:),z,res) 3509 3510 ; *************************************************** 3511 ; legend for combined plot 3512 ; *************************************************** 3513 3514 lgres = True 3515 lgMonoDashIndex = False 3516 lgres@lgLabelFont = "helvetica" 3517 lgres@lgLabelFontHeightF = font_size_legend 3518 lgres@vpWidthF = 0.09 3519 lgres@vpHeightF = 0.12 3520 lgres@lgDashIndexes = (/0,1,2/) 3521 lbid = gsn_create_legend(wks,3,(/"w"+dq+"pt"+dq,"w*pt*","wpt"/),lgres) 3522 3523 amres = True 3524 amres@amParallelPosF = 0.65 3525 amres@amOrthogonalPosF = -0.2 3526 annoid1 = gsn_add_annotation(plot(n),lbid,amres) 3527 overlay(plot(n),plot_wpptp) 3528 wpptp=1 3529 else 3530 if (prof3d .EQ. 0)then 3531 varn=varn+1 3532 end if 3533 continue 3534 end if 3535 end if 3536 if (vNam(varn) .EQ. "wsptsBC" .OR. vNam(varn) .EQ. "wptBC" .OR. vNam(varn) .EQ. "w*pt*BC") then 3537 if (wsptsBC .EQ. 0) then 3538 res@gsnLeftString = "w*pt*BC and wptBC" 3539 res@tiXAxisString = "["+unit(varn)+"]" 3540 res@gsnRightString = " " 3541 if (xs .EQ. -1) then 3542 res@trXMinF = min((/miniwsptsBC,miniwptBC/)) 3543 else 3544 res@trXMinF = xs 3545 end if 3546 if (xe .EQ. -1) then 3547 res@trXMaxF = max((/maxiwsptsBC,maxiwptBC/)) 3548 else 3549 res@trXMaxF = xe 3550 end if 3551 if (vNam(varn) .EQ. "wptBC")then 3552 res@xyDashPattern = 1 3553 end if 3554 plot(n) = gsn_csm_xy(wks,data(varn,:,:),z,res) 3555 3556 ; *************************************************** 3557 ; legend for combined plot 3558 ; *************************************************** 3559 3560 lgres = True 3561 lgMonoDashIndex = False 3562 lgres@lgLabelFont = "helvetica" 3563 lgres@lgLabelFontHeightF = font_size_legend 3564 lgres@vpWidthF = 0.1 3565 lgres@vpHeightF = 0.12 3566 lgres@lgDashIndexes = (/0,1,2/) 3567 lbid = gsn_create_legend(wks,3,(/"w*pt*BC","wptBC"/),lgres) 3568 3569 amres = True 3570 amres@amParallelPosF = 0.65 3571 amres@amOrthogonalPosF = -0.2 3572 annoid1 = gsn_add_annotation(plot(n),lbid,amres) 3573 overlay(plot(n),plot_wsptsBC) 3574 wsptsBC=1 3575 else 3576 if (prof3d .EQ. 0)then 3577 varn=varn+1 3578 end if 3579 continue 3580 end if 3581 end if 3582 if (vNam(varn) .EQ. "wpvptp" .OR. vNam(varn) .EQ. "wsvpts" .OR. vNam(varn) .EQ. "wvpt"\ 3583 .OR. vNam(varn) .EQ. "w"+dq+"vpt"+dq .OR. vNam(varn) .EQ. "w*vpt*") then 3584 if (wpvptp .EQ. 0) then 3585 res@gsnLeftString = "w"+dq+"vpt"+dq+", w*vpt* and wvpt" 3586 res@tiXAxisString = "["+unit(varn)+"]" 3587 res@gsnRightString = " " 3588 if (xs .EQ. -1) then 3589 res@trXMinF = min((/miniwpvptp,miniwsvpts,miniwvpt/)) 3590 else 3591 res@trXMinF = xs 3592 end if 3593 if (xe .EQ. -1) then 3594 res@trXMaxF = max((/maxiwpvptp,maxiwsvpts,maxiwvpt/)) 3595 else 3596 res@trXMaxF = xe 3597 end if 3598 if (vNam(varn) .EQ. "wsvpts")then 3599 res@xyDashPattern = 1 3600 end if 3601 if (vNam(varn) .EQ. "wvpt")then 3602 res@xyDashPattern = 2 3603 end if 3604 plot(n) = gsn_csm_xy(wks,data(varn,:,:),z,res) 3605 3606 ; *************************************************** 3607 ; legend for combined plot 3608 ; *************************************************** 3609 3610 lgres = True 3611 lgMonoDashIndex = False 3612 lgres@lgLabelFont = "helvetica" 3613 lgres@lgLabelFontHeightF = font_size_legend 3614 lgres@vpWidthF = 0.1 3615 lgres@vpHeightF = 0.12 3616 lgres@lgDashIndexes = (/0,1,2/) 3617 lbid = gsn_create_legend(wks,3,(/"w"+dq+"vpt"+dq,"w*vpt*","wvpt"/),lgres) 3618 3619 amres = True 3620 amres@amParallelPosF = 0.65 3621 amres@amOrthogonalPosF = -0.2 3622 annoid1 = gsn_add_annotation(plot(n),lbid,amres) 3623 overlay(plot(n),plot_wpvptp) 3624 wpvptp=1 3625 else 3626 if (prof3d .EQ. 0)then 3627 varn=varn+1 3628 end if 3629 continue 3630 end if 3631 end if 3632 if (vNam(varn) .EQ. "wpqp" .OR. vNam(varn) .EQ. "wsqs" .OR. vNam(varn) .EQ. "wq"\ 3633 .OR. vNam(varn) .EQ. "w"+dq+"q"+dq .OR. vNam(varn) .EQ. "w*q*") then 3634 if (wpqp .EQ. 0) then 3635 res@gsnLeftString = "w"+dq+"q"+dq+", w*q* and wq" 3636 res@tiXAxisString = "["+unit(varn)+"]" 3637 res@gsnRightString = " " 3638 if (xs .EQ. -1) then 3639 res@trXMinF = min((/miniwpqp,miniwsqs,miniwq/)) 3640 else 3641 res@trXMinF = xs 3642 end if 3643 if (xe .EQ. -1) then 3644 res@trXMaxF = max((/maxiwpqp,maxiwsqs,maxiwq/)) 3645 else 3646 res@trXMaxF = xe 3647 end if 3648 if (vNam(varn) .EQ. "wsqs")then 3649 res@xyDashPattern = 1 3650 end if 3651 if (vNam(varn) .EQ. "wq")then 3652 res@xyDashPattern = 2 3653 end if 3654 plot(n) = gsn_csm_xy(wks,data(varn,:,:),z,res) 3655 3656 ; *************************************************** 3657 ; legend for combined plot 3658 ; *************************************************** 3659 3660 lgres = True 3661 lgMonoDashIndex = False 3662 lgres@lgLabelFont = "helvetica" 3663 lgres@lgLabelFontHeightF = font_size_legend 3664 lgres@vpWidthF = 0.08 3665 lgres@vpHeightF = 0.12 3666 lgres@lgDashIndexes = (/0,1,2/) 3667 lbid = gsn_create_legend(wks,3,(/"w"+dq+"q"+dq,"w*q*","wq"/),lgres) 3668 3669 amres = True 3670 amres@amParallelPosF = 0.65 3671 amres@amOrthogonalPosF = -0.2 3672 annoid1 = gsn_add_annotation(plot(n),lbid,amres) 3673 overlay(plot(n),plot_wpqp) 3674 wpqp=1 3675 else 3676 if (prof3d .EQ. 0)then 3677 varn=varn+1 3678 end if 3679 continue 3680 end if 3681 end if 3682 if (vNam(varn) .EQ. "wpqvp" .OR. vNam(varn) .EQ. "wsqvs" .OR. vNam(varn) .EQ. "wqv"\ 3683 .OR. vNam(varn) .EQ. "w"+dq+"qv"+dq .OR. vNam(varn) .EQ. "w*qv*") then 3684 if (wpqvp .EQ. 0) then 3685 res@gsnLeftString ="w"+dq+"qv"+dq+" , w*qv* and wqv" 3686 res@tiXAxisString = "["+unit(varn)+"]" 3687 res@gsnRightString = " " 3688 if (xs .EQ. -1) then 3689 res@trXMinF = min((/miniwpqp,miniwsqvs,miniwqv/)) 3690 else 3691 res@trXMinF = xs 3692 end if 3693 if (xe .EQ. -1) then 3694 res@trXMaxF = max((/maxiwpqp,maxiwsqvs,maxiwqv/)) 3695 else 3696 res@trXMaxF = xe 3697 end if 3698 if (vNam(varn) .EQ. "wsqvs")then 3699 res@xyDashPattern = 1 3700 end if 3701 if (vNam(varn) .EQ. "wqv")then 3702 res@xyDashPattern = 2 3703 end if 3704 plot(n) = gsn_csm_xy(wks,data(varn,:,:),z,res) 3705 3706 ; *************************************************** 3707 ; legend for combined plot 3708 ; *************************************************** 3709 3710 lgres = True 3711 lgMonoDashIndex = False 3712 lgres@lgLabelFont = "helvetica" 3713 lgres@lgLabelFontHeightF = font_size_legend 3714 lgres@vpWidthF = 0.09 3715 lgres@vpHeightF = 0.12 3716 lgres@lgDashIndexes = (/0,1,2/) 3717 lbid = gsn_create_legend(wks,3,(/"w"+dq+"qv"+dq,"w*qv*","wqv"/),lgres) 3718 3719 amres = True 3720 amres@amParallelPosF = 0.65 3721 amres@amOrthogonalPosF = -0.2 3722 annoid1 = gsn_add_annotation(plot(n),lbid,amres) 3723 overlay(plot(n),plot_wpqvp) 3724 wpqvp=1 3725 else 3726 if (prof3d .EQ. 0)then 3727 varn=varn+1 3728 end if 3729 continue 3730 end if 3731 end if 3732 if (vNam(varn) .EQ. "wpsp" .OR. vNam(varn) .EQ. "wsss" .OR. vNam(varn) .EQ. "ws"\ 3733 .OR. vNam(varn) .EQ. "w"+dq+"s"+dq .OR. vNam(varn) .EQ. "w*s*") then 3734 if (wpsp .EQ. 0) then 3735 res@gsnLeftString = "w"+dq+"s"+dq+", w*s* and ws" 3736 res@tiXAxisString = "["+unit(varn)+"]" 3737 res@gsnRightString = " " 3738 if (xs .EQ. -1) then 3739 res@trXMinF = min((/miniwpsp,miniwsss,miniws/)) 3740 else 3741 res@trXMinF = xs 3742 end if 3743 if (xe .EQ. -1) then 3744 res@trXMaxF = max((/maxiwpsp,maxiwsss,maxiws/)) 3745 else 3746 res@trXMaxF = xe 3747 end if 3748 if (vNam(varn) .EQ. "wsss")then 3749 res@xyDashPattern = 1 3750 end if 3751 if (vNam(varn) .EQ. "ws")then 3752 res@xyDashPattern = 2 3753 end if 3754 plot(n) = gsn_csm_xy(wks,data(varn,:,:),z,res) 3755 3756 ; *************************************************** 3757 ; legend for combined plot 3758 ; *************************************************** 3759 3760 lgres = True 3761 lgMonoDashIndex = False 3762 lgres@lgLabelFont = "helvetica" 3763 lgres@lgLabelFontHeightF = font_size_legend 3764 lgres@vpWidthF = 0.08 3765 lgres@vpHeightF = 0.12 3766 lgres@lgDashIndexes = (/0,1,2/) 3767 lbid = gsn_create_legend(wks,3,(/"w"+dq+"s"+dq,"w*s*","ws"/),lgres) 3768 3769 amres = True 3770 amres@amParallelPosF = 0.65 3771 amres@amOrthogonalPosF = -0.2 3772 annoid1 = gsn_add_annotation(plot(n),lbid,amres) 3773 overlay(plot(n),plot_wpsp) 3774 wpsp=1 3775 else 3776 if (prof3d .EQ. 0)then 3777 varn=varn+1 3778 end if 3779 continue 3780 end if 3781 end if 3782 if (vNam(varn) .EQ. "wpsap" .OR.vNam(varn) .EQ. "wssas" .OR. vNam(varn) .EQ. "wsa"\ 3783 .OR. vNam(varn) .EQ. "w"+dq+"sa"+dq .OR. vNam(varn) .EQ. "w*sa*") then 3784 if (wpsap .EQ. 0) then 3785 res@gsnLeftString = "w"+dq+"sa"+dq+", w*sa* and wsa" 3786 res@tiXAxisString = "["+unit(varn)+"]" 3787 res@gsnRightString = " " 3788 if (xs .EQ. -1) then 3789 res@trXMinF = min((/miniwpsap,miniwssas,miniwsa/)) 3790 else 3791 res@trXMinF = xs 3792 end if 3793 if (xe .EQ. -1) then 3794 res@trXMaxF = max((/maxiwpsap,maxiwssas,maxiwsa/)) 3795 else 3796 res@trXMaxF = xe 3797 end if 3798 if (vNam(varn) .EQ. "wssas")then 3799 res@xyDashPattern = 1 3800 end if 3801 if (vNam(varn) .EQ. "wsa")then 3467 3802 res@xyDashPattern = 2 3468 3803 end if … … 3480 3815 lgres@vpHeightF = 0.12 3481 3816 lgres@lgDashIndexes = (/0,1,2/) 3482 lbid = gsn_create_legend(wks,3,(/"wpptp","wspts","wpt"/),lgres) 3483 3484 amres = True 3485 amres@amParallelPosF = 0.65 3486 amres@amOrthogonalPosF = -0.2 3487 annoid1 = gsn_add_annotation(plot(n),lbid,amres) 3488 overlay(plot(n),plot_wpptp) 3489 wpptp=1 3490 else 3491 if (prof3d .EQ. 0)then 3492 varn=varn+1 3493 end if 3494 continue 3495 end if 3496 end if 3497 if (vNam(varn) .EQ. "wsptsBC" .OR. vNam(varn) .EQ. "wptBC") then 3498 if (wsptsBC .EQ. 0) then 3499 res@gsnLeftString = "wsptsBC and wptBC" 3500 res@tiXAxisString = "["+unit(varn)+"]" 3501 res@gsnRightString = " " 3502 if (xs .EQ. -1) then 3503 res@trXMinF = min((/miniwsptsBC,miniwptBC/)) 3504 else 3505 res@trXMinF = xs 3506 end if 3507 if (xe .EQ. -1) then 3508 res@trXMaxF = max((/maxiwsptsBC,maxiwptBC/)) 3509 else 3510 res@trXMaxF = xe 3511 end if 3512 if (vNam(varn) .EQ. "wptBC")then 3513 res@xyDashPattern = 1 3514 end if 3515 plot(n) = gsn_csm_xy(wks,data(varn,:,:),z,res) 3516 3517 ; *************************************************** 3518 ; legend for combined plot 3519 ; *************************************************** 3520 3521 lgres = True 3522 lgMonoDashIndex = False 3523 lgres@lgLabelFont = "helvetica" 3524 lgres@lgLabelFontHeightF = font_size_legend 3525 lgres@vpWidthF = 0.1 3526 lgres@vpHeightF = 0.12 3527 lgres@lgDashIndexes = (/0,1,2/) 3528 lbid = gsn_create_legend(wks,3,(/"wsptsBC","wptBC"/),lgres) 3529 3530 amres = True 3531 amres@amParallelPosF = 0.65 3532 amres@amOrthogonalPosF = -0.2 3533 annoid1 = gsn_add_annotation(plot(n),lbid,amres) 3534 overlay(plot(n),plot_wsptsBC) 3535 wsptsBC=1 3536 else 3537 if (prof3d .EQ. 0)then 3538 varn=varn+1 3539 end if 3540 continue 3541 end if 3542 end if 3543 if (vNam(varn) .EQ. "wpvptp" .OR. vNam(varn) .EQ. "wsvpts" .OR. vNam(varn) .EQ. "wvpt") then 3544 if (wpvptp .EQ. 0) then 3545 res@gsnLeftString = "wpvptp, wsvpts and wvpt" 3546 res@tiXAxisString = "["+unit(varn)+"]" 3547 res@gsnRightString = " " 3548 if (xs .EQ. -1) then 3549 res@trXMinF = min((/miniwpvptp,miniwsvpts,miniwvpt/)) 3550 else 3551 res@trXMinF = xs 3552 end if 3553 if (xe .EQ. -1) then 3554 res@trXMaxF = max((/maxiwpvptp,maxiwsvpts,maxiwvpt/)) 3555 else 3556 res@trXMaxF = xe 3557 end if 3558 if (vNam(varn) .EQ. "wsvpts")then 3559 res@xyDashPattern = 1 3560 end if 3561 if (vNam(varn) .EQ. "wvpt")then 3562 res@xyDashPattern = 2 3563 end if 3564 plot(n) = gsn_csm_xy(wks,data(varn,:,:),z,res) 3565 3566 ; *************************************************** 3567 ; legend for combined plot 3568 ; *************************************************** 3569 3570 lgres = True 3571 lgMonoDashIndex = False 3572 lgres@lgLabelFont = "helvetica" 3573 lgres@lgLabelFontHeightF = font_size_legend 3574 lgres@vpWidthF = 0.1 3575 lgres@vpHeightF = 0.12 3576 lgres@lgDashIndexes = (/0,1,2/) 3577 lbid = gsn_create_legend(wks,3,(/"wpvptp","wsvpts","wvpt"/),lgres) 3578 3579 amres = True 3580 amres@amParallelPosF = 0.65 3581 amres@amOrthogonalPosF = -0.2 3582 annoid1 = gsn_add_annotation(plot(n),lbid,amres) 3583 overlay(plot(n),plot_wpvptp) 3584 wpvptp=1 3585 else 3586 if (prof3d .EQ. 0)then 3587 varn=varn+1 3588 end if 3589 continue 3590 end if 3591 end if 3592 if (vNam(varn) .EQ. "wpqp" .OR. vNam(varn) .EQ. "wsqs" .OR. vNam(varn) .EQ. "wq") then 3593 if (wpqp .EQ. 0) then 3594 res@gsnLeftString = "wpqp, wsqs and wq" 3595 res@tiXAxisString = "["+unit(varn)+"]" 3596 res@gsnRightString = " " 3597 if (xs .EQ. -1) then 3598 res@trXMinF = min((/miniwpqp,miniwsqs,miniwq/)) 3599 else 3600 res@trXMinF = xs 3601 end if 3602 if (xe .EQ. -1) then 3603 res@trXMaxF = max((/maxiwpqp,maxiwsqs,maxiwq/)) 3604 else 3605 res@trXMaxF = xe 3606 end if 3607 if (vNam(varn) .EQ. "wsqs")then 3608 res@xyDashPattern = 1 3609 end if 3610 if (vNam(varn) .EQ. "wq")then 3611 res@xyDashPattern = 2 3612 end if 3613 plot(n) = gsn_csm_xy(wks,data(varn,:,:),z,res) 3614 3615 ; *************************************************** 3616 ; legend for combined plot 3617 ; *************************************************** 3618 3619 lgres = True 3620 lgMonoDashIndex = False 3621 lgres@lgLabelFont = "helvetica" 3622 lgres@lgLabelFontHeightF = font_size_legend 3623 lgres@vpWidthF = 0.08 3624 lgres@vpHeightF = 0.12 3625 lgres@lgDashIndexes = (/0,1,2/) 3626 lbid = gsn_create_legend(wks,3,(/"wpqp","wsqs","wq"/),lgres) 3627 3628 amres = True 3629 amres@amParallelPosF = 0.65 3630 amres@amOrthogonalPosF = -0.2 3631 annoid1 = gsn_add_annotation(plot(n),lbid,amres) 3632 overlay(plot(n),plot_wpqp) 3633 wpqp=1 3634 else 3635 if (prof3d .EQ. 0)then 3636 varn=varn+1 3637 end if 3638 continue 3639 end if 3640 end if 3641 if (vNam(varn) .EQ. "wpqvp" .OR. vNam(varn) .EQ. "wsqvs" .OR. vNam(varn) .EQ. "wqv") then 3642 if (wpqvp .EQ. 0) then 3643 res@gsnLeftString = "wpqvp, wsqvs and wqv" 3644 res@tiXAxisString = "["+unit(varn)+"]" 3645 res@gsnRightString = " " 3646 if (xs .EQ. -1) then 3647 res@trXMinF = min((/miniwpqp,miniwsqvs,miniwqv/)) 3648 else 3649 res@trXMinF = xs 3650 end if 3651 if (xe .EQ. -1) then 3652 res@trXMaxF = max((/maxiwpqp,maxiwsqvs,maxiwqv/)) 3653 else 3654 res@trXMaxF = xe 3655 end if 3656 if (vNam(varn) .EQ. "wsqvs")then 3657 res@xyDashPattern = 1 3658 end if 3659 if (vNam(varn) .EQ. "wqv")then 3660 res@xyDashPattern = 2 3661 end if 3662 plot(n) = gsn_csm_xy(wks,data(varn,:,:),z,res) 3663 3664 ; *************************************************** 3665 ; legend for combined plot 3666 ; *************************************************** 3667 3668 lgres = True 3669 lgMonoDashIndex = False 3670 lgres@lgLabelFont = "helvetica" 3671 lgres@lgLabelFontHeightF = font_size_legend 3672 lgres@vpWidthF = 0.09 3673 lgres@vpHeightF = 0.12 3674 lgres@lgDashIndexes = (/0,1,2/) 3675 lbid = gsn_create_legend(wks,3,(/"wpqvp","wsqvs","wqv"/),lgres) 3676 3677 amres = True 3678 amres@amParallelPosF = 0.65 3679 amres@amOrthogonalPosF = -0.2 3680 annoid1 = gsn_add_annotation(plot(n),lbid,amres) 3681 overlay(plot(n),plot_wpqvp) 3682 wpqvp=1 3683 else 3684 if (prof3d .EQ. 0)then 3685 varn=varn+1 3686 end if 3687 continue 3688 end if 3689 end if 3690 if (vNam(varn) .EQ. "wpsp" .OR. vNam(varn) .EQ. "wsss" .OR. vNam(varn) .EQ. "ws") then 3691 if (wpsp .EQ. 0) then 3692 res@gsnLeftString = "wpsp, wsss and ws" 3693 res@tiXAxisString = "["+unit(varn)+"]" 3694 res@gsnRightString = " " 3695 if (xs .EQ. -1) then 3696 res@trXMinF = min((/miniwpsp,miniwsss,miniws/)) 3697 else 3698 res@trXMinF = xs 3699 end if 3700 if (xe .EQ. -1) then 3701 res@trXMaxF = max((/maxiwpsp,maxiwsss,maxiws/)) 3702 else 3703 res@trXMaxF = xe 3704 end if 3705 if (vNam(varn) .EQ. "wsss")then 3706 res@xyDashPattern = 1 3707 end if 3708 if (vNam(varn) .EQ. "ws")then 3709 res@xyDashPattern = 2 3710 end if 3711 plot(n) = gsn_csm_xy(wks,data(varn,:,:),z,res) 3712 3713 ; *************************************************** 3714 ; legend for combined plot 3715 ; *************************************************** 3716 3717 lgres = True 3718 lgMonoDashIndex = False 3719 lgres@lgLabelFont = "helvetica" 3720 lgres@lgLabelFontHeightF = font_size_legend 3721 lgres@vpWidthF = 0.08 3722 lgres@vpHeightF = 0.12 3723 lgres@lgDashIndexes = (/0,1,2/) 3724 lbid = gsn_create_legend(wks,3,(/"wpsp","wsss","ws"/),lgres) 3725 3726 amres = True 3727 amres@amParallelPosF = 0.65 3728 amres@amOrthogonalPosF = -0.2 3729 annoid1 = gsn_add_annotation(plot(n),lbid,amres) 3730 overlay(plot(n),plot_wpsp) 3731 wpsp=1 3732 else 3733 if (prof3d .EQ. 0)then 3734 varn=varn+1 3735 end if 3736 continue 3737 end if 3738 end if 3739 if (vNam(varn) .EQ. "wpsap" .OR.vNam(varn) .EQ. "wssas" .OR. vNam(varn) .EQ. "wsa") then 3740 if (wpsap .EQ. 0) then 3741 res@gsnLeftString = "wpsap, wssas and wsa" 3742 res@tiXAxisString = "["+unit(varn)+"]" 3743 res@gsnRightString = " " 3744 if (xs .EQ. -1) then 3745 res@trXMinF = min((/miniwpsap,miniwssas,miniwsa/)) 3746 else 3747 res@trXMinF = xs 3748 end if 3749 if (xe .EQ. -1) then 3750 res@trXMaxF = max((/maxiwpsap,maxiwssas,maxiwsa/)) 3751 else 3752 res@trXMaxF = xe 3753 end if 3754 if (vNam(varn) .EQ. "wssas")then 3755 res@xyDashPattern = 1 3756 end if 3757 if (vNam(varn) .EQ. "wsa")then 3758 res@xyDashPattern = 2 3759 end if 3760 plot(n) = gsn_csm_xy(wks,data(varn,:,:),z,res) 3761 3762 ; *************************************************** 3763 ; legend for combined plot 3764 ; *************************************************** 3765 3766 lgres = True 3767 lgMonoDashIndex = False 3768 lgres@lgLabelFont = "helvetica" 3769 lgres@lgLabelFontHeightF = font_size_legend 3770 lgres@vpWidthF = 0.09 3771 lgres@vpHeightF = 0.12 3772 lgres@lgDashIndexes = (/0,1,2/) 3773 lbid = gsn_create_legend(wks,3,(/"wpsap","wssas","wsa"/),lgres) 3817 lbid = gsn_create_legend(wks,3,(/"w"+dq+"sa"+dq,"w*sa*","wsa"/),lgres) 3774 3818 3775 3819 amres = True … … 3787 3831 end if 3788 3832 3789 if (vNam(varn) .EQ. "us2" .OR. vNam(varn) .EQ. "vs2" .OR. vNam(varn) .EQ. "ws2") then 3833 if (vNam(varn) .EQ. "us2" .OR. vNam(varn) .EQ. "vs2" .OR. vNam(varn) .EQ. "ws2" \ 3834 .OR. vNam(varn) .EQ. "u*2" .OR. vNam(varn) .EQ. "v*2" .OR. vNam(varn) .EQ. "w*2" ) then 3790 3835 if (us2 .EQ. 0) then 3791 res@gsnLeftString = "u s2, vs2 and ws2"3836 res@gsnLeftString = "u*2, v*2 and w*2" 3792 3837 res@tiXAxisString = "["+unit(varn)+"]" 3793 3838 res@gsnRightString = " " … … 3821 3866 lgres@vpHeightF = 0.12 3822 3867 lgres@lgDashIndexes = (/0,1,2/) 3823 lbid = gsn_create_legend(wks,3,(/"u s2","vs2","ws2"/),lgres)3868 lbid = gsn_create_legend(wks,3,(/"u*2","v*2","w*2"/),lgres) 3824 3869 3825 3870 amres = True … … 3837 3882 end if 3838 3883 3839 if (vNam(varn) .EQ. "wsususodz" .OR. vNam(varn) .EQ. "wspsodz" .OR. vNam(varn) .EQ. "wpeodz" ) then 3884 if (vNam(varn) .EQ. "wsususodz" .OR. vNam(varn) .EQ. "wspsodz" .OR. vNam(varn) .EQ. "wpeodz" \ 3885 .OR. vNam(varn) .EQ. "w*u*u*:dz" .OR. vNam(varn) .EQ. "w*p*:dz" .OR. vNam(varn) .EQ. "w"+dq+"e:dz") then 3840 3886 if (wsususodz .EQ. 0) then 3841 res@gsnLeftString = "w sususodz, wspsodz and wpeodz"3887 res@gsnLeftString = "w*u*u*:dz, w*p*:dz and w"+dq+"e:dz" 3842 3888 res@tiXAxisString = "["+unit(varn)+"]" 3843 3889 res@gsnRightString = " " … … 3871 3917 lgres@vpHeightF = 0.12 3872 3918 lgres@lgDashIndexes = (/0,1,2/) 3873 lbid = gsn_create_legend(wks,3,(/"w sususodz","wspsodz","wpeodz"/),lgres)3919 lbid = gsn_create_legend(wks,3,(/"w*u*u*:dz","w*p*:dz","w"+dq+"e:dz"/),lgres) 3874 3920 3875 3921 amres = True -
palm/trunk/SCRIPTS/NCL/spectra.ncl
r418 r526 32 32 33 33 begin 34 35 ;*************************************************** 36 ; Retrieving the double quote character 37 ;*************************************************** 38 39 dq=str_get_dq() 34 40 35 41 ;*************************************************** -
palm/trunk/SCRIPTS/NCL/timeseries.ncl
r418 r526 33 33 34 34 begin 35 36 ;*************************************************** 37 ; Retrieving the double quote character 38 ;*************************************************** 39 40 dq=str_get_dq() 35 41 36 42 ;*************************************************** … … 344 350 plot_pt_0_ = gsn_csm_xy(wks_ps,t,data_0(:),res) 345 351 plot_pt_zp_ = gsn_csm_xy(wks_ps,t,data_0(:),res) 346 plot_splptx = gsn_csm_xy(wks_ps,t,data_0(:),res)347 plot_splpty = gsn_csm_xy(wks_ps,t,data_0(:),res)348 plot_splptz = gsn_csm_xy(wks_ps,t,data_0(:),res)349 352 end if 350 353 … … 435 438 maxi(varn) = max(data(varn,:)) 436 439 437 if (vNam(varn) .EQ. "E" .OR. vNam(varn) .EQ. "Es" ) then440 if (vNam(varn) .EQ. "E" .OR. vNam(varn) .EQ. "Es" .OR. vNam(varn) .EQ. "E*") then 438 441 if (mini(varn) .EQ. maxi(varn)) then 439 442 if (min(data(varn,:)) .EQ. 0)then … … 454 457 end if 455 458 456 if (vNam(varn) .EQ. "us" .OR. vNam(varn) .EQ. "ws") then 459 if (vNam(varn) .EQ. "us" .OR. vNam(varn) .EQ. "ws"\ 460 .OR. vNam(varn) .EQ. "u*" .OR. vNam(varn) .EQ. "w*") then 457 461 if (mini(varn) .EQ. maxi(varn)) then 458 462 if (min(data(varn,:)) .EQ. 0)then … … 511 515 end if 512 516 513 if (vNam(varn) .EQ. "wpptp0" .OR. vNam(varn) .EQ. "wpptp" .OR. vNam(varn) .EQ. "wpt") then 517 if (vNam(varn) .EQ. "wpptp0" .OR. vNam(varn) .EQ. "wpptp" .OR. vNam(varn) .EQ. "wpt"\ 518 .OR. vNam(varn) .EQ. "w"+dq+"pt"+dq+"0" .OR. vNam(varn) .EQ. "w"+dq+"pt"+dq ) then 514 519 if (mini(varn) .EQ. maxi(varn)) then 515 520 if (min(data(varn,:)) .EQ. 0)then … … 530 535 end if 531 536 532 if (vNam(varn) .EQ. "pt_0_" .OR. vNam(varn) .EQ. "pt_zp_") then 537 if (vNam(varn) .EQ. "pt_0_" .OR. vNam(varn) .EQ. "pt_zp_"\ 538 .OR. vNam(varn) .EQ. "pt(0)" .OR. vNam(varn) .EQ. "pt(zp)") then 533 539 if (mini(varn) .EQ. maxi(varn)) then 534 540 if (min(data(varn,:)) .EQ. 0)then … … 547 553 minp=min((/minp,mini(varn)/)) 548 554 maxp=max((/maxp,maxi(varn)/)) 549 end if550 551 if (vNam(varn) .EQ. "splptx" .OR. vNam(varn) .EQ. "splpty" .OR. vNam(varn) .EQ. "splptz") then552 if (mini(varn) .EQ. maxi(varn)) then553 if (min(data(varn,:)) .EQ. 0)then554 mini(varn)= mini(varn)-0.1555 maxi(varn)= maxi(varn)+0.1556 end if557 if (min(data(varn,:)) .LT. 0)then558 mini(varn)= mini(varn)-1.+(mini(varn))/2559 maxi(varn)= maxi(varn)+1.-(maxi(varn))/2560 end if561 if (min(data(varn,:)) .GT. 0)then562 mini(varn)= mini(varn)-1.-(mini(varn))/2563 maxi(varn)= maxi(varn)+1.+(maxi(varn))/2564 end if565 end if566 mins=min((/mins,mini(varn)/))567 maxs=max((/maxs,maxi(varn)/))568 555 end if 569 556 … … 617 604 plot_E = gsn_csm_xy(wks_ps,t,data(varn,:),res) 618 605 end if 619 if (vNam(varn) .EQ. "Es" )606 if (vNam(varn) .EQ. "Es" .OR. vNam(varn) .EQ. "E*") 620 607 Es=0 621 608 res@xyLineColors = (/144/) … … 625 612 end if 626 613 627 if (vNam(varn) .EQ. "us" )614 if (vNam(varn) .EQ. "us" .OR. vNam(varn) .EQ. "u*") 628 615 us=0 629 616 res@xyLineColors = (/237/) … … 634 621 plot_us = gsn_csm_xy(wks_ps,t,data(varn,:),res) 635 622 end if 636 if (vNam(varn) .EQ. "ws" )623 if (vNam(varn) .EQ. "ws" .OR. vNam(varn) .EQ. "w*") 637 624 ws=0 638 625 res@xyLineColors = (/144/) … … 683 670 end if 684 671 685 if (vNam(varn) .EQ. "wpptp0" )672 if (vNam(varn) .EQ. "wpptp0" .OR. vNam(varn) .EQ. "w"+dq+"pt"+dq+"0" ) 686 673 w0=0 687 674 res@xyLineColors = (/237/) … … 692 679 plot_wpptp0 = gsn_csm_xy(wks_ps,t,data(varn,:),res) 693 680 end if 694 if (vNam(varn) .EQ. "wpptp" )681 if (vNam(varn) .EQ. "wpptp" .OR. vNam(varn) .EQ. "w"+dq+"pt"+dq) 695 682 wp=0 696 683 res@xyLineColors = (/144/) … … 707 694 end if 708 695 709 if (vNam(varn) .EQ. "pt_0_" )696 if (vNam(varn) .EQ. "pt_0_" .OR. vNam(varn) .EQ. "pt(0)") 710 697 p=0 711 698 res@xyLineColors = (/237/) … … 716 703 plot_pt_0_ = gsn_csm_xy(wks_ps,t,data(varn,:),res) 717 704 end if 718 if (vNam(varn) .EQ. "pt_zp_" )705 if (vNam(varn) .EQ. "pt_zp_" .OR. vNam(varn) .EQ. "pt(zp)") 719 706 pz=0 720 707 res@xyLineColors = (/144/) … … 722 709 res@xyLineLabelFontColor = 144 723 710 plot_pt_zp_ = gsn_csm_xy(wks_ps,t,data(varn,:),res) 724 end if725 726 if (vNam(varn) .EQ. "splptx")727 x=0728 res@xyLineColors = (/237/)729 res@xyLineLabelFontHeightF = 0.05730 res@xyLineLabelFontColor = 237731 res@trYMaxF = maxs732 res@trYMinF = mins733 plot_splptx = gsn_csm_xy(wks_ps,t,data(varn,:),res)734 end if735 if (vNam(varn) .EQ. "splpty")736 y=0737 res@xyLineColors = (/144/)738 res@xyLineLabelFontHeightF = 0.05739 res@xyLineLabelFontColor = 144740 plot_splpty = gsn_csm_xy(wks_ps,t,data(varn,:),res)741 end if742 if (vNam(varn) .EQ. "splptz")743 z=0744 res@xyLineColors = (/80/)745 res@xyLineLabelFontHeightF = 0.05746 res@xyLineLabelFontColor = 80747 plot_splptz = gsn_csm_xy(wks_ps,t,data(varn,:),res)748 711 end if 749 712 … … 787 750 lgres@lgDashIndexes = (/0,0,0/) 788 751 lgres@lgLineColors = (/237,144,80/) 789 lbid = gsn_create_legend(wks_ps,2,(/"E","E s"/),lgres)752 lbid = gsn_create_legend(wks_ps,2,(/"E","E*"/),lgres) 790 753 791 754 amres = True … … 794 757 annoid1 = gsn_add_annotation(plot_ps(n),lbid,amres) 795 758 end if 796 if ( vNam(varn) .EQ. "Es".AND. E .NE. 1) then759 if ((vNam(varn) .EQ. "Es" .OR. vNam(varn) .EQ. "E*") .AND. E .NE. 1) then 797 760 Es=1 798 761 overlay(plot_E,plot_Es) … … 812 775 lgres@lgDashIndexes = (/0,0,0/) 813 776 lgres@lgLineColors = (/237,144,80/) 814 lbid = gsn_create_legend(wks_ps,2,(/"E","E s"/),lgres)777 lbid = gsn_create_legend(wks_ps,2,(/"E","E*"/),lgres) 815 778 816 779 amres = True … … 820 783 end if 821 784 822 if ( vNam(varn) .EQ. "us".AND. ws .NE. 1) then785 if ((vNam(varn) .EQ. "us" .OR. vNam(varn) .EQ. "u*") .AND. ws .NE. 1) then 823 786 us=1 824 787 overlay(plot_us,plot_ws) … … 838 801 lgres@lgDashIndexes = (/0,0,0/) 839 802 lgres@lgLineColors = (/237,144,80/) 840 lbid = gsn_create_legend(wks_ps,2,(/"u s","ws"/),lgres)803 lbid = gsn_create_legend(wks_ps,2,(/"u*","w*"/),lgres) 841 804 842 805 amres = True … … 845 808 annoid1 = gsn_add_annotation(plot_ps(n),lbid,amres) 846 809 end if 847 if ( vNam(varn) .EQ. "ws".AND. us .NE. 1) then810 if ((vNam(varn) .EQ. "ws" .OR. vNam(varn) .EQ. "w*") .AND. us .NE. 1) then 848 811 ws=1 849 812 overlay(plot_us,plot_ws) … … 863 826 lgres@lgDashIndexes = (/0,0,0/) 864 827 lgres@lgLineColors = (/237,144,80/) 865 lbid = gsn_create_legend(wks_ps,2,(/"u s","ws"/),lgres)828 lbid = gsn_create_legend(wks_ps,2,(/"u*","w*"/),lgres) 866 829 867 830 amres = True … … 1008 971 end if 1009 972 1010 if ( vNam(varn) .EQ. "wpptp0".AND. wp .NE. 1)973 if ((vNam(varn) .EQ. "wpptp0" .OR. vNam(varn) .EQ. "w"+dq+"pt"+dq+"0") .AND. wp .NE. 1) 1011 974 if (wt .NE. 1) then 1012 975 w0=1 … … 1036 999 end if 1037 1000 end if 1038 if ( vNam(varn) .EQ. "wpptp".AND. w0 .NE. 1)1001 if ((vNam(varn) .EQ. "wpptp" .OR. vNam(varn) .EQ. "w"+dq+"pt"+dq) .AND. w0 .NE. 1) 1039 1002 if (wt .NE. 1) then 1040 1003 wp=1 … … 1093 1056 end if 1094 1057 1095 if ( vNam(varn) .EQ. "pt_0_".AND. pz .NE. 1) then1058 if ((vNam(varn) .EQ. "pt_0_" .OR. vNam(varn) .EQ. "pt(0)") .AND. pz .NE. 1) then 1096 1059 p=1 1097 1060 overlay(plot_pt_0_,plot_pt_zp_) … … 1118 1081 annoid1 = gsn_add_annotation(plot_ps(n),lbid,amres) 1119 1082 end if 1120 if ( vNam(varn) .EQ. "pt_zp_".AND. p .NE. 1) then1083 if ((vNam(varn) .EQ. "pt_zp_" .OR. vNam(varn) .EQ. "pt(zp)") .AND. p .NE. 1) then 1121 1084 pz=1 1122 1085 overlay(plot_pt_0_,plot_pt_zp_) … … 1143 1106 annoid1 = gsn_add_annotation(plot_ps(n),lbid,amres) 1144 1107 end if 1145 1146 if (vNam(varn) .EQ. "splptx" .AND. y .NE. 1) 1147 if (z .NE.1 ) then 1148 x=1 1149 overlay(plot_splptx,plot_splpty) 1150 overlay(plot_splptx,plot_splptz) 1151 n=n+1 1152 plot_ps(n) = plot_splptx 1153 1154 ; *************************************************** 1155 ; legend for combined plot 1156 ; *************************************************** 1157 1158 lgres = True 1159 lgMonoDashIndex = False 1160 lgres@lgLabelFont = "helvetica" 1161 lgres@lgLabelFontHeightF = .1 1162 lgres@vpWidthF = 0.4 1163 lgres@vpHeightF = 0.4 1164 lgres@lgDashIndexes = (/0,0,0/) 1165 lgres@lgLineColors = (/237,144,80/) 1166 lbid = gsn_create_legend(wks_ps,3,(/"splptx","splpty","splptz"/),lgres) 1167 1168 amres = True 1169 amres@amParallelPosF = 0.6 1170 amres@amOrthogonalPosF = -0.2 1171 annoid1 = gsn_add_annotation(plot_ps(n),lbid,amres) 1172 end if 1173 end if 1174 if (vNam(varn) .EQ. "splpty" .AND. x .NE. 1) 1175 if(z .NE.1 ) then 1176 y=1 1177 overlay(plot_splptx,plot_splpty) 1178 overlay(plot_splptx,plot_splptz) 1179 n=n+1 1180 plot_ps(n) = plot_splptx 1181 1182 ; *************************************************** 1183 ; legend for combined plot 1184 ; *************************************************** 1185 1186 lgres = True 1187 lgMonoDashIndex = False 1188 lgres@lgLabelFont = "helvetica" 1189 lgres@lgLabelFontHeightF = .1 1190 lgres@vpWidthF = 0.4 1191 lgres@vpHeightF = 0.4 1192 lgres@lgDashIndexes = (/0,0,0/) 1193 lgres@lgLineColors = (/237,144,80/) 1194 lbid = gsn_create_legend(wks_ps,3,(/"splptx","splpty","splptz"/),lgres) 1195 1196 amres = True 1197 amres@amParallelPosF = 0.6 1198 amres@amOrthogonalPosF = -0.2 1199 annoid1 = gsn_add_annotation(plot_ps(n),lbid,amres) 1200 end if 1201 end if 1202 if (vNam(varn) .EQ. "splptz" .AND. y .NE. 1) 1203 if(x .NE.1 ) then 1204 z=1 1205 overlay(plot_splptx,plot_splpty) 1206 overlay(plot_splptx,plot_splptz) 1207 n=n+1 1208 plot_ps(n) = plot_splptx 1209 1210 ; *************************************************** 1211 ; legend for combined plot 1212 ; *************************************************** 1213 1214 lgres = True 1215 lgMonoDashIndex = False 1216 lgres@lgLabelFont = "helvetica" 1217 lgres@lgLabelFontHeightF = .1 1218 lgres@vpWidthF = 0.4 1219 lgres@vpHeightF = 0.4 1220 lgres@lgDashIndexes = (/0,0,0/) 1221 lgres@lgLineColors = (/237,144,80/) 1222 lbid = gsn_create_legend(wks_ps,3,(/"splptx","splpty","splptz"/),lgres) 1223 1224 amres = True 1225 amres@amParallelPosF = 0.6 1226 amres@amOrthogonalPosF = -0.2 1227 annoid1 = gsn_add_annotation(plot_ps(n),lbid,amres) 1228 end if 1229 end if 1230 1231 if(vNam(varn) .NE. "splptz" .AND. vNam(varn) .NE. "splpty" .AND. vNam(varn) .NE. "splptx" .AND. vNam(varn) .NE. "pt_zp_" .AND. vNam(varn) .NE. "pt_0_" .AND. vNam(varn) .NE. "wpt" .AND. vNam(varn) .NE. "wpptp" .AND. vNam(varn) .NE. "wpptp0" .AND. vNam(varn) .NE. "z_i_pt" .AND. vNam(varn) .NE. "z_i_wpt" .AND. vNam(varn) .NE. "wmax" .AND. vNam(varn) .NE. "vmax" .AND. vNam(varn) .NE. "umax" .AND. vNam(varn) .NE. "ws" .AND. vNam(varn) .NE. "us" .AND. vNam(varn) .NE. "Es" .AND. vNam(varn) .NE. "E") then 1108 1109 if(vNam(varn) .NE. "pt_zp_" .AND. vNam(varn) .NE. "pt(zp)" .AND. \ 1110 vNam(varn) .NE. "pt_0_" .AND. vNam(varn) .NE. "pt(0)" .AND. \ 1111 vNam(varn) .NE. "wpt" .AND. vNam(varn) .NE. "wpptp" .AND. \ 1112 vNam(varn) .NE. "w"+dq+"pt"+dq .AND. vNam(varn) .NE. "wpptp0" .AND. \ 1113 vNam(varn) .NE. "w"+dq+"pt"+dq+"0" .AND. vNam(varn) .NE. "z_i_pt" .AND.\ 1114 vNam(varn) .NE. "z_i_wpt" .AND. vNam(varn) .NE. "wmax" .AND. \ 1115 vNam(varn) .NE. "vmax" .AND. vNam(varn) .NE. "umax" .AND. \ 1116 vNam(varn) .NE. "ws" .AND. vNam(varn) .NE. "w*" .AND. \ 1117 vNam(varn) .NE. "us" .AND. vNam(varn) .NE. "u*" .AND. \ 1118 vNam(varn) .NE. "Es" .AND. vNam(varn) .NE. "E*" .AND. \ 1119 vNam(varn) .NE. "E") then 1120 1232 1121 n=n+1 1233 1122 res@xyLineColors = (/237/) -
palm/trunk/SCRIPTS/palmplot
r513 r526 7 7 # Last changes 8 8 # 16/03/10 - Rieke - initial revision 9 # 30/03/10 - Rieke - substituting double quotes (") with a character 10 # variable (dq) containing double quotes 9 11 10 12 … … 101 103 fi 102 104 103 # SETTING STRINGS IN QUOTATION MARKS - REQUIRED BY NCL105 # PROCESSING STRINGS 104 106 for a in $STRINGPARAMS 105 107 do 106 108 if [ "$key" = "$a" ] 107 109 then 110 # SUBSTITUTING DOUBLE QUOTES - REQUIRED BY NCL 111 value=`echo $value | sed 's/\"/\"+dq+\"/g'` 112 # SETTING ENTIRE STRING IN DOUBLE QUOTES - REQUIRED BY NCL 108 113 value=\"$value\" 109 114 break … … 117 122 # EXECUTING THE PARTICULAR NCL SCRIPT 118 123 cd $PALM_BIN/NCL 119 ncl $script $CMDLINE124 ncl 'dq=str_get_dq()' $script $CMDLINE 120 125 121 126
Note: See TracChangeset
for help on using the changeset viewer.