Unexpected arithmetic when multiplying field
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 150
- Forks
- 23
- Avg merge
- 1d 11h
- Merged PRs (30d)
- 2
Description
Hi folks - first attempt to report features this way!
Have encountered an unexpected behaviour when combining fields - should this happen?
Is it something to do with units? T is degC here, maybe we are expecting K?
(see attached file)
amv.nc.gz
>>> import cf
>>> cf.__version__
'3.5.1'
>>> data=cf.read('amv.nc')[0]
>>> data.array[0]
array([[20.51099598]])
>>> (data-data).array[0]
array([[0.]])
>>> (data-1*data).array[0]
array([[273.15]])
>>> (1*data-1*data).array[0]
array([[0.]])
>>>
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the arithmetic shown in the issue with the attached amv.nc.gz file and compare the units on data before and after each expression. Trace the field and unit handling used by subtraction and multiplication; confirm the intended Celsius behavior with the project maintainers. Done means the inconsistent results are explained and corrected, with coverage for the demonstrated expressions.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- data
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100