SOCA
GeometryFortran.h
Go to the documentation of this file.
1 /*
2  * (C) Copyright 2017-2021 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 SOCA_GEOMETRY_GEOMETRYFORTRAN_H_
9 #define SOCA_GEOMETRY_GEOMETRYFORTRAN_H_
10 
11 #include "soca/Fortran.h"
12 
13 #include "oops/base/Variables.h"
14 
15 // Forward declarations
16 namespace atlas {
17  namespace field {
18  class FieldSetImpl;
19  }
20  namespace functionspace {
21  class FunctionSpaceImpl;
22  }
23 }
24 namespace eckit {
25  class Configuration;
26 }
27 
28 namespace soca {
29 
30  extern "C" {
32  const eckit::Configuration * const &,
33  const eckit::mpi::Comm *);
35  atlas::field::FieldSetImpl *);
37  atlas::functionspace::FunctionSpaceImpl *);
39  atlas::field::FieldSetImpl *);
43  void soca_geo_start_end_f90(const F90geom &, int &, int &, int &, int &);
44  void soca_geo_get_num_levels_f90(const F90geom &, const oops::Variables &,
45  const size_t &, size_t[]);
46  }
47 } // namespace soca
48 #endif // SOCA_GEOMETRY_GEOMETRYFORTRAN_H_
Definition: Geometry.h:31
int F90geom
key type for soca_geom_mod::soca_geom
Definition: Fortran.h:14
void soca_geo_gridgen_f90(const F90geom &)
void soca_geo_set_atlas_functionspace_pointer_f90(const F90geom &, atlas::functionspace::FunctionSpaceImpl *)
void soca_geo_clone_f90(F90geom &, const F90geom &)
void soca_geo_delete_f90(F90geom &)
void soca_geo_start_end_f90(const F90geom &, int &, int &, int &, int &)
void soca_geo_fill_atlas_fieldset_f90(const F90geom &, atlas::field::FieldSetImpl *)
void soca_geo_setup_f90(F90geom &, const eckit::Configuration *const &, const eckit::mpi::Comm *)
void soca_geo_set_atlas_lonlat_f90(const F90geom &, atlas::field::FieldSetImpl *)
void soca_geo_get_num_levels_f90(const F90geom &, const oops::Variables &, const size_t &, size_t[])