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')
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]}')
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]}', )
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')
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']