Repository: CS-SI/eodag
Pull request #1358 (2024-10-18 15:54:32)

fix(providers): missing orderable metadata mapping for some dedl product-types
- add orderable metadata mappings
- remove two obsolete product types: `SATELLITE_SEA_LEVEL_BLACK_SEA`,
      `SATELLITE_SEA_LEVEL_MEDITERRANEAN`
- fix productType for `GRIDDED_GLACIERS_MASS_CHANGE`

Ref #1355 


github-actions[bot]: ## Test Results
    2 files   -     2      2 suites   - 2   2m 43s :stopwatch: - 2m 58s
  568 tests ±    0    564 :white_check_mark:  -     1  3 :zzz: ± 0  1 :x: +1 
1 136 runs   - 1 136  1 128 :white_check_mark:  - 1 048  6 :zzz:  - 90  2 :x: +2 

For more details on these failures, see [this check](https://github.com/CS-SI/eodag/runs/31741960530).

Results for commit 7b30d899. ± Comparison against base commit c4393b56.

[test-results]:data:application/gzip;base64,H4sIAFaFEmcC/02MzQ7CIBAGX6Xh7IFdWn58maZSSIhtMRROxnd3qwU9zny782Q+LG5n1w4vHdtLyA3mkqYc4kYIUpCgKR/jIHWlcS/WflT/U/fwINU+Rj+F5Yg04VKKiQwnk8p2NAGEPKk2AVA39W22kzOJlf+LNq5ryARM3QSftTFSKzUJ2YN3vUEFhqNAhzCowVvjOHu9ARwVlzkHAQAA

github-actions[bot]: ![badge](https://raw.githubusercontent.com/CS-SI/eodag/_xml_coverage_reports/data/1355-era5-download-fetches-json-instead-of-data/./badge.svg)


## Code Coverage (Ubuntu)

<details>


```
Filename                                     Stmts    Miss  Cover    Missing
-----------------------------------------  -------  ------  -------  ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
__init__.py                                      8       0  100.00%
cli.py                                         314      59  81.21%   657-716, 818-869, 873
config.py                                      384      27  92.97%   83-85, 94, 102, 106-108, 179, 190, 581-583, 696-699, 742-743, 752-753, 858, 921-926, 928
crunch.py                                        5       5  0.00%    20-24
api/__init__.py                                  0       0  100.00%
api/core.py                                    767      69  91.00%   374, 664, 708-711, 749, 793, 827, 872-877, 903, 994, 1062, 1200, 1285-1297, 1333, 1335, 1363, 1367-1378, 1391-1397, 1480-1483, 1516-1536, 1588, 1605-1609, 1621-1624, 1980, 2004-2010, 2261, 2265-2269, 2278-2280, 2312
api/search_result.py                            58       4  93.10%   92, 101, 108, 122
api/product/__init__.py                          6       0  100.00%
api/product/_assets.py                          48       5  89.58%   75, 147, 155, 158-162
api/product/_product.py                        187      20  89.30%   70-72, 237-238, 313, 342, 399, 413-416, 429, 453-456, 499-505
api/product/metadata_mapping.py                680      68  90.00%   130-132, 227, 259-260, 306-307, 317-329, 331, 342, 348-360, 405-406, 443, 464-467, 490, 498-499, 575-576, 600-601, 607-610, 625-626, 775, 821, 992-997, 1124, 1138-1158, 1178, 1183, 1312, 1326, 1397, 1449, 1489-1493, 1508
api/product/drivers/__init__.py                  6       0  100.00%
api/product/drivers/base.py                      6       1  83.33%   38
plugins/__init__.py                              0       0  100.00%
plugins/base.py                                 21       2  90.48%   48, 55
plugins/manager.py                             172      15  91.28%   116-121, 171, 209, 231, 235, 259, 281, 399-402, 414-415
plugins/apis/__init__.py                         0       0  100.00%
plugins/apis/base.py                             4       0  100.00%
plugins/apis/ecmwf.py                           91       8  91.21%   149-151, 198-199, 225-227
plugins/apis/usgs.py                           180      31  82.78%   132, 234, 268, 303-305, 310, 336-337, 342, 372-379, 390-395, 417-423, 425-431, 454
plugins/authentication/__init__.py               6       1  83.33%   31
plugins/authentication/aws_auth.py              19       0  100.00%
plugins/authentication/base.py                  17       2  88.24%   43, 56
plugins/authentication/generic.py               14       2  85.71%   40, 50
plugins/authentication/header.py                19       0  100.00%
plugins/authentication/keycloak.py              48       4  91.67%   134, 160-165
plugins/authentication/oauth.py                 13       7  46.15%   32-34, 38-41
plugins/authentication/openid_connect.py       187      17  90.91%   114, 128-154, 162, 316-319, 345
plugins/authentication/qsauth.py                34       1  97.06%   83
plugins/authentication/sas_auth.py              47       1  97.87%   76
plugins/authentication/token.py                 89      16  82.02%   79, 108, 110, 133-146, 202-206
plugins/authentication/token_exchange.py        36      20  44.44%   74-80, 92-122
plugins/crunch/__init__.py                       0       0  100.00%
plugins/crunch/base.py                          10       1  90.00%   40
plugins/crunch/filter_date.py                   59      14  76.27%   49-54, 66, 75, 84, 87, 99-101, 110-112, 119
plugins/crunch/filter_latest_intersect.py       47       8  82.98%   51-52, 68, 77-80, 82, 89-92
plugins/crunch/filter_latest_tpl_name.py        31       1  96.77%   83
plugins/crunch/filter_overlap.py                66      18  72.73%   28-30, 68-71, 78-81, 87, 95, 106-122
plugins/crunch/filter_property.py               30       7  76.67%   54-59, 62-63, 79-83
plugins/download/__init__.py                     0       0  100.00%
plugins/download/aws.py                        491     163  66.80%   266, 279, 346-349, 363-367, 409-411, 415, 447-448, 454-458, 487, 519, 523, 530, 560-568, 572, 604-612, 623-625, 656-730, 748-808, 819-824, 836-849, 874, 889-891, 894, 904-912, 920-933, 943-974, 981-993, 1031, 1057, 1102-1104, 1324
plugins/download/base.py                       253      51  79.84%   136, 164, 296-297, 314-320, 351-355, 361-362, 404, 407-421, 433, 437, 501-505, 535-536, 544-561, 568-576, 578-582, 625, 647, 669, 677
plugins/download/creodias_s3.py                 17       9  47.06%   44-58
plugins/download/http.py                       533     120  77.49%   204, 300-303, 305-306, 313-318, 336-351, 368-370, 382, 430, 437-443, 461, 475, 489, 497-499, 515-520, 531, 549, 591-595, 617, 657, 702, 716-722, 751-815, 833, 863-872, 894-895, 922-927, 933, 936, 952, 969-970, 1000-1001, 1008, 1069-1075, 1130-1131, 1137, 1147, 1183, 1219, 1237-1250, 1276-1278
plugins/download/s3rest.py                     116      24  79.31%   113, 149, 156, 191, 218-225, 228-230, 234, 245-251, 259-260, 263-267, 290, 311-314
plugins/search/__init__.py                      22       0  100.00%
plugins/search/base.py                         132      13  90.15%   100, 104, 115, 274, 294, 350-351, 371, 374-382
plugins/search/build_search_result.py          188      24  87.23%   105, 146-147, 153, 164, 298-301, 330, 365-382, 431, 460, 463, 473, 490, 518, 520
plugins/search/cop_marine.py                   236      50  78.81%   55, 63-65, 75-76, 81, 86-87, 103, 105, 108, 143-145, 157-158, 200, 206, 210, 214, 227, 238-239, 247, 275, 279, 294, 298, 302, 306, 310-314, 320-323, 326-340, 357, 406-410, 415, 427
plugins/search/creodias_s3.py                   55       3  94.55%   58, 76, 110
plugins/search/csw.py                          105      81  22.86%   58-59, 63-64, 72-120, 126-139, 147-179, 197-238
plugins/search/data_request_search.py          202      69  65.84%   90-93, 109, 120, 124-125, 136, 141, 146, 153, 166-169, 223-224, 228, 238-244, 249, 275-278, 286-297, 314, 316, 323-326, 328-329, 347-351, 384, 394, 405, 418, 424-439, 444
plugins/search/qssearch.py                     718      94  86.91%   390, 394-400, 515-527, 571, 587, 597, 616-631, 668-671, 742-743, 791, 810, 817, 829, 886, 907, 910-911, 920-921, 930-931, 940-941, 968, 1039-1044, 1048-1057, 1091, 1113, 1173, 1222, 1286, 1289-1290, 1372-1376, 1438, 1441, 1447-1448, 1469, 1496-1508, 1515, 1547-1549, 1559-1565, 1595, 1618, 1633, 1649, 1724-1727, 1732-1735, 1762-1763, 1778
plugins/search/static_stac_search.py            72      10  86.11%   98-125, 141, 154
rest/__init__.py                                 4       2  50.00%   21-22
rest/cache.py                                   33       7  78.79%   35-37, 53-55, 59, 68
rest/config.py                                  25       0  100.00%
rest/constants.py                                6       0  100.00%
rest/core.py                                   251      63  74.90%   216-217, 273, 281, 299-316, 331-369, 460, 502-533, 680, 687-735
rest/errors.py                                  69       5  92.75%   106, 116, 127, 143-144
rest/server.py                                 188      24  87.23%   89, 112-114, 277-282, 310, 495-497, 514-519, 548, 550, 554-555, 559-560
rest/stac.py                                   319      63  80.25%   306, 328, 380-383, 410-437, 468-470, 493, 525-526, 608-648, 670-686, 778-782, 789, 843-844, 905, 995-997
rest/types/__init__.py                           0       0  100.00%
rest/types/collections_search.py                13      13  0.00%    18-44
rest/types/eodag_search.py                     176       5  97.16%   225-229, 282, 285, 353
rest/types/queryables.py                        55       1  98.18%   163
rest/types/stac_search.py                      125       7  94.40%   138, 184, 199-201, 209, 213
rest/utils/__init__.py                          93      12  87.10%   108-109, 128-130, 182, 192-206
rest/utils/cql_evaluate.py                      48       5  89.58%   69, 76, 90, 97, 105
rest/utils/rfc3339.py                           23       3  86.96%   48, 60, 62
types/__init__.py                              114      14  87.72%   65, 82, 141-144, 211, 225-234, 244, 265, 278
types/bbox.py                                   43      19  55.81%   46-61, 72-74, 85-87, 99-101, 113-115, 123
types/download_args.py                           9       0  100.00%
types/queryables.py                             80       0  100.00%
types/search_args.py                            70      18  74.29%   60-64, 71-88, 103
types/whoosh.py                                 15       0  100.00%
utils/__init__.py                              499      36  92.79%   85, 189-190, 199-226, 229, 243, 323-327, 401-405, 424-426, 505, 520, 556-557, 921-924, 932-933, 971-972, 1143
utils/constraints.py                           119      38  68.07%   62, 89-98, 139, 144, 148, 159, 182-184, 194, 208-224, 233-244
utils/exceptions.py                             41       0  100.00%
utils/import_system.py                          28      19  32.14%   64-78, 89-99
utils/logging.py                                28       1  96.43%   41
utils/notebook.py                               44      23  47.73%   25-29, 36-41, 58-62, 72-78, 83-87
utils/repr.py                                   30       8  73.33%   36, 38, 42, 76, 94-101
utils/requests.py                               55      11  80.00%   64, 86, 88, 90, 92, 94, 110, 118-120, 128
utils/rest.py                                   36       1  97.22%   55
utils/stac_reader.py                           111      45  59.46%   56-57, 63-85, 95-97, 101, 137, 153-156, 203-212, 222-252
TOTAL                                         9599    1588  83.46%
```

</details>


### Diff against develop

```
Filename      Stmts    Miss  Cover
----------  -------  ------  --------
TOTAL             0       0  +100.00%
```


Results for commit: 7b30d8996877a3641fe4927190232e21575fc9e0


_Minimum allowed coverage is `70%`_


:recycle: This comment has been updated with latest results


<!-- Sticky Pull Request Commentartifacts/unit-test-results-python3.13-ubuntu-latest/coverage.xml -->
github-actions[bot]: ![badge](https://raw.githubusercontent.com/CS-SI/eodag/_xml_coverage_reports_win/data/1355-era5-download-fetches-json-instead-of-data/./badge.svg)


## Code Coverage (Windows)

<details>


```
Filename                                     Stmts    Miss  Cover    Missing
-----------------------------------------  -------  ------  -------  ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
__init__.py                                      8       0  100.00%
cli.py                                         314      59  81.21%   657-716, 818-869, 873
config.py                                      384      28  92.71%   83-85, 94, 102, 106-108, 179, 190, 581-583, 696-699, 742-743, 752-753, 858, 889, 921-926, 928
crunch.py                                        5       5  0.00%    20-24
api/__init__.py                                  0       0  100.00%
api/core.py                                    767      69  91.00%   374, 664, 708-711, 749, 793, 827, 872-877, 903, 994, 1062, 1200, 1285-1297, 1333, 1335, 1363, 1367-1378, 1391-1397, 1480-1483, 1516-1536, 1588, 1605-1609, 1621-1624, 1980, 2004-2010, 2261, 2265-2269, 2278-2280, 2312
api/search_result.py                            58       4  93.10%   92, 101, 108, 122
api/product/__init__.py                          6       0  100.00%
api/product/_assets.py                          48       5  89.58%   75, 147, 155, 158-162
api/product/_product.py                        187      20  89.30%   70-72, 237-238, 313, 342, 399, 413-416, 429, 453-456, 499-505
api/product/metadata_mapping.py                680      68  90.00%   130-132, 227, 259-260, 306-307, 317-329, 331, 342, 348-360, 405-406, 443, 464-467, 490, 498-499, 575-576, 600-601, 607-610, 625-626, 775, 821, 992-997, 1124, 1138-1158, 1178, 1183, 1312, 1326, 1397, 1449, 1489-1493, 1508
api/product/drivers/__init__.py                  6       0  100.00%
api/product/drivers/base.py                      6       1  83.33%   38
plugins/__init__.py                              0       0  100.00%
plugins/base.py                                 21       3  85.71%   48, 55, 68
plugins/manager.py                             172      15  91.28%   116-121, 171, 209, 231, 235, 259, 281, 399-402, 414-415
plugins/apis/__init__.py                         0       0  100.00%
plugins/apis/base.py                             4       0  100.00%
plugins/apis/ecmwf.py                           91       8  91.21%   149-151, 198-199, 225-227
plugins/apis/usgs.py                           180      31  82.78%   132, 234, 268, 303-305, 310, 336-337, 342, 372-379, 390-395, 417-423, 425-431, 454
plugins/authentication/__init__.py               6       1  83.33%   31
plugins/authentication/aws_auth.py              19       0  100.00%
plugins/authentication/base.py                  17       2  88.24%   43, 56
plugins/authentication/generic.py               14       2  85.71%   40, 50
plugins/authentication/header.py                19       0  100.00%
plugins/authentication/keycloak.py              48       4  91.67%   134, 160-165
plugins/authentication/oauth.py                 13       7  46.15%   32-34, 38-41
plugins/authentication/openid_connect.py       187      17  90.91%   114, 128-154, 162, 316-319, 345
plugins/authentication/qsauth.py                34       1  97.06%   83
plugins/authentication/sas_auth.py              47       1  97.87%   76
plugins/authentication/token.py                 89      16  82.02%   79, 108, 110, 133-146, 202-206
plugins/authentication/token_exchange.py        36      20  44.44%   74-80, 92-122
plugins/crunch/__init__.py                       0       0  100.00%
plugins/crunch/base.py                          10       1  90.00%   40
plugins/crunch/filter_date.py                   59      14  76.27%   49-54, 66, 75, 84, 87, 99-101, 110-112, 119
plugins/crunch/filter_latest_intersect.py       47      33  29.79%   48-53, 66-111
plugins/crunch/filter_latest_tpl_name.py        31       1  96.77%   83
plugins/crunch/filter_overlap.py                66      18  72.73%   28-30, 68-71, 78-81, 87, 95, 106-122
plugins/crunch/filter_property.py               30       7  76.67%   54-59, 62-63, 79-83
plugins/download/__init__.py                     0       0  100.00%
plugins/download/aws.py                        491     163  66.80%   266, 279, 346-349, 363-367, 409-411, 415, 447-448, 454-458, 487, 519, 523, 530, 560-568, 572, 604-612, 623-625, 656-730, 748-808, 819-824, 836-849, 874, 889-891, 894, 904-912, 920-933, 943-974, 981-993, 1031, 1057, 1102-1104, 1324
plugins/download/base.py                       253      53  79.05%   136, 164, 231-233, 296-297, 314-320, 351-355, 361-362, 404, 407-421, 433, 437, 501-505, 535-536, 544-561, 568-576, 578-582, 625, 647, 669, 677
plugins/download/creodias_s3.py                 17       9  47.06%   44-58
plugins/download/http.py                       533     121  77.30%   204, 300-303, 305-306, 313-318, 336-351, 368-370, 382, 430, 437-443, 461, 475, 489, 497-499, 515-520, 531, 549, 591-595, 617, 657, 702, 716-722, 751-815, 833, 863-872, 894-895, 922-927, 933, 936, 952, 969-970, 983, 1000-1001, 1008, 1069-1075, 1130-1131, 1137, 1147, 1183, 1219, 1237-1250, 1276-1278
plugins/download/s3rest.py                     116      24  79.31%   113, 149, 156, 191, 218-225, 228-230, 234, 245-251, 259-260, 263-267, 290, 311-314
plugins/search/__init__.py                      22       0  100.00%
plugins/search/base.py                         132      14  89.39%   100, 104, 115, 274, 294, 350-351, 371, 374-382, 384
plugins/search/build_search_result.py          188      31  83.51%   105, 146-147, 153, 164, 298-301, 330, 365-382, 431, 460, 463, 473, 490, 510-525
plugins/search/cop_marine.py                   236      50  78.81%   55, 63-65, 75-76, 81, 86-87, 103, 105, 108, 143-145, 157-158, 200, 206, 210, 214, 227, 238-239, 247, 275, 279, 294, 298, 302, 306, 310-314, 320-323, 326-340, 357, 406-410, 415, 427
plugins/search/creodias_s3.py                   55       3  94.55%   58, 76, 110
plugins/search/csw.py                          105      81  22.86%   58-59, 63-64, 72-120, 126-139, 147-179, 197-238
plugins/search/data_request_search.py          202      69  65.84%   90-93, 109, 120, 124-125, 136, 141, 146, 153, 166-169, 223-224, 228, 238-244, 249, 275-278, 286-297, 314, 316, 323-326, 328-329, 347-351, 384, 394, 405, 418, 424-439, 444
plugins/search/qssearch.py                     718     123  82.87%   390, 394-400, 515-527, 571, 574, 587, 597, 616-631, 668-671, 742-743, 791, 810, 817, 829, 886, 907, 910-911, 920-921, 930-931, 940-941, 968, 1039-1044, 1048-1057, 1091, 1113, 1173, 1222, 1286, 1289-1290, 1372-1376, 1438, 1441, 1447-1448, 1469, 1496-1508, 1515, 1547-1549, 1559-1565, 1595, 1618, 1633, 1649, 1707-1807
plugins/search/static_stac_search.py            72      10  86.11%   98-125, 141, 154
rest/__init__.py                                 4       2  50.00%   21-22
rest/cache.py                                   33      22  33.33%   35-37, 44-70
rest/config.py                                  25       1  96.00%   35
rest/constants.py                                6       0  100.00%
rest/core.py                                   251     139  44.62%   162, 164, 166, 169-170, 184-194, 206-207, 209-210, 216-217, 220, 223, 264-318, 331-369, 400-434, 449-465, 481-490, 502-533, 550, 592-641, 680, 687-735
rest/errors.py                                  69      49  28.99%   60, 65-100, 105-108, 115-118, 126-147, 155-160, 175-181
rest/server.py                                 188     188  0.00%    18-573
rest/stac.py                                   319      68  78.68%   240, 306, 328, 380-383, 410-437, 468-470, 493, 525-526, 608-648, 670-686, 713, 778-782, 789, 843-844, 850, 905, 943, 976, 995-997
rest/types/__init__.py                           0       0  100.00%
rest/types/collections_search.py                13      13  0.00%    18-44
rest/types/eodag_search.py                     176      16  90.91%   225-229, 262-264, 282, 285, 291, 295, 353, 370-380
rest/types/queryables.py                        55      13  76.36%   50-51, 58-59, 66-67, 93-98, 107-108, 163
rest/types/stac_search.py                      125      11  91.20%   136-138, 184, 199-201, 209, 213, 261, 264
rest/utils/__init__.py                          93      30  67.74%   79-85, 105, 108-109, 128-130, 143, 150, 175-183, 190-211
rest/utils/cql_evaluate.py                      48       5  89.58%   69, 76, 90, 97, 105
rest/utils/rfc3339.py                           23       5  78.26%   43-44, 48, 60, 62
types/__init__.py                              114      39  65.79%   65, 78-82, 93-105, 132-134, 141-144, 184, 211, 221-237, 242, 244, 265, 270, 278, 288
types/bbox.py                                   43      19  55.81%   46-61, 72-74, 85-87, 99-101, 113-115, 123
types/download_args.py                           9       0  100.00%
types/queryables.py                             80       0  100.00%
types/search_args.py                            70      18  74.29%   60-64, 71-88, 103
types/whoosh.py                                 15       0  100.00%
utils/__init__.py                              499      36  92.79%   85, 189-190, 199-226, 229, 243, 323-327, 401-405, 424-426, 505, 520, 556-557, 921-924, 932-933, 971-972, 1143
utils/constraints.py                           119      38  68.07%   62, 89-98, 139, 144, 148, 159, 182-184, 194, 208-224, 233-244
utils/exceptions.py                             41       0  100.00%
utils/import_system.py                          28      19  32.14%   64-78, 89-99
utils/logging.py                                28       1  96.43%   41
utils/notebook.py                               44      23  47.73%   25-29, 36-41, 58-62, 72-78, 83-87
utils/repr.py                                   30       8  73.33%   36, 38, 42, 76, 94-101
utils/requests.py                               55      11  80.00%   64, 86, 88, 90, 92, 94, 110, 118-120, 128
utils/rest.py                                   36       1  97.22%   55
utils/stac_reader.py                           111      45  59.46%   56-57, 63-85, 95-97, 101, 137, 153-156, 203-212, 222-252
TOTAL                                         9599    2032  78.83%
```

</details>


### Diff against develop

```
Filename      Stmts    Miss  Cover
----------  -------  ------  --------
TOTAL             0       0  +100.00%
```


Results for commit: 49091770e88f924887544a6469fb7e882bc9d3e3


_Minimum allowed coverage is `70%`_


:recycle: This comment has been updated with latest results


<!-- Sticky Pull Request Commentartifacts/unit-test-results-python3.13-windows-latest/coverage.xml -->
alambare: pleae remove also those 2 products from WEkEO and from product_types.yaml file. 
amarandon: I have a problem with COP_DEM_GLO90_DGED via dedl:

```
2024-10-24 16:06:25,195 eodag.download.http              [DEBUG   ] GET https://hda.data.destination-earth.eu/stac/collections/EO.DEM.DAT.COP-DEM_GLO-90-DGED/items/Copernicus_DSM_30_N43_00_E002_00.tar/download?provider=wekeo {'User-Agent': 'eodag/3.0.1.dev14+g56ebf31f.d20241022'} {}
Traceback (most recent call last):
  File "/home/amarando/Projects/eodag/eodag/plugins/download/http.py", line 192, in order_download
    response.raise_for_status()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/home/amarando/venvs/dedl/lib/python3.13/site-packages/requests/models.py", line 1024, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 404 Client Error: Not Found for url: https://hda.data.destination-earth.eu/stac/collections/EO.DEM.DAT.COP-DEM_GLO-90-DGED/items/Copernicus_DSM_30_N43_00_E002_00.tar/download?provider=wekeo

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/amarando/Projects/eodag/t.py", line 39, in <module>
    path = product.download()
  File "/home/amarando/Projects/eodag/eodag/api/product/_product.py", line 328, in download
    fs_path = self.downloader.download(
        self,
    ...<4 lines>...
        **kwargs,
    )
  File "/home/amarando/Projects/eodag/eodag/plugins/download/http.py", line 619, in download
    download_request(product, auth, progress_callback, wait, timeout, **kwargs)
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/amarando/Projects/eodag/eodag/plugins/download/base.py", line 621, in download_and_retry
    return download(*args, **kwargs)
  File "/home/amarando/Projects/eodag/eodag/plugins/download/http.py", line 612, in download_request
    for chunk in chunks:
                 ^^^^^^
  File "/home/amarando/Projects/eodag/eodag/plugins/download/http.py", line 903, in _stream_download
    self.order_download(product=product, auth=auth)
    ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/amarando/Projects/eodag/eodag/plugins/download/http.py", line 200, in order_download
    raise RequestError.from_error(e, message) from e
eodag.utils.exceptions.RequestError: ('Copernicus_DSM_30_N43_00_E002_00.tar could not be ordered', '{"description":"NotAvailableError: Could not find Copernicus_DSM_30_N43_00_E002_00.tar item in EO.DEM.DAT.COP-DEM_GLO-90-DGED collection for provider wekeo"}')
```

amarandon: Another problem with `FIRE_HISTORICAL` via `wekeo_ecmwf`:

```json
{"status_code":500,"title":"Search Product","detail":"Required param data_format missing"}
```

Wekeo's AI assistant is telling me this:

> ECMWF datasets have recently transitioned to new platforms, which include changes like replacing the 'format' parameter with 'data_format'. 

I tried setting the parameter when doing the search:
```py
search_result = dag.search(
    start="2016-03-01T00:00:00Z", end="2016-04-02T00:00:00Z",
    provider="wekeo_ecmwf", productType="FIRE_HISTORICAL",
    data_format="netcdf",
)
```

But it's not included in the query params:
```
2024-10-24 16:50:13,072 eodag.search.qssearch            [DEBUG   ] Query parameters:
{'dataset_id': 'EO:ECMWF:DAT:CEMS_FIRE_HISTORICAL_V1', 'year': ['2016'], 'month': ['03'], 'day': ['01'],
'product_type': 'reanalysis', 'variable': ['fire_danger_index'], 'system_version': ['4_1'], 'format': ['grib'],
'grid': 'original_grid', 'dataset_type': 'consolidated_dataset', 'itemsPerPage': 20, 'startIndex': 0}
```

I also tried updating the configuration of the product `FIRE_HISTORICAL` for the provider `wekeo_ecmwf` like this:

```py
    FIRE_HISTORICAL:
      productType: EO:ECMWF:DAT:CEMS_FIRE_HISTORICAL_V1
      providerProductType: reanalysis
      variable:
        - fire_danger_index
      version:
        - "4_1"
      data_format:
        - "grib"
        - "netcdf"
      # format:
      #   - "grib"
```
But data_format is not included in the request (note that in this case format is also removed):
```
2024-10-24 16:38:11,210 eodag.search.qssearch            [DEBUG   ] Query parameters:
{'dataset_id': 'EO:ECMWF:DAT:CEMS_FIRE_HISTORICAL_V1', 'year': ['2016'], 'month': ['03'], 'day': ['01'],
'product_type': 'reanalysis', 'variable': ['fire_danger_index'], 'system_version': ['4_1'], 'grid': 'original_grid',
'dataset_type': 'consolidated_dataset', 'itemsPerPage': 20, 'startIndex': 0}
```
jlahovnik: > Another problem with `FIRE_HISTORICAL` via `wekeo_ecmwf`:
> 
> ```json
> {"status_code":500,"title":"Search Product","detail":"Required param data_format missing"}
> ```
> 
> Wekeo's AI assistant is telling me this:
> 
> > ECMWF datasets have recently transitioned to new platforms, which include changes like replacing the 'format' parameter with 'data_format'.
> 
> I tried setting the parameter when doing the search:
> 
> ```python
> search_result = dag.search(
>     start="2016-03-01T00:00:00Z", end="2016-04-02T00:00:00Z",
>     provider="wekeo_ecmwf", productType="FIRE_HISTORICAL",
>     data_format="netcdf",
> )
> ```
> 
> But it's not included in the query params:
> 
> ```
> 2024-10-24 16:50:13,072 eodag.search.qssearch            [DEBUG   ] Query parameters:
> {'dataset_id': 'EO:ECMWF:DAT:CEMS_FIRE_HISTORICAL_V1', 'year': ['2016'], 'month': ['03'], 'day': ['01'],
> 'product_type': 'reanalysis', 'variable': ['fire_danger_index'], 'system_version': ['4_1'], 'format': ['grib'],
> 'grid': 'original_grid', 'dataset_type': 'consolidated_dataset', 'itemsPerPage': 20, 'startIndex': 0}
> ```
> 
> I also tried updating the configuration of the product `FIRE_HISTORICAL` for the provider `wekeo_ecmwf` like this:
> 
> ```python
>     FIRE_HISTORICAL:
>       productType: EO:ECMWF:DAT:CEMS_FIRE_HISTORICAL_V1
>       providerProductType: reanalysis
>       variable:
>         - fire_danger_index
>       version:
>         - "4_1"
>       data_format:
>         - "grib"
>         - "netcdf"
>       # format:
>       #   - "grib"
> ```
> 
> But data_format is not included in the request (note that in this case format is also removed):
> 
> ```
> 2024-10-24 16:38:11,210 eodag.search.qssearch            [DEBUG   ] Query parameters:
> {'dataset_id': 'EO:ECMWF:DAT:CEMS_FIRE_HISTORICAL_V1', 'year': ['2016'], 'month': ['03'], 'day': ['01'],
> 'product_type': 'reanalysis', 'variable': ['fire_danger_index'], 'system_version': ['4_1'], 'grid': 'original_grid',
> 'dataset_type': 'consolidated_dataset', 'itemsPerPage': 20, 'startIndex': 0}
> ```

If the parameter name has changed you have to update the metadata mapping of the provider: 
![image](https://github.com/user-attachments/assets/3397956a-6e11-4903-90f4-008014911fbd)

amarandon: > I have a problem with COP_DEM_GLO90_DGED via dedl:
> 
> ```
> 2024-10-24 16:06:25,195 eodag.download.http              [DEBUG   ] GET https://hda.data.destination-earth.eu/stac/collections/EO.DEM.DAT.COP-DEM_GLO-90-DGED/items/Copernicus_DSM_30_N43_00_E002_00.tar/download?provider=wekeo {'User-Agent': 'eodag/3.0.1.dev14+g56ebf31f.d20241022'} {}
> Traceback (most recent call last):
>   File "/home/amarando/Projects/eodag/eodag/plugins/download/http.py", line 192, in order_download
>     response.raise_for_status()
>     ~~~~~~~~~~~~~~~~~~~~~~~~~^^
>   File "/home/amarando/venvs/dedl/lib/python3.13/site-packages/requests/models.py", line 1024, in raise_for_status
>     raise HTTPError(http_error_msg, response=self)
> requests.exceptions.HTTPError: 404 Client Error: Not Found for url: https://hda.data.destination-earth.eu/stac/collections/EO.DEM.DAT.COP-DEM_GLO-90-DGED/items/Copernicus_DSM_30_N43_00_E002_00.tar/download?provider=wekeo
> 
> The above exception was the direct cause of the following exception:
> 
> Traceback (most recent call last):
>   File "/home/amarando/Projects/eodag/t.py", line 39, in <module>
>     path = product.download()
>   File "/home/amarando/Projects/eodag/eodag/api/product/_product.py", line 328, in download
>     fs_path = self.downloader.download(
>         self,
>     ...<4 lines>...
>         **kwargs,
>     )
>   File "/home/amarando/Projects/eodag/eodag/plugins/download/http.py", line 619, in download
>     download_request(product, auth, progress_callback, wait, timeout, **kwargs)
>     ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>   File "/home/amarando/Projects/eodag/eodag/plugins/download/base.py", line 621, in download_and_retry
>     return download(*args, **kwargs)
>   File "/home/amarando/Projects/eodag/eodag/plugins/download/http.py", line 612, in download_request
>     for chunk in chunks:
>                  ^^^^^^
>   File "/home/amarando/Projects/eodag/eodag/plugins/download/http.py", line 903, in _stream_download
>     self.order_download(product=product, auth=auth)
>     ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>   File "/home/amarando/Projects/eodag/eodag/plugins/download/http.py", line 200, in order_download
>     raise RequestError.from_error(e, message) from e
> eodag.utils.exceptions.RequestError: ('Copernicus_DSM_30_N43_00_E002_00.tar could not be ordered', '{"description":"NotAvailableError: Could not find Copernicus_DSM_30_N43_00_E002_00.tar item in EO.DEM.DAT.COP-DEM_GLO-90-DGED collection for provider wekeo"}')
> ```

Testing product COP_DEM_GLO90_DGED with various providers:
- :heavy_check_mark: creodias
- :heavy_check_mark: earth_search
- :heavy_check_mark: wekeo_main
- creodias_s3
amarandon: @jlahovnik As per recommandation from @alambare I'm removing the wekeo fix from this one and marking it as ready to review.

Patch:
diff --git a/docs/_static/product_types_information.csv b/docs/_static/product_types_information.csv
index d28c8b0f..04f6a948 100644
--- a/docs/_static/product_types_information.csv
+++ b/docs/_static/product_types_information.csv
@@ -227,9 +227,7 @@ SATELLITE_METHANE,"This dataset provides observations of atmospheric methane (CH
 SATELLITE_SEA_ICE_CONCENTRATION,"This dataset provides daily gridded data of sea ice concentration for both hemispheres derived from satellite passive microwave brightness temperatures. Sea ice is an important component of our climate system and a sensitive indicator of climate change. Its presence or its retreat has a strong impact on air-sea interactions, the Earth's energy budget as well as marine ecosystems. It is listed as an Essential Climate Variable by the Global Climate Observing System. Sea ice concentration is defined as the fraction of the ocean surface in a pixel or grid cell that is covered with sea ice. It is one of the parameters commonly used to characterise the sea-ice cover. Other sea ice parameters include sea ice thickness, sea ice edge, and sea ice type, also available in the Climate Data Store.  The dataset consists of two products produced by the European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT) Ocean and Sea Ice Satellite Application Facility (OSI SAF) with research & development from European Space Agency Climate Change Initiative projects (ESA CCI):  The Global Sea Ice Concentration Climate Data Record based on measurements from the following sensors: Scanning Multichannel Microwave Radiometer (SMMR; 1978-1987), Special Sensor Microwave/Imager (SSM/I; 1987-2006), and Special Sensor Microwave Imager/Sounder (SSMIS; 2005 onward). This product spans the period from October 1978 to present and is updated daily by an Interim Climate Data Record. In the following, it is referred to as the SSMIS product. The Global Sea Ice Concentration Climate Data Record based on measurements from the Advanced Microwave Scanning Radiometer - Earth Observing System (AMSR-E) sensor (2002-2011) and its successor, AMSR2 (2012-2020). This product spans the 2002-2020 period and is not updated. In the following, it is referred to as the AMSR product. Note, that this product was first produced by the European Space Agency Climate Change Initiative Phase 2 project (ESA CCI) and has been transferred to EUMETSAT OSI SAF since version 3.0. Both products are provided on the same polar projection with a grid resolution of 25 km. However, the AMSR product has a true spatial resolution (as resolved by the sensor) of about 15-25 km versus 30-60 km for the SSMIS product. Therefore, the AMSR product provides a much more detailed view of the sea ice cover than the SSMIS product, especially in the marginal ice zone, the transitional zone between open water and the dense sea ice pack. On the other hand, the clear strength of the SSMIS product is its more than 40-year long and consistent record with daily updates.  The two products share the same algorithm baseline, which is both a continuation of the EUMETSAT OSI SAF approach and a series of innovations contributed by ESA CCI activities. For both products, the underlying algorithm makes use of a combination of the same three temperature channels near 19 GHz and 37 GHz. The data also share a common data format, that allows expert users to revert some of the filtering steps and access the raw output of the SIC algorithms. Both are level-4 products in the sense that gaps are filled by temporal and spatial interpolation. However, gap filling is not applied to fill in days when no input satellite data are available.  Further details about each product can be found below as well as in the Documentation section. ",,,,,"ECMWF,CDS,C3S,sea,ice",ATMOSPHERIC,proprietary,Sea ice concentration daily gridded data from 1978 to present derived from satellite observations,1978-10-25T00:00:00Z,SATELLITE_SEA_ICE_CONCENTRATION,,,,available,,,,,,,,,,,,,,,,,,,,,,,,available,
 SATELLITE_SEA_ICE_EDGE_TYPE,"This dataset provides daily gridded data of sea ice edge and sea ice type derived from brightness temperatures measured by satellite passive microwave radiometers. Sea ice is an important component of our climate system and a sensitive indicator of climate change. Its presence or its retreat has a strong impact on air-sea interactions, the Earth's energy budget as well as marine ecosystems. It is recognized by the Global Climate Observing System as an Essential Climate Variable. Sea ice edge and type are some of the parameters used to characterise sea ice. Other parameters include sea ice concentration and sea ice thickness, also available in the Climate Data Store. Sea ice edge and type are defined as follows: Sea ice edge classifies the sea surface into open water, open ice, and closed ice depending on the amount of sea ice present in each grid cell. This variable is provided for both the Northern and Southern Hemispheres. Note that a sea ice concentration threshold of 30% is used to distinguish between open water and open ice, which differs from the 15% threshold commonly used for other sea ice products such as sea ice extent. Sea ice type classifies ice-covered areas into two categories based on the age of the sea ice: multiyear ice versus seasonal first-year ice. This variable is currently only available for the Northern Hemisphere and limited to the extended boreal winter months (mid-October through April). Sea ice type classification during summer is difficult due to the effect of melting at the ice surface which disturbs the passive microwave signature. Both sea ice products are based on measurements from the series of Scanning Multichannel Microwave Radiometer (SMMR), Special Sensor Microwave/Imager (SSM/I), and Special Sensor Microwave Imager/Sounder (SSMIS) sensors and share the same algorithm baseline. However, sea ice edge makes use of two lower frequencies near 19 GHz and 37 GHz and a higher frequency near 90 GHz whereas sea ice type only uses the two lower frequencies. This dataset combines Climate Data Records (CDRs), which are intended to have sufficient length, consistency, and continuity to assess climate variability and change, and Interim Climate Data Records (ICDRs), which provide regular temporal extensions to the CDRs and where consistency with the CDRs is expected but not extensively checked. For this dataset, both the CDR and ICDR parts of each product were generated using the same software and algorithms. The CDRs of sea ice edge and type currently extend from 25 October 1978 to 31 December 2020 whereas the corresponding ICDRs extend from January 2021 to present (with a 16-day latency behind real time). All data from the current release of the datasets (version 2.0) are Level-4 products, in which data gaps are filled by temporal and spatial interpolation. For product limitations and known issues, please consult the Product User Guide. This dataset is produced on behalf of Copernicus Climate Change Service (C3S), with heritage from the operational products generated by EUMETSAT Ocean and Sea Ice Satellite Application Facility (OSI SAF). Variables in the dataset/application are: Sea ice edge, Sea ice type Variables in the dataset/application are: Status flag, Uncertainty platform: ",,,,,"ECMWF,CDS,C3S,sea,ice",ATMOSPHERIC,proprietary,Sea ice edge and type daily gridded data from 1978 to present derived from satellite observations,1978-10-25T00:00:00Z,SATELLITE_SEA_ICE_EDGE_TYPE,,,,available,,,,,,available,,,,,,,,,,,,,,,,,,available,
 SATELLITE_SEA_ICE_THICKNESS,"This dataset provides monthly gridded data of sea ice thickness for the Arctic region based on satellite radar altimetry observations. Sea ice is an important component of our climate system and a sensitive indicator of climate change. Its presence or its retreat has a strong impact on air-sea interactions, the Earth's energy budget as well as marine ecosystems. It is recognized by the Global Climate Observing System as an Essential Climate Variable. Sea ice thickness is one of the parameters commonly used to characterise sea ice, alongside sea ice concentration, sea ice edge, and sea ice type, also available in the Climate Data Store. Satellite radar altimeters provide measurements of the sea ice freeboard, which is the difference between the height of the surface of sea ice and the surface of water in open leads (areas of open water within the sea ice). Because of the buoyancy of ice in water, typically about 90% of the ice thickness remains under water and thus the total ice thickness is about 10 times the freeboard. However, snow on top of sea ice changes this ratio and complicates the estimation of the ice thickness, requiring the use of auxiliary information about snow depth and density. The retrieval of ice thickness uses the narrow radar swath at the nadir of the satellite at full resolution of approximately 1-10 km and a point spacing of 300 meters. This Level-2 sea-ice thickness products (not provided here) is then gridded for a period of a month to obtain full coverage of a north polar grid at a resolution of 25 km. The algorithm used was developed as part of the European Space Agency Climate Change Initiative (ESA CCI) on Sea Ice. The data provided here are Level-3 Collated (L3C) products: they contain monthly gridded values from orbit data from a single platform (Envisat or CryoSat-2) without interpolation or any other form of gap filling. The files also contain estimates of the algorithm uncertainty as well as a quality status flag indicating potential issues with the retrieval not captured in the algorithm uncertainty. Sources of uncertainty in the algorithm are related to the auxiliary data and to the use of different radar altimeter concepts in Envisat (pulse-limited) and CryoSat-2 (synthetic aperture radar). This dataset combines a Climate Data Record (CDR), which has sufficient length, consistency, and continuity to be used to assess climate variability and change, and an Interim Climate Data Record (ICDR), which provides regular temporal extensions to the CDR and where consistency with the CDR is expected but not extensively checked. Here, the CDR is based on measurements from the RA-2 altimeter on Envisat (October 2002 to October 2010) and the SIRAL altimeter on CryoSat-2 (November 2010 to April 2020). The ICDR is based on observations from CryoSat-2 only (from April 2015 onward) and is updated monthly with a one-month delay behind real time. Users should note that the quality and accuracy of the data record are higher during the CryoSat-2 period than during the Envisat period. As a result, care should be taken when combining the two missions to assess long-term changes and trends. More information can be found in the Product User Guide and Product Quality Assessment Report. This dataset is currently limited spatially to the Arctic region and temporally to the winter months of October through April due to unresolved bias originating from melting snow or open melt ponds in the remaining five months. For a similar reason, no sea-ice thickness data with sufficient quality exist for the Southern Hemisphere. The extension of the CDR/ICDR to other periods, regions, and radar altimeter missions is under development in the extension of the ESA CCI Sea Ice project (ESA CCI+). This dataset is produced on behalf of the Copernicus Climate Change Service (C3S). ",,,,,"ECMWF,CDS,C3S,sea,ice",ATMOSPHERIC,proprietary,Sea ice thickness monthly gridded data for the Arctic from 2002 to present derived from satellite observations,2002-10-01T00:00:00Z,SATELLITE_SEA_ICE_THICKNESS,,,,available,,,,,,,,,,,,,,,,,,,,,,,,available,
-SATELLITE_SEA_LEVEL_BLACK_SEA,"Sea level anomaly is the height of water over the mean sea surface in a given time and region. Up-to-date altimeter standards are used to estimate the sea level anomalies with a mapping algorithm dedicated to the Black sea region. Anomalies are computed with respect to a twenty-year mean reference period (1993-2012). The steady number of reference satellite used in the production of this dataset contributes to the long-term stability of the sea level record. Improvements of the accuracy, sampling of meso-scale processes and of the high-latitude coverage were achieved by using a few additional satellite missions. New data are provided with a delay of about 4-5 months relatively to near-real time or interim sea level products. This delay is mainly due to the timeliness of the input data, the centred processing temporal window and the validation process. However, this processing and validation adds stability and accuracy to the sea level variables and make them adapted to climate applications. This dataset includes uncertainties for each grid cell. More details about the sea level retrieval, additional filters, optimisation procedures, and the error estimation are given in the Documentation section. Variables in the dataset/application are: Absolute dynamic topography, Absolute geostrophic velocity meridian component, Absolute geostrophic velocity zonal component, Geostrophic velocity anomalies meridian component, Geostrophic velocity anomalies zonal component, Sea level anomaly ",,,,,"Climate,ECMWF,CDS,C3S,sea,level,Black Sea",HYDROLOGICAL,proprietary,Sea level daily gridded data from satellite observations for the Black Sea from 1993 to 2020,1993-01-01T00:00:00Z,SATELLITE_SEA_LEVEL_BLACK_SEA,,,,,,,,,,available,,,,,,,,,,,,,,,,,,available,
 SATELLITE_SEA_LEVEL_GLOBAL,"This data set provides gridded daily global estimates of sea level anomaly based on satellite altimetry measurements. The rise in global mean sea level in recent decades has been one of the most important and well-known consequences of climate warming, putting a large fraction of the world population and economic infrastructure at greater risk of flooding. However, changes in the global average sea level mask regional variations that can be one order of magnitude larger. Therefore, it is essential to measure changes in sea level over the world's oceans as accurately as possible. Sea level anomaly is defined as the height of water over the mean sea surface in a given time and region. In this dataset sea level anomalies are computed with respect to a twenty-year mean reference period (1993-2012) using up-to-date altimeter standards. In the past, the altimeter sea level datasets were distributed on the CNES AVISO altimetry portal until their production was taken over by the Copernicus Marine Environment Monitoring Service (CMEMS) and the Copernicus Climate Change Service (C3S) in 2015 and 2016 respectively. The sea level data set provided here by C3S is climate-oriented, that is, dedicated to the monitoring of the long-term evolution of sea level and the analysis of the ocean/climate indicators, both requiring a homogeneous and stable sea level record. To achieve this, a steady two-satellite merged constellation is used at all time steps in the production system: one satellite serves as reference and ensures the long-term stability of the data record; the other satellite (which varies across the record) is used to improve accuracy, sample mesoscale processes and provide coverage at high latitudes. The C3S sea level data set is used to produce Ocean Monitoring Indicators (e.g. global and regional mean sea level evolution), available in the CMEMS catalogue. The CMEMS sea level dataset has a more operational focus as it is dedicated to the retrieval of mesoscale signals in the context of ocean modeling and analysis of the ocean circulation on a global or regional scale. Such applications require the most accurate sea level estimates at each time step with the best spatial sampling of the ocean with all satellites available, with less emphasis on long-term stability and homogeneity. This data set is updated three times a year with a delay of about 6 months relative to present time. This delay is mainly due to the timeliness of the input data, the centred processing temporal window and the validation process. However, these processing and validation steps are essential to enhance the stability and accuracy of the sea level products and make them suitable for climate applications. This dataset includes estimates of sea level anomaly and absolute dynamic topography together with the corresponding geostrophic velocities. More details about the sea level retrieval algorithms, additional filters, optimisation procedures, and the error estimation are given in the Documentation tab. Variables in the dataset/application are: Absolute dynamic topography, Absolute geostrophic velocity meridian component, Absolute geostrophic velocity zonal component, Geostrophic velocity anomalies meridian component, Geostrophic velocity anomalies zonal component, Sea level anomaly ",,,,,"Climate,ECMWF,CDS,C3S,sea,level,global",HYDROLOGICAL,proprietary,Sea level gridded data from satellite observations for the global ocean,1993-01-01T00:00:00Z,SATELLITE_SEA_LEVEL_GLOBAL,,,,available,,,,,,available,,,,,,,,,,,,,,,,,,available,
-SATELLITE_SEA_LEVEL_MEDITERRANEAN,"Sea level anomaly is the height of water over the mean sea surface in a given time and region. In this dataset sea level anomalies are computed with respect to a twenty-year mean reference period (1993-2012). Up-to-date altimeter standards are used to estimate the sea level anomalies with a mapping algorithm specifically dedicated to the Mediterranean Sea. The steady number of reference satellite used in the production of this dataset contributes to the long-term stability of the sea level record. Improvements of the accuracy, sampling of meso-scale processes and of the high-latitude coverage were achieved by using a few additional satellite missions. New data are provided with a delay of about 4-5 months relatively to near-real time or interim sea level products. This delay is mainly due to the timeliness of the input data, the centred processing temporal window and the validation process. However, this processing and validation adds stability and accuracy to the sea level variables and make them adapted to climate applications. This dataset includes uncertainties for each grid cell. More details about the sea level retrieval, additional filters, optimisation procedures, and the error estimation are given in the Documentation section. Variables in the dataset/application are: Absolute dynamic topography, Absolute geostrophic velocity meridian component, Absolute geostrophic velocity zonal component, Geostrophic velocity anomalies meridian component, Geostrophic velocity anomalies zonal component, Sea level anomaly ",,,,,"Climate,ECMWF,CDS,C3S,sea,level,mediterranean",HYDROLOGICAL,proprietary,Sea level daily gridded data from satellite observations for the Mediterranean Sea,1993-01-01T00:00:00Z,SATELLITE_SEA_LEVEL_MEDITERRANEAN,,,,,,,,,,available,,,,,,,,,,,,,,,,,,available,
 SEASONAL_MONTHLY_PL,"This entry covers pressure-level data aggregated on a monthly time resolution. \nSeasonal forecasts provide a long-range outlook of changes in the Earth system over periods of a few weeks or months, as a result of predictable changes in some of the slow-varying components of the system. For example, ocean temperatures typically vary slowly, on timescales of weeks or months; as the ocean has an impact on the overlaying atmosphere, the variability of its properties (e.g. temperature) can modify both local and remote atmospheric conditions. Such modifications of the 'usual' atmospheric conditions are the essence of all long-range (e.g. seasonal) forecasts. This is different from a weather forecast, which gives a lot more precise detail - both in time and space - of the evolution of the state of the atmosphere over a few days into the future. Beyond a few days, the chaotic nature of the atmosphere limits the possibility to predict precise changes at local scales. This is one of the reasons long-range forecasts of atmospheric conditions have large uncertainties. To quantify such uncertainties, long-range forecasts use ensembles, and meaningful forecast products reflect a distributions of outcomes.\nGiven the complex, non-linear interactions between the individual components of the Earth system, the best tools for long-range forecasting are climate models which include as many of the key components of the system and possible; typically, such models include representations of the atmosphere, ocean and land surface. These models are initialised with data describing the state of the system at the starting point of the forecast, and used to predict the evolution of this state in time.\nWhile uncertainties coming from imperfect knowledge of the initial conditions of the components of the Earth system can be described with the use of ensembles, uncertainty arising from approximations made in the models are very much dependent on the choice of model. A convenient way to quantify the effect of these approximations is to combine outputs from several models, independently developed, initialised and operated.\nTo this effect, the C3S provides a multi-system seasonal forecast service, where data produced by state-of-the-art seasonal forecast systems developed, implemented and operated at forecast centres in several European countries is collected, processed and combined to enable user-relevant applications. The composition of the C3S seasonal multi-system and the full content of the database underpinning the service are described in the documentation. The data is grouped in several catalogue entries (CDS datasets), currently defined by the type of variable (single-level or multi-level, on pressure surfaces) and the level of post-processing applied (data at original time resolution, processing on temporal aggregation and post-processing related to bias adjustment).\nThe variables available in this data set are listed in the table below. The data includes forecasts created in real-time (since 2017) and retrospective forecasts (hindcasts) initialised at equivalent intervals during the period 1993-2016.\n\nVariables in the dataset/application are:\nGeopotential, Specific humidity, Temperature, U-component of wind, V-component of wind ",,,,,"ECMWF,CDS,C3S,seasonal,forecast,monthly,pressure,levels",ATMOSPHERIC,proprietary,Seasonal forecast monthly statistics on pressure levels,1981-01-01T00:00:00Z,SEASONAL_MONTHLY_PL,,,,available,,,,,,available,,,,,,,,,,,,,,,,,,available,
 SEASONAL_MONTHLY_SL,"This entry covers single-level data aggregated on a monthly time resolution. \nSeasonal forecasts provide a long-range outlook of changes in the Earth system over periods of a few weeks or months, as a result of predictable changes in some of the slow-varying components of the system. For example, ocean temperatures typically vary slowly, on timescales of weeks or months; as the ocean has an impact on the overlaying atmosphere, the variability of its properties (e.g. temperature) can modify both local and remote atmospheric conditions. Such modifications of the 'usual' atmospheric conditions are the essence of all long-range (e.g. seasonal) forecasts. This is different from a weather forecast, which gives a lot more precise detail - both in time and space - of the evolution of the state of the atmosphere over a few days into the future. Beyond a few days, the chaotic nature of the atmosphere limits the possibility to predict precise changes at local scales. This is one of the reasons long-range forecasts of atmospheric conditions have large uncertainties. To quantify such uncertainties, long-range forecasts use ensembles, and meaningful forecast products reflect a distributions of outcomes.\nGiven the complex, non-linear interactions between the individual components of the Earth system, the best tools for long-range forecasting are climate models which include as many of the key components of the system and possible; typically, such models include representations of the atmosphere, ocean and land surface. These models are initialised with data describing the state of the system at the starting point of the forecast, and used to predict the evolution of this state in time.\nWhile uncertainties coming from imperfect knowledge of the initial conditions of the components of the Earth system can be described with the use of ensembles, uncertainty arising from approximations made in the models are very much dependent on the choice of model. A convenient way to quantify the effect of these approximations is to combine outputs from several models, independently developed, initialised and operated.\nTo this effect, the C3S provides a multi-system seasonal forecast service, where data produced by state-of-the-art seasonal forecast systems developed, implemented and operated at forecast centres in several European countries is collected, processed and combined to enable user-relevant applications. The composition of the C3S seasonal multi-system and the full content of the database underpinning the service are described in the documentation. The data is grouped in several catalogue entries (CDS datasets), currently defined by the type of variable (single-level or multi-level, on pressure surfaces) and the level of post-processing applied (data at original time resolution, processing on temporal aggregation and post-processing related to bias adjustment).\nThe variables available in this data set are listed in the table below. The data includes forecasts created in real-time (since 2017) and retrospective forecasts (hindcasts) initialised at equivalent intervals during the period 1993-2016.\n\nVariables in the dataset/application are:\n10m u-component of wind, 10m v-component of wind, 10m wind gust since previous post-processing, 10m wind speed, 2m dewpoint temperature, 2m temperature, East-west surface stress rate of accumulation, Evaporation, Maximum 2m temperature in the last 24 hours, Mean sea level pressure, Mean sub-surface runoff rate, Mean surface runoff rate, Minimum 2m temperature in the last 24 hours, North-south surface stress rate of accumulation, Runoff, Sea surface temperature, Sea-ice cover, Snow density, Snow depth, Snowfall, Soil temperature level 1, Solar insolation rate of accumulation, Surface latent heat flux, Surface sensible heat flux, Surface solar radiation, Surface solar radiation downwards, Surface thermal radiation, Surface thermal radiation downwards, Top solar radiation, Top thermal radiation, Total cloud cover, Total precipitation ",,,,,"ECMWF,CDS,C3S,seasonal,forecast,monthly,single,levels",ATMOSPHERIC,proprietary,Seasonal forecast monthly statistics on single levels,1981-01-01T00:00:00Z,SEASONAL_MONTHLY_SL,,,,available,,,,,,available,,,,,,,,,,,,,,,,,,available,
 SEASONAL_ORIGINAL_PL,"his entry covers pressure-level data at the original time resolution (once every 12 hours). \nSeasonal forecasts provide a long-range outlook of changes in the Earth system over periods of a few weeks or months, as a result of predictable changes in some of the slow-varying components of the system. For example, ocean temperatures typically vary slowly, on timescales of weeks or months; as the ocean has an impact on the overlaying atmosphere, the variability of its properties (e.g. temperature) can modify both local and remote atmospheric conditions. Such modifications of the 'usual' atmospheric conditions are the essence of all long-range (e.g. seasonal) forecasts. This is different from a weather forecast, which gives a lot more precise detail - both in time and space - of the evolution of the state of the atmosphere over a few days into the future. Beyond a few days, the chaotic nature of the atmosphere limits the possibility to predict precise changes at local scales. This is one of the reasons long-range forecasts of atmospheric conditions have large uncertainties. To quantify such uncertainties, long-range forecasts use ensembles, and meaningful forecast products reflect a distributions of outcomes.\nGiven the complex, non-linear interactions between the individual components of the Earth system, the best tools for long-range forecasting are climate models which include as many of the key components of the system and possible; typically, such models include representations of the atmosphere, ocean and land surface. These models are initialised with data describing the state of the system at the starting point of the forecast, and used to predict the evolution of this state in time.\nWhile uncertainties coming from imperfect knowledge of the initial conditions of the components of the Earth system can be described with the use of ensembles, uncertainty arising from approximations made in the models are very much dependent on the choice of model. A convenient way to quantify the effect of these approximations is to combine outputs from several models, independently developed, initialised and operated.\nTo this effect, the C3S provides a multi-system seasonal forecast service, where data produced by state-of-the-art seasonal forecast systems developed, implemented and operated at forecast centres in several European countries is collected, processed and combined to enable user-relevant applications. The composition of the C3S seasonal multi-system and the full content of the database underpinning the service are described in the documentation. The data is grouped in several catalogue entries (CDS datasets), currently defined by the type of variable (single-level or multi-level, on pressure surfaces) and the level of post-processing applied (data at original time resolution, processing on temporal aggregation and post-processing related to bias adjustment).\nThe variables available in this data set are listed in the table below. The data includes forecasts created in real-time (since 2017) and retrospective forecasts (hindcasts) initialised at equivalent intervals during the period 1993-2016.\n\nVariables in the dataset/application are:\nGeopotential, Specific humidity, Temperature, U-component of wind, V-component of wind ",,,,,"ECMWF,CDS,C3S,seasonal,forecast,subdaily,pressure,levels",ATMOSPHERIC,proprietary,Seasonal forecast subdaily data on pressure levels,1981-01-01T00:00:00Z,SEASONAL_ORIGINAL_PL,,,,available,,,,,,available,,,,,,,,,,,,,,,,,,available,
diff --git a/docs/notebooks/api_user_guide/2_providers_products_available.ipynb b/docs/notebooks/api_user_guide/2_providers_products_available.ipynb
index 696ff46d..4a3eb3eb 100644
--- a/docs/notebooks/api_user_guide/2_providers_products_available.ipynb
+++ b/docs/notebooks/api_user_guide/2_providers_products_available.ipynb
@@ -485,9 +485,7 @@
        " 'SATELLITE_SEA_ICE_CONCENTRATION',\n",
        " 'SATELLITE_SEA_ICE_EDGE_TYPE',\n",
        " 'SATELLITE_SEA_ICE_THICKNESS',\n",
-       " 'SATELLITE_SEA_LEVEL_BLACK_SEA',\n",
        " 'SATELLITE_SEA_LEVEL_GLOBAL',\n",
-       " 'SATELLITE_SEA_LEVEL_MEDITERRANEAN',\n",
        " 'SEASONAL_MONTHLY_PL',\n",
        " 'SEASONAL_MONTHLY_SL',\n",
        " 'SEASONAL_ORIGINAL_PL',\n",
diff --git a/docs/notebooks/tutos/tuto_wekeo.ipynb b/docs/notebooks/tutos/tuto_wekeo.ipynb
index bc6e8b5c..995edb80 100644
--- a/docs/notebooks/tutos/tuto_wekeo.ipynb
+++ b/docs/notebooks/tutos/tuto_wekeo.ipynb
@@ -148,9 +148,7 @@
        " 'SATELLITE_SEA_ICE_CONCENTRATION',\n",
        " 'SATELLITE_SEA_ICE_EDGE_TYPE',\n",
        " 'SATELLITE_SEA_ICE_THICKNESS',\n",
-       " 'SATELLITE_SEA_LEVEL_BLACK_SEA',\n",
        " 'SATELLITE_SEA_LEVEL_GLOBAL',\n",
-       " 'SATELLITE_SEA_LEVEL_MEDITERRANEAN',\n",
        " 'SEASONAL_MONTHLY_PL',\n",
        " 'SEASONAL_MONTHLY_SL',\n",
        " 'SEASONAL_ORIGINAL_PL',\n",
diff --git a/eodag/resources/product_types.yml b/eodag/resources/product_types.yml
index 5424e48b..686b100d 100644
--- a/eodag/resources/product_types.yml
+++ b/eodag/resources/product_types.yml
@@ -3286,32 +3286,6 @@ SEASONAL_POSTPROCESSED_PL:
   title: Seasonal forecast anomalies on pressure levels
   missionStartDate: "2017-09-01T00:00:00Z"
 
-SATELLITE_SEA_LEVEL_BLACK_SEA:
-  abstract: |
-    Sea level anomaly is the height of water over the mean sea surface in a given time and region. Up-to-date
-    altimeter standards are used to estimate the sea level anomalies with a mapping algorithm dedicated to the
-    Black sea region. Anomalies are computed with respect to a twenty-year mean reference period (1993-2012).
-    The steady number of reference satellite used in the production of this dataset contributes to the long-term
-    stability of the sea level record. Improvements of the accuracy, sampling of meso-scale processes and of the
-    high-latitude coverage were achieved by using a few additional satellite missions. New data are provided with
-    a delay of about 4-5 months relatively to near-real time or interim sea level products. This delay is mainly
-    due to the timeliness of the input data, the centred processing temporal window and the validation process.
-    However, this processing and validation adds stability and accuracy to the sea level variables and make them
-    adapted to climate applications. This dataset includes uncertainties for each grid cell. More details about
-    the sea level retrieval, additional filters, optimisation procedures, and the error estimation are given in
-    the Documentation section. Variables in the dataset/application are: Absolute dynamic topography, Absolute
-    geostrophic velocity meridian component, Absolute geostrophic velocity zonal component, Geostrophic velocity
-    anomalies meridian component, Geostrophic velocity anomalies zonal component, Sea level anomaly
-  platform:
-  instrument:
-  platformSerialIdentifier:
-  processingLevel:
-  keywords: Climate,ECMWF,CDS,C3S,sea,level,Black Sea
-  sensorType: HYDROLOGICAL
-  license: proprietary
-  title: Sea level daily gridded data from satellite observations for the Black Sea from 1993 to 2020
-  missionStartDate: "1993-01-01T00:00:00Z"
-
 SATELLITE_SEA_LEVEL_GLOBAL:
   abstract: |
     This data set provides gridded daily global estimates of sea level anomaly based on satellite altimetry
@@ -3355,33 +3329,6 @@ SATELLITE_SEA_LEVEL_GLOBAL:
   missionStartDate: "1993-01-01T00:00:00Z"
   missionEndDate: "2022-08-04T23:59:59Z"
 
-SATELLITE_SEA_LEVEL_MEDITERRANEAN:
-  abstract: |
-    Sea level anomaly is the height of water over the mean sea surface in a given time and region. In this dataset sea
-    level anomalies are computed with respect to a twenty-year mean reference period (1993-2012). Up-to-date altimeter
-    standards are used to estimate the sea level anomalies with a mapping algorithm specifically dedicated to the
-    Mediterranean Sea. The steady number of reference satellite used in the production of this dataset contributes to
-    the long-term stability of the sea level record. Improvements of the accuracy, sampling of meso-scale processes and
-    of the high-latitude coverage were achieved by using a few additional satellite missions. New data are provided with
-    a delay of about 4-5 months relatively to near-real time or interim sea level products. This delay is mainly due to
-    the timeliness of the input data, the centred processing temporal window and the validation process. However, this
-    processing and validation adds stability and accuracy to the sea level variables and make them adapted to climate
-    applications. This dataset includes uncertainties for each grid cell. More details about the sea level retrieval,
-    additional filters, optimisation procedures, and the error estimation are given in the Documentation section.
-    Variables in the dataset/application are: Absolute dynamic topography, Absolute geostrophic velocity meridian
-    component, Absolute geostrophic velocity zonal component, Geostrophic velocity anomalies meridian component,
-    Geostrophic velocity anomalies zonal component, Sea level anomaly
-  platform:
-  instrument:
-  platformSerialIdentifier:
-  processingLevel:
-  keywords: Climate,ECMWF,CDS,C3S,sea,level,mediterranean
-  sensorType: HYDROLOGICAL
-  license: proprietary
-  title: Sea level daily gridded data from satellite observations for the Mediterranean Sea
-  missionStartDate: "1993-01-01T00:00:00Z"
-  missionEndDate: "2018-11-01T23:59:59Z"
-
 SEASONAL_POSTPROCESSED_SL:
   abstract: |
     This entry covers single-level data post-processed for bias adjustment on a monthly time resolution.
diff --git a/eodag/resources/providers.yml b/eodag/resources/providers.yml
index 76ba3ce4..a117f4ce 100644
--- a/eodag/resources/providers.yml
+++ b/eodag/resources/providers.yml
@@ -2624,9 +2624,6 @@
         output_extension: .grib
       UERRA_EUROPE_SL:
         output_extension: .grib
-      SATELLITE_SEA_LEVEL_BLACK_SEA:
-        output_extension: .zip
-        extract: true
       GLACIERS_DIST_RANDOLPH:
         output_extension: .zip
         extract: true
@@ -4772,18 +4769,6 @@
         <<: *day_month_year
         defaultGeometry: 'POLYGON((180 -90, 180 90, -180 90, -180 -90, 180 -90))'
         orderLink: 'https://gateway.prod.wekeo2.eu/hda-broker/api/v1/dataaccess/download?{{"location": "{downloadLink}","product_id":"{id}", "dataset_id": "EO:ECMWF:DAT:SATELLITE_SEA_ICE_CONCENTRATION"}}'
-    SATELLITE_SEA_LEVEL_BLACK_SEA:
-      productType: EO:ECMWF:DAT:SATELLITE_SEA_LEVEL_BLACK_SEA
-      variable: all
-      format: zip
-      metadata_mapping:
-        id: '$.id'
-        <<: *day_month_year
-        variable:
-          - '{{"variable": "{variable}"}}'
-          - '$.null'
-        defaultGeometry: 'POLYGON((180 -90, 180 90, -180 90, -180 -90, 180 -90))'
-        orderLink: 'https://gateway.prod.wekeo2.eu/hda-broker/api/v1/dataaccess/download?{{"location": "{downloadLink}","product_id":"{id}", "dataset_id": "EO:ECMWF:DAT:SATELLITE_SEA_LEVEL_BLACK_SEA"}}'
     SATELLITE_SEA_LEVEL_GLOBAL:
       productType: EO:ECMWF:DAT:SATELLITE_SEA_LEVEL_GLOBAL
       variable:
@@ -4799,18 +4784,6 @@
         <<: *variable_list
         defaultGeometry: 'POLYGON((180 -90, 180 90, -180 90, -180 -90, 180 -90))'
         orderLink: 'https://gateway.prod.wekeo2.eu/hda-broker/api/v1/dataaccess/download?{{"location": "{downloadLink}","product_id":"{id}", "dataset_id": "EO:ECMWF:DAT:SATELLITE_SEA_LEVEL_GLOBAL"}}'
-    SATELLITE_SEA_LEVEL_MEDITERRANEAN:
-      productType: EO:ECMWF:DAT:SATELLITE_SEA_LEVEL_MEDITERRANEAN
-      variable: all
-      format: zip
-      metadata_mapping:
-        id: '$.id'
-        <<: *day_month_year
-        variable:
-          - '{{"variable": "{variable}"}}'
-          - '$.null'
-        defaultGeometry: 'POLYGON((180 -90, 180 90, -180 90, -180 -90, 180 -90))'
-        orderLink: 'https://gateway.prod.wekeo2.eu/hda-broker/api/v1/dataaccess/download?{{"location": "{downloadLink}","product_id":"{id}", "dataset_id": "EO:ECMWF:DAT:SATELLITE_SEA_LEVEL_MEDITERRANEAN"}}'
     SEASONAL_ORIGINAL_SL:
       productType: EO:ECMWF:DAT:SEASONAL_ORIGINAL_SINGLE_LEVELS
       variable:
@@ -6215,48 +6188,84 @@
     # ECMWF - COPERNICUS CDS
     ERA5_SL:
       productType: EO.ECMWF.DAT.REANALYSIS_ERA5_SINGLE_LEVELS
+      metadata_mapping:
+        <<: *orderable_mm
     ERA5_SL_MONTHLY:
       productType: EO.ECMWF.DAT.REANALYSIS_ERA5_SINGLE_LEVELS_MONTHLY_MEANS
+      metadata_mapping:
+        <<: *orderable_mm
     ERA5_PL:
       productType: EO.ECMWF.DAT.ERA5_HOURLY_VARIABLES_ON_PRESSURE_LEVELS
+      metadata_mapping:
+        <<: *orderable_mm
     ERA5_PL_MONTHLY:
       productType: EO.ECMWF.DAT.ERA5_MONTHLY_MEANS_VARIABLES_ON_PRESSURE_LEVELS
+      metadata_mapping:
+        <<: *orderable_mm
     ERA5_LAND:
       productType: EO.ECMWF.DAT.ERA5_LAND_HOURLY
+      metadata_mapping:
+        <<: *orderable_mm
     ERA5_LAND_MONTHLY:
       productType: EO.ECMWF.DAT.ERA5_LAND_MONTHLY
+      metadata_mapping:
+        <<: *orderable_mm
     UERRA_EUROPE_SL:
       productType: EO.ECMWF.DAT.REANALYSIS_UERRA_EUROPE_SINGLE_LEVELS
+      metadata_mapping:
+        <<: *orderable_mm
     GRIDDED_GLACIERS_MASS_CHANGE:
-      productType: EO.ECMWF.DAT.GLACIERS_ELEVATION_AND_MASS_CHANGE_DATA_1850_PRESENT
+      productType: EO.ECMWF.DAT.DERIVED_GRIDDED_GLACIER_MASS_CHANGE
+      metadata_mapping:
+        <<: *orderable_mm
     GLACIERS_DIST_RANDOLPH:
       productType: EO.ECMWF.DAT.GLACIERS_DISTRIBUTION_DATA_FROM_RANDOLPH_GLACIER_INVENTORY_2000
+      metadata_mapping:
+        <<: *orderable_mm
     SATELLITE_CARBON_DIOXIDE:
       productType: EO.ECMWF.DAT.CO2_DATA_FROM_SATELLITE_SENSORS_2002_PRESENT
+      metadata_mapping:
+        <<: *orderable_mm
     SATELLITE_METHANE:
       productType: EO.ECMWF.DAT.METHANE_DATA_SATELLITE_SENSORS_2002_PRESENT
+      metadata_mapping:
+        <<: *orderable_mm
     SEASONAL_POSTPROCESSED_PL:
       productType: EO.ECMWF.DAT.SEASONAL_FORECAST_ANOMALIES_ON_PRESSURE_LEVELS_2017_PRESENT
-    SATELLITE_SEA_LEVEL_BLACK_SEA:
-      productType: EO.ECMWF.DAT.SEA_LEVEL_DAILY_GRIDDED_DATA_FOR_BLACK_SEA_1993_PRESENT
+      metadata_mapping:
+        <<: *orderable_mm
     SATELLITE_SEA_LEVEL_GLOBAL:
       productType: EO.ECMWF.DAT.SEA_LEVEL_DAILY_GRIDDED_DATA_FOR_GLOBAL_OCEAN_1993_PRESENT
-    SATELLITE_SEA_LEVEL_MEDITERRANEAN:
-      productType: EO.ECMWF.DAT.SEA_LEVEL_DAILY_GRIDDED_DATA_FOR_MEDITERRANEAN_SEA_1993_PRESENT
+      metadata_mapping:
+        <<: *orderable_mm
     SATELLITE_SEA_ICE_EDGE_TYPE:
       productType: EO.ECMWF.DAT.SATELLITE_SEA_ICE_EDGE_TYPE
+      metadata_mapping:
+        <<: *orderable_mm
     SEASONAL_POSTPROCESSED_SL:
       productType: EO.ECMWF.DAT.SEASONAL_FORECAST_ANOMALIES_ON_SINGLE_LEVELS_2017_PRESENT
+      metadata_mapping:
+        <<: *orderable_mm
     SEASONAL_ORIGINAL_SL:
       productType: EO.ECMWF.DAT.SEASONAL_FORECAST_DAILY_DATA_ON_SINGLE_LEVELS_2017_PRESENT
+      metadata_mapping:
+        <<: *orderable_mm
     SEASONAL_ORIGINAL_PL:
       productType: EO.ECMWF.DAT.SEASONAL_FORECAST_DAILY_DATA_ON_PRESSURE_LEVELS_2017_PRESENT
+      metadata_mapping:
+        <<: *orderable_mm
     SEASONAL_MONTHLY_PL:
       productType: EO.ECMWF.DAT.SEASONAL_FORECAST_MONTHLY_STATISTICS_ON_PRESSURE_LEVELS_2017_PRESENT
+      metadata_mapping:
+        <<: *orderable_mm
     SEASONAL_MONTHLY_SL:
       productType: EO.ECMWF.DAT.SEASONAL_FORECAST_MONTHLY_STATISTICS_ON_SINGLE_LEVELS_2017_PRESENT
+      metadata_mapping:
+        <<: *orderable_mm
     SIS_HYDRO_MET_PROJ:
       productType: EO.ECMWF.DAT.SIS_HYDROLOGY_METEOROLOGY_DERIVED_PROJECTIONS
+      metadata_mapping:
+        <<: *orderable_mm
     # ECMWF - CEMS
     FIRE_HISTORICAL:
       productType: EO.ECMWF.DAT.CEMS_FIRE_HISTORICAL
@@ -6283,30 +6292,56 @@
     # COPERNICUS ADS
     CAMS_GAC_FORECAST:
       productType: EO.ECMWF.DAT.CAMS_GLOBAL_ATMOSHERIC_COMPO_FORECAST
+      metadata_mapping:
+        <<: *orderable_mm
     CAMS_EU_AIR_QUALITY_FORECAST:
       productType: EO.ECMWF.DAT.CAMS_EUROPE_AIR_QUALITY_FORECASTS
+      metadata_mapping:
+        <<: *orderable_mm
     CAMS_GFE_GFAS:
       productType: EO.ECMWF.DAT.CAMS_GLOBAL_FIRE_EMISSIONS_GFAS
+      metadata_mapping:
+        <<: *orderable_mm
     CAMS_SOLAR_RADIATION:
       productType: EO.ECMWF.DAT.CAMS_SOLAR_RADIATION_TIMESERIES
+      metadata_mapping:
+        <<: *orderable_mm
     CAMS_GREENHOUSE_INVERSION:
       productType: EO.ECMWF.DAT.CAMS_GREENHOUSE_GAS_FLUXES
+      metadata_mapping:
+        <<: *orderable_mm
     CAMS_EAC4_MONTHLY:
       productType: EO.ECMWF.DAT.CAMS_GLOBAL_REANALYSIS_EAC4_MONTHLY_AV_FIELDS
+      metadata_mapping:
+        <<: *orderable_mm
     CAMS_EU_AIR_QUALITY_RE:
       productType: EO.ECMWF.DAT.CAMS_EUROPE_AIR_QUALITY_REANALYSES
+      metadata_mapping:
+        <<: *orderable_mm
     CAMS_EAC4:
       productType: EO.ECMWF.DAT.CAMS_GLOBAL_REANALYSIS_EAC4
+      metadata_mapping:
+        <<: *orderable_mm
     CAMS_GRF_AUX:
       productType: EO.ECMWF.DAT.CAMS_GLOBAL_RADIATIVE_FORCING_AUX
+      metadata_mapping:
+        <<: *orderable_mm
     CAMS_GRF:
       productType: EO.ECMWF.DAT.CAMS_GLOBAL_RADIATIVE_FORCING
+      metadata_mapping:
+        <<: *orderable_mm
     CAMS_GREENHOUSE_EGG4_MONTHLY:
       productType: EO.ECMWF.DAT.CAMS_GLOBAL_GREENHOUSE_GAS_REANALYSIS_MONTHLY_AV_FIELDS
+      metadata_mapping:
+        <<: *orderable_mm
     CAMS_GREENHOUSE_EGG4:
       productType: EO.ECMWF.DAT.CAMS_GLOBAL_GREENHOUSE_GAS_REANALYSIS
+      metadata_mapping:
+        <<: *orderable_mm
     CAMS_GLOBAL_EMISSIONS:
       productType: EO.ECMWF.DAT.CAMS_GLOBAL_EMISSION_INVENTORIES
+      metadata_mapping:
+        <<: *orderable_mm
     # COPERNICUS ADS -  Digital Elevation Model
     COP_DEM_GLO30_DGED:
       productType: EO.DEM.DAT.COP-DEM_GLO-30-DGED


Test patch:
diff --git a/tests/units/test_core.py b/tests/units/test_core.py
index 64ba254b..10026c06 100644
--- a/tests/units/test_core.py
+++ b/tests/units/test_core.py
@@ -548,10 +548,8 @@ class TestCore(TestCoreBase):
         "SATELLITE_CARBON_DIOXIDE": ["cop_cds", "dedl", "wekeo_ecmwf"],
         "SATELLITE_FIRE_BURNED_AREA": ["cop_cds", "wekeo_ecmwf"],
         "SATELLITE_METHANE": ["cop_cds", "dedl", "wekeo_ecmwf"],
-        "SATELLITE_SEA_LEVEL_BLACK_SEA": ["dedl", "wekeo_ecmwf"],
         "SATELLITE_SEA_ICE_EDGE_TYPE": ["cop_cds", "dedl", "wekeo_ecmwf"],
         "SATELLITE_SEA_LEVEL_GLOBAL": ["cop_cds", "dedl", "wekeo_ecmwf"],
-        "SATELLITE_SEA_LEVEL_MEDITERRANEAN": ["dedl", "wekeo_ecmwf"],
         "SATELLITE_SEA_ICE_CONCENTRATION": ["cop_cds", "wekeo_ecmwf"],
         "SATELLITE_SEA_ICE_THICKNESS": ["cop_cds", "wekeo_ecmwf"],
         "SEASONAL_MONTHLY_PL": ["cop_cds", "dedl", "wekeo_ecmwf"],