interpol_rain Subroutine

public subroutine interpol_rain(itime, kz, yint1, yint2, yint3, ytint, yint4, intiy1, intiy2, icmv)


                                                                       *

Interpolation of meteorological fields on 2-d model layers. * In horizontal direction bilinear interpolation is used. * Temporally a linear interpolation is used. * Seven fields are interpolated at the same time. * * This is a special version of levlininterpol to save CPU time. * * 1 first time * 2 second time * * * Author: A. Stohl * * 30 August 1996 * * * PS, AP 04/2019, 11/2020: * put back temporal interpolation of rain, from v10.01 * and cloud bottom / thickness interpolation * PS, AP 01/2021: * interpolate particle temperature and cloud total water * PS, AP 02/2021: * interpolation of precipitation using two additional fields * which are temporally equidistant between the main fields * *


                                                                       *

Variables: * * dt1,dt2 time differences between fields and current position * dz1,dz2 z distance between levels and current position * height(nzmax) heights of the model levels * mm help variable * indz the level closest to the current trajectory position * indzh help variable * itime current time * ix,jy x,y coordinates of lower left subgrid point * level level at which interpolation shall be done 2d, =1 * kz level at which interpolation shall be done * memind(3) points to the places of the wind fields * nx,ny actual field dimensions in x,y and z direction * nxmax,nymax,nzmax maximum field dimensions in x,y and z direction * xt current x coordinate * yint the final interpolated value * yt current y coordinate * yy?(0:nxmax,0:nymax,nzx2d,3) meteorological field used for interpolation * yyt(0:nxmax,0:nymax,nzmax,3) tt field * iy1,iy2(0:nxmax,0:nymax,3) cloud bottom, thickness fields (integer) * zt current z coordinate * *



2.) Temporal interpolation (linear)


Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: itime
integer, intent(in) :: kz
real, intent(out) :: yint1
real, intent(out) :: yint2
real, intent(out) :: yint3
real, intent(out) :: ytint
real, intent(out) :: yint4
integer, intent(out) :: intiy1
integer, intent(out) :: intiy2
integer, intent(in) :: icmv