[Wrf-users] ncl moiture fluxes

Obadias Cossa objacoe at hotmail.com
Tue Jun 12 16:05:54 MDT 2012


Hello!
May anyone help on correcting this script. Its showing error on line  plot(0) = wrf_map_overlays(a,wks,(/vector/),pltres,mpres) , but when I check the  wrf_map_overlays syntax lookx fine.
See whole script is below!

Obadias

load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/wrf/WRFUserARW.ncl"
begin
;
; The WRF ARW input file.  
; This needs to have a ".nc" appended, so just do it.
  a = addfile("/media/Obedias/medias/DJF_I/DJF_2001.nc","r") ; DJF_2001.nc is a normao wrf_out file.
; We generate plots, but what kind do we prefer?
  type = "pdf"
; type = "pdf"
  wks  = gsn_open_wks(type,"overlay_1")
; Set some Basic Plot options
  res = True
  res at MainTitle                   = "moisture flux trial"
  ;res at Footer = False
  pltres = True
  mpres = True
  mpres at mpGeophysicalLineColor      = "Black"
  mpres at mpNationalLineColor         = "Black"
  mpres at mpUSStateLineColor          = "Black"
  ;mpres at mpGridLineColor             = "Black"
  mpres at mpLimbLineColor             = "Black"
  mpres at mpPerimLineColor            = "Black"
  mpres at mpGeophysicalLineThicknessF = 2.0
  ;mpres at mpGridLineThicknessF        = 1.0
  mpres at mpLimbLineThicknessF        = 2.0
  mpres at mpNationalLineThicknessF    = 2.0
  mpres at mpUSStateLineThicknessF     = 1.0

      pltres at PanelPlot = True      ; Indicate these plots are to be paneled.
      pltres at PanelPlot = True      ; Indicate these plots are to be paneled.
      mpres at PanelPlot = True      ; Indicate these plots are to be paneled.
      mpres at PanelPlot = True      ; Indicate these plots are to be paneled.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; What times and how many time steps are in the data set?
  times  = wrf_user_list_times(a)  ; get times in the file
  ;ntimes = dimsizes(times)         ; number of times in the file.
  ntimes = dimsizes(1)         ; number of times in the file
; The specific pressure levels that we want the data interpolated to.
  pressure_levels = (/ 850., 700., 500., 300./)   ; pressure levels to plot
  nlevels         = dimsizes(pressure_levels)     ; number of pressure levels
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

  do it = 0,ntimes-1,1             ; TIME LOOP
    print("Working on time: " + times(it) )
    ;res at TimeLabel = times(it)   ; Set Valid time to use on plots
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; First get the variables we will need        
    u  = wrf_user_getvar(a,"ua",it)        ; 
    v  = wrf_user_getvar(a,"va",it)        ; 
    p  = wrf_user_getvar(a, "pressure",it) ; 
    rh = wrf_user_getvar(a,"rh",it)        ; 
   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    do level = 0,nlevels-1                 ; LOOP OVER LEVELS

      pressure = pressure_levels(level)          
       rh_plane = wrf_user_intrp3d(rh,p,"h",pressure,0.,False) ; 
      u_plane  = wrf_user_intrp3d( u,p,"h",pressure,0.,False)
      v_plane  = wrf_user_intrp3d( v,p,"h",pressure,0.,False)
      qu_plane = rh_plane*u_plane                            ; for fluxs
      qv_plane= rh_plane*v_plane                             ; for fluxs
      
      ; Plotting options for Moisture flux 
        gsn_define_colormap(wks,"sunshine_9lev")             ; ("BlWhRe")    
        ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;     
        opts = True
        opts at InitTime = False     ;Plot initial time on graphic. If True, the initial time will be extracted from the input file.
        opts at ValidTime= False     ; Plot valid time on graphic. Default is True. A user must set opts at TimeLabel to the correct time.   
        opts at vcGlyphStyle     = "CurlyVector"             ; turn on curley vectors 
        opts at FieldTitle = "Moiture flux"   ; overwrite Field Title
        opts at NumVectors = 40       ; wind barb density
        vector = wrf_vector(a,wks,qu_plane,qv_plane,opts)
    ;#######Genito######## 
     pltres at gsnFrame             = False        ; do not advance frame  
     mpres at gsnFrame             = False        ; do not advance frame  
    ;#########################
      if ( pressure .eq. 850 ) then   ; plot temp, rh, height, wind barbs
         plot(0) = wrf_map_overlays(a,wks,(/vector/),pltres,mpres)
          map0=plot(0) ; keep in the memory
        end if

        if ( pressure .eq. 700 ) then   ; plot temp, height, wind barbs
          plot(1) = wrf_map_overlays(a,wks,(/vector/),pltres,mpres)
          map1=plot(1); 
        end if

        if ( pressure .eq. 500 ) then   ; plot temp, height, wind barbs
          plot(2) = wrf_map_overlays(a,wks,(/vector/),pltres,mpres)
          map2=plot(2); 
        end if

        if ( pressure .eq. 300 ) then   ; plot windspeed, height, wind barbs
         plot(3) = wrf_map_overlays(a,wks,(/vector/),pltres,mpres)
          map3=plot(3); 
         end if
  ;     delete(opts_z)

      pnlres = True
          pnlres at gsnFrame             = False        ; do not advance frame 
          pnlres at gsnPanelYWhiteSpacePercent = 5
          pnlres at gsnPanelXWhiteSpacePercent = 5 ; Adds the white space to the panel plot.
          pnlres at gsnPanelFigureStrings= (/"(a)","(b)","(c)","(d)"/)
;      gsn_panel(wks,plot,(/2,2/),pnlres)
;***************************************************************************************
   end do       ; END OF LEVEL LOOP
   end do        ; END OF TIME LOOP

      gsn_panel(wks,(/map0,map1,map2,map3 /),(/2,2/),pnlres)
          frame(wks) ; coloque num frame
end

 		 	   		  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ucar.edu/pipermail/wrf-users/attachments/20120613/5ba26410/attachment-0001.html 


More information about the Wrf-users mailing list