MESO要素清单:359-368#

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/ref/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

meso_grib2_orig_file_path = get_data_file("cma-meso-1km")
meso_grib2_orig_file_path
PosixPath('/home/wangdp/project/cedarkit/notebook-project/notebook-devel/ref/data-notebook-project/data-notebook/data/cma-meso-1km/grib2/orig/Z_NAFP_C_BABJ_20260725000000_P_CEMC-CMA-MESO-1KM-ORIG-02400.grb2')

K指数#

要素名

wgrib2

eccodes

cemc

GRIB Key

层次类型

层次

编号

K指数

KX

kx

k

(0, 7, 2)

meanSea

-

359

field = load_field_from_file(
    meso_grib2_orig_file_path,
    parameter="KX",
    level_type="meanSea",
    lazy=True
)
assert field.attrs["GRIB_count"] == 359
field = load_field_from_file(
    meso_grib2_orig_file_path,
    parameter="kx",
    lazy=True
)
assert field.attrs["GRIB_count"] == 359
field = load_field_from_file(
    meso_grib2_orig_file_path,
    parameter="k",
    lazy=True
)
assert field.attrs["GRIB_count"] == 359
field = load_field_from_file(
    meso_grib2_orig_file_path,
    parameter={
        "discipline": 0,
        "parameterCategory": 7,
        "parameterNumber": 2,
    },
    level_type="meanSea",
    lazy=True
)
assert field.attrs["GRIB_count"] == 359

对流有效位能#

要素名

wgrib2

eccodes

cemc

GRIB Key

层次类型

层次

编号

对流有效位能

CAPE

-

cape

(0, 7, 6)

surface

-

360

field = load_field_from_file(
    meso_grib2_orig_file_path,
    parameter="CAPE",
    level_type="surface",
    lazy=True
)
assert field.attrs["GRIB_count"] == 360
field = load_field_from_file(
    meso_grib2_orig_file_path,
    parameter="cape",
    lazy=True
)
assert field.attrs["GRIB_count"] == 360
field = load_field_from_file(
    meso_grib2_orig_file_path,
    parameter={
        "discipline": 0,
        "parameterCategory": 7,
        "parameterNumber": 6,
    },
    level_type="surface",
    lazy=True
)
assert field.attrs["GRIB_count"] == 360

对流抑制能量#

要素名

wgrib2

eccodes

cemc

GRIB Key

层次类型

层次

编号

对流抑制能量

CIN

-

cin

(0, 7, 7)

surface

-

361

field = load_field_from_file(
    meso_grib2_orig_file_path,
    parameter="CIN",
    level_type="surface",
    lazy=True
)
assert field.attrs["GRIB_count"] == 361
field = load_field_from_file(
    meso_grib2_orig_file_path,
    parameter="cin",
    lazy=True
)
assert field.attrs["GRIB_count"] == 361
field = load_field_from_file(
    meso_grib2_orig_file_path,
    parameter={
        "discipline": 0,
        "parameterCategory": 7,
        "parameterNumber": 7,
    },
    level_type="surface",
    lazy=True
)
assert field.attrs["GRIB_count"] == 361

抬升指数#

要素名

wgrib2

eccodes

cemc

GRIB Key

层次类型

层次

编号

抬升指数

PLI

pli

pli

(0, 7, 0)

surface

-

362

field = load_field_from_file(
    meso_grib2_orig_file_path,
    parameter="PLI",
    level_type="surface",
    lazy=True
)
assert field.attrs["GRIB_count"] == 362
field = load_field_from_file(
    meso_grib2_orig_file_path,
    parameter="pli",
    lazy=True
)
assert field.attrs["GRIB_count"] == 362
field = load_field_from_file(
    meso_grib2_orig_file_path,
    parameter={
        "discipline": 0,
        "parameterCategory": 7,
        "parameterNumber": 0,
    },
    level_type="surface",
    lazy=True
)
assert field.attrs["GRIB_count"] == 362

抬升凝结高度#

要素名

wgrib2

eccodes

cemc

GRIB Key

层次类型

层次

编号

抬升凝结高度

-

-

pc

(0, 1, 228)

surface

-

363

field = load_field_from_file(
    meso_grib2_orig_file_path,
    parameter="pc",
    lazy=True
)
assert field.attrs["GRIB_count"] == 363
field = load_field_from_file(
    meso_grib2_orig_file_path,
    parameter={
        "discipline": 0,
        "parameterCategory": 1,
        "parameterNumber": 228, 
    },
    level_type="surface",
    lazy=True
)
assert field.attrs["GRIB_count"] == 363

下沉对流有效位能#

要素名

wgrib2

eccodes

cemc

GRIB Key

层次类型

层次

编号

下沉对流有效位能

-

-

dcape

(0, 7, 224)

surface

-

364

field = load_field_from_file(
    meso_grib2_orig_file_path,
    parameter="dcape",
    lazy=True
)
assert field.attrs["GRIB_count"] == 364
field = load_field_from_file(
    meso_grib2_orig_file_path,
    parameter={
        "discipline": 0,
        "parameterCategory": 7,
        "parameterNumber": 224,
    },
    level_type="surface",
    lazy=True
)
assert field.attrs["GRIB_count"] == 364

垂直风切变#

要素名

wgrib2

eccodes

cemc

GRIB Key

层次类型

层次

编号

0-1000m垂直风切变

VWSH

vwsh

shr(0-1000)

(0, 2, 25)

heightAboveGroundLayer

1000, 0

365

0-3000m垂直风切变

VWSH

vwsh

shr(0-3000)

(0, 2, 25)

heightAboveGroundLayer

3000, 0

366

0-6000m垂直风切变

VWSH

vwsh

shr(0-6000)

(0, 2, 25)

heightAboveGroundLayer

6000, 0

367

field = load_field_from_file(
    meso_grib2_orig_file_path,
    parameter="VWSH",
    level_type="heightAboveGroundLayer",
    level=1000,
    lazy=True
)
assert field.attrs["GRIB_count"] == 365
field = load_field_from_file(
    meso_grib2_orig_file_path,
    parameter="vwsh",
    level_type="heightAboveGroundLayer",
    level={
        "first_level": 3000,
        "second_level": 0,
    },
    lazy=True
)
assert field.attrs["GRIB_count"] == 366
field = load_field_from_file(
    meso_grib2_orig_file_path,
    parameter="shr(0-6000)",
    lazy=True
)
assert field.attrs["GRIB_count"] == 367
field = load_field_from_file(
    meso_grib2_orig_file_path,
    parameter={
        "discipline": 0,
        "parameterCategory": 2,
        "parameterNumber": 25,
    },
    level_type="heightAboveGroundLayer",
    level={
        "first_level": 6000,
        "second_level": 0,
    },
    lazy=True
)
assert field.attrs["GRIB_count"] == 367

最优抬升指数#

要素名

wgrib2

eccodes

cemc

GRIB Key

层次类型

层次

编号

最优抬升指数

BLI

bli

bli

(0, 7, 1)

surface

-

368

field = load_field_from_file(
    meso_grib2_orig_file_path,
    parameter="BLI",
    level_type="surface",
    lazy=True
)
assert field.attrs["GRIB_count"] == 368
field = load_field_from_file(
    meso_grib2_orig_file_path,
    parameter="bli",
    lazy=True
)
assert field.attrs["GRIB_count"] == 368
field = load_field_from_file(
    meso_grib2_orig_file_path,
    parameter={
        "discipline": 0,
        "parameterCategory": 7,
        "parameterNumber": 1,
    },
    level_type="surface",
    lazy=True
)
assert field.attrs["GRIB_count"] == 368