cpld_gridgen 1.14.0
Loading...
Searching...
No Matches
angles.F90 File Reference

Determine the rotation angle on center and corner points. More...

Go to the source code of this file.

Functions/Subroutines

subroutine angles::find_ang (iind, jind, lonbu, latbu, lonct, anglet)
 Find the rotation angle on center (Ct) grid points.
 
subroutine angles::find_angchk (iind, jind, angle, angchk)
 Verify the rotation angle on center (Ct) grid points using angle on corner (Bu) grid points.
 
subroutine angles::find_angq (iind, jind, xangct, anglet, angle)
 Find the rotation angle on center (Bu) grid points.
 
real(dbl_kind) function angles::modulo_around_point (x, xc, lx)
 Return the modulo value of x in an interval [xc-(Lx/2) xc+(Lx/2)] If Lx<=0, then it returns x without applying modulo arithmetic.
 

Detailed Description

Determine the rotation angle on center and corner points.

Author
Denis.nosp@m.e.Wo.nosp@m.rthen.nosp@m.@noa.nosp@m.a.gov

This module finds the rotation angle for at both center and corner points It utilizes the MOM6 function modulo_around_point

Author
Denis.nosp@m.e.Wo.nosp@m.rthen.nosp@m.@noa.nosp@m.a.gov

Definition in file angles.F90.

Function/Subroutine Documentation

◆ find_ang()

subroutine angles::find_ang ( integer, dimension(2), intent(in) iind,
integer, dimension(2), intent(in) jind,
real(dbl_kind), dimension(:,:), intent(in) lonbu,
real(dbl_kind), dimension(:,:), intent(in) latbu,
real(dbl_kind), dimension(:,:), intent(in) lonct,
real(dbl_kind), dimension(:,:), intent(out) anglet )

Find the rotation angle on center (Ct) grid points.

Parameters
[in]iindthe start/end index in the i-dimension of the grid
[in]jindthe start/end index in the j-dimension of the grid
[in]lonButhe longitudes of the corner grid points
[in]latButhe latitudes of the corner grid points
[in]lonCtthe longitudes of the center grid points
[out]angletthe rotation angle on Ct points
Author
Denis.nosp@m.e.Wo.nosp@m.rthen.nosp@m.@noa.nosp@m.a.gov

Definition at line 130 of file angles.F90.

◆ find_angchk()

subroutine angles::find_angchk ( integer, dimension(2), intent(in) iind,
integer, dimension(2), intent(in) jind,
real(dbl_kind), dimension(:,:), intent(in) angle,
real(dbl_kind), dimension(:,:), intent(out) angchk )

Verify the rotation angle on center (Ct) grid points using angle on corner (Bu) grid points.

Parameters
[in]iindthe start/end index in the i-dimension of the grid
[in]jindthe start/end index in the j-dimension of the grid
[in]anglethe rotation angle on Bu points
[out]angchkthe rotation angle on Ct points
Author
Denis.nosp@m.e.Wo.nosp@m.rthen.nosp@m.@noa.nosp@m.a.gov

Definition at line 83 of file angles.F90.

◆ find_angq()

subroutine angles::find_angq ( integer, dimension(2), intent(in) iind,
integer, dimension(2), intent(in) jind,
real(dbl_kind), dimension(:), intent(in) xangct,
real(dbl_kind), dimension(:,:), intent(in) anglet,
real(dbl_kind), dimension(:,:), intent(out) angle )

Find the rotation angle on center (Bu) grid points.

Parameters
[in]iindthe start/end index in the i-dimension of the grid
[in]jindthe start/end index in the j-dimension of the grid
[in]xangCtthe angle across the tripole seam
[in]angletthe rotation angle on Ct points
[out]anglethe rotation angle on Bu points
Author
Denis.nosp@m.e.Wo.nosp@m.rthen.nosp@m.@noa.nosp@m.a.gov

Definition at line 27 of file angles.F90.

◆ modulo_around_point()

real(dbl_kind) function angles::modulo_around_point ( real(dbl_kind), intent(in) x,
real(dbl_kind), intent(in) xc,
real(dbl_kind), intent(in) lx )

Return the modulo value of x in an interval [xc-(Lx/2) xc+(Lx/2)] If Lx<=0, then it returns x without applying modulo arithmetic.

From src/initialization/MOM_shared_initialization.F90:

Parameters
[in]xValue to which to apply modulo arithmetic
[in]xcCenter of modulo range
[in]LxModulo range width
Returns
x_mod Value x shifted by an integer multiple of Lx to be close to xc

Definition at line 193 of file angles.F90.