Skip to content

Commit 2f68d7b

Browse files
Default soiltype namelist option (#2166)
TYPE: enhancement KEYWORDS: default_soiltype, namelist, landuse and soil type matching SOURCE: Mathieu Landreau (Centrale Nantes) DESCRIPTION OF CHANGES: Problem: When running real.exe, in the land cells where no soiltype is defined in the soil dataset (which happens when soil types with lower resolution input do not match the land mask defined by landuse data), the type is set to 8=silty clay loam. For high-resolution coastal area simulation, this can represent a certain amount of cells, which may not be representative of the area. Solution: A namelist option named default_soiltype is added. It is checked (in module_check_a_mundo) that the user-defined value is between 1 and 19 and is not water (19) LIST OF MODIFIED FILES: Registry/Registry.EM_COMMON dyn_em/module_initialize_real.F run/README.namelist share/module_check_a_mundo.F TESTS CONDUCTED: - It has passed the regression tests. RELEASE NOTE: A namelist option, default_soiltype, is added to define filled-in land category along water/land boundaries where soil data may be missing in program real.
1 parent 313834d commit 2f68d7b

File tree

4 files changed

+27
-5
lines changed

4 files changed

+27
-5
lines changed

Registry/Registry.EM_COMMON

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2501,6 +2501,7 @@ rconfig integer ideal_xland namelist,physics 1 1
25012501
rconfig real swrad_scat namelist,physics 1 1 irh "SWRAD_SCAT" "SCATTERING FACTOR IN SWRAD" ""
25022502
rconfig integer surface_input_source namelist,physics 1 3 irh "surface_input_source" "1=static (fractional), 2=time dependent (dominant), 3=dominant cateogry from metgrid" ""
25032503
rconfig integer num_soil_layers namelist,physics 1 5 irh "num_soil_layers" "" ""
2504+
rconfig integer default_soiltype namelist,physics 1 8 rh "default_soiltype" "Soil category used to correct missing values (default 8 : silty clay loam)" ""
25042505
rconfig integer num_pft_clm namelist,physics 1 17 - "num_pft_clm" "" ""
25052506
rconfig logical input_pft namelist,physics 1 .false. h "input_pft_flag" "use input pft instead of USGS" ""
25062507
rconfig integer maxpatch namelist,physics 1 10 irh "maxpatch" "" ""

dyn_em/module_initialize_real.F

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3123,7 +3123,7 @@ SUBROUTINE init_domain_rk ( grid &
31233123
DO i = its, MIN(ide-1,ite)
31243124
IF ( skip_middle_points_t ( ids , ide , jds , jde , i , j , em_width , hold_ups ) ) CYCLE
31253125
IF ( grid%landmask(i,j) .GT. 0.5 .AND. grid%isltyp(i,j) .EQ. grid%isoilwater ) THEN
3126-
grid%isltyp(i,j) = 8
3126+
grid%isltyp(i,j) = config_flags%default_soiltype
31273127
change_soilw = change_soilw + 1
31283128
iforce = iforce + 1
31293129
ELSE IF ( grid%landmask(i,j) .LT. 0.5 .AND. grid%isltyp(i,j) .NE. grid%isoilwater ) THEN
@@ -3134,10 +3134,17 @@ SUBROUTINE init_domain_rk ( grid &
31343134
END DO
31353135
END DO
31363136
IF ( change_soilw .GT. 0 .OR. change_soil .GT. 0 ) THEN
3137-
WRITE(a_message,FMT='(A,I4,A,I6)' ) &
3138-
'forcing artificial silty clay loam at ',iforce,' points, out of ',&
3139-
(MIN(ide-1,ite)-its+1)*(MIN(jde-1,jte)-jts+1)
3140-
CALL wrf_debug(0,a_message)
3137+
IF (config_flags%default_soiltype == 8) THEN
3138+
WRITE(a_message,FMT='(A,I4,A,I6)' ) &
3139+
'forcing artificial silty clay loam at ',iforce,' points, out of ',&
3140+
(MIN(ide-1,ite)-its+1)*(MIN(jde-1,jte)-jts+1)
3141+
ELSE
3142+
WRITE(a_message,FMT='(A,I4,A,I4,A,I6)' ) &
3143+
'forcing soil type to the user defined default category (',config_flags%default_soiltype,&
3144+
') at ',iforce,' points, out of ',&
3145+
(MIN(ide-1,ite)-its+1)*(MIN(jde-1,jte)-jts+1)
3146+
ENDIF
3147+
CALL wrf_debug(0,a_message)
31413148
END IF
31423149

31433150
END IF

run/README.namelist

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -946,6 +946,7 @@ use_rap_aero_icbc = .false. ! Set to .true. to ingest real-t
946946
= 10: CLM4 landsurface model
947947
= 2: Pleim-Xu landsurface model
948948
= 3: SSiB landsurface model
949+
default_soiltype = 8, ! soil category applied in land cells where no soil category is defined, default is 8 = silty clay loam
949950
num_land_cat = 21, ! number of land categories in input data.
950951
24 - for USGS (default); 20 for MODIS
951952
28 - for USGS if including lake category

share/module_check_a_mundo.F

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -486,6 +486,19 @@ END FUNCTION bep_bem_ngr_u
486486
END IF
487487
ENDDO
488488

489+
!-----------------------------------------------------------------------
490+
! Check that default_soiltype is between 1 and 19 and is not water (14)
491+
!-----------------------------------------------------------------------
492+
IF ((model_config_rec % default_soiltype .LT. 1) &
493+
.OR. (model_config_rec % default_soiltype .GT. 19) &
494+
.OR. (model_config_rec % default_soiltype .EQ. 14)) THEN
495+
WRITE (wrf_err_message, FMT='(A,I4,A)') '--- ERROR: invalid default_soiltype category (', model_config_rec % default_soiltype, ')'
496+
CALL wrf_message ( wrf_err_message )
497+
WRITE (wrf_err_message, FMT='(A)') '--- ERROR: resetting default_soiltype to 8 (silty clay loam)'
498+
CALL wrf_message ( wrf_err_message )
499+
model_config_rec % default_soiltype = 8
500+
END IF
501+
489502
!-----------------------------------------------------------------------
490503
! Check that mosiac option cannot turn on when sf_urban_physics = 2 and 3
491504
!-----------------------------------------------------------------------

0 commit comments

Comments
 (0)