MODFLOW 6  version 6.7.0.dev1
USGS Modular Hydrologic Model
trackfilemodule Module Reference

Data Types

type  trackfiletype
 Output file containing all or some particle pathlines. More...
 

Functions/Subroutines

subroutine, public save_record (iun, particle, kper, kstp, reason, csv)
 Save a particle track record to a binary or CSV file. More...
 

Variables

character(len= *), parameter, public trackheader = 'kper,kstp,imdl,iprp,irpt,ilay,icell,izone,istatus,ireason,trelease,t,x,y,z,name'
 
character(len= *), parameter, public trackdtypes = '<i4,<i4,<i4,<i4,<i4,<i4,<i4,<i4,<i4,<i4,<f8,<f8,<f8,<f8,<f8,|S40'
 

Function/Subroutine Documentation

◆ save_record()

subroutine, public trackfilemodule::save_record ( integer(i4b), intent(in)  iun,
type(particletype), intent(in), pointer  particle,
integer(i4b), intent(in)  kper,
integer(i4b), intent(in)  kstp,
integer(i4b), intent(in)  reason,
logical(lgp), intent(in)  csv 
)

Definition at line 46 of file TrackFile.f90.

47  ! dummy
48  integer(I4B), intent(in) :: iun
49  type(ParticleType), pointer, intent(in) :: particle
50  integer(I4B), intent(in) :: kper
51  integer(I4B), intent(in) :: kstp
52  integer(I4B), intent(in) :: reason
53  logical(LGP), intent(in) :: csv
54  ! local
55  real(DP) :: x, y, z
56  integer(I4B) :: status
57 
58  ! Convert from cell-local to model coordinates if needed
59  call particle%get_model_coords(x, y, z)
60 
61  ! Set status
62  if (particle%istatus .lt. 0) then
63  status = active
64  else
65  status = particle%istatus
66  end if
67 
68  if (csv) then
69  write (iun, '(*(G0,:,","))') &
70  kper, &
71  kstp, &
72  particle%imdl, &
73  particle%iprp, &
74  particle%irpt, &
75  particle%ilay, &
76  particle%icu, &
77  particle%izone, &
78  status, &
79  reason, &
80  particle%trelease, &
81  particle%ttrack, &
82  x, &
83  y, &
84  z, &
85  trim(adjustl(particle%name))
86  else
87  write (iun) &
88  kper, &
89  kstp, &
90  particle%imdl, &
91  particle%iprp, &
92  particle%irpt, &
93  particle%ilay, &
94  particle%icu, &
95  particle%izone, &
96  status, &
97  reason, &
98  particle%trelease, &
99  particle%ttrack, &
100  x, &
101  y, &
102  z, &
103  particle%name
104  end if
Here is the caller graph for this function:

Variable Documentation

◆ trackdtypes

character(len=*), parameter, public trackfilemodule::trackdtypes = '<i4,<i4,<i4,<i4,<i4,<i4,<i4,<i4,<i4,<i4,<f8,<f8,<f8,<f8,<f8,|S40'

Definition at line 39 of file TrackFile.f90.

39  character(len=*), parameter, public :: TRACKDTYPES = &
40  '<i4,<i4,<i4,<i4,<i4,<i4,<i4,<i4,&
41  &<i4,<i4,<f8,<f8,<f8,<f8,<f8,|S40'

◆ trackheader

character(len=*), parameter, public trackfilemodule::trackheader = 'kper,kstp,imdl,iprp,irpt,ilay,icell,izone,istatus,ireason,trelease,t,x,y,z,name'

Definition at line 35 of file TrackFile.f90.

35  character(len=*), parameter, public :: TRACKHEADER = &
36  'kper,kstp,imdl,iprp,irpt,ilay,icell,izone,&
37  &istatus,ireason,trelease,t,x,y,z,name'