40多年前的中国天文研究,计算机程序要靠穿孔纸带摇出来
受访、自述人 | 陈建生(中国科学院院士,北京大学天文学系创系系主任)
采访、整理 | 傅煜铭、王超、余捻坤、庞宇萱、郑沄、段晓苇(北大天文学系博士研究生)
校对 | 吴学兵
图片提供 | 陈建生、吴学兵
责编 | 韩越扬、吕浩然
01
少年时代与北大岁月
陈建生院士大学时代在北大(1960年)
02
投身北京天文台建设
1963年从北大毕业以后,我被分配到北京天文台(国家天文台前身)工作。当时,北京天文台还没有正式成立,叫北京天文台筹备处。为什么叫筹备处呢?因为当时从法国回来一个天文学家,他叫程茂兰,原来在法国上普罗旺斯(haut-provence)天文台工作,科研做得很好。他1956年回国后觉得中国天文台太少,当时只有一个紫金山天文台。而且,紫金山天文台在南京,下雨天、阴天很多,不适合做天文观测。所以程茂兰回来后觉得应该在北京地区建一个天文台,因为北方的天气条件在全国相对来说是比较好的。他回来后就开始筹备天文台,需要学生。当时只有南京大学有天文系,该系的学生毕业后都被近水楼台的紫金山天文台要去了,基本上很少有毕业生到北京这边来。
程茂兰跟北京大学当时的副校长周培源讨论能不能在北京大学办一个天文系,于是就把原来物理系我所在的班全部转成天体物理专业。我们就开始学天文学,后来大部分同学都分配到北京天文台。那时候天文台刚刚筹建,我们从(当时的)东德定了两台光学望远镜用来建天文台。第一件事情是要找好的台址,所以我们大学毕业后在天文台的第一件事就是参加选台址的工作。
选台址是一件很艰难的工作,需要考虑晴夜数、海拔、大气视宁度等因素。先要进行普选,选出好的候选台址之后进行2-3年的常规观测,再决定最后的台址。在我去之前,老一辈的天文学家已经做好普选工作了,他们在河北省找了两个候选台址:滦平和兴隆。
我们去以后就开始做定点观测了。我大学毕业后第一年的春节就是在兴隆山上过的。我们要去半山腰挑水,需要把供应的物资用毛驴拉到山上,冬天还要把半山腰的冰块砸开取水。每天要定点观测:晚上八点一次,半夜两点一次,凌晨天快亮的时候一次。大学毕业生和其他老同志都是轮流来观测,一次观测一个月,过两三个月再去观测一次。
所以我从1963年毕业到1965年,基本上就在做台址观测、选台址。后面又遇到十年之久的“文化大革命”,那些年我的科研工作遭遇了各种坎坷,直到1976年后才逐步回归正轨。幸好,我们报效国家的理想最终还没有泯灭。
03
走出国门,开始前沿研究
我真正的科研工作是从改革开放开始的,也是第一批走出国门的研究人员,1979年就被派到澳大利亚的英国—澳大利亚联合天文台(简称英澳天文台)。英澳天文台当时建了一台世界上最先进的光学望远镜(aat),3.9米口径。在这之前美国帕洛玛天文台在1949年建了一台口径5米的海尔望远镜,该望远镜在世界天文发展历史上作出了非常大的贡献。但是这个望远镜是1949年建的,整体技术、基建还比较落后。
澳大利亚aat望远镜是1975年建的,是第一台全自动的、由计算机控制的望远镜。所以当时建成之后全世界科学家都非常吃惊。过去我们都用传统的望远镜,对准天区都要用手去摇。而这个先进的望远镜对准天体的时候,只需要在键盘上把坐标敲进去,望远镜就自动对上了目标,而且精度可以在一个角秒之内,非常了不起。
那时候大望远镜主要做光谱观测,要把天体导到狭缝上,狭缝宽度也就一个角秒左右,所以按一下回车键之后天体就自动移到狭缝上了。而过去我们拍光谱的时候,因为望远镜对得不准要花很多时间去找星。星认出来以后,慢慢把它拉到狭缝上来,一次就要花好几分钟。
陈建生院士(右二)在澳大利亚工作时留影,左一为普林斯顿大学马丁·席瓦西教授(1979年)
我1979年3月去了澳大利亚,1980年6月回到北京。1982年我又去了欧洲南方天文台(eso),在德国也工作了一年。应该说这两次出国经历对我来说是个突变,对我震动非常大。但是在国外期间,我一边利用国外的设备做研究工作,一边心里想的最多的还是“中国怎么办”。因为肯定回国以后这些设备都没有了,中国当时还是那么落后。
当时中国的科研条件差到什么程度,你们很难想象。首先科研人员没有办公室,我们在天文台的时候,一间30平方米屋子里40个人在那里办公,一个人面前就摆着一张桌子。研究人员没有办公室也没有仪器,望远镜就是一台当时从德国进口的施密特望远镜,改正镜口径60公分,主镜90公分。还有一台双筒望远镜,是个折射望远镜,口径40公分。观测都是用天文底片,底片是用玻璃做的干板底片。除这两个观测设备外,就没有别的东西了,计算机就更落后了。
我印象当中,在1975年做双星研究的时候,我要解的轨道叫食变双星轨道,这个解的计算就要用计算机。当时国产的计算机叫djs-21,是一个慢得不得了、体积又大得不得了的计算机。计算机的输入设备就是一个纸带输入机,有一个专门的打字机和一个专门的穿孔机用来打程序,用的是fortran语言和algol语言。一个程序打出来就是一大盘纸带,这一大盘纸带放在纸带机上面向计算机输入时就需要快速旋转。快速旋转的机器又很不好用,有时转得太快撕了纸带,前面那些程序就全报废了。为了不要重新打程序,就要补纸带。
当时的数据纸带盘(左)和计算机(右)的照片
那时候一个程序的编写通过大概要三个星期。为什么要这么长时间呢?因为即使是这么简陋的机器,每个人一次也就给分配一个小时的上机时间,一星期总共给几个小时时间。上机把程序输进去以后,发现程序纸带被转纸机撕掉了就不得不退下来,当天这一小时就白费了,只能回去补纸带。
补完后好不容易又用一个小时再把程序输进去,然后机器啪啪啪打出一大堆错误出来,就必须回去修改程序的错误。一个程序总要上来下去修改五六次,这样差不多两三个星期就过去了。
现在你们在台式计算机或笔记本上,一会儿程序就算完了。但当时中国的研究条件真的非常落后,和国外差距很大,这就是当时中国的科研状况。
注:未完待续,本文的其他内容,我们后面陆续推送出来。