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