HEALPix
本文导语: HEALPix是一套天文软件,其主要功能是为Cosmic Microwave Background (CMB) 的数据处理和数值模拟提供支持。 从实用的角度来看,HEALPix主要分为三个部分:1.Fortran Facilities; 2.IDL Facilities; 3.Fortran90 Subroutines.1.Fortran Facilities 这一部分...
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就更加成为鸡肋了。
您可能感兴趣的文章:
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。