# [ncl-talk] Trying to draw circles with different radius in Km around a station

Thu Feb 8 13:41:40 MST 2018

```Hi,

I got the first part working but the circles are not showing up in the
plot. I used "gsn_add_polyline" to draw the circle.

Is it wrong to use gsn_add_polyline for drawing the circle?

Here is the plotting part of the code.

; *********************************
; Draw circle
;**********************************

;---One station

slat     = 70.192               ; station lat
slon     = -148.477             ; station lon
srad_km  = (/ 50, 100, 150, 200, 250/)*1.0  ; station radii (km)
km2deg   = 1/110.57             ; conversion factor: deg ==> km
; one degree is approximately 110.57 km.

Npts = 360                      ; # of points at each radii (arbitrary)

print("")

print(Rlat(nr,:)+"   "+ Rlon(nr,:))
print("========")
end do

;*************************************************
; Plot
;*************************************************
res                              = True

res at gsnDraw                      = False                          ; don't
draw
res at gsnFrame                     = False
;  res at gsnPolar                     = "NH"

res at cnFillOn                     = True
res at cnLinesOn                    = False
res at cnLevelSelectionMode         = "ManualLevels"
res at cnMinLevelValF               = 0
res at cnMaxLevelValF               = 30
res at cnLevelSpacingF              = 0.25
res at cnLineLabelsOn               = False

res at lbLabelStride                = 0.1
res at lbOrientation                = "horizontal"       ;vertical label bar
res at lbLabelBarOn                 = False

res at tmLabelAutoStride            = True
res at tmXTOn                       = False
res at tmYROn                       = False

res at mpProjection                 = "CylindricalEquidistant" ; choose map
projection
res at mpLimitMode                  = "LatLon"
res at mpMinLatF                    = 60.
res at mpMaxLatF                    = 80.
res at mpMinLonF                    = 190.
res at mpMaxLonF                    = 230.
res at mpCenterLonF                 = 210
res at mpGeophysicalLineThicknessF  = 1.5

colors  = (/"gray0","gray2","gray10","gray40","gray50"/)

;*****************************************************
;               Plot
;*****************************************************

wks = gsn_open_wks("x11","extreme_wind_days_spatial")

plot   = new(12,graphic)
;  plot_c = new(12,graphic)

gsn_define_colormap(wks,"precip3_16lev")

do ii = 0,nmon-1

plot(ii)   = gsn_csm_contour_map(wks,wind_ext_count_1(ii,:,:),res)

plres = True

mks = unique_string("mks")

plres at gsLineColor = colors(cc)

plot@\$mks\$ = gsn_add_polyline(wks, plot(ii), Rlat(cc,:), Rlon(cc,:),
plres)

end do

end do

resPanel                          = True
resPanel at gsnFrame         = False
resPanel at gsnPanelLabelBar         = True                       ; add
color bar
resPanel at gsnMaximize                                      = True

resPanel at gsnPanelFigureStrings     =
(/"Jan","Feb","Mar","Apr","May","June","July","Aug","Sep","Oct","Nov","Dec"/)
resPanel at gsnPanelFigureStringsFontHeightF     = 0.012
resPanel at gsnPanelFigureStringsPerimOn     = True
resPanel at gsnPanelFigureStringsBackgroundFillColor = -1

resPanel at amJust                             = "BottomRight"

resPanel at lbLabelBarOn                       = True
resPanel at lbOrientation                      = "Vertical"
resPanel at lbLabelAutoStride            = False
resPanel at lbLabelStride             = 20
resPanel at lbBoxLineThicknessF                = 0.1
resPanel at lbLabelFontThicknessF              = 1.75
resPanel at lbLabelFontHeightF                 = 0.015
resPanel at lbBoxLinesOn                       = False

resPanel at gsnPanelMainString = "Test"

gsn_panel(wks,plot,(/4,3/),resPanel)

frame(wks)

end

Thanks,
Soumik

On Thu, Feb 8, 2018 at 5:45 AM, Dennis Shea <shea at ucar.edu> wrote:

> An alternative:
>
> nggog can be used. Sample code segments follow. For small radii Npts=100
> is fine but for large radii and nice circles, Npts=360 might be better.
>
> ;=========================================================================
> ; On a sphere with radius 6371 km, one degree is approximately 110.57 km.
> ;---
> ; Of course, the earth is an oblate spheroid:
> ;      http://www.longitudestore.com/how-big-is-one-gps-degree.html
> ;=========================================================================
> ; https://www.ncl.ucar.edu/Document/Functions/Built-in/nggcog.shtml
> ;=========================================================================
>
> ;---One station
>
>    slat     = 0.0                  ; station lat
>    slon     = 0.0                  ;         lon
>    srad_km  = (/ 50, 100, 150, 5*110.57/)*1.0  ; station radii (km)
>    km2deg   = 1/110.57             ; conversion factor: deg ==> km
>                                    ; one degree is approximately 110.57
> km.
>
>    Npts = 100                      ; # of points at each radii (arbitrary)
>
>    Rlon = new((/Nrad, Npts/), "float")
>
>       print("")
>
>       nggcog(slat, slon, srad_dg(nr), Rlat(nr,:), Rlon(nr,:))
>
>       print(Rlat(nr,:)+"   "+ Rlon(nr,:))
>       print("========")
>    end do
>
> +++++++++++++++++++++++++++++++++++++++++++++++++++++
> ;---Multiple stations
>
>    slat     = (/ 0.0, 50.0     /)  ; station lat
>    slon     = (/ 0.0, 30.0     /)  ;         lon
>    srad_km  = (/ 50, 100, 150, 5*110.57/)*1.0  ; station radii (km)
>    km2deg   = 1/110.57                ; conversion factor: deg ==> km
>                                                     ; one degree is
> approximately 110.57 km.
>
>    Nsta     = dimsizes(slat)            ; # stations
>    Npts     = 100                            ; # of points at each radii
> (arbitrary; eg 360)
>
>    Rlat = new((/Nsta, Nrad, Npts/), "float")    ; lat at each radius
>    Rlon = new((/Nsta, Nrad, Npts/), "float")
>
>    do ns=0,Nsta-1
>         nggcog(slat(ns), slon(ns), srad(nr), Rlat(ns,nr,:), Rlon((ns,nr,:))
>      end do
>    end do
>
>
> On Thu, Feb 8, 2018 at 2:38 AM, Karin Meier-Fleischer <
> meier-fleischer at dkrz.de> wrote:
>
>> Hi Soumik,
>>
>> you can use polymarkers to plot the circles around lat/lon locations.
>> Have a look at example newcolor_4.ncl at http://ncl.ucar.edu/Applicatio
>> ns/Scripts/newcolor_4.ncl
>>
>> I've attached an example script using random data for marker size and
>> lat/lon locations overlayed on filled contour map.
>>
>> Hope this helps.
>>
>> -Karin
>>
>> Am 08.02.18 um 00:55 schrieb Soumik Basu:
>>
>> Hello NCL-users,
>>
>> I am trying to draw circles around a station with different radius. For
>> example 50 Km, 100 Km, 150 Km etc.
>>
>> So, I am wondering if there is any way to do it in NCL.
>>
>> I looked at the "nggcog" function but from the description what I
>> understand is that it can draw circles along a great circle only not
>> according to a given distance.
>>
>> Thank you for any help.
>>
>> Thanks,
>> Soumik
>>
>> --
>> --
>> “We’ve all got both light and dark inside us. What matters is the part we
>> choose to act on. That’s who we really are.” – J.K. Rowling
>>
>> ************************************************************
>> **************************************
>> Dr. Soumik Basu
>> Post Doctoral Research Faculty
>> International Arctic Research Center, UAF, Fairbanks, AK, USA
>> PhD in Atmospheric Sciences
>> M.Sc. in Atmospheric Sciences
>> Email: suvro05 at gmail.com
>> website: http://soumikbasu.weebly.com/
>>
>> ************************************************************
>> ***************************************
>>
>>
>> _______________________________________________
>> ncl-talk mailing listncl-talk at ucar.edu
>> List instructions, subscriber options, unsubscribe:http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>>
>>
>>
>> _______________________________________________
>> ncl-talk mailing list
>> ncl-talk at ucar.edu
>> List instructions, subscriber options, unsubscribe:
>> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>>
>>
>
> _______________________________________________
> ncl-talk mailing list
> ncl-talk at ucar.edu
> List instructions, subscriber options, unsubscribe:
> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>
>

--
--
“We’ve all got both light and dark inside us. What matters is the part we
choose to act on. That’s who we really are.” – J.K. Rowling

**************************************************************************************************
Dr. Soumik Basu
Post Doctoral Research Faculty
International Arctic Research Center, UAF, Fairbanks, AK, USA
PhD in Atmospheric Sciences
M.Sc. in Atmospheric Sciences
Email: suvro05 at gmail.com
website: http://soumikbasu.weebly.com/

***************************************************************************************************
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20180208/8c5bf913/attachment.html>
```