adds in a reproject_lazy_work_unit function that can take in a lazy loaded WorkUnit and reproject it in parallel, only loading in the necessary data per task which significantly keeps the amount of memory used significantly lower from ~200 gb to ~2 gb.
Also writes the reprojected WorkUnit into a sharded work unit.
Slight refactor of the WorkUnit fits functionality, now have separate functions to write out the metadata.
Minor change in the _reproject_images function to only pass a single obstime to the function.
closes #615
builds on the changes made in #664
reproject_lazy_work_unit
function that can take in a lazy loadedWorkUnit
and reproject it in parallel, only loading in the necessary data per task which significantly keeps the amount of memory used significantly lower from ~200 gb to ~2 gb.WorkUnit
into a sharded work unit.WorkUnit
fits functionality, now have separate functions to write out the metadata._reproject_images
function to only pass a singleobstime
to the function.