--- trunk/libf/dyn3d/serre.f90 2008/02/27 13:16:39 3 +++ trunk/dyn3d/serre.f 2015/02/10 17:58:56 127 @@ -2,27 +2,45 @@ implicit none - REAL:: clon= 0. ! longitude en degres du centre du zoom + REAL:: clon = 0. ! longitude of the center of the zoom, in rad + real:: clat = 0. ! latitude of the center of the zoom, in rad - real:: clat= 0. ! latitude en degres du centre du zoom + real:: grossismx = 1., grossismy = 1. + ! facteurs de grossissement du zoom, selon la longitude et la latitude + ! = 2 si 2 fois, = 3 si 3 fois, etc. - real, save:: transx,transy - real, save:: alphax, alphay ! anciennes formulations des grossissements - real, save:: pxo,pyo + real:: dzoomx = 0.2, dzoomy = 0.2 + ! extensions en longitude et latitude de la zone du zoom (fractions + ! de la zone totale) - real:: grossismx= 1.0 ! facteur de grossissement du zoom, selon la longitude + real:: taux = 3., tauy = 3. + ! raideur de la transition de l'intérieur à l'extérieur du zoom + +contains - real:: grossismy= 1.0 ! facteur de grossissement du zoom, selon la latitude + subroutine read_serre - real:: dzoomx= 0.0 - ! (extension en longitude de la zone du zoom (fraction de la zone totale)) + use unit_nml_m, only: unit_nml + use nr_util, only: assert, pi - real:: dzoomy= 0.0 - ! extension en latitude de la zone du zoom - ! (fraction de la zone totale) + REAL:: clon_deg = 0. ! longitude of the center of the zoom, in degrees + real:: clat_deg = 0. ! latitude of the center of the zoom, in degrees - real:: taux= 3.0 ! raideur du zoom en X + namelist /serre_nml/ clon_deg, clat_deg, grossismx, grossismy, dzoomx, & + dzoomy, taux, tauy - real:: tauy= 3.0 ! raideur du zoom en Y + !------------------------------------------------- + + print *, "Enter namelist 'serre_nml'." + read(unit=*, nml=serre_nml) + write(unit_nml, nml=serre_nml) + + call assert(grossismx >= 1. .and. grossismy >= 1., "read_serre grossism") + call assert(dzoomx > 0., dzoomx < 1., dzoomy < 1., & + "read_serre dzoomx dzoomy") + clon = clon_deg / 180. * pi + clat = clat_deg / 180. * pi + + end subroutine read_serre end module serre