Power jumps when riding workout ramps

Hi, I have power jumps when riding my custom workout built in line to this screenshot:

Screen Shot 2020-06-08 at 20.13.06|689x246

Zwift is not smoothly ramping up the power on my Tacx Neo - as it happens e.g. on Trainerroad. Instead of smoothly ramping it up with +1W to +3W increments, it jumps in 30W increments for one minute ramp needles, and it never reaches set power peak.

Is there a better way to design ramps on Zwift?

Below the Zwift workout file.

Thanks a mil,
Rene

<workout_file>
    <author>R.Duttra</author>
    <name>TR Keeler Needle+1</name>
    <description>N/A</description>
    <sportType>bike</sportType>
    <tags>
        <tag name="INTERVALS"/>
    </tags>
    <workout>
        <SteadyState Duration="240" Power="0.55449998" pace="1"/>
        <SteadyState Duration="120" Power="0.75449997" pace="1"/>
        <SteadyState Duration="120" Power="0.95449996" pace="1"/>
        <SteadyState Duration="120" Power="1.1544999" pace="1"/>
        <SteadyState Duration="180" Power="0.40450001" pace="1"/>
        <Ramp Duration="120" PowerLow="0.40450001" PowerHigh="1.3045" pace="1"/>
        <SteadyState Duration="30" Power="0.70449996" pace="1"/>
        <Ramp Duration="90" PowerLow="0.70449996" PowerHigh="1.3045" pace="1"/>
        <SteadyState Duration="30" Power="0.70449996" pace="1"/>
        <Ramp Duration="90" PowerLow="0.70449996" PowerHigh="1.3045" pace="1"/>
        <SteadyState Duration="30" Power="0.70449996" pace="1"/>
        <Ramp Duration="90" PowerLow="0.70449996" PowerHigh="1.3045" pace="1"/>
        <SteadyState Duration="120" Power="0.40450001" pace="1"/>
        <Ramp Duration="180" PowerLow="0.39449999" PowerHigh="1.4044999" pace="1"/>
        <SteadyState Duration="120" Power="0.50449997" pace="1"/>
        <Ramp Duration="180" PowerLow="0.50449997" PowerHigh="1.4044999" pace="1"/>
        <SteadyState Duration="120" Power="0.50449997" pace="1"/>
        <Ramp Duration="180" PowerLow="0.50449997" PowerHigh="1.4044999" pace="1"/>
        <SteadyState Duration="120" Power="0.40450001" pace="1"/>
        <Ramp Duration="60" PowerLow="0.40450001" PowerHigh="1.5044999" pace="1"/>
        <SteadyState Duration="60" Power="0.6045" pace="1"/>
        <Ramp Duration="60" PowerLow="0.6045" PowerHigh="1.5044999" pace="1"/>
        <SteadyState Duration="60" Power="0.6045" pace="1"/>
        <Ramp Duration="60" PowerLow="0.6045" PowerHigh="1.5044999" pace="1"/>
        <SteadyState Duration="60" Power="0.6045" pace="1"/>
        <Ramp Duration="60" PowerLow="0.6045" PowerHigh="1.5044999" pace="1"/>
        <SteadyState Duration="60" Power="0.6045" pace="1"/>
        <Ramp Duration="60" PowerLow="0.6045" PowerHigh="1.5044999" pace="1"/>
        <SteadyState Duration="60" Power="0.60902828" pace="1"/>
        <Ramp Duration="60" PowerLow="0.6045" PowerHigh="1.5044999" pace="1"/>
        <SteadyState Duration="180" Power="0.40450001" pace="1"/>
        <Ramp Duration="300" PowerLow="0.40450001" PowerHigh="1.3045" pace="1"/>
        <Cooldown Duration="180" PowerLow="0.40450001" PowerHigh="0.2545" pace="1"/>
    </workout>
</workout_file>

I use the same method, and my ramp is smooth. This is a 5 min ramp from 80w to 200w

<Warmup Duration="300" PowerLow="0.25" PowerHigh="0.64999998" pace="1128505344"/>

Thanks! Similar situation for me when the ramp is 5min long; however, dramatic different situation when ramp is only a minute, and power is ramped up from 150W to 400W.

I can see in the workout that Zwift is adding +30W increments, so it’s not related to the smarttrainer. No real triangle pattern for the shorter ramps at the end. Also, Zwift is only ramping up to 400W for the last second, leaving the max power of the ramp at 370W effectively

Having issues with ramp workouts as well, 30 second ramps are just unusable at all, since half of the time it remains on the starting wattage, it increases a bit at 15 seconds and then for 1 second we get 3/4 wattage, never achieving the target watts.
Is there any way to get zwift to do more incremental steps? Did this ever get fixed?

I see there are other threads, but none of them have a clear solution (can’t include links in my post apparently)

What trainer are you using.

What workout?

What gear combination.

I’ve recorded it, but I can’t include links in my post - how should I share it?

The trainer is an Elite Suito-T with less than a year. Gearing is 36 front, 24 back.

Workout was created in Intervals.icu, this is the relevant interval:

        <Ramp PowerHigh="1.434" PowerLow="0.59" Duration="30">
            <textevent message="1/5" duration="10"/>
        </Ramp>

This is the workout definition in Invervals:

5x
- 30s ramp 140w-340w
- 2s 340w
- 1m30s Z1

I’ve added the 2 seconds as a way to force the max wattage to even show up.

