diff --git a/physics/SFC_Models/Land/sfc_land.F90 b/physics/SFC_Models/Land/sfc_land.F90 index 36bdcdc09..e222115f7 100644 --- a/physics/SFC_Models/Land/sfc_land.F90 +++ b/physics/SFC_Models/Land/sfc_land.F90 @@ -28,9 +28,9 @@ module sfc_land !! \section general General Algorithm !! \section detailed Detailed Algorithm !! @{ - subroutine sfc_land_run(im, flag_init, cpllnd, cpllnd2atm, & - flag_iter, dry, sncovr1_lnd, qsurf_lnd, evap_lnd, hflx_lnd, & - ep_lnd, t2mmp_lnd, q2mp_lnd, gflux_lnd, & + subroutine sfc_land_run(im, flag_init, flag_restart, & + cpllnd, cpllnd2atm, flag_iter, dry, sncovr1_lnd, qsurf_lnd, & + evap_lnd, hflx_lnd, ep_lnd, t2mmp_lnd, q2mp_lnd, gflux_lnd, & runoff_lnd, drain_lnd, cmm_lnd, chh_lnd, zvfun_lnd, & sncovr1, qsurf, evap, hflx, ep, t2mmp, q2mp, & gflux, runoff, drain, cmm, chh, zvfun, & @@ -41,6 +41,7 @@ subroutine sfc_land_run(im, flag_init, cpllnd, cpllnd2atm, & ! Inputs integer , intent(in) :: im logical , intent(in) :: flag_init + logical , intent(in) :: flag_restart logical , intent(in) :: cpllnd logical , intent(in) :: cpllnd2atm logical , intent(in) :: flag_iter(:) @@ -84,7 +85,10 @@ subroutine sfc_land_run(im, flag_init, cpllnd, cpllnd2atm, & errflg = 0 ! Check coupling from component land to atmosphere - if (flag_init .or. (.not. cpllnd2atm)) return + if (.not. cpllnd2atm) return + + ! Check if it is cold or warm run + if (flag_init .and. .not.flag_restart) return ! Fill variables do i = 1, im diff --git a/physics/SFC_Models/Land/sfc_land.meta b/physics/SFC_Models/Land/sfc_land.meta index 84c4ccdce..13ddab00a 100644 --- a/physics/SFC_Models/Land/sfc_land.meta +++ b/physics/SFC_Models/Land/sfc_land.meta @@ -21,6 +21,13 @@ dimensions = () type = logical intent = in +[flag_restart] + standard_name = flag_for_restart + long_name = flag for restart (warmstart) or coldstart + units = flag + dimensions = () + type = logical + intent = in [cpllnd] standard_name = flag_for_land_coupling long_name = flag controlling cpllnd collection (default off)