User Documentation

This Django application provides a user interface to generate a REFL1D script and run it on a remote node. This application gives users forms to set up their model and submit fitting jobs. To do so, it generates a python script to be executed either locally or on a remote compute resource. The generated script launches, which does the actual minimization.

Job management is done using a Django remote submission package. It manages remote jobs using the Celery distributed task queue and provides real-time monitoring of remote jobs and their associated logs. Celery uses message brokers to pass messages between the Django application and compute nodes. The Redis in-memory data structure store is used as the message broker. The script executed on the compute node sets up and executes the REFL1D fit, then gathers the output data.

_images/app_design_400ppi.png

A description of reflectivity, an overview of the main features, and a real-life example of the use of the application are described in this article: M. Doucet et al. SoftwareX 7 (2018) 287-293 https://doi.org/10.1016/j.softx.2018.09.001.

Indices and tables