Package: FIMS 0.9.3.9000

Kelli F. Johnson

FIMS: The Fisheries Integrated Modeling System

The Fisheries Integrated Modeling System is a next-generation framework of stock assessment models, assisting fishery managers with the goal of achieving sustainable fisheries. This system, when completed in a few years, offers the NOAA Fisheries and global fisheries science communities an advanced set of stock assessment models. These tools can be used separately or in combination to incorporate ecosystem and socioeconomic data and models, as well as climate effects and other drivers within the marine environment, into stock assessment models.

Authors:Kelli F. Johnson [aut, cre], Grant D. Adams [aut], Jon K. T. Brodziak [aut], Kathryn L. Doering [aut], Daniel R. Goethel [aut], Andrea M. Havron [aut], Ronald Klasky [aut], Peter T. Kuriyama [aut], Emily M. Liljestrand [aut], Christopher M. Legault [aut], Bai Li [aut], Timothy J. Miller [aut], Cole C. Monnahan [aut], Elizabeth F. Perl [aut], Megumi C. Oshima [aut], Kyle W. Shertzer [aut], Christine C. Stawitz [aut], Jane Y. Sullivan [aut], Matthew Supernaw [aut], Ian G. Taylor [aut], Nathan R. Vaughan [aut], Erik H. Williams [aut], Adrianne T. Wilson [aut], Kristan Blackhart [ctb], Edward J. Dick [ctb], James N. Ianelli [ctb], Huihua Lee [ctb]

FIMS_0.9.3.9000.tar.gz
FIMS_0.9.3.9000.zip(r-4.7)FIMS_0.9.3.9000.zip(r-4.6)FIMS_0.9.3.9000.zip(r-4.5)
FIMS_0.9.3.9000.tgz(r-4.6-x86_64)FIMS_0.9.3.9000.tgz(r-4.6-arm64)FIMS_0.9.3.9000.tgz(r-4.5-x86_64)FIMS_0.9.3.9000.tgz(r-4.5-arm64)
FIMS_0.9.3.9000.tar.gz(r-4.7-arm64)FIMS_0.9.3.9000.tar.gz(r-4.7-x86_64)FIMS_0.9.3.9000.tar.gz(r-4.6-arm64)FIMS_0.9.3.9000.tar.gz(r-4.6-x86_64)
FIMS_0.9.3.9000.tgz(r-4.6-emscripten)
manual.pdf |manual.html
DESCRIPTION |NEWS
card.svg |card.png
FIMS/json (API)

# Install 'FIMS' in R:
install.packages('FIMS', repos = c('https://noaa-fisheries-integrated-toolbox.r-universe.dev', 'https://cloud.r-project.org'))

Bug tracker:https://github.com/noaa-fims/fims/issues

Pkgdown/docs site:https://noaa-fims.github.io

Uses libs:
  • c++– GNU Standard C++ Library v3
Datasets:

On CRAN:

Conda:

noaa-nsapstock-assessmentcpp

9.06 score 39 stars 80 scripts 89 exports 35 dependencies

Last updated from:9e7c74c0c3. Checks:11 WARNING, 2 OK. Indexed: yes.

TargetResultTimeFilesSyslog
linux-devel-arm64WARNING1138
linux-devel-x86_64WARNING988
source / vignettesOK828
linux-release-arm64WARNING1155
linux-release-x86_64WARNING1833
macos-release-arm64WARNING1665
macos-release-x86_64WARNING2312
macos-oldrel-arm64WARNING1423
macos-oldrel-x86_64WARNING3387
windows-develWARNING2451
windows-releaseWARNING2079
windows-oldrelWARNING2763
wasm-releaseOK413

Exports:AgeCompaugmentBevertonHoltRecruitmentCatchAtAgeclearcreate_default_configurationscreate_default_parametersCreateTMBModelDlnormDistributionDmultinomDistributionDnormDistributionDoubleLogisticSelectivityEWAAGrowthFIMSFitFIMSFramefit_fimsFleetget_agesget_dataget_end_yearget_estimatesget_fit_metricsget_fit_streamget_fixedget_fleetsget_gradientget_inputget_lengthsget_logget_log_errorsget_log_warningsget_max_gradientget_model_outputget_n_agesget_n_fleetsget_n_lengthsget_n_yearsget_number_of_parametersget_objget_optget_parameter_namesget_randomget_random_namesget_reportget_sdreportget_start_yearget_timingget_versionglanceIndexinitialize_data_distributioninitialize_fimsinitialize_process_distributioninitialize_process_structureinv_logitis.FIMSFitLandingsLengthComplog_errorlog_infolog_warningLogDevsRecruitmentProcessLogisticMaturityLogisticSelectivitylogitlognormalLogRRecruitmentProcessMathmodel_age_compmodel_age_to_length_conversionmodel_indexmodel_landingsmodel_length_compmodel_weight_at_agemultinomialOpsplotPopulationRealVectorset_fixedset_log_throw_on_errorset_randomSharedIntSharedRealSharedStringSummarytidyVariableVariableVector

