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