load_field_from_file() 函数支持将任意 GRIB KEY 作为关键字参数。
import numpy as np
import pandas as pd
import xarray as xr
from reki.data_finder import find_local_file
from reki.format.grib.eccodes import load_field_from_file/home/wangdp/project/cedarkit/notebook-project/notebook-devel/repo/cedarkit-notebook-project/cedarkit-notebook/.venv/lib/python3.14/site-packages/gribapi/__init__.py:23: UserWarning: ecCodes 2.42.0 or higher is recommended. You are running version 2.34.1
warnings.warn(
# 数据环境配置:使用本地数据目录(可用环境变量 CEDARKIT_NOTEBOOK_DATA_ROOT 覆盖)
from cedarkit_notebook.data import get_data_root, get_dataset_query
DATA_CLASS = "cmadaas"
STORAGE_BASE = str(get_data_root())
# 起报时次与预报时效固定为本地已下载数据(见 data/metadata/cma-meso-3km.yaml)
query = get_dataset_query("cma-meso-3km")
start_time = pd.to_datetime(query["start_time"], format="%Y%m%d%H")
forecast_time = pd.to_timedelta(query["forecast_time"])
meso_grib2_orig_file_path = find_local_file(
"cma_meso_3km/grib2/orig",
start_time=start_time,
forecast_time=forecast_time,
data_class=DATA_CLASS,
storage_base=STORAGE_BASE,
)
meso_grib2_orig_file_pathPosixPath('/home/wangdp/project/cedarkit/notebook-project/notebook-devel/repo/cedarkit-notebook-project/cedarkit-notebook/data/DATA/NAFP/GRAPES/RAFS/2026/20260725/Z_NAFP_C_BABJ_20260725000000_P_NWPC-GRAPES-3KM-ORIG-02400.grb2')CMA-MESO 包含 10 米风场,输出间隔内 10 米最大风场。
field = load_field_from_file(
meso_grib2_orig_file_path,
parameter="UGRD",
level_type="heightAboveGround",
level=10,
stepType="instant",
)
field.attrs["GRIB_count"]11field = load_field_from_file(
meso_grib2_orig_file_path,
parameter="UGRD",
level_type="heightAboveGround",
level=10,
stepType="max",
)
field.attrs["GRIB_count"]23