601 class(BndExtType) :: this
603 character(len=10) :: cpos
604 character(len=LINELENGTH) :: tag
605 character(len=LINELENGTH),
allocatable,
dimension(:) :: words
606 integer(I4B) :: ntabrows
607 integer(I4B) :: ntabcols
609 integer(I4B) :: ii, jj, i, j, k, nod
612 type(TableType),
pointer :: inputtab => null()
614 character(len=LINELENGTH) :: fmtlstbn
619 naux =
size(this%auxvar, 1)
622 ntabrows = this%nbound
626 ipos = index(this%listlabel,
'NO.')
628 write (cpos,
'(i10)') ipos + 3
629 fmtlstbn =
'(a'//trim(adjustl(cpos))
634 if (
size(this%dis%mshape) == 3)
then
636 fmtlstbn = trim(fmtlstbn)//
',a7,a7,a7'
639 else if (
size(this%dis%mshape) == 2)
then
641 fmtlstbn = trim(fmtlstbn)//
',a7,a7'
646 fmtlstbn = trim(fmtlstbn)//
',a7'
650 ntabcols = ntabcols + ldim
652 fmtlstbn = trim(fmtlstbn)//
',a16'
656 if (this%inamedbound == 1)
then
657 ntabcols = ntabcols + 1
658 fmtlstbn = trim(fmtlstbn)//
',a16'
662 ntabcols = ntabcols + naux
664 fmtlstbn = trim(fmtlstbn)//
',a16'
666 fmtlstbn = trim(fmtlstbn)//
')'
669 allocate (words(ntabcols))
672 read (this%listlabel, fmtlstbn) (words(i), i=1, ntabcols)
676 call inputtab%table_df(ntabrows, ntabcols, this%iout)
680 call inputtab%initialize_column(words(ipos), 10, alignment=
tabcenter)
683 do i = 1,
size(this%dis%mshape)
685 call inputtab%initialize_column(words(ipos), 7, alignment=
tabcenter)
691 call inputtab%initialize_column(words(ipos), 16, alignment=
tabcenter)
695 if (this%inamedbound == 1)
then
703 call inputtab%initialize_column(this%auxname(i), 16, alignment=
tabcenter)
707 do ii = 1, this%nbound
708 call inputtab%add_term(ii)
711 if (
size(this%dis%mshape) == 3)
then
712 nod = this%nodelist(ii)
713 call get_ijk(nod, this%dis%mshape(2), this%dis%mshape(3), &
714 this%dis%mshape(1), i, j, k)
715 call inputtab%add_term(k)
716 call inputtab%add_term(i)
717 call inputtab%add_term(j)
718 else if (
size(this%dis%mshape) == 2)
then
719 nod = this%nodelist(ii)
720 call get_ijk(nod, 1, this%dis%mshape(2), this%dis%mshape(1), i, j, k)
721 call inputtab%add_term(k)
722 call inputtab%add_term(j)
724 nod = this%nodelist(ii)
725 call inputtab%add_term(nod)
730 call inputtab%add_term(this%bound_value(jj, ii))
734 if (this%inamedbound == 1)
then
735 call inputtab%add_term(this%boundname(ii))
740 call inputtab%add_term(this%auxvar(jj, ii))
745 call inputtab%table_da()
746 deallocate (inputtab)
integer(i4b), parameter linelength
maximum length of a standard line
@ tabcenter
centered table column
@ tableft
left justified table column
integer(i4b), parameter lenboundname
maximum length of a bound name
real(dp), parameter dzero
real constant zero
subroutine, public table_cr(this, name, title)