ecmwf-lab / ai-models-graphcast

Apache License 2.0
64 stars 19 forks source link

gribapi.errors.EncodingError: Encoding invalid #7

Closed holmdk closed 10 months ago

holmdk commented 10 months ago

Hi,

I get the following error when i run the following CDS example:

ai-models --input cds --date 20220110 --download-assets --time 0000 graphcast

Error: """

2023-12-06 15:21:16,268 INFO Doing full rollout prediction in JAX: 1 minute 19 seconds. 2023-12-06 15:21:16,268 INFO Converting output xarray to GRIB and saving

2023-12-06 15:21:32,528 ERROR Error setting class=ml 2023-12-06 15:21:32,528 INFO Saving output data: 16 seconds. 2023-12-06 15:21:32,528 INFO Total time: 2 minutes 58 seconds. Traceback (most recent call last): File "/home/azureuser/.conda/envs/ai-models-gpu/lib/python3.10/site-packages/climetlab/readers/grib/codes.py", line 243, in set return eccodes.codes_set(self.handle, name, value) File "/home/azureuser/.conda/envs/ai-models-gpu/lib/python3.10/site-packages/gribapi/gribapi.py", line 2125, in grib_set grib_set_string(msgid, key, value) File "/home/azureuser/.conda/envs/ai-models-gpu/lib/python3.10/site-packages/gribapi/gribapi.py", line 508, in grib_set_string GRIB_CHECK(lib.grib_set_string(h, key.encode(ENC), bvalue, length_p)) File "/home/azureuser/.conda/envs/ai-models-gpu/lib/python3.10/site-packages/gribapi/gribapi.py", line 226, in GRIB_CHECK errors.raise_grib_error(errid) File "/home/azureuser/.conda/envs/ai-models-gpu/lib/python3.10/site-packages/gribapi/errors.py", line 381, in raise_grib_error raise ERROR_MAPerrid gribapi.errors.EncodingError: Encoding invalid

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/home/azureuser/.conda/envs/ai-models-gpu/bin/ai-models", line 8, in sys.exit(main()) File "/home/azureuser/.conda/envs/ai-models-gpu/lib/python3.10/site-packages/ai_models/main.py", line 291, in main _main() File "/home/azureuser/.conda/envs/ai-models-gpu/lib/python3.10/site-packages/ai_models/main.py", line 264, in _main model.run() File "/home/azureuser/.conda/envs/ai-models-gpu/lib/python3.10/site-packages/ai_models_graphcast/model.py", line 248, in run save_output_xarray( File "/home/azureuser/.conda/envs/ai-models-gpu/lib/python3.10/site-packages/ai_models_graphcast/output.py", line 60, in save_output_xarray write( File "/home/azureuser/.conda/envs/ai-models-gpu/lib/python3.10/site-packages/ai_models/model.py", line 104, in write self.output.write(*args, *kwargs), File "/home/azureuser/.conda/envs/ai-models-gpu/lib/python3.10/site-packages/ai_models/outputs/init.py", line 36, in write return self.output.write(args, **kwargs) File "/home/azureuser/.conda/envs/ai-models-gpu/lib/python3.10/site-packages/climetlab/readers/grib/output.py", line 141, in write handle.set(k, v) File "/home/azureuser/.conda/envs/ai-models-gpu/lib/python3.10/site-packages/climetlab/readers/grib/codes.py", line 246, in set raise ValueError("Error setting %s=%s (%s)" % (name, value, e)) ValueError: Error setting class=ml (Encoding invalid)

"""

Do you any suggestion what might be causing this issue?

holmdk commented 10 months ago

For anyone struggling with this, the problem is related to eccodes. The following command resolved the issue for me:

conda install -c conda-forge eccodes