inbo / riparias-prep

Preparatory scripts and data management for the RIPARIAS workflow
MIT License
0 stars 1 forks source link

Dashboard for tracking surveillance and management progress for feeding RIPARIAS KPIs #41

Open timadriaens opened 2 years ago

timadriaens commented 2 years ago

Now that we have this dashboard for exploring the baseline distribution of the RIPARIAS target species, the idea is to extend this dashboard with some indicators at the level of the project. This is a development that will serve the following actions and can also help assess the KPI's for the project:

To do this, the coordination group decided on the idea of an online dashboard where some indicators to track progress (as 'distance from baseline') in a more or less real-time way. From the slides presented at that meeting:

image

Therefore, the idea is to perform some overlays and do some analysis on the baseline data. Notably, after discussion with @bramdhondt and @jrhillae we decide to visualize the following 'indicators':

All this should be organised per river basin subunit as these are used in RIPARIAS for organising management and surveillance.

SanderDevisscher commented 2 years ago

To get new observations run the easin - flow (Create_Parameter_Files.Rmd -> gbif_prep.Rmd -> merge_data.Rmd -> copy all files from easin/Data/Spatial/T999/Batch2_1_3_999 to /riparias-prep/data/spatial/baseline)

timadriaens commented 2 years ago

the number of observations per species: baseline runs 1/01/2000 - 31/12/2020, Life RIPARIAS started 1/01/2021 cube is 1km resolution

SanderDevisscher commented 2 years ago

https://github.com/inbo/riparias-prep/blob/d80ec369174f1c21147aeaec9277f7f04c11399f/scripts/baseline_maps_prep.Rmd#L83-L88

add chunck like the one above without

timadriaens commented 2 years ago

remark: absences available for e.g. Hydrocotyle (manscape dataset), possibility to visualise these on the baseline map?

jrhillae commented 2 years ago

@timadriaens @SanderDevisscher : Occupancy and observations are included in the shiny app. Normally, the output should be visible when clicking 'run app' for the script 'baseline_maps_ui_D1.R' in the branch 41_extending_baseline_map. I am planning to add 'Percetange of well prospected 1km squares' very soon. (Hopefully on Friday). Any feedback is welcome.

damianooldoni commented 2 years ago

@timadriaens knows, but maybe all the others not yet. I created the new data cubes last week and deposited on zenodo. Cubes for all IAS taxa from GRIIS Belgium at Belgian level, cubes at class level at Belgian level and a subset of modelling species (including the ones from the RIPARIAS target list) at European level

I have also updated the cubes at species level with ALL species present in several countries, a.o. Belgium: https://zenodo.org/record/6341688.

bramdhondt commented 2 years ago

@jrhillae Looks good, Jasmijn. Only minor things after a quick check: (1) maybe add a unit for Occupancy in the graphs (e.g. (1km² grid cells)); (2) for A0_CODE, maybe also a drop-down menu (instead of an up-down menu) ?

jrhillae commented 2 years ago

@timadriaens @SanderDevisscher@bramdhondt : An extra subpanel has been added with relative occupancy. The graph resembles the graph of absolute occupancy, only the axis differs. Maybe I can try to combine both (absolute and relative occupancy) in one graph? For instance by displaying relative occupancy on the axis and showing absolute occupancy as a label per bar?

jrhillae commented 2 years ago

@SanderDevisscher : In script occupancy_rel_prep I get the followinng warning when running line 41:

EEA_1km_in_RBSU <- raster::intersect(EEA_1km, RBSU) Loading required namespace: rgeos y[subsy, ] is invalid Attempting to make y[subsy, ] valid by zero-width buffering There were 15 warnings (use warnings() to see them).

To be checked if this is a real issue. So far, the intersect appears to work correctly.

SanderDevisscher commented 2 years ago

If i remember correctly this means some of the polygons are not closed and thus invalid. Intersect tries to fix this by applying a zero width buffer and apparently it worked.

damianooldoni commented 2 years ago

An elegant way to solve this is provided by sf package: https://r-spatial.github.io/sf/reference/valid.html

jrhillae commented 2 years ago

@damianooldoni : Thank you for the tip, I added the fix to the code.

jrhillae commented 2 years ago

@timadriaens, @bramdhondt :

Except for the trend graphs (which Sander created in a separate branch) the changes to the dashboard are finished. I still have a few questions/suggestions (I will make separate issues for some of them but a short overview is also handy):

bramdhondt commented 2 years ago

@jrhillae (FYI: @timadriaens)

When determining the grid cells with high surveillance effort I calculate the sum of total plant species observed in a grid based on the cube, but I do not add a filter based on year. Is it logical to maybe add a filter stating that only observations after 2000 are taken in account? (Now, any observation at any time is taken in account).

Indeed, INBO's floristic definition of a "well-studied grid cell" is one in which >= 100 plant species have been recorded over the course of a calendar year (pers. comm. Wouter Van Landuyt). However, there's the freedom to define it over a pentade, decade, or whatever, as long as that is clarified.

Given that we need the interpretation in the light of the baseline (interval [2000-2020]?) and the current situation (interval [2000-2022]?), it would be best to stick to those intervals, and probably make the distinction among them. I assume only vascular plant species are taken into account (no algae or mosses).

If I am correct (@SanderDevisscher : you can correct me if I am wrong) the input files that are used to generate the dashboard do not yet contain all the species of the Riparias checklist. @SanderDevisscher : Maybe we should adapt the original script that you used to recreate the baseline.geojson file and current_state.geojson file so that they contain all species of the checklist? The checklist is published by Damiano .

Yes, this should include all RIPARIAS species. The GBIF checklist seems fit.

How to deal with species of the Riparias checklist not yet observed in the area? For the moment only species which are observed within the Riparias area can be selected in a dropdown menu. The code is not yet robust enough to be run in case of absences. Maybe we can keep it like this but add an extra tab to the dashboard, called Riparias checklist, which states per species whether or not it is already observed in the Riparias area. Further, we can add a caption below each page stating that only species can be selected which are already observed in the Riparias area. Would that be ok?

Yes, an extra tab providing presence/absence in the area so far could be useful, although I don't consider that a high prioity, given that it can be indirectly deduced from the current results, too.

Absence data not yet included: In the future, management actions should also be incorporated. Then, all observations of a species, preceding a managment action at a location should be removed. (i.e. similar to generating activity maps of Vespa Velutina). At the moment, current state does not resemble reality as management actions are not incorporated.

Hmhm, this I find a tricky one. I don't know if removing all observations preceding a management action is correct (unlike Vespa, plants nor crayfish are fully removed in a single action). On the other hand, I see how the bar can only grow through time. I wonder if the success of management should not be read from the species trends tab.

Also some extra remarks.

Timing: not pressing, as soon as the agenda opens up. I assume this is work for July 2022.