PISM, A Parallel Ice Sheet Model
stable v2.1-1-g6902d5502 committed by Ed Bueler on 2023-12-20 08:38:27 -0800
src
coupler
atmosphere
Uniform.hh
Go to the documentation of this file.
1
/* Copyright (C) 2018, 2019 PISM Authors
2
*
3
* This file is part of PISM.
4
*
5
* PISM is free software; you can redistribute it and/or modify it under the
6
* terms of the GNU General Public License as published by the Free Software
7
* Foundation; either version 3 of the License, or (at your option) any later
8
* version.
9
*
10
* PISM is distributed in the hope that it will be useful, but WITHOUT ANY
11
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
12
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
13
* details.
14
*
15
* You should have received a copy of the GNU General Public License
16
* along with PISM; if not, write to the Free Software
17
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18
*/
19
20
#include "pism/coupler/AtmosphereModel.hh"
21
22
namespace
pism
{
23
namespace
atmosphere {
24
25
/*!
26
* Test atmosphere model that returns air temperature and precipitation fields that are
27
* constant in time and space (for testing only).
28
*/
29
class
Uniform
:
public
AtmosphereModel
{
30
public
:
31
Uniform
(std::shared_ptr<const Grid>
g
);
32
private
:
33
void
init_impl
(
const
Geometry
&geometry);
34
void
update_impl
(
const
Geometry
&geometry,
double
t,
double
dt);
35
36
const
array::Scalar
&
precipitation_impl
()
const
;
37
const
array::Scalar
&
air_temperature_impl
()
const
;
38
39
void
begin_pointwise_access_impl
()
const
;
40
void
end_pointwise_access_impl
()
const
;
41
42
void
init_timeseries_impl
(
const
std::vector<double> &ts)
const
;
43
void
temp_time_series_impl
(
int
i,
int
j, std::vector<double> &values)
const
;
44
void
precip_time_series_impl
(
int
i,
int
j, std::vector<double> &values)
const
;
45
46
private
:
47
std::shared_ptr<array::Scalar>
m_precipitation
,
m_temperature
;
48
};
49
50
}
// end of namespace atmosphere
51
}
// end of namespace pism
pism::Geometry
Definition:
Geometry.hh:29
pism::array::Scalar
Definition:
Scalar.hh:31
pism::atmosphere::AtmosphereModel
A purely virtual class defining the interface of a PISM Atmosphere Model.
Definition:
AtmosphereModel.hh:33
pism::atmosphere::Uniform::Uniform
Uniform(std::shared_ptr< const Grid > g)
Definition:
Uniform.cc:27
pism::atmosphere::Uniform::air_temperature_impl
const array::Scalar & air_temperature_impl() const
Definition:
Uniform.cc:52
pism::atmosphere::Uniform::init_timeseries_impl
void init_timeseries_impl(const std::vector< double > &ts) const
Definition:
Uniform.cc:66
pism::atmosphere::Uniform::init_impl
void init_impl(const Geometry &geometry)
Definition:
Uniform.cc:33
pism::atmosphere::Uniform::begin_pointwise_access_impl
void begin_pointwise_access_impl() const
Definition:
Uniform.cc:56
pism::atmosphere::Uniform::temp_time_series_impl
void temp_time_series_impl(int i, int j, std::vector< double > &values) const
Definition:
Uniform.cc:70
pism::atmosphere::Uniform::m_precipitation
std::shared_ptr< array::Scalar > m_precipitation
Definition:
Uniform.hh:47
pism::atmosphere::Uniform::m_temperature
std::shared_ptr< array::Scalar > m_temperature
Definition:
Uniform.hh:47
pism::atmosphere::Uniform::update_impl
void update_impl(const Geometry &geometry, double t, double dt)
Definition:
Uniform.cc:42
pism::atmosphere::Uniform::precipitation_impl
const array::Scalar & precipitation_impl() const
Definition:
Uniform.cc:48
pism::atmosphere::Uniform::precip_time_series_impl
void precip_time_series_impl(int i, int j, std::vector< double > &values) const
Definition:
Uniform.cc:76
pism::atmosphere::Uniform::end_pointwise_access_impl
void end_pointwise_access_impl() const
Definition:
Uniform.cc:61
pism::atmosphere::Uniform
Definition:
Uniform.hh:29
pism::g
static const double g
Definition:
exactTestP.cc:36
pism
Definition:
AgeColumnSystem.cc:23
Generated by
1.9.1