CESM简单应用:将HadiSST作为海温强迫场进行CESM控制实验 -compset F FC5 FCN

选择compset

这里可以查到所有compset的Longname, shortname和Aiias.
CESM中,components有4种type:active data dead stub
在这里插入图片描述
我们要用sst进行强迫,所以ocn要选data,即docn component
而海温强迫我们基本只关注其对大气的作用,因此除了atm是active,其余的components不需要active。最后听取老师的建议,使用F FC5 FCN这三个compset来跑,我用的分辨率 f45_g37

创建hadi_sst.nc

matlab操作很简单。也可以NCO

  1. 建立一个sst_HadOIBl_bc_1x1_clim_c101029.nc的备份:cesm_sst.nc
  2. 将hadi_sst.nc中的sst变量值直接写入cesm_sst.nc的SST_cpl
  3. cesm_sst.nc就是最终的数据文件

其中需要注意的是,

  1. 二者的fill_value不同,hadisst是-1000 -1.799999952316284 NaN,而cesm_sst是-1.8000000,所以我们在写入cesm_sst.nc前,把hadisst的fill_value都改成-1.8000000或者写入后再改。
  2. 纬度顺序不同,cesm是-90->90,hadi相反;经度不同,cesm是0->360,hadi是-180->180,因此需要:
sst_h=sst_h([181:360,1:180],:,:);
sst_h=fliplr(sst_h);
  1. 由于cesm_sst.nc中,time这个dimension是Unlimited的,所以不用非要是12个月,但如果要改time的长度,可能domain也要改,所以我就不改了,直接把2019年12个月都放进去了。

将hadi_sst.nc置入CESM

这里有两种选择:

  1. 把/home/gary/CESM/cesm1_2_2/exe/run/input_data/atm/cam/sst下的sst_HadOIBl_bc_1x1_clim_c101029.nc替换为hadi_sst.nc,名字还叫sst_HadOIBl_bc_1x1_clim_c101029.nc,这样的话,不需要修改其他任何配置,但这是对全局产生作用的,如果run其他case需要这个sst,用的就都是Hadisst的了,所以更推荐下一种
  2. 先用./cesm_setup在$CASEROOT下生成user_nl_xxx和CaseDocs文件,参考user_nl_docn中所说,把CaseDocs下的docn.streams.txt.prescribed cp到 $CASEROOT下,重命名为user_docn.streams.txt.prescribed,修改其中的filepath和filename,再重新./cesm_setup,这样CaseDocs里docn.streams.txt.prescribed的filepath和filename就更新了
!------------------------------------------------------------------------
! Users should ONLY USE user_nl_docn to change namelists variables
! Users should add all user specific namelist changes below in the form of
! namelist_var = new_namelist_value
! Note that any namelist variable from shr_strdata_nml and docn_nml can
! be modified below using the above syntax
! User preview_namelists to view (not modify) the output namelist in the
! directory $CASEROOT/CaseDocs
! To modify the contents of a stream txt file, first use preview_namelists
! to obtain the contents of the stream txt files in CaseDocs, and then
! place a copy of the  modified stream txt file in $CASEROOT with the string
! user_ prepended.
! As an example, to modify docn.streams.txt.prescribed, place the modified
! version in $CASEROOT with the name user_docn.streams.txt.prescribed
!------------------------------------------------------------------------
  1. 也可以在env_run,xml里修改SSTICE_DATA_FILENAME,效果是一样的

env_run.xml配置

env_run.xml配置实在太多(可以看这里),现在就现学现用
RUNTYPE=startup
跑2019年夏季,RUNDATE=2019-08-01
跑五天:STOP_OPTION=ndays STOP_N=5 STOP_DATE=20190806
设置单独的输出文件夹:DOUT_S=TRUE DOUT_S_ROOT=xxx

user_nl_cam配置

输出历史数据时,默认为1个月输出但我只跑5天,所以设置其每小时都输出的一次小时平均数据:
nhtfrq= -1
mfilt= 1
fincl1 = ‘PRECT:A’
其他可选配置看这里
最终输出结果:
在这里插入图片描述

  • 6
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值