<jupyter_start><jupyter_text>Import Occultation Data<jupyter_code># Import occultation data
#import april with data on which year of occultation was taken
march_year_info = np.load('/usb/monthly_diurnal_cycle_data_occultations/march_cosmic_diurnal_cycles_TLS_year_info.npy', allow_pickle=True)
april_year_info = np.load('/usb/monthly_diurnal_cycle_data_occultations/april_cosmic_diurnal_cycles_TLS_year_info.npy', allow_pickle=True)
may_year_info = np.load('/usb/monthly_diurnal_cycle_data_occultations/may_cosmic_diurnal_cycles_TLS_year_info.npy', allow_pickle=True)

march_year_info_metopa = np.load('/usb/monthly_diurnal_cycle_data_occultations/march_metop_A_diurnal_cycles_TLS_year_info.npy', allow_pickle=True)
april_year_info_metopa = np.load('/usb/monthly_diurnal_cycle_data_occultations/april_metop_A_diurnal_cycles_TLS_year_info.npy', allow_pickle=True)
may_year_info_metopa = np.load('/usb/monthly_diurnal_cycle_data_occultations/may_metop_A_diurnal_cycles_TLS_year_info.npy', allow_pickle=True)

march_year_info_metopb = np.load('/usb/monthly_diurnal_cycle_data_occultations/march_metop_B_diurnal_cycles_TLS_year_info.npy', allow_pickle=True)
april_year_info_metopb = np.load('/usb/monthly_diurnal_cycle_data_occultations/april_metop_B_diurnal_cycles_TLS_year_info.npy', allow_pickle=True)
may_year_info_metopb = np.load('/usb/monthly_diurnal_cycle_data_occultations/may_metop_B_diurnal_cycles_TLS_year_info.npy', allow_pickle=True)

march_year_info_grace = np.load('/usb/monthly_diurnal_cycle_data_occultations/march_grace_diurnal_cycles_TLS_year_info.npy', allow_pickle=True)
april_year_info_grace = np.load('/usb/monthly_diurnal_cycle_data_occultations/april_grace_diurnal_cycles_TLS_year_info.npy', allow_pickle=True)
may_year_info_grace = np.load('/usb/monthly_diurnal_cycle_data_occultations/may_grace_diurnal_cycles_TLS_year_info.npy', allow_pickle=True)

march_year_info_tsx = np.load('/usb/monthly_diurnal_cycle_data_occultations/march_tsx_diurnal_cycles_TLS_year_info.npy', allow_pickle=True)
april_year_info_tsx = np.load('/usb/monthly_diurnal_cycle_data_occultations/april_tsx_diurnal_cycles_TLS_year_info.npy', allow_pickle=True)
may_year_info_tsx = np.load('/usb/monthly_diurnal_cycle_data_occultations/may_tsx_diurnal_cycles_TLS_year_info.npy', allow_pickle=True)

march_year_info_kompsat5 = np.load('/usb/monthly_diurnal_cycle_data_occultations/march_kompsat5_diurnal_cycles_TLS_year_info.npy', allow_pickle=True)
april_year_info_kompsat5 = np.load('/usb/monthly_diurnal_cycle_data_occultations/april_kompsat5_diurnal_cycles_TLS_year_info.npy', allow_pickle=True)
may_year_info_kompsat5 = np.load('/usb/monthly_diurnal_cycle_data_occultations/may_kompsat5_diurnal_cycles_TLS_year_info.npy', allow_pickle=True)

march_year_info_paz = np.load('/usb/monthly_diurnal_cycle_data_occultations/march_paz_diurnal_cycles_TLS_year_info.npy', allow_pickle=True)
april_year_info_paz = np.load('/usb/monthly_diurnal_cycle_data_occultations/april_paz_diurnal_cycles_TLS_year_info.npy', allow_pickle=True)
may_year_info_paz = np.load('/usb/monthly_diurnal_cycle_data_occultations/may_paz_diurnal_cycles_TLS_year_info.npy', allow_pickle=True)

march_year_info_cosmic2 = np.load('/usb/monthly_diurnal_cycle_data_occultations/march_cosmic2_diurnal_cycles_TLS_year_info.npy', allow_pickle=True)
april_year_info_cosmic2 = np.load('/usb/monthly_diurnal_cycle_data_occultations/april_cosmic2_diurnal_cycles_TLS_year_info.npy', allow_pickle=True)
may_year_info_cosmic2 = np.load('/usb/monthly_diurnal_cycle_data_occultations/may_cosmic2_diurnal_cycles_TLS_year_info.npy', allow_pickle=True)

