Browse Source

some light refactoring

master
Bennet krebs 5 months ago
parent
commit
ec276298f9
  1. 7
      code/awac_datafile_read.py
  2. 0
      code/coverage_evaluation_2022.py
  3. 47
      code/endbericht_auswertung_microcats.py
  4. 28
      code/plot_MC_raw_data.py
  5. 21
      code/plot_insida_exports.py

7
code/endbericht_awac_direktauslese.py → code/awac_datafile_read.py

@ -1,6 +1,6 @@
from datetime import datetime
import glob
import pandas as pd
"""Loads in AWAC Datafiles (.csv) and builds a readable and workable Dataframe out of it"""
def load_csv(file_path_in):
@ -24,9 +24,6 @@ def load_csv(file_path_in):
y=awac_data_list[0][40:-1]
print("")
def main():
file_path_in = r"D:\Python\FINO2_data_evaluation\data\evaluation_data_2022\FINOII20_AWAC.csv"

0
code/calendar_plot.py → code/coverage_evaluation_2022.py

47
code/endbericht_auswertung_microcats.py

@ -1,47 +0,0 @@
from datetime import datetime
import glob
import pandas as pd
import plotly.graph_objects as go
import plotly.express as px
def load_D_csv_file_to_df(file_path_in):
with open(file_path_in) as f:
raw_data = f.readlines()
data_listlist= [i[1:-2].split("\",\"") for i in raw_data]
d_data_df_str = pd.DataFrame(data_listlist[1:], columns=data_listlist[0])
d_data_df =d_data_df_str.loc[:, 'WP (2.0m)':'WP (20.0m)'].apply(pd.to_numeric)
d_data_df['date']= d_data_df_str['date']
cols = d_data_df.columns.tolist()
cols = cols[-1:] + cols[:-1]
d_data_df = d_data_df[cols]
y=['WP (2.0m)', 'WP (4.0m)', 'WP (6.0m)', 'WP (8.0m)', 'WP (10.0m)', 'WP (12.0m)', 'WP (14.0m)', 'WP (16.0m)', 'WP (18.0m)', 'WP (20.0m)']
fig = px.line(d_data_df, x="date", y=y)
fig.show()
return d_data_df
def eval_d_data(d_data_table):
data_percentage={'date':0,'WP (2.0m)':0, 'WP (4.0m)':0, 'WP (6.0m)':0, 'WP (8.0m)':0, 'WP (10.0m)':0, 'WP (12.0m)':0, 'WP (14.0m)':0, 'WP (16.0m)':0, 'WP (18.0m)':0,'WP (20.0m)':0}
data_counts={'date':0,'WP (2.0m)':0, 'WP (4.0m)':0, 'WP (6.0m)':0, 'WP (8.0m)':0, 'WP (10.0m)':0, 'WP (12.0m)':0, 'WP (14.0m)':0, 'WP (16.0m)':0, 'WP (18.0m)':0,'WP (20.0m)':0}
for col in d_data_table:
for element in d_data_table[col]:
if element == element:
data_counts[col] += 1
data_percentage[col]=data_counts[col]/data_counts['date']
print("")
def main():
file_path_in = r"D:\Python\FINO2_data_evaluation\data\evaluation_data_2022\FINO2 D 2022-01-01-2022-11-09 1668002689349.csv"
d_data_table = load_D_csv_file_to_df(file_path_in)
eval_d_data(d_data_table)
if __name__ == '__main__':
main()

28
code/endbericht_microcats_direktauslese.py → code/plot_MC_raw_data.py

