Finalize: Merge all results#

Author: Lukas Hörtnagl (holukas@ethz.ch)

Imports#

from pathlib import Path
import pandas as pd
from diive.core.io.files import save_parquet, load_parquet

Load data#

Load L4.1 fluxes (after gap-filling) for NEE, LE and H#

nee = load_parquet(filepath=r"../40_FLUX_PROCESSING_CHAIN/41.1_FluxProcessingChain_L4.1_NEE.parquet")
le = load_parquet(filepath=r"../40_FLUX_PROCESSING_CHAIN/42.1_FluxProcessingChain_L4.1_LE.parquet")
h = load_parquet(filepath=r"../40_FLUX_PROCESSING_CHAIN/43.1_FluxProcessingChain_L4.1_H.parquet")
n2o = load_parquet(filepath=r"../50_FLUX_PROCESSING_CHAIN_QCL+LGR/51.8f_CorrectionGapFilling_L4.1_FN2O_CUT_165084.parquet")
ch4 = load_parquet(filepath=r"../50_FLUX_PROCESSING_CHAIN_QCL+LGR/52.8f_CorrectionGapFilling_L4.1_FCH4_CUT_165084.parquet")
Loaded .parquet file ../40_FLUX_PROCESSING_CHAIN/41.1_FluxProcessingChain_L4.1_NEE.parquet (0.332 seconds).
    --> Detected time resolution of <30 * Minutes> / 30min 
Loaded .parquet file ../40_FLUX_PROCESSING_CHAIN/42.1_FluxProcessingChain_L4.1_LE.parquet (0.239 seconds).
    --> Detected time resolution of <30 * Minutes> / 30min 
Loaded .parquet file ../40_FLUX_PROCESSING_CHAIN/43.1_FluxProcessingChain_L4.1_H.parquet (0.264 seconds).
    --> Detected time resolution of <30 * Minutes> / 30min 
Loaded .parquet file ../50_FLUX_PROCESSING_CHAIN_QCL+LGR/51.8f_CorrectionGapFilling_L4.1_FN2O_CUT_165084.parquet (0.289 seconds).
    --> Detected time resolution of <30 * Minutes> / 30min 
Loaded .parquet file ../50_FLUX_PROCESSING_CHAIN_QCL+LGR/52.8f_CorrectionGapFilling_L4.1_FCH4_CUT_165084.parquet (0.036 seconds).
    --> Detected time resolution of <30 * Minutes> / 30min 

Load L4.2 fluxes (after NEE partitioning) for GPP and RECO#

gpp_reco = load_parquet(filepath=r"../60_PARTITIONING/61.4_PARTITIONED_FLUXES_GPP_RECO.parquet")
Loaded .parquet file ../60_PARTITIONING/61.4_PARTITIONED_FLUXES_GPP_RECO.parquet (0.386 seconds).
    --> Detected time resolution of <30 * Minutes> / 30min 

Load more meteo data#

more_meteo = load_parquet(filepath=r"../10_METEO/18.1_CH-CHA_METEO_G_LWOUT_PPFDOUT_SWOUT_NETRAD_2004-2024.parquet")
Loaded .parquet file ../10_METEO/18.1_CH-CHA_METEO_G_LWOUT_PPFDOUT_SWOUT_NETRAD_2004-2024.parquet (0.151 seconds).
    --> Detected time resolution of <30 * Minutes> / 30min 

Load main data#

SOURCEDIR = r"../30_MERGE_DATA"
FILENAME = r"33.5_CH-CHA_IRGA+QCL+LGR+M10+MGMT_Level-1_eddypro_fluxnet_2005-2024.parquet"
FILEPATH = Path(SOURCEDIR) / FILENAME
maindf = load_parquet(filepath=FILEPATH)
Loaded .parquet file ..\30_MERGE_DATA\33.5_CH-CHA_IRGA+QCL+LGR+M10+MGMT_Level-1_eddypro_fluxnet_2005-2024.parquet (0.651 seconds).
    --> Detected time resolution of <30 * Minutes> / 30min 

Add results to main data#

Add results for NEE#

