natcap.invest.fisheries.fisheries_hst_io¶
The Fisheries Habitat Scenarios Tool IO module contains functions for handling inputs and outputs
-
natcap.invest.fisheries.fisheries_hst_io.
fetch_args
(args)¶ 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 (same as Fisheries Preprocessor entry point)
- Returns
dictionary containing necessary variables
- Return type
vars_dict (dictionary)
- Raises
ValueError – parameter mismatch between Population and Habitat CSV files
Example Returns:
vars_dict = { 'workspace_dir': 'path/to/workspace_dir/', 'output_dir': 'path/to/output_dir/', 'sexsp': 2, 'gamma': 0.5, # Pop Vars 'population_csv_path': 'path/to/csv_path', 'Surv_nat_xsa': np.array( [[[...], [...]], [[...], [...]], ...]), 'Classes': np.array([...]), 'Class_vectors': { 'Vulnfishing': np.array([...], [...]), 'Maturity': np.array([...], [...]), 'Duration': np.array([...], [...]), 'Weight': np.array([...], [...]), 'Fecundity': np.array([...], [...]), }, 'Regions': np.array([...]), 'Region_vectors': { 'Exploitationfraction': np.array([...]), 'Larvaldispersal': np.array([...]), }, # Habitat Vars 'habitat_chg_csv_path': 'path/to/csv', 'habitat_dep_csv_path': 'path/to/csv', 'Habitats': ['habitat1', 'habitat2', ...], 'Hab_classes': ['class1', 'class2', ...], 'Hab_regions': ['region1', 'region2', ...], 'Hab_chg_hx': np.array( [[[...], [...]], [[...], [...]], ...]), 'Hab_dep_ha': np.array( [[[...], [...]], [[...], [...]], ...]), 'Hab_class_mvmt_a': np.array([...]), 'Hab_dep_num_a': np.array([...]), }
-
natcap.invest.fisheries.fisheries_hst_io.
read_habitat_chg_csv
(args)¶ Parses and verifies a Habitat Change Parameters CSV file and returns a dictionary of information related to the interaction between a species and the given habitats.
Parses the Habitat Change Parameters CSV file for the following vectors:
Names of Habitats and Regions
Habitat Area Change
- Parameters
args (dictionary) – arguments from the user (same as Fisheries HST entry point)
- Returns
- dictionary containing necessary
variables
- Return type
habitat_chg_dict (dictionary)
- Raises
MissingParameter – required parameter not included
ValueError – values are out of bounds or of wrong type
IndexError – likely a file formatting issue
Example Returns:
habitat_chg_dict = { 'Habitats': ['habitat1', 'habitat2', ...], 'Hab_regions': ['region1', 'region2', ...], 'Hab_chg_hx': np.array( [[[...], [...]], [[...], [...]], ...]), }
-
natcap.invest.fisheries.fisheries_hst_io.
read_habitat_dep_csv
(args)¶ Parses and verifies a Habitat Dependency Parameters CSV file and returns a dictionary of information related to the interaction between a species and the given habitats.
Parses the Habitat Parameters CSV file for the following vectors:
Names of Habitats and Classes
Habitat-Class Dependency
The following vectors are derived from the information given in the file:
Classes where movement between habitats occurs
Number of habitats that a particular class depends upon
- Parameters
args (dictionary) – arguments from the user (same as Fisheries HST entry point)
- Returns
- dictionary containing necessary
variables
- Return type
habitat_dep_dict (dictionary)
- Raises
MissingParameter - required parameter not included –
ValueError - values are out of bounds or of wrong type –
IndexError - likely a file formatting issue –
Example Returns:
habitat_dep_dict = { 'Habitats': ['habitat1', 'habitat2', ...], 'Hab_classes': ['class1', 'class2', ...], 'Hab_dep_ha': np.array( [[[...], [...]], [[...], [...]], ...]), 'Hab_class_mvmt_a': np.array([...]), 'Hab_dep_num_a': np.array([...]), }
-
natcap.invest.fisheries.fisheries_hst_io.
read_population_csv
(args)¶ 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
- Returns
- dictionary containing verified population
arguments
- Return type
pop_dict (dictionary)
- Raises
MissingParameter – required parameter not included
ValueError – values are out of bounds or of wrong type
Example Returns:
pop_dict = { 'population_csv_path': 'path/to/csv', 'Surv_nat_xsa': np.array( [[...], [...]], [[...], [...]], ...), # Class Vectors 'Classes': np.array([...]), 'Class_vector_names': [...], 'Class_vectors': { 'Vulnfishing': np.array([...], [...]), 'Maturity': np.array([...], [...]), 'Duration': np.array([...], [...]), 'Weight': np.array([...], [...]), 'Fecundity': np.array([...], [...]), }, # Region Vectors 'Regions': np.array([...]), 'Region_vector_names': [...], 'Region_vectors': { 'Exploitationfraction': np.array([...]), 'Larvaldispersal': np.array([...]), }, }
-
natcap.invest.fisheries.fisheries_hst_io.
save_population_csv
(vars_dict)¶ Creates a new Population Parameters CSV file based the provided inputs.
- Parameters
vars_dict (dictionary) – variables generated by preprocessor arguments and run.
Example Args:
args = { 'workspace_dir': 'path/to/workspace_dir/', 'output_dir': 'path/to/output_dir/', 'sexsp': 2, 'population_csv_path': 'path/to/csv', # original csv file 'Surv_nat_xsa': np.ndarray([...]), 'Surv_nat_xsa_mod': np.ndarray([...]), # Class Vectors 'Classes': np.array([...]), 'Class_vector_names': [...], 'Class_vectors': { 'Vulnfishing': np.array([...], [...]), 'Maturity': np.array([...], [...]), 'Duration': np.array([...], [...]), 'Weight': np.array([...], [...]), 'Fecundity': np.array([...], [...]), }, # Region Vectors 'Regions': np.array([...]), 'Region_vector_names': [...], 'Region_vectors': { 'Exploitationfraction': np.array([...]), 'Larvaldispersal': np.array([...]), }, # other arguments are ignored ... }
Note
Creates a modified Population Parameters CSV file located in the ‘workspace/output/’ folder
Currently appends ‘_modified’ to original filename for new filename