thefaylab / hydra_sim

Code-base for the hydra multispecies simulation model
2 stars 0 forks source link

bottom temperature source for intake calculation #21

Closed sgaichas closed 2 years ago

sgaichas commented 2 years ago

The current temperature time series in the .dat file is used in the intake calculation. This influences predation mortality over time (it is currently the only thing that varies over time in this equation because we have entered a constant stomach weight at length for all species).

I believe the model was originally parameterized with mean annual GB bottom temperature from NEFSC ESR reports.

Simulated data is using "fall survey" bottom temperature for NOBA. This ideally would be an annual average instead, which could be calculated from Atlantis, but current input is fine for simulation testing.

The main note here is that for the real data, I should get an annual average bottom temperature for the GB survey strata that we are using in the mskeyrun project.

Check:

reference bt in situ (1981-2010) + bottom temp anomaly in situ

sgaichas commented 2 years ago

First point: no, but use ecodata anyway

The ecodata::bottom_temp EPUs do not exactly match our survey-derived EPU definitions. They use the original EPUs based on 10 minute squares. The primary mismatch is on southwestern Georges Bank (see here). A portion of this area is not included when we use the survey strata.

I think the difference in footprint may be less influential on the model than the averaging over a full annual cycle combine with lack of data early in the time series (see point 2) so for now this spatial footprint is ok.

sgaichas commented 2 years ago

Second point: yes, but not easily available right now

The ecodata::bottom_temp time series starts in 1977 and goes through 2021 (skipping 2020). Hubert du Pontavice used GLORYS to de-bias a regional ocean model (ROMS) run to estimate bottom temperature back to the 1950s, and cold pool indices have been derived from this product for the MAB. However, this data product is still in the final stages of review.

Until this becomes available, we will use the current (2022) ecodata::bottom_temp in-situ product for 1977-2019.

I'll substitute in the mean 1977-1981 value for 1968-1976 GB annual average bottom temperature.

sgaichas commented 2 years ago

Third point: looks correct

Comparison of values calculated using this method with GB mean bottom temperature data in the current version of hydra_sim shows similar trends. Current ecodata source is more likely to be correct than cut and paste from 2011 ESR.

sgaichas commented 2 years ago

Code developing temperature inputs in hydradata commit see these lines:

    survtempdat <- ecodata::bottom_temp %>% 
      dplyr::filter(EPU == "GB",
                    Time %in% modyears,
                    Var %in% c("bottom temp anomaly in situ",
                               "reference bt in situ (1981-2010)")) %>%  
      tidyr::pivot_wider(names_from = "Var", values_from = "Value") %>%  
      dplyr::mutate(ModSim = "Actual",
                    year = Time,
                    survey = paste0("2022ecodata::bottom_temp ",Time),
                    variable = "bottomtemp",
                    value = `bottom temp anomaly in situ` +`reference bt in situ (1981-2010)`,
                    units = Units) %>%
      dplyr::select(ModSim, year, survey, variable, value, units)

    survtempfill <- data.frame(ModSim = "Actual",
                           year = setdiff(survindex$year, survtempdat$year),
                           survey = "2022ecodata::bottom_temp mean 1977-1981",
                           variable = "bottomtemp",
                           value = mean(survtempdat$value[survtemp$year %in% 1977:1981]),
                           units = "degreesC")

    survtemp <- dplyr::bind_rows(survtempfill, survtempdat)