snowage.f90
来自「CLM集合卡曼滤波数据同化算法」· F90 代码 · 共 61 行
F90
61 行
SUBROUTINE snowage ( dtime,tg,scv,scvold,sag )!=======================================================================! Source file: snowage.f90! Original version: Robert Dickinson!! Update snow cover and snow age, based on BATS code!!======================================================================= USE PHYCON_MODULE ! physical constant IMPLICIT NONE!-------------------------- Dummy Argument ----------------------------- real, INTENT(in) :: & dtime, &! time step [second] tg, &! temperature of soil at surface [K] scv, &! snow cover, water equivalent [mm] scvold ! snow cover for previous time step [mm] real, INTENT(inout) :: & sag ! non dimensional snow age [-]!-------------------------- Local variables ----------------------------! real &! age1, &! snow aging factor due to crystal growth [-] age2, &! snow aging factor due to surface growth [-] age3, &! snow aging factor due to accum of other particles [-] arg, &! temporary variable used in snow age calculation [-] arg2, &! temporary variable used in snow age calculation [-] dela, &! temporary variable used in snow age calculation [-] dels, &! temporary variable used in snow age calculation [-] sge ! temporary variable used in snow age calculation [-]!----------------------------------------------------------------------- if(scv <= 0.) then sag = 0.!! Over antarctica! else if (scv > 800.) then sag = 0.!! Away from antarctica! else age3 = 0.3 arg = 5.e3*(1./tfrz-1./tg) arg2 = min(0.,10.*arg) age2 = exp(arg2) age1 = exp(arg) dela = 1.e-6*dtime*(age1+age2+age3) dels = 0.1*max(0.0,scv-scvold) sge = (sag+dela)*(1.0-dels) sag = max(0.0,sge) end if END SUBROUTINE snowage
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?