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

Contents of /trunk/dyn3d/serre.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 112 - (show annotations)
Thu Sep 18 13:36:51 2014 UTC (9 years, 8 months ago) by guez
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 module serre
2
3 implicit none
4
5 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
8 real, save:: transx, transy
9 real, save:: alphax, alphay ! anciennes formulations des grossissements
10 real, save:: pxo, pyo
11
12 real:: grossismx = 1. ! facteur de grossissement du zoom, selon la longitude
13 real:: grossismy = 1. ! facteur de grossissement du zoom, selon la latitude
14
15 real:: dzoomx = 0.
16 ! extension en longitude de la zone du zoom (fraction de la zone totale)
17
18 real:: dzoomy = 0.
19 ! extension en latitude de la zone du zoom (fraction de la zone totale)
20
21 real:: taux = 3. ! raideur du zoom en X
22 real:: tauy = 3. ! raideur du zoom en Y
23
24 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 end module serre

  ViewVC Help
Powered by ViewVC 1.1.21