|
292 | 292 | } |
293 | 293 | } |
294 | 294 | } |
295 | | - echoinput << "N settle timings: " << N_settle_timings << endl |
296 | | - << " unique_settle_times: " << endl |
297 | | - << settle_timings_tempvec << endl; |
| 295 | + echoinput << "N settle timings: " << N_settle_timings << endl; |
298 | 296 | echoinput << "settle events use these settle_times: " << settle_assignments_timing << endl; |
299 | 297 |
|
300 | 298 | if (recr_dist_method == 2) |
|
343 | 341 | for (settle_time = 1; settle_time <= N_settle_timings; settle_time++) |
344 | 342 | { |
345 | 343 | j = 0; // temp value for calculated settlement age |
346 | | - if (spawn_month > Settle_month(settle_time)) |
| 344 | + if (Settle_month(settle_time) < spawn_month ) // settlement month before spawn_month, so settlement will be at least 1 calender year increment after spawning |
347 | 345 | { |
348 | | - k = 1; |
349 | | - j++; // so sets season 1 as earliest possible settlement at age 1 |
| 346 | + k = 1; // so sets season 1 as earliest possible season for settlement |
| 347 | + j = max( 1, Settle_age(settle_time) ); // calendar elapsed years at settlement |
350 | 348 | } |
351 | | - else |
| 349 | + else // settlement date is at or after spawn_month |
352 | 350 | { |
353 | | - k = spawn_seas; // earliest possible season for settlement at age 0 |
354 | | - } |
| 351 | + k = spawn_seas; // earliest possible season for settlement |
| 352 | + j = Settle_age(settle_time); // calendar elapsed years at settlement |
| 353 | + } |
355 | 354 | temp = azero_seas(k); // annual elapsed time fraction at begin of this season |
356 | 355 | Settle_timing_seas(settle_time) = (Settle_month(settle_time) - 1.0) / sumseas; // fraction of year at settlement month |
357 | 356 |
|
|
360 | 359 | temp += seasdur(k); |
361 | 360 | if (k == nseas) |
362 | 361 | { |
363 | | - k = 1; |
364 | | - j++; |
| 362 | + k = 1; // got to seas 1 in next year |
| 363 | + j++; // advance years since spawning |
365 | 364 | } |
366 | 365 | else |
367 | 366 | { |
368 | 367 | k++; |
369 | 368 | } |
370 | 369 | } |
371 | | -// if (j != Settle_age(settle_time)) |
372 | | -// { |
373 | | -// warnstream << "settle_month is less than spawn_month, so logical age at settlement calculated to be: " << j |
374 | | -// << " for settle_time " << settle_time << ". Does not match read value of " << Settle_age(settle_time) << " are you sure? "; |
375 | | -// write_message (NOTE, 0); |
376 | | -// } |
| 370 | + |
377 | 371 | Settle_seas(settle_time) = k; |
378 | | - Settle_seas_offset(settle_time) = Settle_seas(settle_time) - spawn_seas + j * nseas + Settle_age(settle_time) * nseas; // number of seasons between spawning and the season in which settlement occurs |
| 372 | +// echoinput << "Calendar years since spawning: " << j << endl; |
| 373 | + Settle_seas_offset(settle_time) = Settle_seas(settle_time) - spawn_seas + j * nseas; // number of seasons between spawning and the season in which settlement occurs |
379 | 374 | Settle_timing_seas(settle_time) -= temp; // timing from beginning of this season; needed for mortality calculation |
380 | 375 | echoinput << settle_time << " / " << Settle_month(settle_time); |
381 | 376 | echoinput << " / " << Settle_seas(settle_time) << " / " << Settle_seas_offset(settle_time) << " / " |
382 | 377 | << Settle_timing_seas(settle_time) << " / " << Settle_age(settle_time) << endl; |
383 | | - if (Settle_seas_offset(settle_time) == 0 && spawn_time_seas > 0.0) |
| 378 | + if ( Settle_seas_offset(settle_time) == 0 && spawn_time_seas > 0.0 && Settle_age(settle_time) == 0 ) |
384 | 379 | { |
385 | 380 | warnstream << "Cannot have spawn_time_seas after beginning of a season and settlements in the same season" << endl |
386 | 381 | << "++ put spawning at beginning of the season, or move settlements to next season"; |
|
0 commit comments