EUROSUNMED Workshop: Grid Code for Renewable Energies - Integration in the Electric Grid

Error message

  • Deprecated function: Optional parameter $data declared before required parameter $info is implicitly treated as a required parameter in include_once() (line 1442 of /opt/data/webusers/lab0757/lab0757/eurosunmed.cnrs.fr/www/includes/bootstrap.inc).
  • Deprecated function: Return type of DateObject::__wakeup() should either be compatible with DateTime::__wakeup(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 143 of /opt/data/webusers/lab0757/lab0757/eurosunmed.cnrs.fr/www/sites/all/modules/date/date_api/date_api.module).
  • Deprecated function: Return type of DateObject::format($format, $force = false) should either be compatible with DateTime::format(string $format): string, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 143 of /opt/data/webusers/lab0757/lab0757/eurosunmed.cnrs.fr/www/sites/all/modules/date/date_api/date_api.module).
  • Deprecated function: Return type of DateObject::setTimezone($tz, $force = false) should either be compatible with DateTime::setTimezone(DateTimeZone $timezone): DateTime, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 143 of /opt/data/webusers/lab0757/lab0757/eurosunmed.cnrs.fr/www/sites/all/modules/date/date_api/date_api.module).
  • Deprecated function: Optional parameter $input declared before required parameter $form_state is implicitly treated as a required parameter in include_once() (line 1442 of /opt/data/webusers/lab0757/lab0757/eurosunmed.cnrs.fr/www/includes/bootstrap.inc).
  • Deprecated function: Optional parameter $data declared before required parameter $name is implicitly treated as a required parameter in require_once() (line 342 of /opt/data/webusers/lab0757/lab0757/eurosunmed.cnrs.fr/www/includes/module.inc).
  • Deprecated function: Optional parameter $data declared before required parameter $name is implicitly treated as a required parameter in require_once() (line 342 of /opt/data/webusers/lab0757/lab0757/eurosunmed.cnrs.fr/www/includes/module.inc).
  • Deprecated function: Optional parameter $file declared before required parameter $entity_type is implicitly treated as a required parameter in require_once() (line 342 of /opt/data/webusers/lab0757/lab0757/eurosunmed.cnrs.fr/www/includes/module.inc).
  • Deprecated function: Optional parameter $account declared before required parameter $entity_type is implicitly treated as a required parameter in require_once() (line 342 of /opt/data/webusers/lab0757/lab0757/eurosunmed.cnrs.fr/www/includes/module.inc).
  • Deprecated function: Optional parameter $entity declared before required parameter $entity_type is implicitly treated as a required parameter in require_once() (line 342 of /opt/data/webusers/lab0757/lab0757/eurosunmed.cnrs.fr/www/includes/module.inc).
  • Deprecated function: Optional parameter $account declared before required parameter $entity_type is implicitly treated as a required parameter in require_once() (line 342 of /opt/data/webusers/lab0757/lab0757/eurosunmed.cnrs.fr/www/includes/module.inc).
  • Deprecated function: Optional parameter $values declared before required parameter $entity_type is implicitly treated as a required parameter in require_once() (line 342 of /opt/data/webusers/lab0757/lab0757/eurosunmed.cnrs.fr/www/includes/module.inc).
  • Deprecated function: Optional parameter $view_mode declared before required parameter $entity_type is implicitly treated as a required parameter in require_once() (line 342 of /opt/data/webusers/lab0757/lab0757/eurosunmed.cnrs.fr/www/includes/module.inc).
  • Deprecated function: Optional parameter $langcode declared before required parameter $entity_type is implicitly treated as a required parameter in require_once() (line 342 of /opt/data/webusers/lab0757/lab0757/eurosunmed.cnrs.fr/www/includes/module.inc).
  • Deprecated function: Optional parameter $input declared before required parameter $form_state is implicitly treated as a required parameter in require_once() (line 12 of /opt/data/webusers/lab0757/lab0757/eurosunmed.cnrs.fr/www/sites/all/modules/media/media.module).
  • Deprecated function: Optional parameter $data declared before required parameter $type is implicitly treated as a required parameter in include_once() (line 1442 of /opt/data/webusers/lab0757/lab0757/eurosunmed.cnrs.fr/www/includes/bootstrap.inc).
  • Deprecated function: Optional parameter $conditions declared before required parameter $data is implicitly treated as a required parameter in include_once() (line 1442 of /opt/data/webusers/lab0757/lab0757/eurosunmed.cnrs.fr/www/includes/bootstrap.inc).
  • Deprecated function: Optional parameter $item declared before required parameter $complete_form is implicitly treated as a required parameter in include_once() (line 1442 of /opt/data/webusers/lab0757/lab0757/eurosunmed.cnrs.fr/www/includes/bootstrap.inc).
  • Deprecated function: Return type of EntityStructureWrapper::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 273 of /opt/data/webusers/lab0757/lab0757/eurosunmed.cnrs.fr/www/sites/all/modules/entity/includes/entity.wrapper.inc).
  • Deprecated function: Return type of EntityListWrapper::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 942 of /opt/data/webusers/lab0757/lab0757/eurosunmed.cnrs.fr/www/sites/all/modules/entity/includes/entity.wrapper.inc).
  • Deprecated function: Return type of EntityListWrapper::offsetExists($delta) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 942 of /opt/data/webusers/lab0757/lab0757/eurosunmed.cnrs.fr/www/sites/all/modules/entity/includes/entity.wrapper.inc).
  • Deprecated function: Return type of EntityListWrapper::offsetGet($delta) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 942 of /opt/data/webusers/lab0757/lab0757/eurosunmed.cnrs.fr/www/sites/all/modules/entity/includes/entity.wrapper.inc).
  • Deprecated function: Return type of EntityListWrapper::offsetSet($delta, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 942 of /opt/data/webusers/lab0757/lab0757/eurosunmed.cnrs.fr/www/sites/all/modules/entity/includes/entity.wrapper.inc).
  • Deprecated function: Return type of EntityListWrapper::offsetUnset($delta) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 942 of /opt/data/webusers/lab0757/lab0757/eurosunmed.cnrs.fr/www/sites/all/modules/entity/includes/entity.wrapper.inc).
  • Deprecated function: Return type of EntityListWrapper::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 942 of /opt/data/webusers/lab0757/lab0757/eurosunmed.cnrs.fr/www/sites/all/modules/entity/includes/entity.wrapper.inc).
  • Deprecated function: Return type of EntityMetadataWrapperIterator::hasChildren() should either be compatible with RecursiveIterator::hasChildren(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1143 of /opt/data/webusers/lab0757/lab0757/eurosunmed.cnrs.fr/www/sites/all/modules/entity/includes/entity.wrapper.inc).
  • Deprecated function: Return type of EntityMetadataWrapperIterator::getChildren() should either be compatible with RecursiveIterator::getChildren(): ?RecursiveIterator, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1143 of /opt/data/webusers/lab0757/lab0757/eurosunmed.cnrs.fr/www/sites/all/modules/entity/includes/entity.wrapper.inc).
  • Deprecated function: Return type of EntityMetadataWrapperIterator::current() should either be compatible with Iterator::current(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1143 of /opt/data/webusers/lab0757/lab0757/eurosunmed.cnrs.fr/www/sites/all/modules/entity/includes/entity.wrapper.inc).
  • Deprecated function: Return type of EntityMetadataWrapperIterator::next() should either be compatible with Iterator::next(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1143 of /opt/data/webusers/lab0757/lab0757/eurosunmed.cnrs.fr/www/sites/all/modules/entity/includes/entity.wrapper.inc).
  • Deprecated function: Return type of EntityMetadataWrapperIterator::key() should either be compatible with Iterator::key(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1143 of /opt/data/webusers/lab0757/lab0757/eurosunmed.cnrs.fr/www/sites/all/modules/entity/includes/entity.wrapper.inc).
  • Deprecated function: Return type of EntityMetadataWrapperIterator::valid() should either be compatible with Iterator::valid(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1143 of /opt/data/webusers/lab0757/lab0757/eurosunmed.cnrs.fr/www/sites/all/modules/entity/includes/entity.wrapper.inc).
  • Deprecated function: Return type of EntityMetadataWrapperIterator::rewind() should either be compatible with Iterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1143 of /opt/data/webusers/lab0757/lab0757/eurosunmed.cnrs.fr/www/sites/all/modules/entity/includes/entity.wrapper.inc).
  • Deprecated function: Return type of EntityMetadataArrayObject::offsetExists($delta) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1186 of /opt/data/webusers/lab0757/lab0757/eurosunmed.cnrs.fr/www/sites/all/modules/entity/includes/entity.wrapper.inc).
  • Deprecated function: Return type of EntityMetadataArrayObject::offsetGet($delta) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1186 of /opt/data/webusers/lab0757/lab0757/eurosunmed.cnrs.fr/www/sites/all/modules/entity/includes/entity.wrapper.inc).
  • Deprecated function: Return type of EntityMetadataArrayObject::offsetSet($delta, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1186 of /opt/data/webusers/lab0757/lab0757/eurosunmed.cnrs.fr/www/sites/all/modules/entity/includes/entity.wrapper.inc).
  • Deprecated function: Return type of EntityMetadataArrayObject::offsetUnset($delta) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1186 of /opt/data/webusers/lab0757/lab0757/eurosunmed.cnrs.fr/www/sites/all/modules/entity/includes/entity.wrapper.inc).
  • Deprecated function: Return type of EntityMetadataArrayObject::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1186 of /opt/data/webusers/lab0757/lab0757/eurosunmed.cnrs.fr/www/sites/all/modules/entity/includes/entity.wrapper.inc).
  • Deprecated function: Return type of EntityMetadataArrayObject::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1186 of /opt/data/webusers/lab0757/lab0757/eurosunmed.cnrs.fr/www/sites/all/modules/entity/includes/entity.wrapper.inc).
  • Deprecated function: Creation of dynamic property DateObject::$timeOnly is deprecated in DateObject->__construct() (line 198 of /opt/data/webusers/lab0757/lab0757/eurosunmed.cnrs.fr/www/sites/all/modules/date/date_api/date_api.module).
  • Deprecated function: Creation of dynamic property DateObject::$dateOnly is deprecated in DateObject->__construct() (line 199 of /opt/data/webusers/lab0757/lab0757/eurosunmed.cnrs.fr/www/sites/all/modules/date/date_api/date_api.module).
  • Deprecated function: Creation of dynamic property DateObject::$originalTime is deprecated in DateObject->__construct() (line 202 of /opt/data/webusers/lab0757/lab0757/eurosunmed.cnrs.fr/www/sites/all/modules/date/date_api/date_api.module).
  • Deprecated function: Creation of dynamic property DateObject::$timeOnly is deprecated in DateObject->__construct() (line 198 of /opt/data/webusers/lab0757/lab0757/eurosunmed.cnrs.fr/www/sites/all/modules/date/date_api/date_api.module).
  • Deprecated function: Creation of dynamic property DateObject::$dateOnly is deprecated in DateObject->__construct() (line 199 of /opt/data/webusers/lab0757/lab0757/eurosunmed.cnrs.fr/www/sites/all/modules/date/date_api/date_api.module).
  • Deprecated function: Creation of dynamic property DateObject::$originalTime is deprecated in DateObject->__construct() (line 202 of /opt/data/webusers/lab0757/lab0757/eurosunmed.cnrs.fr/www/sites/all/modules/date/date_api/date_api.module).
  • Deprecated function: Creation of dynamic property DateObject::$timeOnly is deprecated in DateObject->__construct() (line 198 of /opt/data/webusers/lab0757/lab0757/eurosunmed.cnrs.fr/www/sites/all/modules/date/date_api/date_api.module).
  • Deprecated function: Creation of dynamic property DateObject::$dateOnly is deprecated in DateObject->__construct() (line 199 of /opt/data/webusers/lab0757/lab0757/eurosunmed.cnrs.fr/www/sites/all/modules/date/date_api/date_api.module).
  • Deprecated function: Creation of dynamic property DateObject::$originalTime is deprecated in DateObject->__construct() (line 202 of /opt/data/webusers/lab0757/lab0757/eurosunmed.cnrs.fr/www/sites/all/modules/date/date_api/date_api.module).
  • Deprecated function: Creation of dynamic property DateObject::$timeOnly is deprecated in DateObject->__construct() (line 198 of /opt/data/webusers/lab0757/lab0757/eurosunmed.cnrs.fr/www/sites/all/modules/date/date_api/date_api.module).
  • Deprecated function: Creation of dynamic property DateObject::$dateOnly is deprecated in DateObject->__construct() (line 199 of /opt/data/webusers/lab0757/lab0757/eurosunmed.cnrs.fr/www/sites/all/modules/date/date_api/date_api.module).
  • Deprecated function: Creation of dynamic property DateObject::$originalTime is deprecated in DateObject->__construct() (line 202 of /opt/data/webusers/lab0757/lab0757/eurosunmed.cnrs.fr/www/sites/all/modules/date/date_api/date_api.module).
  • Deprecated function: Creation of dynamic property DateObject::$timeOnly is deprecated in DateObject->__construct() (line 198 of /opt/data/webusers/lab0757/lab0757/eurosunmed.cnrs.fr/www/sites/all/modules/date/date_api/date_api.module).
  • Deprecated function: Creation of dynamic property DateObject::$dateOnly is deprecated in DateObject->__construct() (line 199 of /opt/data/webusers/lab0757/lab0757/eurosunmed.cnrs.fr/www/sites/all/modules/date/date_api/date_api.module).
  • Deprecated function: Creation of dynamic property DateObject::$originalTime is deprecated in DateObject->__construct() (line 202 of /opt/data/webusers/lab0757/lab0757/eurosunmed.cnrs.fr/www/sites/all/modules/date/date_api/date_api.module).
  • Deprecated function: Creation of dynamic property DateObject::$timeOnly is deprecated in DateObject->__construct() (line 198 of /opt/data/webusers/lab0757/lab0757/eurosunmed.cnrs.fr/www/sites/all/modules/date/date_api/date_api.module).
  • Deprecated function: Creation of dynamic property DateObject::$dateOnly is deprecated in DateObject->__construct() (line 199 of /opt/data/webusers/lab0757/lab0757/eurosunmed.cnrs.fr/www/sites/all/modules/date/date_api/date_api.module).
  • Deprecated function: Creation of dynamic property DateObject::$originalTime is deprecated in DateObject->__construct() (line 202 of /opt/data/webusers/lab0757/lab0757/eurosunmed.cnrs.fr/www/sites/all/modules/date/date_api/date_api.module).
  • Deprecated function: Creation of dynamic property DateObject::$timeOnly is deprecated in DateObject->__construct() (line 198 of /opt/data/webusers/lab0757/lab0757/eurosunmed.cnrs.fr/www/sites/all/modules/date/date_api/date_api.module).
  • Deprecated function: Creation of dynamic property DateObject::$dateOnly is deprecated in DateObject->__construct() (line 199 of /opt/data/webusers/lab0757/lab0757/eurosunmed.cnrs.fr/www/sites/all/modules/date/date_api/date_api.module).
  • Deprecated function: Creation of dynamic property DateObject::$originalTime is deprecated in DateObject->__construct() (line 202 of /opt/data/webusers/lab0757/lab0757/eurosunmed.cnrs.fr/www/sites/all/modules/date/date_api/date_api.module).
  • Warning: Trying to access array offset on value of type null in _webform_client_form_rule_check() (line 2053 of /opt/data/webusers/lab0757/lab0757/eurosunmed.cnrs.fr/www/sites/all/modules/webform/webform.module).
  • Deprecated function: Return type of RulesRecursiveElementIterator::hasChildren() should either be compatible with RecursiveIterator::hasChildren(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1878 of /opt/data/webusers/lab0757/lab0757/eurosunmed.cnrs.fr/www/sites/all/modules/rules/includes/rules.core.inc).
  • Deprecated function: Return type of RulesRecursiveElementIterator::getChildren() should either be compatible with RecursiveIterator::getChildren(): ?RecursiveIterator, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1878 of /opt/data/webusers/lab0757/lab0757/eurosunmed.cnrs.fr/www/sites/all/modules/rules/includes/rules.core.inc).
  • Deprecated function: Return type of RulesContainerPlugin::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1892 of /opt/data/webusers/lab0757/lab0757/eurosunmed.cnrs.fr/www/sites/all/modules/rules/includes/rules.core.inc).
e3b91e_fcf4bb6877de4abeb7dae95ea9183c60.png_srz_p_781_405_75_22_0.50_1.20_0.00_png_srz_0.png
 

 

EUROSUNMED organized, together with Ecole Mohammadia d'Ingénieurs and Al Akhawayn University, a workshop on ‘Grid Code for Renewable Energies - Integration in the Electric Grid’ on 2 June 2015 in Rabat (Morocco). The goal of the workshop was to bring together innovative academics and industrial experts in the field of Renewable Energy. See full programme here: http://grid-code.wix.com/workshop

 

 

Background

 

Due to the large and expensive infrastructure of the electric grid, it is pertinent to have a long-time view on its developments and to start early preparing for future changes.  All over the world, energy systems are subject to rapidly changing circumstances; the transition to large-scale integration of renewable energy and less reliance on fossil fuels will cause power systems in a couple of decades to operate in conditions vastly changed from the situation today.

 

Grid codes are the technical requirements put down by the authorities for all its partakers, such as, the users and power generating stations for connecting to the network and operate as per the standards. These grid codes were first developed based on the characteristics and capabilities of large synchronous generators. They implement the guidelines for even operation of the electric grid and its connected constituents. The process for drafting and approval of grid codes varies from one jurisdiction to another, but typically a grid code is drafted by the transmission system operator through a consultative process and approved by the regulator.

 

