Трудност при правенето на Healpix съвместим с GDL

ПРОБЛЕМ:

Имам затруднения с изпълнението на съчетания на Healpix-IDL с GDL с текущата версия на Healpix, Healpix_3.20.

Най-лесното нещо, което можете да направите, е да следвате потребител 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

и след това имате достъп до всички healpix процедури в рамките на gdl

Това не работи за мен. Опитвам командата hidl и hididle в терминала (използвам Mac OS X Yosemite, 10.10.5):

GDL> hidl
% Procedure not found: HIDL
% Execution halted at: $MAIN$

Някакви други решения?

ВЪЗМОЖНИ РЕШЕНИЯ: В инсталационните процедури install.pdf, раздел 7.6 използване на hidl описва, че hidl понякога не се разпознава. Корекция е настройката на променливата на средата IDL STARTUP да бъде равна на HEALPix стартовия файл HEALPix startup, включително пътя на директорията до файла, т.е.

setenv IDL_STARTUP /disk1/user1/HEALPix_2.15a/src/idl/HEALPix_startup за 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

Това също не работи. След Използване на HEALPix IDL заедно с други IDL библиотеки в ръководството за IDL процедури, idl.pdf, опитвам

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/


person EB2127    schedule 11.09.2015    source източник


Отговори (2)


hidl е псевдоним за стартиране на IDL със стартовия файл и пътя на Healpix. Въведете го в командния ред на системата, а не в командния ред на IDL. Трябва да преминете през тяхната configure система, за да дефинирате hidl.

person mgalloy    schedule 11.09.2015
comment
Благодаря за помощта. Въвеждането на hidl в командния ред води до -bash: hidl: command not found. Ако задам пътя, като използвам !PATH=expand_path() по-горе в GDL, изляза и след това използвам hidl, това също не работи. Въвеждането на export IDL_STARTUP="+/usr/downloads/HEALPix_3.20/src/idl/HEALPix_startup" и след това hidl в терминала също не работи. Системата за конфигуриране на Healpix изглежда не засяга hidl. - person EB2127; 12.09.2015
comment
Изпълнихте ли файла config, който командата configure създава във вашата домашна директория? Бихте направили нещо като . ~/.healpix/3_20_Darwin/config. - person mgalloy; 12.09.2015
comment
В поддиректория ~/.healpix/3_20_Darwin има два файла, config и idl.sh. Вижте отговора по-долу за повече коментари. - person EB2127; 12.09.2015
comment
Намерих грешката. Грешката ми беше, че за GDL_STARTUP не може да се включи плюс +, т.е. export GDL_STARTUP="/Users/myname/downloads/Healpix_3.20/src/idl/HEALPix_startup", но за GDL_PATH трябва да се включи плюс +, т.е. export GDL_PATH="+/Users/myname/downloads/HEALPix_3.20/src/idl/:+/opt/local/share/gnudatalanguage/lib:<IDL_DEFAULT>" - person EB2127; 14.09.2015

В поддиректория ~/.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 в командния ред, за да стартира IDL рутинните процедури на Healpix, нали?

person EB2127    schedule 12.09.2015
comment
За мен току-що стартирах файла config и след това можех да стартирам hidl от командния ред. hidl просто стартира IDL с определени пътища. - person mgalloy; 12.09.2015
comment
Искате да кажете, че първо сте въвели в командния ред . ~/.healpix/3_20_Darwin/config и след това сте въвели hidl? Не ми действа. Получавам -bash: idl: command not found. - person EB2127; 12.09.2015
comment
Или имате предвид, че сте изпълнили ./configure, както е описано в раздел 4 тук: healpix.sourceforge.net/pdf /install.pdf Нито едно от двете не работи. - person EB2127; 12.09.2015
comment
Преди бях изпълнявал ./configure, това е, което създава ~/.healpix/3_20_Darwin. След това стартирам . ~/.healpix/3_20_Darwin/config, което трябва да ви даде команда hidl. Ще трябва да промените този config файл, ако искате да стартира GDL вместо IDL. - person mgalloy; 13.09.2015
comment
@mgalloy Файлът config изглежда, че няма зависимост от GDL. (Между другото, бих използвал IDL, но бедност. Съжалявам.) Редактирах файла idl.sh, за да бъде GDL съвместим, като редактирах всички IDL, за да станат GDL. Все пак hidl не работи. Не съм сигурен защо.... - person EB2127; 13.09.2015