source: LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/initrrnpb.F90 @ 5342

Last change on this file since 5342 was 1299, checked in by Laurent Fairhead, 15 years ago

Nettoyage general pour se rapprocher des normes et éviter des erreurs a la
compilation:

  • tous les FLOAT() sont remplacés par des REAL()
  • tous les STOP dans phylmd sont remplacés par des appels à abort_gcm
  • le common control défini dans le fichier control.h est remplacé par le module control_mod pour éviter des messages sur l'alignement des variables dans les déclarations
  • des $Header$ remplacés par des $Id$ pour svn

Quelques remplacements à faire ont pu m'échapper


General cleanup of the code to try and adhere to norms and to prevent some
compilation errors:

  • all FLOAT() instructions have been replaced by REAL() instructions
  • all STOP instructions in phylmd have been replaced by calls to abort_gcm
  • the common block control defined in the control.h file has been replaced by the control_mod to prevent compilation warnings on the alignement of declared variables
  • $Header$ replaced by $Id$ for svn

Some changes which should have been made might have escaped me

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 3.8 KB
Line 
1!
2! $Id: initrrnpb.F90 1299 2010-01-20 14:27:21Z abarral $
3!
4SUBROUTINE  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!======================================================================
29
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
40
41  CHARACTER (LEN=20) :: modname='initrrnpb'
42  CHARACTER (LEN=80) :: abort_message
43
44
45  WRITE(*,*)'PASSAGE initrrnpb ...'
46!
47! Radon it = 1
48!----------------
49  IF ( nbtr .LE. 0 ) then
50    abort_message = '**PHYTRAC:initrrnpb:** nbtr < 0; verifier RN dans traceur.def'
51    CALL abort_gcm (modname,abort_message,1)
52  ENDIF
53  it = 1
54  s = 1.E4             ! Source: atome par m2
55  hsoltr(it) = 0.1     ! Hauteur equivalente du reservoir :
56                       ! 1 m * porosite 0.1
57  tautr(it) = 4.765E5  ! Decroissance du radon, secondes
58  vdeptr(it) = 0.      ! Pas de depot sec pour le radon
59  scavtr(it) = 0.      ! Pas de lessivage pour le radon
60 
61  WRITE(*,*)'-------------- SOURCE DU RADON ------------------------ '
62  WRITE(*,*)'it = ',it
63  WRITE(*,*)'Source : ', s
64  WRITE(*,*)'Hauteur equivalente du reservoir de sol: ',hsoltr(it)
65  WRITE(*,*)'Decroissance (s): ', tautr(it)
66  WRITE(*,*)'Vitesse de depot sec: ',vdeptr(it)
67  WRITE(*,*)'Facteur de lessivage: ',scavtr(it)
68
69  DO i = 1,klon
70     masktr(i,it) = 0.
71     IF ( NINT(pctsrf(i,1)) .EQ. 1 ) masktr(i,it) = 1.
72     fshtr(i,it) = s * masktr(i,it)
73  END DO
74!
75! 210Pb it = 2
76!----------------
77  IF ( nbtr .LE. 1 ) THEN
78    abort_message='**PHYTRAC**:initrrnpb:** nbtr <= 1; verifier PB dans traceur.def'
79    CALL abort_gcm (modname,abort_message,1)
80  ENDIF
81  it = 2
82  s = 0.                ! Pas de source
83  hsoltr(it) = 10.      ! Hauteur equivalente du reservoir
84                        ! a partir duquel le depot Brownien a lieu
85  tautr(it) = 1.028E9   ! Decroissance du Pb210, secondes
86  vdeptr(it) = 1.E-3    ! 1 mm/s pour le 210Pb
87  scavtr(it) =  .5      ! Lessivage du Pb210
88  DO i = 1,klon
89     masktr(i,it) = 1.  ! Le depot sec peut avoir lieu partout
90     fshtr(i,it) = s * masktr(i,it)
91  END DO
92  WRITE(*,*)'-------------- SOURCE DU PLOMB ------------------------ '
93  WRITE(*,*)'it = ',it
94  WRITE(*,*)'Source : ', s
95  WRITE(*,*)'Hauteur equivalente du reservoir : ',hsoltr(it)
96  WRITE(*,*)'Decroissance (s): ', tautr(it)
97  WRITE(*,*)'Vitesse de depot sec: ',vdeptr(it)
98  WRITE(*,*)'Facteur de lessivage: ',scavtr(it)
99
100  WRITE(*,*) 'Initialisation RN et PB ok'
101
102END SUBROUTINE initrrnpb
Note: See TracBrowser for help on using the repository browser.