Loading [MathJax]/extensions/tex2jax.js
PISM, A Parallel Ice Sheet Model
2.2.1-cd005eec8 committed by Constantine Khrulev on 2025-03-07
Toggle main menu visibility
Main Page
Related Pages
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
z
Variables
a
b
c
d
f
g
h
i
k
l
m
n
r
s
t
u
v
w
Typedefs
Enumerations
a
b
c
d
e
f
i
k
l
m
n
p
r
t
u
v
Enumerator
_
a
b
c
d
e
f
g
h
i
l
m
n
p
q
s
t
u
w
x
y
z
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
:
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
c
d
f
g
h
l
m
p
s
v
w
Enumerations
Enumerator
c
d
e
f
h
i
j
m
n
o
p
r
s
t
w
y
Related Symbols
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
k
l
m
n
p
r
s
t
u
w
z
Functions
a
b
c
d
e
f
g
h
i
l
m
p
r
s
u
Variables
b
c
d
e
g
h
k
l
m
n
p
r
s
t
u
w
z
Typedefs
Macros
_
a
b
c
g
h
i
k
m
n
r
s
t
u
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
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
}
26
void
lapse_rate_correction
(
const
array::Scalar
&surface, {
…
}
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