예제 #1
0
def test_CCI_SM_v33_025Img_img_reading_2D():
    """
    2D test for the read function of the CCI_SM_v042_025Img class
    """
    parameter = ['sm']
    img_c = CCI_SM_025Img(os.path.join(
        os.path.dirname(__file__), "esa_cci_sm-test-data",
        "esa_cci_sm_dailyImages", "v03.3", "combined", "2016",
        "ESACCI-SOILMOISTURE-L3S-SSMV-COMBINED-20160101000000-fv03.3.nc"),
                          parameter=parameter)

    image_c = img_c.read()

    assert sorted(image_c.data.keys()) == sorted(parameter)
    assert image_c.data['sm'].shape == (720, 1440)
    assert image_c.lon[0, 0] == -179.875
    assert image_c.lon[0, 1439] == 179.875
    assert image_c.lat[0, 0] == 89.875
    assert image_c.lat[719, 0] == -89.875
    nptest.assert_almost_equal(image_c.data['sm'][203, 693], 0.23484, 5)
    assert image_c.lon.shape == image_c.lat.shape == (720, 1440)

    parameter = ['sm']
    img_a = CCI_SM_025Img(os.path.join(
        os.path.dirname(__file__), "esa_cci_sm-test-data",
        "esa_cci_sm_dailyImages", "v03.3", "active", "2016",
        "ESACCI-SOILMOISTURE-L3S-SSMS-ACTIVE-20160101000000-fv03.3.nc"),
                          parameter=parameter)

    image_a = img_a.read()

    assert sorted(image_a.data.keys()) == sorted(parameter)
    assert image_a.data['sm'].shape == (720, 1440)
    assert image_a.lon[0, 0] == -179.875
    assert image_a.lon[0, 1439] == 179.875
    assert image_a.lat[0, 0] == 89.875
    assert image_a.lat[719, 0] == -89.875
    nptest.assert_almost_equal(image_a.data['sm'][203, 693], 67.70157, 5)
    assert image_a.lon.shape == image_a.lat.shape == (720, 1440)

    parameter = ['sm']
    img_p = CCI_SM_025Img(os.path.join(
        os.path.dirname(__file__), "esa_cci_sm-test-data",
        "esa_cci_sm_dailyImages", "v03.3", "passive", "2016",
        "ESACCI-SOILMOISTURE-L3S-SSMV-PASSIVE-20160101000000-fv03.3.nc"),
                          parameter=parameter)

    image_p = img_p.read()

    assert sorted(image_p.data.keys()) == sorted(parameter)
    assert image_p.data['sm'].shape == (720, 1440)
    assert image_p.lon[0, 0] == -179.875
    assert image_p.lon[0, 1439] == 179.875
    assert image_p.lat[0, 0] == 89.875
    assert image_p.lat[719, 0] == -89.875
    nptest.assert_almost_equal(image_p.data['sm'][203, 693], 0.322685, 5)
    assert image_p.lon.shape == image_p.lat.shape == (720, 1440)
