


PGF90 (Version     12.8)          08/30/2020  00:27:44      page 1

Switches: -noasm -nodclchk -nodebug -nodlines -noline -list
          -idir ../include
          -inform warn -opt 1 -nosave -object -noonetrip
          -depchk on -nostandard     
          -nosymbol -noupcase    

Filename: alloc.f90

(    1) module mod_extra
(    2) !! From extra.comm
(    3)    IMPLICIT NONE
(    4)       PUBLIC
(    5)       real, allocatable, dimension(:,:,:)::pdsl,pdvp1,pslp
(    6)       real, allocatable, dimension(:,:,:,:)::pint,alpint,zint
(    7) 
(    8) !!    common/extra/ pdsl,pint,alpint,zint,pdvp1,pslp
(    9)   contains
(   10)   subroutine alloc_extra
(   11)     include 'param_o.h'
(   12) 
(   13) !!      real, allocatable, dimension(0:im+1,0:jm+1,nm)::pdsl,pdvp1,pslp
../include/param_o.h
(    1)*      integer,parameter  :: im0=401
(    2)*      integer, parameter :: nm=6
(    3)*      integer, parameter :: lm = 50
(    4)*      integer, parameter :: nsub = 10
(    5)*
(    6)*      integer, parameter :: im=im0, jm=im
(    7)*      integer, parameter :: im1=im-1, jm1=jm-1
(    8)*
(    9)*      integer, parameter :: lm1 = lm-1, lp1 =lm +1  
(   10)*
(   11)*      integer, parameter :: ixm = nsub, jym = ixm, nxy = ixm*jym
(   12)*      integer, parameter :: ildom = (im - 1)/ixm, jldom = (jm - 1)/jym
(   13)*      integer, parameter :: ilm = (im - 1)/ixm +1, jlm = (jm - 1)/jym +1 
(   14)*
(   15)*      logical,parameter::flat=.false.
(   16)*      logical,parameter::hstst=.false.
(   17)*
(   18)*!      integer,parameter::igm=360, jgm = 181
(   19)*      integer,parameter::igm=(im0-1)*4, jgm = (igm/2)+1      
(   20)*      real,parameter::alfa=0.0, beta=0.0, gamm=0.0
(   21)*!      real,parameter::alfa=0.*3.1415926/180.,beta=66.*3.1415926/180. &
(   22)*!	              ,gamm=175.*3.1415926/180.
(   23)*
(   24)*!GSM      integer,parameter::lsm=20
(   25)*      integer,parameter::lsm=31
(   26)*
(   27)*!RESTART
(   28)*
(   29)*      character(len=10):: restartdate='2020080412'    !restart date to create appropriate folder name
(   14)     ALLOCATE(pdsl(0:im+1,0:jm+1,nm))
(   15)     pdsl = 0.0
(   16)     ALLOCATE(pdvp1(0:im+1,0:jm+1,nm))
(   17)     pdvp1 = 0.0
(   18)     ALLOCATE(pslp(0:im+1,0:jm+1,nm))
(   19)     pslp = 0.0
(   20) 
(   21) !!      real, allocatable, dimension(0:im+1,0:jm+1,nm,lp1)::pint,alpint,zint






PGF90 (Version     12.8)          08/30/2020  00:27:44      page 2

(   22)     ALLOCATE(pint(0:im+1,0:jm+1,nm,lp1))
(   23)     pint = 0.0
(   24)     ALLOCATE(alpint(0:im+1,0:jm+1,nm,lp1))
(   25)     alpint = 0.0
(   26) 
(   27)     ALLOCATE(zint(0:im+1,0:jm+1,nm,lp1))
(   28)     zint = 0.0
(   29) 
(   30)   end subroutine alloc_extra
(   31) 
(   32)   subroutine dealloc_extra
(   33) 
(   34)      DEALLOCATE(pdsl,pdvp1,pslp,pint,alpint,zint)
(   35) 
(   36)   end subroutine dealloc_extra
(   37) 
(   38) end module mod_extra
(   39) !
(   40) !
(   41) !
(   42) !
(   43) module mod_graph
(   44) !! From graph.comm
(   45)    IMPLICIT NONE
(   46)       PUBLIC
(   47)       !! real, allocatable, dimension(:,:)::GLON,GLAT   !glon,glat,  DRAGAN
(   48)       real, allocatable, dimension(:,:)::xmp0,ymp0   !glon,glat,  DRAGAN
(   49)       integer, allocatable, dimension(:,:)::kmp0
(   50)       real, allocatable, dimension(:,:,:)::u2us,v2us,u2vs,v2vs
(   51) 
(   52) !!       common /graph/  &
(   53) !!       XMP0,YMP0,KMP0,u2us,v2us,u2vs,v2vs     !GLON,GLAT,  DRAGAN 
(   54)   contains
(   55)   subroutine alloc_graph
(   56)     include 'param_o.h'
(   57) 
(   58) !!      real, allocatable, dimension(igm,jgm)::xmp0,ymp0   !glon,glat,  DRAGAN
(   59) !!      integer, allocatable, dimension(igm,jgm)::kmp0
(   60) !!     ALLOCATE(GLON(igm,jgm))
(   61) !!     ALLOCATE(GLAT(igm,jgm))
(   62) !!     glon = 0.0
(   63) !!     glat = 0.0
(   64) 
../include/param_o.h
(    1)*      integer,parameter  :: im0=401
(    2)*      integer, parameter :: nm=6
(    3)*      integer, parameter :: lm = 50
(    4)*      integer, parameter :: nsub = 10
(    5)*
(    6)*      integer, parameter :: im=im0, jm=im
(    7)*      integer, parameter :: im1=im-1, jm1=jm-1
(    8)*
(    9)*      integer, parameter :: lm1 = lm-1, lp1 =lm +1  
(   10)*
(   11)*      integer, parameter :: ixm = nsub, jym = ixm, nxy = ixm*jym
(   12)*      integer, parameter :: ildom = (im - 1)/ixm, jldom = (jm - 1)/jym
(   13)*      integer, parameter :: ilm = (im - 1)/ixm +1, jlm = (jm - 1)/jym +1 
(   14)*






PGF90 (Version     12.8)          08/30/2020  00:27:44      page 3

(   15)*      logical,parameter::flat=.false.
(   16)*      logical,parameter::hstst=.false.
(   17)*
(   18)*!      integer,parameter::igm=360, jgm = 181
(   19)*      integer,parameter::igm=(im0-1)*4, jgm = (igm/2)+1      
(   20)*      real,parameter::alfa=0.0, beta=0.0, gamm=0.0
(   21)*!      real,parameter::alfa=0.*3.1415926/180.,beta=66.*3.1415926/180. &
(   22)*!	              ,gamm=175.*3.1415926/180.
(   23)*
(   24)*!GSM      integer,parameter::lsm=20
(   25)*      integer,parameter::lsm=31
(   26)*
(   27)*!RESTART
(   28)*
(   29)*      character(len=10):: restartdate='2020080412'    !restart date to create appropriate folder name
(   65)     ALLOCATE(xmp0(igm,jgm))
(   66)     xmp0 = 0.0
(   67)     ALLOCATE(ymp0(igm,jgm))
(   68)     ymp0 = 0.0
(   69)     ALLOCATE(kmp0(igm,jgm))
(   70)     kmp0 = 0
(   71) 
(   72) !!      real, allocatable, dimension(0:im+1,0:jm+1,nm)::u2us,v2us,u2vs,v2vs
(   73)     ALLOCATE(u2us(0:im+1,0:jm+1,nm))  
(   74)     ALLOCATE(v2us(0:im+1,0:jm+1,nm))  
(   75)     ALLOCATE(u2vs(0:im+1,0:jm+1,nm))  
(   76)     ALLOCATE(v2vs(0:im+1,0:jm+1,nm))  
(   77)     u2us = 0.0
(   78)     v2us = 0.0
(   79)     u2vs = 0.0
(   80)     v2vs = 0.0
(   81) 
(   82)   end subroutine alloc_graph
(   83) !
(   84) !
(   85) !
(   86) !
(   87)   subroutine dealloc_graph
(   88) 
(   89)     DEALLOCATE(xmp0,ymp0,kmp0,u2us,v2us,u2vs,v2vs)
(   90) 
(   91)   end subroutine dealloc_graph
(   92) end module mod_graph
(   93) !
(   94) !
(   95) !
(   96) !
(   97) !
(   98) !! module mod_mapot
(   99) ! !! From mapot.comm
(  100) !!         real,dimension(lsm)::spl,alsl
(  101) !! 	common/mapot/ spl,alsl
(  102) !! end module mod_mapot
(  103) !
(  104) !
(  105) !
(  106) !
(  107) !






