The TELEMAC-MASCARET system  trunk
api_instance_t3d.f
Go to the documentation of this file.
1 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4 !
5  MODULE api_instance_t3d
6 !
8  USE bief
15  & cp_eau,c_atmos
17  & xwc,qbor,ebor,tob,clu,clv,liqbor,
18  & nsicla,nomblay,partheniades,liebor
19  USE meteo_telemac !, ONLY: WINDX,WINDY,TAIR
20  IMPLICIT NONE
21 
22  PRIVATE
23 
24  PUBLIC :: create_instance_t3d
25  PUBLIC :: delete_instance_t3d
26  PUBLIC :: check_instance_t3d
27  PUBLIC :: get_instance_error_t3d
28  PUBLIC :: instance_t3d
29  PUBLIC :: instance_list_t3d
30 !
31 
32  TYPE instance_t3d
33  ! RUN POSITION
34  INTEGER myposition
35  ! ERROR MESSAGE
36  CHARACTER(LEN=200) :: error_message
37  ! LIST OF ALL THE VARIABLE FOR MODEL
38  TYPE(bief_obj), POINTER :: hbor
39  TYPE(bief_obj), POINTER :: ubor2d
40  TYPE(bief_obj), POINTER :: vbor2d
41 !
42  TYPE(bief_obj), POINTER :: uborf
43  TYPE(bief_obj), POINTER :: vborf
44  TYPE(bief_obj), POINTER :: wborf
45 !
46  TYPE(bief_obj), POINTER :: uborl
47  TYPE(bief_obj), POINTER :: vborl
48  TYPE(bief_obj), POINTER :: wborl
49 !
50  TYPE(bief_obj), POINTER :: ubors
51  TYPE(bief_obj), POINTER :: vbors
52  TYPE(bief_obj), POINTER :: wbors
53 !
54  TYPE(bief_obj), POINTER :: u
55  TYPE(bief_obj), POINTER :: v
56  TYPE(bief_obj), POINTER :: w
57 
58  TYPE(bief_obj), POINTER :: ak
59  TYPE(bief_obj), POINTER :: ep
60  TYPE(bief_obj), POINTER :: akn
61  TYPE(bief_obj), POINTER :: epn
62 
63  TYPE(bief_obj), POINTER :: rugof
64 
65  DOUBLE PRECISION, POINTER :: flux_boundaries(:)
66  DOUBLE PRECISION, POINTER :: cotimp(:)
67  DOUBLE PRECISION, POINTER :: debimp(:)
68  DOUBLE PRECISION, POINTER :: vitimp(:)
69 !
70  DOUBLE PRECISION, POINTER :: qsce(:)
71  DOUBLE PRECISION, POINTER :: usce(:)
72  DOUBLE PRECISION, POINTER :: vsce(:)
73  DOUBLE PRECISION, POINTER :: wsce(:)
74  DOUBLE PRECISION, POINTER :: xsce(:)
75  DOUBLE PRECISION, POINTER :: ysce(:)
76  DOUBLE PRECISION, POINTER :: zsce(:)
77  DOUBLE PRECISION, POINTER :: tasce(:,:)
78 !
79  DOUBLE PRECISION, POINTER :: betac(:)
80  DOUBLE PRECISION, POINTER :: t0ac(:)
81  DOUBLE PRECISION, POINTER :: tracer(:)
82  DOUBLE PRECISION, POINTER :: trac0(:)
83 !
84  TYPE(bief_mesh), POINTER :: mesh2d
85  TYPE(bief_mesh), POINTER :: mesh3d
86 !
87  TYPE(bief_obj), POINTER :: lihbor
88 !
89  TYPE(bief_obj), POINTER :: liubof
90  TYPE(bief_obj), POINTER :: livbof
91  TYPE(bief_obj), POINTER :: liwbof
92 !
93  TYPE(bief_obj), POINTER :: liubol
94  TYPE(bief_obj), POINTER :: livbol
95  TYPE(bief_obj), POINTER :: liwbol
96 !
97  TYPE(bief_obj), POINTER :: liubos
98  TYPE(bief_obj), POINTER :: livbos
99  TYPE(bief_obj), POINTER :: liwbos
100 !
101  TYPE(bief_obj), POINTER :: numliq
102  TYPE(bief_obj), POINTER :: boundary_colour
103 !
104  INTEGER, POINTER :: nit
105  INTEGER, POINTER :: lt
106  DOUBLE PRECISION,POINTER :: at
107  DOUBLE PRECISION,POINTER :: rho0
108  DOUBLE PRECISION,POINTER :: duree
109  DOUBLE PRECISION,POINTER :: dt
110 !
111  TYPE(bief_file), POINTER :: t3d_files(:)
112  INTEGER :: maxlu_t3d
113 !
114 ! WAQTEL VARIABLES
115 !
116  TYPE(bief_file), POINTER :: waq_files(:)
117  INTEGER :: maxlu_waq
118  DOUBLE PRECISION, POINTER :: c_atmos
119  TYPE(bief_obj), POINTER :: tair
120  DOUBLE PRECISION, POINTER :: cp_eau
121 !
122 ! GAIA VARIABLES
123 !
124  TYPE(bief_file), POINTER :: gai_files(:)
125  INTEGER :: maxlu_gai
126 !
127  INTEGER :: maxkeyword
128  INTEGER, POINTER :: t3dres
129  INTEGER, POINTER :: t3dhyd
130  INTEGER, POINTER :: t3dgeo
131  INTEGER, POINTER :: t3dcli
132 !
133  CHARACTER(LEN=PATH_LEN), POINTER :: coupling
134  CHARACTER(LEN=20), POINTER :: equa
135 !
136  TYPE(bief_obj), POINTER :: h
137  TYPE(bief_obj), POINTER :: dh
138  TYPE(bief_obj), POINTER :: ta
139  TYPE(bief_obj), POINTER :: windx,windy
140 !
141  INTEGER, POINTER :: debug
142  ! LIST OF ALL THE VARIABLE FOR STATE
143  INTEGER, POINTER :: bnd_tide(:)
144  DOUBLE PRECISION, POINTER :: ctide
145  DOUBLE PRECISION, POINTER :: ctidev
146  DOUBLE PRECISION, POINTER :: msl
148  DOUBLE PRECISION, POINTER :: prandtl
150  INTEGER :: nbmaxnshare
151  INTEGER, POINTER :: nptir
152  INTEGER, POINTER :: nplan
154  INTEGER, POINTER :: ntrac
155  INTEGER, POINTER :: maxtra
156  INTEGER, POINTER :: maxsce
157  TYPE(bief_obj), POINTER :: e
158  TYPE(bief_obj), POINTER :: zf
159  TYPE(bief_obj), POINTER :: q
160  DOUBLE PRECISION, POINTER :: dcla(:)
161  DOUBLE PRECISION, POINTER :: ac(:)
162  DOUBLE PRECISION, POINTER :: xwc(:)
163  TYPE(bief_obj), POINTER :: qbor
164  TYPE(bief_obj), POINTER :: ebor
165  TYPE(bief_obj), POINTER :: flbor
166  TYPE(bief_obj), POINTER :: tob
167  TYPE(bief_obj), POINTER :: clu
168  TYPE(bief_obj), POINTER :: clv
169  TYPE(bief_obj), POINTER :: liqbor
170  TYPE(bief_obj), POINTER :: liebor
171  INTEGER, POINTER :: nsicla
172  DOUBLE PRECISION, POINTER :: partheniades(:,:)
173 
174 !
175 
176  END TYPE ! MODEL_T3D
177 !
178  INTEGER, PARAMETER :: max_instances=10
179  TYPE(instance_t3d), POINTER :: instance_list_t3d(:)
180  LOGICAL, ALLOCATABLE :: used_instance(:)
181 !
182  CONTAINS
183 !
184  !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
186  !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
190  !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
191  SUBROUTINE create_instance_t3d(ID,IERR)
192  ! initialise instance for TELEMAC3D
193  INTEGER, INTENT(OUT) :: ID
194  INTEGER, INTENT(OUT) :: IERR
195 !
196  INTEGER :: I
197  id = 0
198  ierr = 0
199  ! If first time createing an instance allocating the instance array
200  IF(.NOT. ALLOCATED(used_instance)) THEN
201  ALLOCATE(used_instance(max_instances),stat=ierr)
202  IF(ierr.NE.0) THEN
203  err_mess = 'ERROR WHILE ALLOCATING USED INSTANCE ARRAY'
204  RETURN
205  ENDIF
206  used_instance = .false.
207  ALLOCATE(instance_list_t3d(max_instances),stat=ierr)
208  IF(ierr.NE.0) THEN
209  err_mess = 'ERROR WHILE ALLOCATING INSTANCE ARRAY'
210  RETURN
211  ENDIF
212  ENDIF
213 !
214  ! look for the first instance available
215  i = 1
216  DO WHILE(used_instance(i).AND.i.LE.max_instances)
217  i = i + 1
218  ENDDO
219  id = i
220  used_instance(id) = .true.
221 !
222  ! if still equals 0 no available instance was found then we crash
223  IF(id.EQ.(max_instances+1))THEN
224  ierr = max_instance_error
225  err_mess = "MAX INSTANCE REACHED "
226  RETURN
227  ENDIF
228  !
229  instance_list_t3d(id)%MYPOSITION = no_position
230 ! Link with TELEMAC3D variables
231  CALL update_instance_t3d(id,ierr)
232 
233  END SUBROUTINE create_instance_t3d
234 !
235  !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
237  !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
241  !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
242  SUBROUTINE update_instance_t3d(ID,IERR)
243  ! initialise instance for TELEMAC3D
244  INTEGER, INTENT(IN) :: ID
245  INTEGER, INTENT(OUT) :: IERR
246 !
247  ierr = 0
248 ! Link with TELEMAC3D variables
249  instance_list_t3d(id)%HBOR => hbor
250  instance_list_t3d(id)%UBOR2D => ubor2d
251  instance_list_t3d(id)%VBOR2D => vbor2d
252  instance_list_t3d(id)%UBORF => uborf
253  instance_list_t3d(id)%VBORF => vborf
254  instance_list_t3d(id)%WBORF => wborf
255  instance_list_t3d(id)%UBORL => uborl
256  instance_list_t3d(id)%VBORL => vborl
257  instance_list_t3d(id)%WBORL => wborl
258  instance_list_t3d(id)%UBORS => ubors
259  instance_list_t3d(id)%VBORS => vbors
260  instance_list_t3d(id)%WBORS => wbors
261  instance_list_t3d(id)%H => h
262  instance_list_t3d(id)%WINDX => windx
263  instance_list_t3d(id)%WINDY => windy
264  instance_list_t3d(id)%DH => dh
265  instance_list_t3d(id)%U => u
266  instance_list_t3d(id)%V => v
267  instance_list_t3d(id)%W => w
268  instance_list_t3d(id)%AK => ak
269  instance_list_t3d(id)%EP => ep
270  instance_list_t3d(id)%AK => akn
271  instance_list_t3d(id)%EP => epn
272  instance_list_t3d(id)%RUGOF => rugof
273  ! For allocatable arrays nag crashes if we try to point towards
274  ! an unallocated array
275  IF(ALLOCATED(flux_boundaries)) THEN
276  instance_list_t3d(id)%FLUX_BOUNDARIES => flux_boundaries
277  ENDIF
278  IF(ALLOCATED(cotimp)) THEN
279  instance_list_t3d(id)%COTIMP => cotimp
280  ENDIF
281  IF(ALLOCATED(debimp)) THEN
282  instance_list_t3d(id)%DEBIMP => debimp
283  ENDIF
284  instance_list_t3d(id)%VITIMP => vitimp
285 !
286  IF(ALLOCATED(qsce)) THEN
287  instance_list_t3d(id)%QSCE => qsce
288  ENDIF
289  IF(ALLOCATED(usce)) THEN
290  instance_list_t3d(id)%USCE => usce
291  ENDIF
292  IF(ALLOCATED(vsce)) THEN
293  instance_list_t3d(id)%VSCE => vsce
294  ENDIF
295  IF(ALLOCATED(wsce)) THEN
296  instance_list_t3d(id)%WSCE => wsce
297  ENDIF
298  IF(ALLOCATED(xsce)) THEN
299  instance_list_t3d(id)%XSCE => xsce
300  ENDIF
301  IF(ALLOCATED(ysce)) THEN
302  instance_list_t3d(id)%YSCE => ysce
303  ENDIF
304  IF(ALLOCATED(zsce)) THEN
305  instance_list_t3d(id)%ZSCE => zsce
306  ENDIF
307  IF(ALLOCATED(tasce)) THEN
308  instance_list_t3d(id)%TASCE => tasce
309  ENDIF
310  IF(ALLOCATED(betac)) THEN
311  instance_list_t3d(id)%BETAC => betac
312  ENDIF
313  IF(ALLOCATED(t0ac)) THEN
314  instance_list_t3d(id)%T0AC => t0ac
315  ENDIF
316  IF(ALLOCATED(tracer)) THEN
317  instance_list_t3d(id)%TRACER => tracer
318  ENDIF
319  IF(ALLOCATED(trac0)) THEN
320  instance_list_t3d(id)%TRAC0 => trac0
321  ENDIF
322 !
323  instance_list_t3d(id)%GAI_FILES => gai_files
324  instance_list_t3d(id)%MAXLU_GAI = maxlu_gai
325 !
326  instance_list_t3d(id)%WAQ_FILES => waq_files
327  instance_list_t3d(id)%MAXLU_WAQ = maxlu_waq
328  instance_list_t3d(id)%C_ATMOS => c_atmos
329  instance_list_t3d(id)%TAIR => tair
330  instance_list_t3d(id)%CP_EAU => cp_eau
331 !
332  instance_list_t3d(id)%MESH2D => mesh2d
333  instance_list_t3d(id)%MESH3D => mesh3d
334  instance_list_t3d(id)%LIHBOR => lihbor
335  instance_list_t3d(id)%LIUBOF => liubof
336  instance_list_t3d(id)%LIVBOF => livbof
337  instance_list_t3d(id)%LIWBOF => liwbof
338  instance_list_t3d(id)%LIUBOL => liubol
339  instance_list_t3d(id)%LIVBOL => livbol
340  instance_list_t3d(id)%LIWBOL => liwbol
341  instance_list_t3d(id)%LIUBOS => liubos
342  instance_list_t3d(id)%LIVBOS => livbos
343  instance_list_t3d(id)%LIWBOS => liwbos
344  instance_list_t3d(id)%NUMLIQ => numliq
345  instance_list_t3d(id)%BOUNDARY_COLOUR => boundary_colour
346  instance_list_t3d(id)%MAXKEYWORD = maxkeyword
347 
348  instance_list_t3d(id)%NIT => nit
349  instance_list_t3d(id)%LT => lt
350  instance_list_t3d(id)%TA => ta
351  instance_list_t3d(id)%AT => at
352  instance_list_t3d(id)%RHO0 => rho0
353  instance_list_t3d(id)%DT => dt
354  instance_list_t3d(id)%DUREE => duree
355  instance_list_t3d(id)%EQUA => equa
356 !
357  instance_list_t3d(id)%T3D_FILES => t3d_files
358  instance_list_t3d(id)%T3DRES => t3dres
359  instance_list_t3d(id)%T3DHYD => t3dhyd
360  instance_list_t3d(id)%T3DGEO => t3dgeo
361  instance_list_t3d(id)%T3DCLI => t3dcli
362  instance_list_t3d(id)%MAXLU_T3D = maxlu_t3d
363  instance_list_t3d(id)%MAXKEYWORD = maxkeyword
364 !
365  instance_list_t3d(id)%DEBUG => debug
366  IF(ALLOCATED(bnd_tide)) THEN
367  instance_list_t3d(id)%BND_TIDE => bnd_tide
368  ENDIF
369  instance_list_t3d(id)%CTIDE => ctide
370  instance_list_t3d(id)%CTIDEV => ctidev
371  instance_list_t3d(id)%MSL => msl
372 
373  instance_list_t3d(id)%PRANDTL => prandtl
374 
375  instance_list_t3d(id)%NPTIR => nptir
376  instance_list_t3d(id)%NBMAXNSHARE = nbmaxnshare
377  instance_list_t3d(id)%NPLAN => nplan
378  instance_list_t3d(id)%NTRAC => ntrac
379  instance_list_t3d(id)%MAXTRA => maxtra
380  instance_list_t3d(id)%MAXSCE => maxsce
381 
382  instance_list_t3d(id)%COUPLING => coupling
383  instance_list_t3d(id)%E => e
384  instance_list_t3d(id)%ZF => zf
385  instance_list_t3d(id)%Q => q
386  instance_list_t3d(id)%DCLA => dcla
387  instance_list_t3d(id)%AC => ac
388  instance_list_t3d(id)%XWC => xwc
389  instance_list_t3d(id)%QBOR => qbor
390  instance_list_t3d(id)%EBOR => ebor
391  instance_list_t3d(id)%FLBOR => flbor
392  instance_list_t3d(id)%TOB => tob
393  instance_list_t3d(id)%CLU => clu
394  instance_list_t3d(id)%CLV => clv
395  instance_list_t3d(id)%LIQBOR => liqbor
396  instance_list_t3d(id)%LIEBOR => liebor
397  instance_list_t3d(id)%NSICLA => nsicla
398  instance_list_t3d(id)%PARTHENIADES => partheniades
399  ! <new_link>
400 !
401  END SUBROUTINE update_instance_t3d
402 !
403 
404  !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
406  !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
410  !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
411  SUBROUTINE delete_instance_t3d(ID,IERR)
412  INTEGER, INTENT(IN) :: ID
413  INTEGER, INTENT(OUT) :: IERR
414 !
415  ierr = 0
416  !
417  CALL check_instance_t3d(id,ierr)
418  IF(ierr.NE.0) RETURN
419  used_instance(id) = .false.
420  END SUBROUTINE delete_instance_t3d
421 !
422  !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
424  !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
428  !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
429  SUBROUTINE check_instance_t3d(ID,IERR)
430  INTEGER, INTENT(IN) :: ID
431  INTEGER, INTENT(OUT) :: IERR
432 !
433  ierr = 0
434  IF(id.LE.0 .OR. id.GT.max_instances) THEN
436  err_mess = 'INVALID INSTANCE NUMBER'
437  RETURN
438  ENDIF
439  IF(.NOT.used_instance(id)) THEN
440  ierr = unused_instance_error
441  err_mess = 'INSTANCE NUMBER WAS NOT CREATED'
442  RETURN
443  ENDIF
444  CALL update_instance_t3d(id,ierr)
445  END SUBROUTINE check_instance_t3d
446 !
447  !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
449  !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
452  !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
453  SUBROUTINE get_instance_error_t3d(ID,MESS)
454  INTEGER, INTENT(IN) :: ID
455  CHARACTER(LEN=200), INTENT(OUT) :: MESS
456 !
457  mess = instance_list_t3d(id)%ERROR_MESSAGE
458 !
459  END SUBROUTINE get_instance_error_t3d
460  END MODULE api_instance_t3d
type(bief_obj), target v
type(bief_file), dimension(maxlu_t3d), target t3d_files
double precision, target rho0
type(bief_obj), target zf
type(bief_obj), target e
Evolution of the bed mass at each point for each time step [kg/m2].
type(bief_obj), target liwbos
type(bief_obj), target flbor
type(bief_obj), target, public windy
type(bief_obj), target vbors
type(bief_obj), target ta
double precision, dimension(:), allocatable, target cotimp
subroutine, public check_instance_t3d(ID, IERR)
type(bief_obj), target q
Flow rate.
type(bief_obj), target uborl
double precision, dimension(:), allocatable, target ysce
type(bief_mesh), target mesh2d
type(bief_obj), target, public tair
Definition: meteo_telemac.f:44
type(bief_obj), target liubol
type(instance_t3d), dimension(:), pointer, public instance_list_t3d
type(bief_obj), target vbor2d
type(bief_obj), target akn
integer, parameter maxlu_gai
Maximum rank of logical units as declared in submit strings in the dictionary.
type(bief_obj), target rugof
type(bief_obj), target ubor2d
type(bief_obj), target ep
integer, parameter max_instances
double precision, dimension(:), allocatable, target trac0
type(bief_file), dimension(maxlu_gai), target gai_files
For storing information on files.
double precision, dimension(:), allocatable, target t0ac
integer, parameter maxlu_wac
subroutine, public create_instance_t3d(ID, IERR)
type(bief_obj), target wborl
integer, parameter max_instance_error
type(bief_obj), target wbors
double precision, dimension(:), allocatable, target betac
integer, parameter maxkeyword
double precision, dimension(:), allocatable, target wsce
type(bief_obj), target liubof
type(bief_obj), target liwbol
type(bief_obj), target, public windx
double precision, dimension(:), pointer vitimp
double precision, target prandtl
type(bief_obj), target uborf
integer, dimension(:), allocatable, target bnd_tide
type(bief_obj), target ubors
type(bief_obj), target livbos
integer, parameter maxlu_sis
type(bief_obj), target vborl
type(bief_obj), target livbof
double precision, target duree
integer, parameter no_position
double precision, dimension(nsiclm), target dcla
Sediment diameter for each class It is only relevant for non-cohesive sediments. For the bedload...
double precision, dimension(:), allocatable, target zsce
double precision, dimension(:), allocatable, target flux_boundaries
type(bief_obj), target hbor
double precision, dimension(:), allocatable, target debimp
type(bief_obj), target numliq
type(bief_obj), target w
double precision, dimension(:), allocatable, target qsce
type(bief_obj), target u
character(len=20), target equa
type(bief_file), dimension(maxlu_waq), target waq_files
subroutine update_instance_t3d(ID, IERR)
integer, parameter invalid_instance_num_error
type(bief_obj), target livbol
type(bief_obj), target liubos
double precision, dimension(nsiclm), target ac
Critical shields parameter.
double precision, target dt
subroutine, public delete_instance_t3d(ID, IERR)
double precision, target at
subroutine, public get_instance_error_t3d(ID, MESS)
type(bief_obj), target wborf
type(bief_obj), target lihbor
type(bief_obj), target h
character(len=error_mess_len) err_mess
Error message.
double precision, dimension(:), allocatable, target vsce
type(bief_obj), target liwbof
double precision, dimension(:), allocatable, target tracer
double precision, dimension(:,:), allocatable, target tasce
type(bief_obj), target boundary_colour
double precision, dimension(:), allocatable, target usce
type(bief_obj), target vborf
double precision, target msl
logical, dimension(:), allocatable used_instance
double precision, target ctidev
double precision, target ctide
integer, parameter unused_instance_error
character(len=path_len), target coupling
double precision, dimension(:), allocatable, target xsce
type(bief_obj), target ak
type(bief_file), dimension(maxlu_wac), target wac_files
type(bief_file), dimension(maxlu_sis), target sis_files
integer, parameter maxlu_waq
type(bief_obj), target dh
type(bief_mesh), target mesh3d
type(bief_obj), target epn
Definition: bief.f:3