I read this a lot about Zwift racing, but Cat D does NOT mean a rider “cannot push above X watts”, I have no idea where this perception comes from. You could put a total noob on a bike and they could sprint for a few seconds at hundreds of watts.
The goes in racing, even at cat D you’ll get people pushing high watts. That also happens in real life.
What the limits mean is the race average should be around that ( for a reasonable race time, say over 30min ) and if you look at race results, most of them are fine. I race a lot in C/B and when I see the results, they almost always reflect the standard.
Having said that, I did the same as you and gave Rouvy a go, a while ago.
I was really disappointed. They claim to be “accurate” but this is simply not true.
For example, I live near the IM Frankfurt course - the first stretch to Frankfurt, the gradients were all over place. You are riding up on Rouvy when it goes down in reality, and vice versa. Then I rode up the first climb and it’s about 1.5% average on Rouvy. I rode up at about 30kmh, this would have smashed anything Blummenfelt did this summer.
That climb is actually about 7% average.
Then the second climb, same story, and I gave up.
I then tried another course, in Switzerland, where I also know the roads well, and same story. Gradients had zero relation to real life.
Instead I have tried Fulgaz and found that to be much more accurate.
ymmv may vary, Rouvy is really nice - but the poor transfer of reality to the app ruined it for me.
If I know the routes where I ride in real life are badly done, I can’t trust anything else.