Line data Source code
1 : !======================================================================= 2 : 3 : module icedrv_restart_shared 4 : 5 : use icedrv_kinds 6 : implicit none 7 : private 8 : public :: lenstr 9 : 10 : logical (kind=log_kind), public :: & 11 : restart ! if true, initialize using restart file instead of defaults 12 : 13 : character (len=char_len_long), public :: & 14 : restart_file , & ! output file for restart dump 15 : restart_dir ! directory name for restart dump 16 : 17 : !======================================================================= 18 : 19 : contains 20 : 21 : !======================================================================= 22 : 23 : ! Compute length of string by finding first non-blank 24 : ! character from the right. 25 : 26 2448 : integer function lenstr(label) 27 : 28 : character*(*) label 29 : 30 : ! local variables 31 : 32 : integer (kind=int_kind) :: & 33 : length, & ! length of character string 34 : n ! loop index 35 : 36 : character(len=*), parameter :: subname='(lenstr)' 37 : 38 2448 : length = len(label) 39 592416 : do n=length, 1, -1 40 592416 : if( label(n:n) /= ' ' ) exit 41 : enddo 42 2448 : lenstr = n 43 : 44 4896 : end function lenstr 45 : 46 : !======================================================================= 47 : 48 : end module icedrv_restart_shared 49 : 50 : !=======================================================================