看过我博客的会发现我写了很多CESM的笔记,但是说实话,平时科研我其实更多时候是GEOS-Chem user。之所以写了很多CESM笔记,其实是因为不会,学的时候刚好也开始写CSDN博客,就边学边写。然后GEOS-Chem已经用比较熟了,所以也没想过做笔记啥的。但是我发现越来越多朋友私信我各种CESM问题,我觉得我可能给大家营造了一种我是CESM达人的错觉。感觉自己有点跑偏了呢。公平起见,我觉得我有必要补充点GEOS-Chem笔记。

GEOS-Chem是研究大气化学的人常用的大气化学传输模式,在全世界范围的大气化学研究组中被广泛使用。不过我没有比较过是GEOS-Chem user多还是CESM user多,感觉自己没什么概念,我猜可能还是CESM user多一些,毕竟地球系统模式应用的研究领域比大气化学模式应用领域要广很多,自然研究群体会大一些吧。闲话不多说,下面进入正题啦。


GEOS-Chem模式简介(narrative descripition):https://geos-chem.seas.harvard.edu/narrative​​​​​​

这个网页非常详细地介绍了GEOS-Chem的概况,包括版本、排放、模式各个组分。有助于初学者对GEOS-Chem有一个初步的大纲理解。

实操入门可以参考GEOS-Chem Wiki 上有一个quick start guide: http://wiki.seas.harvard.edu/geos-chem/index.php/Getting_Started_with_GEOS-Chem

但是Wiki上内容太多,我记得我刚开始学的时候我问师姐学模式怎么入门?师姐就说,你去看GEOS-Chem user guide呀。然后我打开这个GEOS-Chem网站我就懵了,因为太多太多信息,我根本不知道从哪儿开始看。现在回头来看,如果有学弟学妹问我,GEOS-Chem怎么学?我可能也会下意识说,你去看GEOS-Chem user guide和wiki呀,上面不是啥都有嘛。

但是回过头来想,正是因为网站太具体,反而给初学者造成了困扰。所以今天就总结最核心的操作流程。

本文还是以GEOS-Chem 12.3.2版为例,虽然现在GEOS-Chem更新到13版了,但我目前用的还是这个版本,写起来比较顺手。


step1: GEOS-Chem 模式代码(source code)下载

包括模式源代码CodeX.Y.Z(对应版本号)+Unit Tester(UT)

一般有两种下载方式

(1)通过github命令下载

wiki指路:GEOS-Chem 12 - Geos-chem

(2) 通过github网页手动下载,将源代码保存成zip然后上传到Linux环境下再解压。(个人比较推荐这种做法,如果在windows环境下使用git clone下载源代码再上传到Linux环境编译会报错,除非直接是Linux环境,用git clone才行)

源代码:https://github.com/geoschem/geos-chem

UT: https://github.com/geoschem/geos-chem-unittest


step2:气象场和排放数据下载

wiki指路:Downloading GEOS-Chem data directories - Geos-chem

GEOS-Chem模式运行需要最基本的数据包括气象场和排放数据

气象场一般是GEOS-FP或者MERRA2数据,而排放数据一般使用HEMCO。

数据下载方式有以下三种:

我比较推荐Compute Canada这个,比较好用:Index of / (wustl.edu)

气象场数据和HEMCO数据存在Extdata目录下,大家可以按照自己需要的分辨率和模拟日期进行下载,全都下下来就太大啦。

wget下载数据-wiki指路:Downloading data from WashU - Geos-chem (harvard.edu)

wget下载整个目录可能会被拦截,出现下面这个情况

在wget中加上  -e robots=off应该就可以解决,举个例子:

wget -r -np -nH -N -R index.html -k -e robots=off http://geoschemdata.wustl.edu/ExtData/GEOS_2x2.5/MERRA2/2012/01/


step3:运行流程

(1)创建运行目录

进入到UT/perl目录下,

