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.

MESO-3KM要素清单:526-575

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

meso3km_grib2_orig_file_path = get_data_file("cma-meso-3km")
meso3km_grib2_orig_file_path
PosixPath('/home/wangdp/project/cedarkit/notebook-project/notebook-devel/repo/data-notebook-project/data-notebook/data/cma-meso-3km/grib2/orig/Z_NAFP_C_BABJ_20260818000000_P_NWPC-GRAPES-3KM-ORIG-02400.grb2')

稳定度指数

K指数

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

强天气胁迫指数

要素名cemcwgrib2eccodesGRIB Key层次类型层次编号
强天气胁迫指数sweatidxSXsx(0, 7, 5)surface-527
field = load_field_from_file(
    meso3km_grib2_orig_file_path,
    parameter="SX",
    lazy=True
)
assert field.attrs["GRIB_count"] == 527
field = load_field_from_file(
    meso3km_grib2_orig_file_path,
    parameter="sx",
    lazy=True
)
assert field.attrs["GRIB_count"] == 527
field = load_field_from_file(
    meso3km_grib2_orig_file_path,
    parameter="sweatidx",
    lazy=True
)
assert field.attrs["GRIB_count"] == 527
field = load_field_from_file(
    meso3km_grib2_orig_file_path,
    parameter={"discipline": 0, "parameterCategory": 7, "parameterNumber": 5},
    lazy=True
)
assert field.attrs["GRIB_count"] == 527

对流有效位能

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

对流抑制能量

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

气块抬升指数

要素名cemcwgrib2eccodesGRIB Key层次类型层次编号
气块抬升指数pliPLIpli(0, 7, 0)surface-530
field = load_field_from_file(
    meso3km_grib2_orig_file_path,
    parameter="PLI",
    lazy=True
)
assert field.attrs["GRIB_count"] == 530
field = load_field_from_file(
    meso3km_grib2_orig_file_path,
    parameter="pli",
    lazy=True
)
assert field.attrs["GRIB_count"] == 530
field = load_field_from_file(
    meso3km_grib2_orig_file_path,
    parameter="pli",
    lazy=True
)
assert field.attrs["GRIB_count"] == 530
field = load_field_from_file(
    meso3km_grib2_orig_file_path,
    parameter={"discipline": 0, "parameterCategory": 7, "parameterNumber": 0},
    lazy=True
)
assert field.attrs["GRIB_count"] == 530

抬升凝结高度处气压

要素名cemcwgrib2eccodesGRIB Key层次类型层次编号
抬升凝结高度处气压pc--(0, 1, 228)surface-531
field = load_field_from_file(
    meso3km_grib2_orig_file_path,
    parameter="pc",
    lazy=True
)
assert field.attrs["GRIB_count"] == 531
field = load_field_from_file(
    meso3km_grib2_orig_file_path,
    parameter={"discipline": 0, "parameterCategory": 1, "parameterNumber": 228},
    lazy=True
)
assert field.attrs["GRIB_count"] == 531

下沉对流有效位能

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

0-1000米垂直风切变

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

0-3000米垂直风切变

要素名cemcwgrib2eccodesGRIB Key层次类型层次编号
0-3000米垂直风切变shr(0-3000)VWSHvwsh(0, 2, 25)heightAboveGroundLayer3000, 0534
field = load_field_from_file(
    meso3km_grib2_orig_file_path,
    parameter="shr(0-3000)",
    lazy=True
)
assert field.attrs["GRIB_count"] == 534

0-6000米垂直风切变

要素名cemcwgrib2eccodesGRIB Key层次类型层次编号
0-6000米垂直风切变shr(0-6000)VWSHvwsh(0, 2, 25)heightAboveGroundLayer6000, 0535
field = load_field_from_file(
    meso3km_grib2_orig_file_path,
    parameter="shr(0-6000)",
    lazy=True
)
assert field.attrs["GRIB_count"] == 535

最优抬升指数

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

等压面雷达反射率

层次

21 层列表(百帕 (hPa)):

  • 1000

  • 975

  • 950

  • 925

  • 900

  • 850

  • 800

  • 750

  • 700

  • 650

  • 600

  • 550

  • 500

  • 450

  • 400

  • 350

  • 300

  • 250

  • 200

  • 150

  • 100

雷达反射率

要素名cemcwgrib2eccodesGRIB Key层次类型层次编号
雷达反射率dbz--(0, 16, 225)pl21层537-557
field = load_field_from_file(
    meso3km_grib2_orig_file_path,
    parameter="dbz",
    level_type="pl",
    level=1000,
    lazy=True
)
assert field.attrs["GRIB_count"] == 537
field = load_field_from_file(
    meso3km_grib2_orig_file_path,
    parameter={"discipline": 0, "parameterCategory": 16, "parameterNumber": 225},
    level_type="pl",
    level=700,
    lazy=True
)
assert field.attrs["GRIB_count"] == 545

风暴螺旋度与其他指数

0-1000米风暴螺旋度

