Closed tanyasmirnova closed 5 months ago
The regression test results:
Test Type | Expected | Received | Failed
= = = = = = = = = = = = = = = = = = = = = = = = = = = =
Number of Tests : 23 24
Number of Builds : 60 57
Number of Simulations : 158 150 0
Number of Comparisons : 95 86 0
Failed Simulations are:
None
Which comparisons are not bit-for-bit:
None
@tanyasmirnova
Tanya,
Would you please upload sample namelist.input files that you used to test the changes described in this PR? Specifically,
(1) For the snow model, I suppose we need the following options: isncond_opt = 2 isncov_opt = 2 sf_surface_physics = 3 num_soil_layers = 6 ( or 9)
(2) For the test of irrigation scheme, please clarify what options are used. I suppose the real-time vegetation fraction is still derived from WPS. Please let me know if I am wrong.
Thanks !
@tanyasmirnova
Tanya,
Would you please upload sample namelist.input files that you used to test the changes described in this PR? Specifically,
(1) For the snow model, I suppose we need the following options: isncond_opt = 2 isncov_opt = 2 sf_surface_physics = 3 num_soil_layers = 6 ( or 9)
(2) For the test of irrigation scheme, please clarify what options are used. I suppose the real-time vegetation fraction is still derived from WPS. Please let me know if I am wrong.
Thanks !
@smileMchen Ming, The changes to the namelist are not needed with this PR. Please, use the following options with RUC LSM: sf_surface_physics = 3 num_soil_layers = 9
The new options in the snow model are specified internally in RUC LSM. I set them to isncond_opt = 2 and isncovr_opt = 2 as the best options in my opinion. Thank you!
@tanyasmirnova Tanya, Thank you for the information. Just one more question: with num_soil_layers = 9 and num_soil_layers = 6, can we see large differences? Also, is it recommended to run RUC with MYNN SFCLAY and MYNN PBL schemes? Thanks again.
@tanyasmirnova Tanya, Thank you for the information. Just one more question: with num_soil_layers = 9 and num_soil_layers = 6, can we see large differences? Also, is it recommended to run RUC with MYNN SFCLAY and MYNN PBL schemes? Thanks again.
@smileMchen Ming, There could be quite substantial differences when 6 levels are used instead of 9 because with 6 levels the energy budget is applied to a thicker top soil layer, which may cause damping of the diurnal cycle for skin temperature. The use of RUC LSM with MYNN surface and PBL schemes is the most tested configuration. However, RUC LSM could be successfully used with any other option of surface and boundary layer physics.
@smileMchen @tanyasmirnova If we use GFS input, we may need to adjust the soil data, like we did in the past.
In this new version, some important code from the old version is missing.
RUC display in WRF 4.0:
!--- initializing snow fraction, thereshold = 32 mm of snow water ! or ~100 mm of snow height ! snowc(i,j) = min(1.,snow(i,j)/32.) if(snow(i,j).le.32.) soilt1(i,j)=tso(i,1,j) !--- initializing inside snow temp if it is not defined IF((soilt1(i,j) .LT. 170.) .or. (soilt1(i,j) .GT.400.)) THEN IF(snow(i,j).gt.32.) THEN soilt1(i,j)=0.5*(soilt(i,j)+tso(i,1,j))
But in the new version, this is missing, this part should affect the snow calculation, and logically there is a problem with the input value of snowc:
!--- initializing snow fraction, thereshold = 32 mm of snow water or ~100 mm of snow height if((soilt1(i,j) .lt. 170.) .or. (soilt1(i,j) .gt.400.)) then if(snowc(i,j).gt.0.) then soilt1(i,j)=0.5*(soilt(i,j)+tso(i,1,j))
@tanyasmirnova I also have a quibble with the addition of snow cover fraction, which is that in the code below, display option 1 is the default, but the solution that ends up being used is option 2, which calculates the average value. ` !-- Snow fraction options !-- option 1: original formulation using threshold snow depth to compute snow fraction !integer, parameter :: isncovr_opt = 1 (default) !-- option 2: the tanh formulation from Niu,G.-Y.,and Yang,Z.-L., 2007,JGR,DOI:10.1029/2007JD008674. !integer, parameter :: isncovr_opt = 2 !-- option 3: the tanh formulation from Niu,G.-Y.,and Yang,Z with ! vegetation-dependent parameters from Noah MP (personal communication with ! Mike Barlage) !integer, parameter :: isncovr_opt = 3 !-- Values of parameters are scale-dependent, have to be tuned for a given application !-- Tables below are for 21-class MODI-RUC (MODIFIED_IGBP_MODIS_NOAH_15s is used in HRRR and RRFS) !-- for 3-km RRFS application real, dimension(30), parameter :: sncovfac = & & (/ 0.030, 0.030, 0.030, 0.030, 0.030, & & 0.016, 0.016, 0.020, 0.020, 0.020, & & 0.020, 0.014, 0.042, 0.026, 0.030, & & 0.016, 0.030, 0.030, 0.030, 0.030, & & 0.000, 0.000, 0.000, 0.000, 0.000, & & 0.000, 0.000, 0.000, 0.000, 0.000 /) real, dimension(30), parameter :: mfsno = & & (/ 1.00, 1.00, 1.00, 1.00, 2.00, 2.00, & & 2.00, 2.00, 2.00, 2.00, 2.00, 2.00, & & 3.00, 3.00, 2.00, 2.00, 2.00, 2.00, & & 2.00, 2.00, 0.00, 0.00, 0.00, 0.00, & & 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 /)
!--
integer, parameter :: isncovr_opt=2
!-- `
In this new version, some important code from the old version is missing. RUC display in WRF 4.0:
!--- initializing snow fraction, thereshold = 32 mm of snow water ! or ~100 mm of snow height ! snowc(i,j) = min(1.,snow(i,j)/32.) if(snow(i,j).le.32.) soilt1(i,j)=tso(i,1,j) !--- initializing inside snow temp if it is not defined IF((soilt1(i,j) .LT. 170.) .or. (soilt1(i,j) .GT.400.)) THEN IF(snow(i,j).gt.32.) THEN soilt1(i,j)=0.5*(soilt(i,j)+tso(i,1,j))
But in the new version, this is missing, this part should affect the snow calculation, and logically there is a problem with the input value of snowc:
!--- initializing snow fraction, thereshold = 32 mm of snow water or ~100 mm of snow height if((soilt1(i,j) .lt. 170.) .or. (soilt1(i,j) .gt.400.)) then if(snowc(i,j).gt.0.) then soilt1(i,j)=0.5*(soilt(i,j)+tso(i,1,j))
@hezisue Hello, Do you mean that snowc is not initialized in the new version? I removed this line because snowc should be available in the wrfinput_d01 from the parent model, and it should not be re-initialized in RUC SLM. Do you see a problem with this in your runs?
@tanyasmirnova I also have a quibble with the addition of snow cover fraction, which is that in the code below, display option 1 is the default, but the solution that ends up being used is option 2, which calculates the average value. ` !-- Snow fraction options !-- option 1: original formulation using threshold snow depth to compute snow fraction !integer, parameter :: isncovr_opt = 1 (default) !-- option 2: the tanh formulation from Niu,G.-Y.,and Yang,Z.-L., 2007,JGR,DOI:10.1029/2007JD008674. !integer, parameter :: isncovr_opt = 2 !-- option 3: the tanh formulation from Niu,G.-Y.,and Yang,Z with ! vegetation-dependent parameters from Noah MP (personal communication with ! Mike Barlage) !integer, parameter :: isncovr_opt = 3 !-- Values of parameters are scale-dependent, have to be tuned for a given application !-- Tables below are for 21-class MODI-RUC (MODIFIED_IGBP_MODIS_NOAH_15s is used in HRRR and RRFS) !-- for 3-km RRFS application real, dimension(30), parameter :: sncovfac = & & (/ 0.030, 0.030, 0.030, 0.030, 0.030, & & 0.016, 0.016, 0.020, 0.020, 0.020, & & 0.020, 0.014, 0.042, 0.026, 0.030, & & 0.016, 0.030, 0.030, 0.030, 0.030, & & 0.000, 0.000, 0.000, 0.000, 0.000, & & 0.000, 0.000, 0.000, 0.000, 0.000 /) real, dimension(30), parameter :: mfsno = & & (/ 1.00, 1.00, 1.00, 1.00, 2.00, 2.00, & & 2.00, 2.00, 2.00, 2.00, 2.00, 2.00, & & 3.00, 3.00, 2.00, 2.00, 2.00, 2.00, & & 2.00, 2.00, 0.00, 0.00, 0.00, 0.00, & & 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 /)
!-- integer, parameter :: isncovr_opt=2 !-- `
@hezisue The sncovr_opt=2 is a recommended option to use. It is the options that is used in the experimental MPAS with RUC LSM. sncovr_opt=1 is the oprtion which is used in the operational HRRR, that is why I called it a default option.
TYPE: bug fix, enhancement
KEYWORDS: snow model, irrigation, conductivities
SOURCE: Tanya Smirnova, NOAA/GSL
DESCRIPTION OF CHANGES:
LIST OF MODIFIED FILES: M phys/module_sf_ruclsm.F
TESTS CONDUCTED:
RELEASE NOTE: This PR modifies the RUC LSM to add options to the snow model, use real-time vegetation fraction as an indicator for irrigation scheme, and change soil diffusional and hydraulic conductivities.