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

urban net longwave radiation error when running deep time experiment

xjliu@uw_edu

New Member
Hi,  I am trying to do a deep time experiment. I have changed the land/sea geometry, domain files, mapping files, surface data files and atmosphere boundary files following the instruction of the paleoresources for CESM1.2. The model ran but stopped after timestep 1, and gave error message "urban net longwave radiation error: no convergence". I thought it was because I didn't change the aerosol accordingly. I then used the zonal mean aerosol (over land and ocean respectively), but still received the same error message. 
I googled the forum. One post suggested that "this error typically actually indicates an error coming from the atmosphere with some unrealistic downwelling longwave radiation.  It crashes in the urban model because that is the first part of CLM that uses the atmospheric longwave. So usually the fact it crashes in the urban model doesn't reflect anything is worng with the urban but bad values are passed to teh urban model ". But I have no idea how to pinpoint where the problem with atmosphere is. 
Does anyone have any idea how to fix this? This is urgent. Thank you very much. 
 

shields@ucar_edu

New Member
If you are running an old version of the model, there was a bug in the CAM5 radiation code that was tripped with very warm climates. This bug could lead to this error. To correct:

CAM5 high co2/warm world fix: diffusivity angle

currently using this:

do ibnd = 1,nbndlw
if (ibnd.eq.1 .or. ibnd.eq.4 .or. ibnd.ge.10) then
secdiff(ibnd) = 1.66_r8
else
secdiff(ibnd) = a0(ibnd) + a1(ibnd)*exp(a2(ibnd)*pwvcm)
endif
enddo
if (pwvcm.lt.1.0) secdiff(6) = 1.80_r8
if (pwvcm.gt.7.1) secdiff(7) = 1.50_r8

change to this (in rrtmg_lw_rtrnmr.f90 and rrtmg_lw_rtrnmc.f90):

do ibnd = 1,nbndlw
if (ibnd.eq.1 .or. ibnd.eq.4 .or. ibnd.ge.10) then
secdiff(ibnd) = 1.66_r8
else
secdiff(ibnd) = a0(ibnd) + a1(ibnd)*exp(a2(ibnd)*pwvcm)
if (secdiff(ibnd) .gt. 1.80_r8) secdiff(ibnd) = 1.80_r8
if (secdiff(ibnd) .lt. 1.50_r8) secdiff(ibnd) = 1.50_r8
endif
enddo
 
Top