Skip to content

Commit ed3c91a

Browse files
committed
Bug fix and add testing to demonstrate error
1 parent feaca34 commit ed3c91a

File tree

9 files changed

+135
-9
lines changed

9 files changed

+135
-9
lines changed

scripts/ccpp_suite.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -426,15 +426,15 @@ def analyze(self, host_model, scheme_library, ddt_library, run_env):
426426
self.__ddt_library = ddt_library
427427
# Collect all relevant schemes
428428
# For all groups, find associated init and final methods
429-
scheme_set = set()
429+
scheme_set = list()
430430
for group in self.groups:
431431
for scheme in group.schemes():
432-
scheme_set.add(scheme.name)
432+
scheme_set.append(scheme.name)
433433
# end for
434434
# end for
435435
no_scheme_entries = {} # Skip schemes that are not in this suite
436-
for module in scheme_library:
437-
if module in scheme_set:
436+
for module in scheme_set:
437+
if scheme_library[module]:
438438
scheme_entries = scheme_library[module]
439439
else:
440440
scheme_entries = no_scheme_entries

test/var_compatibility_test/effr_calc.F90

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,21 @@ module effr_calc
88
implicit none
99
private
1010

11-
public :: effr_calc_run
11+
public :: effr_calc_run, effr_calc_init
1212

13-
contains
13+
contains
14+
!> \section arg_table_effr_calc_init Argument Table
15+
!! \htmlinclude arg_table_effr_calc_init.html
16+
!!
17+
subroutine effr_calc_init(errmsg, errflg)
18+
character(len=512), intent(out) :: errmsg
19+
integer, intent(out) :: errflg
20+
21+
errmsg = ''
22+
errflg = 0
1423

24+
end subroutine effr_calc_init
25+
1526
!> \section arg_table_effr_calc_run Argument Table
1627
!! \htmlinclude arg_table_effr_calc_run.html
1728
!!

test/var_compatibility_test/effr_calc.meta

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,26 @@
22
name = effr_calc
33
type = scheme
44
dependencies =
5+
########################################################################
6+
[ccpp-arg-table]
7+
name = effr_calc_init
8+
type = scheme
9+
[ errmsg ]
10+
standard_name = ccpp_error_message
11+
long_name = Error message for error handling in CCPP
12+
units = none
13+
dimensions = ()
14+
type = character
15+
kind = len=512
16+
intent = out
17+
[ errflg ]
18+
standard_name = ccpp_error_code
19+
long_name = Error flag for error handling in CCPP
20+
units = 1
21+
dimensions = ()
22+
type = integer
23+
intent = out
24+
########################################################################
525
[ccpp-arg-table]
626
name = effr_calc_run
727
type = scheme

test/var_compatibility_test/effr_diag.F90

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,22 @@ module effr_diag
88
implicit none
99
private
1010

11-
public :: effr_diag_run
11+
public :: effr_diag_run, effr_diag_init
1212

1313
contains
1414

15+
!> \section arg_table_effr_diag_init Argument Table
16+
!! \htmlinclude arg_table_effr_diag_init.html
17+
!!
18+
subroutine effr_diag_init(errmsg, errflg)
19+
character(len=512), intent(out) :: errmsg
20+
integer, intent(out) :: errflg
21+
22+
errmsg = ''
23+
errflg = 0
24+
25+
end subroutine effr_diag_init
26+
1527
!> \section arg_table_effr_diag_run Argument Table
1628
!! \htmlinclude arg_table_effr_diag_run.html
1729
!!

test/var_compatibility_test/effr_diag.meta

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,26 @@
22
name = effr_diag
33
type = scheme
44
dependencies =
5+
########################################################################
6+
[ccpp-arg-table]
7+
name = effr_diag_init
8+
type = scheme
9+
[ errmsg ]
10+
standard_name = ccpp_error_message
11+
long_name = Error message for error handling in CCPP
12+
units = none
13+
dimensions = ()
14+
type = character
15+
kind = len=512
16+
intent = out
17+
[ errflg ]
18+
standard_name = ccpp_error_code
19+
long_name = Error flag for error handling in CCPP
20+
units = 1
21+
dimensions = ()
22+
type = integer
23+
intent = out
24+
########################################################################
525
[ccpp-arg-table]
626
name = effr_diag_run
727
type = scheme

test/var_compatibility_test/effr_post.F90

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,22 @@ module effr_post
88
implicit none
99
private
1010

11-
public :: effr_post_run
11+
public :: effr_post_run, effr_post_init
1212

1313
contains
1414

15+
!> \section arg_table_effr_post_init Argument Table
16+
!! \htmlinclude arg_table_effr_post_init.html
17+
!!
18+
subroutine effr_post_init(errmsg, errflg)
19+
character(len=512), intent(out) :: errmsg
20+
integer, intent(out) :: errflg
21+
22+
errmsg = ''
23+
errflg = 0
24+
25+
end subroutine effr_post_init
26+
1527
!> \section arg_table_effr_post_run Argument Table
1628
!! \htmlinclude arg_table_effr_post_run.html
1729
!!

test/var_compatibility_test/effr_post.meta

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,26 @@
22
name = effr_post
33
type = scheme
44
dependencies =
5+
########################################################################
6+
[ccpp-arg-table]
7+
name = effr_post_init
8+
type = scheme
9+
[ errmsg ]
10+
standard_name = ccpp_error_message
11+
long_name = Error message for error handling in CCPP
12+
units = none
13+
dimensions = ()
14+
type = character
15+
kind = len=512
16+
intent = out
17+
[ errflg ]
18+
standard_name = ccpp_error_code
19+
long_name = Error flag for error handling in CCPP
20+
units = 1
21+
dimensions = ()
22+
type = integer
23+
intent = out
24+
########################################################################
525
[ccpp-arg-table]
626
name = effr_post_run
727
type = scheme

test/var_compatibility_test/effr_pre.F90

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,20 @@ module effr_pre
88
implicit none
99
private
1010

11-
public :: effr_pre_run
11+
public :: effr_pre_run, effr_pre_init
1212

1313
contains
14+
!> \section arg_table_effr_pre_init Argument Table
15+
!! \htmlinclude arg_table_effr_pre_init.html
16+
!!
17+
subroutine effr_pre_init(errmsg, errflg)
18+
character(len=512), intent(out) :: errmsg
19+
integer, intent(out) :: errflg
20+
21+
errmsg = ''
22+
errflg = 0
23+
24+
end subroutine effr_pre_init
1425

1526
!> \section arg_table_effr_pre_run Argument Table
1627
!! \htmlinclude arg_table_effr_pre_run.html

test/var_compatibility_test/effr_pre.meta

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,26 @@
22
name = effr_pre
33
type = scheme
44
dependencies =
5+
########################################################################
6+
[ccpp-arg-table]
7+
name = effr_pre_init
8+
type = scheme
9+
[ errmsg ]
10+
standard_name = ccpp_error_message
11+
long_name = Error message for error handling in CCPP
12+
units = none
13+
dimensions = ()
14+
type = character
15+
kind = len=512
16+
intent = out
17+
[ errflg ]
18+
standard_name = ccpp_error_code
19+
long_name = Error flag for error handling in CCPP
20+
units = 1
21+
dimensions = ()
22+
type = integer
23+
intent = out
24+
########################################################################
525
[ccpp-arg-table]
626
name = effr_pre_run
727
type = scheme

0 commit comments

Comments
 (0)