-
Notifications
You must be signed in to change notification settings - Fork 12
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #244 from kuanchihwang/feature-mpas-dycore-stub-in…
…terface Stub interface for MPAS dynamical core
- Loading branch information
Showing
7 changed files
with
145 additions
and
8 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
/src/core_atmosphere | ||
/src/driver | ||
/src/external | ||
/src/framework | ||
/src/operators | ||
/src/tools | ||
/src/Makefile |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
module dyn_comp | ||
use runtime_obj, only: runtime_options | ||
|
||
implicit none | ||
|
||
private | ||
! Provide APIs required by CAM Control. | ||
public :: dyn_import_t | ||
public :: dyn_export_t | ||
public :: dyn_readnl | ||
public :: dyn_init | ||
! public :: dyn_run | ||
! public :: dyn_final | ||
|
||
type dyn_import_t | ||
end type dyn_import_t | ||
|
||
type dyn_export_t | ||
end type dyn_export_t | ||
contains | ||
|
||
! Called by `read_namelist` in `src/control/runtime_opts.F90`. | ||
subroutine dyn_readnl(namelist_path) | ||
character(*), intent(in) :: namelist_path | ||
end subroutine dyn_readnl | ||
|
||
! Called by `cam_init` in `src/control/cam_comp.F90`. | ||
subroutine dyn_init(cam_runtime_opts, dyn_in, dyn_out) | ||
type(runtime_options), intent(in) :: cam_runtime_opts | ||
type(dyn_import_t), intent(out) :: dyn_in | ||
type(dyn_export_t), intent(out) :: dyn_out | ||
end subroutine dyn_init | ||
|
||
! Not used for now. Intended to be called by `stepon_run*` in `src/dynamics/mpas/stepon.F90`. | ||
! subroutine dyn_run() | ||
! end subroutine dyn_run | ||
|
||
! Not used for now. Intended to be called by `stepon_final` in `src/dynamics/mpas/stepon.F90`. | ||
! subroutine dyn_final() | ||
! end subroutine dyn_final | ||
|
||
end module dyn_comp |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
module dyn_grid | ||
implicit none | ||
|
||
private | ||
! Provide APIs required by CAM Control. | ||
public :: model_grid_init | ||
contains | ||
|
||
! Called by `cam_init` in `src/control/cam_comp.F90`. | ||
subroutine model_grid_init() | ||
end subroutine model_grid_init | ||
|
||
end module dyn_grid |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
module stepon | ||
use camsrfexch, only: cam_out_t | ||
use dyn_comp, only: dyn_import_t, dyn_export_t | ||
use physics_types, only: physics_state, physics_tend | ||
use runtime_obj, only: runtime_options | ||
use shr_kind_mod, only: r8 => shr_kind_r8 | ||
|
||
implicit none | ||
|
||
private | ||
! Provide APIs required by CAM Control. | ||
public :: stepon_init | ||
public :: stepon_run1 | ||
public :: stepon_run2 | ||
public :: stepon_run3 | ||
public :: stepon_final | ||
contains | ||
|
||
! Called by `cam_init` in `src/control/cam_comp.F90`. | ||
subroutine stepon_init(cam_runtime_opts, dyn_in, dyn_out) | ||
type(runtime_options), intent(in) :: cam_runtime_opts | ||
type(dyn_import_t), intent(in) :: dyn_in | ||
type(dyn_export_t), intent(in) :: dyn_out | ||
end subroutine stepon_init | ||
|
||
! Called by `cam_run1` in `src/control/cam_comp.F90`. | ||
subroutine stepon_run1(dtime_phys, cam_runtime_opts, phys_state, phys_tend, dyn_in, dyn_out) | ||
real(r8), intent(out) :: dtime_phys | ||
type(runtime_options), intent(in) :: cam_runtime_opts | ||
type(physics_state), intent(inout) :: phys_state | ||
type(physics_tend), intent(inout) :: phys_tend | ||
type(dyn_import_t), intent(inout) :: dyn_in | ||
type(dyn_export_t), intent(inout) :: dyn_out | ||
end subroutine stepon_run1 | ||
|
||
! Called by `cam_run2` in `src/control/cam_comp.F90`. | ||
subroutine stepon_run2(cam_runtime_opts, phys_state, phys_tend, dyn_in, dyn_out) | ||
type(runtime_options), intent(in) :: cam_runtime_opts | ||
type(physics_state), intent(inout) :: phys_state | ||
type(physics_tend), intent(inout) :: phys_tend | ||
type(dyn_import_t), intent(inout) :: dyn_in | ||
type(dyn_export_t), intent(inout) :: dyn_out | ||
end subroutine stepon_run2 | ||
|
||
! Called by `cam_run3` in `src/control/cam_comp.F90`. | ||
subroutine stepon_run3(dtime_phys, cam_runtime_opts, cam_out, phys_state, dyn_in, dyn_out) | ||
real(r8), intent(in) :: dtime_phys | ||
type(runtime_options), intent(in) :: cam_runtime_opts | ||
type(cam_out_t), intent(inout) :: cam_out | ||
type(physics_state), intent(inout) :: phys_state | ||
type(dyn_import_t), intent(inout) :: dyn_in | ||
type(dyn_export_t), intent(inout) :: dyn_out | ||
end subroutine stepon_run3 | ||
|
||
! Called by `cam_final` in `src/control/cam_comp.F90`. | ||
subroutine stepon_final(cam_runtime_opts, dyn_in, dyn_out) | ||
type(runtime_options), intent(in) :: cam_runtime_opts | ||
type(dyn_import_t), intent(inout) :: dyn_in | ||
type(dyn_export_t), intent(inout) :: dyn_out | ||
end subroutine stepon_final | ||
|
||
end module stepon |