[gradsusr] Question about COLA/IGES legend and lower title bar

Kevin M Levey klevey at customweather.com
Wed Jun 11 23:29:47 EDT 2014


Hi Jennifer,

Thanks for your feedback - and yes, your suggestions are definitely in line with a lot of our own feedback - these are actually older maps being used and I’ve been playing around with colors that are easily identifiable on a topographic basemaps. Trust me, having dealt with many clients with different tastes, its hard to please all the people all the time. Most our maps are not over blue-marble basemaps or those depicted in my previous map. Some clients want just the raw output. 

As mentioned, with the graphics capabilities of GRADS 2.1 I look foreword to many a renewed experimentation of the best way to visually display data and thanks to you and your team, so many new options are now available. I thank you have addressed a major issue by allowing transparency of multiple shaded  variables which has always been a “sore” point. Arlindo’s OpenGRads solved the graphics output quality issues with gxyat output a while back, but finally GRADS 2.1 / OpenGRads 2.1 is certainly a most anticipated and welcome update indeed. 

I will definitely pass on and be interested in continuing dialogue addressing continued quality enhancements to visualization techniques and enhancements. 

Take care. 

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 5:34 PM, Jennifer Adams <jma at COLA.IGES.ORG> wrote:

> 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 
> 
> 
> 
> 
> 
> _______________________________________________
> gradsusr mailing list
> gradsusr at gradsusr.org
> http://gradsusr.org/mailman/listinfo/gradsusr

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://gradsusr.org/pipermail/gradsusr/attachments/20140611/05b08ef2/attachment-0001.html 


More information about the gradsusr mailing list