确定一下是否跑通模式
参考地址
X例子是有exe出现的并且有生成的nc文件
但是没有设置模拟时间
下一步是重新设置模拟开始时间
一、X例子记录
建立一个例子
这是第一次设置x例子运行之后的步骤显示
二. 对env_run.xml进行设置
1. 对之前步骤验证
这个是一个教程
从这里看出官网中这一步的实现方法
./xmlquery RUNDIR,CASE,CASEROOT,DOUT_S,DOUT_S_ROOT
这个命令是查询路径的
在相应的目录下
输入
gunzip cpl.log...
这一步是成功的
2. 模式时间间隔等设置
./xmlquery JOB_WALLCLOCK_TIME
./xmlchange --subgroup case.st_archiveJOB_WALLCLOCK_TIME=01:00:00
JOB_WALLCLOCK_TIME 含义是一次提交最多运行x小时。
这两个命令可以更改和查询开始时间等
- Using xmlchangeIf you want to manually resubmit an initial case that previously had a RESUBMIT value of 0, (i.e. you did not initially resubmit the run), edit env_run.xml via the xmlchangetool by typing on the command line:
./xmlchangeCONTINUE_RUN=TRUE
- 对于更改具有多个实例的 env_file 中的变量,我们建议您使用 xmlquery 查找默认值,然后使用 xmlchange 中的子组功能指定要更改的实例。要在您的案例目录中查找 xml 变量,我们建议使用工具 xmlquery
- 问题:假设一个实验模式运行速度为10yrs/d,每次允许的最大队列时间为12h-wallclock time,如果要跑100年的实验,RESUBMIT, STOP_OPTION, STOP_N怎么设置?
回答:假设每天提交两次(2,12-h jobs),模式运行速度10年/天,则每次作业提交跑10/2=5年。即STOP_OPTION=nyears, STOP_N=5,RESUBMIT=19
initial run of 5yrs+(19 resubmits*5yrs)=100 yrs
官网中对吞吐量的说明
路径: …/cime/scripts/xlizi/timing/cesm_timing.casename…
这次模拟的吞吐量数据
3.namelist 工具
user_nl_ 出现在 ./case.setup之后 ./preview_namelists 之后应该就出现了
Swapping out a default inputdataset for a home-grown dataset
4.设置时间
开始是startup模式
对开始时间进行了设置
!!失败了!这个例子没有相应的文件出现
由于没有出现结果文件,只有.r.文件
失败
失败的可能原因:
- 不会设置user_nl_cpl这个文件,因为x模式只有cpl组件,对于这个还需要研究
- 最恐怖的结果:模式有问题
不死心,还想继续试试
昨天晚上导师和师兄都给我些建议
- 一个是仔细的再找找路径,不报错的话可能是路径有问题
- 打开文件具体看看是哪个地方有相关的设置说明,可能是相应的开关没有打开
成败在此一举!若还是不行,我就是个弟弟
生成了这个文件: xlizi.cpl.hi.2000-05-01-00000.nc
半成功,总算有除了r文件的东西出现了
目前有两个问题
- hi文件是什么意思:已解决,地址(对生成结果文件的说明)
- 明明应该有4月的输出文件的,但是现在没有:已解决,原因是输出频次设置问题
vim env_archive.xml
这个里面有对生成文件的说明,确实没有h0这样的文件生成
!!! 事实证明,在user_nl_clm在官网例子模式下,对历史文件输出是有说明的,所以是x例子的问题,建议可以用x例子简单看看是否跑通,主要是熟悉相应的设置,至于精确输出历史文件需要其他例子再测试
再来
成功输出月hi文件
记忆中有个文件是写了会生成什么文件的
.r.这样的是重启文件
含有h的应该是历史文件(对于历史文件我是这样理解的有模拟到这个时候做一个记录)
hi居然是瞬时(snapshot files)历史文件,给我笑懵了哈哈哈哈哈哈
看来还是设置的问题
躺平了,问了大佬还是只能用user_nl_xxx来改
但是!!这个命令不对.
新的模拟
关于输出这部分的修改主要是修改了env_run.xml 中关于HIST_OPTION等namelist的选项和之前的类似
与大佬的结果对比这个是生成不了的,所以换下一个例子
二、不放弃,再来换个例子试试是不是第二个错误
1. creat a case
I compset:
./create_newcase --case Iliziq3 --mach bscca3 --res f19_g17 --compset I2010Clm50Sp --run-unsupported
2.setup
网上的例子
这里有处理成批量下载需要数据地址的教程
具体步骤:
1.提取下载文件名称:python pyname.py
2.加入地址
3.批量下载(迅雷等)
现在在下载文件删删减减大概4小时
下一步是上传相应的数据 (这一步经历了两天,还是在大气强迫数据仅有一年的情况下) 怀疑可能会出现问题
关于xml这个文件的说明,地址
%% Linux查找文献的命令 find path -name file.name
设置相应的提交作业的等,这里根据实际情况设置!不需要下一步
3.build
首先在caseroot下的Buildconf中找到list下载相应的文件,也可以使用模式提供的下载的工具
下载完成
3.设置env_run.xml和user_nl_xxx
这个设置完需要重新build,我一般要确定compset好了,才设置,完成修改
设置env_run.xml
修改开始时间
结束时间
补充{
!!!探究一下设置会不会对需要下载的文档产生要求,只改变list是没有用的!
du -h --max-depth=1 ~/cesm_2.1.3/ #查询文件夹大小
用超算的联网功能 失败
大气强迫数据datm这部分
对于流名称列表,我们将讨论三个项目:
- mapalgo
- taxmode
- tintalgo
对于流文件本身,我们将讨论
- offset
Again everything else (and including the above items) are discussed in the Data Model User’s Guide. Of the above the last three: offset, taxmode and tintalgo are all closely related and have to do with the time interpolation of the DATM data. - mapalgo
mapalgo 将空间插值方法设置为从 DATM 输入数据到输出 DATM 模型网格。默认是双线性的。对于 CLM1PT,我们将其设置为 nn 以仅选择最近的邻居。这节省了时间,而且我们在为单点模式运行插值时也遇到了问题。 - taxmode
taxmode 是时间轴模式。对于 CLM,我们通常将其设置为循环,这意味着一旦到达数据末尾,它将从头开始。使用扩展模式使其在到达强制数据的末尾时使用强制数据的最后一个时间步长(或在到达强制数据开始的位置之前使用第一个时间步长)。请参阅下面有关扩展模式的警告
几个强迫数据集
- CLMGSWP3v1
使用 GSWP3 NCEP 强制数据集,并且所有数据都以 3 小时为间隔
3个数据流:- 太阳 offset:开始
- 降水 offset 间隔中间
- 其他(温压湿风,向下长波辐射) offset 间隔中间
- CLMCRUNCEP v7 v4
在 CLMCUNCEPv7 模式下,使用 CRUNCEP 数据集,并且所有数据都以 6 小时为间隔。
数据流同上 - CLM_QIAN
在 CLM_QIAN 模式下,使用 Qian 数据集,其中包含 6 小时的太阳和降水数据,以及 3 小时的其他所有数据。 - CLM1PT
在 CLM1PT 模式下,假设模型具有单点的半小时或小时数据 - CPLHISTForcing
在 CPLHISTForcing 模式下,假设模型具有来自先前 CESM 模拟的全球网格的 3 小时。
}
设置user_nl_clm
成功啦
这次模拟大概用时是3分钟
h0这个是历史文件,成功生成
我的设置是1-3月平均,在文件中,仅生成一次时间文件
作图
分辨率是不高的,直观点是144X96
对部分设置存在疑问STOP_N和RESTAR等有什么区别进行探究
官网地址
目前对产生历史文件是有疑惑的
主要两种思路(主要是env_run.xml的设置)
- 每次生成一个输出文件之后,重启模拟
- 不通过重启会有什么区别
至少需要设置两项:
- STOP_OPTION
- STOP_N
- 其余设置可以是默认值
这样可以保证生成历史文件
!! stop适用于开始,长期用模式吞吐量控制
For example, if the model runs 5 model years/day, set RESUBMIT=30, STOP_OPTION= nyears, and STOP_N= 5. The model will then run in five-year increments and stop after 30 submissions.
这个例子就可以说明用法
STOP_OPTION 每次模拟时间间隔的选项,比如是选择以年为单位还是以月为单位
STOP_N 就是一共模拟单位的个数,比如我模拟的是3年
RESUBMIT 这个是上面的模拟重复多少次,比如20次,也就是模拟了60年
!而这部分主要是设置模拟的时间
具体的历史文件的输出与这个无关!
对这部分混淆的根源就是混淆了env_run.xml和user_nl_xxx的不同用处
基本上把基础流程顺了一次!加油加油!!