/[lmdze]/trunk/Sources/dyn3d/iniadvtrac.f
ViewVC logotype

Diff of /trunk/Sources/dyn3d/iniadvtrac.f

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

revision 82 by guez, Wed Mar 5 14:57:53 2014 UTC revision 131 by guez, Fri Feb 27 16:44:07 2015 UTC
# Line 30  module iniadvtrac_m Line 30  module iniadvtrac_m
30    
31    INTEGER hadv(nqmx) ! indice schéma transport horizontal    INTEGER hadv(nqmx) ! indice schéma transport horizontal
32    INTEGER vadv(nqmx) ! indice schéma transport vertical    INTEGER vadv(nqmx) ! indice schéma transport vertical
33    INTEGER niadv(nqmx) ! équivalent dynamique / physique  
34    character(len=8) tnom(nqmx) ! nom court du traceur    character(len=10) tname(nqmx)
35    character(len=10) tname(nqmx) ! nom du traceur pour restart    ! nom du traceur pour fichiers restart et historiques
36    
37    character(len=13) ttext(nqmx) ! nom long du traceur pour sorties    character(len=13) ttext(nqmx) ! nom long du traceur pour sorties
38    
39  contains  contains
# Line 44  contains Line 45  contains
45      ! Authors: P. Le Van, L. Fairhead, F. Hourdin, F. Codron,      ! Authors: P. Le Van, L. Fairhead, F. Hourdin, F. Codron,
46      ! F. Forget, M.-A. Filiberti      ! F. Forget, M.-A. Filiberti
47    
48        ! Initialisation des traceurs
49        ! Choix du schéma pour l'advection dans le fichier "traceur.def"
50    
51      use nr_util, only: assert      use nr_util, only: assert
52      use jumble, only: new_unit      use jumble, only: new_unit
53    
# Line 77  contains Line 81  contains
81         call assert(nq_local == nqmx, "iniadvtrac nq_local")         call assert(nq_local == nqmx, "iniadvtrac nq_local")
82    
83         do iq=1, nqmx         do iq=1, nqmx
84            read(unit, fmt=*) hadv(iq), vadv(iq), tnom(iq)            read(unit, fmt=*) hadv(iq), vadv(iq), tname(iq)
85            if (.not. any(hadv(iq) == allowed_adv) &            if (.not. any(hadv(iq) == allowed_adv) &
86                 .or. .not. any(vadv(iq) == allowed_adv)) then                 .or. .not. any(vadv(iq) == allowed_adv)) then
87               print *, "bad number for advection scheme"               print *, "bad number for advection scheme"
# Line 91  contains Line 95  contains
95         call assert(nqmx == 4, "iniadvtrac nqmx")         call assert(nqmx == 4, "iniadvtrac nqmx")
96         hadv(:4) = (/14, 10, 10, 10/)         hadv(:4) = (/14, 10, 10, 10/)
97         vadv(:4) = hadv(:4)         vadv(:4) = hadv(:4)
98         tnom(1) = 'H2Ov'         tname(1) = 'H2Ov'
99         tnom(2) = 'H2Ol'         tname(2) = 'H2Ol'
100         tnom(3) = 'RN'         tname(3) = 'RN'
101         tnom(4) = 'PB'         tname(4) = 'PB'
102         do iq = 1, nqmx         do iq = 1, nqmx
103            print *, hadv(iq), vadv(iq), tnom(iq)            print *, hadv(iq), vadv(iq), tname(iq)
104         end do         end do
105      ENDIF      ENDIF
106    
     tname = tnom  
   
107      ! À partir du nom court du traceur et du schéma d'advection, on      ! À partir du nom court du traceur et du schéma d'advection, on
108      ! détermine le nom long :      ! détermine le nom long :
109      do iq = 1, nqmx      do iq = 1, nqmx
# Line 117  contains Line 119  contains
119         endif         endif
120    
121         IF (iadv(iq) == 0) THEN         IF (iadv(iq) == 0) THEN
122            ttext(iq) = tnom(iq)            ttext(iq) = tname(iq)
123         ELSE         ELSE
124            ttext(iq)=trim(tnom(iq)) // descrq(iadv(iq))            ttext(iq)=trim(tname(iq)) // descrq(iadv(iq))
125         endif         endif
126      end do      end do
127    
     forall (iq = 1: nqmx) niadv(iq)=iq  
   
128    END subroutine iniadvtrac    END subroutine iniadvtrac
129    
130  end module iniadvtrac_m  end module iniadvtrac_m

Legend:
Removed from v.82  
changed lines
  Added in v.131

  ViewVC Help
Powered by ViewVC 1.1.21