Usage: jcmwave_daemon_add_queue(options)

Purpose: registers a queue as a computing resource

  options: key-value list (or matlab) structure to configure the queue
    options.Hostname   -> host name of the (remote) login node of the queue
                          To form a login chain concatenate the hostnames with
                          ';' separators, i.e 'gateway.com;maxwell'
    options.JCMROOT    -> JCMsuite installation path on computing nodes of the queue
                          default: same directory as local installation
    options.Login      -> Login name to the(remote) login node of the queue
                          For a login chain concatenate the user names with
                          ';' separators, i.e 'user1;user2'
    options.SSHClient -> ssh client used to establish a secure connection to the
                         remote machine. As a default the system ssh client
                         is used (if not available on Windows Putty's plink is used)
                         For a login chain concatenate ssh clients with
                        ';' separators, i.e 'plink;ssh'
    options.SSHAgentForwarding -> Enables forwarding of the authentication agent connection.
                         ('yes'/'no', default 'no')
    options.SSHTimeOut ->  Timeout for establishing the ssh connection (default 6s)
    options.Multiplicity -> allow for multiply simultaneous submission of jobs to the queue
                            default: 10
    options.Type       -> Determines type of batch queue. Possible values are: Slurm
                          default: Slurm
    options.NThreads   -> Number of CPUs/threads used by one job in the queue

    The following options are used to restrict resource allocations in slurm queues:

       options.PartitionName -> Name of the slurm partition you want to add
       options.MemoryPerJob    -> Limit allocation to nodes with at least MemPerCPU MB of RAM per node
       options.Time          -> Limit total run time of each job submitted to the queue in minutes
       options.MemPerCPU     -> Limit allocation to nodes with at least MemPerCPU MB of RAM per CPU employed
       options.WorkingDir    -> Directory used by JCMsuite to place temporary files.
                                Project files are copied as well if the project directory
                                is not shared by the login nodes and the nodes of the queue.
                                This directory must be accessible by any node of the queue,
                                i.e. a directory on a shared filesystem.
       options.TempDiskSpace -> Require at least TempDiskSpace MB of free temporary disk space on nodes
       options.Features      -> Constrains job allocation to nodes of the cluster with the selected features.
       options.NodeList      -> Limit job execution to a specific node of the cluster.
       options.ExcludeNode   -> Exclude a node of a partition from executing jobs.
                                Multiple nodes can be entered as a comma separated list
                                containing no spaces, i.e. maxwell1,maxwell2,... or
                                as a range of nodes, i.e. maxwell[1-3].
                                Setting a node list and excluding a node are mutually exclusive.

Output: resource identifier (integer vector for multiple used resources)

Warning: Adding a job queue recursively increases the number of
         simultaneously submitted jobs in this queue.