*IF DEF,C80_1A,OR,DEF,RECON UIE3F404.44 C ******************************COPYRIGHT****************************** GTS2F400.7579 C (c) CROWN COPYRIGHT 1995, METEOROLOGICAL OFFICE, All Rights Reserved. GTS2F400.7580 C GTS2F400.7581 C Use, duplication or disclosure of this code is subject to the GTS2F400.7582 C restrictions as set forth in the contract. GTS2F400.7583 C GTS2F400.7584 C Meteorological Office GTS2F400.7585 C London Road GTS2F400.7586 C BRACKNELL GTS2F400.7587 C Berkshire UK GTS2F400.7588 C RG12 2SZ GTS2F400.7589 C GTS2F400.7590 C If no contract has been raised with this copy of the code, the use, GTS2F400.7591 C duplication or disclosure of it is strictly prohibited. Permission GTS2F400.7592 C to do so must first be obtained in writing from the Head of Numerical GTS2F400.7593 C Modelling at the above address. GTS2F400.7594 C ******************************COPYRIGHT****************************** GTS2F400.7595 C GTS2F400.7596 CLL SUBROUTINE PR_INHDA--------------------------------------- PRIHDA1A.3 CLL PRIHDA1A.4 CLL Purpose: Prints out integer constants record and checks PRIHDA1A.5 CLL validity of information. PRIHDA1A.6 CLL PRIHDA1A.7 CLL Written by A. Dickinson PRIHDA1A.8 CLL PRIHDA1A.9 CLL Model Modification history from model version 3.0: PRIHDA1A.10 CLL version date PRIHDA1A.11 CLL 3.2 13/07/93 Changed CHARACTER*(*) to CHARACTER*(80) for TS150793.126 CLL portability. Author Tracey Smith. TS150793.127 CLL 4.5 19/01/98 Remove SOIL_VARS and VEG_VARS. D. Robinson GDR6F405.37 CLL PRIHDA1A.12 CLL Programming standard: Unified Model Documentation Paper No 3 PRIHDA1A.13 CLL Version No 1 15/1/90 PRIHDA1A.14 CLL PRIHDA1A.15 CLL System component: C25 PRIHDA1A.16 CLL PRIHDA1A.17 CLL System task: F3 PRIHDA1A.18 CLL PRIHDA1A.19 CLL Documentation: Unified Model Documentation Paper No F3 PRIHDA1A.20 CLL Version No 5 9/2/90 PRIHDA1A.21 CLL------------------------------------------------------------ PRIHDA1A.22 C*L Arguments:------------------------------------------------- PRIHDA1A.23SUBROUTINE PR_INHDA 2PRIHDA1A.24 *(INTHD,LEN_INTHD,ROW_LENGTH,P_ROWS PRIHDA1A.25 &,P_LEVELS,Q_LEVELS,TR_LEVELS AJS1F401.1578 &,ST_LEVELS,SM_LEVELS,BL_LEVELS AJS1F401.1579 & , TR_VARS GDR6F405.38 *,ICODE,CMESSAGE) PRIHDA1A.28 PRIHDA1A.29 IMPLICIT NONE PRIHDA1A.30 PRIHDA1A.31 INTEGER PRIHDA1A.32 * LEN_INTHD !IN Length of integer header PRIHDA1A.33 *,ROW_LENGTH !IN No of points along a model row PRIHDA1A.34 *,P_ROWS !IN No of model rows PRIHDA1A.35 *,P_LEVELS !IN No of model levels PRIHDA1A.36 *,Q_LEVELS !IN No of moist levels PRIHDA1A.37 *,TR_LEVELS !IN No of tracer levels PRIHDA1A.38 &,ST_LEVELS !IN No of soil temperature levels AJS1F401.1580 &,SM_LEVELS !IN No of soil moisture levels AJS1F401.1581 *,BL_LEVELS !IN No of b. layer levels PRIHDA1A.40 *,TR_VARS !IN No of tracer variables PRIHDA1A.41 PRIHDA1A.44 INTEGER PRIHDA1A.45 & INTHD(LEN_INTHD) !IN Integer header PRIHDA1A.46 *,ICODE !OUT Return code; successful=0 PRIHDA1A.47 * ! error > 0 PRIHDA1A.48 PRIHDA1A.49 CHARACTER*(80) TS150793.128 * CMESSAGE !OUT Error message if ICODE > 0 PRIHDA1A.51 PRIHDA1A.52 C ------------------------------------------------------------- PRIHDA1A.53 C Workspace usage:--------------------------------------------- PRIHDA1A.54 C None PRIHDA1A.55 C ------------------------------------------------------------- PRIHDA1A.56 C*L External subroutines called:------------------------------- PRIHDA1A.57 C None PRIHDA1A.58 C*------------------------------------------------------------- PRIHDA1A.59 PRIHDA1A.60 CL Internal structure: None PRIHDA1A.61 ICODE=0 PRIHDA1A.62 CMESSAGE=' ' PRIHDA1A.63 PRIHDA1A.64 WRITE(6,'('' '')') PRIHDA1A.65 WRITE(6,'('' INTEGER CONSTANTS'')') PRIHDA1A.66 WRITE(6,'('' -----------------'')') PRIHDA1A.67 WRITE(6,'('' Number of timesteps since start of run -'',I7)') PRIHDA1A.68 *INTHD(1) PRIHDA1A.69 WRITE(6,'('' Meaning interval for mean fields (hrs) -'',I7)') PRIHDA1A.70 *INTHD(2) PRIHDA1A.71 WRITE(6,'('' Number of dumps used to generate mean -'',I7)') PRIHDA1A.72 *INTHD(3) PRIHDA1A.73 WRITE(6,'('' No of hrs between neighbouring contiguous sections of PRIHDA1A.74 * means -'',I7)')INTHD(4) PRIHDA1A.75 WRITE(6,'('' No of hrs between end of one contiguous section and s PRIHDA1A.76 *tart of next -'',I7)')INTHD(5) PRIHDA1A.77 PRIHDA1A.78 IF(ROW_LENGTH.NE.INTHD(6).OR.P_ROWS.NE.INTHD(7))THEN PRIHDA1A.79 WRITE(6,'('' **FATAL ERROR** specifying model dimensions'')') PRIHDA1A.80 WRITE(6,'('' Program dimensions ='',I7,'' x'',I7)') PRIHDA1A.81 *ROW_LENGTH,P_ROWS PRIHDA1A.82 WRITE(6,'('' File dimensions ='',I7,'' x'',I7)') PRIHDA1A.83 *INTHD(6),INTHD(7) PRIHDA1A.84 WRITE(6,'('' ***************'')') PRIHDA1A.85 ICODE=4 PRIHDA1A.86 CMESSAGE='PR_INHDA: Consistency check' PRIHDA1A.87 RETURN PRIHDA1A.88 ELSE PRIHDA1A.89 WRITE(6,'('' Number of E-W x N-S points -'',I7,'' x'',I7)') PRIHDA1A.90 *INTHD(6),INTHD(7) PRIHDA1A.91 ENDIF PRIHDA1A.92 PRIHDA1A.93 IF(P_LEVELS.NE.INTHD(8).OR.Q_LEVELS.NE.INTHD(9))THEN PRIHDA1A.94 WRITE(6,'('' **FATAL ERROR** specifying no of model levels'')') PRIHDA1A.95 WRITE(6,'('' Programmed levels (wet) ='',I2,''('',I2,'')'')') PRIHDA1A.96 *P_LEVELS,Q_LEVELS PRIHDA1A.97 WRITE(6,'('' File levels (wet) ='',I2,''('',I2,'')'')') PRIHDA1A.98 *INTHD(8),INTHD(9) PRIHDA1A.99 WRITE(6,'('' ***************'')') PRIHDA1A.100 ICODE=4 PRIHDA1A.101 CMESSAGE='PR_INHDA: Consistency check' PRIHDA1A.102 RETURN PRIHDA1A.103 ELSE PRIHDA1A.104 WRITE(6,'('' Number of levels -'',I7)') PRIHDA1A.105 *INTHD(8) PRIHDA1A.106 WRITE(6,'('' Number of wet levels -'',I7)') PRIHDA1A.107 *INTHD(9) PRIHDA1A.108 ENDIF PRIHDA1A.109 IF((TR_LEVELS.NE.INTHD(12).AND.INTHD(14).NE.0) AJS1F401.1582 & .OR.ST_LEVELS.NE.INTHD(10).OR.SM_LEVELS.NE.INTHD(28) AJS1F401.1583 & .OR.BL_LEVELS.NE.INTHD(13))THEN AJS1F401.1584 WRITE(6,'('' **FATAL ERROR** specifying model level info'')') AJS1F401.1585 WRITE(6,'('' Programmed tracer, soil temperature,'', AJS1F401.1586 & '' soil moisture, b.l. levels ='',4I3)') AJS1F401.1587 & TR_LEVELS,ST_LEVELS,SM_LEVELS,BL_LEVELS AJS1F401.1588 WRITE(6,'('' File tracer, soil temperature, soil moisture,'', AJS1F401.1589 & '' b.l. levels ='',4I3)') AJS1F401.1590 & INTHD(12),INTHD(10),INTHD(28),INTHD(13) AJS1F401.1591 WRITE(6,'('' ***************'')') PRIHDA1A.121 ICODE=4 PRIHDA1A.122 CMESSAGE='PR_INHDA: Consistency check' PRIHDA1A.123 RETURN PRIHDA1A.124 ELSE PRIHDA1A.125 WRITE(6,'('' Number of soil temperature levels -'',I7)') AJS1F401.1592 &INTHD(10) AJS1F401.1593 WRITE(6,'('' Number of soil moisture levels -'',I7)') AJS1F401.1594 &INTHD(28) AJS1F401.1595 WRITE(6,'('' Number of tracer levels -'',I7)') PRIHDA1A.128 *INTHD(12) PRIHDA1A.129 WRITE(6,'('' Number of boundary layer levels -'',I7)') PRIHDA1A.130 *INTHD(13) PRIHDA1A.131 ENDIF PRIHDA1A.132 PRIHDA1A.133 IF (TR_VARS.NE.INTHD(14)) THEN GDR6F405.39 WRITE(6,'('' **FATAL ERROR** specifying number of variables'')') PRIHDA1A.136 WRITE (6,'('' Programmed TR_VARS = '',I3)') TR_VARS GDR6F405.40 WRITE (6,'('' File TR_VARS = '',I3)') INTHD(14) GDR6F405.41 WRITE(6,'('' ***************'')') PRIHDA1A.141 ICODE=4 PRIHDA1A.142 CMESSAGE='PR_INHDA: Consistency check' PRIHDA1A.143 RETURN PRIHDA1A.144 ELSE PRIHDA1A.145 WRITE(6,'('' Number of passive tracers advected -'',I7)') PRIHDA1A.146 *INTHD(14) PRIHDA1A.147 ENDIF PRIHDA1A.152 PRIHDA1A.153 RETURN PRIHDA1A.154 END PRIHDA1A.155 *ENDIF PRIHDA1A.156