interpolation Module

For interpolating fields in time.


Uses

  • module~~interpolation~~UsesGraph module~interpolation interpolation module~types types module~interpolation->module~types module~params params module~interpolation->module~params iso_fortran_env iso_fortran_env module~types->iso_fortran_env module~params->module~types

Used by

  • module~~interpolation~~UsedByGraph module~interpolation interpolation proc~couple_sea_atm couple_sea_atm proc~couple_sea_atm->module~interpolation proc~couple_land_atm couple_land_atm proc~couple_land_atm->module~interpolation

Contents


Subroutines

public subroutine monthly_interp(month_idx, in_field, out_field, month_fraction, n_months)

Performs linear interpolation on the time dimension. This function does not wrap the indexes around the month 1 or 12.

Arguments

Type IntentOptional AttributesName
integer, intent(in) :: month_idx

The month

real(kind=p), intent(in) :: in_field(ix,il,0:n_months-1)

The input field

real(kind=p), intent(inout) :: out_field(ix,il)

The output field

real(kind=p), intent(in) :: month_fraction

The fraction of the current month elapsed

integer, intent(in) :: n_months

public subroutine forint(imon, for12, for1, tmonth)

Performs linear interpolation of monthly-mean forcing fields.

Arguments

Type IntentOptional AttributesName
integer, intent(in) :: imon

The month

real(kind=p), intent(in) :: for12(ix*il,*)

The input field

real(kind=p), intent(inout) :: for1(ix*il)

The output field

real(kind=p), intent(in) :: tmonth

The fraction of the current month elapsed

public subroutine forin5(imon, for12, for1, tmonth)

Performs nonlinear, mean-conserving interpolation of monthly-mean forcing fields.

Arguments

Type IntentOptional AttributesName
integer, intent(in) :: imon

The month

real(kind=p), intent(in) :: for12(ix*il,12)

The input field

real(kind=p), intent(inout) :: for1(ix*il)

The output field

real(kind=p), intent(in) :: tmonth

The fraction of the current month elapsed