MODFLOW 6 version 6.9.0.dev0
USGS Modular Hydrologic Model
Loading...
Searching...
No Matches
Inheritance diagram for swfobsmodule::swfobstype:
Inheritance graph
Collaboration diagram for swfobsmodule::swfobstype:
Collaboration graph

Public Member Functions

procedure, public swf_obs_ar (this, ic, x, flowja)
 Allocate and read.
procedure, public obs_bd (this)
 Save obs.
procedure, public obs_df (this, iout, pkgname, filtyp, dis)
 Define.
procedure, public obs_rp (this)
 Do observations need any checking? If so, add checks here.
procedure, public obs_da (this)
 Deallocate memory.
procedure, public obs_df (this, iout, pkgname, filtyp, dis)
 @ brief Define some members of an ObsType object
procedure, public obs_ar (this)
 @ brief Allocate and read package observations
procedure, public obs_ad (this)
 @ brief Advance package observations
procedure, public obs_bd_clear (this)
 @ brief Clear observation output lines
procedure, public obs_ot (this)
 @ brief Output observation data
procedure, public obs_da (this)
 @ brief Deallocate observation data
procedure, public saveonesimval (this, obsrv, simval)
 @ brief Save a simulated value
procedure, public storeobstype (this, obsrvtype, cumulative, indx)
 @ brief Store observation type
procedure, public allocate_scalars (this)
 @ brief Allocate observation scalars

Public Attributes

integer(i4b), public iout = 0
 model list file unit
integer(i4b), public npakobs = 0
 number of observations
integer(i4b), pointer, public inunitobs => null()
 observation input file unit
character(len=linelength), pointer, public inputfilename => null()
 observation input file name
character(len=2 *lenpackagename+4), public pkgname = ''
 package name
character(len=lenftype), public filtyp = ''
 package file type
logical, pointer, public active => null()
logical, pointer, public logical
logical, pointer, public indicating
logical, pointer, public if
logical, pointer, public a
logical, pointer, public observation
logical, pointer, public is
type(obscontainertype), dimension(:), pointer, public pakobs => null()
 package observations
type(obsdatatype), dimension(:), pointer, public obsdata => null()
 observation data
type(tabletype), pointer obstab => null()

Private Member Functions

procedure, private set_pointers (this, ic, x, flowja)
 Set pointers.
procedure, private build_headers (this)
 @ brief Build observation headers
procedure, private define_fmts (this)
 @ brief Define observation output formats
procedure, private get_num (this)
 @ brief Get the number of observations
procedure, private get_obs (this, indx)
 @ brief Get an ObserveType object
procedure, private get_obs_array (this, nobs, obsarray)
 @ brief Get an array of observations
procedure, private get_obs_datum (this, obstypeid)
 @ brief Get an ObsDataType object
procedure, private obs_ar1 (this, pkgname)
 @ brief Read observation options and output formats
procedure, private obs_ar2 (this, dis)
 @ brief Call procedure provided by package
procedure, private set_obs_array (this, nobs, obsarray)
 @ brief Set observation array values
procedure, private read_observations (this)
 @ brief Read observations
procedure, private read_obs_blocks (this, fname)
 @ brief Read observation blocks
procedure, private read_obs_options (this)
 @ brief Read observation options block
procedure, private write_obs_simvals (this)
 @ brief Write observation data

Private Attributes

type(swfictype), pointer, private ic => null()
real(dp), dimension(:), pointer, private, contiguous x => null()
real(dp), dimension(:), pointer, private, contiguous flowja => null()
integer(i4b), private iprecision = 2
integer(i4b), private idigits = 0
character(len=linelength), private outputfilename = ''
character(len=linelength), private blocktypefound = ''
character(len=20), private obsfmtcont = ''
logical, private echo = .false.
logical, private more
type(listtype), private obslist
type(obsoutputlisttype), pointer, private obsoutputlist => null()
class(disbasetype), pointer, private dis => null()
type(blockparsertype), private parser

Detailed Description

Definition at line 16 of file swf-obs.f90.

Member Function/Subroutine Documentation

◆ allocate_scalars()

procedure, public obsmodule::obstype::allocate_scalars ( class(obstype) this)
inherited

Subroutine to allocate and initialize memory for non-allocatable

Definition at line 194 of file Obs.f90.

◆ build_headers()

