Bonjour,

J'aurais une question concernant la déclaration des subroutines en F90.

J'ai un programme qui déclare les subroutines comme cette facon :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
subroutine Transitorio_Reattivita(
     I                                  sumT,Nsttr,dimTR,Transit_Reattivita,t_0,t_f,dT,T,dbg,
     I                                   dimSTEPR,t_step_R,A_step_R,
     I                                   dimRAMPAR,t_ramp_0_R,t_ramp_f_R,A_rampa_R,
     M                                   ro)
Et qui compile bien sous pgf90.

On essaye de porter le code sous Ifort, mais toutes les déclarations ne passe que si on les transforme de cette facon :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
subroutine Transitorio_Sorgente(sumT,Nsttr,dimT_S,Transit_Sorgente,t_0,t_f,dT,T,dbg,dimSTEPS,t_step_S,A_step_S,dimRAMPAS,t_ramp_0_S,t_ramp_f_S,A_rampa_S,Q_ext)
 
      implicit none
 
      integer :: k
      double precision, dimension(:), allocatable :: Q_ext_StepS,Q_ext_RampaS
 
 
      integer, intent(in) :: Nsttr,dimT_S,sumT
      integer, intent(in) :: T(Nsttr),dimSTEPS,dimRAMPAS,dbg
      double precision, dimension(dimSTEPS), intent(in) :: t_step_S,A_step_S
      double precision, dimension(dimRAMPAS), intent(in) :: t_ramp_0_S,t_ramp_f_S,A_rampa_S
      double precision, dimension(Nsttr),intent(in)  :: t_0,t_f,dT
      double precision, dimension(Nsttr), intent(inout) :: Q_ext(sumT)
      character(len=5), intent(in) :: Transit_Sorgente(dimT_S)
Pourquoi le Ifort n'accepte pas la premiere notation ?

Merci pour le renseignement.