Workspace¶
- class comokit4py.Workspace(gama: comokit4py.Gama, explorationPlan: comokit4py.GamaExploration, workspaceDirectory: str, rebuildWorkspace: bool = False)¶
Bases:
object
Constructor for Workspace object
- Parameters
gama (Gama) – Gama object for launching exploration
explorationPlan (GamaExploration) – GamaExploration object to know what to launch
workspaceDirectory (str) – Directory path when everything will be store
_edf (bool) – (Optional) toto
_sbatch (dict) – (Generated) toto
_processedOutputVariable (dict) – (Generated) toto
- Returns
Workspace object
- __init__(gama: comokit4py.Gama, explorationPlan: comokit4py.GamaExploration, workspaceDirectory: str, rebuildWorkspace: bool = False)¶
Constructor for Workspace object
- Parameters
gama (Gama) – Gama object for launching exploration
explorationPlan (GamaExploration) – GamaExploration object to know what to launch
workspaceDirectory (str) – Directory path when everything will be store
rebuildWorkspace (bool) – (Optional) Destroy and rebuild folder architecture [Default: False]
- Returns
Workspace object
- generateCsv(output: Optional[list] = None, outputCsvFileName: str = 'out') → bool¶
Turn COMOKIT’s raw output CSV into compiled csv file
- Parameters
output (list) – (Optional) Output list of raw processed data [Default re-process data]
outputCsvFileName (str) – (Optional) Name of the png file name (extension automatic) [Default = ‘out’]
- Returns
Bool if csv file saved
- generateNeededForExploration() → None¶
Create all XML files for running GAMA headless
- Returns
None
- generatePng(title: str = '', output: Optional[list] = None, outputPngFileName: list = 'out') → bool¶
Turn COMOKIT’s raw output CSV into a png graphs
- Parameters
title (str) – (Optional) Output in png title [Default Disable]
output (list) – (Optional) Output list of raw processed data [Default re-process data]
outputPngFileName (list) – (Optional) Name of the png file name (extension automatic) [Default = ‘out’]
- Returns
Bool if png file saved
- getEdfBool() → bool¶
- prepareProcessedOutput(displayStep: int = 24, median: bool = False, quartile: bool = False, startDate: Optional[list] = None, startPolicyDate: Optional[list] = None, endPolicyDate: Optional[list] = None, cores: int = 2, stepTo: int = 1, output_name: list = ['Susceptible', 'Recovered', 'Presymptomatic', 'Asymptomatic', 'Symptomatic', 'Need hospital', 'Need ICU', 'Death'], output_color: list = ['g', 'b', 'olive', 'lightgreen', 'y', 'orange', 'r', 'm']) → None¶
Prepare private variables for following functions generating CSV or PNG output files
- Parameters
displayStep (int) – (Optional) Output list of raw processed data [Default re-process data]
median (bool) – (Optional) Display median curve in graph [Default False]
quartile (bool) – (Optional) Display quartile curves in graph (override median option) [Default False]
startDate (list[3]) – (Optional) Set starting real date in PNG x axis [Default None]
startPolicyDate (list[3]) – (Optional) Set starting policy grey area in PNG (needs startDate and endPolicyDate) [Default None]
endPolicyDate (list[3]) – (Optional) Set starting policy grey area in PNG (needs –startDate and –startPolicy) [Default toto]
cores (int) – (Optional) Number of core to use [Default Max number of cores available]
stepTo (int) – (Optional) Compile several steps in one [Default 1 => Disable]
output_name (list) – (Optional) List of outputed graphs [Default [“Susceptible”, “Recovered”, “Presymptomatic”, “Asymptomatic”, “Symptomatic”, “Need hospital”, “Need ICU”, “Death”] ]
output_color (list) – (Optional) Colors of outputed graphs [Default [“g”, “b”, “olive”, “lightgreen”, “y”, “orange”, “r”, “m”]]
Warning
Date parameter should follow this form :
[YYYY, MM, DD]
(list of int)⚠️ Changing value of
output_name
andoutput_color
may break followingself.generateCsv()
andself.generatePng()
functions ⚠️- Returns
None
- prepareSBatch(jobTimeout: int, core: int, nodes: int = 1, submission: int = 1, maxSubmission: int = 6, delay: int = 0) → None¶
Create all needed structures and files to launch SLURM sbatch job
- Parameters
jobTimeout (int) – Limit hour for SLURM job
core (int) – Number of cores used per node
nodes (int) – (Optional) Number of nodes used by SLURM [Default = 1]
submission (int) – (Optional) Total of submission on SLURM [Default = 1]
maxSubmission (int) – (Optional) Max number of active submission on SLURM [Default = 6]
delay (int) – (Optional) Delay in between launching headless (ex. 2s, 3m, 4h, 5d) [Default = 0]
- Returns
None
- rawOutputProcessing() → list¶
Compiled COMOKIT’s raw output CSV into saveable list
- Returns
Python list of post-processed COMOKIT explored data
- rebuildWorkspace() → None¶
Destroy and rebuild folder architecture
- Returns
None
- runGamaHeadless(log: bool = True, logFileName: str = 'out.log', cores: int = 1) → None¶
Create all needed structures and files to launch SLURM sbatch job
- Parameters
log (bool) – (Optional) Log slurm output in file [Default = True]
logFileName (str) – (Optional) Name of the log file [Default = ‘out.log’]
core (int) – (Optional) Number of cores allowed to GAMA [Default = 1]
- Returns
None
- runSlurm(log: bool = True, logFileName: str = 'out.log') → None¶
Create all needed structures and files to launch SLURM sbatch job
- Parameters
log (bool) – (Optional) Log slurm output in file [Default = True]
logFileName (str) – (Optional) Name of the log file [Default = ‘out.log’]
- Returns
None
- setEdfBool(edf: bool) → None¶
- toggleEdfBool() → None¶
- verifyAll(slurm: bool = False) → bool¶
Check if everything (GAMA, Java, Slurm?) is installed and usable
- Parameters
slurm (bool) – (Optional) Check also for SLURM
- Returns
Bool if everything is ready
- verifyGama() → bool¶
Check if GAMA is ready to use in this workspace
- Returns
Bool if everything is ready
- verifyJavaVersion() → bool¶
Check if the good Java is installed and usable
- Returns
Bool if everything is ready
- verifySlurm() → bool¶
Check if the slurm is installed and usable
- Returns
Bool if everything is ready