Example #1
0
def test_Image_from_landsat_c1_sr_scaling():
    """Test if Landsat SR images images are being scaled"""
    sr_img = ee.Image('LANDSAT/LC08/C01/T1_SR/LC08_044033_20170716')
    input_img = ee.Image.constant([100, 100, 100, 100, 100, 100, 3000.0, 322])\
        .rename(['B2', 'B3', 'B4', 'B5', 'B6', 'B7', 'B10', 'pixel_qa'])\
        .set({'SATELLITE': ee.String(sr_img.get('SATELLITE')),
              'system:id': ee.String(sr_img.get('system:id')),
              'system:index': ee.String(sr_img.get('system:index')),
              'system:time_start': ee.Number(sr_img.get('system:time_start'))})
    output = utils.constant_image_value(
        ssebop.Image.from_landsat_c1_sr(input_img).lst)
    # Won't be exact because of emissivity correction
    assert abs(output['lst'] - 300) <= 10
def test_Image_et_fraction_values(lst,
                                  ndvi,
                                  dt,
                                  tcorr,
                                  tmax,
                                  expected,
                                  tol=0.0001):
    output = utils.constant_image_value(
        model.et_fraction(lst=ee.Image.constant(lst),
                          tmax=ee.Image.constant(tmax),
                          tcorr=tcorr,
                          dt=dt))
    assert abs(output['et_fraction'] - expected) <= tol
def test_Image_et_fraction_elr_param(lst,
                                     dt,
                                     elev,
                                     tcorr,
                                     tmax,
                                     elr_flag,
                                     expected,
                                     tol=0.0001):
    """Test that elr_flag works and changes ETf values"""
    output_img = model.et_fraction(lst=ee.Image.constant(lst),
                                   tmax=ee.Image.constant(tmax),
                                   tcorr=tcorr,
                                   dt=dt,
                                   elr_flag=elr_flag,
                                   elev=elev)
    output = utils.constant_image_value(ee.Image(output_img))
    assert abs(output['et_fraction'] - expected) <= tol
Example #4
0
def test_Image_etf_elr_param(lst,
                             ndvi,
                             dt,
                             elev,
                             tcorr,
                             tmax,
                             elr_flag,
                             expected,
                             tol=0.0001):
    """Test that elr_flag works and changes ETf values"""
    output_img = ssebop.Image(default_image(lst=lst, ndvi=ndvi),
                              dt_source=dt,
                              elev_source=elev,
                              tcorr_source=tcorr,
                              tmax_source=tmax,
                              elr_flag=elr_flag).etf
    output = utils.constant_image_value(ee.Image(output_img))
    assert abs(output['etf'] - expected) <= tol
Example #5
0
def test_Image_tcorr_image_nodata(lst, ndvi, tmax, expected):
    output = utils.constant_image_value(
        ssebop.Image(default_image(lst=lst, ndvi=ndvi),
                     tmax_source=tmax).tcorr_image)
    assert output['tcorr'] is None and expected is None
Example #6
0
def test_Image_etr_values(tol=0.0001):
    output = utils.constant_image_value(
        ssebop.Image(default_image(), etr_source=10).etr)
    assert abs(output['etr'] - 10) <= tol
def test_lst_calculation(red, nir, bt, expected, tol=0.000001):
    output = utils.constant_image_value(
        landsat.lst(toa_image(red=red, nir=nir, bt=bt)))
    assert abs(output['lst'] - expected) <= tol
def test_emissivity_calculation(red, nir, expected, tol=0.000001):
    output = utils.constant_image_value(
        landsat.emissivity(toa_image(red=red, nir=nir)))
    assert abs(output['emissivity'] - expected) <= tol
def test_ndvi_calculation(red, nir, expected, tol=0.000001):
    toa = toa_image(red=red, nir=nir)
    output = utils.constant_image_value(landsat.ndvi(toa))
    assert abs(output['ndvi'] - expected) <= tol
Example #10
0
def test_Image_static_lapse_adjust(tmax, elev, threshold, expected, tol=0.0001):
    output = utils.constant_image_value(model.lapse_adjust(
        ee.Image.constant(tmax), ee.Image.constant(elev), threshold))
    assert abs(output['constant'] - expected) <= tol
Example #11
0
def test_c_to_k(c=20, k=293.15, tol=0.000001):
    output = utils.constant_image_value(utils.c_to_k(ee.Image.constant(c)))
    assert abs(output['constant'] - k) <= tol
Example #12
0
def test_constant_image_value(tol=0.000001):
    expected = 10.123456789
    input_img = ee.Image.constant(expected)
    output = utils.constant_image_value(input_img)
    assert abs(output['constant'] - expected) <= tol
Example #13
0
def test_Image_tcorr_image_values(lst=300, ndvi=0.8, tmax=306, expected=0.9804,
                                  tol=0.0001):
    output = utils.constant_image_value(model.Image(
        default_image(lst=lst, ndvi=ndvi), tmax_source=tmax).tcorr_image)
    assert abs(output['tcorr'] - expected) <= tol
Example #14
0
def test_Image_mask_values():
    output_img = model.Image(
        default_image(ndvi=0.5, lst=308), dt_source=10, elev_source=50,
        tcorr_source=0.98, tmax_source=310).mask
    output = utils.constant_image_value(output_img)
    assert output['mask'] == 1
Example #15
0
def test_Image_et_values(tol=0.0001):
    output_img = model.Image(
        default_image(ndvi=0.5, lst=308), dt_source=10, elev_source=50,
        tcorr_source=0.98, tmax_source=310, etr_source=10).et
    output = utils.constant_image_value(output_img)
    assert abs(output['et'] - 5.8) <= tol
Example #16
0
def test_Image_static_ndvi_calculation(red, nir, expected, tol=0.000001):
    toa = toa_image(red=red, nir=nir)
    output = utils.constant_image_value(model.Image._ndvi(toa))
    # logging.debug('\n  Target values: {}'.format(expected))
    # logging.debug('  Output values: {}'.format(output))
    assert abs(output['ndvi'] - expected) <= tol