Skip to content

Releases: cemc-oper/reki

v2025.7.2

22 Aug 04:05

Choose a tag to compare

Changes

CEMC Parameter Table is Updated

CEMC parameter table is updated for CMA-MESO.

field = load_field_from_file(
    meso_grib2_orig_file_path,
    parameter="echotop",
)
assert field.attrs["GRIB_count"] == 23

Full Changelog

v2025.7.1...v2025.7.2

v2025.7.1

15 Aug 04:07

Choose a tag to compare

Changes

Param tables are updated

WGRIB2 and CEMC param tables are updated for CMA-GFS.
All fields in CMA-GFS GRIB2-ORIG data can be loaded with CEMC field name.

field = load_field_from_file(
    gfs_grib2_orig_file_path,
    parameter="fogh",
)
assert field.attrs["GRIB_count"] == 853

Auto check additional key type

Type of additional key is automatically recognized in value check function.
In the following code, stepType is parsed as stepType:str.

field = load_field_from_file(
        meso_grib2_orig_file_path,
        parameter="UGRD",
        level_type="heightAboveGround",
        level=10,
        stepType="instant",
)

Full Changelog

v2025.7.0...v2025.7.1

v2025.7.0

02 Jul 06:11

Choose a tag to compare

New Features

Support CEMC short name for GRIB2

When reteriving field from GRIB2 file, options (parameter, level_type, level) are converted to dict-like GRIB key conditions, then these conditions are combined to one dict object which is used to filter GRIB message.
So some field can be found just using CEMC short name as paramter option.

For example:

field = load_field_from_file(
    data_path,
    parameter="shr(0-3000)",
)
field = load_field_from_file(
    data_path,
    parameter="t2m",
)

Broken changes

Each config file in data_finder is considered as a jinja2 template

Config files in data_finder module are firest rendered as a jinja2 template and then parsed as a YAML file.
So more jinja2 feature can be used in config files.

For example, the following code is from CMA-GFS grib2-orig config file, use template statements to define two template variables.

{% set start_time_string = time_vars.year ~ time_vars.month ~ time_vars.day ~ time_vars.hour %}
{% set start_date_string = time_vars.year ~ time_vars.month ~ time_vars.day %}

file_name: "Z_NAFP_C_BABJ_{{ start_time_string }}0000_P_NWPC-GRAPES-GFS-GLB-{{ time_vars.forecast_hour }}00.grib2"

paths:
  - type: cmadaas
    level: archive
    path: '{{ query_vars.storage_base }}/DATA/NAFP/NMC/GRAPES-GFS-GLB/{{ time_vars.year }}/{{ start_date_string }}'

Changes

Update tests

Add a data download script for tests. This script is used for:

  • download CMA-GFS grib2 data from WIS WMC-BJ website.
  • download CMA-GFS grib2 data from mounted directory using CMADaaS MUSIC dir app.

Many tests are rewritten:

  • tests in format using downloaded data.
  • tests in cma_hpc should be run in CMA-HPC2023.
  • tests in desktop should be run with mounted directory using CMADaaS MUSIC dir app.

Note: some tests in cma_hpc are still under construction.

Full Changelog

v2024.10.0...v2025.7.0

v2024.10.0

28 Oct 11:43

Choose a tag to compare

v2024.04.0

09 Apr 08:15

Choose a tag to compare

New features

Add number for ENS grib2 files.

Read eccodes key perturbationNumber and add it to coords as number.

Use setuptools_scm to generate version dynamically.

Change package script to pyproject.toml.

Break changes

Rename system names in data finder configs

Use cma-xxx instea of grapes_xxx.

Changes

Update data finder configs for new HPC in CMA

Add HPC2023 file path in config.

Full Changelog

v2023.05.1...v2024.04.0

v0.2.0

03 Sep 01:13

Choose a tag to compare

New Features

New formats

  • GrADS binary file
  • NetCDF
  • Table

Add operators for DataArray

  • extract_area
  • interpolate_grid

Breaking Changes

Format module

Move grib module into new format module

Changes

Add new data config files

Add new config files to find more data on CMA-PI.