cd /GEOS-Chem.v12.3.2/UT/perl
vi CopyRunDirs.input 

修改CopyRunDirs.input文件,这里关注两点,

1)保证该文件中的路径都正确;

2)按照自己需要选择对应气象场,分辨率,是否嵌套,化学机制,修改模拟时间,设好后将开头的#号删掉;

运行以下两个可执行文件,创建运行目录

./cleanRunDirs
./gcCopyRunDirs 

这步运行完可以看到在预设的大的运行目录rundir1下会生成对应case的运行目录merra2_2x25_standard出现

(2)进入运行目录,编译模式

cd rundirs1/merra2_2x25_standard
make realclean
make -j4 mpbuild

该步骤完成后如果成功编译会出现geos.mp文件

(3)修改相关设置文件

wiki指路:

input.geos:控制模拟起止日期,分辨率,诊断量输出

input文件这里要注意一点,对应起始日期和终止日期需要将这里的0改成3,否则会报错。中间的日期随意,如果设成3则在trac_avg*诊断文件中每天都有日平均输出,而保持0则是月平均的输出。

HEMCO_Config.rc:控制排放文件开关

HEMCO_Diag.rc:控制排放诊断量

HISTORY.rc:控制各种模式输出文件的输出频率

(4)提交任务

如果是PBS作业管理系统,提交任务一般为qsub merra2_pbs (shell脚本)

slurm作业管理系统,提交任务一般用yhbatch 或者sbatch merra2_slurm (shell脚本)

merra2_pbs脚本示例:这里选定节点01,用20个核(CPU)来跑模式

#!/bin/bash
#PBS -l nodes=node01:ppn=20
# Set
ulimit -t unlimited              # cputime
ulimit -f unlimited              # filesizee
ulimit -d unlimited              # datasize
ulimit -s unlimited              # stacksize
ulimit -c unlimited              # coredumpsize
ulimit -m unlimited              # memoryuse
ulimit -v unlimited              # vmemoryuse
# ulimit -n unlimited              # descriptors
# ulimit -l unlimited              # memorylocked
# ulimit -u unlimited              # maxprocsource /opt/intel/bin/compilervars.sh intel64KMP_STACKSIZE=500000000
export KMP_STACKSIZE# Set OpenMP
export OMP_NUM_THREADS=20# Running the model
cd $PBS_O_WORKDIR# Running the model
./geos.mp > log0exit 0

merra2_slurm2脚本示例:

#!/bin/bash#SBATCH -J geos_test
#SBATCH -c 12
#SBATCH -N 1
#SBATCH -p sugon
##SBATCH -e %j.o# Set OMP num threads properly
export OMP_NUM_THREADS=12
#if [[ "x$SLURM_CPUS_PER_TASK" != x ]]; then
#  export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK
#fi# Run GEOS-Chem (timing output goes to stderr)
# NOTE: Using srun will tell SLURM that only this part
# of the script should use multiple CPUs (bmy, 12/22/16)
srun -c $OMP_NUM_THREADS ./geos.mp >log0

更多作业提交命令可以参考之前写的这篇:

Linux笔记——运行模式之调度系统-作业管理-用户命令_砍柴姑娘Jourosy的博客-CSDN博客


step4: 模式输出数据后处理

模式输出数据通常有bpch和netCDF两种格式,如果是GEOS-Chem比较早期的版本就只有bpch的输出,而较新的版本增加了netCDF格式的输出。

(1)bpch文件有两种:第一种是trac_avg.merra2_2x25_standard.198209010000,该文件包含了input.geos中设置的对应模拟整个时间段的所有诊断量输出,因此文件较大,可以用下面代码进行文件切分。

seperate_bpch.pro (idl代码)