Grid codes for generation units in many MPC countries are determined on a case-by case basis. There is a need for standardized grid codes in order to simplify the grid connection planning process. The main aim of this workshop is to suggest a strategy for further development of grid codes in the Mediterranean Partner Countries, building on experiences from Europe.

 

Speakers

  • Khalid Loudiyi (AUI, Morocco)
  • Harald Svendsen (SINTEF Energy, Norway)
  • Nourdine Lahjouji (ONEE, Morocco)
  • Konstantina Mentesidi (CENER, Spain)
  • Sadik Abdelazis & Alouz Issam (IMANOR, Morocco)
  • Chady Kharrat (EDF, France)
  • Rachid EL Bachtiri (USMBA, Morocco)
  • Guy Nicholson (Element Power, United Kingdom)


Presentations

Abstracts : http://grid-code.wix.com/workshop#!practice_areas/c1iwz

PPT-slides :

 

 

Outcome

The workshop gathered over 60 participants from Moroccan governmental agencies, press and academic institutions; in addition to international research institutes and industry.  The workshop provided a good opportunity for specialists in renewable energies and electric grid to share knowledge and views on grid codes and other issues related to grid integration of renewable energy.

 

The workshop made clear that the development of grid codes in Morocco is in its infancy.  In addition to the much to learn from European codes, regarding both scope, structure and technical contents.  The presentations made it clear that the ENTSO-E Network Code is a good reference in this regard.  Regarding the detailed requirements, however, one needs to keep in mind that many are specific to each grid and it is therefore necessary to analyze and understand in detail the needs for the Moroccan power system.

 

Among the points raised during the workshop is the increasingly important development of grid codes for renewable energy as their share in the power system rises. The change from conventional fuel-based generation by synchronous machines to variable wind and solar power connected to the grid via power electronic components has wide implications for power balancing and system stability.  It is important to plan ahead as generators have a long lifetime and simply solving problems as they arise may prove very expensive and disturbing to the entire power system.

 

This workshop provided a forum for discussion on grid code related issues and for the learning process necessary to develop codes and markets in a fashion suitable for large scale renewable energy integration. The intention is to continue the dialogue amongst the relevant stakeholders and responsible parties in Morocco.

 

 

Documents

Opening session: Grid code for renewable energies H. Svendsen: Grid Codes For Renewable Energy N. Lahjouji: Moroccan Electricity Sector, Wind Farms, Connection to the Grid K. Mentesidi: The Spanish Grid Code S. Abdelazis & A.Issam: Standardization in the Electro-technical field RenEn R. EL Bachtiri: Grid-connected PV Power Systems G. Nicholson: Development of Grid Codes