站点数据#
retrieve_obs_station 函数用于获取地面站点观测数据。
>>> import pandas as pd
>>> from nuwe_cimiss.obs import retrieve_obs_station
>>> table = retrieve_obs_station(
... "SURF_CHN_MUL_HOR",
... time=[
... pd.to_datetime("2021-01-01 00:00:00"),
... pd.to_datetime("2021-01-02 00:00:00")
... ],
... config_file="nwpc-oper.yaml"
... )
>>> table
Station_Id_d Lat Lon Alti ... PRE_1h PRE_6h PRE_24h PRS
0 631 37.9167 102.6667 1531.5 ... 0 0 0 850.4
1 631 37.9167 102.6667 1531.5 ... 0 0 0 851.7
2 7129 44.85 84.7 455 ... 0 999999 999999 999999
3 7129 44.85 84.7 455 ... 0 999999 999999 999999
4 9168 46.8472 84.1847 891 ... 0 999999 999999 999999
... ... ... ... ... ... ... ... ...
126047 999999 24.6462 121.0829 718 ... 0 0 0 999998
126048 999999 23.0817 120.5825 298 ... 0 0 0 986.3
126049 999999 22.8596 120.5086 44 ... 0 0 0 999998
126050 999999 24.2965 120.6431 130 ... 0 0 0 999999
126051 999999 23.0739 120.5289 274 ... 0 0 0 999998
[126052 rows x 17 columns]
API#
- nuwe_cmadaas.obs.retrieve_obs_station(data_code='SURF_CHN_MUL_HOR', elements=None, time=None, station=None, region=None, station_level=None, order='Station_ID_d:asc', count=None, config_file=None, **kwargs)#
检索地面站点观测数据资料。 对应 CMADaaS 中以
getSurfEle开头的一系列地面资料接口。区域筛选条件
经纬度范围
{ "type": "rect", "start_longitude": 115.7, "end_longitude": 117.4, "start_latitude": 41.6, "end_latitude": 39.4, }
流域
{ "type": "basin", "basin_codes": "CJLY" }
地区
{ "type": "region", "admin_codes": "110000" }
- 参数
data_code (
str) – 数据种类,即 CMADaaS 中的资料代码elements (
Optional[str]) – 要素字段代码,以逗号分隔。如果为None,会自动从数据集配置文件 (默认为nuwe_cmadaas/datasets/station.yaml) 中查找对应资料的elements配置项。time (
Union[Interval,Timestamp,List,Timedelta,None]) –时间筛选条件,支持单个时间,时间列表,时间段和时间间隔
时间对象:
pd.Timestamp类型,单个时间点,对应接口的 times 参数时间列表:
typing.List[pd.Timestamp]类型,多个时间列表,对应接口的 times 参数时间段:
pd.Interval类型,起止时间,定义区间端点是否闭合,对应接口的 timeRange 参数时间间隔:
pd.Timedelta类型,用于获取地面资料最新时次 (getSurfLatestTime),忽略其余筛选条件
station (
Union[str,List,Tuple,None]) –站点筛选条件,支持字符串,列表和元组
字符串:单个站点
列表:多个站点
元组:站点范围,二元组,第一个元素是起止站号 (minStaId),第二个元素是终止站号 (maxStaId)
region (
Optional[Dict]) –- 区域筛选条件:
经纬度范围 (rect)
流域 (basin)
地区 (region)
station_level (
Union[str,List[str],None]) –- 台站级别:
011: 国家基准气候站
012: 基本气象站
013: 一般气象站
order (
str) – 排序字段count (
Optional[int]) – 最大返回记录数,对应接口的 limitCnt 参数config_file (
Union[str,Path,None]) – 配置文件路径kwargs –
- 其他需要传递给 MUSIC 接口的参数,例如:
eleValueRanges: 要素值范围
hourSeparate: 小时取整条件
minSeparate: 分钟取整条件
- 返回
站点观测资料表格数据,列名为
elements中的值- 返回类型
pd.DataFrame