-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathEMSP.INC
553 lines (510 loc) · 22.6 KB
/
EMSP.INC
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
CM
c NB:
c cp_o_eta_fi_p_a_rec_z should be identical to eta_fi_p_a_rec_z in
c SLAPCS.INC: a copy is made here to avoid having to include
c SLAPCS.INC in EMSP.INC just to get this value.
c
integer cp_o_eta_fi_p_a_rec_z
parameter (cp_o_eta_fi_p_a_rec_z = 4)
integer ix_p_lbc
integer ix_p_cbp
integer ix_p_ubc
integer ix_p_nm
integer ix_p_lng_nm
integer ix_p_pk_bs_os
integer ix_p_pwl_vr_rf_pr_act_v
integer ix_p_pwl_vr_rf_ob_fn_v
integer ix_p_pwl_vr_da_v
integer ix_p_pwl_vr_ls
integer ix_p_pwl_vr_da_sa
integer ix_p_pwl_vr_cu_sn
integer ix_p_pwl_vr_ix
integer ix_p_pwl_vr_usr_bp
integer ix_p_pwl_vr_usr_ls
integer ix_p_pwl_vr_usr_sn
integer ix_p_pwl_vr_usr_da_sa
integer ix_p_pwl_vr_usr_cu_sn
integer ix_p_scl
integer ix_p_pr_act
integer ix_p_du_act
integer ix_p_ed_wt
integer ix_p_st
integer ix_p_vr_in_r
integer ix_p_vr_in_c
integer ix_p_lo_eta_pv_in_r
integer ix_p_up_eta_pv_in_r
integer ix_p_eta_w_l_en_in_r
integer ix_p_eta_w_lm1_en_in_r
integer ix_p_og_t_nw_perm
integer ix_p_nw_t_og_perm
integer ix_p_dvx_ix
integer ix_p_mtx_r_v
integer ix_p_mtx_r_ix
integer ix_p_mtx_c_sa
integer ix_p_mtx_c_ln
integer ix_p_mtx_c_v
integer ix_p_mtx_c_ix
integer ix_p_mtx_r_sa
integer ix_p_aux_blk_v
integer ix_p_aux_blk_r_ix
integer ix_p_aux_blk_c_ix
integer ix_p_r_aux_sol
integer ix_p_c_aux_sol
integer ix_p_prsl_sv_ml_lbc
integer ix_p_prsl_sv_ml_ubc
integer ix_p_prsl_sv_ml_cbp
integer ix_p_prsl_sv_mtx_r_v
integer ix_p_prsl_sv_mtx_r_ix
integer ix_p_prsl_sv_mtx_c_sa
integer ix_p_prsl_rm_vr_ls
integer ix_p_prsl_rm_vr_st
integer ix_p_prsl_rm_vr_pr_act
integer ix_p_co_rg_up_co_v
integer ix_p_co_rg_lo_co_v
integer ix_p_co_rg_up_ob_v
integer ix_p_co_rg_lo_ob_v
integer ix_p_co_rg_up_act_v
integer ix_p_co_rg_lo_act_v
integer ix_p_co_rg_up_en_vr
integer ix_p_co_rg_lo_en_vr
integer ix_p_co_rg_up_lv_vr
integer ix_p_co_rg_lo_lv_vr
integer ix_p_bd_rg_up_bd_v
integer ix_p_bd_rg_lo_bd_v
integer ix_p_bd_rg_up_ob_v
integer ix_p_bd_rg_lo_ob_v
integer ix_p_bd_rg_up_en_vr
integer ix_p_bd_rg_lo_en_vr
integer ix_p_bd_rg_up_lv_vr
integer ix_p_bd_rg_lo_lv_vr
integer ix_p_u_bs_dse_blk
integer ix_p_u_bs_gthr_pv_r
integer ix_p_u_bs_dse_blk_pv_r_in_c
integer ix_p_u_bs_skt_pv_r
integer ix_p_u_bs_eta_msk
integer ix_p_usr_mtx_r_v
integer ix_p_usr_mtx_r_ix
integer ix_p_usr_mtx_c_sa
integer ix_p_usr_mtx_c_v
integer ix_p_usr_mtx_c_ix
integer ix_p_usr_mtx_r_sa
integer ix_p_bc_co_v
integer ix_p_bc_co_ix
integer ix_p_bc_co_ix_bar
integer ix_p_pi_v
integer ix_p_pi_ix
integer ix_p_tbu_r_v
integer ix_p_tbu_r_ix
integer ix_p_pv_c_v
integer ix_p_perm_tran_vec
integer ix_p_cz_r_cdd_ix
integer ix_p_og_bs_cg_st
integer ix_p_rsmi_rl_wk_a1
integer ix_p_rsmi_rl_wk_a2
integer ix_p_rsmi_rl_wk_a3
integer ix_p_rsmi_i_wk_a1
integer ix_p_rsmi_i_wk_a2
integer ix_p_rsmi_lb
integer ix_p_rsmi_co
integer ix_p_rsmi_ub
integer ix_p_l1_cz_r_bp
integer ix_p_l1_cz_r_dl_gd
integer ix_p_l1_cz_r_ix
integer ix_p_lo_eta_r_sa
integer ix_p_up_eta_r_sa
integer ix_p_lo_eta_pv_in_c
integer ix_p_up_eta_pv_in_c
integer ix_p_lo_eta_c_v
integer ix_p_lo_eta_c_ix
integer ix_p_up_eta_c_v
integer ix_p_up_eta_c_ix
integer ix_p_nw_eta_v
integer ix_p_nw_eta_ix
integer ix_p_nw_eta_rec
integer ix_eta_fi_p_a
integer eta_fi_p_a_ln
integer n_emsol_p
parameter (ix_p_lbc = 1)
parameter (ix_p_cbp = ix_p_lbc + 1)
parameter (ix_p_ubc = ix_p_cbp + 1)
parameter (ix_p_nm = ix_p_ubc + 1)
parameter (ix_p_lng_nm = ix_p_nm + 1)
parameter (ix_p_pk_bs_os = ix_p_lng_nm + 1)
parameter (ix_p_pwl_vr_rf_pr_act_v = ix_p_pk_bs_os + 1)
parameter (ix_p_pwl_vr_rf_ob_fn_v = ix_p_pwl_vr_rf_pr_act_v + 1)
parameter (ix_p_pwl_vr_da_v = ix_p_pwl_vr_rf_ob_fn_v + 1)
parameter (ix_p_pwl_vr_ls = ix_p_pwl_vr_da_v + 1)
parameter (ix_p_pwl_vr_da_sa = ix_p_pwl_vr_ls + 1)
parameter (ix_p_pwl_vr_cu_sn = ix_p_pwl_vr_da_sa + 1)
parameter (ix_p_pwl_vr_ix = ix_p_pwl_vr_cu_sn + 1)
parameter (ix_p_pwl_vr_usr_bp = ix_p_pwl_vr_ix + 1)
parameter (ix_p_pwl_vr_usr_ls = ix_p_pwl_vr_usr_bp + 1)
parameter (ix_p_pwl_vr_usr_sn = ix_p_pwl_vr_usr_ls + 1)
parameter (ix_p_pwl_vr_usr_da_sa = ix_p_pwl_vr_usr_sn + 1)
parameter (ix_p_pwl_vr_usr_cu_sn = ix_p_pwl_vr_usr_da_sa + 1)
parameter (ix_p_scl = ix_p_pwl_vr_usr_cu_sn + 1)
parameter (ix_p_pr_act = ix_p_scl + 1)
parameter (ix_p_du_act = ix_p_pr_act + 1)
parameter (ix_p_ed_wt = ix_p_du_act + 1)
parameter (ix_p_st = ix_p_ed_wt + 1)
parameter (ix_p_vr_in_r = ix_p_st + 1)
parameter (ix_p_vr_in_c = ix_p_vr_in_r + 1)
parameter (ix_p_lo_eta_pv_in_r = ix_p_vr_in_c + 1)
parameter (ix_p_up_eta_pv_in_r = ix_p_lo_eta_pv_in_r + 1)
parameter (ix_p_eta_w_l_en_in_r = ix_p_up_eta_pv_in_r + 1)
parameter (ix_p_eta_w_lm1_en_in_r = ix_p_eta_w_l_en_in_r + 1)
parameter (ix_p_og_t_nw_perm = ix_p_eta_w_lm1_en_in_r + 1)
parameter (ix_p_nw_t_og_perm = ix_p_og_t_nw_perm + 1)
parameter (ix_p_dvx_ix = ix_p_nw_t_og_perm + 1)
parameter (ix_p_mtx_r_v = ix_p_dvx_ix + 1)
parameter (ix_p_mtx_r_ix = ix_p_mtx_r_v + 1)
parameter (ix_p_mtx_c_sa = ix_p_mtx_r_ix + 1)
parameter (ix_p_mtx_c_ln = ix_p_mtx_c_sa + 1)
parameter (ix_p_mtx_c_v = ix_p_mtx_c_ln + 1)
parameter (ix_p_mtx_c_ix = ix_p_mtx_c_v + 1)
parameter (ix_p_mtx_r_sa = ix_p_mtx_c_ix + 1)
parameter (ix_p_aux_blk_v = ix_p_mtx_r_sa + 1)
parameter (ix_p_aux_blk_r_ix = ix_p_aux_blk_v + 1)
parameter (ix_p_aux_blk_c_ix = ix_p_aux_blk_r_ix + 1)
parameter (ix_p_r_aux_sol = ix_p_aux_blk_c_ix + 1)
parameter (ix_p_c_aux_sol = ix_p_r_aux_sol + 1)
parameter (ix_p_prsl_sv_ml_lbc = ix_p_c_aux_sol + 1)
parameter (ix_p_prsl_sv_ml_ubc = ix_p_prsl_sv_ml_lbc + 1)
parameter (ix_p_prsl_sv_ml_cbp = ix_p_prsl_sv_ml_ubc + 1)
parameter (ix_p_prsl_sv_mtx_r_v = ix_p_prsl_sv_ml_cbp + 1)
parameter (ix_p_prsl_sv_mtx_r_ix = ix_p_prsl_sv_mtx_r_v + 1)
parameter (ix_p_prsl_sv_mtx_c_sa = ix_p_prsl_sv_mtx_r_ix + 1)
parameter (ix_p_prsl_rm_vr_ls = ix_p_prsl_sv_mtx_c_sa + 1)
parameter (ix_p_prsl_rm_vr_st = ix_p_prsl_rm_vr_ls + 1)
parameter (ix_p_prsl_rm_vr_pr_act = ix_p_prsl_rm_vr_st + 1)
parameter (ix_p_co_rg_up_co_v = ix_p_prsl_rm_vr_pr_act + 1)
parameter (ix_p_co_rg_lo_co_v = ix_p_co_rg_up_co_v + 1)
parameter (ix_p_co_rg_up_ob_v = ix_p_co_rg_lo_co_v + 1)
parameter (ix_p_co_rg_lo_ob_v = ix_p_co_rg_up_ob_v + 1)
parameter (ix_p_co_rg_up_act_v = ix_p_co_rg_lo_ob_v + 1)
parameter (ix_p_co_rg_lo_act_v = ix_p_co_rg_up_act_v + 1)
parameter (ix_p_co_rg_up_en_vr = ix_p_co_rg_lo_act_v + 1)
parameter (ix_p_co_rg_lo_en_vr = ix_p_co_rg_up_en_vr + 1)
parameter (ix_p_co_rg_up_lv_vr = ix_p_co_rg_lo_en_vr + 1)
parameter (ix_p_co_rg_lo_lv_vr = ix_p_co_rg_up_lv_vr + 1)
parameter (ix_p_bd_rg_up_bd_v = ix_p_co_rg_lo_lv_vr + 1)
parameter (ix_p_bd_rg_lo_bd_v = ix_p_bd_rg_up_bd_v + 1)
parameter (ix_p_bd_rg_up_ob_v = ix_p_bd_rg_lo_bd_v + 1)
parameter (ix_p_bd_rg_lo_ob_v = ix_p_bd_rg_up_ob_v + 1)
parameter (ix_p_bd_rg_up_en_vr = ix_p_bd_rg_lo_ob_v + 1)
parameter (ix_p_bd_rg_lo_en_vr = ix_p_bd_rg_up_en_vr + 1)
parameter (ix_p_bd_rg_up_lv_vr = ix_p_bd_rg_lo_en_vr + 1)
parameter (ix_p_bd_rg_lo_lv_vr = ix_p_bd_rg_up_lv_vr + 1)
parameter (ix_p_u_bs_dse_blk = ix_p_bd_rg_lo_lv_vr+ 1)
parameter (ix_p_u_bs_gthr_pv_r = ix_p_u_bs_dse_blk + 1)
parameter (ix_p_u_bs_dse_blk_pv_r_in_c =
& ix_p_u_bs_gthr_pv_r + 1)
parameter (ix_p_u_bs_skt_pv_r =
& ix_p_u_bs_dse_blk_pv_r_in_c + 1)
parameter (ix_p_u_bs_eta_msk = ix_p_u_bs_skt_pv_r + 1)
parameter (ix_p_usr_mtx_r_v = ix_p_u_bs_eta_msk + 1)
parameter (ix_p_usr_mtx_r_ix = ix_p_usr_mtx_r_v + 1)
parameter (ix_p_usr_mtx_c_sa = ix_p_usr_mtx_r_ix + 1)
parameter (ix_p_usr_mtx_c_v = ix_p_usr_mtx_c_sa + 1)
parameter (ix_p_usr_mtx_c_ix = ix_p_usr_mtx_c_v + 1)
parameter (ix_p_usr_mtx_r_sa = ix_p_usr_mtx_c_ix + 1)
parameter (ix_p_bc_co_v = ix_p_usr_mtx_r_sa + 1)
parameter (ix_p_bc_co_ix = ix_p_bc_co_v + 1)
parameter (ix_p_bc_co_ix_bar = ix_p_bc_co_ix + 1)
parameter (ix_p_pi_v = ix_p_bc_co_ix_bar + 1)
parameter (ix_p_pi_ix = ix_p_pi_v + 1)
parameter (ix_p_tbu_r_v = ix_p_pi_ix + 1)
parameter (ix_p_tbu_r_ix = ix_p_tbu_r_v + 1)
parameter (ix_p_pv_c_v = ix_p_tbu_r_ix + 1)
parameter (ix_p_perm_tran_vec = ix_p_pv_c_v + 1)
parameter (ix_p_cz_r_cdd_ix = ix_p_perm_tran_vec + 1)
parameter (ix_p_og_bs_cg_st = ix_p_cz_r_cdd_ix + 1)
parameter (ix_p_rsmi_rl_wk_a1 = ix_p_og_bs_cg_st + 1)
parameter (ix_p_rsmi_rl_wk_a2 = ix_p_rsmi_rl_wk_a1 + 1)
parameter (ix_p_rsmi_rl_wk_a3 = ix_p_rsmi_rl_wk_a2 + 1)
parameter (ix_p_rsmi_i_wk_a1 = ix_p_rsmi_rl_wk_a3 + 1)
parameter (ix_p_rsmi_i_wk_a2 = ix_p_rsmi_i_wk_a1 + 1)
parameter (ix_p_rsmi_lb = ix_p_rsmi_i_wk_a2 + 1)
parameter (ix_p_rsmi_co = ix_p_rsmi_lb + 1)
parameter (ix_p_rsmi_ub = ix_p_rsmi_co + 1)
parameter (ix_p_l1_cz_r_bp = ix_p_rsmi_ub + 1)
parameter (ix_p_l1_cz_r_dl_gd = ix_p_l1_cz_r_bp + 1)
parameter (ix_p_l1_cz_r_ix = ix_p_l1_cz_r_dl_gd + 1)
parameter (ix_p_lo_eta_r_sa = ix_p_l1_cz_r_ix + 1)
parameter (ix_p_up_eta_r_sa = ix_p_lo_eta_r_sa + 1)
parameter (ix_p_lo_eta_pv_in_c = ix_p_up_eta_r_sa + 1)
parameter (ix_p_up_eta_pv_in_c = ix_p_lo_eta_pv_in_c + 1)
parameter (ix_p_lo_eta_c_v = ix_p_up_eta_pv_in_c + 1)
parameter (ix_p_lo_eta_c_ix = ix_p_lo_eta_c_v + 1)
parameter (ix_p_up_eta_c_v = ix_p_lo_eta_c_ix + 1)
parameter (ix_p_up_eta_c_ix = ix_p_up_eta_c_v + 1)
parameter (ix_p_nw_eta_v = ix_p_up_eta_c_ix + 1)
parameter (ix_p_nw_eta_ix = ix_p_nw_eta_v + 1)
parameter (ix_p_nw_eta_rec = ix_p_nw_eta_ix + 1)
parameter (ix_eta_fi_p_a = ix_p_nw_eta_rec + 1)
parameter (eta_fi_p_a_ln =
& cp_o_eta_fi_p_a_rec_z*eta_fi_mx_n_eta_grp)
parameter (n_emsol_p = ix_eta_fi_p_a + eta_fi_p_a_ln - 1)
integer p_lbc
integer p_cbp
integer p_ubc
integer p_nm
integer p_lng_nm
integer p_pk_bs_os
integer p_pwl_vr_rf_pr_act_v
integer p_pwl_vr_rf_ob_fn_v
integer p_pwl_vr_da_v
integer p_pwl_vr_ls
integer p_pwl_vr_da_sa
integer p_pwl_vr_cu_sn
integer p_pwl_vr_ix
integer p_pwl_vr_usr_bp
integer p_pwl_vr_usr_ls
integer p_pwl_vr_usr_sn
integer p_pwl_vr_usr_da_sa
integer p_pwl_vr_usr_cu_sn
integer p_scl
integer p_pr_act
integer p_du_act
integer p_ed_wt
integer p_st
integer p_vr_in_r
integer p_vr_in_c
integer p_lo_eta_pv_in_r
integer p_up_eta_pv_in_r
integer p_eta_w_l_en_in_r
integer p_eta_w_lm1_en_in_r
integer p_og_t_nw_perm
integer p_nw_t_og_perm
integer p_dvx_ix
integer p_mtx_r_v
integer p_mtx_r_ix
integer p_mtx_c_sa
integer p_mtx_c_ln
integer p_mtx_c_v
integer p_mtx_c_ix
integer p_mtx_r_sa
integer p_aux_blk_v
integer p_aux_blk_r_ix
integer p_aux_blk_c_ix
integer p_r_aux_sol
integer p_c_aux_sol
integer p_prsl_sv_ml_lbc
integer p_prsl_sv_ml_ubc
integer p_prsl_sv_ml_cbp
integer p_prsl_sv_mtx_r_v
integer p_prsl_sv_mtx_r_ix
integer p_prsl_sv_mtx_c_sa
integer p_prsl_rm_vr_ls
integer p_prsl_rm_vr_st
integer p_prsl_rm_vr_pr_act
integer p_co_rg_up_co_v
integer p_co_rg_lo_co_v
integer p_co_rg_up_ob_v
integer p_co_rg_lo_ob_v
integer p_co_rg_up_act_v
integer p_co_rg_lo_act_v
integer p_co_rg_up_en_vr
integer p_co_rg_lo_en_vr
integer p_co_rg_up_lv_vr
integer p_co_rg_lo_lv_vr
integer p_bd_rg_up_bd_v
integer p_bd_rg_lo_bd_v
integer p_bd_rg_up_ob_v
integer p_bd_rg_lo_ob_v
integer p_bd_rg_up_en_vr
integer p_bd_rg_lo_en_vr
integer p_bd_rg_up_lv_vr
integer p_bd_rg_lo_lv_vr
integer p_u_bs_dse_blk
integer p_u_bs_gthr_pv_r
integer p_u_bs_dse_blk_pv_r_in_c
integer p_u_bs_skt_pv_r
integer p_u_bs_eta_msk
integer p_usr_mtx_r_v
integer p_usr_mtx_r_ix
integer p_usr_mtx_c_sa
integer p_usr_mtx_c_v
integer p_usr_mtx_c_ix
integer p_usr_mtx_r_sa
integer p_bc_co_v
integer p_bc_co_ix
integer p_bc_co_ix_bar
integer p_pi_v
integer p_pi_ix
integer p_tbu_r_v
integer p_tbu_r_ix
integer p_pv_c_v
integer p_perm_tran_vec
integer p_cz_r_cdd_ix
integer p_og_bs_cg_st
integer p_rsmi_rl_wk_a1
integer p_rsmi_rl_wk_a2
integer p_rsmi_rl_wk_a3
integer p_rsmi_i_wk_a1
integer p_rsmi_i_wk_a2
integer p_rsmi_lb
integer p_rsmi_co
integer p_rsmi_ub
integer p_l1_cz_r_bp
integer p_l1_cz_r_dl_gd
integer p_l1_cz_r_ix
integer p_lo_eta_r_sa
integer p_up_eta_r_sa
integer p_lo_eta_pv_in_c
integer p_up_eta_pv_in_c
integer p_lo_eta_c_v
integer p_lo_eta_c_ix
integer p_up_eta_c_v
integer p_up_eta_c_ix
integer p_nw_eta_v
integer p_nw_eta_ix
integer p_nw_eta_rec
integer eta_fi_p_a(0:eta_fi_p_a_ln-1)
integer emsol_p(n_emsol_p)
common/ems_com_emsol_p/emsol_p
equivalence (p_lbc, emsol_p(ix_p_lbc))
equivalence (p_cbp, emsol_p(ix_p_cbp))
equivalence (p_ubc, emsol_p(ix_p_ubc))
equivalence (p_nm, emsol_p(ix_p_nm))
equivalence (p_lng_nm, emsol_p(ix_p_lng_nm))
equivalence (p_pk_bs_os, emsol_p(ix_p_pk_bs_os))
equivalence (p_pwl_vr_rf_pr_act_v,
& emsol_p(ix_p_pwl_vr_rf_pr_act_v))
equivalence (p_pwl_vr_rf_ob_fn_v, emsol_p(ix_p_pwl_vr_rf_ob_fn_v))
equivalence (p_pwl_vr_da_v, emsol_p(ix_p_pwl_vr_da_v))
equivalence (p_pwl_vr_ls, emsol_p(ix_p_pwl_vr_ls))
equivalence (p_pwl_vr_da_sa, emsol_p(ix_p_pwl_vr_da_sa))
equivalence (p_pwl_vr_cu_sn, emsol_p(ix_p_pwl_vr_cu_sn))
equivalence (p_pwl_vr_ix, emsol_p(ix_p_pwl_vr_ix))
equivalence (p_pwl_vr_usr_bp, emsol_p(ix_p_pwl_vr_usr_bp))
equivalence (p_pwl_vr_usr_ls, emsol_p(ix_p_pwl_vr_usr_ls))
equivalence (p_pwl_vr_usr_sn, emsol_p(ix_p_pwl_vr_usr_sn))
equivalence (p_pwl_vr_usr_da_sa, emsol_p(ix_p_pwl_vr_usr_da_sa))
equivalence (p_pwl_vr_usr_cu_sn, emsol_p(ix_p_pwl_vr_usr_cu_sn))
equivalence (p_scl, emsol_p(ix_p_scl))
equivalence (p_pr_act, emsol_p(ix_p_pr_act))
equivalence (p_du_act, emsol_p(ix_p_du_act))
equivalence (p_ed_wt, emsol_p(ix_p_ed_wt))
equivalence (p_st, emsol_p(ix_p_st))
equivalence (p_vr_in_r, emsol_p(ix_p_vr_in_r))
equivalence (p_vr_in_c, emsol_p(ix_p_vr_in_c))
equivalence (p_lo_eta_pv_in_r, emsol_p(ix_p_lo_eta_pv_in_r))
equivalence (p_up_eta_pv_in_r, emsol_p(ix_p_up_eta_pv_in_r))
equivalence (p_eta_w_l_en_in_r, emsol_p(ix_p_eta_w_l_en_in_r))
equivalence (p_eta_w_lm1_en_in_r, emsol_p(ix_p_eta_w_lm1_en_in_r))
equivalence (p_og_t_nw_perm, emsol_p(ix_p_og_t_nw_perm))
equivalence (p_nw_t_og_perm, emsol_p(ix_p_nw_t_og_perm))
equivalence (p_dvx_ix, emsol_p(ix_p_dvx_ix))
equivalence (p_mtx_r_v, emsol_p(ix_p_mtx_r_v))
equivalence (p_mtx_r_ix, emsol_p(ix_p_mtx_r_ix))
equivalence (p_mtx_c_sa, emsol_p(ix_p_mtx_c_sa))
equivalence (p_mtx_c_ln, emsol_p(ix_p_mtx_c_ln))
equivalence (p_mtx_c_v, emsol_p(ix_p_mtx_c_v))
equivalence (p_mtx_c_ix, emsol_p(ix_p_mtx_c_ix))
equivalence (p_mtx_r_sa, emsol_p(ix_p_mtx_r_sa))
equivalence (p_aux_blk_v, emsol_p(ix_p_aux_blk_v))
equivalence (p_aux_blk_r_ix, emsol_p(ix_p_aux_blk_r_ix))
equivalence (p_aux_blk_c_ix, emsol_p(ix_p_aux_blk_c_ix))
equivalence (p_r_aux_sol, emsol_p(ix_p_r_aux_sol))
equivalence (p_c_aux_sol, emsol_p(ix_p_c_aux_sol))
equivalence (p_prsl_sv_ml_lbc, emsol_p(ix_p_prsl_sv_ml_lbc))
equivalence (p_prsl_sv_ml_ubc, emsol_p(ix_p_prsl_sv_ml_ubc))
equivalence (p_prsl_sv_ml_cbp, emsol_p(ix_p_prsl_sv_ml_cbp))
equivalence (p_prsl_sv_mtx_r_v, emsol_p(ix_p_prsl_sv_mtx_r_v))
equivalence (p_prsl_sv_mtx_r_ix, emsol_p(ix_p_prsl_sv_mtx_r_ix))
equivalence (p_prsl_sv_mtx_c_sa, emsol_p(ix_p_prsl_sv_mtx_c_sa))
equivalence (p_prsl_rm_vr_ls, emsol_p(ix_p_prsl_rm_vr_ls))
equivalence (p_prsl_rm_vr_st, emsol_p(ix_p_prsl_rm_vr_st))
equivalence (p_prsl_rm_vr_pr_act, emsol_p(ix_p_prsl_rm_vr_pr_act))
equivalence (p_co_rg_up_co_v, emsol_p(ix_p_co_rg_up_co_v))
equivalence (p_co_rg_lo_co_v, emsol_p(ix_p_co_rg_lo_co_v))
equivalence (p_co_rg_up_ob_v, emsol_p(ix_p_co_rg_up_ob_v))
equivalence (p_co_rg_lo_ob_v, emsol_p(ix_p_co_rg_lo_ob_v))
equivalence (p_co_rg_up_act_v, emsol_p(ix_p_co_rg_up_act_v))
equivalence (p_co_rg_lo_act_v, emsol_p(ix_p_co_rg_lo_act_v))
equivalence (p_co_rg_up_en_vr, emsol_p(ix_p_co_rg_up_en_vr))
equivalence (p_co_rg_lo_en_vr, emsol_p(ix_p_co_rg_lo_en_vr))
equivalence (p_co_rg_up_lv_vr, emsol_p(ix_p_co_rg_up_lv_vr))
equivalence (p_co_rg_lo_lv_vr, emsol_p(ix_p_co_rg_lo_lv_vr))
equivalence (p_bd_rg_up_bd_v, emsol_p(ix_p_bd_rg_up_bd_v))
equivalence (p_bd_rg_lo_bd_v, emsol_p(ix_p_bd_rg_lo_bd_v))
equivalence (p_bd_rg_up_ob_v, emsol_p(ix_p_bd_rg_up_ob_v))
equivalence (p_bd_rg_lo_ob_v, emsol_p(ix_p_bd_rg_lo_ob_v))
equivalence (p_bd_rg_up_en_vr, emsol_p(ix_p_bd_rg_up_en_vr))
equivalence (p_bd_rg_lo_en_vr, emsol_p(ix_p_bd_rg_lo_en_vr))
equivalence (p_bd_rg_up_lv_vr, emsol_p(ix_p_bd_rg_up_lv_vr))
equivalence (p_bd_rg_lo_lv_vr, emsol_p(ix_p_bd_rg_lo_lv_vr))
equivalence (p_u_bs_dse_blk, emsol_p(ix_p_u_bs_dse_blk))
equivalence (p_u_bs_gthr_pv_r, emsol_p(ix_p_u_bs_gthr_pv_r))
equivalence (p_u_bs_dse_blk_pv_r_in_c,
& emsol_p(ix_p_u_bs_dse_blk_pv_r_in_c))
equivalence (p_u_bs_skt_pv_r, emsol_p(ix_p_u_bs_skt_pv_r))
equivalence (p_u_bs_eta_msk, emsol_p(ix_p_u_bs_eta_msk))
equivalence (p_usr_mtx_r_v, emsol_p(ix_p_usr_mtx_r_v))
equivalence (p_usr_mtx_r_ix, emsol_p(ix_p_usr_mtx_r_ix))
equivalence (p_usr_mtx_c_sa, emsol_p(ix_p_usr_mtx_c_sa))
equivalence (p_usr_mtx_c_v, emsol_p(ix_p_usr_mtx_c_v))
equivalence (p_usr_mtx_c_ix, emsol_p(ix_p_usr_mtx_c_ix))
equivalence (p_usr_mtx_r_sa, emsol_p(ix_p_usr_mtx_r_sa))
equivalence (p_bc_co_v, emsol_p(ix_p_bc_co_v))
equivalence (p_bc_co_ix, emsol_p(ix_p_bc_co_ix))
equivalence (p_bc_co_ix_bar, emsol_p(ix_p_bc_co_ix_bar))
equivalence (p_pi_v, emsol_p(ix_p_pi_v))
equivalence (p_pi_ix, emsol_p(ix_p_pi_ix))
equivalence (p_tbu_r_v, emsol_p(ix_p_tbu_r_v))
equivalence (p_tbu_r_ix, emsol_p(ix_p_tbu_r_ix))
equivalence (p_pv_c_v, emsol_p(ix_p_pv_c_v))
equivalence (p_perm_tran_vec, emsol_p(ix_p_perm_tran_vec))
equivalence (p_cz_r_cdd_ix, emsol_p(ix_p_cz_r_cdd_ix))
equivalence (p_og_bs_cg_st, emsol_p(ix_p_og_bs_cg_st))
equivalence (p_rsmi_lb, emsol_p(ix_p_rsmi_lb))
equivalence (p_rsmi_co, emsol_p(ix_p_rsmi_co))
equivalence (p_rsmi_ub, emsol_p(ix_p_rsmi_ub))
equivalence (p_rsmi_rl_wk_a1, emsol_p(ix_p_rsmi_rl_wk_a1))
equivalence (p_rsmi_rl_wk_a2, emsol_p(ix_p_rsmi_rl_wk_a2))
equivalence (p_rsmi_rl_wk_a3, emsol_p(ix_p_rsmi_rl_wk_a3))
equivalence (p_rsmi_i_wk_a1, emsol_p(ix_p_rsmi_i_wk_a1))
equivalence (p_rsmi_i_wk_a2, emsol_p(ix_p_rsmi_i_wk_a2))
equivalence (p_l1_cz_r_bp, emsol_p(ix_p_l1_cz_r_bp))
equivalence (p_l1_cz_r_dl_gd, emsol_p(ix_p_l1_cz_r_dl_gd))
equivalence (p_l1_cz_r_ix, emsol_p(ix_p_l1_cz_r_ix))
equivalence (p_lo_eta_r_sa, emsol_p(ix_p_lo_eta_r_sa))
equivalence (p_up_eta_r_sa, emsol_p(ix_p_up_eta_r_sa))
equivalence (p_lo_eta_pv_in_c, emsol_p(ix_p_lo_eta_pv_in_c))
equivalence (p_up_eta_pv_in_c, emsol_p(ix_p_up_eta_pv_in_c))
equivalence (p_lo_eta_c_v, emsol_p(ix_p_lo_eta_c_v))
equivalence (p_lo_eta_c_ix, emsol_p(ix_p_lo_eta_c_ix))
equivalence (p_up_eta_c_v, emsol_p(ix_p_up_eta_c_v))
equivalence (p_up_eta_c_ix, emsol_p(ix_p_up_eta_c_ix))
equivalence (p_nw_eta_v, emsol_p(ix_p_nw_eta_v))
equivalence (p_nw_eta_ix, emsol_p(ix_p_nw_eta_ix))
equivalence (p_nw_eta_rec, emsol_p(ix_p_nw_eta_rec))
equivalence (eta_fi_p_a, emsol_p(ix_eta_fi_p_a))
c
c The work arrays can be used anywhere but it is handy to have
c a flag to indicate that they are being used so that they are not
c re-used accidentally by another routine. Routines
c ems_g(fr)_rsmi_rl(i)_wk_a_ix are used to get and free indices of
c workspace arrays. These are used to index the arrays of
c (equivalenced) pointers---safe since getting and freeing pointers
c is vulnerable to block moves.
c
integer p_rsmi_rl_wk_a(3)
integer p_rsmi_i_wk_a(2)
equivalence (p_rsmi_rl_wk_a(1), p_rsmi_rl_wk_a1)
c equivalence (p_rsmi_rl_wk_a(2), p_rsmi_rl_wk_a2)
c equivalence (p_rsmi_rl_wk_a(3), p_rsmi_rl_wk_a3)
equivalence (p_rsmi_i_wk_a(1), p_rsmi_i_wk_a1)
c equivalence (p_rsmi_i_wk_a(2), p_rsmi_i_wk_a2)
logical use_rsmi_rl_wk_a1_ok
logical use_rsmi_rl_wk_a2_ok
logical use_rsmi_rl_wk_a3_ok
logical use_rsmi_i_wk_a1_ok
logical use_rsmi_i_wk_a2_ok
common/ems_use_rsmi_wk_a_ok_com/
& use_rsmi_rl_wk_a1_ok,
& use_rsmi_rl_wk_a2_ok,
& use_rsmi_rl_wk_a3_ok,
& use_rsmi_i_wk_a1_ok,
& use_rsmi_i_wk_a2_ok