05 Dec 2022 A nettoyer + Piste pour le plantage de reproductibilité AGRIF + PISCES dans pre_step3d_.f & step3d_.f ??? Mais disparraisent quand on enlève BIO_HADV_WENO5 !! ================================================================================ WARNINGS & REMARKS a la compilation croco + PISCES (sans AGRIF) ================================================================================ cf test reproductibilité MPI pour croco + PISCES dans note précédente. branch "dev_63-pisces-bug-fixes" du 28 Oct 2022 gfortran : # DEBUG nemo2 : nemo1 + add -fdefault-real-8 for conflict REAL16 REAL8 with AGRIF FFLAGS1="-Og -g -fdefault-real-8 -fdefault-double-8 -fbacktrace -funroll-all-loops -fcray-pointer -ffree-line-length-none -fcheck=all -finit-real=nan -ffpe-trap=invalid,zero,overflow -ffpe-summary=invalid,zero, ifort : # DEBUG nemo0 : NEMO Seb Oct 2022 FFLAGS1="-O0 -g -i4 -r8 -traceback -check all,noarg_temp_created -fpe-all0 -ftrapuv -debug all -fp-model strict -ftz -init=arrays,snan,huge -no-wrap-margin" ================================================================================ Messages à la compilation avec ifort: ================================================================================ Aucun warning avec gfortran, quelque soit la machine, et sans l'option -std=legacy ajoutée dans le commit 1d37795014a0f4f27d189d76be58395b69621388 Messages avec ifort identique sur toutes les machines messages à la compilation: Warnings ou Remark compilation monoproc & multiproc : exactement les mêmes messages compilation avec DEBUG nemo0 & PROD croco0 : exactement les mêmes messages cpp -traditional -DLinux -DIfort -P -I/gpfslocalsup/spack_soft/netcdf-fortran/4.5.2/intel-19.0.4-knfz4zgnj6ohnfqulsg2z55orygeb7we/include -ICROCOFILES/AGRIF_INC ocean2pisces.F90 > ocean2pisces_.f90 ifort -c -O3 -fno-alias -i4 -r8 -fp-model precise ocean2pisces_.f90 -o ocean2pisces.o ocean2pisces_.f90(1050): warning #6843: A dummy argument with an explicit INTENT(OUT) declaration is not given an explicit value. [KIOMID] SUBROUTINE iom_open( cdname, kiomid ) --------------------------------^ ocean2pisces_.f90(1067): warning #6843: A dummy argument with an explicit INTENT(OUT) declaration is not given an explicit value. [PVAR] SUBROUTINE iom_g3d( kiomid, kdom, cdvar, pvar, ktime ) --------------------------------------------^ ocean2pisces_.f90(1059): warning #6843: A dummy argument with an explicit INTENT(OUT) declaration is not given an explicit value. [PVAR] SUBROUTINE iom_g2d( kiomid, kdom, cdvar, pvar, ktime ) --------------------------------------------^ ... cpp -traditional -DLinux -DIfort -P -I/gpfslocalsup/spack_soft/netcdf-fortran/4.5.2/intel-19.0.4-knfz4zgnj6ohnfqulsg2z55orygeb7we/include -ICROCOFILES/AGRIF_INC pre_step3d.F | ./mpc > pre_step3d_.f ifort -c -O3 -fno-alias -i4 -r8 -fp-model precise pre_step3d_.f -o pre_step3d.o pre_step3d_.f(667): remark #7713: This statement function has not been used. [FLUX3] REAL :: flux1, flux2, flux3, flux4, flux5, flux6 -------------------------------^ pre_step3d_.f(667): remark #7713: This statement function has not been used. [FLUX5] REAL :: flux1, flux2, flux3, flux4, flux5, flux6 ---------------------------------------------^ cpp -traditional -DLinux -DIfort -P -I/gpfslocalsup/spack_soft/netcdf-fortran/4.5.2/intel-19.0.4-knfz4zgnj6ohnfqulsg2z55orygeb7we/include -ICROCOFILES/AGRIF_INC step3d_t.F | ./mpc > step3d_t_.f ifort -c -O3 -fno-alias -i4 -r8 -fp-model precise step3d_t_.f -o step3d_t.o step3d_t_.f(639): remark #7713: This statement function has not been used. [FLUX3] REAL :: flux1, flux2, flux3, flux4, flux5, flux6 -------------------------------^ step3d_t_.f(639): remark #7713: This statement function has not been used. [FLUX5] REAL :: flux1, flux2, flux3, flux4, flux5, flux6 ---------------------------------------------^ ... ======> CHRIS : warnings dans pre_step3d_.f & step3d_t_.f or c'est dans ces routines que s'arrête la repro MPI pour AGRIF + PISCES !!! CES MESSAGES DISPARAISSENT SI ON TOURNE sans BIO_HADV_WENO5 (cf ci-dessous) cpp -traditional -DLinux -DIfort -P -I/gpfslocalsup/spack_soft/netcdf-fortran/4.5.2/intel-19.0.4-knfz4zgnj6ohnfqulsg2z55orygeb7we/include -ICROCOFILES/AGRIF_INC wetdry.F | ./mpc > wetdry_.f ifort -c -O3 -fno-alias -i4 -r8 -fp-model precise wetdry_.f -o wetdry.o wetdry_.f: remark #5133: The input stream is empty cpp -traditional -DLinux -DIfort -P -I/gpfslocalsup/spack_soft/netcdf-fortran/4.5.2/intel-19.0.4-knfz4zgnj6ohnfqulsg2z55orygeb7we/include -ICROCOFILES/AGRIF_INC wavedry.F | ./mpc > wavedry_.f ifort -c -O3 -fno-alias -i4 -r8 -fp-model precise wavedry_.f -o wavedry.o wavedry_.f: remark #5133: The input stream is empty ... cpp -traditional -DLinux -DIfort -P -I/gpfslocalsup/spack_soft/netcdf-fortran/4.5.2/intel-19.0.4-knfz4zgnj6ohnfqulsg2z55orygeb7we/include -ICROCOFILES/AGRIF_INC gls_mixing.F | ./mpc > gls_mixing_.f ifort -c -O3 -fno-alias -i4 -r8 -fp-model precise gls_mixing_.f -o gls_mixing.o gls_mixing_.f: remark #5133: The input stream is empty ... cpp -traditional -DLinux -DIfort -P -I/gpfslocalsup/spack_soft/netcdf-fortran/4.5.2/intel-19.0.4-knfz4zgnj6ohnfqulsg2z55orygeb7we/include -ICROCOFILES/AGRIF_INC online_bulk_var.F | ./mpc > online_bulk_var_.f ifort -c -O3 -fno-alias -i4 -r8 -fp-model precise online_bulk_var_.f -o online_bulk_var.o online_bulk_var_.f: remark #5133: The input stream is empty cpp -traditional -DLinux -DIfort -P -I/gpfslocalsup/spack_soft/netcdf-fortran/4.5.2/intel-19.0.4-knfz4zgnj6ohnfqulsg2z55orygeb7we/include -ICROCOFILES/AGRIF_INC online_get_bulk.F | ./mpc > online_get_bulk_.f ifort -c -O3 -fno-alias -i4 -r8 -fp-model precise online_get_bulk_.f -o online_get_bulk.o online_get_bulk_.f: remark #5133: The input stream is empty cpp -traditional -DLinux -DIfort -P -I/gpfslocalsup/spack_soft/netcdf-fortran/4.5.2/intel-19.0.4-knfz4zgnj6ohnfqulsg2z55orygeb7we/include -ICROCOFILES/AGRIF_INC online_interp.F | ./mpc > online_interp_.f ifort -c -O3 -fno-alias -i4 -r8 -fp-model precise online_interp_.f -o online_interp.o cpp -traditional -DLinux -DIfort -P -I/gpfslocalsup/spack_soft/netcdf-fortran/4.5.2/intel-19.0.4-knfz4zgnj6ohnfqulsg2z55orygeb7we/include -ICROCOFILES/AGRIF_INC online_interpolate_bulk.F | ./mpc > online_interpolate_bulk_.f ifort -c -O3 -fno-alias -i4 -r8 -fp-model precise online_interpolate_bulk_.f -o online_interpolate_bulk.o online_interpolate_bulk_.f: remark #5133: The input stream is empty cpp -traditional -DLinux -DIfort -P -I/gpfslocalsup/spack_soft/netcdf-fortran/4.5.2/intel-19.0.4-knfz4zgnj6ohnfqulsg2z55orygeb7we/include -ICROCOFILES/AGRIF_INC online_set_bulk.F | ./mpc > online_set_bulk_.f ifort -c -O3 -fno-alias -i4 -r8 -fp-model precise online_set_bulk_.f -o online_set_bulk.o online_set_bulk_.f: remark #5133: The input stream is empty ... ======> CHRIS : remark #5133: The input stream is empty tous ces messages correspondent à des routines pas utilisées dans ce test. Il faudrait peut-être faire en sorte que le jobcomp ne compile que ce qui est utilisé?!? wetdry_.f wavedry_.f gls_mixing_.f online_bulk_var_.f online_get_bulk_.f online_interpolate_bulk_.f online_set_bulk_.f ================================================================================ sans BIO_HADV_WENO5 : Messages à la compilation avec ifort ================================================================================ Les messages concernant pre_step3d_.f & step3d_t_.f DISPARRAISSENT!!! 375,380d370 < pre_step3d_.f(681): remark #7713: This statement function has not been used. [FLUX3] < REAL :: flux1, flux2, flux3, flux4, flux5, flux6 < -------------------------------^ < pre_step3d_.f(681): remark #7713: This statement function has not been used. [FLUX5] < REAL :: flux1, flux2, flux3, flux4, flux5, flux6 < ---------------------------------------------^ 383,388d372 < step3d_t_.f(653): remark #7713: This statement function has not been used. [FLUX3] < REAL :: flux1, flux2, flux3, flux4, flux5, flux6 < -------------------------------^ < step3d_t_.f(653): remark #7713: This statement function has not been used. [FLUX5] < REAL :: flux1, flux2, flux3, flux4, flux5, flux6 < ---------------------------------------------^ 770,772c754,756 ================================================================================ sans BIO_HADV_WENO5 : Messages à la compilation avec gfortran ================================================================================ Avec gfortran sans BIO_HADV_WENO5, de nouveaux messages apparraissent pour MessPass2D_.f MessPass3D_.f mpif90 -c -Og -g -fdefault-real-8 -fdefault-double-8 -fbacktrace -funroll-all-loops -fcray-pointer -ffree-line-length-none -fcheck=all -finit-real=nan -ffpe-trap=invalid,zero,overflow -ffpe-summary=invalid,zero,overflow MessPass2D_.f -o MessPass2D.o MessPass2D_.f:965:22: 963 | do jpts=1,Npts | 2 964 | do ipts=1,Npts 965 | A(ipts-Npts,jpts-Npts)=buf_rev1(ipts+Npts*(jpts-1)) | 1 Warning: Array reference at (1) out of bounds (-2 < -1) in loop beginning at (2) MessPass2D_.f:965:12: 964 | do ipts=1,Npts | 2 965 | A(ipts-Npts,jpts-Npts)=buf_rev1(ipts+Npts*(jpts-1)) | 1 Warning: Array reference at (1) out of bounds (-2 < -1) in loop beginning at (2) MessPass2D_.f:973:23: 971 | do jpts=1,Npts | 2 972 | do ipts=1,Npts 973 | A(ipts-Npts,jpts-Npts)=A(ipts,jpts) | 1 Warning: Array reference at (1) out of bounds (-2 < -1) in loop beginning at (2) MessPass2D_.f:973:13: 972 | do ipts=1,Npts | 2 973 | A(ipts-Npts,jpts-Npts)=A(ipts,jpts) | 1 Warning: Array reference at (1) out of bounds (-2 < -1) in loop beginning at (2) MessPass2D_.f:997:25: 995 | do jpts=1,Npts | 2 996 | do ipts=1,Npts 997 | A(Lmmpi+ipts,jpts-Npts)=buf_rev3(ipts+Npts*(jpts-1)) | 1 Warning: Array reference at (1) out of bounds (-2 < -1) in loop beginning at (2) MessPass2D_.f:1005:25: 1003 | do jpts=1,Npts | 2 1004 | do ipts=1,Npts 1005 | A(Lmmpi+ipts,jpts-Npts)=A(Lmmpi+ipts-Npts,jpts) | 1 Warning: Array reference at (1) out of bounds (-2 < -1) in loop beginning at (2) MessPass2D_.f:1013:14: 1012 | do ipts=1,Npts | 2 1013 | A(ipts-Npts,Mmmpi+jpts)=buf_rev4(ipts+Npts*(jpts-1)) | 1 Warning: Array reference at (1) out of bounds (-2 < -1) in loop beginning at (2) MessPass2D_.f:1021:14: 1020 | do ipts=1,Npts | 2 1021 | A(ipts-Npts,Mmmpi+jpts)=A(ipts,Mmmpi+jpts-NPts) | 1 Warning: Array reference at (1) out of bounds (-2 < -1) in loop beginning at (2) Warning: Array reference at (1) out of bounds (-2 < -1) in loop beginning at (2) cpp -traditional -DLinux -P -I/net/nfs/tools/u20/22.3/PrgEnv/gcc/linux-ubuntu20.04-zen2/netcdf-fortran/4.5.3-gcc-9.4.0-if5mjidojiq3sba4ouffokb4hjqsxv6t/include -ICROCOFILES/AGRIF_INC MessPass3D.F | ./mpc > MessPass3D_.f mpif90 -c -Og -g -fdefault-real-8 -fdefault-double-8 -fbacktrace -funroll-all-loops -fcray-pointer -ffree-line-length-none -fcheck=all -finit-real=nan -ffpe-trap=invalid,zero,overflow -ffpe-summary=invalid,zero,overflow MessPass3D_.f -o MessPass3D.o MessPass3D_.f:1067:26: 1065 | do jpts=1,Npts | 2 1066 | do ipts=1,Npts 1067 | A(ipts-Npts,jpts-Npts,k)= | 1 Warning: Array reference at (1) out of bounds (-2 < -1) in loop beginning at (2) MessPass3D_.f:1067:16: 1066 | do ipts=1,Npts | 2 1067 | A(ipts-Npts,jpts-Npts,k)= | 1 Warning: Array reference at (1) out of bounds (-2 < -1) in loop beginning at (2) MessPass3D_.f:1078:26: 1076 | do jpts=1,Npts | 2 1077 | do ipts=1,Npts 1078 | A(ipts-Npts,jpts-Npts,k)= | 1 Warning: Array reference at (1) out of bounds (-2 < -1) in loop beginning at (2) MessPass3D_.f:1078:16: 1077 | do ipts=1,Npts | 2 1078 | A(ipts-Npts,jpts-Npts,k)= | 1 Warning: Array reference at (1) out of bounds (-2 < -1) in loop beginning at (2) MessPass3D_.f:1111:27: 1109 | do jpts=1,Npts | 2 1110 | do ipts=1,Npts 1111 | A(Lmmpi+ipts,jpts-Npts,k)= | 1 Warning: Array reference at (1) out of bounds (-2 < -1) in loop beginning at (2) MessPass3D_.f:1122:28: 1120 | do jpts=1,Npts | 2 1121 | do ipts=1,Npts 1122 | A(Lmmpi+ipts,jpts-Npts,k)= | 1 Warning: Array reference at (1) out of bounds (-2 < -1) in loop beginning at (2) MessPass3D_.f:1133:16: 1132 | do ipts=1,Npts | 2 1133 | A(ipts-Npts,Mmmpi+jpts,k)= | 1 Warning: Array reference at (1) out of bounds (-2 < -1) in loop beginning at (2) MessPass3D_.f:1144:16: 1143 | do ipts=1,Npts | 2 1144 | A(ipts-Npts,Mmmpi+jpts,k)=A(ipts,Mmmpi+jpts-Npts,k) | 1 Warning: Array reference at (1) out of bounds (-2 < -1) in loop beginning at (2)