My Project
Public Member Functions | List of all members
input_util::get_val_array Interface Reference

Public Member Functions

subroutine get_float_val_array (fval, filename, argname, size, echo)
 
subroutine get_string_val_array (sval, filename, argname, size, echo)
 
subroutine get_logical_val_array (cval, filename, argname, size, echo)
 
subroutine get_integer_val_array (ival, filename, argname, size, echo)
 

Detailed Description

Definition at line 50 of file mod_newinp.f90.

Member Function/Subroutine Documentation

◆ get_float_val_array()

subroutine input_util::get_val_array::get_float_val_array ( real(sp), dimension(size), intent(out)  fval,
character(len=*), intent(in)  filename,
character(len=*), intent(in)  argname,
integer, intent(in)  size,
logical, intent(in), optional  echo 
)

Definition at line 301 of file mod_newinp.f90.

301  implicit none
302 
303  character(len=*), intent(in ) :: filename
304  character(len=*), intent(in ) :: argname
305  integer,intent(in) :: SIZE
306  real(sp),dimension(size), intent(out) :: fval
307  logical, optional,intent(in) :: echo
308 
309 
310 
311  character(len=80) :: argval
312  character(len=80) :: argtype
313  integer :: ierr
314  integer :: iscan
315  integer :: ntemp
316  real(sp) :: ftemp
317  real(sp) :: REALVEC(150)
318 
319  if(dbg_set(dbg_sbr)) write(ipt,*) "Start:Get_Float_Val_Array "
320 
321  !make sure file exists
322  if(.not.check_exist(filename))then
323  call error('Get_Val','halt','error reading: '//trim(argname), &
324  'file: '//trim(filename)//' does not exist')
325  endif
326 
327  !read in
328  iscan = scan_file3(filename,argname,fvec = realvec,nsze = ntemp)
329  IF(iscan /= 0)THEN
330  WRITE(ipt,*)'ERROR READING: ',trim(argname),': ',iscan
331  call error('Get_Val','halt','error reading variable: '//trim(argname), &
332  'does not exist in file: '//trim(filename))
333  END IF
334 
335  IF(ntemp > size)THEN
336  WRITE(*,*)'EXPECTED SIZE:',SIZE
337  WRITE(*,*)'AND READ: ',realvec(1:ntemp)
338  call error('Get_Val','warning','warning reading variable: '//trim(argname), &
339  'number of specified size in : '//trim(filename)//' in not eq&
340  &ual to expected size,specified size is used in the model ')
341  ELSEIF(ntemp < size)THEN
342  WRITE(*,*)'EXPECTED SIZE:',SIZE
343  WRITE(*,*)'AND READ: ',realvec
344  call error('Get_Val','halt','error reading variable: '//trim(argname), &
345  'number of specified size in : '//trim(filename)//' in not eq&
346  &ual to expected size ')
347  END IF
348 
349  fval(1:size)= realvec(1:size)
350 
351  ! echo to screen
352  if(present(echo))then
353  if(echo)then
354  write(*,'(A20,<size>F10.4)')trim(argname)//': ',fval(1:size)
355  endif
356  end if
357 
358  if(dbg_set(dbg_sbr)) write(ipt,*) "End: Get_Float_Val_Array "
359 
integer ipt
Definition: mod_main.f90:922

◆ get_integer_val_array()

subroutine input_util::get_val_array::get_integer_val_array ( integer, dimension(size), intent(out)  ival,
character(len=*), intent(in)  filename,
character(len=*), intent(in)  argname,
integer, intent(in)  size,
logical, intent(in), optional  echo 
)

Definition at line 370 of file mod_newinp.f90.

370  implicit none
371 
372  character(len=*), intent(in ) :: filename
373  character(len=*), intent(in ) :: argname
374  integer,intent(in) :: SIZE
375  integer,dimension(size), intent(out) :: ival
376  logical, optional,intent(in) :: echo
377 
378 
379 
380  character(len=80) :: argval
381  character(len=80) :: argtype
382  integer :: ierr
383  integer :: iscan
384  integer :: ntemp
385  real(sp) :: ftemp
386  real(sp) :: REALVEC(150)
387 
388  if(dbg_set(dbg_sbr)) write(ipt,*) "Start: Get_Integer_Val_Array"
389 
390  !make sure file exists
391  if(.not.check_exist(filename))then
392  call error('Get_Val','halt','error reading: '//trim(argname), &
393  'file: '//trim(filename)//' does not exist')
394  endif
395 
396  !read in
397  iscan = scan_file3(filename,argname,fvec = realvec,nsze = ntemp)
398  IF(iscan /= 0)THEN
399  WRITE(ipt,*)'ERROR READING',trim(argname),': ',iscan
400  call error('Get_Val','halt','error reading variable: '//trim(argname), &
401  'does not exist in file: '//trim(filename))
402  END IF
403  print*,ntemp, size
404  IF(ntemp > size)THEN
405  WRITE(*,*)'EXPECTED SIZE:',SIZE
406  WRITE(*,*)'AND READ: ',realvec(1:ntemp)
407  call error('Get_Val','warning','warning reading variable: '//trim(argname), &
408  'number of specified size in : '//trim(filename)//' in not eq&
409  &ual to expected size,specified size is used in the model ')
410  ELSEIF(ntemp < size)THEN
411  WRITE(*,*)'EXPECTED SIZE:',SIZE
412  WRITE(*,*)'AND READ: ',realvec
413  call error('Get_Val','halt','error reading variable: '//trim(argname), &
414  'number of specified size in : '//trim(filename)//' in not eq&
415  &ual to expected size ')
416  END IF
417 
418  ival(1:size)= realvec(1:size)
419 
420  ! echo to screen
421  if(present(echo))then
422  if(echo)then
423  write(*,'(A20,<size>I10)')trim(argname)//': ',ival(1:size)
424  endif
425  end if
426 
427  if(dbg_set(dbg_sbr)) write(ipt,*) "End: Get_Integer_Val_Array"
428 
integer ipt
Definition: mod_main.f90:922

◆ get_logical_val_array()

subroutine input_util::get_val_array::get_logical_val_array ( logical, dimension(size), intent(out)  cval,
character(len=*), intent(in)  filename,
character(len=*), intent(in)  argname,
integer, intent(in)  size,
logical, intent(in), optional  echo 
)

Definition at line 438 of file mod_newinp.f90.

438  implicit none
439 
440  character(len=*), intent(in ) :: filename
441  character(len=*), intent(in ) :: argname
442  integer,intent(in) :: SIZE
443  logical,dimension(size), intent(out) :: cval
444  logical, optional,intent(in) :: echo
445 
446 
447 
448  character(len=80) :: argval
449  character(len=80) :: argtype
450  integer :: ierr,i
451  integer :: iscan
452  integer :: ntemp
453  real(sp) :: ftemp
454  character(len=80), dimension(100):: CHARVEC
455 
456  if(dbg_set(dbg_sbr)) write(ipt,*) "Start: Get_Logical_Val_Array"
457 
458  !make sure file exists
459  if(.not.check_exist(filename))then
460  call error('Get_Val','halt','error reading: '//trim(argname), &
461  'file: '//trim(filename)//' does not exist')
462  endif
463 
464  !read in
465  iscan = scan_file3(filename,argname,cvec = charvec,nsze = ntemp)
466  IF(iscan /= 0)THEN
467  WRITE(ipt,*)'ERROR READING:',trim(argname),': ',iscan
468  call error('Get_Val','halt','error reading variable: '//trim(argname), &
469  'does not exist in file: '//trim(filename))
470  END IF
471 
472  IF(ntemp > size)THEN
473  WRITE(*,*)'EXPECTED SIZE:',SIZE
474  WRITE(*,*)'AND READ: ',charvec(1:ntemp)
475  call error('Get_Val','warning','warning reading variable: '//trim(argname), &
476  'number of specified size in : '//trim(filename)//' in not eq&
477  &ual to expected size,specified size is used in the model ')
478  ELSEIF(ntemp < size)THEN
479  WRITE(*,*)'EXPECTED SIZE:',SIZE
480  WRITE(*,*)'AND READ: ',charvec
481  call error('Get_Val','halt','error reading variable: '//trim(argname), &
482  'number of specified size in : '//trim(filename)//' in not eq&
483  &ual to expected size ')
484  END IF
485 
486  do i=1,size
487  IF((trim(charvec(i))== "T" .OR. trim(charvec(i))=="F").and.(len(trim(charvec(i)))==1))THEN
488  if(trim(charvec(i)) == "T")cval(i)=.true.
489  if(trim(charvec(i)) == "F")cval(i)=.false.
490  end if
491  end do
492 
493  ! echo to screen
494  if(present(echo))then
495  if(echo)then
496  write(*,'(A20,<size>L10)')trim(argname)//': ',cval(1:size)
497  endif
498  end if
499 
500  if(dbg_set(dbg_sbr)) write(ipt,*) "End: Get_Logical_Val_Array"
501 
integer ipt
Definition: mod_main.f90:922

◆ get_string_val_array()

subroutine input_util::get_val_array::get_string_val_array ( character(len=*), dimension(size), intent(out)  sval,
character(len=*), intent(in)  filename,
character(len=*), intent(in)  argname,
integer, intent(in)  size,
logical, intent(in), optional  echo 
)

Definition at line 515 of file mod_newinp.f90.

515  implicit none
516 
517  character(len=*), intent(in ) :: filename
518  character(len=*), intent(in ) :: argname
519  integer,intent(in) :: SIZE
520  character(len=*),dimension(size), intent(out) :: sval
521  logical, optional,intent(in) :: echo
522 
523 
524 
525  character(len=80) :: argval
526  character(len=80) :: argtype
527  integer :: ierr,i
528  integer :: iscan
529  integer :: ntemp
530  real(sp) :: ftemp
531  character(len=80), dimension(100):: CHARVEC
532 
533  if(dbg_set(dbg_sbr)) write(ipt,*) "Start: Get_String_Val_Array"
534 
535  !make sure file exists
536  if(.not.check_exist(filename))then
537  call error('Get_Val','halt','error reading: '//trim(argname), &
538  'file: '//trim(filename)//' does not exist')
539  endif
540 
541  !read in
542  iscan = scan_file3(filename,argname,cvec = charvec,nsze = ntemp)
543  IF(iscan /= 0)THEN
544  WRITE(ipt,*)'ERROR READING:',trim(argname),': ',iscan
545  call error('Get_Val','halt','error reading variable: '//trim(argname), &
546  'does not exist in file: '//trim(filename))
547  END IF
548 
549  IF(ntemp > size)THEN
550  WRITE(*,*)'EXPECTED SIZE:',SIZE
551  WRITE(*,*)'AND READ: ',charvec(1:ntemp)
552  call error('Get_Val','warning','warning reading variable: '//trim(argname), &
553  'number of specified size in : '//trim(filename)//' in not eq&
554  &ual to expected size,specified size is used in the model ')
555  ELSEIF(ntemp < size)THEN
556  WRITE(*,*)'EXPECTED SIZE:',SIZE
557  WRITE(*,*)'AND READ: ',charvec
558  call error('Get_Val','halt','error reading variable: '//trim(argname), &
559  'number of specified size in : '//trim(filename)//' in not eq&
560  &ual to expected size ')
561  END IF
562 
563 
564  sval(1:size)= charvec(1:size)
565 
566  ! echo to screen
567  if(present(echo))then
568  if(echo)then
569  write(*,'(A20,<size>A10)')trim(argname)//': ',sval(1:size)
570  endif
571  end if
572 
573  if(dbg_set(dbg_sbr)) write(ipt,*) "End: Get_String_Val_Array"
574 
integer ipt
Definition: mod_main.f90:922

The documentation for this interface was generated from the following file: