@@ -12168,17 +12168,18 @@ def revise_max_intake(
12168
12168
(CRD1 != _IC_NODATA) &
12169
12169
(CRD2 != _IC_NODATA))
12170
12170
12171
- corrected_protein_intake = degr_protein_intake
12171
+ corrected_protein_intake = degr_protein_intake.copy()
12172
+ feeding_level = numpy.zeros(max_intake.shape, dtype=numpy.float32)
12173
+ feeding_level[valid_mask] = (
12174
+ energy_intake[valid_mask] / energy_maintenance[valid_mask]) - 1
12172
12175
high_intake_mask = (
12173
- (((energy_intake / energy_maintenance) - 1) > 0) &
12176
+ (feeding_level > 0) &
12174
12177
valid_mask)
12175
12178
corrected_protein_intake[high_intake_mask] = (
12176
- degr_protein_intake[high_intake_mask] *
12177
- (1. - (
12178
- CRD1[high_intake_mask] - CRD2[high_intake_mask] *
12179
+ degr_protein_intake[high_intake_mask] * (
12180
+ 1. - CRD1[high_intake_mask] - CRD2[high_intake_mask] *
12179
12181
total_digestibility[high_intake_mask]) *
12180
- (energy_intake[high_intake_mask] /
12181
- energy_maintenance[high_intake_mask]) - 1.))
12182
+ feeding_level[high_intake_mask])
12182
12183
12183
12184
reduction_factor = numpy.empty(max_intake.shape, dtype=numpy.float32)
12184
12185
reduction_factor[valid_mask] = 1.
@@ -12201,7 +12202,7 @@ def revise_max_intake(
12201
12202
corrected_protein_intake[insuff_cross_mask] /
12202
12203
protein_req[insuff_cross_mask])) * 0.75))
12203
12204
# apply the reduction factor
12204
- max_intake_revised = max_intake
12205
+ max_intake_revised = max_intake.copy()
12205
12206
max_intake_revised[valid_mask] = (
12206
12207
max_intake[valid_mask] * reduction_factor[valid_mask])
12207
12208
return max_intake_revised
0 commit comments