FV3-JEDI
State.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_STATE_STATE_INTERFACE_H_
9 #define FV3JEDI_STATE_STATE_INTERFACE_H_
10 
12 #include "oops/base/Variables.h"
13 
14 namespace fv3jedi {
15 extern "C" {
16  void fv3jedi_state_create_f90(F90state &, const F90geom &, const oops::Variables &);
18  void fv3jedi_state_copy_f90(const F90state &, const F90state &);
20  void fv3jedi_state_axpy_f90(const F90state &, const double &, const F90state &);
21  void fv3jedi_state_add_incr_f90(const F90geom &, const F90state &, const F90inc &);
22  void fv3jedi_state_change_resol_f90(const F90state &, const F90geom &, const F90state &,
23  const F90geom &);
25  const eckit::Configuration * const *, util::DateTime * const *);
27  const eckit::Configuration * const *,
28  util::DateTime * const *);
30  const eckit::Configuration * const *,
31  const util::DateTime * const *);
32 
33  void fv3jedi_state_sersize_f90(const F90state &, int &);
34 
35  void fv3jedi_state_serialize_f90(const F90state &, const std::size_t &, double[]);
36 
37  void fv3jedi_state_deserialize_f90(const F90state &, const std::size_t &, const double[],
38  const std::size_t &);
39 
40  void fv3jedi_state_norm_f90(const F90state &, double &);
41  void fv3jedi_state_getnfieldsncube_f90(const F90state &, int &, int &);
42  void fv3jedi_state_getminmaxrms_f90(const F90state &, int &, const int &, char*, double &);
43 }; // extern "C"
44 } // namespace fv3jedi
45 #endif // FV3JEDI_STATE_STATE_INTERFACE_H_
fv3jedi::fv3jedi_state_delete_f90
void fv3jedi_state_delete_f90(F90state &)
fv3jedi::fv3jedi_state_getnfieldsncube_f90
void fv3jedi_state_getnfieldsncube_f90(const F90state &, int &, int &)
fv3jedi::fv3jedi_state_sersize_f90
void fv3jedi_state_sersize_f90(const F90state &, int &)
fv3jedi::F90inc
int F90inc
Definition: interface.h:44
fv3jedi::fv3jedi_state_serialize_f90
void fv3jedi_state_serialize_f90(const F90state &, const std::size_t &, double[])
fv3jedi::fv3jedi_state_analytic_init_f90
void fv3jedi_state_analytic_init_f90(const F90state &, const F90geom &, const eckit::Configuration *const *, util::DateTime *const *)
fv3jedi::fv3jedi_state_change_resol_f90
void fv3jedi_state_change_resol_f90(const F90state &, const F90geom &, const F90state &, const F90geom &)
fv3jedi::fv3jedi_state_deserialize_f90
void fv3jedi_state_deserialize_f90(const F90state &, const std::size_t &, const double[], const std::size_t &)
fv3jedi::fv3jedi_state_norm_f90
void fv3jedi_state_norm_f90(const F90state &, double &)
fv3jedi::fv3jedi_state_create_f90
void fv3jedi_state_create_f90(F90state &, const F90geom &, const oops::Variables &)
fv3jedi::F90geom
int F90geom
Definition: interface.h:24
fv3jedi::fv3jedi_state_add_incr_f90
void fv3jedi_state_add_incr_f90(const F90geom &, const F90state &, const F90inc &)
interface.h
fv3jedi::F90state
int F90state
Definition: interface.h:42
fv3jedi::fv3jedi_state_getminmaxrms_f90
void fv3jedi_state_getminmaxrms_f90(const F90state &, int &, const int &, char *, double &)
fv3jedi::fv3jedi_state_read_file_f90
void fv3jedi_state_read_file_f90(const F90geom &, const F90state &, const eckit::Configuration *const *, util::DateTime *const *)
fv3jedi::fv3jedi_state_zero_f90
void fv3jedi_state_zero_f90(const F90state &)
fv3jedi::fv3jedi_state_write_file_f90
void fv3jedi_state_write_file_f90(const F90geom &, const F90state &, const eckit::Configuration *const *, const util::DateTime *const *)
fv3jedi
Configuration files should be formatted as e.g.
Definition: ErrorCovariance.cc:20
fv3jedi::fv3jedi_state_axpy_f90
void fv3jedi_state_axpy_f90(const F90state &, const double &, const F90state &)
fv3jedi::fv3jedi_state_copy_f90
void fv3jedi_state_copy_f90(const F90state &, const F90state &)