Interp.F90 Source File


Files dependent on this one

sourcefile~~interp.f90~~AfferentGraph sourcefile~interp.f90 Interp.F90 sourcefile~base.f90 Base.F90 sourcefile~base.f90->sourcefile~interp.f90 sourcefile~interp_implementation.f90 Interp_implementation.F90 sourcefile~interp_implementation.f90->sourcefile~interp.f90 sourcefile~maplshared.f90 MaplShared.F90 sourcefile~maplshared.f90->sourcefile~interp.f90 sourcefile~componentdriver.f90 ComponentDriver.F90 sourcefile~componentdriver.f90->sourcefile~maplshared.f90 sourcefile~cubedspheregeomspec_smod.f90 CubedSphereGeomSpec_smod.F90 sourcefile~cubedspheregeomspec_smod.f90->sourcefile~base.f90 sourcefile~equal_to.f90~2 equal_to.F90 sourcefile~equal_to.f90~2->sourcefile~base.f90 sourcefile~extdataroot_gridcomp.f90 ExtDataRoot_GridComp.F90 sourcefile~extdataroot_gridcomp.f90->sourcefile~maplshared.f90 sourcefile~fieldunits.f90 FieldUnits.F90 sourcefile~fieldunits.f90->sourcefile~maplshared.f90 sourcefile~make_decomposition.f90 make_decomposition.F90 sourcefile~make_decomposition.f90->sourcefile~base.f90 sourcefile~make_distribution.f90 make_distribution.F90 sourcefile~make_distribution.f90->sourcefile~base.f90 sourcefile~make_latlongeomspec_from_hconfig.f90 make_LatLonGeomSpec_from_hconfig.F90 sourcefile~make_latlongeomspec_from_hconfig.f90->sourcefile~base.f90 sourcefile~make_latlongeomspec_from_metadata.f90 make_LatLonGeomSpec_from_metadata.F90 sourcefile~make_latlongeomspec_from_metadata.f90->sourcefile~base.f90 sourcefile~mapl.f90 MAPL.F90 sourcefile~mapl.f90->sourcefile~base.f90 sourcefile~mapl_generic.f90 MAPL_Generic.F90 sourcefile~mapl_generic.f90->sourcefile~maplshared.f90 sourcefile~mapl_nuopcwrappermod.f90 MAPL_NUOPCWrapperMod.F90 sourcefile~mapl_nuopcwrappermod.f90->sourcefile~base.f90 sourcefile~supports_hconfig.f90~2 supports_hconfig.F90 sourcefile~supports_hconfig.f90~2->sourcefile~base.f90 sourcefile~supports_metadata.f90~2 supports_metadata.F90 sourcefile~supports_metadata.f90~2->sourcefile~base.f90 sourcefile~test_cfio_bundle.pf Test_CFIO_Bundle.pf sourcefile~test_cfio_bundle.pf->sourcefile~base.f90 sourcefile~tstqsat.f90 tstqsat.F90 sourcefile~tstqsat.f90->sourcefile~base.f90 sourcefile~ut_extdata.f90 ut_ExtData.F90 sourcefile~ut_extdata.f90->sourcefile~base.f90 sourcefile~utcfio_bundle.f90 utCFIO_Bundle.F90 sourcefile~utcfio_bundle.f90->sourcefile~base.f90

Source Code

