<div dir="ltr"><div>Dear QE developer, <br><br>We've recently purchase a NAG licence (latest version) and ran it on QE. <br><br>Here is a list of changes/bug fix to make NAG happy (we have only solve the error, not <br>the warnings).  <br><br>1) lapack-3.2/make.inc<br>Although my environment is set up for nagfor, the configure is not able to modify <br>the install/make_lapack.inc correctly. Therefore we have to change manually the following:<br>FORTRAN  = nagfor<br>OPTS     = -O0 -kind=byte -dcfuns -mismatch<br>DRVOPTS  = -O0 -kind=byte -dcfuns -mismatch<br>NOOPT    = -O0 -g<br>LOADER   = nagfor<br>LOADOPTS = -g <br><br>The same has to be done for install/make_blas.inc<br><br>2) The "pthread" option is not accepted by NAG. <br>This is not really a bug, just to say we had to remove this option from the make.sys file <br>of QE. <br><br>Additionally, NAG doesn't have a great internal fortran preprocessor, <br>so use CPP (from make.sys):<br>.f90.o:<br>        $(CPP) $(CPPFLAGS) $< -o $*.F90<br>        $(MPIF90) $(F90FLAGS) -c $*.F90 -o $*.o<br><br>Also on the make.sys file, NAG does not support -x options, therefore change<br>to. Also notice the -kind=byte option to tell NAG that KIND(4) and KIND(8) is <br>the convention in QE.<br>The -mismatch option is to make NAG less strict and -dcfuncs  is to allow non standard casting variable like dcmplx <br></div><div><br>CFLAGS         = -O0 $(DFLAGS) $(IFLAGS)<br>F90FLAGS       = $(FFLAGS) $(FDFLAGS) $(IFLAGS) $(MODFLAGS)<br>FFLAGS         = -O0 -kind=byte -dcfuns -mismatch<br><br>3) It would be usefull to have a macro <br>!#ifdef NAG<br>  USE F90_UNIX_ENV, ONLY : IARGC,GETARG<br><br>The Wannier90 code does have a ifdef NAG macro. <br><br>4) The main corrections are related to<br>- change $ which is depreciated by advance="NO"<br>- small bug (an interface was defined with optional argument but the subroutine <br>called was not)<br>- swapping order of variable declaration so that the variable is first declared<br>and then used<br>- Change X by 1X <br><br>Join to this email is a patch of the difference (to be applied on the QE-r11723):<br><br>patch -p1 < diff-nag.patch<br><br>Note: This only solves the problems to "make pw". Other parts like ph are not done yet.<br><br>Best Regards,<br><br>Samuel and Henry<br><br></div></div>