改变CLM陆面模式结果文件的输出变量、特征值及频率

改变CLM陆面模式结果文件的输出变量、特征值及频率

  • 目录
    • 1. 关于user_nl_clm
    • 2. 控制输出时间频率的参数
    • 3. 举个栗子
    • 4. 控制输出变量及特征的参数
    • 5. 控制输出变量特征值的参数
    • 6. 综合应用举例
    • 7. 输出变量空间层级的控制

目录

CLM陆面模式的结果输出频率,通常是指输出文件的频率,如输出不同时间尺度的特征值,这里有两个注意事项:

  • 时间尺度(可以是年、月、日、小时、甚至是模拟步长)
  • 模拟结果(可以是平均值、瞬时值、最大值或最小值)

1. 关于user_nl_clm

当创建Case进行到./case.setup之后,模型会在case所在的文件夹创建一系列namelist文件,有

  • user_nl_clm
  • user_nl_cpl
  • -user_nl_datm
  • -user_nl_mosart

其中控制CLM结果输出的就是user_nl_clm

通过编辑user_nl_clm中的内容(直接在文件末尾添加语句),就可以对CLM的模拟结果进行输出。默认的user_nl_clm内容如下

!----------------------------------------------------------------------------------
! Users should add all user specific namelist changes below in the form of
! namelist_var = new_namelist_value
!
! EXCEPTIONS:
! Set use_cndv           by the compset you use and the CLM_BLDNML_OPTS -dynamic_vegetation setting
! Set use_vichydro       by the compset you use and the CLM_BLDNML_OPTS -vichydro           setting
! Set use_cn             by the compset you use and CLM_BLDNML_OPTS -bgc  setting
! Set use_crop           by the compset you use and CLM_BLDNML_OPTS -crop setting
! Set spinup_state       by the CLM_BLDNML_OPTS -bgc_spinup      setting
! Set irrigate           by the CLM_BLDNML_OPTS -irrig .true.    setting
! Set co2_ppmv           with CCSM_CO2_PPMV                      option
! Set dtime              with L_NCPL                             option
! Set fatmlndfrc         with LND_DOMAIN_PATH/LND_DOMAIN_FILE    options
! Set finidat            with RUN_REFCASE/RUN_REFDATE/RUN_REFTOD options for hybrid or branch cases
!                        (includes $inst_string for multi-ensemble cases)
!                        or with CLM_FORCE_COLDSTART to do a cold start
!                        or set it with an explicit filename here.
! Set maxpatch_glcmec    with GLC_NEC                            option
! Set glc_do_dynglacier  with GLC_TWO_WAY_COUPLING               env variable
!----------------------------------------------------------------------------------

2. 控制输出时间频率的参数

控制参数主要有两个,hist_mfilthist_nhtfrq

hist_mfilt 是控制一个输出的一个nc文件包含记录的数目,如想要每月输出一条记录,但每年输出一个nc文件,这样每个nc文件中就相对于包含12个月的结果,即12条记录。
默认情况下:hist_mfilt = 1

hist_nhtfrq则是控制输出记录的频率,需要注意:
0:表示每月输出一条记录
正整数:表示按照模拟步长(通常是0.5h或1h)的正整数倍进行输出记录,如若步长为0.5h, 则48就代表每天输出一个结果
负整数:表示按照小时的整数倍输出记录,如-24也表示每天输出一个结果
默认情况下:hist_nhtfrq= 0

3. 举个栗子

如果想每天记录一下,同时把一年中每天的记录都存放在一个nc文件中,该如何设置?

hist_mfilt = 365
hist_nhtfrq = -24

4. 控制输出变量及特征的参数

  • 在不额外设置任何参数的情况下,CLM模式会按照逐月平均的频率输出结果,其中包含了各种各样的地表通量变量和状态变量,如潜热通量、感热通量、径流、地表温度、蒸散发、土壤含水等等。

  • 当然,除了默认的输出之外,我们也可以根据自己的需要自定义输出变量列表。默认的输出变量列表是通过 hist_fincl1 变量来控制的。默认情况下,它包含了上述很多的变量。

我们可以通过以下方式往默认列表中添加和减少变量

hist_fincl1 = 'COSZEN', 'DECL'
hist_fexcl1 = 'TG', 'TV', 'TSOI', 'H2OSOI'
  • 此外,如果我们不想改动模式默认的变量列表,则可以通过额外增加列表的方式进行添加,模式中最多提供了6个额外增加的列表清单控制参数。

  • 例如,如果我们想额外输出指定频率的地表温度和植被温度,则可以通过下面方式进行控制

hist_fincl2 = 'TG', 'TV'
hist_fincl3 = 'TG', 'TV'
hist_fincl4 = 'TG', 'TV'
hist_fincl5 = 'TG', 'TV'
hist_nhtfrq = 0, -24, -6, -1, 1
hist_mfilt  = 12, 30, 28, 24, 48

其中,TG和TV分别表示地表温度和植被温度。而 hist_nhtfrq 和 hist_mfilt 则负责控制包含默认列表在内的5个变量列表的时间频率,其分别对应

  1. 每月一条记录,一年一个nc文件;
  2. 每天一条记录,30天一个nc文件;
  3. 每6小时一条记录,一周一个nc文件;
  4. 每小时一条记录,一天一个nc文件;
  5. 每个步长一条记录,48条记录一个nc文件

5. 控制输出变量特征值的参数

默认的输出是以平均值作为该时段的特征值,如果我们想要输出模拟时段的最大值、最小值或是时段末的瞬时值,又该如何设置呢?

方法有两种:

  1. 是直接在输出变量的后面加冒号,再加特征值标识字母,例如TSOI:X 表示将输出TSOI变量的最大值;
  2. 通过 hist_avgflag_pertape 进行控制

其中,标识字母有4个,分别为A平均值、I 瞬时值、X最大值和M最小值

  • A Average, over the output interval.
  • I Instantaneous, output the value at the output interval.
  • X Maximum, over the output interval.
  • M Minimum, over the output interval.

6. 综合应用举例

hist_empty_htapes = .true.
hist_fincl1 = 'TSOI:X', 'TG',   'TV',   'FIRE',   'FSR', 'FSH',
              'EFLX_LH_TOT', 'WT'
hist_fincl2 = 'TSOI:X', 'TG',   'TV',   'FIRE',   'FSR', 'FSH',
              'EFLX_LH_TOT', 'WT'
hist_fincl3 = 'TSOI',   'TG:I', 'TV',   'FIRE',   'FSR', 'FSH',
              'EFLX_LH_TOT', 'WT'
hist_fincl4 = 'TSOI',   'TG',   'TV:I', 'FIRE',   'FSR', 'FSH',
              'EFLX_LH_TOT', 'WT'
hist_fincl5 = 'TSOI',   'TG',   'TV',   'FIRE:I', 'FSR', 'FSH',
              'EFLX_LH_TOT', 'WT'
hist_avgflag_pertape = 'A', 'I', 'X', 'M', 'A'
hist_nhtfrq = 0, -6, -24, -24, -24

解释

hist_empty_htapes 表示将默认变量清单清空;
重新定义默认输出变量列表的变量内容,并新增4个列表。
在列表变量中通过上述两种方式进行了输出变量特征值的设置,输出的内容包括平均值,瞬时值,最大值,最小值。

7. 输出变量空间层级的控制

根据前面介绍,我们知道,CLM的计算是分层级的,如下图,最高层级是Gridcell,最低是Patch。默认情况下,结果是按照Gridcell输出的,但是,在某些研究中,如果我们想从Patch层级或Column层级输出,该如何设置呢?

通过下面例子,可以比较清楚的理解

hist_fincl2 = 'TG'
hist_fincl3 = 'TG'
hist_fincl4 = 'TG'
hist_fincl5 = 'TG'
hist_fincl6 = 'TG'
hist_dov2xy = .true., .false., .false., .false.
hist_type2d_pertape = ' ', 'GRID', 'COLS', ' '
hist_nhtfrq = 0, -24, -24, -24

改变CLM陆面模式结果文件的输出变量、特征值及频率_第1张图片
更多内容,将在公众号“大雨海深”同步更新……
改变CLM陆面模式结果文件的输出变量、特征值及频率_第2张图片

你可能感兴趣的:(地球系统模型(CESM),CESM,CLM,陆面模式)