--- trunk/libf/dyn3d/advtrac_m.f90 2008/02/27 13:16:39 3 +++ trunk/libf/dyn3d/iniadvtrac.f90 2010/12/02 17:11:04 36 @@ -1,4 +1,4 @@ -module advtrac_m +module iniadvtrac_m ! From advtrac.h, v 1.1.1.1 2004/05/19 12:53:06 @@ -18,7 +18,7 @@ contains - subroutine iniadvtrac(nq) + subroutine iniadvtrac ! From dyn3d/iniadvtrac.F, version 1.3 2005/04/13 08:58:34 @@ -27,7 +27,7 @@ ! Modification M.-A. Filiberti 02/02 lecture de "traceur.def" ! Modification de l'intégration de "q" (26/04/94) - integer, intent(out):: nq + use nr_util, only: assert ! Variables local to the procedure: @@ -36,7 +36,7 @@ character(len=2) txtp(9) character(len=13) str1, str2 - integer iq, iiq, iiiq, ierr, ii + integer iq, iiq, iiiq, ierr, ii, nq_local data txtp/'x', 'y', 'z', 'xx', 'xy', 'xz', 'yy', 'yz', 'zz'/ @@ -91,7 +91,7 @@ endif tnom(iq)=str1 tname(iq)=tnom(iq) - str2=tnom(iq) + str2=tnom(iq) ttext(iq) = trim(str2) // descrq(iadv(iq)) end do @@ -101,26 +101,22 @@ iostat=ierr) if (ierr == 0) then print *, 'Ouverture de "traceur.def" ok' - read(unit=90, fmt=*) nq - print *, 'nombre de traceurs ', nq - if (nq > nqmx) then - print *, 'nombre de traceurs trop important' - print *, 'verifier traceur.def' - stop - endif + read(unit=90, fmt=*) nq_local + print *, 'nombre de traceurs ', nq_local + call assert(nq_local == nqmx, "iniadvtrac nq_local") - do iq=1, nq + do iq=1, nqmx read(90, 999) hadv(iq), vadv(iq), tnom(iq) end do close(90) PRINT *, 'lecture de traceur.def :' - do iq=1, nq + do iq=1, nqmx write(*, *) hadv(iq), vadv(iq), tnom(iq) end do else - print *, 'problème ouverture traceur.def' - print *, 'ATTENTION on prend des valeurs par défaut' - nq = 4 + print *, 'Problème à l''ouverture de "traceur.def"' + print *, 'Attention : on prend des valeurs par défaut.' + call assert(nqmx == 4, "iniadvtrac nqmx") hadv(1) = 14 vadv(1) = 14 tnom(1) = 'H2Ov' @@ -135,7 +131,7 @@ tnom(4) = 'PB' ENDIF PRINT *, 'Valeur de traceur.def :' - do iq=1, nq + do iq=1, nqmx write(*, *) hadv(iq), vadv(iq), tnom(iq) end do @@ -143,7 +139,7 @@ ! détemine le nom long : iiq=0 ii=0 - do iq=1, nq + do iq=1, nqmx iiq=iiq+1 if (hadv(iq) /= vadv(iq)) then if (hadv(iq) == 10.and.vadv(iq) == 16) then @@ -214,4 +210,4 @@ END subroutine iniadvtrac -end module advtrac_m +end module iniadvtrac_m