def test_build_data_var_components_no_encode(): index = messages.FileStream(path=TEST_DATA).index(dataset.INDEX_KEYS).subindex(paramId=130) dims, data_var, coord_vars = dataset.build_variable_components(index=index) assert dims == {"number": 10, "dataDate": 2, "dataTime": 2, "level": 2, "values": 7320} assert data_var.data.shape == (10, 2, 2, 2, 7320) # equivalent to not np.isnan without importing numpy assert data_var.data[:, :, :, :, :].mean() > 0.0
def test_build_data_var_components_encode_cf_geography(): stream = messages.FileStream(path=TEST_DATA, message_class=cfmessage.CfMessage) index = stream.index(dataset.ALL_KEYS).subindex(paramId=130) dims, data_var, coord_vars = dataset.build_variable_components( index=index, encode_cf='geography', ) assert dims == { 'number': 10, 'dataDate': 2, 'dataTime': 2, 'level': 2, 'latitude': 61, 'longitude': 120, } assert data_var.data.shape == (10, 2, 2, 2, 61, 120) # equivalent to not np.isnan without importing numpy assert data_var.data[:, :, :, :, :, :].mean() > 0.
def test_build_data_var_components_encode_cf_geography() -> None: stream = messages.FileStream(path=TEST_DATA) index_keys = sorted(dataset.INDEX_KEYS + ["time", "step"]) index = messages.FieldsetIndex.from_fieldset( stream, index_keys, cfmessage.COMPUTED_KEYS).subindex(paramId=130) dims, data_var, coord_vars = dataset.build_variable_components( index=index, encode_cf="geography") assert dims == { "number": 10, "dataDate": 2, "dataTime": 2, "level": 2, "latitude": 61, "longitude": 120, } assert data_var.data.shape == (10, 2, 2, 2, 61, 120) # equivalent to not np.isnan without importing numpy assert data_var.data[:, :, :, :, :, :].mean() > 0.0