Dependencies:clicpp11dplyrfarvergenericsggplot2gluegtablehardhatisobandjsonlitelabelinglatticelifecyclemagrittrMatrixpillarpkgconfigpurrrR6RColorBrewerRcppRcppEigenrlangS7scalessparsevctrstibbletidyselectTMButf8vctrsviridisLitewithryardstick

Adding a New C++ Module
Overview | Who Should Use This Guide | Prerequisites | FIMS Code Structure | Directory Structure | Naming Conventions | C++ Naming Conventions | R Naming Conventions | Module-Specific Conventions | Step-by-Step Guide | Related documentation | Documentation expectations | Step 1: Create the C++ implementation | Class roles in the C++ layer | 1.1 Create or update the base class | 1.2 Create or update the implementation class | 1.3 Create or update the umbrella header | Step 2: Build the Rcpp interface | 2.1 Understand the parameter objects first | 2.2 Create or update the interface class | 2.3 Register parameters with TMB in add_to_fims_tmb_internal() | 2.4 Extract results in finalize() | Step 3: Register the module with the R API | 3.1 Update src/fims_modules.hpp | 3.2 Update R/FIMS-package.R | Step 4: Connect the module to the current R workflow | 4.1 Update the configuration and default-parameter path | 4.2 Update initialize_modules.R | 4.3 Keep the full run path in mind | Step 5: Add targeted tests | 5.1 C++ Google tests | 5.2 R testthat tests | Step 6: Finalize the documentation and build checks | 6.1 Module-specific documentation | Files to modify: complete checklist | Required or commonly required files | Validation checklist | Common patterns and best practices | Parameter handling | ID management and lifecycle | TMB integration | Namespace organization | Troubleshooting | Common issues | "undefined symbol" errors when loading the package | Parameters are not being estimated | Values are not appearing back in R after a run | The module initializes in R but is missing expected fields | Getting help | Examples and references | Code examples | Documentation resources | Summary

Last update: 2026-07-08
Started: 2026-03-18

Introducing the Fisheries Integrated Modeling System (FIMS)
FIMS | Loading the package | Getting help | Memory | Data | data_big | FIMSFrame() | Configurations | create_default_configurations() | Update configurations | Parameters | create_default_parameters() | Update parameters | Fit | initialize_fims() | fit_fims() | Example | Logging system | Sensitivities | Initial values | Age only | Length

Last update: 2026-07-08
Started: 2023-07-11

Simple projections using FIMS
Projections in FIMS | Without projections | Projections | Data | Model | Model fit | Model summaries

Last update: 2026-07-08
Started: 2026-01-20

FIMS Path: Maturity
Modules in R | Rcpp Interface | fims namespace | What is a namespace? | Maturity example | fims_popdy::LogisticMaturity class | Population class | Overview | Thinking in R

Last update: 2026-07-08
Started: 2023-07-11

Intro to C++
What is C++ | Definition | Why use C++ | Writing C++ | Basics | Types | Hello World example | add example | Vectors | Constants | Templates | Syntax in FIMS | Compiling directions | Classes | MyClass example | Instantiate and initialize | Inheritance | Polymorphism | Pointers and References | Pointers | References | Modifying Pointers | Memory Management | Shared pointers

Last update: 2026-07-08
Started: 2026-01-16

Intro to Rcpp
What is Rcpp | Definition | Why use Rcpp | Writing C++ functions | Inline C++ code in R | Calling .cpp files from R | Benchmarking against R | C++ in FIMS | Rcpp Types | Rcpp scalar classes | Rcpp vector classes | SEXP in R | Type conversion | Rcpp methods | Rcpp modules | RCPP_MODULE | RCPP_EXPOSED_CLASS | Modules in FIMS

Last update: 2026-07-08
Started: 2026-01-16

Introducing FIMS input data
Other sources of information | Data format | data_big | FIMSFrame() | Landings (type == "landings") | Indices (type == "index") | Age compositions (type == "age_comp") | Length compositions (type == "length_comp") | Weight-at-age data (type == "weight_at_age") | Age-to-length conversion (type == "age_to_length_conversion")

Last update: 2026-06-01
Started: 2026-03-25

RE Sparsity
Introduction | Methods | Time-series model | Catch-at-age model | Parameters | Code | Results

Last update: 2026-05-11
Started: 2026-01-20

FIMS User Setup Guide
Overview | ☁️ Google Cloud Workstations | 🌐 GitHub Codespaces | 🐧 WSL2 | 🧑‍💻 Local | 🙋 Need Help?

Last update: 2026-01-16
Started: 2026-01-16

