nmc_met_io/examples/retrieve_cmadaas_obs.ipynb
2021-12-09 23:21:24 +08:00

955 lines
31 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"cells": [
{
"cell_type": "markdown",
"id": "fff82b54-0526-400b-86c6-34e96eb8b344",
"metadata": {},
"source": [
"# 气象大数据云平台的观测数据读取\n",
"\n",
"#### —— nmc_met_io程序库使用说明\n",
"\n",
"国家气象中心天气预报技术研发室 \n",
"April, 2021 \n",
"Kan Dai "
]
},
{
"cell_type": "markdown",
"id": "ea4ffa0c-6cb5-4443-92b1-60e88c4dad0b",
"metadata": {},
"source": [
"## Prepare"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "96251b6d-b99d-4cd6-85b6-16100b83aa51",
"metadata": {},
"outputs": [],
"source": [
"# set up things\n",
"%matplotlib inline\n",
"%load_ext autoreload\n",
"%autoreload 2\n",
"\n",
"import warnings\n",
"warnings.filterwarnings('ignore')"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "6048c6ae-9ae9-4c03-9644-8c3c2eb61597",
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import xarray as xr"
]
},
{
"cell_type": "markdown",
"id": "953346af-3c4c-4876-86c9-fe29fd62b5dd",
"metadata": {},
"source": [
"## 读取单站观测数据 \n",
"常用的站点观测数据集有: \n",
"* SURF_CHN_MUL_MIN, 中国地面分钟数据\n",
"* SURF_CHN_PRE_MIN, 中国地面分钟数据\n",
"* SURF_CHN_MUL_HOR, 中国地面逐小时资料\n",
"* SURF_CHN_MUL_HOR_N, 中国地面逐小时(国家站)\n",
"* SURF_CHN_MUL_DAY, 中国地面日值数据\n",
"* SURF_CHN_MUL_DAY_N, 中国地面日值数据(国家站)\n",
"* SURF_CHN_MUL_PEN, 中国地面候值数据\n",
"* SURF_CHN_MUL_TEN, 中国地面旬值数据\n",
"* SURF_CHN_MUL_TEN, 中国地面月值数据"
]
},
{
"cell_type": "markdown",
"id": "39d5d187-7209-4e7d-9e7e-fb64e31615a5",
"metadata": {},
"source": [
"### 读取单站的逐小时观测数据"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "dcad8a15-0b25-435b-a1bf-c780652f907f",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Station_Id_C</th>\n",
" <th>Lat</th>\n",
" <th>Lon</th>\n",
" <th>Alti</th>\n",
" <th>Year</th>\n",
" <th>Mon</th>\n",
" <th>Day</th>\n",
" <th>Hour</th>\n",
" <th>PRS_sea</th>\n",
" <th>TEM</th>\n",
" <th>DPT</th>\n",
" <th>RHU</th>\n",
" <th>PRE_1h</th>\n",
" <th>PRE_12h</th>\n",
" <th>PRE_24h</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>54511</td>\n",
" <td>39.8061</td>\n",
" <td>116.4694</td>\n",
" <td>32.8</td>\n",
" <td>2021</td>\n",
" <td>11</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>1031.5</td>\n",
" <td>8.8</td>\n",
" <td>2.6</td>\n",
" <td>65</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>54511</td>\n",
" <td>39.8061</td>\n",
" <td>116.4694</td>\n",
" <td>32.8</td>\n",
" <td>2021</td>\n",
" <td>11</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1031.8</td>\n",
" <td>9.8</td>\n",
" <td>2.2</td>\n",
" <td>59</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>54511</td>\n",
" <td>39.8061</td>\n",
" <td>116.4694</td>\n",
" <td>32.8</td>\n",
" <td>2021</td>\n",
" <td>11</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>1031.9</td>\n",
" <td>10.1</td>\n",
" <td>2.2</td>\n",
" <td>58</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>54511</td>\n",
" <td>39.8061</td>\n",
" <td>116.4694</td>\n",
" <td>32.8</td>\n",
" <td>2021</td>\n",
" <td>11</td>\n",
" <td>1</td>\n",
" <td>3</td>\n",
" <td>1031.7</td>\n",
" <td>10.5</td>\n",
" <td>2.3</td>\n",
" <td>57</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>54511</td>\n",
" <td>39.8061</td>\n",
" <td>116.4694</td>\n",
" <td>32.8</td>\n",
" <td>2021</td>\n",
" <td>11</td>\n",
" <td>1</td>\n",
" <td>4</td>\n",
" <td>1030.8</td>\n",
" <td>10.9</td>\n",
" <td>3.4</td>\n",
" <td>60</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>715</th>\n",
" <td>54511</td>\n",
" <td>39.8061</td>\n",
" <td>116.4694</td>\n",
" <td>32.8</td>\n",
" <td>2021</td>\n",
" <td>11</td>\n",
" <td>30</td>\n",
" <td>19</td>\n",
" <td>1029.7</td>\n",
" <td>-2.2</td>\n",
" <td>-12.5</td>\n",
" <td>45</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>716</th>\n",
" <td>54511</td>\n",
" <td>39.8061</td>\n",
" <td>116.4694</td>\n",
" <td>32.8</td>\n",
" <td>2021</td>\n",
" <td>11</td>\n",
" <td>30</td>\n",
" <td>20</td>\n",
" <td>1029.5</td>\n",
" <td>-2.0</td>\n",
" <td>-11.5</td>\n",
" <td>48</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>717</th>\n",
" <td>54511</td>\n",
" <td>39.8061</td>\n",
" <td>116.4694</td>\n",
" <td>32.8</td>\n",
" <td>2021</td>\n",
" <td>11</td>\n",
" <td>30</td>\n",
" <td>21</td>\n",
" <td>1029.5</td>\n",
" <td>-2.0</td>\n",
" <td>-12.1</td>\n",
" <td>46</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>718</th>\n",
" <td>54511</td>\n",
" <td>39.8061</td>\n",
" <td>116.4694</td>\n",
" <td>32.8</td>\n",
" <td>2021</td>\n",
" <td>11</td>\n",
" <td>30</td>\n",
" <td>22</td>\n",
" <td>1029.9</td>\n",
" <td>-3.0</td>\n",
" <td>-11.5</td>\n",
" <td>52</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>719</th>\n",
" <td>54511</td>\n",
" <td>39.8061</td>\n",
" <td>116.4694</td>\n",
" <td>32.8</td>\n",
" <td>2021</td>\n",
" <td>11</td>\n",
" <td>30</td>\n",
" <td>23</td>\n",
" <td>1030.5</td>\n",
" <td>-3.1</td>\n",
" <td>-11.8</td>\n",
" <td>51</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>720 rows × 15 columns</p>\n",
"</div>"
],
"text/plain": [
" Station_Id_C Lat Lon Alti Year Mon Day Hour PRS_sea \\\n",
"0 54511 39.8061 116.4694 32.8 2021 11 1 0 1031.5 \n",
"1 54511 39.8061 116.4694 32.8 2021 11 1 1 1031.8 \n",
"2 54511 39.8061 116.4694 32.8 2021 11 1 2 1031.9 \n",
"3 54511 39.8061 116.4694 32.8 2021 11 1 3 1031.7 \n",
"4 54511 39.8061 116.4694 32.8 2021 11 1 4 1030.8 \n",
".. ... ... ... ... ... ... ... ... ... \n",
"715 54511 39.8061 116.4694 32.8 2021 11 30 19 1029.7 \n",
"716 54511 39.8061 116.4694 32.8 2021 11 30 20 1029.5 \n",
"717 54511 39.8061 116.4694 32.8 2021 11 30 21 1029.5 \n",
"718 54511 39.8061 116.4694 32.8 2021 11 30 22 1029.9 \n",
"719 54511 39.8061 116.4694 32.8 2021 11 30 23 1030.5 \n",
"\n",
" TEM DPT RHU PRE_1h PRE_12h PRE_24h \n",
"0 8.8 2.6 65 0.0 0.0 0.0 \n",
"1 9.8 2.2 59 0.0 0.0 0.0 \n",
"2 10.1 2.2 58 0.0 0.0 0.0 \n",
"3 10.5 2.3 57 0.0 0.0 0.0 \n",
"4 10.9 3.4 60 0.0 0.0 0.0 \n",
".. ... ... ... ... ... ... \n",
"715 -2.2 -12.5 45 0.0 0.0 0.0 \n",
"716 -2.0 -11.5 48 0.0 0.0 0.0 \n",
"717 -2.0 -12.1 46 0.0 0.0 0.0 \n",
"718 -3.0 -11.5 52 0.0 0.0 0.0 \n",
"719 -3.1 -11.8 51 0.0 0.0 0.0 \n",
"\n",
"[720 rows x 15 columns]"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# import retrieve function\n",
"from nmc_met_io.retrieve_cmadaas import cmadaas_obs_by_time_range_and_id\n",
"\n",
"# set retrieve parameters\n",
"data_code = \"SURF_CHN_MUL_HOR_N\" # 中国地面逐小时(国家站)\n",
"time_range = \"[20211101000000,20211130230000]\"\n",
"elements = \"Station_Id_C,Lat,Lon,Alti,Year,Mon,Day,Hour,PRS_sea,TEM,DPT,RHU,PRE_1h,PRE_12h,PRE_24h\"\n",
"sta_ids = \"54511\"\n",
"\n",
"data = cmadaas_obs_by_time_range_and_id(time_range, data_code=data_code, elements=elements, sta_ids=sta_ids)\n",
"data"
]
},
{
"cell_type": "markdown",
"id": "522e5a5a-c0e7-4aab-a45c-aa3adbd9f0ae",
"metadata": {},
"source": [
"如果需要读取比较长历史的观测记录, 由于大数据云平台存在下载数量限制, 可使用`retrieve_cmadass_history`模块中的函数逐年下载并拼接."
]
},
{
"cell_type": "code",
"execution_count": 23,
"id": "d707113e-84e8-428c-94ca-486bb33239b0",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"Years: 100%|██████████| 11/11 [00:13<00:00, 1.22s/it]\n"
]
},
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Station_Id_d</th>\n",
" <th>Datetime</th>\n",
" <th>Lat</th>\n",
" <th>Lon</th>\n",
" <th>Alti</th>\n",
" <th>TEM</th>\n",
" <th>DPT</th>\n",
" <th>RHU</th>\n",
" <th>PRE_1h</th>\n",
" <th>PRE_6h</th>\n",
" <th>PRE_24h</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>54511</td>\n",
" <td>2001-01-01 00:00:00</td>\n",
" <td>39.8</td>\n",
" <td>116.4667</td>\n",
" <td>31.3</td>\n",
" <td>-4.6</td>\n",
" <td>-9.0</td>\n",
" <td>72.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>54511</td>\n",
" <td>2001-01-01 01:00:00</td>\n",
" <td>39.8</td>\n",
" <td>116.4667</td>\n",
" <td>31.3</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>54511</td>\n",
" <td>2001-01-01 02:00:00</td>\n",
" <td>39.8</td>\n",
" <td>116.4667</td>\n",
" <td>31.3</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>54511</td>\n",
" <td>2001-01-01 03:00:00</td>\n",
" <td>39.8</td>\n",
" <td>116.4667</td>\n",
" <td>31.3</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>54511</td>\n",
" <td>2001-01-01 04:00:00</td>\n",
" <td>39.8</td>\n",
" <td>116.4667</td>\n",
" <td>31.3</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>70075</th>\n",
" <td>54511</td>\n",
" <td>2010-12-31 19:00:00</td>\n",
" <td>39.8</td>\n",
" <td>116.4667</td>\n",
" <td>31.3</td>\n",
" <td>-6.3</td>\n",
" <td>-22.7</td>\n",
" <td>26.0</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>70076</th>\n",
" <td>54511</td>\n",
" <td>2010-12-31 20:00:00</td>\n",
" <td>39.8</td>\n",
" <td>116.4667</td>\n",
" <td>31.3</td>\n",
" <td>-6.3</td>\n",
" <td>-22.7</td>\n",
" <td>26.0</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>70077</th>\n",
" <td>54511</td>\n",
" <td>2010-12-31 21:00:00</td>\n",
" <td>39.8</td>\n",
" <td>116.4667</td>\n",
" <td>31.3</td>\n",
" <td>-6.7</td>\n",
" <td>-23.0</td>\n",
" <td>26.0</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>70078</th>\n",
" <td>54511</td>\n",
" <td>2010-12-31 22:00:00</td>\n",
" <td>39.8</td>\n",
" <td>116.4667</td>\n",
" <td>31.3</td>\n",
" <td>-6.8</td>\n",
" <td>-22.7</td>\n",
" <td>27.0</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>70079</th>\n",
" <td>54511</td>\n",
" <td>2010-12-31 23:00:00</td>\n",
" <td>39.8</td>\n",
" <td>116.4667</td>\n",
" <td>31.3</td>\n",
" <td>-6.7</td>\n",
" <td>-23.0</td>\n",
" <td>26.0</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>70080 rows × 11 columns</p>\n",
"</div>"
],
"text/plain": [
" Station_Id_d Datetime Lat Lon Alti TEM DPT RHU \\\n",
"0 54511 2001-01-01 00:00:00 39.8 116.4667 31.3 -4.6 -9.0 72.0 \n",
"1 54511 2001-01-01 01:00:00 39.8 116.4667 31.3 NaN NaN NaN \n",
"2 54511 2001-01-01 02:00:00 39.8 116.4667 31.3 NaN NaN NaN \n",
"3 54511 2001-01-01 03:00:00 39.8 116.4667 31.3 NaN NaN NaN \n",
"4 54511 2001-01-01 04:00:00 39.8 116.4667 31.3 NaN NaN NaN \n",
"... ... ... ... ... ... ... ... ... \n",
"70075 54511 2010-12-31 19:00:00 39.8 116.4667 31.3 -6.3 -22.7 26.0 \n",
"70076 54511 2010-12-31 20:00:00 39.8 116.4667 31.3 -6.3 -22.7 26.0 \n",
"70077 54511 2010-12-31 21:00:00 39.8 116.4667 31.3 -6.7 -23.0 26.0 \n",
"70078 54511 2010-12-31 22:00:00 39.8 116.4667 31.3 -6.8 -22.7 27.0 \n",
"70079 54511 2010-12-31 23:00:00 39.8 116.4667 31.3 -6.7 -23.0 26.0 \n",
"\n",
" PRE_1h PRE_6h PRE_24h \n",
"0 NaN NaN NaN \n",
"1 NaN NaN NaN \n",
"2 NaN NaN NaN \n",
"3 NaN NaN NaN \n",
"4 NaN NaN NaN \n",
"... ... ... ... \n",
"70075 0.0 NaN NaN \n",
"70076 0.0 NaN NaN \n",
"70077 0.0 NaN NaN \n",
"70078 0.0 NaN NaN \n",
"70079 0.0 NaN NaN \n",
"\n",
"[70080 rows x 11 columns]"
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# import retrieve function\n",
"from nmc_met_io.retrieve_cmadaas_history import get_hist_obs_id\n",
"\n",
"# set retrieve parameters\n",
"years = np.arange(2000, 2011,1)\n",
"data_code = \"SURF_CHN_MUL_HOR_N\" # 逐小时观测资料\n",
"elements = 'Station_Id_d,Datetime,Lat,Lon,Alti,TEM,DPT,RHU,PRE_1h,PRE_6h,PRE_24h'\n",
"sta_ids = \"54511\"\n",
"\n",
"# retrieve data\n",
"data = get_hist_obs_id(years=years, data_code=data_code, elements=elements, sta_ids=sta_ids)\n",
"data"
]
},
{
"cell_type": "markdown",
"id": "113e3e1a-190b-43b7-9ecd-9a0c7f8fa127",
"metadata": {},
"source": [
"## 读取单站的逐日观测数据"
]
},
{
"cell_type": "code",
"execution_count": 26,
"id": "3cf47a7e-9baa-407f-a450-60232bedcf65",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"Years: 100%|██████████| 11/11 [00:05<00:00, 1.85it/s]\n"
]
},
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Station_Id_d</th>\n",
" <th>Datetime</th>\n",
" <th>Lat</th>\n",
" <th>Lon</th>\n",
" <th>Alti</th>\n",
" <th>TEM_Avg</th>\n",
" <th>TEM_Max</th>\n",
" <th>TEM_Min</th>\n",
" <th>PRE_Time_2020</th>\n",
" <th>PRE_Time_0808</th>\n",
" <th>WIN_S_2mi_Avg</th>\n",
" <th>WIN_S_Max</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>54511</td>\n",
" <td>2000-01-01</td>\n",
" <td>39.8</td>\n",
" <td>116.4667</td>\n",
" <td>31.3</td>\n",
" <td>-1.1</td>\n",
" <td>1.3</td>\n",
" <td>-5.1</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>1.8</td>\n",
" <td>2.6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>54511</td>\n",
" <td>2000-01-02</td>\n",
" <td>39.8</td>\n",
" <td>116.4667</td>\n",
" <td>31.3</td>\n",
" <td>0.7</td>\n",
" <td>4.6</td>\n",
" <td>-4.4</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>5.8</td>\n",
" <td>12.1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>54511</td>\n",
" <td>2000-01-03</td>\n",
" <td>39.8</td>\n",
" <td>116.4667</td>\n",
" <td>31.3</td>\n",
" <td>-4.5</td>\n",
" <td>-0.3</td>\n",
" <td>-7.1</td>\n",
" <td>0.4</td>\n",
" <td>0.4</td>\n",
" <td>3.3</td>\n",
" <td>6.1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>54511</td>\n",
" <td>2000-01-04</td>\n",
" <td>39.8</td>\n",
" <td>116.4667</td>\n",
" <td>31.3</td>\n",
" <td>-3.4</td>\n",
" <td>-1.9</td>\n",
" <td>-5.2</td>\n",
" <td>0.2</td>\n",
" <td>0.6</td>\n",
" <td>2.3</td>\n",
" <td>5.7</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>54511</td>\n",
" <td>2000-01-05</td>\n",
" <td>39.8</td>\n",
" <td>116.4667</td>\n",
" <td>31.3</td>\n",
" <td>-2.5</td>\n",
" <td>-1.5</td>\n",
" <td>-3.2</td>\n",
" <td>3.4</td>\n",
" <td>3.0</td>\n",
" <td>2.0</td>\n",
" <td>3.2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4013</th>\n",
" <td>54511</td>\n",
" <td>2010-12-27</td>\n",
" <td>39.8</td>\n",
" <td>116.4667</td>\n",
" <td>31.3</td>\n",
" <td>-1.1</td>\n",
" <td>6.9</td>\n",
" <td>-7.8</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>1.9</td>\n",
" <td>6.4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4014</th>\n",
" <td>54511</td>\n",
" <td>2010-12-28</td>\n",
" <td>39.8</td>\n",
" <td>116.4667</td>\n",
" <td>31.3</td>\n",
" <td>-1.9</td>\n",
" <td>2.5</td>\n",
" <td>-3.9</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>2.1</td>\n",
" <td>8.5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4015</th>\n",
" <td>54511</td>\n",
" <td>2010-12-29</td>\n",
" <td>39.8</td>\n",
" <td>116.4667</td>\n",
" <td>31.3</td>\n",
" <td>-3.1</td>\n",
" <td>1.6</td>\n",
" <td>-5.2</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>3.9</td>\n",
" <td>11.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4016</th>\n",
" <td>54511</td>\n",
" <td>2010-12-30</td>\n",
" <td>39.8</td>\n",
" <td>116.4667</td>\n",
" <td>31.3</td>\n",
" <td>-6.4</td>\n",
" <td>-3.9</td>\n",
" <td>-7.7</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>5.1</td>\n",
" <td>8.3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4017</th>\n",
" <td>54511</td>\n",
" <td>2010-12-31</td>\n",
" <td>39.8</td>\n",
" <td>116.4667</td>\n",
" <td>31.3</td>\n",
" <td>-6.2</td>\n",
" <td>-2.9</td>\n",
" <td>-8.9</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>6.3</td>\n",
" <td>9.4</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>4018 rows × 12 columns</p>\n",
"</div>"
],
"text/plain": [
" Station_Id_d Datetime Lat Lon Alti TEM_Avg TEM_Max TEM_Min \\\n",
"0 54511 2000-01-01 39.8 116.4667 31.3 -1.1 1.3 -5.1 \n",
"1 54511 2000-01-02 39.8 116.4667 31.3 0.7 4.6 -4.4 \n",
"2 54511 2000-01-03 39.8 116.4667 31.3 -4.5 -0.3 -7.1 \n",
"3 54511 2000-01-04 39.8 116.4667 31.3 -3.4 -1.9 -5.2 \n",
"4 54511 2000-01-05 39.8 116.4667 31.3 -2.5 -1.5 -3.2 \n",
"... ... ... ... ... ... ... ... ... \n",
"4013 54511 2010-12-27 39.8 116.4667 31.3 -1.1 6.9 -7.8 \n",
"4014 54511 2010-12-28 39.8 116.4667 31.3 -1.9 2.5 -3.9 \n",
"4015 54511 2010-12-29 39.8 116.4667 31.3 -3.1 1.6 -5.2 \n",
"4016 54511 2010-12-30 39.8 116.4667 31.3 -6.4 -3.9 -7.7 \n",
"4017 54511 2010-12-31 39.8 116.4667 31.3 -6.2 -2.9 -8.9 \n",
"\n",
" PRE_Time_2020 PRE_Time_0808 WIN_S_2mi_Avg WIN_S_Max \n",
"0 0.0 0.0 1.8 2.6 \n",
"1 0.0 0.0 5.8 12.1 \n",
"2 0.4 0.4 3.3 6.1 \n",
"3 0.2 0.6 2.3 5.7 \n",
"4 3.4 3.0 2.0 3.2 \n",
"... ... ... ... ... \n",
"4013 0.0 0.0 1.9 6.4 \n",
"4014 0.0 0.0 2.1 8.5 \n",
"4015 0.0 0.0 3.9 11.0 \n",
"4016 0.0 0.0 5.1 8.3 \n",
"4017 0.0 0.0 6.3 9.4 \n",
"\n",
"[4018 rows x 12 columns]"
]
},
"execution_count": 26,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# import retrieve function\n",
"from nmc_met_io.retrieve_cmadaas_history import get_hist_obs_id\n",
"\n",
"# set retrieve parameters\n",
"years = np.arange(2000, 2011,1)\n",
"data_code = \"SURF_CHN_MUL_DAY\" # 逐小时观测资料\n",
"elements = 'Station_Id_d,Datetime,Lat,Lon,Alti,TEM_Avg,TEM_Max,TEM_Min,PRE_Time_2020,PRE_Time_0808,WIN_S_2mi_Avg,WIN_S_Max'\n",
"sta_ids = \"54511\"\n",
"\n",
"# retrieve data\n",
"data = get_hist_obs_id(years=years, data_code=data_code, elements=elements, sta_ids=sta_ids)\n",
"data"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "7955298d-60b9-4c5a-b3cc-1aa0f056591f",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Meteorology with Python",
"language": "python",
"name": "met"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.7"
},
"widgets": {
"application/vnd.jupyter.widget-state+json": {
"state": {},
"version_major": 2,
"version_minor": 0
}
}
},
"nbformat": 4,
"nbformat_minor": 5
}