Closed penguian closed 1 year ago
@yh4968@nci.org.au uploaded file switches -latentH .docx
(50.5 KiB)
@rml599@nci.org.au commented
! Soil latent heat:
IF( cable_runtime%esm15_latentH ) THEN
canopy_fess= ssnow_wetfac * ssnow_potev
WHERE (ssnow_potev < 0. ) canopy_fess = ssnow_potev
ELSE
WHERE (ssnow_potev < 0. ) ssnow_wetfac(:) = 1.0
canopy_fess= ssnow_wetfac * ssnow_potev
END IF
Probably 'mostly harmless'. Mathematically the same, may be computationally different.
!Ticket 137 - case iii)
!evaporation from frozen soils needs to respect the assumption that
!ice fraction of soil moisture cannot exceed frozen_limit=0.85
!see soilsnow: if frozen_limit changes need to be consistent
IF( cable_runtime%esm15_latentH ) THEN
fupper_limit(j) = REAL(ssnow_wb(j)-ssnow_wbice(j)) * frescale(j)
ELSE
fupper_limit(j) = REAL(ssnow_wb(j)-ssnow_wbice(j)/0.85)*frescale(j)
fupper_limit(j) = MAX(REAL(fupper_limit(j),r_2),0.)
END IF
Note reference to #137. This ticket also likely relevant for changes related to cls in #344.
IF( .NOT. cable_runtime%esm15_latentH ) THEN
!Ticket 137 - case ii) deposition of frost onto snow
! case of sublimation of snow overwrites later
IF (ssnow_snowd(j) >=0.1 ) THEN
ssnow_cls(j) = 1.1335
canopy_fess(j) = ssnow_cls(j)*ssnow_potev(j)
ENDIF
!Ticket 137 - case iv) deposition of frost onto frozen soil, no snow
IF (ssnow_snowd(j) < 0.1 .AND. ssnow_potev(j) < 0. .AND. &
ssnow_tss(j)<CTFRZ) THEN
ssnow_cls(j)=1.1335
canopy_fess(j) = ssnow_cls(j)*ssnow_potev(j)
ENDIF
END IF
!Ticket 137 - case ii) sublimation of snow
IF (ssnow_snowd(j) >= 0.1 .and. ssnow_potev(j) > 0.) THEN
ssnow_cls(j) = 1.1335
!INH - if changes to PM routine then matching changes here
canopy_fess(j) = MIN( (ssnow_wetfac(j)*ssnow_potev(j))*ssnow_cls(j), &
ssnow_snowd(j)/dels*air_rlam(j)*ssnow_cls(j))
ENDIF
More #137 changes - note that the last one hasn't been captured in the esm switch.
@rml599@nci.org.au changed _comment0 which not transferred by tractive
@rml599@nci.org.au commented
Test results (in attachment) show some change in temperature (cooler) - but this may not be a valid test without changes in #344 included in the test.
Likely will want to accept the change anyway as a documented bug fix.
Note that there may be more changes noted in #137 which haven't been picked up in the merge.
@rml599@nci.org.au commented
also has a section related to #137
! Ticket 137 - using %cls as the trigger not %snowd
IF( ssnow%cls(i) == 1.1335 ) THEN
!WHERE( ssnow%snowd > 0.1 )
ssnow%evapsn(i) = dels * ( canopy%fess(i) + canopy%fes_cor(i) ) / ( CHL + CHLF )
xxx(i) = ssnow%evapsn(i)
IF( ssnow%isflag(i) == 0 .AND. canopy%fess(i) + canopy%fes_cor(i).GT. 0.0 ) &
ssnow%evapsn(i) = MIN( ssnow%snowd(i), xxx(i) )
IF( ssnow%isflag(i) > 0 .AND. canopy%fess(i) + canopy%fes_cor(i) .GT. 0.0 ) &
ssnow%evapsn(i) = MIN( 0.9 * ssnow%smass(i,1), xxx(i) )
ssnow%snowd(i) = ssnow%snowd(i) - ssnow%evapsn(i)
IF( ssnow%isflag(i) > 0 ) THEN
ssnow%smass(i,1) = ssnow%smass(i,1) - ssnow%evapsn(i)
ssnow%sdepth(i,1) = MAX( 0.02, ssnow%smass(i,1) / ssnow%ssdn(i,1) )
ENDIF
canopy%segg(i) = 0.0
!INH: cls package
!we still need to conserve moisture/energy when evapsn is limited
!this is a key point of moisture non-conservation
ENDIF
This is an additional change from ESM1.5 (see line 900 https://trac.nci.org.au/trac/cable/browser/tags/CABLE-2.4-ACCESS-ESM1.5/core/biogeophys/cable_soilsnow.F90 ) that had not been flagged.
@jxs599@nci.org.au changed status from new
to closed
@jxs599@nci.org.au set resolution to fixed
@jxs599@nci.org.au set milestone to 1. Closed
@ccc561@nci.org.au set keywords to maygit
keyword_maygit
owner:jxs599@nci.org.au
resolution_fixed
type_defect
| by yh4968see attachment
Issue migrated from trac:349 at 2023-11-27 11:43:32 +1100