Private
Public Access
1
0

able to calculate polarization index (from power only)

This commit is contained in:
Sander Roosendaal
2019-06-14 15:26:45 +02:00
parent f00b10182a
commit 319946f0b1
3 changed files with 31 additions and 2 deletions

View File

@@ -117,6 +117,30 @@ from scipy.signal import savgol_filter
import datetime
def polarization_index(df,rower):
df['dt'] = df['time'].diff()/6.e4
# remove rest (spm<15)
df.dropna(axis=0,inplace=True)
df['dt'] = df['dt'].clip(upper=4,lower=0)
masklow = (df['power']>0) & (df['power']<int(rower.pw_at))
maskmid = (df['power']>=rower.pw_at) & (df['power']<int(rower.pw_an))
maskhigh = (df['power']>rower.pw_an)
time_low_pw = df.loc[masklow,'dt'].sum()
time_mid_pw = df.loc[maskmid,'dt'].sum()
time_high_pw = df.loc[maskhigh,'dt'].sum()
frac_low = time_low_pw/(time_low_pw+time_mid_pw+time_high_pw)
frac_mid = time_mid_pw/(time_low_pw+time_mid_pw+time_high_pw)
frac_high = time_high_pw/(time_low_pw+time_mid_pw+time_high_pw)
index = math.log10(frac_high*100.*frac_low/frac_mid)
return index
def get_latlon(id):
try: