Hi Nigel,
Regarding saving images to netcdf format: this is not something we
generally do. The way we designed it, the saving of data to netcdf is
to be able to have physical datasets available for other programs. As
such, the data is not "enhanced" (scaled, stretched) to the 0-255 space
that RGB images usually require, which means that you will get the
calibrated and corrected (sunz and rayleigh) data in the netcdf files.
So the values you get are probably (at least for the R and B channels)
corrected reflectances. The sunz normalization in particular can create
quite high (unrealistic) values, so that would explain the max of +435
you get.
The true color image in particular applies by default logarithmic
enhancements (or scaling if you prefer) to the data to produce
something visually pleasing, so that, along with the uncut extreme
values of the corrections, could explain the strange image you get.
As an aside, if you have a specification for having images in netcdf, I
am interested: A few years ago, when I looked for one, I couldn't find
anything.
Regarding saving the data before resampling, well the ABI data has
different resolutions for the different channels as you surely know,
meaning that the arrays of data are of different shapes. That's why
satpy delays the generation of the images till after the resampling, to
get all channels with the same shape, and what you get is indeed the
channels needed for red, blue and the fake green.
Finally, I'd like to mention that the go-to image format used by most
in the pytroll community for visualisation in meteorological
workstations is Geotiff. This format has the advantage of working well
with Web Map Services for example, a service quite popular nowadays for
serving imagery to customers. But of course, you may have a different
usage of data.
Best regards,
Martin