1.读入nc文件
from netCDF4 import Dataset
path = "F:\\Administrator\\2018satellite_dataset\\NPR_SMOPS_CMAP_D20180101.nc"
dst = Dataset(path, mode='r', format="netCDF4")
2.查看dst
print(dst)
<class 'netCDF4._netCDF4.Dataset'>
root group (NETCDF3_CLASSIC data model, file format NETCDF3):
# 数据来自下列卫星
Satellite: ESA's SMOS, EUMETSAT's MetOp-A and MetOp-B, JAXA's GCOM-W1, NASA's GPM and SMAP
# 数据来自下面元件
Instrument: MIRAS on SMOS, ASCAT on MetOp-A, ASCAT on MetOp-B, AMSR2 on GCOM-W1, GMI on GPM, and SMAP
# 该图像采用可利投影/等距柱状投影
Projection: Plate Carree (Equirectangular Projection)
# 数据覆盖整个地球表面
Latitude_at_Lower_Left_Corner: -90.0
Longitude_at_Lower_Left_Corner: -180.0
Latitude_at_Upper_Right_Corner: 90.0
Longitude_at_Upper_Right_Corner: 180.0
# 产品分辨率为0.25度
Product_Resolution: 0.25 degree
# 数据起始时间为2018/01/01 00:00-23:59
Date_Start: 20180101
Date_End: 20180101
Time_Start: 00:00 UTC
Time_End: 23:59 UTC
# 数据按大端字节序存储,即高字节数据存放在低地址端,低字节数据存放在高地址端
Byte_Order: Big endian
# 产品版本是3.0
Product_Version_Number: 3.0
# 数据无压缩
Data_Compression_Type: No Compression
# Production Location
Production_Location: NOAA/NESDIS/OSPO at Camp Springs, Maryland, USA
# Contact Information和Operation Lead,NOAA是美国国家海洋和大气局
Contact_Information: Science Lead : Xiwu Zhan, NOAA/NESDIS/STAR, xiwu.zhan@noaa.gov
Operation Lead: Limin Zhao, NOAA/NESDIS/OSPO, limin.zhao@noaa.gov
# 数据维度size:经度1440,维度720——正好对应分辨率为0.25
dimensions(sizes): Longitude(1440), Latitude(720)
# 变量(维度)
variables(dimensions): int16 Blended_SM(Latitude,Longitude), int16 NRT_SMOS_SM(Latitude,Longitude), int16 SMOS_SM(Latitude,Longitude), int16 ASCAT_A_SM(Latitude,Longitude), int16 ASCAT_B_SM(Latitude,Longitude), int16 AMSR2_SM(Latitude,Longitude), int16 GMI_SM(Latitude,Longitude), int16 NSMAP_SM(Latitude,Longitude), int16 SMAP_SM(Latitude,Longitude), int16 Blended_SM_SD(Latitude,Longitude), int8 Blended_hour(Latitude,Longitude), int8 Blended_minute(Latitude,Longitude), int8 NRT_SMOS_hour(Latitude,Longitude), int8 NRT_SMOS_minute(Latitude,Longitude), int8 SMOS_hour(Latitude,Longitude), int8 SMOS_minute(Latitude,Longitude), int8 ASCAT_A_hour(Latitude,Longitude), int8 ASCAT_A_minute(Latitude,Longitude), int8 ASCAT_B_hour(Latitude,Longitude), int8 ASCAT_B_minute(Latitude,Longitude), int8 AMSR2_hour(Latitude,Longitude), int8 AMSR2_minute(Latitude,Longitude), int8 GMI_hour(Latitude,Longitude), int8 GMI_minute(Latitude,Longitude), int8 NSMAP_hour(Latitude,Longitude), int8 NSMAP_minute(Latitude,Longitude), int8 SMAP_hour(Latitude,Longitude), int8 SMAP_minute(Latitude,Longitude), int8 Blended_SM_SD_hour(Latitude,Longitude), int8 Blended_SM_SD_minute(Latitude,Longitude), int16 Blended_QA(Latitude,Longitude), int16 NSMOS_QA(Latitude,Longitude), int16 SMOS_QA(Latitude,Longitude), int16 ASCAT_A_QA(Latitude,Longitude), int16 ASCAT_B_QA(Latitude,Longitude), int16 AMSR2_QA(Latitude,Longitude), int16 GMI_QA(Latitude,Longitude), int16 NSMAP_QA(Latitude,Longitude), int16 SMAP_QA(Latitude,Longitude), int16 Blended_SM_SD_QA(Latitude,Longitude)
groups:
3.查看变量variable
# 查看nc文件有哪些变量
print(dst.variables.keys())
# 变量类型为odict_keys
odict_keys(['Blended_SM', 'NRT_SMOS_SM', 'SMOS_SM', 'ASCAT_A_SM', 'ASCAT_B_SM', 'AMSR2_SM', 'GMI_SM', 'NSMAP_SM', 'SMAP_SM', 'Blended_SM_SD', 'Blended_hour', 'Blended_minute', 'NRT_SMOS_hour', 'NRT_SMOS_minute', 'SMOS_hour', 'SMOS_minute', 'ASCAT_A_hour', 'ASCAT_A_minute', 'ASCAT_B_hour', 'ASCAT_B_minute', 'AMSR2_hour', 'AMSR2_minute', 'GMI_hour', 'GMI_minute', 'NSMAP_hour', 'NSMAP_minute', 'SMAP_hour', 'SMAP_minute', 'Blended_SM_SD_hour', 'Blended_SM_SD_minute', 'Blended_QA', 'NSMOS_QA', 'SMOS_QA', 'ASCAT_A_QA', 'ASCAT_B_QA', 'AMSR2_QA', 'GMI_QA', 'NSMAP_QA', 'SMAP_QA', 'Blended_SM_SD_QA'])
4.查看变量属性名称
# 查看nc文件中变量的属性名称
for i in dst.variables.keys():
print('%s: %s' % (i, dst.variables[i].ncattrs()))
# 包括全拼、单位、填充值、变量有效范围、缩放因子、偏移量
Blended_SM: ['long_name', 'units', 'FillValue', 'valid_range', 'scale_factor', 'add_offset']
NRT_SMOS_SM: ['long_name', 'units', 'FillValue', 'valid_range', 'scale_factor', 'add_offset']
SMOS_SM: ['long_name', 'units', 'FillValue', 'valid_range', 'scale_factor', 'add_offset']
ASCAT_A_SM: ['long_name', 'units', 'FillValue', 'valid_range', 'scale_factor', 'add_offset']
ASCAT_B_SM: ['long_name', 'units', 'FillValue', 'valid_range', 'scale_factor', 'add_offset']
AMSR2_SM: ['long_name', 'units', 'FillValue', 'valid_range', 'scale_factor', 'add_offset']
GMI_SM: ['long_nam