En fait il y avait une petite feinte pour initialiser avec la date et l'heure (ce qui était annoncé comme le mode par defaut dans la doc intel)
Il faut faire
call random_seed
et non
call random_seed()
comme j'ai essayé de le faire.
En tout cas merci pour vos explications, j'ai passé pas mal de temps à jouer avec la fonction d'heure (DATE_AND_TIME()) pour voir comment ça marche tout ça.
Au final je retiens le programme suivant:
program testrand
intrinsic random_seed, random_number
integer i
real harvest
c Initialize with the correect seed size
call random_seed
do i=1,10
call random_number(harvest)
print *, harvest
enddo
c
end program testrand
Ca marche pas mal, excepté quand on lance successivement le programme très rapidement, la graine étant la même car l'heure est toujours dans la même seconde. Ce n'est pas gênant pour moi car le programme réel met plusieurs minutes à tourner, mais 'just in case', vous connaissez une fonction pour avoir des millisecondes? J'en ai pas trouvé à première vue...