.. raw:: html
.. role:: subtitle
.. _jdlDescription:
=========================================
Job Description Language Reference
=========================================
In this section all the attributes that can be used in the DIRAC JDL job descriptions are presented.
+---------------------+---------------------------------------------+-------------------------------------------------------------------------------------+
| |
| :subtitle:`The basic JDL parameters` |
| |
| These are the parameters giving the basic job description |
+---------------------+---------------------------------------------+-------------------------------------------------------------------------------------+
| **Attribute Name** | **Description** | **Example** |
+---------------------+---------------------------------------------+-------------------------------------------------------------------------------------+
| *Executable* | Name of the executable file | Executable = ``"/bin/ls";`` |
| | | |
+---------------------+---------------------------------------------+-------------------------------------------------------------------------------------+
| *Arguments* | String of arguments for the job | Arguments = ``"-ltr";`` |
| | executable | |
+---------------------+---------------------------------------------+-------------------------------------------------------------------------------------+
| *StdError* | Name of the file to get the standard error | StdError = ``"std.err";`` |
| | stream of the user application | |
+---------------------+---------------------------------------------+-------------------------------------------------------------------------------------+
| *StdOutput* | Name of the file to get the standard output | StdOutput = ``"std.out";`` |
| | stream of the user application | |
+---------------------+---------------------------------------------+-------------------------------------------------------------------------------------+
| *InputSandbox* | A list of input sandbox files | InputSandbox = ``{"jobScript.sh"};`` |
+---------------------+---------------------------------------------+-------------------------------------------------------------------------------------+
| *OutputSandbox* | A list of output sandbox files | OutputSandbox = ``{"std.err","std.out"};`` |
+---------------------+---------------------------------------------+-------------------------------------------------------------------------------------+
| |
| :subtitle:`Job Requirements` |
| |
| These parameters are interpreted as job requirements |
+---------------------+---------------------------------------------+-------------------------------------------------------------------------------------+
| **Attribute Name** | **Description** | **Example** |
+---------------------+---------------------------------------------+-------------------------------------------------------------------------------------+
| *CPUTime* | Max CPU time required by the job in | CPUTime = 18000; |
| | HEPSPEC06 seconds | |
+---------------------+---------------------------------------------+-------------------------------------------------------------------------------------+
| *Site* | Job destination site | Site = ``{"EGI.CPPM.fr"};`` |
+---------------------+---------------------------------------------+-------------------------------------------------------------------------------------+
| *BannedSites* | Sites where the job must not go | BannedSites = ``{"EGI.LAPP.fr"};`` |
+---------------------+---------------------------------------------+-------------------------------------------------------------------------------------+
| *GridCE* | Job destination CE | GridCE = ``{"some.ce.lapp.fr"};`` |
+---------------------+---------------------------------------------+-------------------------------------------------------------------------------------+
| *Platform* | Target Operating System | Platform = ``"Linux_x86_64_glibc-2.17";`` |
+---------------------+---------------------------------------------+-------------------------------------------------------------------------------------+
| |
| :subtitle:`Data` |
| |
| Describing job data |
+---------------------+---------------------------------------------+-------------------------------------------------------------------------------------+
| **Attribute Name** | **Description** | **Example** |
+---------------------+---------------------------------------------+-------------------------------------------------------------------------------------+
| *InputData* | Job input data files | InputData = ``{"/dirac/user/a/atsareg/data1", |
| | | "/dirac/user/a/atsareg/data1"};`` |
+---------------------+---------------------------------------------+-------------------------------------------------------------------------------------+
| *InputDataModule* | Job input data module | InputDataModule = ``"DIRAC.WorkloadManagementSystem.Client.InputDataResolution"`` |
+---------------------+---------------------------------------------+-------------------------------------------------------------------------------------+
| *InputDataPolicy* | Job input data policy | InputDataPolicy = ``"DIRAC.WorkloadManagementSystem.Client.DownloadInputData";`` |
+---------------------+---------------------------------------------+-------------------------------------------------------------------------------------+
| *OutputData* | Job output data files | OutputData = ``{"output1","output2"};`` |
+---------------------+---------------------------------------------+-------------------------------------------------------------------------------------+
| *OutputPath* | The output data path in the File Catalog | OutputPath = ``{"/myjobs/output"};`` |
+---------------------+---------------------------------------------+-------------------------------------------------------------------------------------+
| *OutputSE* | The output data Storage Element | OutputSE = ``{"DIRAC-USER"};`` |
+---------------------+---------------------------------------------+-------------------------------------------------------------------------------------+
| |
| :subtitle:`Parametric Jobs` |
| |
| Bulk submission parameters |
+---------------------+---------------------------------------------+-------------------------------------------------------------------------------------+
| **Attribute Name** | **Description** | **Example** |
+---------------------+---------------------------------------------+-------------------------------------------------------------------------------------+
| *Parameters* | Number of parameters or a list of values | Parameters = 10; |
+---------------------+---------------------------------------------+-------------------------------------------------------------------------------------+
| *ParameterStart* | Value of the first parameter | ParameterStart = 0.; |
+---------------------+---------------------------------------------+-------------------------------------------------------------------------------------+
| *ParameterStep* | Parameter increment | ParameterStep = 0.1; (default 0.) |
+---------------------+---------------------------------------------+-------------------------------------------------------------------------------------+
| *ParameterFactor* | Parameter multiplier | ParameterFactor = 1.1; (default 1.) |
+---------------------+---------------------------------------------+-------------------------------------------------------------------------------------+