march_year_info_sacc = np.load('/usb/monthly_diurnal_cycle_data_occultations/march_sacc_diurnal_cycles_TLS_year_info.npy', allow_pickle=True)
april_year_info_sacc = np.load('/usb/monthly_diurnal_cycle_data_occultations/april_sacc_diurnal_cycles_TLS_year_info.npy', allow_pickle=True)
may_year_info_sacc = np.load('/usb/monthly_diurnal_cycle_data_occultations/may_sacc_diurnal_cycles_TLS_year_info.npy', allow_pickle=True)

march_year_info_tdx = np.load('/usb/monthly_diurnal_cycle_data_occultations/march_tdx_diurnal_cycles_TLS_year_info.npy', allow_pickle=True)
april_year_info_tdx = np.load('/usb/monthly_diurnal_cycle_data_occultations/april_tdx_diurnal_cycles_TLS_year_info.npy', allow_pickle=True)
may_year_info_tdx = np.load('/usb/monthly_diurnal_cycle_data_occultations/may_tdx_diurnal_cycles_TLS_year_info.npy', allow_pickle=True)

march_year_info_metopc = np.load('/usb/monthly_diurnal_cycle_data_occultations/march_metopc_diurnal_cycles_TLS_year_info.npy', allow_pickle=True)
april_year_info_metopc = np.load('/usb/monthly_diurnal_cycle_data_occultations/april_metopc_diurnal_cycles_TLS_year_info.npy', allow_pickle=True)
may_year_info_metopc = np.load('/usb/monthly_diurnal_cycle_data_occultations/may_metopc_diurnal_cycles_TLS_year_info.npy', allow_pickle=True)


apr_data = np.concatenate((april_year_info.T, april_year_info_metopa.T, april_year_info_metopb.T, 
                           april_year_info_grace.T, april_year_info_tsx.T, april_year_info_kompsat5.T, 
                           april_year_info_cosmic2.T, april_year_info_paz.T, april_year_info_sacc.T, 
                           april_year_info_tdx.T, april_year_info_metopc.T))
may_data = np.concatenate((may_year_info.T, may_year_info_metopa.T, may_year_info_metopb.T,
                           may_year_info_grace.T, may_year_info_tsx.T, may_year_info_kompsat5.T, 
                           may_year_info_cosmic2.T, may_year_info_paz.T, may_year_info_sacc.T, 
                           may_year_info_tdx.T, may_year_info_metopc.T))
mar_data = np.concatenate((march_year_info.T, march_year_info_metopa.T, march_year_info_metopb.T, 
                           march_year_info_grace.T, march_year_info_tsx.T, march_year_info_kompsat5.T, 
                           march_year_info_cosmic2.T, march_year_info_paz.T, march_year_info_sacc.T, 
                           march_year_info_tdx.T, march_year_info_metopc.T))

#create dataframes for season
apr_year_info_df = pd.DataFrame(apr_data, columns=['Lat', 'Lon', 'Year', 'Day', 'Hour', 'Temp'])
may_year_info_df = pd.DataFrame(may_data, columns=['Lat', 'Lon', 'Year', 'Day', 'Hour', 'Temp'])
mar_year_info_df = pd.DataFrame(mar_data, columns=['Lat', 'Lon', 'Year', 'Day', 'Hour', 'Temp'])

