Пример #1
0
    def test_multiple_files_along_y(self, tmp_path_factory):

        # Create temp directory for files
        test_dir = tmp_path_factory.mktemp("test_data")

        # Generate some test data
        ds_list, file_list = create_bout_ds_list("BOUT.dmp",
                                                 nxpe=1,
                                                 nype=3,
                                                 syn_data_type="linear")
        for temp_ds, file_name in zip(ds_list, file_list):
            temp_ds.to_netcdf(test_dir.joinpath(file_name))

        var = "n"
        expected = old_collect(var,
                               path=test_dir,
                               prefix="BOUT.dmp",
                               xguards=True)

        # Test against new standard - .open_boutdataset
        with pytest.warns(UserWarning):
            ds = open_boutdataset(test_dir.joinpath("BOUT.dmp.*.nc"))
        actual = ds[var].values

        assert expected.shape == actual.shape
        npt.assert_equal(actual, expected)

        # Test against backwards compatible collect function
        actual = new_collect(var,
                             path=test_dir,
                             prefix="BOUT.dmp",
                             xguards=True)

        assert expected.shape == actual.shape
        npt.assert_equal(actual, expected)
Пример #2
0
    def test_single_file(self, tmp_path_factory):

        # Create temp directory for files
        test_dir = tmp_path_factory.mktemp("test_data")

        # Generate some test data
        generated_ds = create_bout_ds(syn_data_type="linear")
        generated_ds.to_netcdf(test_dir.joinpath("BOUT.dmp.0.nc"))

        var = "n"
        expected = old_collect(var, path=test_dir, xguards=True, yguards=False)

        # Test against new standard - open_boutdataset
        with pytest.warns(UserWarning):
            ds = open_boutdataset(test_dir.joinpath("BOUT.dmp.0.nc"))
        actual = ds[var].values

        assert expected.shape == actual.shape
        npt.assert_equal(actual, expected)

        # Test against backwards compatible collect function
        actual = new_collect(var, path=test_dir, xguards=True, yguards=False)

        assert expected.shape == actual.shape
        npt.assert_equal(actual, expected)
Пример #3
0
    def test_new_collect_indexing_slice(self, tmp_path_factory):
        # Create temp directory for files
        test_dir = tmp_path_factory.mktemp("test_data")

        # Generate some test data
        ds_list, file_list = create_bout_ds_list("BOUT.dmp",
                                                 nxpe=3,
                                                 nype=3,
                                                 syn_data_type="linear")

        for temp_ds, file_name in zip(ds_list, file_list):
            temp_ds.to_netcdf(test_dir.joinpath(file_name))

        var = "n"
        indexers = ["tind", "xind", "yind", "zind"]
        ind_list = [slice(0, 4, 2), slice(0, 4)]

        for kwarg in indexers:
            for ind_arg in ind_list:
                # Extracting a the first index of each dimension for comparison
                expected = old_collect(var, path=test_dir, **{kwarg: ind_arg})

                # Test against backwards compatible collect function
                actual = new_collect(var, path=test_dir, **{kwarg: ind_arg})

                assert expected.shape == actual.shape
                npt.assert_equal(actual, expected)
Пример #4
0
    def test_metadata(self, tmpdir_factory):
        # Create temp directory for files
        test_dir = tmpdir_factory.mktemp("test_data")

        # Generate some test data
        generated_ds = create_bout_ds(syn_data_type="linear")
        generated_ds.to_netcdf(str(test_dir.join("BOUT.dmp.0.nc")))

        ds = open_boutdataset(test_dir.join('BOUT.dmp.*.nc'))

        for v in METADATA_VARS:
            expected = old_collect(v, path=test_dir)
            # Check metadata against new standard - open_boutdataset
            actual = ds.bout.metadata[v]
            npt.assert_equal(actual, expected)

            # Check against backwards compatible collect function
            actual = new_collect(v, path=test_dir)
            npt.assert_equal(actual, expected)