diff --git a/assets/data/publications.json b/assets/data/publications.json index 54dbd4a6..9bc38c37 100644 --- a/assets/data/publications.json +++ b/assets/data/publications.json @@ -174,14 +174,15 @@ "journal": "Instituto del Mar del Perú (IMARPE)", "type": "Technical Protocol", "doi": "", - "url": "", + "url": "https://www.gob.pe/institucion/imarpe/informes-publicaciones/7947433-elaboracion-de-las-tablas-de-decision-para-la-determinacion-del-limite-maximo-total-de-captura-permisible-por-temporada-de-pesca-en-la-pesqueria-del-stock-norte-centro-de-la-anchoveta-peruana", "institutional_author": "Instituto del Mar del Perú (IMARPE)", "identifier": "Ed. 06 · Rev. 00", "role": "Contributor", "summary": "Risk-based methodology linking abundance-at-length, biological parameters, environmental and exploitation scenarios, and spawning-biomass projections to seasonal harvest advice.", "source": "Career master", "output_category": "Reports & technical outputs", - "curated": true + "curated": true, + "open_access": true }, { "title": "North-central Peruvian anchovy stock status and 2026 first-season exploitation outlook", @@ -189,13 +190,14 @@ "journal": "Instituto del Mar del Perú (IMARPE)", "type": "Stock Assessment & Management Advice", "doi": "", - "url": "", + "url": "https://www.gob.pe/institucion/imarpe/informes-publicaciones/7960391-informe-correspondiente-al-oficio-n-0507-2026-imarpe-pe", "institutional_author": "Instituto del Mar del Perú (IMARPE)", "role": "Contributor", "summary": "Integrated stock-status assessment combining environmental conditions, fishery indicators, acoustic biomass, size structure, biological condition, and exploitation scenarios for management advice.", "source": "Career master", "output_category": "Reports & technical outputs", - "curated": true + "curated": true, + "open_access": true }, { "title": "North-central Peruvian anchovy status and 2025 second-season exploitation outlook", diff --git a/contact/index.qmd b/contact/index.qmd index 1bb17a5d..b5b7434f 100644 --- a/contact/index.qmd +++ b/contact/index.qmd @@ -7,7 +7,7 @@ toc: false ## Contact **Elmer Quispe-Salazar** -Marine Quantitative Ecologist · Fisheries Scientist +Quantitative Fisheries Scientist [Instituto del Mar del Perú (IMARPE)](https://www.gob.pe/imarpe) Callao, Peru diff --git a/includes/profile-sidebar.html b/includes/profile-sidebar.html index 984ac91f..6027b47c 100644 --- a/includes/profile-sidebar.html +++ b/includes/profile-sidebar.html @@ -5,7 +5,7 @@ Portrait of Elmer Quispe-Salazar

Elmer Quispe-Salazar

-

Marine Quantitative Ecologist
Fisheries Scientist

+

Quantitative Fisheries Scientist

Instituto del Mar del Perú (IMARPE)
Peru · Humboldt Current
Pelagic fisheries · Statistical ecology
@@ -16,11 +16,5 @@ GitHub LinkedIn -

Research metrics

-
-
ORCID works5
-
OpenAlex works3
-
-

Public ORCID and OpenAlex records.

diff --git a/projects/_generated.md b/projects/_generated.md index d98b8025..4300beae 100644 --- a/projects/_generated.md +++ b/projects/_generated.md @@ -2,112 +2,240 @@ ```{=html} ``` ## Stock assessment and population dynamics {#stock-assessment} -Population-state reconstruction, assessment diagnostics, biological parameters, and methods for understanding how structural assumptions affect fisheries inference. +```{=html} +
SystemPelagic fishFocusAssessmentDataSurvey + fishery
+

Research question: How do population processes, productivity, and model assumptions shape inference about the state and dynamics of exploited pelagic populations? Why it matters: Reliable assessment requires integrating biomass with recruitment, mortality, selectivity, and productivity while accounting for structural uncertainty in the models used for fisheries advice.

+``` + +### Projects and research directions ```{=html}
-
-
- -
+
-

TYPE-PAPER · ACTIVE · PRIVATE

-

Diagnosing stock-assessment misspecification with machine learning

-

Simulation-estimation experiments testing whether multivariate diagnostics can identify structural sources of assessment misspecification.

- +
+PROJECT + +
+

Diagnosing stock-assessment model misspecification with machine learning

+

Simulation-estimation experiments testing whether multivariate diagnostics can identify structural sources of stock-assessment misspecification.

+
``` -### Related outputs +### Outputs + +```{=html} + +``` + +## Environmental variability and pressure-state relationships {#environmental-variability} + +```{=html} +
SystemHumboldt CurrentFocusEnvironmentDataOcean + fishery
+

Research question: How do climate and oceanographic variability, natural forcing, fishing pressure, and their interactions alter productivity and the state of pelagic populations? Why it matters: Eastern Boundary Upwelling Systems are highly variable, so separating environmental forcing from fishing effects is essential for detecting pressure-state relationships, thresholds, and regime changes.

+``` + +### Outputs + +```{=html} + +``` + +## Reproductive biology, growth and condition {#life-history} + +```{=html} +
SystemAnchovyFocusLife historyDataBiological
+

Research question: How do reproduction, growth, and individual condition vary through time, and how do these life-history processes contribute to changes in pelagic population state? Why it matters: Maturity, spawning, growth, and condition can respond before biomass does, providing complementary information on population performance and resilience.

+``` + +### Outputs ```{=html} ``` -## Fisheries dynamics and management {#fisheries-dynamics} +## Spatial ecology, species distribution and biodiversity {#spatial-biodiversity} -Fishery season dynamics, fleet reorganization, fishing pressure, management benchmarks, and decision-relevant diagnostics under environmental variability. +```{=html} +
SystemPelagic ecosystemFocusSpatial ecologyDataSurvey + environment
+

Research question: How do pelagic species, associated fauna, and non-target interactions vary across space and time, and which environmental processes shape habitat suitability and species distributions? Why it matters: Spatially explicit information from niche models, species distribution models, biodiversity observations, and bycatch patterns is needed to interpret ecosystem change and support spatial fisheries management.

+``` + +### Outputs + +```{=html} + +``` + +## Fisheries dynamics and adaptive management {#fisheries-dynamics} + +```{=html} +
SystemPelagic fisheriesFocusManagementDataFishery + environment
+

Research question: How do pelagic fisheries reorganize through seasons, environmental variability, fleet behaviour, and management interventions, and how can those dynamics inform adaptive decisions? Why it matters: Fast changes in resource availability and fishing operations require diagnostics that separate ecological availability, biological risk, fishing pressure, and fleet response.

+``` + +### Projects and research directions ```{=html}
-
``` -### Related outputs +### Outputs ```{=html} ``` -## Stock condition and reproductive ecology {#stock-condition} - -Multidimensional stock condition, reproductive indicators, maturity, and biological responses used to describe population state beyond biomass alone. - -### Related outputs +## Scientific computing and research software {#scientific-computing} ```{=html} - +
SystemMarine dataFocusMethods + softwareDataMulti-source
+

Research question: How can statistical methods, reproducible workflows, and research software make complex marine and fisheries analyses more transparent, reusable, and auditable? Why it matters: Heterogeneous marine data and complex models create hidden analytical variation; reusable software and reproducible workflows improve validation, transferability, and scientific efficiency.

``` -## Statistical ecology and scientific computing {#scientific-computing} - -Reusable statistical methods, research software, reproducible workflows, and marine-data infrastructure developed to support quantitative ecological analysis. +### Projects and research directions ```{=html}
-
``` -### Related outputs +### Outputs ```{=html} ``` diff --git a/projects/index.qmd b/projects/index.qmd index 96bc5506..5d41283f 100644 --- a/projects/index.qmd +++ b/projects/index.qmd @@ -4,12 +4,12 @@ description: "Research themes, projects at different stages of maturity, and rel css: research.css --- -::: {.qs-footnote-note} -**Project-stage note.** This catalogue includes active analyses, manuscripts in development, reusable research infrastructure, and planned studies. The stage shown on each card describes its current maturity; inclusion here does not imply that all projects are being pursued simultaneously. -::: - {{< include _generated.md >}} ::: {.qs-footnote-note} **Research catalogue.** Each project card represents a canonical research repository or a stable public project record linked to its source repository. Formal publication, talk, software, teaching, and post metadata remain authoritative in their respective catalogues. [Explore the public Research Graph](/research-graph/) to see these records connected through common themes, projects, repositories, and provenance. ::: + +::: {.qs-footnote-note} +**Project-stage note.** This catalogue includes active analyses, manuscripts in development, reusable research infrastructure, and planned studies. The stage shown on each card describes its current maturity; inclusion here does not imply that all projects are being pursued simultaneously. +::: diff --git a/projects/research.css b/projects/research.css index f66e4ae9..e8ed698c 100644 --- a/projects/research.css +++ b/projects/research.css @@ -83,3 +83,38 @@ white-space: normal; } } + +/* Repository visibility is explicit without exposing private GitHub links. */ +.qs-project-topline { + display: flex; + align-items: center; + justify-content: space-between; + gap: .55rem; +} + +.qs-project-visibility { + display: inline-flex; + align-items: center; + justify-content: center; + width: 1.45rem; + height: 1.45rem; + border-radius: 50%; + font-size: .82rem; + line-height: 1; +} + +.qs-project-visibility-private { + color: #9a6200; + background: rgba(196, 132, 0, .11); +} + +.qs-project-visibility-public { + color: #39724d; + background: rgba(57, 114, 77, .10); +} + +.qs-project-repository-state { + color: #6b7280; + font-size: .84rem; + white-space: nowrap; +} diff --git a/publications/_generated.md b/publications/_generated.md index 9b7a0be7..e7e341cf 100644 --- a/publications/_generated.md +++ b/publications/_generated.md @@ -3,6 +3,7 @@

My ORCID iD is 0000-0001-9229-6379.

@@ -10,26 +11,30 @@ ## Peer-reviewed articles {#papers} -- **Quispe-Salazar, E.**, Sánchez, J., & Perea, Á. (2025). Classification models based on the gonadosomatic index to determine gonadal maturity stages: a case study in the Peruvian anchovy Engraulis ringens. *Scientia Marina, 89*(4), e117. DOI10.3989/scimar.05636.117OpenaccessResearchReproduction & growth
BibTeXview
@article{quispesalazar2025classification,
-  author = {Elmer Quispe-Salazar and Javier Sánchez and Ángel Perea},
-  title = {Classification models based on the gonadosomatic index to determine gonadal maturity stages: a case study in the Peruvian anchovy Engraulis ringens},
-  year = {2025},
-  journal = {Scientia Marina},
-  volume = {89},
-  number = {4},
-  pages = {e117},
-  doi = {10.3989/scimar.05636.117},
-  url = {https://doi.org/10.3989/scimar.05636.117}
-}
+- **Quispe-Salazar, E.**, Sánchez, J., & Perea, Á. (2025). Classification models based on the gonadosomatic index to determine gonadal maturity stages: a case study in the Peruvian anchovy Engraulis ringens. *Scientia Marina, 89*(4), e117. DOI10.3989/scimar.05636.117Openaccess ## Theses {#theses} -- **Quispe-Salazar, E.** (2025). Interannual variability in the growth of the Northern-Central stock of Peruvian anchovy (Engraulis ringens) during the period 1960–2022. *Cybertesis Revistas UNMSM Fondo editorial*. DOI10.5281/zenodo.17452484OpenaccessResearchReproduction & growth
BibTeXview
@misc{quispesalazar2025interannual,
-  author = {Elmer Quispe-Salazar},
-  title = {Interannual variability in the growth of the Northern-Central stock of Peruvian anchovy (Engraulis ringens) during the period 1960–2022},
-  year = {2025},
-  howpublished = {Cybertesis Revistas UNMSM Fondo editorial},
-  doi = {10.5281/zenodo.17452484},
-  url = {https://zenodo.org/doi/10.5281/zenodo.17452484},
-  note = {Dissertation Thesis}
-}
+- **Quispe-Salazar, E.** (2025). Interannual variability in the growth of the Northern-Central stock of Peruvian anchovy (Engraulis ringens) during the period 1960–2022. *Cybertesis Revistas UNMSM Fondo editorial*. DOI10.5281/zenodo.17452484Openaccess + +## Reports and institutional technical outputs {#reports} + +### 2026 + +- IMARPE Pelagic Resources Team (2026). Decision-table protocol for seasonal catch advice in the north-central Peruvian anchovy fishery. Risk-based methodology linking abundance-at-length, biological parameters, environmental and exploitation scenarios, and spawning-biomass projections to seasonal harvest advice. Openaccess +- IMARPE Pelagic Resources Team (2026). North-central Peruvian anchovy stock status and 2026 first-season exploitation outlook. Integrated stock-status assessment combining environmental conditions, fishery indicators, acoustic biomass, size structure, biological condition, and exploitation scenarios for management advice. Openaccess + +### 2025 + +- IMARPE Pelagic Resources Team (2025). Jack mackerel fishery status in 2025 and exploitation outlook for 2026. Assessment synthesis covering the 2025 jack-mackerel fishery, stock status, spawning biomass, fishing mortality, recruitment, exploitation scenarios, and catch-limit advice; individual contribution is not attributed in the report itself. +- IMARPE Pelagic Resources Team (2025). North-central Peruvian anchovy status and 2025 second-season exploitation outlook. Seasonal assessment integrating fishery performance, environmental conditions, acoustic biomass, demographic structure, reproductive condition, and exploitation perspectives. +- IMARPE Pelagic Resources Team (2025). Southern Peruvian anchovy status and 2026 first-season exploitation outlook. Regional assessment of southern anchoveta availability, fishery indicators, biomass projections, exploitation scenarios, and management advice. + +### 2024 + +- SPRFMO Connectivity Task Team (2024). Critical appraisal of research approaches to inform evidence of connectivity of Trachurus murphyi – a systematic review of 11 topics. *SPRFMO 12th Meeting of the Scientific Committee*. Systematic evidence synthesis across 11 research domains relevant to population connectivity and management of Chilean jack mackerel. Openaccess +- Geronimo, M., Lujan, C., Torrejón, J., & **Quispe-Salazar, E.** (2024). The Joint Jack Mackerel (JJM) model: a user guide to IMARPE's proposal. *SPRFMO 12th Meeting of the Scientific Committee*. Documents the population-dynamics equations, AD Model Builder implementation, inputs, outputs, model execution, and practical use of the JJM stock-assessment model. Openaccess + +### 2023 + +- Gutiérrez, M., Tarazona, A., Grados, D., Valdez, C., **Quispe-Salazar, E.**, Pereyra, N., Peraltilla, S., Meneses, G., & Vásquez, L. (2023). Habitat conditions of jack mackerel (Trachurus murphyi) and chub mackerel (Scomber japonicus) in the Peruvian sea between 2021 and 2023. *SPRFMO 11th Meeting of the Scientific Committee*. Links oceanographic and habitat conditions with the distribution of jack mackerel and chub mackerel in Peruvian waters. Openaccess diff --git a/scripts/build_home.py b/scripts/build_home.py index 9a2d1d8c..a38bc992 100644 --- a/scripts/build_home.py +++ b/scripts/build_home.py @@ -109,7 +109,7 @@ def render_sidebar(data: dict, identity: dict) -> str: Portrait of {name}

{name}

-

Marine Quantitative Ecologist
Fisheries Scientist

+

{html.escape(str(identity["headline"]))}

Instituto del Mar del Perú (IMARPE)
Peru · Humboldt Current
Pelagic fisheries · Statistical ecology
diff --git a/scripts/build_projects.py b/scripts/build_projects.py index 92d3667e..0e9755d5 100644 --- a/scripts/build_projects.py +++ b/scripts/build_projects.py @@ -82,24 +82,39 @@ def render_badges(items: list[dict], owner: str, expected_labels: tuple[str, ... def render_card(project: dict) -> list[str]: - """Render a GitHub-backed project while making its maturity explicit.""" + """Render a GitHub-backed project while making maturity and repository visibility explicit.""" slug = clean_class(project.get("slug"), "project slug") title = str(project.get("title") or "").strip() summary = str(project.get("summary") or "").strip() context = str(project.get("context") or "").strip() stage = str(project.get("stage") or "").strip() repository = str(project.get("source_repository") or "").strip() + site_path = str(project.get("site_path") or "").strip() if not all((title, summary, context, stage, repository)): raise RuntimeError(f"Project {slug} is missing card content, stage, or source_repository") - target = f"https://github.com/{repository}" + + repository_url = f"https://github.com/{repository}" + is_private = bool(site_path) and not re.match(r"^https?://", site_path, flags=re.I) + target = site_path if is_private else repository_url + visibility = "Private repository" if is_private else "Public repository" + visibility_class = "private" if is_private else "public" + visibility_icon = "bi-lock-fill" if is_private else "bi-unlock-fill" + repository_action = ( + 'Private repository' + if is_private + else f'Repository' + ) return [ '
', '
', + '
', 'PROJECT', + f'', + '
', f'

{html.escape(title)}

', f'

{html.escape(summary)}

', - f'', + f'', "
", "
", ] diff --git a/scripts/postprocess_site.py b/scripts/postprocess_site.py index 039cba43..1f28a4c6 100644 --- a/scripts/postprocess_site.py +++ b/scripts/postprocess_site.py @@ -20,6 +20,7 @@ PUBLICATIONS = ROOT / "assets" / "data" / "publications.json" SOFTWARE = ROOT / "assets" / "data" / "software.json" BLOG = ROOT / "blog" / "registry.json" +CONFIG = ROOT / "config" / "site.json" PERSON_ID = SITE_URL + "/#person" @@ -121,6 +122,8 @@ def apply_social_preview(text: str, route: str) -> str: def person_schema() -> dict: + identity = load_json(CONFIG).get("identity") or {} + headline = str(identity.get("headline") or "Quantitative Fisheries Scientist") return { "@context": "https://schema.org", "@type": "Person", @@ -128,7 +131,7 @@ def person_schema() -> dict: "name": "Elmer Quispe-Salazar", "url": SITE_URL + "/", "image": SITE_URL + "/images/profile.png", - "jobTitle": ["Marine Quantitative Ecologist", "Fisheries Scientist"], + "jobTitle": headline, "worksFor": { "@type": "Organization", "name": "Instituto del Mar del Perú (IMARPE)",