# Round hours to nearest integer
to_int_hour = lambda x: int(x)
mar_year_info_df["Hour"] = mar_year_info_df.Hour.map(to_int_hour)
apr_year_info_df["Hour"] = apr_year_info_df.Hour.map(to_int_hour)
may_year_info_df["Hour"] = may_year_info_df.Hour.map(to_int_hour)<jupyter_output><empty_output><jupyter_text>Import ERA-5 Data<jupyter_code>era_5_apr_06_5x10 = np.load('../../ERA_5_monthly_TLS_maps/april_2006_ERA_5_daily_zonal_mean_TLS_map_5_10.npy', allow_pickle=True)
era_5_apr_07_5x10 = np.load('../../ERA_5_monthly_TLS_maps/april_2007_ERA_5_daily_zonal_mean_TLS_map_5_10.npy', allow_pickle=True)
era_5_apr_08_5x10 = np.load('../../ERA_5_monthly_TLS_maps/april_2008_ERA_5_daily_zonal_mean_TLS_map_5_10.npy', allow_pickle=True)
era_5_apr_09_5x10 = np.load('../../ERA_5_monthly_TLS_maps/april_2009_ERA_5_daily_zonal_mean_TLS_map_5_10.npy', allow_pickle=True)
era_5_apr_10_5x10 = np.load('../../ERA_5_monthly_TLS_maps/april_2010_ERA_5_daily_zonal_mean_TLS_map_5_10.npy', allow_pickle=True)
era_5_apr_11_5x10 = np.load('../../ERA_5_monthly_TLS_maps/april_2011_ERA_5_daily_zonal_mean_TLS_map_5_10.npy', allow_pickle=True)
era_5_apr_12_5x10 = np.load('../../ERA_5_monthly_TLS_maps/april_2012_ERA_5_daily_zonal_mean_TLS_map_5_10.npy', allow_pickle=True)
era_5_apr_13_5x10 = np.load('../../ERA_5_monthly_TLS_maps/april_2013_ERA_5_daily_zonal_mean_TLS_map_5_10.npy', allow_pickle=True)
era_5_apr_14_5x10 = np.load('../../ERA_5_monthly_TLS_maps/april_2014_ERA_5_daily_zonal_mean_TLS_map_5_10.npy', allow_pickle=True)
era_5_apr_15_5x10 = np.load('../../ERA_5_monthly_TLS_maps/april_2015_ERA_5_daily_zonal_mean_TLS_map_5_10.npy', allow_pickle=True)
era_5_apr_16_5x10 = np.load('../../ERA_5_monthly_TLS_maps/april_2016_ERA_5_daily_zonal_mean_TLS_map_5_10.npy', allow_pickle=True)
era_5_apr_17_5x10 = np.load('../../ERA_5_monthly_TLS_maps/april_2017_ERA_5_daily_zonal_mean_TLS_map_5_10.npy', allow_pickle=True)
era_5_apr_18_5x10 = np.load('../../ERA_5_monthly_TLS_maps/april_2018_ERA_5_daily_zonal_mean_TLS_map_5_10.npy', allow_pickle=True)
era_5_apr_19_5x10 = np.load('../../ERA_5_monthly_TLS_maps/april_2019_ERA_5_daily_zonal_mean_TLS_map_5_10.npy', allow_pickle=True)
era_5_apr_20_5x10 = np.load('../../ERA_5_monthly_TLS_maps/april_2020_ERA_5_daily_zonal_mean_TLS_map_5_10.npy', allow_pickle=True)

era_5_may_06_5x10 = np.load('../../ERA_5_monthly_TLS_maps/may_2006_ERA_5_daily_zonal_mean_TLS_map_5_10.npy', allow_pickle=True)
era_5_may_07_5x10 = np.load('../../ERA_5_monthly_TLS_maps/may_2007_ERA_5_daily_zonal_mean_TLS_map_5_10.npy', allow_pickle=True)
era_5_may_08_5x10 = np.load('../../ERA_5_monthly_TLS_maps/may_2008_ERA_5_daily_zonal_mean_TLS_map_5_10.npy', allow_pickle=True)
era_5_may_09_5x10 = np.load('../../ERA_5_monthly_TLS_maps/may_2009_ERA_5_daily_zonal_mean_TLS_map_5_10.npy', allow_pickle=True)
era_5_may_10_5x10 = np.load('../../ERA_5_monthly_TLS_maps/may_2010_ERA_5_daily_zonal_mean_TLS_map_5_10.npy', allow_pickle=True)
era_5_may_11_5x10 = np.load('../../ERA_5_monthly_TLS_maps/may_2011_ERA_5_daily_zonal_mean_TLS_map_5_10.npy', allow_pickle=True)
era_5_may_12_5x10 = np.load('../../ERA_5_monthly_TLS_maps/may_2012_ERA_5_daily_zonal_mean_TLS_map_5_10.npy', allow_pickle=True)
era_5_may_13_5x10 = np.load('../../ERA_5_monthly_TLS_maps/may_2013_ERA_5_daily_zonal_mean_TLS_map_5_10.npy', allow_pickle=True)
era_5_may_14_5x10 = np.load('../../ERA_5_monthly_TLS_maps/may_2014_ERA_5_daily_zonal_mean_TLS_map_5_10.npy', allow_pickle=True)
era_5_may_15_5x10 = np.load('../../ERA_5_monthly_TLS_maps/may_2015_ERA_5_daily_zonal_mean_TLS_map_5_10.npy', allow_pickle=True)
era_5_may_16_5x10 = np.load('../../ERA_5_monthly_TLS_maps/may_2016_ERA_5_daily_zonal_mean_TLS_map_5_10.npy', allow_pickle=True)
era_5_may_17_5x10 = np.load('../../ERA_5_monthly_TLS_maps/may_2017_ERA_5_daily_zonal_mean_TLS_map_5_10.npy', allow_pickle=True)
era_5_may_18_5x10 = np.load('../../ERA_5_monthly_TLS_maps/may_2018_ERA_5_daily_zonal_mean_TLS_map_5_10.npy', allow_pickle=True)
era_5_may_19_5x10 = np.load('../../ERA_5_monthly_TLS_maps/may_2019_ERA_5_daily_zonal_mean_TLS_map_5_10.npy', allow_pickle=True)
era_5_may_20_5x10 = np.load('../../ERA_5_monthly_TLS_maps/may_2020_ERA_5_daily_zonal_mean_TLS_map_5_10.npy', allow_pickle=True)

era_5_mar_06_5x10 = np.load('../../ERA_5_monthly_TLS_maps/march_2006_ERA_5_daily_zonal_mean_TLS_map_5_10.npy', allow_pickle=True)
era_5_mar_07_5x10 = np.load('../../ERA_5_monthly_TLS_maps/march_2007_ERA_5_daily_zonal_mean_TLS_map_5_10.npy', allow_pickle=True)
era_5_mar_08_5x10 = np.load('../../ERA_5_monthly_TLS_maps/march_2008_ERA_5_daily_zonal_mean_TLS_map_5_10.npy', allow_pickle=True)
era_5_mar_09_5x10 = np.load('../../ERA_5_monthly_TLS_maps/march_2009_ERA_5_daily_zonal_mean_TLS_map_5_10.npy', allow_pickle=True)
era_5_mar_10_5x10 = np.load('../../ERA_5_monthly_TLS_maps/march_2010_ERA_5_daily_zonal_mean_TLS_map_5_10.npy', allow_pickle=True)
era_5_mar_11_5x10 = np.load('../../ERA_5_monthly_TLS_maps/march_2011_ERA_5_daily_zonal_mean_TLS_map_5_10.npy', allow_pickle=True)
era_5_mar_12_5x10 = np.load('../../ERA_5_monthly_TLS_maps/march_2012_ERA_5_daily_zonal_mean_TLS_map_5_10.npy', allow_pickle=True)
era_5_mar_13_5x10 = np.load('../../ERA_5_monthly_TLS_maps/march_2013_ERA_5_daily_zonal_mean_TLS_map_5_10.npy', allow_pickle=True)
era_5_mar_14_5x10 = np.load('../../ERA_5_monthly_TLS_maps/march_2014_ERA_5_daily_zonal_mean_TLS_map_5_10.npy', allow_pickle=True)
era_5_mar_15_5x10 = np.load('../../ERA_5_monthly_TLS_maps/march_2015_ERA_5_daily_zonal_mean_TLS_map_5_10.npy', allow_pickle=True)
era_5_mar_16_5x10 = np.load('../../ERA_5_monthly_TLS_maps/march_2016_ERA_5_daily_zonal_mean_TLS_map_5_10.npy', allow_pickle=True)
era_5_mar_17_5x10 = np.load('../../ERA_5_monthly_TLS_maps/march_2017_ERA_5_daily_zonal_mean_TLS_map_5_10.npy', allow_pickle=True)
era_5_mar_18_5x10 = np.load('../../ERA_5_monthly_TLS_maps/march_2018_ERA_5_daily_zonal_mean_TLS_map_5_10.npy', allow_pickle=True)
era_5_mar_19_5x10 = np.load('../../ERA_5_monthly_TLS_maps/march_2019_ERA_5_daily_zonal_mean_TLS_map_5_10.npy', allow_pickle=True)
era_5_mar_20_5x10 = np.load('../../ERA_5_monthly_TLS_maps/march_2020_ERA_5_daily_zonal_mean_TLS_map_5_10.npy', allow_pickle=True)

era_5_mar_07_5x10_df = gpsro_tools.era5_df_switcher(era_5_mar_07_5x10)
era_5_mar_08_5x10_df = gpsro_tools.era5_df_switcher(era_5_mar_08_5x10)
era_5_mar_09_5x10_df = gpsro_tools.era5_df_switcher(era_5_mar_09_5x10)
era_5_mar_10_5x10_df = gpsro_tools.era5_df_switcher(era_5_mar_10_5x10)
era_5_mar_11_5x10_df = gpsro_tools.era5_df_switcher(era_5_mar_11_5x10)
era_5_mar_12_5x10_df = gpsro_tools.era5_df_switcher(era_5_mar_12_5x10)
era_5_mar_13_5x10_df = gpsro_tools.era5_df_switcher(era_5_mar_13_5x10)
era_5_mar_14_5x10_df = gpsro_tools.era5_df_switcher(era_5_mar_14_5x10)
era_5_mar_15_5x10_df = gpsro_tools.era5_df_switcher(era_5_mar_15_5x10)
era_5_mar_16_5x10_df = gpsro_tools.era5_df_switcher(era_5_mar_16_5x10)
era_5_mar_17_5x10_df = gpsro_tools.era5_df_switcher(era_5_mar_17_5x10)
era_5_mar_18_5x10_df = gpsro_tools.era5_df_switcher(era_5_mar_18_5x10)
era_5_mar_19_5x10_df = gpsro_tools.era5_df_switcher(era_5_mar_19_5x10)
era_5_mar_20_5x10_df = gpsro_tools.era5_df_switcher(era_5_mar_20_5x10)

era_5_apr_07_5x10_df = gpsro_tools.era5_df_switcher(era_5_apr_07_5x10)
era_5_apr_08_5x10_df = gpsro_tools.era5_df_switcher(era_5_apr_08_5x10)
era_5_apr_09_5x10_df = gpsro_tools.era5_df_switcher(era_5_apr_09_5x10)
era_5_apr_10_5x10_df = gpsro_tools.era5_df_switcher(era_5_apr_10_5x10)
era_5_apr_11_5x10_df = gpsro_tools.era5_df_switcher(era_5_apr_11_5x10)
era_5_apr_12_5x10_df = gpsro_tools.era5_df_switcher(era_5_apr_12_5x10)
era_5_apr_13_5x10_df = gpsro_tools.era5_df_switcher(era_5_apr_13_5x10)
era_5_apr_14_5x10_df = gpsro_tools.era5_df_switcher(era_5_apr_14_5x10)
era_5_apr_15_5x10_df = gpsro_tools.era5_df_switcher(era_5_apr_15_5x10)
era_5_apr_16_5x10_df = gpsro_tools.era5_df_switcher(era_5_apr_16_5x10)
era_5_apr_17_5x10_df = gpsro_tools.era5_df_switcher(era_5_apr_17_5x10)
era_5_apr_18_5x10_df = gpsro_tools.era5_df_switcher(era_5_apr_18_5x10)
era_5_apr_19_5x10_df = gpsro_tools.era5_df_switcher(era_5_apr_19_5x10)
era_5_apr_20_5x10_df = gpsro_tools.era5_df_switcher(era_5_apr_20_5x10)

era_5_may_06_5x10_df = gpsro_tools.era5_df_switcher(era_5_may_06_5x10)
era_5_may_07_5x10_df = gpsro_tools.era5_df_switcher(era_5_may_07_5x10)
era_5_may_08_5x10_df = gpsro_tools.era5_df_switcher(era_5_may_08_5x10)
era_5_may_09_5x10_df = gpsro_tools.era5_df_switcher(era_5_may_09_5x10)
era_5_may_10_5x10_df = gpsro_tools.era5_df_switcher(era_5_may_10_5x10)
era_5_may_11_5x10_df = gpsro_tools.era5_df_switcher(era_5_may_11_5x10)
era_5_may_12_5x10_df = gpsro_tools.era5_df_switcher(era_5_may_12_5x10)
era_5_may_13_5x10_df = gpsro_tools.era5_df_switcher(era_5_may_13_5x10)
era_5_may_14_5x10_df = gpsro_tools.era5_df_switcher(era_5_may_14_5x10)
era_5_may_15_5x10_df = gpsro_tools.era5_df_switcher(era_5_may_15_5x10)
era_5_may_16_5x10_df = gpsro_tools.era5_df_switcher(era_5_may_16_5x10)
era_5_may_17_5x10_df = gpsro_tools.era5_df_switcher(era_5_may_17_5x10)
era_5_may_18_5x10_df = gpsro_tools.era5_df_switcher(era_5_may_18_5x10)
era_5_may_19_5x10_df = gpsro_tools.era5_df_switcher(era_5_may_19_5x10)

era_5_mar_df = pd.concat([era_5_mar_07_5x10_df, era_5_mar_08_5x10_df, era_5_mar_09_5x10_df, era_5_mar_10_5x10_df, 
                          era_5_mar_11_5x10_df, era_5_mar_12_5x10_df, era_5_mar_13_5x10_df, era_5_mar_14_5x10_df, 
                          era_5_mar_15_5x10_df, era_5_mar_16_5x10_df, era_5_mar_17_5x10_df, era_5_mar_18_5x10_df, 
                          era_5_mar_19_5x10_df, era_5_mar_20_5x10_df])
era_5_apr_df = pd.concat([era_5_apr_07_5x10_df, era_5_apr_08_5x10_df, era_5_apr_09_5x10_df, era_5_apr_10_5x10_df, 
                          era_5_apr_11_5x10_df, era_5_apr_12_5x10_df, era_5_apr_13_5x10_df, era_5_apr_14_5x10_df, 
                          era_5_apr_15_5x10_df, era_5_apr_16_5x10_df, era_5_apr_17_5x10_df, era_5_apr_18_5x10_df, 
                          era_5_apr_19_5x10_df, era_5_apr_20_5x10_df])
era_5_may_df = pd.concat([era_5_may_06_5x10_df, era_5_may_07_5x10_df, era_5_may_08_5x10_df, era_5_may_09_5x10_df, 
                          era_5_may_10_5x10_df, era_5_may_11_5x10_df, era_5_may_12_5x10_df, era_5_may_13_5x10_df, 
                          era_5_may_14_5x10_df, era_5_may_15_5x10_df, era_5_may_16_5x10_df, era_5_may_17_5x10_df, 
                          era_5_may_18_5x10_df, era_5_may_19_5x10_df])<jupyter_output>/home/disk/p/aodhan/cosmic/diurnal_cycle_corrections/sampling_biases/TLS_diurnal_climatology/gpsro_tools.py:152: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead

See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
  era_5_df_pos_lons['Lon'] = era_5_df_pos_lons['Lon'] - 180.
/home/disk/p/aodhan/cosmic/diurnal_cycle_corrections/sampling_biases/TLS_diurnal_climatology/gpsro_tools.py:153: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead

See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
  era_5_df_neg_lons['Lon'] = era_5_df_neg_lons['Lon'] + 180<jupyter_text>Begin processing<jupyter_code>daily_era5_removed_and_bias_removed_apr = gpsro_tools.background_and_bias_remover(apr_year_info_df, era_5_apr_df)
daily_era5_removed_and_bias_removed_may = gpsro_tools.background_and_bias_remover(may_year_info_df, era_5_may_df)
daily_era5_removed_and_bias_removed_mar = gpsro_tools.background_and_bias_remover(mar_year_info_df, era_5_mar_df)<jupyter_output>2006<jupyter_text>Regroup data and drop NaN values<jupyter_code>data_all_mean_stuff_removed = pd.concat([daily_era5_removed_and_bias_removed_mar, 
                                         daily_era5_removed_and_bias_removed_apr,
                                         daily_era5_removed_and_bias_removed_may])
data_all_mean_stuff_removed.dropna(subset=["Temp"], inplace=True)<jupyter_output><empty_output><jupyter_text>Now create the diurnal cycles<jupyter_code>cleaned_diurnal_cycle_data = gpsro_tools.box_mean_remover(data_all_mean_stuff_removed)
diurnal_cycles_by_lat, diurnal_cycles_in_boxes = gpsro_tools.diurnal_binner(cleaned_diurnal_cycle_data)
np.save('MAM_GPSRO_5_10_boxes_diurnal_cycles', diurnal_cycles_in_boxes)<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.09116051483884693, 'fraction_numerical': 0.08121476438676736, 'mean_word_length': 8.26256157635468, 'pattern_counts': {'":': 0, '<': 19, '<?xml version=': 0, '>': 19, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 4, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '5', 'dir': 'jupyter-structured-clean-dedup', 'id': '64616', 'license': 'MIT', 'n_tokens_mistral': 9568, 'n_tokens_neox': 8897, 'n_words': 554, 'path': 'MAMnotebooks/.ipynb_checkpoints/MAMgpsro-checkpoint.ipynb', 'repo_name': 'AodhanSweeney/TLS_diurnal_climatology', 'size': '18802'}