Here is the full workout file:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<workout_file>
    <author>José Duarte Silva</author>
    <name>Avaliacao - Apr 28</name>
    <sportType>bike</sportType>
    <ftpOverride>237</ftpOverride>
    <tags/>
    <workout>
        <SteadyState show_avg="1" PowerHigh="0.679" PowerLow="0.535" Duration="600"/>
        <SteadyState show_avg="1" PowerHigh="0.818" PowerLow="0.687" Duration="600"/>
        <Ramp PowerHigh="1.434" PowerLow="0.59" Duration="30">
            <textevent message="1/5" duration="10"/>
        </Ramp>
        <SteadyState show_avg="1" Power="1.434" Duration="2"/>
        <SteadyState show_avg="1" PowerHigh="0.679" PowerLow="0.535" Duration="90"/>
        <Ramp PowerHigh="1.434" PowerLow="0.59" Duration="30">
            <textevent message="2/5" duration="10"/>
        </Ramp>
        <SteadyState show_avg="1" Power="1.434" Duration="2"/>
        <SteadyState show_avg="1" PowerHigh="0.679" PowerLow="0.535" Duration="90"/>
        <Ramp PowerHigh="1.434" PowerLow="0.59" Duration="30">
            <textevent message="3/5" duration="10"/>
        </Ramp>
        <SteadyState show_avg="1" Power="1.434" Duration="2"/>
        <SteadyState show_avg="1" PowerHigh="0.679" PowerLow="0.535" Duration="90"/>
        <Ramp PowerHigh="1.434" PowerLow="0.59" Duration="30">
            <textevent message="4/5" duration="10"/>
        </Ramp>
        <SteadyState show_avg="1" Power="1.434" Duration="2"/>
        <SteadyState show_avg="1" PowerHigh="0.679" PowerLow="0.535" Duration="90"/>
        <Ramp PowerHigh="1.434" PowerLow="0.59" Duration="30">
            <textevent message="5/5" duration="10"/>
        </Ramp>
        <SteadyState show_avg="1" Power="1.434" Duration="2"/>
        <SteadyState show_avg="1" PowerHigh="0.679" PowerLow="0.535" Duration="90"/>
        <FreeRide FlatRoad="1" show_avg="1" Duration="480">
            <textevent message="MAX EFFORT" duration="10"/>
        </FreeRide>
        <SteadyState show_avg="1" PowerHigh="0.679" PowerLow="0.535" Duration="1200"/>
        <FreeRide FlatRoad="1" show_avg="1" Duration="480">
            <textevent message="MAX EFFORT" duration="10"/>
        </FreeRide>
        <SteadyState show_avg="1" PowerHigh="0.679" PowerLow="0.535" Duration="600"/>
    </workout>
</workout_file>

Try this one, the formatting is a bit different.

<workout_file>
    <author></author>
    <name>New-Workout-2023-5-3-11-7-4</name>
    <description></description>
    <sportType>bike</sportType>
    <tags>
    </tags>
    <workout>
        <SteadyState Duration="300" Power="0.65"/>
        <Ramp Duration="30" PowerLow="0.6" PowerHigh="1.43">
            <textevent timeoffset="10" message="1/5"/>
        </Ramp>
        <SteadyState Duration="2" Power="1.43"/>
        <SteadyState Duration="300" Power="0.65"/>
    </workout>
</workout_file>

1 Like

This make me think that the trainer just can’t ramp up in such short time.

You may want to try the big ring in front and small at the back to give the trainer more head room.

1 Like

Why are you leaning towards that conclusion?
In the video I’m not able to send, you can see the target wattage not moving during the workout (when it does change, the trainer follows through) so I would say it seems like Zwift is not changing the workout wattage.

(Can’t test things right now, will try later on today)

This information is new since I did not see the video. But if the power wattage is not changing then I would assume there is a problem with the way intervals create the workout.

1 Like

I know, the video would be a great help. Working on it :wink:

Let’s try this again :slight_smile:
Here’s the link to the video: zwift-ramp-issue.mp4 - Google Drive

You can see that the target wattage does not update every second, but rather every ~15 seconds.

Will try your test file today to see if something changes! Thanks in advance for your help :slight_smile:

Looking at your video, I would guess that the ramp time is to short for the jump in power.

Old problem that I believe is the root cause
(add an ‘h’ to beginning of url)

ttps://forums.zwift.com/t/stop-rounding-watt-targets-fix-workout-ramp-smoothness/12025?u=

1 Like

Yes, it seems to be the same issue, no update at all of wattage for large lengths of time (20 and 30 seconds as described in the thread).

Seems like this is a bug. If Zwift allows configuration of 30 second blocks, it should smooth the target wattage over that time instead of every 15 or 20 seconds.

1 Like

Yes, and seems maybe also partly related to relatively recent change that was made where workout wattage jumps have to be rounded to 5 watt increments when it used to be single watts. So if a 15 second, 100 watt ramp needs an approximate 6.667 watt increase per second – not sure how this could/couldn’t be handled.

@DavidP maybe could weigh in what’s behind some of this?

1 Like

I’m not aware of any changes in this area, and it’s definitely not my department.

I think it’s publicly known that previous Elite trainer models like the Direto and the Suito might take a bit of time to respond to changes when in ERG mode, so when doing short intervals it might lead to this delayed response.

1 Like

That wouldn’t affect what the game is setting as the target though.

When i use ramp sections it always goes in stages every 15 seconds - i thought that was kind of how it was designed?

so if you’re doing a very large change in power over 30 seconds it would go low - middle and then high for a second at the end in my experience

3 Likes

Who could take a look at this then?

It is not the trainer delay since the game itself is not updating the target for 15 seconds. Once the ramp ends and the 2 second high watt step begins, the resistance is felt almost immediately. Same with the 15-second mark watt increase during the ramp up - zwift updates the target power and I feel it at once.

I was able to test this in two different ways: with this file you supplied and with a similar one that I created in the Zwift editor. Same behaviour as the Intervals-generated workout: watts are updated on the 15 second mark only.