Generating Submission Scripts ============================= ``orto`` can generate submission scripts for your job scheduler of choice. Currently, the following job schedulers are supported: .. code-block:: text - slurm Setup ***** To use the job submission script generation feature, you need to first set the ``orto_orca_load`` environment variable as the command to load the ORCA module - this is typically done using a module system like Lmod or Environment Modules. For example, if you are using Lmod, you might set this variable as .. code-block:: bash export orto_orca_load="orca/6.0.1" We advise that you set this to the version of ORCA you use most frequently. To use a different version, you can override this variable using the ``--orca_load`` optional argument in ``orto gen job``. .. ### ``orto_scheduler`` .. The job scheduler you are using. This should be set to one of the supported schedulers. Currently, the only supported scheduler is SLURM. .. For example, you can set this variable as .. .. code-block:: bash .. export orto_scheduler="slurm" Example Submission ****************** First, prepare an input file. .. Note:: ``orto`` is fairly agnostic to the contents of the input file, but edge-cases might not work as expected. If you encounter any problems, please head to the :ref:`bugs` page. The following example is a simple ORCA input file for a geometry optimisation of benzene using the BP86 functional and the def2-svp basis set. .. code-block:: :caption: ``benzene.inp`` !BP86 def2-svp OPT %PAL NPROCS 16 END %maxcore 2000 *xyzfile 0 1 benzene.xyz You must always have the number of cores and amount of memory specified in the input file. The above example uses 16 cores and 2000 MB of memory per core. In this example the structure is located in a separate ``.xyz`` file - ``benzene.xyz``. .. code-block:: :caption: ``benzene.xyz`` 12 Benzene H 1.2194 -0.1652 2.1600 C 0.6825 -0.0924 1.2087 C -0.7075 -0.0352 1.1973 H -1.2644 -0.0630 2.1393 C -1.3898 0.0572 -0.0114 H -2.4836 0.1021 -0.0204 C -0.6824 0.0925 -1.2088 H -1.2194 0.1652 -2.1599 C 0.7075 0.0352 -1.1973 H 1.2641 0.0628 -2.1395 C 1.3899 -0.0572 0.0114 H 2.4836 -0.1022 0.0205 To submit a job for this calculation, simply run .. code-block:: console orto gen job benzene.inp You should then see an message informing you that a submission script was created and subsequently submitted. Run ``squeue`` or similar to check the status of your job - it might take a few minutes to start! The job will be given the same name as your input file, and the output file(s) for this calculation should appear in the current directory when the job starts running - for example .. code-block:: console user@computer ~/benzene $ ls benzene.6718675.e benzene.6718675.o benzene.inp benzene.out benzene.slm benzene.xyz ... Coordinates within ``.inp`` files ********************************* Instead of providing a separate ``.xyz`` file, it is possible to specify coordinates within the ``ORCA`` input file. This feature is supported by ``orto`` and requires no additional effort on the part of the user. Cores and Memory **************** You must always have the number of cores and amount of memory specified in the input file and, by default, ``orto`` will read these numbers and use them when submitting a job. To override this, use the ``--n_procs`` and ``--memory`` optional arguments in ``orto gen job`` - This may be useful if your submission system imposes per-core memory limits. NBO *** If you wish to use NBO within an orca calculation, you need to first set the ``orto_nbo_load`` environment variable as the command to load the NBO module - this is typically done using a module system like Lmod or Environment Modules. For example, if you are using Lmod, you might set this variable as .. code-block:: bash export orto_nbo_load="nbo/6.0" More **** Additional command line arguments for ``orto gen job`` can be listed by running :: orto gen job -h