UFO
ObsGnssroBendMetOffice.interface.F90
Go to the documentation of this file.
1 ! (C) Copyright 2017 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 gnssro observations-bending angle Met Office 1d operator
7 
9 
10  use fckit_configuration_module, only: fckit_configuration
11  use iso_c_binding
13 
14  implicit none
15  private
16 
17 #define LISTED_TYPE ufo_gnssro_BendMetOffice
18 
19  !> Linked list interface - defines registry_t type
20 #include "oops/util/linkedList_i.f"
21 
22  !> Global registry
24 
25  ! ------------------------------------------------------------------------------
26 contains
27  ! ------------------------------------------------------------------------------
28  !> Linked list implementation
29 #include "oops/util/linkedList_c.f"
30 
31 ! ------------------------------------------------------------------------------
32 
33 subroutine ufo_gnssro_bendmetoffice_setup_c(c_key_self, c_conf) bind(c,name='ufo_gnssro_bendmetoffice_setup_f90')
34 implicit none
35 integer(c_int), intent(inout) :: c_key_self
36 type(c_ptr), intent(in) :: c_conf
37 
38 type(ufo_gnssro_bendmetoffice), pointer :: self
39 type(fckit_configuration) :: f_conf
40 
41 call ufo_gnssro_bendmetoffice_registry%setup(c_key_self, self)
42 f_conf = fckit_configuration(c_conf)
43 
44 call self%setup(f_conf)
45 
47 
48 ! ------------------------------------------------------------------------------
49 
50 subroutine ufo_gnssro_bendmetoffice_delete_c(c_key_self) bind(c,name='ufo_gnssro_bendmetoffice_delete_f90')
51 implicit none
52 integer(c_int), intent(inout) :: c_key_self
53 
54 type(ufo_gnssro_bendmetoffice), pointer :: self
55 
56 call ufo_gnssro_bendmetoffice_registry%delete(c_key_self,self)
57 
59 
60 ! ------------------------------------------------------------------------------
61 
62 subroutine ufo_gnssro_bendmetoffice_simobs_c(c_key_self, c_key_geovals, c_obsspace, &
63  c_nobs, c_hofx, c_vert_interp_ops, &
64  c_pseudo_ops) bind(c,name='ufo_gnssro_bendmetoffice_simobs_f90')
65 
66 implicit none
67 integer(c_int), intent(in) :: c_key_self
68 integer(c_int), intent(in) :: c_key_geovals
69 type(c_ptr), value, intent(in) :: c_obsspace
70 integer(c_int), intent(in) :: c_nobs
71 real(c_double), intent(inout) :: c_hofx(c_nobs)
72 logical, intent(in) :: c_vert_interp_ops
73 logical, intent(in) :: c_pseudo_ops
74 
75 type(ufo_gnssro_bendmetoffice), pointer :: self
76 
77 character(len=*), parameter :: myname_="ufo_gnssro_bendmetoffice_simobs_c"
78 call ufo_gnssro_bendmetoffice_registry%get(c_key_self, self)
79 call self%opr_simobs(c_key_geovals, c_obsspace, c_hofx)
80 
82 
83 ! ------------------------------------------------------------------------------
84 
ufo_gnssro_bendmetoffice_mod
Fortran module for gnssro bending angle Met Office forward operator.
Definition: ufo_gnssro_bendmetoffice_mod.F90:10
ufo_gnssro_bendmetoffice_mod_c::ufo_gnssro_bendmetoffice_registry
type(registry_t) ufo_gnssro_bendmetoffice_registry
Linked list interface - defines registry_t type.
Definition: ObsGnssroBendMetOffice.interface.F90:23
ufo_gnssro_bendmetoffice_mod_c::ufo_gnssro_bendmetoffice_setup_c
subroutine ufo_gnssro_bendmetoffice_setup_c(c_key_self, c_conf)
Linked list implementation.
Definition: ObsGnssroBendMetOffice.interface.F90:34
ufo_gnssro_bendmetoffice_mod_c::ufo_gnssro_bendmetoffice_delete_c
subroutine ufo_gnssro_bendmetoffice_delete_c(c_key_self)
Definition: ObsGnssroBendMetOffice.interface.F90:51
ufo_gnssro_bendmetoffice_mod_c
Fortran module to handle gnssro observations-bending angle Met Office 1d operator.
Definition: ObsGnssroBendMetOffice.interface.F90:8
ufo_gnssro_bendmetoffice_mod_c::ufo_gnssro_bendmetoffice_simobs_c
subroutine ufo_gnssro_bendmetoffice_simobs_c(c_key_self, c_key_geovals, c_obsspace, c_nobs, c_hofx, c_vert_interp_ops, c_pseudo_ops)
Definition: ObsGnssroBendMetOffice.interface.F90:65
ufo_gnssro_bendmetoffice_mod::ufo_gnssro_bendmetoffice
Fortran derived type for gnssro trajectory.
Definition: ufo_gnssro_bendmetoffice_mod.F90:30