# "ECCODES ERROR : concept: no match for paramId=201031" when using flex\_extract to prepare era5

**URL:** <https://forum.ecmwf.int/t/eccodes-error-concept-no-match-for-paramid-201031-when-using-flex-extract-to-prepare-era5/7240>\
**Category:** Datasets and Usage\
**Tags:** api, era5\
**Created:** [27 October 2024 04:39 UTC](https://forum.ecmwf.int/t/eccodes-error-concept-no-match-for-paramid-201031-when-using-flex-extract-to-prepare-era5/7240 "2024-10-27T04:39:20Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![Fanglin\_Sun](https://forum.ecmwf.int/letter_avatar_proxy/v4/letter/f/977dab/32.png) [@Fanglin\_Sun](https://forum.ecmwf.int/u/Fanglin_Sun)\
**Post date:** [27 October 2024 04:39 UTC](https://forum.ecmwf.int/t/eccodes-error-concept-no-match-for-paramid-201031-when-using-flex-extract-to-prepare-era5/7240/1 "2024-10-27T04:39:20Z")

</div>

It was my first run of Flex\_extract using the the provided case “Control\_EA5”, and the routine always stopped by:

> ECCODES ERROR : concept: no match for paramId=201031  
> ECCODES ERROR : concept: input handle edition=2, centre=ecmf  
> ECCODES ERROR : concept: input handle dataset=era  
> ECCODES ERROR : Please check the Parameter Database ‘[Parameter Database](https://codes.ecmwf.int/grib/param-db/?id=201031)’  
> Traceback (most recent call last):  
> File “/home/flsun/workdisk/flexpart-wrf/flex\_extract/Run/…/Source/Python/submit.py”, line 268, in   
> main()  
> File “/home/flsun/workdisk/flexpart-wrf/flex\_extract/Run/…/Source/Python/submit.py”, line 109, in main  
> prepare\_flexpart(ppid, c)  
> File “/home/flsun/workdisk/flexpart-wrf/flex\_extract/Source/Python/Mods/prepare\_flexpart.py”, line 169, in prepare\_flexpart  
> flexpart.create(inputfiles, c)  
> File “/home/flsun/workdisk/flexpart-wrf/flex\_extract/Source/Python/Classes/EcFlexpart.py”, line 1655, in create  
> codes\_set(gid, ‘paramId’, 201031)  
> File “/home/flsun/miniforge3/envs/flexwrfoutput/lib/python3.11/site-packages/gribapi/gribapi.py”, line 2123, in grib\_set  
> grib\_set\_long(msgid, key, value)  
> File “/home/flsun/miniforge3/envs/flexwrfoutput/lib/python3.11/site-packages/gribapi/gribapi.py”, line 989, in grib\_set\_long  
> GRIB\_CHECK(lib.grib\_set\_long(h, key.encode(ENC), value))  
> File “/home/flsun/miniforge3/envs/flexwrfoutput/lib/python3.11/site-packages/gribapi/gribapi.py”, line 226, in GRIB\_CHECK  
> errors.raise\_grib\_error(errid)  
> File “/home/flsun/miniforge3/envs/flexwrfoutput/lib/python3.11/site-packages/gribapi/errors.py”, line 381, in raise\_grib\_error  
> raise ERROR\_MAPerrid  
> gribapi.errors.ConceptNoMatchError: Concept no match

The ID 201031 is for specific cloud water content, whose grib edition 2 info has a message “This representation is for ECMWF internal use only and should not be used operationally” . I have no idea of this, only a public account.

---

<div class="post-metadata">

**Author:** ![Michela](https://forum.ecmwf.int/letter_avatar_proxy/v4/letter/m/898d66/32.png) [@Michela](https://forum.ecmwf.int/u/Michela)\
**Post date:** [28 October 2024 15:40 UTC](https://forum.ecmwf.int/t/eccodes-error-concept-no-match-for-paramid-201031-when-using-flex-extract-to-prepare-era5/7240/2 "2024-10-28T15:40:56Z")

</div>

Hi,  
the parameters available from ERA5 are:

- [Specific cloud liquid water content](https://codes.ecmwf.int/grib/param-db/246), paramter ID 246
- [Specific cloud ice water content](https://codes.ecmwf.int/grib/param-db/247), paramter ID 247

Thanks  
Michela

---

<div class="post-metadata">

**Author:** ![Fanglin\_Sun](https://forum.ecmwf.int/letter_avatar_proxy/v4/letter/f/977dab/32.png) [@Fanglin\_Sun](https://forum.ecmwf.int/u/Fanglin_Sun)\
**Post date:** [29 October 2024 09:07 UTC](https://forum.ecmwf.int/t/eccodes-error-concept-no-match-for-paramid-201031-when-using-flex-extract-to-prepare-era5/7240/3 "2024-10-29T09:07:12Z")

</div>

Thank you Michela,  
Perhaps it’s the usage problem of **flex\_extract**. The error occurred at the following codes that try to get **scwc** by summing CLWC and CIWC and write it to a grib2 file.

```auto
elif paramId == 246 or paramId == 247: # CLWC, CIWC
    # sum cloud liquid water and ice
       if scwc is None:
               scwc = codes_get_values(gid)
       else:
               scwc += codes_get_values(gid)
               codes_set_values(gid, scwc)
               codes_set(gid, 'paramId', 201031)
               codes_write(gid, fdict['22'])
               scwc = None

```

I’ll try it and update later.

---

<div class="post-metadata">

**Author:** ![Fanglin\_Sun](https://forum.ecmwf.int/letter_avatar_proxy/v4/letter/f/977dab/32.png) [@Fanglin\_Sun](https://forum.ecmwf.int/u/Fanglin_Sun)\
**Post date:** [2 November 2024 07:35 UTC](https://forum.ecmwf.int/t/eccodes-error-concept-no-match-for-paramid-201031-when-using-flex-extract-to-prepare-era5/7240/4 "2024-11-02T07:35:03Z")

</div>

The EcCodes has definition files of local concepts for both **ecmf** and **era5**. In this case, the **ecmf** def file has the “201031” block while **era5** has not. My practice is to copy **ecmf** definition to **era5** ’s, which solves the problem for the moment.

---

<div class="post-metadata">

**Author:** ![Fanglin\_Sun](https://forum.ecmwf.int/letter_avatar_proxy/v4/letter/f/977dab/32.png) [@Fanglin\_Sun](https://forum.ecmwf.int/u/Fanglin_Sun)\
**Post date:** [15 November 2024 11:46 UTC](https://forum.ecmwf.int/t/eccodes-error-concept-no-match-for-paramid-201031-when-using-flex-extract-to-prepare-era5/7240/6 "2024-11-15T11:46:07Z")

</div>

The file is:

> …/eccodes/definitions/grib2/localConcepts/ecmf/paramId.def

I copied the definition block to file:

> …/eccodes/definitions/grib2/localConcepts/era/paramId.def

Please report if you can run FLEXPART using data retrieved with flex\_extract. For me here, it always stopped with errors like ‘no wind fields’

---

<div class="post-metadata">

**Author:** ![Fanglin\_Sun](https://forum.ecmwf.int/letter_avatar_proxy/v4/letter/f/977dab/32.png) [@Fanglin\_Sun](https://forum.ecmwf.int/u/Fanglin_Sun)\
**Post date:** [16 November 2024 02:54 UTC](https://forum.ecmwf.int/t/eccodes-error-concept-no-match-for-paramid-201031-when-using-flex-extract-to-prepare-era5/7240/8 "2024-11-16T02:54:06Z")

</div>

no, there should be an **era** folder in the path, along with others like 'ecmf ', ‘cnmc’ etc. How did you install eccodes?

---

<div class="post-metadata">

**Author:** ![Fanglin\_Sun](https://forum.ecmwf.int/letter_avatar_proxy/v4/letter/f/977dab/32.png) [@Fanglin\_Sun](https://forum.ecmwf.int/u/Fanglin_Sun)\
**Post date:** [20 November 2024 01:03 UTC](https://forum.ecmwf.int/t/eccodes-error-concept-no-match-for-paramid-201031-when-using-flex-extract-to-prepare-era5/7240/10 "2024-11-20T01:03:55Z")

</div>

You can try a newer version (current 2.38), the 2.7.3 is quite aged, probably has no era def.

---

<div class="post-metadata">

**Author:** ![Shixian\_Xu](https://forum.ecmwf.int/letter_avatar_proxy/v4/letter/s/5f8ce5/32.png) [@Shixian\_Xu](https://forum.ecmwf.int/u/Shixian_Xu)\
**Post date:** [20 November 2024 10:11 UTC](https://forum.ecmwf.int/t/eccodes-error-concept-no-match-for-paramid-201031-when-using-flex-extract-to-prepare-era5/7240/12 "2024-11-20T10:11:32Z")

</div>

Is the new version of eccodes compatible with flexpart 10.4 and are there any additional libraries needed to install eccodes version 2.38?

---

<div class="post-metadata">

**Author:** ![Neal\_Neal](https://forum.ecmwf.int/letter_avatar_proxy/v4/letter/n/6a8cbe/32.png) [@Neal\_Neal](https://forum.ecmwf.int/u/Neal_Neal)\
**Post date:** [11 December 2024 07:43 UTC](https://forum.ecmwf.int/t/eccodes-error-concept-no-match-for-paramid-201031-when-using-flex-extract-to-prepare-era5/7240/13 "2024-12-11T07:43:54Z")

</div>

Did you ultimately solve this issue (as a public user)? It seems that ECMWF and ERA use different code indices, and directly substituting them might lead to retrieval issues. I only copied the block related to **201030** from ECMWF into ERA, reinstalled eccodes using CMAKE, but still encountered the same issue as you. Could it be that **flex\_extract** can no longer access ERA5 as a public user?

---

<div class="post-metadata">

**Author:** ![Jgor\_Arduini](https://forum.ecmwf.int/letter_avatar_proxy/v4/letter/j/43a26b/32.png) [@Jgor\_Arduini](https://forum.ecmwf.int/u/Jgor_Arduini)\
**Post date:** [16 January 2025 17:20 UTC](https://forum.ecmwf.int/t/eccodes-error-concept-no-match-for-paramid-201031-when-using-flex-extract-to-prepare-era5/7240/14 "2025-01-16T17:20:29Z")

</div>

Did anyone solve this issue?  
For me, the problem started with the new version of the eccodes.

---

<div class="post-metadata">

**Author:** ![Michael\_Blaschek](https://forum.ecmwf.int/letter_avatar_proxy/v4/letter/m/e99b99/32.png) [@Michael\_Blaschek](https://forum.ecmwf.int/u/Michael_Blaschek)\
**Post date:** [30 January 2025 09:27 UTC](https://forum.ecmwf.int/t/eccodes-error-concept-no-match-for-paramid-201031-when-using-flex-extract-to-prepare-era5/7240/15 "2025-01-30T09:27:58Z")

</div>

Dear All,

I can confirm that there is a solution!

There is a dedicated issue on the relevant [gitlab for flex\_extract](https://gitlab.phaidra.org/flexpart/flex_extract/-/issues/5)

The issue can be averted by using eccodes 2.35.0, which did not remove this code from the ERA5 table.

There is some discussion on how to solve this issue the best way.  
Best wishes

---

<div class="post-metadata">

**Author:** ![Shiba\_Shankar\_Gouda](https://forum.ecmwf.int/letter_avatar_proxy/v4/letter/s/6de8d8/32.png) [@Shiba\_Shankar\_Gouda](https://forum.ecmwf.int/u/Shiba_Shankar_Gouda)\
**Post date:** [17 October 2025 09:51 UTC](https://forum.ecmwf.int/t/eccodes-error-concept-no-match-for-paramid-201031-when-using-flex-extract-to-prepare-era5/7240/16 "2025-10-17T09:51:17Z")

</div>

Hi dear fangkin,

```auto
             will you please guide me how to solve it. I am getting this error with eccodes 2.37.0 Did you solve it?

```
