source: trunk/SOURCES/taubed-0.3.f90 @ 4

Last change on this file since 4 was 4, checked in by dumas, 10 years ago

initial import GRISLI trunk

File size: 3.6 KB
Line 
1!> \file taubed-0.3.f90
2!! Calcul la charge en chaque point de la grille puis appel la routine litho pour calculer la contribution
3!! de chaque point a la deflexion de la lithosphere   
4!<
5
6!> SUBROUTINE: taubed()
7!! \author ...
8!! \date  16 Novembre 1999
9!! @note  Routine qui calcul la charge en chaque point de la grille
10!! puis appel la routine litho pour calculer la contribution
11!! de chaque point a la deflexion de la lithosphere   
12!! @note En entree
13!!        - H,
14!!        - BSOC,
15!!        - SEALEVEL,
16!!        - RO,
17!!        - ROW
18!! @note En sortie
19!!        - CHARGE(1-LBLOC:NX+LBLOC,1-LBLOC:NY+LBLOC) : poids par unite de surface
20!!               (unite ?)   Elle est calculee initialement dans initial2
21!!               Poids de la colonne d'eau ou de la colonne de glace.
22!!               a l'exterieur du domaine : 1-LBLOC:1 et NX+1:NX+LBLOC
23!!               on donne les valeurs des bords de la grille
24!!               CHARGE est utilise par litho uniquement
25!!        - W1(NX,NY) est l'enfoncement courant, c'est le resultat
26!!               de la routine litho
27!!               W1 peut etre calcule de plusieurs facons selon le modele
28!!               d'isostasie utilise
29!! @note Used module:
30!! @note   - use module3D_phy
31!! @note   - use param_phy_mod
32!! @note   - use ISO_DECLAR
33!!
34!<
35
36!!     ****************************************************************
37!!     *           BEDROCK ADJUSTMENT avec temps de reaction          *
38!!     *  changement de nom B -> Bsoc                                 *
39!!     ****************************************************************
40
41
42
43subroutine taubed()
44
45  USE module3D_phy
46  USE param_phy_mod
47  USE ISO_DECLAR ! module de declaration des variables de l'isostasie
48
49  implicit none
50
51  !    ********* calcul de W1 l'enfoncement d'equilibre au temps t
52  ! NLITH est defini dans isostasie et permet le choix du modele d'isostasie
53
54  if (NLITH.eq.1) then
55     !       avec rigidite de la lithosphere
56     do J=1,NY 
57        do I=1,NX
58           if (RO*H(I,J).ge.-ROW*(BSOC(I,J)-SEALEVEL)) then
59              !           glace ou terre
60              CHARGE(I,J)=ROG*H(I,J)
61           else
62              !           ocean
63              CHARGE(I,J)=-ROWG*(BSOC(I,J)-SEALEVEL)
64           endif
65        end do
66     end do
67
68
69     ! il faut remplir CHARGE dans les parties a l'exterieur de la grille :
70     ! a l'exterieur de la grille CHARGE est egale a la valeur sur le bord
71
72     do J=1,NY
73        CHARGE(1-LBLOC:0,J)=CHARGE(1,J)      ! bord W
74        CHARGE(NX+1:NX+LBLOC,J)=CHARGE(NX,J) ! bord E
75     end do
76     do I=1,NX
77        CHARGE(I,1-LBLOC:0)=CHARGE(I,1)      ! bord S
78        CHARGE(I,NY+1:NY+LBLOC)=CHARGE(I,NY) ! bord N
79     end do
80
81     ! valeur dans les quatres coins exterieurs au domaine       
82     CHARGE(1-LBLOC:0,1-LBLOC:0)=CHARGE(1,1)           ! coin SW
83     CHARGE(1-LBLOC:0,NY+1:NY+LBLOC)=CHARGE(1,NY)      ! coin NW
84     CHARGE(NX+1:NX+LBLOC,1-LBLOC:0)=CHARGE(NX,1)      ! coin SE
85     CHARGE(NX+1:NX+LBLOC,NY+1:NY+LBLOC)=CHARGE(NX,NY) ! coin NE
86
87     call litho
88
89  else
90     !     enfoncement local
91     do J=1,NY
92        do I=1,NX
93           if (RO*H(I,J).ge.-ROW*(BSOC(I,J)-SEALEVEL)) then
94              !           glace ou terre
95              W1(I,J)=RO/ROM*H(I,J)
96           else
97              !           ocean
98              W1(I,J)=-ROW/ROM*(BSOC(I,J)-SEALEVEL)
99           endif
100        end do
101     end do
102  endif
103
104  !     decroissance exponentielle de l'enfoncement
105  do J=1,NY
106     do I=1,NX
107        BDOT(I,J)=((Bsoc0(I,J)-BSOC(I,J))-(W1(I,J)-W0(I,J)))/TAUSOC
108        BSOC(I,J)=BSOC(I,J)+BDOT(I,J)*DTT
109     end do
110  end do
111
112end subroutine taubed
Note: See TracBrowser for help on using the repository browser.