3.1. Monitoring and reproducing Arctic weather extremes with a global and a regional reanalysis dataset [Reanalysis]-[Intercomparison]-[Climate monitoring]#
Production date: DD-MM-YYYY
Produced by: Nansen Environmental and Remote Sensing Center
🌍 Use case: Reproducing and monitoring polar lows in the Arctic#
❓ Quality assessment question#
What are the benefits of a regional over a global reanalysis product for studying polar lows?
Polar lows are intense mesoscale low-pressure systems that form when cold polar air masses move over the ocean (e.g., Stoll et al., 2021). They have attracted and continue to attract considerable attention due to their relevance for the climate system and their impact on society (e.g., Moreno-Ibanez et al., 2021). From a climate perspective, for example, polar lows contribute to the heat exchange between the ocean and the atmosphere by inducing intense sensible and latent heat fluxes. From a societal perspective, they can generate intense winds which, in turn, can severely disrupt human activities and pose a threat to lives at sea and in coastal areas.
Atmospheric reanalyses are invaluable tools for studying polar lows. At first, they do not only rely on observations, but also incorporate model-based forecasts (Parker, 2016). Indeed, observations alone are often insufficient due to their limited number in the Arctic (Moreno-Ibáñez, 2024) combined with the small sizes of polar lows, which range between 200 and 1000 km (Moreno-Ibáñez, 2024). Additionally, atmospheric reanalysis offer the advantage of being provided on regular grids, at consistent temporal intervals, and over extended periods.
In this respect, ERA5, the fifth generation of the ECMWF global atmospheric reanalysis (Hersbach et al., 2020), has been widely used to study polar lows (Moreno-Ibáñez, 2024). For example, Stoll (2022) used ERA5 to report on the global climatology of polar lows, Meyer et al. (2021) to study their 3-dimensional structures, and Boyd et al. (2022) to determine the large-scale atmospheric conditions where polar lows develop. Furthermore, Stoll et al. (2021) suggested the ability of ERA5 to detect a larger number of polar lows than ERA Interim, the previous generation of the ECMWF global atmospheric reanalysis.
Despite its importance, though, ERA5 has its own limitations. Notably, it has a spatial resolution of 0.25°x0.25°, which is insufficient to capture the fine horizontal spatial-scale features of polar lows. Additionally, it has been noted to underestimate near-surface wind speeds associated with polar lows (e.g., Gurvich et al., 2022).
A regional reanalysis, such as the Copernicus Arctic Regional Reanalysis (CARRA), can help partly overcome these limitations. Although restricted to the European sector of the Arctic, CARRA has a spatial resolution of approximately 2.5 km, which is finer than that of ERA5 and can therefore potentially better characterize the physical properties of polar lows. Furthermore, it assimilates a larger number of observations.
Despite its potential, though, the ability of CARRA to capture and describe polar lows needs to be assessed. The present review reports on the capabilities of CARRA and ERA5 on pressure levels to detect polar lows over the European Arctic through a literature revision.
📢 Quality assessment statement#
These are the key outcomes of this assessment
When compared to radiosonde data, CARRA reproduces temperature and wind speed better than ERA5 in terms of bias and standard deviation, especially for pressure levels higher than approximately 200 hPa.
A case study analysis suggests that both CARRA and ERA5 can potentially detect polar lows and represent their main features. However, CARRA provides a more detailed depiction of its structure.
📋 Methodology#
The present assessment explores and compares the properties of polar lows in the European sector of the Arctic based on CARRA, a regional atmospheric reanalysis for the European Arctic, and ERA5, a global atmospheric reanalysis. At first, the assessment presents an evaluation of both CARRA and ERA5 on pressure levels against radiosonde data. This comparison is based on the documentation of CARRA. Then, it summarizes one of the results in Zhaohui Cheng’s master thesis by comparing the ability of ERA5 and CARRA to reproduce a polar low that hit the Norwegian coast on April 2007, which is used a case study.
The analysis and results of the present work are organised as follows:
ERA5
CARRA
Evaluation of ERA5 and CARRA on pressure levels
Polar lows properties: ERA5 vs CARRA
Satellite image
Relative vorticity: ERA5 vs CARRA
📈 Analysis and results#
Description of the datasets#
ERA5#
The current assessment is based on the temperature, the zonal and the meridional components of the velocity field from ERA5 on pressure levels (Hersbach et al., 2020). The dataset has a horizontal spatial resolution of 0.25°x0.25°, a temporal resolution of 1 hour, and is available since the first of January 1940.
CARRA#
The current assessment is also based on the temperature, the zonal and the meridional components of the velocity field from CARRA on pressure levels. The dataset has a horizontal spatial resolution of 2.5 km, and a temporal resolution of 3 hours. Data are available since the first of September 1991, and cover two domains over the European sector of the Arctic. The western domain (CARRA-West) includes Greenland, the Labrador Sea, Davis Strait, Baffin Bay, Denmark Strait, Iceland, Jan Mayen, the Greenland Sea and Svalbard; the eastern domain (CARRA-East) includes Svalbard, Jan Mayen, Franz Josef Land, Novaya Zemlya, the Barents Sea, and the northern parts of the Norwegian Sea and Scandinavia.
We should note that the results presented in section 3 are based on Cheng (2023). In his study, Cheng (2023) merges the zonal and meridional components of the velocity over CARRA-East and CARRA-West to work on one single domain. Furthermore, Cheng (2023) interpolates the CARRA dataset on a grid with a 0.1°x0.1° horizontal spatial resolution, which corresponds approximately to 12km x 12km, coarser than the original CARRA domain. This choice was made to reduce the time needed by his polar low detecting algorithm to run, but still allows to detect the mesoscale low-pressure systems in the European Arctic.
Evaluation of ERA5 and CARRA on pressure levels#
This section presents a quality assessment of CARRA and ERA5 on pressure levels through a comparison with radiosonde data. The assessment is based on the Full System Documentation of CARRA, and addresses temperature and wind speed between approximately 950 and 50 hPa for September 1997, January 2000, and April 2007.
Overall, Figures 1 and 2 indicate that the observed temperature and wind speed agree better with the estimates from CARRA than from ERA5. CARRA outperforms ERA5 in terms of both bias and standard deviation, with improvements of up to 50 percentage points. The improvememt appears to depend on the pressure level, being it less pronounced or absent for pressure levels below approximately 200hPa, while showing little dependence on year and season, although additional analysis is likely needed to confirm this conclusion due the limited number of years considered.
The results for the standard deviation differentiate between temperature and wind speed, with CARRA offering a greater improvement over ERA5 in terms of wind speed rather than temperature. For instance, selecting wind speed data from CARRA, as opposed to ERA5, reduces the average standard deviation by up to 50 percentage points circa, compared to around 30 percentage points for temperature.
The comparison with the observed temperature and wind speed indicates that both CARRA and ERA5 are negatively biased at most pressure levels. However, unlike the standard deviation, this comparison does not clearly distinguish between temperature and wind speed. The result for the bias is important as it suggests that both reanalysis datasets tend to underestimate the observed temperature and wind speed throughout the troposphere and lower stratosphere.



