From e16e5949bbf472aa956cfc8e122ba5f501581a11 Mon Sep 17 00:00:00 2001
From: kck540 <kyle.klenk@usask.ca>
Date: Wed, 26 Apr 2023 13:58:41 -0400
Subject: [PATCH] Add wallClockTime to use develop branch of summa:

Uncomment of wallclocktime, also modified statistcs scripts
---
 bin/caf-application.conf                      |  2 +-
 build/source/dshare/var_lookup.f90            |  4 +--
 utils/StatisticsScripts/resourageUsage.py     |  8 +++---
 utils/StatisticsScripts/sortCSV.py            |  4 +--
 utils/StatisticsScripts/stats.py              | 25 ++++++++++++++++---
 .../summarize_summaActors.py                  |  2 +-
 .../StatisticsScripts/summarize_summaOrig.py  |  6 +++--
 7 files changed, 35 insertions(+), 16 deletions(-)

diff --git a/bin/caf-application.conf b/bin/caf-application.conf
index 6e8ec76..3e1e447 100644
--- a/bin/caf-application.conf
+++ b/bin/caf-application.conf
@@ -1,3 +1,3 @@
 caf {
-    # max-threads = 12
+    max-threads = 1
 }
\ No newline at end of file
diff --git a/build/source/dshare/var_lookup.f90 b/build/source/dshare/var_lookup.f90
index 3a530ad..4b430ca 100755
--- a/build/source/dshare/var_lookup.f90
+++ b/build/source/dshare/var_lookup.f90
@@ -438,7 +438,7 @@ MODULE var_lookup
   integer(i4b)    :: scalarVolLatHt_fus              = integerMissing ! volumetric latent heat of fusion     (J m-3)
   ! number of function evaluations
   integer(i4b)    :: numFluxCalls                    = integerMissing ! number of flux calls (-)
-!   integer(i4b)    :: wallClockTime                   = integerMissing ! wall clock time (s)
+  integer(i4b)    :: wallClockTime                   = integerMissing ! wall clock time (s)
  endtype iLook_diag
 
  ! ***********************************************************************************************************
@@ -823,7 +823,7 @@ MODULE var_lookup
                                                                          51, 52, 53, 54, 55, 56, 57, 58, 59, 60,&
                                                                          61, 62, 63, 64, 65, 66, 67, 68, 69, 70,&
                                                                          71, 72, 73, 74, 75, 76, 77, 78, 79, 80,&