예제 #2
0
def test_CCI_SM_v052_025Img_img_reading_2D():
    """
    2D test for the read function of the CCI_SM_image class
    """
    parameter = ['sm']
    img_c = CCI_SM_025Img(os.path.join(
        os.path.dirname(__file__), "esa_cci_sm-test-data",
        "esa_cci_sm_dailyImages", "v05.2", "combined", "2016",
        "ESACCI-SOILMOISTURE-L3S-SSMV-COMBINED-20160607000000-fv05.2.nc"),
                          parameter=parameter)

    image_c = img_c.read()

    assert sorted(image_c.data.keys()) == sorted(parameter)
    assert image_c.data['sm'].shape == (720, 1440)
    assert image_c.lon[0, 0] == -179.875
    assert image_c.lon[0, 1439] == 179.875
    assert image_c.lat[0, 0] == 89.875
    assert image_c.lat[719, 0] == -89.875
    assert abs(image_c.data['sm'][273, 693] - 0.06405) <= 1e-5
    assert image_c.lon.shape == image_c.lat.shape == (720, 1440)

    parameter = ['sm']
    img_a = CCI_SM_025Img(os.path.join(
        os.path.dirname(__file__), "esa_cci_sm-test-data",
        "esa_cci_sm_dailyImages", "v05.2", "active", "2016",
        "ESACCI-SOILMOISTURE-L3S-SSMS-ACTIVE-20160606000000-fv05.2.nc"),
                          parameter=parameter)

    image_a = img_a.read()

    assert sorted(image_a.data.keys()) == sorted(parameter)
    assert image_a.data['sm'].shape == (720, 1440)
    assert image_a.lon[0, 0] == -179.875
    assert image_a.lon[0, 1439] == 179.875
    assert image_a.lat[0, 0] == 89.875
    assert image_a.lat[719, 0] == -89.875
    assert abs(image_a.data['sm'][273, 693] - 0.65197) <= 1e-5
    assert image_a.lon.shape == image_a.lat.shape == (720, 1440)

    parameter = ['sm']
    img_p = CCI_SM_025Img(os.path.join(
        os.path.dirname(__file__), "esa_cci_sm-test-data",
        "esa_cci_sm_dailyImages", "v05.2", "passive", "2016",
        "ESACCI-SOILMOISTURE-L3S-SSMV-PASSIVE-20160606000000-fv05.2.nc"),
                          parameter=parameter)

    image_p = img_p.read()

    assert sorted(image_p.data.keys()) == sorted(parameter)
    assert image_p.data['sm'].shape == (720, 1440)
    assert image_p.lon[0, 0] == -179.875
    assert image_p.lon[0, 1439] == 179.875
    assert image_p.lat[0, 0] == 89.875
    assert image_p.lat[719, 0] == -89.875
    assert abs(image_p.data['sm'][273, 693] - 0.0600) <= 1e-5
    assert image_p.lon.shape == image_p.lat.shape == (720, 1440)
예제 #3
0
def test_CCI_SM_v022_025Img_img_reading_1D():
    """
    1D test for the read function of the CCI_SM_image class
    """

    parameter = ['sm']
    img_c = CCI_SM_025Img(
        os.path.join(os.path.dirname(__file__), "esa_cci_sm-test-data",
        "esa_cci_sm_dailyImages", "v02.2", "combined", "2014",
        "ESACCI-SOILMOISTURE-L3S-SSMV-COMBINED-20140101000000-fv02.2.nc"),
        parameter=parameter, array_1D=True)

    image_c = img_c.read()

    assert image_c.lon[901440] == -179.875
    assert image_c.lat[901440] == 66.625
    assert sorted(image_c.data.keys()) == sorted(parameter)
    nptest.assert_almost_equal(image_c.data['sm'][1440 * (720 - 274) + 693],
                               0.142200, 5)



    parameter = ['sm']
    img_a = CCI_SM_025Img(
        os.path.join(os.path.dirname(__file__), "esa_cci_sm-test-data",
        "esa_cci_sm_dailyImages", "v02.2", "active", "2014",
        "ESACCI-SOILMOISTURE-L3S-SSMS-ACTIVE-20140101000000-fv02.2.nc"),
        parameter=parameter, array_1D=True)

    image_a = img_a.read()

    assert image_a.lon[901440] == -179.875
    assert image_a.lat[901440] == 66.625
    assert sorted(image_a.data.keys()) == sorted(parameter)
    nptest.assert_almost_equal(image_a.data['sm'][1440 * (720 - 274) + 693],
                               13.030, 5)




    parameter = ['sm']
    img_p = CCI_SM_025Img(
        os.path.join(os.path.dirname(__file__), "esa_cci_sm-test-data",
        "esa_cci_sm_dailyImages", "v02.2", "passive", "2014",
        "ESACCI-SOILMOISTURE-L3S-SSMV-PASSIVE-20140101000000-fv02.2.nc"),
        parameter=parameter, array_1D=True)

    image_p = img_p.read()

    assert image_p.lon[901440] == -179.875
    assert image_p.lat[901440] == 66.625
    assert sorted(image_p.data.keys()) == sorted(parameter)
    nptest.assert_almost_equal(image_p.data['sm'][1440 * (720 - 274) + 693],
                               0.0600, 5)
