diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 9653da2fcb25dc790008a390fcfe94c28ce17d5f..7f7c9bf9f4f6c6882b1ea7ec45ba72327dbec1c9 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -43,8 +43,8 @@ else() list(FILTER sources EXCLUDE REGEX ".*mo_likelihood.f90$") list(FILTER sources EXCLUDE REGEX ".*mo_opt_functions.f90$") list(FILTER sources EXCLUDE REGEX ".*mo_cost.f90$") - list(FILTER sources EXCLUDE REGEX ".*mo_optimization_types.f90$") - list(FILTER sources EXCLUDE REGEX ".*mo_optimization_utils.f90$") + list(FILTER sources EXCLUDE REGEX ".*mo_optimizee.f90$") + list(FILTER sources EXCLUDE REGEX ".*mo_opt_eval_utils.f90$") endif() # option for NetCDF support diff --git a/src/mo_anneal.f90 b/src/mo_anneal.f90 index 18fda005fdf05e8581438280df254fb6100dfdae..11752bbd228c3bcf64a1e835e36dbe506f937be5 100644 --- a/src/mo_anneal.f90 +++ b/src/mo_anneal.f90 @@ -44,7 +44,7 @@ MODULE mo_anneal USE mo_kind, ONLY : i4, i8, dp USE mo_utils, ONLY : le, ge USE mo_xor4096, ONLY : get_timeseed, xor4096, xor4096g, n_save_state - USE mo_optimization_utils, ONLY : optimizee + USE mo_optimizee, ONLY : optimizee IMPLICIT NONE @@ -65,7 +65,7 @@ MODULE mo_anneal !! parameter set (the interface given below has to be used for this function!). !! !! \code{.f90} - !! use mo_optimization_utils, only: optimizee + !! use mo_optimizee, only: optimizee !! type, extends(optimizee) :: your_optimizee !! contains !! ! to be implemented with signature: your_evaluate(self, parameters, sigma, stddev_new, likeli_new) diff --git a/src/mo_cost.f90 b/src/mo_cost.f90 index 8c5d483a1997cea645e23b05e6202f320871c871..56568922104323332c623c3620d02826199020e6 100644 --- a/src/mo_cost.f90 +++ b/src/mo_cost.f90 @@ -224,8 +224,8 @@ CONTAINS FUNCTION cost_objective(parameterset, eval, arg1, arg2, arg3) use mo_kind, only: dp, i4 - use mo_optimization_utils, only: eval_interface - use mo_optimization_types, only : sim_data_t, config_t + use mo_optimizee, only: eval_interface + use mo_opt_eval_utils, only : sim_data_t, config_t implicit none diff --git a/src/mo_dds.F90 b/src/mo_dds.F90 index 1b0ff39408fe19f3ff3ebbb86a1611d271009a7e..3639fee03851ccb1b72c3e04d2e89b9fbbebf4ff 100644 --- a/src/mo_dds.F90 +++ b/src/mo_dds.F90 @@ -12,7 +12,7 @@ !! FORCES is released under the LGPLv3+ license \license_note module mo_dds - use mo_optimization_utils, only : optimizee + use mo_optimizee, only : optimizee IMPLICIT NONE @@ -37,7 +37,7 @@ CONTAINS !! !! The function to be minimized is the first argument of DDS and must be defined as \n !! \code{.f90} - !! use mo_optimization_utils, only: optimizee + !! use mo_optimizee, only: optimizee !! type, extends(optimizee) :: your_optimizee !! contains !! ! to be implemented with signature: your_evaluate(self, parameters, sigma, stddev_new, likeli_new) @@ -49,7 +49,7 @@ CONTAINS !! !! \code{.f90} !! use mo_opt_functions, only: griewank - !! use mo_optimization_utils, only: function_optimizee + !! use mo_optimizee, only: function_optimizee !! dv_range(:,1) = (/ -600.0, -600.0, -600.0, -600.0, -600.0, -600.0, -600.0, -600.0, -600.0, -600.0 /) !! dv_range(:,2) = (/ 600.0, 600.0, 600.0, 600.0, 600.0, 600.0, 600.0, 600.0, 600.0, 600.0 /) !! dv_ini = (/ -.226265E+01, -.130187E+01, -.151219E+01, 0.133983E+00, 0.988159E+00, & @@ -362,7 +362,7 @@ CONTAINS !! so that the algorithm minimizes the negative of the objective function F=(-1*F).\n !! The function to be minimized is the first argument of DDS and must be defined as !! \code{.f90} - !! use mo_optimization_utils, only: optimizee + !! use mo_optimizee, only: optimizee !! type, extends(optimizee) :: your_optimizee !! contains !! ! to be implemented with signature: your_evaluate(self, parameters, sigma, stddev_new, likeli_new) @@ -399,7 +399,7 @@ CONTAINS !! !! \code{.f90} !! use mo_opt_functions, only: griewank - !! use mo_optimization_utils, only: function_optimizee + !! use mo_optimizee, only: function_optimizee !! dv_range(:,1) = (/ -600.0, -600.0, -600.0, -600.0, -600.0, -600.0, -600.0, -600.0, -600.0, -600.0 /) !! dv_range(:,2) = (/ 600.0, 600.0, 600.0, 600.0, 600.0, 600.0, 600.0, 600.0, 600.0, 600.0 /) !! dv_ini = (/ -.226265E+01, -.130187E+01, -.151219E+01, 0.133983E+00, 0.988159E+00, & diff --git a/src/mo_likelihood.f90 b/src/mo_likelihood.f90 index 463711bf403d1aac60028a87512d3db11afab2fd..b3d081642ae96be625e1c7d22824e943a57fc616 100644 --- a/src/mo_likelihood.f90 +++ b/src/mo_likelihood.f90 @@ -9,7 +9,7 @@ module mo_likelihood USE mo_kind, only: i4, dp USE mo_moment, only: stddev - use mo_optimization_utils, only: eval_interface + use mo_optimizee, only: eval_interface Implicit NONE @@ -47,7 +47,7 @@ CONTAINS ! ------------------------------- !> \brief A Likelihood function: "real" likelihood (sigma is an error model or given) function likelihood_dp(paraset, eval, stddev_in, stddev_new, likeli_new) - use mo_optimization_types, only : sim_data_t, config_t + use mo_opt_eval_utils, only : sim_data_t, config_t REAL(DP), DIMENSION(:), INTENT(IN) :: paraset ! parameter set procedure(eval_interface), INTENT(IN), pointer :: eval REAL(DP), INTENT(IN), optional :: stddev_in ! standard deviation of data @@ -77,7 +77,7 @@ CONTAINS ! ------------------------------- !> \brief A Log-Likelihood function: "real" likelihood (sigma is an error model or given) function loglikelihood_dp(paraset, eval, stddev_in, stddev_new, likeli_new) - use mo_optimization_types, only : sim_data_t, config_t + use mo_opt_eval_utils, only : sim_data_t, config_t REAL(DP), DIMENSION(:), INTENT(IN) :: paraset ! parameter set procedure(eval_interface), INTENT(IN), pointer :: eval REAL(DP), INTENT(IN), optional :: stddev_in ! standard deviation of data @@ -107,7 +107,7 @@ CONTAINS ! ------------------------------- !> \brief A Likelihood function: "faked" likelihood (sigma is computed by obs vs model) function likelihood_stddev_dp(paraset, eval, stddev_in, stddev_new, likeli_new) - use mo_optimization_types, only : sim_data_t, config_t + use mo_opt_eval_utils, only : sim_data_t, config_t REAL(DP), DIMENSION(:), INTENT(IN) :: paraset ! parameter set procedure(eval_interface), INTENT(IN), pointer :: eval REAL(DP), INTENT(IN), optional :: stddev_in ! standard deviation of data @@ -147,7 +147,7 @@ CONTAINS ! ------------------------------- !> \brief A Log-Likelihood_stddev function: "faked" likelihood (sigma is computed by obs vs model) function loglikelihood_stddev_dp(paraset, eval, stddev_in, stddev_new, likeli_new) - use mo_optimization_types, only : sim_data_t, config_t + use mo_opt_eval_utils, only : sim_data_t, config_t REAL(DP), DIMENSION(:), INTENT(IN) :: paraset ! parameter set procedure(eval_interface), INTENT(IN), pointer :: eval REAL(DP), INTENT(IN), optional :: stddev_in ! standard deviation of data @@ -189,7 +189,7 @@ CONTAINS subroutine model_dp(config, sim_data) use mo_kind, only: dp - use mo_optimization_types, only : sim_data_t, config_t + use mo_opt_eval_utils, only : sim_data_t, config_t use mo_message, only : error_message !! !$ USE omp_lib, only: OMP_GET_THREAD_NUM diff --git a/src/mo_mcmc.F90 b/src/mo_mcmc.F90 index 5a5c522786699410b5c6d253418a05ec2d115a22..da4de9c5d9ca63c7ab94545992032dc6f825c428 100644 --- a/src/mo_mcmc.F90 +++ b/src/mo_mcmc.F90 @@ -15,7 +15,7 @@ MODULE mo_mcmc USE mo_append, only : append USE mo_moment, only : stddev !$ USE omp_lib, only: OMP_GET_NUM_THREADS - use mo_optimization_utils, only : optimizee + use mo_optimizee, only : optimizee use mo_message, only : error_message #ifdef FORCES_WITH_NETCDF use mo_ncwrite, only : dump_netcdf diff --git a/src/mo_optimization_types.f90 b/src/mo_opt_eval_utils.f90 similarity index 98% rename from src/mo_optimization_types.f90 rename to src/mo_opt_eval_utils.f90 index 3ba393148e14e900cf5766e1f8d0f6a10f8c5a40..7532aee564d143b9b38fc1f47db965cf02f69b3c 100644 --- a/src/mo_optimization_types.f90 +++ b/src/mo_opt_eval_utils.f90 @@ -1,13 +1,13 @@ -!> \file mo_optimization_types.f90 -!> \brief \copybrief mo_optimization_types -!> \details \copydetails mo_optimization_types +!> \file mo_opt_eval_utils.f90 +!> \brief \copybrief mo_opt_eval_utils +!> \details \copydetails mo_opt_eval_utils !> \brief Type definitions for optimization routines !> \author Maren Kaluza !> \date Nov 2019 !> \copyright Copyright 2005-\today, the CHS Developers, Sabine Attinger: All rights reserved. !! FORCES is released under the LGPLv3+ license \license_note -MODULE mo_optimization_types +MODULE mo_opt_eval_utils use mo_kind, only : i4, dp use mo_message, only : error_message use mo_string_utils, only : num2str @@ -396,4 +396,4 @@ MODULE mo_optimization_types end if end function sim_var_data_shape -END MODULE mo_optimization_types +END MODULE mo_opt_eval_utils diff --git a/src/mo_opt_functions.f90 b/src/mo_opt_functions.f90 index 103159d5ab7dbdc5fe7ae8360fee75052969fece..e17219b5826ed303fa1cbf04daed0cd8b823db2f 100644 --- a/src/mo_opt_functions.f90 +++ b/src/mo_opt_functions.f90 @@ -10,7 +10,7 @@ MODULE mo_opt_functions use mo_kind, only: i4, dp - use mo_optimization_utils, only: eval_interface + use mo_optimizee, only: eval_interface IMPLICIT NONE @@ -5623,7 +5623,7 @@ CONTAINS function ackley_objective(parameterset, eval, arg1, arg2, arg3) use mo_constants, only: pi_dp - use mo_optimization_types, only : sim_data_t, config_t + use mo_opt_eval_utils, only : sim_data_t, config_t implicit none @@ -5659,7 +5659,7 @@ CONTAINS function griewank_objective(parameterset, eval, arg1, arg2, arg3) use mo_kind, only: i4, dp - use mo_optimization_types, only : sim_data_t, config_t + use mo_opt_eval_utils, only : sim_data_t, config_t implicit none @@ -5701,7 +5701,7 @@ CONTAINS subroutine eval_dummy(config, sim_data) use mo_kind, only : dp - use mo_optimization_types, only : sim_data_t, config_t + use mo_opt_eval_utils, only : sim_data_t, config_t implicit none diff --git a/src/mo_optimization_utils.f90 b/src/mo_optimizee.f90 similarity index 97% rename from src/mo_optimization_utils.f90 rename to src/mo_optimizee.f90 index 6629c275d8ebbd86e2227388191a256a2c83f398..4ea9a3530f1417014813abf8c86b1c0601ffa467 100644 --- a/src/mo_optimization_utils.f90 +++ b/src/mo_optimizee.f90 @@ -1,6 +1,6 @@ -!> \file mo_optimization_utils.f90 -!> \brief \copybrief mo_optimization_utils -!> \details \copydetails mo_optimization_utils +!> \file mo_optimizee.f90 +!> \brief \copybrief mo_optimizee +!> \details \copydetails mo_optimizee !> \brief Utility functions, such as interface definitions, for optimization routines. !> \details An abstract type \ref optimizee is provided to be used with the optimization functions @@ -14,7 +14,7 @@ !! !> \copyright Copyright 2005-\today, the CHS Developers, Sabine Attinger: All rights reserved. !! FORCES is released under the LGPLv3+ license \license_note -module mo_optimization_utils +module mo_optimizee use mo_kind, only : dp use mo_message, only : error_message @@ -33,7 +33,7 @@ module mo_optimization_utils !> \brief Interface for evaluation function. abstract interface subroutine eval_interface(config, sim_data) - use mo_optimization_types, only : config_t, sim_data_t + use mo_opt_eval_utils, only : config_t, sim_data_t type(config_t), intent(in) :: config !< configuration type(sim_data_t), dimension(:), pointer, optional, intent(inout) :: sim_data !< simulated data end subroutine @@ -184,4 +184,4 @@ contains value = self%obj_pointer(parameters, self%eval_pointer, sigma, stddev_new, likeli_new) end function evaluate_obj_eval -end module mo_optimization_utils +end module mo_optimizee diff --git a/src/mo_sce.F90 b/src/mo_sce.F90 index 6bd015881c23fc8e8695ab8cf5ef1a8c2beb7407..ec08a0ba277e556edd920837c295f7d61c688d8a 100644 --- a/src/mo_sce.F90 +++ b/src/mo_sce.F90 @@ -10,7 +10,7 @@ !> \copyright Copyright 2005-\today, the CHS Developers, Sabine Attinger: All rights reserved. !! FORCES is released under the LGPLv3+ license \license_note MODULE mo_sce - use mo_optimization_utils, only : optimizee + use mo_optimizee, only : optimizee IMPLICIT NONE @@ -51,7 +51,7 @@ MODULE mo_sce !! \n !! The function to be minimized is the first argument of SCE and must be defined as \n !! \code{.f90} - !! use mo_optimization_utils, only: optimizee + !! use mo_optimizee, only: optimizee !! type, extends(optimizee) :: your_optimizee !! contains !! ! to be implemented with signature: your_evaluate(self, parameters, sigma, stddev_new, likeli_new) @@ -62,7 +62,7 @@ MODULE mo_sce !! \b Example !! \code{.f90} !! use mo_opt_functions, only: griewank - !! use mo_optimization_utils, only: function_optimizee + !! use mo_optimizee, only: function_optimizee !! type(function_optimizee) :: objective !! prange(:,1) = (/ -600.0, -600.0, -600.0, -600.0, -600.0, -600.0, -600.0, -600.0, -600.0, -600.0 /) !! prange(:,2) = (/ 600.0, 600.0, 600.0, 600.0, 600.0, 600.0, 600.0, 600.0, 600.0, 600.0 /) diff --git a/src/pf_tests/test_mo_anneal.pf b/src/pf_tests/test_mo_anneal.pf index ba8db78226e41cff4c2a9391f5677f2a99d709dc..b8e87efb24e6c0e8d33e3afb305ed9740a09d9f7 100644 --- a/src/pf_tests/test_mo_anneal.pf +++ b/src/pf_tests/test_mo_anneal.pf @@ -6,7 +6,7 @@ module test_mo_anneal use mo_anneal, only: GetTemperature !, GetTemperature_valid use mo_cost, only: range_dp, cost_dp use mo_xor4096, only: get_timeseed - use mo_optimization_utils, only: function_optimizee + use mo_optimizee, only: function_optimizee use mo_message, only: error_message implicit none diff --git a/src/pf_tests/test_mo_dds.pf b/src/pf_tests/test_mo_dds.pf index f794c581c6fe9f89af395c1b3bc1c656230cc517..759498ce514f0ebb655c4189b79a483e7a7090ab 100644 --- a/src/pf_tests/test_mo_dds.pf +++ b/src/pf_tests/test_mo_dds.pf @@ -4,7 +4,7 @@ module test_mo_dds use mo_kind, only: i4, i8, dp use mo_dds, only: dds, mdds use mo_opt_functions, only: griewank - use mo_optimization_utils, only: function_optimizee + use mo_optimizee, only: function_optimizee use mo_message, only: error_message implicit none diff --git a/src/pf_tests/test_mo_mcmc.pf b/src/pf_tests/test_mo_mcmc.pf index a723f11efe1a172ba55201237cde7883a61fbb89..f4df681dd17514994957b56a0ac1992fc2f8a518 100644 --- a/src/pf_tests/test_mo_mcmc.pf +++ b/src/pf_tests/test_mo_mcmc.pf @@ -5,7 +5,7 @@ module test_mo_mcmc use mo_likelihood, only: setmeas, loglikelihood_dp, loglikelihood_stddev_dp, model_dp use mo_mcmc, only: mcmc, mcmc_stddev use mo_moment, only: mean, stddev - use mo_optimization_utils, only: eval_interface, objective_interface, eval_optimizee + use mo_optimizee, only: eval_interface, objective_interface, eval_optimizee use mo_message, only: error_message implicit none diff --git a/src/pf_tests/test_mo_optimization_types.pf b/src/pf_tests/test_mo_optimization_types.pf index 59a83a414be1ba811227f531b7651fc42773f403..b62d9f54e72b5943354f6db26576e7f7c4f6ed1e 100644 --- a/src/pf_tests/test_mo_optimization_types.pf +++ b/src/pf_tests/test_mo_optimization_types.pf @@ -1,7 +1,7 @@ -module test_mo_optimization_types +module test_mo_opt_eval_utils use funit - use mo_optimization_types + use mo_opt_eval_utils use mo_kind, only : i4, dp implicit none @@ -45,4 +45,4 @@ contains end subroutine test_sim_data -end module test_mo_optimization_types +end module test_mo_opt_eval_utils diff --git a/src/pf_tests/test_mo_sce.pf b/src/pf_tests/test_mo_sce.pf index 9a12259e47512ddfd632f2ba36c4611f836196d3..bdb4f0de84d78bbf56c13a65c6530338617bc6f7 100644 --- a/src/pf_tests/test_mo_sce.pf +++ b/src/pf_tests/test_mo_sce.pf @@ -4,7 +4,7 @@ module test_mo_sce use mo_kind, only: i4, i8, dp use mo_sce, only: sce use mo_opt_functions, only: ackley, griewank - use mo_optimization_utils, only: function_optimizee + use mo_optimizee, only: function_optimizee use mo_message, only: error_message implicit none