10 use fckit_configuration_module, 
only: fckit_configuration
 
   12 use oops_variables_mod
 
   26 #define LISTED_TYPE mpasjedi_linvarcha_c2a 
   29 #include "oops/util/linkedList_i.f" 
   41 #include "oops/util/linkedList_c.f" 
   46            c_key_self, c_key_geom, c_key_bg, c_key_fg, c_conf, c_vars) &
 
   47            bind(c,name=
'mpasjedi_linvarcha_c2a_create_f90')
 
   50 integer(c_int), 
intent(inout)  :: c_key_self
 
   51 integer(c_int), 
intent(in)     :: c_key_geom
 
   52 integer(c_int), 
intent(in)     :: c_key_bg
 
   53 integer(c_int), 
intent(in)     :: c_key_fg
 
   54 type(c_ptr), 
value, 
intent(in) :: c_conf
 
   55 type(c_ptr), 
value, 
intent(in) :: c_vars
 
   61 type(fckit_configuration) :: f_conf
 
   62 type(oops_variables) :: vars
 
   72 f_conf = fckit_configuration(c_conf)
 
   73 vars = oops_variables(c_vars)
 
   75 call self%create(geom, bg, fg, f_conf, vars)
 
   82            bind(c,name=
'mpasjedi_linvarcha_c2a_delete_f90')
 
   85 integer(c_int), 
intent(inout) :: c_key_self
 
   98            c_key_self, c_key_geom, c_key_in, c_key_out) &
 
   99            bind(c,name=
'mpasjedi_linvarcha_c2a_multiply_f90')
 
  102 integer(c_int), 
intent(in) :: c_key_self
 
  103 integer(c_int), 
intent(in) :: c_key_geom
 
  104 integer(c_int), 
intent(in) :: c_key_in
 
  105 integer(c_int), 
intent(in) :: c_key_out
 
  117 call self%multiply(geom,xin,xout)
 
  124            c_key_self, c_key_geom, c_key_in, &
 
  125            c_key_out) bind (c,name='mpasjedi_linvarcha_c2a_multiplyadjoint_f90')
 
  128 integer(c_int), 
intent(in) :: c_key_self
 
  129 integer(c_int), 
intent(in) :: c_key_geom
 
  130 integer(c_int), 
intent(in) :: c_key_in
 
  131 integer(c_int), 
intent(in) :: c_key_out
 
  143 call self%multiplyadjoint(geom,xin,xout)
 
  152            c_key_self, c_key_geom, c_key_in, c_key_out) &
 
  153            bind(c,name=
'mpasjedi_linvarcha_c2a_multiplyinverse_f90')
 
  156 integer(c_int), 
intent(in) :: c_key_self
 
  157 integer(c_int), 
intent(in) :: c_key_geom
 
  158 integer(c_int), 
intent(in) :: c_key_in
 
  159 integer(c_int), 
intent(in) :: c_key_out
 
  171 call self%multiplyinverse(geom,xin,xout)
 
  178            c_key_self, c_key_geom, c_key_in, &
 
  179            c_key_out) bind (c,name='mpasjedi_linvarcha_c2a_multiplyinverseadjoint_f90')
 
  182 integer(c_int), 
intent(in) :: c_key_self
 
  183 integer(c_int), 
intent(in) :: c_key_geom
 
  184 integer(c_int), 
intent(in) :: c_key_in
 
  185 integer(c_int), 
intent(in) :: c_key_out
 
  197 call self%multiplyinverseadjoint(geom,xin,xout)
 
type(registry_t), public mpas_fields_registry
Linked list interface - defines registry_t type.
 
type(registry_t), public mpas_geom_registry
Linked list interface - defines registry_t type.
 
subroutine c_mpasjedi_linvarcha_c2a_create(c_key_self, c_key_geom, c_key_bg, c_key_fg, c_conf, c_vars)
Linked list implementation.
 
subroutine c_mpasjedi_linvarcha_c2a_multiplyadjoint(c_key_self, c_key_geom, c_key_in, c_key_out)
 
type(registry_t), public mpasjedi_linvarcha_c2a_registry
Linked list interface - defines registry_t type.
 
subroutine c_mpasjedi_linvarcha_c2a_multiply(c_key_self, c_key_geom, c_key_in, c_key_out)
 
subroutine c_mpasjedi_linvarcha_c2a_multiplyinverse(c_key_self, c_key_geom, c_key_in, c_key_out)
 
subroutine c_mpasjedi_linvarcha_c2a_multiplyinverseadjoint(c_key_self, c_key_geom, c_key_in, c_key_out)
 
subroutine c_mpasjedi_linvarcha_c2a_delete(c_key_self)
 
Fortran derived type to hold MPAS field.
 
Fortran derived type to hold geometry definition.
 
Fortran derived type to hold configuration data for the B mat variable change.