16 use oops_variables_mod
 
   20 use ufo_locs_mod_c, 
only: ufo_locs_registry
 
   22 use ufo_geovals_mod_c, 
only: ufo_geovals_registry
 
   42 #define LISTED_TYPE fv3jedi_lineargetvalues 
   43 #include "oops/util/linkedList_i.f" 
   53 #include "oops/util/linkedList_c.f" 
   58            bind(c,name=
'fv3jedi_lineargetvalues_create_f90')
 
   60 integer(c_int),     
intent(inout) :: c_key_self
 
   61 integer(c_int),     
intent(in)    :: c_key_geom
 
   62 integer(c_int),     
intent(in)    :: c_key_locs
 
   66 type(ufo_locs),                
pointer :: locs
 
   75 call ufo_locs_registry%get(c_key_locs, locs)
 
   78 call self%create(geom, locs)
 
   85            bind(c,name=
'fv3jedi_lineargetvalues_delete_f90')
 
   87 integer(c_int), 
intent(inout) :: c_key_self
 
  105                                                     c_t2, c_key_locs, c_key_geovals) &
 
  106            bind(c,name=
'fv3jedi_lineargetvalues_set_trajectory_f90')
 
  108 integer(c_int), 
intent(in) :: c_key_self
 
  109 integer(c_int), 
intent(in) :: c_key_geom
 
  110 integer(c_int), 
intent(in) :: c_key_state
 
  111 type(c_ptr),    
intent(in) :: c_t1
 
  112 type(c_ptr),    
intent(in) :: c_t2
 
  113 integer(c_int), 
intent(in) :: c_key_locs
 
  114 integer(c_int), 
intent(in) :: c_key_geovals
 
  121 type(ufo_locs),                
pointer :: locs
 
  122 type(ufo_geovals),             
pointer :: geovals
 
  128 call c_f_datetime(c_t1, t1)
 
  129 call c_f_datetime(c_t2, t2)
 
  130 call ufo_locs_registry%get(c_key_locs, locs)
 
  131 call ufo_geovals_registry%get(c_key_geovals, geovals)
 
  134 call self%set_trajectory(geom, state%fields, t1, t2, locs, geovals)
 
  142                                                      c_t2, c_key_locs, c_key_geovals) &
 
  143            bind(c,name=
'fv3jedi_lineargetvalues_fill_geovals_tl_f90')
 
  145 integer(c_int), 
intent(in) :: c_key_self
 
  146 integer(c_int), 
intent(in) :: c_key_geom
 
  147 integer(c_int), 
intent(in) :: c_key_inc
 
  148 type(c_ptr),    
intent(in) :: c_t1
 
  149 type(c_ptr),    
intent(in) :: c_t2
 
  150 integer(c_int), 
intent(in) :: c_key_locs
 
  151 integer(c_int), 
intent(in) :: c_key_geovals
 
  158 type(ufo_locs),                
pointer :: locs
 
  159 type(ufo_geovals),             
pointer :: geovals
 
  164 call fv3jedi_increment_registry%get(c_key_inc, inc)
 
  165 call c_f_datetime(c_t1, t1)
 
  166 call c_f_datetime(c_t2, t2)
 
  167 call ufo_locs_registry%get(c_key_locs, locs)
 
  168 call ufo_geovals_registry%get(c_key_geovals, geovals)
 
  171 call self%fill_geovals_tl(geom, inc%fields, t1, t2, locs, geovals)
 
  178                                                      c_t2, c_key_locs, c_key_geovals) &
 
  179            bind(c,name=
'fv3jedi_lineargetvalues_fill_geovals_ad_f90')
 
  181 integer(c_int), 
intent(in) :: c_key_self
 
  182 integer(c_int), 
intent(in) :: c_key_geom
 
  183 integer(c_int), 
intent(in) :: c_key_inc
 
  184 type(c_ptr),    
intent(in) :: c_t1
 
  185 type(c_ptr),    
intent(in) :: c_t2
 
  186 integer(c_int), 
intent(in) :: c_key_locs
 
  187 integer(c_int), 
intent(in) :: c_key_geovals
 
  194 type(ufo_locs),                
pointer :: locs
 
  195 type(ufo_geovals),             
pointer :: geovals
 
  200 call fv3jedi_increment_registry%get(c_key_inc, inc)
 
  201 call c_f_datetime(c_t1, t1)
 
  202 call c_f_datetime(c_t2, t2)
 
  203 call ufo_locs_registry%get(c_key_locs, locs)
 
  204 call ufo_geovals_registry%get(c_key_geovals, geovals)
 
  207 call self%fill_geovals_ad(geom, inc%fields, t1, t2, locs, geovals)