newcols = [c for c in nee.columns if c not in maindf]
print("NEW VARIABLES FROM FLUX PROCESSING CHAIN:")
[print(f"++ {c}") for c in newcols]
maindf = pd.concat([maindf, nee[newcols]], axis=1)
maindf
NEW VARIABLES FROM FLUX PROCESSING CHAIN:
++ DAYTIME
++ NIGHTTIME
++ FLAG_L2_FC_MISSING_TEST
++ FLAG_L2_FC_SSITC_TEST
++ FLAG_L2_FC_COMPLETENESS_TEST
++ FLAG_L2_FC_SCF_TEST
++ FLAG_L2_FC_SIGNAL_STRENGTH_TEST
++ FLAG_L2_FC_CO2_VM97_SPIKE_HF_TEST
++ FLAG_L2_FC_CO2_VM97_AMPLITUDE_RESOLUTION_HF_TEST
++ FLAG_L2_FC_CO2_VM97_DROPOUT_TEST
++ FLAG_L2_FC_VM97_AOA_HF_TEST
++ SUM_L2_FC_HARDFLAGS
++ SUM_L2_FC_SOFTFLAGS
++ SUM_L2_FC_FLAGS
++ FLAG_L2_FC_QCF
++ FC_L2_QCF
++ FC_L2_QCF0
++ SC_SINGLE_gfRMED_L3.1
++ FLAG_SC_SINGLE_gfRMED_L3.1_ISFILLED
++ NEE_L3.1
++ NEE_L3.1_QCF
++ NEE_L3.1_QCF0
++ FLAG_L3.2_NEE_L3.1_QCF_OUTLIER_ABSLIM_TEST
++ FLAG_L3.2_NEE_L3.1_QCF_OUTLIER_MANUAL_TEST
++ FLAG_L3.2_NEE_L3.1_QCF_OUTLIER_HAMPELDTNT_TEST
++ FLAG_L3.2_NEE_L3.1_QCF_OUTLIER_LOCALSD_TEST
++ SUM_L3.2_NEE_L3.1_HARDFLAGS
++ SUM_L3.2_NEE_L3.1_SOFTFLAGS
++ SUM_L3.2_NEE_L3.1_FLAGS
++ FLAG_L3.2_NEE_L3.1_QCF
++ NEE_L3.1_L3.2_QCF
++ NEE_L3.1_L3.2_QCF0
++ FLAG_L3.3_CUT_16_NEE_L3.1_USTAR_TEST
++ SUM_L3.3_CUT_16_NEE_L3.1_HARDFLAGS
++ SUM_L3.3_CUT_16_NEE_L3.1_SOFTFLAGS
++ SUM_L3.3_CUT_16_NEE_L3.1_FLAGS
++ FLAG_L3.3_CUT_16_NEE_L3.1_QCF
++ NEE_L3.1_L3.3_CUT_16_QCF
++ NEE_L3.1_L3.3_CUT_16_QCF0
++ FLAG_L3.3_CUT_50_NEE_L3.1_USTAR_TEST
++ SUM_L3.3_CUT_50_NEE_L3.1_HARDFLAGS
++ SUM_L3.3_CUT_50_NEE_L3.1_SOFTFLAGS
++ SUM_L3.3_CUT_50_NEE_L3.1_FLAGS
++ FLAG_L3.3_CUT_50_NEE_L3.1_QCF
++ NEE_L3.1_L3.3_CUT_50_QCF
++ NEE_L3.1_L3.3_CUT_50_QCF0
++ FLAG_L3.3_CUT_84_NEE_L3.1_USTAR_TEST
++ SUM_L3.3_CUT_84_NEE_L3.1_HARDFLAGS
++ SUM_L3.3_CUT_84_NEE_L3.1_SOFTFLAGS
++ SUM_L3.3_CUT_84_NEE_L3.1_FLAGS
++ FLAG_L3.3_CUT_84_NEE_L3.1_QCF
++ NEE_L3.1_L3.3_CUT_84_QCF
++ NEE_L3.1_L3.3_CUT_84_QCF0
++ NEE_L3.1_L3.3_CUT_16_QCF_gfRF
++ FLAG_NEE_L3.1_L3.3_CUT_16_QCF_gfRF_ISFILLED
++ NEE_L3.1_L3.3_CUT_50_QCF_gfRF
++ FLAG_NEE_L3.1_L3.3_CUT_50_QCF_gfRF_ISFILLED
++ NEE_L3.1_L3.3_CUT_84_QCF_gfRF
++ FLAG_NEE_L3.1_L3.3_CUT_84_QCF_gfRF_ISFILLED
.PREC_RAIN_TOT_GF1_0.5_1_MEAN3H-12 .PREC_RAIN_TOT_GF1_0.5_1_MEAN3H-18 .PREC_RAIN_TOT_GF1_0.5_1_MEAN3H-24 .PREC_RAIN_TOT_GF1_0.5_1_MEAN3H-6 .SWC_GF1_0.15_1_gfXG_MEAN3H-12 .SWC_GF1_0.15_1_gfXG_MEAN3H-18 .SWC_GF1_0.15_1_gfXG_MEAN3H-24 .SWC_GF1_0.15_1_gfXG_MEAN3H-6 .TS_GF1_0.04_1_gfXG_MEAN3H-12 .TS_GF1_0.04_1_gfXG_MEAN3H-18 .TS_GF1_0.04_1_gfXG_MEAN3H-24 .TS_GF1_0.04_1_gfXG_MEAN3H-6 .TS_GF1_0.15_1_gfXG_MEAN3H-12 .TS_GF1_0.15_1_gfXG_MEAN3H-18 .TS_GF1_0.15_1_gfXG_MEAN3H-24 ... NEE_L3.1_L3.3_CUT_50_QCF NEE_L3.1_L3.3_CUT_50_QCF0 FLAG_L3.3_CUT_84_NEE_L3.1_USTAR_TEST SUM_L3.3_CUT_84_NEE_L3.1_HARDFLAGS SUM_L3.3_CUT_84_NEE_L3.1_SOFTFLAGS SUM_L3.3_CUT_84_NEE_L3.1_FLAGS FLAG_L3.3_CUT_84_NEE_L3.1_QCF NEE_L3.1_L3.3_CUT_84_QCF NEE_L3.1_L3.3_CUT_84_QCF0 NEE_L3.1_L3.3_CUT_16_QCF_gfRF FLAG_NEE_L3.1_L3.3_CUT_16_QCF_gfRF_ISFILLED NEE_L3.1_L3.3_CUT_50_QCF_gfRF FLAG_NEE_L3.1_L3.3_CUT_50_QCF_gfRF_ISFILLED NEE_L3.1_L3.3_CUT_84_QCF_gfRF FLAG_NEE_L3.1_L3.3_CUT_84_QCF_gfRF_ISFILLED
TIMESTAMP_MIDDLE
2005-01-01 00:15:00 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN 0.0 2.0 0.0 2.0 2.0 NaN NaN 1.237837 1 0.911990 1 0.641069 1
2005-01-01 00:45:00 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN 0.0 2.0 0.0 2.0 2.0 NaN NaN 1.223967 1 0.910926 1 0.642671 1
2005-01-01 01:15:00 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN 0.0 2.0 0.0 2.0 2.0 NaN NaN 1.630407 1 1.667542 1 1.284791 1
2005-01-01 01:45:00 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN 0.0 2.0 0.0 2.0 2.0 NaN NaN 1.523451 1 1.639653 1 1.286028 1
2005-01-01 02:15:00 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN 0.0 2.0 0.0 2.0 2.0 NaN NaN 1.608524 1 1.660211 1 1.338450 1
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
2024-12-31 21:45:00 0.0 0.0 0.0 0.0 52.229004 52.226300 52.226689 52.216796 3.458828 3.150402 3.115260 3.660897 4.335667 4.347764 4.385967 ... NaN NaN 0.0 2.0 0.0 2.0 2.0 NaN NaN 1.164181 1 1.160720 1 1.210497 1
2024-12-31 22:15:00 0.0 0.0 0.0 0.0 52.227858 52.227986 52.224528 52.214211 3.522570 3.187638 3.103440 3.643396 4.338551 4.342880 4.379524 ... NaN NaN 0.0 0.0 1.0 1.0 2.0 NaN NaN 1.129005 1 1.131454 1 1.198036 1
2024-12-31 22:45:00 0.0 0.0 0.0 0.0 52.226640 52.229837 52.222456 52.209876 3.578745 3.230037 3.095339 3.624025 4.343767 4.339440 4.372636 ... 1.046967 1.046967 0.0 0.0 0.0 0.0 0.0 1.046967 1.046967 1.046967 0 1.046967 0 1.046967 0
2024-12-31 23:15:00 0.0 0.0 0.0 0.0 52.224375 52.231151 52.221324 52.238293 3.624160 3.278488 3.093806 3.601135 4.350872 4.336333 4.366082 ... 1.372674 1.372674 0.0 0.0 0.0 0.0 0.0 1.372674 1.372674 1.372674 0 1.372674 0 1.372674 0
2024-12-31 23:45:00 0.0 0.0 0.0 0.0 52.222007 52.230632 52.222701 52.273511 3.656167 3.331678 3.103003 3.579020 4.360311 4.334225 4.359530 ... NaN NaN 0.0 0.0 1.0 1.0 2.0 NaN NaN 1.035859 1 1.126110 1 1.145695 1

350640 rows × 596 columns

Add results for LE#

