23 #define LISTED_TYPE ufo_geovals 26 #include "linkedList_i.f" 35 #include "linkedList_c.f" 38 subroutine ufo_geovals_setup_c(c_key_self, c_key_locs, c_vars) bind(c,name='ufo_geovals_setup_f90')
41 integer(c_int),
intent(in) :: c_key_self
42 integer(c_int),
intent(in) :: c_key_locs
43 type(c_ptr),
intent(in) :: c_vars
45 type(ufo_geovals),
pointer :: self
46 type(ioda_locs),
pointer :: locs
47 type(ufo_vars) :: vars
65 subroutine ufo_geovals_copy_c(c_key_self, c_key_other) bind(c,name='ufo_geovals_copy_f90')
67 integer(c_int),
intent(in) :: c_key_self
68 integer(c_int),
intent(in) :: c_key_other
69 type(ufo_geovals),
pointer :: self
70 type(ufo_geovals),
pointer :: other
84 integer(c_int),
intent(in) :: c_key_self
85 integer(c_int),
intent(in) :: c_key_locs
86 type(c_ptr),
intent(in) :: c_conf
88 type(ufo_geovals),
pointer :: self
89 type(ioda_locs),
pointer :: locs
90 character(len=30) :: ic
95 ic = config_get_string(c_conf,len(ic),
"analytic_init")
106 integer(c_int),
intent(inout) :: c_key_self
108 type(ufo_geovals),
pointer :: self
123 integer(c_int),
intent(inout) :: c_key_self
125 type(ufo_geovals),
pointer :: self
140 integer(c_int),
intent(in) :: c_key_self
141 type(c_ptr),
intent(in) :: c_conf
142 type(c_ptr),
intent(in) :: c_vars
144 type(ufo_geovals),
pointer :: self
145 type(ufo_vars) :: vars
156 nobs = config_get_int(c_conf,
"nobs")
167 integer(c_int),
intent(in) :: c_key_self
168 type(ufo_geovals),
pointer :: self
180 integer(c_int),
intent(in) :: c_key_self
181 type(ufo_geovals),
pointer :: self
193 integer(c_int),
intent(in) :: c_key_self
194 real(c_double),
intent(inout) :: vrms
195 type(ufo_geovals),
pointer :: self
208 integer(c_int),
intent(in) :: c_key_self
209 type(c_ptr),
intent(in) :: c_conf
210 type(c_ptr),
intent(in) :: c_vars
212 type(ufo_geovals),
pointer :: self
213 type(ufo_vars) :: vars
224 nobs = config_get_int(c_conf,
"nobs")
235 integer(c_int),
intent(in) :: c_key_self
236 type(ufo_geovals),
pointer :: self
248 integer(c_int),
intent(in) :: c_key_self
249 real(c_double),
intent(in) :: zz
250 type(ufo_geovals),
pointer :: self
262 integer(c_int),
intent(in) :: c_key_self
263 integer(c_int),
intent(in) :: c_key_rhs
264 type(ufo_geovals),
pointer :: self
265 type(ufo_geovals),
pointer :: rhs
276 subroutine ufo_geovals_add_c(c_key_self, c_key_other) bind(c,name='ufo_geovals_add_f90')
278 integer(c_int),
intent(in) :: c_key_self
279 integer(c_int),
intent(in) :: c_key_other
280 type(ufo_geovals),
pointer :: self
281 type(ufo_geovals),
pointer :: other
292 subroutine ufo_geovals_diff_c(c_key_self, c_key_other) bind(c,name='ufo_geovals_diff_f90')
294 integer(c_int),
intent(in) :: c_key_self
295 integer(c_int),
intent(in) :: c_key_other
296 type(ufo_geovals),
pointer :: self
297 type(ufo_geovals),
pointer :: other
310 integer(c_int),
intent(in) :: c_key_self
311 integer(c_int),
intent(in) :: c_key_other
312 type(ufo_geovals),
pointer :: self
313 type(ufo_geovals),
pointer :: other
324 subroutine ufo_geovals_dotprod_c(c_key_self, c_key_other, prod) bind(c,name='ufo_geovals_dotprod_f90')
326 integer(c_int),
intent(in) :: c_key_self, c_key_other
327 real(c_double),
intent(inout) :: prod
328 type(ufo_geovals),
pointer :: self, other
339 subroutine ufo_geovals_minmaxavg_c(c_key_self, kobs, pmin, pmax, prms) bind(c,name='ufo_geovals_minmaxavg_f90')
341 integer(c_int),
intent(in) :: c_key_self
342 integer(c_int),
intent(inout) :: kobs
343 real(c_double),
intent(inout) :: pmin, pmax, prms
344 type(ufo_geovals),
pointer :: self
354 subroutine ufo_geovals_maxloc_c(c_key_self, mxval, iobs, ivar) bind(c,name='ufo_geovals_maxloc_f90')
356 integer(c_int),
intent(in) :: c_key_self
357 real(c_double),
intent(inout) :: mxval
358 integer(c_int),
intent(inout) :: iobs, ivar
359 type(ufo_geovals),
pointer :: self
373 integer(c_int),
intent(in) :: c_key_self
374 type(c_ptr),
intent(in) :: c_conf
375 type(c_ptr),
intent(in) :: c_vars
377 type(ufo_geovals),
pointer :: self
378 type(ufo_vars) :: vars
379 character(max_string) :: filename
389 filename = config_get_string(c_conf,len(filename),
"filename")
401 integer(c_int),
intent(in) :: c_key_self
402 type(c_ptr),
intent(in) :: c_conf
403 type(ufo_geovals),
pointer :: self
subroutine ufo_geovals_rms_c(c_key_self, vrms)
subroutine, public ufo_geovals_delete(self)
subroutine, public ufo_geovals_minmaxavg(self, kobs, pmin, pmax, prms)
subroutine ufo_geovals_abs_c(c_key_self)
subroutine, public ufo_geovals_add(self, other)
Sum of two GeoVaLs objects.
subroutine ufo_geovals_minmaxavg_c(c_key_self, kobs, pmin, pmax, prms)
subroutine ufo_geovals_write_file_c(c_key_self, c_conf)
subroutine, public ufo_geovals_analytic_init(self, locs, ic)
Initialize a GeoVaLs object based on an analytic state.
subroutine, public ufo_geovals_init(self)
subroutine, public ufo_geovals_read_netcdf(self, filename, vars)
subroutine, public ufo_geovals_diff(self, other)
Difference between two GeoVaLs objects.
subroutine ufo_geovals_diff_c(c_key_self, c_key_other)
integer, parameter max_string
subroutine, public ufo_geovals_rms(self, vrms)
subroutine ufo_geovals_setup_c(c_key_self, c_key_locs, c_vars)
Linked list implementation.
subroutine, public ufo_geovals_dotprod(self, other, gprod)
type(registry_t), public ioda_locs_registry
Linked list interface - defines registry_t type.
subroutine, public ufo_geovals_abs(self)
subroutine ufo_geovals_assign_c(c_key_self, c_key_rhs)
subroutine, public ufo_geovals_random(self)
subroutine ufo_geovals_maxloc_c(c_key_self, mxval, iobs, ivar)
subroutine, public ufo_geovals_zero(self)
subroutine, public ufo_geovals_allocone(self)
subroutine, public ufo_geovals_normalize(self, other)
Normalization of one GeoVaLs object by another.
subroutine ufo_geovals_setup_allocone_c(c_key_self, c_conf, c_vars)
subroutine ufo_geovals_delete_c(c_key_self)
subroutine, public ufo_geovals_maxloc(self, mxval, iobs, ivar)
Location where the summed geovals value is maximum.
subroutine ufo_geovals_read_file_c(c_key_self, c_conf, c_vars)
type(registry_t), public ufo_geovals_registry
Linked list interface - defines registry_t type.
subroutine ufo_geovals_dotprod_c(c_key_self, c_key_other, prod)
subroutine ufo_geovals_add_c(c_key_self, c_key_other)
subroutine ufo_geovals_zero_c(c_key_self)
subroutine ufo_geovals_copy_c(c_key_self, c_key_other)
Copy one GeoVaLs object into another.
subroutine ufo_geovals_random_c(c_key_self)
subroutine ufo_geovals_scalmult_c(c_key_self, zz)
subroutine, public ufo_geovals_setup(self, vars, nobs)
Fortran module handling observation locations.
subroutine ufo_geovals_create_c(c_key_self)
subroutine ufo_geovals_setup_random_c(c_key_self, c_conf, c_vars)
subroutine, public ufo_geovals_assign(self, rhs)
subroutine ufo_geovals_normalize_c(c_key_self, c_key_other)
subroutine, public ufo_geovals_scalmult(self, zz)
subroutine ufo_geovals_analytic_init_c(c_key_self, c_key_locs, c_conf)
subroutine, public ufo_geovals_copy(self, other)
Copy one GeoVaLs object into another.
subroutine, public ufo_vars_setup(self, c_vars)