17 #define LISTED_TYPE ufo_example
20 #include "oops/util/linkedList_i.f"
31 #include "oops/util/linkedList_c.f"
35 subroutine ufo_example_setup_c(c_key_self, c_conf, c_obsvars, c_geovars) bind(c,name='ufo_example_setup_f90')
36 use fckit_configuration_module,
only: fckit_configuration
37 use oops_variables_mod
39 integer(c_int),
intent(inout) :: c_key_self
40 type(c_ptr),
value,
intent(in) :: c_conf
41 type(c_ptr),
value,
intent(in) :: c_obsvars
42 type(c_ptr),
value,
intent(in) :: c_geovars
45 type(fckit_configuration) :: f_conf
48 f_conf = fckit_configuration(c_conf)
50 self%obsvars = oops_variables(c_obsvars)
51 self%geovars = oops_variables(c_geovars)
53 call self%setup(f_conf)
61 integer(c_int),
intent(inout) :: c_key_self
72 c_hofx) bind(c,name='ufo_example_simobs_f90')
76 integer(c_int),
intent(in) :: c_key_self
77 integer(c_int),
intent(in) :: c_key_geovals
78 type(c_ptr),
value,
intent(in) :: c_obsspace
79 integer(c_int),
intent(in) :: c_nvars, c_nlocs
80 real(c_double),
intent(inout) :: c_hofx(c_nvars, c_nlocs)
87 call self%simobs(geovals, c_obsspace, c_nvars, c_nlocs, c_hofx)
Fortran example module for functions on the interface between C++ and Fortran.
subroutine ufo_example_simobs_c(c_key_self, c_key_geovals, c_obsspace, c_nvars, c_nlocs, c_hofx)
subroutine ufo_example_delete_c(c_key_self)
subroutine ufo_example_setup_c(c_key_self, c_conf, c_obsvars, c_geovars)
Linked list implementation.
type(registry_t) ufo_example_registry
Linked list interface - defines registry_t type.
Fortran module for example observation operator.
type(registry_t), public ufo_geovals_registry
Linked list interface - defines registry_t type.
Fortran derived type for the observation type.
type to hold interpolated fields required by the obs operators