-
Notifications
You must be signed in to change notification settings - Fork 16
[Fix]: Removing race condition within DiagManagerMonitor testing
#459
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 20 commits
2be42de
544fc4a
0551484
319320b
9e05a01
c67041a
7a15106
0521b8a
fc4b13d
c410f22
6cd2d28
0131b97
7715c0c
98c4804
4238aae
c2a34c9
2b83d84
531828c
26eeaad
31adac8
5186f80
0e2e124
b6933b0
6681da9
b403498
f546b28
ea986fc
bd5a5b9
c3a1baa
0cf5946
d6cf6c0
ab22f58
528f21f
877fd63
e6c365f
af1d2a5
225ccbc
d18e647
424760d
62b21c0
ac125d1
9d85b34
cb49a53
dae4094
ae26ded
08c5573
8c5107b
8a77760
098c3c6
b6631f8
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,3 @@ | ||
| # diag_manager_monitor | ||
|
|
||
| ::: monitor.diag_manager_monitor |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -7,6 +7,7 @@ | |
| from pathlib import Path | ||
|
|
||
| import cftime | ||
| import dask | ||
| import numpy as np | ||
| import pytest | ||
| import xarray as xr | ||
|
|
@@ -22,12 +23,10 @@ | |
| ) | ||
| from ndsl.config import Backend | ||
| from ndsl.initialization import SubtileGridSizer | ||
| from ndsl.optional_imports import pyfms | ||
|
|
||
|
|
||
| pyfms = pytest.importorskip("pyfms") | ||
|
|
||
|
|
||
| def _create_input(reduction: str = "none"): | ||
| def _create_input() -> None: | ||
| diag_config = { | ||
| "title": "ndsl_diag_manager_test", | ||
| "base_date": "2 1 1 1 1 1", | ||
|
|
@@ -63,10 +62,10 @@ def _create_input(reduction: str = "none"): | |
| f.write(text_content) | ||
|
|
||
|
|
||
| def test_dm_monitor_single_tile(): | ||
| @pytest.mark.pyfms | ||
| def test_dm_monitor_single_tile() -> None: | ||
| # mpi info | ||
| npes = MPIComm()._comm.Get_size() | ||
| pe = MPIComm()._comm.Get_rank() | ||
| # tile parameters for quantities/domains | ||
| nx = 8 | ||
| ny = 8 | ||
|
|
@@ -220,7 +219,9 @@ def test_dm_monitor_single_tile(): | |
|
|
||
| # check output! | ||
| assert Path("diag_manager_single_tile.nc").exists() | ||
| ds = xr.open_mfdataset("diag_manager_single_tile.nc", decode_times=True) | ||
| with dask.config.set(scheduler="synchronous"): | ||
| ds = xr.open_dataset("diag_manager_single_tile.nc", decode_times=True) | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Are you suggesting that any xarray dataset read in a non-parallel environment would need to be guarded by a
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. When I looked up the errors that were being produced I was pointed in the direction of using this method, albeit I am not sure why this is the case given that it is not in a parallel environment. I think the issue comes down to the call to |
||
| print("Dataset opened through xarray") | ||
|
romanc marked this conversation as resolved.
Outdated
|
||
| assert "var_2d" in ds | ||
| np.testing.assert_array_equal(ds["var_2d"].shape, (ntimesteps, nx, ny)) | ||
| assert ds["var_2d"].dims == ("time", "y", "x") | ||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.