$title 'Test projection operator when loading data from embedded code' (EMBPY03,SEQ=739) $onText Contributor: Lutz Westermann, September 2017 $offText $log --- Using Python library %sysEnv.GMSPYTHONLIB% Parameter ud1dataUniverse; Set d1Want / i1 / d2Want / j1, j2 / d3Want / k1, k3 / ud1d1, ud1d2, ud1d3; $macro checkIfAinB(a,b,Error) Set Error; Error(a) = not b(a); abort$card(Error) Error; * Get set elements from specified dim of the parameter but not the parameter itself $offECImplicitLoad $onEmbeddedCode Python: data = [('i1', 'j1', 'k1', 11.9), ('i1', 'j2', 'k3', 9.11)] gams.set('ud1dataUniverse', data) $offEmbeddedCode ud1d1 noDomMatch.gms Parameter dataUniverse(*,*,*); Set d1(*), d2(*), d3(*); $onEmbeddedCode Python: data = [('i1', 'j1', 'k1', 11.9), ('i1', 'j2', 'k3', 9.11)] gams.set('dataUniverse', data) $offEmbeddedCode d1 noParameter.gms Parameter dataUniverse(*,*,*); Parameter d1(*), d2(*), d3(*); $onEmbeddedCode Python: data = [('i1', 'j1', 'k1', 11.9), ('i1', 'j2', 'k3', 9.11)] gams.set('dataUniverse', data) $offEmbeddedCode d1 wrongDim.gms Parameter dataUniverse(*,*,*); Set d1(*,*), d2(*,*,*), d3(*,*,*); $onEmbeddedCode Python: data = [('i1', 'j1', 'k1', 11.9), ('i1', 'j2', 'k3', 9.11)] gams.set('dataUniverse', data) $offEmbeddedCode d1 wrongDim.gms Parameter dataUniverse; Set d1, d2, d3; $offECImplicitLoad $onEmbeddedCode Python: data = [('i1', 'j1', 'k1', 11.9), ('i1', 'j2', 'k3', 9.11)] gams.set('dataUniverse', data) $offEmbeddedCode d1