-                                                                         81, 82, 83)
+                                                                         81, 82, 83, 84)
  ! named variables: model fluxes
  type(iLook_flux),    public,parameter :: iLookFLUX     =iLook_flux    (  1,  2,  3,  4,  5,  6,  7,  8,  9, 10,&
                                                                          11, 12, 13, 14, 15, 16, 17, 18, 19, 20,&
diff --git a/utils/StatisticsScripts/resourageUsage.py b/utils/StatisticsScripts/resourageUsage.py
index 9de967c..f150a13 100644
--- a/utils/StatisticsScripts/resourageUsage.py
+++ b/utils/StatisticsScripts/resourageUsage.py
@@ -42,7 +42,7 @@ def seffCommand(jobId, numJobs, gru_per_job):
         cmdString = "seff {}_{}".format(jobId, i)
         cmd = subprocess.Popen(cmdString, shell=True, stdout=subprocess.PIPE)
         for line in cmd.stdout:
-            if b'Cores per node:' in line:
+            if b'Cores:' in line:
                 cores = line.decode().split(" ")[-1]
                 cores = cores.strip()
             
@@ -78,13 +78,13 @@ def seffCommand(jobId, numJobs, gru_per_job):
     csvFile.close()
             
 jobId = argv[1]
-print(jobId)
+print("jobID =", jobId)
 
 numJobs = argv[2]
-print(numJobs)
+print("Number of Jobs =", numJobs)
 
 gru_per_job = argv[3]
-print(gru_per_job)
+print("GRUs per job =", gru_per_job)
 
 seffCommand(jobId, int(numJobs), int(gru_per_job))
 
diff --git a/utils/StatisticsScripts/sortCSV.py b/utils/StatisticsScripts/sortCSV.py
index 61eac2b..59f6ca1 100644
--- a/utils/StatisticsScripts/sortCSV.py
+++ b/utils/StatisticsScripts/sortCSV.py
@@ -1,10 +1,10 @@
 import pandas as pd
 
 # Read CSV file into a DataFrame
-df = pd.read_csv('/home/kklenk/scratch/Single_CPU_TEST/non-actors/logs/_log_summaryOriginal.csv')
+df = pd.read_csv('/home/kklenk/scratch/Summa-Original-Output/logs/_log_summaryOriginal_5666268_broadwell.csv')
 
 # Sort DataFrame by column
 df = df.sort_values('start_hru')
 
 # Write sorted DataFrame back to CSV file
-df.to_csv('/home/kklenk/scratch/Single_CPU_TEST/non-actors/logs/_log_summaryOriginal_sorted.csv', index=False)
\ No newline at end of file
+df.to_csv('/home/kklenk/scratch/Summa-Original-Output/logs/_log_summaryOriginal_5666268_broadwell.csv', index=False)
\ No newline at end of file
diff --git a/utils/StatisticsScripts/stats.py b/utils/StatisticsScripts/stats.py
index 1c64b27..7555152 100644
--- a/utils/StatisticsScripts/stats.py
+++ b/utils/StatisticsScripts/stats.py
@@ -35,11 +35,28 @@ def cpuEfficiency(data_set_1, data_set_2):
         df2_stat.append(cpu_e)
     print("Average CPU Efficiency for data_set_2 =", sum(df2_stat) / len(df1_stat))
 
+def wins_losses(data_set_1, data_set_2):
+    df1 = pd.DataFrame(data_set_1)
+    df2 = pd.DataFrame(data_set_2)
+
+    wins_d1 = 0
+    wins_d2 = 0
+
+    for i in range(0,len(df1["Wall-Clock Time"].values)):
+        if df1["Wall-Clock Time"].values[i] > df2["Wall-Clock Time"].values[i]:
+            wins_d1 += 1
+        else:
+            wins_d2 += 1
+
+    print("Winds DataSet 1 = ", wins_d1)
+    print("Winds DataSet 2 = ", wins_d2)
+
 
 
-data_set_actors = pd.read_csv("/home/kklenk/projects/rpp-kshook/kklenk/SummaActorsOutput/Jul-13-2022/SummaActors_jobStats_63221110.csv")
-data_set_original = pd.read_csv("/home/kklenk/projects/rpp-kshook/kklenk/SummaOriginalOuput/Jul-09-2022/SummaOriginal_jobStats_63155456.csv")
+data_set_actors = pd.read_csv("/home/kklenk/scratch/Single_CPU_TEST/actors_attempt_1/SummaActors_jobStats_5175342.csv")
+data_set_original = pd.read_csv("/home/kklenk/scratch/Single_CPU_TEST/non-actors_attempt_1/SummaOriginal_jobStats_5201937.csv")
 
-wallClockTime(data_set_actors, data_set_original)
+# wallClockTime(data_set_actors, data_set_original)
 print("")
-cpuEfficiency(data_set_actors, data_set_original)
\ No newline at end of file
+cpuEfficiency(data_set_actors, data_set_original)
+# wins_losses(data_set_actors, data_set_original)
\ No newline at end of file
diff --git a/utils/StatisticsScripts/summarize_summaActors.py b/utils/StatisticsScripts/summarize_summaActors.py
index 372b8bd..f4f9eef 100644
--- a/utils/StatisticsScripts/summarize_summaActors.py
+++ b/utils/StatisticsScripts/summarize_summaActors.py
@@ -47,7 +47,7 @@ def get_job_stats(folder,file):
 			lines_read_counter += 1
 
 output_file = '_log_summaryActors.csv'
-ext = ".txt"
+ext = ".out"
 
 # Check command line args
 if len(sys.argv) == 1:
diff --git a/utils/StatisticsScripts/summarize_summaOrig.py b/utils/StatisticsScripts/summarize_summaOrig.py
index 465de9d..67aff47 100644
--- a/utils/StatisticsScripts/summarize_summaOrig.py
+++ b/utils/StatisticsScripts/summarize_summaOrig.py
@@ -5,6 +5,9 @@ import re
 import sys
 import csv
 
+output_file = '_log_summaryOriginal.csv'
+ext = ".out"
+
 
 def get_job_stats(folder, file):
     outFile = open(folder + file, 'r')
@@ -51,8 +54,7 @@ def get_job_stats(folder, file):
         else:
             lines_read_counter += 1
 
-output_file = '_log_summaryOriginal.csv'
-ext = ".txt"
+
 
 # Check command line args
 if len(sys.argv) == 1:
-- 
GitLab