📄 clm1d_allocate.f90
字号:
SUBROUTINE clm1d_allocate (lpt, kpt, msub, maxsnl, msl)! ======================================================================! source file: clm1d_allocate.f90! Original version: Yongjiu Dai, September 15, 1999!! Allocates memory for CLM time-invariant variables and time-varying variables!! ====================================================================== USE clmtc_module USE clmtv_module USE miscell_module IMPLICIT NONE integer, INTENT(in) :: & lpt, &!number of land points on clmlon x clmlat grid kpt, &!total number of clm land points, including subgrid points msub, &!number of submesh msl, &!number of soil layers maxsnl !number of snow layers! ----------------------------------------------------------------------! CLM time-invariant variables ! ----------------------------------------------------------------------! vectors for land points allocate (ixy (1:lpt)) allocate (jxy (1:lpt)) allocate (ktile(1:lpt)) allocate (kvec (1:lpt, 1:msub)) allocate (klnd (1:kpt)) allocate (dlat (1:kpt)) allocate (dlon (1:kpt)) allocate (ivt (1:kpt)) allocate (isc (1:kpt)) allocate (sand (1:kpt)) allocate (clay (1:kpt)) allocate (wsg2g(1:lpt, 1:msub))! Soil parameters allocate (csol (1:msl,1:kpt)) allocate (porsl (1:msl,1:kpt)) allocate (phi0 (1:msl,1:kpt)) allocate (bsw (1:msl,1:kpt)) allocate (dkmg (1:msl,1:kpt)) allocate (dksatu (1:msl,1:kpt)) allocate (dkdry (1:msl,1:kpt)) allocate (albsol (1:kpt))! Vegetation static parameters allocate (z0m (1:kpt)) allocate (displa (1:kpt)) allocate (sqrtdi (1:kpt)) allocate (effcon (1:kpt)) allocate (vmax25 (1:kpt)) allocate (slti (1:kpt)) allocate (hlti (1:kpt)) allocate (shti (1:kpt)) allocate (hhti (1:kpt)) allocate (trda (1:kpt)) allocate (trdm (1:kpt)) allocate (trop (1:kpt)) allocate (gradm (1:kpt)) allocate (binter (1:kpt)) allocate (extkn (1:kpt)) allocate (albvgs (1:kpt)) allocate (albvgl (1:kpt)) allocate (chil (1:kpt)) allocate (ref (1:2,1:2,1:kpt)) allocate (tran (1:2,1:2,1:kpt)) allocate (hksati (1:msl, 1:kpt)) allocate (rootfr (1:msl, 1:kpt))! ----------------------------------------------------------------------! CLM time-varying variables ! ---------------------------------------------------------------------- allocate (snl(1:kpt)) allocate (dz (maxsnl+1:msl, 1:kpt)) allocate (z (maxsnl+1:msl, 1:kpt)) allocate (zi (maxsnl+0:msl, 1:kpt)) allocate (tss (maxsnl+1:msl, 1:kpt)) allocate (wliq (maxsnl+1:msl, 1:kpt)) allocate (wice (maxsnl+1:msl, 1:kpt)) allocate (rootr ( 1:msl, 1:kpt)) allocate (fveg (1:kpt)) allocate (green (1:kpt)) allocate (fsno (1:kpt)) allocate (sigf (1:kpt)) allocate (tlsun (1:kpt)) allocate (tlsha (1:kpt)) allocate (ldew (1:kpt)) allocate (sag (1:kpt)) allocate (scv (1:kpt)) allocate (snowdp (1:kpt)) allocate (etrc (1:kpt)) allocate (tg (1:kpt)) allocate (lai (1:kpt)) allocate (sai (1:kpt))! -----------------------------------------------------------------! Albedo calculation for next time step! ----------------------------------------------------------------- allocate (albg (1:2, 1:2, 1:kpt)) allocate (albv (1:2, 1:2, 1:kpt)) allocate (alb (1:2, 1:2, 1:kpt)) allocate (ssun (1:2, 1:2, 1:kpt)) allocate (ssha (1:2, 1:2, 1:kpt)) allocate (tranc (1:2, 1:2, 1:kpt)) allocate (thermk (1:kpt)) allocate (extkb (1:kpt)) allocate (extkd (1:kpt)) allocate (cosz (1:kpt))! -----------------------------------------------------------------! Forcing! ----------------------------------------------------------------- allocate (sols (1:kpt)) allocate (soll (1:kpt)) allocate (solsd (1:kpt)) allocate (solld (1:kpt)) allocate (frl (1:kpt)) allocate (pco2m (1:kpt)) allocate (po2m (1:kpt)) allocate (us (1:kpt)) allocate (vs (1:kpt)) allocate (tm (1:kpt)) allocate (qm (1:kpt)) allocate (rainrate(1:kpt)) allocate (snowrate(1:kpt)) allocate (psrf (1:kpt)) allocate (rhoair (1:kpt)) allocate (hu (1:kpt)) allocate (ht (1:kpt)) allocate (hq (1:kpt)) allocate (iptype (1:kpt))! -----------------------------------------------------------------! Fluxes! ----------------------------------------------------------------- allocate (taux (1:kpt)) allocate (tauy (1:kpt)) allocate (fsena (1:kpt)) allocate (fevpa (1:kpt)) allocate (lfevpa (1:kpt)) allocate (fsenl (1:kpt)) allocate (fevpl (1:kpt)) allocate (etr (1:kpt)) allocate (fseng (1:kpt)) allocate (fevpg (1:kpt)) allocate (olrg (1:kpt)) allocate (fgrnd (1:kpt)) allocate (trad (1:kpt)) allocate (tref (1:kpt)) allocate (rsur (1:kpt)) allocate (rnof (1:kpt)) allocate (rst (1:kpt)) allocate (assim (1:kpt)) allocate (respc (1:kpt))! -----------------------------------------------------------------! Net solar radiation! ----------------------------------------------------------------- allocate (parsun (1:kpt)) allocate (parsha (1:kpt)) allocate (sabvsun(1:kpt)) allocate (sabvsha(1:kpt)) allocate (sabg (1:kpt)) allocate (sabvg (1:kpt))! -----------------------------------------------------------------! for temporary use! ----------------------------------------------------------------- allocate (totwb (1:kpt)) allocate (errore (1:kpt)) allocate (xerr (1:kpt)) allocate (zerr (1:kpt)) allocate (wt (1:kpt)) allocate (ssw (1:kpt))! ----------------------------------------------------------------- END SUBROUTINE clm1d_allocate
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -