From cec72388cb019cec6893d47d0c5c964c9cd36ae4 Mon Sep 17 00:00:00 2001
From: tomrink <rink@ssec.wisc.edu>
Date: Tue, 12 Nov 2024 12:20:50 -0600
Subject: [PATCH] snapshot...

---
 modules/util/acspo_validate.py | 39 ++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)
 create mode 100644 modules/util/acspo_validate.py

diff --git a/modules/util/acspo_validate.py b/modules/util/acspo_validate.py
new file mode 100644
index 00000000..10a11ce6
--- /dev/null
+++ b/modules/util/acspo_validate.py
@@ -0,0 +1,39 @@
+import numpy as np
+import h5py
+
+from util.util import get_grid_values_all
+
+
+def acspo_validate(oper_file, cspp_file):
+
+    h5f_oper = h5py.File(oper_file, 'r')
+    h5f_cspp = h5py.File(cspp_file, 'r')
+
+    lon_cspp = get_grid_values_all(h5f_cspp, 'lon')
+    lat_cspp = get_grid_values_all(h5f_cspp, 'lat')
+    print('cspp shape: ', lat_cspp.shape)
+    c_idx = lat_cspp.shape[1] // 2
+    cntr_lon_cspp = lon_cspp[:, c_idx]
+    cntr_lat_cspp = lat_cspp[:, c_idx]
+
+    sst_cspp = get_grid_values_all(h5f_cspp, 'sea_surface_temperature')[0, ]
+    l2p_flags_cspp = get_grid_values_all(h5f_cspp, 'l2p_flags')[0, ]
+
+    lon_oper = get_grid_values_all(h5f_oper, 'lon')
+    lat_oper = get_grid_values_all(h5f_oper, 'lat')
+    cntr_lon_oper = lon_oper[:, c_idx]
+    cntr_lat_oper = lat_oper[:, c_idx]
+    print('oper shape: ', lat_oper.shape)
+    sst_oper = get_grid_values_all(h5f_oper, 'sea_surface_temperature')[0, ]
+    l2p_flags_oper = get_grid_values_all(h5f_oper, 'l2p_flags')[0, ]
+
+    # generate a ndarray of boolean
+    cspp_clear = (l2p_flags_cspp & (1 << 15)) != 0
+    oper_clear = (l2p_flags_oper & (1 << 15)) != 0
+
+    idxs_lat = np.isin(cntr_lat_oper, cntr_lat_cspp, assume_unique=True)
+    idxs_lon = np.isin(cntr_lon_oper, cntr_lon_cspp, assume_unique=True)
+    print(np.sum(idxs_lon), np.sum(idxs_lat))
+
+
+
-- 
GitLab