report error/finish/done/crash etc. via email to User
Restart setup and submission
Version control of metadata, etc. Not data files.
Runtime plotting
specified pseudocolor slices with yt
matplotlib plots of specified quantities made at run completion and auto-shipped someplace viewable, perhaps via auto git check-in
Automatic archiving to tape backup
SIMpliPy implementation:
provides a shell command environment for simulation management, sim ...
has inheritance structure similar to git. subdirectories are sub-simulations, inherit from above.
gitPython is a thing - using git may be overkill...
sim mcpd starts a background process "daemon" called simmcpd that organizes all simulations for a user. Stands for Master Control Program which is a holdover joke from the days of Smaash. And who doesn't love a Tron reference?
info stored in a ~/.sim
optionally passes data and plots to remote server
uses Python monitoring module for watching sim directories
automatically archives simulation data on [daily/weekly] basis (only when changes are detected).
use of rysnc (for *.dat files, NOT plt/chk, etc.) to remote server
web-friendly GUI which remote server could host on webpage or local server could simply display
server being owned by a particularly user could be problematic... I.e., if all the SIMpliPy data are in a particular user's home directory, how can other users collaborate on a project or simulation?
sim init starts SIMpliPy. Requires that ‘sim server’ is running
asks what kind of sim. I.e., ‘FLASH'
detects host and pulls in appropriate scripts and environment
each instance is a new git repo. data files will be git-ignored (or git-annexed, i.e. for *.dat files). the .gitignore file will be simulation type dependent
directory structure: project-family-simulation (I don’t like separate dirs for separate runs. All in one, baby!)
user specifies application type and then automatic configuration is attempted
interactive for specifying dependent files (EOS, opacity, initial model, etc.)
manual configuration mode possible. use ‘sim add’ command to tag files to be tracked.
raw data files should not be version controlled. should have a tag for ‘non-metadata’ that will be git-annexed or git-ignored
sim run starts a run of the specified application
interactive for setting up length/size of run and automatic restarts
creates a git commit that requires a message
submits job based on host-specific scripts and details
monitors job progress and completion
if auto-restart enabled, calls sim restart if job completes successfully, otherwise throws an error and screams wildly
sim config configures a simulation or set of simulations.
sim restart configures and submits (runs) job restarts
sim server runs on remote machine and serves up a simple web GUI for viewing simulation status and metadata. NO job control, just an overview of simulation campaigns.