IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Fortran Discussion :

Aide Fortran 90


Sujet :

Fortran

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 9
    Par défaut Aide Fortran 90
    Bonjour aux professionnels en Informatique;
    Mon problème est comme suit : j'ai un fichier de données et je souhaite apporter certaines modifications, ce n'est malheureusement pas possible à réaliser sur Excel puisque c'est inutile de copier les données sur le tableur Excel , y'a automatiquement déformation des données et c'est un fichier qui comporte à peu près 80 pages
    En fait, on m'a proposé de faire ceci via un script FORTRAN 90, vu que je n'ai jamais étudié ce language je me suis bien mise à le faire y'a un moment, j'ai réalisé un script, je le compile sous MSDEV ca me donne 0 errors , 0 warnings mais le fichier output est totalement vierge
    J'espère vraiment trouver une solution efficace sur ce forum, et puis je suis préte méme à déposer mon script si quelqu'un pourrait le revoir et me dire si ce que j'ai fait est bon .
    Merci d'avance les développeurs!

  2. #2
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2013
    Messages
    388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2013
    Messages : 388
    Par défaut
    Salut,
    Montre nous ce que tu as codé, si tu veux avoir de l'aide.

  3. #3
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 9
    Par défaut
    Voici bien mon script:
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    program interpolation 
     
    implicit none  
     
    integer hour, day, year, stime, index, var, altitude, line
    integer tempi, nlines, harp, maxwp, tropp, topindex, source  
    integer nlevs				! ss sounding start   
    character (len=6), month, lat, lon, sindex, tempc, ss, unit,tempj
    integer, allocatable ::	pressure(:), height(:), winddir(:),windspeed(:) 
    integer, allocatable :: temperature(:), dewpoint(:), leveltype(:)
    integer i, j, k 
     
    integer, dimension (15,3) :: t
      t= reshape ((/10000., 9250., 8500., 7000., 5000., 4000., 3000., 2500., 2000., 1500., 1000., 700., 500., 300., 200.,	83., 49., -6., -35., 1., -17., -1., 27., -107., -27., -3., 11., 10., 28., -2.,2.,2.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1./), (/15,3/))
     
    open (unit=20, file="data", status="old")
    open (unit=30, file="output", status="replace")
     
    ss = "254"
    read(20,*) tempc
    tempc = trim(tempc)
     
    if (tempc .eq. ss)  then 
    	print*, "debut de la ligne "
    	backspace(20)
    end if
     
    do while (tempc.eq.ss)
    	read(20,*) tempc, hour, day, month, year
    	read(20,*) line, tempi, index, lat, lon, altitude, stime
    	read(20,*) line, harp, maxwp, tropp, nlines, topindex, source
    	read(20,*) line, sindex, tempc, unit
    	print*, tempc, hour, day, month, year
    	print*, line, tempi, index, lat, lon, altitude, stime
    	print*, line, harp, maxwp, tropp, nlines, topindex, source
    	print*, line, sindex, tempc, unit
    end do
     
    	nlevs= nlines - 4
     
    	allocate(pressure(nlevs), height(nlevs), winddir(nlevs),windspeed(nlevs))
    	allocate(temperature(nlevs), dewpoint(nlevs), leveltype(nlevs))
     
    	do i = 1, nlevs
    		read(20,*) leveltype(i), pressure(i), height(i),temperature(i), dewpoint(i),winddir(i),windspeed(i)
    		print*, leveltype(i), pressure(i), height(i),temperature(i), dewpoint(i),winddir(i),windspeed(i)
    	end do
     
    	do i = 1, nlevs
    	  do j=1,3
    	   if (pressure(i).eq.t(i,1)) then
    	   write(30,*) leveltype(i), pressure(i), height(i),temperature(i), dewpoint(i),winddir(i)- t(i,2),windspeed(i)*t(i,3)
    	   end if
    	  end do
    	end do
     
     
     
     
     
     
     
    deallocate(pressure, height, winddir,windspeed,temperature, dewpoint, leveltype)
     
     
     
    close(20)
    end program
    Impatiente vraiment d'avoir votre aide ! Merci d'avance

  4. #4
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2013
    Messages
    388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2013
    Messages : 388
    Par défaut
    Et un exemple de "data" ?

  5. #5
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 9
    Par défaut
    le fichier de données data est consultable depuis ce lien : http://esrl.noaa.gov/raobs/temp/raob_soundings9472.tmp .

  6. #6
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2013
    Messages
    388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2013
    Messages : 388
    Par défaut
    Il y avait un premier problème sur t déclaré comme un tableau d'entiers, mais initialisé avec des réels. De plus le nombre de caractères par ligne est limité à 132.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        integer, dimension(15,3) :: t
        t= reshape( (/ 10000, 9250, 8500, 7000, 5000, 4000, 3000, 2500, 2000, 1500, 1000, 700, 500, 300, 200,&
                    &     83,   49,   -6,  -35,    1,  -17,   -1,   27, -107,  -27,   -3,  11,  10,  28,  -2,&
                    &      2,    2,    1,    1,    1,    1,    1,    1,    1,    1,    1,   1,   1,   1,   1/), &
                    & (/15,3/) )
    Le programme compile et tourne mais le test suivant n'est jamais vérifié :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        do i = 1, nlevs
          do j=1,3
           if (pressure(i) == t(i,1)) then
           write(30,*) leveltype(i), pressure(i), height(i),temperature(i), dewpoint(i),winddir(i)- t(i,2),windspeed(i)*t(i,3)
           end if
          end do
        end do
    L'indice j n'intervient pas. Une erreur ? t(j,1) ?

Discussions similaires

  1. Réponses: 2
    Dernier message: 27/05/2013, 15h34
  2. Beosin d'aide FORTRAN
    Par HULK dans le forum Fortran
    Réponses: 0
    Dernier message: 16/06/2009, 22h10
  3. [Fortran 77] Aide message d'erreur
    Par Rémirem dans le forum Fortran
    Réponses: 6
    Dernier message: 05/04/2007, 09h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo