Scheduled Downtime
On Tuesday 24 October 2023 @ 5pm MT the forums will be in read only mode in preparation for the downtime. On Wednesday 25 October 2023 @ 5am MT, this website will be down for maintenance and expected to return online later in the morning.
Normal Operations
The forums are back online with normal operations. If you notice any issues or errors related to the forums, please reach out to help@ucar.edu

CLM5 run fails when PFT-level output is requested

James King

James King
Member
Hi all,

I'm running CESM2.1.3 (CLM5.0) and am interested in outputting certain CLM5 variables to do with fire at PFT level. I set up two identical test cases, with the same input files, where one case specified PFT-level output and the other didn't. The latter case ran fine; the former case crashed after the first month had been written with an error implying that there is a negative CH4 concentration appearing. I'm not sure why specifying PFT-level output would be the cause of this, as my understanding of CLM5 is that plant-related variables are calculated internally per PFT and then broadcast to the grid cell, meaning that when you output PFT-level variables you are effectively outputting an intermediate calculation step (though I may be wrong here!).

In user_nl_clm, I request the PFT-level output as follows:

hist_empty_htapes = .false.
hist_avgflag_pertape = 'A','A','A'
hist_mfilt = 1,1,1
hist_nhtfrq = 0,0,0
hist_dov2xy = .true.,.true.,.false.
hist_type1d_pertape = ' ',' ','PFTS'
hist_fincl2 = <various fields>
hist_fincl3 = 'FireEmis_TOT','FAREA_BURNED'


The error in the cesm.log is:

Opening file i.clm5.fires_SSP1_NOLULCC_fortesting.004.cism.initial_hist.2026-01-01-00000.nc for output;
Write output at start of run and every 1.0000000000000000 years
Creating variables internal_time, time, and tstep_count
Creating variable level
Creating variable lithoz
Creating variable staglevel
Creating variable stagwbndlevel
Creating variable x0
Creating variable x1
Creating variable y0
Creating variable y1
Creating variable artm
Creating variable smb
Creating variable thk
Creating variable topg
Creating variable usurf
Writing to file i.clm5.fires_SSP1_NOLULCC_fortesting.004.cism.initial_hist.2026-01-01-00000.nc at time 0.0000000000000000

Negative conc. in ch4tran. c,j,deficit (mol): 16495 2 1.0326588364537573E-003
Setting mpi info: striping_factor=4
Setting mpi info: striping_unit=1048576
Setting mpi info: striping_factor=10
Setting mpi info: striping_unit=1048576
Setting mpi info: striping_factor=10
Setting mpi info: striping_unit=1048576
Setting mpi info: striping_factor=10
Setting mpi info: striping_unit=1048576
NetCDF: Numeric conversion not representable
pio_support::pio_die:: myrank= -1 : ERROR: pionfwrite_mod::write_nfdarray_double: 250 : NetCDF: Numeric conversion not representable
NetCDF: Numeric conversion not representable

How can I output these variables per PFT, and is this error something I should be worried about in the other successful run?

Thanks,

James
 

oleson

Keith Oleson
CSEG and Liaisons
Staff member
I think it is because you are requesting a variable at a finer subgrid resolution than the variable is defined at. For example, FAREA_BURNED is a column-level variable:

this%farea_burned_col(begc:endc) = spval
call hist_addfld1d (fname='FAREA_BURNED', units='s-1', &
avgflag='A', long_name='timestep fractional area burned', &
ptr_col=this%farea_burned_col)
 
Top