Private
Public Access
1
0

TRIMP working

This commit is contained in:
Sander Roosendaal
2017-12-07 09:19:36 +01:00
parent 2f7fcf444b
commit 9721aa6a9c
2 changed files with 27 additions and 0 deletions

View File

@@ -1,4 +1,5 @@
from utils import lbstoN
import numpy as np
rowingmetrics = (
('time',{
@@ -301,3 +302,17 @@ dropping to 8m for race pace in the single.""",
This value should be fairly constant across all stroke rates.""",
},
)
def calc_trimp(df,sex,hrmax,hrmin):
if sex == 'male':
f = 1.92
else:
f = 1.67
dt = df['time'].diff()/6.e4
hrr = (df['hr']-hrmin)/(hrmax-hrmin)
trimpdata = dt*hrr*0.64*np.exp(f*hrr)
trimp = trimpdata.sum()
return trimp

View File

@@ -59,6 +59,7 @@ from rowers.models import (
)
from rowers.models import FavoriteForm,BaseFavoriteFormSet,SiteAnnouncement
from rowers.metrics import rowingmetrics,defaultfavoritecharts
from rowers import metrics
import rowers.uploads as uploads
from django.forms.formsets import formset_factory
import StringIO
@@ -6891,6 +6892,8 @@ def workout_stats_view(request,id=0,message="",successmessage=""):
if datadf.empty:
return HttpResponse("CSV data file not found")
workoutstateswork = [1,4,5,8,9,6,7]
workoutstatesrest = [3]
workoutstatetransition = [0,2,10,11,12,13]
@@ -6987,6 +6990,15 @@ def workout_stats_view(request,id=0,message="",successmessage=""):
except ZeroDivisionError,ValueError:
pass
# TRIMP
if datadf['hr'].mean() > 0 and r.sex != 'not specified':
trimp = metrics.calc_trimp(datadf,r.sex,r.max,r.rest)
trimp = int(trimp)
otherstats['trimp'] = {
'verbose_name': 'TRIMP',
'value': trimp,
'unit': 'minutes'
}
return render(request,
'workoutstats.html',