15 use fckit_configuration_module, 
only: fckit_configuration
 
   29 #define LISTED_TYPE fv3lm_model 
   30 #include "oops/util/linkedList_i.f" 
   40 #include "oops/util/linkedList_c.f" 
   45            bind(c,name=
'fv3jedi_fv3lm_create_f90')
 
   48 integer(c_int), 
intent(inout) :: c_key_self
 
   49 integer(c_int), 
intent(in)    :: c_key_geom
 
   50 type(c_ptr),    
intent(in)    :: c_conf
 
   54 type(fckit_configuration)   :: f_conf
 
   63 f_conf = fckit_configuration(c_conf)
 
   66 call self%create(geom, f_conf)
 
   75 integer(c_int), 
intent(inout) :: c_key_self
 
   93            bind(c,name=
'fv3jedi_fv3lm_initialize_f90')
 
   96 integer(c_int), 
intent(in) :: c_key_self
 
   97 integer(c_int), 
intent(in) :: c_key_state
 
  107 call self%initialize(state)
 
  114            bind(c,name=
'fv3jedi_fv3lm_step_f90')
 
  117 integer(c_int), 
intent(in)    :: c_key_self
 
  118 integer(c_int), 
intent(in)    :: c_key_state
 
  119 integer(c_int), 
intent(in)    :: c_key_geom
 
  120 type(c_ptr),    
intent(inout) :: c_dt
 
  125 type(datetime)               :: fdate
 
  131 call c_f_datetime(c_dt, fdate)
 
  134 call self%step(state, geom, fdate)
 
  141           bind(c,name=
'fv3jedi_fv3lm_finalize_f90')
 
  144 integer(c_int), 
intent(in) :: c_key_self
 
  145 integer(c_int), 
intent(in) :: c_key_state
 
  155 call self%finalize(state)