openmdao: how is the 'rel' step size calculated for a vector input of design variables?
Yes, that is how the step size is calculated for vectors -- for relative finite difference stepping, the stepsize is scaled by the norm of the vector. However, you bring up a good point that a vector may have wildly different magnitudes in its elements, so maybe we need to add support for specifying a vector of fd step sizes.
I am currently testing gradient-based optimisation in OpenMDAO with high-fidelity flow solvers (SU2) but the shape parameterisation method I am using appears to be highly sensitive to the step size of the finite difference approximation. This is probably due to the objective function being more sensitive to some design variables than others, and so I have been using relative step sizes instead of absolute. However, I expected the step size to be relative to each design variable in the vector, but this appears not to be the case with a constant step size applied to all the design variables. 
For example, a relative step size of 1e-5 produced an actual step size of 4.2e-5 (constant) with a vector of 28 design variables that vary in magnitude.
i.e. design_variables = [0, 1e-2, 1e-1...]
Question: How is the relative step size calculated for a vector of design variables that vary in magnitude and include zero?
Notes: the design variables are scaled (equally) and share the same (%) upper and lower bounds. Also, this number does appear to vary with the lower and upper bounds? 

UPDATE: Issue partially resolved after reviewing the finite_difference.py script. The norm of the input is taken and multiplied with the step size. However, the codes suggests (step *= scale) that the scaled value is also a scalar and so constant across all design variables, is this correct?