Ignore:
Timestamp:
Oct 26, 2011 2:20:45 PM (11 years ago)
Author:
heinze
Message:

Bugfixes in case of plot of t=0h and plot of topography zusi/zwwi possible

File:
1 edited

Legend:

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

    r758 r769  
    454454         st=i
    455455         break
     456      else
     457         st=0
    456458      end if
    457459   end do
    458    
    459    if (.not. isvar("st"))then
    460       print(" ")
    461       print("'start_time_step' = "+ start_time_step +"h is invalid")
    462       print(" ")
    463       print("Select another 'start_time_step'")
    464       print(" ")
    465       exit
    466    end if
     460
    467461       
    468462   ; ****************************************************
     
    506500         et=i
    507501         break
     502      else
     503         et=0
    508504      end if
    509505   end do
    510    
    511    if (.not. isvar("et"))then
    512       print(" ")
    513       print("'end_time_step' = "+ end_time_step +"h is invalid")
    514       print(" ")
    515       print("Select another 'end_time_step'")
    516       print(" ")
    517       exit
    518    end if
    519506 
    520507   delete(start_time_step)
     
    14211408   n      = 0
    14221409   no_zu1 = 0
     1410   no_topo= 0
    14231411
    14241412   ;****************************************************
     
    14611449      if ( vNam(varn) .eq. "zw" .or. vNam(varn) .eq. "yv" .or.          \
    14621450           vNam(varn) .eq. "xu" .or. vNam(varn) .eq. "zu" .or.          \
    1463            vNam(varn) .eq. "zwwi" .or. vNam(varn) .eq. "zusi" .or.      \
    14641451           vNam(varn) .eq. "time" .or. vNam(varn) .eq. "zu_3d" .or.     \
    14651452           vNam(varn) .eq. "zw_3d" .or. vNam(varn) .eq. "x".or.         \
     
    14851472         if (xyc .EQ. 1) then
    14861473            temp = f[:]->$vNam(varn)$
    1487             data_att = f_att->$vNam(varn)$
     1474            if (vNam(varn) .eq. "zwwi" .or. vNam(varn) .eq. "zusi")
     1475               dummy=0
     1476            else
     1477               data_att = f_att->$vNam(varn)$
     1478            end if
    14881479            if(vNam(varn) .eq. "lwps_xy" .or. vNam(varn) .eq. "pras_xy"     \
    14891480              .or. vNam(varn) .eq. "prrs_xy" .or. vNam(varn) .eq. "qsws_xy" \
     
    14991490              no_zu1=no_zu1+1
    15001491            else
    1501               data(varn,:,:,:,:)=temp(:,zs:ze,ys:ye,xs:xe)
     1492              if (vNam(varn) .eq. "zwwi" .or. vNam(varn) .eq. "zusi")
     1493                  ;these variables depend on x and y
     1494                  data(varn,0,0,:,:)=doubletofloat(temp(ys:ye,xs:xe))
     1495                  no_topo=no_topo+1
     1496               else
     1497                  data(varn,:,:,:,:)=temp(:,zs:ze,ys:ye,xs:xe)
     1498               end if
    15021499            end if
    15031500            delete(temp)               
     
    15271524                                               0:(ze-zs),0:(ye-ys),0:(xe-xs)))
    15281525         
    1529          unit(varn) = data_att@units
    1530          delete(data_att)
     1526         if (vNam(varn) .eq. "zwwi" .or. vNam(varn) .eq. "zusi")
     1527            unit(varn) = "meters"
     1528          else
     1529            unit(varn) = data_att@units
     1530            delete(data_att)
     1531          end if
    15311532
    15321533      end if
     
    15501551      if ( vNam(varn) .eq. "zw" .or. vNam(varn) .eq. "yv" .or.          \
    15511552           vNam(varn) .eq. "xu" .or. vNam(varn) .eq. "zu" .or.          \
    1552            vNam(varn) .eq. "zwwi" .or. vNam(varn) .eq. "zusi" .or.      \
    15531553           vNam(varn) .eq. "time" .or. vNam(varn) .eq. "zu_3d" .or.     \
    15541554           vNam(varn) .eq. "zw_3d" .or. vNam(varn) .eq. "x".or.         \
     
    16271627      plot=new((/no_time*no_layer/),graphic)
    16281628   else
    1629       plot=new((/no_time*no_layer*no_var - no_time*(no_layer-1)*no_zu1/)\
    1630                                                                 ,graphic)
     1629      plot=new((/no_time*no_layer*(no_var-no_topo) + no_topo - \
     1630                       no_time*(no_layer-1)*no_zu1/),graphic)
    16311631   end if
    16321632   dim_plot=dimsizes(plot)
     
    17561756      if ( vNam(varn) .eq. "zw" .or. vNam(varn) .eq. "yv" .or.          \
    17571757           vNam(varn) .eq. "xu" .or. vNam(varn) .eq. "zu" .or.          \
    1758            vNam(varn) .eq. "zwwi" .or. vNam(varn) .eq. "zusi" .or.      \
    17591758           vNam(varn) .eq. "time" .or. vNam(varn) .eq. "zu_3d" .or.     \
    17601759           vNam(varn) .eq. "zw_3d" .or. vNam(varn) .eq. "x".or.         \
     
    18291828                         loe = 0
    18301829                         level = "=" + zu1(0) + "m"
     1830                      else
     1831                         loe = laye
     1832                     end if
     1833
     1834                     if(vNam(varn) .eq. "zwwi"  .or. \
     1835                        vNam(varn) .eq. "zusi") then
     1836                         loe = 0
     1837                         los = 0
     1838                         lie  = 0
     1839                         lis = 0
     1840                         level = ""
     1841                      else
     1842                         lis = start_time_step
     1843                         lie = end_time_step
     1844                         los = lays
     1845                         loe = laye
    18311846                     end if
    18321847                   
    1833                      cs_res@gsnCenterString = "t=" + \
    1834                        decimalPlaces(t_all(li)/3600,2,True) +"h  z"+level
     1848                     if(vNam(varn) .eq. "zwwi"  .or. \
     1849                        vNam(varn) .eq. "zusi") then
     1850                         cs_res@gsnCenterString = ""
     1851                     else
     1852                         cs_res@gsnCenterString = "t=" + \
     1853                          decimalPlaces(t_all(li)/3600,2,True) +"h  z"+level
     1854                     end if
    18351855
    18361856                     if (vector .EQ. 1 .AND. plotvec .EQ. "plotvec") then
     
    18941914                         lie = 0
    18951915                         level = "=" + zu1(0) + "m"
     1916                     else
     1917                         lie = laye
    18961918                     end if
    1897                
    1898                      cs_res@gsnCenterString = "t=" + \
    1899                            decimalPlaces(t_all(lo)/3600,2,True) + "h  z"+ level
     1919
     1920                     if(vNam(varn) .eq. "zwwi"  .or. \
     1921                        vNam(varn) .eq. "zusi") then
     1922                         lie = 0
     1923                         lis = 0
     1924                         loe = 0
     1925                         los = 0
     1926                         level = ""
     1927                     else
     1928                         lis = lays
     1929                         lie = laye
     1930                         los = start_time_step
     1931                         loe = end_time_step
     1932                     end if
     1933
     1934                     if(vNam(varn) .eq. "zwwi"  .or. \
     1935                        vNam(varn) .eq. "zusi") then
     1936                         cs_res@gsnCenterString = ""
     1937                     else
     1938                         cs_res@gsnCenterString = "t=" + \
     1939                          decimalPlaces(t_all(li)/3600,2,True) +"h  z"+level
     1940                     end if
    19001941
    19011942                     if (vector .EQ. 1 .AND. plotvec .EQ. "plotvec") then
Note: See TracChangeset for help on using the changeset viewer.