站点数据#

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