SABER
type_obsop Module Reference

Observation operator data derived type. More...

Data Types

type  obsop_type
 

Functions/Subroutines

subroutine obsop_partial_dealloc (obsop)
 Release memory (partial) More...
 
subroutine obsop_dealloc (obsop)
 Release memory (full) More...
 
subroutine obsop_read (obsop, mpl, nam, geom)
 Read observations locations. More...
 
subroutine obsop_write (obsop, mpl, nam, geom)
 Write observations locations. More...
 
subroutine obsop_from (obsop, nobsa, lonobs, latobs)
 Copy observation operator data. More...
 
subroutine obsop_run_obsop (obsop, mpl, rng, nam, geom)
 Observation operator driver. More...
 
subroutine obsop_run_obsop_tests (obsop, mpl, nam, rng, geom)
 Observation operator tests driver. More...
 
subroutine obsop_apply (obsop, mpl, geom, fld, obs)
 Observation operator interpolation. More...
 
subroutine obsop_apply_ad (obsop, mpl, geom, obs, fld)
 Observation operator interpolation adjoint. More...
 
subroutine obsop_test_adjoint (obsop, mpl, rng, geom)
 Test observation operator adjoints accuracy. More...
 
subroutine obsop_test_accuracy (obsop, mpl, geom)
 Test observation operator accuracy. More...
 

Detailed Description

Observation operator data derived type.

Function/Subroutine Documentation

◆ obsop_apply()

subroutine type_obsop::obsop_apply ( class(obsop_type), intent(in)  obsop,
type(mpl_type), intent(inout)  mpl,
type(geom_type), intent(in)  geom,
real(kind_real), dimension(geom%nc0a,geom%nl0), intent(in)  fld,
real(kind_real), dimension(obsop%nobsa,geom%nl0), intent(out)  obs 
)
private

Observation operator interpolation.

Parameters
[in]obsopObservation operator data
[in,out]mplMPI data
[in]geomGeometry
[in]fldField
[out]obsObservations columns

Definition at line 394 of file type_obsop.F90.

◆ obsop_apply_ad()

subroutine type_obsop::obsop_apply_ad ( class(obsop_type), intent(in)  obsop,
type(mpl_type), intent(inout)  mpl,
type(geom_type), intent(in)  geom,
real(kind_real), dimension(obsop%nobsa,geom%nl0), intent(in)  obs,
real(kind_real), dimension(geom%nc0a,geom%nl0), intent(out)  fld 
)
private

Observation operator interpolation adjoint.

Parameters
[in]obsopObservation operator data
[in,out]mplMPI data
[in]geomGeometry
[in]obsObservations columns
[out]fldField

Definition at line 427 of file type_obsop.F90.

◆ obsop_dealloc()

subroutine type_obsop::obsop_dealloc ( class(obsop_type), intent(inout)  obsop)
private

Release memory (full)

Parameters
[in,out]obsopObservation operator data

Definition at line 85 of file type_obsop.F90.

◆ obsop_from()

subroutine type_obsop::obsop_from ( class(obsop_type), intent(inout)  obsop,
integer, intent(in)  nobsa,
real(kind_real), dimension(nobsa), intent(in)  lonobs,
real(kind_real), dimension(nobsa), intent(in)  latobs 
)
private

Copy observation operator data.

Parameters
[in,out]obsopObservation operator data
[in]nobsaNumber of observations
[in]lonobsObservations longitudes (in degrees)
[in]latobsObservations latitudes (in degrees)

Definition at line 191 of file type_obsop.F90.

Here is the call graph for this function:

◆ obsop_partial_dealloc()

subroutine type_obsop::obsop_partial_dealloc ( class(obsop_type), intent(inout)  obsop)
private

Release memory (partial)

Parameters
[in,out]obsopObservation operator data

Definition at line 68 of file type_obsop.F90.

◆ obsop_read()

subroutine type_obsop::obsop_read ( class(obsop_type), intent(inout)  obsop,
type(mpl_type), intent(inout)  mpl,
type(nam_type), intent(in)  nam,
type(geom_type), intent(in)  geom 
)
private

Read observations locations.

Parameters
[in,out]obsopObservation operator data
[in,out]mplMPI data
[in]namNamelist
[in]geomGeometry

Definition at line 103 of file type_obsop.F90.

◆ obsop_run_obsop()

subroutine type_obsop::obsop_run_obsop ( class(obsop_type), intent(inout)  obsop,
type(mpl_type), intent(inout)  mpl,
type(rng_type), intent(inout)  rng,
type(nam_type), intent(in)  nam,
type(geom_type), intent(in)  geom 
)
private

Observation operator driver.

Parameters
[in,out]obsopObservation operator data
[in,out]mplMPI data
[in,out]rngRandom number generator
[in]namNamelist
[in]geomGeometry

Definition at line 231 of file type_obsop.F90.

◆ obsop_run_obsop_tests()

subroutine type_obsop::obsop_run_obsop_tests ( class(obsop_type), intent(inout)  obsop,
type(mpl_type), intent(inout)  mpl,
type(nam_type), intent(in)  nam,
type(rng_type), intent(inout)  rng,
type(geom_type), intent(in)  geom 
)
private

Observation operator tests driver.

Parameters
[in,out]obsopObservation operator data
[in,out]mplMPI data
[in]namNamelist
[in,out]rngRandom number generator
[in]geomGeometry

Definition at line 359 of file type_obsop.F90.

◆ obsop_test_accuracy()

subroutine type_obsop::obsop_test_accuracy ( class(obsop_type), intent(inout)  obsop,
type(mpl_type), intent(inout)  mpl,
type(geom_type), intent(in)  geom 
)
private

Test observation operator accuracy.

Parameters
[in,out]obsopObservation operator data
[in,out]mplMPI data
[in]geomGeometry

Definition at line 506 of file type_obsop.F90.

Here is the call graph for this function:

◆ obsop_test_adjoint()

subroutine type_obsop::obsop_test_adjoint ( class(obsop_type), intent(inout)  obsop,
type(mpl_type), intent(inout)  mpl,
type(rng_type), intent(inout)  rng,
type(geom_type), intent(in)  geom 
)
private

Test observation operator adjoints accuracy.

Parameters
[in,out]obsopObservation operator data
[in,out]mplMPI data
[in,out]rngRandom number generator
[in]geomGeometry

Definition at line 463 of file type_obsop.F90.

◆ obsop_write()

subroutine type_obsop::obsop_write ( class(obsop_type), intent(inout)  obsop,
type(mpl_type), intent(inout)  mpl,
type(nam_type), intent(in)  nam,
type(geom_type), intent(in)  geom 
)
private

Write observations locations.

Parameters
[in,out]obsopObservation operator data
[in,out]mplMPI data
[in]namNamelist
[in]geomGeometry

Definition at line 147 of file type_obsop.F90.