17 character(len=*),
intent(in) :: s
18 character(len=max(1,len(s))) c
21 if (s /=
' ') c = adjustl(s)
27 character(len=*),
intent(in) :: s
28 character(len=max(1,len(s))) c
31 if (s /=
' ') c = adjustr(s)
37 character(len=*),
intent(inout) :: cds
38 integer_m,
parameter :: ich_a = ichar(
'a')
39 integer_m,
parameter :: icha = ichar(
'A')
40 integer_m,
parameter :: ichz = ichar(
'Z')
41 integer_m :: i, ich, new_ich
46 if ( ich >= icha .and. ich <= ichz )
then
47 new_ich = ich + (ich_a - icha)
57 character(len=*),
intent(inout) :: cds
58 integer_m,
parameter :: ich_a = ichar(
'A')
59 integer_m,
parameter :: icha = ichar(
'a')
60 integer_m,
parameter :: ichz = ichar(
'z')
61 integer_m :: i, ich, new_ich
66 if ( ich >= icha .and. ich <= ichz )
then
67 new_ich = ich + (ich_a - icha)
82 integer_m,
intent(in) :: myproc, nproc
83 integer_m,
intent(in) :: timestep, max_timestep
84 character(len=*),
intent(inout) :: s(:)
85 character(len=2*len(s)) t
86 character(len=2*len(s)) tt
87 integer_m :: i, j, jj, loc_p, len_t, n
88 integer_m :: ndigs(4), num(4)
89 character(len=6) fmt(4)
97 num(2) = max(nproc,myproc)
99 num(4) = max(max_timestep,timestep)
104 if (num(j) /= 0)
then
105 ndigs(j) = 1 + log10(dble(abs(num(j))))
106 if (num(j) < 0) ndigs(j) = ndigs(j) + 1
108 ndigs(j) = min(int(ndigs(j)),9)
109 write(fmt(j),
'("(i",i1,")")') ndigs(j)
118 loc_p = index(s(1),
'%s')
125 t = adjustl(s(i))//
' '
135 do while (j <= len_t)
136 if (t(j:j) ==
'%')
then
139 select case ( t(j:j) )
141 write(tt(jj+1:jj+ndigs(1)),fmt(1)) myproc
144 write(tt(jj+1:jj+ndigs(2)),fmt(2)) nproc
147 write(tt(jj+1:jj+ndigs(3)),fmt(3)) i
150 write(tt(jj+1:jj+ndigs(4)),fmt(4)) timestep
153 tt(jj+1:jj+2) =
'%'//t(j:j)
161 tt(jj+1:jj+1) = t(j:j)
174 if (t(j:j) ==
' ')
then
character(len=max(1, len(s))) function, public sadjustr(s)
character(len=max(1, len(s))) function, public sadjustl(s)
subroutine, public toupper(cds)
subroutine, public expand_string(myproc, nproc, timestep, max_timestep, s)
subroutine, public tolower(cds)