diff --git a/.testing/Makefile b/.testing/Makefile index 2806d54130..dfe6959b16 100644 --- a/.testing/Makefile +++ b/.testing/Makefile @@ -154,7 +154,8 @@ SOURCE = \ $(foreach ext,F90 inc c h,$(wildcard $(1)/*/*.$(ext) $(1)/*/*/*.$(ext))) MOM_SOURCE = $(call SOURCE,../src) \ - $(wildcard ../config_src/solo_driver/*.F90) \ + $(wildcard ../config_src/infra/FMS1/*.F90) \ + $(wildcard ../config_src/drivers/solo_driver/*.F90) \ $(wildcard ../config_src/ext*/*/*.F90) TARGET_SOURCE = $(call SOURCE,build/target_codebase/src) \ $(wildcard build/target_codebase/config_src/solo_driver/*.F90) \ diff --git a/ac/configure.ac b/ac/configure.ac index 487230beb8..135fb44025 100644 --- a/ac/configure.ac +++ b/ac/configure.ac @@ -42,18 +42,20 @@ srcdir=$srcdir/.. # Default to symmetric grid # NOTE: --enable is more properly used to add a feature, rather than to select # a compile-time mode, so this is not exactly being used as intended. -MEM_LAYOUT=${srcdir}/config_src/dynamic_symmetric +MEM_LAYOUT=${srcdir}/config_src/memory/dynamic_symmetric +AC_CHECK_FILE($MEM_LAYOUT, [MEM_LAYOUT=$MEM_LAYOUT], [MEM_LAYOUT=${srcdir}/config_src/dynamic_symmetric]) AC_ARG_ENABLE([asymmetric], AS_HELP_STRING([--enable-asymmetric], [Use the asymmetric grid])) AS_IF([test "$enable_asymmetric" = yes], - [MEM_LAYOUT=${srcdir}/config_src/dynamic]) + [MEM_LAYOUT=${srcdir}/config_src/memory/dynamic_nonsymmetric]) # Default to solo_driver -DRIVER_DIR=${srcdir}/config_src/solo_driver +DRIVER_DIR=${srcdir}/config_src/drivers/solo_driver +AC_CHECK_FILE($DRIVER_DIR, [DRIVER_DIR=$DRIVER_DIR], [DRIVER_DIR=${srcdir}/config_src/solo_driver]) AC_ARG_WITH([driver], AS_HELP_STRING([--with-driver=coupled_driver|solo_driver], [Select directory for driver source code])) AS_IF([test "x$with_driver" != "x"], - [DRIVER_DIR=${srcdir}/config_src/${with_driver}]) + [DRIVER_DIR=${srcdir}/config_src/drivers/${with_driver}]) # TODO: Rather than point to a pre-configured header file, autoconf could be # used to configure a header based on a template. @@ -216,6 +218,7 @@ AS_IF([test -z "$MKMF"], [ AC_CONFIG_COMMANDS([path_names], [list_paths -l \ ${srcdir}/src \ + ${srcdir}/config_src/infra/FMS1 \ ${srcdir}/config_src/ext* \ ${DRIVER_DIR} \ ${MEM_LAYOUT} diff --git a/config_src/coupled_driver/MOM_surface_forcing_gfdl.F90 b/config_src/drivers/FMS_cap/MOM_surface_forcing_gfdl.F90 similarity index 100% rename from config_src/coupled_driver/MOM_surface_forcing_gfdl.F90 rename to config_src/drivers/FMS_cap/MOM_surface_forcing_gfdl.F90 diff --git a/config_src/coupled_driver/ocean_model_MOM.F90 b/config_src/drivers/FMS_cap/ocean_model_MOM.F90 similarity index 100% rename from config_src/coupled_driver/ocean_model_MOM.F90 rename to config_src/drivers/FMS_cap/ocean_model_MOM.F90 diff --git a/config_src/ice_solo_driver/atmos_ocean_fluxes.F90 b/config_src/drivers/ice_solo_driver/atmos_ocean_fluxes.F90 similarity index 100% rename from config_src/ice_solo_driver/atmos_ocean_fluxes.F90 rename to config_src/drivers/ice_solo_driver/atmos_ocean_fluxes.F90 diff --git a/config_src/ice_solo_driver/ice_shelf_driver.F90 b/config_src/drivers/ice_solo_driver/ice_shelf_driver.F90 similarity index 100% rename from config_src/ice_solo_driver/ice_shelf_driver.F90 rename to config_src/drivers/ice_solo_driver/ice_shelf_driver.F90 diff --git a/config_src/mct_driver/mom_ocean_model_mct.F90 b/config_src/drivers/mct_cap/mom_ocean_model_mct.F90 similarity index 100% rename from config_src/mct_driver/mom_ocean_model_mct.F90 rename to config_src/drivers/mct_cap/mom_ocean_model_mct.F90 diff --git a/config_src/mct_driver/mom_surface_forcing_mct.F90 b/config_src/drivers/mct_cap/mom_surface_forcing_mct.F90 similarity index 100% rename from config_src/mct_driver/mom_surface_forcing_mct.F90 rename to config_src/drivers/mct_cap/mom_surface_forcing_mct.F90 diff --git a/config_src/mct_driver/ocn_cap_methods.F90 b/config_src/drivers/mct_cap/ocn_cap_methods.F90 similarity index 100% rename from config_src/mct_driver/ocn_cap_methods.F90 rename to config_src/drivers/mct_cap/ocn_cap_methods.F90 diff --git a/config_src/mct_driver/ocn_comp_mct.F90 b/config_src/drivers/mct_cap/ocn_comp_mct.F90 similarity index 100% rename from config_src/mct_driver/ocn_comp_mct.F90 rename to config_src/drivers/mct_cap/ocn_comp_mct.F90 diff --git a/config_src/mct_driver/ocn_cpl_indices.F90 b/config_src/drivers/mct_cap/ocn_cpl_indices.F90 similarity index 100% rename from config_src/mct_driver/ocn_cpl_indices.F90 rename to config_src/drivers/mct_cap/ocn_cpl_indices.F90 diff --git a/config_src/nuopc_driver/mom_cap.F90 b/config_src/drivers/nuopc_cap/mom_cap.F90 similarity index 100% rename from config_src/nuopc_driver/mom_cap.F90 rename to config_src/drivers/nuopc_cap/mom_cap.F90 diff --git a/config_src/nuopc_driver/mom_cap_methods.F90 b/config_src/drivers/nuopc_cap/mom_cap_methods.F90 similarity index 100% rename from config_src/nuopc_driver/mom_cap_methods.F90 rename to config_src/drivers/nuopc_cap/mom_cap_methods.F90 diff --git a/config_src/nuopc_driver/mom_cap_time.F90 b/config_src/drivers/nuopc_cap/mom_cap_time.F90 similarity index 100% rename from config_src/nuopc_driver/mom_cap_time.F90 rename to config_src/drivers/nuopc_cap/mom_cap_time.F90 diff --git a/config_src/nuopc_driver/mom_ocean_model_nuopc.F90 b/config_src/drivers/nuopc_cap/mom_ocean_model_nuopc.F90 similarity index 100% rename from config_src/nuopc_driver/mom_ocean_model_nuopc.F90 rename to config_src/drivers/nuopc_cap/mom_ocean_model_nuopc.F90 diff --git a/config_src/nuopc_driver/mom_surface_forcing_nuopc.F90 b/config_src/drivers/nuopc_cap/mom_surface_forcing_nuopc.F90 similarity index 100% rename from config_src/nuopc_driver/mom_surface_forcing_nuopc.F90 rename to config_src/drivers/nuopc_cap/mom_surface_forcing_nuopc.F90 diff --git a/config_src/nuopc_driver/ocn_comp_NUOPC.F90 b/config_src/drivers/nuopc_cap/ocn_comp_NUOPC.F90 similarity index 100% rename from config_src/nuopc_driver/ocn_comp_NUOPC.F90 rename to config_src/drivers/nuopc_cap/ocn_comp_NUOPC.F90 diff --git a/config_src/nuopc_driver/time_utils.F90 b/config_src/drivers/nuopc_cap/time_utils.F90 similarity index 100% rename from config_src/nuopc_driver/time_utils.F90 rename to config_src/drivers/nuopc_cap/time_utils.F90 diff --git a/config_src/solo_driver/MESO_surface_forcing.F90 b/config_src/drivers/solo_driver/MESO_surface_forcing.F90 similarity index 100% rename from config_src/solo_driver/MESO_surface_forcing.F90 rename to config_src/drivers/solo_driver/MESO_surface_forcing.F90 diff --git a/config_src/solo_driver/MOM_driver.F90 b/config_src/drivers/solo_driver/MOM_driver.F90 similarity index 100% rename from config_src/solo_driver/MOM_driver.F90 rename to config_src/drivers/solo_driver/MOM_driver.F90 diff --git a/config_src/solo_driver/MOM_surface_forcing.F90 b/config_src/drivers/solo_driver/MOM_surface_forcing.F90 similarity index 100% rename from config_src/solo_driver/MOM_surface_forcing.F90 rename to config_src/drivers/solo_driver/MOM_surface_forcing.F90 diff --git a/config_src/solo_driver/atmos_ocean_fluxes.F90 b/config_src/drivers/solo_driver/atmos_ocean_fluxes.F90 similarity index 100% rename from config_src/solo_driver/atmos_ocean_fluxes.F90 rename to config_src/drivers/solo_driver/atmos_ocean_fluxes.F90 diff --git a/config_src/solo_driver/user_surface_forcing.F90 b/config_src/drivers/solo_driver/user_surface_forcing.F90 similarity index 100% rename from config_src/solo_driver/user_surface_forcing.F90 rename to config_src/drivers/solo_driver/user_surface_forcing.F90 diff --git a/config_src/unit_drivers/MOM_sum_driver.F90 b/config_src/drivers/unit_drivers/MOM_sum_driver.F90 similarity index 100% rename from config_src/unit_drivers/MOM_sum_driver.F90 rename to config_src/drivers/unit_drivers/MOM_sum_driver.F90 diff --git a/src/framework/MOM_coms_infra.F90 b/config_src/infra/FMS1/MOM_coms_infra.F90 similarity index 100% rename from src/framework/MOM_coms_infra.F90 rename to config_src/infra/FMS1/MOM_coms_infra.F90 diff --git a/src/framework/MOM_constants.F90 b/config_src/infra/FMS1/MOM_constants.F90 similarity index 100% rename from src/framework/MOM_constants.F90 rename to config_src/infra/FMS1/MOM_constants.F90 diff --git a/src/framework/MOM_couplertype_infra.F90 b/config_src/infra/FMS1/MOM_couplertype_infra.F90 similarity index 100% rename from src/framework/MOM_couplertype_infra.F90 rename to config_src/infra/FMS1/MOM_couplertype_infra.F90 diff --git a/src/framework/MOM_cpu_clock_infra.F90 b/config_src/infra/FMS1/MOM_cpu_clock_infra.F90 similarity index 100% rename from src/framework/MOM_cpu_clock_infra.F90 rename to config_src/infra/FMS1/MOM_cpu_clock_infra.F90 diff --git a/src/framework/MOM_data_override_infra.F90 b/config_src/infra/FMS1/MOM_data_override_infra.F90 similarity index 100% rename from src/framework/MOM_data_override_infra.F90 rename to config_src/infra/FMS1/MOM_data_override_infra.F90 diff --git a/src/framework/MOM_diag_manager_infra.F90 b/config_src/infra/FMS1/MOM_diag_manager_infra.F90 similarity index 100% rename from src/framework/MOM_diag_manager_infra.F90 rename to config_src/infra/FMS1/MOM_diag_manager_infra.F90 diff --git a/src/framework/MOM_domain_infra.F90 b/config_src/infra/FMS1/MOM_domain_infra.F90 similarity index 100% rename from src/framework/MOM_domain_infra.F90 rename to config_src/infra/FMS1/MOM_domain_infra.F90 diff --git a/src/framework/MOM_ensemble_manager_infra.F90 b/config_src/infra/FMS1/MOM_ensemble_manager_infra.F90 similarity index 100% rename from src/framework/MOM_ensemble_manager_infra.F90 rename to config_src/infra/FMS1/MOM_ensemble_manager_infra.F90 diff --git a/src/framework/MOM_error_infra.F90 b/config_src/infra/FMS1/MOM_error_infra.F90 similarity index 100% rename from src/framework/MOM_error_infra.F90 rename to config_src/infra/FMS1/MOM_error_infra.F90 diff --git a/src/framework/MOM_interp_infra.F90 b/config_src/infra/FMS1/MOM_interp_infra.F90 similarity index 100% rename from src/framework/MOM_interp_infra.F90 rename to config_src/infra/FMS1/MOM_interp_infra.F90 diff --git a/src/framework/MOM_io_infra.F90 b/config_src/infra/FMS1/MOM_io_infra.F90 similarity index 100% rename from src/framework/MOM_io_infra.F90 rename to config_src/infra/FMS1/MOM_io_infra.F90 diff --git a/src/framework/MOM_time_manager.F90 b/config_src/infra/FMS1/MOM_time_manager.F90 similarity index 100% rename from src/framework/MOM_time_manager.F90 rename to config_src/infra/FMS1/MOM_time_manager.F90 diff --git a/config_src/dynamic/MOM_memory.h b/config_src/memory/dynamic_nonsymmetric/MOM_memory.h similarity index 100% rename from config_src/dynamic/MOM_memory.h rename to config_src/memory/dynamic_nonsymmetric/MOM_memory.h diff --git a/config_src/dynamic_symmetric/MOM_memory.h b/config_src/memory/dynamic_symmetric/MOM_memory.h similarity index 100% rename from config_src/dynamic_symmetric/MOM_memory.h rename to config_src/memory/dynamic_symmetric/MOM_memory.h