Go to the documentation of this file.
12 use fckit_configuration_module,
only: fckit_configuration
28 #define LISTED_TYPE fv3jedi_linvarcha_c2a
31 #include "oops/util/linkedList_i.f"
43 #include "oops/util/linkedList_c.f"
48 bind(c,name=
'fv3jedi_linvarcha_c2a_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_c2a_delete_f90')
83 integer(c_int),
intent(inout) :: c_key_self
96 bind(c,name=
'fv3jedi_linvarcha_c2a_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_xctl
102 integer(c_int),
intent(in) :: c_key_xana
111 call fv3jedi_increment_registry%get(c_key_xctl,xctl)
112 call fv3jedi_increment_registry%get(c_key_xana,xana)
121 bind(c,name=
'fv3jedi_linvarcha_c2a_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_xana
127 integer(c_int),
intent(in) :: c_key_xctl
136 call fv3jedi_increment_registry%get(c_key_xana,xana)
137 call fv3jedi_increment_registry%get(c_key_xctl,xctl)
146 bind(c,name=
'fv3jedi_linvarcha_c2a_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_xana
152 integer(c_int),
intent(in) :: c_key_xctl
161 call fv3jedi_increment_registry%get(c_key_xana,xana)
162 call fv3jedi_increment_registry%get(c_key_xctl,xctl)
171 bind(c,name=
'fv3jedi_linvarcha_c2a_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_xctl
177 integer(c_int),
intent(in) :: c_key_xana
186 call fv3jedi_increment_registry%get(c_key_xctl,xctl)
187 call fv3jedi_increment_registry%get(c_key_xana,xana)
Fortran derived type to hold FV3JEDI state.
subroutine c_fv3jedi_linvarcha_c2a_create(c_key_self, c_key_geom, c_key_bg, c_key_fg, c_conf)
Linked list implementation.
subroutine, public delete(self)
subroutine, public multiply(self, geom, dxc, dxa)
subroutine c_fv3jedi_linvarcha_c2a_multiplyadjoint(c_key_self, c_key_geom, c_key_xana, c_key_xctl)
subroutine c_fv3jedi_linvarcha_c2a_multiply(c_key_self, c_key_geom, c_key_xctl, c_key_xana)
subroutine c_fv3jedi_linvarcha_c2a_multiplyinverseadjoint(c_key_self, c_key_geom, c_key_xctl, c_key_xana)
type(registry_t), public fv3jedi_geom_registry
Linked list interface - defines registry_t type.
subroutine c_fv3jedi_linvarcha_c2a_multiplyinverse(c_key_self, c_key_geom, c_key_xana, c_key_xctl)
subroutine, public multiplyadjoint(self, geom, dxa, dxc)
type(registry_t), public fv3jedi_state_registry
Linked list interface - defines registry_t type.
Fortran module handling geometry for the FV3 model.
Fortran derived type to hold configuration data for the B mat variable change.
subroutine, public create(self, geom, bg, fg, conf)
Fortran derived type to hold geometry data for the FV3JEDI model.
type(registry_t), public fv3jedi_linvarcha_c2a_registry
Linked list interface - defines registry_t type.
subroutine c_fv3jedi_linvarcha_c2a_delete(c_key_self)
subroutine, public multiplyinverseadjoint(self, geom, dxc, dxa)
Fortran module handling geometry for the FV3 model.
subroutine, public multiplyinverse(self, geom, dxa, dxc)
type(registry_t), public fv3jedi_increment_registry
Linked list interface - defines registry_t type.