UFO
ObsRadianceCRTM.interface.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 UFO_CRTM_OBSRADIANCECRTM_INTERFACE_H_
9 #define UFO_CRTM_OBSRADIANCECRTM_INTERFACE_H_
10 
11 #include "ioda/ObsSpace.h"
12 #include "oops/base/Variables.h"
13 #include "ufo/Fortran.h"
14 
15 namespace ufo {
16 
17 /// Interface to Fortran UFO routines
18 /*!
19  * The core of the UFO is coded in Fortran.
20  * Here we define the interfaces to the Fortran code.
21  */
22 
23 extern "C" {
24 
25 // -----------------------------------------------------------------------------
26 // Radiance observation operator
27 // -----------------------------------------------------------------------------
28  void ufo_radiancecrtm_setup_f90(F90hop &, const eckit::Configuration &,
29  const int &, const int &,
30  oops::Variables &);
32  void ufo_radiancecrtm_simobs_f90(const F90hop &, const F90goms &, const ioda::ObsSpace &,
33  const int &, const int &, double &, const F90goms &);
34 // -----------------------------------------------------------------------------
35 
36 } // extern C
37 
38 } // namespace ufo
39 #endif // UFO_CRTM_OBSRADIANCECRTM_INTERFACE_H_
Definition: RunCRTM.h:27
int F90goms
Definition: Fortran.h:16
void ufo_radiancecrtm_setup_f90(F90hop &, const eckit::Configuration &, const int &, const int &, oops::Variables &)
Interface to Fortran UFO routines.
void ufo_radiancecrtm_delete_f90(F90hop &)
void ufo_radiancecrtm_simobs_f90(const F90hop &, const F90goms &, const ioda::ObsSpace &, const int &, const int &, double &, const F90goms &)
int F90hop
Definition: Fortran.h:18