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

看过我博客的会发现我写了很多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              # maxproc

source /opt/intel/bin/compilervars.sh intel64

KMP_STACKSIZE=500000000
export KMP_STACKSIZE

# Set OpenMP
export OMP_NUM_THREADS=20

# Running the model
cd $PBS_O_WORKDIR

# Running the model 
./geos.mp > log0

exit 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=1982


dir='./'
file=dir+'trac_avg.merra2_2x25_standard.198209010000'

        for mon=9,9 do begin
        for id=1,30 do begin
        date=year*10000L+mon*100+id
        num=NYMD2TAU(date)
        print,num,date

outfile='./bpch/'+'ctm_merra2_CM.2x25.'+strtrim(string(date),2)+'.bpch'

 bpch_sep,file,outfile,tau0=num,tracer=2

        endfor
        endfor

stop
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!

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

  • 42
    点赞
  • 103
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 23
    评论
### 回答1: wrf-chem数据下载的相关网址链接: 1. NCEP/NCAR Reanalysis I: ftp://ftp.cdc.noaa.gov/Datasets/ncep.reanalysis.dailyavgs/surface/ 2. Chemical Transport Model (CTM) data from the GEOS-Chem group: https://acmg.seas.harvard.edu/geos/ 3. Emissions data from the Emissions Database for Global Atmospheric Research (EDGAR): https://edgar.jrc.ec.europa.eu/ 4. The Community Multi-scale Air Quality (CMAQ) modeling system data: https://www.epa.gov/air-research/community-multiscale-air-quality-cmaq-modeling-system 请注意,不同的数据来源可能需要不同的许可证才能访问,请确保您具有访问所需数据的合法资格。 ### 回答2: WRF-Chem是一种大气化学模型,它用于模拟大气中化学物种的输运和转化过程。在建立WRF-Chem模型之前,我们需要收集和处理一些数据,以确保模型的准确性和可靠性。这些数据包括地理信息、排放数据、气象数据和化学初始和边界条件等。 首先,地理信息数据是建立WRF-Chem模型的基础。这些数据包括经纬度、高程和土地覆盖类型等信息,可以用于生成地形和表面辐射强度图。我们可以在https://www.ngdc.noaa.gov/上下载世界各地的地理数据。 其次,排放数据是描述大气中污染物来源和排放速率的关键数据。这些数据包括人工排放和自然排放两种来源。人工排放包括工业、交通和农业等活动产生的污染物,自然排放包括植被的插值和火山喷发等自然事件。各个国家和地区的排放数据可在Emission Database for Global Atmospheric Research (EDGAR) (https://www.sciencedirect.com/science/article/pii/S1352231009003904 )上下载。 第三,气象数据是WRF-Chem模型的必需数据。气象数据包括气温、风速、风向和湿度等逐小时或逐分钟的数据。我们可以在National Centers for Environmental Prediction (NCEP) (https://www.ncdc.noaa.gov/data-access/model-data/model-datasets)或European Center for Medium-Range Weather Forecasts (ECMWF) (https://www.ecmwf.int/en/forecasts/datasets)上下载气象数据。 最后,化学初始和边界条件数据是指大气中化学物种的浓度和化学反应速率等信息。这些数据通常由现场观测或其他化学模型得出,可以在全球化学输送模型 (GEOS-Chem) (http://acmg.seas.harvard.edu/geos/)上获取。 总之,WRF-Chem模型的建立需要以上四个基本数据。这些数据可以在相关数据下载网址上获取。但是,这些数据的质量和格式都需要我们认真审查和处理,以确保WRF-Chem模型的准确性和可靠性。 ### 回答3: wrf-chem是一种用于模拟大气物质输运和化学反应的数值模型。在进行wrf-chem模拟时,需要使用许多与气体和颗粒物浓度、化学反应等相关的数据。这些数据可以通过官方网站和其他一些数据平台进行下载。 其中,官方网站是wrf-chem模型最全面的数据源,开发者提供了许多与模型运行相关的数据和工具。这些数据包括了不同时间尺度上的气象模型、气体和颗粒物浓度模型、化学反应模型、辐射强度模型等。此外,网站中还提供了许多工具,例如反求模块、统计模块等,可以用于模型调试和后处理。下载方式为直接点击网站上的下载链接,选择相应的数据和工具即可。 另外,还有一些数据平台也可以提供相关数据的下载,例如NCAR Data Portal、Earth System Grid、国家气象信息中心等。这些平台通常提供了一些免费的数据下载服务,但需要用户进行注册和认证。同时,有些数据需要进行特定的格式转换,才能够被wrf-chem模型所使用。 总体来说,wrf-chem模型所需的数据比较丰富,但是通过官方网站和其他数据平台的配合,用户可以方便地获取这些数据,并进行相应的分析和后处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

J同学的大气笔记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值