30 subroutine oc_cr(ocobj, name_model, input_mempath, inunit, iout)
33 character(len=*),
intent(in) :: name_model
34 character(len=*),
intent(in) :: input_mempath
35 integer(I4B),
intent(in) :: inunit
36 integer(I4B),
intent(in) :: iout
42 call ocobj%allocate_scalars(name_model, input_mempath)
55 subroutine oc_ar(this, depvar, dis, dnodata, dvname)
60 real(DP),
dimension(:),
pointer,
contiguous,
intent(in) :: depvar
61 character(len=*),
intent(in) :: dvname
63 real(DP),
intent(in) :: dnodata
65 integer(I4B) :: i, nocdobj, inodata
67 real(DP),
dimension(:),
pointer,
contiguous :: nullvec => null()
68 character(len=LINELENGTH) :: ocfile
69 logical(LGP) :: found_ocfile
74 allocate (this%ocds(nocdobj))
79 call ocdobjptr%init_dbl(
'BUDGET', nullvec, dis,
'PRINT LAST ', &
80 'COLUMNS 10 WIDTH 11 DIGITS 4 GENERAL ', &
83 call ocdobjptr%init_dbl(trim(dvname), depvar, dis,
'PRINT LAST ', &
84 'COLUMNS 10 WIDTH 11 DIGITS 4 GENERAL ', &
87 this%ocds(i) = ocdobjptr
88 deallocate (ocdobjptr)
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, &
97 if (found_ocfile)
then
98 call this%set_ocfile(dvname, ocfile, this%iout)
100 write (this%iout,
'(1x,a)')
'END OF OC OPTIONS'
This module contains simulation constants.
integer(i4b), parameter linelength
maximum length of a standard line
integer(i4b), parameter lenmodelname
maximum length of the model name
This module defines variable data types.
Output control data module.
subroutine, public ocd_cr(ocdobj)
@ brief Create a new output control data type.
subroutine, public oc_cr(ocobj, name_model, input_mempath, inunit, iout)
@ brief Create TspOcType
subroutine oc_ar(this, depvar, dis, dnodata, dvname)
@ brief Allocate and read TspOcType
Output control data type.
@ brief Controls model output. Overridden for each model type.