newcols = [c for c in le.columns if c not in maindf]
print("NEW VARIABLES FROM FLUX PROCESSING CHAIN:")
[print(f"++ {c}") for c in newcols]
maindf = pd.concat([maindf, le[newcols]], axis=1)
maindf
NEW VARIABLES FROM FLUX PROCESSING CHAIN:
++ FLAG_L2_LE_MISSING_TEST
++ FLAG_L2_LE_SSITC_TEST
++ FLAG_L2_LE_COMPLETENESS_TEST
++ FLAG_L2_LE_SCF_TEST
++ FLAG_L2_LE_SIGNAL_STRENGTH_TEST
++ FLAG_L2_LE_H2O_VM97_SPIKE_HF_TEST
++ FLAG_L2_LE_H2O_VM97_AMPLITUDE_RESOLUTION_HF_TEST
++ FLAG_L2_LE_H2O_VM97_DROPOUT_TEST
++ FLAG_L2_LE_VM97_AOA_HF_TEST
++ SUM_L2_LE_HARDFLAGS
++ SUM_L2_LE_SOFTFLAGS
++ SUM_L2_LE_FLAGS
++ FLAG_L2_LE_QCF
++ LE_L2_QCF
++ LE_L2_QCF0
++ SLE_SINGLE_gfRMED_L3.1
++ FLAG_SLE_SINGLE_gfRMED_L3.1_ISFILLED
++ LE_L3.1
++ LE_L3.1_QCF
++ LE_L3.1_QCF0
++ FLAG_L3.2_LE_L3.1_QCF_OUTLIER_ABSLIM_TEST
++ FLAG_L3.2_LE_L3.1_QCF_OUTLIER_MANUAL_TEST
++ FLAG_L3.2_LE_L3.1_QCF_OUTLIER_HAMPELDTNT_TEST
++ FLAG_L3.2_LE_L3.1_QCF_OUTLIER_LOCALSD_TEST
++ FLAG_L3.2_LE_L3.1_QCF_OUTLIER_LOFDTNT_TEST
++ SUM_L3.2_LE_L3.1_HARDFLAGS
++ SUM_L3.2_LE_L3.1_SOFTFLAGS
++ SUM_L3.2_LE_L3.1_FLAGS
++ FLAG_L3.2_LE_L3.1_QCF
++ LE_L3.1_L3.2_QCF
++ LE_L3.1_L3.2_QCF0
++ FLAG_L3.3_CUT_NONE_LE_L3.1_USTAR_TEST
++ SUM_L3.3_CUT_NONE_LE_L3.1_HARDFLAGS
++ SUM_L3.3_CUT_NONE_LE_L3.1_SOFTFLAGS
++ SUM_L3.3_CUT_NONE_LE_L3.1_FLAGS
++ FLAG_L3.3_CUT_NONE_LE_L3.1_QCF
++ LE_L3.1_L3.3_CUT_NONE_QCF
++ LE_L3.1_L3.3_CUT_NONE_QCF0
++ LE_L3.1_L3.3_CUT_NONE_QCF_gfRF
++ FLAG_LE_L3.1_L3.3_CUT_NONE_QCF_gfRF_ISFILLED
.PREC_RAIN_TOT_GF1_0.5_1_MEAN3H-12 .PREC_RAIN_TOT_GF1_0.5_1_MEAN3H-18 .PREC_RAIN_TOT_GF1_0.5_1_MEAN3H-24 .PREC_RAIN_TOT_GF1_0.5_1_MEAN3H-6 .SWC_GF1_0.15_1_gfXG_MEAN3H-12 .SWC_GF1_0.15_1_gfXG_MEAN3H-18 .SWC_GF1_0.15_1_gfXG_MEAN3H-24 .SWC_GF1_0.15_1_gfXG_MEAN3H-6 .TS_GF1_0.04_1_gfXG_MEAN3H-12 .TS_GF1_0.04_1_gfXG_MEAN3H-18 .TS_GF1_0.04_1_gfXG_MEAN3H-24 .TS_GF1_0.04_1_gfXG_MEAN3H-6 .TS_GF1_0.15_1_gfXG_MEAN3H-12 .TS_GF1_0.15_1_gfXG_MEAN3H-18 .TS_GF1_0.15_1_gfXG_MEAN3H-24 ... SUM_L3.2_LE_L3.1_HARDFLAGS SUM_L3.2_LE_L3.1_SOFTFLAGS SUM_L3.2_LE_L3.1_FLAGS FLAG_L3.2_LE_L3.1_QCF LE_L3.1_L3.2_QCF LE_L3.1_L3.2_QCF0 FLAG_L3.3_CUT_NONE_LE_L3.1_USTAR_TEST SUM_L3.3_CUT_NONE_LE_L3.1_HARDFLAGS SUM_L3.3_CUT_NONE_LE_L3.1_SOFTFLAGS SUM_L3.3_CUT_NONE_LE_L3.1_FLAGS FLAG_L3.3_CUT_NONE_LE_L3.1_QCF LE_L3.1_L3.3_CUT_NONE_QCF LE_L3.1_L3.3_CUT_NONE_QCF0 LE_L3.1_L3.3_CUT_NONE_QCF_gfRF FLAG_LE_L3.1_L3.3_CUT_NONE_QCF_gfRF_ISFILLED
TIMESTAMP_MIDDLE
2005-01-01 00:15:00 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... 2.0 0.0 2.0 2.0 NaN NaN 0.0 2.0 0.0 2.0 2.0 NaN NaN 12.881390 1
2005-01-01 00:45:00 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... 2.0 0.0 2.0 2.0 NaN NaN 0.0 2.0 0.0 2.0 2.0 NaN NaN 12.671936 1
2005-01-01 01:15:00 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... 2.0 0.0 2.0 2.0 NaN NaN 0.0 2.0 0.0 2.0 2.0 NaN NaN 8.715656 1
2005-01-01 01:45:00 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... 2.0 0.0 2.0 2.0 NaN NaN 0.0 2.0 0.0 2.0 2.0 NaN NaN 7.805379 1
2005-01-01 02:15:00 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... 2.0 0.0 2.0 2.0 NaN NaN 0.0 2.0 0.0 2.0 2.0 NaN NaN 8.016290 1
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
2024-12-31 21:45:00 0.0 0.0 0.0 0.0 52.229004 52.226300 52.226689 52.216796 3.458828 3.150402 3.115260 3.660897 4.335667 4.347764 4.385967 ... 0.0 0.0 0.0 0.0 3.362858 3.362858 0.0 0.0 0.0 0.0 0.0 3.362858 3.362858 3.362858 0
2024-12-31 22:15:00 0.0 0.0 0.0 0.0 52.227858 52.227986 52.224528 52.214211 3.522570 3.187638 3.103440 3.643396 4.338551 4.342880 4.379524 ... 0.0 0.0 0.0 0.0 5.067119 5.067119 0.0 0.0 0.0 0.0 0.0 5.067119 5.067119 5.067119 0
2024-12-31 22:45:00 0.0 0.0 0.0 0.0 52.226640 52.229837 52.222456 52.209876 3.578745 3.230037 3.095339 3.624025 4.343767 4.339440 4.372636 ... 0.0 0.0 0.0 0.0 4.623702 4.623702 0.0 0.0 0.0 0.0 0.0 4.623702 4.623702 4.623702 0
2024-12-31 23:15:00 0.0 0.0 0.0 0.0 52.224375 52.231151 52.221324 52.238293 3.624160 3.278488 3.093806 3.601135 4.350872 4.336333 4.366082 ... 0.0 0.0 0.0 0.0 4.741899 4.741899 0.0 0.0 0.0 0.0 0.0 4.741899 4.741899 4.741899 0
2024-12-31 23:45:00 0.0 0.0 0.0 0.0 52.222007 52.230632 52.222701 52.273511 3.656167 3.331678 3.103003 3.579020 4.360311 4.334225 4.359530 ... 0.0 0.0 0.0 0.0 6.306279 6.306279 0.0 0.0 0.0 0.0 0.0 6.306279 6.306279 6.306279 0

350640 rows × 636 columns

Add results for H#

newcols = [c for c in h.columns if c not in maindf]
print("NEW VARIABLES FROM FLUX PROCESSING CHAIN:")
[print(f"++ {c}") for c in newcols]
maindf = pd.concat([maindf, h[newcols]], axis=1)
maindf
NEW VARIABLES FROM FLUX PROCESSING CHAIN:
++ FLAG_L2_H_MISSING_TEST
++ FLAG_L2_H_SSITC_TEST
++ FLAG_L2_H_COMPLETENESS_TEST
++ FLAG_L2_H_SCF_TEST
++ FLAG_L2_H_T_SONIC_VM97_SPIKE_HF_TEST
++ FLAG_L2_H_T_SONIC_VM97_AMPLITUDE_RESOLUTION_HF_TEST
++ FLAG_L2_H_T_SONIC_VM97_DROPOUT_TEST
++ FLAG_L2_H_VM97_AOA_HF_TEST
++ SUM_L2_H_HARDFLAGS
++ SUM_L2_H_SOFTFLAGS
++ SUM_L2_H_FLAGS
++ FLAG_L2_H_QCF
++ H_L2_QCF
++ H_L2_QCF0
++ SH_SINGLE_gfRMED_L3.1
++ FLAG_SH_SINGLE_gfRMED_L3.1_ISFILLED
++ H_L3.1
++ H_L3.1_QCF
++ H_L3.1_QCF0
++ FLAG_L3.2_H_L3.1_QCF_OUTLIER_ABSLIM_TEST
++ FLAG_L3.2_H_L3.1_QCF_OUTLIER_MANUAL_TEST
++ FLAG_L3.2_H_L3.1_QCF_OUTLIER_HAMPELDTNT_TEST
++ FLAG_L3.2_H_L3.1_QCF_OUTLIER_LOCALSD_TEST
++ SUM_L3.2_H_L3.1_HARDFLAGS
++ SUM_L3.2_H_L3.1_SOFTFLAGS
++ SUM_L3.2_H_L3.1_FLAGS
++ FLAG_L3.2_H_L3.1_QCF
++ H_L3.1_L3.2_QCF
++ H_L3.1_L3.2_QCF0
++ FLAG_L3.3_CUT_NONE_H_L3.1_USTAR_TEST
++ SUM_L3.3_CUT_NONE_H_L3.1_HARDFLAGS
++ SUM_L3.3_CUT_NONE_H_L3.1_SOFTFLAGS
++ SUM_L3.3_CUT_NONE_H_L3.1_FLAGS
++ FLAG_L3.3_CUT_NONE_H_L3.1_QCF
++ H_L3.1_L3.3_CUT_NONE_QCF
++ H_L3.1_L3.3_CUT_NONE_QCF0
++ H_L3.1_L3.3_CUT_NONE_QCF_gfRF
++ FLAG_H_L3.1_L3.3_CUT_NONE_QCF_gfRF_ISFILLED
.PREC_RAIN_TOT_GF1_0.5_1_MEAN3H-12 .PREC_RAIN_TOT_GF1_0.5_1_MEAN3H-18 .PREC_RAIN_TOT_GF1_0.5_1_MEAN3H-24 .PREC_RAIN_TOT_GF1_0.5_1_MEAN3H-6 .SWC_GF1_0.15_1_gfXG_MEAN3H-12 .SWC_GF1_0.15_1_gfXG_MEAN3H-18 .SWC_GF1_0.15_1_gfXG_MEAN3H-24 .SWC_GF1_0.15_1_gfXG_MEAN3H-6 .TS_GF1_0.04_1_gfXG_MEAN3H-12 .TS_GF1_0.04_1_gfXG_MEAN3H-18 .TS_GF1_0.04_1_gfXG_MEAN3H-24 .TS_GF1_0.04_1_gfXG_MEAN3H-6 .TS_GF1_0.15_1_gfXG_MEAN3H-12 .TS_GF1_0.15_1_gfXG_MEAN3H-18 .TS_GF1_0.15_1_gfXG_MEAN3H-24 ... SUM_L3.2_H_L3.1_HARDFLAGS SUM_L3.2_H_L3.1_SOFTFLAGS SUM_L3.2_H_L3.1_FLAGS FLAG_L3.2_H_L3.1_QCF H_L3.1_L3.2_QCF H_L3.1_L3.2_QCF0 FLAG_L3.3_CUT_NONE_H_L3.1_USTAR_TEST SUM_L3.3_CUT_NONE_H_L3.1_HARDFLAGS SUM_L3.3_CUT_NONE_H_L3.1_SOFTFLAGS SUM_L3.3_CUT_NONE_H_L3.1_FLAGS FLAG_L3.3_CUT_NONE_H_L3.1_QCF H_L3.1_L3.3_CUT_NONE_QCF H_L3.1_L3.3_CUT_NONE_QCF0 H_L3.1_L3.3_CUT_NONE_QCF_gfRF FLAG_H_L3.1_L3.3_CUT_NONE_QCF_gfRF_ISFILLED
TIMESTAMP_MIDDLE
2005-01-01 00:15:00 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... 2.0 0.0 2.0 2.0 NaN NaN 0.0 2.0 0.0 2.0 2.0 NaN NaN -16.302610 1
2005-01-01 00:45:00 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... 2.0 0.0 2.0 2.0 NaN NaN 0.0 2.0 0.0 2.0 2.0 NaN NaN -15.891337 1
2005-01-01 01:15:00 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... 2.0 0.0 2.0 2.0 NaN NaN 0.0 2.0 0.0 2.0 2.0 NaN NaN -14.849423 1
2005-01-01 01:45:00 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... 2.0 0.0 2.0 2.0 NaN NaN 0.0 2.0 0.0 2.0 2.0 NaN NaN -10.172901 1
2005-01-01 02:15:00 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... 2.0 0.0 2.0 2.0 NaN NaN 0.0 2.0 0.0 2.0 2.0 NaN NaN -8.028102 1
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
2024-12-31 21:45:00 0.0 0.0 0.0 0.0 52.229004 52.226300 52.226689 52.216796 3.458828 3.150402 3.115260 3.660897 4.335667 4.347764 4.385967 ... 0.0 1.0 1.0 1.0 5.006574 NaN 0.0 0.0 1.0 1.0 1.0 5.006574 NaN 5.006574 0
2024-12-31 22:15:00 0.0 0.0 0.0 0.0 52.227858 52.227986 52.224528 52.214211 3.522570 3.187638 3.103440 3.643396 4.338551 4.342880 4.379524 ... 0.0 0.0 0.0 0.0 7.780867 7.780867 0.0 0.0 0.0 0.0 0.0 7.780867 7.780867 7.780867 0
2024-12-31 22:45:00 0.0 0.0 0.0 0.0 52.226640 52.229837 52.222456 52.209876 3.578745 3.230037 3.095339 3.624025 4.343767 4.339440 4.372636 ... 0.0 0.0 0.0 0.0 6.960518 6.960518 0.0 0.0 0.0 0.0 0.0 6.960518 6.960518 6.960518 0
2024-12-31 23:15:00 0.0 0.0 0.0 0.0 52.224375 52.231151 52.221324 52.238293 3.624160 3.278488 3.093806 3.601135 4.350872 4.336333 4.366082 ... 0.0 0.0 0.0 0.0 8.076107 8.076107 0.0 0.0 0.0 0.0 0.0 8.076107 8.076107 8.076107 0
2024-12-31 23:45:00 0.0 0.0 0.0 0.0 52.222007 52.230632 52.222701 52.273511 3.656167 3.331678 3.103003 3.579020 4.360311 4.334225 4.359530 ... 0.0 0.0 0.0 0.0 11.038678 11.038678 0.0 0.0 0.0 0.0 0.0 11.038678 11.038678 11.038678 0