Fig. 3.1.1 Figure 1: Vertical profiles of averaged standard deviation (STD) and bias errors of CARRA reanalysis (green) and ERA5 (red) computed against radiosonde measurements over CARRA’s domains for temperature for the months of September 1997 (upper plot), January 2000 (middle plot), and April 2007 (lower plot). Results are shown on key pressure levels. The figure is a readaptation of Figure 3.2 in the Full System Documentation of CARRA.#



Fig. 3.1.2 Figure 2: Same as Figure 1, but for wind speed.#
Polar lows properties: ERA5 vs CARRA#
The ability of ERA5 and CARRA to capture polar lows is first assessed through a case study. Following Cheng (2023), we select a polar low that developed over the Nordic Seas on the 6th of April 2007 between 00:00UTC and 18:00UTC. This polar low appears in Noer and Lien (2010), who present a list of subjectively selected polar lows over the Nordic Seas between 2000 and 2010.
Satellite image#
Figure 3 shows an image of the polar low provided by NOAA-15 AVHRR on the 6th of April 2007 at 06:31 - 07:18 UTC. The image depicts a polar low over the Nordic Seas, approximately between Svalbard and mainland Norway. The polar low appears in its mature stage, with its distinctive comma shape and a mostly cloud-free eye, and it is characterized by wave-like ripples at the edge of the cirrus shield, off the western and southern edge of the cloud mass, which indicate a jet over the convective layer.

Fig. 3.1.3 Figure 3: Figure 10 in Cheng (2023), showing a polar low image taken by NOAA-15 AVHRR at 06:31 - 07:18 UTC on the 6th of April 2007. The Norwegian coast is visible on the right side of the image, while the Svalbard in the upper part.#
Relative vorticity: ERA5 vs CARRA#
Following Cheng (2023), we consider the relative vorticity at 950hPa at 06:00 UTC on the 6th of April 2007, and we compare the ability of ERA5 and CARRA to reproduce the horizontal features of the polar low under study.
Figure 4 indicates that ERA5 and CARRA are able to detect and return a comparable picture of the polar low. Both reanalysys datasets place the centre of the polar low, identifiable as a patch of high relative vorticity, at approximately the same location. Furthermore, they also agree on the location of the comma-shaped cloud system, which is also identifiable by a tail of relative vorticity maxima.
Despite these similarities, some differences exist between the polar low reproduced by ERA5 and by CARRA. At first, both reanalysis datasets place the centre of the polar low at approximately 72°N, but CARRA has it shifted circa 2° to the east with respect to ERA5. More notably, though, CARRA appears to reproduce the finer structures of the polar low when compared to ERA5. In particular, CARRA indicates that the tail of the polar low is thinner and has a relative vorticity which is higher than that provided by ERA5 and comparable to the polar low’s centre. CARRA also reveals stripes of high relative vorticity to the west and south of the eye. A comparison with the satellite image shown in Figure 3 indicates that these features exist and replicate the wave-like elements observed in the satellite data. The differences between CARRA and ERA5 are expected to result from ERA5 having a lower spatial scale than CARRA which, in turn, diffuses the relative vorticity of the polar low.

Fig. 3.1.4 Figure 4: Figure 12 in Cheng (2023) showing the relative vorticity at 950hPa obtained from ERA5 (a) and the merged CARRA dataset (b) at 06:30 UTC on the 6th of April 2007. The relative vorticity over land is set to zero.#
Conclusions#
This assessment presented a brief literature review to evaluate the consistency of the ERA5 and CARRA reanalysis datasets on pressure levels with observational data. It also compared the ability of these datasets to replicate the characteristics of polar lows in the European Arctic.
The comparison with radiosonde data, based on CARRA’s documentation, indicates that CARRA reproduces temperature and wind speed better than ERA5 in terms of bias and standard deviation, particularly for pressure levels higher than approximately 200 hPa. However, further analysis is likely needed, as the results presented in this assessment are based on a limited number of years.
A case study of a polar low presented by Cheng (2023) indicates that CARRA is preferable to ERA5 for reproducing the features of polar lows. A satellite image of the polar low was used as a reference for the comparison. The comparison showed that CARRA provided a finer representation of the center and tail of the polar low, less diffused relative vorticity values, and a better representation of the features around the polar low when compared to ERA5. Thus, in line with CARRA’s documentation, CARRA is expected to better reproduce high-impact weather events than ERA5 in the European sector of the Arctic.
To conclude, we would like to note that the results reported by this assessment agree with the conclusions reached by previous works who assessed the ability of CARRA and ERA5 on single levels to reproduce polar lows. For example, Khachatrian and Asemann (2024) showed that CARRA provides a more detailed representation of the 10m wind field than ERA5 during a polar low event. Køltzow et al. (2022) further highlight CARRA’s ability over ERA5 to better reproduce the 2m temperature and the 10m wind field associated with polar lows as they wave over land.
ℹ️ If you want to know more#
Key resources#
The interested reader can check the following resources:
The Advanced models and weather prediction in the Arctic (Alertness) project.
Presentation on polar lows by Dr. Justyna Wodziczko on EUMeTrain website.
“Polar Lows: the coolest weather on the planet”, a blog about polar lows.
Polar low section of the “Manual of Synoptic Satellite Meteorology”.
References#
Boyd, K., and Wang, Z. (2024). Revisiting the relationship between polar lows and weather regimes. J. Clim. 37 (5), 1523–1538. doi:10.1175/JCLI-D-23-0309.1
Gurvich, I., Pichugin, M., Baranyuk, A. 2023. Satellite Multi-Sensor Data Analysis of Unusually Strong Polar Lows over the Chukchi and Beaufort Seas in October 2017. Remote Sens. 15 (1), 120. doi:10.3390/rs15010120.
Hersbach, H., et al. 2020. The ERA5 global reanalysis. Q.J.R. Meteorol. Soc. 146, 1990–2049. https://doi.org/10.1002/qj.3803
Khachatrian, E. and Asemann, P. The Value of Sentinel-1 Ocean Wind Fields Component for the Study of Polar Lows. Remote Sens. 2024, 16, 3755. https://doi.org/10.3390/rs16203755
Køltzow, M., Schyberg, H., Støylen, E., and Yang, X. (2022). Value of the Copernicus Arctic Regional Reanalysis (CARRA) in representing near-surface temperature and wind speed in the north-east European Arctic. Polar Res. 41, 8002. doi:10.33265/polar.v41.8002.
Meyer, M., Polkova, I., Modali, K. R., Schaffer, L., Baehr, J., Olbrich, S., et al. (2021). Interactive 3-D visual analysis of ERA5 data: improving diagnostic indices for marine cold air outbreaks and polar lows. Weather Clim. Dyn. 2 (3), 867–891. doi:10.5194/wcd-2-867-2021
Moreno-Ibáñez, M., Laprise, R., Gachon, P. 2021. Recent advances in polar low research: currentknowledge, challenges and future perspectives. Tellus A: 2021, 73, 1890412, https://doi.org/10.1080/16000870.2021.1890412
Moreno-Ibáñez, M. 2024. Polar low research: recent developments and promising courses of research. Front. Earth Sci. 12:1368179. doi: 10.3389/feart.2024.1368179
Noer, G., Lien T. 2010. Dates and Positions of Polar Lows over the Nordic Seas between 2000 and 2010. Met.no Report no 16/2010. The Norwegian Meteorological Institute: Oslo, Norway. 6 pp.
Parker, W. S. 2016. Reanales and Observations. What’s the difference? Bull. Amer. Meteor. Soc., 97, 1565-1572. DOI:10.1175/BAMS-D-14-00226.1.
Stoll, P. J., Spengler, T., Terpstra, A., and Graversen, R. G. (2021). Polar lows – moist-baroclinic cyclones developing in four different vertical wind shear environments. Weather Clim. Dyn. 2 (1), 19–36. doi:10.5194/wcd-2-19-2021
Stoll, P. J. (2022). A global climatology of polar lows investigated for local differences and wind-shear environments. Weather Clim. Dyn. 3 (2), 483–504. doi:10.5194/wcd-3-483-2022
Show code cell source
!conda env export
name: wp5
channels:
- conda-forge
dependencies:
- _libgcc_mutex=0.1=conda_forge
- _openmp_mutex=4.5=2_gnu
- accessible-pygments=0.0.5=pyhd8ed1ab_1
- affine=2.4.0=pyhd8ed1ab_1
- aiohttp=3.9.5=py311h459d7ec_0
- aiosignal=1.3.2=pyhd8ed1ab_0
- alabaster=0.7.16=pyhd8ed1ab_0
- alsa-lib=1.2.14=hb9d3cd8_0
- annotated-types=0.7.0=pyhd8ed1ab_1
- ansicolors=1.1.8=pyhd8ed1ab_0
- anyio=4.9.0=pyh29332c3_0
- argon2-cffi=23.1.0=pyhd8ed1ab_1
- argon2-cffi-bindings=21.2.0=py311h9ecbd09_5
- array-api-compat=1.12.0=pyhe01879c_0
- arrow=1.3.0=pyhd8ed1ab_1
- asttokens=3.0.0=pyhd8ed1ab_1
- async-lru=2.0.5=pyh29332c3_0
- attrs=25.3.0=pyh71513ae_0
- aws-c-auth=0.9.0=h59ae206_7
- aws-c-cal=0.9.0=h5e3027f_1
- aws-c-common=0.12.3=hb9d3cd8_0
- aws-c-compression=0.3.1=hafb2847_5
- aws-c-event-stream=0.5.4=h2dcaabb_9
- aws-c-http=0.10.1=hb50fa74_1
- aws-c-io=0.19.0=h7962f60_2
- aws-c-mqtt=0.13.0=h35de22e_3
- aws-c-s3=0.7.17=h50d7d24_2
- aws-c-sdkutils=0.2.3=hafb2847_5
- aws-checksums=0.2.7=hafb2847_1
- aws-crt-cpp=0.32.5=h2811929_3
- aws-sdk-cpp=1.11.510=hffe9a0f_8
- azure-core-cpp=1.14.0=h5cfcd09_0
- azure-identity-cpp=1.10.0=h113e628_0
- azure-storage-blobs-cpp=12.13.0=h3cf044e_1
- azure-storage-common-cpp=12.8.0=h736e048_1
- azure-storage-files-datalake-cpp=12.12.0=ha633028_1
- babel=2.17.0=pyhd8ed1ab_0
- beautifulsoup4=4.13.4=pyha770c72_0
- bleach=6.2.0=pyh29332c3_4
- bleach-with-css=6.2.0=h82add2a_4
- blosc=1.21.6=he440d0b_1
- bokeh=3.7.3=pyhd8ed1ab_0
- bottleneck=1.5.0=py311h9f3472d_0
- branca=0.8.1=pyhd8ed1ab_0
- brotli=1.1.0=hb9d3cd8_2
- brotli-bin=1.1.0=hb9d3cd8_2
- brotli-python=1.1.0=py311hfdbb021_2
- bzip2=1.0.8=h4bc722e_7
- c-ares=1.34.5=hb9d3cd8_0
- ca-certificates=2025.4.26=hbd8a1cb_0
- cached-property=1.5.2=hd8ed1ab_1
- cached_property=1.5.2=pyha770c72_1
- cairo=1.18.4=h3394656_0
- cartopy=0.24.0=py311h7db5c69_0
- cdsapi=0.7.6=pyhd8ed1ab_0
- certifi=2025.4.26=pyhd8ed1ab_0
- cf-units=3.3.0=py311h9f3472d_0
- cf_xarray=0.10.5=pyhd8ed1ab_0
- cffi=1.17.1=py311hf29c0ef_0
- cfgrib=0.9.15.0=pyhd8ed1ab_0
- cftime=1.6.4=py311h9f3472d_1
- charset-normalizer=3.4.2=pyhd8ed1ab_0
- click=8.1.8=pyh707e725_0
- click-plugins=1.1.1=pyhd8ed1ab_1
- cligj=0.7.2=pyhd8ed1ab_2
- cloudpickle=3.1.1=pyhd8ed1ab_0
- cmocean=4.0.3=pyhd8ed1ab_1
- colorama=0.4.6=pyhd8ed1ab_1
- colorspacious=1.1.2=pyhecae5ae_1
- comm=0.2.2=pyhd8ed1ab_1
- contourpy=1.3.2=py311hd18a35c_0
- crc32c=2.7.1=py311h9ecbd09_1
- cycler=0.12.1=pyhd8ed1ab_1
- cyrus-sasl=2.1.27=h54b06d7_7
- cytoolz=1.0.1=py311h9ecbd09_0
- dask=2025.5.1=pyhd8ed1ab_0
- dask-core=2025.5.1=pyhd8ed1ab_0
- dbus=1.16.2=h3c4dab8_0
- debugpy=1.8.14=py311hfdbb021_0
- decorator=5.2.1=pyhd8ed1ab_0
- defusedxml=0.7.1=pyhd8ed1ab_0
- deprecated=1.2.18=pyhd8ed1ab_0
- deprecation=2.1.0=pyh9f0ad1d_0
- distributed=2025.5.1=pyhd8ed1ab_0
- docutils=0.21.2=pyhd8ed1ab_1
- donfig=0.8.1.post1=pyhd8ed1ab_1
- double-conversion=3.3.1=h5888daf_0
- earthkit-data=0.14.3=pyhd8ed1ab_0
- earthkit-geo=0.3.0=pyhd8ed1ab_1
- earthkit-utils=0.0.1=pyhd8ed1ab_0
- ecmwf-datastores-client=0.1.0=pyhd8ed1ab_0
- entrypoints=0.4=pyhd8ed1ab_1
- esmf=8.8.1=nompi_hc4cf7a7_1
- esmpy=8.8.1=pyhecae5ae_0
- et_xmlfile=2.0.0=pyhd8ed1ab_1
- exceptiongroup=1.3.0=pyhd8ed1ab_0
- executing=2.2.0=pyhd8ed1ab_0
- filelock=3.18.0=pyhd8ed1ab_0
- findlibs=0.0.5=pyhd8ed1ab_0
- flox=0.10.1=pyhd8ed1ab_0
- folium=0.19.6=pyhd8ed1ab_0
- font-ttf-dejavu-sans-mono=2.37=hab24e00_0
- font-ttf-inconsolata=3.000=h77eed37_0
- font-ttf-source-code-pro=2.038=h77eed37_0
- font-ttf-ubuntu=0.83=h77eed37_3
- fontconfig=2.15.0=h7e30c49_1
- fonts-conda-ecosystem=1=0
- fonts-conda-forge=1=0
- fonttools=4.58.0=py311h2dc5d0c_0
- fqdn=1.5.1=pyhd8ed1ab_1
- freeglut=3.2.2=ha6d2627_3
- freetype=2.13.3=ha770c72_1
- freexl=2.0.0=h9dce30a_2
- frozenlist=1.6.0=py311h62d540b_0
- fsspec=2025.5.1=pyhd8ed1ab_0
- geopandas=1.0.1=pyhd8ed1ab_3
- geopandas-base=1.0.1=pyha770c72_3
- geos=3.13.1=h97f6797_0
- geotiff=1.7.4=h239500f_2
- gflags=2.2.2=h5888daf_1005
- giflib=5.2.2=hd590300_0
- glog=0.7.1=hbabe93e_0
- graphite2=1.3.13=h59595ed_1003
- greenlet=3.2.2=py311hfdbb021_0
- h11=0.16.0=pyhd8ed1ab_0
- h2=4.2.0=pyhd8ed1ab_0
- harfbuzz=11.2.1=h3beb420_0
- hdf4=4.2.15=h2a13503_7
- hdf5=1.14.6=nompi_h2d575fe_101
- hpack=4.1.0=pyhd8ed1ab_0
- httpcore=1.0.9=pyh29332c3_0
- httpx=0.28.1=pyhd8ed1ab_0
- hyperframe=6.1.0=pyhd8ed1ab_0
- icu=75.1=he02047a_0
- idna=3.10=pyhd8ed1ab_1
- imagesize=1.4.1=pyhd8ed1ab_0
- importlib-metadata=8.7.0=pyhe01879c_1
- importlib_resources=6.5.2=pyhd8ed1ab_0
- ipykernel=6.29.5=pyh3099207_0
- ipython=9.2.0=pyhfb0248b_0
- ipython_pygments_lexers=1.1.1=pyhd8ed1ab_0
- isoduration=20.11.0=pyhd8ed1ab_1
- jasper=4.2.5=h1920b20_0
- jedi=0.19.2=pyhd8ed1ab_1
- jinja2=3.1.6=pyhd8ed1ab_0
- joblib=1.5.1=pyhd8ed1ab_0
- json-c=0.18=h6688a6e_0
- json5=0.12.0=pyhd8ed1ab_0
- jsonpointer=3.0.0=py311h38be061_1
- jsonschema=4.23.0=pyhd8ed1ab_1
- jsonschema-specifications=2025.4.1=pyh29332c3_0
- jsonschema-with-format-nongpl=4.23.0=hd8ed1ab_1
- jupyter-book=1.0.4.post1=pyh29332c3_0
- jupyter-cache=1.0.1=pyhff2d567_0
- jupyter-lsp=2.2.5=pyhd8ed1ab_1
- jupyter-server-proxy=4.4.0=pyhd8ed1ab_1
- jupyter_client=8.6.3=pyhd8ed1ab_1
- jupyter_core=5.8.0=pyh31011fe_0
- jupyter_events=0.12.0=pyh29332c3_0
- jupyter_server=2.16.0=pyhe01879c_0
- jupyter_server_terminals=0.5.3=pyhd8ed1ab_1
- jupyterlab=4.4.3=pyhd8ed1ab_0
- jupyterlab-myst=2.4.2=pyhd8ed1ab_1
- jupyterlab_pygments=0.3.0=pyhd8ed1ab_2
- jupyterlab_server=2.27.3=pyhd8ed1ab_1
- keyutils=1.6.1=h166bdaf_0
- kiwisolver=1.4.7=py311hd18a35c_0
- krb5=1.21.3=h659f571_0
- latexcodec=2.0.1=pyh9f0ad1d_0
- lcms2=2.17=h717163a_0
- ld_impl_linux-64=2.43=h712a8e2_4
- lerc=4.0.0=h0aef613_1
- libabseil=20250127.1=cxx17_hbbce691_0
- libaec=1.1.3=h59595ed_0
- libarchive=3.7.7=h75ea233_4
- libarrow=20.0.0=hebdba27_3_cpu
- libarrow-acero=20.0.0=hcb10f89_3_cpu
- libarrow-dataset=20.0.0=hcb10f89_3_cpu
- libarrow-substrait=20.0.0=h1bed206_3_cpu
- libblas=3.9.0=31_h59b9bed_openblas
- libbrotlicommon=1.1.0=hb9d3cd8_2
- libbrotlidec=1.1.0=hb9d3cd8_2
- libbrotlienc=1.1.0=hb9d3cd8_2
- libcblas=3.9.0=31_he106b2a_openblas
- libclang-cpp20.1=20.1.5=default_h1df26ce_1
- libclang13=20.1.5=default_he06ed0a_1
- libcrc32c=1.1.2=h9c3ff4c_0
- libcups=2.3.3=h4637d8d_4
- libcurl=8.13.0=h332b0f4_0
- libdeflate=1.24=h86f0d12_0
- libdrm=2.4.124=hb9d3cd8_0
- libedit=3.1.20250104=pl5321h7949ede_0
- libegl=1.7.0=ha4b6fd6_2
- libev=4.33=hd590300_2
- libevent=2.1.12=hf998b51_1
- libexpat=2.7.0=h5888daf_0
- libffi=3.4.6=h2dba641_1
- libfreetype=2.13.3=ha770c72_1
- libfreetype6=2.13.3=h48d6fc4_1
- libgcc=15.1.0=h767d61c_2
- libgcc-ng=15.1.0=h69a702a_2
- libgdal-core=3.10.3=h86883d2_10
- libgfortran=15.1.0=h69a702a_2
- libgfortran5=15.1.0=hcea5267_2
- libgl=1.7.0=ha4b6fd6_2
- libglib=2.84.2=h3618099_0
- libglu=9.0.3=h03adeef_0
- libglvnd=1.7.0=ha4b6fd6_2
- libglx=1.7.0=ha4b6fd6_2
- libgomp=15.1.0=h767d61c_2
- libgoogle-cloud=2.36.0=hc4361e1_1
- libgoogle-cloud-storage=2.36.0=h0121fbd_1
- libgrpc=1.71.0=h8e591d7_1
- libiconv=1.18=h4ce23a2_1
- libjpeg-turbo=3.1.0=hb9d3cd8_0
- libkml=1.3.0=hf539b9f_1021
- liblapack=3.9.0=31_h7ac8fdf_openblas
- libllvm20=20.1.5=he9d0ab4_0
- liblzma=5.8.1=hb9d3cd8_1
- libnetcdf=4.9.2=nompi_h0134ee8_117
- libnghttp2=1.64.0=h161d5f1_0
- libnsl=2.0.1=hd590300_0
- libntlm=1.8=hb9d3cd8_0
- libopenblas=0.3.29=pthreads_h94d23a6_0
- libopengl=1.7.0=ha4b6fd6_2
- libopentelemetry-cpp=1.20.0=hd1b1c89_0
- libopentelemetry-cpp-headers=1.20.0=ha770c72_0
- libparquet=20.0.0=h081d1f1_3_cpu
- libpciaccess=0.18=hd590300_0
- libpng=1.6.47=h943b412_0
- libpq=17.5=h27ae623_0
- libprotobuf=5.29.3=h501fc15_1
- libre2-11=2024.07.02=hba17884_3
- librttopo=1.1.0=hd718a1a_18
- libsodium=1.0.20=h4ab18f5_0
- libspatialite=5.1.0=he17ca71_14
- libsqlite=3.49.2=hee588c1_0
- libssh2=1.11.1=hcf80075_0
- libstdcxx=15.1.0=h8f9b012_2
- libstdcxx-ng=15.1.0=h4852527_2
- libthrift=0.21.0=h0e7cc3e_0
- libtiff=4.7.0=hf01ce69_5
- libudunits2=2.2.28=h40f5838_3
- libutf8proc=2.10.0=h4c51ac1_0
- libuuid=2.38.1=h0b41bf4_0
- libwebp-base=1.5.0=h851e524_0
- libxcb=1.17.0=h8a09558_0
- libxcrypt=4.4.36=hd590300_1
- libxkbcommon=1.10.0=h65c71a3_0
- libxml2=2.13.8=h4bc477f_0
- libxslt=1.1.39=h76b75d6_0
- libzip=1.11.2=h6991a6a_0
- libzlib=1.3.1=hb9d3cd8_2
- linkify-it-py=2.0.3=pyhd8ed1ab_1
- llvmlite=0.44.0=py311h9c9ff8c_1
- locket=1.0.0=pyhd8ed1ab_0
- lru-dict=1.3.0=py311h9ecbd09_1
- lz4=4.4.4=py311h8c6ae76_0
- lz4-c=1.10.0=h5888daf_1
- lzo=2.10=hd590300_1001
- mapclassify=2.8.1=pyhd8ed1ab_1
- markdown=3.8=pyhd8ed1ab_0
- markdown-it-py=3.0.0=pyhd8ed1ab_1
- markupsafe=3.0.2=py311h2dc5d0c_1
- matplotlib=3.10.3=py311h38be061_0
- matplotlib-base=3.10.3=py311h2b939e6_0
- matplotlib-inline=0.1.7=pyhd8ed1ab_1
- mdit-py-plugins=0.4.2=pyhd8ed1ab_1
- mdurl=0.1.2=pyhd8ed1ab_1
- minizip=4.0.10=h05a5f5f_0
- mistune=3.1.3=pyh29332c3_0
- msgpack-python=1.1.0=py311hd18a35c_0
- multidict=6.4.4=py311h2dc5d0c_0
- multiurl=0.3.5=pyhd8ed1ab_0
- munkres=1.1.4=pyh9f0ad1d_0
- myst-nb=1.2.0=pyh29332c3_0
- myst-parser=3.0.1=pyhd8ed1ab_0
- narwhals=1.41.0=pyhe01879c_0
- nbclient=0.10.2=pyhd8ed1ab_0
- nbconvert=7.16.6=hb482800_0
- nbconvert-core=7.16.6=pyh29332c3_0
- nbconvert-pandoc=7.16.6=hed9df3c_0
- nbformat=5.10.4=pyhd8ed1ab_1
- nc-time-axis=1.4.1=pyhd8ed1ab_1
- ncurses=6.5=h2d0b736_3
- nest-asyncio=1.6.0=pyhd8ed1ab_1
- netcdf-fortran=4.6.2=nompi_hee1cade_100
- netcdf4=1.7.2=nompi_py311h8b974bf_102
- networkx=3.4.2=pyh267e887_2
- nlohmann_json=3.12.0=h3f2d84a_0
- notebook-shim=0.2.4=pyhd8ed1ab_1
- numba=0.61.2=py311h4e1c48f_0
- numcodecs=0.16.1=py311h7db5c69_0
- numpy=2.2.6=py311h5d046bc_0
- numpy_groupies=0.11.3=pyhd8ed1ab_0
- openjpeg=2.5.3=h5fbd93e_0
- openldap=2.6.10=he970967_0
- openpyxl=3.1.5=py311h50c5138_1
- openssl=3.5.0=h7b32b05_1
- orc=2.1.2=h17f744e_0
- overrides=7.7.0=pyhd8ed1ab_1
- packaging=25.0=pyh29332c3_1
- pandas=2.2.3=py311h7db5c69_3
- pandoc=3.7.0.1=ha770c72_0
- pandocfilters=1.5.0=pyhd8ed1ab_0
- papermill=2.6.0=pyhd8ed1ab_1
- parso=0.8.4=pyhd8ed1ab_1
- partd=1.4.2=pyhd8ed1ab_0
- patsy=1.0.1=pyhd8ed1ab_1
- pcre2=10.45=hc749103_0
- pexpect=4.9.0=pyhd8ed1ab_1
- pickleshare=0.7.5=pyhd8ed1ab_1004
- pillow=11.2.1=py311h1322bbf_0
- pip=25.1.1=pyh8b19718_0
- pixman=0.46.0=h29eaf8c_0
- pkgutil-resolve-name=1.3.10=pyhd8ed1ab_2
- platformdirs=4.3.8=pyhe01879c_0
- plotly=6.1.1=pyhd8ed1ab_0
- pooch=1.8.2=pyhd8ed1ab_1
- proj=9.6.0=h0054346_1
- prometheus-cpp=1.3.0=ha5d0236_0
- prometheus_client=0.22.0=pyhd8ed1ab_0
- prompt-toolkit=3.0.51=pyha770c72_0
- propcache=0.3.1=py311h2dc5d0c_0
- properscoring=0.1=pyhd8ed1ab_1
- psutil=7.0.0=py311h9ecbd09_0
- pthread-stubs=0.4=hb9d3cd8_1002
- ptyprocess=0.7.0=pyhd8ed1ab_1
- pure_eval=0.2.3=pyhd8ed1ab_1
- pwlf=2.5.1=pyhd8ed1ab_0
- pyarrow=20.0.0=py311h38be061_0
- pyarrow-core=20.0.0=py311h4854187_0_cpu
- pybtex=0.24.0=pyhd8ed1ab_3
- pybtex-docutils=1.0.3=py311h38be061_2
- pycparser=2.22=pyh29332c3_1
- pydantic=2.11.4=pyh3cfb1c2_0
- pydantic-core=2.33.2=py311hdae7d1d_0
- pydantic-settings=2.9.1=pyh3cfb1c2_0
- pydata-sphinx-theme=0.15.4=pyhd8ed1ab_0
- pydoe=0.3.8=py_1
- pygments=2.19.1=pyhd8ed1ab_0
- pyogrio=0.11.0=py311hf6089d3_0
- pyparsing=3.2.3=pyhd8ed1ab_1
- pyproj=3.7.1=py311h0960b38_1
- pyshp=2.3.1=pyhd8ed1ab_1
- pyside6=6.9.0=py311h9053184_0
- pysocks=1.7.1=pyha55dd90_7
- python=3.11.12=h9e4cc4f_0_cpython
- python-dateutil=2.9.0.post0=pyhff2d567_1
- python-dotenv=1.1.0=pyh29332c3_1
- python-fastjsonschema=2.21.1=pyhd8ed1ab_0
- python-json-logger=2.0.7=pyhd8ed1ab_0
- python-tzdata=2025.2=pyhd8ed1ab_0
- python_abi=3.11=7_cp311
- pytz=2025.2=pyhd8ed1ab_0
- pyyaml=6.0.2=py311h2dc5d0c_2
- pyzmq=26.4.0=py311h7deb3e3_0
- qhull=2020.2=h434a139_5
- qt6-main=6.9.0=h0384650_3
- rasterio=1.4.3=py311he01b476_1
- re2=2024.07.02=h9925aae_3
- readline=8.2=h8c095d6_2
- referencing=0.36.2=pyh29332c3_0
- regionmask=0.13.0=pyhd8ed1ab_0
- requests=2.32.3=pyhd8ed1ab_1
- rfc3339-validator=0.1.4=pyhd8ed1ab_1
- rfc3986-validator=0.1.1=pyh9f0ad1d_0
- rich=14.0.0=pyh29332c3_0
- rioxarray=0.19.0=pyhd8ed1ab_0
- rpds-py=0.25.1=py311hdae7d1d_0
- s2n=1.5.18=h763c568_1
- scikit-learn=1.6.1=py311h57cc02b_0
- scipy=1.15.2=py311h8f841c2_0
- seaborn=0.13.2=hd8ed1ab_3
- seaborn-base=0.13.2=pyhd8ed1ab_3
- send2trash=1.8.3=pyh0d859eb_1
- setuptools=80.8.0=pyhff2d567_0
- shapely=2.1.1=py311h3dc67b8_0
- shellingham=1.5.4=pyhd8ed1ab_1
- simpervisor=1.0.0=pyhd8ed1ab_1
- six=1.17.0=pyhd8ed1ab_0
- snappy=1.2.1=h8bd8927_1
- sniffio=1.3.1=pyhd8ed1ab_1
- snowballstemmer=3.0.1=pyhd8ed1ab_0
- snuggs=1.4.7=pyhd8ed1ab_2
- sortedcontainers=2.4.0=pyhd8ed1ab_1
- soupsieve=2.7=pyhd8ed1ab_0
- sparse=0.17.0=pyhcf101f3_0
- sphinx=7.4.7=pyhd8ed1ab_0
- sphinx-book-theme=1.1.4=pyh29332c3_0
- sphinx-comments=0.0.3=pyhd8ed1ab_1
- sphinx-copybutton=0.5.2=pyhd8ed1ab_1
- sphinx-design=0.6.1=pyhd8ed1ab_2
- sphinx-external-toc=1.0.1=pyhd8ed1ab_1
- sphinx-jupyterbook-latex=1.0.0=pyhd8ed1ab_1
- sphinx-multitoc-numbering=0.1.3=pyhd8ed1ab_1
- sphinx-thebe=0.3.1=pyhd8ed1ab_1
- sphinx-togglebutton=0.3.2=pyhd8ed1ab_0
- sphinxcontrib-applehelp=2.0.0=pyhd8ed1ab_1
- sphinxcontrib-bibtex=2.6.3=pyhd8ed1ab_1
- sphinxcontrib-devhelp=2.0.0=pyhd8ed1ab_1
- sphinxcontrib-htmlhelp=2.1.0=pyhd8ed1ab_1
- sphinxcontrib-jsmath=1.0.1=pyhd8ed1ab_1
- sphinxcontrib-qthelp=2.0.0=pyhd8ed1ab_1
- sphinxcontrib-serializinghtml=1.1.10=pyhd8ed1ab_1
- sqlalchemy=2.0.41=py311h9ecbd09_0
- sqlite=3.49.2=h9eae976_0
- stack_data=0.6.3=pyhd8ed1ab_1
- statsmodels=0.14.4=py311h9f3472d_0
- structlog=25.2.0=pyhd8ed1ab_0
- tabulate=0.9.0=pyhd8ed1ab_2
- tblib=3.1.0=pyhd8ed1ab_0
- tenacity=9.1.2=pyhd8ed1ab_0
- terminado=0.18.1=pyh0d859eb_0
- threadpoolctl=3.6.0=pyhecae5ae_0
- tinycss2=1.4.0=pyhd8ed1ab_0
- tk=8.6.13=noxft_h4845f30_101
- toml=0.10.2=pyhd8ed1ab_1
- tomli=2.2.1=pyhd8ed1ab_1
- toolz=1.0.0=pyhd8ed1ab_1
- tornado=6.5.1=py311h9ecbd09_0
- tqdm=4.67.1=pyhd8ed1ab_1
- traitlets=5.14.3=pyhd8ed1ab_1
- typer=0.15.4=pyh9571d03_0
- typer-slim=0.15.4=pyhe01879c_0
- typer-slim-standard=0.15.4=haa4fddc_0
- types-python-dateutil=2.9.0.20250516=pyhd8ed1ab_0
- typing-extensions=4.13.2=h0e9735f_0
- typing-inspection=0.4.1=pyhd8ed1ab_0
- typing_extensions=4.13.2=pyh29332c3_0
- typing_utils=0.1.0=pyhd8ed1ab_1
- tzdata=2025b=h78e105d_0
- uc-micro-py=1.0.3=pyhd8ed1ab_1
- udunits2=2.2.28=h40f5838_3
- unicodedata2=16.0.0=py311h9ecbd09_0
- uri-template=1.3.0=pyhd8ed1ab_1
- uriparser=0.9.8=hac33072_0
- urllib3=2.4.0=pyhd8ed1ab_0
- wayland=1.23.1=h3e06ad9_1
- wcwidth=0.2.13=pyhd8ed1ab_1
- webcolors=24.11.1=pyhd8ed1ab_0
- webencodings=0.5.1=pyhd8ed1ab_3
- websocket-client=1.8.0=pyhd8ed1ab_1
- wheel=0.45.1=pyhd8ed1ab_1
- wrapt=1.17.2=py311h9ecbd09_0
- xarray=2025.4.0=pyhd8ed1ab_0
- xarraymannkendall=1.4.5=pyhd8ed1ab_0
- xcb-util=0.4.1=hb711507_2
- xcb-util-cursor=0.1.5=hb9d3cd8_0
- xcb-util-image=0.4.0=hb711507_2
- xcb-util-keysyms=0.4.1=hb711507_0
- xcb-util-renderutil=0.3.10=hb711507_0
- xcb-util-wm=0.4.2=hb711507_0
- xerces-c=3.2.5=h988505b_2
- xesmf=0.8.10=pyhd8ed1ab_0
- xhistogram=0.3.2=pyhd8ed1ab_0
- xkeyboard-config=2.44=hb9d3cd8_0
- xorg-libice=1.1.2=hb9d3cd8_0
- xorg-libsm=1.2.6=he73a12e_0
- xorg-libx11=1.8.12=h4f16b4b_0
- xorg-libxau=1.0.12=hb9d3cd8_0
- xorg-libxcomposite=0.4.6=hb9d3cd8_2
- xorg-libxcursor=1.2.3=hb9d3cd8_0
- xorg-libxdamage=1.1.6=hb9d3cd8_0
- xorg-libxdmcp=1.1.5=hb9d3cd8_0
- xorg-libxext=1.3.6=hb9d3cd8_0
- xorg-libxfixes=6.0.1=hb9d3cd8_0
- xorg-libxi=1.8.2=hb9d3cd8_0
- xorg-libxrandr=1.5.4=hb9d3cd8_0
- xorg-libxrender=0.9.12=hb9d3cd8_0
- xorg-libxtst=1.2.5=hb9d3cd8_3
- xorg-libxxf86vm=1.1.6=hb9d3cd8_0
- xskillscore=0.0.26=pyhd8ed1ab_1
- xyzservices=2025.4.0=pyhd8ed1ab_0
- yaml=0.2.5=h7f98852_2
- yarl=1.20.0=py311h2dc5d0c_0
- zarr=3.0.8=pyhd8ed1ab_0
- zeromq=4.3.5=h3b0a872_7
- zict=3.0.0=pyhd8ed1ab_1
- zipp=3.22.0=pyhd8ed1ab_0
- zlib=1.3.1=hb9d3cd8_2
- zstandard=0.23.0=py311h9ecbd09_2
- zstd=1.5.7=hb8e6e7a_2
- pip:
- alembic==1.16.1
- c3s-eqc-automatic-quality-control==0.1.2.dev115+g699e0cb
- cacholote==1.7.1
- cgul==0.0.4
- earthkit-meteo==0.3.0
- eccodes==2.41.0
- ecmwflibs==0.6.3
- kaleido==0.2.1
- mako==1.3.10
- owslib==0.12.0
- pdbufr==0.12.2
- pymannkendall==1.4.3
- pywoudc==0.2.0
- sqlalchemy-utils==0.41.2
prefix: /data/common/miniforge3/envs/wp5