FV3 Bundle
IncrementFV3JEDIFortran.h
Go to the documentation of this file.
1 /*
2  * (C) Copyright 2017-2018 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 SRC_INCREMENT_INCREMENTFV3JEDIFORTRAN_H_
9 #define SRC_INCREMENT_INCREMENTFV3JEDIFORTRAN_H_
10 
11 #include "Fortran.h"
12 
13 // Forward declarations
14 namespace eckit {
15  class Configuration;
16 }
17 
18 namespace util {
19  class DateTime;
20  class Duration;
21 }
22 
23 namespace fv3jedi {
24 
25 extern "C" {
26 
27 // -----------------------------------------------------------------------------
28 // Increment
29 // -----------------------------------------------------------------------------
30 
32  const F90geom &,
33  const eckit::Configuration * const *);
34 
36 
38  const F90inc &);
39 
40  void fv3jedi_increment_zero_f90(const F90inc &);
41 
43  const F90inc &);
44 
46  const F90inc &);
47 
49  const double &);
50 
52  const double &,
53  const F90inc &);
54 
56  const double &,
57  const F90state &);
58 
60  const F90inc &,
61  double &);
62 
64  const F90inc &);
65 
67 
69  const F90state &,
70  const F90state &);
71 
73  const F90inc &);
74 
76  const F90inc &,
77  const eckit::Configuration * const *,
78  util::DateTime * const *);
79 
81  const F90inc &,
82  const eckit::Configuration * const *,
83  const util::DateTime * const *);
84 
86  const F90inc &,
87  const F90locs &,
88  const eckit::Configuration * const *,
89  const F90goms &,
90  const F90ootrj &);
91 
93  const F90inc &,
94  const F90locs &,
95  const eckit::Configuration * const *,
96  const F90goms &,
97  const F90ootrj &);
98 
100  const int &,
101  double &);
102 
103  void fv3jedi_increment_sizes_f90(const F90inc &,
104  int &,
105  int &,
106  int &);
107 
108  void fv3jedi_increment_rms_f90(const F90inc &,
109  double &);
110 
112  const int &,
113  const int &,
114  const F90geom &);
115 
117  const int &,
118  const int &);
119 
121  const int &);
122 
123  void fv3jedi_increment_dirac_f90(const F90inc &,
124  const eckit::Configuration * const *,
125  const F90geom &);
126 
128  const F90geom &,
129  const F90state &,
130  const eckit::Configuration * const *);
131 
132 } // extern "C"
133 // -----------------------------------------------------------------------------
134 
135 } // namespace fv3jedi
136 #endif // SRC_INCREMENT_INCREMENTFV3JEDIFORTRAN_H_
void fv3jedi_increment_self_sub_f90(const F90inc &, const F90inc &)
void fv3jedi_increment_self_schur_f90(const F90inc &, const F90inc &)
void fv3jedi_increment_random_f90(const F90inc &)
void fv3jedi_increment_write_file_f90(const F90geom &, const F90inc &, const eckit::Configuration *const *, const util::DateTime *const *)
void fv3jedi_increment_copy_f90(const F90inc &, const F90inc &)
void fv3jedi_increment_increment_to_ug_f90(const F90inc &, const int &, const int &)
void fv3jedi_increment_change_resol_f90(const F90inc &, const F90inc &)
void fv3jedi_increment_diff_incr_f90(const F90inc &, const F90state &, const F90state &)
void fv3jedi_increment_axpy_inc_f90(const F90inc &, const double &, const F90inc &)
void fv3jedi_increment_delete_f90(F90inc &)
void fv3jedi_increment_axpy_state_f90(const F90inc &, const double &, const F90state &)
void fv3jedi_increment_jnormgrad_f90(const F90inc &, const F90geom &, const F90state &, const eckit::Configuration *const *)
void fv3jedi_increment_create_f90(F90inc &, const F90geom &, const eckit::Configuration *const *)
void fv3jedi_increment_getvalues_tl_f90(const F90geom &, const F90inc &, const F90locs &, const eckit::Configuration *const *, const F90goms &, const F90ootrj &)
void fv3jedi_increment_gpnorm_f90(const F90inc &, const int &, double &)
void fv3jedi_increment_self_add_f90(const F90inc &, const F90inc &)
void fv3jedi_increment_getvalues_ad_f90(const F90geom &, const F90inc &, const F90locs &, const eckit::Configuration *const *, const F90goms &, const F90ootrj &)
void fv3jedi_increment_rms_f90(const F90inc &, double &)
void fv3jedi_increment_zero_f90(const F90inc &)
void fv3jedi_increment_read_file_f90(const F90geom &, const F90inc &, const eckit::Configuration *const *, util::DateTime *const *)
void fv3jedi_increment_sizes_f90(const F90inc &, int &, int &, int &)
void fv3jedi_increment_self_mul_f90(const F90inc &, const double &)
void fv3jedi_increment_increment_from_ug_f90(const F90inc &, const int &)
void fv3jedi_increment_dot_prod_f90(const F90inc &, const F90inc &, double &)
void fv3jedi_increment_dirac_f90(const F90inc &, const eckit::Configuration *const *, const F90geom &)
void fv3jedi_increment_ug_coord_f90(const F90inc &, const int &, const int &, const F90geom &)