*IF DEF,CONTROL,OR,DEF,RECON,OR,DEF,CAMDUMP UIE3F404.56
C ******************************COPYRIGHT****************************** GTS2F400.12803
C (c) CROWN COPYRIGHT 1995, METEOROLOGICAL OFFICE, All Rights Reserved. GTS2F400.12804
C GTS2F400.12805
C Use, duplication or disclosure of this code is subject to the GTS2F400.12806
C restrictions as set forth in the contract. GTS2F400.12807
C GTS2F400.12808
C Meteorological Office GTS2F400.12809
C London Road GTS2F400.12810
C BRACKNELL GTS2F400.12811
C Berkshire UK GTS2F400.12812
C RG12 2SZ GTS2F400.12813
C GTS2F400.12814
C If no contract has been raised with this copy of the code, the use, GTS2F400.12815
C duplication or disclosure of it is strictly prohibited. Permission GTS2F400.12816
C to do so must first be obtained in writing from the Head of Numerical GTS2F400.12817
C Modelling at the above address. GTS2F400.12818
C GTS2F400.12819
!+Defines submodel and section/version configuration SETMODL1.3
! SETMODL1.4
! Subroutine Interface: SETMODL1.5
SUBROUTINE SETMODL(ErrorStatus,CMESSAGE) 1,5GSS3F401.1018
IMPLICIT NONE SETMODL1.8
! Description: GSS3F401.1019
! GSS3F401.1020
! Method: GSS3F401.1021
! GSS3F401.1022
! Current code owner: S.J.Swarbrick GSS3F401.1023
! GSS3F401.1024
! History: GSS3F401.1025
! Version Date Comment GSS3F401.1026
! ======= ==== ======= GSS3F401.1027
! 3.5 Mar. 95 Original code. S.J.Swarbrick GSS3F401.1028
! 4.1 Apr. 96 S.J.Swarbrick GSS3F401.1029
! 4.2 29/11/96 MPP code : Use global variables to calculate GPB1F402.594
! grid spacing. P.Burton GPB1F402.595
! 4.5 Sept. 97 Remove NUMSIDE_IMTO, NUMSIDE_JMTO. M.J. Bell GSI1F405.86
! 4.5 14/07/98 Remove call to INTRFACE (A Van der Wal) GAV0F405.6
! GSS3F401.1030
! Code description: GSS3F401.1031
! FORTRAN 77 + common Fortran 90 extensions. GSS3F401.1032
! Written to UM programming standards version 7. GSS3F401.1033
! GSS3F401.1034
! System component covered: GSS3F401.1035
! System task: Sub-Models Project GSS3F401.1036
! GSS3F401.1037
! Global variables: SETMODL1.10
*CALL LENFIL
SETMODL1.12
*CALL CSUBMODL
SETMODL1.13
*CALL VERSION
SETMODL1.14
*CALL TYPSIZE
GSS3F401.1038
*CALL MODEL
SETMODL1.16
*CALL CNTLGEN
GSS3F401.1039
*CALL CNTLATM
GSS3F401.1040
*CALL CNTLOCN
GSS3F401.1041
*CALL CNTLSLB
GSS3F401.1042
*IF DEF,MPP GPB1F402.596
*CALL PARVARS
GPB1F402.597
*CALL DECOMPTP
GPB1F402.598
*CALL DECOMPDB
GPB1F402.599
*ENDIF GPB1F402.600
GSS3F401.1043
! Array arguments with intent(out): GSS3F401.1044
CHARACTER*(80) CMESSAGE ! Error return message GSS3F401.1045
GSS3F401.1046
! Error status: GSS3F401.1047
INTEGER ErrorStatus ! +ve = fatal error GSS3F401.1048
GSS3F401.1049
SETMODL1.19
! Local scalars SETMODL1.20
REAL ASteps !Atmos timesteps per hour GSS3F401.1050
INTEGER I,J GSS3F401.1051
INTEGER Im,Is GSS3F401.1052
INTEGER Obs_type(MAX_AOBS) GSS3F401.1053
SETMODL1.25
! Local parameters SETMODL1.26
INTEGER NOASFLDS SETMODL1.28
PARAMETER(NOASFLDS=4) GSS1F403.1
SETMODL1.30
! Function and subroutine calls: SETMODL1.31
INTEGER CTOITST GSS3F401.1054
!- End of Header --------------------------------------------------- SETMODL1.36
SETMODL1.37
! Define submodel configuration SETMODL1.38
SETMODL1.39
H_ATMOS = 'N' SETMODL1.40
H_OCEAN = 'N' SETMODL1.41
H_SLAB = 'N' SETMODL1.42
H_WAVE = 'N' GSS3F401.1055
SETMODL1.43
DO I = 1,N_INTERNAL_MODEL_MAX SETMODL1.44
IF (INTERNAL_MODEL_LIST(I).EQ.ATMOS_IM) THEN SETMODL1.45
H_ATMOS ='Y' SETMODL1.46
END IF SETMODL1.47
IF (INTERNAL_MODEL_LIST(I).EQ.OCEAN_IM) THEN SETMODL1.48
H_OCEAN ='Y' SETMODL1.49
END IF SETMODL1.50
IF (INTERNAL_MODEL_LIST(I).EQ. SLAB_IM) THEN SETMODL1.51
H_SLAB ='Y' SETMODL1.52
END IF SETMODL1.53
IF (INTERNAL_MODEL_LIST(I).EQ. WAVE_IM) THEN GSS3F401.1056
H_WAVE ='Y' GSS3F401.1057
END IF GSS3F401.1058
END DO SETMODL1.54
SETMODL1.55
DO I = 1,N_INTERNAL_MODEL_MAX SETMODL1.56
H_VERS(I,0)= 1 SETMODL1.57
END DO SETMODL1.58
SETMODL1.59
IF (H_ATMOS .EQ. 'Y') THEN GSS3F401.1059
Im = ATMOS_IM GSS3F401.1060
DO Is = 1,NSECTP GSS3F401.1061
H_VERS(Im,Is)= CTOITST
(ATMOS_SR(Is)(1:1)) SETMODL1.67
END DO SETMODL1.68
END IF GSS3F401.1062
IF (H_OCEAN .EQ. 'Y') THEN GSS3F401.1063
Im = OCEAN_IM GSS3F401.1064
DO Is = 1,NSECTP GSS3F401.1065
H_VERS(Im,Is)= CTOITST
(OCEAN_SR(Is)(1:1)) GSS3F401.1066
END DO GSS3F401.1067
END IF GSS3F401.1068
IF (H_SLAB .EQ. 'Y') THEN GSS3F401.1069
Im = SLAB_IM GSS3F401.1070
DO Is = 1,NSECTP GSS3F401.1071
H_VERS(Im,Is)= CTOITST
( SLAB_SR(Is)(1:1)) GSS3F401.1072
END DO GSS3F401.1073
END IF GSS3F401.1074
IF (H_WAVE .EQ. 'Y') THEN GSS3F401.1075
Im = WAVE_IM GSS3F401.1076
DO Is = 1,NSECTP GSS3F401.1077
H_VERS(Im,Is)= CTOITST
( WAVE_SR(Is)(1:1)) GSS3F401.1078
END DO GSS3F401.1079
END IF GSS3F401.1080
! Submodel independent SETMODL1.69
DO Im = 1,N_INTERNAL_MODEL_MAX GSS3F401.1081
H_VERS(Im,19)= CTOITST
(INDEP_SR(19)(1:1)) GSS3F401.1082
END DO GSS3F401.1083
DO I=1,N_INTERNAL_MODEL_MAX GSS3F401.1084
MEAN_NUMBER(I)=0 GSS3F401.1085
DO J=1,4 GSS3F401.1086
IF (MEANFREQim(J,I).GT.0) THEN GSS3F401.1087
MEAN_NUMBER(I)=MEAN_NUMBER(I)+1 GSS3F401.1088
END IF GSS3F401.1089
END DO SETMODL1.74
END DO GSS3F401.1090
GSS3F401.1091
Im = ATMOS_IM GSS3F401.1092
IF (H_ATMOS .EQ. 'Y') THEN GSS3F401.1093
! Atmos model included GSS3F401.1094
SETMODL1.75
IF(OCALB.EQ.1) THEN SETMODL1.76
H_FLOOR=FLOOR SETMODL1.77
H_STRAT='N' SETMODL1.78
ELSE SETMODL1.79
H_FLOOR='Y' SETMODL1.80
H_STRAT='Y' SETMODL1.81
END IF SETMODL1.82
SETMODL1.83
DO I=1,29 SETMODL1.84
IF (TCA(I).EQ.0) THEN SETMODL1.85
TRACER_A(I)=.FALSE. SETMODL1.86
ELSE SETMODL1.87
TRACER_A(I)=.TRUE. SETMODL1.88
END IF SETMODL1.89
END DO SETMODL1.90
SETMODL1.91
SETMODL1.93
IF(TOTAE.EQ.'Y') THEN SETMODL1.94
IF(TOTEM.EQ.'Y') THEN SETMODL1.95
H_TOTEM='Y' SETMODL1.96
ELSE SETMODL1.97
H_TOTEM='N' SETMODL1.98
END IF SETMODL1.99
ELSE SETMODL1.100
H_TOTEM='N' SETMODL1.101
END IF SETMODL1.102
SETMODL1.103
*IF -DEF,RECON GSS3F401.1095
! Set switches & pseudo level limits for atmos assimilation diags GSS3F401.1096
DO I=1,AASSETS GSS3F401.1097
AASSET (I)=.FALSE. GSS3F401.1098
Obs_type(I)=0 GSS3F401.1099
END DO GSS3F401.1100
IF (N_AOBS.GT.0) THEN GSS3F401.1101
DO I=1,N_AOBS GSS3F401.1102
! Obtain first digit of obs type GSS3F401.1103
Obs_type(I)=AOBINC(I)/100 GSS3F401.1104
AASSET(Obs_type(I))=.TRUE. GSS3F401.1105
IF (I.GT.1) THEN GSS3F401.1106
IF (Obs_type(I).NE.Obs_type(I-1)) THEN GSS3F401.1107
AASPF (Obs_type(I))=AOBGRP(I) GSS3F401.1108
AASPL (Obs_type(I))=AOBGRP(I) GSS3F401.1109
END IF GSS3F401.1110
ELSE GSS3F401.1111
AASPF (Obs_type(I))=AOBGRP(I) GSS3F401.1112
AASPL (Obs_type(I))=AOBGRP(I) GSS3F401.1113
END IF GSS3F401.1114
IF (J.GT.AASSETS) J=AASSETS GSS3F401.1115
IF (I.GT.1 ) THEN GSS3F401.1116
IF (Obs_type(I).EQ.Obs_type(I-1)) THEN GSS3F401.1117
IF (AOBGRP(I).LT.AASPF(Obs_type(I))) GSS3F401.1118
& AASPF(Obs_type(I))=AOBGRP(I) GSS3F401.1119
IF (AOBGRP(I).GT.AASPL(Obs_type(I))) GSS3F401.1120
& AASPL(Obs_type(I))=AOBGRP(I) GSS3F401.1121
END IF GSS3F401.1122
END IF GSS3F401.1123
END DO GSS3F401.1124
END IF GSS3F401.1125
*ENDIF GSS3F401.1126
GSS3F401.1127
SETMODL1.131
H_OROG_GRAD=(H_VERS(Im,6).EQ.3) SETMODL1.132
SETMODL1.133
IF(OCAAA.EQ.1) THEN GSS3F401.1128
! Atmos global model GSS3F401.1129
H_GLOBAL(A_IM)='Y' GSS3F401.1130
*IF -DEF,MPP GPB1F402.601
H_A_EWSPACE=360.0/ROW_LENGTH GSS3F401.1131
H_A_NSSPACE=180.0/(P_ROWS-1) GSS3F401.1132
*ELSE GPB1F402.602
H_A_EWSPACE=360.0/ GPB1F402.603
& decomp_db_glsize(1,decomp_standard_atmos) GPB1F402.604
H_A_NSSPACE=180.0/ GPB1F402.605
& (decomp_db_glsize(2,decomp_standard_atmos)-1) GPB1F402.606
*ENDIF GPB1F402.607
H_A_FIRSTLAT=90.0 SETMODL1.156
H_A_FIRSTLONG=0.0 SETMODL1.157
H_A_POLELAT=90.0 SETMODL1.158
H_A_POLELONG=0.0 SETMODL1.159
LMESO=.FALSE. SETMODL1.160
ELSE IF (OCAAA.EQ.2) THEN SETMODL1.161
! Atmos LAM GSS3F401.1133
H_GLOBAL(A_IM)='N' GSS3F401.1134
LMESO=(MESO.EQ.'Y') SETMODL1.163
H_A_EWSPACE=EWSPACEA SETMODL1.164
H_A_NSSPACE=NSSPACEA SETMODL1.165
H_A_FIRSTLAT=FRSTLATA SETMODL1.166
H_A_FIRSTLONG=FRSTLONA SETMODL1.167
IF (H_A_FIRSTLONG.LT.0) H_A_FIRSTLONG=H_A_FIRSTLONG+360.0 SETMODL1.168
H_A_POLELAT=POLELATA SETMODL1.169
H_A_POLELONG=POLELONA SETMODL1.170
ELSE IF (OCAAA.EQ.3) THEN SETMODL1.171
! Atmos single column GSS3F401.1135
H_GLOBAL(A_IM)='N' GSS3F401.1136
H_A_EWSPACE=360. SETMODL1.173
H_A_NSSPACE=180. SETMODL1.174
H_A_FIRSTLAT=LATS SETMODL1.175
H_A_FIRSTLONG=LONS SETMODL1.176
H_A_POLELAT=90.0 SETMODL1.177
H_A_POLELONG=0.0 SETMODL1.178
LMESO=.FALSE. SETMODL1.179
ELSE IF (OCAAA.NE.0) THEN GSS3F401.1137
write(6,*) SETMODL1.181
& 'Setmodl: UNEXPECTED ATMOSPHERIC AREA CODE OCAAA',OCAAA SETMODL1.182
END IF SETMODL1.183
SETMODL1.184
LEXTRA(A_SM)=(1+P_LEVELS+2*Q_LEVELS)*P_ROWS*ROW_LENGTH GSS3F401.1138
SETMODL1.186
ELSE ! Atmosphere model not included SETMODL1.187
SETMODL1.188
SETMODL1.192
L_H2_SULPH =.FALSE. AWI1F403.10
ZonAvOzone =.FALSE. SETMODL1.194
LMICROPHY =.FALSE. SETMODL1.195
H_OROG_GRAD =.FALSE. SETMODL1.196
LMESO =.FALSE. SETMODL1.197
H_FLOOR ='N' SETMODL1.198
H_STRAT ='N' SETMODL1.199
TOTAE ='N' SETMODL1.202
H_TOTEM ='N' SETMODL1.203
H_GLOBAL(A_IM)='N' GSS3F401.1139
LAND_FIELD =0 SETMODL1.205
P_ROWS =0 SETMODL1.206
P_LEVELS =0 SETMODL1.207
Q_LEVELS =0 SETMODL1.208
CLOUD_LEVELS =0 SETMODL1.209
TR_LEVELS =0 SETMODL1.210
TR_VARS =0 SETMODL1.211
DO I=1,29 SETMODL1.213
TRACER_A(I) =.FALSE. SETMODL1.214
END DO SETMODL1.215
StLevGWdrag =0 SETMODL1.217
BotVDiffLev =0 SETMODL1.218
TopVDifflev =0 SETMODL1.219
A_SW_RADSTEP =0 SETMODL1.221
A_LW_RADSTEP =0 SETMODL1.222
H_OROG_ROUGH =0 SETMODL1.223
A_CONV_STEP =0 SETMODL1.224
H_SWBANDS =0 SETMODL1.225
H_LWBANDS =0 SETMODL1.226
H_A_EWSPACE =0. SETMODL1.229
H_A_NSSPACE =0. SETMODL1.230
H_A_FIRSTLAT =0. SETMODL1.231
H_A_FIRSTLONG =0. SETMODL1.232
H_A_POLELAT =0. SETMODL1.233
H_A_POLELONG =0. SETMODL1.234
PHENOL_PERIOD =0. ABX1F405.49
TRIFFID_PERIOD=0. ABX1F405.50
END IF SETMODL1.237
SETMODL1.238
DO I=1,6 SETMODL1.239
O_ASSM_FIELDS(I)='N' SETMODL1.240
END DO SETMODL1.241
SETMODL1.242
Im = OCEAN_IM GSS3F401.1140
! Ocean model included GSS3F401.1141
IF (H_OCEAN.EQ.'Y') THEN GSS3F401.1142
IF (OBS.EQ.3) THEN SETMODL1.245
COX_Z =.TRUE. SETMODL1.246
COX_PMSL=(BSPMSL.EQ.'Y') SETMODL1.247
ELSE SETMODL1.248
COX_Z =.FALSE. SETMODL1.249
COX_PMSL=.FALSE. SETMODL1.250
COX_Y =(OBS.EQ.1) SETMODL1.251
END IF SETMODL1.252
SETMODL1.253
IF (L_OHMEAD) THEN GSS3F401.1143
OCEAN_BASINS=OBAS SETMODL1.255
ELSE SETMODL1.256
OCEAN_BASINS=0 SETMODL1.257
END IF SETMODL1.258
SETMODL1.259
COX_LCASE_C=((H_ATMOS.EQ.'Y').OR.(OSFC.EQ.'Y')) SETMODL1.260
COX_OCARB = (H_VERS(Im,30).NE.0 . AND. OCARB.EQ.'Y') SETMODL1.261
COX_X =((MLMO.EQ.'Y').AND.(PSA.NE.0)) SETMODL1.262
COX_P = (OICE.EQ.1) SETMODL1.263
SETMODL1.264
IF(COX_P) THEN SETMODL1.265
SEAICE_TYPE=OIDYN SETMODL1.266
ELSE SETMODL1.267
SEAICE_TYPE=-1 SETMODL1.268
END IF SETMODL1.269
SETMODL1.270
COX_LCASE_I= (OICE.EQ.2) SETMODL1.271
COX_L =((IVDF.NE.0).AND.(IDO.EQ.'Y')) SETMODL1.272
SETMODL1.273
Im = OCEAN_IM SETMODL1.274
SETMODL1.275
IF ((OCAAO.EQ.1).OR.(CCEW.EQ.'Y')) THEN SETMODL1.285
COX_O =.TRUE. SETMODL1.286
H_O_PTSPROW= NCOLSO-2 SETMODL1.287
ELSE SETMODL1.288
COX_O =.FALSE. SETMODL1.289
H_O_PTSPROW= NCOLSO SETMODL1.290
END IF SETMODL1.291
SETMODL1.292
DO I=1,18 SETMODL1.293
IF (TCO(I).EQ.0) THEN SETMODL1.294
TRACER_O(I)=.FALSE. SETMODL1.295
ELSE SETMODL1.296
TRACER_O(I)=.TRUE. SETMODL1.297
END IF SETMODL1.298
END DO SETMODL1.299
SETMODL1.300
N_COMP_O = NECF(1) SETMODL1.301
SETMODL1.302
DO I =2,NLEVSO SETMODL1.303
N_COMP_O= N_COMP_O+NECF(I) SETMODL1.304
END DO SETMODL1.305
SETMODL1.306
H_O_EWSPACE = EWSPACEO SETMODL1.328
H_O_NSSPACE =-NSSPACEO SETMODL1.329
H_O_FIRSTLAT = FRSTLATO SETMODL1.330
H_O_FIRSTLONG= FRSTLONO SETMODL1.331
IF (H_O_FIRSTLONG.LT.0) H_O_FIRSTLONG=H_O_FIRSTLONG+360.0 SETMODL1.332
SETMODL1.333
IF (OCAAO.EQ.1) THEN GSS3F401.1144
! Ocean global model GSS3F401.1145
COX_1234=.FALSE. SETMODL1.335
H_GLOBAL(O_IM)='Y' GSS3F401.1146
H_O_POLELAT=90.0 SETMODL1.337
H_O_POLELONG=0.0 SETMODL1.338
ELSE IF (OCAAO.EQ.2) THEN SETMODL1.339
! Ocean LAM GSS3F401.1147
COX_1234=(UPD175.EQ.'Y') SETMODL1.340
H_GLOBAL(O_IM)='N' GSS3F401.1148
H_O_POLELAT=POLELATO SETMODL1.342
H_O_POLELONG=POLELONO SETMODL1.343
ELSE IF (OCAAO.NE.0) THEN GSS3F401.1149
write(6,*) SETMODL1.345
& 'Setmodl: UNEXPECTED OCEANIC AREA CODE OCAAO',OCAAO SETMODL1.346
END IF SETMODL1.347
SETMODL1.349
DO I=1,NOASFLDS SETMODL1.350
IF(OAFLD(I).EQ.'Y') THEN SETMODL1.351
O_ASSM_FIELDS(OASFLDID(I))='Y' SETMODL1.352
ELSE SETMODL1.353
O_ASSM_FIELDS(OASFLDID(I))='N' SETMODL1.354
END IF SETMODL1.355
END DO SETMODL1.356
SETMODL1.357
ELSE ! Ocean model not included SETMODL1.358
SETMODL1.359
H_OCEAN ='N' GSS3F401.1150
H_GLOBAL(O_IM)='N' GSS3F401.1151
COX_LCASE_C =.FALSE. SETMODL1.362
COX_OCARB =.FALSE. SETMODL1.363
COX_Z =.FALSE. SETMODL1.364
COX_Y =.FALSE. SETMODL1.365
COX_PMSL =.FALSE. SETMODL1.366
COX_P =.FALSE. SETMODL1.367
COX_X =.FALSE. SETMODL1.369
COX_L =.FALSE. SETMODL1.370
COX_LCASE_I =.FALSE. SETMODL1.372
COX_1234 =.FALSE. SETMODL1.373
COX_O =.FALSE. SETMODL1.374
SEAICE_TYPE =-1 SETMODL1.376
OCEAN_BASINS= 0 SETMODL1.377
OCBOHaney = 0 SETMODL1.378
H_O_PTSPROW =0 SETMODL1.389
NROWSO =0 SETMODL1.390
NLEVSO =0 SETMODL1.391
N_COMP_O =0 SETMODL1.395
DO I=1,18 SETMODL1.399
TRACER_O(I)=.FALSE. SETMODL1.400
END DO SETMODL1.401
H_O_EWSPACE =0.0 SETMODL1.411
H_O_NSSPACE =0.0 SETMODL1.412
H_O_FIRSTLAT =0.0 SETMODL1.413
H_O_FIRSTLONG=0.0 SETMODL1.414
H_O_POLELAT =0.0 SETMODL1.415
H_O_POLELONG =0.0 SETMODL1.416
END IF SETMODL1.418
SETMODL1.419
Im = SLAB_IM GSS3F401.1152
! Slab ocean model included GSS3F401.1153
IF(H_SLAB.EQ.'Y') THEN GSS3F401.1154
H_SLAB_CAL =SCAL GSS3F401.1155
ELSE GSS3F401.1156
H_SLAB_CAL ='N' GSS3F401.1157
END IF GSS3F401.1158
GSS3F401.1159
Im = WAVE_IM GSS3F401.1160
! Wave model included GSS3F401.1161
IF (H_WAVE.EQ.'Y') THEN GSS3F401.1162
H_W_NSSPACE =NSSPACEW GSS3F401.1163
H_W_FIRSTLAT =FRSTLATW GSS3F401.1164
IF (H_W_FIRSTLONG.LT.0) H_W_FIRSTLONG=H_W_FIRSTLONG+360.0 GSS3F401.1165
IF(OCAAW .EQ. 1 ) THEN GSS3F401.1166
! Wave global model GSS3F401.1167
H_GLOBAL(W_IM)='Y' GSS3F401.1168
H_W_EWSPACE =360./NCOLSW GSS3F401.1169
H_W_FIRSTLONG =0. GSS3F401.1170
ELSE IF (OCAAW.EQ.2) THEN GSS3F401.1171
! Wave LAM GSS3F401.1172
H_GLOBAL(W_IM)='N' GSS3F401.1173
H_W_EWSPACE =EWSPACEW GSS3F401.1174
H_W_FIRSTLONG =FRSTLONW GSS3F401.1175
ELSE IF (OCAAW.NE.0) THEN GSS3F401.1176
write(6,*) GSS3F401.1177
& 'Setmodl: UNEXPECTED WAVE AREA CODE OCAAW',OCAAW GSS3F401.1178
END IF GSS3F401.1179
END IF GSS3F401.1180
GSS3F401.1181
SETMODL1.433
CLOSE(UNIT=10) SETMODL1.434
RETURN SETMODL1.435
END SETMODL1.436
SETMODL1.437
!- End of Subroutine code ---------------------------------------------- SETMODL1.438
SETMODL1.439
! Function Interface: SETMODL1.440
SETMODL1.441
INTEGER FUNCTION CTOITST(CHAR) 5SETMODL1.442
CHARACTER*1 CHAR SETMODL1.443
! GSS3F401.1182
IF(CHAR.EQ.'0'.OR.CHAR.EQ.' ') THEN GSS3F401.1183
CTOITST=0 SETMODL1.446
ELSE IF(CHAR.EQ.'1') THEN SETMODL1.447
CTOITST=1 SETMODL1.448
ELSE IF(CHAR.EQ.'2') THEN SETMODL1.449
CTOITST=2 SETMODL1.450
ELSE IF(CHAR.EQ.'3') THEN SETMODL1.451
CTOITST=3 SETMODL1.452
ELSE IF(CHAR.EQ.'4') THEN SETMODL1.453
CTOITST=4 SETMODL1.454
ELSE IF(CHAR.EQ.'5') THEN SETMODL1.455
CTOITST=5 SETMODL1.456
ELSE IF(CHAR.EQ.'6') THEN SETMODL1.457
CTOITST=6 SETMODL1.458
ELSE IF(CHAR.EQ.'7') THEN SETMODL1.459
CTOITST=7 SETMODL1.460
ELSE IF(CHAR.EQ.'8') THEN SETMODL1.461
CTOITST=8 SETMODL1.462
ELSE IF(CHAR.EQ.'9') THEN SETMODL1.463
CTOITST=9 SETMODL1.464
ELSE IF(CHAR.EQ.'A') THEN SETMODL1.465
CTOITST=10 SETMODL1.466
ELSE IF(CHAR.EQ.'B') THEN SETMODL1.467
CTOITST=11 SETMODL1.468
ELSE IF(CHAR.EQ.'C') THEN SETMODL1.469
CTOITST=12 SETMODL1.470
ELSE IF(CHAR.EQ.'D') THEN SETMODL1.471
CTOITST=13 SETMODL1.472
ELSE IF(CHAR.EQ.'E') THEN SETMODL1.473
CTOITST=14 SETMODL1.474
ELSE IF(CHAR.EQ.'F') THEN SETMODL1.475
CTOITST=15 SETMODL1.476
ELSE IF(CHAR.EQ.'G') THEN SETMODL1.477
CTOITST=16 SETMODL1.478
ELSE IF(CHAR.EQ.'H') THEN SETMODL1.479
CTOITST=17 SETMODL1.480
ELSE IF(CHAR.EQ.'I') THEN SETMODL1.481
CTOITST=18 SETMODL1.482
ELSE IF(CHAR.EQ.'J') THEN SETMODL1.483
CTOITST=19 SETMODL1.484
ELSE IF(CHAR.EQ.'K') THEN SETMODL1.485
CTOITST=20 SETMODL1.486
ELSE IF(CHAR.EQ.'#') THEN SETMODL1.487
CTOITST=0 SETMODL1.488
ELSE SETMODL1.489
WRITE(6,*)'SETMODL: UNEXPECTED SECTION CHOICE ',CHAR SETMODL1.490
END IF SETMODL1.491
SETMODL1.492
END SETMODL1.493
*ENDIF SETMODL1.494
SETMODL1.495