include file: CSUBMODL 244 ! GRR2F305.1 ! Description: GRR2F305.2 ! Describes the number and identity of submodels available GRR2F305.3 ! within the system, and those included in the current GRR2F305.4 ! experiment. Parameters set by the User Interface give GRR2F305.5 ! the relevant array sizes; other submodel configuration GRR2F305.6 ! information is either read from NAMELIST input, or GRR2F305.7 ! derived from dump header information. GRR2F305.8 ! GRR2F305.9 ! Current Code Owner: R. Rawlins GRR2F305.10 ! GRR2F305.11 ! History: GRR2F305.12 ! Version Date Comment GRR2F305.13 ! ------- ---- ------- GRR2F305.14 ! pre 3.0 Original code. T. Johns GRR2F305.15 ! 3.5 07/04/95 Expansion for stage 1 of submodel project, allowing GRR2F305.16 ! flexible specification of internal models within GRR2F305.17 ! submodel partitions. R. Rawlins GRR2F305.18 ! GRR2F305.19 ! Declarations: GRR2F305.20 ! GRR2F305.21 ! 1. Internal model and submodel dump partition identifiers - fixed GRR2F305.22 ! for all experiments. GRR2F305.23 *CALL CSMID
GRR2F305.24 GRR2F305.25 ! GRR2F305.26 ! 2. Maximum internal model/submodel array sizes for this version. GRR2F305.27 ! GRR2F305.28 *CALL CSUBMMAX
GRR2F305.29 ! GRR2F305.30 ! 3. Lists of internal models and their submodel dump partitions - GRR2F305.31 ! initialised by the user interface - experiment specific. GRR2F305.32 INTEGER GRR2F305.33 * N_INTERNAL_MODEL ! No. of internal models GRR2F305.34 *,N_SUBMODEL_PARTITION ! No. of submodel partitions GRR2F305.35 *,INTERNAL_MODEL_LIST(N_INTERNAL_MODEL_MAX) ! Internal models GRR2F305.36 *,SUBMODEL_FOR_IM (N_INTERNAL_MODEL_MAX) ! Submodel identifier GRR2F305.37 * ! for each internal model in list GSM2F403.29 &,SUBMODEL_FOR_SM(N_INTERNAL_MODEL_MAX) ! Submodel number for GSM2F403.30 ! each submodel id GSM2F403.31 ! GRR2F305.39 ! Namelist for information in 3. GRR2F305.40 NAMELIST/NSUBMODL/N_INTERNAL_MODEL,N_SUBMODEL_PARTITION GRR2F305.41 *,INTERNAL_MODEL_LIST,SUBMODEL_FOR_IM GRR2F305.42 ! GRR2F305.43 ! 4. Lists calculated in model from user interface supplied arrays - GRR2F305.44 ! - experiment specific. GRR2F305.45 INTEGER GRR2F305.46 * N_INTERNAL_FOR_SM(SUBMODEL_ID_MAX) ! No of internal models in GRR2F305.47 ! each submodel partition indexed by sm identifier GRR2F305.48 *,SUBMODEL_PARTITION_LIST(N_SUBMODEL_PARTITION_MAX) ! List of GRR2F305.49 ! submodel partition identifiers GRR2F305.50 *,SUBMODEL_PARTITION_INDEX(INTERNAL_ID_MAX) ! Submodel partition GRR2F305.51 ! identifier indexed by internal model identifier GRR2F305.52 *,INTERNAL_MODEL_INDEX(INTERNAL_ID_MAX) ! Sequence number of GRR2F305.53 ! internal model indexed by internal model identifier: GRR2F305.54 ! required to map from id to STASH internal model sequence GRR2F305.55 LOGICAL GRR2F305.56 * LAST_IM_IN_SM(INTERNAL_ID_MAX) ! Last internal model within GRR2F305.57 ! a submodel partition if .TRUE., GRR2F305.58 ! indexed by internal model id. GRR2F305.59 ! Common block for information in 3. and 4. GRR2F305.60 COMMON/SUBMODL/N_INTERNAL_MODEL,N_SUBMODEL_PARTITION, GRR2F305.61 * INTERNAL_MODEL_LIST,SUBMODEL_FOR_IM,SUBMODEL_FOR_SM, GSM2F403.32 * N_INTERNAL_FOR_SM,SUBMODEL_PARTITION_LIST, GRR2F305.63 * SUBMODEL_PARTITION_INDEX, GRR2F305.64 * INTERNAL_MODEL_INDEX, GRR2F305.65 * LAST_IM_IN_SM GRR2F305.66 GRR2F305.67 ! GRR2F305.68 ! 5. Time information specifying coupling frequencies between internal GRR2F305.69 ! models and submodels, and multipliers, indexed by sequence of GRR2F305.70 ! internal models and submodels (ie left to right along node tree). GRR2F305.71 ! {Not required at this release}. GRR2F305.72 ! GRR2F305.73 ! Namelists for information in 5. {Not required at this release} GRR2F305.74 ! GRR2F305.75 ! GRR2F305.76 ! 6. Lists of coupling nodes defining coupling frequencies between GRR2F305.77 ! internal models and between submodel partitions. (Not defined GRR2F305.78 ! yet at this release). GRR2F305.79 !CALL CNODE GRR2F305.80 ! GRR2F305.81 ! 7. Variables dealing with general coupling switches at the control GRR2F305.82 ! level. {These will require revision at the next release when GRR2F305.83 ! coupling between internal models is dealt with more generally. GRR2F305.84 ! Logicals below are set in routine SETGRCTL.} GRR2F305.85 GRR2F305.86 LOGICAL GRR2F305.87 * new_im ! new internal model next group of timesteps if .true. GRR2F305.88 *,new_sm ! new submodel dump next group of timesteps if .true. GRR2F305.89 GRR2F305.90 COMMON/CSUBMGRP/new_im,new_sm GRR2F305.91 GRR2F305.92 INTEGER SUBMODEL_IDENT GSS1F400.1115 COMMON/SUBMODID/SUBMODEL_IDENT GSS1F400.1116 C GRR2F305.94 C CSUBMODL.47