Skip to content

Solution #2 for the use of RUC LSM in the MPAS 8.1 #9

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion src/core_atmosphere/physics/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,8 @@ mpas_atmphys_driver_lsm.o: \
mpas_atmphys_landuse.o \
mpas_atmphys_lsm_noahinit.o \
mpas_atmphys_lsm_rucinit.o \
mpas_atmphys_vars.o
mpas_atmphys_lsm_shared.o \
mpas_atmphys_vars.o

mpas_atmphys_driver_microphysics.o: \
mpas_atmphys_constants.o \
Expand Down
17 changes: 10 additions & 7 deletions src/core_atmosphere/physics/mpas_atmphys_driver.F
Original file line number Diff line number Diff line change
Expand Up @@ -280,15 +280,18 @@ subroutine physics_driver(domain,itimestep,xtime_s)
!$OMP END PARALLEL DO
call deallocate_lsm(config_frac_seaice,config_lsm_scheme)

call allocate_seaice
if(config_lsm_scheme .ne. 'sf_ruc') then
call allocate_seaice
!$OMP PARALLEL DO
do thread=1,nThreads
call driver_seaice(block%configs,diag_physics,sfc_input, &
cellSolveThreadStart(thread),cellSolveThreadEnd(thread))
enddo
do thread=1,nThreads
call driver_seaice(block%configs,diag_physics,sfc_input, &
cellSolveThreadStart(thread),cellSolveThreadEnd(thread))
enddo
!$OMP END PARALLEL DO
call deallocate_seaice,config_lsm_scheme
endif
call deallocate_seaice
endif ! sf_ruc
endif ! lsm off


!call to pbl schemes:
if(config_pbl_scheme .ne. 'off' .and. config_sfclayer_scheme .ne. 'off') then
Expand Down
16 changes: 16 additions & 0 deletions src/core_atmosphere/physics/mpas_atmphys_driver_lsm.F
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ module mpas_atmphys_driver_lsm
use mpas_timer, only : mpas_timer_start, mpas_timer_stop

use mpas_atmphys_constants
use mpas_atmphys_lsm_shared,only: correct_tsk_over_seaice
use mpas_atmphys_landuse, only: isurban
use mpas_atmphys_lsm_noahinit
use mpas_atmphys_lsm_rucinit
Expand Down Expand Up @@ -187,6 +188,9 @@ subroutine allocate_lsm(config_frac_seaice,config_lsm_scheme)
if(.not.allocated(xland_p) ) allocate(xland_p(ims:ime,jms:jme) )
if(.not.allocated(z0_p) ) allocate(z0_p(ims:ime,jms:jme) )
if(.not.allocated(znt_p) ) allocate(znt_p(ims:ime,jms:jme) )
if(.not.allocated(t2m_p) ) allocate(t2m_p(ims:ime,jms:jme) )
if(.not.allocated(th2m_p) ) allocate(th2m_p(ims:ime,jms:jme) )
if(.not.allocated(q2_p) ) allocate(q2_p(ims:ime,jms:jme) )
if(.not.allocated(flxsnow_p) ) allocate(flxsnow_p(ims:ime,jms:jme) )
if(.not.allocated(fvbsnow_p) ) allocate(fvbsnow_p(ims:ime,jms:jme) )
if(.not.allocated(fbursnow_p) ) allocate(fbursnow_p(ims:ime,jms:jme) )
Expand Down Expand Up @@ -301,6 +305,9 @@ subroutine deallocate_lsm(config_frac_seaice,config_lsm_scheme)
if(allocated(xland_p) ) deallocate(xland_p )
if(allocated(z0_p) ) deallocate(z0_p )
if(allocated(znt_p) ) deallocate(znt_p )
if(allocated(t2m_p) ) deallocate(t2m_p )
if(allocated(th2m_p) ) deallocate(th2m_p )
if(allocated(q2_p) ) deallocate(q2_p )
if(allocated(flxsnow_p) ) deallocate(flxsnow_p )
if(allocated(fvbsnow_p) ) deallocate(fvbsnow_p )
if(allocated(fbursnow_p) ) deallocate(fbursnow_p )
Expand Down Expand Up @@ -367,6 +374,7 @@ subroutine lsm_from_MPAS(configs,mesh,diag_physics,sfc_input,its,ite)
integer,intent(in):: its,ite

