Wspólne zmienne Fortran, tablica alokowana

czy można przypisać rozmiar i wartości wspólnej tablicy do podprogramu, a następnie użyć go z innych podprogramów programu?

Poniższy program nie działa, ale chcę zrobić coś takiego:

main.f

program main

integer n
integer, allocatable :: co(:)

common n, co

call assign

print *, co(1), co(2)

deallocate(co)
stop
end program main

przypisz

subroutine assign

integer n
integer, allocatable :: co(:)

common n, co

n = 2
allocate(co(n))

co(1) = 1
co(2) = 2

return
end subroutine assign

questionAnswers(1)

yourAnswerToTheQuestion