ASPECT
sea_level.h
Go to the documentation of this file.
1 // ------------------------------------------------------
2 //
3 // SPDX-License-Identifier: GPL-2.0-or-later
4 //
5 // SPDX-FileCopyrightText: Copyright (C) 2011-2026 by the ASPECT authors.
6 //
7 // This file is part of ASPECT.
8 //
9 // Detailed license information governing the source code and
10 // contributions can be found in the folder LICENSES and in
11 // LICENSE and CONTRIBUTING.md at the top level directory.
12 //
13 // ------------------------------------------------------
14 
15 
16 #ifndef _aspect_postprocess_sea_level_h
17 #define _aspect_postprocess_sea_level_h
18 
21 
22 
23 namespace aspect
24 {
25  namespace Postprocess
26  {
27 
38  template <int dim>
39  class SeaLevel : public Interface<dim>, public ::aspect::SimulatorAccess<dim>
40  {
41  public:
45  SeaLevel();
46 
50  void initialize() override;
51 
55  std::pair<std::string,std::string>
56  execute (TableHandler &statistics) override;
57 
66  double
67  compute_total_surface_pressure(const Point<dim> &position) const;
68 
73  std::list<std::string>
74  required_other_postprocessors() const override;
75 
79  static
80  void
82 
86  void
87  parse_parameters (ParameterHandler &prm) override;
88 
92  void save (std::map<std::string, std::string> &status_strings) const override;
93 
97  void load (const std::map<std::string, std::string> &status_strings) override;
98 
103  template <class Archive>
104  void serialize (Archive &ar, const unsigned int version);
105 
106  private:
112  double
113  compute_nonuniform_sea_level_change(const Point<dim> &position) const;
114 
118  double
120 
127 
132 
138 
143 
147  std::unique_ptr<Utilities::StructuredDataLookup<2>> topography_lookup;
148  std::unique_ptr<Utilities::StructuredDataLookup<2>> ice_height_lookup;
149 
155 
160  double density_ice;
161 
166 
172 
181 
187 
188  };
189  }
190 }
191 
192 
193 #endif
std::string data_directory_ice_height
Definition: sea_level.h:137
void save(std::map< std::string, std::string > &status_strings) const override
std::list< std::string > required_other_postprocessors() const override
std::unique_ptr< Utilities::StructuredDataLookup< 2 > > ice_height_lookup
Definition: sea_level.h:148
std::string data_file_name_topography
Definition: sea_level.h:131
std::pair< std::string, std::string > execute(TableHandler &statistics) override
std::unique_ptr< Utilities::StructuredDataLookup< 2 > > topography_lookup
Definition: sea_level.h:147
double compute_total_surface_pressure(const Point< dim > &position) const
void parse_parameters(ParameterHandler &prm) override
std::string data_file_name_ice_height
Definition: sea_level.h:142
static void declare_parameters(ParameterHandler &prm)
void load(const std::map< std::string, std::string > &status_strings) override
void serialize(Archive &ar, const unsigned int version)
double compute_nonuniform_sea_level_change(const Point< dim > &position) const
std::string data_directory_topography
Definition: sea_level.h:126