예제 #4
0
def test_CCI_SM_v042_025Img_img_reading_1D():
    """
    1D test for the read function of the CCI_SM_v042_025Img class
    _a for active
    _p for passive
    _c for combined
    """
    parameter = ['sm']
    img_a = CCI_SM_025Img(
        os.path.join(os.path.dirname(__file__), "esa_cci_sm-test-data",
        "esa_cci_sm_dailyImages", "v04.2", "active", "2016",
        "ESACCI-SOILMOISTURE-L3S-SSMS-ACTIVE-20160606000000-fv04.2.nc"),
        parameter=parameter,
        array_1D=True)

    image_a = img_a.read()

    assert image_a.lon[901440] == -179.875
    assert image_a.lat[901440] == 66.625
    assert sorted(image_a.data.keys()) == sorted(parameter)
    assert abs(image_a.data['sm'][901440] - 100) <= 1e-3

    img_p = CCI_SM_025Img(
        os.path.join(os.path.dirname(__file__), "esa_cci_sm-test-data",
        "esa_cci_sm_dailyImages", "v04.2", "passive", "2016",
        "ESACCI-SOILMOISTURE-L3S-SSMV-PASSIVE-20160606000000-fv04.2.nc"),
        parameter=parameter,
        array_1D=True)

    image_p = img_p.read()

    assert image_p.lon[911520] == -179.875
    assert image_p.lat[911520] == 68.375
    assert sorted(image_p.data.keys()) == sorted(parameter)
    assert abs(image_p.data['sm'][911520] - 0.31) <= 1e-3

    img_c = CCI_SM_025Img(
        os.path.join(os.path.dirname(__file__), "esa_cci_sm-test-data",
        "esa_cci_sm_dailyImages", "v04.2", "combined", "2016",
        "ESACCI-SOILMOISTURE-L3S-SSMV-COMBINED-20160607000000-fv04.2.nc"),
        parameter=parameter,
        array_1D=True)

    image_c = img_c.read()

    assert image_c.lon[912960] == -179.875
    assert image_c.lat[912960] == 68.625
    assert sorted(image_c.data.keys()) == sorted(parameter)
    assert abs(image_c.data['sm'][912960] - 0.1755) <= 1e-3
예제 #5
0
def test_CCI_SM_v052_025Img_img_reading_1D_combined():
    """
    1D test for the read function of the CCI_SM_image class
    """

    ##### global grid
    parameter = ['sm']
    filename = os.path.join(
        os.path.dirname(__file__), "esa_cci_sm-test-data",
        "esa_cci_sm_dailyImages", "v05.2", "combined", "2016",
        "ESACCI-SOILMOISTURE-L3S-SSMV-COMBINED-20160607000000-fv05.2.nc")

    img_c = CCI_SM_025Img(filename=filename,
                          parameter=parameter,
                          subgrid=None,
                          array_1D=True)

    image_c = img_c.read()

    assert img_c.grid.find_nearest_gpi(75.625, 14.625) == (602942, 0)

    ref_lat = image_c.lat[434462]
    ref_lon = image_c.lon[434462]

    assert ref_lon == 75.625
    assert ref_lat == 14.625
    assert sorted(image_c.data.keys()) == sorted(parameter)

    ref_sm = image_c.data['sm'][1440 * 301 + 1022]
    nptest.assert_almost_equal(ref_sm, 0.37016, 5)

    ###### land grid
    land_grid = CCILandGrid()
    img_c = CCI_SM_025Img(filename=filename,
                          parameter=parameter,
                          subgrid=land_grid,
                          array_1D=True)

    assert img_c.grid.find_nearest_gpi(75.625, 14.625) == (602942, 0)

    image_c = img_c.read()

    sm = image_c.data['sm'][177048]
    lat = image_c.lat[177048]
    lon = image_c.lon[177048]

    assert ref_lat == lat
    assert ref_lon == lon
    nptest.assert_almost_equal(ref_sm, sm, 5)
예제 #6
0
def test_CCI_SM_v042_025Img_img_reading_1D_active():
    """
    1D test for the read function of the CCI_SM_v042_025Img class
    _a for active
    _p for passive
    _c for combined
    """
    parameter = ['sm']
    filename = os.path.join(
        os.path.dirname(__file__), "esa_cci_sm-test-data",
        "esa_cci_sm_dailyImages", "v04.2", "active", "2016",
        "ESACCI-SOILMOISTURE-L3S-SSMS-ACTIVE-20160606000000-fv04.2.nc")

    img_a = CCI_SM_025Img(filename=filename,
                          parameter=parameter,
                          subgrid=None,
                          array_1D=True)

    image_a = img_a.read()

    ref_lat = image_a.lat[1440 * 93]  # = 133920
    ref_lon = image_a.lon[1440 * 93]

    assert ref_lon == -179.875
    assert ref_lat == 66.625
    assert sorted(image_a.data.keys()) == sorted(parameter)
    ref_sm = image_a.data['sm'][133920]
    assert abs(ref_sm - 100.) <= 1e-3

    ###land_grid
    land_grid = CCILandGrid()
    img_a = CCI_SM_025Img(filename=filename,
                          parameter=parameter,
                          subgrid=land_grid,
                          array_1D=True)

    assert img_a.grid.find_nearest_gpi(-179.875, 66.625) == (901440, 0)

    image_a = img_a.read()

    sm = image_a.data['sm'][32830]
    lat = image_a.lat[32830]
    lon = image_a.lon[32830]

    assert ref_lat == lat
    assert ref_lon == lon
    nptest.assert_almost_equal(ref_sm, sm, 5)
예제 #7
0
def test_CCI_SM_v042_025Img_img_reading_1D_combined():
    """
    1D test for the read function of the CCI_SM_v042_025Img class
    _a for active
    _p for passive
    _c for combined
    """
    parameter = ['sm']
    filename = os.path.join(
        os.path.dirname(__file__), "esa_cci_sm-test-data",
        "esa_cci_sm_dailyImages", "v04.2", "combined", "2016",
        "ESACCI-SOILMOISTURE-L3S-SSMV-COMBINED-20160607000000-fv04.2.nc")

    img_c = CCI_SM_025Img(filename=filename,
                          parameter=parameter,
                          subgrid=None,
                          array_1D=True)

    image_c = img_c.read()

    ref_lat = image_c.lat[1440 * 85]  # = 122400
    ref_lon = image_c.lon[1440 * 85]

    assert ref_lon == -179.875
    assert ref_lat == 68.625
    assert sorted(image_c.data.keys()) == sorted(parameter)
    ref_sm = image_c.data['sm'][122400]
    assert abs(ref_sm - 0.1755) <= 1e-3

    ###land_grid
    land_grid = CCILandGrid()
    img_c = CCI_SM_025Img(filename=filename,
                          parameter=parameter,
                          subgrid=land_grid,
                          array_1D=True)

    assert img_c.grid.find_nearest_gpi(-179.875, 68.625) == (912960, 0)

    image_c = img_c.read()

    sm = image_c.data['sm'][24434]
    lat = image_c.lat[24434]
    lon = image_c.lon[24434]

    assert ref_lat == lat
    assert ref_lon == lon
    nptest.assert_almost_equal(ref_sm, sm, 5)
예제 #8
0
def test_CCI_SM_v033_025Img_img_reading_1D_combined():
    """
    1D test for the read function of the CCI_SM_v042_025Img class
    """

    filename = os.path.join(
        os.path.dirname(__file__), "esa_cci_sm-test-data",
        "esa_cci_sm_dailyImages", "v03.3", "combined", "2016",
        "ESACCI-SOILMOISTURE-L3S-SSMV-COMBINED-20160101000000-fv03.3.nc")

    parameter = ['sm']
    img_c = CCI_SM_025Img(filename=filename,
                          parameter=parameter,
                          subgrid=None,
                          array_1D=True)

    image_c = img_c.read()

    ref_lat = image_c.lat[1440 * 273 + 693]
    ref_lon = image_c.lon[1440 * 273 + 693]

    assert ref_lon == -6.625
    assert ref_lat == 21.625

    assert sorted(image_c.data.keys()) == sorted(parameter)

    ref_sm = image_c.data['sm'][1440 * 273 + 693]
    nptest.assert_almost_equal(ref_sm, 0.142998, 5)

    ###### land grid
    land_grid = CCILandGrid()
    img_c = CCI_SM_025Img(filename=filename,
                          parameter=parameter,
                          subgrid=land_grid,
                          array_1D=True)

    assert img_c.grid.find_nearest_gpi(-6.625, 21.625) == (642933, 0)

    image_c = img_c.read()

    sm = image_c.data['sm'][164759]
    lat = image_c.lat[164759]
    lon = image_c.lon[164759]

    assert ref_lat == lat
    assert ref_lon == lon
    nptest.assert_almost_equal(ref_sm, sm, 5)
