Hey thanks again for the reply. Ideally, I don't want to have to download a netcdf file because it takes a while to download. I would simply like to be able to read a netcdf file and create a numpy array at a specific pixel. Not sure how to do this though. Here is my script that creates a numpy array and then a raster for the entire USA. I would really like to know a way to specify the array to simply be the one pixel at a specific x and y coordinate.def AddBcsd(output,GcmModel,GcmScenario,GcmMonth,GcmVar,GcmYear):
arcpy.CreateFolder_management (output, "climate rasters")
dataset =('http://climatedata_NetCDF/')
fn = ('dcsbcsd_'+str(GcmModel)+'_'+str(GcmScenario)+'_'+str(GcmMonth)+'_'+str(GcmVar)+'_run1_conus_epscor.nc')
bcsd= open_url(dataset + fn)
arcpy.AddMessage("\nDownloading Climate Data for "+str(GcmMonth)+"/"+str(GcmYear)+"...")
lt = bcsd['lat']
ln = bcsd['lon']
lat,lon = np.meshgrid(ln.data,lt.data)
vars = bcsd.keys()
years = range(1900,2100)
data = bcsd[vars[1]][years.index(int(GcmYear)),:,:]
indata = np.float32(data)
array= np.array(indata).reshape(621,1405, order='F').copy()
ycellsize = .041667938#float(lat[0][0] - lat[1][0])
xcellsize = .041671753#float(abs(lon[0][0] - lon[0][1]))
llc = arcpy.Point(float(lat.min().tolist())-(ycellsize/2),float(lon.min().tolist())-(xcellsize/2))
myRaster = arcpy.NumPyArrayToRaster(array,llc,xcellsize,ycellsize,-9999)
myRaster.save(output+'/climate rasters/'+str(GcmMonth)+'_'+str(GcmYear))
coordinateSystem = "GEOGCS['GCS_WGS_1984',DATUM['D_WGS_1984',SPHEROID['WGS_1984',6378137.0,298.257223563]],PRIMEM['Greenwich',0.0],UNIT['Degree',0.0174532925199433]]"
arcpy.DefineProjection_management(myRaster, coordinateSystem)