UFO
Locations.interface.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 UFO_LOCATIONS_INTERFACE_H_
9 #define UFO_LOCATIONS_INTERFACE_H_
10 
11 #include "ioda/ObsSpace.h"
12 
13 #include "Fortran.h"
14 
15 namespace ufo {
16 
17 /// Interface to Fortran UFO Locations routines
18 /*!
19  * The core of the UFO Locations is coded in Fortran.
20  * Here we define the interfaces to the Fortran code.
21  */
22 
23 extern "C" {
24 
25  void ufo_locs_init_f90(F90locs &, const ioda::ObsSpace &,
26  const util::DateTime &, const util::DateTime &);
27  void ufo_locs_create_f90(F90locs &, const int &, const ioda::ObsSpace &,
28  const double *, const double *);
29  void ufo_locs_copy_f90(F90locs &, const F90locs &);
30  void ufo_locs_setup_f90(F90locs &, const int &);
32  void ufo_locs_nobs_f90(const F90locs &, int &);
33  void ufo_locs_coords_f90(const F90locs &, int &, double &, double &);
34  void ufo_locs_indx_f90(const F90locs &, int &, int &, int &);
35  void ufo_locs_concatenate_f90(const F90locs &, const F90locs &);
36 
37 // -----------------------------------------------------------------------------
38 
39 } // extern C
40 
41 } // namespace ufo
42 #endif // UFO_LOCATIONS_INTERFACE_H_
ufo::ufo_locs_nobs_f90
void ufo_locs_nobs_f90(const F90locs &, int &)
ufo::ufo_locs_create_f90
void ufo_locs_create_f90(F90locs &, const int &, const ioda::ObsSpace &, const double *, const double *)
ufo::ufo_locs_copy_f90
void ufo_locs_copy_f90(F90locs &, const F90locs &)
Fortran.h
ufo::ufo_locs_setup_f90
void ufo_locs_setup_f90(F90locs &, const int &)
ufo::ufo_locs_coords_f90
void ufo_locs_coords_f90(const F90locs &, int &, double &, double &)
ufo::ufo_locs_delete_f90
void ufo_locs_delete_f90(F90locs &)
ufo
Definition: RunCRTM.h:27
ufo::ufo_locs_concatenate_f90
void ufo_locs_concatenate_f90(const F90locs &, const F90locs &)
ufo::F90locs
int F90locs
Definition: Fortran.h:14
ufo::ufo_locs_init_f90
void ufo_locs_init_f90(F90locs &, const ioda::ObsSpace &, const util::DateTime &, const util::DateTime &)
Interface to Fortran UFO Locations routines.
ufo::ufo_locs_indx_f90
void ufo_locs_indx_f90(const F90locs &, int &, int &, int &)