<div dir="ltr">Dear Sir/Madam:<div><br></div><div>I met a problem when I read multiple nc files in Python. I am wondering if anyone here can help sort this out. Many thanks in advance.</div><div><br></div><div>Cheers!</div><div>Ed</div><div><br></div><div>The errors are:</div><div>(ncl_to_python)yangy@w-nwp01 $python read_nc_1.py<br>Traceback (most recent call last):<br>  File "/scale_wlg_nobackup/filesets/nobackup/niwa00004/yangy/Ln-Python/read_nc_1.py", line 5, in <module><br>    f = nc.MFDataset(file_list)<br>  File "src/netCDF4/_netCDF4.pyx", line 6552, in netCDF4._netCDF4.MFDataset.__init__<br>OSError: master dataset /nesi/nobackup/niwa00004/yangy/output/DATA-cylc-run/NZLAM_rerun/<a href="http://umnsaa_pa000.nc">umnsaa_pa000.nc</a> does not have a aggregation dimension<br></div><div><br></div><div><br></div><div>The script is listed below:</div><div>import netCDF4 as nc<br>#-- list of files<br>file_list = "umnsaa*.nc"<br>#-- open file<br>f = nc.MFDataset(file_list)<br>#-- read variable<br>var = f.variables['air_press']<br>print(var.dimensions)<br>#-- read dimension time variable<br>time = f.variables['time0']<br>print(time0[:])<br>#-- read dimensions lat and lon variables<br>lat = f.variables['latitude']<br>print(lat[:])<br>lon = f.variables['longitude']<br>print(lon[:])<br>exit()<br></div><div><br></div><div>ncdump -h of this file shows:</div><div>netcdf umnsaa_pa000 {<br>dimensions:<br>        time0 = 7 ;<br>        time1 = 1 ;<br>        time2 = 1 ;<br>        ntb = 2 ;<br>        rlat = 324 ;<br>        rlon = 324 ;<br>        nllb = 4 ;<br>        hybridr70 = 70 ;<br>        hybridt70 = 70 ;<br>        pressure22 = 22 ;<br>        num_etaT_levels = 71 ;<br>        num_etaR_levels = 70 ;<br>variables:<br>        float time0(time0) ;<br>                time0:standard_name = "time" ;<br>                time0:long_name = "forecast period" ;<br>                time0:calendar = "gregorian" ;<br>                time0:units = "hours since 2014-06-28 12:00:00" ;<br>                time0:axis = "T" ;<br>        float time1(time1) ;<br>                time1:standard_name = "time" ;<br>                time1:long_name = "forecast period" ;<br>                time1:calendar = "gregorian" ;<br>                time1:units = "hours since 2014-06-28 12:00:00" ;<br>                time1:axis = "T" ;<br></div><div>        float time2(time2) ;<br>                time2:standard_name = "time" ;<br>                time2:long_name = "forecast period (end of reporting period)" ;<br>                time2:calendar = "gregorian" ;<br>                time2:units = "hours since 2014-06-28 12:00:00" ;<br>                time2:axis = "T" ;<br>                time2:bounds = "time2_bnds" ;<br>        float time2_bnds(time2, ntb) ;<br>        float rlat(rlat) ;<br>                rlat:standard_name = "grid_latitude" ;<br>                rlat:long_name = "latitude on rotated pole grid at cell centres" ;<br>                rlat:units = "degrees" ;<br>                rlat:axis = "Y" ;<br>                rlat:valid_min = -90.f ;<br>                rlat:valid_max = 90.f ;<br>        float rlon(rlon) ;<br>                rlon:standard_name = "grid_longitude" ;<br>                rlon:long_name = "longitude on rotated pole grid at cell centres" ;<br>                rlon:units = "degrees" ;<br>                rlon:axis = "X" ;<br>                rlon:valid_min = 0.f ;<br>                rlon:valid_max = 360.f ;<br></div><div>        float latitude(rlat, rlon) ;<br>                latitude:standard_name = "latitude" ;<br>                latitude:long_name = "geographic latitude at cell centres" ;<br>                latitude:units = "degrees_north" ;<br>                latitude:valid_min = -90.f ;<br>                latitude:valid_max = 90.f ;<br>                latitude:bounds = "latitude_bnds" ;<br>        float longitude(rlat, rlon) ;<br>                longitude:standard_name = "longitude" ;<br>                longitude:long_name = "geographic longitude at cell centres" ;<br>                longitude:units = "degrees_east" ;<br>                longitude:valid_min = 0.f ;<br>                longitude:valid_max = 360.f ;<br>                longitude:bounds = "longitude_bnds" ;<br>        float latitude_bnds(rlat, rlon, nllb) ;<br>        float longitude_bnds(rlat, rlon, nllb) ;<br>        char rotated_pole ;<br>                rotated_pole:grid_mapping_name = "rotated_latitude_longitude" ;<br>                rotated_pole:grid_north_pole_latitude = 50.1515f ;<br>                rotated_pole:grid_north_pole_longitude = 172.5319f ;<br>                rotated_pole:north_pole_grid_longitude = 0.f ;<br>        float hybridr70(hybridr70) ;<br>                hybridr70:long_name = "height above sea level (rho levels used)" ;<br>                hybridr70:units = "meters" ;<br>                hybridr70:positive = "up" ;<br>                hybridr70:axis = "Z" ;<br></div><div>.....................................</div></div>