211 class(PrtOcType) :: this
213 character(len=LINELENGTH) :: trackfile, trackcsv
214 type(PrtOcParamFoundType) :: found
215 integer(I4B),
pointer :: evinput
217 character(len=*),
parameter :: fmttrkbin = &
218 "(4x, 'PARTICLE TRACKS WILL BE SAVED TO BINARY FILE: ', a, /4x, &
219 &'OPENED ON UNIT: ', I0)"
220 character(len=*),
parameter :: fmttrkcsv = &
221 "(4x, 'PARTICLE TRACKS WILL BE SAVED TO CSV FILE: ', a, /4x, &
222 &'OPENED ON UNIT: ', I0)"
226 write (this%iout,
'(/,1x,a,/)')
'PROCESSING OC OPTIONS'
229 call this%OutPutControlType%source_options()
232 call mem_set_value(trackfile,
'TRACKFILE', this%input_mempath, &
234 call mem_set_value(trackcsv,
'TRACKCSVFILE', this%input_mempath, &
236 call mem_set_value(evinput,
'TRACK_RELEASE', this%input_mempath, &
238 call mem_set_value(evinput,
'TRACK_EXIT', this%input_mempath, &
240 call mem_set_value(evinput,
'TRACK_SUBF_EXIT', this%input_mempath, &
241 found%track_subf_exit)
242 call mem_set_value(evinput,
'TRACK_DROPPED', this%input_mempath, &
244 call mem_set_value(evinput,
'TRACK_TIMESTEP', this%input_mempath, &
245 found%track_timestep)
246 call mem_set_value(evinput,
'TRACK_TERMINATE', this%input_mempath, &
247 found%track_terminate)
248 call mem_set_value(evinput,
'TRACK_WEAKSINK', this%input_mempath, &
249 found%track_weaksink)
250 call mem_set_value(evinput,
'TRACK_USERTIME', this%input_mempath, &
251 found%track_usertime)
252 call mem_set_value(evinput,
'DEV_DUMP_EVTRACE', this%input_mempath, &
253 found%dev_dump_evtrace)
255 if (found%track_release) this%trackrelease = .true.
256 if (found%track_exit) this%trackfeatexit = .true.
257 if (found%track_subf_exit) this%tracksubfexit = .true.
258 if (found%track_dropped) this%trackdropped = .true.
259 if (found%track_timestep) this%tracktimestep = .true.
260 if (found%track_terminate) this%trackterminate = .true.
261 if (found%track_weaksink) this%trackweaksink = .true.
262 if (found%track_usertime) this%trackusertime = .true.
263 if (found%dev_dump_evtrace) this%dump_event_trace = .true.
266 if (.not. (found%track_release .or. &
267 found%track_exit .or. &
268 found%track_timestep .or. &
269 found%track_terminate .or. &
270 found%track_weaksink .or. &
271 found%track_usertime .or. &
272 found%track_dropped))
then
273 this%trackrelease = .true.
274 this%trackfeatexit = .true.
275 this%tracktimestep = .true.
276 this%trackterminate = .true.
277 this%trackweaksink = .true.
278 this%trackusertime = .true.
279 this%trackdropped = .true.
282 if (found%trackfile)
then
285 call openfile(this%itrkout, this%iout, trackfile,
'DATA(BINARY)', &
288 write (this%iout, fmttrkbin) trim(adjustl(trackfile)), this%itrkout
291 trackfile = trim(trackfile)//
'.hdr'
292 call openfile(this%itrkhdr, this%iout, trackfile,
'CSV', &
293 filstat_opt=
'REPLACE', mode_opt=mnormal)
297 if (found%trackcsvfile)
then
299 call openfile(this%itrkcsv, this%iout, trackcsv,
'CSV', &
300 filstat_opt=
'REPLACE')
301 write (this%iout, fmttrkcsv) trim(adjustl(trackcsv)), this%itrkcsv
305 write (this%iout,
'(1x,a)')
'END OF OC OPTIONS'
Particle track output module.
character(len= *), parameter, public trackheader
character(len= *), parameter, public trackdtypes