2 |
|
|
3 |
implicit none |
implicit none |
4 |
|
|
5 |
REAL:: clon= 0. ! longitude en degres du centre du zoom |
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:: clat= 0. ! latitude en degres du centre du zoom |
real, save:: transx, transy |
|
|
|
|
real, save:: transx,transy |
|
9 |
real, save:: alphax, alphay ! anciennes formulations des grossissements |
real, save:: alphax, alphay ! anciennes formulations des grossissements |
10 |
real, save:: pxo,pyo |
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 |
real:: grossismx= 1.0 ! facteur de grossissement du zoom, selon la longitude |
use unit_nml_m, only: unit_nml |
29 |
|
|
30 |
real:: grossismy= 1.0 ! facteur de grossissement du zoom, selon la latitude |
namelist /serre_nml/ clon, clat, grossismx, grossismy, dzoomx, dzoomy, & |
31 |
|
taux, tauy |
32 |
|
|
33 |
real:: dzoomx= 0.0 |
!------------------------------------------------- |
|
! (extension en longitude de la zone du zoom (fraction de la zone totale)) |
|
34 |
|
|
35 |
real:: dzoomy= 0.0 |
print *, "Enter namelist 'serre_nml'." |
36 |
! extension en latitude de la zone du zoom |
read(unit=*, nml=serre_nml) |
37 |
! (fraction de la zone totale) |
write(unit_nml, nml=serre_nml) |
38 |
|
|
39 |
real:: taux= 3.0 ! raideur du zoom en X |
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 |
real:: tauy= 3.0 ! raideur du zoom en Y |
end subroutine read_serre |
55 |
|
|
56 |
end module serre |
end module serre |