如何在群集上进行qsub idl作业?

时间:2015-05-31 23:26:18

标签: idl qsub

我想使用qsub提交我的idl工作。但总有错误。我的脚本如下:

#####################################
#$ -S /bin/bash
##$ -j y
#$ -cwd
#$ -m e
### PE size must be a multiple of 12!
###$ -pe impi4 24
### wallclock up to 48 hours
#$ -l h_rt=48:00:00
#$ -M emailaddress
#$ -N 'name'
#$ -o 'name'
#$ -e 'name'
source ~/.bashrc
cd /mydirectory
echo "start time:"
date

idl -e .com file1
    -e file2
#####################################

我必须首先source .bashrcidl中创建一些库(出于某种原因我必须这样做)。然后我需要先编译file1以使file2顺利工作,即。在普通的终端命令行中,我需要执行.com file1然后回车然后file2没有run或任何东西。但是在这里它不起作用,错误说

idl command not found 

-e command not found 

为什么呢?我尝试添加\r!c行为file1似乎无法正常工作并删除-e之前的file2,但仍然没有。我使用SuSe os。

感谢@mgalloy的建议,就像你说的那样

Pro program
   .compile file1
   file2
End

并出现错误

Pro program
           ^   
% Programs can't be compiled from single statement mode.
  At: /directory/program.pro, Line 1
% Compiled module: xxx
several compiled steps
% Attempt to call undefined procedure: 'file2'.
% Execution halted at: $MAIN$    

End
 ^
% Syntax error.

1 个答案:

答案 0 :(得分:0)

你有两个问题。首先,你的idl没有找到。我只想把它完整的路径,例如,

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginBottom="10dp"
    android:layout_marginTop="10dp"
    android:paddingLeft="10dp"
    android:paddingRight="10dp"
    android:gravity="center_vertical"
    android:orientation="vertical"
    android:descendantFocusability="blocksDescendants">

    <RadioButton
        android:id="@+id/script_name_radio_btn"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:textStyle="bold"
        android:textColor="#000"
        android:padding="5dp"
        android:clickable="false"
        android:focusable="false"
        android:focusableInTouchMode="false"
        />

</LinearLayout>

其次,也许第三,你不能有两个&#34; -e&#34;参数,您需要围绕具有多个单词的命令的引号。所以,我会将你的IDL命令放在一个文件中,比如my_program.pro:

/usr/local/exelis/idl/bin/idl

然后像这样称呼它:

.compile file1
file2

注意:没有&#34; -e&#34;在上面,这是在批处理文件中运行命令,而不是执行IDL语句。