Compare commits

...

13 Commits
tes ... master

Author SHA1 Message Date
09c38b2ac2 Merge pull request 'dev' (#6) from dev into master
Reviewed-on: https://demo.gitea.com///longtsing/nmc_met_io/pulls/6
2024-06-15 04:34:21 +00:00
eae2b3ee54 更新 .gitignore 2024-06-15 04:33:51 +00:00
96be28b40c Merge pull request 'master' (#5) from master into dev
Reviewed-on: https://demo.gitea.com///longtsing/nmc_met_io/pulls/5
2024-06-15 04:01:35 +00:00
d7192f5470 更新 README.md 2024-06-15 04:00:07 +00:00
29b7e3b28e Merge pull request '更新 README.md' (#4) from dev into master
Reviewed-on: https://demo.gitea.com///longtsing/nmc_met_io/pulls/4
2024-06-15 03:58:10 +00:00
83fe18f4c3 Merge branch 'master' into dev 2024-06-15 03:57:50 +00:00
82470b9f46 更新 README.md 2024-06-15 03:56:53 +00:00
b37c778538 Merge pull request 'Merge pull request 'Merge pull request '更新 README.md' (#1) from dev into master' (#2) from master into dev' (#3) from dev into master
Reviewed-on: https://demo.gitea.com///longtsing/nmc_met_io/pulls/3
2024-06-15 03:09:57 +00:00
eb8b3d47af Merge pull request 'Merge pull request '更新 README.md' (#1) from dev into master' (#2) from master into dev
Reviewed-on: https://demo.gitea.com///longtsing/nmc_met_io/pulls/2
2024-06-15 03:09:04 +00:00
1b923d155a Merge branch 'dev' into master 2024-06-15 03:08:46 +00:00
e81bb5a398 更新 .gitignore 2024-06-15 03:07:31 +00:00
2b6ea6cfc3 Merge pull request '更新 README.md' (#1) from dev into master
Reviewed-on: https://demo.gitea.com///longtsing/nmc_met_io/pulls/1
2024-06-15 03:04:04 +00:00
e1a895b5db 更新 README.md 2024-06-15 03:02:59 +00:00
2 changed files with 223 additions and 219 deletions

218
.gitignore vendored

@ -1,108 +1,110 @@
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class
# C extensions
*.so
# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST
# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec
# Installer logs
pip-log.txt
pip-delete-this-directory.txt
# Unit test / coverage reports
htmlcov/
.tox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
.hypothesis/
.pytest_cache/
# Translations
*.mo
*.pot
# Django stuff:
*.log
local_settings.py
db.sqlite3
# Flask stuff:
instance/
.webassets-cache
# Scrapy stuff:
.scrapy
# Sphinx documentation
docs/_build/
# PyBuilder
target/
# Jupyter Notebook
.ipynb_checkpoints
# pyenv
.python-version
# celery beat schedule file
celerybeat-schedule
# SageMath parsed files
*.sage.py
# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/
# Spyder project settings
.spyderproject
.spyproject
# Rope project settings
.ropeproject
# mkdocs documentation
/site
# mypy
.mypy_cache/
# vscode
.vscode/
JupyterLab.bat
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class
.vscode
.idea
# C extensions
*.so
# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST
# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec
# Installer logs
pip-log.txt
pip-delete-this-directory.txt
# Unit test / coverage reports
htmlcov/
.tox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
.hypothesis/
.pytest_cache/
# Translations
*.mo
*.pot
# Django stuff:
*.log
local_settings.py
db.sqlite3
# Flask stuff:
instance/
.webassets-cache
# Scrapy stuff:
.scrapy
# Sphinx documentation
docs/_build/
# PyBuilder
target/
# Jupyter Notebook
.ipynb_checkpoints
# pyenv
.python-version
# celery beat schedule file
celerybeat-schedule
# SageMath parsed files
*.sage.py
# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/
# Spyder project settings
.spyderproject
.spyproject
# Rope project settings
.ropeproject
# mkdocs documentation
/site
# mypy
.mypy_cache/
# vscode
.vscode/
JupyterLab.bat

224
README.md

@ -1,111 +1,113 @@
# 气象数据读写及访问程序库
提供对MICAPS文件, 卫星云图, 天气雷达等数据的读写程序, 并访问CMADaaS, CIMISS和MICAPS CASSANDRA数据库文件等.
* 相应的Jupyter例子文件请见[Examples](https://nbviewer.jupyter.org/github/nmcdev/nmc_met_io/tree/master/examples/)
* 若有问题或需求, 请在[登录留言](https://github.com/nmcdev/nmc_met_io/issues)
* 程序库更新, 请见[更新日志](https://github.com/nmcdev/nmc_met_io/wiki/%E6%9B%B4%E6%96%B0%E6%97%A5%E5%BF%97)
Only Python 3 is supported.
建议安装[Anaconda](https://www.anaconda.com/products/individual)数据科学工具库,
已包括scipy, numpy, matplotlib等大多数常用科学程序库.
## Install
Using the fellowing command to install packages:
* 使用pypi安装源安装(https://pypi.org/project/nmc-met-io/)
```
pip install nmc-met-io
```
* 若要安装Github上的开发版(请先安装[Git软件](https://git-scm.com/)):
```
pip install git+git://github.com/nmcdev/nmc_met_io.git
```
* 或者下载软件包进行安装:
```
git clone --recursive https://github.com/nmcdev/nmc_met_io.git
cd nmc_met_io
python setup.py install
```
### 可选支持库:
* 若需要实现对grib格式数据的读取, 请用conda安装:
- [eccodes](https://software.ecmwf.int/wiki/display/ECC/ecCodes+Home), `conda install -c conda-forge eccodes`(ECMWF的grib工具库, 支持Windows和Linux)
- [cfgrib](https://github.com/ecmwf/cfgrib), `conda install -c conda-forge cfgrib`
* 若需要使用将标准雷达格式转化为pyart格式程序`standard_data_to_pyart`, 请安装:
- [arm_pyart](http://arm-doe.github.io/pyart/), `conda install -c conda-forge arm_pyart`
* 若需要对Cassandra集群数据库进行访问, 请安装:
- [cassandra-driver](https://pypi.org/project/cassandra-driver/), 'pip install cassandra-driver'
## 设置配置文件
若要访问CMADaaS(大数据云), MICAPS服务器等, 需在配置文件中设置地址和用户信息(若不需要, 则相应项无需配置).
* 在系统用户目录下("C:\Users\用户名"(windows)或"/home/用户名/"(Linux)), 建立文件夹".nmcdev"(若Windows下无法直接创建, 在命令窗口中输入`mkdir .nmcdev`创建)
* 在".nmcdev"中创建文本文件"config.ini", 内容模板为:
```
# 用于nmc_met_io读取大数据云, MICAPS服务器等的配置文件.
# 若用不到某个服务器, 则不设置或删除改段落即可.
# 注意设置IP地址时, 不要加http等前缀信息.
# 当读取CMADaas, MICAPS Cassandra等数据时, 采取了本地文件缓存机制, 以便加快
# 文件的读取速度和减少数据库访问次数(设置函数参数cache=False可以不用缓存机制).
# CACHE_DIR, 缓存目录, 若没有设置, 默认为 /user_home/.nmcdev/cache
# CACHE_DAYS, 缓存天数, 若没有设置, 默认为7, 即7天之前的缓存数据将被删除
[CACHE]
# CACHE_DIR = ~
CACHE_DAYS = 7
# CMADaaS大数据云平台配置:
# DNS为IP地址, PORT为端口
# USER_ID和PASSWORD分别为用户名和密码
# serviceNodeId为服务节点名称(一般为 NMIC_MUSIC_CMADAAS)
[CMADaaS]
DNS = xx.xx.xx.xx
PORT = xx
USER_ID = xxxxxxxx
PASSWORD = xxxxxxxx
serviceNodeId = NMIC_MUSIC_CMADAAS
# MICAPS Cassandra服务器配置(一般需要联系运维开通访问权限)
# GDS_IP为IP地址, GDS_PORT为端口
# 可以人为设置本地数据缓存的地址CACHE_DIR, 默认为配置文件夹目录下的cache文件夹
[MICAPS]
GDS_IP = xx.xx.xx.xx
GDS_PORT = 8080
# CIMISS网址及用户ID和PASSWORD, 2021年年底CIMISS停止提供服务
# DNS为IP地址, PORT为端口
# USER_ID和PASSWORD分别为用户名和密码
[CIMISS]
DNS = xx.xx.xx.xx
USER_ID = xxxxxxxxx
PASSWORD = xxxxxxxx
# 彩云天气API的访问口令
[CAIY]
token = xxxxxxxxxxxxxx
# MAPBOX地图数据的访问口令(nmc_met_graphics绘图可以用)
# https://docs.mapbox.com/help/glossary/access-token 申请
[MAPBOX]
token = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
# 天地地图数据的访问口令(nmc_met_graphics绘图可以用)
# http://lbs.tianditu.gov.cn/server/MapService.html 申请
[TIANDITU]
token = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
# 配置Cassandra集群访问接口
[Cassandra]
ClusterIPAddresses=Cassandra集群IP地址以“,”分隔可以参考MICAPS4的配置文件配置
ClusterPort=Cassandra集群服务端口
KeySpace=Cassandra上数据存储的主键名
```
---
# 气象数据读写及访问程序库j
testtestfff
提供对MICAPS文件, 卫星云图, 天气雷达等数据的读写程序, 并访问CMADaaS, CIMISS和MICAPS CASSANDRA数据库文件等.
* 相应的Jupyter例子文件请见[Examples](https://nbviewer.jupyter.org/github/nmcdev/nmc_met_io/tree/master/examples/)
* 若有问题或需求, 请在[登录留言](https://github.com/nmcdev/nmc_met_io/issues)
* 程序库更新, 请见[更新日志](https://github.com/nmcdev/nmc_met_io/wiki/%E6%9B%B4%E6%96%B0%E6%97%A5%E5%BF%97)
Only Python 3 is supported.
建议安装[Anaconda](https://www.anaconda.com/products/individual)数据科学工具库,
已包括scipy, numpy, matplotlib等大多数常用科学程序库.
## Install
Using the fellowing command to install packages:
* 使用pypi安装源安装(https://pypi.org/project/nmc-met-io/)
```
pip install nmc-met-io
```
* 若要安装Github上的开发版(请先安装[Git软件](https://git-scm.com/)):
```
pip install git+git://github.com/nmcdev/nmc_met_io.git
```
* 或者下载软件包进行安装:
```
git clone --recursive https://github.com/nmcdev/nmc_met_io.git
cd nmc_met_io
python setup.py install
```
### 可选支持库:
* 若需要实现对grib格式数据的读取, 请用conda安装:
- [eccodes](https://software.ecmwf.int/wiki/display/ECC/ecCodes+Home), `conda install -c conda-forge eccodes`(ECMWF的grib工具库, 支持Windows和Linux)
- [cfgrib](https://github.com/ecmwf/cfgrib), `conda install -c conda-forge cfgrib`
* 若需要使用将标准雷达格式转化为pyart格式程序`standard_data_to_pyart`, 请安装:
- [arm_pyart](http://arm-doe.github.io/pyart/), `conda install -c conda-forge arm_pyart`
* 若需要对Cassandra集群数据库进行访问, 请安装:
- [cassandra-driver](https://pypi.org/project/cassandra-driver/), 'pip install cassandra-driver'
## 设置配置文件
若要访问CMADaaS(大数据云), MICAPS服务器等, 需在配置文件中设置地址和用户信息(若不需要, 则相应项无需配置).
* 在系统用户目录下("C:\Users\用户名"(windows)或"/home/用户名/"(Linux)), 建立文件夹".nmcdev"(若Windows下无法直接创建, 在命令窗口中输入`mkdir .nmcdev`创建)
* 在".nmcdev"中创建文本文件"config.ini", 内容模板为:
```
# 用于nmc_met_io读取大数据云, MICAPS服务器等的配置文件.
# 若用不到某个服务器, 则不设置或删除改段落即可.
# 注意设置IP地址时, 不要加http等前缀信息.
# 当读取CMADaas, MICAPS Cassandra等数据时, 采取了本地文件缓存机制, 以便加快
# 文件的读取速度和减少数据库访问次数(设置函数参数cache=False可以不用缓存机制).
# CACHE_DIR, 缓存目录, 若没有设置, 默认为 /user_home/.nmcdev/cache
# CACHE_DAYS, 缓存天数, 若没有设置, 默认为7, 即7天之前的缓存数据将被删除
[CACHE]
# CACHE_DIR = ~
CACHE_DAYS = 7
# CMADaaS大数据云平台配置:
# DNS为IP地址, PORT为端口
# USER_ID和PASSWORD分别为用户名和密码
# serviceNodeId为服务节点名称(一般为 NMIC_MUSIC_CMADAAS)
[CMADaaS]
DNS = xx.xx.xx.xx
PORT = xx
USER_ID = xxxxxxxx
PASSWORD = xxxxxxxx
serviceNodeId = NMIC_MUSIC_CMADAAS
# MICAPS Cassandra服务器配置(一般需要联系运维开通访问权限)
# GDS_IP为IP地址, GDS_PORT为端口
# 可以人为设置本地数据缓存的地址CACHE_DIR, 默认为配置文件夹目录下的cache文件夹
[MICAPS]
GDS_IP = xx.xx.xx.xx
GDS_PORT = 8080
# CIMISS网址及用户ID和PASSWORD, 2021年年底CIMISS停止提供服务
# DNS为IP地址, PORT为端口
# USER_ID和PASSWORD分别为用户名和密码
[CIMISS]
DNS = xx.xx.xx.xx
USER_ID = xxxxxxxxx
PASSWORD = xxxxxxxx
# 彩云天气API的访问口令
[CAIY]
token = xxxxxxxxxxxxxx
# MAPBOX地图数据的访问口令(nmc_met_graphics绘图可以用)
# https://docs.mapbox.com/help/glossary/access-token 申请
[MAPBOX]
token = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
# 天地地图数据的访问口令(nmc_met_graphics绘图可以用)
# http://lbs.tianditu.gov.cn/server/MapService.html 申请
[TIANDITU]
token = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
# 配置Cassandra集群访问接口
[Cassandra]
ClusterIPAddresses=Cassandra集群IP地址以“,”分隔可以参考MICAPS4的配置文件配置
ClusterPort=Cassandra集群服务端口
KeySpace=Cassandra上数据存储的主键名
```
---