FV3-JEDI
Increment.interface.h
Go to the documentation of this file.
1 /*
2  * (C) Copyright 2017-2020 UCAR
3  *
4  * This software is licensed under the terms of the Apache Licence Version 2.0
5  * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
6  */
7 
8 #ifndef FV3JEDI_INCREMENT_INCREMENT_INTERFACE_H_
9 #define FV3JEDI_INCREMENT_INCREMENT_INTERFACE_H_
10 
11 #include "atlas/field.h"
13 #include "oops/base/Variables.h"
14 
15 namespace fv3jedi {
16 extern "C" {
17  void fv3jedi_increment_create_f90(F90inc &, const F90geom &, const oops::Variables &);
19  void fv3jedi_increment_copy_f90(const F90inc &, const F90inc &);
24  void fv3jedi_increment_self_mul_f90(const F90inc &, const double &);
25  void fv3jedi_increment_axpy_inc_f90(const F90inc &, const double &, const F90inc &);
26  void fv3jedi_increment_axpy_state_f90(const F90inc &, const double &, const F90state &);
27  void fv3jedi_increment_dot_prod_f90(const F90inc &, const F90inc &, double &);
30  void fv3jedi_increment_diff_incr_f90(const F90inc &, const F90state &, const F90state &,
31  const F90geom &);
32  void fv3jedi_increment_change_resol_f90(const F90inc &, const F90geom &, const F90inc &,
33  const F90geom &);
35  const eckit::Configuration * const *,
36  util::DateTime * const *);
38  const eckit::Configuration * const *,
39  const util::DateTime * const *);
40  void fv3jedi_increment_sizes_f90(const F90inc &, int &);
41  void fv3jedi_increment_norm_f90(const F90inc &, double &);
42  void fv3jedi_increment_set_atlas_f90(const F90inc &, const F90geom &, const oops::Variables &,
43  atlas::field::FieldSetImpl *);
44  void fv3jedi_increment_to_atlas_f90(const F90inc &, const F90geom &, const oops::Variables &,
45  atlas::field::FieldSetImpl *);
46  void fv3jedi_increment_from_atlas_f90(const F90inc &, const F90geom &, const oops::Variables &,
47  atlas::field::FieldSetImpl *);
48  void fv3jedi_increment_dirac_f90(const F90inc &, const eckit::Configuration * const *,
49  const F90geom &);
50  void fv3jedi_increment_serialize_f90(const F90inc &, const std::size_t &, double[]);
51  void fv3jedi_increment_deserialize_f90(const F90inc &, const std::size_t &, const double[],
52  const std::size_t &);
53  void fv3jedi_increment_getpoint_f90(const F90inc &, const F90iter &, double &, const int &);
54  void fv3jedi_increment_setpoint_f90(F90inc &, const F90iter &, const double &, const int &);
55  void fv3jedi_increment_getnfieldsncube_f90(const F90state &, int &, int &);
56  void fv3jedi_increment_getminmaxrms_f90(const F90state &, int &, const int &, char*, double &);
57 } // extern "C"
58 } // namespace fv3jedi
59 #endif // FV3JEDI_INCREMENT_INCREMENT_INTERFACE_H_
fv3jedi::fv3jedi_increment_to_atlas_f90
void fv3jedi_increment_to_atlas_f90(const F90inc &, const F90geom &, const oops::Variables &, atlas::field::FieldSetImpl *)
fv3jedi::F90inc
int F90inc
Definition: interface.h:44
fv3jedi::fv3jedi_increment_self_sub_f90
void fv3jedi_increment_self_sub_f90(const F90inc &, const F90inc &)
fv3jedi::fv3jedi_increment_self_schur_f90
void fv3jedi_increment_self_schur_f90(const F90inc &, const F90inc &)
fv3jedi::fv3jedi_increment_write_file_f90
void fv3jedi_increment_write_file_f90(const F90geom &, const F90inc &, const eckit::Configuration *const *, const util::DateTime *const *)
fv3jedi::fv3jedi_increment_copy_f90
void fv3jedi_increment_copy_f90(const F90inc &, const F90inc &)
fv3jedi::fv3jedi_increment_random_f90
void fv3jedi_increment_random_f90(const F90inc &)
fv3jedi::fv3jedi_increment_getnfieldsncube_f90
void fv3jedi_increment_getnfieldsncube_f90(const F90state &, int &, int &)
fv3jedi::fv3jedi_increment_axpy_inc_f90
void fv3jedi_increment_axpy_inc_f90(const F90inc &, const double &, const F90inc &)
fv3jedi::fv3jedi_increment_axpy_state_f90
void fv3jedi_increment_axpy_state_f90(const F90inc &, const double &, const F90state &)
fv3jedi::F90iter
int F90iter
Definition: interface.h:26
fv3jedi::fv3jedi_increment_getminmaxrms_f90
void fv3jedi_increment_getminmaxrms_f90(const F90state &, int &, const int &, char *, double &)
fv3jedi::fv3jedi_increment_delete_f90
void fv3jedi_increment_delete_f90(F90inc &)
fv3jedi::fv3jedi_increment_change_resol_f90
void fv3jedi_increment_change_resol_f90(const F90inc &, const F90geom &, const F90inc &, const F90geom &)
fv3jedi::fv3jedi_increment_deserialize_f90
void fv3jedi_increment_deserialize_f90(const F90inc &, const std::size_t &, const double[], const std::size_t &)
fv3jedi::F90geom
int F90geom
Definition: interface.h:24
fv3jedi::fv3jedi_increment_getpoint_f90
void fv3jedi_increment_getpoint_f90(const F90inc &, const F90iter &, double &, const int &)
interface.h
fv3jedi::F90state
int F90state
Definition: interface.h:42
fv3jedi::fv3jedi_increment_serialize_f90
void fv3jedi_increment_serialize_f90(const F90inc &, const std::size_t &, double[])
fv3jedi::fv3jedi_increment_ones_f90
void fv3jedi_increment_ones_f90(const F90inc &)
fv3jedi::fv3jedi_increment_diff_incr_f90
void fv3jedi_increment_diff_incr_f90(const F90inc &, const F90state &, const F90state &, const F90geom &)
fv3jedi::fv3jedi_increment_self_add_f90
void fv3jedi_increment_self_add_f90(const F90inc &, const F90inc &)
fv3jedi::fv3jedi_increment_norm_f90
void fv3jedi_increment_norm_f90(const F90inc &, double &)
fv3jedi::fv3jedi_increment_from_atlas_f90
void fv3jedi_increment_from_atlas_f90(const F90inc &, const F90geom &, const oops::Variables &, atlas::field::FieldSetImpl *)
fv3jedi::fv3jedi_increment_zero_f90
void fv3jedi_increment_zero_f90(const F90inc &)
fv3jedi::fv3jedi_increment_dot_prod_f90
void fv3jedi_increment_dot_prod_f90(const F90inc &, const F90inc &, double &)
fv3jedi
Configuration files should be formatted as e.g.
Definition: ErrorCovariance.cc:20
fv3jedi::fv3jedi_increment_set_atlas_f90
void fv3jedi_increment_set_atlas_f90(const F90inc &, const F90geom &, const oops::Variables &, atlas::field::FieldSetImpl *)
fv3jedi::fv3jedi_increment_sizes_f90
void fv3jedi_increment_sizes_f90(const F90inc &, int &)
fv3jedi::fv3jedi_increment_read_file_f90
void fv3jedi_increment_read_file_f90(const F90geom &, const F90inc &, const eckit::Configuration *const *, util::DateTime *const *)
fv3jedi::fv3jedi_increment_dirac_f90
void fv3jedi_increment_dirac_f90(const F90inc &, const eckit::Configuration *const *, const F90geom &)
fv3jedi::fv3jedi_increment_setpoint_f90
void fv3jedi_increment_setpoint_f90(F90inc &, const F90iter &, const double &, const int &)
fv3jedi::fv3jedi_increment_self_mul_f90
void fv3jedi_increment_self_mul_f90(const F90inc &, const double &)
fv3jedi::fv3jedi_increment_create_f90
void fv3jedi_increment_create_f90(F90inc &, const F90geom &, const oops::Variables &)