Runtime Error: Exceeding Array Dimension


I’m trying to run a case using ENDF VIII/B cross-sections. The case contains a number of materials with impurities and subsequently, a large number of isotopes. It’s failing whilst reading in the MATERIAL card in my input that is associated with my largest COMPUND card (73 isotopes), with the following error recorded in the .log file:

“At line 144 of file cascace/pphcho.f
Fortran runtime error: Index ‘271’ of dimension 1 of array ‘izsigm’ above upper bound of 270”

If I reduce the number of isotopes in my largest COMPOUND card, the case runs okay. Some troubleshooting suggests that there is a limit of 67 isotopes/elements within a COMPOUND card?

The error doesn’t seem to be sensitive to the TOTAL number of isotopes/elements in ALL compound cards.

Can I ask if this is a memory allocation limitation or some form of error (potentially on my part or in the code)? If so, is there a solution I could run with in the meantime?

Thank you for any assistance in advance.

Dear Lewis,

currently, the maximum number of elements in a compound is 90. However, there is an additional limit on the individual isotopes, which is 270.
So, if you are using natural compositions for the elements, you exhaust the available storage much faster than apparent.


Hi David,

Thank you for your prompt response. This does suggest user error on my part; in that the constituents I’ve defined are being read in as natural isotopic compositions and not individual isotopes resulting in the value of 270 being exceeded. I will investigate!


This happens if the isotope’s mass number (which is an integer!) is not input in the dedicated WHAT(6) of the MATERIAL card. Remember also to leave empty WHAT(2) and WHAT(4), as recommended in the manual.

Hi Francesco,

Indeed, I’d placed the mass number under WHAT(3), not WHAT(6) as I should’ve done. Answer is always in the manual!

Working as intended now. Thanks again for your help,


1 Like