Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

please rewrite this code from R to Python library(raster) library(foreign) library(rgdal) library(rgeos) library(foreach) library(doParallel) library(snow) library(ncdf4) LUHdata

please rewrite this code from R to Python

library(raster) library(foreign) library(rgdal) library(rgeos) library(foreach) library(doParallel) library(snow) library(ncdf4)

LUHdata<-"D:/LUH_data/" folder<-c("SSP1RCP2.6","SSP3RCP7.0","SSP5RCP8.0") folder<-c("Historical") #countries<-shapefile("Y:/Jelle_simulations/World_borders/TM_WORLD_BORDERS-0.3.shp") #countries<-shapefile("Y:/Jelle_simulations/World_borders/NethGerm.shp") regions<-raster(paste0(LUHdata,"LUH_Countries.tif"))

for(n in 1:length(folder)){ number<-n location<-paste0(LUHdata,folder[number]) #select year(s) if(grepl("Historical",location)){ years<-seq(850,2015,1) selectedyears<-c(2005,2015) selectedyears<-c(1992,2015) iteryears<-match(selectedyears,years) } else{ years<-seq(2015,2100,1) selectedyears<-c(2015,2050) iteryears<-match(selectedyears,years) } statesfile<-ncdf4::nc_open(paste0(location,"/states.nc")) statesnames<-names(statesfile[['var']]) transitionsfile<-ncdf4::nc_open(paste0(location,"/transitions.nc")) transitionsnames<-names(transitionsfile[['var']]) managementfile<-ncdf4::nc_open(paste0(location,"/management.nc")) managementnames<-names(managementfile[['var']]) staticfile<-ncdf4::nc_open(paste0(LUHdata,"/staticData_quarterdeg.nc")) cellarea<-raster(paste0(LUHdata,"/staticData_quarterdeg.nc"), varname="carea") #Select varnames #c("primf","primn","secdf","secdn","urban","c3ann","c4ann","c3per","c4per","c3nfx","pastr","range") selectedstates<-c("primf","primn","secdf","secdn","urban","c3ann","c4ann","c3per","c4per","c3nfx","pastr","range") iterstates<-match(selectedstates,statesnames) #c("primf_bioh","primn_bioh","secmf_bioh","secyf_bioh","secnf_bioh") selectedtransitions<-c("primf_harv","primn_harv","secmf_harv","secyf_harv","secnf_harv") itertransitions<-match(selectedtransitions,transitionsnames) selectedmanagement<-c("fertl_c3ann","fertl_c4ann","fertl_c3per","fertl_c4per","fertl_c3nfx","irrig_c3ann","irrig_c4ann","irrig_c3per","irrig_c4per","irrig_c3nfx","flood") #selectedmanagement<-NULL itermanagement<-match(selectedmanagement,managementnames) #Extend regions file with dummy states states<-raster(paste0(location,"/states.nc"), varname=statesnames[1],band=iteryears[1]) regions_ext <- extend(regions, states) ESA<-FALSE for (y in iteryears) { print(paste0("folder ",folder[number]," and year ",years[y])) cl<-makeCluster(4) registerDoParallel(cl) output<- foreach (j=unique(regions_ext),.combine=rbind,.packages=c("raster","rgdal","rgeos","foreach")) %dopar% { table_countrylandcovertogether<-data.frame(matrix(NA,nrow=1,ncol=(length(iterstates)+length(itertransitions)+length(itermanagement)+1))) countvar<-0 firstvar<-0 for (s in 1:3){ if(s==1){iterations<-iterstates} if(s==2){iterations<-itertransitions} if(s==3){iterations<-itermanagement} for (i in iterations) { firstvar<-firstvar+1 if(s==1){ states<-raster(paste0(location,"/states.nc"), varname=statesnames[i],band=y) statescorrected<-states*cellarea rm(states) } if(s==2){ if(y==86){y<-85} if(y==1166){y<-1165} states<-raster(paste0(location,"/transitions.nc"), varname=transitionsnames[i],band=y) if(grepl("bioh",transitionsnames[i])){ statescorrected<-states rm(states) } else{ statescorrected<-states*cellarea rm(states) } } if(s==3){ management<-raster(paste0(location,"/management.nc"), varname=managementnames[i],band=y) if(grepl("irrig",managementnames[i])){ if(grepl("c3ann",managementnames[i])){ states<-raster(paste0(location,"/states.nc"), varname="c3ann",band=y) statescorrected<-states*cellarea*management rm(states) } if(grepl("c4ann",managementnames[i])){ states<-raster(paste0(location,"/states.nc"), varname="c4ann",band=y) statescorrected<-states*cellarea*management rm(states) } if(grepl("c3per",managementnames[i])){ states<-raster(paste0(location,"/states.nc"), varname="c3per",band=y) statescorrected<-states*cellarea*management rm(states) } if(grepl("c4per",managementnames[i])){ states<-raster(paste0(location,"/states.nc"), varname="c4per",band=y) statescorrected<-states*cellarea*management rm(states) } if(grepl("c3nfx",managementnames[i])){ states<-raster(paste0(location,"/states.nc"), varname="c3nfx",band=y) statescorrected<-states*cellarea*management rm(states) } } if(grepl("flood",managementnames[i])){ states<-raster(paste0(location,"/states.nc"), varname="c3ann",band=y) statescorrected<-states*cellarea*management rm(states) } if(grepl("fertl",managementnames[i])){ if(grepl("c3ann",managementnames[i])){ states<-raster(paste0(location,"/states.nc"), varname="c3ann",band=y) statescorrected<-states*cellarea*management rm(states) } if(grepl("c4ann",managementnames[i])){ states<-raster(paste0(location,"/states.nc"), varname="c4ann",band=y) statescorrected<-states*cellarea*management rm(states) } if(grepl("c3per",managementnames[i])){ states<-raster(paste0(location,"/states.nc"), varname="c3per",band=y) statescorrected<-states*cellarea*management rm(states) } if(grepl("c4per",managementnames[i])){ states<-raster(paste0(location,"/states.nc"), varname="c4per",band=y) statescorrected<-states*cellarea*management rm(states) } if(grepl("c3nfx",managementnames[i])){ states<-raster(paste0(location,"/states.nc"), varname="c3nfx",band=y) statescorrected<-states*cellarea*management rm(states) } } } countvar<-countvar+1

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

DB2 Universal Database V7.1 Application Development Certification Guide

Authors: Steve Sanyal, David Martineau, Kevin Gashyna, Michael Kyprianou

1st Edition

0130913677, 978-0130913678

More Books

Students also viewed these Databases questions