Changes to gt4py will soon allow custom classes to be used in place of storages. We'd like to take advantage of this by using Quantity everywhere in the model. This PR refactors all internal temporaries in fv3core to use Quantity.
Code changes:
Switched some 1-dimensional computation from stencils to pure numpy/cupy
added fC and fC_agrid property methods to GridData, instead of computing inside dycore init methods
Added QuantityFactory to init arguments of all classes that create temporary data
Internal temporaries in fv3core are now Quantity instead of storage
All storage arguments to model components in fv3core are now Quantity
Checklist
Before submitting this PR, please make sure:
[x] You have followed the coding standards guidelines established at Code Review Checklist.
[x] Docstrings and type hints are added to new and updated routines, as appropriate
[x] All relevant documentation has been updated or added (e.g. README, CONTRIBUTING docs)
[x] For each public change and fix in pace-util, HISTORY has been updated
[x] Unit tests are added or updated for non-stencil code changes
Purpose
Changes to gt4py will soon allow custom classes to be used in place of storages. We'd like to take advantage of this by using Quantity everywhere in the model. This PR refactors all internal temporaries in fv3core to use Quantity.
Code changes:
Checklist
Before submitting this PR, please make sure:
pace-util
, HISTORY has been updated