Skip to content
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
6 changes: 6 additions & 0 deletions src/core_atmosphere/physics/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ OBJS = \
mpas_atmphys_packages.o \
mpas_atmphys_rrtmg_lwinit.o \
mpas_atmphys_rrtmg_swinit.o \
mpas_atmphys_sfc_diagnostics.o \
mpas_atmphys_todynamics.o \
mpas_atmphys_update_surface.o \
mpas_atmphys_update.o \
Expand Down Expand Up @@ -103,6 +104,7 @@ mpas_atmphys_driver.o: \
mpas_atmphys_driver_oml.o \
mpas_atmphys_constants.o \
mpas_atmphys_interface.o \
mpas_atmphys_sfc_diagnostics.o \
mpas_atmphys_update.o \
mpas_atmphys_vars.o

Expand Down Expand Up @@ -220,6 +222,10 @@ mpas_atmphys_rrtmg_swinit.o: \
mpas_atmphys_constants.o \
mpas_atmphys_utilities.o

mpas_atmphys_sfc_diagnostics.o: \
mpas_atmphys_constants.o \
mpas_atmphys_vars.o

mpas_atmphys_todynamics.o: \
mpas_atmphys_constants.o \
mpas_atmphys_vars.o
Expand Down
6 changes: 6 additions & 0 deletions src/core_atmosphere/physics/Registry_noahmp.xml
Original file line number Diff line number Diff line change
Expand Up @@ -360,12 +360,18 @@
<var name="t2mbxy" type="real" dimensions="nCells Time" units="K"
description="2-meter temperature over bare ground" missing_value="-9999.0"/>

<var name="t2mxy" type="real" dimensions="nCells Time" units="K"
description="grid-mean 2-meter temperature" missing_value="-9999.0"/>

<var name="q2mvxy" type="real" dimensions="nCells Time" units="kg kg^{-1}"
description="2-meter water vapor mixing ratio over canopy" missing_value="-9999.0"/>

<var name="q2mbxy" type="real" dimensions="nCells Time" units="kg kg^{-1}"
description="2-meter water vapor mixing ratio over bare ground" missing_value="-9999.0"/>

<var name="q2mxy" type="real" dimensions="nCells Time" units="kg kg^{-1}"
description="grid-mean 2-meter water vapor mixing ratio" missing_value="-9999.0"/>

<var name="tradxy" type="real" dimensions="nCells Time" units="K"
description="surface radiative temperature" missing_value="-9999.0"/>

Expand Down
12 changes: 10 additions & 2 deletions src/core_atmosphere/physics/mpas_atmphys_driver.F
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ module mpas_atmphys_driver
use mpas_atmphys_driver_oml
use mpas_atmphys_constants
use mpas_atmphys_interface
use mpas_atmphys_sfc_diagnostics,only: atmphys_sfc_diagnostics
use mpas_atmphys_update
use mpas_atmphys_vars, only: l_camlw,l_conv,l_radtlw,l_radtsw
use mpas_timer
Expand Down Expand Up @@ -296,14 +297,21 @@ subroutine physics_driver(domain,itimestep,xtime_s)
enddo
endif

call allocate_seaice
call allocate_seaice(block%configs)
!$OMP PARALLEL DO
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
call deallocate_seaice(block%configs)

!$OMP PARALLEL DO
do thread=1,nThreads
call atmphys_sfc_diagnostics(block%configs,mesh,diag,diag_physics,sfc_input,output_noahmp, &
cellSolveThreadStart(thread),cellSolveThreadEnd(thread))
enddo
!$OMP END PARALLEL DO
endif

