22 use fckit_log_module,
only : fckit_log
34 #define LISTED_TYPE ioda_obs_example 37 #include "../../linkedList_i.f" 46 #include "../../linkedList_c.f" 52 integer(c_int),
intent(inout) :: c_key_self
53 type(c_ptr),
intent(in) :: c_conf
55 type(ioda_obs_example),
pointer :: self
56 character(len=max_string) :: fin
57 character(len=max_string) :: MyObsType
58 character(len=255) :: record
60 if (config_element_exists(c_conf,
"ObsData.ObsDataIn"))
then 61 fin = config_get_string(c_conf,
max_string,
"ObsData.ObsDataIn.obsfile")
65 call fckit_log%info(record)
70 if (trim(fin) /=
"")
then 82 integer(c_int),
intent(in) :: c_key_self
83 type(c_ptr),
intent(in) :: c_t1, c_t2
84 integer(c_int),
intent(inout) :: c_key_locs
86 type(ioda_obs_example),
pointer :: self
87 type(datetime) :: t1, t2
88 type(ioda_locs),
pointer :: locs
91 call c_f_datetime(c_t1, t1)
92 call c_f_datetime(c_t2, t2)
108 integer(c_int),
intent(inout) :: c_key_self
109 type(c_ptr),
intent(in) :: c_conf
110 type(c_ptr),
intent(in) :: c_t1, c_t2
112 type(ioda_obs_example),
pointer :: self
113 type(datetime) :: t1, t2
117 call c_f_datetime(c_t1, t1)
118 call c_f_datetime(c_t2, t2)
120 nobs = config_get_int(c_conf,
"nobs")
132 integer(c_int),
intent(in) :: c_key_self
133 integer(c_int),
intent(inout) :: kobs
134 type(ioda_obs_example),
pointer :: self
146 integer(c_int),
intent(inout) :: c_key_self
147 type(ioda_obs_example),
pointer :: self
subroutine, public ioda_obs_example_read(filename, self)
type(registry_t), public ioda_obs_example_registry
Linked list interface - defines registry_t type.
integer, parameter max_string
Fortran example module for for functions on the interface between C++ and Fortran.
type(registry_t), public ioda_locs_registry
Linked list interface - defines registry_t type.
subroutine ioda_obsdb_example_setup_c(c_key_self, c_conf)
Linked list implementation.
subroutine, public ioda_obs_example_generate(self, nobs)
Fortran example module for observation space.
subroutine, public ioda_obs_example_getlocs(self, locs)
subroutine, public ioda_obs_example_delete(self)
subroutine ioda_obsdb_example_generate_c(c_key_self, c_conf, c_t1, c_t2)
Fortran module handling observation locations.
subroutine ioda_obsdb_example_nobs_c(c_key_self, kobs)
subroutine ioda_obsdb_example_delete_c(c_key_self)
subroutine ioda_obsdb_example_getlocations_c(c_key_self, c_t1, c_t2, c_key_locs)