循环遍历多个 netcdf 文件以读取数据

时间:2021-06-01 09:48:24

标签: python loops geolocation netcdf netcdf4

我想通读多个 netCDF(连续几天)文件来读取数据,以便从火山中生成 SO2 通量时间序列。为此,我认为我需要创建一个循环。但我不知道该怎么做。

    all_files = ['S5P_OFFL_L2__SO2____20181222T113340_20181222T131510_06173_01_010105_20181228T221109.nc', 'S5P_OFFL_L2__SO2____20181223T111438_20181223T125608_06187_01_010105_20181229T211412.nc']
filename = 'C:/Users/Frank van der Leij/OneDrive/Documenten/BSc_python/Etna/S5P_OFFL_L2__SO2____20181224T105537_20181224T123707_06201_01_010105_20181230T202633.nc'
fid = Dataset(filename,'r')
lon1 = fid.groups['PRODUCT'].groups['SUPPORT_DATA'].groups['GEOLOCATIONS'].variables['longitude_bounds'][:,:,:,0]
lon2 = fid.groups['PRODUCT'].groups['SUPPORT_DATA'].groups['GEOLOCATIONS'].variables['longitude_bounds'][:,:,:,1]
lon3 = fid.groups['PRODUCT'].groups['SUPPORT_DATA'].groups['GEOLOCATIONS'].variables['longitude_bounds'][:,:,:,2]
lon4 = fid.groups['PRODUCT'].groups['SUPPORT_DATA'].groups['GEOLOCATIONS'].variables['longitude_bounds'][:,:,:,3]
lat1 = fid.groups['PRODUCT'].groups['SUPPORT_DATA'].groups['GEOLOCATIONS'].variables['latitude_bounds'][:,:,:,0]
lat2 = fid.groups['PRODUCT'].groups['SUPPORT_DATA'].groups['GEOLOCATIONS'].variables['latitude_bounds'][:,:,:,1]
lat3 = fid.groups['PRODUCT'].groups['SUPPORT_DATA'].groups['GEOLOCATIONS'].variables['latitude_bounds'][:,:,:,2]
lat4 = fid.groups['PRODUCT'].groups['SUPPORT_DATA'].groups['GEOLOCATIONS'].variables['latitude_bounds'][:,:,:,3]
lon5 = fid.groups['PRODUCT'].variables['longitude'][:]
lat5 = fid.groups['PRODUCT'].variables['latitude'][:]
sza = fid.groups['PRODUCT'].groups['SUPPORT_DATA'].groups['GEOLOCATIONS'].variables['solar_zenith_angle'][:]
SO2VCD = fid.groups['PRODUCT'].groups['SUPPORT_DATA'].groups['DETAILED_RESULTS'].variables['sulfurdioxide_total_vertical_column_7km'][:]
secs = fid.groups['PRODUCT'].variables['delta_time'][:]
row = fid.groups['PRODUCT'].variables['ground_pixel'][:]
SO2SCDcor = fid.groups['PRODUCT'].groups['SUPPORT_DATA'].groups['DETAILED_RESULTS'].variables['sulfurdioxide_slant_column_corrected'][:]*2241.15
fid.close()

我是否像对所有文件一样创建了一个变量。然后循环遍历该数组?它是否从所有文件中读取所有 lon 数据并将其分配给一个变量?

我是 Python 新手,所以这可能是一个简单的解决方案。

提前致谢

0 个答案:

没有答案
相关问题