UFO
ObsBackgroundErrorIdentity.interface.F90
Go to the documentation of this file.
1 ! (C) Copyright 2021 Met Office UK
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 
7 
8 use iso_c_binding
10 implicit none
11 
12 contains
13 
14 ! ------------------------------------------------------------------------------
15 
16 subroutine ufo_backgrounderroridentity_fillobsdiags_c(c_key_geovals, c_nlocs, &
17  c_obsvars, c_key_obsdiags) &
18  bind(c, name='ufo_backgrounderroridentity_fillobsdiags_f90')
19 
20  use oops_variables_mod, only: oops_variables
21  use ufo_geovals_mod, only: ufo_geovals
23  implicit none
24 
25  integer(c_int), intent(in) :: c_key_geovals
26  integer(c_int), intent(in) :: c_nlocs
27  type(c_ptr), value, intent(in) :: c_obsvars
28  integer(c_int), intent(in) :: c_key_obsdiags
29 
30  type(ufo_geovals), pointer :: geovals
31  type(oops_variables) :: obsvars
32  type(ufo_geovals), pointer :: obsdiags
33 
34  call ufo_geovals_registry%get(c_key_geovals, geovals)
35  obsvars = oops_variables(c_obsvars)
36  call ufo_geovals_registry%get(c_key_obsdiags, obsdiags)
37 
38  call ufo_backgrounderroridentity_fillobsdiags(geovals, c_nlocs, obsvars, obsdiags)
39 
41 
subroutine ufo_backgrounderroridentity_fillobsdiags_c(c_key_geovals, c_nlocs, c_obsvars, c_key_obsdiags)
subroutine ufo_backgrounderroridentity_fillobsdiags(geovals, nlocs, obsvars, obsdiags)
For each obs diagnostic called _background_error, where belongs to the set of variable names obsvars...
type(registry_t), public ufo_geovals_registry
Linked list interface - defines registry_t type.
type to hold interpolated fields required by the obs operators