UFO
Example.interface.h
Go to the documentation of this file.
1 /*
2  * (C) Copyright 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 TOOLS_NEW_QC_EXAMPLE_EXAMPLE_INTERFACE_H_
9 #define TOOLS_NEW_QC_EXAMPLE_EXAMPLE_INTERFACE_H_
10 
11 #include "ioda/ObsSpace.h"
12 #include "oops/base/Variables.h"
13 #include "ufo/Fortran.h"
14 
15 // Forward declarations
16 namespace eckit {
17  class Configuration;
18 }
19 
20 namespace ioda {
21  class ObsSpace;
22 }
23 
24 namespace ufo {
25 
26 typedef int F90check;
27 
28 /// Interface to Fortran routines
29 
30 extern "C" {
31  void ufo_example_create_f90(F90check &, const eckit::Configuration *,
32  oops::Variables &);
34  void ufo_example_prior_f90(const F90check &, const ioda::ObsSpace &,
35  const F90goms &);
36  void ufo_example_post_f90(const F90check &, const ioda::ObsSpace &, const int &,
37  const int &, const double &, const double &, const F90goms &);
38 } // extern C
39 
40 } // namespace ufo
41 
42 #endif // TOOLS_NEW_QC_EXAMPLE_EXAMPLE_INTERFACE_H_
Forward declarations.
Definition: ObsAodExt.h:21
Forward declarations.
Definition: ObsAodExt.h:25
Definition: RunCRTM.h:27
void ufo_example_prior_f90(const F90check &, const ioda::ObsSpace &, const F90goms &)
int F90goms
Definition: Fortran.h:16
void ufo_example_post_f90(const F90check &, const ioda::ObsSpace &, const int &, const int &, const double &, const double &, const F90goms &)
void ufo_example_delete_f90(F90hop &)
int F90check
void ufo_example_create_f90(F90check &, const eckit::Configuration *, oops::Variables &)
Interface to Fortran routines.