Skip to content

Commit 8df5544

Browse files
authored
Merge pull request #165 from emileten/correct-DTR-ceiling
Corrected DTR ceiling
2 parents 90bdbe1 + 23ae878 commit 8df5544

File tree

3 files changed

+17
-2
lines changed

3 files changed

+17
-2
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
55
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
66

77
## [Unreleased]
8+
### Fixed
9+
- Fix boolean condition error in DTR ceiling application (PR #165, @emileten)
810

911
## [0.15.0] - 2021-12-27
1012
### Added

dodola/core.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -589,7 +589,10 @@ def non_polar_dtr_ceiling(ds, ceiling):
589589
590590
"""
591591

592-
ds_corrected = ds.where((ds <= ceiling) & (ds.lat > -60) & (ds.lat < 60), ceiling)
592+
ds_corrected = ds.where(
593+
(ds <= ceiling) | (ds["lat"] <= -60 or ds["lat"] >= 60), ceiling
594+
)
595+
593596
return ds_corrected
594597

595598

dodola/tests/test_services.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -807,13 +807,21 @@ def test_apply_non_polar_dtr_ceiling():
807807
apply_non_polar_dtr_ceiling(in_url, out=out_url, ceiling=ceiling)
808808
ds_dtr_corrected = repository.read(out_url)
809809

810+
# check values that should be capped
810811
assert all(
811812
x == ceiling
812813
for x in ds_dtr_corrected["fakevariable"].where(
813814
ds_dtr["fakevariable"] > ceiling, drop=True
814815
)
815816
)
816817

818+
# check values that should not be capped
819+
left = ds_dtr_corrected["fakevariable"].where(
820+
ds_dtr["fakevariable"] <= ceiling, drop=True
821+
)
822+
right = ds_dtr["fakevariable"].where(ds_dtr["fakevariable"] <= ceiling, drop=True)
823+
xr.testing.assert_equal(left, right)
824+
817825
# case 2 : polar regions, shouldn't be applied
818826
# Make some fake dtr data
819827
n = 10
@@ -827,7 +835,9 @@ def test_apply_non_polar_dtr_ceiling():
827835
apply_non_polar_dtr_ceiling(in_url, out=out_url, ceiling=ceiling)
828836
ds_dtr_corrected = repository.read(out_url)
829837

830-
assert ds_dtr_corrected == ds_dtr
838+
np.testing.assert_equal(
839+
ds_dtr["fakevariable"].values, ds_dtr_corrected["fakevariable"].values
840+
)
831841

832842

833843
def test_adjust_maximum_precipitation():

0 commit comments

Comments
 (0)