The TELEMAC-MASCARET system  trunk
homere_gretel.f
Go to the documentation of this file.
1 ! *********************
2  PROGRAM homere_gretel
3 ! *********************
4 !
5 !
6 !***********************************************************************
7 ! PARALLEL V6P2 21/08/2010
8 !***********************************************************************
9 !
10 !brief MERGES THE RESULTS OF A PARALLEL COMPUTATION
11 !+ TO WRITE A SINGLE FILE.
12 !
13 !history Y. AUDOUIN (EDF)
14 !+ 09/2012
15 !+ V7P0
16 !+ Reorganizing reading of parameters
17 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
18 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
19 !
22  IMPLICIT NONE
23 !
24 !-------------------------------------------------------------------------
25 !
26  LOGICAL IS
27  CHARACTER(LEN=PATH_LEN) :: GEO
28  CHARACTER(LEN=PATH_LEN) :: BND
29  CHARACTER(LEN=8) :: GEOFORMAT,RESFORMAT
30  CHARACTER(LEN=PATH_LEN) :: RES
31  INTEGER :: NPARTS, NPLAN, METHOD
32 !
33 !-------------------------------------------------------------------------
34 !
35  li=5
36  lu=6
37  lng=2
38 !
39 !----------------------------------------------------------------------
40 ! INTRODUCE YOURSELF
41 !
42  WRITE(lu,*) ' '
43  WRITE(lu,*) '+-------------------------------------------------+'
44  WRITE(lu,*) ' GRETEL: TELEMAC MERGER'
45  WRITE(lu,*) ' '
46  WRITE(lu,*) ' VERSION ',version
47  WRITE(lu,*) ' HOLGER WEIL BEER (BAW)'
48  WRITE(lu,*) ' JEAN-MICHEL HERVOUET (LNHE)'
49  WRITE(lu,*) ' YOANN AUDOUIN (LNHE) '
50  WRITE(lu,*) ' GRETEL (C) COPYRIGHT 2003-2012 '
51  WRITE(lu,*) ' BUNDESANSTALT FUER WASSERBAU, KARLSRUHE'
52  WRITE(lu,*) ' '
53  WRITE(lu,*) '+-------------------------------------------------+'
54  WRITE(lu,*) ' '
55  WRITE(lu,*) ' '
56  WRITE(lu,*) ' MAXIMUM NUMBER OF PARTITIONS: ',maxnproc
57  WRITE(lu,*) ' '
58  WRITE(lu,*) '+--------------------------------------------------+'
59  WRITE(lu,*) ' '
60 !
61  WRITE (lu,*) '--GLOBAL GEOMETRY FILE: '
62  READ(li,*) geo
63 !
64  IF (geo.EQ.' ') THEN
65  WRITE (lu,*) ' NO FILENAME '
66  CALL plante(1)
67  stop
68  ELSE
69  WRITE(lu,*) 'INPUT: ',trim(geo)
70  ENDIF
71 
72  INQUIRE (file=geo,exist=is)
73  IF (.NOT.is) THEN
74  WRITE (lu,*)' FILE DOES NOT EXIST: ',trim(geo)
75  CALL plante(1)
76  stop
77  ENDIF
78 !
79  WRITE(lu,*)
80  & '--GEOMETRY FILE FORMAT <FFORMAT> [MED,SERAFIN,SERAFIND]: '
81  READ(li,*) geoformat
82  IF ( (geoformat .NE. 'MED ') .AND.
83  & (geoformat(1:7) .NE. 'SERAFIN') ) THEN
84  WRITE(lu,*)
85  & ' FILE FORMAT MUST BE "MED" OR "SERAFIN" OR "SERAFIND" '
86  CALL plante(1)
87  stop
88  ELSE
89  WRITE(lu,*) ' INPUT: ', geoformat
90  ENDIF
91 !
92  WRITE (lu,*) '--GLOBAL BOUNDARY FILE: '
93  READ(li,*) bnd
94 !
95  IF (bnd.EQ.' ') THEN
96  WRITE (lu,*) ' NO FILENAME '
97  CALL plante(1)
98  stop
99  ELSE
100  WRITE(lu,*) 'INPUT: ',trim(bnd)
101  ENDIF
102 
103  INQUIRE (file=bnd,exist=is)
104  IF (.NOT.is) THEN
105  WRITE (lu,*)' FILE DOES NOT EXIST: ',trim(bnd)
106  CALL plante(1)
107  stop
108  ENDIF
109 !
110  WRITE(lu,*) '--RESULT FILE: '
111  READ(li,*) res
112 !
113  IF (res.EQ.' ') THEN
114  WRITE (lu,*) ' NO FILENAME '
115  CALL plante(1)
116  stop
117  ELSE
118  WRITE(lu,*) 'INPUT: ',trim(res)
119  ENDIF
120 !
121  WRITE(lu,*)
122  & '--RESULT FILE FORMAT <FFORMAT> [MED,SERAFIN,SERAFIND]: '
123  READ(li,*) resformat
124  IF ( (resformat .NE. 'MED ') .AND.
125  & (resformat(1:7) .NE. 'SERAFIN') ) THEN
126  WRITE(lu,*)
127  & ' FILE FORMAT MUST BE "MED" OR "SERAFIN" OR "SERAFIND" '
128  CALL plante(1)
129  stop
130  ELSE
131  WRITE(lu,*) ' INPUT: ', resformat
132  ENDIF
133 !
134  WRITE(lu,fmt='(A,I6,A)')
135  & '--NUMBER OF PARTITIONS <NPARTS> [2 -',maxnproc,']: '
136  READ(li,*) nparts
137 !
138  IF ( (nparts > maxnproc) .OR. (nparts < 2) ) THEN
139  WRITE(lu,fmt='(A,I6,A)')
140  & ' NUMBER OF PARTITIONS MUST BE IN [2 -',maxnproc,']'
141  CALL plante(1)
142  stop
143  ELSE
144  WRITE(lu,*)' INPUT: ', nparts
145  ENDIF
146 !
147  WRITE (lu,*) '--NUMBER OF PLANES: '
148  READ (li,*) nplan
149  WRITE (lu,*) ' INPUT: ',nplan
150 
151  WRITE (lu,*) '--METHOD (1: min memory, 2:max memory): '
152  READ (li,*) method
153  WRITE (lu,*) ' INPUT: ',method
154 !
155  CALL gretel_autop(geo,geoformat,bnd,res,resformat,nparts,nplan,
156  & method)
157 !
158  stop 0
159  END PROGRAM
integer, parameter maxnproc
program homere_gretel
Definition: homere_gretel.f:3
subroutine gretel_autop(GEO, GEOFORMAT, BND, RES, RESFORMAT, NPROC, NPLAN_RES, METHOD)
Definition: gretel_autop.f:6
character(len=6), parameter version