procedure, private obsmodule::obstype::build_headers ( class(obstype), target this)
privateinherited

Subroutine to build headers for CSV-formatted and unformatted continuous-observation output files and write them to those files.

Each formatted header will have the form: "time,obsname-1,obsname-2, ..."

Definition at line 196 of file Obs.f90.

◆ define_fmts()

procedure, private obsmodule::obstype::define_fmts ( class(obstype) this)
privateinherited

Subroutine to define observation output formats.

Definition at line 197 of file Obs.f90.

◆ get_num()

procedure, private obsmodule::obstype::get_num ( class(obstype) this)
privateinherited

Function to get the number of observationns in this ObsType object.

Returns
number of observations

Definition at line 198 of file Obs.f90.

◆ get_obs()

procedure, private obsmodule::obstype::get_obs ( class(obstype) this,
integer(i4b), intent(in) indx )
privateinherited

Subroutine to get an ObserveType object from the list of observations using an list index.

Parameters
[in]indxobservation list index
Returns
observation ObserveType

Definition at line 199 of file Obs.f90.

◆ get_obs_array()

procedure, private obsmodule::obstype::get_obs_array ( class(obstype), intent(inout) this,
integer(i4b), intent(out) nobs,
type(obscontainertype), dimension(:), intent(inout), pointer obsarray )
privateinherited

Subroutine to get an array containing all observations in this ObsType object.

Parameters
[out]nobsnumber of observations
[in,out]obsarrayobservation array

Definition at line 200 of file Obs.f90.

◆ get_obs_datum()

procedure, private obsmodule::obstype::get_obs_datum ( class(obstype) this,
character(len=*), intent(in) obstypeid )
privateinherited

Function to get an ObsDataType object for the specified observation type.

Parameters
[in]obstypeidobservation type
Returns
observation ObsDataType

Definition at line 201 of file Obs.f90.

◆ obs_ad()

procedure, public obsmodule::obstype::obs_ad ( class(obstype) this)
inherited

Subroutine to advance each package observations by resetting the "current" value.

Definition at line 188 of file Obs.f90.

◆ obs_ar()

procedure, public obsmodule::obstype::obs_ar ( class(obstype) this)
inherited

Subroutine to allocate and read observations for a package. Subroutine

  • reads OPTIONS block of OBS input file
  • reads CONTINUOUS blocks of OBS input file

Definition at line 187 of file Obs.f90.

◆ obs_ar1()

procedure, private obsmodule::obstype::obs_ar1 ( class(obstype), intent(inout) this,
character(len=*), intent(in) pkgname )
privateinherited

Subroutine to read the options block in the observation input file and define output formats.

Parameters
[in]pkgnamepackage name

Definition at line 202 of file Obs.f90.

◆ obs_ar2()

procedure, private obsmodule::obstype::obs_ar2 ( class(obstype), intent(inout) this,
class(disbasetype) dis )
privateinherited

Subroutine to call procedure provided by package to interpret IDstring and store required data.

Parameters
disdiscretization object

Definition at line 203 of file Obs.f90.

◆ obs_bd()

procedure, public swfobsmodule::swfobstype::obs_bd ( class(swfobstype), intent(inout) this)

Definition at line 24 of file swf-obs.f90.

◆ obs_bd_clear()

procedure, public obsmodule::obstype::obs_bd_clear ( class(obstype), target this)
inherited

Subroutine to clear output lines in preparation for new rows of continuous observations.

Definition at line 189 of file Obs.f90.

◆ obs_da() [1/2]

procedure, public obsmodule::obstype::obs_da ( class(obstype), intent(inout) this)
inherited

Subroutine to deallocate observation data.

Definition at line 191 of file Obs.f90.

◆ obs_da() [2/2]

procedure, public swfobsmodule::swfobstype::obs_da ( class(swfobstype), intent(inout) this)

Definition at line 27 of file swf-obs.f90.

◆ obs_df() [1/2]

procedure, public obsmodule::obstype::obs_df ( class(obstype), intent(inout) this,
integer(i4b), intent(in) iout,
character(len=*), intent(in) pkgname,
character(len=*), intent(in) filtyp,
class(disbasetype), pointer dis )
inherited

Subroutine to define some members of an ObsType object.

Parameters
[in]ioutmodel list file unit
[in]pkgnamepackage name
[in]filtyppackage file type
disdiscretization object

Definition at line 186 of file Obs.f90.

