Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Metrics fields second batch #454

Merged
merged 34 commits into from
May 3, 2024
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
af43771
further interpolation coefficients
ajocksch Mar 22, 2024
b1a7e5d
progress
ajocksch Mar 26, 2024
c2d201c
progress
ajocksch Mar 28, 2024
89949b4
ddxt_z_full
ajocksch Apr 2, 2024
b05bbee
model/common/src/icon4py/model/common/interpolation/interpolation_fie…
ajocksch Apr 9, 2024
8aac5e2
progress gt4py
ajocksch Apr 9, 2024
9ecd7e3
progress gt4py
ajocksch Apr 10, 2024
bac95e4
progress numpy to gt4py
ajocksch Apr 10, 2024
596ec48
progress ddqz_z_full_e
ajocksch Apr 19, 2024
6bd552c
Merge branch 'main' of github.com:C2SM/icon4py into greenline_interpo…
ajocksch Apr 19, 2024
cb68e6c
partial implementation of vwind_impl_wgt and vwind_expl_wgt
nfarabullini Apr 19, 2024
3d71578
small progress
ajocksch Apr 23, 2024
57ca79f
some implementation for fields
nfarabullini Apr 24, 2024
61ac852
Update model/common/src/icon4py/model/common/interpolation/interpolat…
nfarabullini Apr 24, 2024
c489f8a
applied changes after PR review
nfarabullini Apr 24, 2024
2492205
one more change
nfarabullini Apr 24, 2024
9e92338
Merge branch 'main' of https://github.com/C2SM/icon4py into greenline…
nfarabullini Apr 24, 2024
7412635
fixed pre-commit
nfarabullini Apr 24, 2024
da8d98a
edits following review
nfarabullini Apr 24, 2024
53c5ac6
docstring edit
nfarabullini Apr 24, 2024
ec468eb
small edits
nfarabullini Apr 25, 2024
c3c4427
merge with other branch
nfarabullini Apr 25, 2024
54363af
edits
nfarabullini Apr 26, 2024
8eed019
merge with upstream
nfarabullini Apr 30, 2024
ddfd413
edits
nfarabullini Apr 30, 2024
76d5554
further edits
nfarabullini Apr 30, 2024
308b1e4
small edit
nfarabullini Apr 30, 2024
fc9d8e2
added comment for skipping
nfarabullini Apr 30, 2024
3608bb7
file split
nfarabullini Apr 30, 2024
41ab599
Merge branch 'main' of https://github.com/C2SM/icon4py into metrics_f…
nfarabullini May 2, 2024
de19fea
edits following review
nfarabullini May 2, 2024
6819a4f
added missing backend option to some programs
nfarabullini May 2, 2024
0b1dd78
corrections
nfarabullini May 2, 2024
c96beb8
removed vwind_impl_wgt
nfarabullini May 3, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
file split
  • Loading branch information
