20 real(dp),
dimension(:),
pointer,
contiguous :: porosity => null()
21 real(dp),
dimension(:),
pointer,
contiguous :: retfactor => null()
22 integer(I4B),
dimension(:),
pointer,
contiguous :: izone => null()
23 integer(I4B),
pointer :: zeromethod
34 subroutine mip_cr(mip, name_model, input_mempath, inunit, iout, dis)
37 character(len=*),
intent(in) :: name_model
38 character(len=*),
intent(in) :: input_mempath
39 integer(I4B),
intent(in) :: inunit
40 integer(I4B),
intent(in) :: iout
43 character(len=*),
parameter :: fmtheader = &
44 "(1x, /1x, 'MIP -- MODEL INPUT PACKAGE', &
45 &' INPUT READ FROM MEMPATH: ', A, /)"
51 call mip%set_names(1, name_model,
'MIP',
'MIP', input_mempath)
54 call mip%allocate_scalars()
65 write (iout, fmtheader) input_mempath
77 call this%NumericalPackageType%da()
90 call this%NumericalPackageType%allocate_scalars()
91 call mem_allocate(this%zeromethod,
'IZEROMETHOD', this%memoryPath)
97 integer(I4B),
intent(in) :: nodes
102 call mem_allocate(this%porosity, nodes,
'POROSITY', this%memoryPath)
103 call mem_allocate(this%retfactor, nodes,
'RETFACTOR', this%memoryPath)
104 call mem_allocate(this%izone, nodes,
'IZONE', this%memoryPath)
107 this%porosity(i) =
dzero
108 this%retfactor(i) =
done
119 character(len=LINELENGTH) :: errmsg
121 integer(I4B),
dimension(:),
pointer,
contiguous :: map => null()
124 if (this%dis%nodes < this%dis%nodesuser) map => this%dis%nodeuser
127 call this%allocate_arrays(this%dis%nodes)
130 call mem_set_value(this%porosity,
'POROSITY', this%input_mempath, &
132 call mem_set_value(this%retfactor,
'RETFACTOR', this%input_mempath, &
133 map, found%retfactor)
134 call mem_set_value(this%izone,
'IZONE', this%input_mempath, map, &
138 call mem_set_value(this%zeromethod,
'ZERO_METHOD', this%input_mempath, &
140 if (.not. found%zero_method) this%zeromethod = 1
143 if (.not. found%porosity)
then
144 write (errmsg,
'(a)')
'Error in GRIDDATA block: POROSITY not found'
This module contains block parser methods.
This module contains simulation constants.
integer(i4b), parameter linelength
maximum length of a standard line
real(dp), parameter dzero
real constant zero
real(dp), parameter done
real constant 1
This module defines variable data types.
subroutine, public memorylist_remove(component, subcomponent, context)
This module contains the base numerical package type.
subroutine allocate_scalars(this)
subroutine allocate_arrays(this, nodes)
Allocate arrays.
subroutine mip_da(this)
Deallocate memory.
subroutine, public mip_cr(mip, name_model, input_mempath, inunit, iout, dis)
Create a model input object.
subroutine mip_ar(this)
@ brief Initialize package inputs
This module contains simulation methods.
subroutine, public store_error(msg, terminate)
Store an error message.
This module contains simulation variables.
character(len=linelength) idm_context