final_assignment

APEC8601 Final Assignment

This is a repository for the final assignment for APEC8601 2024 Spring.

Country: El Salvador (ISO code: “SLV”).

The final report for the project is available from here.

Summary Report

In the case of El Salvador, a significant change in ecosystem services cannot be confirmed during the period 2030-2040 in each SSP scenario. One reason for this is that the time period (10 years) I used in this analysis was too short to see a significant land-use change. This implies that a policymaker should not expect a policy to affect their ecosystem services instantly; rather, it takes a long time to see results. Another reason why I could not see any changes in ecosystem services in El Salvador might be that the assumed policy in this analysis is linked to ecosystem services. Given the distinct socio-economic conditions by country, a policymaker should not expect that a policy that positively impacted ecosystem services in another nation has a similar effect on their country. A deep understanding of their county’s unique mechanism of ecosystem services is required to achieve green economic development.

</br>

Below, I explain the steps that I took for each question of the final project.

Component 1

Part (a):

  1. Create a new seals project:
    • Open run_test_standard.py file. To create a new project folder, change this line 24 to project_name = "project_slv". Then run run_test_standard.py using the VS code Debugger. This newly creates project_slv folder under Files/seals/projects.
  2. Generate LULC maps for El Salvador for 2030, 2035 and 2040 using SSP1 and SSP3 scenario.
  1. Run run_test_standard.py file.

[!WARNING]

Before you run run_test_standard.py with the modified scenario_defenitions.csv , you need to delete all the files/folders inside each folder directly under the folder of project_slv/intermediate (Do not delete any folder directly under project_slv/intermediate ).

</br>

Part (b)

See org_image.Rmd. This file copies the generated maps in part (a) to the images folder, and make the individual maps across years into a single .png file by SSP scenario.

</br>

Part (c)

For this question, I modified the calibration parameters file so that cropland cannot expand into forest.

  1. Modify default_global_coefficients.csv.
    • Open base_data/seals/default_inputs/default_global_coefficients.csv, and change the value in cell E5 to zero.
  2. Then, run run_test_standard.py file.
  3. org_image.Rmd create a single .png files for each scenario.

</br>

Component 2

Preparation: Directory Organization

  1. Create folder called slv_InVEST_out under the Files/base_data folder.
  2. Under the slv_InVEST_out folder, create two folder: ssp1_rcp26 and ssp3_rcp70:
    • slv_InVEST_out/ssp1_rcp26 folder stores InVEST outputs based on SEALs output based on RCP2.6-SSP1 scenario.
    • slv_InVEST_out/ssp3_rcp70 folder stores InVEST outputs based on SEALs output based on RCP7.0-SSP3 scenario.
  3. Then, under slv_InVEST_out/ssp1_rcp26, create the following folders: AnnualWaterYield, CarbonStorage, CropPollination, SedimentRetention, e. NutrientRetention. Repeat this for slv_InVEST_out/ssp1_rcp26 folder.

Work Flow

  1. Depending on which InVEST model to be run, the required data is different. See below for the source of input data I used to run each InVEST model. I processed all input data for InVEST models in prep_InVEST_inputs.R. CRSs of all spatial input data were transformed into WGS 84 / UTM zone 16N (EPSG:32616).
  2. Having prepared all the required data, I used InVEST software to generate python code to run a model. Then, use that python code to run the model iteratively across different SEALs’ LULC data.
    • See python codes named Run[InVESTmodel].ipynb in Run_InVEST_code folder. Each file contains python code that I used to run each InVEST model.
  3. Finally, I visualized the InVEST outputs with plot.R.

Input data for InVEST models

Data source is shown inside [ ]. * indicates the path to the base_data folder in the Johnson/Polasky lab drive. ^ indicates my base_data folder. These data sources are processed for SLV with prep_InVEST_inputs.R, and the produced data is used for each InVEST model. Most of the data was obtained from the Johnson/Polasky lab drive. I downloaded the data into my local Files/base_data with the same structure as the Johnson/Polasky lab drive. For example, base_data/mesh/isric/depth_to_root_restricting_layer.tif in Johnson/Polasky lab drive was download in Files/base_data/mesh/isric/depth_to_root_restricting_layer.tif in my local drive.

</br>

Annual Water Yield (AWY)

[!NOTE]

(1) You need to modify some column names in hybas_na_lev06_v1c.shp to make it compatible with InVEST. Specifically, you need to change ` HYBAS_ID to ws_id. (2) For the biophysical table, I combined */mesh/esa_and_modis_biophysical_table.csv and ^/seals/default_inputs/esa_seals7_correspondence.csv to create ^/mesh/biophysical_table.csv. Specifically, I merged the two .csv files using lulc code, and aggregated the values in esa_and_modis_biophysical_table.csv of by SEALs LULC category. The code to create biophysical_table.csv is included in prep_InVEST_inputs.R. (3) In esa_seals7_correspondence.csv, lulc_veg is missing for esa column, so you need to define lulc_veg by yourself. Follow the description of lulc_veg` in InVEST website.

[!WARNING] In esa_and_modis_biophysical_table.csv, there are two Kc columns with different value. Kc is a crop coefficient, and this is one of the required inputs to run Annual Water Yield InVEST model. I picked one of the Kc columns. Also, I found duplicated names in the src_lable column in esa_seals7_correspondence.csv. tree_needleleaved_deciduous_closed_to_open_15 can be found in row 13 and 16 although src_lable in each row should be unique. I simply disregarded one of those duplicated rows.

</br>

Carbon Storage (CS) model

</br>

Crop Pollination (CP) model

[!NOTE]

For guide table, I used the table attached to the sample data of the InVEST Crop Pollination model. For the biophysical table for the pollination model, I refereed Koh et al. (2016) and incorporated their table into my ^/mesh/biophysical_table.csv.

</br>

Sediment Delivery Ratio (SDR) model

</br>

Nutrient Delivery Ratio (NDR) model

[!NOTE]

For nutrient runoff proxy, I used annual precipitation data for SLV.