示例#1
0
def test_fix_aux_factories_real_cube(real_hybrid_pressure_cube):
    """Test fixing of hybrid pressure coordinate on real cube."""
    check_if_fix_aux_factories_is_necessary()
    assert not real_hybrid_pressure_cube.coords('air_pressure')
    _io._fix_aux_factories(real_hybrid_pressure_cube)
    air_pressure_coord = real_hybrid_pressure_cube.coord('air_pressure')
    expected_coord = AuxCoord([[[[1.0]]]], bounds=[[[[[-50000., 150002.]]]]],
                              standard_name='air_pressure', units='Pa')
    assert air_pressure_coord == expected_coord
示例#2
0
def test_fix_aux_factories_hybrid_pressure(mock_hybrid_pressure_cube):
    """Test fixing of hybrid pressure coordinate."""
    check_if_fix_aux_factories_is_necessary()

    # Test with aux_factory object
    _io._fix_aux_factories(mock_hybrid_pressure_cube)
    mock_hybrid_pressure_cube.coords.assert_called_once_with()
    mock_hybrid_pressure_cube.coord.assert_has_calls([call(var_name='ap'),
                                                      call(var_name='b'),
                                                      call(var_name='ps')])
    mock_hybrid_pressure_cube.add_aux_factory.assert_not_called()

    # Test without aux_factory object
    mock_hybrid_pressure_cube.reset_mock()
    mock_hybrid_pressure_cube.aux_factories = ['dummy']
    _io._fix_aux_factories(mock_hybrid_pressure_cube)
    mock_hybrid_pressure_cube.coords.assert_called_once_with()
    mock_hybrid_pressure_cube.coord.assert_has_calls([call(var_name='ap'),
                                                      call(var_name='b'),
                                                      call(var_name='ps')])
    mock_hybrid_pressure_cube.add_aux_factory.assert_called_once()
示例#3
0
def test_fix_aux_factories_empty_cube(mock_empty_cube):
    """Test fixing with empty cube."""
    check_if_fix_aux_factories_is_necessary()
    _io._fix_aux_factories(mock_empty_cube)
    assert mock_empty_cube.mock_calls == [call.coords()]