| Class | sltt_debug | 
| In: | 
                
                prepare_data/sltt_debug.f90
                
         | 
| Subroutine : | |
| xyzf_QMix(0:imax-1, 1:jmax, 1:kmax, ncmax) : | real(DP), intent(out) | 
  subroutine SLTTDebugSetQ( xyzf_QMix )
    use constants0, only : PI
    use constants , only : RPlanet
    use axesset   , only : x_Lon, y_Lat
    real(DP), intent(out) :: xyzf_QMix(0:imax-1, 1:jmax, 1:kmax, ncmax)
    !
    ! Local variables
    !
    real(DP) :: clon, clat
    real(DP) :: bell_radius, bell_height
    real(DP) :: dist
    integer  :: i
    integer  :: j
    integer  :: k
    integer  :: n
    clon        =  90.0_DP * PI / 180.0_DP
    clat        =  20.0_DP * PI / 180.0_DP
    bell_radius = RPlanet / 3.0_DP
    bell_radius = RPlanet
    bell_height = 1.0d-6 * 1.0d-10
    do n = 1, ncmax
      do k = 1, kmax
        do j = 1, jmax
          do i = 0, imax-1
            dist = RPlanet * acos( sin( clat ) * sin( y_Lat(j) ) + cos( clat ) * cos( y_Lat(j) ) * cos( x_Lon(i) - clon ) )
            if( dist < bell_radius ) then
              xyzf_QMix(i,j,k,n) = bell_height / 2.0d0 * ( 1.0_DP + cos( PI * dist / bell_radius ) )
            else
              xyzf_QMix(i,j,k,n) = 0.0_DP
            end if
          end do
        end do
      end do
    end do
    do n = 1, ncmax
      do k = 1, kmax / 2
        do j = 1, jmax
          do i = 0, imax-1
            xyzf_QMix(i,j,k,n) = 0.0_DP
          end do
        end do
      end do
    end do
  end subroutine SLTTDebugSetQ
          | Subroutine : | |
| U0 : | real(DP), intent(in ) | 
| xyz_U(0:imax-1, 1:jmax, 1:kmax) : | real(DP), intent(out) | 
| xyz_V(0:imax-1, 1:jmax, 1:kmax) : | real(DP), intent(out) | 
  subroutine SLTTDebugSetUV( U0, xyz_U, xyz_V )
    use constants0, only : PI
    use axesset   , only : x_Lon, y_Lat
    real(DP), intent(in ) :: U0
    real(DP), intent(out) :: xyz_U(0:imax-1, 1:jmax, 1:kmax)
    real(DP), intent(out) :: xyz_V(0:imax-1, 1:jmax, 1:kmax)
    !
    ! local variables
    !
    real(DP) :: Alpha
    integer  :: i
    integer  :: j
    integer  :: k
    Alpha =  80.0_DP * PI / 180.0_DP
    do k = 1, kmax
      do j = 1, jmax
        do i = 0, imax-1
          xyz_U(i,j,k) = U0 * ( cos( y_Lat(j) ) * cos( Alpha ) + sin( y_Lat(j) ) * cos( x_Lon(i) ) * sin( Alpha ) )
          xyz_V(i,j,k) = -U0 * sin( x_Lon(i) ) * sin( Alpha )
        end do
      end do
    end do
  end subroutine SLTTDebugSetUV