; Plots the locations of plume diagrams for the real-time website ; If the plume locations are adjusted, will need to re-run this for updated map of locations ; Andrew Kren ; Novembe 24, 2015 begin ; edit below for your needs ;--------------------------------------------------------- output_type = "ps" ; "x11", "ps", etc output_file = "plume_locations" ;---------------------------------------------------------- ; set global map resources wks=gsn_open_wks("png",output_file) ; set some resources that will apply to the base contour/map that we are going to use to overlay ; the other contour plots on res = True res@gsnMaximize = True ; maximize plot in frame res@mpFillOn = True ; turn off gray fill res@gsnFrame = False res@mpFillColor = "transparent" res@mpMonoFillColor = True res@mpFillDrawOrder = "draw" res@mpOutlineDrawOrder = "postdraw" res@tiMainString = "GEFS Plume Locations" res@tiMainFontHeightF = 0.016 res@mpMinLatF = 15 ; specify min lat res@mpMaxLatF = 90 res@mpMinLonF = 180 res@mpMaxLonF = 260 res@mpOutlineOn = True res@mpOutlineOn = True res@mpDataSetName = "Earth..4" res@mpCenterLonF = 245 ; specify center lon ;res@mpGeophysicalLineColor = "Black" res@mpNationalLineThicknessF = 3.0 res@mpOutlineBoundarySets = "GeophysicalAndUSStates" ; res@mpOutlineSpecifiers = (/"Conterminous US : states" /) res@mpGeophysicalLineThicknessF = 3.0 ; thickness of boundaries res@tmXBLabelsOn = False res@tmYLLabelsOn = False res@tmXBOn = False res@tmXTOn = False res@tmYLOn = False res@tmYROn = False res@mpUSStateLineThicknessF = 1.5 res@mpUSStateLineColor = "Black" res@mpLandFillColor = "gray" ; set land to be gray ; draw map res@mpDataBaseVersion = "HighRes" map = gsn_csm_map(wks,res) ; draw map again, but with medium res coastlines and no fill res@mpFillOn = False res@mpDataBaseVersion = "MediumRes" map = gsn_csm_map(wks,res) ; plume cities and lat/lon locations lat_cities = (/55.35,58.3,61.22,57.79,64.84,59.55,60.07,55.07,58.69,59.01,64.50,70.33,71.3,68.35,40.03,47.61,45.52,44.05,42.33,41.76,40.80,37.78,38.56,37.65,37.34,36.6,36.75,34.95,34.43,34.05,32.72/) lon_cities = (/131.67,134.42,149.9,152.39,147.72,139.73,148.01,162.32,156.66,161.82,165.40,148.71,156.77,166.76,105.25,122.33,122.68,123.09,122.86,124.20,124.16,122.42,121.47,118.97,121.89,121.90,119.77,120.43,119.71,118.25,117.16/) lon_cities = -1.0 * lon_cities + 360.00 ; degrees east to be consistent with .grib2 output cities_name = (/"Ketchikan", "Juneau", "Anchorage", "Kodiak", "Fairbanks", "Yakutat", "Chenega", "King Cove", "King Salmon", "Platinum", "Nome", "Prudhoe Bay", "Barrow", "Point Hope","Boulder", "Seattle", "Portland", "Eugene", "Medford","Crescent City","Eureka","San Francisco","Sacramento", "Mammoth Lakes","San Jose","Monterey","Fresno","Santa Maria","Santa Barbara","Los Angeles","San Diego"/) cities = (/"Ketchikan", "Juneau", "Anchorage", "Kodiak", "Fairbanks", "Yakutat", "Chenega", "King_Cove", "King_Salmon", "Platinum", "Nome", "Prudhoe_Bay", "Barrow", "Point_Hope","Boulder", "Seattle", "Portland", "Eugene", "Medford", "Crescent_City", "Eureka","San_Francisco", "Sacramento","Mammoth_Lakes", "San_Jose","Monterey","Fresno","Santa_Maria","Santa_Barbara","Los_Angeles","San_Diego"/) ; plot locations on map ; points for text on map so it looks nice, will need to adjust for various storm tracks!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ;xpt2 = where(xpt.lt.0,xpt+360,xpt) ;xpt3 = where(xpt2.gt.176,xpt2+8.0,xpt-8.0) ;ypt3 = where(xpt2.ge.176.and.xpt2.le.180,ypt+2.0,ypt+1.0) kres = True ; add markers to the first trajectory kres@gsMarkerIndex = 16 ; circle kres@gsMarkerSizeF = 5.0 ; marker size kres@gsMarkerColor = "red" ; marker color gsn_polymarker(wks,map,lon_cities,lat_cities,kres) ; add legend to plot to indicate the 3 storm tracks ;xleg = (/0.1,0.1,0.1,0.1,0.1,0.1/) ;xtxt = (/0.19,0.15,0.17,0.19,0.19,0.19/) ;yleg = (/0.18,0.16,0.14,0.12,0.10,0.08/) ;ytxt = (/0.18,0.16,0.14,0.12,0.10,0.08/) ;colors = (/"red","blue","green","orange","yellow","purple"/) ;labels = (/"GFS Analysis","GFS", "WRF Ctrl", "WRF Exp1-3d","WRF Exp2-3d","WRF Exp3-3d"/) ;xleg = (/0.01,0.01/) ;xtxt = (/0.09,0.05/) ;yleg = (/0.1,0.08/) ;ytxt = (/0.1,0.08/) ;colors = (/"red","blue","green"/) ;labels = (/"GFS Analysis","GFS"/) ;do i=0,dimsizes(labels)-1 ;gsres = True ;gsres@gsMarkerIndex = 16 ;gsres@gsMarkerColor = colors(i) ;txres = True ;txres@txFontHeightF = 0.015 ;gsn_polymarker_ndc(wks,xleg(i),yleg(i),gsres) ;gsn_text_ndc(wks,labels(i),xtxt(i),ytxt(i),txres) ;end do frame(wks) end