具体任务

    科技2024-05-22  87

    文章目录

    1. 输出径流量土壤湿度NPPGPPNEPLAI:总辐射净辐射植物蒸腾土壤蒸发植被冠层截留蒸发感热土壤热通量温度: 2. 问题的基本思路3. 具体问题4. 查询与修改4.1 查询`$RUNDIR`, `$EXEROOT`4.2 env_mach_pes.xml文件(setup前修改)4.3 env_run.xml文件(随时,submit前修改)4.4 env_batch.xml文件(随时,submit前修改)4.5 env_build.xml文件(build前修改,若有修改,需rebuild)4.6 短期归档4.7 其他有用的命令 5. rebuild and resetup5.1 rebuild5.2 resetup 6. 个人总结:CESM2 运行的基本流程6.1 配置环境变量6.2 create_newcase6.2.1 修改env_mach_pes.xml文件 6.3 case.setup6.3.1 修改输出变量和频率:user_nl_xxx[_NNNN] 6.4 case.build6.4.1 修改:env_run.xml文件6.4.1 修改:env_batch.xml文件 6.5 case.submit6.6 resubmit 7. 输入数据拷贝8.陆老师-B1850:8.1 预热8.2 历史输出1901-2005 9. F case (陆老师)9.1 预热(废弃)FW1850-BGCtest9.2 FWmaHist-BGCtest9.2.1 create newcase9.2.2 setup9.2.3 build9.2.4 submit9.2.5 关闭大气化学模块59.2.6 关闭大气化学模块6 10. FWmaHIST_BGC11. FWHIST_BGC

    1. 输出

    月值输出:径流量、土壤湿度、gpp、npp、nep、lai、总辐射、净辐射、植物蒸腾、土壤蒸发、植被冠层截留蒸发、感热 半小时输出:湿度、温度 case: FWmaHist-BGCtest 1850-1900:预热50年,输出年值 1901-1920:历史输出前20年,月值和半小时 1921-2000:历史输出后80年,月值

    CONTINUE_RUN=TRUE时,不需要更改RUN_STARTDATE。

    问题1:请晓圣对一下。看看是否是标准输出。 陆星劼老师:CESM陆地变量我可以查到对应的变量名,我这里有CLM的标准输出文件。

    变量名是否有标准输出径流量yesQOVER QH2OSFC土壤湿度yesH2OSOIgppyesGPPnppyesNPPnepyesNEPlaiyesTLAI总辐射yesFLDS+FSDS净辐射maybeRnet植物蒸腾yesQVEGT土壤蒸发yesQSOIL植被冠层截留蒸发yesQINTR感热yesFSH土壤热通量yesFGR温度yesTSA湿度或vpdyesQ2MPETno–

    径流量

    地表径流,总径流

    float QH2OSFC(time, lat, lon) ; QH2OSFC:long_name = "surface water runoff" ; QH2OSFC:units = "mm/s" ; QH2OSFC:cell_methods = "time: mean" ; QH2OSFC:_FillValue = 1.e+36f ; QH2OSFC:missing_value = 1.e+36f ; float QOVER(time, lat, lon) ; QOVER:long_name = "total surface runoff (includes QH2OSFC)" ; QOVER:units = "mm/s" ; QOVER:cell_methods = "time: mean" ; QOVER:_FillValue = 1.e+36f ; QOVER:missing_value = 1.e+36f ;

    土壤湿度

    土壤湿度一般不用BTRAN,一般用这个H2OSOI

    float H2OSOI(time, levsoi, lat, lon) ; H2OSOI:long_name = "volumetric soil water (natural vegetated and crop landunits only)" ; H2OSOI:units = "mm3/mm3" ; H2OSOI:cell_methods = "time: mean" ; H2OSOI:_FillValue = 1.e+36f ; H2OSOI:missing_value = 1.e+36f ;

    NPP

    float NPP(time, lat, lon) ; NPP:long_name = "net primary production" ; NPP:units = "gC/m^2/s" ; NPP:cell_methods = "time: mean" ; NPP:_FillValue = 1.e+36f ; NPP:missing_value = 1.e+36f ;

    GPP

    float GPP(time, lat, lon) ; GPP:long_name = "gross primary production" ; GPP:units = "gC/m^2/s" ; GPP:cell_methods = "time: mean" ; GPP:_FillValue = 1.e+36f ; GPP:missing_value = 1.e+36f ;

    NEP

    float NEP(time, lat, lon) ; NEP:long_name = "net ecosystem production, excludes fire, landuse, and harvest flux, positive for sink" ; NEP:units = "gC/m^2/s" ; NEP:cell_methods = "time: mean" ; NEP:_FillValue = 1.e+36f ; NEP:missing_value = 1.e+36f ;

    LAI:

    float TLAI(time, lat, lon) ; TLAI:long_name = "total projected leaf area index" ; TLAI:units = "m^2/m^2" ; TLAI:cell_methods = "time: mean" ; TLAI:_FillValue = 1.e+36f ; TLAI:missing_value = 1.e+36f ;

    总辐射

    FLDS是下行长波辐射,FSDS是下行短波辐射 总辐射应该包括下行长波和短波辐射一起吧?

    float FLDS(time, lat, lon) ; FLDS:long_name = "atmospheric longwave radiation (downscaled to columns in glacier regions)" ; FLDS:units = "W/m^2" ; FLDS:cell_methods = "time: mean" ; FLDS:_FillValue = 1.e+36f ; FLDS:missing_value = 1.e+36f ; float FSDS(time, lat, lon) ; FSDS:long_name = "atmospheric incident solar radiation" ; FSDS:units = "W/m^2" ; FSDS:cell_methods = "time: mean" ; FSDS:_FillValue = 1.e+36f ; FSDS:missing_value = 1.e+36f ;

    净辐射

    净辐射是Rnet,默认不打开,但是可以指定输出,所以应该不用担心

    植物蒸腾

    F开头的和Q开头的一个能量单位,一个mm水单位,一般用mm水单位的多一些 袁老师打算用能量单位的,用于直接和能量比较

    float FCTR(time, lat, lon) ; FCTR:long_name = "canopy transpiration" ; FCTR:units = "W/m^2" ; FCTR:cell_methods = "time: mean" ; FCTR:_FillValue = 1.e+36f ; FCTR:missing_value = 1.e+36f ; float QVEGT(time, lat, lon) ; QVEGT:long_name = "canopy transpiration" ; QVEGT:units = "mm/s" ; QVEGT:cell_methods = "time: mean" ; QVEGT:_FillValue = 1.e+36f ; QVEGT:missing_value = 1.e+36f ;

    土壤蒸发

    float FGEV(time, lat, lon) ; FGEV:long_name = "ground evaporation" ; FGEV:units = "W/m^2" ; FGEV:cell_methods = "time: mean" ; FGEV:_FillValue = 1.e+36f ; FGEV:missing_value = 1.e+36f ; float QSOIL(time, lat, lon) ; QSOIL:long_name = "Ground evaporation (soil/snow evaporation + soil/snow sublimation - dew)" ; QSOIL:units = "mm/s" ; QSOIL:cell_methods = "time: mean" ; QSOIL:_FillValue = 1.e+36f ; QSOIL:missing_value = 1.e+36f ;

    植被冠层截留蒸发

    float FCEV(time, lat, lon) ; FCEV:long_name = "canopy evaporation" ; FCEV:units = "W/m^2" ; FCEV:cell_methods = "time: mean" ; FCEV:_FillValue = 1.e+36f ; FCEV:missing_value = 1.e+36f ; float QINTR(time, lat, lon) ; QINTR:long_name = "interception" ; QINTR:units = "mm/s" ; QINTR:cell_methods = "time: mean" ; QINTR:_FillValue = 1.e+36f ; QINTR:missing_value = 1.e+36f ;

    感热

    float FSH(time, lat, lon) ; FSH:long_name = "sensible heat not including correction for land use change and rain/snow conversion" ; FSH:units = "W/m^2" ; FSH:cell_methods = "time: mean" ; FSH:_FillValue = 1.e+36f ; FSH:missing_value = 1.e+36f ;

    土壤热通量

    float FGR(time, lat, lon) ; FGR:long_name = "heat flux into soil/snow including snow melt and lake / snow light transmission" ; FGR:units = "W/m^2" ; FGR:cell_methods = "time: mean" ; FGR:_FillValue = 1.e+36f ; FGR:missing_value = 1.e+36f ;

    温度:

    float TSA(time, lat, lon) ; TSA:long_name = "2m air temperature" ; TSA:units = "K" ; TSA:cell_methods = "time: mean" ; TSA:_FillValue = 1.e+36f ; TSA:missing_value = 1.e+36f ; float TREFMNAV(time, lat, lon) ; TREFMNAV:long_name = "daily minimum of average 2-m temperature" ; TREFMNAV:units = "K" ; TREFMNAV:cell_methods = "time: mean" ; TREFMNAV:_FillValue = 1.e+36f ; TREFMNAV:missing_value = 1.e+36f ; float TREFMXAV(time, lat, lon) ; TREFMXAV:long_name = "daily maximum of average 2-m temperature" ; TREFMXAV:units = "K" ; TREFMXAV:cell_methods = "time: mean" ; TREFMXAV:_FillValue = 1.e+36f ; TREFMXAV:missing_value = 1.e+36f ;

    湿度

    float Q2M(time, lat, lon) ; Q2M:long_name = "2m specific humidity" ; Q2M:units = "kg/kg" ; Q2M:cell_methods = "time: mean" ; Q2M:_FillValue = 1.e+36f ; Q2M:missing_value = 1.e+36f ;

    PET: PET应该模型没有直接计算。

    2. 问题的基本思路

    这个问题的基本思路是这样:我们基于全球多个站点的数据分析表明,伴随着全球气候变暖,大气饱和水汽压(vpd)在上升(也就是相对湿度在下降),vpd上升后会使得植物通过蒸腾作用散失的水分潜力增加,部分地区的植物为了减缓水分散失会关闭气孔(气孔导度下降),这种行为会导致蒸腾作用减缓。我们基于站点的分析发现,在湿润地区,vpd增加会导致蒸腾作用增加,但是干旱地区会导致蒸腾作用减缓。蒸腾作用等同于潜热,那么在湿润地区潜热占净辐射的比例会增加,感热比例减少;但是干旱地区相反,vpd增加导致潜热减少/感热增加,又会导致局地增温。我们想通过cesm模拟试验来检验这种现象对于局地和区域气候的影响。

    3. 具体问题

    选用哪种compsets?怎么控制输出变量?时间尺度怎么设置?日值输出和6小时输出1度*1度的输出选用哪种分辨率?运行时间,resubmit restart

    4. 查询与修改

    4.1 查询$RUNDIR, $EXEROOT

    模型的可执行程序(例如cesm.exe 或 e3sm.exe)被放置在$EXEROOT 目录下。

    组件名称列表,组件log文件,输出数据集合重启文件都放置在$RUNDIR 目录下。

    注意:$RUNDIR 和 $EXEROOT目录是$CASEROOT/env_run.xml 文件中独立的变量。

    [sysu_syli_3@ln42%tianhe2-H mycase]$ ./xmlquery RUNDIR,EXEROOT Results in group build_def EXEROOT: /BIGDATA1/sysu_syli_3/CESM2/scratch/mycase/bld Results in group run_desc RUNDIR: /BIGDATA1/sysu_syli_3/CESM2/scratch/mycase/run

    4.2 env_mach_pes.xml文件(setup前修改)

    修改变量:ntasks,nthrds,rootpe,ninst修改时间:严格来说,env_mach_pes.xml应当在setup之前修改。若setup后又对上述参数进行了更改,则需先./cesm_setup –clean,后再./case_setup。小心修改,用于分配CPU算力,运行长时间的案例,建议进行load_balance测试,以提高效率,节约成本。 ./xmlquery NTASKS,NTHRDS,ROOTPE ./xmlchange NTASKS=24,NTHRDS=1,ROOTPE=0 # 不建议顺序运行,效率不高。默认设置9个节点,建议*2.

    4.3 env_run.xml文件(随时,submit前修改)

    修改变量:STOP_OPTION,STOP_N,RUN_TYPE,CONTINUE_RUN,RUN_REFCASE,RUN_REFDATE,RESUBMIT,RUN_STARTDATE [sysu_syli_3@lon26%tianhe2-H FWmaHist-BGCtest]$ ./xmlquery STOP_OPTION,STOP_N,RUN_TYPE,CONTINUE_RUN,RUN_REFCASE,RUN_REFDATE,RESUBMIT,RUN_STARTDATE Results in group run_begin_stop_restart STOP_OPTION: ndays STOP_N: 5 RUN_TYPE: startup CONTINUE_RUN: FALSE RUN_REFCASE: case.std RUN_REFDATE: 0001-01-01 RESUBMIT: 0 RUN_STARTDATE: 1979-01-01 ./xmlchange STOP_OPTION=nmonths,STOP_N=2

    4.4 env_batch.xml文件(随时,submit前修改)

    修改变量:JOB_WALLCLOCK_TIME ./xmlquery JOB_WALLCLOCK_TIME ./xmlchange JOB_WALLCLOCK_TIME=12:00:00

    4.5 env_build.xml文件(build前修改,若有修改,需rebuild)

    env_build.xml 文件中的变量控制着build 的过程。包括组件分辨率、组件编译时间配置选项。修改时间:执行case.bulid命令前需更改此文件一般不需要改变build的默认设置。大多数的变量不能更改,用户可修改的变量有: $BUILD_THREADED : if TRUE, the model will be built with OpenMP.$DEBUG : if TRUE, the model is compiled with debugging instead of optimization flags.$GMAKE_J : How many threads GNUMake should use while building. ./xmlchange CAM_CONFIG_OPTS="-phys cam5 -chem none" ./xmlchange CAM_CONFIG_OPTS="-phys cam6 -chem none"

    4.6 短期归档

    ./xmlquery DOUT_S,DOUT_S_ROOT ./xmlchange DOUT_S=TRUE

    4.7 其他有用的命令

    xmlchange:修改xml文件中的值 xmlquery:查询XML文件中的值 preview_namelists:允许用户在运行模型之前查看$CASEROOT/CaseDocs目录下的组件名称列表 preview_run:供用户查看批处理提交和mpirun命令 check_input_data:检查输入数据集,并移动放置在合适的目录下 check_case:验证case是否设置正确 pelayout:用于查询和修改每个组件模型中的NTASKS,ROOTP,NTHRDS。可用于代替xmlchange 和 xmlquery命令.

    5. rebuild and resetup

    5.1 rebuild

    以下情况需要重启模型:

    env_build.xml 或 Macros.make 文件被修改SourceMods/src 中加入新代码

    最安全的做法是先clean,在rebuild

    cd $CASEROOT ./case.build --clean-all ./case.build

    其他选项:

    case.build --clean # 不包括受支持的库 case.build --clean-all # 清除所有 case.build --clean compname # 清除单个组件 case.build --help # 帮助

    5.2 resetup

    下列情况需resetup

    env_mach_pes.xml应当在setup之前修改。若setup后又对上述参数进行了更改,则需resetup ./case.setup --clean ./case.setup

    6. 个人总结:CESM2 运行的基本流程

    6.1 配置环境变量

    source /BIGDATA1/sysu_syli_3/CESM2/env_source_cesm2

    6.2 create_newcase

    进入my_cesm_sandbox/cime/scripts目录下,新建案例。

    cd ./create_newcase --compset B1850 --res f09_g17 --case /BIGDATA1/sysu_syli_3/CESM2/scratch/B1850

    也可新建一个.sh文件,将新建案例过程写入.sh文件中,运行.sh文件。

    vim B1850.sh #!/bin/bash ./create_newcase --compset B1850 --res f09_g17 --case /BIGDATA1/sysu_syli_3/CESM2/scratch/B1850 source B1850.sh

    6.2.1 修改env_mach_pes.xml文件

    修改变量:ntasks,nthrds,rootpe,ninst 例如:

    ./xmlquery NTASKS,NTHRDS,ROOTPE,NINST ./xmlchange NTASKS=24,NTHRDS=1,ROOTPE=0

    6.3 case.setup

    case 的setup; build; submit过程都是在create_newcase中指定的case目录中。

    cd /BIGDATA1/sysu_syli_3/CESM2/scratch/B1850 ./case.setup &> log.setup

    6.3.1 修改输出变量和频率:user_nl_xxx[_NNNN]

    查看修改结果:preview_namelists:允许用户在运行模型之前查看$CASEROOT/CaseDocs目录下的组件名称列表 注意:不能有注释

    # 输出变量和频率 hist_empty_htapes = .true # 关闭默认输出,月平均 hist_avgflag_pertape = 'A','A' hist_nhtfrq = 0,1 # 输出频率 月 半小时 hist_mfilt = 12,48 # 每个历史文件流的样本数量 hist_fincl1="QOVER","QH2OSFC","H2OSOI","GPP","NPP","NEP","TLAI","FLDS","FSDS","Rnet","QVEGT","QSOIL","QINTR","FSH" # 新输出字段 hist_fincl2="TSA","Q2M"

    注意user_nl_xxx,七个模块的的修改方式不一致。

    6.4 case.build

    ./case.build --skip-provenance-check &> log.case.build

    时间很长

    6.4.1 修改:env_run.xml文件

    ./xmlquery STOP_OPTION,STOP_N,RUN_TYPE,CONTINUE_RUN,RUN_REFCASE,RUN_REFDATE,RESUBMIT,RUN_STARTDATE [sysu_syli_3@lon26%tianhe2-H FWmaHist-BGCtest]$ ./xmlquery STOP_OPTION,STOP_N,RUN_TYPE,CONTINUE_RUN,RUN_REFCASE,RUN_REFDATE,RESUBMIT,RUN_STARTDATE Results in group run_begin_stop_restart STOP_OPTION: ndays STOP_N: 5 RUN_TYPE: startup CONTINUE_RUN: FALSE RUN_REFCASE: case.std RUN_REFDATE: 0001-01-01 RESUBMIT: 0 RUN_STARTDATE: 1979-01-01 ./xmlchange STOP_OPTION=nmonths,STOP_N=2 ./xmlquery DOUT_S,DOUT_S_ROOT ./xmlchange DOUT_S=TRUE

    6.4.1 修改:env_batch.xml文件

    ./xmlquery JOB_WALLCLOCK_TIME ./xmlchange JOB_WALLCLOCK_TIME=02:00:00 ./xmlchange JOB_WALLCLOCK_TIME=00:20:00 --subgroup case.run

    6.5 case.submit

    帮助,事先查看运行事项

    ./preview_run ./case.submit --help ./case.submit

    6.6 resubmit

    初次运行成功后,重新设置env_run.xml文件

    CONTINUE_RUN=TRUE RESUBMIT = 2 # 再跑2*2=4个月

    7. 输入数据拷贝

    举例:

    cp -r /BIGDATA1/sysu_syli_1/inputdata/atm /BIGDATA1/sysu_syli_3/CESM2/inputdata/ cp -r /BIGDATA1/sysu_syli_3/inputdata1/lnd /BIGDATA1/sysu_syli_3/CESM2/inputdata/

    8.陆老师-B1850:

    ## clone case ./create_clone --clone ~/CESM2/scratch/B1850/ --case ~/CESM2/scratch/B1850test

    跑三个case,分别为预热(B1850)、1901-2005年(BHIST)和2006-2100年。

    8.1 预热

    # 1. newcase ./create_newcase --compset=B1850 --res=f09_g17 --case ~/CESM2/scarch/B1850_1 # 修改PE NTASKS NTHRDS ./xmlchange NTASKS=24 # 2. setup ./case.setup # 修改user_nl_clm,控制输出变量和频率 hist_empty_htapes = .true hist_avgflag_pertape = 'A','A' hist_nhtfrq = 0,1 hist_mfilt = 12,48 hist_fincl1="QOVER","QH2OSFC","H2OSOI","GPP","NPP","NEP","TLAI","FLDS","FSDS","Rnet","QVEGT","QSOIL","QINTR","FSH" hist_fincl2="TSA","Q2M" # 3. build ./case.build --skip-provenance-check # 修改env_run.xml运行时间 首先需要测试模型速度和吞吐量 ./xmlchange STOP_N=1,STOP_OPTION=ndays,RESUBMIT=1 # 修改env_batch.xml ./xmlchange JOB_WALLCLOCK_TIME=02:00:00 # 短期归档 ./xmlquery DOUT_S,DOUT_S_ROOT ./xmlchange DOUT_S=TRUE # 4. submit ./case.submit 注意:先跑一个很短的案例,例如5天。测试模型的花费和吞吐量。 然后在修改相应的wallclock,STOP_N,STOP_OPTION,RESUBMIT。 例如:模型一天能跑3年,则一年需要8小时。 此时可设wallclock=10:00:00,STOP—N=1,STOP_OPTION=nyears,RESUBMIT=20. 则模型会继续运行20年。 第一次运行时,设置RESUBMIT>0,CONTINUE_RUN=FALSE。第一次提交之后,CONTINUE_RUN会自动设为TRUE。 # 5. RESUBMIT 正式跑 ./xmlchange STOP_N=1,STOP_OPTION=nyears,RESUBMIT=20 # 跑20年 ./case.submit 输出restart文件。将最后一次的restart文件作为1901-2005年的输入,避免重新预热。

    输出结果:奇怪,为什么第一个任务调用9个节点,第二个任务调用24个节点? 奇怪:好像全都提前多跑了一个step。 半小时输出,第一天的输出是从0日的23:00-1日的00:00开始的。 从1日的23:00-1日的23:30结束的。 我设定了2日的输出,频率为半小时,频次为48。会输出3天的nc文件。

    节点怎么分配? run.B1850会分配指定的9个节点。JOBID为3677840 成功之后,会调用一个节点用于短期归档。JOBID为3677841 因我RESUBMIT=1,所以会有另一组。 JOBID为3677889和3677890。

    CLM lnd_in中的初始场文件finidat:

    8.2 历史输出1901-2005

    # 1. create newcase ./cas --compset=BHIST # 2. setup # 修改user_nl_clm输出变量和频率 # 修改user_nl_xxx,将预热的restart 文件作为初始场。 拷贝预热case中的restart文件至BHIST case中。./run/archive/testing目录下。 finidat='' 参考lnd_in的格式 finidat = '/BIGDATA1/sysu_syli_3/CESM2/inputdata/lnd/clm2/initdata_map/clmi.B1850.1171-01-01.0.9x1.25_gx1v7_simyr1850_c181029.nc'

    新建案例时有个warming

    9. F case (陆老师)

    9.1 预热(废弃)FW1850-BGCtest

    ./create_newcase --compset 1850_CAM60%WCTS_CLM50%BGC-CROP_CICE%PRES_DOCN%DOM_MOSART_CISM2%NOEVOLVE_SWAV -res f09_g17 --case ~/CESM2/scratch/FW1850-BGCtest --run-unsupported

    比较关闭大气化学模块对核时的影响:

    默认,不关闭 CAM_CONFIG_OPTS="-phys cam6 -age_of_air_trcs -chem waccm_ma_mam4"./xmlchange CAM_CONFIG_OPTS="-phys cam6 -chem none"./xmlchange CAM_CONFIG_OPTS="-phys cam5 -chem none"

    9.2 FWmaHist-BGCtest

    9.2.1 create newcase

    ./create_newcase --compset HIST_CAM60%WCCM_CLM50%BGC-CROP_CICE%PRES_DOCN%DOM_MOSART_CISM2%NOEVOLVE_SWAV --res f09_g17 --case /BIGDATA1/sysu_syli_3/CESM2/scratch/FWmaHist-BGCtest --run-unsupported &> FWmaHist-BGCtest.log.create_newcase 修改PE ./xmlquery NTASKS,NTHRDS,ROOTPE [sysu_syli_3@lon26%tianhe2-H FWmaHist-BGCtest]$ ./xmlquery NTASKS,NTHRDS,ROOTPE Results in group mach_pes NTASKS: ['CPL:24', 'ATM:24', 'LND:24', 'ICE:24', 'OCN:24', 'ROF:24', 'GLC:24', 'WAV:24', 'ESP:1'] NTHRDS: ['CPL:1', 'ATM:1', 'LND:1', 'ICE:1', 'OCN:1', 'ROF:1', 'GLC:1', 'WAV:1', 'ESP:1'] ROOTPE: ['CPL:0', 'ATM:0', 'LND:0', 'ICE:0', 'OCN:0', 'ROF:0', 'GLC:0', 'WAV:0', 'ESP:0'] # 默认*10 ./xmlchange NTASKS=240 ./xmlchange NTASKS_ESP=10 [sysu_syli_3@lon26%tianhe2-H FWmaHist-BGCtest]$ ./xmlquery NTASKS,NTHRDS,ROOTPE [sysu_syli_3@lon26%tianhe2-H FWmaHist-BGCtest]$ ./xmlquery NTASKS,NTHRDS,ROOTPE Results in group mach_pes NTASKS: ['CPL:240', 'ATM:240', 'LND:240', 'ICE:240', 'OCN:240', 'ROF:240', 'GLC:240', 'WAV:240', 'ESP:10'] NTHRDS: ['CPL:1', 'ATM:1', 'LND:1', 'ICE:1', 'OCN:1', 'ROF:1', 'GLC:1', 'WAV:1', 'ESP:1'] ROOTPE: ['CPL:0', 'ATM:0', 'LND:0', 'ICE:0', 'OCN:0', 'ROF:0', 'GLC:0', 'WAV:0', 'ESP:0']

    9.2.2 setup

    ./case.setup &> log.case.setup 修改user_nl_clm vim user_nl_clm # 编辑文件 ./preview_namelists # 查看结果 # 修改user_nl_clm,控制输出变量和频率 hist_empty_htapes = .true hist_avgflag_pertape = 'A' hist_nhtfrq = -8760 hist_mfilt = 1 hist_fincl1="QOVER","QH2OSFC","H2OSOI","GPP","NPP","NEP","TLAI","FLDS","FSDS","Rnet","QVEGT","QSOIL","QINTR","FSH","TSA","Q2M" # 默认设置,不关闭大气化学模块 ./xmlquery CAM_CONFIG_OPTS [sysu_syli_3@lon26%tianhe2-H FWmaHist-BGCtest]$ ./xmlquery CAM_CONFIG_OPTS CAM_CONFIG_OPTS: -phys cam6 -age_of_air_trcs -chem waccm_ma_mam4

    9.2.3 build

    ./case.build --skip-provenance-check &> log.case.build 修改env_run.xml运行时间 首先需要测试模型速度和吞吐量 ./xmlchange STOP_N=1,STOP_OPTION=nyears 修改env_batch.xml ./xmlchange JOB_WALLCLOCK_TIME=12:00:00 短期归档 ./xmlquery DOUT_S,DOUT_S_ROOT ./xmlchange DOUT_S=TRUE env_run.xml文件其他变量查询 ./xmlquery STOP_OPTION,STOP_N,RUN_TYPE,CONTINUE_RUN,RUN_REFCASE,RUN_REFDATE,RESUBMIT,RUN_STARTDATE

    9.2.4 submit

    ./case.submit &> log.case.submit

    9.2.5 关闭大气化学模块5

    ./xmlchange CAM_CONFIG_OPTS="-phys cam5 -chem none" # rebuild ./case.build --clean-all ./case.build --skip-provenance-check ./case.submit # 确保CONTINUE_RUN=FALSE

    9.2.6 关闭大气化学模块6

    ./xmlchange CAM_CONFIG_OPTS="-phys cam6 -chem none" # rebuild ./case.build --clean-all ./case.build --skip-provenance-check ./case.submit # 确保CONTINUE_RUN=FALSE [sysu_syli_3@lon26%tianhe2-H FWHist-BGCtest]$ ./xmlquery CAM_CONFIG_OPTS CAM_CONFIG_OPTS: -phys cam6 -age_of_air_trcs -chem waccm_tsmlt_mam4

    三个case:

    FWHIST_BGC : HIST_CAM60%WCTS_CLM50%BGC-CROP_CICE%PRES_DOCN%DOM_MOSART_CISM2%NOEVOLVE_SWAV FWmaHIST_BGC : HIST_CAM60%WCCM_CLM50%BGC-CROP_CICE%PRES_DOCN%DOM_MOSART_CISM2%NOEVOLVE_SWAV FW1850 : 1850_CAM60%WCTS_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_CISM2%NOEVOLVE_SWAV # 将SP改为BGC-CROP

    10. FWmaHIST_BGC

    FWmaHIST_BGC-default

    ./create_newcase --compset FWmaHIST_BGC --res f09_f09_mg17 --case ~/CESM2/scratch/FWmaHIST_BGC-default --run-unsupported &> FWmaHIST_BGC-default.log [sysu_syli_3@ln42%tianhe2-H FWmaHIST_BGC-default]$ ./xmlchange NTASKS=120 [sysu_syli_3@ln42%tianhe2-H FWmaHIST_BGC-default]$ ./xmlchange NTASKS_ESP=5 [sysu_syli_3@ln42%tianhe2-H FWmaHIST_BGC-default]$ ./xmlquery NTASKS,NTHRDS,ROOTPE Results in group mach_pes NTASKS: ['CPL:120', 'ATM:120', 'LND:120', 'ICE:120', 'OCN:120', 'ROF:120', 'GLC:120', 'WAV:120', 'ESP:5'] NTHRDS: ['CPL:1', 'ATM:1', 'LND:1', 'ICE:1', 'OCN:1', 'ROF:1', 'GLC:1', 'WAV:1', 'ESP:1'] ROOTPE: ['CPL:0', 'ATM:0', 'LND:0', 'ICE:0', 'OCN:0', 'ROF:0', 'GLC:0', 'WAV:0', 'ESP:0'] [sysu_syli_3@lon26%tianhe2-H FWmaHIST_BGC-default]$ ./case.setup &> log.case.setup [sysu_syli_3@lon26%tianhe2-H FWmaHIST_BGC-default]$ vim user_nl_clm hist_empty_htapes = .true hist_avgflag_pertape = 'A' hist_nhtfrq = -8760 hist_mfilt = 1 hist_fincl1="QOVER","QH2OSFC","H2OSOI","GPP","NPP","NEP","TLAI","FLDS","FSDS","Rnet","QVEGT","QSOIL","QINTR","FSH","TSA","Q2M" [sysu_syli_3@lon26%tianhe2-H FWmaHIST_BGC-default]$ ./xmlquery CAM_CONFIG_OPTS CAM_CONFIG_OPTS: -phys cam6 -age_of_air_trcs -chem waccm_ma_mam4 ./case.build --skip-provenance-check &> log.case.build ./xmlchange STOP_N=1,STOP_OPTION=nyears ./xmlchange JOB_WALLCLOCK_TIME=12:00:00 ./xmlquery DOUT_S,DOUT_S_ROOT ./xmlchange DOUT_S=TRUE ./xmlquery STOP_OPTION,STOP_N,RUN_TYPE,CONTINUE_RUN,RUN_REFCASE,RUN_REFDATE,RESUBMIT,RUN_STARTDATE ./case.submit &> log.case.submit

    错误:

    日志文件: cesm.log.3690343.201020-073744

    可能原因:输入数据有损坏, 检查输入数据是否损坏?

    ./check_input_data --chksum

    11. FWHIST_BGC

    FWHIST_BGC-default

    ./create_newcase --compset FWHIST_BGC --res f09_f09_mg17 --case ~/CESM2/scratch/FWHIST_BGC-default &> FWHIST_BGC-default.log [sysu_syli_3@ln42%tianhe2-H FWHIST_BGC-default]$ ./xmlquery NTASKS,NTHRDS,ROOTPE Results in group mach_pes NTASKS: ['CPL:24', 'ATM:24', 'LND:24', 'ICE:24', 'OCN:24', 'ROF:24', 'GLC:24', 'WAV:24', 'ESP:1'] NTHRDS: ['CPL:1', 'ATM:1', 'LND:1', 'ICE:1', 'OCN:1', 'ROF:1', 'GLC:1', 'WAV:1', 'ESP:1'] ROOTPE: ['CPL:0', 'ATM:0', 'LND:0', 'ICE:0', 'OCN:0', 'ROF:0', 'GLC:0', 'WAV:0', 'ESP:0'] [sysu_syli_3@ln42%tianhe2-H FWHIST_BGC-default]$ ./xmlchange NTASKS=120 [sysu_syli_3@ln42%tianhe2-H FWHIST_BGC-default]$ ./xmlchange NTASKS_ESP=5 [sysu_syli_3@ln42%tianhe2-H FWHIST_BGC-default]$ ./xmlquery NTASKS,NTHRDS,ROOTPE Results in group mach_pes NTASKS: ['CPL:120', 'ATM:120', 'LND:120', 'ICE:120', 'OCN:120', 'ROF:120', 'GLC:120', 'WAV:120', 'ESP:5'] NTHRDS: ['CPL:1', 'ATM:1', 'LND:1', 'ICE:1', 'OCN:1', 'ROF:1', 'GLC:1', 'WAV:1', 'ESP:1'] ROOTPE: ['CPL:0', 'ATM:0', 'LND:0', 'ICE:0', 'OCN:0', 'ROF:0', 'GLC:0', 'WAV:0', 'ESP:0'] [sysu_syli_3@lon26%tianhe2-H FWmaHIST_BGC-default]$ ./case.setup &> log.case.setup [sysu_syli_3@lon26%tianhe2-H FWmaHIST_BGC-default]$ vim user_nl_clm hist_empty_htapes = .true hist_avgflag_pertape = 'A' hist_nhtfrq = -8760 hist_mfilt = 1 hist_fincl1="QOVER","QH2OSFC","H2OSOI","GPP","NPP","NEP","TLAI","FLDS","FSDS","Rnet","QVEGT","QSOIL","QINTR","FSH","TSA","Q2M" [sysu_syli_3@ln42%tianhe2-H FWHIST_BGC-default]$ ./xmlquery CAM_CONFIG_OPTS CAM_CONFIG_OPTS: -phys cam6 -age_of_air_trcs -chem waccm_tsmlt_mam4 ./case.build --skip-provenance-check &> log.case.build ./xmlchange STOP_N=1,STOP_OPTION=nyears ./xmlchange JOB_WALLCLOCK_TIME=12:00:00 ./xmlquery DOUT_S,DOUT_S_ROOT ./xmlchange DOUT_S=TRUE ./xmlquery STOP_OPTION,STOP_N,RUN_TYPE,CONTINUE_RUN,RUN_REFCASE,RUN_REFDATE,RESUBMIT,RUN_STARTDATE ./case.submit &> log.case.submit

    检查输入数据是否损坏?

    ./check_input_data --chksum

    case的基本情况:

    [sysu_syli_3@ln42%tianhe2-H FWHIST_BGC-default]$ ./preview_run CASE INFO: nodes: 5 total tasks: 120 tasks per node: 24 thread count: 1 BATCH INFO: FOR JOB: case.run ENV: Setting Environment OMP_STACKSIZE=64M Setting Environment MKL_PATH=/BIGDATA1/app/intelcompiler/18.0.0/compilers_and_libraries_2018.0.128/linux/mkl Setting Environment NETCDF_HOME=/BIGDATA1/app/netcdf/4.6.2-icc-18 Setting Environment NETCDF_PATH=/BIGDATA1/app/netcdf/4.6.2-icc-18 Setting Environment OMP_NUM_THREADS=1 SUBMIT CMD: sbatch --time 12:00:00 .case.run --resubmit MPIRUN (job=case.run): yhrun --label -n 120 /BIGDATA1/sysu_syli_3/CESM2/scratch/FWHIST_BGC-default/bld/cesm.exe >> cesm.log.$LID 2>&1 FOR JOB: case.st_archive ENV: Setting Environment OMP_STACKSIZE=64M Setting Environment MKL_PATH=/BIGDATA1/app/intelcompiler/18.0.0/compilers_and_libraries_2018.0.128/linux/mkl Setting Environment NETCDF_HOME=/BIGDATA1/app/netcdf/4.6.2-icc-18 Setting Environment NETCDF_PATH=/BIGDATA1/app/netcdf/4.6.2-icc-18 Setting Environment OMP_NUM_THREADS=1 SUBMIT CMD: sbatch --time 12:00:00 --dependency=afterok:0 case.st_archive --resubmit [sysu_syli_3@ln42%tianhe2-H FWHIST_BGC-default]$ ./xmlquery STOP_OPTION,STOP_N,RUN_TYPE,CONTINUE_RUN,RUN_REFCASE,RUN_REFDATE,RESUBMIT,RUN_STARTDATE Results in group run_begin_stop_restart STOP_OPTION: nyears STOP_N: 1 RUN_TYPE: hybrid CONTINUE_RUN: FALSE RUN_REFCASE: b.e21.BWHIST.f09_g17.CMIP6-historical-WACCM.001_v2 RUN_REFDATE: 1950-01-01 RESUBMIT: 0 RUN_STARTDATE: 1950-01-01

    cd cime/scripts % ./create_newcase --case fhist --compset FHIST --res f09_f09_mg17 % cd fhist % ./case.setup % ./case.build % ./case.submit

    ./create_newcase --case fwhist-bgc --compset FWHIST_BGC --res f09_f09_mg17 &> fwhist-bgc.log ./case.setup &> log.case.setup [sysu_syli_3@ln42%tianhe2-H fwhist-bgc]$ vim user_nl_clm [sysu_syli_3@ln42%tianhe2-H fwhist-bgc]$ ./preview_namelists - Prestaging REFCASE (/BIGDATA1/sysu_syli_3/CESM2/inputdata/cesm2_init/b.e21.BWHIST.f09_g17.CMIP6-historical-WACCM.001_v2/1950-01-01) to /BIGDATA1/sysu_syli_3/CESM2/scratch/fwhist-bgc/run Copy rpointer /BIGDATA1/sysu_syli_3/CESM2/inputdata/cesm2_init/b.e21.BWHIST.f09_g17.CMIP6-historical-WACCM.001_v2/1950-01-01/rpointer.lnd Copy rpointer /BIGDATA1/sysu_syli_3/CESM2/inputdata/cesm2_init/b.e21.BWHIST.f09_g17.CMIP6-historical-WACCM.001_v2/1950-01-01/rpointer.ocn.ovf Copy rpointer /BIGDATA1/sysu_syli_3/CESM2/inputdata/cesm2_init/b.e21.BWHIST.f09_g17.CMIP6-historical-WACCM.001_v2/1950-01-01/rpointer.ice Copy rpointer /BIGDATA1/sysu_syli_3/CESM2/inputdata/cesm2_init/b.e21.BWHIST.f09_g17.CMIP6-historical-WACCM.001_v2/1950-01-01/rpointer.ocn.restart Copy rpointer /BIGDATA1/sysu_syli_3/CESM2/inputdata/cesm2_init/b.e21.BWHIST.f09_g17.CMIP6-historical-WACCM.001_v2/1950-01-01/rpointer.rof Copy rpointer /BIGDATA1/sysu_syli_3/CESM2/inputdata/cesm2_init/b.e21.BWHIST.f09_g17.CMIP6-historical-WACCM.001_v2/1950-01-01/rpointer.atm Copy rpointer /BIGDATA1/sysu_syli_3/CESM2/inputdata/cesm2_init/b.e21.BWHIST.f09_g17.CMIP6-historical-WACCM.001_v2/1950-01-01/rpointer.drv Copy rpointer /BIGDATA1/sysu_syli_3/CESM2/inputdata/cesm2_init/b.e21.BWHIST.f09_g17.CMIP6-historical-WACCM.001_v2/1950-01-01/rpointer.glc Staging file /BIGDATA1/sysu_syli_3/CESM2/inputdata/cesm2_init/b.e21.BWHIST.f09_g17.CMIP6-historical-WACCM.001_v2/1950-01-01/b.e21.BWHIST.f09_g17.CMIP6-historical-WACCM.001_v2.pop.r.1950-01-01-00000.nc Staging file /BIGDATA1/sysu_syli_3/CESM2/inputdata/cesm2_init/b.e21.BWHIST.f09_g17.CMIP6-historical-WACCM.001_v2/1950-01-01/README Staging file /BIGDATA1/sysu_syli_3/CESM2/inputdata/cesm2_init/b.e21.BWHIST.f09_g17.CMIP6-historical-WACCM.001_v2/1950-01-01/b.e21.BWHIST.f09_g17.CMIP6-historical-WACCM.001_v2.ww3.r.1950-01-01-00000 Staging file /BIGDATA1/sysu_syli_3/CESM2/inputdata/cesm2_init/b.e21.BWHIST.f09_g17.CMIP6-historical-WACCM.001_v2/1950-01-01/b.e21.BWHIST.f09_g17.CMIP6-historical-WACCM.001_v2.pop.ro.1950-01-01-00000 Staging file /BIGDATA1/sysu_syli_3/CESM2/inputdata/cesm2_init/b.e21.BWHIST.f09_g17.CMIP6-historical-WACCM.001_v2/1950-01-01/b.e21.BWHIST.f09_g17.CMIP6-historical-WACCM.001_v2.cpl.r.1950-01-01-00000.nc Staging file /BIGDATA1/sysu_syli_3/CESM2/inputdata/cesm2_init/b.e21.BWHIST.f09_g17.CMIP6-historical-WACCM.001_v2/1950-01-01/b.e21.BWHIST.f09_g17.CMIP6-historical-WACCM.001_v2.cism.r.1950-01-01-00000.nc Staging file /BIGDATA1/sysu_syli_3/CESM2/inputdata/cesm2_init/b.e21.BWHIST.f09_g17.CMIP6-historical-WACCM.001_v2/1950-01-01/b.e21.BWHIST.f09_g17.CMIP6-historical-WACCM.001_v2.cice.r.1950-01-01-00000.nc Staging file /BIGDATA1/sysu_syli_3/CESM2/inputdata/cesm2_init/b.e21.BWHIST.f09_g17.CMIP6-historical-WACCM.001_v2/1950-01-01/list Staging file /BIGDATA1/sysu_syli_3/CESM2/inputdata/cesm2_init/b.e21.BWHIST.f09_g17.CMIP6-historical-WACCM.001_v2/1950-01-01/b.e21.BWHIST.f09_g17.CMIP6-historical-WACCM.001_v2.clm2.r.1950-01-01-00000.nc Staging file /BIGDATA1/sysu_syli_3/CESM2/inputdata/cesm2_init/b.e21.BWHIST.f09_g17.CMIP6-historical-WACCM.001_v2/1950-01-01/b.e21.BWHIST.f09_g17.CMIP6-historical-WACCM.001_v2.mosart.r.1950-01-01-00000.nc Staging file /BIGDATA1/sysu_syli_3/CESM2/inputdata/cesm2_init/b.e21.BWHIST.f09_g17.CMIP6-historical-WACCM.001_v2/1950-01-01/b.e21.BWHIST.f09_g17.CMIP6-historical-WACCM.001_v2.cam.i.1950-01-01-00000.nc Creating component namelists Calling /BIGDATA1/sysu_syli_3/CESM2/my_cesm_sandbox/components/cam//cime_config/buildnml ...calling cam buildcpp to set build time options CAM namelist copy: file1 /BIGDATA1/sysu_syli_3/CESM2/my_cesm_sandbox/cime/scripts/fwhist-bgc/Buildconf/camconf/atm_in file2 /BIGDATA1/sysu_syli_3/CESM2/scratch/fwhist-bgc/run/atm_in Calling /BIGDATA1/sysu_syli_3/CESM2/my_cesm_sandbox/components/clm//cime_config/buildnml Calling /BIGDATA1/sysu_syli_3/CESM2/my_cesm_sandbox/components/cice//cime_config/buildnml ...buildnml calling cice buildcpp to set build time options Calling /BIGDATA1/sysu_syli_3/CESM2/my_cesm_sandbox/cime/src/components/data_comps/docn/cime_config/buildnml Calling /BIGDATA1/sysu_syli_3/CESM2/my_cesm_sandbox/components/mosart//cime_config/buildnml Running /BIGDATA1/sysu_syli_3/CESM2/my_cesm_sandbox/components/cism//cime_config/buildnml Calling /BIGDATA1/sysu_syli_3/CESM2/my_cesm_sandbox/cime/src/components/stub_comps/swav/cime_config/buildnml Calling /BIGDATA1/sysu_syli_3/CESM2/my_cesm_sandbox/cime/src/components/stub_comps/sesp/cime_config/buildnml Calling /BIGDATA1/sysu_syli_3/CESM2/my_cesm_sandbox/cime/src/drivers/mct/cime_config/buildnml NOTE: ignoring setting of rof2ocn_ice_rmapname=idmap in seq_maps.rc NOTE: ignoring setting of rof2ocn_liq_rmapname=idmap in seq_maps.rc Finished creating component namelists # 默认 [sysu_syli_3@ln42%tianhe2-H fwhist-bgc]$ ./xmlquery STOP_OPTION,STOP_N,RUN_TYPE,CONTINUE_RUN,RUN_REFCASE,RUN_REFDATE,RESUBMIT,RUN_STARTDATE,CAM_CONFIG_OPTS,DOUT_S,DOUT_S_ROOT,JOB_WALLCLOCK_TIME Results in group build_component_cam CAM_CONFIG_OPTS: -phys cam6 -age_of_air_trcs -chem waccm_tsmlt_mam4 Results in group case.run JOB_WALLCLOCK_TIME: 00:20:00 Results in group case.st_archive JOB_WALLCLOCK_TIME: 0:20:00 Results in group run_begin_stop_restart STOP_OPTION: ndays STOP_N: 5 RUN_TYPE: hybrid CONTINUE_RUN: FALSE RUN_REFCASE: b.e21.BWHIST.f09_g17.CMIP6-historical-WACCM.001_v2 RUN_REFDATE: 1950-01-01 RESUBMIT: 0 RUN_STARTDATE: 1950-01-01 Results in group run_data_archive DOUT_S: FALSE Results in group run_dout DOUT_S_ROOT: /BIGDATA1/sysu_syli_3/CESM2/my_cesm_sandbox/cime/scripts/fwhist-bgc/archive #修改 ./case.build --skip-provenance-check &> log.case.build ./xmlchange STOP_N=3,STOP_OPTION=nmonths ./xmlchange JOB_WALLCLOCK_TIME=12:00:00 ./xmlchange DOUT_S=TRUE ./case.submit &> log.case.submit
    Processed: 0.010, SQL: 8