MPAS-JEDI
StateMPASFortran.h
Go to the documentation of this file.
1 /*
2  * (C) Copyright 2017 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 MPASJEDI_STATEMPASFORTRAN_H_
9 #define MPASJEDI_STATEMPASFORTRAN_H_
10 
11 #include "mpasjedi/Fortran.h"
12 
13 // Forward declarations
14 namespace eckit {
15  class Configuration;
16 }
17 
18 namespace oops {
19  class Variables;
20 }
21 
22 namespace util {
23  class DateTime;
24  class Duration;
25 }
26 
27 namespace mpas {
28 
29 extern "C" {
30 
31 // -----------------------------------------------------------------------------
32 // State
33 // -----------------------------------------------------------------------------
35  const oops::Variables &,
36  const oops::Variables &);
38  void mpas_state_copy_f90(const F90state &, const F90state &);
40  void mpas_state_axpy_f90(const F90state &, const double &, const F90state &);
41  void mpas_state_add_incr_f90(const F90state &, const F90inc &);
43  void mpas_state_serial_size_f90(const F90state &, std::size_t &);
44  void mpas_state_serialize_f90(const F90state &, const std::size_t &,
45  double[]);
46  void mpas_state_deserialize_f90(const F90state &, const std::size_t &,
47  const double[], const std::size_t &);
49  const eckit::Configuration &,
50  util::DateTime &);
52  const eckit::Configuration &,
53  const util::DateTime &);
54  void mpas_state_gpnorm_f90(const F90state &, const int &, double &);
55  void mpas_state_rms_f90(const F90state &, double &);
57  const eckit::Configuration &,
58  util::DateTime &);
59  void mpas_state_sizes_f90(const F90state &, int &, int &);
60 
61 
62 }; // extern "C"
63 // -----------------------------------------------------------------------------
64 
65 } // namespace mpas
66 #endif // MPASJEDI_STATEMPASFORTRAN_H_
Definition: Fortran.h:17
void mpas_state_read_file_f90(const F90state &, const eckit::Configuration &, util::DateTime &)
void mpas_state_zero_f90(const F90state &)
void mpas_state_deserialize_f90(const F90state &, const std::size_t &, const double[], const std::size_t &)
void mpas_state_gpnorm_f90(const F90state &, const int &, double &)
void mpas_state_write_file_f90(const F90state &, const eckit::Configuration &, const util::DateTime &)
void mpas_state_change_resol_f90(const F90state &, const F90state &)
void mpas_state_sizes_f90(const F90state &, int &, int &)
int F90state
Definition: Fortran.h:42
void mpas_state_axpy_f90(const F90state &, const double &, const F90state &)
void mpas_state_serial_size_f90(const F90state &, std::size_t &)
void mpas_state_rms_f90(const F90state &, double &)
void mpas_state_serialize_f90(const F90state &, const std::size_t &, double[])
void mpas_state_copy_f90(const F90state &, const F90state &)
void mpas_state_create_f90(F90state &, const F90geom &, const oops::Variables &, const oops::Variables &)
void mpas_state_analytic_init_f90(const F90state &, const F90geom &, const eckit::Configuration &, util::DateTime &)
void mpas_state_add_incr_f90(const F90state &, const F90inc &)
int F90geom
Definition: Fortran.h:32
int F90inc
Definition: Fortran.h:44
void mpas_state_delete_f90(F90state &)
Definition: Fortran.h:24