Private
Public Access
1
0

working on low level plannedsession

This commit is contained in:
Sander Roosendaal
2018-02-05 13:49:59 +01:00
parent 92d69087cf
commit a60bba671e
5 changed files with 103 additions and 6 deletions

View File

@@ -36,7 +36,7 @@ from rowingdata import (
summarydata, get_file_type,
)
from rowers.metrics import axes
from rowers.metrics import axes,calc_trimp
from async_messages import messages as a_messages
import os
import zipfile
@@ -2212,3 +2212,40 @@ def dataprep(rowdatadf, id=0, bands=True, barchart=True, otwpower=True,
conn.close()
engine.dispose()
return data
def workout_trimp(workout):
r = workout.user
df,row = getrowdata_db(id=workout.id)
df = clean_df_stats(df)
if df.empty:
df,row = getrowdata_db(id=workout.id)
df = clean_df_stats(df,workstrokesonly=False)
trimp = calc_trimp(df,r.sex,r.max,r.rest)
trimp = int(trimp)
return trimp
def workout_rscore(w):
r = workout.user
df,row = getrowdata_db(id=workout.id)
df = clean_df_stats(df)
if df.empty:
df,row = getrowdata_db(id=workout.id)
df = clean_df_stats(df,workstrokesonly=False)
duration = df['time'].max()-df['time'].min()
duration /= 1.0e3
pwr4 = df['power']**(4.0)
normp = (pwr4.mean())**(0.25)
if not np.isnan(normp):
ftp = float(r.ftp)
if w.workouttype in ('water','coastal'):
ftp = ftp*(100.-r.otwslack)/100.
intensityfactor = df['power'].mean()/float(ftp)
intensityfactor = normp/float(ftp)
tss = 100.*((duration*normp*intensityfactor)/(3600.*ftp))
else:
tss = 0
return tss