module MAPL_InterpMod

  use, intrinsic :: iso_fortran_env, only: REAL64

  implicit none
  private

  public MAPL_Interp

  interface MAPL_Interp
     module procedure INTERP_LIN_0011_1
     module procedure INTERP_LIN_0011_2
     module procedure INTERP_LIN_1111_1
     module procedure INTERP_LIN_1111_2
     module procedure INTERP_LIN_2111_1
     module procedure INTERP_LIN_2111_2
     module procedure INTERP_LIN_2121_1
     module procedure INTERP_LIN_2121_2
     module procedure INTERP_LIN_3321_1
     module procedure INTERP_LIN_3321_2
  end interface MAPL_Interp

  interface 
     module subroutine INTERP_LIN_0011_1( OY, OX, IY, IX)

       ! !ARGUMENTS:

       real,     intent(OUT) :: OY
       real,     intent(IN ) :: OX
       real,     intent(IN ) :: IY(:)
       real,     intent(IN ) :: IX(:)
       !EOP
     end subroutine INTERP_LIN_0011_1

     module subroutine INTERP_LIN_0011_2( OY, OX, IY, IX)

       ! !ARGUMENTS:

       real(kind=REAL64),     intent(OUT) :: OY
       real(kind=REAL64),     intent(IN ) :: OX
       real(kind=REAL64),     intent(IN ) :: IY(:)
       real(kind=REAL64),     intent(IN ) :: IX(:)
       !EOP
     end subroutine INTERP_LIN_0011_2

     !=========================================================================

     module subroutine INTERP_LIN_1111_1( OY, OX, IY, IX)

       real,     intent(OUT) :: OY(:)
       real,     intent(IN ) :: OX(:)
       real,     intent(IN ) :: IY(:)
       real,     intent(IN ) :: IX(:)
     end subroutine INTERP_LIN_1111_1

     !=========================================================================

     module subroutine INTERP_LIN_1111_2( OY, OX, IY, IX)

       real(kind=REAL64),     intent(OUT) :: OY(:)
       real(kind=REAL64),     intent(IN ) :: OX(:)
       real(kind=REAL64),     intent(IN ) :: IY(:)
       real(kind=REAL64),     intent(IN ) :: IX(:)
     end subroutine INTERP_LIN_1111_2

     !=========================================================================

     module subroutine INTERP_LIN_2121_1( OY, OX, IY, IX)
       real,     intent(OUT) :: OY(:,:)
       real,     intent(IN ) :: OX(:)
       real,     intent(IN ) :: IY(:,:)
       real,     intent(IN ) :: IX(:)
     end subroutine INTERP_LIN_2121_1

     !=========================================================================

     module subroutine INTERP_LIN_2121_2( OY, OX, IY, IX)
       real(kind=REAL64),     intent(OUT) :: OY(:,:)
       real(kind=REAL64),     intent(IN ) :: OX(:)
       real(kind=REAL64),     intent(IN ) :: IY(:,:)
       real(kind=REAL64),     intent(IN ) :: IX(:)
     end subroutine INTERP_LIN_2121_2

     !=========================================================================

     module subroutine INTERP_LIN_2111_1( OY, OX, IY, IX)

       real,     intent(OUT) :: OY(:,:)
       real,     intent(IN ) :: OX(:)
       real,     intent(IN ) :: IY(:)
       real,     intent(IN ) :: IX(:)
     end subroutine INTERP_LIN_2111_1

     !=========================================================================

     module subroutine INTERP_LIN_2111_2( OY, OX, IY, IX)

       real(kind=REAL64),     intent(OUT) :: OY(:,:)
       real(kind=REAL64),     intent(IN ) :: OX(:)
       real(kind=REAL64),     intent(IN ) :: IY(:)
       real(kind=REAL64),     intent(IN ) :: IX(:)
     end subroutine INTERP_LIN_2111_2

     !=========================================================================

     module subroutine INTERP_LIN_3321_1( OY, OX, IY, IX)

       real,     intent(OUT) :: OY(:,:,:)
       real,     intent(IN ) :: OX(:,:,:)
       real,     intent(IN ) :: IY(:,:)
       real,     intent(IN ) :: IX(:)
     end subroutine INTERP_LIN_3321_1

     !=========================================================================

     module subroutine INTERP_LIN_3321_2( OY, OX, IY, IX)

       real(kind=REAL64),     intent(OUT) :: OY(:,:,:)
       real(kind=REAL64),     intent(IN ) :: OX(:,:,:)
       real(kind=REAL64),     intent(IN ) :: IY(:,:)
       real(kind=REAL64),     intent(IN ) :: IX(:)
     end subroutine INTERP_LIN_3321_2
  end interface
end module MAPL_InterpMod