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)