⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 basdz.f90

📁 CCSM Research Tools: Community Atmosphere Model (CAM)
💻 F90
字号:
#include <misc.h>#include <params.h>subroutine basdz(pkdim   ,sig     ,lbasdz  )!----------------------------------------------------------------------- ! ! Purpose: ! Compute weights for the calculation of derivative estimates at two! center points of the four point stencil for each interval in the! unequally spaced vertical grid (as defined by the array sig).! Estimates are from differentiating a Lagrange cubic polynomial! through the four point stencil.! ! Method: !  pkdim   Number of grid points in vertical grid.!  sig     Sigma values in the vertical grid.!  lbasdz  Weights for derivative estimates based on Lagrange cubic!          polynomial on the unequally spaced vertical grid.!          If grid interval j is surrounded by a 4 point stencil,!          then the derivative at the "top" of the interval (smaller!          sigma value) uses the weights lbasdz(1,1,j),lbasdz(2,1,j),!          lbasdz(3,1,j), and lbasdz(4,1,j).  The derivative at the!          "bottom" of the interval uses lbasdz(1,2,j), lbasdz(2,2,j),!          lbasdz(3,2,j), and lbasdz(4,2,j).  (Recall the vertical!          level indices increase from the top of the atmosphere!          towards the bottom.)! ! Author: J. Olson! !-----------------------------------------------------------------------!! $Id: basdz.F90,v 1.1 2001/11/06 18:42:46 erik Exp $! $Author: erik $!  use precision  implicit none!------------------------------Arguments--------------------------------  integer , intent(in) :: pkdim      ! vertical dimension  real(r8), intent(in) :: sig(pkdim) ! sigma levels (actually a generic vert. coord)  real(r8), intent(out):: lbasdz(4,2,pkdim) ! vertical interpolation weights!-----------------------------------------------------------------------!---------------------------Local variables-----------------------------  integer kk                ! index!-----------------------------------------------------------------------!  do kk = 2,pkdim-2     call lcdbas( sig(kk-1), lbasdz(1,1,kk), lbasdz(1,2,kk) )  end do!  returnend subroutine basdz

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -