Newer
Older
[![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)
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.
Muhammad Asif
committed
Get involved or contact us:
Autosubmit GitLab: https://earth.bsc.es/gitlab/es/autosubmit
Autosubmit Support: support-autosubmit@bsc.es
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
HOW TO DEPLOY/SETUP AUTOSUBMIT FRAMEWORK
========================================
Muhammad Asif
committed
- Autosubmit has been tested:
Muhammad Asif
committed
with the following Operating Systems:
* Linux Debian
Muhammad Asif
committed
* Ithaca (IC3 machine)
* MareNostrum (BSC machine)
* MareNostrum3 (BSC machine)
* HECToR (EPCC machine)
* Lindgren (PDC machine)
* C2A (ECMWF machine)
* ARCHER (EPCC machine)
Muhammad Asif
committed
- Pre-requisites: These packages (bash, python2, sqlite3, git-scm > 1.8.2, subversion, dialog*) must be available at local
machine. These packages (argparse, dateutil, pyparsing, numpy, pydotplus, matplotlib, paramiko,
python2-pythondialog*, mock, portalocker) must be available for python runtime. And the machine is also able to access
Muhammad Asif
committed
- 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"
Muhammad Asif
committed
HOW TO USE AUTOSUBMIT
=====================
Muhammad Asif
committed
> autosubmit expid --HPC ithaca --description "experiment is about..."
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.
![Edgar Garriga Edgar Garriga's avatar](/gitlab/uploads/-/system/user/avatar/1032/avatar.png?width=36)
Edgar Garriga
committed
> vi /cfu/autosubmit/cxxx/conf/expdef_cxxx.yml
Muhammad Asif
committed
![Edgar Garriga Edgar Garriga's avatar](/gitlab/uploads/-/system/user/avatar/1032/avatar.png?width=36)
Edgar Garriga
committed
> vi /cfu/autosubmit/cxxx/conf/autosubmit_cxxx.yml
![Edgar Garriga Edgar Garriga's avatar](/gitlab/uploads/-/system/user/avatar/1032/avatar.png?width=36)
Edgar Garriga
committed
> vi /cfu/autosubmit/cxxx/conf/platforms_cxxx.yml
![Edgar Garriga Edgar Garriga's avatar](/gitlab/uploads/-/system/user/avatar/1032/avatar.png?width=36)
Edgar Garriga
committed
> vi /cfu/autosubmit/cxxx/conf/jobs_cxxx.yml
Muhammad Asif
committed
Cautions:
- Before launching autosubmit check the following stuff:
> 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.
Muhammad Asif
committed
HOW TO MONITOR EXPERIMENT
=========================
Muhammad Asif
committed
Muhammad Asif
committed
Above generated plot with date & time stamp can be found at:
Muhammad Asif
committed
Muhammad Asif
committed
HOW TO RESTART EXPERIMENT
=========================
Muhammad Asif
committed
Muhammad Asif
committed
> autosubmit recovery cxxx -s # saving the pickle file
Muhammad Asif
committed
dmanubens
committed
dmanubens
committed
==============================
Check the Autosubmit documentation provided in the docs/ folder of the package, in PDF format.
Check the online documentation in the following web page: http://www.bsc.es/projects/earthscience/autosubmit/