Diagnostic objects can be used to glue together components that require different thermodynamic quantities, or interpolate quantities between grids. Diagnostics and Prognostics are great to write to apply forcings to a model. It's not immediately obvious to new users that you can do this, so this should probably be written somewhere in the documentation (either the FAQ, or where these components are documented, or both.