Пример #1
0
def test_array_unit_conversion_different_units_doesnt_modify_original():
    a = DataArray(np.array([1., 2., 3.]),
                  attrs={'units': 'km', 'foo': 'bar'})
    a.to_units('m')
    assert (a.values == np.array([1., 2., 3.])).all()
    assert len(a.attrs) == 2
    assert a.attrs['foo'] == 'bar'
    assert a.attrs['units'] == 'km'
Пример #2
0
def test_array_unit_conversion_different_units():
    a = DataArray(np.array([1., 2., 3.]), attrs={'units': 'km', 'foo': 'bar'})
    result = a.to_units('m')
    assert (result.values == np.array([1000., 2000., 3000.])).all()
    assert len(result.attrs) == 2
    assert result.attrs['units'] == 'm'
    assert result.attrs['foo'] == 'bar'
Пример #3
0
def test_for_g_per_kg():

    mass_mixing_ratio_co2 = 605e-3
    molecular_weight_co2 = 48

    expected_vol_mixing_ratio = [[[365.0670833333333e-6]]]

    co2 = DataArray(mass_mixing_ratio_co2 * np.ones((1, 1, 1)),
                    dims=['longitude', 'latitude', 'mid_levels'],
                    attrs=dict(units='g/kg'))

    vol_mixing_ratio = mass_to_volume_mixing_ratio(
        co2.to_units('g/g').values, molecular_weight=molecular_weight_co2)

    print(vol_mixing_ratio, expected_vol_mixing_ratio)
    assert np.all(np.isclose(vol_mixing_ratio, expected_vol_mixing_ratio))