◆ obs_df() [2/2]

procedure, public swfobsmodule::swfobstype::obs_df ( class(swfobstype), intent(inout) this,
integer(i4b), intent(in) iout,
character(len=*), intent(in) pkgname,
character(len=*), intent(in) filtyp,
class(disbasetype), pointer dis )

Definition at line 25 of file swf-obs.f90.

◆ obs_ot()

procedure, public obsmodule::obstype::obs_ot ( class(obstype), intent(inout) this)
inherited

Subroutine to output observation data. Subroutine

  • stores each simulated value into its ObserveType object
  • writes each simulated value to it ObsOutputList object _ writes contents of ObsOutputList to output file

This procedure should NOT be called from a package's _ot procedure because the package _ot procedure may not be called every time step.

Definition at line 190 of file Obs.f90.

◆ obs_rp()

procedure, public swfobsmodule::swfobstype::obs_rp ( class(swfobstype), intent(inout) this)

Definition at line 26 of file swf-obs.f90.

◆ read_obs_blocks()

procedure, private obsmodule::obstype::read_obs_blocks ( class(obstype), intent(inout) this,
character(len=*), intent(inout) fname )
privateinherited

Subroutine to read CONTIGUOUS block from the observation input file.

Definition at line 206 of file Obs.f90.

◆ read_obs_options()

procedure, private obsmodule::obstype::read_obs_options ( class(obstype) this)
privateinherited

Subroutine to read the options block in the observation input file.

Definition at line 207 of file Obs.f90.

◆ read_observations()

procedure, private obsmodule::obstype::read_observations ( class(obstype) this)
privateinherited

Subroutine to read the observations from the observation input file and build headers for the observation output files.

Definition at line 205 of file Obs.f90.

◆ saveonesimval()

procedure, public obsmodule::obstype::saveonesimval ( class(obstype) this,
class(observetype), intent(inout) obsrv,
real(dp), intent(in) simval )
inherited

Subroutine to save or accumulate a simulated value to its ObserveType object.

Parameters
[in,out]obsrvobservation ObserveType
[in]simvalsimulated value

Definition at line 192 of file Obs.f90.

◆ set_obs_array()

procedure, private obsmodule::obstype::set_obs_array ( class(obstype), intent(inout) this,
integer(i4b), intent(in) nobs,
type(obscontainertype), dimension(nobs), intent(inout) obsarray )
privateinherited

Subroutine to set values in an observation array.

Parameters
[in]nobsnumber of observations
[in,out]obsarrayobservation array

Definition at line 204 of file Obs.f90.

◆ set_pointers()

procedure, private swfobsmodule::swfobstype::set_pointers ( class(swfobstype), intent(inout) this,
type(swfictype), intent(in), pointer ic,
real(dp), dimension(:), intent(in), pointer, contiguous x,
real(dp), dimension(:), intent(in), pointer, contiguous flowja )
private

Definition at line 29 of file swf-obs.f90.

◆ storeobstype()

procedure, public obsmodule::obstype::storeobstype ( class(obstype), intent(inout) this,
character(len=*), intent(in) obsrvtype,
logical, intent(in) cumulative,
integer(i4b), intent(out) indx )
inherited

Subroutine to store type name and related information for an observation type that belongs to a package or model in the obsData array.

Parameters
[in]obsrvtypeobservation type
[in]cumulativelogical indicating if the observation should be accumulated
[out]indxobservation index

Definition at line 193 of file Obs.f90.

◆ swf_obs_ar()

procedure, public swfobsmodule::swfobstype::swf_obs_ar ( class(swfobstype), intent(inout) this,
type(swfictype), intent(in), pointer ic,
real(dp), dimension(:), intent(in), pointer, contiguous x,
real(dp), dimension(:), intent(in), pointer, contiguous flowja )

Definition at line 23 of file swf-obs.f90.

◆ write_obs_simvals()

procedure, private obsmodule::obstype::write_obs_simvals ( class(obstype), intent(inout) this)
privateinherited

Subroutine to write observation data for a time step for each observation to the observation output file.

Definition at line 208 of file Obs.f90.

Member Data Documentation

◆ a

logical, pointer, public obsmodule::obstype::a
inherited

Definition at line 166 of file Obs.f90.

◆ active

logical pointer public obsmodule::obstype::active => null()
inherited

Definition at line 166 of file Obs.f90.

◆ blocktypefound

character(len=linelength), private obsmodule::obstype::blocktypefound = ''
privateinherited

Definition at line 173 of file Obs.f90.

◆ dis

class(disbasetype), pointer, private obsmodule::obstype::dis => null()
privateinherited

Definition at line 179 of file Obs.f90.

◆ echo

logical, private obsmodule::obstype::echo = .false.
privateinherited

Definition at line 175 of file Obs.f90.

◆ filtyp

character(len=lenftype), public obsmodule::obstype::filtyp = ''
inherited

Definition at line 165 of file Obs.f90.

◆ flowja

real(dp), dimension(:), pointer, private, contiguous swfobsmodule::swfobstype::flowja => null()
private

Definition at line 20 of file swf-obs.f90.

◆ ic

type(swfictype), pointer, private swfobsmodule::swfobstype::ic => null()
private

Definition at line 18 of file swf-obs.f90.

◆ idigits

integer(i4b), private obsmodule::obstype::idigits = 0
privateinherited

Definition at line 171 of file Obs.f90.

◆ if

logical, pointer, public obsmodule::obstype::if
inherited

Definition at line 166 of file Obs.f90.

◆ indicating

logical, pointer, public obsmodule::obstype::indicating
inherited

Definition at line 166 of file Obs.f90.

◆ inputfilename

character(len=linelength), pointer, public obsmodule::obstype::inputfilename => null()
inherited

Definition at line 163 of file Obs.f90.

◆ inunitobs

integer(i4b), pointer, public obsmodule::obstype::inunitobs => null()
inherited

Definition at line 162 of file Obs.f90.

◆ iout

integer(i4b), public obsmodule::obstype::iout = 0
inherited

Definition at line 160 of file Obs.f90.

◆ iprecision

integer(i4b), private obsmodule::obstype::iprecision = 2
privateinherited

Definition at line 170 of file Obs.f90.

◆ is

logical, pointer, public obsmodule::obstype::is
inherited

Definition at line 166 of file Obs.f90.

◆ logical

logical, pointer, public obsmodule::obstype::logical
inherited

Definition at line 166 of file Obs.f90.

◆ more

logical, private obsmodule::obstype::more
privateinherited

Definition at line 176 of file Obs.f90.

176 logical, private :: more

◆ npakobs

integer(i4b), public obsmodule::obstype::npakobs = 0
inherited

Definition at line 161 of file Obs.f90.

◆ obsdata

type(obsdatatype), dimension(:), pointer, public obsmodule::obstype::obsdata => null()
inherited

Definition at line 168 of file Obs.f90.

◆ observation

logical, pointer, public obsmodule::obstype::observation
inherited

Definition at line 166 of file Obs.f90.

◆ obsfmtcont

character(len=20), private obsmodule::obstype::obsfmtcont = ''
privateinherited

Definition at line 174 of file Obs.f90.

◆ obslist

type(listtype), private obsmodule::obstype::obslist
privateinherited

Definition at line 177 of file Obs.f90.

177 type(ListType), private :: obsList

◆ obsoutputlist

type(obsoutputlisttype), pointer, private obsmodule::obstype::obsoutputlist => null()
privateinherited

Definition at line 178 of file Obs.f90.

◆ obstab

type(tabletype), pointer obsmodule::obstype::obstab => null()
inherited

Definition at line 183 of file Obs.f90.

◆ outputfilename

character(len=linelength), private obsmodule::obstype::outputfilename = ''
privateinherited

Definition at line 172 of file Obs.f90.

◆ pakobs

type(obscontainertype), dimension(:), pointer, public obsmodule::obstype::pakobs => null()
inherited

Definition at line 167 of file Obs.f90.

◆ parser

type(blockparsertype), private obsmodule::obstype::parser
privateinherited

Definition at line 180 of file Obs.f90.

180 type(BlockParserType), private :: parser

◆ pkgname

character(len=2*lenpackagename + 4), public obsmodule::obstype::pkgname = ''
inherited

Definition at line 164 of file Obs.f90.

◆ x

real(dp), dimension(:), pointer, private, contiguous swfobsmodule::swfobstype::x => null()
private

Definition at line 19 of file swf-obs.f90.


The documentation for this type was generated from the following file:
  • /home/runner/work/modflow6/modflow6/src/Model/SurfaceWaterFlow/swf-obs.f90