Numerical Climate Simulation Notes

气候数值模拟笔记

CESM
CESM入门使用教程
Author

Yuxuan Xie

Published

June 18, 2023

1 CESM运行案例的流程

1.1 create_newcase

  • 首先创建一个新的case:
cd ~/cesm1_2_2/scripts/
./create_newcase -case ~/xieyx/cases/<case_name> -res f19_g16 -compset F1850 -mach sparkle 

修改env_mach_pes.xml文件中180改为140(因为28核*5节点=140)

  • 使用预先设定的文件
cp -r ~/xiangyu/env_mach_pes.xml ./
  • 拷贝指定Macros文件:
cp -r ~/xiangyu/Macros ./

1.2 setup

setup:

# 第一次进行setup
./cesm_setup

# 清除setup的方法
./cesm_setup -clean

1.3 修改参数

以修改CO2浓度参数为例

进入user_nl_cam文件,添加参数,如:

co2vmr = 280.0e-6

1.4 build

./<case_name>.build

1.5 run

1.5.0.1 修改运行时间的参数

  • env_run.xml文件中修改ndays5
  • PS:若第二此运行,修改continue_run参数为TRUE
  • 修改<case_name>.run的运行时长不超过168

1.5.0.2 提交任务

使用qsub提交任务

qsub ./<case_name>.run

可以使用qstat查看当前任务提交统计情况

1.5.0.3 停止任务

qdel

1.5.0.4 查看当前任务

qstat # 查看任务排队情况
showq # 啥看计算效率问题

2 *_in文件

2.1 aatm_in大气输入参数文件

2.1.1 &cam_inparm

  • bnd_topo:地形文件

2.1.2 &chem_surfvals_nl

  • 修改CO2浓度co2vmr加倍

    自己的case里的user_nl_cam文件

2.2 lnd_in陆面输入参数文件

3 输出文件

路径:/work/Benkeke1/output//

注:使用h0数据

3.1 查看nc文件输出变量

ncdump -h output.nc

4 Clone复制案例

当想在一种案例情况下的一个时期复制当前状态,并叠加一个新的变化

cd ~/cesm_1_2_2/scripts/
./create_clone -case <refer_case-clone> -clone <refer_case>

5 修改边界场文件文件

# 进入case的配置文件夹
cd BuildConfig/

# 浏览海温输入数据列表
vi docn.input_data_list

内部有海温相关文件的绝对路径.

  • 对边界文件作出修改后,进入BuildConfig文件夹中修改数据绝对路径❌
  • user_nl_ocnenv_run.xml中更改输入文件
# new path
/public/home/Benkeke1/xieyx/data/ocn_data/new_sst.nc

6 地球轨道参数

6.1 偏心率,倾角与岁差

  • 岁差:摆动周期,影响冬季与夏季的热量分布
  • 倾角:影响纬向热量分布
  • 偏心率:调制地球距太阳的距离

6.2 CESM中的地球轨道参数

在每个case中的output文件中可以找到(输入coupler):

cd /work/Benkeke1/output/T1CO2-xieyx/cpl/logs/
vi cpl.log.230509-192856.gz

在100行左右,可以看到轨道参数

(seq_infodata_print) orb_mode                 = fixed_year
(seq_infodata_print) orb_iyear                = 1990
(seq_infodata_print) orb_eccen                = 0.16707719799281E-01
(seq_infodata_print) orb_obliq                = 23.441068451147

6.3 更改case中的轨道参数

新建case后,在user_nl_cpl中对参数进行修改:

orb_iyear       = 1950
orb_iyear_algin = 1950
orb_mode        = 'fixed_year'

或者,直接给定轨道情景

orb_eccen = 0.016724
orb_obliq = 23.446
orb_mvelp = 102.04
orb_mode  = 'fixed_parameters'

7 地形文件

进入case文件夹下的CaseDocs/文件夹,在atm_in文件中可以看到

在user_nl_cam中替换地形文件:

/public/home/Benkeke1/xieyx/data/lnd_data/new_lnd.nc

8 植被文件

植被文件包括:

  • 地表覆盖
  • 植被组成分布

进入CaseDocs文件夹下的lnd_in文件

fsurdat = /public/share_data/cesm_inputdata/lnd/clm2/surfdata/surfdata_1.9x2.5_simyr1850_c091108.nc

16种植被类型如下:

Index Plant functional type
1 desert, ice and ocean
2 needleleaf evergreeen temperate tree
3 needleleaf evergreen boreal tree
4 needleleaf deeiduous temperate tree
5 broadleaf evergreen tropical tree
6 broadleaf evergreen temperate tree
7 broadleaf deciduous tropical tree
8 broadleaf deciduous temperate tree
9 broadleaf deciduous boreal tree
10 broadleaf evergreen shrub
11 broadleaf deciduous temperate shrub
12 broadleaf deciduous boreal shrub
13 \(C_3\) arctic grass
14 \(C_3\) non-arctic grass
15 \(C_4\) grass
16 corn
17 wheat

每个格点所有植被类型比率加和为常数,当更改一个植被类型时,应相应得将其它类型的比率进行调整。

在完成文件修改后,进入case中的user_nl_clm,添加文件:

fsurdat = 'new_file.nc' # CaseDOcs文件夹下的lnd_in文件中可以找到该路径
finidat = ''

9 其它设置

9.1 设置restart文件

vi env_run.xml

大约70行左右

  • STOP_OPTION:nyears,每年
  • STOP_N:10,从10年停止
  • REST_N:2,每2年保留一次文件
  • CONTINUE_RUN:TRUE,继续运行
  • RESUBMIT:1or2,如果大于0,则在停止实验后继续运行

10 其它工具

  • 合并文件

    cdo mergetime
  • 计算气候平均(气候态

    cdo ymonmean
  • nc文件做差(气候效应

    ncdiff fileA fileB

11 作业

11.1 2023-06-18 结课报告(6.17~18日)

你的实验,相对参照实验,表现出什么样的气候效应?

  • 一般运行5-10年,前2年为预热期

温度场,风场,降水场,环流场等。。

围绕什么问题,涉及了什么样的实验,做实验的步骤是(展示整个流程,如果改了植被,植被怎么变化的),核心代码怎么实现的?

Back to top