Skip to content

Commit

Permalink
Add PUMAS submodule and infrastructure
Browse files Browse the repository at this point in the history
  • Loading branch information
dustinswales committed Jan 29, 2025
1 parent a3f4d93 commit b5b10a5
Show file tree
Hide file tree
Showing 7 changed files with 1,010 additions and 0 deletions.
4 changes: 4 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,7 @@
path = physics/Radiation/RRTMGP/rte-rrtmgp
url = https://github.com/earth-system-radiation/rte-rrtmgp
branch = main
[submodule "PUMAS"]
path = physics/MP/pumas/PUMAS
url = https://github.com/dustinswales/PUMAS
branch = feature/pumas_microphysics
1 change: 1 addition & 0 deletions physics/MP/pumas/PUMAS
Submodule PUMAS added at 431bb2
59 changes: 59 additions & 0 deletions physics/MP/pumas/mp_pumas_post.F90
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
! ########################################################################################
!>\file mp_pumas_post.F90
!!

!> This module contains the post-processing step after calling the PUMAS microphysics.
!
! ########################################################################################
module mp_pumas_post
use machine, only: kind_phys, kind_dbl_postc

implicit none
public mp_pumas_post_init, mp_pumas_post_run, mp_pumas_post_finalize
contains
! ######################################################################################
!> \section arg_table_mp_pumas_post_init Argument Table
!! \htmlinclude mp_pumas_post_init.html
!!
! ######################################################################################
subroutine mp_pumas_post_init(errmsg, errflg)
character(len=*), intent( out) :: errmsg
integer, intent( out) :: errflg

! Initialize the CCPP error handling variables
errmsg = ''
errflg = 0

end subroutine mp_pumas_post_init

! ######################################################################################
!> \section arg_table_mp_pumas_post_run Argument Table
!! \htmlinclude mp_pumas_post_run.html
!!
! ######################################################################################
subroutine mp_pumas_post_run(errmsg, errflg)
character(len=*), intent( out) :: errmsg
integer, intent( out) :: errflg

! Initialize the CCPP error handling variables
errmsg = ''
errflg = 0

end subroutine mp_pumas_post_run

! ######################################################################################
!> \section arg_table_mp_pumas_post_finalize Argument Table
!! \htmlinclude mp_pumas_post_finalize.html
!!
! ######################################################################################
subroutine mp_pumas_post_finalize(errmsg, errflg)
character(len=*), intent( out) :: errmsg
integer, intent( out) :: errflg

! Initialize the CCPP error handling variables
errmsg = ''
errflg = 0

end subroutine mp_pumas_post_finalize

end module mp_pumas_post
64 changes: 64 additions & 0 deletions physics/MP/pumas/mp_pumas_post.meta
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
[ccpp-table-properties]
name = mp_pumas_post
type = scheme
dependencies = ../../hooks/machine.F

########################################################################
[ccpp-arg-table]
name = mp_pumas_post_init
type = scheme
[errmsg]
standard_name = ccpp_error_message
long_name = error message for error handling in CCPP
units = none
dimensions = ()
type = character
kind = len=*
intent = out
[errflg]
standard_name = ccpp_error_code
long_name = error code for error handling in CCPP
units = 1
dimensions = ()
type = integer
intent = out

########################################################################
[ccpp-arg-table]
name = mp_pumas_post_run
type = scheme
[errmsg]
standard_name = ccpp_error_message
long_name = error message for error handling in CCPP
units = none
dimensions = ()
type = character
kind = len=*
intent = out
[errflg]
standard_name = ccpp_error_code
long_name = error code for error handling in CCPP
units = 1
dimensions = ()
type = integer
intent = out

########################################################################
[ccpp-arg-table]
name = mp_pumas_post_finalize
type = scheme
[errmsg]
standard_name = ccpp_error_message
long_name = error message for error handling in CCPP
units = none
dimensions = ()
type = character
kind = len=*
intent = out
[errflg]
standard_name = ccpp_error_code
long_name = error code for error handling in CCPP
units = 1
dimensions = ()
type = integer
intent = out
59 changes: 59 additions & 0 deletions physics/MP/pumas/mp_pumas_pre.F90
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
! ########################################################################################
!>\file mp_pumas_pre.F90
!!

!> This module contains the pre-processing step prior to calling the PUMAS microphysics.
!
! ########################################################################################
module mp_pumas_pre
use machine, only: kind_phys, kind_dbl_prec

implicit none
public mp_pumas_pre_init, mp_pumas_pre_run, mp_pumas_pre_finalize
contains
! ######################################################################################
!> \section arg_table_mp_pumas_pre_init Argument Table
!! \htmlinclude mp_pumas_pre_init.html
!!
! ######################################################################################
subroutine mp_pumas_pre_init(errmsg, errflg)
character(len=*), intent( out) :: errmsg
integer, intent( out) :: errflg

! Initialize the CCPP error handling variables
errmsg = ''
errflg = 0

end subroutine mp_pumas_pre_init

! ######################################################################################
!> \section arg_table_mp_pumas_pre_run Argument Table
!! \htmlinclude mp_pumas_pre_run.html
!!
! ######################################################################################
subroutine mp_pumas_pre_run(errmsg, errflg)
character(len=*), intent( out) :: errmsg
integer, intent( out) :: errflg

! Initialize the CCPP error handling variables
errmsg = ''
errflg = 0

end subroutine mp_pumas_pre_run

! ######################################################################################
!> \section arg_table_mp_pumas_pre_finalize Argument Table
!! \htmlinclude mp_pumas_pre_finalize.html
!!
! ######################################################################################
subroutine mp_pumas_pre_finalize(errmsg, errflg)
character(len=*), intent( out) :: errmsg
integer, intent( out) :: errflg

! Initialize the CCPP error handling variables
errmsg = ''
errflg = 0

end subroutine mp_pumas_pre_finalize

end module mp_pumas_pre
65 changes: 65 additions & 0 deletions physics/MP/pumas/mp_pumas_pre.meta
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
[ccpp-table-properties]
name = mp_pumas_pre
type = scheme
dependencies = ../../hooks/machine.F
dependencies = PUMAS/micro_pumas_diags.F90

########################################################################
[ccpp-arg-table]
name = mp_pumas_pre_init
type = scheme
[errmsg]
standard_name = ccpp_error_message
long_name = error message for error handling in CCPP
units = none
dimensions = ()
type = character
kind = len=*
intent = out
[errflg]
standard_name = ccpp_error_code
long_name = error code for error handling in CCPP
units = 1
dimensions = ()
type = integer
intent = out

########################################################################
[ccpp-arg-table]
name = mp_pumas_pre_run
type = scheme
[errmsg]
standard_name = ccpp_error_message
long_name = error message for error handling in CCPP
units = none
dimensions = ()
type = character
kind = len=*
intent = out
[errflg]
standard_name = ccpp_error_code
long_name = error code for error handling in CCPP
units = 1
dimensions = ()
type = integer
intent = out

########################################################################
[ccpp-arg-table]
name = mp_pumas_pre_finalize
type = scheme
[errmsg]
standard_name = ccpp_error_message
long_name = error message for error handling in CCPP
units = none
dimensions = ()
type = character
kind = len=*
intent = out
[errflg]
standard_name = ccpp_error_code
long_name = error code for error handling in CCPP
units = 1
dimensions = ()
type = integer
intent = out
Loading

0 comments on commit b5b10a5

Please sign in to comment.