*IF DEF,CONTROL,OR,DEF,SETUP,OR,DEF,COMB TEMPHIS1.2
C ******************************COPYRIGHT****************************** GTS2F400.10081
C (c) CROWN COPYRIGHT 1995, METEOROLOGICAL OFFICE, All Rights Reserved. GTS2F400.10082
C GTS2F400.10083
C Use, duplication or disclosure of this code is subject to the GTS2F400.10084
C restrictions as set forth in the contract. GTS2F400.10085
C GTS2F400.10086
C Meteorological Office GTS2F400.10087
C London Road GTS2F400.10088
C BRACKNELL GTS2F400.10089
C Berkshire UK GTS2F400.10090
C RG12 2SZ GTS2F400.10091
C GTS2F400.10092
C If no contract has been raised with this copy of the code, the use, GTS2F400.10093
C duplication or disclosure of it is strictly prohibited. Permission GTS2F400.10094
C to do so must first be obtained in writing from the Head of Numerical GTS2F400.10095
C Modelling at the above address. GTS2F400.10096
C ******************************COPYRIGHT****************************** GTS2F400.10097
C GTS2F400.10098
CLL Routine : TEMPHIST ------------------------------------------------- TEMPHIS1.3
CLL TEMPHIS1.4
CLL Purpose :Write current contents of history common block to temporary TEMPHIS1.5
CLL or interim history file - overwriting previous record TEMPHIS1.6
CLL TEMPHIS1.7
CLL Tested under compiler: cft77 TEMPHIS1.8
CLL Tested under OS version: UNICOS 5.0 TEMPHIS1.9
CLL TEMPHIS1.10
CLL Author: A.B.SANGSTER Date: 20 January 1990 TEMPHIS1.11
CLL TEMPHIS1.12
CLL Model Modification history from model version 3.0: TEMPHIS1.13
CLL version date TEMPHIS1.14
CLL AD050293.129
CLL 3.1 05/02/93 Portable Fortran unit no assigns AD050293.130
CLL Author: A. Dickinson Reviewer: R. Stratton AD050293.131
CLL 3.2 13/07/93 Changed CHARACTER*(*) to CHARACTER*(80) for TS150793.201
CLL portability. Author Tracey Smith. TS150793.202
CLL 3.5 06/04/95 Sub-Models stage 1: revise History and Control file GRB1F305.677
CLL contents. RTHBarnes. GRB1F305.678
!LL 4.5 05/05/98 Add DELIM='APOSTROPHE' to OPEN statement so that GRB1F405.55
!LL History file is written in correct form from GRB1F405.56
!LL Fujitsu. RBarnes@ecmwf.int GRB1F405.57
CLL TEMPHIS1.15
CLL Programming standard: UM Doc Paper 3, draft version 3 (15/1/90) TEMPHIS1.16
CLL TEMPHIS1.17
CLL Logical components covered: H3,H40 TEMPHIS1.18
CLL TEMPHIS1.19
CLL Project task: H TEMPHIS1.20
CLL TEMPHIS1.21
CLL Documentation: Unified Model Documentation Paper TEMPHIS1.22
CLL H- History Bricks TEMPHIS1.23
CLL TEMPHIS1.25
C*L Interface and arguments: TEMPHIS1.26
C TEMPHIS1.27
SUBROUTINE TEMPHIST 7,1TEMPHIS1.28
* ( UNITHIST,ICODE,CMESSAGE ) TEMPHIS1.29
C TEMPHIS1.30
IMPLICIT NONE TEMPHIS1.31
C TEMPHIS1.32
INTEGER UNITHIST ! In - Temporary history file unit GRB1F305.679
INTEGER ICODE ! Out - Return code from routine TEMPHIS1.34
CHARACTER*80 CMESSAGE ! Out - Return message if failure occured GRB1F305.680
C* TEMPHIS1.36
C TEMPHIS1.37
CL Common blocks TEMPHIS1.38
C TEMPHIS1.39
*CALL CSUBMODL
GRB1F305.681
*CALL CHSUNITS
GRB1F305.682
*CALL CHISTORY
TEMPHIS1.40
C TEMPHIS1.41
CHARACTER *80 FILENAME GRB1F305.683
CHARACTER *8 NLNAME GRB1F305.684
C*L EXTERNAL subroutines called TEMPHIS1.42
EXTERNAL GET_FILE AD050293.133
C* TEMPHIS1.44
C TEMPHIS1.45
CL TEMPHIS1.46
CL 1. Open, rewind and write a new record TEMPHIS1.47
CL TEMPHIS1.48
CALL GET_FILE
(UNITHIST,FILENAME,80,ICODE) GTD0F400.168
*IF -DEF,FUJITSU GRB1F405.58
OPEN(UNITHIST,FILE=FILENAME,FORM='FORMATTED',IOSTAT=ICODE, PXNAMLST.19
& DELIM='APOSTROPHE') PXNAMLST.20
*ELSE GRB1F405.59
OPEN(UNITHIST,FILE=FILENAME,FORM='FORMATTED', GRB1F405.60
& DELIM='APOSTROPHE',IOSTAT=ICODE) GRB1F405.61
*ENDIF GRB1F405.62
C TEMPHIS1.50
C Check for error TEMPHIS1.51
C TEMPHIS1.52
IF(ICODE .GT.0)THEN TEMPHIS1.53
CMESSAGE='TEMPHIST: Failed in OPEN of history file' TEMPHIS1.54
GOTO 999 TEMPHIS1.55
ELSEIF(ICODE .LT. 0)THEN TEMPHIS1.56
WRITE(6,*)'TEMPHIST: Warning message on OPEN of history file' GIE0F403.642
WRITE(6,*)'IOSTAT= ',ICODE GIE0F403.643
ENDIF TEMPHIS1.59
C TEMPHIS1.60
REWIND(UNITHIST) TEMPHIS1.61
GRB1F305.686
NLNAME = 'NLIHISTO' GRB1F305.687
WRITE(UNITHIST,NLIHISTO,ERR=200) GRB1F305.688
NLNAME = 'NLCHISTO' GRB1F305.689
WRITE(UNITHIST,NLCHISTO,ERR=200) GRB1F305.690
NLNAME = 'NLIHISTG' GRB1F305.691
WRITE(UNITHIST,NLIHISTG,ERR=200) GRB1F305.692
NLNAME = 'NLCHISTG' GRB1F305.693
WRITE(UNITHIST,NLCHISTG,ERR=200) GRB1F305.694
NLNAME = 'NLCFILES' GRB1F305.695
WRITE(UNITHIST,NLCFILES,ERR=200) GRB1F305.696
GRB1F305.697
go to 999 GRB1F305.698
C TEMPHIS1.66
C Check for error TEMPHIS1.67
C TEMPHIS1.68
! Write error GRB1F305.699
200 continue GRB1F305.700
ICODE = 2 GRB1F305.701
CMESSAGE='TEMPHIST: Write ERROR on history file for namelist'// GRB1F305.702
& NLNAME GRB1F305.703
C TEMPHIS1.76
999 CONTINUE TEMPHIS1.77
CL TEMPHIS1.78
CL 2. Close and return TEMPHIS1.79
CL TEMPHIS1.80
CLOSE(UNITHIST) TEMPHIS1.81
RETURN TEMPHIS1.82
END TEMPHIS1.83
*ENDIF TEMPHIS1.84