[gradsusr] Question about COLA/IGES legend and lower title bar
Jennifer Adams
jma at cola.iges.org
Wed Jun 11 20:34:18 EDT 2014
Thanks, Kevin, for the positive feedback. I think your plot is really lovely! If you want to use to the fan-shaped color bar in the corner, you could switch to a polar stereographic projection which would compress the high latitude areas to look a little more globe-like, and the area under the color bar in the upper left corner would probably not be missed since is is out of your graphic as it looks now. Also, it is somewhat hard to distinguish the areas of rain <0.1 inches in places where the underlying map is also dark green -- the COLA precip maps suffer a bit from that problem, lots of user complained about it -- maybe a shade of grey at the very bottom of your color scale would act like a bright contour around the rainy areas. I know it is hard to please everyone with one graphic, and I am always ready for a conversation about polishing graphics, so I will suggest changes even if they aren't really necessary or merited. I like your title, POSSIBLE rainfall…
--Jennifer
On Jun 11, 2014, at 6:52 PM, Kevin M Levey wrote:
> Hi Jennifer
>
> MANY thanks for your excellent explanation (as usual). I just find your COLA/IGES plots to be very professional looking and wanted to change the style of the plots we produce within our own company. I’ve spent many an hour figuring out the intricacies of imagemagik and GRaDs and was successful in producing output as such:
>
> <CW027_RAINFALL_DAY_E_800x600_0.jpeg>
>
> As you well know, plenty of trial and error and a whole lot of man hours to figure that all out. I’ve not used the latest version of Grads to try and do the same things without all the imagemagik processing fuss.
>
> Thanks for the code for the legend.
>
> Regards,
>
> Kevin M Levey, MSc in Oceans and Atmospheric Sciences (University of Cape Town)
> Vice President of Operations
> CustomWeather, Inc.
> San Francisco, California, USA
>
> "Taking the World by Storm!"
>
> http://www.customweather.com
> http://www.myforecast.com
> http://www.1stweather.com
>
> cell: 415-794-0411
> work: 415-777-3566
> email: klevey at customweather.com
>
> On Jun 11, 2014, at 2:30 PM, Jennifer Adams <jma at COLA.IGES.ORG> wrote:
>
>> Hi, Kevin --
>> I'm glad you are happy with version 2.1 and it didn't take too much work to incorporate gxprint. It is faster than writing out the metafile and running gxyat separately.
>>
>> I have a set of background images with the topography that are a fixed size, that I am unable to re-create because of deprecated features in the imagemagik routine 'combine'. There probably is a way to do it with cairo, but I haven't had time to figure it out. So I am stuck with that image size and aspect ratio, unless I want to abandon the topography background, which I am not willing to do. I use mpvals to get the plot to fill the page and 'set parea 0 10.98 0 8.5'.
>>
>> It can be tricky to get the mpvals just right to fill the page, but I am stuck with that technique because of the background image. There is a better way to do this -- draw the plot in the domain you want, use 'q gxinfo' to get the aspect ratio of the plot, then restart grads with -a using that ratio… But I digress.
>>
>> The title bar is drawn on top of the finished graphic with 'draw recf', and the font is LiberationSans-Regular. The color fan has a big white mark (style 3) drawn underneath it to mask out the plot in the corner.
>>
>> I create each panel using gxprint with -b and -t options, and then I use pngquant to shrink the filesize. ImageMagik is not a part of the operational scripts. The subroutine to draw the fan-shaped color bar is below. Note there are some global variables in there that will not work right if you run it as is.
>> --Jennifer
>>
>> * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
>> * Draws a fan-shaped color bar in the upper right corner
>>
>> function carc(panel)
>> ro = 1.04 ;* outer radius for colors
>> ri = 0.50 ;* inner radius for colors
>> rt = 1.10 ;* radius for text
>> rti = 1.0 ;* radius for inner text
>> * xc,yc = coordinates of center of circle (a.k.a. the upper right hand corner of plot)
>> if (_regn='hemi' | _regn='shemi')
>> xc = 8.5
>> else
>> xc = 10.98
>> endif
>> yc = 8.5
>>
>> * read the shading and contour info from _shades
>> ll = 1
>> data = sublin(_shades,1)
>> ll = subwrd(data,5)
>> mm = 1
>> while (mm <= ll)
>> mmp1 = mm + 1
>> data = sublin(_shades,mmp1)
>> col.mm = subwrd(data,1)
>> if (col.mm < 0)
>> col.mm = 999
>> endif
>> lim.mm = subwrd(data,3)
>> if (lim.mm = '>')
>> lim.mm = ' '
>> break
>> endif
>> mm = mm + 1
>> endwhile
>>
>> * Cover up the corner of the plot
>> if (_regn!='hemi' & _regn!='shemi')
>> 'set line 561' ; 'draw mark 3 'xc' 'yc' 2.8' ;* filled circle
>> 'set line 1 1 3'; 'draw mark 2 'xc' 'yc' 2.8' ;* open circle outline
>> endif
>>
>> * dd = amount of arc for colors to subtend (90deg)
>> * id = position on unit circle at which to start (270deg or bottom)
>> dd = 3.1415926*0.5/ll
>> id = 3.1415926*1.50
>> * calculate starting points
>> 'd 'ro'*cos('id')' ; xfo = subwrd(result,4) + xc
>> 'd 'ro'*sin('id')' ; yfo = subwrd(result,4) + yc
>> 'd 'ri'*cos('id')' ; xfi = subwrd(result,4) + xc
>> 'd 'ri'*sin('id')' ; yfi = subwrd(result,4) + yc
>>
>> * For each color, calculate new points for color fills and text
>> mm = 1
>> while(mm<=ll)
>> id = id - dd
>> 'd 'ro'*cos('id')' ; xlo = subwrd(result,4) + xc
>> 'd 'ro'*sin('id')' ; ylo = subwrd(result,4) + yc
>> 'd 'ri'*cos('id')' ; xli = subwrd(result,4) + xc
>> 'd 'ri'*sin('id')' ; yli = subwrd(result,4) + yc
>> 'd 'rt'*cos('id')' ; xft = subwrd(result,4) + xc
>> 'd 'rt'*sin('id')' ; yft = subwrd(result,4) + yc
>> if (panel=7)
>> 'd 'rti'*cos('id')'; xfti = subwrd(result,4) + xc
>> 'd 'rti'*sin('id')'; yfti = subwrd(result,4) + yc
>> endif
>> did = id*180/3.1415926 - 180 ;* rotation angle for text
>>
>> * Draw the color wedge
>> 'set line 'col.mm
>> 'draw polyf 'xfi' 'yfi' 'xfo' 'yfo' 'xlo' 'ylo' 'xli' 'yli
>>
>> * Draw the contour values
>> ck = subwrd(lim.mm,1)
>> if (ck != '')
>> 'set string 1 r 4 'did
>> 'set strsiz 0.08 0.11'
>>
>> if (panel=1 | (panel=3 & _tindx=1) | panel=4 | panel=5 )
>> * draw a label for every color wedge
>> 'draw string 'xft' 'yft' 'lim.mm
>> endif
>> if (panel=2)
>> * draw label if it is divisible by 4
>> fmod = math_fmod(lim.mm,4)
>> if (fmod=0)
>> 'draw string 'xft' 'yft' 'lim.mm
>> endif
>> * draw a thick black 540 line on the thickness plot
>> if (lim.mm=546)
>> 'set line 1 1 4'
>> 'draw line 'xfi' 'yfi' 'xfo' 'yfo
>> endif
>> endif
>> if (panel=3 & _tindx>1)
>> * draw selected precip contour levels
>> if (lim.mm=0.2 | lim.mm=1 | lim.mm=4 | lim.mm=8 | lim.mm=12 | lim.mm=18 | lim.mm=24 | lim.mm=30 | lim.mm=40 | lim.mm=50 | lim.mm=70 | lim.mm=90)
>> 'set strsiz 0.08 0.10'
>> 'draw string 'xft' 'yft' 'lim.mm
>> endif
>> endif
>> if (panel=6)
>> * draw selected pwat contour levels
>> if (lim.mm=6 | lim.mm=12 | lim.mm=18 | lim.mm=24 | lim.mm=30 | lim.mm=36 | lim.mm=42| lim.mm=48 | lim.mm=54 | lim.mm=60)
>> 'draw string 'xft' 'yft' 'lim.mm
>> endif
>> endif
>>
>> if (panel=7)
>> * draw interior text labels
>> if (lim.mm=3)
>> 'set string 1 l 4 'did
>> if (_tindx=1)
>> 'draw string 'xfti' 'yfti' 800mb'
>> else
>> 'draw string 'xfti' 'yfti' LOW'
>> endif
>> endif
>> if (lim.mm=9)
>> 'set string 1 l 4 'did
>> if (_tindx=1)
>> 'draw string 'xfti' 'yfti' 500mb'
>> else
>> 'draw string 'xfti' 'yfti' MID'
>> endif
>> endif
>> if (lim.mm=15)
>> 'set string 1 l 4 'did
>> if (_tindx=1)
>> 'draw string 'xfti' 'yfti' 300mb'
>> else
>> 'draw string 'xfti' 'yfti' HIGH'
>> endif
>> endif
>> * draw low contour label
>> if (lim.mm=1 | lim.mm=7 | lim.mm=13)
>> 'set string 1 r 4 'did
>> if (_tindx=1)
>> 'draw string 'xft' 'yft' 70'
>> else
>> 'draw string 'xft' 'yft' 50'
>> endif
>> endif
>> * draw high contour label
>> if (lim.mm=5 | lim.mm=11 | lim.mm=17)
>> 'set string 1 r 4 'did
>> 'draw string 'xft' 'yft' 90'
>> endif
>> endif
>> endif
>>
>> xfo = xlo
>> yfo = ylo
>> xfi = xli
>> yfi = yli
>> mm = mm + 1
>> endwhile
>> 'set string 1 l 1 0'
>>
>>
>> On Jun 11, 2014, at 4:29 PM, Kevin M Levey wrote:
>>
>>> WED 11JUN14: 1320PDT
>>>
>>> This question is essentially for Jennifer Adams:
>>>
>>> I was wondering about a few items regarding your COLA/IGES images. Example:
>>>
>>> <avnmr1.00hr.png>
>>>
>>> Firstly, I am quite familiar with imagemagik to manipulate images etc, but was wondering
>>>
>>> 1] Are you cropping out everything outside the plot area to end up with your plot above and then adding (#2) the title bar below using imagemagik or is this new functionally in Grads 2.1 using gxprint -f, I’m thinking the latter ?
>>> The reason I ask, is that it appears the font in the lower title area is from GRADS and was wondering if you are adding this as shaded box in the plot area and then adding the text and then doing gxprint -f ?
>>>
>>> 2] Is the legend bar that you use (#1) COLA/IGES propriety code or freely available?
>>>
>>> One of the BEST new features of GRDs 2.1 is transparency and the ability to now plot different *shaded* layers.
>>>
>>> Thanks for the great upgrades!
>>>
>>> Regards,
>>>
>>> Kevin M Levey, MSc in Oceans and Atmospheric Sciences (University of Cape Town)
>>> Vice President of Operations
>>> CustomWeather, Inc.
>>> San Francisco, California, USA
>>>
>>> "Taking the World by Storm!"
>>>
>>> http://www.customweather.com
>>> http://www.myforecast.com
>>> http://www.1stweather.com
>>>
>>> cell: 415-794-0411
>>> work: 415-777-3566
>>> email: klevey at customweather.com
>>>
>>> _______________________________________________
>>> gradsusr mailing list
>>> gradsusr at gradsusr.org
>>> http://gradsusr.org/mailman/listinfo/gradsusr
>>
>> --
>> Jennifer M. Adams
>> Center for Ocean-Land-Atmosphere Studies (COLA)
>> 111 Research Hall, Mail Stop 2B3
>> George Mason University
>> 4400 University Drive
>> Fairfax, VA 22030
>>
>>
>>
>>
>>
>> _______________________________________________
>> gradsusr mailing list
>> gradsusr at gradsusr.org
>> http://gradsusr.org/mailman/listinfo/gradsusr
>
> _______________________________________________
> gradsusr mailing list
> gradsusr at gradsusr.org
> http://gradsusr.org/mailman/listinfo/gradsusr
--
Jennifer M. Adams
Center for Ocean-Land-Atmosphere Studies (COLA)
111 Research Hall, Mail Stop 2B3
George Mason University
4400 University Drive
Fairfax, VA 22030
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://gradsusr.org/pipermail/gradsusr/attachments/20140611/b5352d4c/attachment-0001.html
More information about the gradsusr
mailing list