To whom it may concern,
I am trying to use python as part of my part 3 project but my coding has suddenly stopped working. I am using python(x,y) and it was working perfectly a couple of weeks ago but recently it hasn't been. Every time it runs, the program crashes and becomes unresponsive resulting in me having to exit. It has happened on multiple computers in the met department, agriculture and also on my own laptop and I was wondering if you could help me with my problem. I have spoken to my supervisor already and he doesn't know what is wrong with it. I have attached a copy of my code, one version in word and one in python. Thank you Ashleigh Deal?
python code.docx
Description: python code.docx
# importing libraries # this code loads the processed city data and does some comparison of the London and other city time series from netCDF4 import Dataset from netcdftime import utime import numpy as np import matplotlib.pyplot as plt import pylab from matplotlib.dates import DateFormatter, MonthLocator import datetime import sys # get command line arguments city_name=str(sys.argv[1]) city_name=city_name.replace(" ","_") fname='proc_data/'+city_name+'_max.nc' # read in data nc=Dataset(fname,'r') london=nc.variables['London'][:] city=nc.variables[city_name][:] london_clim=nc.variables['London Climatology'][:] city_clim=nc.variables[city_name+' Climatology'][:] # time information time=nc.variables['time'] cdftime = utime(time.units,'standard') time=cdftime.num2date(nc.variables['time'][:]) day=np.fromiter((time[x].day for x in range(0,len(time))),np.int) month=np.fromiter((time[x].month for x in range(0,len(time))),np.int) year=np.fromiter((time[x].year for x in range(0,len(time))),np.int) nc.close() # difference in max temperature (positive values mean London T higher) diff=london-city # four different example plots ################################################## # plot 1 - for all time percentage of London exceedence per month # count number of positive days (and total number of days) per month prop=np.empty([12]) for m in range(1,13): ind=np.where(month == m) prop[m-1]=sum(diff[ind] > 0)/float(len(ind[0])) fig1, ax1 = plt.subplots(figsize=(7,7)) month_names=['J','F','M','A','M','J','J','A','S','O','N','D'] pos=np.arange(len(month_names))+0.5 p1 = ax1.bar(pos,prop,color='r', align='center') ax1.set_title('Days with temperature in London greater than '+city_name) ax1.set_ylabel('Percentage of days 1880-2010') pylab.xticks(pos,month_names) fig1.savefig('plots/'+city_name+'_months.png') ################################################## # plot 2 - has number of exceedences changed over the dataset time period # count number of positive days (and total number of days) per month prop_ann=np.empty(13) for y in range(0,13): ind=np.where((year >= 1880+(y*10)) & (year < 1889+(y*10))) prop_ann[y-1]=sum(diff[ind] > 0)/float(len(ind[0])) fig2, ax2 = plt.subplots(figsize=(10,5)) dec_names=['1880s','1890s','1900s','1910s','1920s','1930s', '1940s','1950s','1960s','1970s','1980s','1990s', '2000s'] pos=np.arange(len(dec_names))+0.5 p1 = ax2.bar(pos,prop_ann,color='g', align='center') ax2.set_title('Days with temperature in London greater than '+city_name) ax2.set_ylabel('Percentage of days 1880-2010') pylab.xticks(pos,dec_names) fig2.savefig('plots/'+city_name+'_decades.png') ################################################## # plot 3 - scatter plot of exceedence vs. London temperature during April # where is month equal to April (4) ind=np.where(month == 4) fig3, ax3 = plt.subplots(figsize=(7,7)) p1 = ax3.plot(london[ind],diff[ind],'m+') ax3.set_ylabel('Difference with '+city_name) ax3.set_xlabel('Temperature in London') fig3.savefig('plots/'+city_name+'_scatter.png') ################################################## # plot 4 - daily climatology of two cities # make datetime array for climatology clim_time=[datetime.datetime(1993,1,1,12)+datetime.timedelta(x) for x in range(0,365)] months=MonthLocator(range(1,13),bymonthday=15) monthFormatter=DateFormatter('%b') london_std=np.empty([12]) for i in np.arange(1,13): ind=np.where(month == i) london_std[i-1]=np.std(london[ind]) city_std=np.empty([12]) for i in np.arange(1,13): ind=np.where(month == i) city_std[i-1]=np.std(city[ind]) fig4, ax4 = plt.subplots(figsize=(7,7)) p1 = ax4.plot(clim_time,london_std,'b',label='London') p2 = ax4.plot(clim_time,city_std,'r',label=city_name) ax4.xaxis.set_major_locator(months) ax4.xaxis.set_major_formatter(monthFormatter) ax4.xaxis_date() ax4.set_ylabel('Climatological maximum temperature / $^\circ$C') ax4.legend() fig4.savefig('plots/'+city_name+'_clim.png') # show all figures can be commented out plt.show() ############################ per_above_thresh=np.empty([31]) for temp in np.arange(0,31): ind=np.where(london > temp) diff=london[ind] - city[ind] pos=np.sum(diff > 0) prop=float(pos)/float(len(diff)) per_above_thresh[temp] = prop fig5, ax5 = plt.subplots(figsize=(7,7)) ax5.plot((np.arange(0,31)),per_above_thresh) ax5.set_ylabel('percentage of days 1880 - 2010') ax5.set_xlabel('Temperature Difference') plt.show()
-- https://mail.python.org/mailman/listinfo/python-list