https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97589
--- Comment #17 from Thomas Koenig <tkoenig at gcc dot gnu.org> --- A bit more reduced (no derived types necessary): program random_weather implicit none real, allocatable :: ps(:,:) [:,:] integer :: nxslab, nyslab integer :: npx integer :: i, j real, parameter :: PS1 = 100000.0 nxslab = 72 nyslab = 70 npx = 1 allocate( ps(nxslab, nyslab) [npx, *] ) ps(1,1) = PS1 end program random_weather So, it appears that the offset for multi-co-dimensional allocated coarrays is miscalculated.