Setup dependent variable (e.g., concentration or temperature) and budget as output control variables.
58
59 class(TspOcType) :: this
60 real(DP), dimension(:), pointer, contiguous, intent(in) :: depvar
61 character(len=*), intent(in) :: dvname
62 class(DisBaseType), pointer, intent(in) :: dis
63 real(DP), intent(in) :: dnodata
64
65 integer(I4B) :: i, nocdobj, inodata
66 type(OutputControlDataType), pointer :: ocdobjptr
67 real(DP), dimension(:), pointer, contiguous :: nullvec => null()
68 character(len=LINELENGTH) :: ocfile
69 logical(LGP) :: found_ocfile
70
71
72 inodata = 0
73 nocdobj = 2
74 allocate (this%ocds(nocdobj))
75 do i = 1, nocdobj
76 call ocd_cr(ocdobjptr)
77 select case (i)
78 case (1)
79 call ocdobjptr%init_dbl(
'BUDGET', nullvec,
dis,
'PRINT LAST ', &
80 'COLUMNS 10 WIDTH 11 DIGITS 4 GENERAL ', &
82 case (2)
83 call ocdobjptr%init_dbl(trim(dvname), depvar,
dis,
'PRINT LAST ', &
84 'COLUMNS 10 WIDTH 11 DIGITS 4 GENERAL ', &
86 end select
87 this%ocds(i) = ocdobjptr
88 deallocate (ocdobjptr)
89 end do
90
91
92 if (this%input_mempath /= '') then
93 write (this%iout, '(/,1x,a,/)') 'PROCESSING OC OPTIONS'
94 call this%source_options()
95 call mem_set_value(ocfile, dvname(1:4)//
'FILE', this%input_mempath, &
96 found_ocfile)
97 if (found_ocfile) then
98 call this%set_ocfile(dvname, ocfile, this%iout)
99 end if
100 write (this%iout, '(1x,a)') 'END OF OC OPTIONS'
101 end if
This module contains simulation constants.
integer(i4b), parameter linelength
maximum length of a standard line
real(dp), parameter dnodata
real no data constant
@ dis
DIS6 discretization.