/[MITgcm]/MITgcm/pkg/kl10/kl10_readparms.F
ViewVC logotype

Contents of /MITgcm/pkg/kl10/kl10_readparms.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.2 - (show annotations) (download)
Wed Aug 9 15:23:37 2017 UTC (6 years, 9 months ago) by mlosch
Branch: MAIN
CVS Tags: checkpoint66o, checkpoint66n, checkpoint66m, checkpoint66l, checkpoint66k, checkpoint66j, HEAD
Changes since 1.1: +6 -2 lines
replace CLOSE(nmlfileUnit) with CLOSE(nmlfileUnit,STATUS='DELETE') to remove
scratchfiles after closing, except for SINGLE_DISK_IO, when everything
stays the same

1 C $Header: /u/gcmpack/MITgcm/pkg/kl10/kl10_readparms.F,v 1.1 2014/07/30 03:28:05 jmc Exp $
2 C $Name: BASE $
3
4 #include "KL10_OPTIONS.h"
5
6 CBOP
7 C !ROUTINE: KL10_READPARMS
8
9 C !INTERFACE: ==========================================================
10 SUBROUTINE KL10_READPARMS( myThid )
11
12 C !DESCRIPTION:
13 C Initialize KL10 parameters, read in data.kl10
14
15 C !USES: ===============================================================
16 IMPLICIT NONE
17 #include "SIZE.h"
18 #include "EEPARAMS.h"
19 #include "KL10.h"
20 #include "PARAMS.h"
21
22 C !INPUT PARAMETERS: ===================================================
23 C myThid :: thread number
24 INTEGER myThid
25
26 C !OUTPUT PARAMETERS: ==================================================
27 C none
28
29 #ifdef ALLOW_KL10
30
31 C !LOCAL VARIABLES: ====================================================
32 C iUnit :: unit number for I/O
33 C msgBuf :: message buffer
34 INTEGER iUnit
35 CHARACTER*(MAX_LEN_MBUF) msgBuf
36 CEOP
37
38 NAMELIST /KL10_PARM01/
39 & KLviscMax,
40 & KLdumpFreq,
41 & KLwriteState,
42 & KLtaveFreq
43
44 IF ( .NOT.useKL10 ) THEN
45 C- pkg KL10 is not used
46 _BEGIN_MASTER(myThid)
47 C- Track pkg activation status:
48 KL10isON = .FALSE.
49 C print a (weak) warning if data.kl10 is found
50 CALL PACKAGES_UNUSED_MSG( 'useKL10', ' ', ' ' )
51 _END_MASTER(myThid)
52 RETURN
53 ENDIF
54
55 _BEGIN_MASTER(myThid)
56
57 C This routine has been called by the main model so we set our
58 C internal flag to indicate we are in business
59 KL10isON = .TRUE.
60
61 C Set defaults values for parameters in KL10.h
62 KLviscMax = 300. _d 0
63 KLdumpFreq = dumpFreq
64 KLtaveFreq = taveFreq
65 KLwriteState = .FALSE.
66
67 C Open and read the data.kl10 file
68 WRITE(msgBuf,'(A)') ' KL10_READPARMS: opening data.kl10'
69 CALL PRINT_MESSAGE(msgBuf, standardMessageUnit,
70 & SQUEEZE_RIGHT , 1)
71 CALL OPEN_COPY_DATA_FILE(
72 I 'data.kl10', 'KL10_READPARMS',
73 O iUnit,
74 I myThid )
75 READ(UNIT=iUnit,NML=KL10_PARM01)
76 WRITE(msgBuf,'(A)')
77 & ' KL10_READPARMS: finished reading data.kl10'
78 CALL PRINT_MESSAGE(msgBuf, standardMessageUnit,
79 & SQUEEZE_RIGHT , 1)
80
81 C Close the open data file
82 #ifdef SINGLE_DISK_IO
83 CLOSE(iUnit)
84 #else
85 CLOSE(iUnit,STATUS='DELETE')
86 #endif /* SINGLE_DISK_IO */
87 _END_MASTER(myThid)
88
89 C Everyone else must wait for the parameters to be loaded
90 _BARRIER
91
92 C Now set-up any remaining parameters that result from the input parameters
93 IF ( KLviscMax .LE. 0. ) THEN
94 WRITE(msgBuf,'(A)') 'KLviscMax must be greater than zero'
95 CALL PRINT_ERROR( msgBuf , 1)
96 STOP 'ABNORMAL END: S/R KL10_READPARMS'
97 ENDIF
98 #endif /* ALLOW_KL10 */
99
100 RETURN
101 END

  ViewVC Help
Powered by ViewVC 1.1.22