10 use fckit_configuration_module,
only: fckit_configuration
19 #define LISTED_TYPE ufo_metoffice_rmatrixradiance
22 #include "oops/util/linkedList_i.f"
30 #include "oops/util/linkedList_c.f"
34 bind(c, name=
'ufo_metoffice_rmatrixradiance_setup_f90')
37 integer(c_int),
intent(inout) :: c_self
38 type(c_ptr),
value,
intent(in) :: c_conf
39 integer(c_size_t),
intent(inout) :: nchans
40 integer(c_size_t),
intent(inout) :: wmoid
41 integer(c_size_t),
intent(inout) :: rtype
44 type(fckit_configuration) :: f_conf
45 character(len=:),
allocatable :: str
46 character(len=200) :: filepath
52 f_conf = fckit_configuration(c_conf)
53 call f_conf % get_or_die(
"RMatrix", str)
57 call self % setup(trim(filepath))
60 nchans = self % nchans
68 bind(c, name=
'ufo_metoffice_rmatrixradiance_delete_f90')
71 integer(c_int),
intent(inout) :: c_self
85 bind(c, name=
'ufo_metoffice_rmatrixradiance_getelements_f90')
88 integer(c_int),
intent(inout) :: c_self
89 integer(c_size_t),
intent(in) :: nchans
90 integer(c_int),
intent(inout) :: channels(nchans)
91 real(c_float),
intent(inout) :: obs_error(nchans)
97 channels = self % channels(1:nchans)
98 obs_error = self % errors(1:nchans)
104 bind(c, name=
'ufo_metoffice_rmatrixradiance_print_f90')
107 integer(c_int),
intent(inout) :: c_self
type(registry_t) ufo_metoffice_rmatrixradiance_registry
Linked list interface - defines registry_t type.
subroutine ufo_metoffice_rmatrixradiance_delete_c(c_self)
subroutine ufo_metoffice_rmatrixradiance_setup_c(c_self, c_conf, nchans, wmoid, rtype)
Linked list implementation.
subroutine ufo_metoffice_rmatrixradiance_print_c(c_self)
subroutine ufo_metoffice_rmatrixradiance_getelements_c(c_self, nchans, channels, obs_error)
Fortran derived type to hold data for the observation covariance.