natcap.invest.fisheries.fisheries_io¶
The Fisheries IO module contains functions for handling inputs and outputs
-
exception
natcap.invest.fisheries.fisheries_io.
MissingParameter
¶ Bases:
ValueError
An exception class that may be raised when a necessary parameter is not provided by the user.
-
natcap.invest.fisheries.fisheries_io.
create_outputs
(vars_dict)¶ Creates outputs from variables generated in the run_population_model() function in the fisheries_model module
Creates the following:
Results CSV File
Results HTML Page
Results Shapefile (if provided)
Intermediate CSV File
- Parameters
vars_dict (dictionary) – contains variables generated by model run
-
natcap.invest.fisheries.fisheries_io.
fetch_args
(args, create_outputs=True)¶ Fetches input arguments from the user, verifies for correctness and completeness, and returns a list of variables dictionaries
- Parameters
args (dictionary) – arguments from the user
- Returns
- set of variable dictionaries for each
model
- Return type
model_list (list)
Example Returns:
model_list = [ { 'workspace_dir': 'path/to/workspace_dir', 'results_suffix': 'scenario_name', 'output_dir': 'path/to/output_dir', 'aoi_vector_path': 'path/to/aoi_vector_path', 'total_timesteps': 100, 'population_type': 'Stage-Based', 'sexsp': 2, 'harvest_units': 'Individuals', 'do_batch': False, 'spawn_units': 'Weight', 'total_init_recruits': 100.0, 'recruitment_type': 'Ricker', 'alpha': 32.4, 'beta': 54.2, 'total_recur_recruits': 92.1, 'migr_cont': True, 'val_cont': True, 'frac_post_process': 0.5, 'unit_price': 5.0, # Pop Params 'population_csv_path': 'path/to/csv_path', 'Survnaturalfrac': numpy.array( [[[...], [...]], [[...], [...]], ...]), 'Classes': numpy.array([...]), 'Vulnfishing': numpy.array([...], [...]), 'Maturity': numpy.array([...], [...]), 'Duration': numpy.array([...], [...]), 'Weight': numpy.array([...], [...]), 'Fecundity': numpy.array([...], [...]), 'Regions': numpy.array([...]), 'Exploitationfraction': numpy.array([...]), 'Larvaldispersal': numpy.array([...]), # Mig Params 'migration_dir': 'path/to/mig_dir', 'Migration': [numpy.ndarray, numpy.ndarray, ...] }, { ... # additional dictionary doesn't exist when 'do_batch' # is false } ]
Note
This function receives an unmodified ‘args’ dictionary from the user
-
natcap.invest.fisheries.fisheries_io.
read_migration_tables
(args, class_list, region_list)¶ Parses, verifies and orders list of migration matrices necessary for program.
- Parameters
args (dictionary) – same args as model entry point
class_list (list) – list of class names
region_list (list) – list of region names
- Returns
see example below
- Return type
mig_dict (dictionary)
Example Returns:
mig_dict = { 'Migration': [numpy.ndarray, numpy.ndarray, ...] }
Note
If migration matrices are not provided for all classes, the function will generate identity matrices for missing classes
-
natcap.invest.fisheries.fisheries_io.
read_population_csv
(args, path)¶ Parses and verifies a single Population Parameters CSV file
Parses and verifies inputs from the Population Parameters CSV file. If not all necessary vectors are included, the function will raise a MissingParameter exception. Survival matrix will be arranged by class-elements, 2nd dim: sex, and 3rd dim: region. Class vectors will be arranged by class-elements, 2nd dim: sex (depending on whether model is sex-specific) Region vectors will be arraged by region-elements, sex-agnostic.
- Parameters
args (dictionary) – arguments provided by user
path (string) – the particular Population Parameters CSV file to parse and verifiy
- Returns
- dictionary containing verified population
arguments
- Return type
pop_dict (dictionary)
Example Returns:
pop_dict = { 'population_csv_path': 'path/to/csv', 'Survnaturalfrac': numpy.array( [[...], [...]], [[...], [...]], ...), # Class Vectors 'Classes': numpy.array([...]), 'Vulnfishing': numpy.array([...], [...]), 'Maturity': numpy.array([...], [...]), 'Duration': numpy.array([...], [...]), 'Weight': numpy.array([...], [...]), 'Fecundity': numpy.array([...], [...]), # Region Vectors 'Regions': numpy.array([...]), 'Exploitationfraction': numpy.array([...]), 'Larvaldispersal': numpy.array([...]), }
-
natcap.invest.fisheries.fisheries_io.
read_population_csvs
(args)¶ Parses and verifies the Population Parameters CSV files
- Parameters
args (dictionary) – arguments provided by user
- Returns
- list of dictionaries containing verified population
arguments
- Return type
pop_list (list)
Example Returns:
pop_list = [ { 'Survnaturalfrac': numpy.array( [[...], [...]], [[...], [...]], ...), # Class Vectors 'Classes': numpy.array([...]), 'Vulnfishing': numpy.array([...], [...]), 'Maturity': numpy.array([...], [...]), 'Duration': numpy.array([...], [...]), 'Weight': numpy.array([...], [...]), 'Fecundity': numpy.array([...], [...]), # Region Vectors 'Regions': numpy.array([...]), 'Exploitationfraction': numpy.array([...]), 'Larvaldispersal': numpy.array([...]), }, { ... } ]