Adds cloud-microphysics/app/train-on-flat-distribution.f90, which takes the same command-line arguments as train-cloud-microphysics.f90 plus a new --bins argument that sets the number of bins to be used in each direction in phase space (i.e., output variable) when filtering training data so that each bin is occupied by at most one data point (i.e., one input/output tensor pairing).
Works around a compiler bug that prevents the use of the new activation_factory_method function on the right-hand side of intrinsic assignments in inference_engine_t user-defined structure constructors.
This PR