Changeset 1191 for LMDZ4/branches/LMDZ4-dev/libf/phylmd/initrrnpb.F90
- Timestamp:
- Jun 24, 2009, 11:56:13 AM (15 years ago)
- File:
-
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
LMDZ4/branches/LMDZ4-dev/libf/phylmd/initrrnpb.F90
r1188 r1191 1 1 ! 2 ! $ Header$2 ! $Id $ 3 3 ! 4 SUBROUTINE initrrnpb(ftsol,pctsrf,masktr,fshtr,hsoltr,tautr 5 . ,vdeptr,scavtr) 6 USE dimphy 7 USE infotrac, ONLY : nbtr 8 IMPLICIT none 9 c====================================================================== 10 c Auteur(s): AA + CG (LGGE/CNRS) Date 24-06-94 11 c Objet: initialisation des constantes des traceurs 12 CAA Revison pour le controle avec la temperature du sol 13 cAA 14 CAA it = 1 radon ss controle de ts 15 cAA it = 2 plomb ss controle de ts 16 c====================================================================== 17 c Arguments: 18 c nbtr------input-I- nombre de vrais traceurs (sans l'eau) 19 c ftsol-------input-R- Temperature du sol (Kelvin) 20 c pctsrf-----input-R- Nature de sol (pourcentage de sol) 21 c masktr---output-R- Masque reservoir de sol traceur (1 = reservoir) 22 c fshtr----output-R- Flux surfacique de production dans le sol 23 c hsoltr---output-R- Epaisseur du reservoir de sol 24 c tautr----output-R- Constante de decroissance du traceur 25 c vdeptr---output-R- Vitesse de depot sec dans la couche Brownienne 26 c scavtr---output-R- Coefficient de lessivage 27 c====================================================================== 28 cym#include "dimensions.h" 29 cym#include "dimphy.h" 30 #include "indicesol.h" 31 c====================================================================== 32 C 33 INTEGER i, it 34 REAL pctsrf(klon,nbsrf) !Pourcentage de sol (f(nature du sol)) 35 REAL ftsol(klon,nbsrf) ! Temperature du sol pour le controle Rn 36 c ! le cas echeant 37 REAL masktr(klon,nbtr) ! Masque de l'echange avec la surface 38 c (possible => 1 ) 39 REAL fshtr(klon,nbtr) ! Flux surfacique dans le reservoir de sol 40 REAL hsoltr(nbtr) ! Epaisseur equivalente du reservoir de sol 41 REAL tautr(nbtr) ! Constante de decroissance radioactive 42 REAL vdeptr(nbtr) ! Vitesse de depot sec dans la couche Brownienne 43 REAL scavtr(nbtr) ! Coefficient de lessivage 44 REAL s 45 C 46 WRITE(*,'(''PASSAGE initrrnpb ...'',$)') 47 print*,'nbtr= ',nbtr 48 print*,'nbsrf= ',nbsrf 49 print*,'klon= ',klon 50 C 51 C Puis les initialisation specifiques a chaque traceur (pour le moment, Rn222) 52 C 53 C 54 C Radon it = 1 55 c 56 IF ( nbtr .LE. 0 ) STOP 'initrrnpb pas glop pas glop' 57 it = 1 58 s = 1.E4 ! Source: atome par m2 59 hsoltr(it) = 0.1 ! Hauteur equivalente du reservoir : 60 c 1 m * porosite 0.1 61 tautr(it) = 4.765E5 ! Decroissance du radon, secondes 62 cAA 63 c tautr(it) = 4.765E55 ! Decroissance du radon,infinie 64 cAA 65 vdeptr(it) = 0. ! Pas de depot sec pour le radon 66 scavtr(it) = 0. ! Pas de lessivage pour le radon 4 SUBROUTINE initrrnpb(ftsol,pctsrf,masktr,fshtr,hsoltr,tautr,vdeptr,scavtr) 5 USE dimphy 6 USE infotrac, ONLY : nbtr 7 IMPLICIT NONE 8 !====================================================================== 9 ! Auteur(s): AA + CG (LGGE/CNRS) Date 24-06-94 10 ! Objet: initialisation des constantes des traceurs 11 !AA Revison pour le controle avec la temperature du sol 12 !AA 13 !AA it = 1 radon ss controle de ts 14 !AA it = 2 plomb ss controle de ts 15 !====================================================================== 16 ! Arguments: 17 ! nbtr.............. nombre de vrais traceurs (sans l'eau) 18 ! ftsol....input-R- Temperature du sol (Kelvin) 19 ! pctsrf...input-R- Nature de sol (pourcentage de sol) 20 ! masktr...output-R- Masque reservoir de sol traceur (1 = reservoir) 21 ! fshtr....output-R- Flux surfacique de production dans le reservoir de sol 22 ! hsoltr...output-R- Epaisseur equivalente du reservoir de sol 23 ! tautr....output-R- Constante de decroissance radioactive du traceur 24 ! vdeptr...output-R- Vitesse de depot sec dans la couche Brownienne 25 ! scavtr...output-R- Coefficient de lessivage 26 !====================================================================== 27 INCLUDE "indicesol.h" 28 !====================================================================== 67 29 68 print*, '-------------- SOURCE DU RADON ------------------------ ' 69 print*,'it = ',it 70 print*,'Source : ', s 71 print*,'Hauteur equivalente du reservoir de sol: ',hsoltr(it) 72 print*,'Decroissance (s): ', tautr(it) 73 print*,'Vitesse de depot sec: ',vdeptr(it) 74 print*,'Facteur de lessivage: ',scavtr(it) 30 REAL,DIMENSION(klon,nbsrf),INTENT(IN) :: pctsrf 31 REAL,DIMENSION(klon,nbsrf),INTENT(IN) :: ftsol 32 REAL,DIMENSION(klon,nbtr),INTENT(OUT) :: masktr 33 REAL,DIMENSION(klon,nbtr),INTENT(OUT) :: fshtr 34 REAL,DIMENSION(nbtr),INTENT(OUT) :: hsoltr 35 REAL,DIMENSION(nbtr),INTENT(OUT) :: tautr 36 REAL,DIMENSION(nbtr),INTENT(OUT) :: vdeptr 37 REAL,DIMENSION(nbtr),INTENT(OUT) :: scavtr 38 INTEGER :: i, it 39 REAL :: s 75 40 76 DO i = 1,klon 77 masktr(i,it) = 0. 78 IF ( NINT(pctsrf(i,1)) .EQ. 1 ) masktr(i,it) = 1. 79 fshtr(i,it) = s * masktr(i,it) 41 WRITE(*,*)'PASSAGE initrrnpb ...' 42 ! 43 ! Radon it = 1 44 !---------------- 45 IF ( nbtr .LE. 0 ) STOP '**PHYTRAC:initrrnpb:** nbtr < 0; verifier RN dans traceur.def' 46 it = 1 47 s = 1.E4 ! Source: atome par m2 48 hsoltr(it) = 0.1 ! Hauteur equivalente du reservoir : 49 ! 1 m * porosite 0.1 50 tautr(it) = 4.765E5 ! Decroissance du radon, secondes 51 vdeptr(it) = 0. ! Pas de depot sec pour le radon 52 scavtr(it) = 0. ! Pas de lessivage pour le radon 53 54 WRITE(*,*)'-------------- SOURCE DU RADON ------------------------ ' 55 WRITE(*,*)'it = ',it 56 WRITE(*,*)'Source : ', s 57 WRITE(*,*)'Hauteur equivalente du reservoir de sol: ',hsoltr(it) 58 WRITE(*,*)'Decroissance (s): ', tautr(it) 59 WRITE(*,*)'Vitesse de depot sec: ',vdeptr(it) 60 WRITE(*,*)'Facteur de lessivage: ',scavtr(it) 80 61 81 cAA 82 cAA quelques tests 83 cAA POur l'instant le pctsrf(i,3) = 1.0 84 cAA lorsqu'il ya de la terre mias ne prend aucune autre valeur 85 cAA il n'est donc pas necessaire de multiplier fshtr par pctsrf 86 cAA 87 c print*, '------------------------------------------ ' 88 c print*, 'masktr(',i,it,')= ',masktr(i,it) 89 c print*, 'fshtr(',i,it,')= ',fshtr(i,it) 90 c print*, 'pctsrf(',i,',1)= ',pctsrf(i,1) 91 c print*, 'pctsrf(',i,',2)= ',pctsrf(i,2) 92 c print*, 'pctsrf(',i,',3)= ',pctsrf(i,3) 93 c print*, 'pctsrf(',i,',4)= ',pctsrf(i,4) 94 c print*, 's = ',s 95 c print*, '------------------------------------------ ' 62 DO i = 1,klon 63 masktr(i,it) = 0. 64 IF ( NINT(pctsrf(i,1)) .EQ. 1 ) masktr(i,it) = 1. 65 fshtr(i,it) = s * masktr(i,it) 66 END DO 67 ! 68 ! 210Pb it = 2 69 !---------------- 70 IF ( nbtr .LE. 1 ) STOP '**PHYTRAC**:initrrnpb:** nbtr <= 1; verifier PB dans traceur.def' 71 it = 2 72 s = 0. ! Pas de source 73 hsoltr(it) = 10. ! Hauteur equivalente du reservoir 74 ! a partir duquel le depot Brownien a lieu 75 tautr(it) = 1.028E9 ! Decroissance du Pb210, secondes 76 vdeptr(it) = 1.E-3 ! 1 mm/s pour le 210Pb 77 scavtr(it) = .5 ! Lessivage du Pb210 78 DO i = 1,klon 79 masktr(i,it) = 1. ! Le depot sec peut avoir lieu partout 80 fshtr(i,it) = s * masktr(i,it) 81 END DO 82 WRITE(*,*)'-------------- SOURCE DU PLOMB ------------------------ ' 83 WRITE(*,*)'it = ',it 84 WRITE(*,*)'Source : ', s 85 WRITE(*,*)'Hauteur equivalente du reservoir : ',hsoltr(it) 86 WRITE(*,*)'Decroissance (s): ', tautr(it) 87 WRITE(*,*)'Vitesse de depot sec: ',vdeptr(it) 88 WRITE(*,*)'Facteur de lessivage: ',scavtr(it) 96 89 97 END DO 98 C 99 C 210Pb it = 2 100 C 101 IF ( nbtr .LE. 1 ) STOP 'initrrnpb pas glop pas glop' 102 it = 2 103 s = 0. ! Pas de source !!! 104 hsoltr(it) = 10. ! Hauteur equivalente du reservoir 105 c a partir duquel le 106 c depot Brownien a lieu 107 tautr(it) = 1.028E9 ! Decroissance du Pb210, secondes 108 vdeptr(it) = 1.E-3 ! 1 mm/s pour le 210Pb 109 scavtr(it) = .5 ! Lessivage du Pb210 110 DO i = 1,klon 111 masktr(i,it) = 1. ! Le depot sec peut avoir lieu partout 112 fshtr(i,it) = s * masktr(i,it) 113 END DO 114 print*, '-------------- SOURCE DU PLOMB ------------------------ ' 115 print*,'it = ',it 116 print*,'Source : ', s 117 print*,'Hauteur equivalente du reservoir : ',hsoltr(it) 118 print*,'Decroissance (s): ', tautr(it) 119 print*,'Vitesse de depot sec: ',vdeptr(it) 120 print*,'Facteur de lessivage: ',scavtr(it) 121 c 122 WRITE(*,*) 'initialisation rnpb ok' 123 c 124 RETURN 125 END 90 WRITE(*,*) 'Initialisation RN et PB ok' 91 92 END SUBROUTINE initrrnpb
Note: See TracChangeset
for help on using the changeset viewer.