Re: gsnSpreadColors doesn't work?; Color Scheme Issue; Plotting A Certain Range of Values

From: Rick Brownrigg <brownrig_at_nyahnyahspammersnyahnyah>
Date: Thu Oct 24 2013 - 12:14:53 MDT

Hi James,

Not sure why gsnSpreadColors is not working for you (I don't see it in your script however). But you might try:

  colorMap = read_colormap_file("BlAqGrYeOrRe")
  res@cnFillPalette = colorMap
  res@cnSpanFillPalette = True

I'm uncertain whether leaving "res@cnFillColors = (/1/)" will still get you your black background. It might be the case you need to set the first element of colorMap to black:

  colorMap(0,:) = (/ 0., 0., 0., 1./) ; read_colormap_map() returns 4-tuples

This is untested, but hopefully it helps…
Rick

On Oct 24, 2013, at 11:41 AM, James Madden <jmmadden@alaska.edu> wrote:

> Hello everyone,
>
> I am plotting Attenuated Depolarization Ratio from CALIPSO data, and I am trying to put more emphasis on the smoke particles that has a typical depolarization value of 0.05. Depolarization ranges, on typical plots, from 0 to 1, and I am trying to take a specific part of that range and look more closely at the values I want.
>
> I shorted the range, from 0 to 0.4, and the values increase irregularly. This can be found at res@cnLevels.
>
> The problem is my color scheme is not allowing me to go into much detail. I want a background of black to exclude the values outside of my range, but then the color scheme doesn't go from Blue to Red. It just stops around light blue (probably because it still thinks the range is from 0 to 1?).
>
> I need black for the values outside of my range, and the full color plot spread over all values (that is from blue to red) within my specified range. Reiterating my range is from 0 to 0.4, and the values increase irregularly.
>
> When I use gsnSpreadColors, the plot doesn't change.
>
> Thank you much. I have attached a picture of my current plot, and the code is below.
>
>
> ;**************************************************
> ; This will plot CALIPSO data for your domain
> ; Author: Cory Wolff from UCAR (thank him in thesis!), edits by J. Madden
> ;**************************************************
> load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
> load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
> load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
> load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/shea_util.ncl"
> load "$NCARG_ROOT/lib/ncarg/nclscripts/contrib/ut_string.ncl"
> load "color_map.ncl"
> ;**************************************************
> begin
>
> ; --- Read Calipso Data ------------;
> fili = systemfunc("ls /import/archive/u1/uaf/jmmadden/WILDFIRE2009/CALIPSOdata/SUBSETS/CAL_LID*")
> nfil = dimsizes(fili) ; this is 26
>
> f = addfiles(fili + ".hdf","r")
> wks = gsn_open_wks("x11","depol")
> ;wks = gsn_open_wks("pdf","depol")
>
>
> do ifile = 0, nfil-1
>
> ; YOU NEED THE RATIO OF PERPENDICULAR ATTENUATED BACKSCATTER OVER TOTAL ATTENUATED BACKSCATTER, BOTH AT 532 TO GET ATTENUATED DEPOLARIZATION RATIO
>
> tot = f[ifile]->Total_Attenuated_Backscatter_532
> perp = f[ifile]->Perpendicular_Attenuated_Backscatter_532
> back1 = perp/tot
> back1!0 = "first"
> back1!1 = "second"
> dims = getvardims(back1)
>
> ; Reverse the vertical array
> back1 = back1(:,::-1)
>
> ; Reorder using string dimension names
> back = back1(second|:,first|:)
> ; back = back1($dims(1)$|:,$dims(0)$|:)
> back@_FillValue = -9999
> back@units = "km~S~-1~NN~ sr~S~-1~NN~"
>
> ; Get the lat and lon arrays for the x-axis
> lat = (/f[ifile]->Latitude/)
> lon = (/f[ifile]->Longitude/)
>
> xlabel = sprintf("%.2f",lat)+"~C~"+sprintf("%.2f",lon)
>
> ; Work with the time fields to get a valid time string
> time = (/f[ifile]->Profile_Time/)
> time@units = "seconds since 1993-01-01 00:00"
> tstring = ut_string(time(:,0), "%Y-%N-%D %H:%M:%S")
>
> ; Set stride intervals for x-axis
> stride = dimsizes(tstring)/15
>
> ; Get the altitude values.
> hgt = asciiread("lidar_altitudes.txt", -1, "float")
> hgt = hgt(::-1) ; Reverse this array too
> hgt!0 = "hgt"
> hgt@long_name = "Altitude, km"
> hgt@units = "km"
>
> printVarSummary(hgt)
>
> ; Assign new dimensions and attributes
> back!0 = "hgt"
> back&hgt = hgt
> xcoord = ispan(0,dimsizes(lat(:,0)) - 1,1)
> back!1 = "xcoord"
> back&xcoord = xcoord
>
> ;*************************
> ; create plot
> ;*************************
> setvalues NhlGetWorkspaceObjectId()
> "wsMaximumSize": 300000000
> end setvalues
>
> gsn_define_colormap(wks, "BlAqGrYeOrRe")
>
> res = True
> res@cnFillOn = True ; color plot desired
> res@cnLinesOn = False
>
> ; set a black background
> res@cnFillColors = (/1/) ; 1 is black
> res@cnRasterModeOn = True
> res@gsnAddCyclic = False
> res@gsnMaximize = True
> res@gsnLeftString = "UTC: "+tstring(0)+" to "+tstring(dimsizes(tstring)-1)
> res@tiMainString = "Attenuated Depolarization Ratio"
> res@tiMainFontHeightF = 0.025
> res@tiYAxisFontHeightF = 0.02
> res@cnLevelSelectionMode = "ExplicitLevels"
> res@cnLevels = (/0.0,0.005,0.01,0.015,0.02,0.025,0.05,0.075,0.1,0.15,0.2,0.3,0.4/)
> res@lbLabelStrings = (/0.0,0.005,0.01,0.015,0.02,0.025,0.05,0.075,0.1,0.15,0.2,0.3,0.4/)
>
> res@tmXTOn = False
> res@tmXBMode = "Explicit"
> res@tmXBValues = xcoord(::stride)
> res@tmXBLabels = xlabel(::stride,0)
> res@tmXBLabelFontHeightF = 0.01
>
> ; Set a vertical range of 5 km.
> res@trYMaxF = 5
>
> res@lbLabelFontHeightF = 0.01
> res@lbLabelAngleF = 0.0
> res@lbOrientation = "vertical"
> res@vpWidthF = 1.0
>
> res@gsnDraw = True
> res@gsnFrame = False
>
> plot = gsn_csm_contour(wks,back,res)
>
> frame(wks)
>
>
> delete(tot)
> delete(perp)
> delete(back)
> delete(back1)
> delete(lat)
> delete(lon)
> delete(xlabel)
> delete(time)
> delete(tstring)
> delete(xcoord)
>
> end do
> end
>
> --
> Mike Madden
> Graduate Research Assistant
> Department of Atmospheric Sciences
> University of Alaska Fairbanks
> IARC 338N
> Office: (907) 474-7618
> Cell: (417) 439-2830
> ---------------------------------------------------------------------
> "Buy the ticket, take the ride." Hunter S. Thompson
> <depol.JPG>_______________________________________________
> ncl-talk mailing list
> List instructions, subscriber options, unsubscribe:
> http://mailman.ucar.edu/mailman/listinfo/ncl-talk

_______________________________________________
ncl-talk mailing list
List instructions, subscriber options, unsubscribe:
http://mailman.ucar.edu/mailman/listinfo/ncl-talk
Received on Thu Oct 24 12:15:02 2013

This archive was generated by hypermail 2.1.8 : Fri Nov 01 2013 - 08:58:14 MDT