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
2 changes: 1 addition & 1 deletion FElib/src/VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.9.0
1.0.0
4 changes: 2 additions & 2 deletions FElib/src/common/scale_coriolis_param.F90
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
!-------------------------------------------------------------------------------
!> module common / Coriolis parameter
!> Module common / Coriolis parameter
!!
!! @par Description
!! Setup coriolis parameter (for regional model)
Expand Down Expand Up @@ -47,7 +47,7 @@ subroutine get_coriolis_parameter( &
integer, intent(in) :: Np !< Array size
real(RP), intent(out) :: coriolis(Np) !< Array storing Coriolis parameter
character(*), intent(in) :: COLIORIS_type !< Type of Coriolis parameter [PLANE / SPHERE / NONE]
real(RP), intent(in), optional :: y(Np) !< Y-coordinate which is used when COLIORIS_type=PLANE
real(RP), intent(in), optional :: y(Np) !< y-coordinate which is used when COLIORIS_type=PLANE
real(RP), intent(in), optional :: f0 !< Value of Coriolis parameter at reference latitude which is used when COLIORIS_type=PLANE
real(RP), intent(in), optional :: beta !< Rossby parameter at reference latitude which is used when COLIORIS_type=PLANE
real(RP), intent(in), optional :: y0 !< Distance from reference latitude
Expand Down
2 changes: 1 addition & 1 deletion FElib/src/common/scale_cubedsphere_coord_cnv.F90
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
!-------------------------------------------------------------------------------
!> module common / Coordinate conversion with a cubed-sphere
!> Module common / Coordinate conversion with cubed-sphere projection
!!
!! @par Description
!! A module to provide coordinate conversions with an equiangular gnomonic cubed-sphere projection
Expand Down
2 changes: 1 addition & 1 deletion FElib/src/common/scale_fast_fourier_transform.F90
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
!-------------------------------------------------------------------------------
!> module common / FFT
!> Module common / FFT
!!
!! @par Description
!! A module to provide a fast Fourier transformation
Expand Down
2 changes: 1 addition & 1 deletion FElib/src/common/scale_geographic_coord_cnv.F90
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
!> module common / Coordinate conversion with a geographic coordinate
!> Module common / Coordinate conversion with a geographic coordinate
!!
!! @par Description
!! A module to provide coordinate conversions with a geographic coordinate
Expand Down
3 changes: 2 additions & 1 deletion FElib/src/common/scale_gmres.F90
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
!-------------------------------------------------------------------------------
!> module common / GMRES
!> Module common / GMRES
!!
!! @par Description
!! A module to provide a iterative solver for system of linear equations using generalized minimal residual method (GMRES)
Expand Down Expand Up @@ -29,6 +29,7 @@ module scale_gmres
!++ Public type
!

!> Derived type to provide a iterative solver for system of linear equations using GMRES
type, public :: GMRES
real(RP) :: EPS
real(RP) :: EPS0
Expand Down
2 changes: 1 addition & 1 deletion FElib/src/common/scale_linalgebra.F90
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
!> module common / Linear algebra
!> Module common / Linear algebra
!!
!! @par Description
!! A module to provide utilities for linear algebra
Expand Down
2 changes: 1 addition & 1 deletion FElib/src/common/scale_linkedlist.F90
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
!> module common / data collection
!> Module common / data collection
!!
!! @par Description
!! A module to provide linked list
Expand Down
2 changes: 1 addition & 1 deletion FElib/src/common/scale_polygon.F90
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
!> module common / Polygon
!> Module common / Polygon
!!
!! @par Description
!! A module to provide utilities for polygon
Expand Down
2 changes: 1 addition & 1 deletion FElib/src/common/scale_polynominal.F90
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
!> module common / Polynominal
!> Module common / Polynominal
!!
!! @par Description
!! A module to provide utilities for polynomials
Expand Down
2 changes: 1 addition & 1 deletion FElib/src/common/scale_quicksort.F90
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
! Warning: This file was generated from common/scale_quicksort.F90.erb.
! Do not edit this file.
!-------------------------------------------------------------------------------
!> module common / sort algorithm
!> Module common / sort algorithm
!!
!! @par Description
!! A module to provide quick sort
Expand Down
2 changes: 1 addition & 1 deletion FElib/src/common/scale_quicksort.F90.erb
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
! Warning: This file was generated from <%=__FILE__%>.
! Do not edit this file.
!-------------------------------------------------------------------------------
!> module common / sort algorithm
!> Module common / sort algorithm
!!
!! @par Description
!! A module to provide quick sort
Expand Down
5 changes: 3 additions & 2 deletions FElib/src/common/scale_sparsemat.F90
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
!-------------------------------------------------------------------------------
!> module common / sparsemat
!> Module common / sparsemat
!!
!! @par Description
!! module to treat sparse matrix and the associated operations
!! A module to treat sparse matrix and the associated operations
!!
!! @author Yuta Kawai, Team SCALE
!!
Expand All @@ -29,6 +29,7 @@ module scale_sparsemat
!++ Public type & procedure
!

!> Derived type to manage a sparse matrix
type, public :: sparsemat
integer :: M !< Number of row of original matrix
integer :: N !< Number of column of original matrix
Expand Down
2 changes: 1 addition & 1 deletion FElib/src/common/scale_time_manager.F90
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
!-------------------------------------------------------------------------------
!> module common / time
!> Module common / time
!!
!! @par Description
!! Module to manage time with temporal integration
Expand Down
14 changes: 7 additions & 7 deletions FElib/src/common/scale_timeint_rk.F90
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
! Do not edit this file.
!-------------------------------------------------------------------------------
!-------------------------------------------------------------------------------
!> module common / Runge-Kutta scheme
!> Module common / Runge-Kutta scheme
!!
!! @par Description
!! Driver module to provide various Runge-Kutta schemes.
Expand Down Expand Up @@ -43,18 +43,18 @@ module scale_timeint_rk
integer, public :: tend_buf_size !< Buffer size to store tendencies

! For Butcher representation (explicit part)
real(RP), public, allocatable :: coef_a_ex(:,:)
real(RP), public, allocatable :: coef_b_ex(:)
real(RP), public, allocatable :: coef_c_ex(:)
real(RP), public, allocatable :: coef_a_ex(:,:) !< Coefficients A in the Butcher table (explicit part)
real(RP), public, allocatable :: coef_b_ex(:) !< Coefficients b in the Butcher table (explicit part)
real(RP), public, allocatable :: coef_c_ex(:) !< Coefficients c in the Butcher table (explicit part)

! For Shu-Osher representation (explicit part)
real(RP), public, allocatable :: coef_sig_ex(:,:)
real(RP), public, allocatable :: coef_gam_ex(:,:)

! For Butcher representation (implicit part)
real(RP), public, allocatable :: coef_a_im(:,:)
real(RP), public, allocatable :: coef_b_im(:)
real(RP), public, allocatable :: coef_c_im(:)
real(RP), public, allocatable :: coef_a_im(:,:) !< Coefficients A in the Butcher table (implicit part)
real(RP), public, allocatable :: coef_b_im(:) !< Coefficients b in the Butcher table (implicit part)
real(RP), public, allocatable :: coef_c_im(:) !< Coefficients c in the Butcher table (implicit part)

integer, allocatable :: tend_buf_indmap(:)
integer :: var_num
Expand Down
14 changes: 7 additions & 7 deletions FElib/src/common/scale_timeint_rk.F90.erb
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
! Do not edit this file.
!-------------------------------------------------------------------------------
!-------------------------------------------------------------------------------
!> module common / Runge-Kutta scheme
!> Module common / Runge-Kutta scheme
!!
!! @par Description
!! Driver module to provide various Runge-Kutta schemes.
Expand Down Expand Up @@ -43,18 +43,18 @@ module scale_timeint_rk
integer, public :: tend_buf_size !< Buffer size to store tendencies

! For Butcher representation (explicit part)
real(RP), public, allocatable :: coef_a_ex(:,:)
real(RP), public, allocatable :: coef_b_ex(:)
real(RP), public, allocatable :: coef_c_ex(:)
real(RP), public, allocatable :: coef_a_ex(:,:) !< Coefficients A in the Butcher table (explicit part)
real(RP), public, allocatable :: coef_b_ex(:) !< Coefficients b in the Butcher table (explicit part)
real(RP), public, allocatable :: coef_c_ex(:) !< Coefficients c in the Butcher table (explicit part)

! For Shu-Osher representation (explicit part)
real(RP), public, allocatable :: coef_sig_ex(:,:)
real(RP), public, allocatable :: coef_gam_ex(:,:)

! For Butcher representation (implicit part)
real(RP), public, allocatable :: coef_a_im(:,:)
real(RP), public, allocatable :: coef_b_im(:)
real(RP), public, allocatable :: coef_c_im(:)
real(RP), public, allocatable :: coef_a_im(:,:) !< Coefficients A in the Butcher table (implicit part)
real(RP), public, allocatable :: coef_b_im(:) !< Coefficients b in the Butcher table (implicit part)
real(RP), public, allocatable :: coef_c_im(:) !< Coefficients c in the Butcher table (implicit part)

integer, allocatable :: tend_buf_indmap(:)
integer :: var_num
Expand Down
2 changes: 1 addition & 1 deletion FElib/src/common/scale_timeint_rk_butcher_tab.F90
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
!-------------------------------------------------------------------------------
!> module common / Runge-Kutta scheme
!> Module common / Runge-Kutta scheme
!!
!! @par Description
!! Butcher tableau
Expand Down
30 changes: 19 additions & 11 deletions FElib/src/data/scale_localmeshfield_base.F90
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,8 @@ module scale_localmeshfield_base

!> Derived type representing a field with local mesh (base type)
type, public :: LocalMeshFieldBase
real(RP), allocatable :: val(:,:)
real(RP), allocatable :: face_val(:,:)
real(RP), allocatable :: val(:,:) !< Buffer to save field data at all nodes
real(RP), allocatable :: face_val(:,:) !< Buffer to save field data at face nodes
end type LocalMeshFieldBase

type, public :: LocalMeshFieldBaseList
Expand Down Expand Up @@ -77,8 +77,8 @@ module scale_localmeshfield_base
!
!++ Public parameters & variables
!
integer, public, parameter :: LOCAL_MESHFIELD_TYPE_NODES_VAL = 1
integer, public, parameter :: LOCAL_MESHFIELD_TYPE_NODES_FACEVAL = 2
integer, public, parameter :: LOCAL_MESHFIELD_TYPE_NODES_VAL = 1 !< ID of data type with a field on all nodes in local mesh
integer, public, parameter :: LOCAL_MESHFIELD_TYPE_NODES_FACEVAL = 2 !< ID of data type with a field on face nodes in local mesh

!-----------------------------------------------------------------------------
!
Expand All @@ -95,13 +95,14 @@ module scale_localmeshfield_base

contains

!> Initialize an object to manage a field data (base type)
!OCL SERIAL
subroutine LocalMeshFieldBase_Init( this, lcmesh, data_type )
use scale_prc, only: PRC_abort
implicit none
class(LocalMeshFieldBase), intent(inout) :: this
class(LocalMeshBase), intent(in) :: lcmesh
integer, intent(in), optional :: data_type
class(LocalMeshBase), intent(in) :: lcmesh !< Object to manage a field data on a local mesh
integer, intent(in), optional :: data_type !< ID of data type (all nodes or face nodes)

integer :: data_type_
!-----------------------------------------------------------------------------
Expand All @@ -125,6 +126,7 @@ subroutine LocalMeshFieldBase_Init( this, lcmesh, data_type )
return
end subroutine LocalMeshFieldBase_Init

!> Finalize an object to manage a field data (base type)
!OCL SERIAL
subroutine LocalMeshFieldBase_Final( this )
implicit none
Expand All @@ -139,12 +141,13 @@ end subroutine LocalMeshFieldBase_Final

!* 1D *********

!> Setup an object to manage a field data on 1D local computational mesh
!OCL SERIAL
subroutine LocalMeshField1D_Init( this, mesh, data_type )
implicit none
class(LocalMeshField1D), intent(inout) :: this
class(LocalMesh1D), target, intent(in) :: mesh
integer, optional, intent(in) :: data_type
class(LocalMesh1D), target, intent(in) :: mesh !< Object to manage a field data on a 1D local mesh
integer, intent(in), optional :: data_type !< ID of data type (all nodes or face nodes)
!-----------------------------------------------------------------------------

this%mesh => mesh
Expand All @@ -153,6 +156,7 @@ subroutine LocalMeshField1D_Init( this, mesh, data_type )
return
end subroutine LocalMeshField1D_Init

!> Finalize an object to manage a field data on 1D local computational mesh
!OCL SERIAL
subroutine LocalMeshField1D_Final( this )
implicit none
Expand All @@ -166,12 +170,13 @@ end subroutine LocalMeshField1D_Final

!* 2D *********

!> Setup an object to manage a field data on 2D local computational mesh
!OCL SERIAL
subroutine LocalMeshField2D_Init( this, mesh, data_type )
implicit none
class(LocalMeshField2D), intent(inout) :: this
class(LocalMesh2D), target, intent(in) :: mesh
integer, optional, intent(in) :: data_type
class(LocalMesh2D), target, intent(in) :: mesh !< Object to manage a field data on a 2D local mesh
integer, intent(in), optional :: data_type !< ID of data type (all nodes or face nodes)
!-----------------------------------------------------------------------------

this%mesh => mesh
Expand All @@ -180,6 +185,7 @@ subroutine LocalMeshField2D_Init( this, mesh, data_type )
return
end subroutine LocalMeshField2D_Init

!> Finalize an object to manage a field data on 2D local computational mesh
!OCL SERIAL
subroutine LocalMeshField2D_Final( this )
implicit none
Expand All @@ -192,11 +198,12 @@ end subroutine LocalMeshField2D_Final

!* 3D *********

!> Setup an object to manage a field data on 3D local computational mesh
!OCL SERIAL
subroutine LocalMeshField3D_Init( this, mesh, data_type )
implicit none
class(LocalMeshField3D), intent(inout) :: this
class(LocalMesh3D), target, intent(in) :: mesh
class(LocalMesh3D), target, intent(in) :: mesh !< Object to manage a field data on a 3D local mesh
integer, optional, intent(in) :: data_type
!-----------------------------------------------------------------------------

Expand All @@ -206,6 +213,7 @@ subroutine LocalMeshField3D_Init( this, mesh, data_type )
return
end subroutine LocalMeshField3D_Init

!> Finalize an object to manage a field data on 3D local computational mesh
!OCL SERIAL
subroutine LocalMeshField3D_Final( this )
implicit none
Expand Down
Loading