*IF DEF,CONTROL,OR,DEF,COMB,OR,DEF,PICK,OR,DEF,HPRT READHIS1.2
C ******************************COPYRIGHT****************************** GTS2F400.8047
C (c) CROWN COPYRIGHT 1995, METEOROLOGICAL OFFICE, All Rights Reserved. GTS2F400.8048
C GTS2F400.8049
C Use, duplication or disclosure of this code is subject to the GTS2F400.8050
C restrictions as set forth in the contract. GTS2F400.8051
C GTS2F400.8052
C Meteorological Office GTS2F400.8053
C London Road GTS2F400.8054
C BRACKNELL GTS2F400.8055
C Berkshire UK GTS2F400.8056
C RG12 2SZ GTS2F400.8057
C GTS2F400.8058
C If no contract has been raised with this copy of the code, the use, GTS2F400.8059
C duplication or disclosure of it is strictly prohibited. Permission GTS2F400.8060
C to do so must first be obtained in writing from the Head of Numerical GTS2F400.8061
C Modelling at the above address. GTS2F400.8062
C ******************************COPYRIGHT****************************** GTS2F400.8063
C GTS2F400.8064
CLL Routine: READHIST READHIS1.3
CLL READHIS1.4
CLL Purpose: To initialise History common block from most recent GRB1F305.416
CLL record in history file input GRB1F305.417
CLL READHIS1.7
CLL Tested under compiler: cft77 READHIS1.8
CLL Tested under OS version: UNICOS 5.0 READHIS1.9
CLL READHIS1.10
CLL Author: A.Sangster READHIS1.11
CLL READHIS1.12
CLL Model Modification history from model version 3.0: READHIS1.13
CLL version date READHIS1.14
CLL AD050293.77
CLL 3.1 05/02/93 Portable Fortran unit no assigns AD050293.78
CLL Author: A. Dickinson Reviewer: R. Stratton AD050293.79
CLL 3.2 13/07/93 Changed CHARACTER*(*) to CHARACTER*(80) for TS150793.156
CLL portability. Author Tracey Smith. TS150793.157
CLL 3.5 06/04/95 Sub-Models stage 1: revise History and Control file GRB1F305.418
CLL contents. RTHBarnes. GRB1F305.419
CLL READHIS1.15
CLL Programming standard: UM Doc Paper 3, draft version 3 (15/1/90) READHIS1.16
CLL READHIS1.17
CLL Logical components covered: H2,H20 READHIS1.18
CLL READHIS1.19
CLL Project task: H READHIS1.20
CLL READHIS1.21
CLL Documentation: Unified Model Documentation Paper READHIS1.22
CLL H- History Bricks READHIS1.23
CLL READHIS1.25
C READHIS1.26
C*L Interface and arguments: READHIS1.27
C READHIS1.28
SUBROUTINE READHIST 4,2READHIS1.29
* ( UNITHIST,ICODE,CMESSAGE ) READHIS1.30
C READHIS1.31
IMPLICIT NONE READHIS1.32
C READHIS1.33
INTEGER UNITHIST ! In - History file unit GRB1F305.420
INTEGER ICODE ! Out - Return code from routine READHIS1.35
CHARACTER*80 CMESSAGE ! Out - Return message if failure occured GRB1F305.421
C* READHIS1.37
C READHIS1.38
CL Common blocks READHIS1.39
C READHIS1.40
*CALL CSUBMODL
GRB1F305.422
*CALL CHSUNITS
GRB1F305.423
*CALL CHISTORY
READHIS1.41
C READHIS1.42
CHARACTER*80 FILENAME AD050293.80
CHARACTER*8 NLNAME GRB1F305.424
C*L EXTERNAL subroutines called READHIS1.43
EXTERNAL INITCHST,GET_FILE AD050293.81
C* READHIS1.45
CL READHIS1.46
CL 1. Set common block area to zero or blank READHIS1.47
CL READHIS1.48
CALL INITCHST
READHIS1.49
ICODE = 0 GRB1F305.425
CL READHIS1.50
CL 2. Open history file and rewind GRB1F305.426
CL READHIS1.52
CALL GET_FILE
(UNITHIST,FILENAME,80,ICODE) GTD0F400.166
OPEN(UNITHIST,FILE=FILENAME,FORM='FORMATTED',IOSTAT=ICODE, PXNAMLST.10
& DELIM='APOSTROPHE') PXNAMLST.11
C READHIS1.55
C Check for error READHIS1.56
C READHIS1.57
IF(ICODE .GT.0)THEN READHIS1.58
CMESSAGE='READHIST: Failed in OPEN of permanent history file' READHIS1.59
GOTO 999 READHIS1.60
ELSEIF(ICODE .LT. 0)THEN READHIS1.61
WRITE(6,*)'READHIST: Warning message on OPEN of permanent history GIE0F403.584
* file' READHIS1.63
WRITE(6,*)'IOSTAT= ',ICODE GIE0F403.585
ENDIF READHIS1.65
C READHIS1.66
REWIND(UNITHIST) READHIS1.67
CL GRB1F305.428
CL 3. Read most recent records GRB1F305.429
CL GRB1F305.430
NLNAME = 'NLIHISTO' GRB1F305.431
READ(UNITHIST,NLIHISTO,END=100,ERR=200) GRB1F305.432
NLNAME = 'NLCHISTO' GRB1F305.433
READ(UNITHIST,NLCHISTO,END=100,ERR=200) GRB1F305.434
NLNAME = 'NLIHISTG' GRB1F305.435
READ(UNITHIST,NLIHISTG,END=100,ERR=200) GRB1F305.436
NLNAME = 'NLCHISTG' GRB1F305.437
READ(UNITHIST,NLCHISTG,END=100,ERR=200) GRB1F305.438
NLNAME = 'NLCFILES' GRB1F305.439
READ(UNITHIST,NLCFILES,END=100,ERR=200) GRB1F305.440
GRB1F305.441
go to 999 GRB1F305.442
C READHIS1.69
C Check for error READHIS1.70
C READHIS1.71
! End-of-file GRB1F305.443
100 continue GRB1F305.444
ICODE = 1 GRB1F305.445
CMESSAGE='READHIST: End of file in READ from history file for name GRB1F305.446
&list '//NLNAME GRB1F305.447
go to 999 GRB1F305.448
! Read error GRB1F305.449
200 continue GRB1F305.450
ICODE = 2 GRB1F305.451
CMESSAGE='READHIST: Read ERROR on history file for namelist '// GDR1F401.45
& NLNAME GRB1F305.453
C READHIS1.104
999 CONTINUE READHIS1.105
CL READHIS1.106
CL 4. Close and return READHIS1.107
CL READHIS1.108
CLOSE(UNITHIST) READHIS1.109
RETURN READHIS1.110
END READHIS1.111
*ENDIF READHIS1.112