350640 rows × 674 columns

Add results for FN2O#

newcols = [c for c in n2o.columns if c not in maindf]
print("NEW VARIABLES FROM FLUX PROCESSING CHAIN:")
[print(f"++ {c}") for c in newcols]
maindf = pd.concat([maindf, n2o[newcols]], axis=1)
maindf
NEW VARIABLES FROM FLUX PROCESSING CHAIN:
++ FLAG_L2_FN2O_MISSING_TEST
++ FLAG_L2_FN2O_SSITC_TEST
++ FLAG_L2_FN2O_COMPLETENESS_TEST
++ FLAG_L2_FN2O_SCF_TEST
++ FLAG_L2_FN2O_N2O_VM97_SPIKE_HF_TEST
++ FLAG_L2_FN2O_N2O_VM97_AMPLITUDE_RESOLUTION_HF_TEST
++ FLAG_L2_FN2O_N2O_VM97_DROPOUT_TEST
++ FLAG_L2_FN2O_VM97_AOA_HF_TEST
++ SUM_L2_FN2O_HARDFLAGS
++ SUM_L2_FN2O_SOFTFLAGS
++ SUM_L2_FN2O_FLAGS
++ FLAG_L2_FN2O_QCF
++ FN2O_L2_QCF
++ FN2O_L2_QCF0
++ SN2O_SINGLE_gfRMED_L3.1
++ FLAG_SN2O_SINGLE_gfRMED_L3.1_ISFILLED
++ FN2O_L3.1
++ FN2O_L3.1_QCF
++ FN2O_L3.1_QCF0
++ FLAG_L3.2_FN2O_L3.1_QCF_OUTLIER_ABSLIM_TEST
++ FLAG_L3.2_FN2O_L3.1_QCF_OUTLIER_ZSCOREROLLING_TEST
++ FLAG_L3.2_FN2O_L3.1_QCF_OUTLIER_LOCALSD_TEST
++ SUM_L3.2_FN2O_L3.1_HARDFLAGS
++ SUM_L3.2_FN2O_L3.1_SOFTFLAGS
++ SUM_L3.2_FN2O_L3.1_FLAGS
++ FLAG_L3.2_FN2O_L3.1_QCF
++ FN2O_L3.1_L3.2_QCF
++ FN2O_L3.1_L3.2_QCF0
++ FLAG_L3.3_CUT_16_FN2O_L3.1_USTAR_TEST
++ SUM_L3.3_CUT_16_FN2O_L3.1_HARDFLAGS
++ SUM_L3.3_CUT_16_FN2O_L3.1_SOFTFLAGS
++ SUM_L3.3_CUT_16_FN2O_L3.1_FLAGS
++ FLAG_L3.3_CUT_16_FN2O_L3.1_QCF
++ FN2O_L3.1_L3.3_CUT_16_QCF
++ FN2O_L3.1_L3.3_CUT_16_QCF0
++ FLAG_L3.3_CUT_50_FN2O_L3.1_USTAR_TEST
++ SUM_L3.3_CUT_50_FN2O_L3.1_HARDFLAGS
++ SUM_L3.3_CUT_50_FN2O_L3.1_SOFTFLAGS
++ SUM_L3.3_CUT_50_FN2O_L3.1_FLAGS
++ FLAG_L3.3_CUT_50_FN2O_L3.1_QCF
++ FN2O_L3.1_L3.3_CUT_50_QCF
++ FN2O_L3.1_L3.3_CUT_50_QCF0
++ FLAG_L3.3_CUT_84_FN2O_L3.1_USTAR_TEST
++ SUM_L3.3_CUT_84_FN2O_L3.1_HARDFLAGS
++ SUM_L3.3_CUT_84_FN2O_L3.1_SOFTFLAGS
++ SUM_L3.3_CUT_84_FN2O_L3.1_FLAGS
++ FLAG_L3.3_CUT_84_FN2O_L3.1_QCF
++ FN2O_L3.1_L3.3_CUT_84_QCF
++ FN2O_L3.1_L3.3_CUT_84_QCF0
++ FN2O_L3.1_L3.3_CUT_16_QCF_gfRF
++ FLAG_FN2O_L3.1_L3.3_CUT_16_QCF_gfRF_ISFILLED
++ FN2O_L3.1_L3.3_CUT_50_QCF_gfRF
++ FLAG_FN2O_L3.1_L3.3_CUT_50_QCF_gfRF_ISFILLED
++ FN2O_L3.1_L3.3_CUT_84_QCF_gfRF
++ FLAG_FN2O_L3.1_L3.3_CUT_84_QCF_gfRF_ISFILLED
.PREC_RAIN_TOT_GF1_0.5_1_MEAN3H-12 .PREC_RAIN_TOT_GF1_0.5_1_MEAN3H-18 .PREC_RAIN_TOT_GF1_0.5_1_MEAN3H-24 .PREC_RAIN_TOT_GF1_0.5_1_MEAN3H-6 .SWC_GF1_0.15_1_gfXG_MEAN3H-12 .SWC_GF1_0.15_1_gfXG_MEAN3H-18 .SWC_GF1_0.15_1_gfXG_MEAN3H-24 .SWC_GF1_0.15_1_gfXG_MEAN3H-6 .TS_GF1_0.04_1_gfXG_MEAN3H-12 .TS_GF1_0.04_1_gfXG_MEAN3H-18 .TS_GF1_0.04_1_gfXG_MEAN3H-24 .TS_GF1_0.04_1_gfXG_MEAN3H-6 .TS_GF1_0.15_1_gfXG_MEAN3H-12 .TS_GF1_0.15_1_gfXG_MEAN3H-18 .TS_GF1_0.15_1_gfXG_MEAN3H-24 ... FN2O_L3.1_L3.3_CUT_50_QCF FN2O_L3.1_L3.3_CUT_50_QCF0 FLAG_L3.3_CUT_84_FN2O_L3.1_USTAR_TEST SUM_L3.3_CUT_84_FN2O_L3.1_HARDFLAGS SUM_L3.3_CUT_84_FN2O_L3.1_SOFTFLAGS SUM_L3.3_CUT_84_FN2O_L3.1_FLAGS FLAG_L3.3_CUT_84_FN2O_L3.1_QCF FN2O_L3.1_L3.3_CUT_84_QCF FN2O_L3.1_L3.3_CUT_84_QCF0 FN2O_L3.1_L3.3_CUT_16_QCF_gfRF FLAG_FN2O_L3.1_L3.3_CUT_16_QCF_gfRF_ISFILLED FN2O_L3.1_L3.3_CUT_50_QCF_gfRF FLAG_FN2O_L3.1_L3.3_CUT_50_QCF_gfRF_ISFILLED FN2O_L3.1_L3.3_CUT_84_QCF_gfRF FLAG_FN2O_L3.1_L3.3_CUT_84_QCF_gfRF_ISFILLED
TIMESTAMP_MIDDLE
2005-01-01 00:15:00 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2005-01-01 00:45:00 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2005-01-01 01:15:00 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2005-01-01 01:45:00 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2005-01-01 02:15:00 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
2024-12-31 21:45:00 0.0 0.0 0.0 0.0 52.229004 52.226300 52.226689 52.216796 3.458828 3.150402 3.115260 3.660897 4.335667 4.347764 4.385967 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2024-12-31 22:15:00 0.0 0.0 0.0 0.0 52.227858 52.227986 52.224528 52.214211 3.522570 3.187638 3.103440 3.643396 4.338551 4.342880 4.379524 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2024-12-31 22:45:00 0.0 0.0 0.0 0.0 52.226640 52.229837 52.222456 52.209876 3.578745 3.230037 3.095339 3.624025 4.343767 4.339440 4.372636 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2024-12-31 23:15:00 0.0 0.0 0.0 0.0 52.224375 52.231151 52.221324 52.238293 3.624160 3.278488 3.093806 3.601135 4.350872 4.336333 4.366082 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2024-12-31 23:45:00 0.0 0.0 0.0 0.0 52.222007 52.230632 52.222701 52.273511 3.656167 3.331678 3.103003 3.579020 4.360311 4.334225 4.359530 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN

350640 rows × 729 columns

Add results for CH4#

newcols = [c for c in ch4.columns if c not in maindf]
print("NEW VARIABLES FROM FLUX PROCESSING CHAIN:")
[print(f"++ {c}") for c in newcols]
maindf = pd.concat([maindf, ch4[newcols]], axis=1)
maindf
NEW VARIABLES FROM FLUX PROCESSING CHAIN:
++ FLAG_L2_FCH4_MISSING_TEST
++ FLAG_L2_FCH4_SSITC_TEST
++ FLAG_L2_FCH4_COMPLETENESS_TEST
++ FLAG_L2_FCH4_SCF_TEST
++ FLAG_L2_FCH4_CH4_VM97_SPIKE_HF_TEST
++ FLAG_L2_FCH4_CH4_VM97_AMPLITUDE_RESOLUTION_HF_TEST
++ FLAG_L2_FCH4_CH4_VM97_DROPOUT_TEST
++ FLAG_L2_FCH4_VM97_AOA_HF_TEST
++ SUM_L2_FCH4_HARDFLAGS
++ SUM_L2_FCH4_SOFTFLAGS
++ SUM_L2_FCH4_FLAGS
++ FLAG_L2_FCH4_QCF
++ FCH4_L2_QCF
++ FCH4_L2_QCF0
++ SCH4_SINGLE_gfRMED_L3.1
++ FLAG_SCH4_SINGLE_gfRMED_L3.1_ISFILLED
++ FCH4_L3.1
++ FCH4_L3.1_QCF
++ FCH4_L3.1_QCF0
++ FLAG_L3.2_FCH4_L3.1_QCF_OUTLIER_ABSLIM_TEST
++ FLAG_L3.2_FCH4_L3.1_QCF_OUTLIER_ZSCOREROLLING_TEST
++ FLAG_L3.2_FCH4_L3.1_QCF_OUTLIER_LOCALSD_TEST
++ SUM_L3.2_FCH4_L3.1_HARDFLAGS
++ SUM_L3.2_FCH4_L3.1_SOFTFLAGS
++ SUM_L3.2_FCH4_L3.1_FLAGS
++ FLAG_L3.2_FCH4_L3.1_QCF
++ FCH4_L3.1_L3.2_QCF
++ FCH4_L3.1_L3.2_QCF0
++ FLAG_L3.3_CUT_16_FCH4_L3.1_USTAR_TEST
++ SUM_L3.3_CUT_16_FCH4_L3.1_HARDFLAGS
++ SUM_L3.3_CUT_16_FCH4_L3.1_SOFTFLAGS
++ SUM_L3.3_CUT_16_FCH4_L3.1_FLAGS
++ FLAG_L3.3_CUT_16_FCH4_L3.1_QCF
++ FCH4_L3.1_L3.3_CUT_16_QCF
++ FCH4_L3.1_L3.3_CUT_16_QCF0
++ FLAG_L3.3_CUT_50_FCH4_L3.1_USTAR_TEST
++ SUM_L3.3_CUT_50_FCH4_L3.1_HARDFLAGS
++ SUM_L3.3_CUT_50_FCH4_L3.1_SOFTFLAGS
++ SUM_L3.3_CUT_50_FCH4_L3.1_FLAGS
++ FLAG_L3.3_CUT_50_FCH4_L3.1_QCF
++ FCH4_L3.1_L3.3_CUT_50_QCF
++ FCH4_L3.1_L3.3_CUT_50_QCF0
++ FLAG_L3.3_CUT_84_FCH4_L3.1_USTAR_TEST
++ SUM_L3.3_CUT_84_FCH4_L3.1_HARDFLAGS
++ SUM_L3.3_CUT_84_FCH4_L3.1_SOFTFLAGS
++ SUM_L3.3_CUT_84_FCH4_L3.1_FLAGS
++ FLAG_L3.3_CUT_84_FCH4_L3.1_QCF
++ FCH4_L3.1_L3.3_CUT_84_QCF
++ FCH4_L3.1_L3.3_CUT_84_QCF0
++ FCH4_L3.1_L3.3_CUT_16_QCF_gfRF
++ FLAG_FCH4_L3.1_L3.3_CUT_16_QCF_gfRF_ISFILLED
++ FCH4_L3.1_L3.3_CUT_50_QCF_gfRF
++ FLAG_FCH4_L3.1_L3.3_CUT_50_QCF_gfRF_ISFILLED
++ FCH4_L3.1_L3.3_CUT_84_QCF_gfRF
++ FLAG_FCH4_L3.1_L3.3_CUT_84_QCF_gfRF_ISFILLED
.PREC_RAIN_TOT_GF1_0.5_1_MEAN3H-12 .PREC_RAIN_TOT_GF1_0.5_1_MEAN3H-18 .PREC_RAIN_TOT_GF1_0.5_1_MEAN3H-24 .PREC_RAIN_TOT_GF1_0.5_1_MEAN3H-6 .SWC_GF1_0.15_1_gfXG_MEAN3H-12 .SWC_GF1_0.15_1_gfXG_MEAN3H-18 .SWC_GF1_0.15_1_gfXG_MEAN3H-24 .SWC_GF1_0.15_1_gfXG_MEAN3H-6 .TS_GF1_0.04_1_gfXG_MEAN3H-12 .TS_GF1_0.04_1_gfXG_MEAN3H-18 .TS_GF1_0.04_1_gfXG_MEAN3H-24 .TS_GF1_0.04_1_gfXG_MEAN3H-6 .TS_GF1_0.15_1_gfXG_MEAN3H-12 .TS_GF1_0.15_1_gfXG_MEAN3H-18 .TS_GF1_0.15_1_gfXG_MEAN3H-24 ... FCH4_L3.1_L3.3_CUT_50_QCF FCH4_L3.1_L3.3_CUT_50_QCF0 FLAG_L3.3_CUT_84_FCH4_L3.1_USTAR_TEST SUM_L3.3_CUT_84_FCH4_L3.1_HARDFLAGS SUM_L3.3_CUT_84_FCH4_L3.1_SOFTFLAGS SUM_L3.3_CUT_84_FCH4_L3.1_FLAGS FLAG_L3.3_CUT_84_FCH4_L3.1_QCF FCH4_L3.1_L3.3_CUT_84_QCF FCH4_L3.1_L3.3_CUT_84_QCF0 FCH4_L3.1_L3.3_CUT_16_QCF_gfRF FLAG_FCH4_L3.1_L3.3_CUT_16_QCF_gfRF_ISFILLED FCH4_L3.1_L3.3_CUT_50_QCF_gfRF FLAG_FCH4_L3.1_L3.3_CUT_50_QCF_gfRF_ISFILLED FCH4_L3.1_L3.3_CUT_84_QCF_gfRF FLAG_FCH4_L3.1_L3.3_CUT_84_QCF_gfRF_ISFILLED
TIMESTAMP_MIDDLE
2005-01-01 00:15:00 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2005-01-01 00:45:00 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2005-01-01 01:15:00 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2005-01-01 01:45:00 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2005-01-01 02:15:00 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
2024-12-31 21:45:00 0.0 0.0 0.0 0.0 52.229004 52.226300 52.226689 52.216796 3.458828 3.150402 3.115260 3.660897 4.335667 4.347764 4.385967 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2024-12-31 22:15:00 0.0 0.0 0.0 0.0 52.227858 52.227986 52.224528 52.214211 3.522570 3.187638 3.103440 3.643396 4.338551 4.342880 4.379524 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2024-12-31 22:45:00 0.0 0.0 0.0 0.0 52.226640 52.229837 52.222456 52.209876 3.578745 3.230037 3.095339 3.624025 4.343767 4.339440 4.372636 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2024-12-31 23:15:00 0.0 0.0 0.0 0.0 52.224375 52.231151 52.221324 52.238293 3.624160 3.278488 3.093806 3.601135 4.350872 4.336333 4.366082 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2024-12-31 23:45:00 0.0 0.0 0.0 0.0 52.222007 52.230632 52.222701 52.273511 3.656167 3.331678 3.103003 3.579020 4.360311 4.334225 4.359530 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN

