35 end interface valcheck
64 integer,
intent(in) :: current_line
65 real(RP),
intent(in) :: v
73 write(*,*)
'xxx uninitialized value at line:', current_line
97 real(RP),
intent(in) :: var(:)
98 real(RP),
intent(in) :: valmin
99 real(RP),
intent(in) :: valmax
100 character(len=*),
intent(in) :: varname
101 character(len=*),
intent(in) :: current_file
102 integer,
intent(in) :: current_line
104 logical :: invalid_value
105 integer :: k, kstr, kend
110 kstr = lbound( var(:), 1 )
111 kend = ubound( var(:), 1 )
113 invalid_value = .false.
115 if ( var(k)*0.0_rp /= 0.0_rp &
116 .OR. var(k) < valmin &
117 .OR. var(k) > valmax )
then 118 invalid_value = .true.
123 if ( invalid_value )
then 127 write(*,*)
'xxx invalid value:', trim(varname), &
129 write(*,*)
'xxx in file:', trim(current_file),
', at line:', current_line
154 real(RP),
intent(in) :: var(:,:)
155 real(RP),
intent(in) :: valmin
156 real(RP),
intent(in) :: valmax
157 character(len=*),
intent(in) :: varname
158 character(len=*),
intent(in) :: current_file
159 integer,
intent(in) :: current_line
161 logical :: invalid_value
162 integer :: k, kstr, kend
163 integer :: i, istr, iend
168 kstr = lbound( var(:,:), 1 )
169 kend = ubound( var(:,:), 1 )
171 istr = lbound( var(:,:), 2 )
172 iend = ubound( var(:,:), 2 )
174 invalid_value = .false.
175 outer:
do i = istr, iend
177 if ( var(k,i)*0.0_rp /= 0.0_rp &
178 .OR. var(k,i) < valmin &
179 .OR. var(k,i) > valmax )
then 180 invalid_value = .true.
186 if ( invalid_value )
then 190 write(*,*)
'xxx invalid value:', trim(varname), &
191 '(',
prc_myrank,
',', k,
',', i,
')=', var(k,i)
192 write(*,*)
'xxx in file:', trim(current_file),
', at line:', current_line
217 real(RP),
intent(in) :: var(:,:,:)
218 real(RP),
intent(in) :: valmin
219 real(RP),
intent(in) :: valmax
220 character(len=*),
intent(in) :: varname
221 character(len=*),
intent(in) :: current_file
222 integer,
intent(in) :: current_line
224 logical :: invalid_value
225 integer :: k, kstr, kend
226 integer :: i, istr, iend
227 integer :: j, jstr, jend
232 kstr = lbound( var(:,:,:), 1 )
233 kend = ubound( var(:,:,:), 1 )
235 istr = lbound( var(:,:,:), 2 )
236 iend = ubound( var(:,:,:), 2 )
238 jstr = lbound( var(:,:,:), 3 )
239 jend = ubound( var(:,:,:), 3 )
241 invalid_value = .false.
242 outer:
do j = jstr, jend
245 if ( var(k,i,j)*0.0_rp /= 0.0_rp &
246 .OR. var(k,i,j) < valmin &
247 .OR. var(k,i,j) > valmax )
then 248 invalid_value = .true.
255 if ( invalid_value )
then 259 write(*,*)
'xxx invalid value:', trim(varname), &
260 '(',
prc_myrank,
',', k,
',', i,
',', j,
')=', var(k,i,j)
261 write(*,*)
'xxx in file:', trim(current_file),
', at line:', current_line
subroutine valcheck_1d(var, valmin, valmax, varname, current_file, current_line)
Nan & extreme value checker (1D)
subroutine, public prc_mpistop
Abort MPI.
subroutine valcheck_2d(var, valmin, valmax, varname, current_file, current_line)
Nan & extreme value checker (2D)
subroutine, public check(current_line, v)
Undefined value checker.
real(rp), public const_undef
subroutine valcheck_3d(var, valmin, valmax, varname, current_file, current_line)
Nan & extreme value checker (3D)
integer, public prc_myrank
process num in local communicator
subroutine, public prof_rapstart(rapname_base, level)
Start raptime.
integer, public debug_domain_num
subroutine, public prof_rapend(rapname_base, level)
Save raptime.