!local pointers:
logical, pointer :: config_frac_seaice
character(len=StrKIND),pointer:: config_microp_scheme, &
config_convection_scheme, &
config_lsm_scheme
Expand Down Expand Up @@ -398,6 +406,7 @@ subroutine lsm_from_MPAS(configs,mesh,diag_physics,sfc_input,its,ite)
call mpas_pool_get_config(configs,'config_convection_scheme',config_convection_scheme)
call mpas_pool_get_config(configs,'config_microp_scheme' ,config_microp_scheme )
call mpas_pool_get_config(configs,'config_lsm_scheme' ,config_lsm_scheme )
call mpas_pool_get_config(configs,'config_frac_seaice' ,config_frac_seaice )

call mpas_pool_get_array(diag_physics,'acsnom' ,acsnom )
call mpas_pool_get_array(diag_physics,'acsnow' ,acsnow )
Expand Down Expand Up @@ -559,6 +568,9 @@ subroutine lsm_from_MPAS(configs,mesh,diag_physics,sfc_input,its,ite)
udrunoff_p(i,j) = udrunoff(i)
z0_p(i,j) = z0(i)
znt_p(i,j) = znt(i)
t2m_p(i,j) = t2m(i)
th2m_p(i,j) = th2m(i)
q2_p(i,j) = q2(i)

isltyp_p(i,j) = isltyp(i)
ivgtyp_p(i,j) = ivgtyp(i)
Expand Down Expand Up @@ -728,6 +740,7 @@ subroutine lsm_to_MPAS(configs,mesh,diag_physics,sfc_input,its,ite)

call mpas_pool_get_config(configs,'config_microp_scheme',config_microp_scheme)
call mpas_pool_get_config(configs,'config_lsm_scheme',config_lsm_scheme)
call mpas_pool_get_config(configs,'config_frac_seaice',config_frac_seaice)

call mpas_pool_get_array(diag_physics,'acsnom' ,acsnom )
call mpas_pool_get_array(diag_physics,'acsnow' ,acsnow )
Expand Down Expand Up @@ -856,6 +869,9 @@ subroutine lsm_to_MPAS(configs,mesh,diag_physics,sfc_input,its,ite)
udrunoff(i) = udrunoff_p(i,j)
z0(i) = z0_p(i,j)
znt(i) = znt_p(i,j)
t2m(i) = t2m_p(i,j)
th2m(i) = th2m_p(i,j)
q2(i) = q2_p(i,j)