350640 rows × 784 columns

Add results for GPP, RECO#

newcols = [c for c in gpp_reco.columns if c not in maindf]
print("NEW VARIABLES FROM PARTITIONING:")
[print(f"++ {c}") for c in newcols]
maindf = pd.concat([maindf, gpp_reco[newcols]], axis=1)
maindf
NEW VARIABLES FROM PARTITIONING:
++ RECO_NT_CUT_16_gfRF
++ GPP_NT_CUT_16_gfRF
++ RECO_DT_CUT_16_gfRF
++ GPP_DT_CUT_16_gfRF
++ RECO_DT_CUT_16_gfRF_SD
++ GPP_DT_CUT_16_gfRF_SD
++ RECO_NT_CUT_84_gfRF
++ GPP_NT_CUT_84_gfRF
++ RECO_DT_CUT_84_gfRF
++ GPP_DT_CUT_84_gfRF
++ RECO_DT_CUT_84_gfRF_SD
++ GPP_DT_CUT_84_gfRF_SD
++ RECO_NT_CUT_50_gfRF
++ GPP_NT_CUT_50_gfRF
++ RECO_DT_CUT_50_gfRF
++ GPP_DT_CUT_50_gfRF
++ RECO_DT_CUT_50_gfRF_SD
++ GPP_DT_CUT_50_gfRF_SD
.PREC_RAIN_TOT_GF1_0.5_1_MEAN3H-12 .PREC_RAIN_TOT_GF1_0.5_1_MEAN3H-18 .PREC_RAIN_TOT_GF1_0.5_1_MEAN3H-24 .PREC_RAIN_TOT_GF1_0.5_1_MEAN3H-6 .SWC_GF1_0.15_1_gfXG_MEAN3H-12 .SWC_GF1_0.15_1_gfXG_MEAN3H-18 .SWC_GF1_0.15_1_gfXG_MEAN3H-24 .SWC_GF1_0.15_1_gfXG_MEAN3H-6 .TS_GF1_0.04_1_gfXG_MEAN3H-12 .TS_GF1_0.04_1_gfXG_MEAN3H-18 .TS_GF1_0.04_1_gfXG_MEAN3H-24 .TS_GF1_0.04_1_gfXG_MEAN3H-6 .TS_GF1_0.15_1_gfXG_MEAN3H-12 .TS_GF1_0.15_1_gfXG_MEAN3H-18 .TS_GF1_0.15_1_gfXG_MEAN3H-24 ... GPP_DT_CUT_16_gfRF RECO_DT_CUT_16_gfRF_SD GPP_DT_CUT_16_gfRF_SD RECO_NT_CUT_84_gfRF GPP_NT_CUT_84_gfRF RECO_DT_CUT_84_gfRF GPP_DT_CUT_84_gfRF RECO_DT_CUT_84_gfRF_SD GPP_DT_CUT_84_gfRF_SD RECO_NT_CUT_50_gfRF GPP_NT_CUT_50_gfRF RECO_DT_CUT_50_gfRF GPP_DT_CUT_50_gfRF RECO_DT_CUT_50_gfRF_SD GPP_DT_CUT_50_gfRF_SD
TIMESTAMP_MIDDLE
2005-01-01 00:15:00 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... 0.0 0.293865 0.0 1.746895 1.105825 0.089205 0.0 0.122912 0.0 1.830543 0.918553 0.093071 0.0 0.080016 0.0
2005-01-01 00:45:00 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... 0.0 0.292817 0.0 1.744107 1.101436 0.088843 0.0 0.122413 0.0 1.828898 0.917972 0.092682 0.0 0.079688 0.0
2005-01-01 01:15:00 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... 0.0 0.293865 0.0 1.746895 0.462104 0.089205 0.0 0.122912 0.0 1.830543 0.163001 0.093071 0.0 0.080016 0.0
2005-01-01 01:45:00 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... 0.0 0.293865 0.0 1.746895 0.460866 0.089205 0.0 0.122912 0.0 1.830543 0.190890 0.093071 0.0 0.080016 0.0
2005-01-01 02:15:00 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... 0.0 0.291772 0.0 1.741320 0.402870 0.088482 0.0 0.121916 0.0 1.827253 0.167042 0.092295 0.0 0.079361 0.0
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
2024-12-31 21:45:00 0.0 0.0 0.0 0.0 52.229004 52.226300 52.226689 52.216796 3.458828 3.150402 3.115260 3.660897 4.335667 4.347764 4.385967 ... 0.0 0.365033 0.0 0.946163 -0.264334 1.500257 0.0 0.321281 0.0 0.825725 -0.334996 1.091028 0.0 0.265808 0.0
2024-12-31 22:15:00 0.0 0.0 0.0 0.0 52.227858 52.227986 52.224528 52.214211 3.522570 3.187638 3.103440 3.643396 4.338551 4.342880 4.379524 ... 0.0 0.359192 0.0 0.936404 -0.261633 1.482391 0.0 0.321697 0.0 0.820921 -0.310533 1.078751 0.0 0.264327 0.0
2024-12-31 22:45:00 0.0 0.0 0.0 0.0 52.226640 52.229837 52.222456 52.209876 3.578745 3.230037 3.095339 3.624025 4.343767 4.339440 4.372636 ... 0.0 0.359670 0.0 0.937206 -0.109761 1.483858 0.0 0.321663 0.0 0.821317 -0.225651 1.079759 0.0 0.264447 0.0
2024-12-31 23:15:00 0.0 0.0 0.0 0.0 52.224375 52.231151 52.221324 52.238293 3.624160 3.278488 3.093806 3.601135 4.350872 4.336333 4.366082 ... 0.0 0.351404 0.0 0.923204 -0.449470 1.458274 0.0 0.322279 0.0 0.814389 -0.558285 1.062164 0.0 0.262373 0.0
2024-12-31 23:45:00 0.0 0.0 0.0 0.0 52.222007 52.230632 52.222701 52.273511 3.656167 3.331678 3.103003 3.579020 4.360311 4.334225 4.359530 ... 0.0 0.344608 0.0 0.911507 -0.234188 1.436947 0.0 0.322807 0.0 0.808567 -0.317543 1.047483 0.0 0.260688 0.0

