22 subroutine sfc_nst_post_run &
23 ( im, kdt, rlapse, tgice, wet, use_lake_model, icy, oro, &
25 nstf_name4, nstf_name5, xt, xz, dt_cool, z_c, tref, xlon, &
26 tsurf_wat, tsfc_wat, nthreads, dtzm, errmsg, errflg &
29 integer,
intent(in) :: im, kdt, nthreads
30 logical,
dimension(:),
intent(in) :: wet, icy
31 integer,
dimension(:),
intent(in) :: use_lake_model
32 real (kind=kind_phys),
intent(in) :: rlapse, tgice
33 real (kind=kind_phys),
dimension(:),
intent(in) :: oro, oro_uf
34 integer,
intent(in) :: nstf_name1, nstf_name4, nstf_name5
35 real (kind=kind_phys),
dimension(:),
intent(in) :: xlon
36 real (kind=kind_phys),
dimension(:),
intent(in),
optional :: xt, xz, dt_cool, z_c, tref
39 real (kind=kind_phys),
dimension(:),
intent(inout) :: tsurf_wat, tsfc_wat
42 real (kind=kind_phys),
dimension(:),
intent(out) :: dtzm
44 character(len=*),
intent(out) :: errmsg
45 integer,
intent(out) :: errflg
49 real(kind=kind_phys) :: zsea1, zsea2
67 if (nstf_name1 > 1)
then
68 zsea1 = 0.001_kp*real(nstf_name4)
69 zsea2 = 0.001_kp*real(nstf_name5)
70 call get_dtzm_2d (xt, xz, dt_cool, z_c, wet, zsea1, zsea2, im, 1, nthreads, dtzm)
74 if (wet(i) .and. use_lake_model(i) /=1)
then
75 tsfc_wat(i) = max(tgice, tref(i) + dtzm(i))
subroutine, public get_dtzm_2d(xt, xz, dt_cool, zc, wet, z1, z2, nx, ny, nth, dtm)