ComRET (Community Renewable Energy Transition)Model

ComRET (Community Renewable Energy Transition)Model preview image

1 collaborator

Default-person Diana Süsser (Author)

Tags

community models 

Tagged by Diana Süsser over 2 years ago

decision making 

Tagged by Diana Süsser over 2 years ago

diffusion model 

Tagged by Diana Süsser over 2 years ago

renewable energy` 

Tagged by Diana Süsser over 2 years ago

Visible to everyone | Changeable by the author
Model was written in NetLogo 5.0.4 • Viewed 303 times • Downloaded 17 times • Run 0 times
Download the 'ComRET (Community Renewable Energy Transition)Model' modelDownload this modelEmbed this model

Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)


Info tab cannot be displayed because of an encoding error

Comments and Questions

Please start the discussion about this model! (You'll first need to log in.)

Click to Run Model

extensions            [ gis ]

globals               [ CaseStudyReußenköge
                        observer-wind-wanted
                        percentage-solar-wanted              ;; percentage of agents who want to adopt solar
                        percentage-solar-happy               ;; percentage of agents who are satisfied with solar
                        percentage-wind-wanted               ;; percentage of agents who want to adopt wind
                        percentage-wind-happy                ;; percentage of agents who are satisfied with wind
                      ]

breed                 [ households household ]

households-own        [
                     ;; household characteristics

                        household-type                       ;; innovator, supporter, follower, opponent

                       ;; solar specific characteristics

                        solar-utility                        ;; utility of an individual adoption of a solar panel
                        threshold-solar-utility              ;; threshold which needs to be reached to adopt solar energy
                        solar-accepted?                      ;; true if agents utility is higher than the threshold
                        solar-not-accepted?                  ;; true if agents utility is euqal or lower than the threshold
                        roof-available-solar?                ;; true if the households has a suitable roof for solar (randomly chosen)
                        solar-wanted?                        ;; true if households has a suitable roof to adopt solar
                        solar-adopted?                       ;; true if agent has adopted technology
                        solar-happy?                         ;; true if agent is satisfied with adopted techology
                        solar-participate-meeting?           ;; true if agents participates in wind-community-meeting (randomly chosen)

                     ;; wind specific characteristics

                        wind-utility                         ;; utility of an collective adoption of a wind mill
                        threshold-wind-utility               ;; threshold which needs to be reached to adopt wind mill
                        wind-accepted?                       ;; true if agents utility is higher than the threshold
                        wind-not-accepted?                   ;; true if agents utility is euqal or lower than the threshold
                        wind-wanted?                         ;; true if agent has accepted technology
                        wind-adopted?                        ;; true if agent has adopted technology
                        wind-happy?                          ;; true if agent is satisfied with adopted techology
                        wind-participate-meeting?            ;; true if agents participates in wind-community-meeting (randomly chosen)

                     ;; attitudes towards the behaviour
                        solar-attitude                       ;; agents attitudes about solar panels
                        wind-attitude                        ;; agents attitudes about wind farms

                        solar-climate-benefit-belief         ;; agents belief that solar energy contributes to mititgate climate change
                        wind-climate-benefit-belief          ;; agents belief that wind energy contributes to mititgate climate change
                        solar-landscape-change-perceived     ;; agents perceived landscape change due to solar panels
                        wind-landscape-change-perceived      ;; agents perceived landscape change due to wind farms
                        solar-energy-independence-belief     ;; agents belief that solar energy contributes to energy idependence
                        wind-energy-independence-belief      ;; agents belief that wind energy contributes to energy idependence
                        solar-social-benefit-perceived       ;; agents belief that solar energy provides a social benefit
                        wind-social-benefit-perceived        ;; agents belief that wind energy provides a social benefit
                        solar-economic-advantage-perceived   ;; agents belief that solar energy provides a personal economic benefit
                        wind-economic-advantage-perceived    ;; agents belief that wind energy provides a personal economic benefit

                     ;; social norms
                        solar-norm                           ;; agents perceived social norms related to the adoption of solar energy
                        wind-norm                            ;; agents perceived social norms related to the adoption of wind energy

                        solar-social-pressure                ;; agents perceived social pressured induced by the percentage of agents who are satisfied with solar energy
                        wind-social-pressure                 ;; agents perceived social pressured induced by the percentage of agents who are satisfied with wind energy

                     ;; behavioural control
                        solar-control                        ;; agents perceived behavioural control underlying the adoption of a solar panel
                        wind-control                         ;; agents perceived behavioural control underlying the adoption of a wind mill

                        openness-for-change                  ;; agents openness for a new techology

                        solar-potential-perceived            ;; agents perceived physical potential of solar energy
                        wind-potential-perceived             ;; agents perceived physical potential of wind energy
                        solar-technological-knowledge        ;; agents perceived technological knowledge about solar energy
                        wind-technological-knowledge         ;; agents perceived technological knowledge about wind energy
                        solar-personal-ability-perceived     ;; agents perceived personal ability to adopt solar panels
                        wind-personal-ability-perceived      ;; agents perceived personal ability to participate in wind farms
                        solar-financial-ability-perceived    ;; agents perceived financial ability to adopt solar panels
                        wind-financial-ability-perceived     ;; agents perceived financial ability to participate in wind farms

                       ]

patches-own            [ life-patch ]


;;;;;;;;;;;;;;;;;;;;;;;;
;;; SETUP PROCEDURES ;;;
;;;;;;;;;;;;;;;;;;;;;;;;

to setup

  clear-all
  setup-landscape-casestudy
  setup-households
  setup-patches
  reset-ticks
end 

to setup-landscape-casestudy

  ca

  ;; load landscape dataset for Case Study Reußenköge
  set CaseStudyReußenköge gis:load-dataset "landscape_reussenkoege.shp"
  gis:set-world-envelope (gis:envelope-union-of (gis:envelope-of CaseStudyReußenköge))

  ;; draw a white municipality border
  gis:set-drawing-color white
  gis:draw CaseStudyReußenköge 1

  ;; represent the patches/grids outside the municipality in blue and the ones representing the municipality in brown and define them as life-patches
  ask patches [ set pcolor 87 ]
  ask patches gis:intersecting CaseStudyReußenköge
  [ set life-patch true
    set pcolor 35 ]
end 

to setup-households

  ;; create households of 4 different types (innovators, supporters, followers, opponents) each with a different colour
  ;; households are represented as houses
  ;; spread households randomly on patches

  ask patches with [ pcolor = 35 ]
  [ let test-num random-float 1
    ifelse test-num < #innovators / count patches with [ pcolor = 35 ]
    [ sprout-households  1
      [ set household-type "innovator"
        set shape "house"
        set color 103
      ]
    ]
    [ ifelse test-num < (#innovators + #supporters) / count patches with [ pcolor = 35 ]
      [ sprout-households 1
        [ set household-type "supporter"
          set shape "house"
          set color 105
        ]
      ]
      [ ifelse test-num < (#innovators + #supporters + #followers) / count patches with [ pcolor = 35 ]
        [ sprout-households 1
          [ set household-type "follower"
            set shape "house"
            set color 95
          ]
        ]
        [ if test-num < (#innovators + #supporters + #followers + #opponents) / count patches with [ pcolor = 35 ]
          [ sprout-households 1
            [ set household-type "opponent"
              set shape "house"
              set color 85
            ]
          ]
        ]
      ]
    ]
  ]

  ;; random distribution of roof suitabality based on the chosen roof availability (slider)
  ;; roof stuitability is defined by the location of the rood and monumental protection status
  ;; only suitable roofs are available for solar panel adoption

  ask households
  [ ifelse random-float 1 < roof-suitability-solar / 100
   [ set roof-available-solar? true ]
   [ set roof-available-solar? false ]
  ]


  ;; define households' parameters for each household type

  ask households
  [ set threshold-solar-utility    2.5
    set threshold-wind-utility     2.5
    set solar-accepted?            false
    set solar-not-accepted?        true
    set solar-wanted?              false
    set solar-adopted?             false
    set solar-happy?               false
    set solar-participate-meeting? false
    set wind-accepted?             false
    set wind-not-accepted?         true
    set wind-wanted?               false
    set wind-adopted?              false
    set wind-happy?                false
    set wind-participate-meeting?  false

    ifelse household-type = "innovator"
    [ set solar-climate-benefit-belief 0.8 + random-float 0.1
      set wind-climate-benefit-belief 0.9 + random-float 0.1
      set solar-landscape-change-perceived -0 + random-float 0.1
      set wind-landscape-change-perceived  -0.1 + random-float 0.1
      set solar-energy-independence-belief 0.9 + random-float 0.1
      set wind-energy-independence-belief 0.9 + random-float 0.1
      set solar-social-benefit-perceived 0.8 + random-float 0.1
      set wind-social-benefit-perceived 0.9 + random-float 0.1
      set solar-economic-advantage-perceived 0.8 + random-float 0.1
      set wind-economic-advantage-perceived 0.9 + random-float 0.1

      set solar-social-pressure 0 + random-float 0.1
      set wind-social-pressure 0 + random-float 0.1

      set solar-potential-perceived 0.8 + random-float 0.1
      set wind-potential-perceived 0.9 + random-float 0.1
      set solar-technological-knowledge 0.8 + random-float 0.1
      set wind-technological-knowledge 0.8 + random-float 0.1
      set solar-personal-ability-perceived 0.9 + random-float 0.1
      set wind-personal-ability-perceived 0.9 + random-float 0.1
      set openness-for-change 0.9 + random-float 0.1
      set solar-financial-ability-perceived 0.8 + random-float 0.1
      set wind-financial-ability-perceived 0.9 + random-float 0.1
    ]
    [ ifelse household-type = "supporter"
      [ set solar-climate-benefit-belief 0.7 + random-float 0.1
        set wind-climate-benefit-belief 0.8 + random-float 0.1
        set solar-landscape-change-perceived -0.1 + random-float 0.1
        set wind-landscape-change-perceived -0.3 + random-float 0.1
        set solar-energy-independence-belief 0.6 + random-float 0.1
        set wind-energy-independence-belief 0.7 + random-float 0.1
        set solar-social-benefit-perceived 0.7 + random-float 0.1             
        set wind-social-benefit-perceived 0.8 + random-float 0.1             
        set solar-economic-advantage-perceived 0.6 + random-float 0.1         
        set wind-economic-advantage-perceived 0.7 + random-float 0.1         

        set solar-social-pressure 0 + random-float 0.1
        set wind-social-pressure 0 + random-float 0.1

        set solar-potential-perceived 0.7 + random-float 0.1
        set wind-potential-perceived 0.8 + random-float 0.1
        set solar-technological-knowledge 0.5 + random-float 0.1           
        set wind-technological-knowledge 0.5 + random-float 0.1            
        set solar-personal-ability-perceived 0.6 + random-float 0.1  
        set wind-personal-ability-perceived 0.6 + random-float 0.1   
        set openness-for-change 0.5 + random-float 0.1               
        set solar-financial-ability-perceived 0.7 + random-float 0.1
        set wind-financial-ability-perceived 0.8 + random-float 0.1
      ]
      [ ifelse household-type = "follower"
        [ set solar-climate-benefit-belief 0.6 + random-float 0.1
          set wind-climate-benefit-belief 0.7 + random-float 0.1
          set solar-landscape-change-perceived -0.3 + random-float 0.1
          set wind-landscape-change-perceived -0.5 + random-float 0.1
          set solar-energy-independence-belief 0.5 + random-float 0.1
          set wind-energy-independence-belief 0.6 + random-float 0.1
          set solar-social-benefit-perceived 0.6 + random-float 0.1     
          set wind-social-benefit-perceived 0.7 + random-float 0.1       
          set solar-economic-advantage-perceived 0.5 + random-float 0.1  
          set wind-economic-advantage-perceived 0.6 + random-float 0.1   

          set solar-social-pressure 0 + random-float 0.1
          set wind-social-pressure 0 + random-float 0.1

          set solar-potential-perceived 0.5 + random-float 0.1
          set wind-potential-perceived 0.6 + random-float 0.1
          set solar-technological-knowledge 0.5 + random-float 0.1   
          set wind-technological-knowledge 0.5 + random-float 0.1    
          set solar-personal-ability-perceived 0.4 + random-float 0.1   
          set wind-personal-ability-perceived 0.4 + random-float 0.1     
          set openness-for-change 0.4 + random-float 0.1
          set solar-financial-ability-perceived 0.5 + random-float 0.1
          set wind-financial-ability-perceived 0.6 + random-float 0.1
        ]
        [ if household-type = "opponent"
          [ set solar-climate-benefit-belief 0.5 + random-float 0.1
            set wind-climate-benefit-belief 0.6 + random-float 0.1
            set solar-landscape-change-perceived -0.4 + random-float 0.1
            set wind-landscape-change-perceived -0.6 + random-float 0.1
            set solar-energy-independence-belief 0.5 + random-float 0.1
            set wind-energy-independence-belief 0.6 + random-float 0.1
            set solar-social-benefit-perceived 0.3 + random-float 0.1         
            set wind-social-benefit-perceived 0.4 + random-float 0.1          
            set solar-economic-advantage-perceived 0.3 + random-float 0.1    
            set wind-economic-advantage-perceived 0.4 + random-float 0.1     

            set solar-social-pressure 0 + random-float 0.1
            set wind-social-pressure 0 + random-float 0.1

            set solar-potential-perceived 0.4 + random-float 0.1
            set wind-potential-perceived 0.5 + random-float 0.1
            set solar-technological-knowledge 0.4 + random-float 0.1
            set wind-technological-knowledge 0.4 + random-float 0.1
            set solar-personal-ability-perceived 0.3 + random-float 0.1
            set wind-personal-ability-perceived 0.3 + random-float 0.1
            set openness-for-change 0.3 + random-float 0.1
            set solar-financial-ability-perceived 0.4 + random-float 0.1    
            set wind-financial-ability-perceived 0.5 + random-float 0.1
          ]
        ]
      ]
    ]
  ]
end 

to setup-patches

  ;; define green land available for wind mills
  ;; to keep a distance between houses and wind mills, land in a radius of 2 is not available

  ask households
  [ ask patches in-radius 2
    [ set life-patch false ]
  ]

  ;; setup available land for wind farms based on the chosen land availability (slider)
  ;; colour the patches green

  ask n-of available-land patches with [ life-patch = true ]
  [ set pcolor 55 ]
end 

;;;;;;;;;;;;;;;;;;;;;
;;; GO PROCEDURES ;;;
;;;;;;;;;;;;;;;;;;;;;

to go
   run-decision-making
   run-implementation
   run-communication
   update-social-pressure

   tick
end 

to run-decision-making

;;;;;;;;;;;;SOLAR DECISION;;;;;;;;;;;;

  ;; if solar NOT adopted, consider acceptance of solar
  ;; solar acceptance decision-making for each household type
  ;; calculate attitude, norm and control for each household type

  ask households with [ (household-type = "innovator") and (solar-adopted? = false) ]
  [ set solar-attitude                   ( ( 2 * solar-climate-benefit-belief ) + solar-landscape-change-perceived + ( 3 * solar-energy-independence-belief ) + solar-social-benefit-perceived + solar-economic-advantage-perceived ) / 8
    set solar-norm                       solar-social-pressure
    set solar-control                    ( solar-potential-perceived + solar-technological-knowledge + solar-personal-ability-perceived + openness-for-change + solar-financial-ability-perceived ) / 5
    set solar-utility                    ( ( 2 * solar-attitude ) + solar-norm + solar-control ) 

  ;; if the solar energy utility is higher than the threshold, solar energy is accepted
  ;; if solar accepted is true, solar panel is wanted
  ;; if the solar energy utility is below or equal the threshold, solar energy is NOT accepted   
    if ( solar-utility > threshold-solar-utility )
    [ set solar-accepted? true
      set solar-not-accepted? false
      set solar-wanted? true ] 
      
  ]

  ask households with [ (household-type = "supporter") and (solar-adopted? = false) ]
  [ set solar-attitude                   ( solar-climate-benefit-belief + ( 2 * solar-landscape-change-perceived ) + solar-energy-independence-belief + ( 2 * solar-social-benefit-perceived ) + ( 2 * solar-economic-advantage-perceived ) ) / 8
    set solar-norm                       solar-social-pressure
    set solar-control                    ( solar-potential-perceived + solar-technological-knowledge + solar-personal-ability-perceived + openness-for-change + solar-financial-ability-perceived ) / 5
    set solar-utility                    ( solar-attitude +  solar-norm + ( 2 * solar-control ) )
      
  ;; if the solar energy utility is higher than the threshold, solar energy is accepted
  ;; if solar accepted is true, solar panel is wanted
  ;; if the solar energy utility is below or equal the threshold, solar energy is NOT accepted
    if ( solar-utility > threshold-solar-utility )
    [ set solar-accepted? true
      set solar-not-accepted? false
      set solar-wanted? true ]

  ]

  ask households with [ (household-type = "follower") and (solar-adopted? = false) ]
  [ set solar-attitude                   ( solar-climate-benefit-belief + ( 2 * solar-landscape-change-perceived ) + solar-energy-independence-belief + ( 2 * solar-social-benefit-perceived ) + ( 2 * solar-economic-advantage-perceived ) ) / 8
    set solar-norm                       solar-social-pressure
    set solar-control                    ( solar-potential-perceived + solar-technological-knowledge + solar-personal-ability-perceived + openness-for-change + solar-financial-ability-perceived ) / 5
    set solar-utility                    ( solar-attitude + solar-norm + ( 2 * solar-control ) )
     
  ;; if the solar energy utility is higher than the threshold, solar energy is accepted
  ;; if solar accepted is true, solar panel is wanted
  ;; if the solar energy utility is below or equal the threshold, solar energy is NOT accepted    
    if ( solar-utility > threshold-solar-utility )
    [ set solar-accepted? true
      set solar-not-accepted? false
      set solar-wanted? true ]

  ]

  ask households with [ (household-type = "opponent") and (solar-adopted? = false) ]
  [ set solar-attitude                   ( solar-climate-benefit-belief + ( 2 * solar-landscape-change-perceived ) + solar-energy-independence-belief + ( 2 * solar-social-benefit-perceived ) + ( 2 * solar-economic-advantage-perceived ) ) / 8
    set solar-norm                       solar-social-pressure
    set solar-control                    ( solar-potential-perceived + solar-technological-knowledge + solar-personal-ability-perceived + openness-for-change + solar-financial-ability-perceived ) / 5
    set solar-utility                    ( ( 2 * solar-attitude ) + solar-norm + solar-control )
   
  ;; if the solar energy utility is higher than the threshold, solar energy is accepted
  ;; if solar accepted is true, solar panel is wanted
  ;; if the solar energy utility is below or equal the threshold, solar energy is NOT accepted
    if ( solar-utility > threshold-solar-utility )
    [ set solar-accepted? true
      set solar-not-accepted? false
      set solar-wanted? true ]
  
  ]

;;;;;;;;;;;;WIND DECISION;;;;;;;;;;;;;

  ;; wind acceptance decision-making for each household type
  ;; calculate attitude, norm and control for each household type

  ask households with [ household-type = "innovator" and (wind-adopted? = false or wind-happy? = true) ]

  [ set wind-attitude                   ( ( 2 * wind-climate-benefit-belief ) + wind-landscape-change-perceived + ( 3 * wind-energy-independence-belief ) + wind-social-benefit-perceived + wind-economic-advantage-perceived ) / 8
    set wind-norm                       wind-social-pressure
    set wind-control                    ( wind-potential-perceived + wind-technological-knowledge + wind-personal-ability-perceived  + openness-for-change + wind-financial-ability-perceived ) / 5
    set wind-utility                    ( ( 2 * wind-attitude ) + wind-norm + wind-control )
 
  ;; if wind energy utility is higher than the threshold, wind energy is accepted
  ;; if wind accepted is true, wind mill is wanted
  ;; if the solar energy utility is below or equal the threshold, wind energy is NOT accepted   
    if ( wind-utility > threshold-wind-utility )
    [ set wind-accepted? true
      set wind-not-accepted? false
      set wind-wanted? true ]
   
  ]

  ask households with [ household-type = "supporter" and (wind-adopted? = false or wind-happy? = true) ]

  [ set wind-attitude                   ( wind-climate-benefit-belief + ( 2 * wind-landscape-change-perceived ) + wind-energy-independence-belief + ( 2 * wind-social-benefit-perceived ) + ( 2 * wind-economic-advantage-perceived ) ) / 8
    set wind-norm                       wind-social-pressure
    set wind-control                    ( wind-potential-perceived + wind-technological-knowledge + wind-personal-ability-perceived + openness-for-change + wind-financial-ability-perceived ) / 5
    set wind-utility                    ( wind-attitude + ( 2 * wind-norm ) + wind-control )
   
  ;; if wind energy utility is higher than the threshold, wind energy is accepted
  ;; if wind accepted is true, wind mill is wanted
  ;; if the wind energy utility is below or equal the threshold, wind energy is NOT accepted  
     if ( wind-utility > threshold-wind-utility )
     [ set wind-accepted? true
       set wind-not-accepted? false
       set wind-wanted? true ]
  
  ]

  ask households with [ household-type = "follower" and (wind-adopted? = false or wind-happy? = true) ]

  [ set wind-attitude                   ( wind-climate-benefit-belief + ( 2 * wind-landscape-change-perceived ) + wind-energy-independence-belief + ( 2 * wind-social-benefit-perceived ) + ( 2 * wind-economic-advantage-perceived ) ) / 8
    set wind-norm                       wind-social-pressure
    set wind-control                    ( wind-potential-perceived + wind-technological-knowledge + wind-personal-ability-perceived  + openness-for-change + wind-financial-ability-perceived ) / 5
    set wind-utility                    ( wind-attitude + ( 2 * wind-norm ) + wind-control )
    
  ;; if wind energy utility is higher than the threshold, wind energy is accepted
  ;; if wind accepted is true, wind mill is wanted
  ;; if the wind energy utility is below or equal the threshold, wind energy is NOT accepted
    if ( wind-utility > threshold-wind-utility )
    [ set wind-accepted? true
      set wind-not-accepted? false
      set wind-wanted? true ]
  
  ]

  ask households with [ household-type = "opponent" and (wind-adopted? = false or wind-happy? = true) ]

  [ set wind-attitude                   ( wind-climate-benefit-belief + ( 2 * wind-landscape-change-perceived ) + wind-energy-independence-belief + ( 2 * wind-social-benefit-perceived ) + ( 2 * wind-economic-advantage-perceived ) ) / 8
    set wind-norm                       wind-social-pressure
    set wind-control                    ( wind-potential-perceived + wind-technological-knowledge + wind-personal-ability-perceived  + openness-for-change + wind-financial-ability-perceived ) / 5
    set wind-utility                    ( ( 2 * wind-attitude ) + wind-norm + wind-control )
  
  ;; if wind energy utility is higher than the threshold, wind energy is accepted
  ;; if wind accepted is true, wind mill is wanted
  ;; if the wind energy utility is below or equal the threshold, wind energy is NOT accepted   
    if ( wind-utility > threshold-wind-utility )
    [ set wind-accepted? true
      set wind-not-accepted? false
      set wind-wanted? true ]
 
  ]
  

update-plots
end 

to run-implementation

;;;;;;;;;;;;SOLAR ADOPTION;;;;;;;;;;;;

  ;; households who accept solar and did not implement it so far, run the adoption decision

  if any? households with [ (solar-adopted? = false) and (solar-wanted? = true) ]

  [  ask households with [ household-type = "innovator" and (solar-adopted? = false) and (solar-wanted? = true) ]
     [ if roof-available-solar? = true

  ;; if the roof is suitable, do adopt solar
       [ set solar-adopted? true
         set color green
         set solar-wanted? false
         
  ;; all households who adopted solar reflect on their satisfaction wind the adoption decision
  ;; the satisfaction is randonly distributed along the households based on the chosen solar technology satifaction (slider)
  ;; if househodls are satisfied, households are happy       
        ifelse random-float 1 < (solar-satisfaction / 100)
        [ set solar-happy? true ]
        [ set solar-happy? false ]           
       ]
       
  ;; if the roof is not suitable, do NOT adopt
       if roof-available-solar? = false
       [ set solar-adopted? false 
         set solar-wanted? false
       ]
          
    ]

    ask households with [ household-type = "supporter" and (solar-adopted? = false) and (solar-wanted? = true) ]

  ;; if the roof is suitable, adopt solar

    [ if roof-available-solar? = true
      [ set solar-adopted? true
        set color yellow
        set solar-wanted? false
        
 ;; all households who adopted solar reflect on their satisfaction wind the adoption decision
  ;; the satisfaction is randonly distributed along the households based on the chosen solar technology satifaction (slider)
  ;; if househodls are satisfied, households are happy       
       ifelse random-float 1 < (solar-satisfaction / 100)
       [ set solar-happy? true ]
       [ set solar-happy? false ]         
      ]
      
  ;; if the roof is not suitable, do NOT adopt
      if roof-available-solar? = false
      [ set solar-adopted? false 
        set solar-wanted? false
      ]
               
    ]

    ask households with [ household-type = "follower" and (solar-adopted? = false) and (solar-wanted? = true) ]

  ;; if the roof is suitable, adopt solar
    [ if roof-available-solar? = true
      [ set solar-adopted? true
        set color orange
        set solar-wanted? false
        
  ;; all households who adopted solar reflect on their satisfaction wind the adoption decision
  ;; the satisfaction is randonly distributed along the households based on the chosen solar technology satifaction (slider)
  ;; if househodls are satisfied, households are happy       
       ifelse random-float 1 < (solar-satisfaction / 100)
       [ set solar-happy? true ]
       [ set solar-happy? false ]       
      ]
      
  ;; if the roof is not suitable, do NOT adopt
      if roof-available-solar? = false
      [ set solar-adopted? false 
        set solar-wanted? false
      ]
                 
    ]

    ask households with [ household-type = "opponent" and (solar-adopted? = false) and (solar-wanted? = true) ]

  ;; if the roof is suitable, adopt solar
    [ if roof-available-solar? = true
      [ set solar-adopted? true
        set color red
        set solar-wanted? false
        
  ;; all households who adopted solar reflect on their satisfaction wind the adoption decision
  ;; the satisfaction is randonly distributed along the households based on the chosen solar technology satifaction (slider)
  ;; if househodls are satisfied, households are happy       
       ifelse random-float 1 < (solar-satisfaction / 100)
       [ set solar-happy? true ]
       [ set solar-happy? false ]
      ]
      
  ;; if the roof is not suitable, do NOT adopt
      if roof-available-solar? = false
      [ set solar-adopted? false 
        set solar-wanted? false
      ]
      
    ]    
  ]
  

;;;;;;;;;;;;WIND ADOPTION;;;;;;;;;;;;

  ;; households who want to adopt wind, run the adoption decision
  set observer-wind-wanted count households with [ wind-wanted? = true ]

  ;; if number of households who want to build wind mills reaches the defined wind community size (slider) but is not larger than a community of 40 and if green land is still available
  if ( count patches with [ pcolor = 55 ] >= int (observer-wind-wanted / 2) and (observer-wind-wanted >= wind-community-size) and (observer-wind-wanted <= 30) )

  ;; asking one households of the wind community to build wind mills
  ;; building up to 20 wind mill by colouring up tp 20 green patch white-grey
  [ ask one-of households with [ wind-wanted? = true ]
    [ ask n-of int ( observer-wind-wanted / 2 ) patches with [ pcolor = 55 ] [ set pcolor 8 ]
    ]

  ;; update the households status to wind adopted is true and wind wanted is false
    ask households with [ wind-wanted? = true ]
    [ set wind-adopted? true
      set wind-wanted? false
    ]

  ;; colour the patch of the household who adopted wind black
    ask households with [ wind-adopted?]
    [ set pcolor 0

  ;; random happiness chance wind based on the choosen satisfaction propability (slider) defines the households who are happy with wind mill
     ifelse random-float 1 < (wind-satisfaction / 100)
     [ set wind-happy? true ]
     [ set wind-happy? false ]
    ]
    
  ]

  ;; if number of households who want to build wind mills reaches the defined wind community size (slider) but is not larger than a community of 40 and if green land is still available
  if ( count patches with [ pcolor = 55 ] >= 20 and (observer-wind-wanted >= wind-community-size) and (observer-wind-wanted > 30) )

  ;; asking one households of the wind community to build wind mills
  ;; building 20 wind mills by colouring 20 green patch white-grey
  [ ask one-of households with [ wind-wanted? = true ]
    [ ask n-of 15 patches with [ pcolor = 55 ] [ set pcolor 8 ]
    ]

  ;; update the households status to wind adopted is true and wind wanted is false
    ask households with [ wind-wanted? ]
    [ set wind-adopted? true
      set wind-wanted? false
    ]

  ;; colour the patch of the household who adopted wind black
    ask households with [ wind-adopted?]
    [ set pcolor 0

  ;; random happiness chance wind based on the choosen satisfaction propability (slider) defines the households who are happy with wind mill
      ifelse random-float 1 < (wind-satisfaction / 100)
      [ set wind-happy? true ]
      [ set wind-happy? false ]
    ]
    
  ]

update-plots
end 

to run-communication


;INFLUENTIAL COMMUNICATION;

  ;; if communication type infuential communication or all is on, communication takes place between households in chosen radius (slider)
  ;; influential communicator/innovator is changing openness for change
  ;; the openness for change of the influenced person is updated

 if ( communication-types = "influential communication" ) or ( communication-types = "all" )


 [ ask households  [ let my-influence-group-solar households in-radius solar-communication-radius
                     if any? households with [ household-type = "innovator" and ( solar-adopted? = true ) ] in-radius solar-communication-radius
                     [ ask my-influence-group-solar
                       [ set openness-for-change                [ openness-for-change ] of myself
                         set solar-social-benefit-perceived     [ wind-social-benefit-perceived ] of myself
                         set solar-economic-advantage-perceived [ solar-economic-advantage-perceived ] of myself
                       ]
                     ]
                  ]
 ]

 if ( communication-types = "influential communication" ) or ( communication-types = "all" )

 [ ask households  [ let my-influence-group-wind households in-radius wind-communication-radius
                     if any? households with [ household-type = "innovator" and ( wind-adopted? = true ) ] in-radius wind-communication-radius
                     [ ask my-influence-group-wind
                       [ set openness-for-change               [ openness-for-change ] of myself
                         set wind-social-benefit-perceived     [ wind-social-benefit-perceived ] of myself
                         set wind-economic-advantage-perceived [ wind-economic-advantage-perceived ] of myself
                       ]
                     ]
                   ]
 ]


;SEEK ADVICE SOLAR AND WIND;

  ;; if communication type seek advice or all is on, communication takes place between households
  ;; households seek information by agents in their close environment (radius of 3) who adopted and are satisfied with the RET

  if ( communication-types = "seek advice" ) or ( communication-types = "all" )

  ;; supporters and followers, who are close to their utiliy-threshold, receive information from innovators, who adopted already and who are within the communication-radius
  ;; technological knowledge, financial and personal ability are updated if communication takes place

  [ ask households with [ household-type = "supporter" and solar-adopted? = false and solar-utility >= 2.0 and solar-utility <= 2.5 ]
    [ if any? households with [ solar-adopted? = true and solar-happy? = true ] in-radius solar-seek-radius
      [ set  solar-technological-knowledge     [ solar-technological-knowledge ] of one-of households with [ solar-adopted? = true and solar-happy? = true ] in-radius solar-seek-radius
        set  solar-financial-ability-perceived [ solar-financial-ability-perceived ] of one-of households with [ solar-adopted? = true and solar-happy? = true ] in-radius solar-seek-radius
        set  solar-personal-ability-perceived  [ solar-personal-ability-perceived ] of one-of households with [ solar-adopted? = true and solar-happy? = true ] in-radius solar-seek-radius
      ]
    ]

    ask households with [ household-type = "supporter" and wind-adopted? = false and wind-utility >= 2.0 and wind-utility <= 2.5 ]
    [ if any? households with [ wind-adopted? = true and wind-happy? = true ] in-radius wind-seek-radius
      [ set  wind-technological-knowledge      [ wind-technological-knowledge ] of one-of households with [ wind-adopted? = true and wind-happy? = true ] in-radius wind-seek-radius
        set  wind-financial-ability-perceived  [ wind-financial-ability-perceived ] of one-of households with [ wind-adopted? = true and wind-happy? = true ] in-radius wind-seek-radius
        set  wind-personal-ability-perceived   [ wind-personal-ability-perceived ] of one-of households with [ wind-adopted? = true and wind-happy? = true ] in-radius wind-seek-radius
      ]
    ]

    ask households with [ household-type = "follower" and solar-adopted? = false and solar-utility >= 2.0 and solar-utility <= 2.5 ]
    [ if any? households with [ solar-adopted? = true and solar-happy? = true ] in-radius solar-seek-radius
      [ set  solar-technological-knowledge     [ solar-technological-knowledge ] of one-of households with [ solar-adopted? = true and solar-happy? = true ] in-radius solar-seek-radius
        set  solar-financial-ability-perceived [ solar-financial-ability-perceived ] of one-of households with [ solar-adopted? = true and solar-happy? = true ] in-radius solar-seek-radius
        set  solar-personal-ability-perceived  [ solar-personal-ability-perceived ] of one-of households with [ solar-adopted? = true and solar-happy? = true ] in-radius solar-seek-radius
      ]
    ]

    ask households with [ household-type = "follower" and wind-adopted? = false and wind-utility >= 2.0 and wind-utility <= 2.5 ]
    [ if any? households with [ wind-adopted? = true and wind-happy? = true ] in-radius wind-seek-radius
      [ set  wind-technological-knowledge      [ wind-technological-knowledge ] of one-of households with [ wind-adopted? = true and wind-happy? = true ] in-radius wind-seek-radius
        set  wind-financial-ability-perceived  [ wind-financial-ability-perceived ] of one-of households with [ wind-adopted? = true and wind-happy? = true ] in-radius wind-seek-radius
        set  wind-personal-ability-perceived   [ wind-personal-ability-perceived ] of one-of households with [ wind-adopted? = true and wind-happy? = true ] in-radius wind-seek-radius
      ]
    ]

    ask households with [ household-type = "opponent" and solar-adopted? = false and solar-utility >= 2.0 and solar-utility <= 2.5 ]
    [ if any? households with [ solar-adopted? = true and solar-happy? = true ] in-radius solar-seek-radius
      [ set  solar-technological-knowledge     [ solar-technological-knowledge ] of one-of households with [ solar-adopted? = true and solar-happy? = true ] in-radius solar-seek-radius
        set  solar-financial-ability-perceived [ solar-financial-ability-perceived ] of one-of households with [ solar-adopted? = true and solar-happy? = true ] in-radius solar-seek-radius
        set  solar-personal-ability-perceived  [ solar-personal-ability-perceived ] of one-of households with [ solar-adopted? = true and solar-happy? = true ] in-radius solar-seek-radius
      ]
    ]

    ask households with [ household-type = "opponent" and wind-adopted? = false and wind-utility >= 2.0 and wind-utility <= 2.5 ]
    [ if any? households with [ wind-adopted? = true and wind-happy? = true ] in-radius wind-seek-radius
      [ set  wind-technological-knowledge      [ wind-technological-knowledge ] of one-of households with [ wind-adopted? = true and wind-happy? = true ] in-radius wind-seek-radius
        set  wind-financial-ability-perceived  [ wind-financial-ability-perceived ] of one-of households with [ wind-adopted? = true and wind-happy? = true ] in-radius wind-seek-radius
        set  wind-personal-ability-perceived   [ wind-personal-ability-perceived ] of one-of households with [ wind-adopted? = true and wind-happy? = true ] in-radius wind-seek-radius
      ]
    ]
  ]


;COMMUNITY MEETING;

   ;; if communication type community meeting or all is on, communication takes place between households
   ;; give choosen percentage of (slider) and randomly choosen, people attending wind or solar community meeting
   ;; technological knowledge, financial and personal ability are updated if households participate

   if ( communication-types = "community meeting" or communication-types = "all" )

   [ ask households with [ household-type = "innovator" and household-type = "supporter" and household-type = "follower" and household-type = "opponent"]     
     [ ifelse random-float 1 < wind-community-meeting-participation / 100
       [ set wind-participate-meeting? true ]
       [ set wind-participate-meeting? false ]
     ]
     ask households with [ wind-participate-meeting? = true and wind-utility <= 3 ]
     [ set wind-technological-knowledge        wind-technological-knowledge + 0.5
       set wind-financial-ability-perceived    wind-financial-ability-perceived + 0.5
       set wind-personal-ability-perceived     wind-personal-ability-perceived + 0.5
     ]
     ask households with [ household-type = "innovator" and household-type = "supporter" and household-type = "follower" and household-type = "opponent" ]     
     [ ifelse random-float 1 < solar-community-meeting-participation / 100
       [ set solar-participate-meeting? true ]
       [ set solar-participate-meeting? false ]
     ]
     ask households with [ solar-participate-meeting? = true and solar-utility <= 3 ]
     [ set solar-technological-knowledge        solar-technological-knowledge + 0.5
       set solar-financial-ability-perceived    solar-financial-ability-perceived + 0.5
       set solar-personal-ability-perceived     solar-personal-ability-perceived + 0.5
     ]
   ]

update-plots
end 

to update-social-pressure


;;;;;;;;;SOLAR;;;;;;;;;;;

   ifelse any? households with [ solar-adopted? = true ]
   
   ;; adoption to social norms according to the households who adopted and are happy with solar panels
   ;; let observer-solar count households who are satisfied with solar
   [ let observer-solar count households with [ solar-happy? ]

   ;; the higher the percentage of people who adopted and are happy with the technology, the higher the social pressure to adopt it as well
     set percentage-solar-happy  ( count households with [ solar-happy? = true ] ) * 100 / ( count households with [ solar-adopted? = true ] )

      ask households with [ household-type = "innovator" and ( solar-norm <= 1 ) ]
      [ set solar-social-pressure     ( 0.75 * percentage-solar-happy / 100 )
      ]
      ask households with [ household-type = "supporter" and ( solar-norm <= 1 ) ]
      [ set solar-social-pressure     ( 0.75 * percentage-solar-happy / 100 )
      ]
      ask households with [ household-type = "follower" and ( solar-norm <= 1 ) ]
      [ set solar-social-pressure     ( 0.75 * percentage-solar-happy / 100 )
      ]
      ask households with [ household-type = "opponent" and ( solar-norm <= 1 ) ]
      [ set solar-social-pressure     ( 0.75 * percentage-solar-happy / 100 )
      ]
    ]
   
    ;; adoption to social norms according to the households who want solar panels
    ;; let observer-solar count households who want solar
    [ let observer-solar count households with [ solar-wanted? ]
      
    ;; the higher the percentage of people who want the technology, the higher the social pressure to adopt it as well 
      set percentage-solar-wanted  ( count households with [ solar-wanted? = true ] ) * 100 / ( #innovators + #supporters + #followers + #opponents )

      ask households with [ household-type = "innovator" and ( solar-norm <= 1 ) ]
      [ set solar-social-pressure     ( 0.75 * percentage-solar-wanted / 100 )
      ]
      ask households with [ household-type = "supporter" and ( solar-norm <= 1 ) ]
      [ set solar-social-pressure     ( 0.75 * percentage-solar-wanted / 100 )
      ]
      ask households with [ household-type = "follower" and ( solar-norm <= 1 ) ]
      [ set solar-social-pressure     ( 0.75 * percentage-solar-wanted / 100 )
      ]
      ask households with [ household-type = "opponent" and ( solar-norm <= 1 ) ]
      [ set solar-social-pressure     ( 0.75 * percentage-solar-wanted / 100 )
      ]
    ]


;;;;;;;;;;WIND;;;;;;;;;;;;;

  ifelse any? households with [ wind-adopted? = true ]
  
  ;; adoption to social norms according to the households who adopted and are happy with wind farms
  ;; let observer-solar count households who are satisfied with wind
  [ let observer-wind count households with [ wind-happy? ]
    
  ;; the higher the percentage of people who adopted and are happy with the technology, the higher the social pressure to adopt it as well
    set percentage-wind-happy  ( count households with [ wind-happy? ] ) * 100 / ( count households with [ wind-adopted? = true ] )
    ask households with [ household-type = "innovator" and ( wind-norm <= 1 ) ]
    [ set wind-social-pressure             ( 0.75 * percentage-wind-happy / 100 )
    ]
    ask households with [ household-type = "supporter" and ( wind-norm <= 1 ) ]
    [ set wind-social-pressure             ( 0.75 * percentage-wind-happy / 100 )
    ]
    ask households with [ household-type = "follower" and ( wind-norm <= 1 ) ]
    [ set wind-social-pressure             ( 0.75 * percentage-wind-happy / 100 )
    ]
    ask households with [ household-type = "opponent" and ( wind-norm <= 1 ) ]
    [ set wind-social-pressure             ( 0.75 * percentage-wind-happy / 100 )
    ]
  ]
  
  ;; adoption to social norms according to the households who want wind farms
  ;; let observer-solar count households who want wind
  [ let observer-wind count households with [ wind-wanted? ]
    
  ;; the higher the percentage of people who want the technology, the higher the social pressure to adopt it as well  
    set percentage-wind-wanted  ( count households with [ wind-wanted? ] ) * 100 / ( #innovators + #supporters + #followers + #opponents )

    ask households with [ household-type = "innovator" and ( wind-norm <= 1 ) ]
    [ set wind-social-pressure             ( 0.75 * percentage-wind-wanted / 100 )
    ]
    ask households with [ household-type = "supporter" and ( wind-norm <= 1 ) ]
    [ set wind-social-pressure             ( 0.75 * percentage-wind-wanted / 100 )
    ]
    ask households with [ household-type = "follower" and ( wind-norm <= 1 ) ]
    [ set wind-social-pressure             ( 0.75 * percentage-wind-wanted / 100 )
    ]
    ask households with [ household-type = "opponent" and ( wind-norm <= 1 ) ]
    [ set wind-social-pressure             ( 0.75 * percentage-wind-wanted / 100 )
    ]
  ]


  ;; households considers lands used for windfarms

  let observer-wind-land count patches with [ pcolor = 8 ]
  let observer-green-land count patches with [ pcolor = 55 ]

  ;; if land used for windmills is larger than green land available, redue value for wind-landscape-change-perceived

  if ( count patches with [ pcolor = 8 ] ) > ( count patches with [ pcolor = 55 ] )
  [ ask households with [ wind-happy? = true and wind-landscape-change-perceived <= -1 ]                                                                                              
    [ set wind-landscape-change-perceived    wind-landscape-change-perceived - ( 1 - (count patches with [ pcolor = 55 ] / count patches with [ pcolor = 8 ] ))
    ]
  ]

update-plots
end 






; Copyright 2014 Uri Wilensky.
; See Info tab for full copyright and license.

There is only one version of this model, created over 2 years ago by Diana Süsser.

Attached files

File Type Description Last updated
ComRET (Community Renewable Energy Transition)Model.png preview Preview for 'ComRET (Community Renewable Energy Transition)Model' over 2 years ago, by Diana Süsser Download
landscape_reussenkoege.shp extension Case study shapefile over 2 years ago, by Diana Süsser Download

This model does not have any ancestors.

This model does not have any descendants.