Planck Sky Model(PSM)的安装与注意事项

1. 运行平台(IDL)

IDL程序并非是免费版, 需要激活, 但是自从8.0版本以后, 激活比较麻烦, 这里考虑使用IDL7.1.1版本. 因为在下面的主程序PSM的公开版本中, 就推荐使用该版本. 在安装该版本的IDL编译程序时,需要注意的是该版本只有32位的, 没有64位, 所以在目前的Linux上, 基本都是64位系统, 所以需要在64位Linux系统上支持32位系统. 这里有很多种方法, 具体可在网上寻找.

网上的安装教程都在root下, 所以这里也用root命令安装, 以防出错不知怎么处理.

  • root登录, 在/usr/local/下创建安装目录;

> mkdir /usr/local/itt

  • 将下载好的IDL711linux.x86.tar.gz复制到上述文件夹, 然后解压

> cp /home/nisl/software/IDL711linux_x86.tar.gz /usr/local/itt

> tar xvfz IDL711linux_x86.tar.gz

  • 运行安装软件, 一路狂点y, 最后设置环境变量

> ./install

  • 安装license

将下载好的license.dat复制到安装文件中


> cp license.dat /usr/local/itt/license/

这里的IDL程序以及激活license都在这里: 链接: https://pan.baidu.com/s/1oJMLxm1Qk1OrOobA8gtnUQ 提取码: qnjp

此安装方法参考: http://lifeng.lamost.org/courses/IDL/IDL_install.htmhttp://blog.sciencenet.cn/blog-1797968-827480.html

2. 主程序

该主程序只有一个public版本, 也就是v1.7.8版本.

PSM主地址: http://www.apc.univ-paris7.fr/~delabrou/PSM/psm.html

v1.7.8地址: http://www.apc.univ-paris7.fr/~delabrou/PSM/release_v1_7_8.html

v1.7.8手册地址: http://www.apc.univ-paris7.fr/~delabrou/PSM/Public/PSM_user_manual_v1_7_8.pdf

3. 支持程序astron

该程序地址: https://idlastro.gsfc.nasa.gov/ftp/

该程序不需要编译, 只需要解压到IDL安装目录下, 然后修改文件属性即可, 然后加上路径.


> sudo chmod 777 -R astro

> export IDL_PATH=/usr/local/itt/idl71/lib:/usr/local/itt/idl71/lib/astro/pro

4. 支持程序idlutils

该程序下载需要一个软件: subversion(svn)

svn程序可用下面的命令安装:


> sudo apt-get install subversion

而idlutils程序在网址:http://www.sdss3.org/svn//repo/idlutils/tags/

这里各个版本的程序都有, 这里我们下载v5_3_0版本的程序.

如果想要下载指定版本使用下面的命令:


> svn export https://svn.sdss.org/public/repo/sdss/idlutils/tags/v5_5_24 idlutils

如果想要展开都是什么版本的程序使用下面的命令:


> svn ls https://svn.sdss.org/public/repo/sdss/idlutils/tags

如果想要下载最新版本的程序使用下面的命令:


> svn co https://svn.sdss.org/public/repo/sdss/idlutils/trunk idlutils

主要网上有些方法是错误的, 因为idlutils有公开版本和非公开版本,所以有些命令是非公开版本的, 例如:


> svn export http://www.sdss3.org/svn/repo/idlutils/tags/v5_5_5 idlutils

这里就会提醒错误.

而对idlutils的安装中, 需要使用超命令, 直接进入到idlutils, 并对其bin目录下的evilmake修改(在Linux系统):

将:


>  "Linux" )
>        LDF77=g77

改为:


> "Linux" )
>        F77=gfortran
>        LDF77=gcc

然后执行如下命令:


> sudo ./bin/evilmake all

然后设置环境变量, 具体看上面给的地址.

5. 环境变量的配置

首先是IDL的环境变量配置, 如果默认安装将IDL环境变量加入到系统环境变量后, 可不配置这一项, 如何确定IDL环境变量已经加入进来, 可在命令行下执行IDL, 会有IDL相关的版本和说明, 如下图:

否则需要手动将IDL的环境变量加入到.bashrc中, 命令如下:

> export IDL_PATH=+/usr/local/itt/idl

注意一下, 这里的很多东西都需要加入到IDL_PATH中的.
安装astron, Healpix, MPFIT, CAMB, CGIS等, 将这些软件下载后, 放入到IDL_PATH下, 然后将这些软件的环境变量加入到IDL_PATH中, 注意一下, 这里的CAMB的环境变量需要单独加入到PATH里, 具体不在多说, 直接将我的环境变量加入进来一饱眼福吧:

> export PATH=/home/nisl/programs/openmpi/bin:/home/nisl/programs/camb:${PATH}
> export IDL_PATH=+/usr/local/itt/idl71/lib/astron:+/usr/local/itt/idl71/lib/idl_packages/cgis:+/usr/local/itt/idl71/lib/mpfit:+/usr/local/itt/idl71/lib/idlutils:+/home/nisl/programs/healpix/src/idl:+/home/nisl/programs/psm:+/home/nisl/programs/camb:+/usr/local/itt/idl

注意一下, 这里的Healpix的路径要写到idl.
说到这里都是没啥用, 因为主角还没上场–PSM, 那么PSM的环境变量怎么设置呐, 这需要到IDL命令行里来设置, 首先记住PSM的完整路径(以我的为例: /home/nisl/programs/psm), 然后进入IDL命令行, 输入下列命令:

> DEFSYSV, ’!PSMROOT’,/home/nisl/programs/psm’
> !path=!path+:+expand_path(++!PSMROOT+/Soft/)

这样就将PSM的路径加进来了, 测试一下可以得到一堆PSM DATA:

> IDL> GET_PSM_DATA

然后就来测试一下PSM吧:
PSM主程序需要调用一下, 然后执行的是一个.psm为后缀名的文件, 其实PSM自带有一个config.psm文件, 具体位置:

> /home/nisl/progrms/psm/Soft/psm/config/config.psm

然后用PSM主程序执行这个文件, 但是这里会报错, 所以需要自己给一个自己的文件, 我姑且称为: myconfig.psm, 也放在该目录下, 即:

> /home/nisl/programs/psm/Soft/psm/config/myconfig.psm

其实.psm文件里的很多值都是默认的, 也就是即使不给这个值, 他也会有一个默认值, 所以一般不会出错的, 但是对有些宇宙学参数赋值就会出现一些错误, 因为需要满足宇宙学相关的条件. 最后经过调试, 可以得到一个测试成功的结果, 如下图:

这里需要注意的是, PSM默认的参数中子数是浮点的, 只有一个, 也就是 massive_neutrinos = 1.00000, 但是CAMB要求这个参数必须是整形的, 所以需要将PSM程序里的这个输入值改为整型, 需要修改的文件地址:


> /home/nisl/programs/psm/Soft/skymodel/cmb/write_camb_param_file.pro

需要修改的内容:


> massive_neutrinos:cp.n_massive_nu

这里将cp.n_massive_nu改为1即可.

猜你喜欢

转载自blog.csdn.net/weixin_42454974/article/details/84504699
sky
今日推荐