天行简分享 http://blog.sciencenet.cn/u/astrohou 宇宙微波背景辐射

博文

HEALPix 使用感受

已有 6871 次阅读 2008-5-4 21:08 |个人分类:CMB|关键词:学者

    HEALPix是我开始研究生涯后接触的第一套天文软件,其主要功能是为Cosmic Microwave Background (CMB) 的数据处理和数值模拟提供支持。从我开始使用到现在这短短半年多时间里,越来越感受到这套软件功能之强大。

    从实用的角度来看,HEALPix主要分为三个部分:1.Fortran Facilities; 2.IDL Facilities; 3.Fortran90 Subroutines.

1.Fortran Facilities
    这一部分其实是第三部分的整合,包含CMB研究中最常用的手段,生成了若干可执行程序,通过设定参数文件的方式运行。这是HEALPix初学者最先接触的部分,其中“synfast”、“anafast”、“alteralm”和“smoothing”是最常用到的工具。这些命令非常易用,只需要看看manual便可以开始HEALPix之旅。但对于成百上千次的simulation来说,虽然可以用IDL直接调用这些可执行程序,但终究会造成频繁的硬盘读写,因为这些程序之间只能通过文件传输数据,而无法实现内存直接通信,大大降低效率。

2.IDL Facilities
    这应该是我最喜闻乐见的部分了,毕竟写IDL程序比写Fortran代码要愉快多了。这一部分包含了几乎所有的HEALPix功能。唯一遗憾的是,目前的最新版本2.01尚无类似于Fortran90 Subroutines中“create_alm”、“alm2map”、“map2alm”等等非常重要的语句。如果需要simulation而又对fortran望而却步,那么仍然需要调用“synfast”、“anafast”等笨重的程序,忍受吭哧吭哧的硬盘读写……不过幸运的是,下一个HEALPix版本就会包含这些很实用的命令。我有幸接触了下个版本会包含的一个重要软件包——MASTER。MASTER全名:Monte Carlo Apodized Spherical Transform Estimator,是一种分析由cut-sky CMB观测估计fullsky CMB功率谱的算法。目前这个软件包中包含的命令是IDL形式的,但涉及time-consuming计算的部分仍然是调用MASTER内部编译好的fortran程序,比如mode-mode correlation kernel的计算。其中Fortran程序与IDL之间仍旧是文件通信,硬盘读写当然是免不了的。
    MASTER code由Frode Hansen编写,我进行了一些使用测试工作,范围仅集中在温度部分,CMB偏振的MASTER处理还没有测试过。测试结果MASTER与同功能软件PolSpICE不分伯仲,但MASTER更容易操作,内部过程更加清晰。所以Tony Banday已经决定将MASTER放入下一个HEALPix release版本。

3.Fortran90 Subroutines
    这才是HEALPix的核心部分。自带的manual——《HEALPix Fortran90 Subroutines Overview》将所有subroutine的输入输出数据类型规定地明明白白。使用者可以根据自己的需要调用或者修改其中的subroutine。几乎所有关键的子程序都提供单双两种精度供选择,各个子程序也包含很多出错后的屏幕输出信息,方便编译。这一部分最大的优点就是处理过程可完全通过内存操作完成,避免了低效率的硬盘读写。当然作为编写好的Fortran程序,可以改写成为并行程序大大提高效率,这一点也是普通IDL所无法实现的。FastDL可以实现IDL的并行运算,但是对于本身效率不高的IDL来说,花很多钱买来的FastDL就更加成为鸡肋了。

    附上关于HEALPix历史的链接:http://healpix.jpl.nasa.gov/healpixBackgroundHistory.shtml

https://m.sciencenet.cn/blog-45289-24134.html


下一篇:ready, ..., r.u.n

0

发表评论 评论 (1 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-6-16 14:29

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部