예제 #9
0
def test_CCI_SM_v033_025Img_img_reading_1D_active():

    filename = os.path.join(
        os.path.dirname(__file__), "esa_cci_sm-test-data",
        "esa_cci_sm_dailyImages", "v03.3", "active", "2016",
        "ESACCI-SOILMOISTURE-L3S-SSMS-ACTIVE-20160101000000-fv03.3.nc")

    parameter = ['sm']
    img_a = CCI_SM_025Img(filename=filename,
                          parameter=parameter,
                          subgrid=None,
                          array_1D=True)

    image_a = img_a.read()

    ref_lat = image_a.lat[1440 * 273 + 693]
    ref_lon = image_a.lon[1440 * 273 + 693]

    assert ref_lon == -6.625
    assert ref_lat == 21.625

    assert sorted(image_a.data.keys()) == sorted(parameter)

    ref_sm = image_a.data['sm'][1440 * 273 + 693]
    nptest.assert_almost_equal(ref_sm, 18.92771, 5)

    image_a = img_a.read()

    ###### land grid
    land_grid = CCILandGrid()
    img_a = CCI_SM_025Img(filename=filename,
                          parameter=parameter,
                          subgrid=land_grid,
                          array_1D=True)

    assert img_a.grid.find_nearest_gpi(-6.625, 21.625) == (642933, 0)

    image_a = img_a.read()

    sm = image_a.data['sm'][164759]
    lat = image_a.lat[164759]
    lon = image_a.lon[164759]

    assert ref_lat == lat
    assert ref_lon == lon
    nptest.assert_almost_equal(ref_sm, sm, 5)
예제 #10
0
def test_CCI_SM_v052_025Img_img_reading_1D_passive():
    parameter = ['sm']
    filename = os.path.join(
        os.path.dirname(__file__), "esa_cci_sm-test-data",
        "esa_cci_sm_dailyImages", "v05.2", "passive", "2016",
        "ESACCI-SOILMOISTURE-L3S-SSMV-PASSIVE-20160606000000-fv05.2.nc")
    img_p = CCI_SM_025Img(filename=filename,
                          parameter=parameter,
                          subgrid=None,
                          array_1D=True)

    image_p = img_p.read()

    assert img_p.grid.find_nearest_gpi(-6.625, 21.625) == (642933, 0)

    ref_lat = image_p.lat[393813]
    ref_lon = image_p.lon[393813]

    assert ref_lon == -6.625
    assert ref_lat == 21.625

    assert sorted(image_p.data.keys()) == sorted(parameter)

    ref_sm = image_p.data['sm'][1440 * 273 + 693]
    nptest.assert_almost_equal(ref_sm, 0.0600, 5)

    ###### land grid
    land_grid = CCILandGrid()
    img_p = CCI_SM_025Img(filename=filename,
                          parameter=parameter,
                          subgrid=land_grid,
                          array_1D=True)

    assert img_p.grid.find_nearest_gpi(-6.625, 21.625) == (642933, 0)

    image_p = img_p.read()

    sm = image_p.data['sm'][164759]
    lat = image_p.lat[164759]
    lon = image_p.lon[164759]

    assert ref_lat == lat
    assert ref_lon == lon
    nptest.assert_almost_equal(ref_sm, sm, 5)
예제 #11
0
def test_CCI_SM_v042_025Img_img_reading_1D_passive():

    parameter = ['sm']
    filename = os.path.join(
        os.path.dirname(__file__), "esa_cci_sm-test-data",
        "esa_cci_sm_dailyImages", "v04.2", "passive", "2016",
        "ESACCI-SOILMOISTURE-L3S-SSMV-PASSIVE-20160606000000-fv04.2.nc")

    img_p = CCI_SM_025Img(filename=filename,
                          parameter=parameter,
                          subgrid=None,
                          array_1D=True)

    image_p = img_p.read()

    ref_lat = image_p.lat[1440 * 86]  # = 123840
    ref_lon = image_p.lon[1440 * 86]

    assert ref_lon == -179.875
    assert ref_lat == 68.375
    assert sorted(image_p.data.keys()) == sorted(parameter)
    ref_sm = image_p.data['sm'][123840]
    assert abs(ref_sm - 0.31) <= 1e-3

    ###land_grid
    land_grid = CCILandGrid()
    img_a = CCI_SM_025Img(filename=filename,
                          parameter=parameter,
                          subgrid=land_grid,
                          array_1D=True)

    assert img_a.grid.find_nearest_gpi(-179.875, 68.375) == (911520, 0)

    image_a = img_a.read()

    sm = image_a.data['sm'][25410]
    lat = image_a.lat[25410]
    lon = image_a.lon[25410]

    assert ref_lat == lat
    assert ref_lon == lon
    nptest.assert_almost_equal(ref_sm, sm, 5)