AGEPRO VERSION 4.25AGEPRO VERSION 4.25.
agepro40_inpfile_string for AGEPRO VERSION 4.0 compatibility.AGEPRO VERSION 4.0 was detected.auxfile_output_flag)
output_stock_summary were renamed to auxfile_output_flag.
summary_output_flag -> auxiliary_output_flagsummary_report -> auxiliary_flagvalid_aux_output_flags = c(0,1,2,3,4)) to match specifications introduced in AGEPRO-GUI 4.3.6
and the December 2025 version of the AGEPRO Reference Manual (#98)AGEPRO VERSION 4.0 Input File Format (enable_agepro40_format):
enable_agepro40_format is TRUE, check if value is logical or (0,1); if FALSE, checks if value matches valid_aux_output_flags.AGEPRO VERSION 4.25 input format);
Example1.jsontest-agepro_model.R: Added checks to see if Example1 Input File and Bootstrap File Exists. Removed set_bootstrap_file testageproInput.INP is replaced by AGEPRO_GUI Example 4 (AGEPRO VERSION 4.0)
Example4_UKU.INP: Modified bootstrap_file to be a relative path.bootstrap_file causing test snapshot errors.
test-agepro_model.R : Substitute bootstrap_file output value path w/ fixed value <path>validate_logical_parameter function from validation.R to as a options_output private helper methodver_json_format is now 2 (Changes to the JSON input format will increment up +1)
ver_jsonfile_format -> ver_json_format) causing NULL valuessummary_output_flag -> auxiliary_output_flagprocess_error_aux_data_flag -> process_dataflagreport_precentile_value -> perc_report_valuebiomass_scale -> scale_biomassrecruitment_scale -> scale_recruitmentstock_size_scale -> scale_stock_sizeassert_inpfile_version -> check_inpfile_versionprocess_error_aux_files -> process_error_datafilesoutput_data_frame -> export_dfexport_r_data_frame -> export_dfread_inp_file trycatch error handling.
enable_percentile_summary setup messages when resetting projection analysis types.enable_percentage_summary value.empirical_ssb for Empirical Recruit Per Spawning Mass Distribution (Recruitment model 2) (#76)parametric_autocorrelated_error as a base R6Class for Parametric Recruitment w/ Autocorrelated Lognormal Errors (#75)
berverton_holt_autocorrelated_error for Beverton-Holt w/ Autocorrelated Lognormal Error (Model 10)shepherd_curve_autocorrelated_error for Shepherd Curve w/ Autocorrelated Lognormal Error (Model 11)ricker_curve_autocorrelated_error for Ricker Curve w/ Autocorrelated Lognormal Error (Model 12)set_recruit_model function.recruit_scaling_factor, ssb_scaling_factor, and max_recruit_obs) to be settable.obs_table parameter to set observation data at initialization. Default is NULL, generating default values, the original behavior.print now shows max_recruit_obs (#71)print_input_option_name -> print_process_error_fieldsread_inp_lines message tweak to clarify recruitment time period range.read_inp_numeric_lines functionset_recruit_modelmax_bounds.R -> options_max_bounds.Ruser_percentile_summary.R -> options_percentile_summary.R
user_percentile_summary -> percentile_summaryreference_points.R -> options_reference_points.Rscaling_factors.R -> options_scaling_factors.Rretrospective_adjustments.R -> options_retrospective_adjustments.Routput_options.R -> options_output.R
output_options -> options_outputoptional_options_flags.R -> option_flags.R
optional_optional_flags -> option_flagsretro_adjust. If retrospective_adjust is missing in a new instances of this class, set enable_retrospective_adjustments to FALSE. Otherwise, its TRUEi) focuses on keyword parameter classes fields; ◀️ (or <) for a interface event (or input line read)print_parameter_table output through capture_output_as_message
cli_print_process_error_table in process_error class.agepro_inp_model can be initialized with general agepro model parameters. This change will be consistent with agepro_model and agepro_json_model. (#64)
testthat for basic agepro_model unit testing scripts (#48)
model_name parameter when initializing case_id. New agepro_model passes "Unnamed AGEPRO model".general_params parameter checks during agepro_model initializationcurrentver_inpfile_string)recruitData, if invalid recruitment model data found.set_projection_analyses -> setup_projection_analyses_value
AGEPRO VERSION 4.0 as currentver_inpfile_string . Input files will be written to AGEPRO VERSION 4.0
currentver_inpfile_string, AGEPRO VERSION 4.0 , AGEPRO VERSION 4.25write_inp(overwrite_as_currentver = FALSE) save to AGEPRO Input File and keep the supported version of input file (AGEPRO VERSION 4.25)write_inp: Use withCallingHandlers to properly handle errors when retrieving AGEPRO Input File formatted Strings from keyword parameter classes (get_inp_lines)set_inpfile_version -> write_inpfile_version
optional_options_flag: a shared Reference class for optional options.
enable_user_percentile_summary, enable_reference points, enable_scaling_factors, enable_max_bounds, enable_retrospective adjustments.
optional_options_flags.R to load before the optional options class R files in DESCRIPTION.AGEPRO VERSION 4.25 (currentver_inpfile_string): Reflecting changes in OPTIONS StockSummaryFlag to the new release the AGEPRO calculation engine.
AGERPRO VERSION 4.25; Input data imported from AGEPRO VERSION 4.0 input files will be saved to current version format.AGEPRO VERSION 4.2version.leagcyVer -> version.inpfile_string: Reflects AGEPRO input file version stringversion.ver with version.jsonfile_format: Numeric for JSON Input File format. Marked JSON format to 0 until AGEPRO Keyword Parameters is implemented on JSON Input File.ver_rpackage to return the ageproR version the agepro model was created.AGEPRO VERSION 4.0PERC and OUTPUT data to toy Example Agepro Input Filevalidate_logical_parameter to validate, handle, and convert potential logical values as numerical values to output_options active binding fields.pak::pkg_install example to README.json_list_objectsetup_projection_tables as a private helper method.tibble::as_tibble column name deprecation (#44)mortality_fraction_prior_spawn
BIOLOGICAL data to toy Example Agepro Input Filetime_varying creates a new proportion_total_mortality_matrix with default values and the number of columns depends on the time_varying state. The behavior is similar to AGEPRO-GUIproportion_total_mortality_matrix to avoid ambiguity with gender abbreviationsset_recruit_model (#49)
set_recruit_model argument is a numeric vector that matches a list of valid AGEPRO recruitment model numbers.set_recruit_model argument is empty or has multiple arguments.set_recruit_model only changed the Recruit Data collection object structure but did not change recruitment probability nor the num_rec_models general_param field.
model_num) parameter matches num_recruit_models parameter at initialization and when importing recruitment data (read_inp_lines) from AGEPRO input files.
num_recruit_models parameter to recruitment initializationseq_years) parameter to read_inp_files to update number of recruit modelsagepro_model$set_recruit_model : This now initializes a new instance of the recruitment class, using the general_params field number of recruitment models (num_rec_models) value.purrr::map to validate input for valid recruitment probabilities within the time projection year horizon for each recruitment model in Recruitment Probability (recruit_probability) active binding setter. Recruitment probabilities can be set after Recruitmentpurrr::map to get (and validate) recruitment model numbers from Recruitment Model Data (recruit_data) input and update the Recruitment Model Number Vector in the recruit_data active binding setter.recruit_scaling_factor, ssb_scaling_factor, max_recruit_obs, recruit_model_num_list, is set to private. These values can be set using methods of the recruitment class, such as during initialization.set_recruit_modelrecruit_probability), Recruitment Model Number vector (recruit_model_num_list), and the Recruitment Model Data (recruit_data) into private helper functions.model_collection_list -> recruit_data for clarity.recruit_data -> json_recruit_dataobserved_years to sequence_projection_years field.set_recruit_model function to initialize_recruit_model to reflect its intended functionality and set it as a private helper function.max_rec_obs -> max_recruit_obsinplines_recruit (and inplines_general from general_params) to get_inp_lines (#37)cat_verbose -> enable_cat_printyr_begin, yr_end, age_begin, age_end, num_pop_sims, num_fleets, num_rec_models, discards_present, seed is set to private. These values can be set using methods of the general_params class, such as during initialization. This behavior matches AGEPRO-GUIageproR.R -> ageproR-package.R)harvest_scenarioprojection_analyses
standard_projection, pstar_projection, and rebuild_projectionset_projection_analyses_type
standard (default). Agepro models using a
PStar Projection Analyses or a **Population Rebuilding Projection **
Analyses will use pstar and rebuild respectfully.harvest_scenario, including the projection analyses
classes: pstar_projection and rebuild_projectiondiscard and
disc_weight).
inport_agepro_inp_model to import agepro_inp_model data to
agepro_json_modelagepro_json_model to resolve
"Argument is not a function" warning messagescase_id to JSON experimental input file (#30)yr_end is 1 higher that yr_begin
and age_end is 1 higher than age_begin.age_begin and discards_present are 0 or 1.pop_num_sims active binding to match function argument orderagepro_model is
imported and exported to file as a numeric/double but used as a logical for
comparable statements.read_inp_lines
cli_recruit_rule for utility function
div_keyword_headercreate_parameter_tablegeneral_params, case_id, and recruitment
general_param fields that was previously only publickeyword_name and inp_keyword active bindingcli_general_rule for generalized cli_header_keyword insteaddiscard_present logicals: convert to numeric.read_inp_lines use read_inp_numeric_linecase_id field to model_name to prevent class name-field
ambiguitykeyword_name and inp_keyword active bindingcli_recruit_rule for generalized cli_header_keyword insteadmodel_collection_list and recruit_model_number_list
to recruitment R6classrecruit, bootstrap, and case_id to agepro_model
R6classdialog.R to file.R
assert_numeric_substrings & read_inp_numeric_line from utils.R
to file.Rcli_keyword_heading -> div_keyword_headernatural_mortality (natmort)maturity_fraction (maturity)fishery_selectivity (fishery)discard_fraction (discard)jan_stock_weight_age (stock_weight)spawning_stock_weight_age (ssb_weight)mean_population_weight_age (mean_weight)landed_catch_weight_age (catch_weight)discard_weight_age (disc_weight)input_option and time_varying, if it is a valid weight of age option.discards and disc_weight if agepro_model doesn't have
discards_presentinput_option == 1) is not supported right now.[NATMORT], [MATURITY], [FISHERY], [STOCK_WEIGHT],
[SSB_WEIGHT], [MEAN_WEIGHT], and [CATCH_WEIGHT] to toy example AGEPRO
example input data file. Added keyword parameter data is based on AGEPRO GUI's
example input file Uku Projection Base.agepro_model instantiates Process Error parameters (and general_params) as
active get/set fieldsprojection_years:
projection_years: interpreted as a single
integer representing the count of projection years or a vector of sequential
values representing a vector of "years".assert_numeric_substrings: fixed regex numeric string check to include
negatives.general_params
discards to discards_presentseed defaults to pseudo random number generatorkeyword_name,
inp_keyword)num_obervations of Empirical CDF Recruitment to 2low_recruits and high_recruits of
Two Stage Empirical Recruitmet w/ SSB to 2write_json, it will now use the file dialog
window. (#11)read_json.type (recruitment model number) (#29)output.R and read_input.R
ver_legacy_string typo that affected the creation of the
agepro_model class.Renamed package as ageproR to reflect the package as a supplement to Jon Brodziak's original AGEPRO program.
bootstrap$set_bootstrap_filename to set bootstrap file from file
dialogfile.choose.