Skip to content

Commit

Permalink
Merge branch 'feature/capgen' of https://github.com/NCAR/ccpp-framework
Browse files Browse the repository at this point in the history
… into add_optional_attr
  • Loading branch information
dustinswales committed Feb 22, 2024
2 parents 34aa7f5 + a7b9255 commit a9ae401
Showing 1 changed file with 14 additions and 4 deletions.
18 changes: 14 additions & 4 deletions scripts/var_props.py
Original file line number Diff line number Diff line change
Expand Up @@ -808,6 +808,19 @@ class VarCompatObj:
_DOCTEST_RUNENV) #doctest: +ELLIPSIS
<var_props.VarCompatObj object at 0x...>
# Test that a 1-D var with no vertical transform works
>>> VarCompatObj("var_stdname", "real", "kind_phys", "m", ['vertical_layer_dimension'], "var1_lname", False, \
"var_stdname", "real", "kind_phys", "m", ['vertical_layer_dimension'], "var2_lname", False, \
_DOCTEST_RUNENV) #doctest: +ELLIPSIS
<var_props.VarCompatObj object at 0x...>
# Test that a 1-D var with vertical flipping works and that it
# produces the correct reverse transformation
>>> VarCompatObj("var_stdname", "real", "kind_phys", "m", ['vertical_layer_dimension'], "var1_lname", False,\
"var_stdname", "real", "kind_phys", "m", ['vertical_layer_dimension'], "var2_lname", True, \
_DOCTEST_RUNENV).reverse_transform("var1_lname", "var2_lname", ('k',), ('nk-k+1',))
'var1_lname(nk-k+1) = var2_lname(k)'
# Test that a 2-D var with unit conversion m->km works
>>> VarCompatObj("var_stdname", "real", "kind_phys", "m", ['horizontal_dimension'], "var1_lname", False, \
"var_stdname", "real", "kind_phys", "km", ['horizontal_dimension'], "var2_lname", False, \
Expand Down Expand Up @@ -928,12 +941,9 @@ def __init__(self, var1_stdname, var1_type, var1_kind, var1_units,
# end if
if self.__compat:
# Check dimensions
##XXgoldyXX: For now, we always have to create a dimension
## transform because we do not know if the vertical
## dimension is flipped.
if var1_dims or var2_dims:
_, vdim_ind = find_vertical_dimension(var1_dims)
if (var1_dims != var2_dims) or (vdim_ind >= 0):
if (var1_dims != var2_dims):
self.__dim_transforms = self._get_dim_transforms(var1_dims,
var2_dims)
self.__compat = self.__dim_transforms is not None
Expand Down

0 comments on commit a9ae401

Please sign in to comment.