Readme and manuals

Help Manual

Help pageTopics
Augment a FIMSFit object for use with yardstickaugment.FIMSFit
C++ Classes Exported via RcppAgeComp BevertonHoltRecruitment CatchAtAge Cpp_classes DlnormDistribution DmultinomDistribution DnormDistribution DoubleLogisticSelectivity EWAAGrowth Fleet Index Landings LengthComp LogDevsRecruitmentProcess LogisticMaturity LogisticSelectivity LogRRecruitmentProcess Population RealVector SharedInt SharedReal SharedString Variable VariableVector
C++ Functions Exported via Rcppclear Cpp_functions CreateTMBModel get_fixed get_log get_log_errors get_log_warnings get_parameter_names get_random get_random_names inv_logit logit log_error log_info log_warning set_fixed set_log_throw_on_error set_random
Create a default FIMS configuration tibblecreate_default_configurations
Create default parameters for a FIMS modelcreate_default_parameters
FIMS input data framedata_big
Vector of acceptable FIMS input typesfims_input_types
Class constructors for class 'FIMSFit' and associated child classesFIMSFit
Class constructors for 'FIMSFrame' and associated child classesFIMSFrame
Fit a FIMS model (BETA)fit_fims
Get a slot in a FIMSFit objectget_estimates get_estimates,FIMSFit-method get_FIMSFit get_gradient get_gradient,FIMSFit-method get_input get_input,FIMSFit-method get_max_gradient get_max_gradient,FIMSFit-method get_model_output get_model_output,FIMSFit-method get_number_of_parameters get_number_of_parameters,FIMSFit-method get_obj get_obj,FIMSFit-method get_opt get_opt,FIMSFit-method get_report get_report,FIMSFit-method get_sdreport get_sdreport,FIMSFit-method get_timing get_timing,FIMSFit-method get_version get_version,FIMSFit-method
Get a slot in a FIMSFrame objectget_ages get_ages,data.frame-method get_ages,FIMSFrame-method get_data get_data,data.frame-method get_data,FIMSFrame-method get_end_year get_end_year,data.frame-method get_end_year,FIMSFrame-method get_FIMSFrame get_fleets get_fleets,data.frame-method get_fleets,FIMSFrame-method get_lengths get_lengths,data.frame-method get_lengths,FIMSFrame-method get_n_ages get_n_ages,data.frame-method get_n_ages,FIMSFrame-method get_n_fleets get_n_fleets,data.frame-method get_n_fleets,FIMSFrame-method get_n_lengths get_n_lengths,data.frame-method get_n_lengths,FIMSFrame-method get_n_years get_n_years,data.frame-method get_n_years,FIMSFrame-method get_start_year get_start_year,data.frame-method get_start_year,FIMSFrame-method
Compute yardstick metrics for a fitted FIMS modelget_fit_metrics
Extract a single data stream from a FIMSFit augmented tibbleget_fit_stream
Glance at a FIMSFit object - one-row model summaryglance.FIMSFit
Set up a new distribution for a data type or a processinitialize_data_distribution initialize_process_distribution initialize_process_structure
Initialize C++ modules via Rcpp for a FIMS modelinitialize_fims
Should FIMS be verbose?is_fims_verbose
Check if an object is of class FIMSFitis.FIMSFit
Distributions not available in the stats packagelognormal multinomial
Get a vector of data to be passed to a FIMS module from a FIMSFrame objectmodel_ model_age_comp model_age_comp,data.frame-method model_age_comp,FIMSFrame-method model_age_to_length_conversion model_age_to_length_conversion,data.frame-method model_age_to_length_conversion,FIMSFrame-method model_index model_index,data.frame-method model_index,FIMSFrame-method model_landings model_landings,data.frame-method model_landings,FIMSFrame-method model_length_comp model_length_comp,data.frame-method model_length_comp,FIMSFrame-method model_weight_at_age model_weight_at_age,data.frame-method model_weight_at_age,FIMSFrame-method
Plot a 'FIMSFrame' objectplot,FIMSFrame,missing-method
Remove test dataremove_test_data
Reshape JSON estimatesreshape_json_estimates
Reshape TMB estimatesreshape_tmb_estimates
Run the google test suiterun_gtest
Run R integration testsrun_r_integration_tests
Run R unit testsrun_r_unit_tests
Setup and run the google test suitesetup_and_run_gtest
Set up your local environment to run the google tests locallysetup_gtest
Tidy a FIMSFit object into a parameter-level tibbletidy.FIMSFit
Create tests/google_benchmark/benchmark_*.cpp and register it in CMakeLists.txtuse_google_benchmark_template
Create tests/gtest/test_*.cpp test file and register it in CMakeLists.txtuse_gtest_template
Create tests/testthat/test-*.R test fileuse_testthat_template