Skip to content

Commit 59aa257

Browse files
committed
making sure tp_l is computed for model-based QC of asnow; minor cleanup of comments (clsm_ensupd_upd_routines.F90)
1 parent 006cd7a commit 59aa257

File tree

1 file changed

+14
-16
lines changed

1 file changed

+14
-16
lines changed

GEOSlandassim_GridComp/clsm_ensupd_upd_routines.F90

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1213,8 +1213,9 @@ subroutine get_obs_pred( &
12131213

12141214
case('asnow')
12151215

1216-
get_asnow_l = .true.
1217-
get_asnow_lH = .true.
1216+
get_asnow_l = .true.
1217+
get_asnow_lH = .true.
1218+
get_tp_l = .true. ! needed for model-based QC
12181219

12191220
case default
12201221

@@ -1365,7 +1366,7 @@ subroutine get_obs_pred( &
13651366

13661367
! updated to new interface - reichle, 3 Apr 2012
13671368

1368-
call catch_calc_tp( N_catl, cat_param%poros, &
1369+
call catch_calc_tp( N_catl, cat_param%poros, &
13691370
catprogn2ghtcnt(N_catl,cat_progn(:,n_e)), tp_l )
13701371

13711372
end if
@@ -2257,7 +2258,7 @@ subroutine qc_model_based_for_sat_sfmc( N_cat, precip, SWE, tsurf, &
22572258

22582259
do i=1,N_cat
22592260

2260-
! delete obs
2261+
! delete Obs_pred
22612262
! - if there is snow on the ground
22622263
! - if it is raining/snowing
22632264
! - if surface temperature is around or below freezing
@@ -2340,7 +2341,7 @@ subroutine qc_model_based_for_sat_tsurf( N_cat, precip, SWE, tp1, &
23402341

23412342
do i=1,N_cat
23422343

2343-
! delete obs
2344+
! delete Obs_pred
23442345
! - if there is snow on the ground
23452346
! - if it is raining/snowing
23462347
! - if "avoid_frozen" and frozen
@@ -2394,7 +2395,7 @@ subroutine qc_model_based_for_Tb( N_cat, precip, Tb )
23942395

23952396
do i=1,N_cat
23962397

2397-
! delete obs
2398+
! delete Obs_pred
23982399
! - if there is heavy rain or snow
23992400

24002401
! NOTE: subroutine mwRTM_get_Tb already returns no-data-values
@@ -2420,8 +2421,8 @@ end subroutine qc_model_based_for_Tb
24202421

24212422
subroutine qc_model_based_for_asnow( N_cat, tp1, asnow )
24222423

2423-
! Model-based quality control for MODIS SCF observations
2424-
! Sets "asnow" to no-data when soil layer 1 temperature exceeds a threshold.
2424+
! Model-based quality control for MODIS SCF observations.
2425+
! Sets "asnow" to no-data when layer-1 soil temperature exceeds a threshold.
24252426
!
24262427
! amfox, 7 May 2025
24272428
!
@@ -2431,27 +2432,24 @@ subroutine qc_model_based_for_asnow( N_cat, tp1, asnow )
24312432

24322433
integer, intent(in) :: N_cat
24332434

2434-
real, dimension(N_cat), intent(in) :: tp1 ! soil temperature [C]
2435+
real, dimension(N_cat), intent(in) :: tp1 ! layer-1 soil temperature [C]
24352436

24362437
real, dimension(N_cat), intent(inout) :: asnow ! snow cover fraction [0-1]
24372438

24382439
! local variables
24392440

2440-
! relatively large threshold for precip indirectly screens for standing water
2441-
2442-
real, parameter :: temperature_threshold = 10. ! [C]
2441+
real, parameter :: temperature_threshold = 10. ! [C]
24432442

24442443
integer :: i
24452444

24462445
! ---------------------------------------
24472446

24482447
do i=1,N_cat
24492448

2450-
! delete obs
2451-
! - if the soil layer 1 temperature exceeds temperature threshold
2449+
! delete Obs_pred
2450+
! - if the layer-1 soil temperature exceeds threshold
24522451

2453-
if ( (tp1(i) > temperature_threshold) ) &
2454-
asnow(i) = nodata_generic
2452+
if (tp1(i) > temperature_threshold) asnow(i) = nodata_generic
24552453

24562454
end do
24572455

0 commit comments

Comments
 (0)