Пример #1
0
def terraclimate_fia_wide():
    # generate wide data w/ terraclim
    df_fia = load.fia(store='az', states=states, group_repeats=True)
    df = load.terraclim(
        store='az',
        tlim=(int(df_fia['year_0'].min()), 2020),
        variables=variables,
        df=df_fia,
        group_repeats=True,
        sampling='annual',
    )
    write_df(df, 'FIA-TerraClim-Wide')
Пример #2
0
def terraclimate_fia_long():
    # generate long data w/ terraclim

    df_fia = load.fia(store='az', states=states, clean=False)

    for target in targets_terraclimate:
        tlim = (str(int(target) - 5), str(int(target) + 4))
        print(tlim)

        df = load.terraclim(
            store='az',
            tlim=(int(tlim[0]), int(tlim[1])),
            variables=variables,
            df=df_fia,
            sampling='annual',
        )

        write_df(df, f'FIA-TerraClim-Long-{tlim[0]}.{tlim[1]}')
Пример #3
0
def cmip_fia_long(cmip_table, method):
    # generate long data w/ cmip

    df_fia = load.fia(store='az', states=states, clean=False)
    keep_vars = (['lat', 'lon', 'plot_cn'] +
                 [var + '_min' for var in variables] +
                 [var + '_mean'
                  for var in variables] + [var + '_max' for var in variables])

    for i, row in cmip_table.iterrows():
        if 'hist' in row.scenario:
            targets = targets_historical
        else:
            targets = targets_future

        for target in targets:
            historical = target == '2015'
            tlim = (str(int(target) - 5), str(int(target) + 4))

            print(tlim, row)
            df = load.cmip(
                store='az',
                tlim=(int(tlim[0]), int(tlim[1])),
                variables=variables,
                df=df_fia,
                model=row.model,
                scenario=row.scenario,
                member=row.member,
                historical=historical,
                method=method,
                sampling='annual',
            )
            df = df[keep_vars]
            write_df(
                df,
                f'{method}/FIA-CMIP6-Long-{row.model}.{row.scenario}.{row.member}-{tlim[0]}.{tlim[1]}',
            )
Пример #4
0
from tqdm import tqdm

from carbonplan_forest_risks import fit, load, prepare, utils

args = sys.argv

if len(args) < 2:
    store = 'local'
else:
    store = args[1]

data_vars = ['ppt', 'tavg']
data_aggs = ['sum', 'mean']

print('[insects] loading data')
df = load.fia(store=store, states='conus', group_repeats=True)
df = load.terraclim(
    store=store,
    tlim=(int(df['year_0'].min()), 2020),
    data_vars=data_vars,
    data_aggs=data_aggs,
    df=df,
    group_repeats=True,
)

print('[insects] prepare for fitting')
x, y, pf = prepare.insects(df)
x_z, x_mean, x_std = utils.zscore_2d(x)
codes = pf['type_code'].unique()

print('[insects] fit models')
Пример #5
0
import pandas as pd
from tqdm import tqdm

from carbonplan_forest_risks import fit, load

args = sys.argv

if len(args) < 2:
    store = 'local'
else:
    store = args[1]

variables = ['tmean', 'ppt']

print('[biomass] loading data')
df = load.fia(store=store, states='conus')
df = load.terraclim(
    store=store,
    tlim=(2000, 2020),
    variables=variables,
    remove_nans=True,
    sampling='annual',
    df=df,
)
type_codes = df['type_code'].unique()

print('[biomass] fitting models')
models = {}
for code in tqdm(type_codes):
    df_type = df[df['type_code'] == code].reset_index()
    x = df_type['age']