MPAS-JEDI
IncrementMPASFortran.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_INCREMENTMPASFORTRAN_H_
9 #define MPASJEDI_INCREMENTMPASFORTRAN_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 // Increment
33 // -----------------------------------------------------------------------------
35  const oops::Variables &);
37  void mpas_increment_copy_f90(const F90inc &, const F90inc &);
40  void mpas_increment_axpy_inc_f90(const F90inc &, const double &,
41  const F90inc &);
42  void mpas_increment_axpy_state_f90(const F90inc &, const double &,
43  const F90state &);
44 
47  const eckit::Configuration &,
48  util::DateTime &);
50  const eckit::Configuration &,
51  const util::DateTime &);
52  void mpas_increment_gpnorm_f90(const F90inc &, const int &, double &);
53  void mpas_increment_rms_f90(const F90inc &, double &);
55  const F90state &);
56  void mpas_increment_self_add_f90(const F90inc &, const F90inc &);
57  void mpas_increment_self_sub_f90(const F90inc &, const F90inc &);
58  void mpas_increment_self_mul_f90(const F90inc &, const double &);
59  void mpas_increment_dot_prod_f90(const F90inc &, const F90inc &, double &);
63  const F90geom &,
64  const oops::Variables &,
65  atlas::field::FieldSetImpl *);
67  const F90geom &,
68  const oops::Variables &,
69  atlas::field::FieldSetImpl *);
71  const F90geom &,
72  const oops::Variables &,
73  atlas::field::FieldSetImpl *);
75  const eckit::Configuration &);
76  void mpas_increment_sizes_f90(const F90inc &, int &, int &);
77  void mpas_increment_serial_size_f90(const F90inc &, std::size_t &);
78  void mpas_increment_serialize_f90(const F90inc &, const std::size_t &,
79  double[]);
80  void mpas_increment_deserialize_f90(const F90inc &, const std::size_t &,
81  const double[], const std::size_t &);
82 
83 }; // extern "C"
84 // -----------------------------------------------------------------------------
85 
86 } // namespace mpas
87 #endif // MPASJEDI_INCREMENTMPASFORTRAN_H_
Definition: Fortran.h:17
void mpas_increment_self_add_f90(const F90inc &, const F90inc &)
void mpas_increment_from_atlas_f90(const F90inc &, const F90geom &, const oops::Variables &, atlas::field::FieldSetImpl *)
void mpas_increment_diff_incr_f90(const F90inc &, const F90state &, const F90state &)
void mpas_increment_gpnorm_f90(const F90inc &, const int &, double &)
void mpas_increment_self_sub_f90(const F90inc &, const F90inc &)
void mpas_increment_create_f90(F90inc &, const F90geom &, const oops::Variables &)
void mpas_increment_self_mul_f90(const F90inc &, const double &)
void mpas_increment_self_schur_f90(const F90inc &, const F90inc &)
void mpas_increment_serialize_f90(const F90inc &, const std::size_t &, double[])
void mpas_increment_dirac_f90(const F90inc &, const eckit::Configuration &)
void mpas_increment_read_file_f90(const F90inc &, const eckit::Configuration &, util::DateTime &)
void mpas_increment_copy_f90(const F90inc &, const F90inc &)
void mpas_increment_ones_f90(const F90inc &)
int F90state
Definition: Fortran.h:42
void mpas_increment_random_f90(const F90inc &)
void mpas_increment_axpy_state_f90(const F90inc &, const double &, const F90state &)
void mpas_increment_serial_size_f90(const F90inc &, std::size_t &)
void mpas_increment_axpy_inc_f90(const F90inc &, const double &, const F90inc &)
void mpas_increment_change_resol_f90(const F90inc &, const F90inc &)
void mpas_increment_zero_f90(const F90inc &)
void mpas_increment_dot_prod_f90(const F90inc &, const F90inc &, double &)
void mpas_increment_to_atlas_f90(const F90inc &, const F90geom &, const oops::Variables &, atlas::field::FieldSetImpl *)
void mpas_increment_rms_f90(const F90inc &, double &)
void mpas_increment_deserialize_f90(const F90inc &, const std::size_t &, const double[], const std::size_t &)
int F90geom
Definition: Fortran.h:32
void mpas_increment_sizes_f90(const F90inc &, int &, int &)
void mpas_increment_write_file_f90(const F90inc &, const eckit::Configuration &, const util::DateTime &)
int F90inc
Definition: Fortran.h:44
void mpas_increment_delete_f90(F90inc &)
void mpas_increment_set_atlas_f90(const F90inc &, const F90geom &, const oops::Variables &, atlas::field::FieldSetImpl *)
Definition: Fortran.h:24