title: cartopy North Pole Stereographic contour plot does not plot correctly even with cyclic point
body: <p>I am trying to plot contours over the north pole, using cartopy. I have used add_cyclic_point and this has successfully filled in the gap at the prime meridian in pcolormesh, but the contours do not cross successfully, and instead wrap all the way around the globe to connect (but it seems not always?) My longitudes go from 0-360 and I have tried to switch to -180-180 but still get the same issue.</p>
  
  <p>Here is my code:</p>
  
  <pre><code>import numpy as np
  from netCDF4 import Dataset
  import cartopy.crs as ccrs
  import cartopy
  from cartopy.util import add_cyclic_point as cycpt
  import matplotlib.pyplot as plt
  
  
  date = '2018_02_10'
  pdatafile = Dataset(date+'_mslp.nc')
  plat = np.array(pdatafile.variables['lat'])
  plon = np.array(pdatafile.variables['lon'])
  p = np.array(pdatafile.variables['slp'][0,:,:])
  
  p_cyclic,lon_cyclic = cycpt(p,coord=plon)
  lon_cyclic = np.ma.getdata(lon_cyclic)
  
  plon2d,plat2d= np.meshgrid(lon_cyclic,plat)
  p_cyclic = np.ma.getdata(p_cyclic)
  
  g1000datafile = Dataset(date+'_1000mb_gph.nc')
  g1lat = np.array(g1000datafile.variables['lat'])
  g1lon = np.array(g1000datafile.variables['lon'])
  g1000 = np.array(g1000datafile.variables['hgt'][0,0,:,:])
  g1_cyclic,g1lon_cyclic = cycpt(g1000,coord=g1lon)
  g1lon2d,g1lat2d= np.meshgrid(g1lon_cyclic,g1lat)
  g1lon2d = np.ma.getdata(g1lon2d)
  g1_cyclic = np.ma.getdata(g1_cyclic)
  
  g500datafile = Dataset(date+'_500mb_gph.nc')
  g5lat = np.array(g500datafile.variables['lat'])
  g5lon = np.array(g500datafile.variables['lon'])
  g500 = np.array(g500datafile.variables['hgt'][0,0,:,:])
  g5_cyclic,g5lon_cyclic = cycpt(g500,coord=g5lon)
  g5lon2d,g5lat2d= np.meshgrid(g5lon_cyclic,g5lat)
  g5lon2d = np.ma.getdata(g5lon2d)
  g5_cyclic = np.ma.getdata(g5_cyclic)
  
  thickness = g5_cyclic - g1_cyclic
  
  mslplevels=[960,970,980,990,1000,1010,1020,1030,1040,1050]
  levels500hPa = [470,480,490,500,510,520,530,540,550,560]
  
  ax = plt.axes(projection=ccrs.NorthPolarStereo(central_longitude=0))
  ax.set_extent([-180, 180, 50, 90], crs=ccrs.PlateCarree())
  plt.pcolormesh(plon2d,plat2d,thickness/10, transform=ccrs.PlateCarre(),cmap='inferno')
  cbar=plt.colorbar()
  cbar.set_label('ReTop (gpdam)')
  cs=plt.contour(plon2d,plat2d,g5_cyclic/10,colors='w',transform=ccrs.PlateCarree(),\
             levels=levels500hPa)
  plt.clabel(cs,inline=1,fontsize=6,fmt='%3.0f')
  ax.coastlines()
  plt.show()
  plt.close()
  </code></pre>
  
  <p><a href="https://i.stack.imgur.com/RImUf.png" rel="nofollow noreferrer">an example plot</a></p>
  
  <pre><code>import numpy as np
  from netCDF4 import Dataset
  import cartopy.crs as ccrs
  from cartopy.util import add_cyclic_point as cycpt
  import matplotlib.pyplot as plt
  
  pdatafile = Dataset('X158.39.88.89.59.7.59.32.nc')
  plat = np.array(pdatafile.variables['lat'])
  plon = np.array(pdatafile.variables['lon'])
  p = np.array(pdatafile.variables['slp'][0,:,:])
  
  p_cyclic,lon_cyclic = cycpt(p,coord=plon)
  lon_cyclic = np.ma.getdata(lon_cyclic)
  p_cyclic = np.ma.getdata(p_cyclic)
  
  plon2d,plat2d= np.meshgrid(lon_cyclic,plat)
  
  ax = plt.axes(projection=ccrs.NorthPolarStereo(central_longitude=0))
  ax.set_extent([-180, 180, 50, 90], crs=ccrs.PlateCarree())
  plt.contour(plon2d,plat2d,g5_cyclic/10,colors='w',transform=ccrs.PlateCarree())
  plt.clabel(cs,inline=1,fontsize=6,fmt='%3.0f')
  ax.coastlines()
  plt.show()
  </code></pre>
  
  <p><a href="ftp://ftp.cdc.noaa.gov/Public/www/X158.39.88.89.59.7.59.32.nc" rel="nofollow noreferrer">ftp://ftp.cdc.noaa.gov/Public/www/X158.39.88.89.59.7.59.32.nc</a></p>