NCAS-CMS / NCAS-CMS/cf-python

Method to retrospectively read external variables

Open
#177 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

dataset read enhancement
Dominant language
Python
Stars
150
Forks
23
Avg merge
1d 11h
Merged PRs (30d)
2

Description

External variables can currently be read-in using the external keyword argument to cf.read, but not at a later stage. So that users can read any external variables after they have read in the corresponding fields, with the external variables only referenced as an external_variables attribute, we decided we would like a method on a Field that can retrospectively find and read-in the relevant constructs from the referenced external files.

The motivation is the case that the user has already manipulated the field when they realise they want to read the external variable(s); this method would save them from having to re-read and re-process.

The name should be considered further at the time of implementation, but something like Field.get_external_vars() or Field.read_external_vars() is illustrative.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the existing cf.read handling of the external keyword and the Field representation of the external_variables attribute. Define and implement a Field method that finds and reads the relevant constructs from referenced external files after the field has already been read and manipulated; done means users no longer need to re-read and re-process the field.

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
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.