70
WRITE(*,*) 'ERROR:: Stopping function %(proc_prefix)sSOINDEX_FOR_SQUARED_ORDERS'
72
WRITE(*,*) 'ERROR:: Stopping in function'
73
WRITE(*,*) '%(proc_prefix)sSOINDEX_FOR_SQUARED_ORDERS%(proc_id)s'
71
74
WRITE(*,*) 'Could not find squared orders ',(ORDERS(I),I=1,NSO)
94
C This is the inverse subroutine of SOINDEX_FOR_SQUARED_ORDERS. Not directly useful, but provided nonetheless.
95
SUBROUTINE %(proc_prefix)sGET_SQUARED_ORDERS_FOR_SOINDEX%(proc_id)s(SOINDEX,ORDERS)
97
C This functions returns the orders identified by the squared split order index in argument. Order values correspond to following list of couplings (and in this order):
98
C %(split_order_str_list)s
103
PARAMETER (NSO=%(nSplitOrders)d, NSQSO=%(nSqAmpSplitOrders)d)
107
INTEGER SOINDEX, ORDERS(NSO)
112
INTEGER SQPLITORDERS(NSQSO,NSO)
113
COMMON/%(proc_prefix)sSQPLITORDERS%(proc_id)s/SQPLITORDERS
117
IF (SOINDEX.gt.0.and.SOINDEX.le.NSQSO) THEN
119
ORDERS(I) = SQPLITORDERS(SOINDEX,I)
124
WRITE(*,*) 'ERROR:: Stopping function %(proc_prefix)sGET_SQUARED_ORDERS_FOR_SOINDEX%(proc_id)s'
125
WRITE(*,*) 'Could not find squared orders index ',SOINDEX
130
C This is the inverse subroutine of getting amplitude SO orders. Not directly useful, but provided nonetheless.
131
SUBROUTINE %(proc_prefix)sGET_ORDERS_FOR_AMPSOINDEX%(proc_id)s(SOINDEX,ORDERS)
133
C This functions returns the orders identified by the split order index in argument. Order values correspond to following list of couplings (and in this order):
134
C %(split_order_str_list)s
139
PARAMETER (NSO=%(nSplitOrders)d, NAMPSO=%(nAmpSplitOrders)d)
143
INTEGER SOINDEX, ORDERS(NSO)
148
INTEGER AMPSPLITORDERS(NAMPSO,NSO)
149
COMMON/%(proc_prefix)sAMPSPLITORDERS%(proc_id)s/AMPSPLITORDERS
153
IF (SOINDEX.gt.0.and.SOINDEX.le.NAMPSO) THEN
155
ORDERS(I) = AMPSPLITORDERS(SOINDEX,I)
160
WRITE(*,*) 'ERROR:: Stopping function %(proc_prefix)sGET_ORDERS_FOR_AMPSOINDEX%(proc_id)s'
161
WRITE(*,*) 'Could not find amplitude split orders index ',SOINDEX
166
C This function is not directly useful, but included for completeness
167
INTEGER FUNCTION %(proc_prefix)sSOINDEX_FOR_AMPORDERS%(proc_id)s(ORDERS)
169
C This functions returns the integer index identifying the amplitude split orders passed in argument which correspond to the values of the following list of couplings (and in this order):
170
C %(split_order_str_list)s
175
PARAMETER (NSO=%(nSplitOrders)d, NAMPSO=%(nAmpSplitOrders)d)
184
INTEGER AMPSPLITORDERS(NAMPSO,NSO)
185
COMMON/%(proc_prefix)sAMPSPLITORDERS%(proc_id)s/AMPSPLITORDERS
191
IF (ORDERS(J).NE.AMPSPLITORDERS(I,J)) GOTO 1009
193
%(proc_prefix)sSOINDEX_FOR_AMPORDERS%(proc_id)s = I
198
WRITE(*,*) 'ERROR:: Stopping function %(proc_prefix)sSOINDEX_FOR_AMPORDERS%(proc_id)s'
199
WRITE(*,*) 'Could not find squared orders ',(ORDERS(I),I=1,NSO)