PISM, A Parallel Ice Sheet Model
2.2.1-cd005eec8 committed by Constantine Khrulev on 2025-03-07
Loading...
Searching...
No Matches
src
coupler
util
lapse_rates.cc
Go to the documentation of this file.
1
/* Copyright (C) 2018, 2022, 2023 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 <cmath>
// fabs
21
22
#include "pism/util/array/Scalar.hh"
23
24
namespace
pism
{
25
26
void
lapse_rate_correction
(
const
array::Scalar
&surface,
27
const
array::Scalar
&reference_surface,
28
double
lapse_rate,
29
array::Scalar
&result) {
30
auto
grid = result.
grid
();
31
32
if
(fabs(lapse_rate) < 1e-12) {
33
return
;
34
}
35
36
array::AccessScope
list{&surface, &reference_surface, &result};
37
38
for
(
auto
p = grid->points(); p; p.next()) {
39
const
int
i = p.i(), j = p.j();
40
41
result(i, j) -= lapse_rate * (surface(i,j) - reference_surface(i, j));
42
}
43
}
44
45
}
// end of namespace pism
pism::array::AccessScope
Makes sure that we call begin_access() and end_access() for all accessed array::Arrays.
Definition
Array.hh:64
pism::array::Array::grid
std::shared_ptr< const Grid > grid() const
Definition
Array.cc:131
pism::array::Scalar
Definition
Scalar.hh:31
pism::lapse_rate_correction
void lapse_rate_correction(const array::Scalar &surface, const array::Scalar &reference_surface, double lapse_rate, array::Scalar &result)
Definition
lapse_rates.cc:26
pism
Definition
AgeColumnSystem.cc:23
Generated by
1.9.8