15 |
|
|
16 |
integer:: annee_ref = 1998 ! Annee de l'etat initial (avec 4 chiffres) |
integer:: annee_ref = 1998 ! Annee de l'etat initial (avec 4 chiffres) |
17 |
|
|
18 |
REAL clon ! longitude of the center of the zoom, in rad |
REAL, protected:: clon ! longitude of the center of the zoom, in rad |
19 |
real clat ! latitude of the center of the zoom, in rad |
real, protected:: clat ! latitude of the center of the zoom, in rad |
20 |
|
|
21 |
real grossismx, grossismy |
real, protected:: grossismx, grossismy |
22 |
! facteurs de grossissement du zoom, selon la longitude et la latitude |
! facteurs de grossissement du zoom, selon la longitude et la latitude |
23 |
! = 2 si 2 fois, = 3 si 3 fois, etc. |
! = 2 si 2 fois, = 3 si 3 fois, etc. |
24 |
|
|
25 |
real dzoomx, dzoomy |
real, protected:: dzoomx, dzoomy |
26 |
! extensions en longitude et latitude de la zone du zoom (fractions |
! extensions en longitude et latitude de la zone du zoom (fractions |
27 |
! de la zone totale) |
! de la zone totale) |
28 |
|
|
29 |
real taux, tauy |
real, protected:: taux, tauy |
30 |
! raideur de la transition de l'int\'erieur \`a l'ext\'erieur du zoom |
! raideur de la transition de l'int\'erieur \`a l'ext\'erieur du zoom |
31 |
|
|
32 |
real rlatu(jjm + 1) |
real rlatu(jjm + 1) |
220 |
|
|
221 |
END SUBROUTINE dynetat0 |
END SUBROUTINE dynetat0 |
222 |
|
|
223 |
|
!******************************************************************** |
224 |
|
|
225 |
|
subroutine read_serre |
226 |
|
|
227 |
|
use unit_nml_m, only: unit_nml |
228 |
|
use nr_util, only: assert, pi |
229 |
|
|
230 |
|
REAL:: clon_deg = 0. ! longitude of the center of the zoom, in degrees |
231 |
|
real:: clat_deg = 0. ! latitude of the center of the zoom, in degrees |
232 |
|
|
233 |
|
namelist /serre_nml/ clon_deg, clat_deg, grossismx, grossismy, dzoomx, & |
234 |
|
dzoomy, taux, tauy |
235 |
|
|
236 |
|
!------------------------------------------------- |
237 |
|
|
238 |
|
! Default values: |
239 |
|
grossismx = 1. |
240 |
|
grossismy = 1. |
241 |
|
dzoomx = 0.2 |
242 |
|
dzoomy = 0.2 |
243 |
|
taux = 3. |
244 |
|
tauy = 3. |
245 |
|
|
246 |
|
print *, "Enter namelist 'serre_nml'." |
247 |
|
read(unit=*, nml=serre_nml) |
248 |
|
write(unit_nml, nml=serre_nml) |
249 |
|
|
250 |
|
call assert(grossismx >= 1. .and. grossismy >= 1., "read_serre grossism") |
251 |
|
call assert(dzoomx > 0., dzoomx < 1., dzoomy < 1., & |
252 |
|
"read_serre dzoomx dzoomy") |
253 |
|
clon = clon_deg / 180. * pi |
254 |
|
clat = clat_deg / 180. * pi |
255 |
|
|
256 |
|
end subroutine read_serre |
257 |
|
|
258 |
end module dynetat0_m |
end module dynetat0_m |