SOCA
soca_getvalues_mod::soca_getvalues Type Reference

Interpolation between model and observation locations. More...

Collaboration diagram for soca_getvalues_mod::soca_getvalues:

Public Member Functions

constructors / destructors
procedure create => soca_getvalues_create
 Initialize getvalues. More...
 
procedure delete => soca_getvalues_delete
 Destructor. More...
 
apply interpolation
procedure get_interp => soca_getvalues_getinterp
 Get the index of the interpolator for the given grid/masking. More...
 
procedure fill_geovals => soca_getvalues_fillgeovals
 Forward interpolation from geom to locs. More...
 
procedure fill_geovals_ad => soca_getvalues_fillgeovals_ad
 Backward interpolation from locs to geom. More...
 

Public Attributes

type(unstrc_interp), dimension(:), allocatable horiz_interp
 the interpolators More...
 
logical, dimension(:), allocatable horiz_interp_init
 a flag for whether each horiz_interp interpolator has been initialized yet. More...
 

Related Functions

(Note that these are not member functions.)

subroutine soca_getvalues_create (self, geom, locs)
 Initialize getvalues. More...
 
integer function soca_getvalues_getinterp (self, geom, grid, masked, locs)
 Get the index of the interpolator for the given grid/masking. More...
 
subroutine soca_getvalues_delete (self)
 Destructor. More...
 
subroutine soca_getvalues_fillgeovals (self, geom, fld, t1, t2, locs, geovals)
 Forward interpolation from geom to locs. More...
 
subroutine soca_getvalues_fillgeovals_ad (self, geom, incr, t1, t2, locs, geovals)
 Backward interpolation from locs to geom. More...
 

Detailed Description

Interpolation between model and observation locations.

Several interpolators need to be created depending on which grid is used (h, u, v) and if land masking is used. Since we do not know this information until fill_geovals() or fill_geovals_ad() is called, creation of the interp is postoned to then

Definition at line 30 of file soca_getvalues_mod.F90.

Member Function/Subroutine Documentation

◆ create()

procedure soca_getvalues_mod::soca_getvalues::create

Initialize getvalues.

See also
soca_getvalues_create

Definition at line 44 of file soca_getvalues_mod.F90.

◆ delete()

procedure soca_getvalues_mod::soca_getvalues::delete

Destructor.

See also
soca_getvalues_delete

Definition at line 47 of file soca_getvalues_mod.F90.

◆ fill_geovals()

procedure soca_getvalues_mod::soca_getvalues::fill_geovals

Forward interpolation from geom to locs.

See also
soca_getvalues_fillgeovals

Definition at line 58 of file soca_getvalues_mod.F90.

◆ fill_geovals_ad()

procedure soca_getvalues_mod::soca_getvalues::fill_geovals_ad

Backward interpolation from locs to geom.

See also
soca_getvalues_fillgeovals_ad

Definition at line 61 of file soca_getvalues_mod.F90.

◆ get_interp()

procedure soca_getvalues_mod::soca_getvalues::get_interp

Get the index of the interpolator for the given grid/masking.

See also
soca_getvalues_getinterp

Definition at line 55 of file soca_getvalues_mod.F90.

Friends And Related Function Documentation

◆ soca_getvalues_create()

subroutine soca_getvalues_create ( class(soca_getvalues), intent(inout)  self,
type(soca_geom), intent(in)  geom,
type(ufo_locations), intent(in)  locs 
)
related

Initialize getvalues.

Parameters
[in]geomremove this, not used?
[in]locsremove this, not used?

Definition at line 77 of file soca_getvalues_mod.F90.

◆ soca_getvalues_delete()

subroutine soca_getvalues_delete ( class(soca_getvalues), intent(inout)  self)
related

Destructor.

Definition at line 184 of file soca_getvalues_mod.F90.

◆ soca_getvalues_fillgeovals()

subroutine soca_getvalues_fillgeovals ( class(soca_getvalues), intent(inout)  self,
type(soca_geom), intent(in)  geom,
class(soca_fields), intent(in)  fld,
type(datetime), intent(in)  t1,
type(datetime), intent(in)  t2,
type(ufo_locations), intent(in)  locs,
type(ufo_geovals), intent(inout)  geovals 
)
related

Forward interpolation from geom to locs.

only locations in locs that are valid in the time window between t1 and t2 are populated.

Parameters
[in]geomsource grid to interp from
[in]fldthe field to interpolate
[in]t1beginning of time window
[in]t2ending of time window
[in]locslocations to interpolate to
[in,out]geovalsoutput interpolated values

Definition at line 198 of file soca_getvalues_mod.F90.

◆ soca_getvalues_fillgeovals_ad()

subroutine soca_getvalues_fillgeovals_ad ( class(soca_getvalues), intent(inout)  self,
type(soca_geom), intent(in)  geom,
class(soca_fields), intent(inout)  incr,
type(datetime), intent(in)  t1,
type(datetime), intent(in)  t2,
type(ufo_locations), intent(in)  locs,
type(ufo_geovals), intent(in)  geovals 
)
related

Backward interpolation from locs to geom.

only locations in locs that are valid in the time window between t1 and t2 are interpolated to incr.

Parameters
[in]geomtarget geometry
[in,out]incroutout interpolated values
[in]t1beginning of time window
[in]t2ending of time window
[in]locssource locations that are interpolated from
[in]geovalsinput values

Definition at line 282 of file soca_getvalues_mod.F90.

◆ soca_getvalues_getinterp()

integer function soca_getvalues_getinterp ( class(soca_getvalues), intent(inout)  self,
type(soca_geom), intent(in), target  geom,
character(len=1), intent(in)  grid,
logical, intent(in)  masked,
type(ufo_locations), intent(in)  locs 
)
related

Get the index of the interpolator for the given grid/masking.

If the interpolator has not been initialized yet, it will initialize it. The index of horiz_interp and horiz_interp_init map to the following 1 = h, unmasked 2 = h, masked 3 = u, unmasked 4 = u, masked 5 = v, unmasked 6 = v, masked

Exceptions
abor1_ftnaborts if illegal choice of grid is given
Parameters
[in]geomsource geometry
[in]grid"h", "u", or "v"
[in]maskedif true, use the masked interpolators
[in]locslocations to interpolate to

Definition at line 101 of file soca_getvalues_mod.F90.

Member Data Documentation

◆ horiz_interp

type(unstrc_interp), dimension(:), allocatable soca_getvalues_mod::soca_getvalues::horiz_interp

the interpolators

Definition at line 33 of file soca_getvalues_mod.F90.

◆ horiz_interp_init

logical, dimension(:), allocatable soca_getvalues_mod::soca_getvalues::horiz_interp_init

a flag for whether each horiz_interp interpolator has been initialized yet.

Definition at line 36 of file soca_getvalues_mod.F90.


The documentation for this type was generated from the following file: