VPD-Forcing10年循环时间步长匹配问题

在使用1901-1910年循环的VPD forcing数据运行模型时,遇到时间步长不匹配的问题,即1921-01-01日的第一个步长对应1901-01-01日的第一个步长,导致时间差为负值。通过尝试只使用1901年forcing数据跑1901-1902年,调整源码并进行重启12月的debug,发现需要将1910年最后一个时刻挪到第一个步长,并修改time时刻。最终,将VPD forcing时间整体减半小时解决了循环不匹配问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

10. 测试forcing循环时的时间步长问题

问题:forcing是1901-1910年循环。运行1911-1920年时,发现1920-12-31日的最后一个步长(1920-12-31 23:30:00-1921——01-01 00:00:00)之后应当是1921-01-01日的第一个步长(1921-01-01 00:00:00——1921-01-01 00:30:00),发现时间戳对应不上。由于是10年循环,1921-01-01日的第一个步长(1921-01-01 00:30:00)的时间戳是1901-01-01日的第一个步长(1901-01-01 00:30:00),二者的时间差dt是负值。
在这里插入图片描述

在这里插入图片描述

尝试1:只用1901年这一年的forcing,跑1901年和1902年两年。看看1901-12-31日和1902-01-01日的时间步长如何对应?

C5_1year_forcing_1901_1902

为节约成本,先跑1901年头11个月,按月输出,保留第11月的restart文件。随后跑12月。

  1. 克隆案例
./create_clone --case  ../../../scratch/C5_1year_forcing_1901_1902/ --clone ../../../scratch/C5_1920

  1. branch分支运行
# 检查
./xmlquery NTASKS,NTHRDS,ROOTPE
60节点
vim user_nl_clm
输出频率一月


./xmlquery STOP_OPTION,STOP_N,RUN_TYPE,CONTINUE_RUN,RUN_REFCASE,RUN_REFDATE,RESUBMIT,RUN_STARTDATE,RUN_REFDIR,DOUT_S,DOUT_S_ROOT,JOB_WALLCLOCK_TIME,GET_REFCASE

./xmlchange RUN_TYPE=branch
./xmlchange RUN_REFCASE=D5_nocrop_spinup
./xmlchange RUN_REFDATE=1901-01-01     
./xmlchange GET_REFCASE=FALSE

复制初始和重启文件

# 复制,将1901-01-01-00000文件夹下的所有文件复制到run/目录下。
cp -r /BIGDATA1/sysu_syli_3/CESM2/scratch/D5_nocrop_spinup/archive/rest/1901-01-01-00000/* /BIGDATA1/sysu_syli_3/CESM2/scratch/C5_1year_forcing_1901_1902/run/    

./xmlchange CONTINUE_RUN=FALSE    # 初次运行确保CONTINUE_RUN=FALSE
./xmlchange DOUT_S=TRUE
./xmlchange JOB_WALLCLOCK_TIME=24:00:00   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值