From 49c70967f78e3a5d5293bab43c81acc6076cd060 Mon Sep 17 00:00:00 2001 From: Grant Firl Date: Tue, 10 May 2022 13:49:55 -0400 Subject: [PATCH] make sure that tsfc_wat is calculated when wet = T --- physics/scm_sfc_flux_spec.F90 | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/physics/scm_sfc_flux_spec.F90 b/physics/scm_sfc_flux_spec.F90 index fc4aaf5d1..bb2c47f48 100644 --- a/physics/scm_sfc_flux_spec.F90 +++ b/physics/scm_sfc_flux_spec.F90 @@ -153,14 +153,11 @@ subroutine scm_sfc_flux_spec_run (im, u1, v1, z1, t1, q1, p1, roughness_length, frland(i) = 1.0_kind_phys cice(i) = 0.0_kind_phys icy(i) = .false. - tsfcl(i) = T_surf(i) !GJF else frland(i) = 0.0_kind_phys if (oceanfrac(i) > 0.0_kind_phys) then if (cice(i) >= min_seaice) then icy(i) = .true. - tisfc(i) = T_surf(i) !GJF - tisfc(i) = max(timin, min(tisfc(i), tgice)) ! This cplice namelist option was added to deal with the ! situation of the FV3ATM-HYCOM coupling without an active sea ! ice (e.g., CICE6) component. By default, the cplice is true @@ -186,8 +183,6 @@ subroutine scm_sfc_flux_spec_run (im, u1, v1, z1, t1, q1, p1, roughness_length, else if (cice(i) >= min_lakeice) then icy(i) = .true. - tisfc(i) = T_surf(i) !GJF - tisfc(i) = max(timin, min(tisfc(i), tgice)) islmsk(i) = 2 else cice(i) = 0.0_kind_phys @@ -198,13 +193,23 @@ subroutine scm_sfc_flux_spec_run (im, u1, v1, z1, t1, q1, p1, roughness_length, if (cice(i) < 1.0_kind_phys) then wet(i) = .true. ! some open lake endif - if (wet(i)) then ! Water - tsfc_wat(i) = T_surf(i) - endif endif endif if (nint(slmsk(i)) /= 1) slmsk(i) = islmsk(i) enddo + + do i = 1, im + if (wet(i)) then + tsfc_wat(i) = T_surf(i) + end if + if (dry(i)) then + tsfcl(i) = T_surf(i) + end if + if (icy(i)) then + tisfc(i) = T_surf(i) + tisfc(i) = max(timin, min(tisfc(i), tgice)) + end if + end do ! to prepare to separate lake from ocean under water category do i = 1, im