25 #define LISTED_TYPE fv3jedi_varcha_c2m 28 #include "linkedList_i.f" 40 #include "linkedList_c.f" 45 c_conf) bind (c,name='fv3jedi_varcha_c2m_setup_f90')
48 integer(c_int),
intent(inout) :: c_key_self
49 integer(c_int),
intent(in) :: c_key_state_bg
50 integer(c_int),
intent(in) :: c_key_state_fg
51 integer(c_int),
intent(in) :: c_key_geom
52 type(c_ptr),
intent(in) :: c_conf
54 type(fv3jedi_varcha_c2m),
pointer :: self
55 type(fv3jedi_state),
pointer :: bg
56 type(fv3jedi_state),
pointer :: fg
57 type(fv3jedi_geom),
pointer :: geom
68 call create(self, bg, fg, geom, c_conf)
75 bind(c,name=
'fv3jedi_varcha_c2m_delete_f90')
78 integer(c_int),
intent(inout) :: c_key_self
80 type(fv3jedi_varcha_c2m),
pointer :: self
91 bind(c,name=
'fv3jedi_varcha_c2m_multiply_f90')
94 integer(c_int),
intent(in) :: c_key_self
95 integer(c_int),
intent(in) :: c_key_geom
96 integer(c_int),
intent(in) :: c_key_in
97 integer(c_int),
intent(in) :: c_key_out
99 type(fv3jedi_varcha_c2m),
pointer :: self
100 type(fv3jedi_increment),
pointer :: xin
101 type(fv3jedi_increment),
pointer :: xout
102 type(fv3jedi_geom),
pointer :: geom
116 c_key_out) bind (c,name='fv3jedi_varcha_c2m_multiplyadjoint_f90')
119 integer(c_int),
intent(in) :: c_key_self
120 integer(c_int),
intent(in) :: c_key_geom
121 integer(c_int),
intent(in) :: c_key_in
122 integer(c_int),
intent(in) :: c_key_out
124 type(fv3jedi_varcha_c2m),
pointer :: self
125 type(fv3jedi_increment),
pointer :: xin
126 type(fv3jedi_increment),
pointer :: xout
127 type(fv3jedi_geom),
pointer :: geom
143 bind(c,name=
'fv3jedi_varcha_c2m_multiplyinverse_f90')
146 integer(c_int),
intent(in) :: c_key_self
147 integer(c_int),
intent(in) :: c_key_geom
148 integer(c_int),
intent(in) :: c_key_in
149 integer(c_int),
intent(in) :: c_key_out
151 type(fv3jedi_varcha_c2m),
pointer :: self
152 type(fv3jedi_increment),
pointer :: xin
153 type(fv3jedi_increment),
pointer :: xout
154 type(fv3jedi_geom),
pointer :: geom
168 c_key_out) bind (c,name='fv3jedi_varcha_c2m_multiplyinverseadjoint_f90')
171 integer(c_int),
intent(in) :: c_key_self
172 integer(c_int),
intent(in) :: c_key_geom
173 integer(c_int),
intent(in) :: c_key_in
174 integer(c_int),
intent(in) :: c_key_out
176 type(fv3jedi_varcha_c2m),
pointer :: self
177 type(fv3jedi_increment),
pointer :: xin
178 type(fv3jedi_increment),
pointer :: xout
179 type(fv3jedi_geom),
pointer :: geom
type(registry_t), public fv3jedi_geom_registry
Linked list interface - defines registry_t type.
Fortran derived type to hold FV3JEDI increment.
subroutine c_fv3jedi_varcha_c2m_multiplyinverseadjoint(c_key_self, c_key_geom, c_key_in, c_key_out)
subroutine c_fv3jedi_varcha_c2m_multiply(c_key_self, c_key_geom, c_key_in, c_key_out)
subroutine, public delete(self)
Fortran derived type to hold FV3JEDI state.
subroutine c_fv3jedi_varcha_c2m_multiplyadjoint(c_key_self, c_key_geom, c_key_in, c_key_out)
type(registry_t), public fv3jedi_increment_registry
Linked list interface - defines registry_t type.
Fortran derived type to hold geometry data for the FV3JEDI model.
subroutine c_fv3jedi_varcha_c2m_multiplyinverse(c_key_self, c_key_geom, c_key_in, c_key_out)
subroutine, public multiplyinverse(self, geom, xmod, xctr)
subroutine, public multiplyadjoint(self, geom, xmod, xctl)
subroutine, public multiply(self, geom, xctl, xmod)
Handle state for the FV3JEDI odel.
Handle increment for the FV3JEDI model.
type(registry_t), public fv3jedi_varcha_c2m_registry
Linked list interface - defines registry_t type.
Fortran module handling geometry for the FV3 model.
type(registry_t), public fv3jedi_state_registry
Linked list interface - defines registry_t type.
subroutine c_fv3jedi_varcha_c2m_setup(c_key_self, c_key_geom, c_key_state_bg, c_key_state_fg, c_conf)
Linked list implementation.
subroutine, public multiplyinverseadjoint(self, geom, xctr, xmod)
subroutine, public create(self, bg, fg, geom, c_conf)
subroutine c_fv3jedi_varcha_c2m_delete(c_key_self)
Fortran module handling geometry for the FV3 model.