diff --git a/sammy/src/acs/macs0.f90 b/sammy/src/acs/macs0.f90 index 4349219efe68500e0eb2908dd375d9e985ca230b..889a18bbe56989efa9e334a008137fbbd401fab9 100644 --- a/sammy/src/acs/macs0.f90 +++ b/sammy/src/acs/macs0.f90 @@ -54,8 +54,8 @@ module acs_m use exploc_urr_common_m use z00001_common_m use AllocateFunctions_m - use acs1_m - use acs5_m + use acs1 + use acs5 use SammyFlowControl_M, only : fitOption, Where_To_Next, urr_calc IMPLICIT DOUBLE PRECISION (a-h,o-z) real(kind=8),allocatable,dimension(:)::A_Idm diff --git a/sammy/src/acs/macs1.f90 b/sammy/src/acs/macs1.f90 index e46828c3e9ec544e9cebbd19dd7a84a4e3ddfddf..0928a8681ecf294d99aaa5dff754e15f0f0b373e 100644 --- a/sammy/src/acs/macs1.f90 +++ b/sammy/src/acs/macs1.f90 @@ -1,5 +1,5 @@ ! -module acs1_m +module acs1 contains ! ! ______________________________________________________________________ @@ -85,10 +85,11 @@ module acs1_m use fixedr_m use exploc_urr_common_m use constn_common_m - use acs2_m - use acs3_m - use acs4_m - use acs6_m + use acs2 + use acs3 + use acs4 + use acs6 + use fit1 IMPLICIT DOUBLE PRECISION (a-h,o-z) ! DIMENSION Anrm(3,*), Knrm(3,*), Kktype(*), Kkkntx(*), & @@ -170,8 +171,8 @@ module acs1_m use exploc_urr_common_m use lbro_common_m use constn_common_m - use acs2_m - use acs3_m + use acs2 + use acs3 IMPLICIT DOUBLE PRECISION (a-h,o-z) ! DIMENSION Eeeset(*), Theory(*), Theorl(Numelv,*), & @@ -237,4 +238,4 @@ module acs1_m ! RETURN END -end module acs1_m \ No newline at end of file +end module acs1 \ No newline at end of file diff --git a/sammy/src/acs/macs2.f90 b/sammy/src/acs/macs2.f90 index 61497e54ba9dd654f9b6fd9852ea90a71f0b7497..1f0a5430ed3f4aab71e2b2640115eca953271378 100644 --- a/sammy/src/acs/macs2.f90 +++ b/sammy/src/acs/macs2.f90 @@ -1,5 +1,5 @@ ! -module acs2_m +module acs2 contains ! ! ______________________________________________________________________ @@ -204,4 +204,4 @@ module acs2_m WRITE (6,10100) STOP '[STOP in Find_Urr in acs/macs2.f]' END -end module acs2_m +end module acs2 diff --git a/sammy/src/acs/macs3.f90 b/sammy/src/acs/macs3.f90 index 66519a1c4b43d730a192077e1ae5209014ee1269..b4990d32dc41ba9ff74a307922c536fce22566fc 100644 --- a/sammy/src/acs/macs3.f90 +++ b/sammy/src/acs/macs3.f90 @@ -1,5 +1,5 @@ ! -module acs3_m +module acs3 contains ! ! ______________________________________________________________________ @@ -19,9 +19,9 @@ module acs3_m use z00001_common_m use constn_common_m use Endepx_common_m - use acs2_m - use acs4_m - use acs6_m + use acs2 + use acs4 + use acs6 IMPLICIT DOUBLE PRECISION (a-h,o-z) CHARACTER*4 Type(5) CHARACTER*1 Pm @@ -314,7 +314,7 @@ module acs3_m ! Wav COMPUTES THE WIDTH FLUCTUATION AVERAGE AND ITS DERIVATIVES ! use ifwrit_m - use acs7_m + use acs7 IMPLICIT DOUBLE PRECISION (a-h,o-z) CHARACTER*4 Type(5) DIMENSION Aelast(7,*), Ainela(7,*) @@ -459,4 +459,4 @@ module acs3_m 10700 FORMAT ('Bf=', 1P5G14.6) STOP '[STOP in Dint in acs/macs3.f]' END -end module acs3_m +end module acs3 diff --git a/sammy/src/acs/macs4.f90 b/sammy/src/acs/macs4.f90 index 43e9fe09c0f3c800706856d59cc636f2ff427203..ea5b9bfcb46380acbfe9f2b749c282d586429ba5 100644 --- a/sammy/src/acs/macs4.f90 +++ b/sammy/src/acs/macs4.f90 @@ -1,5 +1,5 @@ ! -module acs4_m +module acs4 contains ! ! ______________________________________________________________________ @@ -10,7 +10,7 @@ module acs4_m use fixedr_m use z00001_common_m use constn_common_m - use acs6_m + use acs6 use xxx2 use xxx5 IMPLICIT DOUBLE PRECISION (a-h,o-z) @@ -76,7 +76,7 @@ module acs4_m use fixedr_m use z00001_common_m use constn_common_m - use acs6_m + use acs6 use xxx2 use xxx5 IMPLICIT DOUBLE PRECISION (a-h,o-z) @@ -316,7 +316,7 @@ module acs4_m use fixedr_m use z00001_common_m use Endepx_common_m - use acs6_m + use acs6 IMPLICIT DOUBLE PRECISION (a-h,o-z) DIMENSION Y(21) DATA Nnnyyy /21/ @@ -568,4 +568,4 @@ module acs4_m END IF RETURN END -end module acs4_m +end module acs4 diff --git a/sammy/src/acs/macs5.f90 b/sammy/src/acs/macs5.f90 index 1f3393b8334a4050cc721bdf87019e7158306cc0..6d6fc5e39a3036103880a5a1ae6ac49fdb8668d5 100644 --- a/sammy/src/acs/macs5.f90 +++ b/sammy/src/acs/macs5.f90 @@ -1,5 +1,5 @@ ! -module acs5_m +module acs5 contains ! ! ______________________________________________________________________ @@ -296,4 +296,4 @@ module acs5_m STOP '[STOP in Make_File_3_Urr in acs/macs5.f]' END -end module acs5_m +end module acs5 diff --git a/sammy/src/acs/macs6.f90 b/sammy/src/acs/macs6.f90 index 639f4c037f91422fffbfd40922d26999d9351ff3..f2a68441fd45a7ad3f3e122e2c83d8ffae2b2122 100644 --- a/sammy/src/acs/macs6.f90 +++ b/sammy/src/acs/macs6.f90 @@ -1,5 +1,5 @@ ! -module acs6_m +module acs6 contains ! ! ______________________________________________________________________ @@ -49,7 +49,7 @@ module acs6_m Const(2) = Two ! RETURN - END + end subroutine Define_Constants ! ! ! ______________________________________________________________________ @@ -90,7 +90,7 @@ module acs6_m ! *** Since Get_Density is used only as a ratio, normalization constant ! *** may be omitted RETURN - END + end function Get_Density ! ! ! ______________________________________________________________________ @@ -113,5 +113,6 @@ module acs6_m 10000 FORMAT (' Kk > 3 in function Kwhich ', 5I5) Kwhich = Kk RETURN - END -end module acs6_m + end function Kwhich + +end module acs6 diff --git a/sammy/src/acs/macs7.f90 b/sammy/src/acs/macs7.f90 index 245888a6af284504e2bda0825c69403879f67eda..2da114e01e48d4617c7a3febc14a87fd23b16add 100644 --- a/sammy/src/acs/macs7.f90 +++ b/sammy/src/acs/macs7.f90 @@ -1,5 +1,5 @@ ! -module acs7_m +module acs7 contains ! ! ______________________________________________________________________ @@ -291,7 +291,7 @@ module acs7_m ! ========================================== ! RETURN - END + end subroutine Dres ! ! ! ______________________________________________________________________ @@ -365,5 +365,6 @@ module acs7_m END IF Getfff = One/dSQRT(P) RETURN - END -end module acs7_m \ No newline at end of file + end function Getfff + +end module acs7 \ No newline at end of file diff --git a/sammy/src/end/mout5.f b/sammy/src/end/mout5.f index 823a652bc463fc4f1734078d4ae05822b7c132dd..e43cea9c586e8523a380a70a5c147e7c9dacfb4d 100644 --- a/sammy/src/end/mout5.f +++ b/sammy/src/end/mout5.f @@ -14,8 +14,8 @@ C use ifwrit_m use fixedr_m use constn_common_m - use acs6_m use EndfData_common_m, only : radFitFlags + use acs6 IMPLICIT DOUBLE PRECISION (a-h,o-z) C DIMENSION Anrm(3,*), Dnrm(3,*), Kktype(*), Edirin(*), Sdirin(*), diff --git a/sammy/src/fff/mfff0.f90 b/sammy/src/fff/mfff0.f90 index 66fd2c816aa6c60d9b3b1d21012dc4aed4923bb6..33d24534f29ff9efa6181815b42701d672b85dab 100644 --- a/sammy/src/fff/mfff0.f90 +++ b/sammy/src/fff/mfff0.f90 @@ -302,7 +302,7 @@ module fff_m ! use fixedi_m use z00001_common_m - use acs6_m + use acs6 IMPLICIT DOUBLE PRECISION (a-h,o-z) DIMENSION Spin(*), Pty(*) DATA Zero /0.0d0/, Two /2.0d0/ diff --git a/sammy/src/fit/mfit0.f b/sammy/src/fit/mfit0.f index 99541f410503da1ce71f12d224653601fdc959b3..651d34aecb1f3d7c08cf12f62baee4569b5da670 100644 --- a/sammy/src/fit/mfit0.f +++ b/sammy/src/fit/mfit0.f @@ -16,6 +16,7 @@ C use exploc_urr_common_m use AllocateFunctions_m use SammyLptPrinting_m + use fit1 IMPLICIT DOUBLE PRECISION (a-h,o-z) real(kind=8),allocatable,dimension(:)::A_Icorrx integer,allocatable,dimension(:)::I_Itabcx diff --git a/sammy/src/fit/mfit1.f b/sammy/src/fit/mfit1.f90 similarity index 68% rename from sammy/src/fit/mfit1.f rename to sammy/src/fit/mfit1.f90 index 6f06a8d223b84d3c85206643bc33e16eecec1509..ec93bc8962bc6396e8e18bd789034c805c35dcf8 100644 --- a/sammy/src/fit/mfit1.f +++ b/sammy/src/fit/mfit1.f90 @@ -1,35 +1,37 @@ -C -C -C ______________________________________________________________________ -C - SUBROUTINE Parnew ( Anrm, Dnrm, Knrm, Inrm, Strenl, Gglg, Streng, - * Dstren, Distnt, Ddistn, Gg, Dlgg, Gf, Dlgf, Jnl, Jxl, Iflstr, - * Ifldst, Iflggg, Iflgff, Iflnrm, Tab, Tabf, Tabn, Aold, Iflold, - * Dold) -C -C *** Purpose -- Generate the improved cross section parameters for URR -C +! +module fit1 + contains +! +! ______________________________________________________________________ +! + SUBROUTINE Parnew ( Anrm, Dnrm, Knrm, Inrm, Strenl, Gglg, Streng, & + Dstren, Distnt, Ddistn, Gg, Dlgg, Gf, Dlgf, Jnl, Jxl, Iflstr, & + Ifldst, Iflggg, Iflgff, Iflnrm, Tab, Tabf, Tabn, Aold, Iflold, & + Dold) +! +! *** Purpose -- Generate the improved cross section parameters for URR +! use fixedi_m use samxxx_common_m use fixedr_m use EndfData_common_m use ResonanceCovariance_M IMPLICIT DOUBLE PRECISION (a-h,o-z) -C - DIMENSION Anrm(3,*), Dnrm(3,*), Knrm(3,*), Inrm(*), - * Strenl(Numelv,*), Gglg(Numelv,*), Streng(Numelv,*), - * Dstren(Numelv,*), Distnt(Numelv,*), Ddistn(Numelv,*), - * Gg(Numelv,*), Dlgg(Numelv,*), Gf(Numelv,Numjjv,*), - * Dlgf(Numelv,Numjjv,*), Jnl(*), Jxl(*), Iflstr(Numelv,*), - * Ifldst(Numelv,*), Iflggg(Numelv,*), IFlgff(Numelv,Numjjv,*), - * Iflnrm(3,*), Tab(Numelv,4,Numurr,*), - * Tabf(Numelv,Numjjv,Numurr,*), Tabn(3,Kdtset,*), - * Aold(3,*), Iflold(3,*), Dold(3,*) +! + DIMENSION Anrm(3,*), Dnrm(3,*), Knrm(3,*), Inrm(*), & + Strenl(Numelv,*), Gglg(Numelv,*), Streng(Numelv,*), & + Dstren(Numelv,*), Distnt(Numelv,*), Ddistn(Numelv,*), & + Gg(Numelv,*), Dlgg(Numelv,*), Gf(Numelv,Numjjv,*), & + Dlgf(Numelv,Numjjv,*), Jnl(*), Jxl(*), Iflstr(Numelv,*), & + Ifldst(Numelv,*), Iflggg(Numelv,*), IFlgff(Numelv,Numjjv,*), & + Iflnrm(3,*), Tab(Numelv,4,Numurr,*), & + Tabf(Numelv,Numjjv,Numurr,*), Tabn(3,Kdtset,*), & + Aold(3,*), Iflold(3,*), Dold(3,*) type(ResonanceCovariance)::uCov -C +! DATA Zero /0.0d0/ -C -C +! +! call covData%getUCovariance(uCov) Ngtvf = 0 Ipar = 0 @@ -39,8 +41,7 @@ C IF (Dstren(L,Kumurr).NE.Zero) THEN Ipar = Ipar + 1 Mm = Mm + Ipar - IF (Ipar.NE.Iflstr(L,Kumurr)) - * STOP '[STOP in Parnew in fit/mfit1.f]' + IF (Ipar.NE.Iflstr(L,Kumurr)) STOP '[STOP in Parnew in fit/mfit1.f]' Strenl(L,Kumurr) = covData%getUParamValue(Ipar) val = uCov%getCovariance(Ipar, Ipar) Streng(L,Kumurr) = dEXP(Strenl(L,Kumurr)) @@ -49,8 +50,7 @@ C IF (Ddistn(L,Kumurr).NE.Zero) THEN Ipar = Ipar + 1 Mm = Mm + Ipar - IF (Ipar.NE.Ifldst(L,Kumurr)) - * STOP '[STOP in Parnew in fit/mfit1.f # 2]' + IF (Ipar.NE.Ifldst(L,Kumurr)) STOP '[STOP in Parnew in fit/mfit1.f # 2]' Distnt(L,Kumurr) = covData%getUParamValue(Ipar) val = uCov%getCovariance(Ipar, Ipar) Ddistn(L,Kumurr) = dSQRT(val) @@ -58,8 +58,7 @@ C IF (L.LE.2 .AND. Dlgg(L,Kumurr).NE.Zero) THEN Ipar = Ipar + 1 Mm = Mm + Ipar - IF (Ipar.NE.Iflggg(L,Kumurr)) - * STOP '[STOP in Parnew in fit/mfit1.f # 3]' + IF (Ipar.NE.Iflggg(L,Kumurr)) STOP '[STOP in Parnew in fit/mfit1.f # 3]' Gglg(L,Kumurr) = covData%getUParamValue(Ipar) Gg (L,Kumurr) = dEXP(Gglg(L,Kumurr)) val = uCov%getCovariance(Ipar, Ipar) @@ -69,7 +68,7 @@ C Gg (L,Kumurr) = Gg (L-2,Kumurr) END IF END DO -C +! DO L=1,Numelv Jlo = Jnl(L) Jhi = Jxl(L) @@ -78,8 +77,7 @@ C IF (Dlgf(L,J,Kumurr).NE.Zero) THEN Ipar = Ipar + 1 Mm = Mm + Ipar - IF (Iflgff(L,J,Kumurr).NE.Ipar) - * STOP '[STOP in Parnew in fit/mfit1.f # 4]' + IF (Iflgff(L,J,Kumurr).NE.Ipar) STOP '[STOP in Parnew in fit/mfit1.f # 4]' Gf(L,J,Kumurr) = covData%getUParamValue(Ipar) val = uCov%getCovariance(Ipar, Ipar) Dlgf(L,J,Kumurr) = dSQRT(val) @@ -94,26 +92,25 @@ C Gf(L,J,Kumurr) = - Gf(L,J,Kumurr) END IF ELSE - Gf(L,J,Kumurr) = - * covData%getUParamValue(Iflgff(L,J,Kumurr)) + Gf(L,J,Kumurr) = covData%getUParamValue(Iflgff(L,J,Kumurr)) END IF END IF END DO END DO -C +! END DO -C *** End of loop on Kumurr +! *** End of loop on Kumurr IF (Ngtvf.EQ.1) THEN WRITE (6,10300) WRITE (21,10300) END IF -10100 FORMAT ('###################################################', - * /, '## CAUTION. Value of Fission width went negative.#', - * /, '## Absolute value will be used instead. #') -10200 FORMAT ('## Gf(', I2, ',', I2, ',', I2, ')=', 1PG14.6, - * ' #') +10100 FORMAT ('###################################################', & + /, '## CAUTION. Value of Fission width went negative.#', & + /, '## Absolute value will be used instead. #') +10200 FORMAT ('## Gf(', I2, ',', I2, ',', I2, ')=', 1PG14.6, & + ' #') 10300 FORMAT ('###################################################') -C +! IF (Kdtold.GT.0) THEN DO I=1,Kdtold DO J=1,3 @@ -139,9 +136,9 @@ C END DO END DO END IF -C +! IF (Inrm(1).EQ.0) THEN -C *** Here add if these are new parameters +! *** Here add if these are new parameters DO I=1,Kdtset DO J=1,3 IF (Iflnrm(J,I).GT.0) THEN @@ -159,8 +156,8 @@ C *** Here add if these are new parameters END DO END DO END IF -C -C *** STORE NEW RESULTS FOR FINAL TABLE +! +! *** STORE NEW RESULTS FOR FINAL TABLE Itp2 = Iterp1 + 1 DO Kumurr=1,Numurr DO L=1,Numelv @@ -182,66 +179,67 @@ C *** STORE NEW RESULTS FOR FINAL TABLE END DO END DO RETURN - END -C -C -C ______________________________________________________________________ -C - SUBROUTINE Csunc (Kktype, Kkkntx, Eeeset, Sssset, Uuuset, Wwwset, - * Theory, Dtheor, It, Konvrg) -C -C Csunc PRINTS FINAL CROSS SECTION UNCERTAINTIES -C + end subroutine Parnew +! +! +! ______________________________________________________________________ +! + SUBROUTINE Csunc (Kktype, Kkkntx, Eeeset, Sssset, Uuuset, Wwwset, & + Theory, Dtheor, It, Konvrg) +! +! Csunc PRINTS FINAL CROSS SECTION UNCERTAINTIES +! use fixedi_m use ifwrit_m use samxxx_common_m use EndfData_common_m use ResonanceCovariance_M IMPLICIT DOUBLE PRECISION (a-h,o-z) - DIMENSION Kkkntx(*), Eeeset(Kntmax,*), Sssset(Kntmax,*), - * Uuuset(Kntmax,*), Wwwset(Kntmax,*), Kktype(*), - * Theory(Kntmax,Kdtset,*), Dtheor(Nvpall,Kntmax,*) + DIMENSION Kkkntx(*), Eeeset(Kntmax,*), Sssset(Kntmax,*), & + Uuuset(Kntmax,*), Wwwset(Kntmax,*), Kktype(*), & + Theory(Kntmax,Kdtset,*), Dtheor(Nvpall,Kntmax,*) type(ResonanceCovariance)::uCov CHARACTER*8 Type(5) - DATA Type /'total ', 'inelastc', 'fission ', 'capture ', - * 'elastic '/ + DATA Type /'total ', 'inelastc', 'fission ', 'capture ', & + 'elastic '/ DATA Zero /0.0d0/, One /1.0d0/ -C +! call covData%getUCovariance(uCov) IF (Konvrg.EQ.1) THEN WRITE (21,20000) -20000 FORMAT (//, ' Iteration has converged. The following cross sec - *tions were generated', //, - * ' with the final parameter values.') +20000 FORMAT (//, ' Iteration has converged. The following cross sections were generated', //, & + ' with the final parameter values.') ELSE WRITE (21,20100) 20100 FORMAT (//, ' Cross section at final values of parameters.') END IF -C +! Cf = One DO Iset=1,Kdtset WRITE (21,10000) Type(Kktype(Iset)) -10000 FORMAT (//, 7x, 'NEUTRON', 9x, 'Average ', A8, - * ' cross section', /, - * ' NO. ENERGY INPUT FIT', /, - * ' (keV) (b) (b)', /) +10000 FORMAT (//, 7x, 'NEUTRON', 9x, 'Average ', A8, & + ' cross section', /, & + ' NO. ENERGY INPUT FIT', /, & + ' (keV) (b) (b)', /) DO K=1,Kkkntx(Iset) Var = Zero DO M=1,Nvpall DO N=1,M val = uCov%getCovariance(M, N) Var = Var + Dtheor(M,K,Iset)*val*Dtheor(N,K,Iset) - IF (M.NE.N) Var = Var + - * Dtheor(M,K,Iset)*val*Dtheor(N,K,Iset) + IF (M.NE.N) Var = Var + & + Dtheor(M,K,Iset)*val*Dtheor(N,K,Iset) END DO END DO Utc = dSQRT(Var)*Cf - WRITE (21,10100) K, Eeeset(K,Iset), Sssset(K,Iset), - * Uuuset(K,Iset), Theory(K,Iset,It), Utc -10100 FORMAT (I4, -3PF11.4, 0PF12.5, ' +-', F8.5, F12.5, - * ' +-', F8.5) + WRITE (21,10100) K, Eeeset(K,Iset), Sssset(K,Iset), & + Uuuset(K,Iset), Theory(K,Iset,It), Utc +10100 FORMAT (I4, -3PF11.4, 0PF12.5, ' +-', F8.5, F12.5, & + ' +-', F8.5) END DO END DO -C +! RETURN - END + end subroutine Csunc + +end module diff --git a/sammy/src/lru/mlru1.f b/sammy/src/lru/mlru1.f index 5ab5fce7963d4ab8411fb3322f69c761c94b066e..218f20f8becd72c3f097ae7950eb886b33c64b96 100644 --- a/sammy/src/lru/mlru1.f +++ b/sammy/src/lru/mlru1.f @@ -13,8 +13,8 @@ C use fixedr_m use namfil_common_m use constn_common_m - use acs6_m use EndfData_common_m, only : radFitFlags + use acs6 IMPLICIT DOUBLE PRECISION (a-h,o-z) C DIMENSION Streng(Numelv,*), Distnt(Numelv,*), Gg(Numelv,*), diff --git a/sammy/src/lru/mlru2.f b/sammy/src/lru/mlru2.f index 0b7b2e4a61c8c9b009131f5d8a61a2317a29ae4c..2d7b3c0df0400e8329bd6137ac51076210268a9f 100644 --- a/sammy/src/lru/mlru2.f +++ b/sammy/src/lru/mlru2.f @@ -15,9 +15,9 @@ C use fixedr_m use constn_common_m use EndfData_common_m - use acs4_m - use acs6_m use EndfData_common_m, only : radFitFlags + use acs4 + use acs6 IMPLICIT DOUBLE PRECISION (a-h,o-z) C DIMENSION Streng(Numelv,*), Distnt(Numelv,*), Gg(Numelv,*), @@ -181,7 +181,7 @@ C use ifwrit_m use fixedr_m use constn_common_m - use acs6_m + use acs6 IMPLICIT DOUBLE PRECISION (a-h,o-z) C DIMENSION Bindee(*), Pairee(*), Alevel(*), Jderiv(2,*),Xderiv(2,*) @@ -419,7 +419,7 @@ C use constn_common_m use EndfData_common_m use ResonanceCovariance_M - use acs6_m + use acs6 IMPLICIT DOUBLE PRECISION (a-h,o-z) C DIMENSION Streng(Numelv,*), Distnt(Numelv,*), Ex(*), Spin(*), diff --git a/sammy/src/sammy/CMakeLists.txt b/sammy/src/sammy/CMakeLists.txt index e8dc5c4b8c5d6325ac6e318339da7f19fcbd0d11..e7a7864cb24824dc28f77fe81838b11e84eb629b 100644 --- a/sammy/src/sammy/CMakeLists.txt +++ b/sammy/src/sammy/CMakeLists.txt @@ -151,7 +151,7 @@ APPEND_SET(SAMMY_SOURCES ../fin/mfin5.f90 ../fit/mfit0.f - ../fit/mfit1.f + ../fit/mfit1.f90 ../fit/mfit2.f ../fit/mfit3.f