CCPP SciDoc v7.0.0  v7.0.0
Common Community Physics Package Developed at DTC
 
Loading...
Searching...
No Matches
sfc_land.F90
1
3
8
10 module sfc_land
11
12 use machine, only : kind_phys
13
14 contains
15
20 subroutine sfc_land_run(im, cpllnd, cpllnd2atm, flag_iter, dry, &
21 sncovr1_lnd, qsurf_lnd, evap_lnd, hflx_lnd, &
22 ep_lnd, t2mmp_lnd, q2mp_lnd, gflux_lnd, &
23 runoff_lnd, drain_lnd, cmm_lnd, chh_lnd, zvfun_lnd, &
24 sncovr1, qsurf, evap, hflx, ep, t2mmp, q2mp, &
25 gflux, runoff, drain, cmm, chh, zvfun, &
26 errmsg, errflg)
27
28 implicit none
29
30 ! Inputs
31 integer , intent(in) :: im
32 logical , intent(in) :: cpllnd
33 logical , intent(in) :: cpllnd2atm
34 logical , intent(in) :: flag_iter(:)
35 logical , intent(in) :: dry(:)
36 real(kind=kind_phys), intent(in), optional :: sncovr1_lnd(:)
37 real(kind=kind_phys), intent(in), optional :: qsurf_lnd(:)
38 real(kind=kind_phys), intent(in), optional :: evap_lnd(:)
39 real(kind=kind_phys), intent(in), optional :: hflx_lnd(:)
40 real(kind=kind_phys), intent(in), optional :: ep_lnd(:)
41 real(kind=kind_phys), intent(in), optional :: t2mmp_lnd(:)
42 real(kind=kind_phys), intent(in), optional :: q2mp_lnd(:)
43 real(kind=kind_phys), intent(in), optional :: gflux_lnd(:)
44 real(kind=kind_phys), intent(in), optional :: runoff_lnd(:)
45 real(kind=kind_phys), intent(in), optional :: drain_lnd(:)
46 real(kind=kind_phys), intent(in), optional :: cmm_lnd(:)
47 real(kind=kind_phys), intent(in), optional :: chh_lnd(:)
48 real(kind=kind_phys), intent(in), optional :: zvfun_lnd(:)
49 ! Inputs/Outputs
50 real(kind=kind_phys), intent(inout) :: sncovr1(:)
51 real(kind=kind_phys), intent(inout) :: qsurf(:)
52 real(kind=kind_phys), intent(inout) :: evap(:)
53 real(kind=kind_phys), intent(inout) :: hflx(:)
54 real(kind=kind_phys), intent(inout) :: ep(:)
55 real(kind=kind_phys), intent(inout), optional :: t2mmp(:)
56 real(kind=kind_phys), intent(inout), optional :: q2mp(:)
57 real(kind=kind_phys), intent(inout) :: gflux(:)
58 real(kind=kind_phys), intent(inout) :: runoff(:)
59 real(kind=kind_phys), intent(inout) :: drain(:)
60 real(kind=kind_phys), intent(inout) :: cmm(:)
61 real(kind=kind_phys), intent(inout) :: chh(:)
62 real(kind=kind_phys), intent(inout) :: zvfun(:)
63 ! Outputs
64 character(len=*) , intent(out) :: errmsg
65 integer , intent(out) :: errflg
66
67 ! Locals
68 integer :: i
69
70 ! Initialize CCPP error handling variables
71 errmsg = ''
72 errflg = 0
73
74 ! Check coupling from component land to atmosphere
75 if (.not. cpllnd2atm) return
76
77 ! Fill variables
78 do i = 1, im
79 sncovr1(i) = sncovr1_lnd(i)
80 qsurf(i) = qsurf_lnd(i)
81 hflx(i) = hflx_lnd(i)
82 evap(i) = evap_lnd(i)
83 ep(i) = ep_lnd(i)
84 t2mmp(i) = t2mmp_lnd(i)
85 q2mp(i) = q2mp_lnd(i)
86 gflux(i) = gflux_lnd(i)
87 drain(i) = drain_lnd(i)
88 runoff(i) = runoff_lnd(i)
89 cmm(i) = cmm_lnd(i)
90 chh(i) = chh_lnd(i)
91 zvfun(i) = zvfun_lnd(i)
92 enddo
93
94 end subroutine sfc_land_run
95
96 end module sfc_land
This module contains the CCPP-compliant GFS land post interstitial codes, which returns updated surfa...
Definition sfc_land.F90:10