save masked

altered save function to output masked arrays

required for saving to netCDF variables
This makes me curious what happens when you put a masked source into a non-masked target, and what happens when you put a non-masked source into a masked target.