Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

REPS要素清单:59-71

import numpy as np
import pandas as pd
import xarray as xr

from reki.format.grib.eccodes import load_field_from_file
/home/wangdp/project/cedarkit/notebook-project/notebook-devel/repo/data-notebook-project/data-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(
from data_notebook.data import get_data_file

reps_grib2_orig_file_path = get_data_file("cma-reps")
reps_grib2_orig_file_path
PosixPath('/home/wangdp/project/cedarkit/notebook-project/notebook-devel/repo/data-notebook-project/data-notebook/data/cma-reps/grib2/orig/Z_NAFP_C_BABJ_20260811060000_P_NWPC-GRAPES-REPS-CN-02400-m001.grib2')

稳定度指数

2米相对湿度

要素名cemcwgrib2eccodesGRIB Key层次类型层次编号
2米相对湿度rh2mRH2r(0, 1, 1)heightAboveGround259
field = load_field_from_file(
    reps_grib2_orig_file_path,
    parameter="RH",
    level_type="heightAboveGround",
    level=2,
    lazy=True
)
assert field.attrs["GRIB_count"] == 59
field = load_field_from_file(
    reps_grib2_orig_file_path,
    parameter="2r",
    lazy=True
)
assert field.attrs["GRIB_count"] == 59
field = load_field_from_file(
    reps_grib2_orig_file_path,
    parameter="rh2m",
    lazy=True
)
assert field.attrs["GRIB_count"] == 59
field = load_field_from_file(
    reps_grib2_orig_file_path,
    parameter={"discipline": 0, "parameterCategory": 1, "parameterNumber": 1},
    level_type="heightAboveGround",
    level=2,
    lazy=True
)
assert field.attrs["GRIB_count"] == 59

K指数

要素名cemcwgrib2eccodesGRIB Key层次类型层次编号
K指数kidxKXkx(0, 7, 2)meanSea-60
field = load_field_from_file(
    reps_grib2_orig_file_path,
    parameter="KX",
    lazy=True
)
assert field.attrs["GRIB_count"] == 60
field = load_field_from_file(
    reps_grib2_orig_file_path,
    parameter="kx",
    lazy=True
)
assert field.attrs["GRIB_count"] == 60
field = load_field_from_file(
    reps_grib2_orig_file_path,
    parameter="kidx",
    lazy=True
)
assert field.attrs["GRIB_count"] == 60
field = load_field_from_file(
    reps_grib2_orig_file_path,
    parameter={"discipline": 0, "parameterCategory": 7, "parameterNumber": 2},
    lazy=True
)
assert field.attrs["GRIB_count"] == 60

对流有效位能

要素名cemcwgrib2eccodesGRIB Key层次类型层次编号
对流有效位能capeCAPE-(0, 7, 6)surface-61
field = load_field_from_file(
    reps_grib2_orig_file_path,
    parameter="CAPE",
    lazy=True
)
assert field.attrs["GRIB_count"] == 61
field = load_field_from_file(
    reps_grib2_orig_file_path,
    parameter="cape",
    lazy=True
)
assert field.attrs["GRIB_count"] == 61
field = load_field_from_file(
    reps_grib2_orig_file_path,
    parameter={"discipline": 0, "parameterCategory": 7, "parameterNumber": 6},
    lazy=True
)
assert field.attrs["GRIB_count"] == 61

对流抑制能量

要素名cemcwgrib2eccodesGRIB Key层次类型层次编号
对流抑制能量cinCIN-(0, 7, 7)surface-62
field = load_field_from_file(
    reps_grib2_orig_file_path,
    parameter="CIN",
    lazy=True
)
assert field.attrs["GRIB_count"] == 62
field = load_field_from_file(
    reps_grib2_orig_file_path,
    parameter="cin",
    lazy=True
)
assert field.attrs["GRIB_count"] == 62
field = load_field_from_file(
    reps_grib2_orig_file_path,
    parameter={"discipline": 0, "parameterCategory": 7, "parameterNumber": 7},
    lazy=True
)
assert field.attrs["GRIB_count"] == 62

下沉对流有效位能

要素名cemcwgrib2eccodesGRIB Key层次类型层次编号
下沉对流有效位能dcapeDCAPE-(0, 7, 224)surface-63
field = load_field_from_file(
    reps_grib2_orig_file_path,
    parameter="DCAPE",
    lazy=True
)
assert field.attrs["GRIB_count"] == 63
field = load_field_from_file(
    reps_grib2_orig_file_path,
    parameter="dcape",
    lazy=True
)
assert field.attrs["GRIB_count"] == 63
field = load_field_from_file(
    reps_grib2_orig_file_path,
    parameter={"discipline": 0, "parameterCategory": 7, "parameterNumber": 224},
    lazy=True
)
assert field.attrs["GRIB_count"] == 63

0-1000米垂直风切变

要素名cemcwgrib2eccodesGRIB Key层次类型层次编号
0-1000米垂直风切变shr(0-1000)VWSHvwsh(0, 2, 25)heightAboveGroundLayer1000, 064
field = load_field_from_file(
    reps_grib2_orig_file_path,
    parameter="VWSH",
    lazy=True
)
assert field.attrs["GRIB_count"] == 64
field = load_field_from_file(
    reps_grib2_orig_file_path,
    parameter="vwsh",
    lazy=True
)
assert field.attrs["GRIB_count"] == 64
field = load_field_from_file(
    reps_grib2_orig_file_path,
    parameter="shr(0-1000)",
    lazy=True
)
assert field.attrs["GRIB_count"] == 64
field = load_field_from_file(
    reps_grib2_orig_file_path,
    parameter={"discipline": 0, "parameterCategory": 2, "parameterNumber": 25},
    lazy=True
)
assert field.attrs["GRIB_count"] == 64

0-3000米垂直风切变

要素名cemcwgrib2eccodesGRIB Key层次类型层次编号
0-3000米垂直风切变shr(0-3000)VWSHvwsh(0, 2, 25)heightAboveGroundLayer3000, 065
field = load_field_from_file(
    reps_grib2_orig_file_path,
    parameter="VWSH",
    level_type="heightAboveGroundLayer",
    level=3000,
    lazy=True
)
assert field.attrs["GRIB_count"] == 65
field = load_field_from_file(
    reps_grib2_orig_file_path,
    parameter="vwsh",
    level_type="heightAboveGroundLayer",
    level=3000,
    lazy=True
)
assert field.attrs["GRIB_count"] == 65
field = load_field_from_file(
    reps_grib2_orig_file_path,
    parameter="shr(0-3000)",
    lazy=True
)
assert field.attrs["GRIB_count"] == 65
field = load_field_from_file(
    reps_grib2_orig_file_path,
    parameter={"discipline": 0, "parameterCategory": 2, "parameterNumber": 25},
    level_type="heightAboveGroundLayer",
    level=3000,
    lazy=True
)
assert field.attrs["GRIB_count"] == 65

0-6000米垂直风切变

要素名cemcwgrib2eccodesGRIB Key层次类型层次编号
0-6000米垂直风切变shr(0-6000)VWSHvwsh(0, 2, 25)heightAboveGroundLayer6000, 066
field = load_field_from_file(
    reps_grib2_orig_file_path,
    parameter="VWSH",
    level_type="heightAboveGroundLayer",
    level=6000,
    lazy=True
)
assert field.attrs["GRIB_count"] == 66
field = load_field_from_file(
    reps_grib2_orig_file_path,
    parameter="vwsh",
    level_type="heightAboveGroundLayer",
    level=6000,
    lazy=True
)
assert field.attrs["GRIB_count"] == 66
field = load_field_from_file(
    reps_grib2_orig_file_path,
    parameter="shr(0-6000)",
    lazy=True
)
assert field.attrs["GRIB_count"] == 66
field = load_field_from_file(
    reps_grib2_orig_file_path,
    parameter={"discipline": 0, "parameterCategory": 2, "parameterNumber": 25},
    level_type="heightAboveGroundLayer",
    level=6000,
    lazy=True
)
assert field.attrs["GRIB_count"] == 66

最优抬升指数

要素名cemcwgrib2eccodesGRIB Key层次类型层次编号
最优抬升指数bliBLIbli(0, 7, 1)surface-67
field = load_field_from_file(
    reps_grib2_orig_file_path,
    parameter="BLI",
    lazy=True
)
assert field.attrs["GRIB_count"] == 67
field = load_field_from_file(
    reps_grib2_orig_file_path,
    parameter="bli",
    lazy=True
)
assert field.attrs["GRIB_count"] == 67
field = load_field_from_file(
    reps_grib2_orig_file_path,
    parameter={"discipline": 0, "parameterCategory": 7, "parameterNumber": 1},
    lazy=True
)
assert field.attrs["GRIB_count"] == 67

冰雹指数

要素名cemcwgrib2eccodesGRIB Key层次类型层次编号
冰雹指数hiHI-(0, 1, 239)surface-68
field = load_field_from_file(
    reps_grib2_orig_file_path,
    parameter="HI",
    lazy=True
)
assert field.attrs["GRIB_count"] == 68
field = load_field_from_file(
    reps_grib2_orig_file_path,
    parameter="hi",
    lazy=True
)
assert field.attrs["GRIB_count"] == 68
field = load_field_from_file(
    reps_grib2_orig_file_path,
    parameter={"discipline": 0, "parameterCategory": 1, "parameterNumber": 239},
    lazy=True
)
assert field.attrs["GRIB_count"] == 68

整层可降水量

要素名cemcwgrib2eccodesGRIB Key层次类型层次编号
整层可降水量pwatPWATpwat(0, 1, 3)atmosphere-69
field = load_field_from_file(
    reps_grib2_orig_file_path,
    parameter="PWAT",
    lazy=True
)
assert field.attrs["GRIB_count"] == 69
field = load_field_from_file(
    reps_grib2_orig_file_path,
    parameter="pwat",
    lazy=True
)
assert field.attrs["GRIB_count"] == 69
field = load_field_from_file(
    reps_grib2_orig_file_path,
    parameter={"discipline": 0, "parameterCategory": 1, "parameterNumber": 3},
    lazy=True
)
assert field.attrs["GRIB_count"] == 69

能见度与阵风

能见度

要素名cemcwgrib2eccodesGRIB Key层次类型层次编号
能见度visVISvis(0, 19, 0)surface-70
field = load_field_from_file(
    reps_grib2_orig_file_path,
    parameter="VIS",
    lazy=True
)
assert field.attrs["GRIB_count"] == 70
field = load_field_from_file(
    reps_grib2_orig_file_path,
    parameter="vis",
    lazy=True
)
assert field.attrs["GRIB_count"] == 70
field = load_field_from_file(
    reps_grib2_orig_file_path,
    parameter={"discipline": 0, "parameterCategory": 19, "parameterNumber": 0},
    lazy=True
)
assert field.attrs["GRIB_count"] == 70

阵风风速

要素名cemcwgrib2eccodesGRIB Key层次类型层次编号
阵风风速gustGUSTi10fg(0, 2, 22)heightAboveGround1071
field = load_field_from_file(
    reps_grib2_orig_file_path,
    parameter="GUST",
    lazy=True
)
assert field.attrs["GRIB_count"] == 71
field = load_field_from_file(
    reps_grib2_orig_file_path,
    parameter="i10fg",
    lazy=True
)
assert field.attrs["GRIB_count"] == 71
field = load_field_from_file(
    reps_grib2_orig_file_path,
    parameter="gust",
    lazy=True
)
assert field.attrs["GRIB_count"] == 71
field = load_field_from_file(
    reps_grib2_orig_file_path,
    parameter={"discipline": 0, "parameterCategory": 2, "parameterNumber": 22},
    lazy=True
)
assert field.attrs["GRIB_count"] == 71