PGF90 (Version     12.8)          08/30/2020  00:27:44      page 4

(  108) module mod_masks
(  109) !! From masks.comm
(  110)    IMPLICIT NONE
(  111)        PUBLIC
(  112)       real, allocatable, dimension(:,:,:,:)::htm,vtm
(  113)       integer, allocatable, dimension(:,:,:)::lmh,lmv
(  114) 
(  115) !!      common/masks/ htm,vtm,lmh,lmv
(  116)   contains
(  117) !
(  118)   subroutine alloc_masks
(  119)     include 'param_o.h'
(  120) 
(  121) !!      real, allocatable, dimension(0:im+1,0:jm+1,nm,lm)::htm,vtm
../include/param_o.h
(    1)*      integer,parameter  :: im0=401
(    2)*      integer, parameter :: nm=6
(    3)*      integer, parameter :: lm = 50
(    4)*      integer, parameter :: nsub = 10
(    5)*
(    6)*      integer, parameter :: im=im0, jm=im
(    7)*      integer, parameter :: im1=im-1, jm1=jm-1
(    8)*
(    9)*      integer, parameter :: lm1 = lm-1, lp1 =lm +1  
(   10)*
(   11)*      integer, parameter :: ixm = nsub, jym = ixm, nxy = ixm*jym
(   12)*      integer, parameter :: ildom = (im - 1)/ixm, jldom = (jm - 1)/jym
(   13)*      integer, parameter :: ilm = (im - 1)/ixm +1, jlm = (jm - 1)/jym +1 
(   14)*
(   15)*      logical,parameter::flat=.false.
(   16)*      logical,parameter::hstst=.false.
(   17)*
(   18)*!      integer,parameter::igm=360, jgm = 181
(   19)*      integer,parameter::igm=(im0-1)*4, jgm = (igm/2)+1      
(   20)*      real,parameter::alfa=0.0, beta=0.0, gamm=0.0
(   21)*!      real,parameter::alfa=0.*3.1415926/180.,beta=66.*3.1415926/180. &
(   22)*!	              ,gamm=175.*3.1415926/180.
(   23)*
(   24)*!GSM      integer,parameter::lsm=20
(   25)*      integer,parameter::lsm=31
(   26)*
(   27)*!RESTART
(   28)*
(   29)*      character(len=10):: restartdate='2020080412'    !restart date to create appropriate folder name
(  122)     ALLOCATE(htm(0:im+1,0:jm+1,nm,lm))
(  123)     htm = 0.0
(  124)     ALLOCATE(vtm(0:im+1,0:jm+1,nm,lm))
(  125)     vtm = 0.0
(  126) 
(  127) !!      integer, allocatable, dimension(0:im+1,0:jm+1,nm)::lmh,lmv
(  128)     ALLOCATE(lmh(0:im+1,0:jm+1,nm))
(  129)     ALLOCATE(lmv(0:im+1,0:jm+1,nm))
(  130)     lmh = 0
(  131)     lmv = 0
(  132) 
(  133)   end subroutine alloc_masks
(  134) !
(  135) !






PGF90 (Version     12.8)          08/30/2020  00:27:44      page 5

(  136) !
(  137) !
(  138) !
(  139)   subroutine dealloc_masks
(  140) 
(  141)     DEALLOCATE(htm,vtm,lmh,lmv)
(  142) 
(  143)   end subroutine dealloc_masks
(  144) 
(  145) !
(  146) !
(  147) end module mod_masks
(  148) !
(  149) !
(  150) !
(  151) !
(  152) !
(  153) module mod_pvrbls
(  154) !! From pvrbls.comm
(  155)    IMPLICIT NONE
(  156)        PUBLIC
(  157)        real, allocatable, dimension(:,:,:)::ths,u00 
(  158)        real, allocatable, dimension(:,:,:)::sfclhx,sfcshx,vegfrc,z0,albedo  !DRAGAN
(  159)        
(  160)        real, allocatable, dimension(:,:,:)::RSWIN,RSWOUT,RSWTOA,ASWIN,ASWOUT,ASWTOA,rswnet   !
(  161)        real, allocatable, dimension(:,:,:)::RLWIN,RLWOUT,RLWTOA,ALWIN,ALWOUT,ALWTOA,rlwnet   ! DRAGAN   (RADIATION)
(  162)        real, allocatable, dimension(:,:,:,:)::RSWTT,RLWTT                                   !
(  163)        real, allocatable, dimension(:,:,:)::CUPPT,cfracl,cfracm,cfrach            !clouds
(  164)        real, allocatable, dimension(:,:,:)::acprec,cuprec,aprec,acsnow,prec       !precipitation
(  165)        
(  166)        real, allocatable, dimension(:,:,:)::SMSTAV,BGROFF,SSROFF                  !soil
(  167)        integer,parameter:: nsoil=4
(  168)        real, allocatable, dimension(:,:,:,:)::smc,stc
(  169) 
(  170)        real, allocatable, dimension(:)::ul
(  171) !       real, allocatable, dimension(0:im+1,0:jm+1,nm,lm)::q2
(  172) 
(  173)        real, allocatable, dimension(:,:,:)::albase,cnvtop,cnvbot,htop,hbot,  f_ice, f_rain, f_RimeF        !newly added
(  174)        integer, allocatable, dimension(:,:,:)::IVGTYP,ISLTYP
(  175) 
(  176)        real, allocatable, dimension(:,:,:)::acfrcv,acfrst,acsnom,cmc,   &
(  177)        czen,czmean,epsr,glat,glon,grnflx,mxsnal,potevp,potflx
(  178) 
(  179)        real, allocatable, dimension(:,:,:,:)::omgalf,q2,tcucn,train,div,rtop
(  180) 
(  181) !!!            real, allocatable, dimension(lm,0:im+1,0:jm+1,nm)::f_ice,f_rain,f_RimeF   
(  182)       
(  183)        real, allocatable, dimension(:,:,:)::qwbs,twbs,sm,q10,th10,qz0,thz0,radot,sigt4,  &
(  184)        sfcevp,subshx,snopcx,si,sno,sice,smstot,soiltb,tg,sr,akhs,akms,plm
(  185)        
(  186)        real, allocatable, dimension(:,:,:)::u10,v10,uz0,vz0,ustar
(  187) 
(  188) !!       common/pvrbls/ ths,u00,sfclhx,sfcshx,vegfrc,z0,albedo,  &
(  189) !!        RSWIN,RSWOUT,RSWTOA,ASWIN,ASWOUT,ASWTOA,rswnet,RLWIN,RLWOUT,RLWTOA,ALWIN,ALWOUT,ALWTOA,rlwnet,  &
(  190) !!	RSWTT,RLWTT,CUPPT,cfracl,cfracm,cfrach,acprec,cuprec,aprec,acsnow,prec,  &
(  191) !!	SMSTAV,BGROFF,SSROFF,smc,stc,albase,cnvtop,cnvbot,htop,hbot,IVGTYP,ISLTYP,   &
(  192) !!	acfrcv,acfrst,acsnom,cmc,czen,czmean,epsr,glat,glon,grnflx,mxsnal,potevp,potflx,   &
(  193) !!	omgalf,qwbs,twbs,sm,q10,th10,qz0,thz0,radot,sigt4,sfcevp,subshx,snopcx,  &






PGF90 (Version     12.8)          08/30/2020  00:27:44      page 6

(  194) !!        si,sno,sice,smstot,soiltb,tg,sr,akhs,akms,q2,tcucn,train,div,rtop,plm,   &
(  195) !!	u10,v10,uz0,vz0,ustar     !!!DRAGAN
(  196) 
(  197)   contains
(  198)   subroutine alloc_pvrbls
(  199)     include 'param_o.h'
(  200) 
(  201) !!       real, allocatable, dimension(0:im+1,0:jm+1,nm)::ths,u00 
(  202) !!       real, allocatable, dimension(0:im+1,0:jm+1,nm)::sfclhx,sfcshx,vegfrc,z0,albedo  !DRAGAN
../include/param_o.h
(    1)*      integer,parameter  :: im0=401
(    2)*      integer, parameter :: nm=6
(    3)*      integer, parameter :: lm = 50
(    4)*      integer, parameter :: nsub = 10
(    5)*
(    6)*      integer, parameter :: im=im0, jm=im
(    7)*      integer, parameter :: im1=im-1, jm1=jm-1
(    8)*
(    9)*      integer, parameter :: lm1 = lm-1, lp1 =lm +1  
(   10)*
(   11)*      integer, parameter :: ixm = nsub, jym = ixm, nxy = ixm*jym
(   12)*      integer, parameter :: ildom = (im - 1)/ixm, jldom = (jm - 1)/jym
(   13)*      integer, parameter :: ilm = (im - 1)/ixm +1, jlm = (jm - 1)/jym +1 
(   14)*
(   15)*      logical,parameter::flat=.false.
(   16)*      logical,parameter::hstst=.false.
(   17)*
(   18)*!      integer,parameter::igm=360, jgm = 181
(   19)*      integer,parameter::igm=(im0-1)*4, jgm = (igm/2)+1      
(   20)*      real,parameter::alfa=0.0, beta=0.0, gamm=0.0
(   21)*!      real,parameter::alfa=0.*3.1415926/180.,beta=66.*3.1415926/180. &
(   22)*!	              ,gamm=175.*3.1415926/180.
(   23)*
(   24)*!GSM      integer,parameter::lsm=20
(   25)*      integer,parameter::lsm=31
(   26)*
(   27)*!RESTART
(   28)*
(   29)*      character(len=10):: restartdate='2020080412'    !restart date to create appropriate folder name
(  203)     ALLOCATE(ths(0:im+1,0:jm+1,nm))
(  204)     ths = 0.0
(  205)     ALLOCATE(u00(0:im+1,0:jm+1,nm))
(  206)     u00 = 0.0
(  207)     ALLOCATE(sfclhx(0:im+1,0:jm+1,nm))
(  208)     sfclhx = 0.0
(  209)     ALLOCATE(sfcshx(0:im+1,0:jm+1,nm))
(  210)     sfclhx = 0.0
(  211)     ALLOCATE(vegfrc(0:im+1,0:jm+1,nm))
(  212)     vegfrc = 0.0
(  213)     ALLOCATE(z0(0:im+1,0:jm+1,nm))
(  214)     z0 = 0.0
(  215)     ALLOCATE(albedo(0:im+1,0:jm+1,nm))
(  216)     albedo = 0.0
(  217) 
(  218) !!       real, allocatable, dimension(0:im+1,0:jm+1,nm)::RSWIN,RSWOUT,RSWTOA,ASWIN,ASWOUT,ASWTOA,rswnet   !
(  219) !!       real, allocatable, dimension(0:im+1,0:jm+1,nm)::RLWIN,RLWOUT,RLWTOA,ALWIN,ALWOUT,ALWTOA,rlwnet   ! DRAGAN   (RADIATION)
(  220)     ALLOCATE(RSWIN(0:im+1,0:jm+1,nm))
(  221)     RSWIN = 0.0






PGF90 (Version     12.8)          08/30/2020  00:27:44      page 7

(  222)     ALLOCATE(RSWOUT(0:im+1,0:jm+1,nm))
(  223)     RSWOUT = 0.0
(  224)     ALLOCATE(RSWTOA(0:im+1,0:jm+1,nm))
(  225)     RSWTOA = 0.0
(  226)     ALLOCATE(ASWIN(0:im+1,0:jm+1,nm))
(  227)     ASWIN = 0.0
(  228)     ALLOCATE(ASWOUT(0:im+1,0:jm+1,nm))
(  229)     ASWOUT = 0.0
(  230)     ALLOCATE(ASWTOA(0:im+1,0:jm+1,nm))
(  231)     ASWTOA = 0.0
(  232)     ALLOCATE(RSWnet(0:im+1,0:jm+1,nm))
(  233)     rswnet = 0.0
(  234)     ALLOCATE(RLWIN(0:im+1,0:jm+1,nm))
(  235)     RLWIN = 0.0
(  236)     ALLOCATE(RLWOUT(0:im+1,0:jm+1,nm))
(  237)     RLWOUT = 0.0
(  238)     ALLOCATE(RLWTOA(0:im+1,0:jm+1,nm))
(  239)     RLWTOA = 0.0
(  240)     ALLOCATE(ALWIN(0:im+1,0:jm+1,nm))
(  241)     ALWIN = 0.0
(  242)     ALLOCATE(ALWOUT(0:im+1,0:jm+1,nm))
(  243)     ALWOUT = 0.0
(  244)     ALLOCATE(ALWTOA(0:im+1,0:jm+1,nm))
(  245)     ALWTOA = 0.0
(  246)     ALLOCATE(RLWnet(0:im+1,0:jm+1,nm))
(  247)     rlwnet = 0.0
(  248) 
(  249) !!       real, allocatable, dimension(0:im+1,0:jm+1,nm,lm)::RSWTT,RLWTT                                   !
(  250) !!       real, allocatable, dimension(0:im+1,0:jm+1,nm,lm)::
(  251)     ALLOCATE(RSWTT(0:im+1,0:jm+1,nm,lm))
(  252)     RSWTT = 0.0
(  253)     ALLOCATE(RLWTT(0:im+1,0:jm+1,nm,lm))
(  254)     RLWTT = 0.0
(  255) 
(  256) !!       real, allocatable, dimension(0:im+1,0:jm+1,nm)::CUPPT,cfracl,cfracm,cfrach            !clouds
(  257)     ALLOCATE(CUPPT(0:im+1,0:jm+1,nm))
(  258)     CUPPT = 0.0
(  259)     ALLOCATE(cfracl(0:im+1,0:jm+1,nm))
(  260)     cfracl = 0.0
(  261)     ALLOCATE(cfracm(0:im+1,0:jm+1,nm))
(  262)     cfracm = 0.0
(  263)     ALLOCATE(cfrach(0:im+1,0:jm+1,nm))
(  264)     cfrach = 0.0
(  265) 
(  266) !!       real, allocatable, dimension(0:im+1,0:jm+1,nm)::acprec,cuprec,aprec,acsnow,prec       !precipitation
(  267)     ALLOCATE(acprec(0:im+1,0:jm+1,nm))
(  268)     acprec = 0.0
(  269)     ALLOCATE(cuprec(0:im+1,0:jm+1,nm))
(  270)     cuprec = 0.0
(  271)     ALLOCATE(aprec(0:im+1,0:jm+1,nm))
(  272)     aprec = 0.0
(  273)     ALLOCATE(acsnow(0:im+1,0:jm+1,nm))
(  274)     acsnow = 0.0
(  275)     ALLOCATE(prec(0:im+1,0:jm+1,nm))
(  276)     prec  = 0.0
(  277) 
(  278) !!       real, allocatable, dimension(0:im+1,0:jm+1,nm)::SMSTAV,BGROFF,SSROFF                  !soil
(  279) !!       real, allocatable, dimension(0:im+1,0:jm+1,nm,nsoil)::smc,stc






PGF90 (Version     12.8)          08/30/2020  00:27:44      page 8

