FV3 Bundle
ufo_aod_tlad_mod.F90
Go to the documentation of this file.
1 ! (C) Copyright 2017-2018 UCAR
2 !
3 ! This software is licensed under the terms of the Apache Licence Version 2.0
4 ! which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
5 
6 !> Fortran module to handle aod observations
7 
9  use iso_c_binding
10  use ufo_vars_mod
11  use ioda_locs_mod
12  use ufo_geovals_mod
13  use kinds
15  implicit none
16 
17  public :: ufo_aod_tlad
18 
19  !> Fortran derived type for aod trajectory
20  type, extends(ufo_basis_tlad) :: ufo_aod_tlad
21  contains
22  procedure :: delete => ufo_aod_tlad_delete
23  procedure :: settraj => ufo_aod_tlad_settraj
24  procedure :: simobs_tl => ufo_aod_simobs_tl
25  procedure :: simobs_ad => ufo_aod_simobs_ad
26  end type ufo_aod_tlad
27 
28 contains
29 
30 ! ------------------------------------------------------------------------------
31 
32  subroutine ufo_aod_tlad_delete(self)
33  implicit none
34  class(ufo_aod_tlad), intent(inout) :: self
35 
36  ! Nothing here yet
37 
38  end subroutine ufo_aod_tlad_delete
39 
40 ! ------------------------------------------------------------------------------
41 
42  subroutine ufo_aod_tlad_settraj(self, geovals, obss)
43  implicit none
44  class(ufo_aod_tlad), intent(inout) :: self
45  type(ufo_geovals), intent(in) :: geovals
46  type(c_ptr), value, intent(in) :: obss
47 
48  character(len=*), parameter :: myname_="ufo_aod_tlad_settraj"
49 
50  ! Nothing here yet
51 
52  end subroutine ufo_aod_tlad_settraj
53 
54 ! ------------------------------------------------------------------------------
55 
56  subroutine ufo_aod_simobs_tl(self, geovals, hofx, obss)
57  implicit none
58  class(ufo_aod_tlad), intent(in) :: self
59  type(ufo_geovals), intent(in) :: geovals
60  real(kind_real), intent(inout) :: hofx(:)
61  type(c_ptr), value, intent(in) :: obss
62 
63  character(len=*), parameter :: myname_="ufo_aod_simobs_tl"
64 
65  ! Nothing here yet
66 
67  end subroutine ufo_aod_simobs_tl
68 
69 ! ------------------------------------------------------------------------------
70 
71  subroutine ufo_aod_simobs_ad(self, geovals, hofx, obss)
72  implicit none
73  class(ufo_aod_tlad), intent(in) :: self
74  type(ufo_geovals), intent(inout) :: geovals
75  real(kind_real), intent(in) :: hofx(:)
76  type(c_ptr), value, intent(in) :: obss
77 
78  character(len=*), parameter :: myname_="ufo_aod_simobs_tl"
79 
80  ! Nothing here yet
81 
82  end subroutine ufo_aod_simobs_ad
83 
84 ! ------------------------------------------------------------------------------
85 
86 END MODULE ufo_aod_tlad_mod
Fortran module to handle aod observations.
Fortran derived type for aod trajectory.
subroutine ufo_aod_tlad_delete(self)
subroutine ufo_aod_simobs_ad(self, geovals, hofx, obss)
subroutine ufo_aod_simobs_tl(self, geovals, hofx, obss)
subroutine ufo_aod_tlad_settraj(self, geovals, obss)
Fortran module handling observation locations.
subroutine, public delete(self)
Definition: qg_fields.F90:136