9 use fckit_configuration_module, 
only: fckit_configuration
 
   14 use oops_variables_mod
 
   32 #define LISTED_TYPE fv3jedi_tlm 
   33 #include "oops/util/linkedList_i.f" 
   43 #include "oops/util/linkedList_c.f" 
   48            bind(c,name=
'fv3jedi_tlm_create_f90')
 
   51 integer(c_int), 
intent(inout)  :: c_key_self
 
   52 integer(c_int), 
intent(in)     :: c_key_geom
 
   53 type(c_ptr),    
intent(in)     :: c_conf
 
   57 type(fckit_configuration)   :: f_conf
 
   66 f_conf = fckit_configuration(c_conf)
 
   69 call self%create(geom, f_conf)
 
   78 integer(c_int), 
intent(inout) :: c_key_self
 
   96            bind(c,name=
'fv3jedi_tlm_initialize_tl_f90')
 
   99 integer(c_int), 
intent(in) :: c_key_self
 
  100 integer(c_int), 
intent(in) :: c_key_incr
 
  106 call fv3jedi_increment_registry%get(c_key_incr,incr)
 
  110 call self%initialize_tl(incr)
 
  117            bind(c,name=
'fv3jedi_tlm_step_tl_f90')
 
  120 integer(c_int), 
intent(in) :: c_key_self
 
  121 integer(c_int), 
intent(in) :: c_key_incr
 
  122 integer(c_int), 
intent(in) :: c_key_traj
 
  126 type(fv3jedi_traj),      
pointer :: traj
 
  130 call fv3jedi_increment_registry%get(c_key_incr,incr)
 
  134 call self%step_tl(incr, traj)
 
  141            bind(c,name=
'fv3jedi_tlm_finalize_tl_f90')
 
  144 integer(c_int), 
intent(in) :: c_key_self
 
  145 integer(c_int), 
intent(in) :: c_key_incr
 
  151 call fv3jedi_increment_registry%get(c_key_incr,incr)
 
  155 call self%finalize_tl(incr)
 
  162            bind(c,name=
'fv3jedi_tlm_initialize_ad_f90')
 
  165 integer(c_int), 
intent(in) :: c_key_self
 
  166 integer(c_int), 
intent(in) :: c_key_incr
 
  172 call fv3jedi_increment_registry%get(c_key_incr,incr)
 
  176 call self%initialize_ad(incr)
 
  183            bind(c,name=
'fv3jedi_tlm_step_ad_f90')
 
  186 integer(c_int), 
intent(in) :: c_key_self
 
  187 integer(c_int), 
intent(in) :: c_key_incr
 
  188 integer(c_int), 
intent(in) :: c_key_traj
 
  192 type(fv3jedi_traj),      
pointer :: traj
 
  196 call fv3jedi_increment_registry%get(c_key_incr,incr)
 
  200 call self%step_ad(incr, traj)
 
  207            bind(c,name=
'fv3jedi_tlm_finalize_ad_f90')
 
  210 integer(c_int), 
intent(in) :: c_key_self
 
  211 integer(c_int), 
intent(in) :: c_key_incr
 
  217 call fv3jedi_increment_registry%get(c_key_incr,incr)
 
  221 call self%finalize_ad(incr)