--- trunk/dyn3d/serre.f 2014/09/18 13:36:51 112 +++ trunk/dyn3d/serre.f 2015/01/28 16:10:02 121 @@ -5,27 +5,23 @@ REAL:: clon = 0. ! longitude of the center of the zoom, in degrees real:: clat = 0. ! latitude of the center of the zoom, in degrees - real, save:: transx, transy - real, save:: alphax, alphay ! anciennes formulations des grossissements - real, save:: pxo, pyo - - real:: grossismx = 1. ! facteur de grossissement du zoom, selon la longitude - real:: grossismy = 1. ! facteur de grossissement du zoom, selon la latitude - - real:: dzoomx = 0. - ! extension en longitude de la zone du zoom (fraction de la zone totale) - - real:: dzoomy = 0. - ! extension en latitude de la zone du zoom (fraction de la zone totale) - - real:: taux = 3. ! raideur du zoom en X - real:: tauy = 3. ! raideur du zoom en Y - + 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:: dzoomx = 0., dzoomy = 0. + ! extensions en longitude et latitude de la zone du zoom (fractions + ! de la zone totale) + + real:: taux = 3., tauy = 3. + ! raideur de la transition de l'intérieur à l'extérieur du zoom + contains subroutine read_serre use unit_nml_m, only: unit_nml + use nr_util, only: assert namelist /serre_nml/ clon, clat, grossismx, grossismy, dzoomx, dzoomy, & taux, tauy @@ -36,20 +32,8 @@ read(unit=*, nml=serre_nml) write(unit_nml, nml=serre_nml) - IF (grossismx < 1.) THEN - 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 + call assert(grossismx >= 1. .and. grossismy >= 1., "read_serre grossism") + call assert(dzoomx < 1., dzoomy < 1., "read_serre dzoomx dzoomy") end subroutine read_serre