/[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.1 - (show annotations) (download)
Wed Jul 30 03:28:05 2014 UTC (9 years, 10 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint66g, checkpoint66f, checkpoint66e, checkpoint66d, checkpoint66c, checkpoint66b, checkpoint66a, checkpoint66i, checkpoint66h, checkpoint65z, checkpoint65x, checkpoint65y, checkpoint65r, checkpoint65s, checkpoint65p, checkpoint65q, checkpoint65v, checkpoint65w, checkpoint65t, checkpoint65u, checkpoint65j, checkpoint65k, checkpoint65h, checkpoint65i, checkpoint65n, checkpoint65o, checkpoint65l, checkpoint65m, checkpoint65b, checkpoint65c, checkpoint65f, checkpoint65g, checkpoint65d, checkpoint65e
-  add new pkg "kl10" for mixing due to internal wave breaking
  ( http://www.sciencedirect.com/science/article/pii/S1463500310000144 )

1 C $Header: /u/gcmpack/MITgcm/pkg/pp81/pp81_readparms.F,v 1.3 2010/08/24 14:59:55 jmc Exp $
2 C $Name: checkpoint63o $
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 CLOSE(iUnit)
83 _END_MASTER(myThid)
84
85 C Everyone else must wait for the parameters to be loaded
86 _BARRIER
87
88 C Now set-up any remaining parameters that result from the input parameters
89 IF ( KLviscMax .LE. 0. ) THEN
90 WRITE(msgBuf,'(A)') 'KLviscMax must be greater than zero'
91 CALL PRINT_ERROR( msgBuf , 1)
92 STOP 'ABNORMAL END: S/R KL10_READPARMS'
93 ENDIF
94 #endif /* ALLOW_KL10 */
95
96 RETURN
97 END

  ViewVC Help
Powered by ViewVC 1.1.22