46 integer(c_int),
intent(inout) :: c_key_self
47 integer(c_int),
intent(in) :: c_key_geom
48 type(c_ptr),
intent(in) :: c_vars
50 type(fv3jedi_increment),
pointer :: self
51 type(fv3jedi_geom),
pointer :: geom
52 type(fv3jedi_vars) :: vars
60 call create(self, geom, vars)
69 integer(c_int),
intent(inout) :: c_key_self
70 type(fv3jedi_increment),
pointer :: self
85 integer(c_int),
intent(in) :: c_key_self
86 type(fv3jedi_increment),
pointer :: self
98 integer(c_int),
intent(in) :: c_key_self
99 type(c_ptr),
intent(in) :: c_conf
100 integer(c_int),
intent(in) :: c_key_geom
101 type(fv3jedi_increment),
pointer :: self
102 type(fv3jedi_geom),
pointer :: geom
106 call dirac(self,c_conf,geom)
115 integer(c_int),
intent(in) :: c_key_self
116 type(fv3jedi_increment),
pointer :: self
128 integer(c_int),
intent(in) :: c_key_inc
129 integer(c_int),
intent(in) :: c_key_ug
130 integer(c_int),
intent(in) :: c_colocated
131 integer(c_int),
intent(in) :: c_key_geom
132 type(fv3jedi_increment),
pointer :: inc
133 type(unstructured_grid),
pointer :: ug
135 type(fv3jedi_geom),
pointer :: geom
137 colocated = c_colocated
143 call ug_coord(inc, ug, colocated, geom)
152 integer(c_int),
intent(in) :: c_key_inc
153 integer(c_int),
intent(in) :: c_key_ug
154 integer(c_int),
intent(in) :: c_colocated
155 type(fv3jedi_increment),
pointer :: inc
156 type(unstructured_grid),
pointer :: ug
159 colocated = c_colocated
173 integer(c_int),
intent(in) :: c_key_inc
174 integer(c_int),
intent(in) :: c_key_ug
175 type(fv3jedi_increment),
pointer :: inc
176 type(unstructured_grid),
pointer :: ug
190 integer(c_int),
intent(in) :: c_key_self
191 integer(c_int),
intent(in) :: c_key_rhs
193 type(fv3jedi_increment),
pointer :: self
194 type(fv3jedi_increment),
pointer :: rhs
207 integer(c_int),
intent(in) :: c_key_self
208 integer(c_int),
intent(in) :: c_key_rhs
210 type(fv3jedi_increment),
pointer :: self
211 type(fv3jedi_increment),
pointer :: rhs
224 integer(c_int),
intent(in) :: c_key_self
225 integer(c_int),
intent(in) :: c_key_rhs
227 type(fv3jedi_increment),
pointer :: self
228 type(fv3jedi_increment),
pointer :: rhs
241 integer(c_int),
intent(in) :: c_key_self
242 integer(c_int),
intent(in) :: c_key_rhs
244 type(fv3jedi_increment),
pointer :: self
245 type(fv3jedi_increment),
pointer :: rhs
258 integer(c_int),
intent(in) :: c_key_self
259 real(c_double),
intent(in) :: c_zz
260 type(fv3jedi_increment),
pointer :: self
261 real(kind=kind_real) :: zz
275 integer(c_int),
intent(in) :: c_key_self
276 real(c_double),
intent(in) :: c_zz
277 integer(c_int),
intent(in) :: c_key_rhs
279 type(fv3jedi_increment),
pointer :: self
280 type(fv3jedi_increment),
pointer :: rhs
281 real(kind=kind_real) :: zz
296 integer(c_int),
intent(in) :: c_key_self
297 real(c_double),
intent(in) :: c_zz
298 integer(c_int),
intent(in) :: c_key_rhs
300 type(fv3jedi_increment),
pointer :: self
301 type(fv3jedi_state),
pointer :: rhs
302 real(kind=kind_real) :: zz
317 integer(c_int),
intent(in) :: c_key_inc1, c_key_inc2
318 real(c_double),
intent(inout) :: c_prod
319 real(kind=kind_real) :: zz
320 type(fv3jedi_increment),
pointer :: inc1, inc2
336 integer(c_int),
intent(in) :: c_key_self
337 integer(c_int),
intent(in) :: c_key_rhs
338 type(fv3jedi_increment),
pointer :: self
339 type(fv3jedi_increment),
pointer :: rhs
353 integer(c_int),
intent(in) :: c_key_lhs
354 integer(c_int),
intent(in) :: c_key_x1
355 integer(c_int),
intent(in) :: c_key_x2
356 type(fv3jedi_increment),
pointer :: lhs
357 type(fv3jedi_state),
pointer :: x1
358 type(fv3jedi_state),
pointer :: x2
373 integer(c_int),
intent(in) :: c_key_inc
374 integer(c_int),
intent(in) :: c_key_rhs
375 type(fv3jedi_increment),
pointer :: inc, rhs
389 integer(c_int),
intent(in) :: c_key_inc
390 type(c_ptr),
intent(in) :: c_conf
391 type(c_ptr),
intent(inout) :: c_dt
392 integer(c_int),
intent(in) :: c_key_geom
394 type(fv3jedi_increment),
pointer :: inc
395 type(datetime) :: fdate
396 type(fv3jedi_geom),
pointer :: geom
400 call c_f_datetime(c_dt, fdate)
410 integer(c_int),
intent(in) :: c_key_inc
411 type(c_ptr),
intent(in) :: c_conf
412 type(c_ptr),
intent(in) :: c_dt
413 integer(c_int),
intent(in) :: c_key_geom
415 type(fv3jedi_increment),
pointer :: inc
416 type(datetime) :: fdate
417 type(fv3jedi_geom),
pointer :: geom
421 call c_f_datetime(c_dt, fdate)
431 integer(c_int),
intent(in) :: c_key_inc
432 integer(c_int),
intent(in) :: kf
433 real(c_double),
intent(inout) :: pstat(3*kf)
435 type(fv3jedi_increment),
pointer :: inc
436 real(kind=kind_real) :: zstat(3, kf)
437 integer :: jj, js, jf
441 call gpnorm(inc, kf, zstat)
446 pstat(jj) = zstat(js,jf)
457 integer(c_int),
intent(in) :: c_key_inc
458 real(c_double),
intent(inout) :: prms
460 type(fv3jedi_increment),
pointer :: inc
461 real(kind=kind_real) :: zz
476 integer(c_int),
intent(in) :: c_key_inc
477 integer(c_int),
intent(in) :: c_key_loc
478 type(c_ptr),
intent(in) :: c_vars
479 integer(c_int),
intent(in) :: c_key_gom
480 integer(c_int),
intent(in) :: c_key_traj
481 integer(c_int),
intent(in) :: c_key_geom
482 type(fv3jedi_increment),
pointer :: inc
483 type(ioda_locs),
pointer :: locs
484 type(ufo_geovals),
pointer :: gom
485 type(ufo_vars) :: vars
486 type(fv3jedi_getvalues_traj),
pointer :: traj
487 type(fv3jedi_geom),
pointer :: geom
497 call getvalues_tl(geom, inc, locs, vars, gom, traj)
506 integer(c_int),
intent(in) :: c_key_inc
507 integer(c_int),
intent(in) :: c_key_loc
508 type(c_ptr),
intent(in) :: c_vars
509 integer(c_int),
intent(in) :: c_key_gom
510 integer(c_int),
intent(in) :: c_key_traj
511 integer(c_int),
intent(in) :: c_key_geom
512 type(fv3jedi_increment),
pointer :: inc
513 type(ioda_locs),
pointer :: locs
514 type(ufo_geovals),
pointer :: gom
515 type(ufo_vars) :: vars
516 type(fv3jedi_getvalues_traj),
pointer :: traj
517 type(fv3jedi_geom),
pointer :: geom
527 call getvalues_ad(geom, inc, locs, vars, gom, traj)
536 integer(c_int),
intent(in) :: c_key_self
537 integer(c_int),
intent(inout) :: nx,ny,nv
538 type(fv3jedi_increment),
pointer :: self
553 integer(c_int),
intent(in) :: c_key_self
554 integer(c_int),
intent(in) :: c_key_geom
555 integer(c_int),
intent(in) :: c_key_state
556 type(c_ptr),
intent(in) :: c_conf
558 type(fv3jedi_increment),
pointer :: self
559 type(fv3jedi_geom),
pointer :: geom
560 type(fv3jedi_state),
pointer :: state
subroutine, public gpnorm(inc, nf, pstat)
subroutine fv3jedi_increment_create_c(c_key_self, c_key_geom, c_vars)
type(registry_t), public fv3jedi_geom_registry
Linked list interface - defines registry_t type.
subroutine, public dirac(self, c_conf, geom)
subroutine fv3jedi_increment_self_mul_c(c_key_self, c_zz)
subroutine, public change_resol(inc, rhs)
subroutine fv3jedi_increment_write_file_c(c_key_geom, c_key_inc, c_conf, c_dt)
subroutine fv3jedi_increment_axpy_state_c(c_key_self, c_zz, c_key_rhs)
subroutine, public self_schur(self, rhs)
subroutine fv3jedi_increment_add_incr_c(c_key_self, c_key_rhs)
subroutine fv3jedi_increment_ug_coord_c(c_key_inc, c_key_ug, c_colocated, c_key_geom)
subroutine, public axpy_state(self, zz, rhs)
subroutine, public write_file(geom, inc, c_conf, vdate)
subroutine, public dot_prod(inc1, inc2, zprod)
subroutine, public self_add(self, rhs)
subroutine fv3jedi_increment_dot_prod_c(c_key_inc1, c_key_inc2, c_prod)
subroutine, public copy(self, rhs)
Fortran derived type to hold FV3JEDI state.
subroutine, public jnormgrad(self, geom, ref, c_conf)
Fortran module handling interpolation trajectory for the FV3 model.
subroutine fv3jedi_increment_read_file_c(c_key_geom, c_key_inc, c_conf, c_dt)
type(registry_t), public fv3jedi_increment_registry
Linked list interface - defines registry_t type.
type(registry_t), public fv3jedi_getvalues_traj_registry
Linked list interface - defines registry_t type.
subroutine, public incrms(inc, prms)
subroutine, public diff_incr(lhs, x1, x2)
subroutine fv3jedi_increment_dirac_c(c_key_self, c_conf, c_key_geom)
subroutine fv3jedi_increment_self_sub_c(c_key_self, c_key_rhs)
subroutine fv3jedi_increment_zero_c(c_key_self)
subroutine, public self_sub(self, rhs)
subroutine fv3jedi_increment_increment_to_ug_c(c_key_inc, c_key_ug, c_colocated)
Fortran derived type to hold geometry data for the FV3JEDI model.
subroutine fv3jedi_increment_diff_incr_c(c_key_lhs, c_key_x1, c_key_x2)
subroutine fv3jedi_increment_getvalues_tl_c(c_key_geom, c_key_inc, c_key_loc, c_vars, c_key_gom, c_key_traj)
subroutine, public ug_coord(self, ug, colocated, geom)
subroutine fv3jedi_increment_delete_c(c_key_self)
subroutine fv3jedi_increment_sizes_c(c_key_self, nx, ny, nv)
subroutine fv3jedi_increment_random_c(c_key_self)
subroutine, public random(self)
Fortran module to handle variables for the FV3JEDI model.
subroutine, public delete(self)
type(registry_t), public ioda_locs_registry
Linked list interface - defines registry_t type.
subroutine fv3jedi_increment_rms_c(c_key_inc, prms)
subroutine fv3jedi_increment_self_schur_c(c_key_self, c_key_rhs)
subroutine, public increment_to_ug(self, ug, colocated)
subroutine fv3jedi_increment_copy_c(c_key_self, c_key_rhs)
subroutine, public fv3jedi_vars_create(c_vars, self)
subroutine, public add_incr(self, rhs)
subroutine fv3jedi_increment_change_resol_c(c_key_inc, c_key_rhs)
subroutine fv3jedi_increment_increment_from_ug_c(c_key_inc, c_key_ug)
type(registry_t), public unstructured_grid_registry
Linked list interface - defines registry_t type.
type(registry_t), public ufo_geovals_registry
Linked list interface - defines registry_t type.
subroutine fv3jedi_increment_getvalues_ad_c(c_key_geom, c_key_inc, c_key_loc, c_vars, c_key_gom, c_key_traj)
Utilities for increment for the FV3JEDI model.
Handle increment for the FV3JEDI model.
subroutine, public axpy_inc(self, zz, rhs)
Utilities for state for the FV3JEDI model.
subroutine, public read_file(geom, inc, c_conf, vdate)
Fortran module handling geometry for the FV3 model.
type(registry_t), public fv3jedi_state_registry
Linked list interface - defines registry_t type.
subroutine, public zeros(self)
subroutine fv3jedi_increment_self_add_c(c_key_self, c_key_rhs)
subroutine, public increment_from_ug(self, ug)
Fortran module handling observation locations.
subroutine fv3jedi_increment_gpnorm_c(c_key_inc, kf, pstat)
Fortran module for handling generic unstructured grid.
subroutine, public create(self, geom, vars)
subroutine, public self_mul(self, zz)
subroutine fv3jedi_increment_axpy_inc_c(c_key_self, c_zz, c_key_rhs)
Fortran module handling geometry for the FV3 model.
subroutine, public ufo_vars_setup(self, c_vars)
subroutine fv3jedi_increment_jnormgrad_c(c_key_self, c_key_geom, c_key_state, c_conf)