The TELEMAC-MASCARET system  trunk
damocles.f
Go to the documentation of this file.
1 ! *******************
2  SUBROUTINE damocles
3 ! *******************
4 !
5  &( adress , dimens , nmax , doc , llng , llu ,
6  & motint , motrea , motlog , motcar ,
7  & motcle , trouve , nficmo , nficda , gestd )
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 J-M HERVOUET (LNH); A. YESSAYAN; L. LEGUE
23 !+ 16/08/1994
24 !+ V5P1
25 !+
26 !
27 !history A. DESITTER (NAG)
28 !+ 01/05/1998
29 !+
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 !| MOTCAR |<--| TABLEAU DES VALEURS CARACTERES
54 !| MOTCLE |<--| TABLEAU DES MOTS CLES ACTIFS
55 !| MOTINT |<--| TABLEAU DES VALEURS ENTIERES
56 !| MOTLOG |<--| TABLEAU DES VALEURS LOGIQUES
57 !| MOTREA |<--| TABLEAU DES VALEURS REELLES
58 !| NFICDA |-->| NUMERO DE CANAL DU FICHIER DES DONNEES
59 !| NFICMO |-->| NUMERO DE CANAL DU FICHIER DES MOTS-CLES
60 !| NMAX |-->| TAILLE MAXIMALE AUTORISEE POUR LES TABLEAUX
61 !| TROUVE |<--| INDICATEUR D'ETAT DES MOTS CLES
62 !| | | = 0 : AUCUNE VALEUR TROUVEE
63 !| | | = 1 : VALEUR PAR DEFAUT TROUVEE
64 !| | | = 2 : VALEUR TROUVEE (FICHIER DE DONNEES)
65 !| | | = 3 : AUCUNE VALEUR TROUVEE (OPTIONNELLE)
66 !| | | = 5 : TABLEAU DE MOTS A SUBMIT COMPACTE
67 !| | | = 6 : MOT CLE A SUBMIT FORCE NON AFFECTE
68 !| | | = 7 : MOT CLE A SUBMIT FORCE AFFECTE (DICO)
69 !| | | = 8 : MOT CLE A SUBMIT FORCE AFFECTE (CAS)
70 !| | | = 9 : FICHIER DICO : SUBMIT + VALEUR LANCEUR
71 !| | | =10 : FICHIER CAS : SUBMIT + VALEUR LANCEUR
72 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
73 !
75  IMPLICIT NONE
76 !
77  INTEGER ,INTENT(IN) :: NMAX,LLU,NFICMO,NFICDA
78  INTEGER ,INTENT(INOUT) :: LLNG
79  INTEGER ,INTENT(OUT) :: MOTINT(*),ADRESS(4,*)
80  INTEGER ,INTENT(OUT) :: DIMENS(4,*),TROUVE(4,*)
81  LOGICAL ,INTENT(OUT) :: MOTLOG(*)
82  LOGICAL ,INTENT(IN) :: DOC, GESTD
83  CHARACTER(LEN=72) ,INTENT(OUT) :: MOTCLE(4,*)
84  CHARACTER(LEN=PATH_LEN) ,INTENT(OUT) :: MOTCAR(*)
85  DOUBLE PRECISION ,INTENT(INOUT) :: MOTREA(*)
86 !
87 ! AUTOMATIC ARRAYS
88 !
89  INTEGER :: DEFINT(nmax),USRINT(nmax)
90  INTEGER :: SIZE(4,nmax)
91  INTEGER :: INDIC(4,nmax)
92  LOGICAL :: DEFLOG(nmax),USRLOG(nmax),UTINDX(4,nmax)
93  CHARACTER(LEN=PATH_LEN) :: MOTATT(4,nmax),DEFATT(nmax),
94  & usratt(nmax)
95  CHARACTER(LEN=PATH_LEN) :: DEFCAR(nmax),USRCAR(nmax)
96  DOUBLE PRECISION :: DEFREA(nmax),USRREA(nmax)
97 !
98  INTEGER,PARAMETER :: NBLANG = 2
99  INTEGER :: RETRY,I
100  retry = 0
101 !
102 !-----------------------------------------------------------------------
103 !
104 ! CALLS DAMOC
105 !
106  CALL damoc( adress , dimens , nmax , doc , llng , llu ,
107  & motint , motrea , motlog , motcar , motatt ,
108  & defint , defrea , deflog , defcar , defatt ,
109  & usrint , usrrea , usrlog , usrcar , usratt ,
110  & motcle , SIZE , trouve , utindx , nficmo , nficda ,
111  & indic , gestd , nblang , retry )
112 !
113  IF(retry.EQ.1) THEN
114  rewind(nficmo)
115  rewind(nficda)
116  DO i=1,10
117  WRITE(llu,*)
118  WRITE(llu,*) 'DAMOCLE: TRYING ANOTHER LANGUAGE'
119  ENDDO
120  llng=3-llng
121  CALL damoc( adress, dimens, nmax , doc , llng , llu,
122  & motint, motrea, motlog , motcar , motatt ,
123  & defint, defrea, deflog , defcar , defatt ,
124  & usrint, usrrea, usrlog , usrcar , usratt ,
125  & motcle, SIZE , trouve , utindx , nficmo , nficda,
126  & indic , gestd , nblang , retry )
127  ENDIF
128 !
129 !-----------------------------------------------------------------------
130 !
131  RETURN
132  END
integer function dimens(IELM)
Definition: dimens.f:7
subroutine damocles(ADRESS, DIMENS, NMAX, DOC, LLNG, LLU, MOTINT, MOTREA, MOTLOG, MOTCAR, MOTCLE, TROUVE, NFICMO, NFICDA, GESTD)
Definition: damocles.f:9
integer, parameter path_len
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