Skip to content

Commit

Permalink
Fix build warnings (#233)
Browse files Browse the repository at this point in the history
* Remove illegal tab characters

* remove gcc10+ cmake block

* remove arithmetic if's from fftpack.F

* remove unused vars from spectral_interp_mod.F90

* fix real comparison in splegend.f

* fix real comparison in spsynth.f

* fix type conversion warnings in fftpack.F

* remove unused var from sptrunmv.f

* remove unused var from sptgpmv.f

* remove unused var from sptgpm.f

* remove unused var from splat.F

* fix ncpus.F warnings

* fix init warning in spsynth.f

* remove unused/uninit'd vars from spffte.f

* fix type inconsistencies in splat.F

* remove unused var in test_splaplac.F90

* fix type inconsistencies in splegend.f

* remove unused args/invalid boz ignore flags from tests/CMakeLists.txt

* make afft allocatable in test_fft.F90

* fix types in tests

* delete stray comment from test_fft.F90
  • Loading branch information
AlexanderRichert-NOAA authored Mar 12, 2024
1 parent 30beaa0 commit 6967545
Show file tree
Hide file tree
Showing 19 changed files with 92 additions and 68 deletions.
3 changes: 0 additions & 3 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -66,9 +66,6 @@ elseif(CMAKE_Fortran_COMPILER_ID MATCHES "^(GNU)$")
set(CMAKE_Fortran_FLAGS_DEBUG "-O0 -ggdb -Wall -Wno-unused-dummy-argument -Wsurprising -Wextra -fcheck=all")
set(fortran_d_flags "-fdefault-real-8")
set(fortran_8_flags "-fdefault-integer-8 -fdefault-real-8")
if(${CMAKE_Fortran_COMPILER_VERSION} VERSION_GREATER_EQUAL 10)
set(CMAKE_Fortran_FLAGS "-w ${CMAKE_Fortran_FLAGS}")
endif()
endif()

# This is the source code directiroy.
Expand Down
56 changes: 44 additions & 12 deletions src/fftpack.F
Original file line number Diff line number Diff line change
Expand Up @@ -332,12 +332,12 @@ SUBROUTINE RFFTI (N,WSAVE)
C> @author Paul N. Swarztrauber, National Center for Atmospheric Research, Boulder, CO
SUBROUTINE RFFTB1 (N,C,CH,WA,IFAC)
REAL CH(*) ,C(*) ,WA(*) ,IFAC(*)
NF = IFAC(2)
NF = INT(IFAC(2))
NA = 0
L1 = 1
IW = 1
DO 116 K1=1,NF
IP = IFAC(K1+2)
IP = INT(IFAC(K1+2))
L2 = IP*L1
IDO = N/L2
IDL1 = IDO*L1
Expand Down Expand Up @@ -401,13 +401,13 @@ SUBROUTINE RFFTB1 (N,C,CH,WA,IFAC)
C> @author Paul N. Swarztrauber, National Center for Atmospheric Research, Boulder, CO
SUBROUTINE RFFTF1 (N,C,CH,WA,IFAC)
REAL CH(*) ,C(*) ,WA(*) ,IFAC(*)
NF = IFAC(2)
NF = INT(IFAC(2))
NA = 1
L2 = N
IW = N
DO 111 K1=1,NF
KH = NF-K1
IP = IFAC(KH+3)
IP = INT(IFAC(KH+3))
L1 = L2/IP
IDO = N/L2
IDL1 = IDO*L1
Expand Down Expand Up @@ -473,13 +473,21 @@ SUBROUTINE RFFTI1 (N,WA,IFAC)
NF = 0
J = 0
101 J = J+1
IF (J-4) 102,102,103
102 NTRY = NTRYH(J)
IF ((J-4).LE.0) THEN
GO TO 102
ELSE
GO TO 103
ENDIF
102 NTRY = INT(NTRYH(J))
GO TO 104
103 NTRY = NTRY+2
104 NQ = NL/NTRY
NR = NL-NTRY*NQ
IF (NR) 101,105,101
IF (NR.EQ.0) THEN
GO TO 105
ELSE
GO TO 101
ENDIF
105 NF = NF+1
IFAC(NF+2) = NTRY
NL = NQ
Expand All @@ -501,7 +509,7 @@ SUBROUTINE RFFTI1 (N,WA,IFAC)
IF (NFM1 .EQ. 0) RETURN
!OCL NOVREC
DO 110 K1=1,NFM1
IP = IFAC(K1+2)
IP = INT(IFAC(K1+2))
LD = 0
L2 = L1*IP
IDO = N/L2
Expand Down Expand Up @@ -542,7 +550,13 @@ SUBROUTINE RADB2 (IDO,L1,CC,CH,WA1)
CH(1,K,1) = CC(1,1,K)+CC(IDO,2,K)
CH(1,K,2) = CC(1,1,K)-CC(IDO,2,K)
101 CONTINUE
IF (IDO-2) 107,105,102
IF (IDO.LT.2) THEN
GO TO 107
ELSEIF (IDO.EQ.2) THEN
GO TO 105
ELSE
GO TO 102
ENDIF
102 IDP2 = IDO+2
!OCL NOVREC
DO 104 K=1,L1
Expand Down Expand Up @@ -638,7 +652,13 @@ SUBROUTINE RADB4 (IDO,L1,CC,CH,WA1,WA2,WA3)
CH(1,K,3) = TR2-TR3
CH(1,K,4) = TR1+TR4
101 CONTINUE
IF (IDO-2) 107,105,102
IF (IDO.LT.2) THEN
GO TO 107
ELSEIF (IDO.EQ.2) THEN
GO TO 105
ELSE
GO TO 102
ENDIF
102 IDP2 = IDO+2
!OCL NOVREC
DO 104 K=1,L1
Expand Down Expand Up @@ -958,7 +978,13 @@ SUBROUTINE RADF2 (IDO,L1,CC,CH,WA1)
CH(1,1,K) = CC(1,K,1)+CC(1,K,2)
CH(IDO,2,K) = CC(1,K,1)-CC(1,K,2)
101 CONTINUE
IF (IDO-2) 107,105,102
IF (IDO.LT.2) THEN
GO TO 107
ELSEIF (IDO.EQ.2) THEN
GO TO 105
ELSE
GO TO 102
ENDIF
102 IDP2 = IDO+2
DO 104 K=1,L1
DO 103 I=3,IDO,2
Expand Down Expand Up @@ -1048,7 +1074,13 @@ SUBROUTINE RADF4 (IDO,L1,CC,CH,WA1,WA2,WA3)
CH(IDO,2,K) = CC(1,K,1)-CC(1,K,3)
CH(1,3,K) = CC(1,K,4)-CC(1,K,2)
101 CONTINUE
IF (IDO-2) 107,105,102
IF (IDO.LT.2) THEN
GO TO 107
ELSEIF (IDO.EQ.2) THEN
GO TO 105
ELSE
GO TO 102
ENDIF
102 IDP2 = IDO+2
!OCL NOVREC
DO 104 K=1,L1
Expand Down
7 changes: 4 additions & 3 deletions src/ncpus.F
Original file line number Diff line number Diff line change
Expand Up @@ -21,16 +21,17 @@
C>
C> @author Iredell @date 94-08-19
FUNCTION NCPUS()
INTEGER NTHREADS, TID, OMP_GET_NUM_THREADS,OMP_GET_THREAD_NUM
INTEGER TID
C Obtain thread number
#ifdef OPENMP
INTEGER OMP_GET_NUM_THREADS,OMP_GET_THREAD_NUM
!$OMP PARALLEL PRIVATE(TID)
TID = OMP_GET_THREAD_NUM()
! PRINT *, '...............thread # ', TID
if (TID. eq. 0) then
if (TID. eq. 0) then
NCPUS=OMP_GET_NUM_THREADS()
! PRINT *, 'totaly #------------------- of threads = ',NCPUS
endif
endif
!$OMP END PARALLEL
#else
TID = 0
Expand Down
4 changes: 2 additions & 2 deletions src/spectral_interp_mod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -917,7 +917,7 @@ SUBROUTINE POLATEV4_grib2(IPOPT,IGDTNUMI,IGDTMPLI,IGDTLENI, &
INTEGER :: K, MAXWV, N, NI, NJ, NPS
!
REAL :: DLAT, DLON, DLATO, DLONO, DE, DR, DY
REAL :: DUM, E2, H, HI, HJ, DUMM(1)
REAL :: E2, H, HI, HJ, DUMM(1)
REAL :: ORIENT, RERTH, SLAT
REAL :: RLAT1, RLON1, RLAT2, RLON2, RLATI
REAL :: UROT, VROT, UO2(MO,KM),VO2(MO,KM)
Expand Down Expand Up @@ -1247,7 +1247,7 @@ SUBROUTINE POLATEV4_grib1(IPOPT,KGDSI,KGDSO,MI,MO,KM,IBI,UI,VI, &
INTEGER :: K, MAXWV, N, NI, NJ, NO, NPS
!
REAL :: DLAT, DLON, DLATO, DLONO, DE, DR, DY
REAL :: DUM, H, HI, HJ, DUMM(1)
REAL :: H, HI, HJ, DUMM(1)
REAL :: ORIENT
REAL :: RLAT1, RLON1, RLAT2, RLON2, RLATI
REAL :: UROT, VROT, UO2(MO,KM),VO2(MO,KM)
Expand Down
23 changes: 9 additions & 14 deletions src/spffte.f
Original file line number Diff line number Diff line change
Expand Up @@ -55,8 +55,7 @@ SUBROUTINE SPFFTE(IMAX,INCW,INCG,KMAX,W,G,IDIR,AFFT)
INTEGER:: INIT,INC2X,INC2Y,N,M,ISIGN,NAUX1,NAUX2,NAUX3
C ==EM== ^(4)
REAL:: SCALE
REAL(8):: AUX2(20000+2*IMAX),AUX3
REAL :: AUX2R(20000+2*IMAX),AUX3R
REAL :: AUX2(20000+2*IMAX),AUX3
INTEGER:: IACR,IARC

NAUX1=25000+2*IMAX
Expand All @@ -65,8 +64,6 @@ SUBROUTINE SPFFTE(IMAX,INCW,INCG,KMAX,W,G,IDIR,AFFT)
IACR=1
IARC=1+NAUX1
AFFTR=REAL(AFFT)
AUX2R=REAL(AUX2)
AUX3R=REAL(AUX3)

C INITIALIZATION.
C FILL AUXILIARY ARRAYS WITH TRIGONOMETRIC DATA
Expand All @@ -81,10 +78,10 @@ SUBROUTINE SPFFTE(IMAX,INCW,INCG,KMAX,W,G,IDIR,AFFT)
SCALE=1.
IF(DIGITS(1.).LT.DIGITS(1._8)) THEN
CALL SCRFT(INIT,W,INC2X,G,INC2Y,N,M,ISIGN,SCALE,
& AFFTR(IACR),NAUX1,AUX2R,NAUX2,AUX3R,NAUX3)
& AFFTR(IACR),NAUX1,AUX2,NAUX2,AUX3,NAUX3)
ELSE
CALL DCRFT(INIT,W,INC2X,G,INC2Y,N,M,ISIGN,SCALE,
& AFFTR(IACR),NAUX1,AUX2R,NAUX2)
& AFFTR(IACR),NAUX1,AUX2,NAUX2)
ENDIF
INIT=1
INC2X=INCG
Expand All @@ -95,10 +92,10 @@ SUBROUTINE SPFFTE(IMAX,INCW,INCG,KMAX,W,G,IDIR,AFFT)
SCALE=1./IMAX
IF(DIGITS(1.).LT.DIGITS(1._8)) THEN
CALL SRCFT(INIT,G,INC2X,W,INC2Y,N,M,ISIGN,SCALE,
& AFFTR(IARC),NAUX1,AUX2R,NAUX2,AUX3R,NAUX3)
& AFFTR(IARC),NAUX1,AUX2,NAUX2,AUX3,NAUX3)
ELSE
CALL DRCFT(INIT,G,INC2X,W,INC2Y,N,M,ISIGN,SCALE,
& AFFTR(IARC),NAUX1,AUX2R,NAUX2)
& AFFTR(IARC),NAUX1,AUX2,NAUX2)
ENDIF

