codes_set (gid, key, value)
设置 GRIB 消息中的 key 值。
codes_set_array (gid, key, value)
设置 GRIB 消息中的数组 key 值。
输入数组可以是 numpy.ndarray
或 Python 序列类型,例如 tuple, list, array, …
codes_set_array (gid, key, value)
设置消息中‘数据’值的工具函数。
clone_id = codes_clone (gid_src)
克隆一个消息。
可以使用 codes_write
直接写入到文件中。
别忘了调用 codes_release
。
from __future__ import print_function
import click
import eccodes
@click.command()
@click.argument('output_file_path')
def cli(output_file_path):
handle = eccodes.codes_grib_new_from_samples('regular_ll_pl_grib2')
value_size = eccodes.codes_get_size(handle, 'values')
values = []
for i in range(0, value_size):
values.append(i)
eccodes.codes_set_values(handle, values)
with open(output_file_path, 'wb') as output_file:
eccodes.codes_write(handle, output_file)
eccodes.codes_release(handle)
if __name__ == "__main__":
cli()
比较 C 接口和 Python 接口生成的两个文件,完全相同。
$ diff output.grib2 output.py.grib2