FV3 Bundle
obsspace_f.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 IODA_OBSSPACE_F_H_
9 #define IODA_OBSSPACE_F_H_
10 
11 #include "ObsSpace.h"
12 
13 // -----------------------------------------------------------------------------
14 // These functions provide a Fortran-callable interface to ObsSpace.
15 // -----------------------------------------------------------------------------
16 
17 namespace ioda {
18 
19 extern "C" {
20  int obsspace_get_nobs_f(const ObsSpace &);
21  int obsspace_get_nlocs_f(const ObsSpace &);
22 
23  void obsspace_get_int32_f(const ObsSpace &, const char *, const char *,
24  const std::size_t &, int32_t*);
25  void obsspace_get_int64_f(const ObsSpace &, const char *, const char *,
26  const std::size_t &, int64_t*);
27  void obsspace_get_real32_f(const ObsSpace &, const char *, const char *,
28  const std::size_t &, float*);
29  void obsspace_get_real64_f(const ObsSpace &, const char *, const char *,
30  const std::size_t &, double*);
31 
32  void obsspace_put_int32_f(ObsSpace &, const char *, const char *,
33  const std::size_t &, int32_t*);
34  void obsspace_put_int64_f(ObsSpace &, const char *, const char *,
35  const std::size_t &, int64_t*);
36  void obsspace_put_real32_f(ObsSpace &, const char *, const char *,
37  const std::size_t &, float*);
38  void obsspace_put_real64_f(ObsSpace &, const char *, const char *,
39  const std::size_t &, double*);
40 }
41 
42 } // namespace ioda
43 
44 #endif // IODA_OBSSPACE_F_H_
void obsspace_put_int64_f(ObsSpace &obss, const char *group, const char *vname, const std::size_t &length, int64_t *vec)
Definition: obsspace_f.cc:55
void obsspace_get_int64_f(const ObsSpace &obss, const char *group, const char *vname, const std::size_t &length, int64_t *vec)
Definition: obsspace_f.cc:31
void obsspace_get_real32_f(const ObsSpace &obss, const char *group, const char *vname, const std::size_t &length, float *vec)
Definition: obsspace_f.cc:37
void obsspace_put_real64_f(ObsSpace &obss, const char *group, const char *vname, const std::size_t &length, double *vec)
Definition: obsspace_f.cc:67
int obsspace_get_nlocs_f(const ObsSpace &obss)
Definition: obsspace_f.cc:21
void obsspace_get_int32_f(const ObsSpace &obss, const char *group, const char *vname, const std::size_t &length, int32_t *vec)
Definition: obsspace_f.cc:25
void obsspace_put_real32_f(ObsSpace &obss, const char *group, const char *vname, const std::size_t &length, float *vec)
Definition: obsspace_f.cc:61
void obsspace_put_int32_f(ObsSpace &obss, const char *group, const char *vname, const std::size_t &length, int32_t *vec)
Definition: obsspace_f.cc:49
int obsspace_get_nobs_f(const ObsSpace &obss)
Definition: obsspace_f.cc:17
void obsspace_get_real64_f(const ObsSpace &obss, const char *group, const char *vname, const std::size_t &length, double *vec)
Definition: obsspace_f.cc:43