Exemple #1
0
def test_cascading_window_trend_year_co2():
    df = invf.Analysis(year_output)

    start = int(str(df.data.time[0].values)[:4])
    end = int(str(df.data.time[-1].values)[:4])

    dfco2 = co2_year.loc[start:end].values * 2.12

    df.data = xr.Dataset({'Earth_Land': (('time'), dfco2)},
                         coords={'time': (('time'), df.data.time.values)})

    def cwt(window_size):
        test_df = df.cascading_window_trend(window_size=window_size)
        return test_df

    assert np.all(
        cwt(10).values.squeeze() == np.ones((1,
                                             len(df.data.time.values) - 10)))
    assert np.all(
        cwt(25).values.squeeze() == np.ones((1,
                                             len(df.data.time.values) - 25)))
Exemple #2
0
import pickle
import matplotlib.pyplot as plt
import pandas as pd

import sys
from core import inv_flux as invf
from core import GCP_flux as GCPf

from importlib import reload
reload(invf)
reload(GCPf)

# Inversion
fname = "./../../../output/inversions/raw/output_all/JENA_s76_all/year.pik"

df = invf.Analysis(pickle.load(open(fname, 'rb')))

variable = "Earth_Land"
df.rolling_trend(variable, plot=True)
plt.title(f"25-Year Rolling Trend: {variable}", fontsize=28)

#GCP
land = GCPf.Analysis("land sink")
ocean = GCPf.Analysis("ocean sink")

land.rolling_trend(plot=True)
plt.title(f"25-Year Rolling Trend: GCP Land", fontsize=28)

ocean.rolling_trend(plot=True)
plt.title(f"25-Year Rolling Trend: GCP Ocean", fontsize=28)
Exemple #3
0
"""
""" IMPORTS """
import sys
from core import TRENDY_flux as TRENDYf
from core import inv_flux as invf

import xarray as xr
import numpy as np
import matplotlib.pyplot as plt
""" INPUTS """
INV_INPUT = './../../../../output/inversions/spatial/output_all/JENA_s76/month.nc'
TRENDY_INPUT = './../../../../output/TRENDY/spatial/output_all/CABLE-POP_S1_nbp/month.nc'
""" EXECUTION """
# inversions
invdf = xr.open_dataset(INV_INPUT)
df = invf.Analysis(invdf)

plt.plot(df.data.Earth_Land.values)
plt.plot(df.deseasonalise('Earth_Land'))

# trendy
trendydf = xr.open_dataset(TRENDY_INPUT)
tdf = invf.Analysis(trendydf)

plt.plot(tdf.data.Earth_Land.values)
plt.plot(tdf.deseasonalise('Earth_Land'))
plt.xlim([50, 2900])

# bandpass functions
plt.plot(tdf.bandpass('Earth_Land', fc=1 / 25, fs=12, btype='low'))
""" Test: successful."""
Exemple #4
0
"""

""" IMPORTS """
import sys
from core import inv_flux as invf
from core import trendy_flux as TRENDYf

from importlib import reload
reload(invf);
reload(TRENDYf);

import xarray as xr
import pandas as pd
from datetime import datetime
from scipy import stats
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

""" INPUTS """
fname = "./../../../output/inversions/spatial/output_all/JENA_s76/year.nc"
df = xr.open_dataset(fname)
co2 = pd.read_csv('./../../../data/co2/co2_year.csv', index_col='Year').CO2

trendy_df = xr.open_dataset("./../../../output/TRENDY/spatial/output_all/VISIT_S3_nbp/year.nc")


""" DEVS """
invf.Analysis(df).cascading_window_trend()
TRENDYf.Analysis(trendy_df).cascading_window_trend().plot()
Exemple #5
0
    return b_instance_dict

""" INPUTS """
FIGURE_DIRECTORY = "./../../latex/thesis/figures/"
INV_DIRECTORY = "./../../output/inversions/spatial/output_all/"
TRENDY_DIRECTORY = "./../../output/TRENDY/spatial/output_all/"
TRENDY_MEAN_DIRECTORY = "./../../output/TRENDY/spatial/mean_all/"

year_invf = {}
month_invf = {}
summer_invf = {}
winter_invf = {}
for model in os.listdir(INV_DIRECTORY):
    model_dir = INV_DIRECTORY + model + '/'
    year_invf[model] = invf.Analysis(xr.open_dataset(model_dir + 'year.nc'))
    month_invf[model] = invf.Analysis(xr.open_dataset(model_dir + 'month.nc'))
    summer_invf[model] = invf.Analysis(xr.open_dataset(model_dir + 'summer.nc'))
    winter_invf[model] = invf.Analysis(xr.open_dataset(model_dir + 'winter.nc'))

year_S1_trendy = {}
year_S3_trendy = {}
month_S1_trendy = {}
month_S3_trendy = {}
summer_S1_trendy = {}
summer_S3_trendy = {}
winter_S1_trendy = {}
winter_S3_trendy = {}
for model in os.listdir(TRENDY_DIRECTORY):
    model_dir = TRENDY_DIRECTORY + model + '/'