It returns an empty bspline_5d type. Note that INITIALIZE still needs to be called before it can be used. Not really that useful except perhaps in some OpenMP applications.
elemental function bspline_5d_constructor_empty() result(me) implicit none type(bspline_5d) :: me end function bspline_5d_constructor_empty