我的物理项目有问题,即使我不知道如何编程,我也必须使用 Python netCDF4。我已经阅读了我的数据,也看过很多不同的教程,但我不确定下一步该做什么。我为此挣扎了很长时间。
from netCDF4 import Dataset as ncf
file='atmPrf_C001.2010.227.00.03.G04_2013.3520_nc'
data=ncf(file,'r’)
print(infile.dimensions)
print(data.variables)
vertical=data.variables['MSL_alt']
latitude=data.variables['Lat']
longitude=data.variables['Lon']
ang=data.variables['Bend_ang']
输出:
OrderedDict([(u'Lat', <type 'netCDF4._netCDF4.Variable'>
float32 Lat(MSL_alt)
units: deg
valid_range: [-90. 90.]
_FillValue: -999.0
long_name: Latitude of perigee point
unlimited dimensions:
current shape = (2849,)
filling off
), (u'Lon', <type 'netCDF4._netCDF4.Variable'>
float32 Lon(MSL_alt)
units: deg
valid_range: [-180. 180.]
_FillValue: -999.0
long_name: Longitude of perigee point
unlimited dimensions:
current shape = (2849,)
filling off
), (u'MSL_alt', <type 'netCDF4._netCDF4.Variable'>
float32 MSL_alt(MSL_alt)
units: km
valid_range: [ 0. 999.]
_FillValue: -999.0
long_name: Mean sea level altitude of perigee point
unlimited dimensions:
current shape = (2849,)
filling off
), (u'Ref', <type 'netCDF4._netCDF4.Variable'>
float32 Ref(MSL_alt)
units: N
valid_range: [ 0. 9999.]
_FillValue: -999.0
long_name: Refractivity
unlimited dimensions:
current shape = (2849,)
filling off
), (u'Azim', <type 'netCDF4._netCDF4.Variable'>
float32 Azim(MSL_alt)
units: deg
valid_range: [ 0. 1500.]
_FillValue: -999.0
long_name: Azimuth of occultation plane wrt North
unlimited dimensions:
current shape = (2849,)
filling off
), (u'Pres', <type 'netCDF4._netCDF4.Variable'>
float32 Pres(MSL_alt)
units: mb
valid_range: [ 0. 1500.]
_FillValue: -999.0
long_name: Dry pressure
unlimited dimensions:
current shape = (2849,)
filling off
), (u'Temp', <type 'netCDF4._netCDF4.Variable'>
float32 Temp(MSL_alt)
units: C
valid_range: [-200. 100.]
_FillValue: -999.0
long_name: Dry temperature
unlimited dimensions:
current shape = (2849,)
filling off
), (u'Bend_ang', <type 'netCDF4._netCDF4.Variable'>
float64 Bend_ang(MSL_alt)
units: rad
valid_range: [ 0. 10.]
_FillValue: -999.0
long_name: Raw (unoptimized) bending angle
unlimited dimensions:
current shape = (2849,)
filling off
), (u'Opt_bend_ang', <type 'netCDF4._netCDF4.Variable'>
float64 Opt_bend_ang(MSL_alt)
units: rad
valid_range: [ 0. 10.]
_FillValue: -999.0
long_name: Optimized bending angle
unlimited dimensions:
current shape = (2849,)
filling off
), (u'Impact_height', <type 'netCDF4._netCDF4.Variable'>
float32 Impact_height(MSL_alt)
units: km
valid_range: [ 0. 999.]
_FillValue: -999.0
long_name: Impact height
unlimited dimensions:
current shape = (2849,)
filling off
), (u'Bend_ang_stdv', <type 'netCDF4._netCDF4.Variable'>
float32 Bend_ang_stdv(MSL_alt)
units: rad
valid_range: [ 0. 10.]
_FillValue: -999.0
long_name: Bending angle uncertainty
unlimited dimensions:
current shape = (2849,)
filling off
), (u'Bend_ang_conf', <type 'netCDF4._netCDF4.Variable'>
int32 Bend_ang_conf(MSL_alt)
units: %
valid_range: [ 0 100]
_FillValue: -999
long_name: Bending angle confidence
unlimited dimensions:
current shape = (2849,)
filling off
), (u'OL_par', <type 'netCDF4._netCDF4.Variable'>
float64 OL_par(OL_par)
_FillValue: -999.0
unlimited dimensions:
current shape = (20,)
filling off
), (u'OL_ipar', <type 'netCDF4._netCDF4.Variable'>
int32 OL_ipar(OL_par)
_FillValue: -999
unlimited dimensions:
current shape = (20,)
filling off
), (u'OL_vec1', <type 'netCDF4._netCDF4.Variable'>
float64 OL_vec1(OL_vec)
_FillValue: -999.0
unlimited dimensions:
current shape = (7949,)
filling off
), (u'OL_vec2', <type 'netCDF4._netCDF4.Variable'>
float64 OL_vec2(OL_vec)
_FillValue: -999.0
unlimited dimensions:
current shape = (7949,)
filling off
), (u'OL_vec3', <type 'netCDF4._netCDF4.Variable'>
float64 OL_vec3(OL_vec)
_FillValue: -999.0
unlimited dimensions:
current shape = (7949,)
filling off
), (u'OL_vec4', <type 'netCDF4._netCDF4.Variable'>
float64 OL_vec4(OL_vec)
_FillValue: -999.0
unlimited dimensions:
current shape = (7949,)
filling off
)])
我不知道接下来要做什么,我能做的最后一件事是声明变量,我应该关注弯曲角度但我在这个数据中看不到它,它应该有多大或者我应该知道声明尺寸?我正在向某人寻求提示,因为这个自愿的科学项目已经让我发疯了。谢谢你。
更新:我只是试图将其绘制为原始:
plt.plot(ang)
plt.show()