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

Annotation of /trunk/dyn3d/read_serre.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 112 - (hide annotations)
Thu Sep 18 13:36:51 2014 UTC (9 years, 8 months ago) by guez
Original Path: trunk/dyn3d/serre.f
File size: 1457 byte(s)
Removed 8 first arguments of fxyhyper, use variables of module serre
instead.

Moved reading of variables of module serre from procedure conf_gcm to
new procedure read_serre.

In guide, added conditions to avoid useless calls to tau2alpha and
writefield. Bugfix: offline corresponds to alpha = 1. Open only one
NetCDF file to read number of vertical levels.

In tau2alpha, added conditions to avoid useless computations of dxdyu
and dxdyv. gamma is not needed for a regular grid.

1 guez 3 module serre
2    
3     implicit none
4    
5 guez 39 REAL:: clon = 0. ! longitude of the center of the zoom, in degrees
6     real:: clat = 0. ! latitude of the center of the zoom, in degrees
7 guez 3
8 guez 39 real, save:: transx, transy
9 guez 3 real, save:: alphax, alphay ! anciennes formulations des grossissements
10 guez 39 real, save:: pxo, pyo
11 guez 3
12 guez 39 real:: grossismx = 1. ! facteur de grossissement du zoom, selon la longitude
13     real:: grossismy = 1. ! facteur de grossissement du zoom, selon la latitude
14 guez 3
15 guez 39 real:: dzoomx = 0.
16     ! extension en longitude de la zone du zoom (fraction de la zone totale)
17 guez 3
18 guez 39 real:: dzoomy = 0.
19     ! extension en latitude de la zone du zoom (fraction de la zone totale)
20 guez 3
21 guez 39 real:: taux = 3. ! raideur du zoom en X
22     real:: tauy = 3. ! raideur du zoom en Y
23 guez 3
24 guez 112 contains
25    
26     subroutine read_serre
27    
28     use unit_nml_m, only: unit_nml
29    
30     namelist /serre_nml/ clon, clat, grossismx, grossismy, dzoomx, dzoomy, &
31     taux, tauy
32    
33     !-------------------------------------------------
34    
35     print *, "Enter namelist 'serre_nml'."
36     read(unit=*, nml=serre_nml)
37     write(unit_nml, nml=serre_nml)
38    
39     IF (grossismx < 1.) THEN
40     PRINT *, 'Error: grossismx < 1'
41     STOP 1
42     ELSE
43     alphax = 1. - 1. / grossismx
44     ENDIF
45     IF (grossismy < 1.) THEN
46     PRINT *, 'Error: grossismy < 1'
47     STOP 1
48     ELSE
49     alphay = 1. - 1. / grossismy
50     ENDIF
51     PRINT *, 'alphax = ', alphax
52     PRINT *, 'alphay = ', alphay
53    
54     end subroutine read_serre
55    
56 guez 3 end module serre

  ViewVC Help
Powered by ViewVC 1.1.21