Effectivement, les fonctions disponibles dans les expressions d'initialisation sont très limitées. Ce sont surtout des fonctions d'information (kind(), size(), len(), ...).
L'alternative à la méthode proposée par Jean-Marc est évidemment d'écrire littéralement la valeur de pi dans l'expression. Ça présente l'avantage d'avoir une vrai constante, et non une variable:
	Code:
	
real, parameter :: pi = 3.141592653589793238462643d0
 En Fortran 95, il est alors très facile d'avoir un module contenant des constantes usuelles :
	Code:
	
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 
 |  
module Constantes
   implicit none
   integer, parameter :: fp_kind = selected_read_kind(15)
   real (fp_kind), parameter :: pi = 3.141592653589793238462643_fp_kind
end module
...
program test
   use Constantes
   ...
   a = sin(pi*...)
   ... |