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

Restart Error

I have successfully run CAM for 1 year simulations, however I am having problems getting the restart run to work. I manually moved the restart files to the archive directories, as the machine I am running on does not have default archiving. Otherwise the only changes I have made to the namelist for the restart is setting nsrest = 1, changing the start and stop dates, and adding a fincl2 parameter for additional output. When I run the model it opens the restart file does something with each of the processors output such as procid 63 assigned 45 spectral coefficients and
2 m values: 64 65 then outputs

********** Time Manager Configuration **********
Calendar type: NO_LEAP
Timestep size (seconds): 600
Start date (ymd tod): 19980901 0
Stop date (ymd tod): 19990101 0
Reference date (ymd tod): 19980901 0
Current step number: 8785
Ending step number: 17568
Current date (ymd tod): 19981101 600
************************************************
After which it crashes. In the error file I get the following error
forrtl: severe (408): fort: (8): Attempt to fetch from allocatable variable BUFRES when it is not allocated

Image PC Routine Line Source
cam 0000000000D3F416 Unknown Unknown Unknown
cam 0000000000D3D0FE Unknown Unknown Unknown
cam 0000000000CFBD60 Unknown Unknown Unknown
cam 0000000000CBC12A Unknown Unknown Unknown
cam 0000000000CBC36E Unknown Unknown Unknown
cam 000000000051A087 Unknown Unknown Unknown
cam 0000000000A3391B Unknown Unknown Unknown
cam 0000000000A2FC6B Unknown Unknown Unknown
cam 00000000005222B9 Unknown Unknown Unknown
cam 0000000000405BEA Unknown Unknown Unknown
libc.so.6 0000003C1FC1C4BB Unknown Unknown Unknown
cam 0000000000405B2A Unknown Unknown Unknown

I am guessing that it is trying to access data which was already passed to it as a restart?

Any help with this would be great.

Thanks,
Neil Davis
 
I have been able to investigate this problem a little further, and have found that the error is occurring in the subroutine readin_r8. It appears to be occurring when the read statement is being made. I noticed in the wrtout_r8 code, there is a different format for handling the allocation of bufres, compared to the other wrtout code. Does anyone know if the readin statement should be treated the same?

Thanks,
Neil
 
I solved the problem by changing the readin_r8 subroutine in the control/binary_io.F90 file. The change involved adding the following changes to the default code.

Code:
<       else
<          isiz = 1
<       end if
<       allocate (bufres(isiz))
< 
<       if (masterproc) then
---
>          allocate (bufres(isiz))


The issue was that all processors need bufres allocated not just the masterproc.

Neil
 
Top