NASA的协调数据分析系统Web服务客户端库
cdasws的Python项目详细描述
概要
这个库提供了一个简单的python接口来访问 美国宇航局的Coordinated Data Analysis System (CDA)。此库实现 CDAS RESTful web services 并且可以在 SpacePy data model 所有的原件 ISTP/SPDF metadata。 有关此库的常见问题请访问 FAQ。 有关cdasweb服务的更多一般详细信息,请参阅 https://cdaweb.sci.gsfc.nasa.gov/WebServices/REST/。在
代码示例
此包包含调用大多数可用web服务的示例代码。 要运行包含的示例,请执行以下操作
python -m cdasws
下面的代码演示如何访问磁场测量 从 ACE mission dataset。在
^{pr2}$计算等间距(关于时间)值(可选 添加binData关键字参数,如下所示
status, data = cdas.get_data('AC_H1_MFI', ['Magnitude', 'BGSEc'],
'2009-06-01T00:00:00Z', '2009-06-01T00:10:00Z',
binData={
'interval': 60.0,
'interpolateMissingValues': True,
'sigmaMultiplier': 4
})
print(data)
{'Epoch_bin': VarCopy([datetime.datetime(2009, 6, 1, 0, 0, 30),
datetime.datetime(2009, 6, 1, 0, 1, 30),
datetime.datetime(2009, 6, 1, 0, 2, 30),
datetime.datetime(2009, 6, 1, 0, 3, 30),
datetime.datetime(2009, 6, 1, 0, 4, 30),
datetime.datetime(2009, 6, 1, 0, 5, 30),
datetime.datetime(2009, 6, 1, 0, 6, 30),
datetime.datetime(2009, 6, 1, 0, 7, 30),
datetime.datetime(2009, 6, 1, 0, 8, 30),
datetime.datetime(2009, 6, 1, 0, 9, 30)], dtype=object), 'Epoch': VarCopy([datetime.datetime(2009, 6, 1, 0, 0),
datetime.datetime(2009, 6, 1, 0, 4),
datetime.datetime(2009, 6, 1, 0, 8)], dtype=object), 'Magnitude': VarCopy([3.495 , 3.48975, 3.4845 , 3.47925, 3.474 , 3.47475, 3.4755 ,
3.47625, 3.477 , 3.477 ], dtype=float32), 'BGSEc': VarCopy([[-0.106 , 2.521 , -2.391 ],
[-0.1825 , 2.49125 , -2.4055 ],
[-0.259 , 2.4615 , -2.42 ],
[-0.3355 , 2.4317498, -2.4345 ],
[-0.412 , 2.402 , -2.449 ],
[-0.3325 , 2.3787498, -2.4835 ],
[-0.253 , 2.3555 , -2.518 ],
[-0.1735 , 2.33225 , -2.5524998],
[-0.094 , 2.309 , -2.587 ],
[-0.094 , 2.309 , -2.587 ]], dtype=float32), 'MAGNITUDE_NBIN': VarCopy([1., 0., 0., 0., 1., 0., 0., 0., 1., 0.], dtype=float32), 'MAGNITUDE_BIN_DELTA_MINUS_VAR': VarCopy([-1.e+31, -1.e+31, -1.e+31, -1.e+31, -1.e+31, -1.e+31, -1.e+31,
-1.e+31, -1.e+31, -1.e+31], dtype=float32), 'MAGNITUDE_BIN_DELTA_PLUS_VAR': VarCopy([-1.e+31, -1.e+31, -1.e+31, -1.e+31, -1.e+31, -1.e+31, -1.e+31,
-1.e+31, -1.e+31, -1.e+31], dtype=float32), 'BGSEC_NBIN': VarCopy([[ 1., 1., 1.],
[-0., -0., -0.],
[-0., -0., -0.],
[-0., -0., -0.],
[ 1., 1., 1.],
[-0., -0., -0.],
[-0., -0., -0.],
[-0., -0., -0.],
[ 1., 1., 1.],
[-0., -0., -0.]], dtype=float32), 'BGSEC_BIN_DELTA_MINUS_VAR': VarCopy([[-1.e+31, -1.e+31, -1.e+31],
[-1.e+31, -1.e+31, -1.e+31],
[-1.e+31, -1.e+31, -1.e+31],
[-1.e+31, -1.e+31, -1.e+31],
[-1.e+31, -1.e+31, -1.e+31],
[-1.e+31, -1.e+31, -1.e+31],
[-1.e+31, -1.e+31, -1.e+31],
[-1.e+31, -1.e+31, -1.e+31],
[-1.e+31, -1.e+31, -1.e+31],
[-1.e+31, -1.e+31, -1.e+31]], dtype=float32), 'BGSEC_BIN_DELTA_PLUS_VAR': VarCopy([[-1.e+31, -1.e+31, -1.e+31],
[-1.e+31, -1.e+31, -1.e+31],
[-1.e+31, -1.e+31, -1.e+31],
[-1.e+31, -1.e+31, -1.e+31],
[-1.e+31, -1.e+31, -1.e+31],
[-1.e+31, -1.e+31, -1.e+31],
[-1.e+31, -1.e+31, -1.e+31],
[-1.e+31, -1.e+31, -1.e+31],
[-1.e+31, -1.e+31, -1.e+31],
[-1.e+31, -1.e+31, -1.e+31]], dtype=float32), 'cartesian_bin': VarCopy(['x_component', 'y_component', 'z_component'], dtype='<U11'), 'cartesian': VarCopy(['x_component', 'y_component', 'z_component'], dtype='<U11'), 'metavar0': VarCopy(['Bx GSE', 'By GSE', 'Bz GSE'], dtype='<U6'), 'metavar1': VarCopy(['# of Bx GSE', '# of By GSE', '# of Bz GSE'], dtype='<U11'), 'metavar2': VarCopy('# of ', dtype='<U5')}
动机
这个库隐藏了cdasweb的HTTP、JSON/XML和CDF详细信息 服务。python开发人员只需要处理python对象和 方法(主要是带有完整ISTP/SPDF的SpacePy数据模型对象 元数据)。在
依赖关系
接受常见的、基本的依赖关系,如请求 主要依赖项是 SpacePy。SpacePy只是 如果调用返回 SpacePy数据模型。参考SpacePy 有关SpacePy依赖项的详细信息的文档。特别地, SpacePy的数据模型导入功能取决于 CDF这是 不是(在撰写本文时)自动安装的。在
安装
如上面的依赖项中所述,如果要调用get_数据 方法,则必须安装SpacePy和 CDF库(在 SpacePy和CDF网站上的程序)。在
然后,安装这个软件包
$ pip install -U cdasws
API参考
参考 cdasws package API reference
或者使用标准的python帮助机制。在
from cdasws import CdasWs
help(CdasWs)
测试
测试目录包含 unittest 测验。在
贡献者
伯尼·哈里斯。
e-mail寻求支持。在
许可证
此代码根据 NASA Open Source Agreement(NOSA)。在
- 项目
标签: