FV3 Bundle
StateFV3JEDIFortran.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 SRC_STATE_STATEFV3JEDIFORTRAN_H_
9 #define SRC_STATE_STATEFV3JEDIFORTRAN_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 // State
29 // -----------------------------------------------------------------------------
31  const F90geom &,
32  const eckit::Configuration * const *);
33 
35 
36  void fv3jedi_state_copy_f90(const F90state &,
37  const F90state &);
38 
39  void fv3jedi_state_zero_f90(const F90state &);
40 
41  void fv3jedi_state_axpy_f90(const F90state &,
42  const double &,
43  const F90state &);
44 
46  const F90state &,
47  const F90inc &);
48 
50  const F90state &);
51 
53  const F90state &,
54  const eckit::Configuration * const *,
55  util::DateTime * const *);
56 
58  const F90geom &,
59  const eckit::Configuration * const *,
60  util::DateTime * const *);
61 
63  const F90state &,
64  const eckit::Configuration * const *,
65  const util::DateTime * const *);
66 
68  const F90state &,
69  const F90locs &,
70  const eckit::Configuration * const *,
71  const F90goms &);
72 
74  const F90state &,
75  const F90locs &,
76  const eckit::Configuration * const *,
77  const F90goms &,
78  const F90ootrj &);
79 
81  const int &,
82  double &);
83 
84  void fv3jedi_state_sizes_f90(const F90state &,
85  int &,
86  int &,
87  int &);
88 
89  void fv3jedi_state_rms_f90(const F90state &,
90  double &);
91 
92 }; // extern "C"
93 // -----------------------------------------------------------------------------
94 
95 } // namespace fv3jedi
96 #endif // SRC_STATE_STATEFV3JEDIFORTRAN_H_
void fv3jedi_state_gpnorm_f90(const F90state &, const int &, double &)
void fv3jedi_state_copy_f90(const F90state &, const F90state &)
void fv3jedi_state_getvalues_f90(const F90geom &, const F90state &, const F90locs &, const eckit::Configuration *const *, const F90goms &, const F90ootrj &)
void fv3jedi_state_analytic_init_f90(const F90state &, const F90geom &, const eckit::Configuration *const *, util::DateTime *const *)
void fv3jedi_state_create_f90(F90state &, const F90geom &, const eckit::Configuration *const *)
void fv3jedi_state_rms_f90(const F90state &, double &)
void fv3jedi_state_sizes_f90(const F90state &, int &, int &, int &)
void fv3jedi_state_read_file_f90(const F90geom &, const F90state &, const eckit::Configuration *const *, util::DateTime *const *)
void fv3jedi_state_add_incr_f90(const F90geom &, const F90state &, const F90inc &)
void fv3jedi_state_getvalues_notraj_f90(const F90geom &, const F90state &, const F90locs &, const eckit::Configuration *const *, const F90goms &)
void fv3jedi_state_change_resol_f90(const F90state &, const F90state &)
void fv3jedi_state_write_file_f90(const F90geom &, const F90state &, const eckit::Configuration *const *, const util::DateTime *const *)
void fv3jedi_state_zero_f90(const F90state &)
void fv3jedi_state_delete_f90(F90state &)
void fv3jedi_state_axpy_f90(const F90state &, const double &, const F90state &)