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 :

Ecriture d'un script


Sujet :

Fortran

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 52
    Points : 37
    Points
    37
    Par défaut Ecriture d'un script
    Bonjour,

    J'ai une série de programmes à exécuter (toto1.f90, toto2.f90,etc. D'habitude je les exécutes les uns après les autres (toto1 puis analyse + toto2 et analyse + ...) afin de pouvoir évaluer les résultats à l'issue de chaque étape avant de poursuivre.

    Maintenant que la chaine fonctionne sans problème et que chacun des programme prend 2 à 3 h avant de produire des résultatas, je souhaiterai pouvoir faire exécuter mes programmes automatiquement les uns à la suite des autres.

    Quelqun pourrait-il me dire comment rédiger un sript de façon simlple qui réalise l'exécution de toto1, puis toto2, puis, ...?
    tot1.f90
    tot2.f90
    tot03.f90
    ...
    ...
    ...
    P.S. J'utilise linux, je ne connais pas encore l'écriture des shell et chacun des programmes à exécuter utilise en input des résultats issus des programmes précédents

  2. #2
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 79
    Points : 89
    Points
    89
    Par défaut Script
    Tout d'abord un lien vers une référence très intéressante pour apprendre l'écriture de scripts
    http://abs.traduc.org/abs-5.0-fr/

    Ensuite, un script peut être quelque chose d'aussi simple qu'un fichier dans lequel tu auras inscrit les instructions que tu utilises normalement sur ta console en interactif.
    par exemple un fichier Script contenant :
    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
     
    echo hop on commence
    #un commentaire 
    date > avancement
    #la commande précédente peut t'être utile si tes calculs sont très longs
    #exécution de fichier toto1 compilé
    toto1
    #analyse par un programme lambda
    ProgAnalyse
    #on va rajouter dans avancements des info
    echo toto1 viens de terminer le : >>avancement
    date >>avancement
    #exécution de fichier toto1 compilé
    toto2
    ProgAnalyse
    echo toto2 viens de terminer le : >>avancement
    date >>avancement
    echo hop c'est fini
    Une fois ce fichier écrit, tu dois lui donner les droits d'exécution
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    toi@tonordi:~$ chmod 755 Script
    et enfin tu lances ton script par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    toi@tonordi:~$ ./Script
    Bon ici c'est un cas simple et codé de façon immonde... à toi de te former pour faire mieux ;-)
    Concernant l'exploitation des résultats de toto1 par toto2, ici j'ai considéré que tu avais codé cela dans ton programme, mais si ce n'est pas le cas, tu peux utiliser des pipes ou redirections pour transmettre les infos utiles.

    En espérant avoir pu aider.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    72
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 72
    Points : 88
    Points
    88
    Par défaut
    Sinon, tu as aussi la possibilité d'appeler des commandes shell à l'intérieur de ton programme fortran. ainsi tu peux compiler puis éxecuter directement les différents fichiers que tu as créé.
    exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
          call system('g77 toto1.f -o toto1.x; ./toto1.x')
    ou même carrément :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
          do i=1,n
            call system('g77 toto'//i//'.f -o toto'//i//'.x; ./toto'//i//'.x')
          enddo

  4. #4
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Points : 5 179
    Points
    5 179
    Par défaut
    Salut !

    Tout dépend non pas du fait que tu travailles en Fortran, mais du système d'exploitation. A l'époque de MS-Dos, j'avais résolu le problème à l'aide de fichiers .BAT, et ça marchait très bien. Actuellement, Windows présente une lacune majeure: il ne comporte pas l'instruction "Enregistrer macro" qui existe dans d'autres logiciels. La meilleure solution me semble de modifier légèrement chacun de tes programmes en mettant tout ce que tu as déjà dans une Subroutine et en y ajoutant un petit programme Main qui ne fait qu'appeller la Subroutine sans paramètres. Quand tu as testé ça, tu regroupes tous les Call dans un Main unique. Cette manière de faire a l'avantage qu'en cas de difficultés, tu peux toujours intercaler des tests entre deux Call.

    Jean-Marc Blanc
    Calcul numérique de processus industriels
    Formation, conseil, développement

    Point n'est besoin d'espérer pour entreprendre, ni de réussir pour persévérer. (Guillaume le Taiseux)

Discussions similaires

  1. Droit ecriture C: [script]
    Par Mais.Ouais dans le forum Windows
    Réponses: 2
    Dernier message: 31/08/2009, 18h02
  2. Script probleme ecriture.
    Par Equinoxenav dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 16/01/2007, 11h33
  3. Ecriture de script en SQL
    Par gillou4 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 25/04/2005, 10h23
  4. Script shell - écriture dans un fichier
    Par Leishmaniose dans le forum Linux
    Réponses: 6
    Dernier message: 13/12/2004, 23h48

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