the current PV_FRAC_ROOF value in the table is set based on the case study from Andrea's recent study. this parameter is tunable based on each city's situation. If you set it to 60%, then it assumes each urban grid will have a uniform 60% of roof area with PV panels.
thank you. And I would like to ask if it is normal to have a EP_PV_URB3D (w/m2) of about 20 with 50% rooftop PV installed as shown? And all I have viewed in other people's papers the EP_PV_URB3D is within 5w/m2. I am curious why the result is so big. And the ncl code is below:
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("wrfout_d03_2023-07-28_02:00:00_50solar","r")
b = addfile("wrfout_d03_2023-07-28_02:00:00_original","r")
; We generate plots, but what kind do we prefer?
type = "x11"
; type = "pdf"
; type = "ps"
; type = "ncgm"
; wks@wkWidth = 3600
; wks@wkHeight =3600
; wks = gsn_open_wks(type,"plt_Surface1")
wks = gsn_open_wks(type,"EP_PV_URB3D")
gsn_define_colormap(wks,"BlueWhiteOrangeRed") ; overwrite the .hluresfile color map
; Set some basic resources
res = True
; res@NoHeaderFooter = True ; Switch headers and footers off
res@tmXBLabelFontHeightF = 0.02 ;set the size of x-Axis words
res@tmYLLabelFontHeightF = 0.02 ;set the size of y-Axis words
res@lbLabelsOn = True
res@lbTitleOn = True
res@lbTitleString = "EP_PV_URB3D"
res@lbLabelBarTitlesetF = 0.02 ; 调整标题与labelbar之间的距离
; res@lbLabelFontHeightF = 0.02 ;set the size of label bar words
res@pmLabelBarWidthF = 0.15
res@pmLabelBarHeightF = 0.87
res@lbOrientation = "vertical"
res@pmLabelBarSide = "Right"
res@pmLabelBarOrthogonalPosF = -0.03
; res@pmLabelBarParallelPosF = 0.1
pltres = True
pltres@FramePlot = False
mpres = True
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; What times and how many time steps are in the data set?
times = wrf_user_getvar(a,"times",-1) ; get all times in the file
ntimes = dimsizes(times) ; number of times in the file
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
do it = 0,ntimes-1,1 ; TIME LOOP
print("Working on time: " + times(it) )
res@TimeLabel = times(it) ; Set Valid time to use on plots
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; First get the variables we will need
ep_pv_urb3d_a = wrf_user_getvar(a,"EP_PV_URB3D",it) ; T2 in Kelvin
slp = wrf_user_getvar(a,"slp",it) ; slp
ep_pv_urb3d_b = wrf_user_getvar(b,"EP_PV_URB3D",it) ; T2 in Kelvin
ep_pv_urb3d = ep_pv_urb3d_a - ep_pv_urb3d_b
; Plotting options for T
opts = res
opts@cnFillOn = True
; opts@ContourParameters = (/ -1., 1., .1./)
opts@cnLevelSelectionMode = "ManualLevels" ; manually set cn levels
opts@cnMinLevelValF = -20. ; min level
opts@cnMaxLevelValF = 20. ; max level
opts@cnLevelSpacingF = 1 ; contour level spacing
opts@gsnSpreadColorEnd = -3 ; End third from the last color in color map
opts@lbOrientation = "vertical"
opts@pmLabelBarSide = True
contour_ep_pv_urb3d = wrf_contour(a,wks,ep_pv_urb3d,opts)
delete(opts)
; MAKE PLOTS
plot = wrf_map_overlays(a,wks,(/contour_ep_pv_urb3d/),pltres,mpres)
; Set up map resources
plres = True
plres@gsLineColor = "black"
plres@gsLineThicknessF = 1.5
plotshp = gsn_add_shapefile_polylines(wks,plot, shpdir, plres)
draw(plot)
frame(wks)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
end do ; END OF TIME LOOP
end