The TELEMAC-MASCARET system  trunk
user_bed_init.f
Go to the documentation of this file.
1 ! ************************
2  SUBROUTINE user_bed_init
3 ! ************************
4 !
5  &(numstrat,npoin,nsicla,estratum,ratio_init)
6 !
7 !***********************************************************************
8 ! GAIA
9 !***********************************************************************
10 !
11 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
17 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
18 !
19  USE bief
22  IMPLICIT NONE
23 !
24 !!-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
25 !
26  INTEGER, INTENT(IN) :: NUMSTRAT,NPOIN,NSICLA
27  DOUBLE PRECISION,INTENT(INOUT):: ESTRATUM(numstrat,npoin)
28  DOUBLE PRECISION,INTENT(INOUT):: RATIO_INIT(nsicla,numstrat,npoin)
29 !
30 !!-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
31 !
32  INTEGER :: IPOIN,ICLA,ISTRAT
33 !
34 !!-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
35 !
36 ! REMOVE THIS RETURN IF YOU WANT TO ENTER INTO THIS USER SUBROUTINE
37  IF (.true.) RETURN
38 !
39 !!-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
40 !
41 !
42 !======================================================================!
43 !
44 ! EXAMPLE 1: DEFAULT CASE: NO STRATIFICATION = ONLY ONE STRATUM 100 M DEEP
45 
46  IF (.false.) THEN
47 ! USER CAN CHANGE THE THICKNESS OF SEDIMENT HERE
48 ! (REPLACES SUBROUTINE NOEROD)
49 ! GRADED SEDIMENT: USER CAN DEFINE AN INITIAL STRATIFICATION
50 ! DEFINED BY LAYER THICKNESS AND COMPOSITION FOR EACH STRATUM
51 !
52 ! POROSITY IS DEFINED (KEYWORD) FOR STRATUMS.
53 ! THE VALUE FOR THE FIRST STRATUM IS COPIED IN
54 ! THE FIRST TWO NUMERICAL LAYERS (ACTIVE LAYER + FIRST STRATUM)
55  DO ipoin=1,npoin
56  DO istrat=1,numstrat
57 ! DEFAULT CASE: ALL STRATUMS HAVE SAME THICKNESS.
58 ! THIS CAN BE CHANGED BY USER
59  estratum(istrat,ipoin) = sed_thick(istrat)
60 ! DEFAULT CASE: ALL STRATUMS HAVE SAME COMPOSITION.
61 ! THIS CAN BE CHANGED BY USER
62  DO icla=1,nsicla
63  ratio_init(icla,istrat,ipoin) = ava0(icla)
64  ENDDO
65  ENDDO
66  ENDDO
67  ENDIF
68 !
69 ! EXAMPLE 2: OF HOW A USER COULD DEFINE MANUALY AN INITIAL
70 ! STRATIFICATION
71 !
72  IF (.false.) THEN
73 ! NSICLA = 4
74 ! NUMSTRAT = 2
75  DO ipoin=1,npoin
76  estratum(1,ipoin) = 0.12d0
77  ratio_init(1,1,ipoin) = 0.5d0
78  ratio_init(2,1,ipoin) = 0.5d0
79  ratio_init(3,1,ipoin) = 0.d0
80  ratio_init(4,1,ipoin) = 0.d0
81  estratum(2,ipoin) = 2.d0
82  ratio_init(1,2,ipoin) = 0.d0
83  ratio_init(2,2,ipoin) = 0.d0
84  ratio_init(3,2,ipoin) = 0.5d0
85  ratio_init(4,2,ipoin) = 0.5d0
86  ENDDO
87  ENDIF
88 !
89 !-----------------------------------------------------------------------
90 !
91  RETURN
92  END
double precision, dimension(nlaymax) sed_thick
Thickness of each bed layer (constant)
subroutine user_bed_init(NUMSTRAT, NPOIN, NSICLA, ESTRATUM, RATIO_INIT)
Definition: user_bed_init.f:7
double precision, dimension(nsiclm) ava0
Initial fraction of each sediment class, the sum of AVA0 over all classes has to be equal to 1...
Definition: bief.f:3