21 #define LISTED_TYPE fv3jedi_covar 24 #include "linkedList_i.f" 36 #include "linkedList_c.f" 40 & bind(c,name=
'fv3jedi_b_setup_f90')
43 integer(c_int),
intent(inout) :: c_key_self
44 type(c_ptr),
intent(in) :: c_conf
45 integer(c_int),
intent(in) :: c_key_geom
46 type(fv3jedi_covar),
pointer :: self
47 type(fv3jedi_geom),
pointer :: geom
63 integer(c_int),
intent(inout) :: c_key_self
64 type(fv3jedi_covar),
pointer :: self
76 subroutine c_fv3jedi_b_inv_mult(c_key_self, c_key_in, c_key_out) bind(c,name='fv3jedi_b_invmult_f90')
79 integer(c_int),
intent(in) :: c_key_self
80 integer(c_int),
intent(in) :: c_key_in
81 integer(c_int),
intent(in) :: c_key_out
82 type(fv3jedi_covar),
pointer :: self
83 type(fv3jedi_increment),
pointer :: xin
84 type(fv3jedi_increment),
pointer :: xout
87 call fv3jedi_increment_registry%get(c_key_in,xin)
88 call fv3jedi_increment_registry%get(c_key_out,xout)
100 subroutine c_fv3jedi_b_mult(c_key_self, c_key_in, c_key_out) bind(c,name='fv3jedi_b_mult_f90')
103 integer(c_int),
intent(in) :: c_key_self
104 integer(c_int),
intent(in) :: c_key_in
105 integer(c_int),
intent(in) :: c_key_out
106 type(fv3jedi_covar),
pointer :: self
107 type(fv3jedi_increment),
pointer :: xin
108 type(fv3jedi_increment),
pointer :: xout
111 call fv3jedi_increment_registry%get(c_key_in,xin)
112 call fv3jedi_increment_registry%get(c_key_out,xout)
127 integer(c_int),
intent(in) :: c_key_self
128 integer(c_int),
intent(in) :: c_key_out
129 type(fv3jedi_covar),
pointer :: self
130 type(fv3jedi_increment),
pointer :: xout
133 call fv3jedi_increment_registry%get(c_key_out,xout)
type(registry_t), public fv3jedi_geom_registry
Linked list interface - defines registry_t type.
subroutine fv3jedi_covar_setup(self, geom, c_conf)
Setup for the model's 3d error covariance matrices (B and Q_i)
Fortran derived type to hold geometry data for the FV3JEDI model.
subroutine fv3jedi_covar_delete(self)
subroutine, public random(self)
subroutine c_fv3jedi_b_inv_mult(c_key_self, c_key_in, c_key_out)
Multiply streamfunction by inverse of covariance.
subroutine c_fv3jedi_b_setup(c_key_self, c_conf, c_key_geom)
Linked list implementation.
subroutine c_fv3jedi_b_delete(c_key_self)
subroutine c_fv3jedi_b_mult(c_key_self, c_key_in, c_key_out)
Multiply streamfunction by covariance.
type(registry_t), public fv3jedi_covar_registry
Linked list interface - defines registry_t type.
subroutine c_fv3jedi_b_randomize(c_key_self, c_key_out)
Generate randomized increment.
Handle increment for the FV3JEDI model.
Fortran module handling geometry for the FV3 model.
Fortran module handling geometry for the FV3 model.