/[lmdze]/trunk/phylmd/initrrnpb.f
ViewVC logotype

Diff of /trunk/phylmd/initrrnpb.f

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

trunk/libf/phylmd/initrrnpb.f revision 3 by guez, Wed Feb 27 13:16:39 2008 UTC trunk/Sources/phylmd/initrrnpb.f revision 134 by guez, Wed Apr 29 15:47:56 2015 UTC
# Line 1  Line 1 
1  !  module initrrnpb_m
2  ! $Header: /home/cvsroot/LMDZ4/libf/phylmd/initrrnpb.F,v 1.2 2004/06/22 11:45:33 lmdzadmin Exp $  
3  !    IMPLICIT NONE
4        SUBROUTINE  initrrnpb(ftsol,pctsrf,masktr,fshtr,hsoltr,tautr  
5       .                   ,vdeptr,scavtr)  contains
6        use dimens_m  
7        use indicesol    SUBROUTINE initrrnpb(pctsrf, masktr, fshtr, hsoltr, tautr, vdeptr, scavtr)
8        use dimphy  
9        IMPLICIT none      ! From LMDZ4/libf/phylmd/initrrnpb.F, version 1.2 2004/06/22 11:45:33
10  c======================================================================  
11  c Auteur(s): AA + CG (LGGE/CNRS) Date 24-06-94      ! Authors: AA + CG (LGGE/CNRS) Date June 24th, 1994
12  c Objet: initialisation des constantes des traceurs      ! Objet : initialisation des constantes des traceurs
13  CAA Revison pour le controle avec la temperature du sol  
14  cAA      use dimens_m, only: nqmx
15  CAA   it = 1 radon ss controle de ts      USE dimphy, ONLY: klon
16  cAA   it = 2 plomb ss controle de ts        USE indicesol, ONLY: nbsrf
17  c======================================================================      use nr_util, only: assert
18  c Arguments:  
19  c nbtr------input-I- nombre de vrais traceurs (sans l'eau)      REAL, intent(in):: pctsrf(klon, nbsrf)
20  c ftsol-------input-R- Temperature du sol (Kelvin)      ! pourcentage de sol (f(nature du sol))
21  c pctsrf-----input-R-  Nature de sol (pourcentage de sol)      ! Nature de sol (pourcentage de sol)
22  c masktr---output-R- Masque reservoir de sol traceur (1 = reservoir)  
23  c fshtr----output-R- Flux surfacique de production dans le sol      REAL masktr(klon, nqmx - 2) ! Masque de l'echange avec la surface
24  c hsoltr---output-R- Epaisseur du reservoir de sol      ! (possible => 1)
25  c tautr----output-R- Constante de decroissance du traceur      ! masktr---output-R- Masque reservoir de sol traceur (1 = reservoir)
26  c vdeptr---output-R- Vitesse de depot sec dans la couche Brownienne      REAL fshtr(klon, nqmx - 2) ! Flux surfacique dans le reservoir de sol
27  c scavtr---output-R- Coefficient de lessivage      ! fshtr----output-R- Flux surfacique de production dans le sol
28  c======================================================================      REAL hsoltr(nqmx - 2) ! Epaisseur equivalente du reservoir de sol
29  c======================================================================      ! hsoltr---output-R- Epaisseur du reservoir de sol
30  C      REAL tautr(nqmx - 2) ! Constante de decroissance radioactive
31        INTEGER i, it      ! tautr----output-R- Constante de decroissance du traceur
32        REAL pctsrf(klon,nbsrf) !Pourcentage de sol (f(nature du sol))      REAL vdeptr(nqmx - 2) ! Vitesse de depot sec dans la couche Brownienne
33        REAL ftsol(klon,nbsrf)  ! Temperature du sol pour le controle Rn      ! vdeptr---output-R- Vitesse de depot sec dans la couche Brownienne
34  c                             ! le cas echeant      REAL scavtr(nqmx - 2) ! Coefficient de lessivage
35        REAL masktr(klon,nbtr)  ! Masque de l'echange avec la surface      ! scavtr---output-R- Coefficient de lessivage
36  c                                 (possible => 1 )  
37        REAL fshtr(klon,nbtr)  ! Flux surfacique dans le reservoir de sol      ! Local:
38        REAL hsoltr(nbtr)      ! Epaisseur equivalente du reservoir de sol  
39        REAL tautr(nbtr)       ! Constante de decroissance radioactive      INTEGER i, it
40        REAL vdeptr(nbtr)      ! Vitesse de depot sec dans la couche Brownienne      ! it = 1 radon ss controle de ts
41        REAL scavtr(nbtr)      ! Coefficient de lessivage      ! it = 2 plomb ss controle de ts
42        REAL s      REAL s
43  C  
44        print *, "Call sequence information: initrrnpb"      !-------------------------------------------------------------
45        print*,'nbtr= ',nbtr  
46        print*,'nbsrf= ',nbsrf      PRINT *, 'Call sequence information: initrrnpb'
47        print*,'klon= ',klon      call assert(nqmx >= 4, 'initrrnpb')
48  C  
49  C Puis les initialisation specifiques a chaque traceur (pour le moment, Rn222)      ! Initialisations spécifiques à chaque traceur (pour le moment, Rn222)
50  C  
51  C      ! Radon
52  C Radon it = 1  
53  c      it = 1
54        IF ( nbtr .LE. 0 ) STOP 'initrrnpb pas glop pas glop'      s = 1.E4 ! Source: atome par m2
55        it = 1  
56        s = 1.E4  !  Source: atome par m2      hsoltr(it) = 0.1
57        hsoltr(it) = 0.1      ! Hauteur equivalente du reservoir :      ! Hauteur equivalente du reservoir :
58  c                              1 m * porosite 0.1      ! 1 m * porosite 0.1
59        tautr(it) = 4.765E5  ! Decroissance du radon, secondes  
60  cAA      tautr(it) = 4.765E5 ! Decroissance du radon, secondes
61  c      tautr(it) = 4.765E55  ! Decroissance du radon,infinie      vdeptr(it) = 0. ! Pas de depot sec pour le radon
62  cAA      scavtr(it) = 0. ! Pas de lessivage pour le radon
63        vdeptr(it) = 0. ! Pas de depot sec pour le radon  
64        scavtr(it) = 0. ! Pas de lessivage pour le radon      PRINT *, '-------------- SOURCE DU RADON ------------------------ '
65        PRINT *, 'it = ', it
66        print*, '-------------- SOURCE DU RADON ------------------------ '      PRINT *, 'Source : ', s
67        print*,'it = ',it      PRINT *, 'Hauteur equivalente du reservoir de sol: ', hsoltr(it)
68        print*,'Source : ', s      PRINT *, 'Decroissance (s): ', tautr(it)
69        print*,'Hauteur equivalente du reservoir de sol: ',hsoltr(it)      PRINT *, 'Vitesse de depot sec: ', vdeptr(it)
70        print*,'Decroissance (s): ', tautr(it)      PRINT *, 'Facteur de lessivage: ', scavtr(it)
71        print*,'Vitesse de depot sec: ',vdeptr(it)  
72        print*,'Facteur de lessivage: ',scavtr(it)      DO i = 1, klon
73           masktr(i, it) = 0.
74        DO i = 1,klon         IF (nint(pctsrf(i, 1))==1) masktr(i, it) = 1.
75          masktr(i,it) = 0.         fshtr(i, it) = s*masktr(i, it)
76          IF ( NINT(pctsrf(i,1)) .EQ. 1 ) masktr(i,it) = 1.  
77          fshtr(i,it) = s * masktr(i,it)         ! Pour l'instant le pctsrf(i, 3) = 1.
78           ! lorsqu'il y a de la terre mais ne prend aucune autre valeur
79  cAA         ! il n'est donc pas nécessaire de multiplier fshtr par pctsrf
80  cAA POur l'instant le pctsrf(i,3) = 1.0      END DO
81  cAA lorsqu'il ya de la terre mias ne prend aucune autre valeur  
82  cAA il n'est donc pas necessaire de multiplier fshtr par pctsrf      ! Pb210
83  cAA  
84        it = 2
85        END DO      s = 0. ! pas de source
86  C  
87  C 210Pb it = 2      hsoltr(it) = 10.
88  C      ! hauteur équivalente du réservoir à partir duquel le dépôt
89        IF ( nbtr .LE. 1 ) STOP 'initrrnpb pas glop pas glop'      ! Brownien a lieu
90        it = 2  
91        s = 0. !  Pas de source !!!      tautr(it) = 1.028E9 ! Decroissance du Pb210, secondes
92        hsoltr(it) = 10.     ! Hauteur equivalente du reservoir      vdeptr(it) = 1.E-3 ! 1 mm/s pour le 210Pb
93  c                              a partir duquel le      scavtr(it) = .5 ! Lessivage du Pb210
94  c                              depot Brownien a lieu      DO i = 1, klon
95        tautr(it) = 1.028E9 ! Decroissance du Pb210, secondes         masktr(i, it) = 1. ! Le depot sec peut avoir lieu partout
96        vdeptr(it) = 1.E-3 ! 1 mm/s pour le 210Pb         fshtr(i, it) = s*masktr(i, it)
97        scavtr(it) =  .5   ! Lessivage du Pb210      END DO
98        DO i = 1,klon      PRINT *, '-------------- SOURCE DU PLOMB ------------------------ '
99          masktr(i,it) = 1. ! Le depot sec peut avoir lieu partout      PRINT *, 'it = ', it
100          fshtr(i,it) = s * masktr(i,it)      PRINT *, 'Source : ', s
101        END DO      PRINT *, 'Hauteur equivalente du reservoir : ', hsoltr(it)
102        print*, '-------------- SOURCE DU PLOMB ------------------------ '      PRINT *, 'Decroissance (s): ', tautr(it)
103        print*,'it = ',it      PRINT *, 'Vitesse de depot sec: ', vdeptr(it)
104        print*,'Source : ', s      PRINT *, 'Facteur de lessivage: ', scavtr(it)
105        print*,'Hauteur equivalente du reservoir : ',hsoltr(it)  
106        print*,'Decroissance (s): ', tautr(it)    END SUBROUTINE initrrnpb
107        print*,'Vitesse de depot sec: ',vdeptr(it)  
108        print*,'Facteur de lessivage: ',scavtr(it)  end module initrrnpb_m
 c  
       WRITE(*,*) 'initialisation rnpb ok'  
 c  
       RETURN  
       END  

Legend:
Removed from v.3  
changed lines
  Added in v.134

  ViewVC Help
Powered by ViewVC 1.1.21