Directory branches/budaev/HEDG2_01/

Directory Created:
2016-04-07 21:05
Total Files:
20
Deleted Files:
8
Lines of Code:
57644

[root]/branches/budaev/HEDG2_01
                directory in repo dox (127 files, 321682 lines)
                directory in repo pfunit (2 files, 77 lines)
                    directory in repo tests (6 files, 1831 lines)
                directory in repo tools (2 files, 135 lines)
                directory in repo utils (6 files, 1228 lines)

Lines of Code

branches/budaev/HEDG2_01/ Lines of Code

Developers

Author Changes Lines of Code Lines per Change
Totals 3966 (100.0%) 184080 (100.0%) 46.4
sbu062 3962 (99.9%) 177069 (96.2%) 44.6
rdi003 4 (0.1%) 7011 (3.8%) 1752.7

Most Recent Commits

sbu062 2021-06-08 12:25 Rev.: 11234

Windows ifort glitch: `O2` and higher optimizations do not work on W10, only O1 seems to work. O2 and higher produce access violation crash

6 lines of code changed in 1 file:

  • branches/budaev/HEDG2_01: Makefile (+6 -2)
sbu062 2021-06-08 09:28 Rev.: 11233

delete dependence of living cost on smr, very small effect and potentially slow down simulation
Note: this applies changes r11231:r11232
applied diff `svn diff -r 11226:11232 m_body.f90` for all branches

2 lines of code changed in 1 file:

  • branches/budaev/HEDG2_01: m_body.f90 (+2 -22)
sbu062 2021-06-08 06:33 Rev.: 11227

fix power factor as in r11226
patch
{{{
Index: m_body.f90
===================================================================
--- m_body.f90 (revision 11225)
+++ m_body.f90 (working copy)
@@ -1139,7 +1139,8 @@
!! Kleiber's law: `metabolic rate = mass**3/4`
!! TODO: Get rid of the old model cost, do dependent on SMR mainly.
stepcost = this%body_mass * LIVING_COST / LIFESPAN + &
- (this%smr/SIGMA)**3/4 * this%body_mass * LIVING_COST / LIFESPAN
+ (this%smr/SIGMA)**(3.0_SRP/4.0_SRP) * this%body_mass * &
+ LIVING_COST / LIFESPAN

end function body_mass_calculate_cost_living_step

}}}


2 lines of code changed in 1 file:

  • branches/budaev/HEDG2_01: m_body.f90 (+2 -1)
sbu062 2021-06-03 09:47 Rev.: 11210

repeat r11209: need even longer record to fit all values

3 lines of code changed in 1 file:

  • branches/budaev/HEDG2_01: m_popul.f90 (+3 -3)
sbu062 2021-06-02 13:18 Rev.: 11208

need extra length for the record to avoid writing data to non-existent space beyond last character, useful against huge history crashing

1 lines of code changed in 1 file:

  • branches/budaev/HEDG2_01: m_popul.f90 (+1 -1)
sbu062 2021-05-28 14:30 Rev.: 11200

apply patch from simulation, worked well, Limit maximum level of sex hormones to 10.0 to avoid huge growth of it and reproductive beyond limits
Patch here:
{{{
Index: m_body.f90
===================================================================
--- m_body.f90 (revision 10934)
+++ m_body.f90 (working copy)
@@ -1439,15 +1439,15 @@
if (length_increment > TOLERANCE_LOW_DEF_SRP) then
if (this%is_male()) then
!> - If the agent is **male**, **testosterone** is incremented.
- call this%testosterone_set( &
+ call this%testosterone_set( min( 10.0_SRP, &
this%testosterone_get() + &
- this%testosterone_get() * steroid_increment_factor )
+ this%testosterone_get() * steroid_increment_factor ) )
else
!> - If the agent is **female**, **estrogen** is incremented.
!! .
- call this%estrogen_set( &
+ call this%estrogen_set( min( 10.0_SRP, &
this%estrogen_get() + &
- this%estrogen_get() * steroid_increment_factor )
+ this%estrogen_get() * steroid_increment_factor ) )
end if
!> If there was no growth and the gonadal steroids are not incremented,
!! the current values are still saved in the history stack by calling
}}}

4 lines of code changed in 1 file:

  • branches/budaev/HEDG2_01: m_body.f90 (+4 -4)
sbu062 2021-05-28 14:22 Rev.: 11199

fix power factor

2 lines of code changed in 1 file:

  • branches/budaev/HEDG2_01: m_body.f90 (+2 -2)
sbu062 2020-06-06 07:26 Rev.: 9552

white space only: fix if block indent for readability

1 lines of code changed in 1 file:

  • branches/budaev/HEDG2_01: m_common.f90 (+1 -1)
sbu062 2020-06-06 07:13 Rev.: 9551

gamma2gene: merged tested r9487: merged changes in (allelescale) and (gamma2gene) backends from SIGMOID_tweak_new r9486

*Patch code:*

{{{
Index: m_common.f90
===================================================================
--- m_common.f90 (.../HEDG2_06.b2/HEDG2_06.P1H) (revision 9189)
+++ m_common.f90 (.../HEDG2_06.b3/HEDG2_06.P1H) (revision 9550)
@@ -2594,6 +2594,11 @@
!! `commondata::allelescale()` functions.
integer, parameter, public :: ALLELERANGE_MAX = 10000

+ !> Conversion parameter that defines the scaling of the integer allele
+ !! values ::ALLELERANGE_MIN to ALLELERANGE_MAX are converted to ::zero to
+ !! this parameter value as the maximum. See ::allelescale() for details.
+ real(SRP), parameter, public :: ALLELESCALE_MAX = 20.0_SRP
+
!> Number of additive allele components
integer, parameter, public :: ADDITIVE_COMPS = 3

@@ -6875,14 +6880,15 @@
!! @param[in] raw_value raw input value, integer within
!! `commondata::allelerange_min` and `commondata::allelerange_max`
!! @retval Returns the value of conversion function: integer alleles
- !! to real internal value 0 to 1
+ !! to real internal value ::zero to ::allelescale_max
!! @details Allele conversion function for the relationship between the
!! genome integer allele value and its converted real value in
!! the neuronal response function. The function rescales integer
!! allele value @f$ I_{i} @f$ within the range
!! @f$ [I_{min},I_{max}] @f$ to real values @f$ r @f$ within the
- !! range @f$ [0,1] @f$ using the formula:
- !! @f[ r = \frac{I - I_{min}}{I_{max}-I_{min}} @f]
+ !! range @f$ [0,M] @f$, where @f$ M @f$ is defined by the
+ !! ::allelescale_max parameter. Conversion is performed by the
+ !! ::rescale() backend function.
!! See implementation notes on `allele_value` component of the
!! `GENE` derived type.
!! @note Note that it is an *elemental function* that can accept both
@@ -6889,20 +6895,13 @@
!! scalar and vector arguments.
elemental function allelescale(raw_value) result(converted)

- ! @param[in] raw_value raw input value, integer within
- ! `commondata::allelerange_min` and `commondata::allelerange_max`.
integer, intent(in) :: raw_value
- ! @retval Returns the value of conversion function: integer alleles
- ! to real internal value 0 to 1
real(SRP) :: converted

- converted = (real(raw_value,SRP) - ALLELERANGE_MIN) / &
- (ALLELERANGE_MAX - ALLELERANGE_MIN)
+ converted = rescale( real(raw_value,SRP), &
+ real(ALLELERANGE_MIN,SRP), real(ALLELERANGE_MAX,SRP),&
+ ZERO, ALLELESCALE_MAX )

- !> @warning We must never accept zero values of alleles as they will
- !! result in **division by zero** in `commondata::gamma2gene()`.
- if (converted < ZERO) converted = ZERO
-
end function allelescale

!-----------------------------------------------------------------------------
@@ -7025,13 +7024,13 @@
! function.
! @note Note that the raw integer gene values are accepted by this
! function as `allelescale` is called automatically inside.
- integer, dimension(ADDITIVE_COMPS), intent(in) :: gs
+ integer, dimension(:), intent(in) :: gs

! @param[in] gh half-max effect: Gene/constant for the signal strength
! giving half max effect.
! @note Note that the raw integer gene values are accepted by this
! function as allelescale is called automatically inside.
- integer, dimension(ADDITIVE_COMPS), intent(in) :: gh
+ integer, dimension(:), intent(in) :: gh

! @param[in] signal perception: Input value of (external or internal)
! stimulus perception.
@@ -7045,7 +7044,7 @@

! Local variables:
real(SRP) :: perception
- real(SRP) :: d1
+ real(HRP) :: d1, nr
integer :: i

! Parameter that specifies the minimum perception. Can be commondata::zero
@@ -7065,7 +7064,7 @@
if (present(erpcv)) then
if (erpcv > TOLERANCE_HIGH_DEF_SRP) then
perception = max(FORCED_MIN_PERCEPT, RNORM(signal,(erpcv*signal)**2))
- else
+ else
perception = max(FORCED_MIN_PERCEPT, signal)
end if
else
@@ -7072,16 +7071,22 @@
perception = max(FORCED_MIN_PERCEPT, signal)
end if

- neuronal_response = 0.0_SRP
+ nr = 0.0_HRP

! @warning The `do concurrent` construct is F2008 and can not (yet) be
! implemented in all compilers. Use normal `do` in such a case.
- do concurrent (i=1:ADDITIVE_COMPS)
- d1 = ( perception / alleleconv( allelescale(gh(i)) ) &
- ) ** alleleconv( allelescale(gs(i)) )
- neuronal_response = neuronal_response + d1/(1.0_SRP+d1)
+ do concurrent (i=1:size(gs))
+ d1 = (real(perception, HRP) / real(alleleconv(allelescale(gh(i))),HRP)) &
+ ** real( alleleconv( allelescale(gs(i)) ), HRP )
+ nr = nr + d1/(1.0_HRP+d1)
end do

+ if (nr < ZERO) then
+ neuronal_response = ZERO
+ else
+ neuronal_response = real(nr, SRP)
+ end if
+
end function gamma2gene_additive_i4

!-----------------------------------------------------------------------------
@@ -7130,13 +7135,13 @@
! function.
! @note Note that the raw integer gene values are accepted by this
! function as `allelescale` is called automatically inside.
- real(SRP), dimension(ADDITIVE_COMPS), intent(in) :: gs
+ real(SRP), dimension(:), intent(in) :: gs

! @param[in] half-max effect: Gene/constant for the signal strength giving
! half max effect.
! @note Note that the raw integer gene values are accepted by this
! function as `allelescale` is called automatically inside.
- real(SRP), dimension(ADDITIVE_COMPS), intent(in) :: gh
+ real(SRP), dimension(:), intent(in) :: gh

! @param[in] perception: Input value of (external or internal) stimulus
! perception.
@@ -7150,7 +7155,7 @@

! Local variables:
real(SRP) :: perception
- real(SRP) :: d1
+ real(HRP) :: d1, nr
integer :: i

! Parameter that specifies the minimum perception. Can be commondata::zero
@@ -7169,7 +7174,7 @@
if (present(erpcv)) then
if (erpcv > TOLERANCE_HIGH_DEF_SRP) then
perception = max(FORCED_MIN_PERCEPT, RNORM(signal,(erpcv*signal)**2))
- else
+ else
perception = max(FORCED_MIN_PERCEPT, signal)
end if
else
@@ -7176,16 +7181,22 @@
perception = max(FORCED_MIN_PERCEPT, signal)
end if

- neuronal_response = 0.0_SRP
+ nr = 0.0_HRP

! @warning The `do concurrent` construct is F2008 and can not (yet) be
! implemented in all compilers. Use normal `do` in such a case.
- do concurrent (i=1:ADDITIVE_COMPS)
- d1 = (perception / alleleconv(gh(i)) &
- ) ** alleleconv(gs(i))
- neuronal_response = neuronal_response + d1/(1.0_SRP+d1)
+ do concurrent (i=1:size(gs))
+ d1 = (real(perception,HRP) / real(alleleconv(gh(i)),HRP)) &
+ ** real( alleleconv(gs(i)),HRP )
+ nr = nr + d1/(1.0_HRP+d1)
end do

+ if (nr < ZERO) then
+ neuronal_response = ZERO
+ else
+ neuronal_response = real(nr, SRP)
+ end if
+
end function gamma2gene_additive_r4

!-----------------------------------------------------------------------------
}}}




