diff --git a/rowers/utils.py b/rowers/utils.py index f8f37440..d40ba97a 100644 --- a/rowers/utils.py +++ b/rowers/utils.py @@ -793,10 +793,17 @@ def step_to_time_dist(step, avgspeed=3.2, ftp=200, ftspm=25, ftv=3.7, powerzones avgpower = targetpower if valuelow != 0 and valuehigh != 0: # pragma: no cover avgpower = (valuelow+valuehigh)/2. - avgspeed = ftv*(avgpower/ftp)**(1./3.) + if avgpower < 10 and avgpower > 0: + targetpower = ftp*0.6 + elif avgpower > 10 and avgpower < 1000: + targetpower = avgpower*ftp/100. + elif avgpower > 1000: + targetpower = avgpower-1000 + + avgspeed = ftv*(targetpower/ftp)**(1./3.) distance = avgspeed*seconds - rscore = 100.*(avgpower/ftp)*seconds/3600. + rscore = 100.*(targetpower/ftp)*seconds/3600. if targettype in ['Cadence','CadenceLap']: value = step.get('targetValue', 0) @@ -867,7 +874,7 @@ def step_to_time_dist(step, avgspeed=3.2, ftp=200, ftspm=25, ftv=3.7, powerzones seconds = distance/avgspeed - rscore = 100.*(avgpower/ftp)*seconds/3600. + rscore = 100.*(targetpower/ftp)*seconds/3600. if targettype in ['Cadence','CadenceLap']: # pragma: no cover value = step.get('targetValue', 0)