MOM6
mom_horizontal_regridding::fill_boundaries Interface Reference

Detailed Description

Fill grid edges.

Definition at line 46 of file MOM_horizontal_regridding.F90.

Private functions

real function, dimension(0:size(m, 1)+1, 0:size(m, 2)+1) fill_boundaries_real (m, cyclic_x, tripolar_n)
 Fill grid edges for real data. More...
 
integer function, dimension(0:size(m, 1)+1, 0:size(m, 2)+1) fill_boundaries_int (m, cyclic_x, tripolar_n)
 Fill grid edges for integer data. More...
 

Functions and subroutines

◆ fill_boundaries_int()

integer function, dimension(0:size(m,1)+1,0:size(m,2)+1) mom_horizontal_regridding::fill_boundaries::fill_boundaries_int ( integer, dimension(:,:), intent(in)  m,
logical, intent(in)  cyclic_x,
logical, intent(in)  tripolar_n 
)
private

Fill grid edges for integer data.

Parameters
[in]minput array (ND)
[in]cyclic_xTrue if domain is zonally re-entrant
[in]tripolar_nTrue if domain has an Arctic fold

Definition at line 900 of file MOM_horizontal_regridding.F90.

900  integer, dimension(:,:), intent(in) :: m !< input array (ND)
901  logical, intent(in) :: cyclic_x !< True if domain is zonally re-entrant
902  logical, intent(in) :: tripolar_n !< True if domain has an Arctic fold
903  integer, dimension(0:size(m,1)+1,0:size(m,2)+1) :: mp
904 
905  real, dimension(size(m,1),size(m,2)) :: m_real
906  real, dimension(0:size(m,1)+1,0:size(m,2)+1) :: mp_real
907 
908  m_real = real(m)
909 
910  mp_real = fill_boundaries_real(m_real,cyclic_x,tripolar_n)
911 
912  mp = int(mp_real)
913 

◆ fill_boundaries_real()

real function, dimension(0:size(m,1)+1,0:size(m,2)+1) mom_horizontal_regridding::fill_boundaries::fill_boundaries_real ( real, dimension(:,:), intent(in)  m,
logical, intent(in)  cyclic_x,
logical, intent(in)  tripolar_n 
)
private

Fill grid edges for real data.

Parameters
[in]minput array (ND)
[in]cyclic_xTrue if domain is zonally re-entrant
[in]tripolar_nTrue if domain has an Arctic fold

Definition at line 918 of file MOM_horizontal_regridding.F90.

918  real, dimension(:,:), intent(in) :: m !< input array (ND)
919  logical, intent(in) :: cyclic_x !< True if domain is zonally re-entrant
920  logical, intent(in) :: tripolar_n !< True if domain has an Arctic fold
921  real, dimension(0:size(m,1)+1,0:size(m,2)+1) :: mp
922 
923  integer :: ni,nj,i,j
924 
925  ni=size(m,1); nj=size(m,2)
926 
927  mp(1:ni,1:nj)=m(:,:)
928 
929  if (cyclic_x) then
930  mp(0,1:nj)=m(ni,1:nj)
931  mp(ni+1,1:nj)=m(1,1:nj)
932  else
933  mp(0,1:nj)=m(1,1:nj)
934  mp(ni+1,1:nj)=m(ni,1:nj)
935  endif
936 
937  mp(1:ni,0)=m(1:ni,1)
938  if (tripolar_n) then
939  do i=1,ni
940  mp(i,nj+1)=m(ni-i+1,nj)
941  enddo
942  else
943  mp(1:ni,nj+1)=m(1:ni,nj)
944  endif
945 

The documentation for this interface was generated from the following file: