cpld_gridgen  1.13.0
All Data Structures Files Functions Variables Pages
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. More...
 
subroutine angles::find_angchk (iind, jind, angle, angchk)
 Verify the rotation angle on center (Ct) grid points using angle on corner (Bu) grid points. More...
 
subroutine angles::find_angq (iind, jind, xangCt, anglet, angle)
 Find the rotation angle on center (Bu) grid points. More...
 
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. More...
 

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 131 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 84 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 28 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 194 of file angles.F90.