|||
在Plymouth快5个月。和Shapiro教授与他的课题组一起做事。有个印象非常深刻,大致是这样一个流程:
(1)分享他人成果,使工作建立在他人基础之上。因为我在Plymouth的时间只有半年,需要学习新模式NEMO,教授和我对此的期望都是能完成一篇论文的工作量。科研工作要向平地而起,耗时估计很长,半年时间是不够的。但是Shapiro教授所在的课题组可以共享很多资料、成果。譬如建立黑海模式所需要的前处理Matlab程序,用来处理网格、forcing;如何修改为模式模式运行创建Linux的shell环境、prerequisite software 以及简单的faq之类。有了这些,我可以比较快的修改成自己所需要的代码和建立软件环境。
(2)与他人分享我的改进。从教授那里得到的程序代码,大部分需要稍作修改。我在其中的修改,其一是改进代码,提高运行效率;其次是增加代码的兼容性,使之适合修改到其他例子。在此基础上,教授都要我写出说明,譬如如何一步一步开始建立NEMO运行环境、运行convective adjustment, geotrophic adjustment和real case等模拟算例;还有matlab code。并把修改后的代码,按照本地电脑上的文件结构,完整的上传到备份和共享服务器上。他和组内其他人都可以浏览和下载我的内容。按照这个说明,后来参加进来的人员至少不用重走很多我走过的重复的路。按照我上传的文件和文件结构,他人甚至可以不需要修改任何就能立即运行这些代码,也就是很容易被他人继承。
联想到国内的实验室,感觉我们在知识积累和传承方面还比较欠缺,不够严格也不够持续。特别是最近几年。我们组里的好几个博士、硕士(包括我自己),毕业之后,没有及时把自己所作的科研工作形成完整的文档、说明、和代码,除了我们的毕业论文。
我记得我的硕士工作,其中涉及到一个simper简单模式,当时苏老师的明确要求,所以我记得作为appendix附在了论文后面(好在代码不是太长)。这个方法在早几年苏老师和袁老师要求比较严格,80年代和90年代初的好多他们的硕士生的论文后面基本都附了完成论文所用计算程序的代码。我们组里以前毕业的(和浙大联合培养的)陈师姐和伍师姐,是做的比较好的,在老板要求之后,都写了很详细的说明。我是这些说明和她们科研工作的受益者之一:)
后来,随着物理海洋数字计算模式的代码越来越大,无法也没必要形成打印材料。但是,仍然没有以电子文档或者光盘形式完整的保留下来。我这里所说的完整,是保留下来的代码缺乏必要的说明;或者文件结构不完整,譬如读取文件不是从相对文件目录,而是绝对目录,拷贝到其他电脑之后,无法运行和检验了。这就给后来的人带来了很多障碍,甚至不得不放弃前人留下来的不完整的材料,自己花费很多心力去冲头钻研。
对于已经离开实验室,甚至不在海洋圈子里面的学长、学姐们,他们的工作如果没有完整的保留下来的话,那么除了他们的论文,等于没有对我们实验室没有任何积累。我们实验室的学生和本所之外的所有实验室一样,要了解他们的工作,只能从看他们的论文开始,没有任何优势可言。于是,我们后来的学生们只能从头开始,年复一年,我们要多花多少个日日夜夜!!!!
对于继续留在圈子内的人而言,譬如我自己,我是留在研究所和实验室继续工作了。目前或者以后的一些研究生们,如果需要用到我以前工作的,还是可以有机会和我当面了解。但是没有能保证我若干年之后还能记得多少?或者还有多少时间可以一次又一次解释自己的工作给他们听?
其实,对自己而言,也经常有这种情况,想用以前的一些代码,但是又想不起代码在哪或者为什么这么编写程序代码的原因了,然后就抓狂!
为什么不能从开始就形成一个良好的习惯:成功的程序代码、流程、窍门之类的内容,统统记下来,多写几句说明。既有利于自己的重现,也有利于后来人的继承。自己要这么做,学生更是要如此。这对于预防学术不端也有一定的作用。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-22 19:24
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社