SABER
type_bump.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 SABER_BUMP_TYPE_BUMP_H_
9 #define SABER_BUMP_TYPE_BUMP_H_
10 
11 #include "atlas/field/FieldSet.h"
12 #include "atlas/functionspace/detail/FunctionSpaceImpl.h"
13 
14 #include "eckit/config/Configuration.h"
15 #include "eckit/mpi/Comm.h"
16 
17 // Forward declarations
18 namespace eckit {
19  class Configuration;
20 }
21 
22 namespace saber {
23 extern "C" {
24  void bump_create_f90(int &, const eckit::mpi::Comm *,
25  const atlas::functionspace::FunctionSpaceImpl *,
26  const atlas::field::FieldSetImpl *,
27  const eckit::Configuration &,
28  const eckit::Configuration &);
29  void bump_add_member_f90(const int &, const atlas::field::FieldSetImpl *,
30  const int &, const int &);
31  void bump_run_drivers_f90(const int &);
32  void bump_apply_vbal_f90(const int &, const atlas::field::FieldSetImpl *);
33  void bump_apply_vbal_inv_f90(const int &, const atlas::field::FieldSetImpl *);
34  void bump_apply_vbal_ad_f90(const int &, const atlas::field::FieldSetImpl *);
35  void bump_apply_vbal_inv_ad_f90(const int &, const atlas::field::FieldSetImpl *);
36  void bump_apply_stddev_f90(const int &, const atlas::field::FieldSetImpl *);
37  void bump_apply_stddev_inv_f90(const int &, const atlas::field::FieldSetImpl *);
38  void bump_apply_nicas_f90(const int &, const atlas::field::FieldSetImpl *);
39  void bump_get_cv_size_f90(const int &, int &);
40  void bump_apply_nicas_sqrt_f90(const int &, const double *, const atlas::field::FieldSetImpl *);
41  void bump_apply_nicas_sqrt_ad_f90(const int &, const atlas::field::FieldSetImpl *,
42  const double *);
43  void bump_randomize_f90(const int &, const atlas::field::FieldSetImpl *);
44  void bump_get_parameter_f90(const int &, const int &, const char *,
45  const atlas::field::FieldSetImpl *);
46  void bump_set_parameter_f90(const int &, const int &, const char *,
47  const atlas::field::FieldSetImpl *);
48  void bump_dealloc_f90(const int &);
49 }
50 } // namespace saber
51 
52 #endif // SABER_BUMP_TYPE_BUMP_H_
saber::bump_get_parameter_f90
void bump_get_parameter_f90(const int &, const int &, const char *, const atlas::field::FieldSetImpl *)
saber::bump_add_member_f90
void bump_add_member_f90(const int &, const atlas::field::FieldSetImpl *, const int &, const int &)
saber::bump_dealloc_f90
void bump_dealloc_f90(const int &)
saber::bump_apply_nicas_f90
void bump_apply_nicas_f90(const int &, const atlas::field::FieldSetImpl *)
saber
Definition: type_bump.h:22
saber::bump_apply_nicas_sqrt_ad_f90
void bump_apply_nicas_sqrt_ad_f90(const int &, const atlas::field::FieldSetImpl *, const double *)
saber::bump_create_f90
void bump_create_f90(int &, const eckit::mpi::Comm *, const atlas::functionspace::FunctionSpaceImpl *, const atlas::field::FieldSetImpl *, const eckit::Configuration &, const eckit::Configuration &)
saber::bump_randomize_f90
void bump_randomize_f90(const int &, const atlas::field::FieldSetImpl *)
eckit
Definition: type_bump.h:18
saber::bump_apply_vbal_ad_f90
void bump_apply_vbal_ad_f90(const int &, const atlas::field::FieldSetImpl *)
saber::bump_apply_vbal_inv_f90
void bump_apply_vbal_inv_f90(const int &, const atlas::field::FieldSetImpl *)
saber::bump_get_cv_size_f90
void bump_get_cv_size_f90(const int &, int &)
saber::bump_apply_stddev_f90
void bump_apply_stddev_f90(const int &, const atlas::field::FieldSetImpl *)
saber::bump_apply_nicas_sqrt_f90
void bump_apply_nicas_sqrt_f90(const int &, const double *, const atlas::field::FieldSetImpl *)
saber::bump_set_parameter_f90
void bump_set_parameter_f90(const int &, const int &, const char *, const atlas::field::FieldSetImpl *)
saber::bump_apply_vbal_f90
void bump_apply_vbal_f90(const int &, const atlas::field::FieldSetImpl *)
saber::bump_apply_vbal_inv_ad_f90
void bump_apply_vbal_inv_ad_f90(const int &, const atlas::field::FieldSetImpl *)
saber::bump_run_drivers_f90
void bump_run_drivers_f90(const int &)
saber::bump_apply_stddev_inv_f90
void bump_apply_stddev_inv_f90(const int &, const atlas::field::FieldSetImpl *)