nfarabullini committed Apr 30, 2024
commit 3608bb7f12b3bac7c8d8d555b60ad7010e156346
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@
from icon4py.model.common.grid.horizontal import CellParams, EdgeParams, HorizontalMarkerIndex
from icon4py.model.common.grid.icon import IconGrid
from icon4py.model.common.grid.vertical import VerticalModelParams
from icon4py.model.common.interpolation.stencils.mo_intp_rbf_rbf_vec_interpol import (
from icon4py.model.common.interpolation.stencils.mo_intp_rbf_rbf_vec_interpol_vertex import (
mo_intp_rbf_rbf_vec_interpol_vertex,
)
from icon4py.model.common.states.prognostic_state import PrognosticState
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# ICON4Py - ICON inspired code in Python and GT4Py
#
# Copyright (c) 2022, ETH Zurich and MeteoSwiss
# All rights reserved.
#
# This file is free software: you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the
# Free Software Foundation, either version 3 of the License, or any later
# version. See the LICENSE.txt file at the top-level directory of this
# distribution for a copy of the license or check <https://www.gnu.org/licenses/>.
#
# SPDX-License-Identifier: GPL-3.0-or-later

from gt4py.next.common import GridType
from gt4py.next.ffront.decorator import field_operator, program
from gt4py.next.ffront.fbuiltins import Field, int32, neighbor_sum

from icon4py.model.common.dimension import (
C2E,
C2EDim,
CellDim,
EdgeDim,
KDim,
)
from icon4py.model.common.settings import backend
from icon4py.model.common.type_alias import wpfloat


@field_operator
def _mo_intp_rbf_rbf_vec_interpol_cell(
p_vn_in: Field[[EdgeDim, KDim], wpfloat],
ptr_coeff_1: Field[[CellDim, C2EDim], wpfloat],
ptr_coeff_2: Field[[CellDim, C2EDim], wpfloat],
) -> tuple[Field[[CellDim, KDim], wpfloat], Field[[CellDim, KDim], wpfloat]]:
p_u_out = neighbor_sum(ptr_coeff_1 * p_vn_in(C2E), axis=C2EDim)
p_v_out = neighbor_sum(ptr_coeff_2 * p_vn_in(C2E), axis=C2EDim)
return p_u_out, p_v_out


@program(grid_type=GridType.UNSTRUCTURED, backend=backend)
def mo_intp_rbf_rbf_vec_interpol_cell(
p_vn_in: Field[[EdgeDim, KDim], wpfloat],
ptr_coeff_1: Field[[CellDim, C2EDim], wpfloat],
ptr_coeff_2: Field[[CellDim, C2EDim], wpfloat],
p_u_out: Field[[CellDim, KDim], wpfloat],
p_v_out: Field[[CellDim, KDim], wpfloat],
horizontal_start: int32,
horizontal_end: int32,
vertical_start: int32,
vertical_end: int32,
):
_mo_intp_rbf_rbf_vec_interpol_cell(
p_vn_in,
ptr_coeff_1,
ptr_coeff_2,
out=(p_u_out, p_v_out),
domain={
CellDim: (horizontal_start, horizontal_end),
KDim: (vertical_start, vertical_end),
},
)
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,7 @@
from gt4py.next.ffront.fbuiltins import Field, int32, neighbor_sum

from icon4py.model.common.dimension import (
C2E,
V2E,
C2EDim,
CellDim,
EdgeDim,
KDim,
V2EDim,
Expand Down Expand Up @@ -62,38 +59,3 @@ def mo_intp_rbf_rbf_vec_interpol_vertex(
KDim: (vertical_start, vertical_end),
},
)


@field_operator
def _mo_intp_rbf_rbf_vec_interpol_cell(
p_vn_in: Field[[EdgeDim, KDim], wpfloat],
ptr_coeff_1: Field[[CellDim, C2EDim], wpfloat],
ptr_coeff_2: Field[[CellDim, C2EDim], wpfloat],
) -> tuple[Field[[CellDim, KDim], wpfloat], Field[[CellDim, KDim], wpfloat]]:
p_u_out = neighbor_sum(ptr_coeff_1 * p_vn_in(C2E), axis=C2EDim)
p_v_out = neighbor_sum(ptr_coeff_2 * p_vn_in(C2E), axis=C2EDim)
return p_u_out, p_v_out


@program(grid_type=GridType.UNSTRUCTURED, backend=backend)
def mo_intp_rbf_rbf_vec_interpol_cell(
p_vn_in: Field[[EdgeDim, KDim], wpfloat],
ptr_coeff_1: Field[[CellDim, C2EDim], wpfloat],
ptr_coeff_2: Field[[CellDim, C2EDim], wpfloat],
p_u_out: Field[[CellDim, KDim], wpfloat],
p_v_out: Field[[CellDim, KDim], wpfloat],
horizontal_start: int32,
horizontal_end: int32,
vertical_start: int32,
vertical_end: int32,
):
_mo_intp_rbf_rbf_vec_interpol_cell(
p_vn_in,
ptr_coeff_1,
ptr_coeff_2,
out=(p_u_out, p_v_out),
domain={
CellDim: (horizontal_start, horizontal_end),
KDim: (vertical_start, vertical_end),
},
)
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
from gt4py.next.ffront.fbuiltins import int32

from icon4py.model.common.dimension import EdgeDim, KDim, V2EDim, VertexDim
from icon4py.model.common.interpolation.stencils.mo_intp_rbf_rbf_vec_interpol import (
from icon4py.model.common.interpolation.stencils.mo_intp_rbf_rbf_vec_interpol_vertex import (
mo_intp_rbf_rbf_vec_interpol_vertex,
)
from icon4py.model.common.test_utils.helpers import StencilTest, random_field, zero_field
Expand Down
Loading