5 |
REAL:: clon = 0. ! longitude of the center of the zoom, in degrees |
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 |
real:: clat = 0. ! latitude of the center of the zoom, in degrees |
7 |
|
|
|
real, save:: transx, transy |
|
|
real, save:: alphax, alphay ! anciennes formulations des grossissements |
|
|
real, save:: pxo, pyo |
|
|
|
|
8 |
real:: grossismx = 1. ! facteur de grossissement du zoom, selon la longitude |
real:: grossismx = 1. ! facteur de grossissement du zoom, selon la longitude |
9 |
real:: grossismy = 1. ! facteur de grossissement du zoom, selon la latitude |
real:: grossismy = 1. ! facteur de grossissement du zoom, selon la latitude |
10 |
|
|
22 |
subroutine read_serre |
subroutine read_serre |
23 |
|
|
24 |
use unit_nml_m, only: unit_nml |
use unit_nml_m, only: unit_nml |
25 |
|
use nr_util, only: assert |
26 |
|
|
27 |
namelist /serre_nml/ clon, clat, grossismx, grossismy, dzoomx, dzoomy, & |
namelist /serre_nml/ clon, clat, grossismx, grossismy, dzoomx, dzoomy, & |
28 |
taux, tauy |
taux, tauy |
33 |
read(unit=*, nml=serre_nml) |
read(unit=*, nml=serre_nml) |
34 |
write(unit_nml, nml=serre_nml) |
write(unit_nml, nml=serre_nml) |
35 |
|
|
36 |
IF (grossismx < 1.) THEN |
call assert(grossismx >= 1. .and. grossismy >= 1., "read_serre grossism") |
|
PRINT *, 'Error: grossismx < 1' |
|
|
STOP 1 |
|
|
ELSE |
|
|
alphax = 1. - 1. / grossismx |
|
|
ENDIF |
|
|
IF (grossismy < 1.) THEN |
|
|
PRINT *, 'Error: grossismy < 1' |
|
|
STOP 1 |
|
|
ELSE |
|
|
alphay = 1. - 1. / grossismy |
|
|
ENDIF |
|
|
PRINT *, 'alphax = ', alphax |
|
|
PRINT *, 'alphay = ', alphay |
|
37 |
|
|
38 |
end subroutine read_serre |
end subroutine read_serre |
39 |
|
|