Skip to content

generate_clearsky_solar_radiation fails if target grid does not have y dimension first #2243

@btrotta-bom

Description

@btrotta-bom

The cli generate_clearsky_solar_radiation fails if the target_grid argument does not have the y dimension as its first dimension. It should either handle this case or throw a useful error. Example below.

from improver.cli import generate_clearsky_solar_radiation
import datetime as dt
import numpy as np
from iris.coords import DimCoord
from iris.cube import Cube


lat = DimCoord(np.arange(0, 50, 10), standard_name="latitude")
lon = DimCoord(np.arange(0, 90, 10), standard_name="longitude")
target_grid = Cube(np.ones((len(lat.points), len(lon.points)), np.float32), long_name="grid", dim_coords_and_dims=[(lat, 0), (lon, 1)])
surface_altitude = target_grid.copy(data=np.zeros(target_grid.shape))
surface_altitude.rename("surface_altitude")

# works
cube = generate_clearsky_solar_radiation.process(target_grid, surface_altitude, time=dt.datetime(2025, 1, 1), 
                                                accumulation_period=24, temporal_spacing=30)
# fails
target_grid.transpose([1, 0])
cube = generate_clearsky_solar_radiation.process(target_grid, surface_altitude, time=dt.datetime(2025, 1, 1), 
                                                 accumulation_period=24, temporal_spacing=30)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions