0. 前言

single point单点模拟的官方正解已整理

CESM2.2_CLM5.0 single point 单点模拟https://blog.csdn.net/Arr3n/article/details/120771229

但是无奈需要的输出(植被总初级生产力GPP)一直为0,因此尝试另外的方法,曲线救国,用全球的模型框架稍作更改达到单点模拟输出的目的,即 (fake)single point

1. 制作domain、surfdata文件

$ cd /scratch/hcdu/CESM/components/clm/tools/ncl_scripts/

编辑sample_inlist,分别设置剪裁domain、surfdata的底图,注意底图的分辨率(0.9x1.25)对应create_newcase时候--res设置

fatmlndfrc = '/workdir/MODCESM/tcraig/IRESM/inputdata/share/domains/domain.lnd.fv0.9x1.25_gx1v7.151020.nc'
fsurdat = '/workdir/MODCESM/tcraig/IRESM/inputdata/lnd/clm2/surfdata_map/release-clm5.0.18/surfdata_0.9x1.25_hist_16pfts_Irrig_CMIP6_simyr1850_c190214.nc'

编辑sample_outlist,分别是domain、surfdata文件名

fatmlndfrc = 'domain.lnd.fv0.9x1.25_gx1v7.151020_NiwotRidge.nc'
fsurdat = 'surfdata_0.9x1.25_hist_16pfts_Irrig_CMIP6_simyr1850_c190214_NiwotRidge.nc'

使用getregional_datasets工具,输入裁剪的区域边界经纬度(东经,北纬)

$ getregional_datasets.pl -ne 40.5,255 -sw 40,254.3 -I sample_inlist -o sample_outlist

# 这里输入的经纬度值应包含(仅)一个预设的中心格点,即输出的domain文件里的[xc,yc],比如这里的[xc,yc]=[255,40.0524]

# 如果输入的经纬度值不满足要求,模型会返回所有可供选择的中心格点经纬度值,可以以此参考——xc间隔1.25°,yc间隔0.9425°

# 中心格点与边格点[xv,yv]的经度间隔0.625°,纬度间隔0.4712°,这个应该与选用的底图有关

# 与domain和surfdat同时生成的还有一个xmlchange_cmnds

2. Create Case

$ cd /scratch/hcdu/CESM/cime/scripts/
$ ./create_newcase --case ~/CESM_Clm/I2010CLM50bgc_fsinglept --res f09_g17 --compset 2010_DATM%GSWP3v1_CLM50%BGC_SICE_SOCN_SROF_SGLC_SWAV_SIAC_SESP --user-mods-dir /scratch/hcdu/CESM/components/clm/tools/ncl_scripts --mach sofie --run-unsupported

# 这个compset为“默认从2010-01-01开始模拟,大气DATM使用GSWP3v1数据、陆面CLM5.0启用生物地球化学计算,其余模块均关闭”

# 查询compset别称参考:$CESM/components/clm/cime_config/config_compset.xml

# case名称不是默认格式(e.g. I1850CLM50SP),则加最后 run unsupported

# user-mods-dir链接到上面getregional的目录,运行xmlchange_cmnds和user_nl_clm

3. Case xml变量设置(before case.setup)

在$CASEROOT路径下

$ ./xmlchange DATM_CLMNCEP_YR_START=2014    #运行起始年份
$ ./xmlchange DATM_CLMNCEP_YR_END=2014      #运行结束年份
$ ./xmlchange RUN_STARTDATE=2014-01-01    #运行起始日期

# DATM_MODE默认为CLMGSWP3v1,不修改

# DATM_CLMNCEP_YR_ALIGN为并齐年份,默认与起始年份相同

$ ./xmlchange LND_DOMAIN_PATH=/scratch/hcdu/CESM/components/clm/tools/ncl_scripts/
$ ./xmlchange ATM_DOMAIN_PATH=/scratch/hcdu/CESM/components/clm/tools/ncl_scripts/    # domain文件路径
$ ./xmlchange LND_DOMAIN_FILE=domain.lnd.fv0.9x1.25_gx1v7.151020_NiwotRidge.nc
$ ./xmlchange ATM_DOMAIN_FILE=domain.lnd.fv0.9x1.25_gx1v7.151020_NiwotRidge.nc              # domain文件名
$ ./xmlchange DIN_LOC_ROOT_CLMFORC=~/data/inputdata/atm/datm7    #输入的大气forcing data路径

# DIN_LOC_ROOT为默认输入数据路径:'/workdir/MODCESM/tcraig/IRESM/inputdata/'

# LND、ATM_DOMAIN默认为 '/workdir/MODCESM/tcraig/IRESM/inputdata/share/domains/ domain.lnd.fv0.9x1.25_gx1v7.151020.nc'

# 此处DOMAIN的设置对应./preview_namelists后$CASEROOT/Buildconf/datm.input_data_list里最后一行的domainfile

# CLM_FORCE_COLDSTART默认关闭'off'。若开启强制冷启动,则无视起始数据finidata

# CLM_BLDNML_OPTS默认为生物地球化学:'-bgc bgc'

$ ./xmlchange STOP_OPTION=nyears    # 单次运行
$ ./xmlchange STOP_N=1              # 运行次数

# 单趟运行n次设置的运行单位,结束后resubmit再运行

# REST_OPTION、_N为resubmit之后的设置,默认与STOP_一致

$ ./xmlchange --force JOB_QUEUE=debug    # 更改队列
$ ./xmlchange --force JOB_QUEUE=debug

# 运行两次更改队列,是因为模型会有两个进程case.run、case.st_archive

# NTASKS调用核心数默认:[...,'ATM:4', 'LND:4', ...]

# 查询$CASEROOT CLM参数 CESM2_CLM5.0_CASEROOTvariable

$ ./case.setup

4. 编写user_nl_ 、准备streams文件(before case.build)

打开$CASEROOT/user_nl_clm,写入(或者使用 echo " " >>)

fsurdat = "/scratch/hcdu/CESM/components/clm/tools/ncl_scripts/surfdata_0.9x1.25_hist_16pfts_Irrig_CMIP6_simyr1850_c190214_NiwotRidge.nc"hist_mfilt = 31
hist_nhtfrq = -24
use_cn = .true.
hist_fincl1 = 'GPP'

# fatmlndfrc为陆面分离文件,设置了LND_DOMAIN_PATH/FILE后就不用再设这一项了

# finitdat为初始条件文件。若添加有finitdat,可打开use_init_interp对初始条件地图进行插值

# 查询user_nl_clm参数 CESM2_CLM5.0_namelist

在$CASEROOT下执行./preview_namelists在./CaseDocs/生成datm.streams.txt.文件,

$ ./preview_namelist

三个气象数据的datm.streams.txt.文件(TPQW、Solar、Precip)里面domain文件的路径和名称默认链接到domain.lnd.360x720_gswp3.0v1_c170606.nc

# 此处DOMAIN的设置对应./preview_namelists后$CASEROOT/Buildconf/datm.input_data_list里第一行的domain1

# 这一domain文件专门匹配GSWP的数据集,分辨率0.5°(若未修改,在submit后会报错空间分辨率不匹配)

!此教程以下无需操作

注: 若为单点模式(DATM_MODE=1PT)将这些文件添加user_前缀复制到$CASEROOOT

$ cp ./CaseDocs/datm.streams.txt.topo.observed user_datm.streams.txt.topo.observed
$ cp ./CaseDocs/datm.streams.txt.presaero.clim_2010 user_datm.streams.txt.presaero.clim_2010
$ cp ./CaseDocs/datm.streams.txt.CLMGSWP3v1.TPQW user_datm.streams.txt.CLMGSWP3v1.TPQW
$ cp ./CaseDocs/datm.streams.txt.CLMGSWP3v1.Solar user_datm.streams.txt.CLMGSWP3v1.Solar
$ cp ./CaseDocs/datm.streams.txt.CLMGSWP3v1.Precip user_datm.streams.txt.CLMGSWP3v1.Precip

将$CASEROOT/CaseDocs/里的datm_in内容复制到$CASEROOT下的user_nl_datm,在里面修改变量设置

# $CASEROOT/user_nl_datm的配置是在./xmlchange的基础上去进行修改的(优先级最高),决定了$CASEROOT/Buildconf/datm.input_data_list的内容

再次运行./preview_namelists,模型根据修改后的stream文件,更新./BuildConf下文件的信息,其中关键的是datm.input_data_list的内容

!此教程以上无需操作

执行./check_input_data检查输入数据,同时检查输入forcing data是否齐全

$ ./preview_namelists
$ ./check_input_data
$ ./case.build --skip-provenance-check

5. Case submit ✔

$ ./case.submit

