Skip to content
Draft
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 .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ url = https://github.com/ekluzek/ccs_config_cesm.git
#url = https://github.com/ESMCI/ccs_config_cesm.git
#fxtag = ccs_config_cesm1.0.79
#branch = nvidia-hackathon-26
fxtag = 5cb53b38ed26c896747ce22596f0b7e6186b58f0
fxtag = e8acd6f93abd80ff8868e563576437ec647afa1e
fxrequired = ToplevelRequired
# Standard Fork to compare to with "git fleximod test" to ensure personal forks aren't committed
fxDONOTUSEurl = https://github.com/ESMCI/ccs_config_cesm.git
Expand Down
1 change: 1 addition & 0 deletions src/main/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ list(APPEND clm_sources
column_varcon.F90
decompMod.F90
filterColMod.F90
FilterDataBaseType.F90
FireMethodType.F90
glc2lndMod.F90
glcBehaviorMod.F90
Expand Down
57 changes: 57 additions & 0 deletions src/main/FilterDataBaseType.F90
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
module FilterDataBaseType
implicit none
private
public :: filtered_data_base_type
type , abstract :: filtered_data_base_type
private
integer, private :: num_filter
Integer, pointer, private :: filter(:)
contains
procedure , public :: InitDataBase
procedure(InitData_interface) , public, deferred :: InitData
procedure , public :: ReInitDataBase
procedure(ReInitData_interface) , public, deferred :: ReInitData
procedure , public :: ValidateFiltersMatch
procedure(CompressData_interface) , public, deferred :: CompressData
procedure(DecompressData_interface) , public, deferred :: DecompressData
end type filtered_data_base_type

abstract interface

subroutine InitData_interface(this)
import :: filtered_data_base_type
class(filtered_data_base_type), intent(inout) :: this
end subroutine InitData_interface

subroutine ReInitData_interface(this)
import :: filtered_data_base_type
class(filtered_data_base_type), intent(inout) :: this
end subroutine ReInitData_interface

subroutine CompressData_interface(this)
import :: filtered_data_base_type
class(filtered_data_base_type), intent(inout) :: this
end subroutine CompressData_interface

subroutine DecompressData_interface(this)
import :: filtered_data_base_type
class(filtered_data_base_type), intent(inout) :: this
end subroutine DecompressData_interface

end interface

contains

subroutine ValidateFiltersMatch(this)
class(filtered_data_base_type), intent(in) :: this
end subroutine ValidateFiltersMatch

subroutine InitDataBase(this)
class(filtered_data_base_type), intent(in) :: this
end subroutine InitDataBase

subroutine ReInitDataBase(this)
class(filtered_data_base_type), intent(in) :: this
end subroutine ReInitDataBase

end module FilterDataBaseType
Loading