From 0f5e125a8ca608c04285e4f3d7e9f979951c78ec Mon Sep 17 00:00:00 2001
From: lb584 <lb584@cam.ac.uk>
Date: Wed, 14 Sep 2022 11:18:29 +0100
Subject: [PATCH] adding sense check for .nc file contents, rather than
 NAME.txt file

---
 ProcessorDeposition.py | 23 +++++++++++++++++++----
 1 file changed, 19 insertions(+), 4 deletions(-)

diff --git a/ProcessorDeposition.py b/ProcessorDeposition.py
index b57ed20..2e2df48 100644
--- a/ProcessorDeposition.py
+++ b/ProcessorDeposition.py
@@ -7,6 +7,9 @@ from pathlib import Path
 import os
 from string import Template
 
+import iris
+from iris.cube import CubeList
+
 from plotting.common.plotting_coordinator.ews_depo_disease_plotting_coordinator import EWSPlottingDepoBase
 
 from ProcessorUtils import (
@@ -48,10 +51,22 @@ def process_in_job_dep(jobPath,status,config,component):
 
     # basic check that contents are as expected
     # 132 files of NAME .txt timesteps and one summary png file
-    if len(glob(f"{jobPath}/{file_name}/deposition_srcs_allregions_C1_T*.txt")) != 56:
-        msg = f"Unexpect number of deposition .txt files in input tar file. Expected 56."
-        logger.error(msg)
-        raise RuntimeError(msg)
+    # if len(glob(f"{jobPath}/{file_name}/deposition_srcs_allregions_C1_T*.txt")) != 56:
+    #     msg = f"Unexpect number of deposition .txt files in input tar file. Expected 56."
+    #     logger.error(msg)
+    #     raise RuntimeError(msg)
+
+    # basic check that contents are as expected (56 timepoints in the file)
+    cube_wildcard = f"{jobPath}/{file_name}/deposition_srcs_allregions*.nc"
+    cubes: CubeList = iris.load(cube_wildcard)
+    for cube in cubes:
+        coord = cube.coord("time")
+        timepoint_count = coord.shape[0]
+        if timepoint_count != 56:
+            msg = f"Unexpected number of timepoints ({timepoint_count}) in cube {cube.name()}"
+            logger.error(msg)
+            raise RuntimeError(msg)
+
     return
 
 
-- 
GitLab