350640 rows × 802 columns

Add results for more meteo data#

newcols = [c for c in more_meteo.columns if c not in maindf]
print("NEW ADDITIONAL METEO VARIABLES:")
[print(f"++ {c}") for c in newcols]
maindf = pd.concat([maindf, more_meteo[newcols]], axis=1)
maindf
NEW ADDITIONAL METEO VARIABLES:
++ G_GF1_0.03_1
++ G_GF1_0.03_2
++ G_GF1_0.05_1
++ G_GF1_0.05_2
++ G_GF4_0.02_1
++ G_GF5_0.02_1
++ LW_OUT_T1_2_1
++ NETRAD_T1_2_1
++ PPFD_OUT_T1_2_2
++ SW_OUT_T1_2_1
.PREC_RAIN_TOT_GF1_0.5_1_MEAN3H-12 .PREC_RAIN_TOT_GF1_0.5_1_MEAN3H-18 .PREC_RAIN_TOT_GF1_0.5_1_MEAN3H-24 .PREC_RAIN_TOT_GF1_0.5_1_MEAN3H-6 .SWC_GF1_0.15_1_gfXG_MEAN3H-12 .SWC_GF1_0.15_1_gfXG_MEAN3H-18 .SWC_GF1_0.15_1_gfXG_MEAN3H-24 .SWC_GF1_0.15_1_gfXG_MEAN3H-6 .TS_GF1_0.04_1_gfXG_MEAN3H-12 .TS_GF1_0.04_1_gfXG_MEAN3H-18 .TS_GF1_0.04_1_gfXG_MEAN3H-24 .TS_GF1_0.04_1_gfXG_MEAN3H-6 .TS_GF1_0.15_1_gfXG_MEAN3H-12 .TS_GF1_0.15_1_gfXG_MEAN3H-18 .TS_GF1_0.15_1_gfXG_MEAN3H-24 ... GPP_NT_CUT_50_gfRF RECO_DT_CUT_50_gfRF GPP_DT_CUT_50_gfRF RECO_DT_CUT_50_gfRF_SD GPP_DT_CUT_50_gfRF_SD G_GF1_0.03_1 G_GF1_0.03_2 G_GF1_0.05_1 G_GF1_0.05_2 G_GF4_0.02_1 G_GF5_0.02_1 LW_OUT_T1_2_1 NETRAD_T1_2_1 PPFD_OUT_T1_2_2 SW_OUT_T1_2_1
TIMESTAMP_MIDDLE
2005-01-01 00:15:00 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... 0.918553 0.093071 0.0 0.080016 0.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2005-01-01 00:45:00 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... 0.917972 0.092682 0.0 0.079688 0.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2005-01-01 01:15:00 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... 0.163001 0.093071 0.0 0.080016 0.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2005-01-01 01:45:00 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... 0.190890 0.093071 0.0 0.080016 0.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2005-01-01 02:15:00 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... 0.167042 0.092295 0.0 0.079361 0.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
2024-12-31 21:45:00 0.0 0.0 0.0 0.0 52.229004 52.226300 52.226689 52.216796 3.458828 3.150402 3.115260 3.660897 4.335667 4.347764 4.385967 ... -0.334996 1.091028 0.0 0.265808 0.0 NaN NaN -9.097370 -7.880106 NaN NaN 311.167160 -5.883538 0.0 0.0
2024-12-31 22:15:00 0.0 0.0 0.0 0.0 52.227858 52.227986 52.224528 52.214211 3.522570 3.187638 3.103440 3.643396 4.338551 4.342880 4.379524 ... -0.310533 1.078751 0.0 0.264327 0.0 NaN NaN -9.561669 -8.172388 NaN NaN 310.079817 -6.269816 0.0 0.0
2024-12-31 22:45:00 0.0 0.0 0.0 0.0 52.226640 52.229837 52.222456 52.209876 3.578745 3.230037 3.095339 3.624025 4.343767 4.339440 4.372636 ... -0.225651 1.079759 0.0 0.264447 0.0 NaN NaN -10.138718 -8.527732 NaN NaN 309.604987 -6.934394 0.0 0.0
2024-12-31 23:15:00 0.0 0.0 0.0 0.0 52.224375 52.231151 52.221324 52.238293 3.624160 3.278488 3.093806 3.601135 4.350872 4.336333 4.366082 ... -0.558285 1.062164 0.0 0.262373 0.0 NaN NaN -10.649611 -8.871628 NaN NaN 308.812117 -5.696729 0.0 0.0
2024-12-31 23:45:00 0.0 0.0 0.0 0.0 52.222007 52.230632 52.222701 52.273511 3.656167 3.331678 3.103003 3.579020 4.360311 4.334225 4.359530 ... -0.317543 1.047483 0.0 0.260688 0.0 NaN NaN -10.944774 -9.138224 NaN NaN 307.372117 -8.102484 0.0 0.0

350640 rows × 812 columns

Export#

Export all data#

filename = "81.1_FLUXES_M15_MGMT_L4.2_NEE_GPP_RECO_LE_H_FN2O_FCH4"
maindf.to_csv(f"{filename}.csv", index=True)
save_parquet(data=maindf, filename=filename)
Saved file 81.1_FLUXES_M15_MGMT_L4.2_NEE_GPP_RECO_LE_H_FN2O_FCH4.parquet (8.263 seconds).
'81.1_FLUXES_M15_MGMT_L4.2_NEE_GPP_RECO_LE_H_FN2O_FCH4.parquet'

End of notebook#

Congratulations, you reached the end of this notebook! Before you go let’s store your finish time.

from datetime import datetime
dt_string = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
print(f"Finished. {dt_string}")
Finished. 2025-05-16 12:13:06