C FOURIER TO PHYSICAL TRANSFORM.
Expand All @@ -112,10 +109,10 @@ SUBROUTINE SPFFTE(IMAX,INCW,INCG,KMAX,W,G,IDIR,AFFT)
SCALE=1.
IF(DIGITS(1.).LT.DIGITS(1._8)) THEN
CALL SCRFT(INIT,W,INC2X,G,INC2Y,N,M,ISIGN,SCALE,
& AFFTR(IACR),NAUX1,AUX2R,NAUX2,AUX3R,NAUX3)
& AFFTR(IACR),NAUX1,AUX2,NAUX2,AUX3,NAUX3)
ELSE
CALL DCRFT(INIT,W,INC2X,G,INC2Y,N,M,ISIGN,SCALE,
& AFFTR(IACR),NAUX1,AUX2R,NAUX2)
& AFFTR(IACR),NAUX1,AUX2,NAUX2)
ENDIF

C PHYSICAL TO FOURIER TRANSFORM.
Expand All @@ -129,13 +126,11 @@ SUBROUTINE SPFFTE(IMAX,INCW,INCG,KMAX,W,G,IDIR,AFFT)
SCALE=1./IMAX
IF(DIGITS(1.).LT.DIGITS(1._8)) THEN
CALL SRCFT(INIT,G,INC2X,W,INC2Y,N,M,ISIGN,SCALE,
& AFFTR(IARC),NAUX1,AUX2R,NAUX2,AUX3R,NAUX3)
& AFFTR(IARC),NAUX1,AUX2,NAUX2,AUX3,NAUX3)
ELSE
CALL DRCFT(INIT,G,INC2X,W,INC2Y,N,M,ISIGN,SCALE,
& AFFTR(IARC),NAUX1,AUX2R,NAUX2)
& AFFTR(IARC),NAUX1,AUX2,NAUX2)
ENDIF
END SELECT
AFFT=REAL(AFFTR,KIND=8)
AUX2=REAL(AUX2R,KIND=8)
AUX3=REAL(AUX3R,KIND=8)
END SUBROUTINE
6 changes: 3 additions & 3 deletions src/splat.F
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ SUBROUTINE SPLAT(IDRT,JMAX,SLAT,WLAT)
$ 146.870307625, 150.011882457, 153.153458019, 156.295034268 /
REAL:: DLT,D1=1.
REAL AWORK((JMAX+1)/2,((JMAX+1)/2)),BWORK(((JMAX+1)/2))
INTEGER:: JHE,JHO,J0=0, INFO
INTEGER:: JHE,JHO,INFO
INTEGER IPVT((JMAX+1)/2)
PARAMETER(PI=3.14159265358979,C=(1.-(2./PI)**2)*0.25)
C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Expand Down Expand Up @@ -101,8 +101,8 @@ SUBROUTINE SPLAT(IDRT,JMAX,SLAT,WLAT)
ENDDO
CDIR$ IVDEP
DO J=1,JH
SLAT(J)=SLATD(J)
WLAT(J)=(2.*(1.-SLATD(J)**2))/(JMAX*PKM1(J))**2
SLAT(J)=REAL(SLATD(J))
WLAT(J)=REAL((2.*(1.-SLATD(J)**2))/(JMAX*PKM1(J))**2)
SLAT(JMAX+1-J)=-SLAT(J)
WLAT(JMAX+1-J)=WLAT(J)
ENDDO
Expand Down
17 changes: 12 additions & 5 deletions src/splegend.f
Original file line number Diff line number Diff line change
Expand Up @@ -47,12 +47,13 @@ SUBROUTINE SPLEGEND(I,M,SLAT,CLAT,EPS,EPSTOP,PLN,PLNTOP)
REAL EPS((M+1)*((I+1)*M+2)/2),EPSTOP(M+1)
REAL PLN((M+1)*((I+1)*M+2)/2),PLNTOP(M+1)
REAL(KIND=SELECTED_REAL_KIND(15,45)):: DLN((M+1)*((I+1)*M+2)/2)
REAL :: TINYREAL=TINY(1.0), RDLN1, RDLN2
C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
C ITERATIVELY COMPUTE PLN WITHIN SPECTRAL DOMAIN AT POLE
M1=M+1
M2=2*M+I+1
MX=(M+1)*((I+1)*M+2)/2
IF(CLAT.EQ.0.) THEN
IF(ABS(CLAT).LT.TINYREAL) THEN
DLN(1)=SQRT(0.5)
IF(M.GT.0) THEN
DLN(M1+1)=SQRT(0.75)
Expand All @@ -78,10 +79,14 @@ SUBROUTINE SPLEGEND(I,M,SLAT,CLAT,EPS,EPSTOP,PLN,PLNTOP)
C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
C COMPUTE POLYNOMIALS OVER TOP OF SPECTRAL DOMAIN
K=M1+1
PLNTOP(1)=(SLAT*DLN(K-1)-EPS(K-1)*DLN(K-2))/EPSTOP(1)
RDLN1=REAL(DLN(K-1))
RDLN2=REAL(DLN(K-2))
PLNTOP(1)=(SLAT*RDLN1-EPS(K-1)*RDLN2)/EPSTOP(1)
IF(M.GT.0) THEN
K=M2+1
PLNTOP(2)=(SLAT*DLN(K-1)-EPS(K-1)*DLN(K-2))/EPSTOP(2)
RDLN1=REAL(DLN(K-1))
RDLN2=REAL(DLN(K-2))
PLNTOP(2)=(SLAT*RDLN1-EPS(K-1)*RDLN2)/EPSTOP(2)
DO L=2,M
PLNTOP(L+1)=0.
ENDDO
Expand Down Expand Up @@ -119,13 +124,15 @@ SUBROUTINE SPLEGEND(I,M,SLAT,CLAT,EPS,EPSTOP,PLN,PLNTOP)
DO L=0,M
NML=M+1+(I-1)*L
K=L*(2*M+(I-1)*(L-1))/2+L+NML+1
PLNTOP(L+1)=(SLAT*DLN(K-1)-EPS(K-1)*DLN(K-2))/EPSTOP(L+1)
RDLN1=REAL(DLN(K-1))
RDLN2=REAL(DLN(K-2))
PLNTOP(L+1)=(SLAT*RDLN1-EPS(K-1)*RDLN2)/EPSTOP(L+1)
ENDDO
ENDIF
C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
C RETURN VALUES
DO K=1,MX
PLN(K)=DLN(K)
PLN(K)=REAL(DLN(K))
ENDDO
RETURN
END
3 changes: 2 additions & 1 deletion src/spsynth.f
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ SUBROUTINE SPSYNTH(I,M,IM,IX,NC,NCTOP,KM,CLAT,PLN,PLNTOP,MP,
INTEGER MP(KM)
REAL SPC(NC,KM),SPCTOP(NCTOP,KM)
REAL F(IX,2,KM)
REAL :: TINYREAL=TINY(1.0)

C ZERO OUT FOURIER COEFFICIENTS.
DO K=1,KM
Expand All @@ -55,7 +56,7 @@ SUBROUTINE SPSYNTH(I,M,IM,IX,NC,NCTOP,KM,CLAT,PLN,PLNTOP,MP,
C SYNTHESIS OVER POLE.
C INITIALIZE FOURIER COEFFICIENTS WITH TERMS OVER TOP OF THE SPECTRUM.
C INITIALIZE EVEN AND ODD POLYNOMIALS SEPARATELY.
IF(CLAT.EQ.0) THEN
IF(ABS(CLAT).LT.TINYREAL) THEN
LTOPE=MOD(M+1+I,2)
!C$OMP PARALLEL DO PRIVATE(LB,LE,L,KS,KP,N,F1R,F1I)
DO K=1,KM
Expand Down
2 changes: 1 addition & 1 deletion src/sptez.f
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ SUBROUTINE SPTEZ(IROMB,MAXWV,IDRT,IMAX,JMAX,WAVE,GRID,IDIR)
JB=1
JE=(JMAX+1)/2
JC=NCPUS()
! print *, " EM: SPTEZ:::JJJJJJJJJJJJJJJJJJJCCCCCCCCCCC=" ,JC
! print *, " EM: SPTEZ:::JJJJJJJJJJJJJJJJJJJCCCCCCCCCCC=" ,JC
IF(IDIR.LT.0) WAVE=0

CALL SPTRANF(IROMB,MAXWV,IDRT,IMAX,JMAX,1,
Expand Down
1 change: 0 additions & 1 deletion src/sptgpm.f
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,6 @@ SUBROUTINE SPTGPM(IROMB,MAXWV,KMAX,MI,MJ,
REAL PLN((MAXWV+1)*((IROMB+1)*MAXWV+2)/2),PLNTOP(MAXWV+1)
REAL F(2*MAXWV+3,2,KMAX)
REAL CLAT(MJ),SLAT(MJ),CLON(MAXWV,MI),SLON(MAXWV,MI)
PARAMETER(RERTH=6.3712E6)
PARAMETER(PI=3.14159265358979,DPR=180./PI)
C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
C CALCULATE PRELIMINARY CONSTANTS
Expand Down
1 change: 0 additions & 1 deletion src/sptgpmv.f
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,6 @@ SUBROUTINE SPTGPMV(IROMB,MAXWV,KMAX,MI,MJ,
REAL PLN((MAXWV+1)*((IROMB+1)*MAXWV+2)/2),PLNTOP(MAXWV+1)
REAL F(2*MAXWV+3,2,2*KMAX)
REAL CLAT(MJ),SLAT(MJ),CLON(MAXWV,MI),SLON(MAXWV,MI)
PARAMETER(RERTH=6.3712E6)
PARAMETER(PI=3.14159265358979,DPR=180./PI)
C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
C CALCULATE PRELIMINARY CONSTANTS
Expand Down
4 changes: 2 additions & 2 deletions src/sptranf.f
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ SUBROUTINE SPTRANF(IROMB,MAXWV,IDRT,IMAX,JMAX,KMAX,
IF(IDIR.GT.0) THEN
C$OMP PARALLEL DO PRIVATE(AFFT_TMP,KWS,WTOP,G,IJKN,IJKS)
DO K=1,KMAX
AFFT_TMP=AFFT
AFFT_TMP=AFFT
KWS=(K-1)*KW
WTOP=0
DO J=JB,JE
Expand Down Expand Up @@ -129,7 +129,7 @@ SUBROUTINE SPTRANF(IROMB,MAXWV,IDRT,IMAX,JMAX,KMAX,
ELSE
C$OMP PARALLEL DO PRIVATE(AFFT_TMP,KWS,WTOP,G,IJKN,IJKS)
DO K=1,KMAX
AFFT_TMP=AFFT
AFFT_TMP=AFFT
KWS=(K-1)*KW
WTOP=0
DO J=JB,JE
Expand Down
4 changes: 2 additions & 2 deletions src/sptranfv.f
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ SUBROUTINE SPTRANFV(IROMB,MAXWV,IDRT,IMAX,JMAX,KMAX,
IF(IDIR.GT.0) THEN
C$OMP PARALLEL DO PRIVATE(AFFT_TMP,KWS,W,WTOP,G,IJKN,IJKS)
DO K=1,KMAX
AFFT_TMP=AFFT
AFFT_TMP=AFFT
KWS=(K-1)*KW
CALL SPDZ2UV(IROMB,MAXWV,ENN1,ELONN1,EON,EONTOP,
& WAVED(KWS+1),WAVEZ(KWS+1),
Expand Down Expand Up @@ -149,7 +149,7 @@ SUBROUTINE SPTRANFV(IROMB,MAXWV,IDRT,IMAX,JMAX,KMAX,
ELSE
C$OMP PARALLEL DO PRIVATE(AFFT_TMP,KWS,W,WTOP,G,IJKN,IJKS,WINC)
DO K=1,KMAX
AFFT_TMP=AFFT
AFFT_TMP=AFFT
KWS=(K-1)*KW
W=0
WTOP=0
Expand Down
Loading

0 comments on commit 6967545

Please sign in to comment.