<div dir="ltr">I am trying to generate a 4 dimensional netcdf file with time, level, latitude, longitude from the the files on website:<br><br><a href="http://nomads.ncep.noaa.gov:9090/dods/rtofs/rtofs_global20141116/rtofs_glo_3dz_forecast_daily_uvel">http://nomads.ncep.noaa.gov:9090/dods/rtofs/rtofs_global20141116/rtofs_glo_3dz_forecast_daily_uvel</a><br><br clear="all"><div><br></div><div>for zonal ocean current velocities at different depths through python scripts.<br><br></div><div>I have the following python script but alas it is not allowing me to generate the desired netcdf file:<br><br>#!/usr/bin/python<br>from pydap.client import open_url<br>from datetime import *<br>import datetime<br>now = datetime.datetime.now()<br>import pickle<br>import pupynere<br>import shutil<br><br>datasetu = open_url('<a href="http://nomads.ncep.noaa.gov:9090/dods/rtofs/rtofs_global'+now.strftime(">http://nomads.ncep.noaa.gov:9090/dods/rtofs/rtofs_global'+now.strftime(</a>"%Y%m%d")+'/rtofs_glo_3dz_forecast_daily_uvel')<br>datasetv = open_url('<a href="http://nomads.ncep.noaa.gov:9090/dods/rtofs/rtofs_global'+now.strftime(">http://nomads.ncep.noaa.gov:9090/dods/rtofs/rtofs_global'+now.strftime(</a>"%Y%m%d")+'/rtofs_glo_3dz_forecast_daily_vvel')<br><br>#sst = dataset['sst']<br>#sst.shape<br>#h=0<br>#for t in sst.time[:]:<br> # print h<br># datestr=str(date.fromordinal(int(t)))<br># hour=int(24*(t-int(t)))<br># hourstr=str(hour);<br># if(hour<10): hourstr='0'+hourstr<br># w=datestr.split('-')<br># w.append(hourstr)<br># filename = w[0] + w[1] + w[2] + w[3] + 'sst.pickle'<br># if((int(w[3])%12)==0): <br># print h,filename<br># f = open(filename,'wb')<br># sgrd=sst.sst[h,0]<br># pickle.dump(sgrd,f)<br># f.close()<br># h=h+1<br><br>u = datasetu['u']<br>l = u.lat<br>lo = u.lon<br>le = u.lev<br>print u.shape<br>print l.shape<br>print lo.shape<br>print le.shape<br><br>f=open("lats.pickle","wb")<br>pickle.dump(l[428:430],f)<br>f.close<br><br>f=open("lons.pickle","wb")<br>pickle.dump(lo[2028:2030],f)<br>f.close<br><br>f=open("levs.pickle","wb")<br>pickle.dump(le[1:5],f)<br>f.close<br><br>f = pupynere.netcdf_file("<a href="http://hycom.nc">hycom.nc</a>",'w')<br>f.createDimension("latitude",2)<br>f.createDimension("longitude",2)<br>f.createDimension("level",4)<br><br>lats=f.createVariable("latitude","f",("latitude",))<br>lats[:]=l[2028:2030]<br>lons=f.createVariable("longitude","f",("longitude",))<br>lons[:]=lo[428:430]<br>levs=f.createVariable("level","f",("level",))<br>levs[:]=le[1:5]<br><br>h=0<br>print ">>>>>>>>U Velocity"<br>for t in u.time[:]:<br> datestr=str(date.fromordinal(int(t)))<br> hour=int(24*(t-int(t)))<br> hourstr=str(hour);<br> if(hour<10): hourstr='0'+hourstr<br> w=datestr.split('-')<br> w.append(hourstr)<br># filename= w[0] + w[1] + w[2] + w[3] + 'u.pickle'<br> if((int(w[3])%12)==0):<br># print h,filename<br># f = open(filename,'wb')<br> #print u.u[h,1:5,428:430,2028:2030]<br> ugrd = f.createVariable("ugrd","f",("level","latitude","longitude"))<br> ugrd = u.u[h,1:5,428:430,2028:2030]<br> print ugrd<br># u[:] = ugrd<br># ugrd.units = "m/s" <br># ugrd=u.u[h,0]<br># pickle.dump(u.u[h,1:5,428:430,2028:2030],f)<br># f.close()<br> h=h+1<br><br><br><br></div><div>Anyway suggestions?<br><br><br></div><div>Thanks,<br><br>Jason<br></div><div><br></div></div>