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

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

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

trunk/dyn3d/serre.f revision 112 by guez, Thu Sep 18 13:36:51 2014 UTC trunk/Sources/dyn3d/serre.f revision 134 by guez, Wed Apr 29 15:47:56 2015 UTC
# Line 2  module serre Line 2  module serre
2    
3    implicit none    implicit none
4    
5    REAL:: clon = 0. ! longitude of the center of the zoom, in degrees    REAL:: clon = 0. ! longitude of the center of the zoom, in rad
6    real:: clat = 0. ! latitude of the center of the zoom, in degrees    real:: clat = 0. ! latitude of the center of the zoom, in rad
   
   real, save:: transx, transy  
   real, save:: alphax, alphay ! anciennes formulations des grossissements  
   real, save:: pxo, pyo  
   
   real:: grossismx = 1. ! facteur de grossissement du zoom, selon la longitude  
   real:: grossismy = 1. ! facteur de grossissement du zoom, selon la latitude  
   
   real:: dzoomx = 0.  
   ! extension en longitude de la zone du zoom (fraction de la zone totale)  
   
   real:: dzoomy = 0.  
   ! extension en latitude de la zone du zoom (fraction de la zone totale)  
   
   real:: taux = 3. ! raideur du zoom en X  
   real:: tauy = 3. ! raideur du zoom en Y  
7    
8      real:: grossismx = 1., grossismy = 1.
9      ! facteurs de grossissement du zoom, selon la longitude et la latitude
10      ! = 2 si 2 fois, = 3 si 3 fois, etc.
11    
12      real:: dzoomx = 0.2, dzoomy = 0.2
13      ! extensions en longitude et latitude de la zone du zoom (fractions
14      ! de la zone totale)
15    
16      real:: taux = 3., tauy = 3.
17      ! raideur de la transition de l'intérieur à l'extérieur du zoom
18      
19  contains  contains
20    
21    subroutine read_serre    subroutine read_serre
22    
23      use unit_nml_m, only: unit_nml      use unit_nml_m, only: unit_nml
24        use nr_util, only: assert, pi
25    
26        REAL:: clon_deg = 0. ! longitude of the center of the zoom, in degrees
27        real:: clat_deg = 0. ! latitude of the center of the zoom, in degrees
28    
29      namelist /serre_nml/ clon, clat, grossismx, grossismy, dzoomx, dzoomy, &      namelist /serre_nml/ clon_deg, clat_deg, grossismx, grossismy, dzoomx, &
30           taux, tauy           dzoomy, taux, tauy
31    
32      !-------------------------------------------------      !-------------------------------------------------
33    
# Line 36  contains Line 35  contains
35      read(unit=*, nml=serre_nml)      read(unit=*, nml=serre_nml)
36      write(unit_nml, nml=serre_nml)      write(unit_nml, nml=serre_nml)
37    
38      IF (grossismx < 1.) THEN      call assert(grossismx >= 1. .and. grossismy >= 1., "read_serre grossism")
39         PRINT *, 'Error: grossismx < 1'      call assert(dzoomx > 0., dzoomx < 1., dzoomy < 1., &
40         STOP 1           "read_serre dzoomx dzoomy")
41      ELSE      clon = clon_deg / 180. * pi
42         alphax = 1. - 1. / grossismx      clat = clat_deg / 180. * pi
     ENDIF  
     IF (grossismy < 1.) THEN  
        PRINT *, 'Error: grossismy < 1'  
        STOP 1  
     ELSE  
        alphay = 1. - 1. / grossismy  
     ENDIF  
     PRINT *, 'alphax = ', alphax  
     PRINT *, 'alphay = ', alphay  
43    
44    end subroutine read_serre    end subroutine read_serre
45    

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

  ViewVC Help
Powered by ViewVC 1.1.21