The TELEMAC-MASCARET system  trunk
damocle.f
Go to the documentation of this file.
1 ! ******************
2  SUBROUTINE damocle
3 ! ******************
4 !
5  &( adress , dimens , nmax , doc , llng , llu ,
6  & motint , motrea , motlog , motcar ,
7  & motcle , trouve , nficmo , nficda , gestd , motatt )
8 !
9 !***********************************************************************
10 ! DAMOCLES V6P0 21/08/2010
11 !***********************************************************************
12 !
13 !brief MAIN ROUTINE OF THE DAMOCLES LIBRARY
14 !+ CALLED BY THE DAMOCLES EXECUTABLE (DAMOCLE.F)
15 !+ CALLED BY THE LNH COMPUTATIONAL CODES.
16 !
17 !history O. QUIQUEMPOIX (LNH)
18 !+ 14/12/1993
19 !+
20 !+
21 !
22 !history A. DESITTER (NAG)
23 !+ 01/05/1998
24 !+
25 !+
26 !
27 !history J-M HERVOUET (LNH); A. YESSAYAN; L. LEGUE
28 !+ 04/10/2005
29 !+ V5P6
30 !+
31 !
32 !history N.DURAND (HRW), S.E.BOURBAN (HRW)
33 !+ 13/07/2010
34 !+ V6P0
35 !+ Translation of French comments within the FORTRAN sources into
36 !+ English comments
37 !
38 !history N.DURAND (HRW), S.E.BOURBAN (HRW)
39 !+ 21/08/2010
40 !+ V6P0
41 !+ Creation of DOXYGEN tags for automated documentation and
42 !+ cross-referencing of the FORTRAN sources
43 !
44 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
45 !| ADRESS |<--| TABLEAU DES ADRESSES DES MOTS CLES
46 !| DIMENS |<--| TABLEAU DES DIMENSIONS DES MOTS CLES
47 !| DOC |-->| LOGIQUE DE DOCUMENTATION DE LA SORTIE
48 !| | | = VRAI : IMPRIME L'AIDE (FICHIER RESULTAT)
49 !| | | = FAUX : N'IMPRIME PAS L'AIDE
50 !| GESTD |-->| LOGIQUE D'APPEL PAR LE GESTIONNAIRE D'ETUDES
51 !| LLNG |-->| NUMERO DE LA LANGUE DE DECODAGE
52 !| LLU |-->| NUMERO DE L'UNITE LOGIQUE DES SORTIES
53 !| MOTATT |<--| TABLEAU DES SUBMITS
54 !| MOTCAR |<--| TABLEAU DES VALEURS CARACTERES
55 !| MOTCLE |<--| TABLEAU DES MOTS CLES ACTIFS
56 !| MOTINT |<--| TABLEAU DES VALEURS ENTIERES
57 !| MOTLOG |<--| TABLEAU DES VALEURS LOGIQUES
58 !| MOTREA |<--| TABLEAU DES VALEURS REELLES
59 !| NFICDA |-->| NUMERO DE CANAL DU FICHIER DES DONNEES
60 !| NFICMO |-->| NUMERO DE CANAL DU FICHIER DES MOTS-CLES
61 !| NMAX |-->| TAILLE MAXIMALE AUTORISEE POUR LES TABLEAUX
62 !| TROUVE |<--| INDICATEUR D'ETAT DES MOTS CLES
63 !| | | = 0 : AUCUNE VALEUR TROUVEE
64 !| | | = 1 : VALEUR PAR DEFAUT TROUVEE
65 !| | | = 2 : VALEUR TROUVEE (FICHIER DE DONNEES)
66 !| | | = 3 : AUCUNE VALEUR TROUVEE (OPTIONNELLE)
67 !| | | = 5 : TABLEAU DE MOTS A SUBMIT COMPACTE
68 !| | | = 6 : MOT CLE A SUBMIT FORCE NON AFFECTE
69 !| | | = 7 : MOT CLE A SUBMIT FORCE AFFECTE (DICO)
70 !| | | = 8 : MOT CLE A SUBMIT FORCE AFFECTE (CAS)
71 !| | | = 9 : FICHIER DICO : SUBMIT + VALEUR LANCEUR
72 !| | | =10 : FICHIER CAS : SUBMIT + VALEUR LANCEUR
73 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
74 !
76  IMPLICIT NONE
77 !
78  INTEGER ,INTENT(IN) :: NMAX,LLU,NFICMO,NFICDA
79  INTEGER ,INTENT(INOUT) :: LLNG
80  INTEGER ,INTENT(OUT) :: MOTINT(*),ADRESS(4,*)
81  INTEGER ,INTENT(OUT) :: DIMENS(4,*),TROUVE(4,*)
82  LOGICAL ,INTENT(OUT) :: MOTLOG(*)
83  LOGICAL ,INTENT(IN) :: DOC, GESTD
84  CHARACTER(LEN=72) ,INTENT(OUT) :: MOTCLE(4,*)
85  CHARACTER(LEN=PATH_LEN) ,INTENT(OUT) :: MOTCAR(*)
86  DOUBLE PRECISION ,INTENT(INOUT) :: MOTREA(*)
87 !
88 ! AUTOMATIC ARRAYS
89 !
90  INTEGER :: DEFINT(nmax),USRINT(nmax)
91  INTEGER :: SIZE(4,nmax)
92  INTEGER :: INDIC(4,nmax)
93  LOGICAL :: DEFLOG(nmax),USRLOG(nmax),UTINDX(4,nmax)
94  CHARACTER(LEN=PATH_LEN) :: MOTATT(4,nmax),DEFATT(nmax),
95  & usratt(nmax)
96  CHARACTER(LEN=PATH_LEN) :: DEFCAR(nmax),USRCAR(nmax)
97  DOUBLE PRECISION :: DEFREA(nmax),USRREA(nmax)
98 !
99  INTEGER,PARAMETER :: NBLANG = 2
100  INTEGER :: RETRY,I
101  retry = 0
102 !
103 ! CALLS DAMOC
104 !
105  CALL damoc( adress , dimens , nmax , doc , llng , llu ,
106  & motint , motrea , motlog , motcar , motatt ,
107  & defint , defrea , deflog , defcar , defatt ,
108  & usrint , usrrea , usrlog , usrcar , usratt ,
109  & motcle , SIZE , trouve , utindx , nficmo , nficda ,
110  & indic , gestd , nblang , retry )
111 !
112  IF(retry.EQ.1) THEN
113  rewind(nficmo)
114  rewind(nficda)
115  DO i=1,10
116  WRITE(llu,*)
117  WRITE(llu,*) 'DAMOCLE: TRYING ANOTHER LANGUAGE'
118  ENDDO
119  llng=3-llng
120  CALL damoc( adress, dimens, nmax , doc , llng , llu,
121  & motint, motrea, motlog , motcar , motatt ,
122  & defint, defrea, deflog , defcar , defatt ,
123  & usrint, usrrea, usrlog , usrcar , usratt ,
124  & motcle, SIZE , trouve , utindx , nficmo , nficda,
125  & indic , gestd , nblang , retry )
126  ENDIF
127 !
128 !-----------------------------------------------------------------------
129 !
130  RETURN
131  END
integer function dimens(IELM)
Definition: dimens.f:7
subroutine damocle(ADRESS, DIMENS, NMAX, DOC, LLNG, LLU, MOTINT, MOTREA, MOTLOG, MOTCAR, MOTCLE, TROUVE, NFICMO, NFICDA, GESTD, MOTATT)
Definition: damocle.f:9
subroutine damoc(ADRESS, DIMENS, NMAX, DOC, LLNG, LLU, MOTINT, MOTREA, MOTLOG, MOTCAR, MOTATT, DEFINT, DEFREA, DEFLOG, DEFCAR, DEFATT, USRINT, USRREA, USRLOG, USRCAR, USRATT, MOTCLE, TAILLE, TROUVE, UTINDX, NFICMO, NFICDA, INDIC, GESTD, NBLANG, RETRY)
Definition: damoc.f:12