I'm not sure if it's under-powered or not, but all I can say is I used as many real data as I was able to find, especially for the engines. Some of those are:
- displacement
- maxhp
- cycles
- idlerpm
- maxrpm
- stroke
- bore
- cylinders
- bsfc (not used currently)
- compression-ratio
And of course, one of the most important things, the Max take-off weight, together with empty weight, payload and max fuel tanks capacity.
Also to make sure you have max thrust, you can print the thrust coefficient to visualize it more precisely:
this.log_inf(jsb['propulsion/engine[0]/thrust-coefficient']);
EDIT: Ah, I forgot to mention the data I found about propellers:
- diameter
- number of blades
- gear ratio
- p_factor