equal_to.F90 Source File


This file depends on

sourcefile~~equal_to.f90~3~~EfferentGraph sourcefile~equal_to.f90~3 equal_to.F90 sourcefile~base_base.f90 Base_Base.F90 sourcefile~equal_to.f90~3->sourcefile~base_base.f90 sourcefile~errorhandling.f90 ErrorHandling.F90 sourcefile~equal_to.f90~3->sourcefile~errorhandling.f90 sourcefile~latlondecomposition.f90 LatLonDecomposition.F90 sourcefile~equal_to.f90~3->sourcefile~latlondecomposition.f90 sourcefile~constants.f90 Constants.F90 sourcefile~base_base.f90->sourcefile~constants.f90 sourcefile~keywordenforcer.f90 KeywordEnforcer.F90 sourcefile~base_base.f90->sourcefile~keywordenforcer.f90 sourcefile~mapl_range.f90 MAPL_Range.F90 sourcefile~base_base.f90->sourcefile~mapl_range.f90 sourcefile~maplgrid.f90 MaplGrid.F90 sourcefile~base_base.f90->sourcefile~maplgrid.f90 sourcefile~mapl_throw.f90 MAPL_Throw.F90 sourcefile~errorhandling.f90->sourcefile~mapl_throw.f90 sourcefile~latlondecomposition.f90->sourcefile~base_base.f90 sourcefile~latlondecomposition.f90->sourcefile~keywordenforcer.f90 sourcefile~lataxis.f90 LatAxis.F90 sourcefile~latlondecomposition.f90->sourcefile~lataxis.f90 sourcefile~lonaxis.f90 LonAxis.F90 sourcefile~latlondecomposition.f90->sourcefile~lonaxis.f90 sourcefile~internalconstants.f90 InternalConstants.F90 sourcefile~constants.f90->sourcefile~internalconstants.f90 sourcefile~mathconstants.f90 MathConstants.F90 sourcefile~constants.f90->sourcefile~mathconstants.f90 sourcefile~physicalconstants.f90 PhysicalConstants.F90 sourcefile~constants.f90->sourcefile~physicalconstants.f90 sourcefile~coordinateaxis.f90 CoordinateAxis.F90 sourcefile~lataxis.f90->sourcefile~coordinateaxis.f90 sourcefile~pfio.f90 pFIO.F90 sourcefile~lataxis.f90->sourcefile~pfio.f90 sourcefile~lonaxis.f90->sourcefile~coordinateaxis.f90 sourcefile~lonaxis.f90->sourcefile~pfio.f90 sourcefile~mapl_exceptionhandling.f90 MAPL_ExceptionHandling.F90 sourcefile~mapl_range.f90->sourcefile~mapl_exceptionhandling.f90 sourcefile~maplgrid.f90->sourcefile~errorhandling.f90 sourcefile~maplgrid.f90->sourcefile~constants.f90 sourcefile~maplgrid.f90->sourcefile~keywordenforcer.f90 sourcefile~mapl_sort.f90 MAPL_Sort.F90 sourcefile~maplgrid.f90->sourcefile~mapl_sort.f90 sourcefile~pflogger_stub.f90 pflogger_stub.F90 sourcefile~maplgrid.f90->sourcefile~pflogger_stub.f90

Source Code

#include "MAPL_ErrLog.h"

submodule (mapl3g_LatLonDecomposition) equal_to_smod
   use mapl_ErrorHandlingMod
   use MAPL_Base
   implicit none (type, external)

contains

   elemental module function equal_to(decomp1, decomp2)
      logical :: equal_to
      type(LatLonDecomposition), intent(in) :: decomp1
      type(LatLonDecomposition), intent(in) :: decomp2

      equal_to = size(decomp1%lon_distribution) == size(decomp2%lon_distribution)
      if (.not. equal_to) return

      equal_to = size(decomp1%lat_distribution) == size(decomp2%lat_distribution)
      if (.not. equal_to) return

      equal_to = all(decomp1%lon_distribution == decomp2%lon_distribution)
      if (.not. equal_to) return

      equal_to = all(decomp1%lat_distribution == decomp2%lat_distribution)

   end function equal_to

end submodule equal_to_smod