CESM2.2_CLM5.0 (fake)single point(伪)单点模拟√相关推荐

  1. .net core 1.0 实现负载多服务器单点登录

    前言 .net core 出来有一时间了,这段时间也一直在做技术准备,目前想做一个单点登录(SSO)系统,在这之前用.net时我用习惯了machineKey ,也顺手在.net core 中尝试了一上 ...

  2. 教程篇(7.0) 06. FortiGate基础架构 单点登录(FSSO) ❀ Fortinet 网络安全专家 NSE 4

     在本课中,你将学习Fortinet单点登录(FSSO).当你使用此功能时,你的用户不需要每次访问不同的网络资源时都登录.  本节课,你将学习这上图显示的主题.  通过展示理解SSO概念的能力,你将能 ...

  3. 【教程】在天河上安装、移植并验证CESM2.2.0

    文章目录 基本情况 环境配置 所需环境 CESM2 Software/Operating System Prerequisites 使用source脚本配置模块和环境变量 MPI测试 CESM安装及移 ...

  4. cesm2(clm5.0)移植方法

    #武汉加油,浙江加油,中国加油!# 断断续续花了2个多月才把cesm2移植到centos6上,目前尚无cesm2完整的移植教程,在移植过程中也遇到了不少问题,所以在这里记录下,大致完整,但某些细节可能 ...

  5. Ubuntu 14.10 安装 hadoop-2.6.0单机配置和伪分布式配置

    安装openssh-server(用于远程连接) sudo apt-get install ssh openssh-server sudo apt-get install ssh openssh-cl ...

  6. Hadoop2.6.0在MAC下伪分布安装

    一.配置ssh,无密码登录 1.mac开启ssh 2. mac上已经ssh了,在终端输入ssh-keygen -t rsa命令,碰到需要输入密码的直接按enter健即可.以rsa算法,生成公钥.私钥对 ...

  7. Hadoop1.2.0在MAC下伪分布安装

    一:下载jdk 选择最新版本下载,地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html 安装完成之后,打开终端,输 ...

  8. Fake GPS-Window Mobile提供的模拟GPS工具

    GPS Intermediate Driver 自从 Windows Mobile 5.0 引进了 GPS Intermediate Driver(GPS 中间驱动程序,以下简称 GPSID),开发基 ...

  9. 设计1.0 -- iterator 和const_iterator底层的模拟实现

    本文概要: 本文主要是模拟实现STL中迭代器和const迭代器的,主要阐述的一个问题就是,为什么我们在设计迭代器的时候需要使用三个模板参数呢 在设计迭代器的时候,我们有下面的代码 #include&l ...

最新文章

  1. 关于大型网站技术演进的思考(五)--存储的瓶颈(5)
  2. 亚马逊刊登php代码,最全的亚马逊刊登listing工具了解一下
  3. 人工智能时代,机器视觉技术的未来趋势
  4. python pytorch fft_PyTorch 中的傅里叶卷积实现示例
  5. 借助LDA主题分析的短文本相似性计算 - 综述帖
  6. 跟面试官聊到JVM,他99%会让你谈谈这个问题!
  7. Visual studio docker build no such file or directory
  8. TensorFlow 卷积神经网络实用指南 | iBooker·ApacheCN
  9. Android 中的Intent的某些用法
  10. 20多行 Python 代码优雅搞定 PDF 转换成图片
  11. 活得自我一点,做自己想做的事情,有意义的事情
  12. pb 数据窗口 *号隐藏_王者荣耀背后的腾讯自研数据库TcaplusDB实践
  13. LRC软件测试自学,LRC滚动歌词制作编辑器
  14. 解析数论导论中的符号
  15. CSS进阶 如何实现圆形半圆
  16. 定时器alarm函数
  17. 5G QoS控制原理专题详解-基础概念(3)
  18. iPad半年使用心得
  19. jmeter参数化设置
  20. solaris 的ZFS操作

热门文章

  1. 【12】linux命令每日分享——echo命令为用户添加密码
  2. STM32实现蓝牙HC-06通信
  3. android防拷贝防复制,用防拷贝u盘软件实现禁止复制u盘内文件、u盘加密防拷贝法...
  4. 计算机会比人类更聪明吗 英语课文,自考英语二(下)课文翻译之unit15
  5. 谷歌扩展装不上,清单文件缺失或不可读取 无法加载清单。解决方法
  6. 有一分数序列: 输入正整数n,计算该数列前n项的和。
  7. Latex中关于引号的使用
  8. java图片转为rgb矩阵_[转载]图像类型转换--RGB图像、索引图像、灰度图像、二值图像和数据矩阵(1)...
  9. python实现超市扫码仪计费
  10. JAVA——实现打印1到100之内的整数,但数字中包含9的要跳过