难以使 Healpix 与 GDL 兼容
Difficulty making Healpix compatible with GDL
问题:
我在使用当前版本的 Healpix Healpix_3.20.
时遇到困难 运行 使用 GDL 的 Healpix-IDL 例程
最简单的方法是在 post:
中关注用户 gilo
http://sourceforge.net/p/gnudatalanguage/discussion/338692/thread/6546b9ad/?limit=25#324d
所有Healpix IDL例程都在~/user/downloads/Healpix_3.20/src/idl
下载
然后,使用 !PATH 即:
GDL> !PATH = expand_path('+/user/myname/downloads/HEALPix_3.20/')+':'+!PATH
之后您可以访问 gdl
内的所有 healpix 程序
这对我不起作用。我在终端中尝试命令 hidl
和 hididle
(我正在使用 Mac OS X Yosemite, 10.10.5):
GDL> hidl
% Procedure not found: HIDL
% Execution halted at: $MAIN$
还有其他解决方案吗?
POS兄弟解决方案:
在安装程序install.pdf中,Section 7.6 hidl usage 描述了有时无法识别hidl。修复方法是将环境变量 IDL STARTUP 设置为等于 HEALPix 启动文件 HEALPix 启动,包括文件的目录路径,即使用
setenv IDL_STARTUP /disk1/user1/HEALPix_2.15a/src/idl/HEALPix_startup
for C shell, csh
export IDL_STARTUP="+/disk1/user1/HEALPix_2.15a/src/idl/HEALPix_startup"
为 s, sh, bash
对于我的例程,这应该是
export IDL_STARTUP="+/usr/downloads/HEALPix_3.20/src/idl/HEALPix_startup"
在 bash 终端
(回忆语法:
export key=value
是 sh,ksh,bash
setenv key value
是 csh)
这对我不起作用。执行命令并输入 gdl 后,我得到:
% Error opening startup file: /user/myname/downloads/HEALPix_3.20/src/idl/HEALPix_startup
根据第 7.8 节使用 GDL 而不是 IDL,我尝试
$ export IDL_TMPDIR=/tmp
$ gdl
这也不行。
在 IDL 例程手册 idl.pdf 中将 HEALPix IDL 与其他 IDL 库一起使用后,我尝试
export IDL_PATH="+/user/myname/downloads/HEALPix_3.20/src/idl/:+/opt/local/share/gnudatalanguage/lib:<IDL_DEFAULT>"
export IDL_STARTUP="+/user/myname/downloads/HEALPix_3.20/src/idl/HEALPix_startup"gdl`
输出错误:
% Error opening startup file: /user/myname/downloads/HEALPix_3.20/src/idl/HEALPix_startup.
我试试
export IDL_PATH="+/opt/local/share/gnudatalanguage/lib:<IDL_DEFAULT>"
hidl
输出错误:
-bash: hidl: command not found
没有任何效果。
背景:
Healpix 在这里有安装程序,来源forge.net:healpix.sourceforge.net/pdf/install.pdf
和此处的 IDL 例程:healpix.sourceforge.net/pdf/idl.pdf
源代码在这里:sourceforge.net/projects/healpix/
为了安装 Healpix,您使用 ./configure
然后 make
。 (参见 install.pdf,第 4 节)
Healpix IDL 例程已在 /user/myname/downloads/HEALPix_3.20/
下载
GDL 例程位于 /opt/local/share/gnudatalanguage/lib/
hidl
是用Healpix启动文件和路径启动IDL的别名。在系统命令行中键入它,而不是在 IDL 命令行中键入它。您必须 运行 通过他们的 configure
系统来定义 hidl
.
在子目录 ~/.healpix/3_20_Darwin
中有两个文件,config
和 idl.sh
。
config
是
# configuration for Healpix 3.20
HEALPIX=/Users/myname/downloads/Healpix_3.20 ; export HEALPIX
HPX_CONF_DIR=/Users/myname/.healpix/3_20_Darwin
if [ -r ${HPX_CONF_DIR}/idl.sh ] ; then . ${HPX_CONF_DIR}/idl.sh ; fi
if [ -r ${HPX_CONF_DIR}/f90.sh ] ; then . ${HPX_CONF_DIR}/f90.sh ; fi
if [ -r ${HPX_CONF_DIR}/cpp.sh ] ; then . ${HPX_CONF_DIR}/cpp.sh ; fi
if [ -r ${HPX_CONF_DIR}/c.sh ] ; then . ${HPX_CONF_DIR}/c.sh ; fi
idl.sh
文件是
# IDL configuration for HEALPix Fri MONTH DAY TIME EDT YEAR
# make sure IDL related variables are global
export IDL_PATH IDL_STARTUP
# back up original IDL config, or give default value
OIDL_PATH="${IDL_PATH-<IDL_DEFAULT>}"
OIDL_STARTUP="${IDL_STARTUP}"
# create Healpix IDL config, and return to original config after running Healpix-enhanced IDL
HIDL_PATH="+${HEALPIX}/src/idl:${OIDL_PATH}"
HIDL_STARTUP="${HEALPIX}/src/idl/HEALPix_startup"
alias hidl="IDL_PATH=\"${HIDL_PATH}\" ; IDL_STARTUP=${HIDL_STARTUP} ; idl ; IDL_PATH=\"${OIDL_PATH}\" ; IDL_STARTUP=${OIDL_STARTUP} "
alias hidlde="IDL_PATH=\"${HIDL_PATH}\" ; IDL_STARTUP=${HIDL_STARTUP} ; idlde ; IDL_PATH=\"${OIDL_PATH}\" ; IDL_STARTUP=${OIDL_STARTUP} "
因此,如果我手动设置此 idl.sh
文件和 运行 config
中的路径,即 ~/.config
。这应该允许在命令行中使用 hidl
到 运行 Healpix IDL 例程,对吧?
问题:
我在使用当前版本的 Healpix Healpix_3.20.
时遇到困难 运行 使用 GDL 的 Healpix-IDL 例程最简单的方法是在 post:
中关注用户gilo
http://sourceforge.net/p/gnudatalanguage/discussion/338692/thread/6546b9ad/?limit=25#324d
所有Healpix IDL例程都在~/user/downloads/Healpix_3.20/src/idl
然后,使用 !PATH 即:
GDL> !PATH = expand_path('+/user/myname/downloads/HEALPix_3.20/')+':'+!PATH
之后您可以访问 gdl
这对我不起作用。我在终端中尝试命令 hidl
和 hididle
(我正在使用 Mac OS X Yosemite, 10.10.5):
GDL> hidl
% Procedure not found: HIDL
% Execution halted at: $MAIN$
还有其他解决方案吗?
POS兄弟解决方案: 在安装程序install.pdf中,Section 7.6 hidl usage 描述了有时无法识别hidl。修复方法是将环境变量 IDL STARTUP 设置为等于 HEALPix 启动文件 HEALPix 启动,包括文件的目录路径,即使用
setenv IDL_STARTUP /disk1/user1/HEALPix_2.15a/src/idl/HEALPix_startup
for C shell, csh
export IDL_STARTUP="+/disk1/user1/HEALPix_2.15a/src/idl/HEALPix_startup"
为 s, sh, bash
对于我的例程,这应该是
export IDL_STARTUP="+/usr/downloads/HEALPix_3.20/src/idl/HEALPix_startup"
在 bash 终端
(回忆语法:
export key=value
是 sh,ksh,bash
setenv key value
是 csh)
这对我不起作用。执行命令并输入 gdl 后,我得到:
% Error opening startup file: /user/myname/downloads/HEALPix_3.20/src/idl/HEALPix_startup
根据第 7.8 节使用 GDL 而不是 IDL,我尝试
$ export IDL_TMPDIR=/tmp
$ gdl
这也不行。 在 IDL 例程手册 idl.pdf 中将 HEALPix IDL 与其他 IDL 库一起使用后,我尝试
export IDL_PATH="+/user/myname/downloads/HEALPix_3.20/src/idl/:+/opt/local/share/gnudatalanguage/lib:<IDL_DEFAULT>"
export IDL_STARTUP="+/user/myname/downloads/HEALPix_3.20/src/idl/HEALPix_startup"gdl`
输出错误:
% Error opening startup file: /user/myname/downloads/HEALPix_3.20/src/idl/HEALPix_startup.
我试试
export IDL_PATH="+/opt/local/share/gnudatalanguage/lib:<IDL_DEFAULT>"
hidl
输出错误:
-bash: hidl: command not found
没有任何效果。
背景:
Healpix 在这里有安装程序,来源forge.net:healpix.sourceforge.net/pdf/install.pdf
和此处的 IDL 例程:healpix.sourceforge.net/pdf/idl.pdf
源代码在这里:sourceforge.net/projects/healpix/
为了安装 Healpix,您使用 ./configure
然后 make
。 (参见 install.pdf,第 4 节)
Healpix IDL 例程已在 /user/myname/downloads/HEALPix_3.20/
GDL 例程位于 /opt/local/share/gnudatalanguage/lib/
hidl
是用Healpix启动文件和路径启动IDL的别名。在系统命令行中键入它,而不是在 IDL 命令行中键入它。您必须 运行 通过他们的 configure
系统来定义 hidl
.
在子目录 ~/.healpix/3_20_Darwin
中有两个文件,config
和 idl.sh
。
config
是
# configuration for Healpix 3.20
HEALPIX=/Users/myname/downloads/Healpix_3.20 ; export HEALPIX
HPX_CONF_DIR=/Users/myname/.healpix/3_20_Darwin
if [ -r ${HPX_CONF_DIR}/idl.sh ] ; then . ${HPX_CONF_DIR}/idl.sh ; fi
if [ -r ${HPX_CONF_DIR}/f90.sh ] ; then . ${HPX_CONF_DIR}/f90.sh ; fi
if [ -r ${HPX_CONF_DIR}/cpp.sh ] ; then . ${HPX_CONF_DIR}/cpp.sh ; fi
if [ -r ${HPX_CONF_DIR}/c.sh ] ; then . ${HPX_CONF_DIR}/c.sh ; fi
idl.sh
文件是
# IDL configuration for HEALPix Fri MONTH DAY TIME EDT YEAR
# make sure IDL related variables are global
export IDL_PATH IDL_STARTUP
# back up original IDL config, or give default value
OIDL_PATH="${IDL_PATH-<IDL_DEFAULT>}"
OIDL_STARTUP="${IDL_STARTUP}"
# create Healpix IDL config, and return to original config after running Healpix-enhanced IDL
HIDL_PATH="+${HEALPIX}/src/idl:${OIDL_PATH}"
HIDL_STARTUP="${HEALPIX}/src/idl/HEALPix_startup"
alias hidl="IDL_PATH=\"${HIDL_PATH}\" ; IDL_STARTUP=${HIDL_STARTUP} ; idl ; IDL_PATH=\"${OIDL_PATH}\" ; IDL_STARTUP=${OIDL_STARTUP} "
alias hidlde="IDL_PATH=\"${HIDL_PATH}\" ; IDL_STARTUP=${HIDL_STARTUP} ; idlde ; IDL_PATH=\"${OIDL_PATH}\" ; IDL_STARTUP=${OIDL_STARTUP} "
因此,如果我手动设置此 idl.sh
文件和 运行 config
中的路径,即 ~/.config
。这应该允许在命令行中使用 hidl
到 运行 Healpix IDL 例程,对吧?