40 lines of code changed in 1 file:

  • branches/budaev/HEDG2_01: m_common.f90 (+40 -29)
sbu062 2019-12-20 11:58 Rev.: 9188

improved portability for Windows, use macros for platform-specific tools (`grep`, `cut`,`uname`etc.) as in HEDTOOLS r9185

71 lines of code changed in 1 file:

  • branches/budaev/HEDG2_01: Makefile (+71 -50)
sbu062 2019-07-05 11:02 Rev.: 8510

merged r8486, save all agent data at each time step in (lifecycle_preevol)
- default disabled ENABLE_SAVE_AGENTS_EACH_TIMESTEP FALSE
- tests pass

52 lines of code changed in 2 files:

  • branches/budaev/HEDG2_01: m_common.f90 (+7), m_evolut.f90 (+45 -1)
sbu062 2019-07-05 09:51 Rev.: 8509

merged r8481, (population_ga_reproduce_max) include only alive
- tests pass

10 lines of code changed in 1 file:

  • branches/budaev/HEDG2_01: m_popul.f90 (+10 -1)
sbu062 2019-06-21 12:29 Rev.: 8457

foxed global bug causing GA_REPRODUCE_N_MIN reproducing sub-population in all cases

2 lines of code changed in 2 files:

  • branches/budaev/HEDG2_01: m_common.f90 (+1 -1), m_popul.f90 (+1 -1)
sbu062 2019-06-14 21:18 Rev.: 8444

(LOG_IEEE): log IEEE signalling, backport from r8442:r8443

54 lines of code changed in 1 file:

  • branches/budaev/HEDG2_01: m_common.f90 (+54)
sbu062 2019-06-13 20:44 Rev.: 8432

shorter log message

1 lines of code changed in 1 file:

  • branches/budaev/HEDG2_01: m_evolut.f90 (+1 -1)
sbu062 2019-06-13 15:03 Rev.: 8430

backported r8427:r8428 IPO now works in ifort

3 lines of code changed in 1 file:

  • branches/budaev/HEDG2_01: Makefile (+3 -1)
sbu062 2019-06-13 09:30 Rev.: 8425

backported (ieee_error_reporting) r8421:r8423 to older models

43 lines of code changed in 2 files:

  • branches/budaev/HEDG2_01: m_common.f90 (+38 -17), m_evolut.f90 (+5 -5)
sbu062 2019-06-06 13:15 Rev.: 8410

backported reverse sorfing in (qsort) as in r8409

13 lines of code changed in 1 file:

  • branches/budaev/HEDG2_01: m_popul.f90 (+13 -1)
sbu062 2019-05-29 10:41 Rev.: 8353

backported fixes and tests r8333:r8348 from model **06**

33 lines of code changed in 1 file:

  • branches/budaev/HEDG2_01: m_common.f90 (+33 -11)
sbu062 2019-05-24 11:51 Rev.: 8333

fix doxygen comments after backporting
- forgotten on parameters descriptions

4 lines of code changed in 1 file:

  • branches/budaev/HEDG2_01: m_common.f90 (+4 -4)
sbu062 2019-05-24 11:22 Rev.: 8332

more conformant explanations for (do_sanitise) and (ieee_error_reporting)
- more correct doxygen style

45 lines of code changed in 1 file:

  • branches/budaev/HEDG2_01: m_common.f90 (+45 -15)
sbu062 2019-05-24 06:56 Rev.: 8330

backported parameter change for (fitness_energy_reprfact_mass) from r8233

2 lines of code changed in 1 file:

  • branches/budaev/HEDG2_01: m_common.f90 (+2 -1)
sbu062 2019-05-24 06:34 Rev.: 8329

backported (fitness_energy_reprfact_mass) r8234
- tests pass

99 lines of code changed in 1 file:

  • branches/budaev/HEDG2_01: m_indiv.f90 (+99 -10)
sbu062 2019-05-23 22:21 Rev.: 8327

backported latest changes from HEDG2_06 r8320
- tests pass

199 lines of code changed in 3 files:

  • branches/budaev/HEDG2_01: Makefile (+11 -2), m_behav.f90 (+1 -1), m_common.f90 (+187 -64)
sbu062 2019-05-16 15:15 Rev.: 8303

**compiler bug**, debug: fix for intel **ifort 19** compiler bug
- accessor function `is_available()` is not accessible
resulting in crashing in high cpu-optimised build
(`-O3` etc)

5 lines of code changed in 1 file:

  • branches/budaev/HEDG2_01: m_evolut.f90 (+5 -2)
sbu062 2019-05-16 14:47 Rev.: 8302

debug: more information logging
- log value `distance` and `visrange` in `LOG_DBG` because
they occur quite often, need checking actual values if
they are really not very much different, small
differences can be ignored in log WARNINGs

2 lines of code changed in 1 file:

  • branches/budaev/HEDG2_01: m_env.f90 (+2 -1)
sbu062 2019-05-15 15:00 Rev.: 8296

fix merged r8280 for (average), test pass all

17 lines of code changed in 1 file:

  • branches/budaev/HEDG2_01: m_common.f90 (+17 -3)
sbu062 2019-04-14 10:03 Rev.: 8123

(population_load_data_all_genomes): implemented procedure to load genome data
- merged after further testing r8121 from 06
- merged from feature branch as in r8119

386 lines of code changed in 1 file:

  • branches/budaev/HEDG2_01: m_popul.f90 (+386)
sbu062 2019-01-31 22:49 Rev.: 7742

merged workaround against intel fortran 19 compiler bugs r7726:r7740 from HEDG2_06: crashes due to (a) loss of non-fixed log file unit while running and (b) loss of access to dynamic derived objects from other modules with O3 and -parallel optimisation flags

176 lines of code changed in 2 files:

  • branches/budaev/HEDG2_01: m_common.f90 (+128), m_evolut.f90 (+48 -17)
sbu062 2019-01-31 20:25 Rev.: 7737

merged xmpp notifications r7693 and r7736

8 lines of code changed in 1 file:

  • branches/budaev/HEDG2_01: Makefile (+8 -1)
sbu062 2019-01-23 12:01 Rev.: 7688

(food_resource_replenish_food_items_all): merged latest changes from model 06, r7676:r7687, tests pass

66 lines of code changed in 1 file:

  • branches/budaev/HEDG2_01: m_env.f90 (+66 -59)
sbu062 2019-01-21 11:30 Rev.: 7673

merged r7671, default vcs

3 lines of code changed in 1 file:

  • branches/budaev/HEDG2_01: Makefile (+3 -2)
sbu062 2019-01-21 10:40 Rev.: 7670

merged r7669, version control info error fix

13 lines of code changed in 1 file:

  • branches/budaev/HEDG2_01: Makefile (+13 -2)
sbu062 2019-01-18 18:37 Rev.: 7666

merged r7665: confusing UNIVERSE added _NOTUSE

6 lines of code changed in 1 file:

  • branches/budaev/HEDG2_01: m_common.f90 (+6 -8)
sbu062 2019-01-16 14:30 Rev.: 7654

backported r7653, intro doc on new stop file signal control

23 lines of code changed in 1 file:

  • branches/budaev/HEDG2_01: m_common.f90 (+23 -3)
sbu062 2019-01-16 13:54 Rev.: 7652

stop file code r7651 merged to other models

27 lines of code changed in 2 files:

  • branches/budaev/HEDG2_01: m_common.f90 (+13), m_evolut.f90 (+14)
sbu062 2019-01-14 16:25 Rev.: 7645

doc: fix wrong doc statement on relative visual range in (predator_capture_risk_calculate_fish)

1 lines of code changed in 1 file:

  • branches/budaev/HEDG2_01: m_env.f90 (+1 -3)
sbu062 2019-01-10 21:48 Rev.: 7643

merged r7642 from model 04, libasan memory lean check disabled on Windows

6 lines of code changed in 1 file:

  • branches/budaev/HEDG2_01: Makefile (+6 -1)
sbu062 2018-08-30 10:50 Rev.: 7304

r7303 applied to other branches: refer to tegsvn server and fix makefile link in doxygen

8 lines of code changed in 1 file:

  • branches/budaev/HEDG2_01: README.md (+8 -8)
sbu062 2018-04-06 15:08 Rev.: 6989

backported r6987-6988: fixed broken tests after r6909, was double main due to double calling of $DRV

4 lines of code changed in 1 file:

  • branches/budaev/HEDG2_01: Makefile (+4 -4)

(3735 more)

Generated by StatSVN 0.7.0