-
Notifications
You must be signed in to change notification settings - Fork 157
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
doxygenated fv3_cap.F90 #819
Draft
AlysonStahl-NOAA
wants to merge
6
commits into
NOAA-EMC:develop
Choose a base branch
from
AlysonStahl-NOAA:as_2
base: develop
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Changes from all commits
Commits
Show all changes
6 commits
Select commit
Hold shift + click to select a range
28a9fee
doxygenated fv3_cap.F90
AlysonStahl-NOAA 6111fcd
more doxygen updates
AlysonStahl-NOAA f72b87d
reverted recent changes in fv_moving_nest_main.F90
AlysonStahl-NOAA 88d1c2f
second attempt at reverting changes to resolve file comparison issue
AlysonStahl-NOAA cc884cc
doxygen update in fv_moving_nest_main.F90
AlysonStahl-NOAA 05cc6ab
Merge branch 'NOAA-EMC:develop' into as_2
AlysonStahl-NOAA File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,16 +1,20 @@ | ||
!--------------- FV3 ATM solo model ---------------- | ||
! | ||
!*** The FV3 atmosphere grid component nuopc cap | ||
! | ||
! Author: Jun [email protected] | ||
! | ||
! revision history | ||
! 11 Oct 2016: J. Wang Initial code | ||
! 18 Apr 2017: J. Wang set up fcst grid component and write grid components | ||
! 24 Jul 2017: J. Wang initialization and time stepping changes for coupling | ||
! 02 Nov 2017: J. Wang Use Gerhard's transferable RouteHandle | ||
! | ||
|
||
!> @file | ||
!> @brief The FV3 atmosphere grid component nuopc cap. | ||
!> @author Jun Wang @date 01/2017 | ||
|
||
!> @brief The FV3 atmosphere grid component nuopc cap. | ||
!> | ||
!> FV3 ATM solo model | ||
!> | ||
!> ## Module History | ||
!> Date | Author | Modification | ||
!> -----|--------|------------- | ||
!> 11 Oct 2016 | J. Wang | Initial code | ||
!> 18 Apr 2017 | J. Wang | set up fcst grid component and write grid components | ||
!> 24 Jul 2017 | J. Wang | initialization and time stepping changes for coupling | ||
!> 02 Nov 2017 | J. Wang | Use Gerhard's transferable RouteHandle | ||
!> | ||
!> @author Jun Wang @date 01/2017 | ||
module fv3atm_cap_mod | ||
|
||
use ESMF | ||
|
@@ -56,30 +60,61 @@ module fv3atm_cap_mod | |
! | ||
!----------------------------------------------------------------------- | ||
! | ||
|
||
!> ??? | ||
type(ESMF_GridComp) :: fcstComp | ||
|
||
!> ??? | ||
type(ESMF_State) :: fcstState | ||
|
||
!> ??? | ||
type(ESMF_FieldBundle), allocatable :: fcstFB(:) | ||
|
||
!> ??? | ||
integer,dimension(:), allocatable :: fcstPetList | ||
|
||
!> ??? | ||
integer, save :: FBCount | ||
|
||
!> ??? | ||
type(ESMF_GridComp), allocatable :: wrtComp(:) | ||
|
||
!> ??? | ||
type(ESMF_State), allocatable :: wrtState(:) | ||
|
||
!> ??? | ||
type(ESMF_FieldBundle), allocatable :: wrtFB(:,:) | ||
|
||
!> ??? | ||
type(ESMF_RouteHandle), allocatable :: routehandle(:,:) | ||
|
||
!> ??? | ||
type(ESMF_RouteHandle), allocatable :: gridRedistRH(:,:) | ||
|
||
!> ??? | ||
type(ESMF_Grid), allocatable :: srcGrid(:,:), dstGrid(:,:) | ||
|
||
!> ??? | ||
logical, allocatable :: is_moving_FB(:) | ||
|
||
!> ??? | ||
logical :: profile_memory = .true. | ||
|
||
!> ??? | ||
logical :: write_runtimelog = .false. | ||
|
||
!> ??? | ||
logical :: lprint = .false. | ||
|
||
!> ??? | ||
integer :: mype = -1 | ||
|
||
!> ??? | ||
integer :: dbug = 0 | ||
|
||
!> ??? | ||
integer :: frestart(999) = -1 | ||
|
||
!> ??? | ||
real(kind=8) :: timere, timep2re | ||
!----------------------------------------------------------------------- | ||
|
||
|
@@ -89,6 +124,12 @@ module fv3atm_cap_mod | |
!------------------- Solo fv3atm code starts here ---------------------- | ||
!----------------------------------------------------------------------- | ||
|
||
!> ??? | ||
!> | ||
!> @param gcomp ??? | ||
!> @param rc Return code. | ||
!> | ||
!> @author | ||
subroutine SetServices(gcomp, rc) | ||
|
||
type(ESMF_GridComp) :: gcomp | ||
|
@@ -169,6 +210,12 @@ end subroutine SetServices | |
|
||
!----------------------------------------------------------------------------- | ||
|
||
!> ??? | ||
!> | ||
!> @param gcomp ??? | ||
!> @param rc Return code. | ||
!> | ||
!> @author | ||
subroutine InitializeAdvertise(gcomp, rc) | ||
|
||
type(ESMF_GridComp) :: gcomp | ||
|
@@ -972,6 +1019,12 @@ end subroutine InitializeAdvertise | |
|
||
!----------------------------------------------------------------------------- | ||
|
||
!> ??? | ||
!> | ||
!> @param gcomp ??? | ||
!> @param rc Return code. | ||
!> | ||
!> @author | ||
subroutine InitializeRealize(gcomp, rc) | ||
type(ESMF_GridComp) :: gcomp | ||
integer, intent(out) :: rc | ||
|
@@ -1009,6 +1062,12 @@ end subroutine InitializeRealize | |
|
||
!----------------------------------------------------------------------------- | ||
|
||
!> ??? | ||
!> | ||
!> @param gcomp ??? | ||
!> @param rc Return code. | ||
!> | ||
!> @author | ||
subroutine ModelAdvance(gcomp, rc) | ||
|
||
type(ESMF_GridComp) :: gcomp | ||
|
@@ -1038,6 +1097,12 @@ end subroutine ModelAdvance | |
|
||
!----------------------------------------------------------------------------- | ||
|
||
!> ??? | ||
!> | ||
!> @param gcomp ??? | ||
!> @param rc Return code. | ||
!> | ||
!> @author | ||
subroutine ModelAdvance_phase1(gcomp, rc) | ||
type(ESMF_GridComp) :: gcomp | ||
integer, intent(out) :: rc | ||
|
@@ -1092,6 +1157,12 @@ end subroutine ModelAdvance_phase1 | |
|
||
!----------------------------------------------------------------------------- | ||
|
||
!> ??? | ||
!> | ||
!> @param gcomp ??? | ||
!> @param rc Return code. | ||
!> | ||
!> @author | ||
subroutine ModelAdvance_phase2(gcomp, rc) | ||
type(ESMF_GridComp) :: gcomp | ||
integer, intent(out) :: rc | ||
|
@@ -1229,6 +1300,12 @@ end subroutine ModelAdvance_phase2 | |
|
||
!----------------------------------------------------------------------------- | ||
|
||
!> ??? | ||
!> | ||
!> @param gcomp ??? | ||
!> @param rc Return code. | ||
!> | ||
!> @author | ||
subroutine ModelSetRunClock(gcomp, rc) | ||
|
||
type(ESMF_GridComp) :: gcomp | ||
|
@@ -1263,6 +1340,12 @@ end subroutine ModelSetRunClock | |
|
||
!----------------------------------------------------------------------------- | ||
|
||
!> ??? | ||
!> | ||
!> @param gcomp ??? | ||
!> @param rc Return code. | ||
!> | ||
!> @author | ||
subroutine fv3_checkimport(gcomp, rc) | ||
|
||
!*** Check the import state fields | ||
|
@@ -1352,6 +1435,12 @@ end subroutine fv3_checkimport | |
|
||
!----------------------------------------------------------------------------- | ||
|
||
!> ??? | ||
!> | ||
!> @param gcomp ??? | ||
!> @param rc Return code. | ||
!> | ||
!> @author | ||
subroutine TimestampExport_phase1(gcomp, rc) | ||
|
||
! input arguments | ||
|
@@ -1382,6 +1471,12 @@ end subroutine TimestampExport_phase1 | |
|
||
!----------------------------------------------------------------------------- | ||
|
||
!> ??? | ||
!> | ||
!> @param gcomp ??? | ||
!> @param rc Return code. | ||
!> | ||
!> @author | ||
subroutine ModelFinalize(gcomp, rc) | ||
|
||
! input arguments | ||
|
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 |
---|---|---|
@@ -1,3 +1,7 @@ | ||
!> @file | ||
!> @brief Provides subroutines for grid bounding boxes for moving nest. | ||
!> @author W. Ramstrom ([email protected]), AOML/HRD @date 07/28/2021 | ||
|
||
!*********************************************************************** | ||
!* GNU General Public License * | ||
!* This file is a part of fvGFS. * | ||
|
@@ -18,14 +22,9 @@ | |
!* or see: http://www.gnu.org/licenses/gpl.html * | ||
!*********************************************************************** | ||
|
||
!*********************************************************************** | ||
!> @file | ||
!! @brief Provides subroutines for grid bounding boxes for moving nest | ||
!! @author W. Ramstrom, AOML/HRD 07/28/2021 | ||
!! @email [email protected] | ||
!=======================================================================! | ||
|
||
|
||
!> @brief Provides subroutines for grid bounding boxes for moving nest. | ||
!> | ||
!> @author W. Ramstrom, AOML/HRD @date 07/28/2021 | ||
module bounding_box_mod | ||
use mpp_domains_mod, only : mpp_get_C2F_index, nest_domain_type | ||
use mpp_mod, only : mpp_pe | ||
|
@@ -37,12 +36,16 @@ module bounding_box_mod | |
use IPD_typedefs, only : kind_phys => IPD_kind_phys | ||
#endif | ||
|
||
! Simple aggregation of the start and end indices of a 2D grid | ||
! Makes argument lists clearer to read | ||
!> Simple aggregation of the start and end indices of a 2D grid. | ||
!> Makes argument lists clearer to read. | ||
type bbox | ||
integer :: is, ie, js, je | ||
integer :: is !< ??? | ||
integer :: ie !< ??? | ||
integer :: js !< ??? | ||
integer :: je !< ??? | ||
end type bbox | ||
|
||
!> ??? | ||
interface fill_bbox | ||
module procedure fill_bbox_r4_2d | ||
module procedure fill_bbox_r4_3d | ||
|
@@ -54,6 +57,12 @@ module bounding_box_mod | |
|
||
contains | ||
|
||
!> ??? | ||
!> | ||
!> @param[out] out_bbox ??? | ||
!> @param[out] in_grid ??? | ||
!> | ||
!> @author W. Ramstrom, AOML/HRD @date 07/28/2021 | ||
subroutine fill_bbox_r4_2d(out_bbox, in_grid) | ||
type(bbox), intent(out) :: out_bbox | ||
real*4, allocatable, intent(in) :: in_grid(:,:) | ||
|
@@ -64,7 +73,12 @@ subroutine fill_bbox_r4_2d(out_bbox, in_grid) | |
out_bbox%je = ubound(in_grid, 2) | ||
end subroutine fill_bbox_r4_2d | ||
|
||
|
||
!> ??? | ||
!> | ||
!> @param[out] out_bbox ??? | ||
!> @param[out] in_grid ??? | ||
!> | ||
!> @author W. Ramstrom, AOML/HRD @date 07/28/2021 | ||
subroutine fill_bbox_r4_3d(out_bbox, in_grid) | ||
type(bbox), intent(out) :: out_bbox | ||
real*4, allocatable, intent(in) :: in_grid(:,:,:) | ||
|
@@ -75,6 +89,12 @@ subroutine fill_bbox_r4_3d(out_bbox, in_grid) | |
out_bbox%je = ubound(in_grid, 2) | ||
end subroutine fill_bbox_r4_3d | ||
|
||
!> ??? | ||
!> | ||
!> @param[out] out_bbox ??? | ||
!> @param[out] in_grid ??? | ||
!> | ||
!> @author W. Ramstrom, AOML/HRD @date 07/28/2021 | ||
subroutine fill_bbox_r4_4d(out_bbox, in_grid) | ||
type(bbox), intent(out) :: out_bbox | ||
real*4, allocatable, intent(in) :: in_grid(:,:,:,:) | ||
|
@@ -85,7 +105,12 @@ subroutine fill_bbox_r4_4d(out_bbox, in_grid) | |
out_bbox%je = ubound(in_grid, 2) | ||
end subroutine fill_bbox_r4_4d | ||
|
||
|
||
!> ??? | ||
!> | ||
!> @param[out] out_bbox ??? | ||
!> @param[out] in_grid ??? | ||
!> | ||
!> @author W. Ramstrom, AOML/HRD @date 07/28/2021 | ||
subroutine fill_bbox_r8_2d(out_bbox, in_grid) | ||
type(bbox), intent(out) :: out_bbox | ||
real*8, allocatable, intent(in) :: in_grid(:,:) | ||
|
@@ -96,6 +121,12 @@ subroutine fill_bbox_r8_2d(out_bbox, in_grid) | |
out_bbox%je = ubound(in_grid, 2) | ||
end subroutine fill_bbox_r8_2d | ||
|
||
!> ??? | ||
!> | ||
!> @param[out] out_bbox ??? | ||
!> @param[out] in_grid ??? | ||
!> | ||
!> @author W. Ramstrom, AOML/HRD @date 07/28/2021 | ||
subroutine fill_bbox_r8_3d(out_bbox, in_grid) | ||
type(bbox), intent(out) :: out_bbox | ||
real*8, allocatable, intent(in) :: in_grid(:,:,:) | ||
|
@@ -106,7 +137,12 @@ subroutine fill_bbox_r8_3d(out_bbox, in_grid) | |
out_bbox%je = ubound(in_grid, 2) | ||
end subroutine fill_bbox_r8_3d | ||
|
||
|
||
!> ??? | ||
!> | ||
!> @param[out] out_bbox ??? | ||
!> @param[out] in_grid ??? | ||
!> | ||
!> @author W. Ramstrom, AOML/HRD @date 07/28/2021 | ||
subroutine fill_bbox_r8_4d(out_bbox, in_grid) | ||
type(bbox), intent(out) :: out_bbox | ||
real*8, allocatable, intent(in) :: in_grid(:,:,:,:) | ||
|
@@ -117,9 +153,17 @@ subroutine fill_bbox_r8_4d(out_bbox, in_grid) | |
out_bbox%je = ubound(in_grid, 2) | ||
end subroutine fill_bbox_r8_4d | ||
|
||
|
||
!>@brief This subroutine returns the nest grid indices that correspond to the input nest domain, direction, and position | ||
!>@details Simplifies the call signature with the bbox type rather than 4 separate integers | ||
!> This subroutine returns the nest grid indices that correspond to | ||
!> the input nest domain, direction, and position @details Simplifies | ||
!> the call signature with the bbox type rather than 4 separate | ||
!> integers. | ||
!> @param[out] nest_domain ??? | ||
!> @param[out] bbox_fine ??? | ||
!> @param[out] bbox_coarse ??? | ||
!> @param[out] direction ??? | ||
!> @param[out] position ??? | ||
!> | ||
!> @author W. Ramstrom, AOML/HRD @date 07/28/2021 | ||
subroutine bbox_get_C2F_index(nest_domain, bbox_fine, bbox_coarse, direction, position) | ||
implicit none | ||
type(nest_domain_type), intent(in) :: nest_domain | ||
|
@@ -133,4 +177,4 @@ subroutine bbox_get_C2F_index(nest_domain, bbox_fine, bbox_coarse, direction, p | |
|
||
end subroutine bbox_get_C2F_index | ||
|
||
end module bounding_box_mod | ||
end module bounding_box_mod |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All these variables are local (private) variables and are not accessible outside the module. Are you going to add doxygen the every local variable in every module and subroutine? I thought we are adding doxygen just to subroutine arguments and public module variables.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We will not be adding doxygen for any subprogram variables.
Good question about private module variables, I will investigate and get back to you. My hunch is that doxygen doesn't distinguish between different types of module variables.
We need to document all the module variables that doxygen will complain about if undocumented. This is so we can turn on warning-check and ensure that no undocumented code is committed to the repo.