![]() |
MODFLOW 6
version 6.7.0.dev2
USGS Modular Hydrologic Model
|
Particle track output module. More...
Data Types | |
type | particletrackfiletype |
Output file containing all or some particle pathlines. More... | |
type | particletrackeventselectiontype |
Selection of particle events. More... | |
type | particletrackstype |
Manages particle track output (logging/writing). More... | |
Functions/Subroutines | |
subroutine | init_file (this, iun, csv, iprp) |
Initialize a binary or CSV file. More... | |
subroutine | destroy (this) |
subroutine | expand_files (this, increment) |
Grow the array of track files. More... | |
subroutine | select_events (this, release, featexit, timestep, terminate, weaksink, usertime, subfexit) |
Pick events to track. More... | |
logical function | is_selected (this, event) |
Check if a given event code is selected for tracking. More... | |
logical function | should_save (this, particle, file) |
Check whether a particle belongs in a given file i.e. if the file is enabled and its group matches the particle's. More... | |
subroutine, private | save_event (iun, particle, event, csv) |
Save an event to a binary or CSV file. More... | |
logical function | should_log (this) |
Log output unit valid? More... | |
subroutine | handle_event (this, particle, event) |
Handle a particle event. 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' |
Each particle's track consists of events reported as the particle is advected through the model domain. Events are snapshots of particle state, along with optional metadata, at a particular moment in time.
Particles have no ID property. A particle can be uniquely identified by the unique combination of its release attributes (model, package, position, and time). This is possible because only one particle may be released from a given point at a given time.
This module consumes particle events and is responsible for writing them to one or more track files, binary or CSV, and for logging the events if requested. Each track file is associated with either a PRP package or with the full PRT model (there may only be 1 such latter).
subroutine particletracksmodule::destroy | ( | class(particletrackstype) | this | ) |
Definition at line 121 of file ParticleTracks.f90.
subroutine particletracksmodule::expand_files | ( | class(particletrackstype) | this, |
integer(i4b), intent(in), optional | increment | ||
) |
Definition at line 127 of file ParticleTracks.f90.
subroutine particletracksmodule::handle_event | ( | class(particletrackstype), intent(inout) | this, |
type(particletype), intent(in), pointer | particle, | ||
class(particleeventtype), intent(in), pointer | event | ||
) |
subroutine particletracksmodule::init_file | ( | class(particletrackstype) | this, |
integer(i4b), intent(in) | iun, | ||
logical(lgp), intent(in), optional | csv, | ||
integer(i4b), intent(in), optional | iprp | ||
) |
Definition at line 98 of file ParticleTracks.f90.
logical function particletracksmodule::is_selected | ( | class(particletrackstype), intent(inout) | this, |
class(particleeventtype), intent(in) | event | ||
) |
|
private |
subroutine particletracksmodule::select_events | ( | class(particletrackstype) | this, |
logical(lgp), intent(in) | release, | ||
logical(lgp), intent(in) | featexit, | ||
logical(lgp), intent(in) | timestep, | ||
logical(lgp), intent(in) | terminate, | ||
logical(lgp), intent(in) | weaksink, | ||
logical(lgp), intent(in) | usertime, | ||
logical(lgp), intent(in) | subfexit | ||
) |
Definition at line 156 of file ParticleTracks.f90.
logical function particletracksmodule::should_log | ( | class(particletrackstype), intent(inout) | this | ) |
Definition at line 266 of file ParticleTracks.f90.
logical function particletracksmodule::should_save | ( | class(particletrackstype), intent(inout) | this, |
type(particletype), intent(in), pointer | particle, | ||
type(particletrackfiletype), intent(in) | file | ||
) |
Definition at line 210 of file ParticleTracks.f90.
character(len=*), parameter, public particletracksmodule::trackdtypes = '<i4,<i4,<i4,<i4,<i4,<i4,<i4,<i4,<i4,<i4,<f8,<f8,<f8,<f8,<f8,|S40' |
Definition at line 46 of file ParticleTracks.f90.
character(len=*), parameter, public particletracksmodule::trackheader = 'kper,kstp,imdl,iprp,irpt,ilay,icell,izone,istatus,ireason,trelease,t,x,y,z,name' |
Definition at line 42 of file ParticleTracks.f90.