MetOffice / MetOffice/ANTS

Allow fill to operate on multiple fields and multidimensional data

Open
#115 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
7
Forks
10
Avg merge
1d 19h
Merged PRs (30d)
5

Description

#✨ Feature Request

Currently `make_consistent_with_lsm` (and hence the `ancil_general_regrid` command line application when used with `--target-lsm`) is constrained to operate on single field, single dimensional data.

We should extend this to allow multiple fields and multidimensional data to be filled.

## Requirements

Given a CubeList containing missing data, each cube in the CubeList should be filled, returning a copy of the CubeList with missing data filled.
Given a Cube with one or more non-horizontal dimensions (e.g. vertical levels, pseudo levels, time), missing data should be filled on each level, returning a copy of the Cube with missing data filled.

## Context

Example uses include the LCT and Soils ancillary science applications, where data may be missing across multiple pseudo levels. In these cases, it can be assumed that the same points are missing across all levels, but this may not be the case in general.

Some validation should be done up front to determine whether the same filler object can be used for all fields/layers (i.e. if the same points require filling). If multiple fillers are needed, we should raise a warning. Perhaps there should be a "strict" mode that raises an error if the missing data is not consistent across all fields/layers?

Contributor guide

Open the contributing guide

Research direction

Start with make_consistent_with_lsm and trace how the ancil_general_regrid command uses it with --target-lsm. Examine how CubeList and Cube inputs currently handle single fields and dimensions, then define validation for shared missing points and the warning or strict-error behavior. Done means copies of all fields and non-horizontal layers are filled, with inconsistent fillers handled as specified.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
data
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.