Contouring bug on lcc projection

Open
#377 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
25/100
Issue type
Bug
Clarity
Needs clarification
Activity status
Stale
Tech stack
matplotlib, python

Research direction

No repository file or test is named. Start by reproducing the Basemap lcc projection and contour calls shown in the report with the same longitude_grid, latitude_grid, var, contr, and snow inputs; done means determining why contour lines spike or cross unexpectedly and confirming that the corrected plotting behavior no longer shows those artifacts.

Written by the indexing model from the issue text.

Description

This same issue is occurring for all data types. Quite often, though not always, one of any of the contoured data will spike sharply downward away from the rest of the contour (seen below in the yellow data). This happens quite often in the middle of the domain.
I doubt this is a problem with the data themselves or my analysis since this error makes the contour line cross other contour lines of the same data. If there were just an anomaly at the bottom of the domain, I would expect there to just be a gradient with the contouring toward it. This makes me think that the problem is all in the plotting.

slp-007

Here's the plotting portion of my code.
`
#Plotting
fig = figure()
map = Basemap(llcrnrlon=-120.,llcrnrlat=20.,urcrnrlon=-50.,urcrnrlat=50.,
rsphere=(6378137.00,6356752.3142),
resolution='l',projection='lcc',
lat_0=40.,lon_0=-98.,
lat_1=30.,lat_2=60.)

#Draw geographical boundaries
map.drawcoastlines(color='red',linewidth=0.75)
map.drawstates(color='red',linewidth=0.75)
map.drawcountries(color='red',linewidth=0.75)
map.fillcontinents(color='black',lake_color='black')
map.drawmapboundary(fill_color='black')

#Create X-Y plane for contouring and filling on map
X,Y = map(asarray(longitude_grid), asarray(latitude_grid))

#1st Variable#
#------------#

levels = linspace(700., 1200., 126)			#4 mb levels for SLP 
cs = map.contour(X,Y,var,2,colors='c',linewidths=1.,levels=levels)
clabel(cs, fmt="%1.0f", fontsize=8, inline=1)	

#2nd Variable#
#------------#

levels = linspace(0.,12000.,241)			#50 m levels for thickness/height
cs = map.contour(X,Y,contr,2,colors='y',linewidths=0.75,levels=levels)
clabel(cs, fmt="%1.0f", fontsize=8, inline=1)

#Snow Contour#
#------------#

cs = map.contour(X,Y,snow,2,colors='w',linewidths=2.,levels=[0.,1.])


title('%s SLP [Blu] and 800-500 mb Height [Ylo] over Snow Line [Wht]' % times[i])

savefig('temp_plot%03d.jpg' % i)

`

Dominant language
Python
Stars
817
Forks
395
PR merge metrics
No merged PRs in 30d

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from matplotlib/basemap

All issues in matplotlib/basemap

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.