?? hdinti.f90
字號:
#include <misc.h>#include <params.h>subroutine hdinti(rearth, deltat)!----------------------------------------------------------------------- ! ! Purpose: ! Time independent initialization for the horizontal diffusion.! ! Method: ! ! Author: ! Original version: D. Williamson! Standardized: J. Rosinski, June 1992! Reviewed: B. Boville, J. Hack, August 1992! Reviewed: B. Boville, April 1996!!-----------------------------------------------------------------------!! $Id: hdinti.F90,v 1.1 2000/06/02 16:19:41 jet Exp $! $Author: jet $ use precision use pmgrid use pspect implicit none!------------------------------Commons----------------------------------#include <comhd.h>!------------------------------Arguments--------------------------------!! Input arguments! real(r8), intent(in) :: rearth ! radius of the earth real(r8), intent(in) :: deltat ! time step!!---------------------------Local workspace-----------------------------! integer k ! level index integer n ! n-wavenumber index!!-----------------------------------------------------------------------!! Top level for del**4 diffusion, set for 18-level model! kmnhd4 = 4!! Bottom level for increased del**2 diffusion (kmxhd2 < kmnhd4)! kmxhd2 = 2!! Initialize physical constants for courant number based spect truncation! nmaxhd = ptrk cnlim = 0.999 ! maximum allowable Courant number cnfac = deltat*float(nmaxhd)/rearth!! Initialize arrays used for courant number based spectral truncation! do k=1,plev nindex(k) = 2*nmaxhd end do!! Set the Del^2 and Del^4 diffusion coefficients for each wavenumber! hdfst2(1) = 0. hdfsd2(1) = 0.! hdfst4(1) = 0. hdfsd4(1) = 0. do n=2,pnmax hdfst2(n) = dif2 * (n*(n-1) ) / rearth**2 hdfsd2(n) = dif2 * (n*(n-1)-2) / rearth**2 hdfst4(n) = dif4 * (n*(n-1)*n*(n-1) ) / rearth**4 hdfsd4(n) = dif4 * (n*(n-1)*n*(n-1)-4) / rearth**4 end do! returnend subroutine hdinti
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -