Go to the documentation of this file.
12 use fckit_configuration_module,
only: fckit_configuration
28 #define LISTED_TYPE fv3jedi_linvarcha_nmcbal
31 #include "oops/util/linkedList_i.f"
43 #include "oops/util/linkedList_c.f"
48 bind(c,name=
'fv3jedi_linvarcha_nmcbal_create_f90')
51 integer(c_int),
intent(inout) :: c_key_self
52 integer(c_int),
intent(in) :: c_key_geom
53 integer(c_int),
intent(in) :: c_key_bg
54 integer(c_int),
intent(in) :: c_key_fg
55 type(c_ptr),
intent(in) :: c_conf
61 type(fckit_configuration) :: conf
71 conf = fckit_configuration(c_conf)
73 call create(self,geom,bg,fg,conf)
80 bind(c,name=
'fv3jedi_linvarcha_nmcbal_delete_f90')
83 integer(c_int),
intent(inout) :: c_key_self
96 bind(c,name=
'fv3jedi_linvarcha_nmcbal_multiply_f90')
99 integer(c_int),
intent(in) :: c_key_self
100 integer(c_int),
intent(in) :: c_key_geom
101 integer(c_int),
intent(in) :: c_key_xuba
102 integer(c_int),
intent(in) :: c_key_xbal
111 call fv3jedi_increment_registry%get(c_key_xuba,xuba)
112 call fv3jedi_increment_registry%get(c_key_xbal,xbal)
121 bind(c,name=
'fv3jedi_linvarcha_nmcbal_multiplyadjoint_f90')
124 integer(c_int),
intent(in) :: c_key_self
125 integer(c_int),
intent(in) :: c_key_geom
126 integer(c_int),
intent(in) :: c_key_xbal
127 integer(c_int),
intent(in) :: c_key_xuba
136 call fv3jedi_increment_registry%get(c_key_xbal,xbal)
137 call fv3jedi_increment_registry%get(c_key_xuba,xuba)
146 bind(c,name=
'fv3jedi_linvarcha_nmcbal_multiplyinverse_f90')
149 integer(c_int),
intent(in) :: c_key_self
150 integer(c_int),
intent(in) :: c_key_geom
151 integer(c_int),
intent(in) :: c_key_xuba
152 integer(c_int),
intent(in) :: c_key_xbal
161 call fv3jedi_increment_registry%get(c_key_xbal,xbal)
162 call fv3jedi_increment_registry%get(c_key_xuba,xuba)
171 bind(c,name=
'fv3jedi_linvarcha_nmcbal_multiplyinverseadjoint_f90')
174 integer(c_int),
intent(in) :: c_key_self
175 integer(c_int),
intent(in) :: c_key_geom
176 integer(c_int),
intent(in) :: c_key_xuba
177 integer(c_int),
intent(in) :: c_key_xbal
186 call fv3jedi_increment_registry%get(c_key_xuba,xuba)
187 call fv3jedi_increment_registry%get(c_key_xbal,xbal)
subroutine, public create(self, geom, bg, fg, conf)
Fortran derived type to hold FV3JEDI state.
subroutine, public multiplyinverse(self, geom, xbal, xuba)
type(registry_t), public fv3jedi_linvarcha_nmcbal_registry
Linked list interface - defines registry_t type.
subroutine, public multiplyinverseadjoint(self, geom, xuba, xbal)
subroutine, public multiply(self, geom, xuba, xbal)
type(registry_t), public fv3jedi_geom_registry
Linked list interface - defines registry_t type.
subroutine c_fv3jedi_linvarcha_nmcbal_multiplyinverseadjoint(c_key_self, c_key_geom, c_key_xuba, c_key_xbal)
type(registry_t), public fv3jedi_state_registry
Linked list interface - defines registry_t type.
Fortran module handling geometry for the FV3 model.
subroutine c_fv3jedi_linvarcha_nmcbal_multiplyinverse(c_key_self, c_key_geom, c_key_xbal, c_key_xuba)
subroutine c_fv3jedi_linvarcha_nmcbal_create(c_key_self, c_key_geom, c_key_bg, c_key_fg, c_conf)
Linked list implementation.
subroutine, public delete(self)
Fortran derived type to hold geometry data for the FV3JEDI model.
subroutine c_fv3jedi_linvarcha_nmcbal_delete(c_key_self)
subroutine c_fv3jedi_linvarcha_nmcbal_multiply(c_key_self, c_key_geom, c_key_xuba, c_key_xbal)
Fortran module handling geometry for the FV3 model.
subroutine, public multiplyadjoint(self, geom, xbal, xuba)
Fortran derived type to hold configuration data for the B mat variable change.
subroutine c_fv3jedi_linvarcha_nmcbal_multiplyadjoint(c_key_self, c_key_geom, c_key_xbal, c_key_xuba)
type(registry_t), public fv3jedi_increment_registry
Linked list interface - defines registry_t type.