pro seperate_bpch
year=1982dir='./'
file=dir+'trac_avg.merra2_2x25_standard.198209010000'for mon=9,9 do beginfor id=1,30 do begindate=year*10000L+mon*100+idnum=NYMD2TAU(date)print,num,dateoutfile='./bpch/'+'ctm_merra2_CM.2x25.'+strtrim(string(date),2)+'.bpch'bpch_sep,file,outfile,tau0=num,tracer=2endforendforstop
end

第二种bpch文件则是user自己按需要在ND49中增加的相关物种的bpch文件,

例如我这里增加了臭氧(tracer=2)每小时(frequency=3600)的输出,将其保存在ts目录下。

bpch文件可以用IDL进行处理,idl+gamap可以初步查看。

(2)新一点版本的GEOS-Chem增加了netCDF输出文件,我这里以19820901这天为例,将所有有的诊断量全部输出,包括以下文件:

Restart:重启文件,这个文件建议把输出频率设高一点,这样模式意外中断只需要挑选最近日期的restart文件,从该日期继续模拟,减少损失;

Aerosol, AerosolMass: 气溶胶相关诊断量;

Budget: 收支诊断量,但是只有边界层柱、对流层柱和整个大气柱的,并不是每层都有;

StateMet:气象相关变量;

StateChm:化学相关变量;

此外,还包括DryDep干沉降、WetLossConv对流性降水湿清除、WetLossLS大尺度降水湿清除、ProdLoss生消速率、JValues光反应系数等

关于netCDF输出文件的介绍可以参考这篇:

http://wiki.seas.harvard.edu/geos-chem/images/b/b5/Netcdf_Diagnostics.pdf

整个流程大致就是这样啦。给GEOS-Chem一个交代,姐姐也爱你的,嘻嘻。


PS: 写着写着累了,刷了会儿朋友圈发现咱模式人拿诺贝尔物理学奖了!看来全世界对global warming的关注度确实是越来越高了。还是得继续加油啊,向榜样学习!大气人,大气魂,地球科学yyds!

快写完的时候一不小心把前面大部分删了,还撤销不了,又重写了一遍的痛谁懂我!哭唧唧~

