README.md 5.52 KB
Newer Older
lbatista's avatar
lbatista committed
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/e9b46f9e6b3047d58f004f024c4971bb)](https://www.codacy.com/app/BSC-Earth/autosubmit?utm_source=earth.bsc.es&utm_medium=referral&utm_content=gitlab/es/autosubmit&utm_campaign=Badge_Grade)

dbeltran's avatar
dbeltran committed

Autosubmit is a lightweight workflow manager designed to meet climate research necessities. Unlike other workflow solutions in the domain, it integrates the capabilities of an experiment manager, workflow orchestrator and monitor in a self-contained application. The experiment manager allows for defining and configuring experiments, supported by a hierarchical database that ensures reproducibility and traceability. The orchestrator is designed to run complex workflows in research and operational mode by managing their dependencies and interfacing with local and remote hosts. These multi-scale workflows can involve from a few to thousands of steps and from one to multiple platforms.

Autosubmit facilitates easy and fast integration and relocation on new platforms. On the one hand, users can rapidly execute general scripts and progressively parametrize them by reading Autosubmit variables. On the other hand, it is a self-contained desktop application capable of submitting jobs to remote platforms without any external deployment.

Due to its robustness, it can handle different eventualities, such as networking or I/O errors. Finally, the monitoring capabilities extend beyond the desktop application through a REST API that allows communication with workflow monitoring tools such as the Autosubmit web GUI. 

Autosubmit is a Python package provided in PyPI. Conda recipes can also be found on the website. A containerized version for testing purposes is also available but not public yet.

It has contributed to various European research projects and runs different operational systems. During the following years, it will support some of the Earth Digital Twins as the Digital Twin Ocean.

Concretely, it is currently used at Barcelona Supercomputing Centre (BSC) to run models (EC-Earth, MONARCH, NEMO, CALIOPE, HERMES...), operational toolchains (S2S4E), data-download workflows (ECMWF MARS), and many other. Autosubmit has run these workflows in different supercomputers in BSC, ECMWF, IC3, CESGA, EPCC, PDC, and OLCF.
Domingo Manubens-Gil's avatar
Domingo Manubens-Gil committed
Get involved or contact us:

    Autosubmit GitLab:	        https://earth.bsc.es/gitlab/es/autosubmit
    Autosubmit Support:	        support-autosubmit@bsc.es
Domingo Manubens-Gil's avatar
Domingo Manubens-Gil committed
    
How to cite Autosubmit:

    D. Manubens-Gil, J. Vegas-Regidor, C. Prodhomme, O. Mula-Valls and F. J. Doblas-Reyes,
    "Seamless management of ensemble climate prediction  experiments on HPC platforms," 
    2016 International Conference on High Performance Computing & Simulation (HPCS), 
    Innsbruck, 2016, pp. 895-900. doi: 10.1109/HPCSim.2016.7568429
Muhammad Asif's avatar
 
Muhammad Asif committed

HOW TO DEPLOY/SETUP AUTOSUBMIT FRAMEWORK
========================================
  with the following Operating Systems:
   * Linux Debian
jlope2's avatar
jlope2 committed
   * Linux OpenSUSE
jlope2's avatar
jlope2 committed
  on the following HPC platforms:
   * Stargate (IC3 machine)
   * MareNostrum (BSC machine)
   * MareNostrum3 (BSC machine)
   * HECToR (EPCC machine)
   * Lindgren (PDC machine)
   * C2A (ECMWF machine)
   * CCA (ECMWF machine)
jlope2's avatar
jlope2 committed
- Pre-requisites: These packages (bash, python2, sqlite3, git-scm > 1.8.2, subversion, dialog*) must be available at local
dbeltran's avatar
dbeltran committed
  machine. These packages (argparse, dateutil, pyparsing, numpy, pydotplus, matplotlib, paramiko,
jlope2's avatar
jlope2 committed
  python2-pythondialog*, mock, portalocker) must be available for python runtime. And the machine is also able to access
jlope2's avatar
jlope2 committed
  HPC platforms via password-less ssh.
jlope2's avatar
jlope2 committed
  *: optional

- Install Autosubmit
   > pip install autosubmit
  or download, unpack and "python setup.py install"

- Create a repository for experiments: Say for example "/cfu/autosubmit" then "autosubmit configure" and follow
  instructions
- Create a blank database: "autosubmit install"
HOW TO USE AUTOSUBMIT
=====================
> autosubmit -h
> autosubmit expid --HPC ithaca --description "experiment is about..."
Muhammad Asif's avatar
 
Muhammad Asif committed

Muhammad Asif's avatar
Muhammad Asif committed
Say for example, "cxxx" is 4 character based expid generated by system automatically.
First character is a letter, the other three alfa-numeric characters allow to identify uniquely the experiment.
Muhammad Asif's avatar
 
Muhammad Asif committed

Muhammad Asif's avatar
Muhammad Asif committed
> vi /cfu/autosubmit/cxxx/conf/expdef_cxxx.conf
Muhammad Asif's avatar
Muhammad Asif committed
> vi /cfu/autosubmit/cxxx/conf/autosubmit_cxxx.conf
Muhammad Asif's avatar
 
Muhammad Asif committed

> vi /cfu/autosubmit/cxxx/conf/platforms_cxxx.conf
Muhammad Asif's avatar
 
Muhammad Asif committed

> vi /cfu/autosubmit/cxxx/conf/jobs_cxxx.conf
> autosubmit create cxxx
jlope2's avatar
jlope2 committed
> nohup autosubmit run cxxx &
Cautions: 
- Before launching autosubmit check the following stuff:
jlope2's avatar
jlope2 committed
> ssh ithaca # (for example) check other HPC platforms where password-less ssh is feasible.
- After launching autosubmit, one must be aware of login expiry limit and policy (if applicable for any HPC)
and renew the login access accordingly (by using token/key etc) before expiry.
HOW TO MONITOR EXPERIMENT
=========================
Muhammad Asif's avatar
 
Muhammad Asif committed

> autosubmit monitor -h
> autosubmit monitor cxxx
> autosubmit monitor cxxx -o png
Above generated plot with date & time stamp can be found at:
Muhammad Asif's avatar
Muhammad Asif committed
/cfu/autosubmit/cxxx/plot/cxxx_date_time.pdf
Muhammad Asif's avatar
Muhammad Asif committed
/cfu/autosubmit/cxxx/plot/cxxx_date_time.png
HOW TO RESTART EXPERIMENT
=========================
> autosubmit recovery -h
> autosubmit recovery  cxxx -s # saving the pickle file
jlope2's avatar
jlope2 committed
> nohup autosubmit run cxxx &
FULL DOCUMENTATION AND HOW TOs
Check the Autosubmit documentation provided in the docs/ folder of the package, in PDF format.
jvegas's avatar
jvegas committed
Check the online documentation in the following web page: http://www.bsc.es/projects/earthscience/autosubmit/