Thank's for this.

When you run pes compiled with -C, you will notice an uninitialized variable, which should be removed .....

optimize_charge.f:
!   bndstep           = bndstep+0.01
    bndstep           = +0.01

On 07/10/2018 12:57 PM, Pavel Ondračka wrote:
Thanks for the fixes, the code compiles now. I've prepared a patch so
that other users don't have to patch by hand, and also for Gavin if he
continues the great work of collecting fixes in his repo. Copy to the
SRC_pes folder and apply with patch -p1 < pes-patch.txt
Best regards
Pavel


On Tue, 2018-07-10 at 08:33 +0200, Peter Blaha wrote:
Thanks for the report. See inlined comments.

PS: Unfortunately, when I looked into the code, I saw it is in
terrible
shape. It mixes real*4 up to real*16 variables randomly and has a
couple
of unclear things in it (for instance just before calling spline....

Peter Blaha

I'm interested in the new pes module. Unfortunately, the
compilation of
the module faces some problems with gfortran, specifically:

-------------

pes.f:114:19:

           read (*,'(I)') database
                     1
Error: Nonnegative width required in format string at (1)
pes.f:146:21:

             read (*,'(i)') scheme
                       1
Error: Nonnegative width required in format string at (1)

- This is nonstandard behavior, looking at the expected values it
should be probably I1 in both cases


Yes I1 is fine.

------------

pes.f:235:39:

              500 format(A,A16,2x,A16,2x,<7>(A16,2x))
                                         1
Error: Unexpected element ‘<’ in format string at (1)
pes.f:239:42:

               600 format(f16.8,2x,e16.8,2x,<7>(e16.8,2x))
                                            1
Error: Unexpected element ‘<’ in format string at (1)
ind_p.f:39:26:

                 100 format(<15>A1)
                            1
Error: Unexpected element ‘<’ in format string at (1)
optimize_charge.f:239:21:

           1013 FORMAT(<3>A15)
                       1
Error: Unexpected element ‘<’ in format string at (1)

   - Another nonstandard ifort specific stuff. Since the value is
constant the brackets are not needed anyway.

Yes, the "<" and ">" characters should simply be removed.



------------

pes.f:266:22:

         800 format(4x,I)
                        1
Error: Non-negative width required in format string at (1)
optimize_charge.f:64:25:

        1001 FORMAT(3x,A1,I)

This should be I3


                           1
Error: Nonnegative width required in format string at (1)
read_dos.f:41:21:

       301 FORMAT (7x,I)

This should be I5

                       1
Error: Nonnegative width required in format string at (1)
read_dos.f:44:45:

        400 format(4x,f10.5,10x,i3,10x,i8,20x,f)

should be f10.5

                                               1
Error: Nonnegative width required in format string at (1)

- No idea here about the required width, but needs to be set too.

------------

pes.f:279:26:

        if((ERROR.eq.0).AND.(STR.eq.'#')) then

Yes, of course this should be STTR instead of STR

                            1
Error: Operands of comparison operator ‘.eq.’ at (1) are
INTEGER(4)/CHARACTER(1)

-It looks like the STR is undefined, probably a typo (did author
want
STTR in the comparison)?

------------

read_dos.f:51:36:

                     600 format(f10.5,<n_clmn>f14.8)

Should simply be: 600 format(f10.5,7f14.8)

                                      1
Error: Unexpected element ‘<’ in format string at (1)
Find_p.f:46:25:

                200 format(<j-1>A1)

It should be 15A1

                           1
Error: Unexpected element ‘<’ in format string at (1)
Find_p.f:50:25:

                300 format(<m-j>A1)

Also here: 15A1

                           1
Error: Unexpected element ‘<’ in format string at (1)

- Can be rewritten with combination of internal output and string
formats.

for example:
write(Anumber,200)(temp(l),l=1,k-1)
200 format(<j-1>A1)

should be equivalent to

character(len=10) :: frmt
write(frmt,'("(",I0,"A1)")') j-1
write(Anumber,frmt)(temp(l),l=1,k-1)

------------

optimize_charge.f:103:9:

         IF(PCHECK(j).EQ. .FALSE.)THEN
           1
Error: Logicals at (1) must be compared with .eqv. instead of .eq.
optimize_charge.f:329:12:

           IF (CHECK.EQ..FALSE.) THEN
              1
Error: Logicals at (1) must be compared with .eqv. instead of .eq.
read_database2.f:68:5:

    if (data_exist.eq..false.)then
       1
Error: Logicals at (1) must be compared with .eqv. instead of .eq.

- Use .eqv. as suggested.

Yes, in all these cases it should be   .eqv.


-------------

SPLINE.f:15:14:

      call  setup(p0, p1, p2, p3,
delta_x,X,F,N,strt,stp,J,interpolation)
                1
Error: Explicit interface required for ‘setup’ at (1): allocatable
argument

edit SPLINE.f and remove p0-p3 from the arguments of subroutine
setup
and remove the intent(out) definition for these variables:

...
     call  setup(delta_x,X,F,N,strt,stp,J,interpolation)

END SUBROUTINE SPLINE

subroutine setup(delta_x,tempx,tempy,n,strt,stp,J,interpolation)
...
!    real(dp),dimension(:),allocatable, intent(out) :: p0, p1, p2, p3
!
spline coefficients
      real(dp),dimension(:),allocatable :: p0, p1, p2, p3 ! spline
coefficients
...


- No idea here :-(

-------------

read_int.f:18:25:

                read(22,100),ndos


remove comma before ndos

                           1
Warning: Legacy Extension: Comma before i/o item list at (1)

Find_p.f:66:65:

                             write(output_names(output_counter),500)
,aname(m),composition(m,n),m

Remove comma before aname

                                                                   1
Warning: Legacy Extension: Comma before i/o item list at (1)

- Some unrelated harmless easy to fix warnings.
-------------

Most of the fixes are probably obvious except the missing length
for
the read formats, where the proper fix requires some knowledge
about
the input structuring and also the "Explicit interface required"
stuff.

Best regards
Pavel

_______________________________________________
Wien mailing list
Wien@zeus.theochem.tuwien.ac.at
http://zeus.theochem.tuwien.ac.at/mailman/listinfo/wien
SEARCH the MAILING-LIST at:  http://www.mail-archive.com/wien@zeus.
theochem.tuwien.ac.at/index.html




_______________________________________________
Wien mailing list
Wien@zeus.theochem.tuwien.ac.at
http://zeus.theochem.tuwien.ac.at/mailman/listinfo/wien
SEARCH the MAILING-LIST at:  
http://www.mail-archive.com/wien@zeus.theochem.tuwien.ac.at/index.html

--

                                      P.Blaha
--------------------------------------------------------------------------
Peter BLAHA, Inst.f. Materials Chemistry, TU Vienna, A-1060 Vienna
Phone: +43-1-58801-165300             FAX: +43-1-58801-165982
Email: bl...@theochem.tuwien.ac.at    WIEN2k: http://www.wien2k.at
WWW:   http://www.imc.tuwien.ac.at/TC_Blaha
--------------------------------------------------------------------------
_______________________________________________
Wien mailing list
Wien@zeus.theochem.tuwien.ac.at
http://zeus.theochem.tuwien.ac.at/mailman/listinfo/wien
SEARCH the MAILING-LIST at:  
http://www.mail-archive.com/wien@zeus.theochem.tuwien.ac.at/index.html

Reply via email to