Dear Shayan,
It seems the memory is not cleared between runs. It then looks to Nazca like you are defining the same layer twice. If you work in Spyder you can tag the option:
“Tools/Preferences/Run/Remove all variables before execution”.
You can also remove all layers explicitly in Nazca using
import nazca as nd
nd.clear_layers()
However, better is to clear the memory between runs to avoid similar issues.
If on another occasion you actually want to overwrite an existing layer you can use the overwrite keyword since nazca-0.5.7:
import nazca as nd
nd.add_layer(name='layer1', layer=1)
nd.add_layer(name='layer1', layer=1, overwrite=True)
Ronald