Problems with coarrays

Meh… Not really… Example;

sync all
i_a[i_otherimage] = i_data
sync all

usually fails (wrong iteration number)

sync all
i_data = i_a[i_otherimage]
sync all

does most times (wrong iteration number)
but this never does;

do while(l_notdone)
allocate(p_localdatastucture)
sync all
p_localdatastructure = p_remotedatastructure[i_otherimage]
do while (p_localdatastructure%i_iterationnumber .ne. i_iterationnumber)
deallocate(p_localdatastructure)
sleep(1)
allocate(p_localdatastructure)
p_localdatastructure = p_remotedatastructure[i_otherimage]
end do
sync all
… some work …
deallocate(p_localdatastructure)
sync all
end do

always works so long as you always deallocate the structure and sleep if you need to.

Knarfnarf