Again cleanup of / everywhere. Reminder: directory names must have a / (or a \)

at the end; to that purpose, function trimcheck can be used
This commit is contained in:
Paolo Giannozzi 2018-05-28 10:47:56 +02:00
parent 4e252e6947
commit 7fe403528b
4 changed files with 46 additions and 43 deletions

View File

@ -104,7 +104,8 @@ SUBROUTINE check_initial_status(auxdyn)
IMPLICIT NONE
!
CHARACTER (LEN=256) :: auxdyn, filename
CHARACTER (LEN=6), EXTERNAL :: int_to_char
CHARACTER (LEN=256), EXTERNAL :: trimcheck
CHARACTER (LEN=6 ), EXTERNAL :: int_to_char
LOGICAL :: exst
INTEGER :: iq, iq_start, ierr
!
@ -195,8 +196,8 @@ SUBROUTINE check_initial_status(auxdyn)
! If a recover or a restart file exists the first q point is the current one.
!
IF ((.NOT.lgamma_iq(current_iq).OR. newgrid).AND.lqdir) THEN
tmp_dir_phq= TRIM (tmp_dir_ph) //TRIM(prefix)//&
& '.q_' // TRIM(int_to_char(current_iq))//'/'
tmp_dir_phq= trimcheck ( TRIM (tmp_dir_ph) // TRIM(prefix) // &
& '.q_' // int_to_char(current_iq) )
tmp_dir=tmp_dir_phq
CALL check_restart_recover(ext_recover, ext_restart)
tmp_dir=tmp_dir_ph
@ -304,8 +305,8 @@ SUBROUTINE check_initial_status(auxdyn)
! here and copy the charge density inside
!
IF ((.NOT.lgamma.OR. newgrid).AND.lqdir) THEN
tmp_dir_phq= TRIM (tmp_dir_ph) //TRIM(prefix)//&
& '.q_' // TRIM(int_to_char(iq))//'/'
tmp_dir_phq= trimcheck ( TRIM (tmp_dir_ph) // TRIM(prefix) // &
& '.q_' // int_to_char(iq) )
filename=TRIM(tmp_dir_phq)//TRIM(prefix)//postfix//'charge-density.dat'
IF (ionode) inquire (file =TRIM(filename), exist = exst)
!
@ -503,12 +504,12 @@ SUBROUTINE check_initial_status(auxdyn)
LOGICAL :: exst
CHARACTER(LEN=256) :: file_input, file_output
CHARACTER(LEN=6), EXTERNAL :: int_to_char
CHARACTER(LEN=8) :: postfix
CHARACTER(LEN=8) :: phpostfix
#if defined (_WIN32)
postfix='.phsave\'
phpostfix='.phsave\'
#else
postfix='.phsave/'
phpostfix='.phsave/'
#endif
CALL mp_barrier(intra_image_comm)
IF (nimage == 1) RETURN
@ -518,12 +519,12 @@ SUBROUTINE check_initial_status(auxdyn)
DO irr=0, irr_iq(iq)
IF (comp_irr_iq(irr,iq).and.ionode) THEN
file_input=TRIM( tmp_dir_ph ) // &
& TRIM( prefix ) // postfix // 'dynmat.' &
& TRIM( prefix ) // phpostfix // 'dynmat.' &
& // TRIM(int_to_char(iq))&
& // '.' // TRIM(int_to_char(irr)) // '.xml'
file_output=TRIM( tmp_dir_save ) // '/_ph0/' &
& // TRIM( prefix ) // postfix // 'dynmat.' &
& // TRIM( prefix ) // phpostfix // 'dynmat.' &
& // TRIM(int_to_char(iq)) &
& // '.' // TRIM(int_to_char(irr)) // '.xml'
@ -532,12 +533,12 @@ SUBROUTINE check_initial_status(auxdyn)
IF ( elph .AND. irr>0 ) THEN
file_input=TRIM( tmp_dir_ph ) // &
& TRIM( prefix ) // postfix // 'elph.' &
& TRIM( prefix ) // phpostfix // 'elph.' &
& // TRIM(int_to_char(iq))&
& // '.' // TRIM(int_to_char(irr)) // '.xml'
file_output=TRIM( tmp_dir_save ) // '/_ph0/' // &
& TRIM( prefix ) // postfix // 'elph.' &
& TRIM( prefix ) // phpostfix // 'elph.' &
& // TRIM(int_to_char(iq)) &
& // '.' // TRIM(int_to_char(irr)) // '.xml'
@ -549,10 +550,10 @@ SUBROUTINE check_initial_status(auxdyn)
IF ((ldisp.AND..NOT. (lgauss .OR. ltetra)).OR.(epsil.OR.zeu.OR.zue)) THEN
IF (lgamma_iq(iq).AND.comp_irr_iq(0,iq).AND.ionode) THEN
file_input=TRIM( tmp_dir_ph ) // &
TRIM( prefix ) // postfix // 'tensors.xml'
TRIM( prefix ) // phpostfix // 'tensors.xml'
file_output=TRIM( tmp_dir_save ) // '/_ph0/' &
// TRIM( prefix ) // postfix // 'tensors.xml'
// TRIM( prefix ) // phpostfix // 'tensors.xml'
INQUIRE (FILE = TRIM(file_input), EXIST = exst)
IF (exst) ios = f_copy(file_input, file_output)

View File

@ -1021,6 +1021,7 @@ MODULE ph_restart
IMPLICIT NONE
!
CHARACTER(LEN=256) :: dirname, filename, filename1
CHARACTER(LEN=256), EXTERNAL :: trimcheck
INTEGER :: iunout, iq, irr, ierr
CHARACTER(LEN=6), EXTERNAL :: int_to_char
LOGICAL :: exst
@ -1035,7 +1036,7 @@ MODULE ph_restart
CALL errore( 'check_directory_phsave', &
'no free units to write or read ', ierr )
dirname = TRIM( tmp_dir_ph ) // TRIM( prefix ) // '.phsave'
dirname = trimcheck ( TRIM( tmp_dir_ph ) // TRIM( prefix ) // '.phsave' )
ierr=0
DO iq=1, nqs
IF ( ionode ) THEN
@ -1044,7 +1045,7 @@ MODULE ph_restart
! NB: the representation 0 is the initial dynamical matrix calculated by
! dyn0. If it finds the file read the relevant information
!
filename= TRIM( dirname ) // '/dynmat.' // &
filename= TRIM( dirname ) // 'dynmat.' // &
TRIM(int_to_char(iq)) // '.'
DO irr=0,irr_iq(iq)
@ -1065,7 +1066,7 @@ MODULE ph_restart
! Check for the electron phonon files
!
IF (elph) THEN
filename= TRIM( dirname ) // '/elph.' // &
filename= TRIM( dirname ) // 'elph.' // &
TRIM(int_to_char(iq)) // '.'
DO irr=1,irr_iq(iq)
@ -1120,15 +1121,16 @@ MODULE ph_restart
!
USE kinds, ONLY : DP
USE disp, ONLY : nqs, x_q, lgamma_iq
USE io_files, ONLY : tmp_dir
USE io_files, ONLY : tmp_dir, postfix
USE control_ph, ONLY : tmp_dir_ph, lqdir, current_iq, newgrid
USE grid_irr_iq, ONLY : done_bands
!
IMPLICIT NONE
!
CHARACTER(LEN=256) :: dirname, filename, dir_phq, tmp_dir_save
CHARACTER(LEN=256), EXTERNAL :: trimcheck
CHARACTER(LEN=6 ), EXTERNAL :: int_to_char
INTEGER :: iq
CHARACTER(LEN=6), EXTERNAL :: int_to_char
LOGICAL :: lgamma, exst, exst_restart, exst_recover
!
! We check if the file data-file.xml is present
@ -1139,25 +1141,24 @@ MODULE ph_restart
! For the gamma point done_bands might be false only with newgrid.
!
done_bands=.FALSE.
dirname = TRIM( tmp_dir_ph ) // TRIM( prefix ) // '.save'
dirname = TRIM( tmp_dir_ph ) // TRIM( prefix ) // postfix
tmp_dir_save=tmp_dir
DO iq=1, nqs
IF ( iq == current_iq .OR. lqdir) THEN
IF (lqdir .AND. .NOT. lgamma_iq(iq)) THEN
dir_phq= TRIM (tmp_dir_ph) // TRIM(prefix) // &
& '.q_' // TRIM(int_to_char(iq)) // '/'
dirname= TRIM (dir_phq) &
& //TRIM(prefix)//'.save'
dir_phq= trimcheck ( TRIM (tmp_dir_ph) // TRIM(prefix) // &
& '.q_' // int_to_char(iq) )
dirname= TRIM (dir_phq) // TRIM(prefix) // postfix
tmp_dir=dir_phq
ELSE
tmp_dir=tmp_dir_ph
ENDIF
!
#if defined (__OLDXML)
filename=TRIM(dirname) // '/data-file.xml'
filename=TRIM(dirname) // 'data-file.xml'
#else
filename=TRIM(dirname) // '/data-file-schema.xml'
filename=TRIM(dirname) // 'data-file-schema.xml'
#endif
!
IF (ionode) inquire (file =TRIM(filename), exist = exst)
@ -1282,7 +1283,8 @@ MODULE ph_restart
CHARACTER(LEN=*), INTENT(IN) :: what
CHARACTER(LEN=256) :: dirname, filename
CHARACTER(LEN=6) :: int_to_char
CHARACTER(LEN=256), EXTERNAL :: trimcheck
CHARACTER(LEN=6 ), EXTERNAL :: int_to_char
LOGICAL :: exst
ierr=0
@ -1299,15 +1301,15 @@ MODULE ph_restart
CALL errore( 'ph_restart_set_filename', &
'no free units to write or read ', ierr )
!
dirname = TRIM( tmp_dir_ph ) // TRIM( prefix ) // '.phsave'
dirname = trimcheck ( TRIM( tmp_dir_ph ) // TRIM( prefix ) // '.phsave' )
!
! ... create the main restart directory
!
IF (ionode) inquire (file = &
#if defined (__OLDXML)
& TRIM(dirname) // '/data-file.xml', exist = exst)
& TRIM(dirname) // 'data-file.xml', exist = exst)
#else
& TRIM(dirname) // '/data-file-schema.xml', exist = exst)
& TRIM(dirname) // 'data-file-schema.xml', exist = exst)
#endif
CALL mp_bcast( exst, ionode_id, intra_image_comm )
!
@ -1321,7 +1323,7 @@ MODULE ph_restart
!
ierr=0
IF (what=='init') THEN
filename = TRIM( dirname ) // '/control_ph.xml'
filename = TRIM( dirname ) // 'control_ph.xml'
IF (iflag==1) THEN
CALL iotk_open_write( iunpun, FILE = TRIM(filename), &
BINARY = .FALSE., IERR = ierr )
@ -1332,7 +1334,7 @@ MODULE ph_restart
BINARY = .FALSE., IERR = ierr )
ENDIF
ELSEIF (what=='status_ph') THEN
filename=TRIM( dirname ) //'/status_run.xml'
filename=TRIM( dirname ) //'status_run.xml'
IF (iflag==1) THEN
CALL iotk_open_write( iunpun, FILE = TRIM( filename ), &
BINARY = .FALSE., IERR = ierr )
@ -1343,7 +1345,7 @@ MODULE ph_restart
BINARY = .FALSE., IERR = ierr )
ENDIF
ELSEIF (what=='data_u') THEN
filename= TRIM( dirname ) // '/patterns.' // &
filename= TRIM( dirname ) // 'patterns.' // &
TRIM(int_to_char(current_iq)) // '.xml'
IF (iflag==1) THEN
CALL iotk_open_write( iunpun, FILE = TRIM( filename ), &
@ -1355,7 +1357,7 @@ MODULE ph_restart
BINARY = .FALSE., IERR = ierr )
ENDIF
ELSEIF (what=='data_dyn') THEN
filename= TRIM( dirname ) // '/dynmat.' // &
filename= TRIM( dirname ) // 'dynmat.' // &
TRIM(int_to_char(current_iq)) // '.' // &
TRIM(int_to_char(irr)) // '.xml'
IF (iflag==1) THEN
@ -1368,7 +1370,7 @@ MODULE ph_restart
BINARY = .FALSE., IERR = ierr )
ENDIF
ELSEIF (what=='tensors') THEN
filename= TRIM( dirname ) // '/tensors.xml'
filename= TRIM( dirname ) // 'tensors.xml'
IF (iflag==1) THEN
CALL iotk_open_write( iunpun, FILE = TRIM( filename ), &
BINARY = .FALSE., IERR = ierr )
@ -1380,7 +1382,7 @@ MODULE ph_restart
ENDIF
ELSEIF (what=='polarization') THEN
IF (.NOT. fpol) RETURN
filename= TRIM( dirname ) // '/polarization.'// &
filename= TRIM( dirname ) // 'polarization.'// &
TRIM(int_to_char(irr)) // '.xml'
IF (iflag==1) THEN
CALL iotk_open_write( iunpun, FILE = TRIM( filename ), &
@ -1392,7 +1394,7 @@ MODULE ph_restart
BINARY = .FALSE., IERR = ierr )
ENDIF
ELSEIF (what=='el_phon') THEN
filename= TRIM( dirname ) // '/elph.' // &
filename= TRIM( dirname ) // 'elph.' // &
TRIM(int_to_char(current_iq)) // '.' // &
TRIM(int_to_char(irr)) // '.xml'
IF (iflag==1) THEN

View File

@ -555,7 +555,7 @@ SUBROUTINE phq_readin()
amass_input(:)= amass(:)
!
tmp_dir_save=tmp_dir
tmp_dir_ph= TRIM (tmp_dir) // '_ph' // TRIM(int_to_char(my_image_id)) //'/'
tmp_dir_ph= trimcheck( TRIM (tmp_dir) // '_ph' // int_to_char(my_image_id) )
CALL check_tempdir ( tmp_dir_ph, exst, parallelfs )
tmp_dir_phq=tmp_dir_ph
@ -583,8 +583,8 @@ SUBROUTINE phq_readin()
! we read from there, otherwise use the information in tmp_dir.
!
IF (lqdir) THEN
tmp_dir_phq= TRIM (tmp_dir_ph) //TRIM(prefix)//&
& '.q_' // TRIM(int_to_char(current_iq))//'/'
tmp_dir_phq= trimcheck ( TRIM(tmp_dir_ph) // TRIM(prefix) // &
& '.q_' // int_to_char(current_iq) )
CALL check_restart_recover(ext_recover, ext_restart)
IF (.NOT.ext_recover.AND..NOT.ext_restart) tmp_dir_phq=tmp_dir_ph
ENDIF

View File

@ -341,9 +341,9 @@ SUBROUTINE c_phase_field(el_pola,ion_pola, fact_pola, pdir)
if(ionode .and. phase_control>0) then
iun_phase=find_free_unit()
if(phase_control==1) THEN
OPEN( iun_phase, file=trim(tmp_dir)//'/'//trim(prefix)//'.phase.data'//trim(iun_name),status='unknown')
OPEN( iun_phase, file=trim(tmp_dir)//trim(prefix)//'.phase.data'//trim(iun_name),status='unknown')
ELSE
OPEN( iun_phase, file=trim(tmp_dir)//'/'//trim(prefix)//'.phase.data'//trim(iun_name),status='OLD')
OPEN( iun_phase, file=trim(tmp_dir)//trim(prefix)//'.phase.data'//trim(iun_name),status='OLD')
do is=1,nspinnc
do kort=1,nkort
read(iun_phase,*) idumm1,idumm2,zetas(kort,is)