19 real(dp),
dimension(:),
pointer,
contiguous,
private :: x => null()
20 real(dp),
dimension(:),
pointer,
contiguous,
private :: flowja => null()
44 integer(I4B),
pointer,
intent(in) :: inobs
47 call obs%allocate_scalars()
49 obs%inputFilename =
''
50 obs%inUnitObs => inobs
63 type(
tspictype),
pointer,
intent(in) :: ic
64 real(DP),
dimension(:),
pointer,
contiguous,
intent(in) :: x
65 real(DP),
dimension(:),
pointer,
contiguous,
intent(in) :: flowja
71 call this%set_pointers(ic, x, flowja)
82 integer(I4B),
intent(in) :: iout
83 character(len=*),
intent(in) :: pkgname
84 character(len=*),
intent(in) :: filtyp
90 call this%ObsType%obs_df(iout, pkgname, filtyp, dis)
96 call this%StoreObsType(
'concentration', .false., indx)
100 call this%StoreObsType(
'flow-ja-face', .true., indx)
113 integer(I4B) :: i, jaindex, nodenumber
114 character(len=100) :: msg
117 call this%obs_bd_clear()
120 if (this%npakobs > 0)
then
121 do i = 1, this%npakobs
122 obsrv => this%pakobs(i)%obsrv
123 nodenumber = obsrv%NodeNumber
124 jaindex = obsrv%JaIndex
125 select case (obsrv%ObsTypeId)
126 case (
'CONCENTRATION')
127 call this%SaveOneSimval(obsrv, this%x(nodenumber))
128 case (
'FLOW-JA-FACE')
129 call this%SaveOneSimval(obsrv, this%flowja(jaindex))
131 msg =
' Unrecognized observation type: '//trim(obsrv%ObsTypeId)
163 nullify (this%flowja)
164 call this%ObsType%obs_da()
175 type(
tspictype),
pointer,
intent(in) :: ic
176 real(DP),
dimension(:),
pointer,
contiguous,
intent(in) :: x
177 real(DP),
dimension(:),
pointer,
contiguous,
intent(in) :: flowja
181 this%flowja => flowja
195 integer(I4B),
intent(in) :: inunitobs
196 integer(I4B),
intent(in) :: iout
199 integer(I4B) :: icol, istart, istop
200 character(len=LINELENGTH) :: ermsg, string
203 string = obsrv%IDstring
208 nn1 = dis%noder_from_string(icol, istart, istop, inunitobs, &
209 iout, string, .false.)
212 obsrv%NodeNumber = nn1
214 ermsg =
'Error reading data from ID string'
231 integer(I4B),
intent(in) :: inunitobs
232 integer(I4B),
intent(in) :: iout
234 integer(I4B) :: nn1, nn2
235 integer(I4B) :: icol, istart, istop, jaidx
236 character(len=LINELENGTH) :: ermsg, string
238 70
format(
'Error: No connection exists between cells identified in text: ', a)
241 string = obsrv%IDstring
246 nn1 = dis%noder_from_string(icol, istart, istop, inunitobs, &
247 iout, string, .false.)
250 obsrv%NodeNumber = nn1
252 ermsg =
'Error reading data from ID string: '//string(istart:istop)
258 nn2 = dis%noder_from_string(icol, istart, istop, inunitobs, &
259 iout, string, .false.)
261 obsrv%NodeNumber2 = nn2
263 ermsg =
'Error reading data from ID string: '//string(istart:istop)
268 jaidx = dis%con%getjaindex(nn1, nn2)
270 write (ermsg, 70) trim(string)
273 obsrv%JaIndex = jaidx
This module contains simulation constants.
integer(i4b), parameter linelength
maximum length of a standard line
integer(i4b), parameter maxobstypes
maximum number of observation types
This module defines variable data types.
This module contains the derived types ObserveType and ObsDataType.
This module contains the derived type ObsType.
This module contains simulation methods.
subroutine, public store_error(msg, terminate)
Store an error message.
integer(i4b) function, public count_errors()
Return number of errors.
subroutine, public store_error_unit(iunit, terminate)
Store the file unit number.
subroutine, public tsp_obs_cr(obs, inobs)
Create a new TspObsType object.
subroutine tsp_process_intercell_obs_id(obsrv, dis, inunitobs, iout)
Procedure related to Tsp observations (NOT type-bound)
subroutine tsp_obs_da(this)
Deallocate memory.
subroutine set_pointers(this, ic, x, flowja)
Set pointers needed by the transport OBS package.
subroutine tsp_obs_rp(this)
If transport model observations need checks, add them here.
subroutine tsp_obs_ar(this, ic, x, flowja)
Allocate and read method for package.
subroutine tsp_obs_bd(this)
Save observations.
subroutine tsp_obs_df(this, iout, pkgname, filtyp, dis)
Define observation object.
subroutine gwt_process_concentration_obs_id(obsrv, dis, inunitobs, iout)
Procedure related to Tsp observations (NOT type-bound)