ModelChain.prepare_inputs and ModelChain.run_model currently default to running a model using clear sky data if none of ghi, dni, and dhi are in the input weather.
My original motivation for including this feature was that it would make it easier to get started with ModelChain. But it's not practically useful and arguably makes the documentation of an already confusing class even worse.
It also violates the "explicit is better than implicit" guidance -- better to require that users provide their own data. Their own data is only a method call away with location.get_clearsky.