Changeset 963 for palm/trunk/SCRIPTS/NCL


Ignore:
Timestamp:
Jul 25, 2012 12:40:24 PM (12 years ago)
Author:
hoffmann
Message:

minor improvements in palmplot pr

File:
1 edited

Legend:

Unmodified
Added
Removed
  • palm/trunk/SCRIPTS/NCL/profiles.ncl

    r961 r963  
    13221322      end if
    13231323
    1324       ; ****************************************************
    1325       ; set up legend and colors
    1326       ; ****************************************************
    1327      
    1328       legend_label=new(np,string)
    1329       do p=0, np-1
    1330           legend_label(p)=sprintf("%6.2f", t_all(ti_in(p))/3600)
    1331       end do
    1332 
    1333       ; ***************************************************
    1334       ; set up recourses
    1335       ; ***************************************************
    1336 
    1337       res                         = True
    1338       res@gsnDraw                 = False
    1339       res@gsnFrame                = False
    1340       res@txFont                  = "helvetica"
    1341       res@tiMainFont              = "helvetica"
    1342       res@tiXAxisFont             = "helvetica"
    1343       res@tiYAxisFont             = "helvetica"
    1344       res@tmXBLabelFont           = "helvetica"
    1345       res@tmYLLabelFont           = "helvetica"
    1346       res@lgLabelFont             = "helvetica"
    1347       res@tmLabelAutoStride       = True
    1348 
    1349 
    1350       if (legend .EQ. 1)then
    1351           res@pmLegendDisplayMode  = "Always"
    1352       end if
    1353 
    1354       res@pmLegendSide            = "Right"
    1355       res@xyExplicitLegendLabels  = legend_label
    1356       res@pmLegendWidthF          = 0.12
    1357       res@pmLegendHeightF         = 0.05*np
    1358       res@pmLegendParallelPosF    = 1.0
    1359       res@pmLegendOrthogonalPosF  = -0.2625;-1.0
    1360       res@lgLabelFontHeightF      = font_size_legend
    1361       res@lgTitleString           = "Time (h)"
    1362       res@lgTitleFontHeightF      = font_size   
    1363       res@txFontHeightF           = font_size
    1364       res@tiXAxisFontHeightF      = font_size
    1365       res@tiYAxisFontHeightF      = font_size
    1366       res@tmXBLabelFontHeightF    = font_size
    1367       res@tmYLLabelFontHeightF    = font_size
    1368       res@tiXAxisString           = " "
    1369       res@lgJustification         = "TopLeft"
    1370 
    1371       if ( black .eq. 0 ) then 
    1372           res@xyLineColors = -(ispan(-237,-2,235/np))
    1373       end if
    1374       if (norm_z .EQ. 1)then
    1375           res@tiYAxisString = "Height (m)"
    1376       else   
    1377           res@tiYAxisString = "Height / "+norm_z+" (m)"
    1378       end if
    1379        
    1380       if (log_z .EQ. 1) then
    1381           res@trYLog = True
    1382       end if
    1383 
    1384       if (dash .EQ. 0 ) then
    1385           res@xyMonoDashPattern = True
    1386       else
    1387           res@xyMonoDashPattern = False
    1388           if (no_files .GT. 1)
    1389             res@xyMonoDashPattern = True 
    1390             print(" ")
    1391             print("If you use more than one file, patterns for different "+\
    1392                   "timesteps cannot be used")
    1393             print(" ")
    1394           end if       
    1395       end if
    1396 
    1397       res@tmXBMinorPerMajor = 4
    1398       res@tmYLMinorPerMajor = 4
    1399 
    1400       resP                            = True
    1401       resP@gsnMaximize                = True
    1402       resP@gsnPanelXWhiteSpacePercent = 3.0
    1403       resP@gsnPanelYWhiteSpacePercent = 2.0
    1404       resP@txFont                     = "helvetica"
    1405       resP@txString                   = f_att@title
    1406       resP@txFuncCode                 = "~"
    1407       resP@txFontHeightF              = 0.015
    1408 
    1409       ; ***************************************************
    1410       ; set up graphics for plot
    1411       ; ***************************************************
    1412 
    1413       if (combine .EQ. 1) then
    1414           plot_o = new(number_comb,graphic) 
    1415           label=new(number_comb,string)
    1416           color_o=new(number_comb,integer)
    1417 
    1418           if (check_vType) then
    1419             mini=new(number_comb,double)
    1420             maxi=new(number_comb,double)
    1421           else
    1422             mini=new(number_comb,float)
    1423             maxi=new(number_comb,float)
    1424           end if
    1425       end if
    1426    
    1427       if ( format_out .EQ. "pdf" .OR. format_out .EQ. "ps" ) then
    1428           format_out@wkPaperSize = "A4"
    1429       end if
    1430       if ( format_out .EQ. "png" ) then
    1431           format_out@wkWidth  = 1000
    1432           format_out@wkHeight = 1000
    1433       end if
    1434 
    1435       if (wks_gsn_log) then
    1436           wks=gsn_open_wks(format_out,file_out)
    1437           gsn_define_colormap(wks,"rainbow+white")
    1438           wks_gsn_log = False
    1439       end if
     1324      if (com_i .EQ. 0) then
    14401325
    14411326      ; ***************************************************
     
    15411426      min_z=min_z/norm_z
    15421427      max_z=max_z/norm_z
     1428
     1429      end if
     1430
     1431      ; ****************************************************
     1432      ; set up legend and colors
     1433      ; ****************************************************
     1434     
     1435      legend_label=new(np,string)
     1436      do p=0, np-1
     1437          legend_label(p)=sprintf("%6.2f", t_all(ti_in(p))/3600)
     1438      end do
     1439
     1440      ; ***************************************************
     1441      ; set up recourses
     1442      ; ***************************************************
     1443
     1444      res                         = True
     1445      res@gsnDraw                 = False
     1446      res@gsnFrame                = False
     1447      res@txFont                  = "helvetica"
     1448      res@tiMainFont              = "helvetica"
     1449      res@tiXAxisFont             = "helvetica"
     1450      res@tiYAxisFont             = "helvetica"
     1451      res@tmXBLabelFont           = "helvetica"
     1452      res@tmYLLabelFont           = "helvetica"
     1453      res@lgLabelFont             = "helvetica"
     1454      res@tmLabelAutoStride       = True
     1455
     1456
     1457      if (legend .EQ. 1)then
     1458          res@pmLegendDisplayMode  = "Always"
     1459      end if
     1460
     1461      res@pmLegendSide            = "Left";"Right"
     1462      res@xyExplicitLegendLabels  = legend_label
     1463      res@pmLegendWidthF          = 0.12
     1464      res@pmLegendHeightF         = 0.05*np
     1465      res@pmLegendParallelPosF    = 1.0
     1466
     1467      if (max_z .GE. 1000.) then
     1468         res@pmLegendOrthogonalPosF  = -1.227
     1469      else if ((max_z .LT. 1000.) .AND. (max_z .GE. 100.)) then
     1470         res@pmLegendOrthogonalPosF  = -1.202
     1471      else if ((max_z .LT. 100.) .AND. (max_z .GE. 10.)) then
     1472         res@pmLegendOrthogonalPosF  = -1.177
     1473      else if ((max_z .LT. 10.) .AND. (max_z .GE. 1.)) then
     1474         res@pmLegendOrthogonalPosF  = -1.190
     1475      else if ((max_z .LT. 1.)) then
     1476         res@pmLegendOrthogonalPosF  = -1.215
     1477      end if
     1478      end if
     1479      end if
     1480      end if
     1481      end if
     1482      res@lgLabelFontHeightF      = font_size_legend
     1483      res@lgTitleString           = "Time (h)"
     1484      res@lgTitleFontHeightF      = font_size   
     1485      res@txFontHeightF           = font_size
     1486      res@tiXAxisFontHeightF      = font_size
     1487      res@tiYAxisFontHeightF      = font_size
     1488      res@tmXBLabelFontHeightF    = font_size
     1489      res@tmYLLabelFontHeightF    = font_size
     1490      res@tiXAxisString           = " "
     1491      res@lgJustification         = "TopLeft"
     1492
     1493      if ( black .eq. 0 ) then 
     1494          res@xyLineColors = -(ispan(-237,-2,235/np))
     1495      end if
     1496      if (norm_z .EQ. 1)then
     1497          res@tiYAxisString = "Height (m)"
     1498      else   
     1499          res@tiYAxisString = "Height / "+norm_z+" (m)"
     1500      end if
     1501       
     1502      if (log_z .EQ. 1) then
     1503          res@trYLog = True
     1504      end if
     1505
     1506      if (dash .EQ. 0 ) then
     1507          res@xyMonoDashPattern = True
     1508      else
     1509          res@xyMonoDashPattern = False
     1510          if (no_files .GT. 1)
     1511            res@xyMonoDashPattern = True 
     1512            print(" ")
     1513            print("If you use more than one file, patterns for different "+\
     1514                  "timesteps cannot be used")
     1515            print(" ")
     1516          end if       
     1517      end if
     1518
     1519      res@tmXBMinorPerMajor = 4
     1520      res@tmYLMinorPerMajor = 4
     1521
     1522      resP                            = True
     1523      resP@gsnMaximize                = True
     1524      resP@gsnPanelXWhiteSpacePercent = 6.0
     1525      resP@gsnPanelYWhiteSpacePercent = 6.0
     1526      resP@txFont                     = "helvetica"
     1527      resP@txString                   = f_att@title
     1528      resP@txFuncCode                 = "~"
     1529      resP@txFontHeightF              = 0.0105
     1530
     1531      ; ***************************************************
     1532      ; set up graphics for plot
     1533      ; ***************************************************
     1534
     1535      if (combine .EQ. 1) then
     1536          plot_o = new(number_comb,graphic) 
     1537          label=new(number_comb,string)
     1538          color_o=new(number_comb,integer)
     1539
     1540          if (check_vType) then
     1541            mini=new(number_comb,double)
     1542            maxi=new(number_comb,double)
     1543          else
     1544            mini=new(number_comb,float)
     1545            maxi=new(number_comb,float)
     1546          end if
     1547      end if
     1548   
     1549      if ( format_out .EQ. "pdf" .OR. format_out .EQ. "ps" ) then
     1550          format_out@wkPaperSize = "A4"
     1551      end if
     1552      if ( format_out .EQ. "png" ) then
     1553          format_out@wkWidth  = 1000
     1554          format_out@wkHeight = 1000
     1555      end if
     1556
     1557      if (wks_gsn_log) then
     1558          wks=gsn_open_wks(format_out,file_out)
     1559          gsn_define_colormap(wks,"rainbow+white")
     1560          wks_gsn_log = False
     1561      end if
    15431562
    15441563      ; ***************************************************
     
    33373356                if (over .EQ. 0) then
    33383357
    3339                    label = vNam(varn)
     3358                   label = " " + vNam(varn)
    33403359
    33413360                   lgres1                    = True
     
    33443363                   lgres1@lgLabelFont        = "helvetica"   
    33453364                   lgres1@lgLabelFontHeightF = font_size_legend * 10.0 * 0.7
    3346                    lgres1@vpWidthF           = 0.12           
     3365                   lgres1@vpWidthF           = 0.14           
    33473366                   lgres1@vpHeightF          = 0.1 / 3.0 + 0.01         
    33483367               
     
    45524571                      end if
    45534572                  end if
    4554                   label(n_o)=vNam(varn)
     4573                  label(n_o)=" " + vNam(varn)
    45554574                  color_o(n_o)=237
    45564575                  plot_o(n_o)=gsn_csm_xy(wks,data(varn,:,:),z,res)
     
    45994618          lgres                    = True
    46004619          lgMonoDashIndex          = False
     4620          lgres@lgLineDashSegLenF  = 0.075
    46014621          lgres@lgDashIndexes      = (/0,1,2/)
    46024622          lgres@lgLabelFont        = "helvetica"   
    4603           lgres@vpWidthF           = 0.12           
    4604           lgres@vpHeightF          = 0.1 * number_comb / 3.0 + 0.01       
     4623          lgres@vpWidthF           = 0.14           
     4624          lgres@vpHeightF          = 0.1 * number_comb / 3.0 + (number_comb + 1) * 0.01       
    46054625          lgres@lgLabelFontHeightF = 10.0 * font_size_legend * ((number_comb \
    46064626                                     - 2.0) * 0.35 + 0.65)
Note: See TracChangeset for help on using the changeset viewer.