Beispiel #1
0
def conus_mixedwood(ds):
    required_metrics = ['h75_Nelson', 'h10_Nelson', 'lead_Nelson', 'trail_Nelson']
    ds = get_all_height_metrics(ds, required_metrics)
    return (
        6.147 * ds['h75_Nelson']
        - 6.292 * ds['h10_Nelson']
        + 0.667 * ds['lead_Nelson']
        + 3.128 * ds['trail_Nelson']
    )
Beispiel #2
0
def mexico_north_conifer(ds):
    required_metrics = ['h25_Nelson', 'h90_Nelson', 'acq3_Nelson']
    ds = get_all_height_metrics(ds, required_metrics)
    conifer_ind = 1
    return (
        -3.364 * ds['h25_Nelson']
        + 3.210 * ds['h90_Nelson']
        + 21.612 * ds['acq3_Nelson']
        + 18.778 * conifer_ind
    )
Beispiel #3
0
def ak_wetland_steep(ds):
    required_metrics = ['VH', 'h50_Neigh', 'f_slope', 'acq3_Neigh']
    ds = get_all_height_metrics(ds, required_metrics)
    return (
        4.48 * ds['VH']
        - 6.27 * ds['h50_Neigh']
        - 2.10 * ds['f_slope']
        + 6.31 * ds['acq3_Neigh']
        + 11.66
    )
Beispiel #4
0
def tropics(ds):
    required_metrics = ['HOME_Baccini', 'H10_Baccini', 'H25_Baccini', 'H60_Baccini', 'CANOPY_ENE']
    ds = get_all_height_metrics(ds, required_metrics)
    return (
        -31.631
        + 15.952 * ds['HOME_Baccini']
        + 7.832 * ds['H10_Baccini']
        - 18.805 * ds['H60_Baccini']
        - 38.428 * ds['CANOPY_ENE']
        + 8.285 * ds['H25_Baccini']
    )
Beispiel #5
0
def post_process_biomass(ds):
    ds = get_all_height_metrics(ds, metrics=['VH', 'treecover2000_mean'])
    # drop records where VH or treecover2000_mean are negative
    mask = (ds.VH >= 0) & (ds.treecover2000_mean >= 0)
    ds = ds.where(mask, drop=True)
    # print(
    #     f'Dropping {100 - mask.mean().values * 100}% of records due to negative tree canopy metrics'
    # )

    # From Farina 2018: if VH < 2, predicted biomass < 1 Mg/ha, or canopy cover < 10%, set biomass to 0
    mask = (ds.VH < 2) | (ds.biomass < 1) | (ds.treecover2000_mean < 10)
    # print(
    #     f'Setting the biomass to 0 for {mask.mean().values * 100}% of records based on Harris et al procedures'
    # )
    ds['biomass'] = xr.where(mask, x=0, y=ds.biomass)

    return ds
Beispiel #6
0
def australia_lucas_2008(ds):
    required_metrics = [
        'h05_canopy',
        'h10_canopy',
        'h20_canopy',
        'h50_canopy',
        'h75_canopy',
        'h80_canopy',
        'treecover2000_mean',
    ]
    ds = get_all_height_metrics(ds, required_metrics)
    return (
        -44.4 * ds['h05_canopy']
        + 57.98 * ds['h10_canopy']
        - 18.8 * ds['h20_canopy']
        + 8.3 * ds['h50_canopy']
        - 34.98 * ds['h75_canopy']
        + 32.2 * ds['h80_canopy']
        + 0.86 * ds['treecover2000_mean']
        - 20.68
    )
Beispiel #7
0
def palearctic_yavasli_2016(ds):
    required_metrics = ['HOME_Yavasli', 'pct_HOME_Yavasli']
    ds = get_all_height_metrics(ds, required_metrics)
    return 24.11 - 3.84 * ds['HOME_Yavasli'] + 2.44 * ds['pct_HOME_Yavasli']
Beispiel #8
0
def palearctic_takagi_2015(ds):
    required_metrics = ['MeanH']
    ds = get_all_height_metrics(ds, required_metrics)
    return 2 * (6.70 * ds['MeanH'] + 24.5)
Beispiel #9
0
def conus_conifer_neigh_2013(ds):
    required_metrics = ['VH', 'h25_Neigh']
    ds = get_all_height_metrics(ds, required_metrics)
    return 5.31 * ds['VH'] - 4.19 * ds['h25_Neigh'] + 4.03
Beispiel #10
0
def palearctic_simonson_2016(ds):
    required_metrics = ['VH']
    ds = get_all_height_metrics(ds, required_metrics)
    return np.exp(3.02 + 0.89 * np.log(ds['VH']))
Beispiel #11
0
def suganuma_2006(ds):
    required_metrics = ['treecover2000_mean']
    ds = get_all_height_metrics(ds, required_metrics)
    return 119.9699 * np.power(ds['treecover2000_mean'] / 100.0, 1.1781)
Beispiel #12
0
def conus_conifer_sun_2011(ds):
    required_metrics = ['h50_Neigh', 'h75_Neigh']
    ds = get_all_height_metrics(ds, required_metrics)
    return -1.717 + 6.208 * ds['h50_Neigh'] + 8.625 * ds['h75_Neigh']