(  280)     ALLOCATE(SMSTAV(0:im+1,0:jm+1,nm))
(  281)     SMSTAV = 0.0
(  282)     ALLOCATE(BGROFF(0:im+1,0:jm+1,nm))
(  283)     BGROFF = 0.0
(  284)     ALLOCATE(SSROFF(0:im+1,0:jm+1,nm))
(  285)     SSROFF = 0.0
(  286) 
(  287)     ALLOCATE(smc(0:im+1,0:jm+1,nm,nsoil))
(  288)     smc = 0.0
(  289)     ALLOCATE(stc(0:im+1,0:jm+1,nm,nsoil))
(  290)     stc = 0.0
(  291) 
(  292) !!       real, allocatable, dimension(2*lm)::ul
(  293)     ALLOCATE(ul(2*lm))
(  294)     ul = 0.0
(  295) 
(  296) !!       real, allocatable, dimension(0:im+1,0:jm+1,nm)::albase,cnvtop,cnvbot,htop,hbot        !newly added
(  297) !!       integer, allocatable, dimension(0:im+1,0:jm+1,nm)::IVGTYP,ISLTYP
(  298)     ALLOCATE(albase(0:im+1,0:jm+1,nm))
(  299)     albase = 0.0
(  300)     ALLOCATE(cnvtop(0:im+1,0:jm+1,nm))
(  301)     cnvtop = 0.0
(  302)     ALLOCATE(cnvbot(0:im+1,0:jm+1,nm))
(  303)     cnvbot = 0.0
(  304)     ALLOCATE(htop(0:im+1,0:jm+1,nm))
(  305)     htop = 0.0
(  306)     ALLOCATE(hbot(0:im+1,0:jm+1,nm))
(  307)     hbot = 0.0
(  308) 
(  309)    ALLOCATE(f_ice(0:im+1,0:jm+1,nm))
(  310)     f_ice = 0.0
(  311)    ALLOCATE(f_rain(0:im+1,0:jm+1,nm))
(  312)     f_rain = 0.0
(  313)    ALLOCATE(f_RimeF(0:im+1,0:jm+1,nm))
(  314)     f_RimeF = 0.0
(  315) 
(  316)     ALLOCATE(IVGTYP(0:im+1,0:jm+1,nm))
(  317)     IVGTYP = 0
(  318)     ALLOCATE(ISLTYP(0:im+1,0:jm+1,nm))
(  319)     ISLTYP = 0
(  320)        
(  321) !!       real, allocatable, dimension(0:im+1,0:jm+1,nm)::acfrcv,acfrst,acsnom,cmc,   &
(  322) !!       czen,czmean,epsr,glat,glon,grnflx,mxsnal,potevp,potflx
(  323)     ALLOCATE(acfrcv(0:im+1,0:jm+1,nm))
(  324)     acfrcv = 0.0
(  325)     ALLOCATE(acfrst(0:im+1,0:jm+1,nm))
(  326)     acfrst = 0.0
(  327)     ALLOCATE(acsnom(0:im+1,0:jm+1,nm))
(  328)     acsnom = 0.0
(  329)     ALLOCATE(cmc(0:im+1,0:jm+1,nm))
(  330)     cmc = 0.0
(  331)     ALLOCATE(czen(0:im+1,0:jm+1,nm))
(  332)     czen = 0.0
(  333)     ALLOCATE(czmean(0:im+1,0:jm+1,nm))
(  334)     czmean = 0.0
(  335)     ALLOCATE(epsr(0:im+1,0:jm+1,nm))
(  336)     epsr = 0.0
(  337)     ALLOCATE(glat(0:im+1,0:jm+1,nm))






PGF90 (Version     12.8)          08/30/2020  00:27:44      page 9

(  338)     glat = 0.0
(  339)     ALLOCATE(glon(0:im+1,0:jm+1,nm))
(  340)     glon = 0.0
(  341)     ALLOCATE(grnflx(0:im+1,0:jm+1,nm))
(  342)     grnflx = 0.0
(  343)     ALLOCATE(mxsnal(0:im+1,0:jm+1,nm))
(  344)     mxsnal = 0.0
(  345)     ALLOCATE(potevp(0:im+1,0:jm+1,nm))
(  346)     potevp = 0.0
(  347)     ALLOCATE(potflx(0:im+1,0:jm+1,nm))
(  348)     potflx = 0.0
(  349)        
(  350) !!       real, allocatable, dimension(0:im+1,0:jm+1,nm,lm)::omgalf,q2,tcucn,train,div,rtop
(  351)     ALLOCATE(omgalf(0:im+1,0:jm+1,nm,lm))
(  352)     omgalf = 0.0
(  353)     ALLOCATE(q2(0:im+1,0:jm+1,nm,lm))
(  354)     q2 = 0.0
(  355)     ALLOCATE(tcucn(0:im+1,0:jm+1,nm,lm))
(  356)     tcucn = 0.0
(  357)     ALLOCATE(train(0:im+1,0:jm+1,nm,lm))
(  358)     train = 0.0
(  359)     ALLOCATE(div(0:im+1,0:jm+1,nm,lm))
(  360)     div = 0.0
(  361)     ALLOCATE(rtop(0:im+1,0:jm+1,nm,lm))
(  362)     rtop = 0.0
(  363)        
(  364) !!       real, allocatable, dimension(0:im+1,0:jm+1,nm)::qwbs,twbs,sm,q10,th10,qz0,thz0,radot,sigt4,  &
(  365) !!       sfcevp,subshx,snopcx,si,sno,sice,smstot,soiltb,tg,sr,akhs,akms,plm
(  366)     ALLOCATE(qwbs(0:im+1,0:jm+1,nm))
(  367)     ALLOCATE(twbs(0:im+1,0:jm+1,nm))
(  368)     ALLOCATE(sm(0:im+1,0:jm+1,nm))
(  369)     ALLOCATE(q10(0:im+1,0:jm+1,nm))
(  370)     ALLOCATE(th10(0:im+1,0:jm+1,nm))
(  371)     ALLOCATE(qz0(0:im+1,0:jm+1,nm))
(  372)     ALLOCATE(thz0(0:im+1,0:jm+1,nm))
(  373)     ALLOCATE(radot(0:im+1,0:jm+1,nm))
(  374)     ALLOCATE(sigt4(0:im+1,0:jm+1,nm))
(  375)     ALLOCATE(sfcevp(0:im+1,0:jm+1,nm))
(  376)     ALLOCATE(subshx(0:im+1,0:jm+1,nm))
(  377)     ALLOCATE(snopcx(0:im+1,0:jm+1,nm))
(  378)     ALLOCATE(si(0:im+1,0:jm+1,nm))
(  379)     ALLOCATE(sno(0:im+1,0:jm+1,nm))
(  380)     ALLOCATE(sice(0:im+1,0:jm+1,nm))
(  381)     ALLOCATE(smstot(0:im+1,0:jm+1,nm))
(  382)     ALLOCATE(soiltb(0:im+1,0:jm+1,nm))
(  383)     ALLOCATE(tg(0:im+1,0:jm+1,nm))
(  384)     ALLOCATE(sr(0:im+1,0:jm+1,nm))
(  385)     ALLOCATE(akhs(0:im+1,0:jm+1,nm))
(  386)     ALLOCATE(akms(0:im+1,0:jm+1,nm))
(  387)     ALLOCATE(plm(0:im+1,0:jm+1,nm))
(  388)     qwbs = 0.0
(  389)     twbs = 0.0
(  390)     sm = 0.0
(  391)     q10 = 0.0
(  392)     th10 = 0.0
(  393)     qz0 = 0.0
(  394)     thz0 = 0.0
(  395)     radot = 0.0






PGF90 (Version     12.8)          08/30/2020  00:27:44      page 10

(  396)     sigt4 = 0.0
(  397)     sfcevp = 0.0
(  398)     subshx = 0.0
(  399)     snopcx = 0.0
(  400)     si = 0.0
(  401)     sno = 0.0
(  402)     sice = 0.0
(  403)     smstot = 0.0
(  404)     soiltb = 0.0
(  405)     tg = 0.0
(  406)     sr = 0.0
(  407)     akhs = 0.0
(  408)     akms = 0.0
(  409)     plm = 0.0
(  410) 
(  411) !!       real, allocatable, dimension(0:im+1,0:jm+1,nm)::u10,v10,uz0,vz0,ustar
(  412)     ALLOCATE(u10(0:im+1,0:jm+1,nm))
(  413)     ALLOCATE(v10(0:im+1,0:jm+1,nm))
(  414)     ALLOCATE(uz0(0:im+1,0:jm+1,nm))
(  415)     ALLOCATE(vz0(0:im+1,0:jm+1,nm))
(  416)     ALLOCATE(ustar(0:im+1,0:jm+1,nm))
(  417)     u10 = 0.0
(  418)     v10 = 0.0
(  419)     uz0 = 0.0
(  420)     vz0 = 0.0
(  421)     ustar = 0.0
(  422) 
(  423)   end subroutine alloc_pvrbls
(  424) 
(  425)   subroutine dealloc_pvrbls
(  426) 
(  427)     DEALLOCATE(ths,u00,sfclhx,vegfrc,z0,albedo)
(  428)     DEALLOCATE(RSWIN,RSWOUT,RSWTOA,ASWIN,ASWOUT,ASWTOA,RSWnet,RLWIN,RLWOUT,RLWTOA,ALWIN,ALWOUT,ALWTOA,RLWnet)
(  429)     DEALLOCATE(RSWTT,RLWTT,CUPPT,cfracl,cfracm,cfrach,acprec,cuprec,aprec,acsnow,prec)
(  430)     DEALLOCATE(SMSTAV,BGROFF,SSROFF,smc,stc,ul,albase,cnvtop,cnvbot,htop,hbot,IVGTYP,ISLTYP, f_ice, f_rain, f_RimeF)
(  431)     DEALLOCATE(acfrcv,acfrst,acsnom,cmc,czen,czmean,epsr,glat,glon,grnflx,mxsnal,potevp,potflx)
(  432)     DEALLOCATE(omgalf,q2,tcucn,train,div,rtop)
(  433)     DEALLOCATE(qwbs,twbs,sm,q10,th10,qz0,thz0,radot,sigt4,sfcevp,subshx,snopcx,si,sno,sice,smstot,soiltb,tg,sr,akhs,akms,plm)
(  434)     DEALLOCATE(u10,v10,uz0,vz0,ustar)
(  435) 
(  436)   end subroutine dealloc_pvrbls
(  437) 
(  438) end module mod_pvrbls
(  439) !
(  440) !
(  441) !
(  442) !
(  443) module mod_vrbls
(  444) !! From vrbls.comm
(  445)    IMPLICIT NONE
(  446)       PUBLIC
(  447)        real, allocatable, dimension(:,:,:)::pd,res,fis
(  448)        real, allocatable, dimension(:,:,:,:)::u,v,q,t,cwm
(  449)        
(  450)        real, allocatable, dimension(:,:,:,:)::w,dwdt,z   !non-hydrostatic 2016
(  451)        
(  452)        real, allocatable, dimension(:,:,:)::tshltr,qshltr    !DRAGAN
(  453) 






PGF90 (Version     12.8)          08/30/2020  00:27:44      page 11

(  454) !!       common/vrbls/ pd,u,v,q,t,cwm,fis,res,tshltr,qshltr,w,dwdt,z
(  455)   contains
(  456)   subroutine alloc_vrbls
(  457)     include 'param_o.h'
(  458) 
(  459) !!       real, allocatable, dimension(0:im+1,0:jm+1,nm)::pd,res,fis
../include/param_o.h
(    1)*      integer,parameter  :: im0=401
(    2)*      integer, parameter :: nm=6
(    3)*      integer, parameter :: lm = 50
(    4)*      integer, parameter :: nsub = 10
(    5)*
(    6)*      integer, parameter :: im=im0, jm=im
(    7)*      integer, parameter :: im1=im-1, jm1=jm-1
(    8)*
(    9)*      integer, parameter :: lm1 = lm-1, lp1 =lm +1  
(   10)*
(   11)*      integer, parameter :: ixm = nsub, jym = ixm, nxy = ixm*jym
(   12)*      integer, parameter :: ildom = (im - 1)/ixm, jldom = (jm - 1)/jym
(   13)*      integer, parameter :: ilm = (im - 1)/ixm +1, jlm = (jm - 1)/jym +1 
(   14)*
(   15)*      logical,parameter::flat=.false.
(   16)*      logical,parameter::hstst=.false.
(   17)*
(   18)*!      integer,parameter::igm=360, jgm = 181
(   19)*      integer,parameter::igm=(im0-1)*4, jgm = (igm/2)+1      
(   20)*      real,parameter::alfa=0.0, beta=0.0, gamm=0.0
(   21)*!      real,parameter::alfa=0.*3.1415926/180.,beta=66.*3.1415926/180. &
(   22)*!	              ,gamm=175.*3.1415926/180.
(   23)*
(   24)*!GSM      integer,parameter::lsm=20
(   25)*      integer,parameter::lsm=31
(   26)*
(   27)*!RESTART
(   28)*
(   29)*      character(len=10):: restartdate='2020080412'    !restart date to create appropriate folder name
(  460)     ALLOCATE(pd(0:im+1,0:jm+1,nm))
(  461)     ALLOCATE(res(0:im+1,0:jm+1,nm))
(  462)     ALLOCATE(fis(0:im+1,0:jm+1,nm))
(  463)     pd = 0.0
(  464)     res = 0.0
(  465)     fis = 0.0
(  466) 
(  467) !!       real, allocatable, dimension(0:im+1,0:jm+1,nm,lm)::u,v,q,t,cwm
(  468)     ALLOCATE(u(0:im+1,0:jm+1,nm,lm))
(  469)     ALLOCATE(v(0:im+1,0:jm+1,nm,lm))
(  470)     ALLOCATE(q(0:im+1,0:jm+1,nm,lm))
(  471)     ALLOCATE(t(0:im+1,0:jm+1,nm,lm))
(  472)     ALLOCATE(cwm(0:im+1,0:jm+1,nm,lm))
(  473)     u = 0.0
(  474)     v = 0.0
(  475)     q = 0.0
(  476)     t = 0.0
(  477)     cwm = 0.0
(  478)        
(  479) !!       real, allocatable, dimension(0:im+1,0:jm+1,nm,lm)::w,dwdt,z   !non-hydrostatic 2016
(  480)     ALLOCATE(w(0:im+1,0:jm+1,nm,lm))
(  481)     ALLOCATE(dwdt(0:im+1,0:jm+1,nm,lm))






PGF90 (Version     12.8)          08/30/2020  00:27:44      page 12

(  482)     ALLOCATE(z(0:im+1,0:jm+1,nm,lm))
(  483)     w = 0.0
(  484)     dwdt = 0.0
(  485)     z = 0.0
(  486)        
(  487) !!       real, allocatable, dimension(0:im+1,0:jm+1,nm)::tshltr,qshltr    !DRAGAN
(  488)     ALLOCATE(tshltr(0:im+1,0:jm+1,nm))
(  489)     ALLOCATE(qshltr(0:im+1,0:jm+1,nm))
(  490)     tshltr = 0.0
(  491)     qshltr = 0.0
(  492) 
(  493)   end subroutine alloc_vrbls
(  494) 
(  495)   subroutine dealloc_vrbls
(  496) 
(  497)     DEALLOCATE(pd,res,fis,u,v,q,t,cwm,w,dwdt,z,tshltr,qshltr)
(  498) 
(  499)   end subroutine dealloc_vrbls
(  500) 
(  501) end module mod_vrbls
(  502) 
(  503) module mod_pvrbls_ll
(  504) !! From qu2ll2.f90
(  505)    IMPLICIT NONE
(  506)       PUBLIC
(  507) !!pvrbls_ll       real,dimension(igm,jgm)::psurf_ll,tsfc_ll,pslp_ll,sfcshx_ll,sfclhx_ll,vegfrc_ll,z0_ll,albedo_ll
(  508)       real, allocatable, dimension(:,:)::psurf_ll,tsfc_ll,pslp_ll,sfcshx_ll,sfclhx_ll,vegfrc_ll,z0_ll,albedo_ll
(  509) 
(  510) !!pvrbls_ll      real,dimension(igm,jgm)::RSWIN_ll,RSWOUT_ll,RSWTOA_ll,ASWIN_ll,ASWOUT_ll,ASWTOA_ll,rswnet_ll
(  511) !!pvrbls_ll      real,dimension(igm,jgm)::RLWIN_ll,RLWOUT_ll,RLWTOA_ll,ALWIN_ll,ALWOUT_ll,ALWTOA_ll,rlwnet_ll
(  512)       real, allocatable, dimension(:,:)::RSWIN_ll,RSWOUT_ll,RSWTOA_ll,ASWIN_ll,ASWOUT_ll,ASWTOA_ll,rswnet_ll
(  513)       real, allocatable, dimension(:,:)::RLWIN_ll,RLWOUT_ll,RLWTOA_ll,ALWIN_ll,ALWOUT_ll,ALWTOA_ll,rlwnet_ll
(  514) 
(  515) !!pvrbls_ll      real,dimension(igm,jgm,lsm)::RSWTT_ll,RLWTT_ll
(  516)       real, allocatable, dimension(:,:,:)::RSWTT_ll,RLWTT_ll
(  517) 
(  518) !!pvrbls_ll      real,dimension(igm,jgm)::CUPPT_ll,cfracl_ll,cfracm_ll,cfrach_ll
(  519)       real, allocatable, dimension(:,:)::CUPPT_ll,cfracl_ll,cfracm_ll,cfrach_ll
(  520) 
(  521) !!pvrbls_ll      real,dimension(igm,jgm)::acprec_ll,cuprec_ll,aprec_ll,acsnow_ll,prec_ll
(  522)       real, allocatable, dimension(:,:)::acprec_ll,cuprec_ll,aprec_ll,acsnow_ll,prec_ll
(  523) 
(  524)       integer,parameter :: nsoil=4
(  525) !!pvrbls_ll      real,dimension(igm,jgm,nsoil)::stc_ll,smc_ll
(  526)       real, allocatable, dimension(:,:,:)::stc_ll,smc_ll
(  527) 
(  528) !!pvrbls_ll      real,dimension(igm,jgm)::tshltr_ll,qshltr_ll,albase_ll,cnvtop_ll,cnvbot_ll,htop_ll,hbot_ll
(  529)       real, allocatable, dimension(:,:)::tshltr_ll,qshltr_ll,albase_ll,cnvtop_ll,cnvbot_ll,htop_ll,hbot_ll
(  530) 
(  531) !!pvrbls_ll      integer,dimension(igm,jgm)::IVGTYP_ll,ISLTYP_ll
(  532)       integer, allocatable, dimension(:,:)::IVGTYP_ll,ISLTYP_ll
(  533) 
(  534) !!pvrbls_ll      real,dimension(igm,jgm)::acfrcv_ll,acfrst_ll,acsnom_ll,cmc_ll,   &
(  535)       real, allocatable, dimension(:,:)::acfrcv_ll,acfrst_ll,acsnom_ll,cmc_ll,   &
(  536)       czen_ll,czmean_ll,epsr_ll,glat_ll,glon_ll,grnflx_ll,mxsnal_ll,potevp_ll,potflx_ll
(  537) 
(  538) !!pvrbls_ll      real,dimension(igm,jgm,lsm)::omgalf_ll,q2_ll,tcucn_ll,train_ll,div_ll,rtop_ll,htm_ll,vtm_ll, w_ll, dwdt_ll, z_ll
(  539)       real, allocatable, dimension(:,:,:)::omgalf_ll,q2_ll,tcucn_ll,train_ll,div_ll,rtop_ll,htm_ll,vtm_ll, w_ll, dwdt_ll, z_ll






PGF90 (Version     12.8)          08/30/2020  00:27:44      page 13

(  540) 
(  541) !!pvrbls_ll      real,dimension(igm,jgm)::qwbs_ll,twbs_ll,sm_ll,fis_ll,q10_ll,th10_ll,qz0_ll,thz0_ll,  &
(  542)       real, allocatable, dimension(:,:)::qwbs_ll,twbs_ll,sm_ll,fis_ll,q10_ll,th10_ll,qz0_ll,thz0_ll,  &
(  543)       radot_ll,sigt4_ll,sfcevp_ll,subshx_ll,snopcx_ll,si_ll,sno_ll,sice_ll,smstot_ll,soiltb_ll,  &
(  544)       tg_ll,sr_ll,akhs_ll,akms_ll,ths_ll,plm_ll
(  545) 
(  546) !!pvrbls_ll      real,dimension(0:im+1,0:jm+1,nm):: u10ll,v10ll,uz0ll,vz0ll
(  547) !!pvrbls_ll      real,dimension(igm,jgm)::u10_ll,v10_ll,uz0_ll,vz0_ll,ustar_ll
(  548)       real, allocatable, dimension(:,:,:):: u10ll,v10ll,uz0ll,vz0ll
(  549)       real, allocatable, dimension(:,:)::u10_ll,v10_ll,uz0_ll,vz0_ll,ustar_ll
(  550) 
(  551)   contains
(  552) 
(  553)   subroutine alloc_pvrbls_ll
(  554) 
(  555)     include 'param_o.h'
(  556) 
(  557) !!pvrbls_ll       real,dimension(igm,jgm)::psurf_ll,tsfc_ll,pslp_ll,sfcshx_ll,sfclhx_ll,vegfrc_ll,z0_ll,albedo_ll
../include/param_o.h
(    1)*      integer,parameter  :: im0=401
(    2)*      integer, parameter :: nm=6
(    3)*      integer, parameter :: lm = 50
(    4)*      integer, parameter :: nsub = 10
(    5)*
(    6)*      integer, parameter :: im=im0, jm=im
(    7)*      integer, parameter :: im1=im-1, jm1=jm-1
(    8)*
(    9)*      integer, parameter :: lm1 = lm-1, lp1 =lm +1  
(   10)*
(   11)*      integer, parameter :: ixm = nsub, jym = ixm, nxy = ixm*jym
(   12)*      integer, parameter :: ildom = (im - 1)/ixm, jldom = (jm - 1)/jym
(   13)*      integer, parameter :: ilm = (im - 1)/ixm +1, jlm = (jm - 1)/jym +1 
(   14)*
(   15)*      logical,parameter::flat=.false.
(   16)*      logical,parameter::hstst=.false.
(   17)*
(   18)*!      integer,parameter::igm=360, jgm = 181
(   19)*      integer,parameter::igm=(im0-1)*4, jgm = (igm/2)+1      
(   20)*      real,parameter::alfa=0.0, beta=0.0, gamm=0.0
(   21)*!      real,parameter::alfa=0.*3.1415926/180.,beta=66.*3.1415926/180. &
(   22)*!	              ,gamm=175.*3.1415926/180.
(   23)*
(   24)*!GSM      integer,parameter::lsm=20
(   25)*      integer,parameter::lsm=31
(   26)*
(   27)*!RESTART
(   28)*
(   29)*      character(len=10):: restartdate='2020080412'    !restart date to create appropriate folder name
(  558)     ALLOCATE(psurf_ll(igm,jgm))
(  559)     ALLOCATE(tsfc_ll(igm,jgm))
(  560)     ALLOCATE(pslp_ll(igm,jgm))
(  561)     ALLOCATE(sfcshx_ll(igm,jgm))
(  562)     ALLOCATE(sfclhx_ll(igm,jgm))
(  563)     ALLOCATE(vegfrc_ll(igm,jgm))
(  564)     ALLOCATE(z0_ll(igm,jgm))
(  565)     ALLOCATE(albedo_ll(igm,jgm))
(  566)     psurf_ll = 0.0
(  567)     tsfc_ll = 0.0






PGF90 (Version     12.8)          08/30/2020  00:27:44      page 14

(  568)     pslp_ll = 0.0
(  569)     sfcshx_ll = 0.0
(  570)     sfclhx_ll = 0.0
(  571)     vegfrc_ll = 0.0
(  572)     z0_ll = 0.0
(  573)     albedo_ll = 0.0
(  574) 
(  575) !!pvrbls_ll      real,dimension(igm,jgm)::RSWIN_ll,RSWOUT_ll,RSWTOA_ll,ASWIN_ll,ASWOUT_ll,ASWTOA_ll,rswnet_ll
(  576)     ALLOCATE(RSWIN_ll(igm,jgm))
(  577)     ALLOCATE(RSWOUT_ll(igm,jgm))
(  578)     ALLOCATE(RSWTOA_ll(igm,jgm))
(  579)     ALLOCATE(ASWIN_ll(igm,jgm))
(  580)     ALLOCATE(ASWOUT_ll(igm,jgm))
(  581)     ALLOCATE(ASWTOA_ll(igm,jgm))
(  582)     ALLOCATE(RSWnet_ll(igm,jgm))
(  583)     RSWIN_ll = 0.0
(  584)     RSWOUT_ll = 0.0
(  585)     RSWTOA_ll = 0.0
(  586)     ASWIN_ll = 0.0
(  587)     ASWOUT_ll = 0.0
(  588)     ASWTOA_ll = 0.0
(  589)     rswnet_ll = 0.0
(  590) 
(  591) !!pvrbls_ll      real,dimension(igm,jgm)::RLWIN_ll,RLWOUT_ll,RLWTOA_ll,ALWIN_ll,ALWOUT_ll,ALWTOA_ll,rlwnet_ll
(  592)     ALLOCATE(RLWIN_ll(igm,jgm))
(  593)     ALLOCATE(RLWOUT_ll(igm,jgm))
(  594)     ALLOCATE(RLWTOA_ll(igm,jgm))
(  595)     ALLOCATE(ALWIN_ll(igm,jgm))
(  596)     ALLOCATE(ALWOUT_ll(igm,jgm))
(  597)     ALLOCATE(ALWTOA_ll(igm,jgm))
(  598)     ALLOCATE(RLWnet_ll(igm,jgm))
(  599)     RLWIN_ll = 0.0
(  600)     RLWOUT_ll = 0.0
(  601)     RLWTOA_ll = 0.0
(  602)     ALWIN_ll = 0.0
(  603)     ALWOUT_ll = 0.0
(  604)     ALWTOA_ll = 0.0
(  605)     rlwnet_ll = 0.0
(  606) 
(  607) !!pvrbls_ll      real,dimension(igm,jgm,lsm)::RSWTT_ll,RLWTT_ll
(  608)     ALLOCATE(RSWTT_ll(igm,jgm,lsm))
(  609)     ALLOCATE(RLWTT_ll(igm,jgm,lsm))
(  610)     RSWTT_ll = 0.0
(  611)     RLWTT_ll = 0.0
(  612)     
(  613) !!pvrbls_ll      real,dimension(igm,jgm)::CUPPT_ll,cfracl_ll,cfracm_ll,cfrach_ll
(  614)     ALLOCATE(CUPPT_ll(igm,jgm))
(  615)     ALLOCATE(cfracl_ll(igm,jgm))
(  616)     ALLOCATE(cfracm_ll(igm,jgm))
(  617)     ALLOCATE(cfrach_ll(igm,jgm))
(  618)     CUPPT_ll = 0.0
(  619)     cfracl_ll = 0.0
(  620)     cfracm_ll = 0.0
(  621)     cfrach_ll = 0.0
(  622) 
(  623) !!pvrbls_ll      real,dimension(igm,jgm)::acprec_ll,cuprec_ll,aprec_ll,acsnow_ll,prec_ll
(  624)     ALLOCATE(acprec_ll(igm,jgm))
(  625)     ALLOCATE(cuprec_ll(igm,jgm))






PGF90 (Version     12.8)          08/30/2020  00:27:44      page 15

(  626)     ALLOCATE(aprec_ll(igm,jgm))
(  627)     ALLOCATE(acsnow_ll(igm,jgm))
(  628)     ALLOCATE(prec_ll(igm,jgm))
(  629)     acprec_ll = 0.0
(  630)     cuprec_ll = 0.0
(  631)     aprec_ll = 0.0
(  632)     acsnow_ll = 0.0
(  633)     prec_ll = 0.0
(  634) 
(  635) !!pvrbls_ll      real,dimension(igm,jgm,nsoil)::stc_ll,smc_ll
(  636)     ALLOCATE(stc_ll(igm,jgm,nsoil))
(  637)     ALLOCATE(smc_ll(igm,jgm,nsoil))
(  638)     stc_ll = 0.0
(  639)     smc_ll = 0.0
(  640) 
(  641) !!pvrbls_ll      real,dimension(igm,jgm)::tshltr_ll,qshltr_ll,albase_ll,cnvtop_ll,cnvbot_ll,htop_ll,hbot_ll
(  642)     ALLOCATE(tshltr_ll(igm,jgm))
(  643)     ALLOCATE(qshltr_ll(igm,jgm))
(  644)     ALLOCATE(albase_ll(igm,jgm))
(  645)     ALLOCATE(cnvtop_ll(igm,jgm))
(  646)     ALLOCATE(cnvbot_ll(igm,jgm))
(  647)     ALLOCATE(htop_ll(igm,jgm))
(  648)     ALLOCATE(hbot_ll(igm,jgm))
(  649)     tshltr_ll = 0.0
(  650)     qshltr_ll = 0.0
(  651)     albase_ll = 0.0
(  652)     cnvtop_ll = 0.0
(  653)     cnvbot_ll = 0.0
(  654)     htop_ll = 0.0
(  655)     hbot_ll = 0.0
(  656) 
(  657) !!pvrbls_ll      integer,dimension(igm,jgm)::IVGTYP_ll,ISLTYP_ll
(  658)     ALLOCATE(IVGTYP_ll(igm,jgm))
(  659)     ALLOCATE(ISLTYP_ll(igm,jgm))
(  660)     IVGTYP_ll = 0
(  661)     ISLTYP_ll = 0
(  662) 
(  663) !!pvrbls_ll      real,dimension(igm,jgm)::acfrcv_ll,acfrst_ll,acsnom_ll,cmc_ll,   &
(  664) !!      czen_ll,czmean_ll,epsr_ll,glat_ll,glon_ll,grnflx_ll,mxsnal_ll,potevp_ll,potflx_ll
(  665)     ALLOCATE(acfrcv_ll(igm,jgm))
(  666)     ALLOCATE(acfrst_ll(igm,jgm))
(  667)     ALLOCATE(acsnom_ll(igm,jgm))
(  668)     ALLOCATE(cmc_ll(igm,jgm))
(  669)     ALLOCATE(czen_ll(igm,jgm))
(  670)     ALLOCATE(czmean_ll(igm,jgm))
(  671)     ALLOCATE(epsr_ll(igm,jgm))
(  672)     ALLOCATE(glat_ll(igm,jgm))
(  673)     ALLOCATE(glon_ll(igm,jgm))
(  674)     ALLOCATE(grnflx_ll(igm,jgm))
(  675)     ALLOCATE(mxsnal_ll(igm,jgm))
(  676)     ALLOCATE(potevp_ll(igm,jgm))
(  677)     ALLOCATE(potflx_ll(igm,jgm))
(  678)     acfrcv_ll = 0.0
(  679)     acfrst_ll = 0.0
(  680)     acsnom_ll = 0.0
(  681)     cmc_ll = 0.0
(  682)     czen_ll = 0.0
(  683)     czmean_ll = 0.0






PGF90 (Version     12.8)          08/30/2020  00:27:44      page 16

(  684)     epsr_ll = 0.0
(  685)     glat_ll = 0.0
(  686)     glon_ll = 0.0
(  687)     grnflx_ll = 0.0
(  688)     mxsnal_ll = 0.0
(  689)     potevp_ll = 0.0
(  690)     potflx_ll = 0.0
(  691) 
(  692) !!pvrbls_ll      real,dimension(igm,jgm,lsm)::omgalf_ll,q2_ll,tcucn_ll,train_ll,div_ll,rtop_ll,htm_ll,vtm_ll, w_ll, dwdt_ll, z_ll
(  693)     ALLOCATE(omgalf_ll(igm,jgm,lsm))
(  694)     ALLOCATE(q2_ll(igm,jgm,lsm))
(  695)     ALLOCATE(tcucn_ll(igm,jgm,lsm))
(  696)     ALLOCATE(train_ll(igm,jgm,lsm))
(  697)     ALLOCATE(div_ll(igm,jgm,lsm))
(  698)     ALLOCATE(rtop_ll(igm,jgm,lsm))
(  699)     ALLOCATE(htm_ll(igm,jgm,lsm))
(  700)     ALLOCATE(vtm_ll(igm,jgm,lsm))
(  701)     ALLOCATE(w_ll(igm,jgm,lsm))
(  702)     ALLOCATE(dwdt_ll(igm,jgm,lsm))
(  703)     ALLOCATE(z_ll(igm,jgm,lsm))
(  704)     omgalf_ll = 0.0
(  705)     q2_ll = 0.0
(  706)     tcucn_ll = 0.0
(  707)     train_ll = 0.0
(  708)     div_ll = 0.0
(  709)     rtop_ll = 0.0
(  710)     htm_ll = 0.0
(  711)     vtm_ll = 0.0
(  712)     w_ll = 0.0
(  713)     dwdt_ll = 0.0
(  714)     z_ll = 0.0
(  715) 
(  716) !!pvrbls_ll      real,dimension(igm,jgm)::qwbs_ll,twbs_ll,sm_ll,fis_ll,q10_ll,th10_ll,qz0_ll,thz0_ll,  &
(  717) !!      radot_ll,sigt4_ll,sfcevp_ll,subshx_ll,snopcx_ll,si_ll,sno_ll,sice_ll,smstot_ll,soiltb_ll,  &
(  718) !!      tg_ll,sr_ll,akhs_ll,akms_ll,ths_ll,plm_ll
(  719)     ALLOCATE(qwbs_ll(igm,jgm))
(  720)     ALLOCATE(twbs_ll(igm,jgm))
(  721)     ALLOCATE(sm_ll(igm,jgm))
(  722)     ALLOCATE(fis_ll(igm,jgm))
(  723)     ALLOCATE(q10_ll(igm,jgm))
(  724)     ALLOCATE(th10_ll(igm,jgm))
(  725)     ALLOCATE(qz0_ll(igm,jgm))
(  726)     ALLOCATE(thz0_ll(igm,jgm))
(  727)     ALLOCATE(radot_ll(igm,jgm))
(  728)     ALLOCATE(sigt4_ll(igm,jgm))
(  729)     ALLOCATE(sfcevp_ll(igm,jgm))
(  730)     ALLOCATE(subshx_ll(igm,jgm))
(  731)     ALLOCATE(snopcx_ll(igm,jgm))
(  732)     ALLOCATE(si_ll(igm,jgm))
(  733)     ALLOCATE(sno_ll(igm,jgm))
(  734)     ALLOCATE(sice_ll(igm,jgm))
(  735)     ALLOCATE(smstot_ll(igm,jgm))
(  736)     ALLOCATE(soiltb_ll(igm,jgm))
(  737)     ALLOCATE(tg_ll(igm,jgm))
(  738)     ALLOCATE(sr_ll(igm,jgm))
(  739)     ALLOCATE(akhs_ll(igm,jgm))
(  740)     ALLOCATE(akms_ll(igm,jgm))
(  741)     ALLOCATE(ths_ll(igm,jgm))






PGF90 (Version     12.8)          08/30/2020  00:27:44      page 17

(  742)     ALLOCATE(plm_ll(igm,jgm))
(  743)     qwbs_ll = 0.0
(  744)     twbs_ll = 0.0
(  745)     sm_ll = 0.0
(  746)     fis_ll = 0.0
(  747)     q10_ll = 0.0
(  748)     th10_ll = 0.0
(  749)     qz0_ll = 0.0
(  750)     thz0_ll = 0.0
(  751)      
(  752)     radot_ll = 0.0
(  753)     sigt4_ll = 0.0
(  754)     sfcevp_ll = 0.0
(  755)     subshx_ll = 0.0
(  756)     snopcx_ll = 0.0
(  757)     si_ll = 0.0
(  758)     sno_ll = 0.0
(  759)     sice_ll = 0.0
(  760)     smstot_ll = 0.0
(  761)     soiltb_ll = 0.0
(  762)      
(  763)     tg_ll = 0.0
(  764)     sr_ll = 0.0
(  765)     akhs_ll = 0.0
(  766)     akms_ll = 0.0
(  767)     ths_ll = 0.0
(  768)     plm_ll = 0.0
(  769) 
(  770) !!pvrbls_ll      real,dimension(0:im+1,0:jm+1,nm):: u10ll,v10ll,uz0ll,vz0ll
(  771) !!pvrbls_ll      real,dimension(igm,jgm)::u10_ll,v10_ll,uz0_ll,vz0_ll,ustar_ll
(  772)     ALLOCATE(u10ll(0:im+1,0:jm+1,nm))
(  773)     ALLOCATE(v10ll(0:im+1,0:jm+1,nm))
(  774)     ALLOCATE(uz0ll(0:im+1,0:jm+1,nm))
(  775)     ALLOCATE(vz0ll(0:im+1,0:jm+1,nm))
(  776)     u10ll = 0.0
(  777)     v10ll = 0.0
(  778)     uz0ll = 0.0
(  779)     vz0ll = 0.0
(  780) 
(  781)     ALLOCATE(u10_ll(igm,jgm))
(  782)     ALLOCATE(v10_ll(igm,jgm))
(  783)     ALLOCATE(uz0_ll(igm,jgm))
(  784)     ALLOCATE(vz0_ll(igm,jgm))
(  785)     ALLOCATE(ustar_ll(igm,jgm))
(  786)     u10_ll = 0.0
(  787)     v10_ll = 0.0
(  788)     uz0_ll = 0.0
(  789)     vz0_ll = 0.0
(  790)     ustar_ll = 0.0
(  791) 
(  792)   end subroutine alloc_pvrbls_ll
(  793) 
(  794)   subroutine dealloc_pvrbls_ll
(  795) 
(  796)     DEALLOCATE(psurf_ll, tsfc_ll, pslp_ll, sfcshx_ll, sfclhx_ll, vegfrc_ll, z0_ll, albedo_ll)
(  797)     DEALLOCATE(RSWIN_ll, RSWOUT_ll, RSWTOA_ll, ASWIN_ll, ASWOUT_ll, ASWTOA_ll, rswnet_ll)
(  798)     DEALLOCATE(RLWIN_ll, RLWOUT_ll, RLWTOA_ll, ALWIN_ll, ALWOUT_ll, ALWTOA_ll, rlwnet_ll)
(  799)     DEALLOCATE(RSWTT_ll, RLWTT_ll, CUPPT_ll, cfracl_ll, cfracm_ll, cfrach_ll, acprec_ll, cuprec_ll, aprec_ll, acsnow_ll, prec_ll, stc_ll, smc_ll)






PGF90 (Version     12.8)          08/30/2020  00:27:44      page 18

(  800)     DEALLOCATE(tshltr_ll, qshltr_ll, albase_ll, cnvtop_ll, cnvbot_ll, htop_ll, hbot_ll, IVGTYP_ll, ISLTYP_ll)
(  801)     DEALLOCATE(acfrcv_ll, acfrst_ll, acsnom_ll, cmc_ll, czen_ll, czmean_ll, epsr_ll, glat_ll, glon_ll, grnflx_ll, mxsnal_ll, potevp_ll, potflx_ll)
(  802)     DEALLOCATE(omgalf_ll, q2_ll, tcucn_ll, train_ll, div_ll, rtop_ll, htm_ll, vtm_ll, w_ll, dwdt_ll, z_ll)
(  803)     DEALLOCATE(qwbs_ll, twbs_ll, sm_ll, fis_ll, q10_ll, th10_ll, qz0_ll, thz0_ll, radot_ll, sigt4_ll, sfcevp_ll, subshx_ll, snopcx_ll, si_ll, sno_ll, sice_ll, smstot_ll, soiltb_ll, tg_ll, sr_ll, akhs_ll, akms_ll, ths_ll, plm_ll)
(  804)     DEALLOCATE(u10ll, v10ll, uz0ll, vz0ll, u10_ll, v10_ll, uz0_ll, vz0_ll, ustar_ll)
(  805) 
(  806)   end subroutine dealloc_pvrbls_ll
(  807) 
(  808) end module mod_pvrbls_ll
