gedih3.doctor.diagnoses.soc_health ================================== .. py:module:: gedih3.doctor.diagnoses.soc_health .. autoapi-nested-parse:: soc_health diagnosis — invalid HDF5 files + download log drift. Detects: - SOC HDF5 files that fail :func:`h5_is_valid`. - Download log entries marked DOWNLOADED but with the file missing or empty. Remedies (safe): - Mark drifted entries FAILED so the next ``gh3_download --resume`` retries. - Invalid HDF5 files are reported only (could be in-progress); deletion is not auto-applied (see ``--delete-invalid`` future flag). Performance pillar (v0.8.x lessons backport): * SOC file enumeration always walks the tree in parallel via :func:`gedih3.parallel.walk_soc_parallel`. The legacy ``_soc_manifest.txt`` shortcut was removed from the read path because external population (manual rsync, NASA delivery) bypasses the producer-driven refresh and silently narrows the doctor's view. * Per-file ``h5_is_valid`` checks are dispatched in parallel via :func:`gedih3.doctor.parallel.parallel_map` when a dask client is registered. .. !! processed by numpydoc !! Functions --------- .. autoapisummary:: gedih3.doctor.diagnoses.soc_health.soc_health_check gedih3.doctor.diagnoses.soc_health.soc_health_fix Module Contents --------------- .. py:function:: soc_health_check(ctx: gedih3.doctor.report.DoctorContext) -> gedih3.doctor.report.Report .. py:function:: soc_health_fix(ctx: gedih3.doctor.report.DoctorContext, report: gedih3.doctor.report.Report) -> gedih3.doctor.report.Report