From df20bb6b7b60728c91f144e460089a257762dfe8 Mon Sep 17 00:00:00 2001
From: Antoine Hoffmann <antoine.hoffmann@epfl.ch>
Date: Fri, 31 Mar 2023 15:26:54 +0200
Subject: [PATCH] reput compile results matlab scripts

---
 matlab/load/compile_results_3D.m      | 37 +++++++++++++++++++++++++++
 matlab/load/compile_results_low_mem.m | 12 ++++-----
 2 files changed, 43 insertions(+), 6 deletions(-)
 create mode 100644 matlab/load/compile_results_3D.m

diff --git a/matlab/load/compile_results_3D.m b/matlab/load/compile_results_3D.m
new file mode 100644
index 00000000..e00ddecf
--- /dev/null
+++ b/matlab/load/compile_results_3D.m
@@ -0,0 +1,37 @@
+function [field, Ts3D] = compile_results_3D(DIRECTORY,JOBNUMMIN,JOBNUMMAX,fieldname)
+CONTINUE = 1;
+JOBNUM   = JOBNUMMIN; JOBFOUND = 0;
+% field
+field    = [];
+Ts3D    = [];
+ii = 1;
+while(CONTINUE)
+    filename = sprintf([DIRECTORY,'outputs_%.2d.h5'],JOBNUM);
+    % Check presence and jobnummax
+    if (exist(filename, 'file') == 2 && JOBNUM <= JOBNUMMAX)
+        %test if it is corrupted or currently running
+        try
+            openable = ~isempty(h5read(filename,'/data/var3d/time'));
+        catch
+            openable = 0;
+        end
+        if openable
+        % load field %%
+        [ F, T, ~] = load_3D_data(filename, fieldname);
+        field  = cat(4,field,F);
+        Ts3D  = cat(1,Ts3D,T);
+        ii = ii + 1;
+        JOBFOUND = JOBFOUND + 1;
+        end
+    elseif (JOBNUM > JOBNUMMAX)
+        CONTINUE = 0;
+    end
+    JOBNUM   = JOBNUM + 1;
+end
+
+if(JOBFOUND == 0)
+    disp('no results found, please verify the paths');
+    return;
+end
+
+end
\ No newline at end of file
diff --git a/matlab/load/compile_results_low_mem.m b/matlab/load/compile_results_low_mem.m
index 9d88162f..bfe83682 100644
--- a/matlab/load/compile_results_low_mem.m
+++ b/matlab/load/compile_results_low_mem.m
@@ -37,14 +37,14 @@ while(CONTINUE)
             CPUTIME   = h5readatt(filename,'/data/input','cpu_time');
             DT_SIM    = h5readatt(filename,'/data/input/basic','dt');
             [Pe, Je, Pi, Ji, kx, ky, z] = load_grid_data(filename);
-            W_GAMMA   = strcmp(h5readatt(filename,'/data/input','write_gamma'),'y');
-            W_HF      = strcmp(h5readatt(filename,'/data/input','write_hf'   ),'y');
-            KIN_E     = strcmp(h5readatt(filename,'/data/input',     'KIN_E' ),'y');
-            BETA      = h5readatt(filename,'/data/input','beta');
+            W_GAMMA   = strcmp(h5readatt(filename,'/data/input/diag_par','write_gamma'),'y');
+            W_HF      = strcmp(h5readatt(filename,'/data/input/diag_par','write_hf'   ),'y');
+            KIN_E     = strcmp(h5readatt(filename,'/data/input/model',     'ADIAB_E' ),'n');
+            BETA      = h5readatt(filename,'/data/input/model','beta');
 
             if W_GAMMA
-                [ GGAMMA_RI, Ts0D, ~] = load_0D_data(filename, 'gflux_ri');
-                PGAMMA_RI            = load_0D_data(filename, 'pflux_ri');
+                [ GGAMMA_RI, Ts0D, ~] = load_0D_data(filename, 'gflux_xi');
+                PGAMMA_RI            = load_0D_data(filename, 'pflux_xi');
                 GGAMMAI_ = cat(1,GGAMMAI_,GGAMMA_RI); clear GGAMMA_RI
                 PGAMMAI_ = cat(1,PGAMMAI_,PGAMMA_RI); clear PGAMMA_RI
             end
-- 
GitLab