!call to pbl schemes:
Expand Down
32 changes: 14 additions & 18 deletions src/core_atmosphere/physics/mpas_atmphys_driver_lsm_noahmp.F
Original file line number Diff line number Diff line change
Expand Up @@ -84,11 +84,11 @@ subroutine lsm_noahmp_fromMPAS(configs,mesh,diag,diag_physics,diag_physics_noahm


!--- local OUT pointers (with no Noah LSM equivalent as defined in WRF):
real(kind=RKIND),dimension(:),pointer:: t2mvxy,t2mbxy,q2mvxy,q2mbxy,tradxy,neexy,gppxy,nppxy,fvegxy,runsfxy, &
runsbxy,ecanxy,edirxy,etranxy,fsaxy,firaxy,aparxy,psnxy,savxy,sagxy, &
rssunxy,rsshaxy,bgapxy,wgapxy,tgvxy,tgbxy,chvxy,chbxy,shgxy,shcxy, &
shbxy,evgxy,evbxy,ghvxy,ghbxy,irgxy,ircxy,irbxy,trxy,evcxy,chleafxy, &
chucxy,chv2xy,chb2xy,rs,qtdrain
real(kind=RKIND),dimension(:),pointer:: tradxy,neexy,gppxy,nppxy,fvegxy,runsfxy,runsbxy,ecanxy,edirxy, &
etranxy,fsaxy,firaxy,aparxy,psnxy,savxy,sagxy,rssunxy,rsshaxy, &
bgapxy,wgapxy,tgvxy,tgbxy,chvxy,chbxy,shgxy,shcxy,shbxy,evgxy, &
evbxy,ghvxy,ghbxy,irgxy,ircxy,irbxy,trxy,evcxy,chleafxy,chucxy, &
chv2xy,chb2xy,rs,qtdrain


!--- local OUT additional variables:
Expand Down Expand Up @@ -375,10 +375,6 @@ subroutine lsm_noahmp_fromMPAS(configs,mesh,diag,diag_physics,diag_physics_noahm

!--- initialization of OUT (with no Noah LSM equivalent as defined in WRF), i.e.
! see lines 242-290 in module NoahmpIOVarType.F90):
call mpas_pool_get_array(output_noahmp,'t2mvxy' ,t2mvxy )
call mpas_pool_get_array(output_noahmp,'t2mbxy' ,t2mbxy )
call mpas_pool_get_array(output_noahmp,'q2mvxy' ,q2mvxy )
call mpas_pool_get_array(output_noahmp,'q2mbxy' ,q2mbxy )
call mpas_pool_get_array(output_noahmp,'tradxy' ,tradxy )
call mpas_pool_get_array(output_noahmp,'neexy' ,neexy )
call mpas_pool_get_array(output_noahmp,'gppxy' ,gppxy )
Expand Down Expand Up @@ -423,10 +419,6 @@ subroutine lsm_noahmp_fromMPAS(configs,mesh,diag,diag_physics,diag_physics_noahm
call mpas_pool_get_array(output_noahmp,'qtdrain',qtdrain )

do i = its,ite
mpas_noahmp%t2mvxy(i) = t2mvxy(i)
mpas_noahmp%t2mbxy(i) = t2mbxy(i)
mpas_noahmp%q2mvxy(i) = q2mvxy(i)
mpas_noahmp%q2mbxy(i) = q2mbxy(i)
mpas_noahmp%tradxy(i) = tradxy(i)
mpas_noahmp%neexy(i) = neexy(i)
mpas_noahmp%gppxy(i) = gppxy(i)
Expand Down Expand Up @@ -685,11 +677,11 @@ subroutine lsm_noahmp_toMPAS(diag_physics,diag_physics_noahmp,output_noahmp,sfc_


!--- local OUT pointers (with no Noah LSM equivalent as defined in WRF):
real(kind=RKIND),dimension(:),pointer:: t2mvxy,t2mbxy,q2mvxy,q2mbxy,tradxy,neexy,gppxy,nppxy,fvegxy,runsfxy, &
runsbxy,ecanxy,edirxy,etranxy,fsaxy,firaxy,aparxy,psnxy,savxy,sagxy, &
rssunxy,rsshaxy,bgapxy,wgapxy,tgvxy,tgbxy,chvxy,chbxy,shgxy,shcxy, &
shbxy,evgxy,evbxy,ghvxy,ghbxy,irgxy,ircxy,irbxy,trxy,evcxy,chleafxy, &
chucxy,chv2xy,chb2xy,rs,qtdrain
real(kind=RKIND),dimension(:),pointer:: t2mvxy,t2mbxy,t2mxy,q2mvxy,q2mbxy,q2mxy,tradxy,neexy,gppxy,nppxy, &
fvegxy,runsfxy,runsbxy,ecanxy,edirxy,etranxy,fsaxy,firaxy,aparxy, &
psnxy,savxy,sagxy,rssunxy,rsshaxy,bgapxy,wgapxy,tgvxy,tgbxy,chvxy, &
chbxy,shgxy,shcxy,shbxy,evgxy,evbxy,ghvxy,ghbxy,irgxy,ircxy,irbxy, &
trxy,evcxy,chleafxy,chucxy,chv2xy,chb2xy,rs,qtdrain


!--- local OUT additional variables:
Expand Down Expand Up @@ -865,8 +857,10 @@ subroutine lsm_noahmp_toMPAS(diag_physics,diag_physics_noahmp,output_noahmp,sfc_
! lines 242-290 in module NoahmpIOVarType.F90:
call mpas_pool_get_array(output_noahmp,'t2mvxy' ,t2mvxy )
call mpas_pool_get_array(output_noahmp,'t2mbxy' ,t2mbxy )
call mpas_pool_get_array(output_noahmp,'t2mxy' ,t2mxy )
call mpas_pool_get_array(output_noahmp,'q2mvxy' ,q2mvxy )
call mpas_pool_get_array(output_noahmp,'q2mbxy' ,q2mbxy )
call mpas_pool_get_array(output_noahmp,'q2mxy' ,q2mxy )
call mpas_pool_get_array(output_noahmp,'tradxy' ,tradxy )
call mpas_pool_get_array(output_noahmp,'neexy' ,neexy )
call mpas_pool_get_array(output_noahmp,'gppxy' ,gppxy )
Expand Down Expand Up @@ -913,8 +907,10 @@ subroutine lsm_noahmp_toMPAS(diag_physics,diag_physics_noahmp,output_noahmp,sfc_
do i = its,ite
t2mvxy(i) = mpas_noahmp%t2mvxy(i)
t2mbxy(i) = mpas_noahmp%t2mbxy(i)
t2mxy(i) = mpas_noahmp%t2mxy(i)
q2mvxy(i) = mpas_noahmp%q2mvxy(i)
q2mbxy(i) = mpas_noahmp%q2mbxy(i)
q2mxy(i) = mpas_noahmp%q2mxy(i)
tradxy(i) = mpas_noahmp%tradxy(i)
neexy(i) = mpas_noahmp%neexy(i)
gppxy(i) = mpas_noahmp%gppxy(i)
Expand Down
Loading