GEOS-Chem笔记——模式下载安装+驱动数据+运行流程相关推荐

  1. 面向对象的编程思想写单片机程序——(3)学习笔记 之 程序分层、数据产生流程

    系列文章目录 面向对象的编程思想写单片机程序--(1)学习笔记 之 程序设计 面向对象的编程思想写单片机程序--(2)学习笔记 之 怎么抽象出结构体 面向对象的编程思想写单片机程序--(3)学习笔记 ...

  2. lm3s811 学习笔记(一)/【安装驱动/烧写程序】

    很是激动地拿到了板子,公司现在资源有限,老大还给了我个板子,那个心情啊~~ 在工作之前,我玩过mini2440,对于ARM的理解只是一个新手的阶段.对于手上这个压根没听过的东东,我头还真大. 于是乎, ...

  3. 惠普eliteone 800 G2 触屏电脑蓝屏彻底解决方法(拆机,装盘,BIOS设置,U盘大师在线安装,下载安装驱动,ghost备份 )

    原因: 原来eliteone 800 G2 安装的是windows 10,用了一年多,比较稳定,5月10忽然进不了系统(是不是和win10强制升级有关),用了几种恢复方法无果win10总是蓝屏,放置了 ...

  4. Rtsp协议,FFmpeg推流,rtsp服务器,vlc拉流播放下载安装使用使用详细流程以及EasyDarwin服务的方案

    FFmpeg推流,rtsp服务器,vlc拉流播放测试 FFmpeg 1. 简述: FFmpeg是一套可以用来记录.转换数字音频.视频,并能将其转化为流的开源计算机程序.采用LGPL或GPL许可证.它提 ...

  5. ubuntu中的内网穿透cpolar下载安装,后台运行及开机自启

    ubuntu中的cpolar使用方法 下载安装 下载cpolar https://dashboard.cpolar.com/ 创建cpolar文件夹 cd / mkdir cpolar 移动至cpol ...

  6. VP-Expert的下载安装以及如何运行

    毕业设计刚开始的阶段,导师要求要用非常古老的VP-Expert来开发专家系统,现在虽然基本已经抛弃了这个专家系统开发工具并且有更好的开发工具,但VP-Expert绝对是初学专家系统非常好的启蒙工具. ...

  7. HBuilderX的下载安装和创建/运行项目

    文章目录 一.HBuilderX的下载安装 二.创建项目 三.运行项目(uni-app)到手机 一.HBuilderX的下载安装 HBuilderX的下载安装的步骤: 第一步:HBuilderX:官方 ...

  8. ACER 4745G Ati Mobility HD5650 下载安装驱动,

    ATI 5650 驱动安装 今天帮一个同学把他纠结很久的ubuntu显卡驱动安装问题解决了,他的显卡是ati5650,他曾经重装了很多次ubuntu,不仅有10.04,也有10.10.每次安装好显卡后 ...

  9. MySQL学习笔记(一) 下载安装+基本增删改查 + 事务

    1. 数据库概述 1.1 数据库相关概念 1.1.1 基本概念 了解三个概念:数据库.数据库管理系统.SQL. 名称 解释 简称 数据库 存储数据的仓库,数据是有组织的进行存储 DataBase(DB ...

  10. 如何下载安装Tableau数据可视化工具

    首先,进入官网下载链接:https://www.tableau.com/zh-cn/support/releases 点击进入相应版本的下载页面,点击下载即可 下载完毕后进入安装过程 等待安装 安装完 ...

最新文章

  1. PHP5 VC9、VC6、Thread Safe、Non Thread Safe各个版本区别
  2. The size of tensor a (4) must match the size of tensor b (3) at non-singletonThe size of
  3. 软件技术实习_当您还在学校时,如何获得一流的技术实习机会和技术工作
  4. Android开发笔记(一百六十七)Android8.0的画中画模式
  5. 生成树切分matlab_机器学习——手把手教你用Python实现回归树模型
  6. 把数字倒序的几种方法(二更,增加了负数反序的情况)(c++)
  7. 音视频处理、图像处理、图像识别和字符识别全能库JavaCV完整教程(包含完整JavaCV入门、JavaCV实战、ffmpeg、opencv和tesserac教程)
  8. MacOs12Macbookpro读写NTFS
  9. 戴尔刀片服务器运行风扇一直超速转动解决
  10. 【说明书】迪士尼儿童手表说明书
  11. 【电脑全部浏览器显示您与网站连接不是私密连接】
  12. 如何查看笔记本电脑的型号?
  13. iOS UILable换行相关设置
  14. PDF文档免费转成Word文档,不限页数。
  15. excel如何删除空白行_Excel小技巧之快速调整列宽行高和删除空白行
  16. iOS 实现直接跳转打开定位
  17. Flutter Riverpod 全面深入解析,为什么官方推荐它?
  18. ios基础篇—图标尺寸选择 AppIconLaunchImage
  19. 如何通过点击iPhone的背面拍摄屏幕截图
  20. 习题4-8 高空坠球 (20分) 皮球从某给定高度自由落下,触地后反弹到原高度的一半,再落下,再反弹,……,如此反复。问皮球在第n次落地时,在空中一共经过多少距离?第n次反弹的高度是多少?

热门文章

  1. CRM-数据权限设计
  2. syslinux制作U盘启动器
  3. leapftp,leapftp中文教程加图解
  4. 数据中心机房搬迁施工技术方案
  5. android流行ui设计,30款美丽的App UI设计作品
  6. 腾讯测试王者荣耀网速的软件,4G用户怎么体验5G速度 腾讯手机管家5G测速帮你一键搞定...
  7. 计算机安全排名,电脑安全卫士排行榜
  8. 怎么批量修改pdf文件名?
  9. win10 游戏等应用打开时闪退解决方案
  10. libcurl官方手册