要素名cemcwgrib2eccodesGRIB Key层次类型层次编号
0-1000米风暴螺旋度srh(0-1000)HLCYhlcy(0, 7, 8)heightAboveGroundLayer1000, 0558
field = load_field_from_file(
    meso3km_grib2_orig_file_path,
    parameter="HLCY",
    lazy=True
)
assert field.attrs["GRIB_count"] == 558
field = load_field_from_file(
    meso3km_grib2_orig_file_path,
    parameter="hlcy",
    lazy=True
)
assert field.attrs["GRIB_count"] == 558
field = load_field_from_file(
    meso3km_grib2_orig_file_path,
    parameter="srh(0-1000)",
    lazy=True
)
assert field.attrs["GRIB_count"] == 558
field = load_field_from_file(
    meso3km_grib2_orig_file_path,
    parameter={"discipline": 0, "parameterCategory": 7, "parameterNumber": 8},
    lazy=True
)
assert field.attrs["GRIB_count"] == 558

0-3000米风暴螺旋度

要素名cemcwgrib2eccodesGRIB Key层次类型层次编号
0-3000米风暴螺旋度srh(0-3000)HLCYhlcy(0, 7, 8)heightAboveGroundLayer3000, 0559
field = load_field_from_file(
    meso3km_grib2_orig_file_path,
    parameter="srh(0-3000)",
    lazy=True
)
assert field.attrs["GRIB_count"] == 559

沙氏指数

要素名cemcwgrib2eccodesGRIB Key层次类型层次编号
沙氏指数siSHWINX-(0, 7, 13)surface-560
field = load_field_from_file(
    meso3km_grib2_orig_file_path,
    parameter="SHWINX",
    lazy=True
)
assert field.attrs["GRIB_count"] == 560
field = load_field_from_file(
    meso3km_grib2_orig_file_path,
    parameter="si",
    lazy=True
)
assert field.attrs["GRIB_count"] == 560
field = load_field_from_file(
    meso3km_grib2_orig_file_path,
    parameter={"discipline": 0, "parameterCategory": 7, "parameterNumber": 13},
    lazy=True
)
assert field.attrs["GRIB_count"] == 560

冰雹指数

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

大风指数

要素名cemcwgrib2eccodesGRIB Key层次类型层次编号
大风指数wi--(0, 2, 236)surface-562
field = load_field_from_file(
    meso3km_grib2_orig_file_path,
    parameter="wi",
    lazy=True
)
assert field.attrs["GRIB_count"] == 562
field = load_field_from_file(
    meso3km_grib2_orig_file_path,
    parameter={"discipline": 0, "parameterCategory": 2, "parameterNumber": 236},
    lazy=True
)
assert field.attrs["GRIB_count"] == 562

总指数

要素名cemcwgrib2eccodesGRIB Key层次类型层次编号
总指数ttiTOTALXtotalx(0, 7, 4)surface-563
field = load_field_from_file(
    meso3km_grib2_orig_file_path,
    parameter="TOTALX",
    lazy=True
)
assert field.attrs["GRIB_count"] == 563
field = load_field_from_file(
    meso3km_grib2_orig_file_path,
    parameter="totalx",
    lazy=True
)
assert field.attrs["GRIB_count"] == 563
field = load_field_from_file(
    meso3km_grib2_orig_file_path,
    parameter="tti",
    lazy=True
)
assert field.attrs["GRIB_count"] == 563
field = load_field_from_file(
    meso3km_grib2_orig_file_path,
    parameter={"discipline": 0, "parameterCategory": 7, "parameterNumber": 4},
    lazy=True
)
assert field.attrs["GRIB_count"] == 563

0度层高度

要素名cemcwgrib2eccodesGRIB Key层次类型层次编号
0度层高度ht0--(0, 3, 225)surface-564
field = load_field_from_file(
    meso3km_grib2_orig_file_path,
    parameter="ht0",
    lazy=True
)
assert field.attrs["GRIB_count"] == 564
field = load_field_from_file(
    meso3km_grib2_orig_file_path,
    parameter={"discipline": 0, "parameterCategory": 3, "parameterNumber": 225},
    lazy=True
)
assert field.attrs["GRIB_count"] == 564

-20度层高度

要素名cemcwgrib2eccodesGRIB Key层次类型层次编号
-20度层高度ht2--(0, 3, 226)surface-565
field = load_field_from_file(
    meso3km_grib2_orig_file_path,
    parameter="ht2",
    lazy=True
)
assert field.attrs["GRIB_count"] == 565
field = load_field_from_file(
    meso3km_grib2_orig_file_path,
    parameter={"discipline": 0, "parameterCategory": 3, "parameterNumber": 226},
    lazy=True
)
assert field.attrs["GRIB_count"] == 565

风暴强度指数

要素名cemcwgrib2eccodesGRIB Key层次类型层次编号
风暴强度指数ssi--(0, 7, 225)surface-566
field = load_field_from_file(
    meso3km_grib2_orig_file_path,
    parameter="ssi",
    lazy=True
)
assert field.attrs["GRIB_count"] == 566
field = load_field_from_file(
    meso3km_grib2_orig_file_path,
    parameter={"discipline": 0, "parameterCategory": 7, "parameterNumber": 225},
    lazy=True
)
assert field.attrs["GRIB_count"] == 566

