Re: blank contour over grenwich, why? and questions about limit opendap latitude and longitute search and projection plot

From: Adam Phillips <asphilli_at_nyahnyahspammersnyahnyah>
Date: Tue Aug 16 2011 - 09:35:58 MDT

Hi Ugo,
Rick answered the opendap and cyclic queries, so to answer your res/res1
question: No, if you set res@mpProjection = "Robinson", that will not
propagate down to res1 the way you currently have your coding. However, if
you set
res@mpProjection = "Robinson"
and then set this
res1@mpProjection = res@mpProjection
then your res mpProjection setting will get propagated to the res1
resource list.. Hope that helps.. Adam

> Hi Ugo,
>
> You might experiment with the resource "gsnAddCyclic" to deal with the gap
> in contouring over the Meridian:
>
> http://www.ncl.ucar.edu/Document/Graphics/Resources/gsn.shtml
>
> As for limiting the range of lat/lon read from the OpenDAP file, check out
> the so-called "constraint expressions", in opendap parlance:
>
> http://docs.opendap.org/index.php/UserGuideOPeNDAPMessages#Constraint_Expressions
>
> I don't know about the res/res1 question.
>
> Hope some of that helps...
> Rick
>
> On Aug 16, 2011, at 7:45 AM, ugo merlini wrote:
>
>> hi
>>
>> I create this script
>>
>>
>>
>> ;----------------------------------------------------------------------
>> ; This example shows how to read geographic data
>> ; from Natural Earth shapefiles
>> ; and plot them as polylines and polygons.
>> ;----------------------------------------------------------------------
>> ; This particular example plots data for Switzerland.
>> ;----------------------------------------------------------------------
>> ; Download the shapefiles from http://www.naturalearthdata.com/
>> ; Unzip to a directory
>> ;----------------------------------------------------------------------
>>
>> load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
>> load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
>>
>> begin
>>
>> ;--- Open workstation and define colormap.
>> wks_type = "png" ; use "newpdf" instead of "pdf" for smaller
>> files
>> wks = gsn_open_wks(wks_type,"JAL")
>> gsn_define_colormap(wks,"BlAqGrYeOrRe") ; choose colormap
>>
>> res = True ; plot mods desired
>> res@gsnMaximize = True
>> ;res@cnFillOn = False ; turn on color fill
>> res@gsnTickMarksOn = False
>> res@mpLimitMode="LatLon"
>> res@mpMinLatF = 27.0
>> res@mpMaxLatF = 90.0
>> res@mpMinLonF = -74
>> res@mpMaxLonF = 52
>> res@gsnDraw = False ; do not draw the plot
>> res@gsnFrame = False ; do not flip the page
>>
>> map = gsn_csm_map(wks,res)
>>
>>
>>
>>
>>
>>
>> ;---Shapefiles
>> fnames = "/mnt/internetserver/map/shapefile/europa/aaa_full/" +
>> (/"europa"/) + ".shp" ; Files to be open
>> linecolors = (/"Black"/)
>> ; color definition for each shapefile
>> fillcolors = (/"Transparent"/)
>> ; Fill color definition for each shapefile
>> thicks = (/2/)
>> ; Thickness for each shapefile
>> lnres = True
>> ; resources for polylines
>> plres = True
>>
>> ;---Loop through files that we want to read geographic information from.
>> prims = True
>> lines = True
>> do n=0,dimsizes(fnames)-1
>> ; Loop through files that we want to
>> read geographic information from.
>> f = addfile(fnames(n),"r")
>> ; Open the shapefile number n.
>> segments = f->segments
>> ; Read data off the shapefile
>> geometry = f->geometry
>> segsDims = dimsizes(segments)
>> geomDims = dimsizes(geometry)
>> geom_segIndex = f@geom_segIndex
>> ; Read global attributes
>> geom_numSegs = f@geom_numSegs
>> segs_xyzIndex = f@segs_xyzIndex
>> segs_numPnts = f@segs_numPnts
>> geometry_type = f@geometry_type
>> numFeatures = geomDims(0)
>> lon = f->x
>> lat = f->y
>> if (geometry_type.eq."polygon") then
>> ; Put if statement outside the loop
>> plres@gsFillColor = fillcolors(n)
>> plres@gsEdgesOn = True
>> ; Draw border around polygons
>> plres@gsEdgeColor = linecolors(n)
>> plres@gsEdgeThicknessF = thicks(n)
>> do i=0, numFeatures-1
>> ; Section to draw polygons on map.
>> startSegment = geometry(i, geom_segIndex)
>> numSegments = geometry(i, geom_numSegs)
>> do seg=startSegment, startSegment+numSegments-1
>> startPT = segments(seg, segs_xyzIndex)
>> endPT = startPT + segments(seg, segs_numPnts) - 1
>> dumstr = unique_string("lines")
>> ; This call adds the polygon.
>> map@$dumstr$ = gsn_add_polygon(wks, map , lon(startPT:endPT),
>> lat(startPT:endPT), plres)
>> end do
>> end do
>> else
>> lnres@gsLineThicknessF = thicks(n)
>> lnres@gsLineColor = linecolors(n)
>> do i=0, numFeatures-1
>> ; Section to draw polylines on
>> map.
>> startSegment = geometry(i, geom_segIndex)
>> numSegments = geometry(i, geom_numSegs)
>> do seg=startSegment, startSegment+numSegments-1
>> startPT = segments(seg, segs_xyzIndex)
>> endPT = startPT + segments(seg, segs_numPnts) - 1
>> dumstr = unique_string("primitive")
>> ; This call adds the line
>> segment.
>> map@$dumstr$ = gsn_add_polyline(wks, map, lon(startPT:endPT),
>> lat(startPT:endPT), lnres)
>> end do
>> end do
>> end if
>> delete(lat)
>> ; Clean up before we read in same
>> variables again.
>> delete(lon)
>> delete(segments)
>> delete(geometry)
>> delete(segsDims)
>> delete(geomDims)
>> end do
>>
>> ;***************************
>> ; read in data
>> ;***************************
>>
>> url = "http://nomad1.ncep.noaa.gov:9090/dods/gfs_master/gfs20110815/"
>> filename = url + "gfs_master_00z"
>>
>> exists = isfilepresent(filename)
>> if(.not.exists) then
>> print("OPeNDAP isfilepresent test unsuccessful.")
>> print("Either file doesn't exist, or NCL does not have OPeNDAP
>> capabilities on this system")
>> else
>> print("OPeNDAP isfilepresent test successful.")
>> a = addfile(filename,"r")
>> vars = getfilevarnames(a)
>> end if
>>
>> TEMP2M = a->tmp2m(:,:,:) ; temperature
>> TEMP2M = TEMP2M - 273.15
>> TEMP2M@units = "(C)"
>> TEMP2M@long_name = "Temperatura a 2 metri dal suolo"
>>
>> res1= True ; plot mods desired
>> res1@cnFillOn = True ; turn on color
>> res1@cnLinesOn = True ; turn contour lines
>> res1@gsnSpreadColors = True ; use entire color map
>> res1@lbLabelAutoStride = True ; let NCL determine label
>> spacing
>>
>> res1@gsnDraw = False ; do not draw the plot
>> res1@gsnFrame = False ; do not flip the page
>> res1@cnLineDrawOrder = "PostDraw"
>> res1@gsnSpreadColors = True ; use full range of color map
>> res1@gsnMaximize = True
>> i = 0
>> do while(i.le.1)
>>
>> plot = gsn_csm_contour(wks,TEMP2M(i,:,:),res1)
>> overlay(map,plot)
>>
>> ;---We're done adding primitives, draw everything and advance frame.
>>
>> draw(map)
>> frame(wks)
>> i=i+1
>> end do
>>
>> end
>>
>> I got the picture like the linked where no contour in draw over
>> greenwich.
>>
>> http://i103.photobucket.com/albums/m136/ugo73/JAL000001.png
>>
>> now i took 35 second to parse the shape file but the reading the
>> opendap file is still slow is there a way to limit the longitute
>> latitude reading in it?
>>
>> if I change the projetion in res eresource it will change automatically
>> in res1?
>>
>>
>>
>>
>> _______________________________________________
>> 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
>

__________________________________________________
Adam Phillips asphilli@ucar.edu
NCAR/Climate and Global Dynamics Division
P.O. Box 3000 (303) 497-1726
Boulder, CO 80307-3000
http://www.cgd.ucar.edu/cas/asphilli

_______________________________________________
ncl-talk mailing list
List instructions, subscriber options, unsubscribe:
http://mailman.ucar.edu/mailman/listinfo/ncl-talk
Received on Tue Aug 16 09:36:04 2011

This archive was generated by hypermail 2.1.8 : Mon Aug 22 2011 - 08:13:37 MDT