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 903 of file MOM_horizontal_regridding.F90.

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

◆ 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 921 of file MOM_horizontal_regridding.F90.

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

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