Skip to content

Commit

Permalink
combine tests for similar variables
Browse files Browse the repository at this point in the history
  • Loading branch information
Yang committed Jul 24, 2023
1 parent ab2a862 commit a255928
Showing 1 changed file with 23 additions and 53 deletions.
76 changes: 23 additions & 53 deletions tests/test_datasets/test_era5.py
Original file line number Diff line number Diff line change
Expand Up @@ -126,64 +126,34 @@ def test_convert_to_zampy(dummy_dir):
assert list(ds.data_vars)[0] == "10m_v_component_of_wind"


def test_parse_nc_file_10m_v():
"""Test parsing netcdf file function with 10 meter velocity v component."""
ds = era5.parse_nc_file(
data_folder / "era5" / "era5_10m_v_component_of_wind_1996-1.nc"
)
expected_var_name = "10m_v_component_of_wind"

assert list(ds.data_vars)[0] == expected_var_name
assert ds["10m_v_component_of_wind"].attrs["units"] == "meter_per_second"


def test_parse_nc_file_10m_u():
"""Test parsing netcdf file function with 10 meter velocity u component."""
ds = era5.parse_nc_file(
data_folder / "era5" / "era5_10m_u_component_of_wind_1996-1.nc"
)
expected_var_name = "10m_u_component_of_wind"

assert list(ds.data_vars)[0] == expected_var_name
assert ds["10m_u_component_of_wind"].attrs["units"] == "meter_per_second"


def test_parse_nc_file_thermal_radiation():
"""Test parsing netcdf file function with surface radiation."""
ds_original = xr.load_dataset(
data_folder / "era5" / "era5_surface_thermal_radiation_downwards_1996-1.nc"
)
ds = era5.parse_nc_file(
data_folder / "era5" / "era5_surface_thermal_radiation_downwards_1996-1.nc"
)
expected_var_name = "surface_thermal_radiation"
def test_parse_nc_file_10m_wind():
"""Test parsing netcdf file function with 10 meter velocity u/v component."""
variables = ["10m_v_component_of_wind", "10m_u_component_of_wind"]
for variable in variables:
ds = era5.parse_nc_file(data_folder / "era5" / f"era5_{variable}_1996-1.nc")

assert list(ds.data_vars)[0] == expected_var_name
assert ds["surface_thermal_radiation"].attrs["units"] == "watt_per_square_meter"
assert np.allclose(
ds_original["strd"].values,
ds["surface_thermal_radiation"].values * 3600,
equal_nan=True,
)
assert list(ds.data_vars)[0] == variable
assert ds[variable].attrs["units"] == "meter_per_second"


def test_parse_nc_file_solar_radiation():
def test_parse_nc_file_radiation():
"""Test parsing netcdf file function with surface radiation."""
ds_original = xr.load_dataset(
data_folder / "era5" / "era5_surface_solar_radiation_downwards_1996-1.nc"
)
ds = era5.parse_nc_file(
data_folder / "era5" / "era5_surface_solar_radiation_downwards_1996-1.nc"
)
expected_var_name = "surface_solar_radiation"
variables = {"surface_thermal_radiation": "strd", "surface_solar_radiation": "ssrd"}
for variable in variables:
ds_original = xr.load_dataset(
data_folder / "era5" / f"era5_{variable}_downwards_1996-1.nc"
)
ds = era5.parse_nc_file(
data_folder / "era5" / f"era5_{variable}_downwards_1996-1.nc"
)

assert list(ds.data_vars)[0] == expected_var_name
assert ds["surface_solar_radiation"].attrs["units"] == "watt_per_square_meter"
assert np.allclose(
ds_original["ssrd"].values,
ds["surface_solar_radiation"].values * 3600,
equal_nan=True,
)
assert list(ds.data_vars)[0] == variable
assert ds[variable].attrs["units"] == "watt_per_square_meter"
assert np.allclose(
ds_original[variables[variable]].values,
ds[variable].values * 3600,
equal_nan=True,
)


def test_parse_nc_file_precipitation():
Expand Down

0 comments on commit a255928

Please sign in to comment.