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

Matias Mendez matias.mendezp at gmail.com
Wed Jun 11 18:21:15 EDT 2014


Dear Jennifer

By the way COLA/IGES images from http://wxmaps.org , is there any chance to
get some or all scripts to generate those images?, where can I get them?.

Regards
Matias



2014-06-12 6:30 GMT+09:00 Jennifer Adams <jma at cola.iges.org>:

> 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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://gradsusr.org/pipermail/gradsusr/attachments/20140612/2c084cd2/attachment-0001.html 


More information about the gradsusr mailing list