Beispiel #13
0
def palearctic_whrc(ds):
    required_metrics = ['HOME_Baccini', 'CANOPY_DEP', 'VH']
    ds = get_all_height_metrics(ds, required_metrics)
    return 13.7949 + 0.8912 * ds['HOME_Baccini'] + 25.4467 * ds['CANOPY_DEP'] - 18.1995 * ds['VH']
Beispiel #14
0
def conus_conifer_popescu_2011(ds):
    required_metrics = ['VH']
    ds = get_all_height_metrics(ds, required_metrics)
    return 7.5429 * ds['VH'] - 29.308
Beispiel #15
0
def conus_conifer_skowronski_2007(ds):
    required_metrics = ['MeanH']
    ds = get_all_height_metrics(ds, required_metrics)
    return 6.04 * ds['MeanH']
Beispiel #16
0
def conus_conifer_hyde_2007(ds):
    required_metrics = ['MeanH']
    ds = get_all_height_metrics(ds, required_metrics)
    return 7.042 + 16.141 * ds['MeanH']
Beispiel #17
0
def conus_conifer_hudak_2012(ds):
    required_metrics = ['MeanH']
    ds = get_all_height_metrics(ds, required_metrics)
    return -16.54 + 21.18 * ds['MeanH']
Beispiel #18
0
def conus_conifer_lu_2012(ds):
    required_metrics = ['QMCH', 'Height_35_to_40']
    ds = get_all_height_metrics(ds, required_metrics)
    ln_biomass = 2.10 + 1.56 * np.log(ds['QMCH']) + 0.05 * np.log(ds['Height_35_to_40'])
    return np.exp(ln_biomass)
Beispiel #19
0
def palearctic_brovkina_2015(ds):
    required_metrics = ['VH']
    ds = get_all_height_metrics(ds, required_metrics)
    return 12.8 * ds['VH'] - 99.9
Beispiel #20
0
def conus_conifer_anderson_2006(ds):
    required_metrics = ['h50_Neigh']
    ds = get_all_height_metrics(ds, required_metrics)
    return 29.954 + 14.297 * ds['h50_Neigh']
Beispiel #21
0
def palearctic_alberti_2013(ds):
    required_metrics = ['VH']
    ds = get_all_height_metrics(ds, required_metrics)
    return 2 * (3.33 * np.power(ds['VH'], 1.27))
Beispiel #22
0
def western_boreal_eurasia_confier(ds):
    required_metrics = ['h90_Neigh', 'h25_Neigh']
    ds = get_all_height_metrics(ds, required_metrics)
    return 5.95 * ds['h90_Neigh'] - 5 * ds['h25_Neigh'] + 4.72
Beispiel #23
0
def palearctic_shang_and_chazette_2014(ds):
    required_metrics = ['QMCH']
    ds = get_all_height_metrics(ds, required_metrics)
    return 2 * (42.36 + 0.24 * np.square(ds['QMCH']))
Beispiel #24
0
def mexico_south(ds):
    required_metrics = ['h75_Nelson', 'h10_Nelson', 'trail_Nelson']
    ds = get_all_height_metrics(ds, required_metrics)
    return 6.845 * ds['h75_Nelson'] - 6.144 * ds['h10_Nelson'] - 2.565 * ds['trail_Nelson']
Beispiel #25
0
def palearctic_patenaude_2004(ds):
    required_metrics = ['h80_p12']
    ds = get_all_height_metrics(ds, required_metrics)
    return 2 * (1.36 * 0.68 * 0.49) * 19.186 * np.exp(0.1256 * ds['h80_p12'])
Beispiel #26
0
def eastern_boreal_eurasia(ds):
    required_metrics = ['h75_Neigh', 'h25_Neigh']
    ds = get_all_height_metrics(ds, required_metrics)
    return 13.60 * ds['h75_Neigh'] - 14.30 * ds['h25_Neigh'] - 3.49
Beispiel #27
0
def australia_beets_2011(ds):
    required_metrics = ['h30_canopy', 'treecover2000_mean']
    ds = get_all_height_metrics(ds, required_metrics)
    return 2 * (-45.8 + 7.52 * ds['h30_canopy'] + 0.67 * ds['treecover2000_mean'])
Beispiel #28
0
def palearctic_wang_2013(ds):
    required_metrics = ['VH']
    ds = get_all_height_metrics(ds, required_metrics)
    return np.exp(1.48 + 1.09 * np.log(ds['VH']))
Beispiel #29
0
def western_boreal_eurasia_mixed_hard_wood(ds):
    required_metrics = ['h75_Neigh', 'h25_Neigh']
    ds = get_all_height_metrics(ds, required_metrics)
    return 8.84 * ds['h75_Neigh'] - 5.09 * ds['h25_Neigh'] - 7.03
Beispiel #30
0
def conus_conifer_tsui_2012(ds):
    required_metrics = ['MeanH', 'h10_p12', 'h90_p12']
    ds = get_all_height_metrics(ds, required_metrics)
    return -7.144 - 12.925 * ds["MeanH"] + 2.239 * ds["h10_p12"] + 14.019 * ds["h90_p12"]