pro ncdf_ecmwf_read,filenameTZRW,filenameUV,lon,lat,lev,time,timeH,$ nX,nY,nZ,nT,tN,zG,uN,vN,wN,rH,nameCnst ; ; This routine read an ECMWF netCDF files which have been converted from a GRIB file ; using ncl_convertnc ; ; Open files and get file IDs ; IdTZRW = NCDF_OPEN(filenameTZRW) IdUV = NCDF_OPEN(filenameUV) ; ; Coordinates (longitude, latitude, vertical levels, time, and time in hours) ; ncdf_varget, IdTZRW, 'g0_lon_3', lon ; degrees_east ncdf_varget, IdTZRW, 'g0_lat_2', lat ; degrees_north ncdf_varget, IdTZRW, 'lv_ISBL1', lev ; isobaric level(hPa) ncdf_varget, IdTZRW, 'initial_time0_encoded', time ; yyyymmddhh.hh_frac ncdf_varget, IdTZRW, 'initial_time0_hours', timeH ; hours since 1800-01-01 00:00 nX=n_elements(lon) nY=n_elements(lat) nZ=n_elements(lev) nT=n_elements(time) ; ; Field variables (Temperature, geopotential, u velocity, v velocity, vertical velocity, ; relative humidity) ; nCnst = 6 nameCnst=strarr(nCnst) nameCnst(0)='T_GDS0_ISBL' ; Temperature(K) nameCnst(1)='Z_GDS0_ISBL' ; Geopotential(m**2 s**-2) nameCnst(2)='U_GDS0_ISBL' ; U velocity(m s**-1) nameCnst(3)='V_GDS0_ISBL' ; V velocity(m s**-1) nameCnst(4)='W_GDS0_ISBL' ; Vertical velocity(Pa s**-1) nameCnst(5)='R_GDS0_ISBL'; ; Relative Humidity NCDF_VARGET, IdTZRW, nameCnst(0), tN NCDF_VARGET, IdTZRW, nameCnst(1), zG NCDF_VARGET, IdUV, nameCnst(2), uN NCDF_VARGET, IdUV, nameCnst(3), vN NCDF_VARGET, IdTZRW, nameCnst(4), wN NCDF_VARGET, IdTZRW, nameCnst(5), rH NCDF_CLOSE, IdTZRW NCDF_CLOSE, IdUV return END