# -*- coding: utf-8 -*-
"""
Created on Thu Oct  3 13:10:10 2024

@author: chuffard
"""

# -*- coding: utf-8 -*-
"""
Created on Mon Jun 10 13:32:29 2024

@author: chuffard
"""

import numpy as np

import pandas as pd

from datetime import datetime

import statistics

import statsmodels.tsa.stattools as sts

from statsmodels.tsa.stattools import acf

import pyflakes as pyf

from pandas import read_csv

import itertools

import re

from scipy import stats
from datetime import datetime
SES_RAW = pd.read_csv('G:/Deployments/MARS-2024/SES_out_atn.csv')

SES_RAW.dtypes

SES_RAW['datetemp'] = SES_RAW['file_name'].str.split('_').str[-1]
SES_RAW['collect_time'] = SES_RAW['file_name'].str.split('_').str[-3]
#year month date
SES_RAW['YMD'] = SES_RAW['datetemp'].str.split('-').str[-2]
SES_RAW['YMD'] = SES_RAW['YMD'].astype(int)

#Year is YY but want YYYY. Add "20" to left of integer by adding 20000000
SES_RAW['YMD2'] = SES_RAW['YMD']+20000000
SES_RAW['YMD2'] = SES_RAW['YMD2'].astype(str)
SES_RAW['year'] =SES_RAW["YMD2"].str[:4] 
SES_RAW['month'] = SES_RAW["YMD2"].str[4:6] 
SES_RAW['day']=  SES_RAW["YMD2"].str[6:]

SES_RAW['HMS'] = SES_RAW['datetemp'].str.split('-').str[-1]
#remove .jpg
SES_RAW["HMS"] = SES_RAW["HMS"].str[:-4] 
#can't convert to int because removes zeroes on left

SES_RAW['hour'] =SES_RAW["HMS"].str[:2] 
SES_RAW['minutes'] = SES_RAW["HMS"].str[2:4] 
SES_RAW['second']=  SES_RAW["HMS"].str[4:]

SES_RAW['datetime'] = pd.to_datetime(SES_RAW[['year','month','day', 'hour', 'minutes']], format="%Y-%m-%d %H:%M")

SES_RAW.to_csv("G:/Analyses/2024 MARS deployment/SES_RAW.csv")
#just date



#sort by datetime
SES_RAW_sorted = SES_RAW.sort_values(by='datetime')

#find the rolling mean= 150 samples, minimum sample size 23.
SES_RAW_sorted['rm150'] = SES_RAW_sorted['atn'].rolling(150, min_periods=23).mean()


#Find the difference (slope)
SES_RAW_sorted['Slope_rm_150'] = SES_RAW_sorted['rm150'].diff()

#drop the first 150 samples
SES_RAW_sorted = SES_RAW_sorted.iloc[151:, ]


trigger = 0.01110322671999997

#make that new max the trigger
SES_RAW_sorted["trigger150slope"] = np.where(SES_RAW_sorted['Slope_rm_150'] >= trigger, 'TriggerSlope', 'WaitSlope')


SES_RAW_sorted.to_csv("G:/Deployments/MARS-2024/Data analysis/SES_RAW_sorted.csv")

