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

📄 pftcfilemod.f90

📁 CCSM Research Tools: Community Atmosphere Model (CAM)
💻 F90
字号:
#include <misc.h>#include <preproc.h>module pftcFileMod!=======================================================================CONTAINS!=======================================================================  subroutine pftconrd!----------------------------------------------------------------------- ! ! Purpose: ! Read and initialize vegetation (PFT) constants ! ! Method: ! ! Author: Gordon Bonan! !-----------------------------------------------------------------------! $Id: pftcFileMod.F90,v 1.3.6.5 2002/04/27 15:38:50 erik Exp $!-----------------------------------------------------------------------    use precision    use clm_varpar       !parameters    use clm_varctl       !run control variables    use pft_varcon       !vegetation type constants    use fileutils, only : opnfil, getfil, relavu, getavu    use spmdMod          !spmd variables and routines    implicit none! ------------------------ local variables ------------------------    integer :: i,n              !loop indices    character(len=256) :: locfn !local file name    integer :: ier              !error code! -----------------------------------------------------------------! Set specific vegetation type values    ncorn  = 15    nwheat = 16    ntree = 8    !value for last type of tree    noveg = 0    !value for non-vegetated! Assign unit number to file. Get local file. Open file and read PFT's.! Close and release file.    if (masterproc) then       write (6,*) 'Attempting to read PFT physiological data .....'       n = getavu()       call getfil (fpftcon, locfn, 0)       call opnfil (locfn, n, 'f')       do i = 1, numpft          read (n,*)  pftname(i),              &                      z0mr(i)   , displar(i), dleaf(i)  , c3psn(i)  , &                      vcmx25(i) , mp(i)     , qe25(i)   , rhol(i,1) , &                      rhol(i,2) , rhos(i,1) , rhos(i,2) , taul(i,1) , &                      taul(i,2) , taus(i,1) , taus(i,2) , xl(i)     , &                      roota_par(i), rootb_par(i)        end do       call relavu (n)    endif! Define PFT zero to be bare ground    pftname(noveg) = 'not_vegetated'     z0mr(noveg) = 0.    displar(noveg) = 0.    dleaf(noveg) = 0.    c3psn(noveg) = 1.    vcmx25(noveg) = 0.    mp(noveg) = 9.    qe25(noveg) = 0.    rhol(noveg,1) = 0.    rhol(noveg,2) = 0.    rhos(noveg,1) = 0.    rhos(noveg,2) = 0.    taul(noveg,1) = 0.    taul(noveg,2) = 0.    taus(noveg,1) = 0.    taus(noveg,2) = 0.    xl(noveg) = 0.    roota_par(noveg) = 0.    rootb_par(noveg) = 0.#if ( defined SPMD )    call mpi_bcast (z0mr, size(z0mr), mpir8, 0, mpicom, ier)    call mpi_bcast (displar, size(displar), mpir8, 0, mpicom, ier)    call mpi_bcast (dleaf, size(dleaf), mpir8, 0, mpicom, ier)    call mpi_bcast (c3psn, size(c3psn), mpir8, 0, mpicom, ier)    call mpi_bcast (vcmx25, size(vcmx25), mpir8, 0, mpicom, ier)    call mpi_bcast (mp, size(mp), mpir8, 0, mpicom, ier)    call mpi_bcast (qe25, size(qe25), mpir8, 0, mpicom, ier)    call mpi_bcast (rhol, size(rhol), mpir8, 0, mpicom, ier)    call mpi_bcast (rhos, size(rhos), mpir8, 0, mpicom, ier)    call mpi_bcast (taul, size(taul), mpir8, 0, mpicom, ier)    call mpi_bcast (taus, size(taus), mpir8, 0, mpicom, ier)    call mpi_bcast (xl, size(xl), mpir8, 0, mpicom, ier)    call mpi_bcast (roota_par, size(roota_par), mpir8, 0, mpicom, ier)    call mpi_bcast (rootb_par, size(rootb_par), mpir8, 0, mpicom, ier)#endif    if (masterproc) then       write (6,*) 'Successfully read PFT physiological data'       write (6,*)    endif    return   end subroutine pftconrdend module pftcFileMod

⌨️ 快捷键说明

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