nmc_met_io/examples/retrieve_micaps_server.ipynb

699 lines
1.7 MiB
Plaintext
Raw Normal View History

2020-02-17 13:29:11 +00:00
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
2020-02-17 13:29:11 +00:00
"source": [
2021-12-09 15:21:24 +00:00
"# 从MICAPS Cassandra Server数据库读取数值模式、卫星雷达等数据\n",
2020-02-17 13:29:11 +00:00
"\n",
2020-07-29 23:55:35 +00:00
"#### —— nmc_met_io程序库使用说明\n",
2020-02-17 13:29:11 +00:00
"\n",
2020-07-29 23:55:35 +00:00
"国家气象中心天气预报技术研发室 \n",
"June, 2020 \n",
"Kan Dai \n",
2020-02-17 13:29:11 +00:00
"\n",
"\n",
2020-07-29 23:55:35 +00:00
"MICAPS分布式数据环境BDIPS提供WEBService API方式来检索数据. [nmc_met_io](https://github.com/nmcdev/nmc_met_io)程序库的[retrieve_micaps_server](https://github.com/nmcdev/nmc_met_io/blob/master/nmc_met_io/retrieve_micaps_server.py)模块, 基于WEBService API接口实现了Python语言对BDIPS数据的检索和读取.\n",
2020-02-17 13:29:11 +00:00
"\n",
"### retrieve_micaps_server模块主要功能:\n",
"* 使用WEBService API接口, 无需额外的MICAPS Cassandra Server读取程序库;\n",
"* 引入的本地文件缓存技术, 加快数据的快速读取;\n",
"* 支持模式数据标量场, 矢量场及集合成员数据的读取; \n",
"* 支持模式单点时间序列, 单点廓线及廓线时序的读取;\n",
"* 支持站点, 探空观测数据的读取;\n",
"* 支持awx格式的静止气象卫星等经纬度数据读取;\n",
"* 支持LATLON格式的雷达拼图数据读取;\n",
"* 统一的返回数据类型, 格点数据返回为[xarray](http://xarray.pydata.org/en/stable/)类型, 站点数据返回为[pandas.DataFrame](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.html)类型.\n",
"\n",
"### 参考网站\n",
"* https://github.com/nmcdev/nmc_met_io\n",
"* http://www.micaps.cn/MifunForum/topic/list?fId=7\n",
"---"
]
2020-02-17 13:29:11 +00:00
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
2021-12-09 15:21:24 +00:00
"## 1. 安装和配置nmc_met_io程序库\n",
2020-02-17 13:29:11 +00:00
"\n",
2020-07-29 23:55:35 +00:00
"* 建议安装[Anaconda](https://www.anaconda.com/distribution/)的Python环境.\n",
"* [nmc_met_io](https://github.com/nmcdev/nmc_met_io)有详细安装说明."
2020-02-17 13:29:11 +00:00
]
},
{
"cell_type": "code",
"execution_count": 1,
2020-02-17 14:09:32 +00:00
"metadata": {
"init_cell": true
},
2020-02-17 13:29:11 +00:00
"outputs": [],
"source": [
"# set up things\n",
"%matplotlib inline\n",
"%load_ext autoreload\n",
"%autoreload 2"
]
},
{
"cell_type": "code",
2022-03-31 16:31:08 +00:00
"execution_count": 2,
2020-02-17 14:09:32 +00:00
"metadata": {
"init_cell": true
},
"outputs": [
{
"data": {
"text/plain": [
2022-03-31 16:31:08 +00:00
"<xarray.core.options.set_options at 0x7f0f744b5d60>"
]
},
2022-03-31 16:31:08 +00:00
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
2020-02-17 13:29:11 +00:00
"source": [
"# load necessary libraries\n",
"# you should install cartopy with 'conda install -c conda-forge cartopy'\n",
"import xarray as xr\n",
"import numpy as np\n",
"import cartopy.crs as ccrs\n",
2021-04-25 03:51:46 +00:00
"import matplotlib as mpl\n",
2020-02-17 13:29:11 +00:00
"import matplotlib.pyplot as plt\n",
2020-02-18 01:44:13 +00:00
"\n",
"# load nmc_met_io for retrieving micaps server data\n",
2021-12-09 15:21:24 +00:00
"from nmc_met_io.retrieve_micaps_server import get_model_grid, get_model_grids, get_fy_awx\n",
"\n",
"xr.set_options(display_style=\"text\")"
2020-02-17 13:29:11 +00:00
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
2021-12-09 15:21:24 +00:00
"## 2. 读取数值模式预报数据\n",
2020-02-17 13:29:11 +00:00
"\n",
"模块`retrieve_micaps_server`提供读取数值模式网格预报数据的函数:\n",
" * `get_model_grid`: 读取单个时次标量, 矢量或集合成员的2D平面预报数据;\n",
" * `get_model_grids`: 读取多个时次标量, 矢量或集合成员的2D平面预报数据;\n",
" * `get_model_points`: 获取指定经纬度点的模式预报数据;\n",
" * `get_model_3D_grid`: 获得单个时次标量, 矢量或集合成员的[lev, lat, lon]3D预报数据;\n",
" * `get_model_3D_grids`: 获得多个时次标量, 矢量或集合成员的[lev, lat, lon]3D预报数据;\n",
" * `get_model_profiles`: 获得制定经纬度单点的模块廓线预报数据.\n",
"\n",
2020-02-18 01:44:13 +00:00
"每个函数都有固定的参数`directory`和`filename`(或`filenames`), 例如\n",
2020-02-17 13:29:11 +00:00
"```Python\n",
"# MICAPS分布式服务器上的数据地址, 可通过MICAPS4的数据源检索界面查找,\n",
2020-07-29 23:55:35 +00:00
"# 如下图, 找到数据存放的目录, 鼠标右键点击\"保存路径到剪切板\", 粘贴去掉\"mdfs:///\"\n",
2020-02-17 13:29:11 +00:00
"directory = 'ECMWF_HR/TMP/850'\n",
"# 指定具体的数据文件, 一般格式为\"起报时间.预报时效\", 若不指定, 则自动获得目录下最新数据的文件名\n",
"filename = '18021708.024'\n",
"# 调用函数读取数据\n",
"data = get_model_grid(directory, filename=filename)\n",
"```\n",
"\n",
2020-07-29 23:55:35 +00:00
"<img src=\"./images/micaps_retrieve_UI.png\" alt=\"image\" style=\"height: 400px;\">"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
2021-12-09 15:21:24 +00:00
"### 2.1 读取单个时次模式标量预报数据"
2020-02-17 13:29:11 +00:00
]
},
{
"cell_type": "code",
"execution_count": 4,
2020-02-17 13:29:11 +00:00
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
2020-02-17 13:29:11 +00:00
"text": [
"<xarray.Dataset>\n",
"Dimensions: (lat: 301, level: 1, lon: 651, time: 1)\n",
"Coordinates:\n",
" * time (time) datetime64[ns] 2021-05-09T08:00:00\n",
" * level (level) float32 850.0\n",
" * lat (lat) float64 6.735e-06 0.2 0.4 ... 59.6 59.8 60.0\n",
" * lon (lon) float64 50.0 50.2 50.4 ... 179.6 179.8 180.0\n",
" forecast_reference_time datetime64[ns] 2021-05-08T08:00:00\n",
" forecast_period (time) float64 24.0\n",
"Data variables:\n",
" data (time, level, lat, lon) float32 19.18 ... -2.792\n",
"Attributes:\n",
" Conventions: CF-1.6\n",
" Origin: MICAPS Cassandra Server\n"
2020-02-17 13:29:11 +00:00
]
}
],
"source": [
"directory = 'ECMWF_HR/TMP/850'\n",
"filename = '21050808.024'\n",
2020-02-17 13:29:11 +00:00
"data = get_model_grid(directory, filename=filename, cache=False)\n",
"if data is not None:\n",
" print(data)\n",
"else:\n",
" print(\"Retrieve failed.\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<div class=\"alert alert-success\">\n",
" <b>返回xarray数据结构</b>:\n",
" <ul>\n",
" <li>返回的数据类型为[xarray](http://xarray.pydata.org/en/stable/)的Dataset结构数据(如下图所示).</li>\n",
" <li>xarray为在numpy数组基础上增加维度, 坐标和属性信息, 其数据模型来自于netCDF文件结构.</li>\n",
" <li>xarray提供直观,简介且可靠的格点数据操作功能, 已成为地球环境科学的标准数据处理程序库, 与很多现有的开源软件兼容.</li>\n",
" <li><em>get_model_grid</em>根据读取数据类型返回不同维度的Dataset数据. 如上对于高空数据, 返回数据的维度分别为(time, level, lat, lon).</li>\n",
" <li>在坐标Coordinate信息中, 除了数组维度的信息, 还给出起报时间forecast_reference_time和预报时效forecast_period</li>\n",
" </ul>\n",
"</div>\n",
"\n",
"<img src=\"./images/xarray_dataset.png\" width=\"600\">"
2020-02-17 13:29:11 +00:00
]
},
{
"cell_type": "code",
"execution_count": 4,
2020-02-17 13:29:11 +00:00
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"\u001b[0;31mSignature:\u001b[0m\n",
"\u001b[0mget_model_grid\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\u001b[0m\n",
"\u001b[0;34m\u001b[0m \u001b[0mdirectory\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
"\u001b[0;34m\u001b[0m \u001b[0mfilename\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
"\u001b[0;34m\u001b[0m \u001b[0msuffix\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'*.024'\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
"\u001b[0;34m\u001b[0m \u001b[0mvarname\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'data'\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
"\u001b[0;34m\u001b[0m \u001b[0mvarattrs\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m{\u001b[0m\u001b[0;34m'units'\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;34m''\u001b[0m\u001b[0;34m}\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
"\u001b[0;34m\u001b[0m \u001b[0mscale_off\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
"\u001b[0;34m\u001b[0m \u001b[0mlevattrs\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m{\u001b[0m\u001b[0;34m'long_name'\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;34m'pressure_level'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'units'\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;34m'hPa'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'_CoordinateAxisType'\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;34m'Pressure'\u001b[0m\u001b[0;34m}\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
"\u001b[0;34m\u001b[0m \u001b[0mcache\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
2021-04-25 03:51:46 +00:00
"\u001b[0;34m\u001b[0m \u001b[0mcache_clear\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
2020-02-17 13:29:11 +00:00
"\u001b[0;34m\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;31mDocstring:\u001b[0m\n",
"Retrieve numeric model grid forecast from MICAPS cassandra service.\n",
"Support ensemble member forecast.\n",
"\n",
":param directory: the data directory on the service\n",
":param filename: the data filename, if none, will be the latest file.\n",
":param suffix: the filename filter pattern which will be used to\n",
" find the specified file.\n",
":param varname: set variable name.\n",
":param varattrs: set variable attributes, dictionary type.\n",
":param scale_off: [scale, offset], return values = values*scale + offset.\n",
":param levattrs: set level coordinate attributes, diectionary type.\n",
":param cache: cache retrieved data to local directory, default is True.\n",
":return: data, xarray type\n",
"\n",
":Examples:\n",
">>> data = get_model_grid(\"ECMWF_HR/TMP/850\")\n",
">>> data_ens = get_model_grid(\"ECMWF_ENSEMBLE/RAW/HGT/500\", filename='18021708.024')\n",
">>> data_ens = get_model_grid('ECMWF_ENSEMBLE/RAW/TMP_2M', '19083008.024')\n",
"\u001b[0;31mFile:\u001b[0m /media/kan-dai/workspace/workcode/repository/nmc_met_io/nmc_met_io/retrieve_micaps_server.py\n",
2020-02-17 13:29:11 +00:00
"\u001b[0;31mType:\u001b[0m function\n"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# 使用?可以获得函数的帮助信息.\n",
"?get_model_grid"
]
},
{
"cell_type": "code",
"execution_count": 5,
2020-02-17 13:29:11 +00:00
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
2021-04-25 03:51:46 +00:00
"<xarray.DataArray 'TEM' (time: 1, level: 1, lat: 301, lon: 651)>\n",
"array([[[[18.16605 , 18.1973 , 18.0723 , ..., 17.8848 ,\n",
" 17.91605 , 17.79105 ],\n",
" [18.1348 , 18.0098 , 17.9473 , ..., 17.7598 ,\n",
" 17.72855 , 17.60355 ],\n",
" [18.04105 , 17.9473 , 18.0098 , ..., 17.6973 ,\n",
" 17.60355 , 17.5098 ],\n",
2020-02-17 13:29:11 +00:00
" ...,\n",
2021-04-25 03:51:46 +00:00
" [-1.3652002, -1.3652002, -1.3652002, ..., -4.64645 ,\n",
" -4.64645 , -4.7402 ],\n",
" [-1.5214502, -1.5214502, -1.4277002, ..., -4.6152 ,\n",
" -4.64645 , -4.77145 ],\n",
" [-1.6464502, -1.6464502, -1.5527002, ..., -4.6777 ,\n",
" -4.77145 , -4.89645 ]]]], dtype=float32)\n",
2020-02-17 13:29:11 +00:00
"Coordinates:\n",
2021-04-25 03:51:46 +00:00
" * time (time) datetime64[ns] 2021-04-25T08:00:00\n",
2020-02-17 13:29:11 +00:00
" * level (level) float32 850.0\n",
2021-04-25 03:51:46 +00:00
" * lat (lat) float64 6.735e-06 0.2 0.4 ... 59.6 59.8 60.0\n",
" * lon (lon) float64 50.0 50.2 50.4 ... 179.6 179.8 180.0\n",
" forecast_reference_time datetime64[ns] 2021-04-24T08:00:00\n",
2020-02-17 13:29:11 +00:00
" forecast_period (time) float64 24.0\n",
"Attributes:\n",
" long_name: temperature\n",
" units: degree\n"
]
}
],
"source": [
"# 可以指定数据的变量名称, 变量属性等信息\n",
"data = get_model_grid(directory, filename=filename, varname='TEM', varattrs={'long_name':'temperature', 'units':'degree'}, cache=False)\n",
"if data is not None:\n",
" print(data.TEM)\n",
"else:\n",
" print(\"Retrieve failed.\")"
]
},
{
"cell_type": "code",
"execution_count": 6,
2020-02-17 13:29:11 +00:00
"metadata": {},
"outputs": [
{
"data": {
2021-04-25 03:51:46 +00:00
"image/png": "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
2020-02-17 13:29:11 +00:00
"text/plain": [
"<Figure size 864x576 with 2 Axes>"
2020-02-17 13:29:11 +00:00
]
},
"metadata": {
"needs_background": "light"
},
2020-02-17 13:29:11 +00:00
"output_type": "display_data"
}
],
"source": [
"# 绘制图像\n",
"fig = plt.figure(figsize=(12,8))\n",
"ax = plt.axes(projection=ccrs.LambertConformal(central_longitude=120))\n",
"data.TEM.plot(ax=ax, transform=ccrs.PlateCarree(), cbar_kwargs={'shrink': 0.8})\n",
"ax.coastlines()\n",
"ax.gridlines()\n",
"ax.set_extent([80,130,15,54], crs=ccrs.PlateCarree())"
]
},
2020-02-18 01:44:13 +00:00
{
"cell_type": "markdown",
"metadata": {},
"source": [
2021-12-09 15:21:24 +00:00
"## 2.2 读取多个时次的模式预报数据"
2020-02-18 01:44:13 +00:00
]
},
2020-02-17 13:29:11 +00:00
{
"cell_type": "code",
2021-04-25 03:51:46 +00:00
"execution_count": 7,
2020-02-17 13:29:11 +00:00
"metadata": {},
2020-02-18 01:44:13 +00:00
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
2021-04-25 03:51:46 +00:00
"CPU times: user 2 µs, sys: 1e+03 ns, total: 3 µs\n",
"Wall time: 3.81 µs\n"
2020-02-18 01:44:13 +00:00
]
}
],
"source": [
"%time\n",
"directory = \"GRAPES_GFS/HGT/500/\"\n",
"fhours = np.arange(0, 132, 12)\n",
2021-04-25 03:51:46 +00:00
"filenames = ['21042420.'+'%03d'%(fhour) for fhour in fhours]\n",
2020-02-18 01:44:13 +00:00
"data = get_model_grids(directory, filenames, varname='HGT', varattrs={'long_name':'geopotential height', 'units':'dagpm'}, cache=False)"
]
},
{
"cell_type": "code",
2021-04-25 03:51:46 +00:00
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<pre>&lt;xarray.Dataset&gt;\n",
"Dimensions: (lat: 360, level: 1, lon: 721, time: 11)\n",
"Coordinates:\n",
2021-04-25 03:51:46 +00:00
" * time (time) datetime64[ns] 2021-04-24T20:00:00 ... 20...\n",
" * level (level) float32 500.0\n",
2021-04-25 03:51:46 +00:00
" * lat (lat) float64 -9.875 -9.625 -9.375 ... 79.62 79.88\n",
" * lon (lon) float64 0.0 0.25 0.5 ... 179.5 179.8 180.0\n",
" forecast_reference_time datetime64[ns] 2021-04-24T20:00:00\n",
" forecast_period (time) float64 0.0 12.0 24.0 ... 96.0 108.0 120.0\n",
"Data variables:\n",
2021-04-25 03:51:46 +00:00
" HGT (time, level, lat, lon) float32 587.7 ... 512.7\n",
"Attributes:\n",
" Conventions: CF-1.6\n",
" Origin: MICAPS Cassandra Server</pre>"
],
"text/plain": [
"<xarray.Dataset>\n",
"Dimensions: (lat: 360, level: 1, lon: 721, time: 11)\n",
"Coordinates:\n",
2021-04-25 03:51:46 +00:00
" * time (time) datetime64[ns] 2021-04-24T20:00:00 ... 20...\n",
" * level (level) float32 500.0\n",
2021-04-25 03:51:46 +00:00
" * lat (lat) float64 -9.875 -9.625 -9.375 ... 79.62 79.88\n",
" * lon (lon) float64 0.0 0.25 0.5 ... 179.5 179.8 180.0\n",
" forecast_reference_time datetime64[ns] 2021-04-24T20:00:00\n",
" forecast_period (time) float64 0.0 12.0 24.0 ... 96.0 108.0 120.0\n",
"Data variables:\n",
2021-04-25 03:51:46 +00:00
" HGT (time, level, lat, lon) float32 587.7 ... 512.7\n",
"Attributes:\n",
" Conventions: CF-1.6\n",
" Origin: MICAPS Cassandra Server"
]
},
2021-04-25 03:51:46 +00:00
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data"
]
},
{
"cell_type": "code",
2021-04-25 03:51:46 +00:00
"execution_count": 9,
2020-02-18 01:44:13 +00:00
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
2021-04-25 03:51:46 +00:00
"<xarray.plot.facetgrid.FacetGrid at 0x7fc77cd0fdd0>"
2020-02-18 01:44:13 +00:00
]
},
2021-04-25 03:51:46 +00:00
"execution_count": 9,
2020-02-18 01:44:13 +00:00
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
2021-04-25 03:51:46 +00:00
"image/png": "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
"text/plain": [
"<Figure size 936x648 with 12 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
2020-02-18 01:44:13 +00:00
}
],
"source": [
"# 绘制图像\n",
"data.HGT.isel(level=0).plot.contour(col='time', col_wrap=4, levels=20)"
2020-02-18 01:44:13 +00:00
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
2021-12-09 15:21:24 +00:00
"## 2.3 读取集合预报数据"
]
},
{
"cell_type": "code",
2021-04-25 03:51:46 +00:00
"execution_count": 10,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
2021-04-25 03:51:46 +00:00
"CPU times: user 2 µs, sys: 0 ns, total: 2 µs\n",
"Wall time: 3.81 µs\n"
]
},
{
"data": {
"text/html": [
"<pre>&lt;xarray.Dataset&gt;\n",
"Dimensions: (lat: 121, lon: 261, number: 51, time: 1)\n",
"Coordinates:\n",
" * number (number) int64 0 1 2 3 4 5 6 ... 45 46 47 48 49 50\n",
2021-04-25 03:51:46 +00:00
" * time (time) datetime64[ns] 2021-04-26T08:00:00\n",
" * lat (lat) float64 0.0 0.5 1.0 1.5 ... 59.0 59.5 60.0\n",
" * lon (lon) float64 50.0 50.5 51.0 ... 179.0 179.5 180.0\n",
2021-04-25 03:51:46 +00:00
" forecast_reference_time datetime64[ns] 2021-04-24T20:00:00\n",
" forecast_period (time) float64 36.0\n",
"Data variables:\n",
2021-04-25 03:51:46 +00:00
" precipitation (number, time, lat, lon) float64 2.102 ... 0.1698\n",
"Attributes:\n",
" Conventions: CF-1.6\n",
" Origin: MICAPS Cassandra Server</pre>"
],
"text/plain": [
"<xarray.Dataset>\n",
"Dimensions: (lat: 121, lon: 261, number: 51, time: 1)\n",
"Coordinates:\n",
" * number (number) int64 0 1 2 3 4 5 6 ... 45 46 47 48 49 50\n",
2021-04-25 03:51:46 +00:00
" * time (time) datetime64[ns] 2021-04-26T08:00:00\n",
" * lat (lat) float64 0.0 0.5 1.0 1.5 ... 59.0 59.5 60.0\n",
" * lon (lon) float64 50.0 50.5 51.0 ... 179.0 179.5 180.0\n",
2021-04-25 03:51:46 +00:00
" forecast_reference_time datetime64[ns] 2021-04-24T20:00:00\n",
" forecast_period (time) float64 36.0\n",
"Data variables:\n",
2021-04-25 03:51:46 +00:00
" precipitation (number, time, lat, lon) float64 2.102 ... 0.1698\n",
"Attributes:\n",
" Conventions: CF-1.6\n",
" Origin: MICAPS Cassandra Server"
]
},
2021-04-25 03:51:46 +00:00
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"%time\n",
"directory = \"ECMWF_ENSEMBLE/RAW/RAIN24/\"\n",
2021-04-25 03:51:46 +00:00
"filename = \"21042420.036\"\n",
2021-04-21 14:28:02 +00:00
"data = get_model_grid(directory, filename=filename, varname='precipitation',\n",
" varattrs={'long_name':'accumulated precipitation', 'units':'mm'},\n",
" cache=False)\n",
"data"
]
},
{
"cell_type": "code",
2021-04-25 03:51:46 +00:00
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
2021-04-25 03:51:46 +00:00
"<xarray.plot.facetgrid.FacetGrid at 0x7fc777a83710>"
]
},
2021-04-25 03:51:46 +00:00
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
2021-04-25 03:51:46 +00:00
"image/png": "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
"text/plain": [
"<Figure size 1800x1512 with 57 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
2021-04-25 03:51:46 +00:00
"# set colors and levels\n",
"clevs = [0.01, 2.5, 5, 10, 20, 40, 60]\n",
"colors = ['#b1f7a3', '#76d870', '#39bb3e', '#318c2f', '#5cb8fc', '#0202fd', '#ef08e9']\n",
"cmap, norm = mpl.colors.from_levels_and_colors(clevs, colors, extend='max')\n",
"\n",
"plt.rcParams['font.size'] = '20'\n",
"subdata = data.sel(lon=slice(105, 110), lat=slice(29, 34))\n",
2021-04-25 03:51:46 +00:00
"fg = subdata.precipitation.isel(time=0).plot(\n",
" col='number', col_wrap=8, cmap=cmap, norm=norm, extend=\"max\", \\\n",
" sharex=True, sharey=True,\n",
" cbar_kwargs={\"aspect\":40, \"shrink\":0.6, \"pad\":0.01})\n",
"fg.set_xlabels(\"Lon\")\n",
"fg.set_ylabels(\"lat\")"
]
2021-04-25 03:51:46 +00:00
},
2021-12-09 15:21:24 +00:00
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 2.4 读取卫星图像数据"
]
},
2021-04-25 03:51:46 +00:00
{
"cell_type": "code",
2022-03-31 16:31:08 +00:00
"execution_count": 3,
2021-04-25 03:51:46 +00:00
"metadata": {},
2021-12-09 15:21:24 +00:00
"outputs": [
{
"data": {
"text/html": [
"<pre>&lt;xarray.Dataset&gt;\n",
2022-03-31 16:31:08 +00:00
"Dimensions: (channel: 1, lat: 1001, lon: 1001, time: 1)\n",
2021-12-09 15:21:24 +00:00
"Coordinates:\n",
2022-03-31 16:31:08 +00:00
" * time (time) datetime64[ns] 2022-03-31T16:15:00\n",
" * channel (channel) int16 1\n",
" * lat (lat) float64 10.0 10.04 10.08 10.12 ... 49.88 49.92 49.96 50.0\n",
" * lon (lon) float64 105.0 105.0 105.1 105.1 ... 144.9 144.9 145.0 145.0\n",
2021-12-09 15:21:24 +00:00
"Data variables:\n",
2022-03-31 16:31:08 +00:00
" image (time, channel, lat, lon) float64 253.2 253.9 253.2 ... 235.9 235.0\n",
2021-12-09 15:21:24 +00:00
"Attributes:\n",
" Conventions: CF-1.6\n",
" Origin: MICAPS Cassandra Server</pre>"
],
"text/plain": [
"<xarray.Dataset>\n",
2022-03-31 16:31:08 +00:00
"Dimensions: (channel: 1, lat: 1001, lon: 1001, time: 1)\n",
2021-12-09 15:21:24 +00:00
"Coordinates:\n",
2022-03-31 16:31:08 +00:00
" * time (time) datetime64[ns] 2022-03-31T16:15:00\n",
" * channel (channel) int16 1\n",
" * lat (lat) float64 10.0 10.04 10.08 10.12 ... 49.88 49.92 49.96 50.0\n",
" * lon (lon) float64 105.0 105.0 105.1 105.1 ... 144.9 144.9 145.0 145.0\n",
2021-12-09 15:21:24 +00:00
"Data variables:\n",
2022-03-31 16:31:08 +00:00
" image (time, channel, lat, lon) float64 253.2 253.9 253.2 ... 235.9 235.0\n",
2021-12-09 15:21:24 +00:00
"Attributes:\n",
" Conventions: CF-1.6\n",
" Origin: MICAPS Cassandra Server"
]
},
2022-03-31 16:31:08 +00:00
"execution_count": 3,
2021-12-09 15:21:24 +00:00
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# 获得风云4A中国区域4通道产品\n",
2022-03-31 16:31:08 +00:00
"directory = \"SATELLITE/FY4A/L1/CHINA/C014/\"\n",
2021-12-09 15:21:24 +00:00
"data = get_fy_awx(directory)\n",
"data"
]
},
{
"cell_type": "code",
2022-03-31 16:31:08 +00:00
"execution_count": 4,
2021-12-09 15:21:24 +00:00
"metadata": {},
"outputs": [
{
"data": {
2022-03-31 16:31:08 +00:00
"image/png": "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
2021-12-09 15:21:24 +00:00
"text/plain": [
"<Figure size 864x576 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# 绘制图像\n",
"fig = plt.figure(figsize=(12,8))\n",
"ax = plt.axes(projection=ccrs.LambertConformal(central_longitude=100))\n",
"data.image[0,0,:,:].plot(ax=ax, transform=ccrs.PlateCarree(), cbar_kwargs={'shrink': 0.8})\n",
"ax.coastlines()\n",
"ax.gridlines()\n",
"ax.set_extent([80,130,15,54], crs=ccrs.PlateCarree())"
]
},
{
"cell_type": "code",
2022-03-31 16:31:08 +00:00
"execution_count": 7,
2021-12-09 15:21:24 +00:00
"metadata": {},
"outputs": [
{
"data": {
2022-03-31 16:31:08 +00:00
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAnkAAAHRCAYAAAAWrq+/AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAAEAAElEQVR4nOy9f3xc11nn/74/ZkYzksbS2LKlSHZsy/nhpPnV1EndOmlpadwSmtCydJOysO3CApuyhXRhd79soAXCz91vYYEGWBbKzyYUWmhpS522UNI2aeKWpkkTp4llJ5Zky5Y1kkbSSPPjzv3+8ZznnnOvZCe7CwvJd57XS68Zzdy5P84995zP+TzP83m8OI7pWte61rWuda1rXevaS8v8f+oT6FrXuta1rnWta13r2j+8dUFe17rWta51rWtd69pL0Logr2td61rXuta1rnXtJWhdkNe1rnWta13rWte69hK0LsjrWte61rWuda1rXXsJWhfkda1rXeta17rWta69BK0L8rr2D2qe5+3wPG/Z87zgn/pcuta1fyzzPO9Zz/O+9Z/6PFzzPG+n53mx53nhP/W5dK1rXfvnYV2Q17X/I8tOdnEcn4jjuC+O4+if8rzOZZ7nFTzP+13P857zPG/J87yveZ73psw2r/c87ynP8+qe5/2t53kXOt/9uOd53zC/Pe553o873231PO9ez/NOep636HnelzzPu/55zmenOUbdHPNbne++xfO8xz3PW/A8b87zvL/wPG/0PPs67/ae573N87wHzbE+73x+gwHmy57nrRigsOz87TjXb519xOa3+pv/+TzXfafneTOmnX7P87yC813FnPuKuU9vf559ne9+eZ7n/ZJpjznP837Z8zzvfPvrWto8z/tZ06/anue975/6fLrWta69cOuCvK79/81CYBJ4DbAJ+Engw57n7QTwPG8L8FHzeQX4CvCnzu894HuBQeCNwA97nneb+a4POAxca377B8AnPc/rO8/53At8DdgM/Bfgzz3PGzLfPQkcjON4ALgAeAb4zfPs6/m2rwK/Cvyi+6M4jr9ggHkfcLn5eEA/i+P4xLl+m7GrnN98/7k28jzvIPCfgdcDO4HdwE87m3wAaALbgO8GftPzvMvZwF7A/foB4DuAq4ArgW8HfvA819C19XYU+I/AJ/+pT6RrXeva/6LFcdz96/79b/0BfwR0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
2021-12-09 15:21:24 +00:00
"text/plain": [
"<Figure size 864x576 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# 风云2静止卫星图像\n",
"directory = \"SATELLITE/FY2/L1/IR1/EQUAL\"\n",
"data = get_fy_awx(directory)\n",
"\n",
"# 绘制图像\n",
"fig = plt.figure(figsize=(12,8))\n",
"ax = plt.axes(projection=ccrs.LambertConformal(central_longitude=100))\n",
2022-03-31 16:31:08 +00:00
"data.image[0,0,:,:].plot(ax=ax, transform=ccrs.PlateCarree(), cbar_kwargs={'shrink': 0.8}, cmap=\"gist_ncar\", vmin=160, vmax=280)\n",
2021-12-09 15:21:24 +00:00
"ax.coastlines()\n",
"ax.gridlines()\n",
"ax.set_extent([80,130,15,54], crs=ccrs.PlateCarree())"
]
2022-03-31 16:31:08 +00:00
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
2020-02-17 13:29:11 +00:00
}
],
"metadata": {
2020-02-17 14:09:32 +00:00
"celltoolbar": "Initialization Cell",
"hide_input": false,
2020-02-17 13:29:11 +00:00
"kernelspec": {
"display_name": "Meteorology with Python",
"language": "python",
"name": "met"
2020-02-17 13:29:11 +00:00
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
2022-03-31 16:31:08 +00:00
"version": "3.9.12"
2020-02-17 14:09:32 +00:00
},
"toc": {
"base_numbering": 1,
"nav_menu": {},
"number_sections": true,
"sideBar": true,
"skip_h1_title": true,
"title_cell": "Contents",
"title_sidebar": "Contents",
"toc_cell": false,
"toc_position": {},
"toc_section_display": true,
"toc_window_display": true
},
"toc-autonumbering": false,
"toc-showtags": false,
"widgets": {
"application/vnd.jupyter.widget-state+json": {
"state": {},
"version_major": 2,
"version_minor": 0
}
}
2020-02-17 13:29:11 +00:00
},
"nbformat": 4,
"nbformat_minor": 4
}