include file: STEXTEND 22 ! Description: STEXTEND.2 ! Contains variables and arrays involved in STASH STEXTEND.3 ! processing in the UM. STEXTEND.4 ! NOTE: comdecks CSUBMODEL and VERSION must be STEXTEND.5 ! *CALLed before this comdeck. STEXTEND.6 ! STEXTEND.7 ! Current code owner: S.J.Swarbrick STEXTEND.8 ! STEXTEND.9 ! History: STEXTEND.10 ! Version Date Comment STEXTEND.11 ! ------- ---- ------- STEXTEND.12 ! 3.5 Mar. 95 Original code. S.J.Swarbrick STEXTEND.13 ! 4.0 Oct. 95 S.J.Swarbrick GSS1F400.1424 ! STEXTEND.14 ! Declarations: STEXTEND.15 ! Imported global variables: STEXTEND.16 ! None, but see note above. STEXTEND.17 STEXTEND.18 ! Global arrays: STEXTEND.19 ! Output levels lists GSS1F400.1425 ! List type (real/int) GSS1F400.1426 CHARACTER*1 LLISTTY (NPROFDP*6 ) STEXTEND.21 ! Real levels GSS1F400.1427 REAL RLEVLST_S(NLEVP_S , NLEVLSTSP) STEXTEND.22 ! Integer (i.e. model) levels GSS1F400.1428 INTEGER LEVLST_S(NLEVP_S , NLEVLSTSP) STEXTEND.23 ! STASH lengths and addresses GSS1F400.1429 INTEGER IN_S (2,N_INTERNAL_MODEL_MAX,0:NSECTP,NITEMP) STEXTEND.25 ! STASH list index GSS1F400.1430 INTEGER INDX_S (2,N_INTERNAL_MODEL_MAX,0:NSECTP,NITEMP) STEXTEND.26 STEXTEND.27 ! STASH list array (extra row only for internal indexing in STEXTEND.28 ! processing routines) STEXTEND.29 INTEGER LIST_S (NELEMP+1 , NRECDP ) STEXTEND.30 ! Output times tables GSS1F400.1431 INTEGER ITIM_S (NTIMEP ,2*NPROFTP+2) STEXTEND.32 ! Start addresses for pp headers GSS1F400.1432 INTEGER PPIND_S (N_INTERNAL_MODEL_MAX, NITEMP ) STEXTEND.34 ! Time series block information GSS1F400.1433 ! No. of records in a block GSS1F400.1434 INTEGER NRECS_TS(NPROFDP ) STEXTEND.36 ! Start position of block GSS1F400.1435 INTEGER NPOS_TS (NPROFDP ) STEXTEND.37 ! lengths of pseudo-levels lists GSS1F400.1436 INTEGER LENPLST (NPSLISTP ) STEXTEND.38 STEXTEND.39 EQUIVALENCE(LEVLST_S,RLEVLST_S) STEXTEND.40 STEXTEND.41 C Set up preliminary array for addressing D1: GSM2F403.36 C Number of items of info needed for each object and likely maximum GSM2F403.37 C number of objects in D1 - this can be increased if necessary GSM2F403.38 INTEGER GSM2F403.39 & D1_ITEMS_PREL GSM2F403.40 & ,MAX_D1_LEN GSM2F403.41 PARAMETER( GSM2F403.42 & D1_ITEMS_PREL=4 GSM2F403.43 & ,MAX_D1_LEN=500 GSM2F403.44 & ) GSM2F403.45 GSM2F403.46 C Names of items. GSM2F403.47 INTEGER GSM2F403.48 & d1_type ! Prognostic, Diagnostic or other GSM2F403.49 & ,d1_im ! Internal model id GSM2F403.50 & ,d1_levs ! No of levels GSM2F403.51 & ,d1_extra_info ! Stash list item number for diags or GSM2F403.52 & ! PPXREF item number for progs and other GSM2F403.53 GSM2F403.54 PARAMETER( GSM2F403.55 & d1_type=1 GSM2F403.56 & ,d1_im=2 GSM2F403.57 & ,d1_extra_info=3 GSM2F403.58 & ,d1_levs=4 GSM2F403.59 & ) GSM2F403.60 GSM2F403.61 C Types of items for d1_type GSM2F403.62 INTEGER GSM2F403.63 & prog GSM2F403.64 & ,diag GSM2F403.65 & ,seco GSM2F403.66 & ,extra_d1 GSM2F403.67 GSM2F403.68 PARAMETER( GSM2F403.69 & prog=0 GSM2F403.70 & ,diag=1 GSM2F403.71 & ,seco=2 GSM2F403.72 & ,extra_d1=3 GSM2F403.73 & ) GSM2F403.74 GSM2F403.75 C Stores number of objects in D1 GSM2F403.76 INTEGER N_OBJ_D1(N_SUBMODEL_PARTITION_MAX) GSM2F403.77 GSM2F403.78 C Preliminary array for addressing D1. Holds the minimum amount of GSM2F403.79 C info required for order of objects of D1; this amount of info is GSM2F403.80 C enough to obtain any other required info from stashlist or ppxref GSM2F403.81 GSM2F403.82 INTEGER GSM2F403.83 & D1_PADDR(D1_ITEMS_PREL,MAX_D1_LEN,N_SUBMODEL_PARTITION_MAX) GSM2F403.84 GSM2F403.85 ! Common block: STEXTEND.42 STEXTEND.43 COMMON/CHARLIST/ LLISTTY STEXTEND.44 COMMON/STEXTEND/ STEXTEND.45 & LIST_S ,INDX_S ,ITIM_S ,IN_S ,PPIND_S , STEXTEND.46 & LEVLST_S,NRECS_TS,NPOS_TS,LENPLST STEXTEND.47 COMMON/D1_PRELIM/ D1_PADDR, N_OBJ_D1 GSM2F403.86 STEXTEND.48 !- End of Comdeck Declaration ----------------------------------------- STEXTEND.49