You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
AI is not initialized, leading to potential segfault, and update of AI is happening at the wrong index. See comments "Jaideep FIXME" in below code:
if(length(Au)==1){
#if there is no information on how many cell drain to this point, assume 3 sides of the octogonal cell
ncellin<-3
ncellout<-3
soil_info<-c(SAT,WP,FC,soil_info$Ksat,lambda,depth,bub_press,RES,Au[1],resolution^2,ncellin,ncellout,0)
# ^ Jaideep FIXME: Note that this does not set soil_info[13] to AI. This means that when this is dereferenced in quick-run, there's a risk of segfault or garbage value
}else{
ncellin<-Au[2]
ncellout<-Au[3]
soil_info<-c(SAT,WP,FC,soil_info$Ksat,lambda,depth,bub_press,RES,Au[1],resolution^2,ncellin,ncellout,1)
}
And here:
initial_AI<-my_splash$spin_up(as.integer(365), as.integer(y[1]), as.numeric(sw_av[1:365]), as.numeric(tc_av[1:365]),as.numeric(pn_av[1:365]),slop,asp,as.numeric(snowf_av[1:365]),soil_info)
# ^ Jaideep FIXME: This sees a size-12 soil_info when length(Au)=1, so might get segfault, or worse, AI will get garbage value
#update aridity
soil_info[13]<-sum(initial_AI$pet,na.rm=T)/sum(Pinit[1:365],na.rm = T)
# ^ Jaideep FIXME: This is assigning AI to soil_info[12] (R indexing) which is ncellout. It should instead go into soil_info[13] (R indexing), i.e. soil_info[12] (C++ indexing)
# run spin up
``
The text was updated successfully, but these errors were encountered:
jaideep777
added a commit
to jaideep777/rsplash
that referenced
this issue
Jun 8, 2024
AI is not initialized, leading to potential segfault, and update of AI is happening at the wrong index. See comments "Jaideep FIXME" in below code:
And here:
The text was updated successfully, but these errors were encountered: