diff --git a/src/core_test/Makefile b/src/core_test/Makefile
index 879b5e7479..bb15a0b2c4 100644
--- a/src/core_test/Makefile
+++ b/src/core_test/Makefile
@@ -19,6 +19,7 @@ gen_includes:
$(CPP) $(CPPFLAGS) $(CPPINCLUDES) Registry.xml > Registry_processed.xml
(if [ ! -d inc ]; then mkdir -p inc; fi) # To generate *.inc files
(cd inc; $(REG_PATH)/$(REG_PARSE) < ../Registry_processed.xml )
+ (cd inc; $(REG_PATH)/$(FILTER_PARSE) < ../Registry_processed.xml )
post_build:
if [ ! -e $(ROOT_DIR)/default_inputs ]; then mkdir $(ROOT_DIR)/default_inputs; fi
@@ -41,7 +42,7 @@ clean:
$(RM) $@ $*.mod
ifeq "$(GEN_F90)" "true"
$(CPP) $(CPPFLAGS) $(CPPINCLUDES) $< > $*.f90
- $(FC) $(FFLAGS) -c $*.f90 $(FCINCLUDES) -I../framework -I../operators -I../external/esmf_time_f90
+ $(FC) $(FFLAGS) -c $*.f90 $(FCINCLUDES) -I../framework -I../operators -I../filters -I../external/esmf_time_f90
else
- $(FC) $(CPPFLAGS) $(FFLAGS) -c $*.F $(CPPINCLUDES) $(FCINCLUDES) -I../framework -I../operators -I../external/esmf_time_f90
+ $(FC) $(CPPFLAGS) $(FFLAGS) -c $*.F $(CPPINCLUDES) $(FCINCLUDES) -I../framework -I../operators -I../filters -I../external/esmf_time_f90
endif
diff --git a/src/core_test/Registry.xml b/src/core_test/Registry.xml
index 16b7a849a5..bd9a93e75d 100644
--- a/src/core_test/Registry.xml
+++ b/src/core_test/Registry.xml
@@ -115,4 +115,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/core_test/build_options.mk b/src/core_test/build_options.mk
index 0aeb9cdd95..2d4c1dfe42 100644
--- a/src/core_test/build_options.mk
+++ b/src/core_test/build_options.mk
@@ -1,7 +1,9 @@
PWD=$(shell pwd)
EXE_NAME=test_model
NAMELIST_SUFFIX=test
+USE_FILTERS=true
override CPPFLAGS += -DCORE_TEST
+FCINCLUDES += -I$(PWD)/src/filters
report_builds:
@echo "CORE=test"
diff --git a/src/core_test/mpas_test_core.F b/src/core_test/mpas_test_core.F
index 71e1a80ca4..6621fd0856 100644
--- a/src/core_test/mpas_test_core.F
+++ b/src/core_test/mpas_test_core.F
@@ -9,6 +9,8 @@ module test_core
use mpas_framework
use mpas_timekeeping
+ use mpas_stream_manager
+ use mpas_filter_driver
type (MPAS_Clock_type), pointer :: clock
@@ -53,6 +55,8 @@ function test_core_init(domain, startTimeStamp) result(iErr)!{{{
startTime = mpas_get_clock_time(clock, MPAS_START_TIME, iErr)
call mpas_get_time(startTime, dateTimeString=startTimeStamp)
+ call mpas_filter_driver_init(domain % core % filters, domain, iErr=iErr)
+
end function test_core_init!}}}
@@ -85,12 +89,15 @@ function test_core_run(domain) result(iErr)!{{{
type (mpas_pool_type), pointer :: pool
type (mpas_pool_iterator_type) :: itr
-
iErr = 0
call mpas_unit_test_fix_periodicity(iErr)
call mpas_unit_test_triangle_signed_area_sphere(iErr)
+ call mpas_filter_driver_compute(domain % core % filters, domain, iErr = iErr)
+
+ call mpas_stream_mgr_write(domain % streamManager, iErr = iErr)
+
end function test_core_run!}}}
!***********************************************************************
@@ -118,6 +125,8 @@ function test_core_finalize(domain) result(iErr)!{{{
iErr = 0
+ call mpas_filter_driver_finalize(domain % core % filters, domain, iErr=iErr)
+
call mpas_destroy_clock(clock, iErr)
end function test_core_finalize!}}}
diff --git a/src/core_test/mpas_test_core_interface.F b/src/core_test/mpas_test_core_interface.F
index 98426f0d45..f754bfd090 100644
--- a/src/core_test/mpas_test_core_interface.F
+++ b/src/core_test/mpas_test_core_interface.F
@@ -45,6 +45,7 @@ subroutine test_setup_core(core)!{{{
core % setup_decomposed_dimensions => test_setup_decomposed_dimensions
core % setup_block => test_setup_block
core % setup_namelist => test_setup_namelists
+ core % setup_filter_list => test_setup_filters
core % Conventions = 'MPAS'
core % source = 'MPAS'
@@ -272,5 +273,7 @@ end function test_setup_block!}}}
#include "inc/namelist_defines.inc"
+#include "inc/filter_function.inc"
+
end module test_core_interface