730 class(BndExtType) :: this
732 character(len=10) :: cpos
733 character(len=LINELENGTH) :: tag
734 character(len=LINELENGTH),
allocatable,
dimension(:) :: words
735 integer(I4B) :: ntabrows
736 integer(I4B) :: ntabcols
738 integer(I4B) :: ii, jj, i, j, k, nod
741 type(TableType),
pointer :: inputtab => null()
743 character(len=LINELENGTH) :: fmtlstbn
747 naux =
size(this%auxvar, 1)
750 ntabrows = this%nbound
754 ipos = index(this%listlabel,
'NO.')
756 write (cpos,
'(i10)') ipos + 3
757 fmtlstbn =
'(a'//trim(adjustl(cpos))
762 if (
size(this%dis%mshape) == 3)
then
764 fmtlstbn = trim(fmtlstbn)//
',a7,a7,a7'
767 else if (
size(this%dis%mshape) == 2)
then
769 fmtlstbn = trim(fmtlstbn)//
',a7,a7'
774 fmtlstbn = trim(fmtlstbn)//
',a7'
778 ntabcols = ntabcols + ldim
780 fmtlstbn = trim(fmtlstbn)//
',a16'
784 if (this%inamedbound == 1)
then
785 ntabcols = ntabcols + 1
786 fmtlstbn = trim(fmtlstbn)//
',a16'
790 ntabcols = ntabcols + naux
792 fmtlstbn = trim(fmtlstbn)//
',a16'
794 fmtlstbn = trim(fmtlstbn)//
')'
797 allocate (words(ntabcols))
800 read (this%listlabel, fmtlstbn) (words(i), i=1, ntabcols)
804 call inputtab%table_df(ntabrows, ntabcols, this%iout)
808 call inputtab%initialize_column(words(ipos), 10, alignment=
tabcenter)
811 do i = 1,
size(this%dis%mshape)
813 call inputtab%initialize_column(words(ipos), 7, alignment=
tabcenter)
819 call inputtab%initialize_column(words(ipos), 16, alignment=
tabcenter)
823 if (this%inamedbound == 1)
then
831 call inputtab%initialize_column(this%auxname(i), 16, alignment=
tabcenter)
835 do ii = 1, this%nbound
836 call inputtab%add_term(ii)
839 if (
size(this%dis%mshape) == 3)
then
840 nod = this%nodelist(ii)
841 call get_ijk(nod, this%dis%mshape(2), this%dis%mshape(3), &
842 this%dis%mshape(1), i, j, k)
843 call inputtab%add_term(k)
844 call inputtab%add_term(i)
845 call inputtab%add_term(j)
846 else if (
size(this%dis%mshape) == 2)
then
847 nod = this%nodelist(ii)
848 call get_ijk(nod, 1, this%dis%mshape(2), this%dis%mshape(1), i, j, k)
849 call inputtab%add_term(k)
850 call inputtab%add_term(j)
852 nod = this%nodelist(ii)
853 call inputtab%add_term(nod)
858 call inputtab%add_term(this%bound_value(jj, ii))
862 if (this%inamedbound == 1)
then
863 call inputtab%add_term(this%boundname(ii))
868 call inputtab%add_term(this%auxvar(jj, ii))
873 call inputtab%table_da()
874 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)