Skip to content

Maps are smaller in V1 than in V0.5 #230

Description

@jeanbournhonesqueMF

What happened?

Greetings,

I'm trying to use earthkit-plots V1.
I found that the size of the maps changed a lot between 0.5 and 1.0 :

Earthkit plots V1
Image

Earthkit plots V0.5
Image

The 0.5 version was way better for me because the map is larger.
I also have the impression the coastlines don't have a black contour anymore ...

Regards,
Jean

What are the steps to reproduce the bug?

I ran the same python script with two different versions of earthkit (using different modules from ecs)

xxxab6-200 ~ (new_epsgram*) $ uv pip show earthkit-plots
Using Python 3.13.13 environment at: /usr/local/apps/python3/3.13.13-01
Name: earthkit-plots
Version: 1.0.1
Location: /usr/local/apps/python3/3.13.13-01/lib/python3.13/site-packages
Requires: adjusttext, cartopy, earthkit-data, earthkit-utils, matplotlib, numpy, pandas, pint, plotly, pyyaml
Required-by: earthkit

and

xxx@ab6-200 ~ (new_epsgram*) $ uv pip show earthkit-plots
Using Python 3.12.11 environment at: /usr/local/apps/python3/3.12.11-01
Name: earthkit-plots
Version: 0.5.0
Location: /usr/local/apps/python3/3.12.11-01/lib/python3.12/site-packages
Requires: adjusttext, cartopy, earthkit-data, earthkit-plots-default-styles, matplotlib, numpy, pandas, pint, plotly, pyyaml
Required-by: earthkit

The following code is the one I used to create the pictures above

import earthkit.data as ekd
import earthkit.plots as ekp
from earthkit.plots.geo import domains
# Change to from earthkit.plots.geography import domains with earthkit 1.0
import cartopy.crs as ccrs


def telecharge_anomalie() -> ekd.FieldList:
    """Returns l'anomalie"""
    return ekd.from_source(
        "mars",
        {
            "class": "od",
            "expver": 1,
            "stream": "eefo",
            "repres": "ll",
            "levtype": "sfc",
            "type": "taem",
            "param": "167.171",  # T2m anomaly
            "area": [80, -40, 25, 70],
            "date": "20260629",
            "grid": [0.5, 0.5],
            "time": "00",
            "step": "0-168",
        },
        log=None,
    ).to_fieldlist()


domaine_europe = domains.Domain.from_bbox(
    bbox=[-18, 26, 35, 63],
    name="Europe",
)
crs = ccrs.Mercator()


def initialisation_carte() -> ekp.Map:
    """Returns une map standards prête à utilisation"""
    carte = ekp.Map(domain=domaine_europe, crs=crs)
    carte.borders()
    carte.gridlines()
    carte.coastlines(color="black")
    return carte


def plot_anomalie() -> None:
    anomalie = telecharge_anomalie()
    style_anomalie = ekp.styles.Style(
        levels=[-20, -10, -6, -3, -1, -0.5, 0.5, 1, 3, 6, 10, 20],
        colors=[
            "#1933B3",
            "#2E6ED9",
            "#5999EB",
            "#99C9F7",
            "#CBEDFE",
            "#FFFFFF",
            "#FFFFFF",
            "#FED3CB",
            "#E57F7F",
            "#D93333",
            "#B21A00",
            "#580B00",
        ],
        extend="both",
    )
    carte_anomalie = initialisation_carte()
    carte_anomalie.contourf(anomalie, style=style_anomalie, alpha=0.8)
    carte_anomalie.title(
        f"Test",
        fontsize=16,
    )
    carte_anomalie.legend(location="right")
    carte_anomalie.save(f"anomalie_test.jpg")


plot_anomalie()

Version

1.0

Platform (OS and architecture)

Linux

Relevant log output

Accompanying data

No response

Organisation

Meteo-France

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions