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