@ -1,13 +1,10 @@
import datetime
import numpy as np
import time
import glob
import pandas as pd
import matplotlib.pyplot as plt
def secondsSince2000_toDatetime(ss2000):
def seconds_since2000_to_datetime(ss2000):
"""Translates the timestamp of MC files to datetime"""
return datetime.datetime(2000,1,1)+ datetime.timedelta(seconds =ss2000)
@ -22,18 +19,15 @@ def load_cnv(file_path_in):
CCC = [i.strip() for i in line]
CTD_data.append([g for g in CCC if g.strip()])
if len(CTD_data[0])==5:
CTD_data_df= pd.DataFrame(CTD_data, columns=['C','T','D','JulianDays','unknown']).apply(pd.to_numeric)
elif len(CTD_data[0])==8:
CTD_data_df = pd.DataFrame(CTD_data, columns=['seconds_since_2000','T', 'C', 'D', 'sal', 'oxsat','density','flag']).apply(pd.to_numeric)
CTD_data_df['date']=CTD_data_df['seconds_since_2000'].apply(secondsSince2000_toDatetime)
CTD_data_df['date']=CTD_data_df['seconds_since_2000'].apply(seconds_since2000_to_datetime)
return CTD_data_df
def main():
ctd_raw_data = {}
file_path_in = r"D:\Python\FINO2_data_evaluation\data\evaluation_data_2022\MCs_2022_okt\02m\SBE37-IM_03709795_2022_10_28.cnv"
@ -57,21 +51,13 @@ def main():
file_path_in = r"D:\Python\FINO2_data_evaluation\data\evaluation_data_2022\MCs_2022_okt\20m\SBE37-IM_03709804_2022_10_28.cnv"
ctd_raw_data["20m"] = load_cnv(file_path_in)
#plotstuff(ctd_raw_data)
plot_string= ['2m', '4m', '6m', '8m', '10m', '12m', '14m', '16m', '18m', '20m']
fig3 = plt.figure()
plt.plot(ctd_raw_data['2m']['date'], ctd_raw_data['2m']['D'], label="2m")
plt.plot(ctd_raw_data['4m']['date'], ctd_raw_data['4m']['D'], label="4m")
plt.plot(ctd_raw_data['6m']['date'], ctd_raw_data['6m']['D'], label="6m")
plt.plot(ctd_raw_data['8m']['date'], ctd_raw_data['8m']['D'], label="8m")
plt.plot(ctd_raw_data['10m']['date'], ctd_raw_data['10m']['D'], label="10m")
plt.plot(ctd_raw_data['12m']['date'], ctd_raw_data['12m']['D'], label="12m")
plt.plot(ctd_raw_data['14m']['date'], ctd_raw_data['14m']['D'], label="14m")
plt.plot(ctd_raw_data['16m']['date'], ctd_raw_data['16m']['D'], label="16m")
plt.plot(ctd_raw_data['18m']['date'], ctd_raw_data['18m']['D'], label="18m")
plt.plot(ctd_raw_data['20m']['date'], ctd_raw_data['20m']['D'], label="20m")
for st in plot_string:
plt.plot(ctd_raw_data[st]['date'], ctd_raw_data[st]['D'], label=st)
plt.show()
if __name__ == '__main__':
main()
main()

21
code/plot_insida_exports.py

@ -3,20 +3,15 @@ import pandas as pd
import matplotlib.pyplot as plt
import math
import numpy as np
"""Plot insida exports for WQM, MC and AWAC data"""
def plot_MC_export(CTD_nurDruck_df):
fig = plt.figure()
plt.plot(CTD_nurDruck_df['date'], CTD_nurDruck_df['WP (2.0m)'], label="2m")
plt.plot(CTD_nurDruck_df['date'], CTD_nurDruck_df['WP (4.0m)'], label="4m")
plt.plot(CTD_nurDruck_df['date'], CTD_nurDruck_df['WP (6.0m)'], label="6m")
plt.plot(CTD_nurDruck_df['date'], CTD_nurDruck_df['WP (8.0m)'], label="8m")
plt.plot(CTD_nurDruck_df['date'], CTD_nurDruck_df['WP (10.0m)'], label="10m")
plt.plot(CTD_nurDruck_df['date'], CTD_nurDruck_df['WP (12.0m)'], label="12m")
plt.plot(CTD_nurDruck_df['date'], CTD_nurDruck_df['WP (14.0m)'], label="14m")
plt.plot(CTD_nurDruck_df['date'], CTD_nurDruck_df['WP (16.0m)'], label="16m")
plt.plot(CTD_nurDruck_df['date'], CTD_nurDruck_df['WP (18.0m)'], label="18m")
plt.plot(CTD_nurDruck_df['date'], CTD_nurDruck_df['WP (20.0m)'], label="20m")
plot_string = ['WP (2.0m)', 'WP (4.0m)', 'WP (6.0m)', 'WP (8.0m)', 'WP (10.0m)', 'WP (12.0m)', 'WP (14.0m)', 'WP (16.0m)', 'WP (18.0m)', 'WP (20.0m)']
fig3 = plt.figure()
for st in plot_string:
plt.plot(CTD_nurDruck_df['date'], CTD_nurDruck_df[st], label=st)
plt.show()
@ -105,9 +100,9 @@ def plot_seegang_export(AWAC_seegang_df):
if __name__ == '__main__':
AWAC_seegang_df,CTD_df,CTD_nurDruck_df,WQM_1H_df,WQM_10m_df = load_export_data()
plot_seegang_export(AWAC_seegang_df)
#plot_seegang_export(AWAC_seegang_df)
#plot_MC_export(CTD_nurDruck_df)
plot_MC_export(CTD_nurDruck_df)
#plot_WQM_1h_export(WQM_1H_df)

Loading…
Cancel
Save