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

Transient run with error message in NH4 uptake

jiamengl

Jiameng Lai
Member
What version of the code are you using?
ctsm5.1.dev159

Have you made any changes to files in the source tree?
Yes, I made changes in the code, and I am running with C13 on and with transient land use.

Describe every step you took leading up to the problem:
I have made changes to my code, and trying to running with C13 on and with transient land use. My case starts in 1950, runs for ~60 years but ends in 2010-05 with error message below:
car.edu 652: problem with limitations on nh4 uptake 0.000000000000000E+000
dec0268.hsn.de.hpc.ucar.edu 652: -Infinity
dec0268.hsn.de.hpc.ucar.edu 652: ENDRUN:
dec0268.hsn.de.hpc.ucar.edu 652: ERROR: too much NH4 uptake predicted by FUN

I have tried to run a C13-on, constant land cover case (with year 2000 fsurdat) with all the code change set as the same as this transient land use, and this case runs smoothly from 1950 to 2014. Here is what I added in user_nl_clm for the transient run when compared with the constant land cover run:
use_lch4=.false.
fsurdat = '/glade/p/cesmdata/cseg/inputdata/lnd/clm2/surfdata_map/release-clm5.0.18/surfdata_1.9x2.5_hist_78pfts_CMIP6_simyr1850_c190304.nc'
use_init_interp = .true.
flanduse_timeseries= '/glade/p/cesmdata/cseg/inputdata/lnd/clm2/surfdata_map/landuse.timeseries_1.9x2.5_hist_78pfts_CMIP6_simyr1850-2015_c170824.nc'

I turned ch4 off in the transient run as I met some errors in CH4 mode, but CH4 was not what I intend to study.
My code change has nothing to do with NH4 or FUN. As the case with constant land cover runs smoothly, I suspect the issue is relevant to land cover change, but I have no clue how to fix it.

The cesm.log file is too large to upload, the location is: /glade/derecho/scratch/jiamengl/C13.gm.global.lu/run/cesm.log.1087851.desched1.250705-040251
 

slevis

Moderator
Staff member
Here are some troubleshooting ideas:
1) I'm assuming that the same simulation without your code modifications works. If you have not confirmed that, you may wish to do so to avoid looking for a problem in the wrong place.
2) So, again, assuming that the problem originates in your code modifications, I see a few lines below your ERROR message the following information:
dec0268.hsn.de.hpc.ucar.edu 652: cesm.exe 00000000010382BD shr_abort_mod_mp_ 114 shr_abort_mod.F90
dec0268.hsn.de.hpc.ucar.edu 652: cesm.exe 00000000005D892F abortutils_mp_end 55 abortutils.F90
dec0268.hsn.de.hpc.ucar.edu 652: cesm.exe 0000000000B67E8B soilbiogeochemcom 807 SoilBiogeochemCompetitionMod.F90
dec0268.hsn.de.hpc.ucar.edu 652: cesm.exe 0000000000E397FD cndrivermod_mp_cn 476 CNDriverMod.F90
dec0268.hsn.de.hpc.ucar.edu 652: cesm.exe 000000000086453B cnvegetationfacad 1007 CNVegetationFacade.F90
dec0268.hsn.de.hpc.ucar.edu 652: cesm.exe 00000000005E86BF clm_driver_mp_clm 1028 clm_driver.F90

dec0268.hsn.de.hpc.ucar.edu 652: cesm.exe 000000000058F33E lnd_comp_nuopc_mp 904 lnd_comp_nuopc.F90
...which tells us exactly the line of code where the model stops. I opened the file SoilBiogeochemCompetitionMod.F90 and near line 807 I see that the variable that reports "-Infinity" is smin_nh4_to_plant_vr. This may seem unhelpful at first, but you should be able to follow through the code how this variable ended up with "-Infinity" (such as a division by zero somewhere?) as a result of your code modifications.
 
Top