snoalb(i) = snoalb_p(i,j)
sfc_albbck(i) = sfc_albbck_p(i,j)
Expand Down
80 changes: 40 additions & 40 deletions src/core_atmosphere/physics/physics_wrf/files/SOILPARM.TBL
Original file line number Diff line number Diff line change
@@ -1,45 +1,45 @@
Soil Parameters
STAS
19,1 'BB DRYSMC F11 MAXSMC REFSMC SATPSI SATDK SATDW WLTSMC QTZ '
1, 2.79, 0.010, -0.472, 0.339, 0.236, 0.069, 4.66E-5, 0.608E-6, 0.010, 0.92, 'SAND'
2, 4.26, 0.028, -1.044, 0.421, 0.383, 0.036, 1.41E-5, 0.514E-5, 0.028, 0.82, 'LOAMY SAND'
3, 4.74, 0.047, -0.569, 0.434, 0.383, 0.141, 5.23E-6, 0.805E-5, 0.047, 0.60, 'SANDY LOAM'
4, 5.33, 0.084, 0.162, 0.476, 0.360, 0.759, 2.81E-6, 0.239E-4, 0.084, 0.25, 'SILT LOAM'
5, 5.33, 0.084, 0.162, 0.476, 0.383, 0.759, 2.81E-6, 0.239E-4, 0.084, 0.10, 'SILT'
6, 5.25, 0.066, -0.327, 0.439, 0.329, 0.355, 3.38E-6, 0.143E-4, 0.066, 0.40, 'LOAM'
7, 6.77, 0.067, -1.491, 0.404, 0.314, 0.135, 4.45E-6, 0.990E-5, 0.067, 0.60, 'SANDY CLAY LOAM'
8, 8.72, 0.120, -1.118, 0.464, 0.387, 0.617, 2.03E-6, 0.237E-4, 0.120, 0.10, 'SILTY CLAY LOAM'
9, 8.17, 0.103, -1.297, 0.465, 0.382, 0.263, 2.45E-6, 0.113E-4, 0.103, 0.35, 'CLAY LOAM'
10, 10.73, 0.100, -3.209, 0.406, 0.338, 0.098, 7.22E-6, 0.187E-4, 0.100, 0.52, 'SANDY CLAY'
11, 10.39, 0.126, -1.916, 0.468, 0.404, 0.324, 1.34E-6, 0.964E-5, 0.126, 0.10, 'SILTY CLAY'
12, 11.55, 0.138, -2.138, 0.468, 0.412, 0.468, 9.74E-7, 0.112E-4, 0.138, 0.25, 'CLAY'
13, 5.25, 0.066, -0.327, 0.439, 0.329, 0.355, 3.38E-6, 0.143E-4, 0.066, 0.05, 'ORGANIC MATERIAL'
14, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.60, 'WATER'
15, 2.79, 0.006, -1.111, 0.20, 0.17, 0.069, 1.41E-4, 0.136E-3, 0.006, 0.07, 'BEDROCK'
16, 4.26, 0.028, -1.044, 0.421, 0.283, 0.036, 1.41E-5, 0.514E-5, 0.028, 0.25, 'OTHER(land-ice)'
17, 11.55, 0.030, -10.472, 0.468, 0.454, 0.468, 9.74E-7, 0.112E-4, 0.030, 0.60, 'PLAYA'
18, 2.79, 0.006, -0.472, 0.200, 0.17, 0.069, 1.41E-4, 0.136E-3, 0.006, 0.52, 'LAVA'
19, 2.79, 0.01, -0.472, 0.339, 0.236, 0.069, 4.66E-5, 0.608E-6, 0.01, 0.92, 'WHITE SAND'
19,1 'BB DRYSMC F11 MAXSMC REFSMC SATPSI SATDK SATDW WLTSMC QTZ BVIC AXAJ BXAJ XXAJ BDVIC BBVIC GDVIC '
1, 2.79, 0.010, -0.472, 0.339, 0.192, 0.069, 4.66E-5, 2.65E-5, 0.010, 0.92, 0.05, 0.009, 0.05, 0.05, 0.05, 1.000, 0.050, 'SAND'
2, 4.26, 0.028, -1.044, 0.421, 0.283, 0.036, 1.41E-5, 5.14E-6, 0.028, 0.82, 0.08, 0.010, 0.08, 0.08, 0.08, 1.010, 0.070, 'LOAMY SAND'
3, 4.74, 0.047, -0.569, 0.434, 0.312, 0.141, 5.23E-6, 8.05E-6, 0.047, 0.60, 0.09, 0.009, 0.09, 0.09, 0.09, 1.020, 0.130, 'SANDY LOAM'
4, 5.33, 0.084, 0.162, 0.476, 0.360, 0.759, 2.81E-6, 2.39E-5, 0.084, 0.25, 0.25, 0.010, 0.25, 0.25, 0.25, 1.025, 0.200, 'SILT LOAM'
5, 3.86, 0.061, 0.162, 0.484, 0.347, 0.955, 2.18E-6, 1.66E-5, 0.061, 0.10, 0.15, 0.012, 0.15, 0.15, 0.15, 1.000, 0.170, 'SILT'
6, 5.25, 0.066, -0.327, 0.439, 0.329, 0.355, 3.38E-6, 1.43E-5, 0.066, 0.40, 0.18, 0.013, 0.18, 0.18, 0.18, 1.000, 0.110, 'LOAM'
7, 6.77, 0.069, -1.491, 0.404, 0.315, 0.135, 4.45E-6, 1.01E-5, 0.069, 0.60, 0.20, 0.014, 0.20, 0.20, 0.20, 1.032, 0.260, 'SANDY CLAY LOAM'
8, 8.72, 0.120, -1.118, 0.464, 0.387, 0.617, 2.03E-6, 2.35E-5, 0.120, 0.10, 0.22, 0.015, 0.22, 0.22, 0.22, 1.035, 0.350, 'SILTY CLAY LOAM'
9, 8.17, 0.103, -1.297, 0.465, 0.382, 0.263, 2.45E-6, 1.13E-5, 0.103, 0.35, 0.23, 0.016, 0.23, 0.23, 0.23, 1.040, 0.260, 'CLAY LOAM'
10, 10.73, 0.100, -3.209, 0.406, 0.338, 0.098, 7.22E-6, 1.87E-5, 0.100, 0.52, 0.25, 0.015, 0.25, 0.25, 0.25, 1.042, 0.300, 'SANDY CLAY'
11, 10.39, 0.126, -1.916, 0.468, 0.404, 0.324, 1.34E-6, 9.64E-6, 0.126, 0.10, 0.28, 0.016, 0.28, 0.28, 0.28, 1.045, 0.380, 'SILTY CLAY'
12, 11.55, 0.138, -2.138, 0.468, 0.412, 0.468, 9.74E-7, 1.12E-5, 0.138, 0.25, 0.30, 0.017, 0.30, 0.30, 0.30, 1.000, 0.410, 'CLAY'
13, 5.25, 0.066, -0.327, 0.439, 0.329, 0.355, 3.38E-6, 1.43E-5, 0.066, 0.05, 0.26, 0.012, 0.26, 0.26, 0.26, 1.000, 0.500, 'ORGANIC MATERIAL'
14, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.60, 0.00, 0.001, 0.00, 0.00, 0.00, 1.000, 0.001, 'WATER'
15, 2.79, 0.006, -1.111, 0.20, 0.17, 0.069, 1.41E-4, 1.36E-4, 0.006, 0.07, 1.00, 0.017, 1.00, 1.00, 1.00, 1.000, 0.010, 'BEDROCK'
16, 4.26, 0.028, -1.044, 0.421, 0.283, 0.036, 1.41E-5, 5.14E-6, 0.028, 0.25, 1.00, 0.017, 1.00, 1.00, 1.00, 1.000, 0.001, 'OTHER(land-ice)'
17, 11.55, 0.030, -10.472, 0.468, 0.454, 0.468, 9.74E-7, 1.12E-5, 0.030, 0.60, 1.00, 0.017, 1.00, 1.00, 1.00, 1.000, 0.001, 'PLAYA'
18, 2.79, 0.006, -0.472, 0.200, 0.17, 0.069, 1.41E-4, 1.36E-4, 0.006, 0.52, 0.35, 0.015, 0.35, 0.35, 0.35, 1.000, 0.050, 'LAVA'
19, 2.79, 0.01, -0.472, 0.339, 0.192, 0.069, 4.66E-5, 2.65E-5, 0.01, 0.92, 0.15, 0.009, 0.15, 0.15, 0.15, 1.000, 0.020, 'WHITE SAND'
Soil Parameters
STAS-RUC
19,1 'BB DRYSMC HC MAXSMC REFSMC SATPSI SATDK SATDW WLTSMC QTZ '
1, 4.05, 0.002, 1.47, 0.395, 0.174, 0.121, 1.76E-4, 0.608E-6, 0.033, 0.92, 'SAND'
2, 4.38, 0.035, 1.41, 0.410, 0.179, 0.090, 1.56E-4, 0.514E-5, 0.055, 0.82, 'LOAMY SAND'
3, 4.90, 0.041, 1.34, 0.435, 0.249, 0.218, 3.47E-5, 0.805E-5, 0.095, 0.60, 'SANDY LOAM'
4, 5.30, 0.034, 1.27, 0.485, 0.369, 0.786, 7.20E-6, 0.239E-4, 0.143, 0.25, 'SILT LOAM'
5, 5.30, 0.034, 1.27, 0.485, 0.369, 0.786, 7.20E-6, 0.239E-4, 0.143, 0.10, 'SILT'
6, 5.39, 0.050, 1.21, 0.451, 0.314, 0.478, 6.95E-6, 0.143E-4, 0.137, 0.40, 'LOAM'
7, 7.12, 0.068, 1.18, 0.420, 0.299, 0.299, 6.30E-6, 0.990E-5, 0.148, 0.60, 'SANDY CLAY LOAM'
8, 7.75, 0.060, 1.32, 0.477, 0.357, 0.356, 1.70E-6, 0.237E-4, 0.170, 0.10, 'SILTY CLAY LOAM'
9, 5.39, 0.050, 1.21, 0.451, 0.314, 0.478, 6.95E-6, 0.143E-4, 0.137, 0.40, 'CLAY LOAM'
10, 10.40, 0.070, 1.18, 0.426, 0.316, 0.153, 2.17E-6, 0.187E-4, 0.158, 0.52, 'SANDY CLAY'
11, 10.40, 0.070, 1.15, 0.492, 0.409, 0.490, 1.03E-6, 0.964E-5, 0.190, 0.10, 'SILTY CLAY'
12, 11.40, 0.068, 1.09, 0.482, 0.400, 0.405, 1.28E-6, 0.112E-4, 0.198, 0.25, 'CLAY'
13, 5.39, 0.027, 1.21, 0.451, 0.314, 0.478, 6.95E-6, 0.143E-4, 0.117, 0.05, 'ORGANIC MATERIAL'
14, 0.0, 0.0, 4.18, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.00, 'WATER'
15, 4.05, 0.004, 2.03, 0.200, 0.10 , 0.121, 1.41E-4, 0.136E-3, 0.006, 0.60, 'BEDROCK'
16, 4.90, 0.065, 2.10, 0.435, 0.249, 0.218, 3.47E-5, 0.514E-5, 0.114, 0.05, 'OTHER(land-ice)'
17, 11.40, 0.030, 1.41, 0.468, 0.454, 0.468, 9.74E-7, 0.112E-4, 0.030, 0.60, 'PLAYA'
18, 4.05, 0.006, 1.41, 0.200, 0.17, 0.069, 1.41E-4, 0.136E-3, 0.006, 0.52, 'LAVA'
19, 4.05, 0.01, 1.47, 0.339, 0.236, 0.069, 1.76E-4, 0.608E-6, 0.060, 0.92, 'WHITE SAND'
19,1 'BB DRYSMC HC MAXSMC REFSMC SATPSI SATDK SATDW WLTSMC QTZ BVIC AXAJ BXAJ XXAJ BDVIC BBVIC GDVIC '
1, 4.05, 0.002, 1.47, 0.395, 0.174, 0.121, 1.76E-4, 0.608E-6, 0.033, 0.92, 0.05, 0.009, 0.05, 0.05, 0.05, 1.000, 0.050, 'SAND'
2, 4.38, 0.035, 1.41, 0.410, 0.179, 0.090, 1.56E-4, 0.514E-5, 0.055, 0.82, 0.08, 0.010, 0.08, 0.08, 0.08, 1.010, 0.070, 'LOAMY SAND'
3, 4.90, 0.041, 1.34, 0.435, 0.249, 0.218, 3.47E-5, 0.805E-5, 0.095, 0.60, 0.09, 0.009, 0.09, 0.09, 0.09, 1.020, 0.130, 'SANDY LOAM'
4, 5.30, 0.034, 1.27, 0.485, 0.369, 0.786, 7.20E-6, 0.239E-4, 0.143, 0.25, 0.10, 0.010, 0.25, 0.25, 0.10, 1.025, 0.200, 'SILT LOAM'
5, 5.30, 0.034, 1.27, 0.485, 0.369, 0.786, 7.20E-6, 0.239E-4, 0.143, 0.10, 0.15, 0.012, 0.15, 0.15, 0.15, 1.000, 0.170, 'SILT'
6, 5.39, 0.050, 1.21, 0.451, 0.314, 0.478, 6.95E-6, 0.143E-4, 0.137, 0.40, 0.18, 0.013, 0.18, 0.18, 0.18, 1.000, 0.110, 'LOAM'
7, 7.12, 0.068, 1.18, 0.420, 0.299, 0.299, 6.30E-6, 0.990E-5, 0.148, 0.60, 0.20, 0.014, 0.20, 0.20, 0.20, 1.032, 0.260, 'SANDY CLAY LOAM'
8, 7.75, 0.060, 1.32, 0.477, 0.357, 0.356, 1.70E-6, 0.237E-4, 0.208, 0.10, 0.22, 0.015, 0.22, 0.22, 0.22, 1.035, 0.350, 'SILTY CLAY LOAM'
9, 8.52, 0.085, 1.23, 0.476, 0.391, 0.630, 2.45E-6, 0.113E-4, 0.230, 0.40, 0.23, 0.016, 0.23, 0.23, 0.23, 1.040, 0.260, 'CLAY LOAM'
10, 10.40, 0.070, 1.18, 0.426, 0.316, 0.153, 2.17E-6, 0.187E-4, 0.210, 0.52, 0.25, 0.015, 0.25, 0.25, 0.25, 1.042, 0.300, 'SANDY CLAY'
11, 10.40, 0.070, 1.15, 0.492, 0.409, 0.490, 1.03E-6, 0.964E-5, 0.250, 0.10, 0.28, 0.016, 0.28, 0.28, 0.28, 1.045, 0.380, 'SILTY CLAY'
12, 11.40, 0.068, 1.09, 0.482, 0.400, 0.405, 1.28E-6, 0.112E-4, 0.268, 0.25, 0.30, 0.017, 0.30, 0.30, 0.30, 1.000, 0.410, 'CLAY'
13, 5.39, 0.027, 1.21, 0.451, 0.314, 0.478, 6.95E-6, 0.143E-4, 0.117, 0.05, 0.26, 0.012, 0.26, 0.26, 0.26, 1.000, 0.500, 'ORGANIC MATERIAL'
14, 0.0, 0.0, 4.18, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.00, 0.00, 0.001, 0.00, 0.00, 0.00, 1.000, 0.001, 'WATER'
15, 4.05, 0.004, 2.03, 0.200, 0.10 , 0.121, 1.41E-4, 0.136E-3, 0.006, 0.60, 1.00, 0.017, 1.00, 1.00, 1.00, 1.000, 0.010, 'BEDROCK'
16, 4.90, 0.065, 2.10, 0.435, 0.249, 0.218, 3.47E-5, 0.514E-5, 0.114, 0.05, 1.00, 0.017, 1.00, 1.00, 1.00, 1.000, 0.001, 'OTHER(land-ice)'
17, 11.40, 0.030, 1.41, 0.468, 0.454, 0.468, 9.74E-7, 0.112E-4, 0.030, 0.60, 1.00, 0.017, 1.00, 1.00, 1.00, 1.000, 0.001, 'PLAYA'
18, 4.05, 0.006, 1.41, 0.200, 0.17, 0.069, 1.41E-4, 0.136E-3, 0.006, 0.52, 0.35, 0.015, 0.35, 0.35, 0.35, 1.000, 0.050, 'LAVA'
19, 4.05, 0.01, 1.47, 0.339, 0.236, 0.069, 1.76E-4, 0.608E-6, 0.060, 0.92, 0.15, 0.009, 0.15, 0.15, 0.15, 1.000, 0.020, 'WHITE SAND'

Loading