可降水量、能见度与阵风

整层可降水量

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

能见度

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

阵风风速

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

云与降水相态

降水相态

要素名cemcwgrib2eccodesGRIB Key层次类型层次编号
降水相态precitypePTYPEptype(0, 1, 19)surface-570
field = load_field_from_file(
    meso3km_grib2_orig_file_path,
    parameter="PTYPE",
    lazy=True
)
assert field.attrs["GRIB_count"] == 570
field = load_field_from_file(
    meso3km_grib2_orig_file_path,
    parameter="ptype",
    lazy=True
)
assert field.attrs["GRIB_count"] == 570
field = load_field_from_file(
    meso3km_grib2_orig_file_path,
    parameter="precitype",
    lazy=True
)
assert field.attrs["GRIB_count"] == 570
field = load_field_from_file(
    meso3km_grib2_orig_file_path,
    parameter={"discipline": 0, "parameterCategory": 1, "parameterNumber": 19},
    lazy=True
)
assert field.attrs["GRIB_count"] == 570

云顶高度

要素名cemcwgrib2eccodesGRIB Key层次类型层次编号
云顶高度cldtCDCTOPcdct(0, 6, 12)surface-571
field = load_field_from_file(
    meso3km_grib2_orig_file_path,
    parameter="CDCTOP",
    lazy=True
)
assert field.attrs["GRIB_count"] == 571
field = load_field_from_file(
    meso3km_grib2_orig_file_path,
    parameter="cdct",
    lazy=True
)
assert field.attrs["GRIB_count"] == 571
field = load_field_from_file(
    meso3km_grib2_orig_file_path,
    parameter="cldt",
    lazy=True
)
assert field.attrs["GRIB_count"] == 571
field = load_field_from_file(
    meso3km_grib2_orig_file_path,
    parameter={"discipline": 0, "parameterCategory": 6, "parameterNumber": 12},
    lazy=True
)
assert field.attrs["GRIB_count"] == 571

云底高度

要素名cemcwgrib2eccodesGRIB Key层次类型层次编号
云底高度cldbCDCB-(0, 6, 11)surface-572
field = load_field_from_file(
    meso3km_grib2_orig_file_path,
    parameter="CDCB",
    lazy=True
)
assert field.attrs["GRIB_count"] == 572
field = load_field_from_file(
    meso3km_grib2_orig_file_path,
    parameter="cldb",
    lazy=True
)
assert field.attrs["GRIB_count"] == 572
field = load_field_from_file(
    meso3km_grib2_orig_file_path,
    parameter={"discipline": 0, "parameterCategory": 6, "parameterNumber": 11},
    lazy=True
)
assert field.attrs["GRIB_count"] == 572

云幂高度

要素名cemcwgrib2eccodesGRIB Key层次类型层次编号
云幂高度ceilingCEILceil(0, 6, 13)surface-573
field = load_field_from_file(
    meso3km_grib2_orig_file_path,
    parameter="CEIL",
    lazy=True
)
assert field.attrs["GRIB_count"] == 573
field = load_field_from_file(
    meso3km_grib2_orig_file_path,
    parameter="ceil",
    lazy=True
)
assert field.attrs["GRIB_count"] == 573
field = load_field_from_file(
    meso3km_grib2_orig_file_path,
    parameter="ceiling",
    lazy=True
)
assert field.attrs["GRIB_count"] == 573
field = load_field_from_file(
    meso3km_grib2_orig_file_path,
    parameter={"discipline": 0, "parameterCategory": 6, "parameterNumber": 13},
    lazy=True
)
assert field.attrs["GRIB_count"] == 573

卫星模拟亮温

卫星红外通道模拟亮温

要素名cemcwgrib2eccodesGRIB Key层次类型层次编号
卫星红外通道模拟亮温bti--(0, 4, 228)surface-574
field = load_field_from_file(
    meso3km_grib2_orig_file_path,
    parameter="bti",
    lazy=True
)
assert field.attrs["GRIB_count"] == 574
field = load_field_from_file(
    meso3km_grib2_orig_file_path,
    parameter={"discipline": 0, "parameterCategory": 4, "parameterNumber": 228},
    lazy=True
)
assert field.attrs["GRIB_count"] == 574

卫星水汽通道模拟亮温

要素名cemcwgrib2eccodesGRIB Key层次类型层次编号
卫星水汽通道模拟亮温btv--(0, 4, 227)surface-575
field = load_field_from_file(
    meso3km_grib2_orig_file_path,
    parameter="btv",
    lazy=True
)
assert field.attrs["GRIB_count"] == 575
field = load_field_from_file(
    meso3km_grib2_orig_file_path,
    parameter={"discipline": 0, "parameterCategory": 4, "parameterNumber": 227},
    lazy=True
)
assert field.attrs["GRIB_count"] == 575