/[MITgcm]/MITgcm/pkg/my82/my82_readparms.F
ViewVC logotype

Contents of /MITgcm/pkg/my82/my82_readparms.F

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


Revision 1.4 - (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.3: +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/my82/my82_readparms.F,v 1.3 2014/05/27 23:41:29 jmc Exp $
2 C $Name: BASE $
3
4 #include "MY82_OPTIONS.h"
5
6 CBOP
7 C !ROUTINE: MY82_READPARMS
8
9 C !INTERFACE: ==========================================================
10 SUBROUTINE MY82_READPARMS( myThid )
11
12 C !DESCRIPTION:
13 C Initialize MY82 parameters, read in data.pp
14
15 C !USES: ===============================================================
16 IMPLICIT NONE
17 #include "SIZE.h"
18 #include "EEPARAMS.h"
19 #include "MY82.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_MY82
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 /MY_PARM01/
39 & MYviscMax,
40 & MYdiffMax,
41 & MYhblScale,
42 & MYdumpFreq,
43 & MYMixingMaps,
44 & MYwriteState,
45 & MYtaveFreq
46
47 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
48
49 IF ( .NOT.useMY82 ) THEN
50 C- pkg MY82 is not used
51 _BEGIN_MASTER(myThid)
52 C- Track pkg activation status:
53 MYisON = .FALSE.
54 C print a (weak) warning if data.my82 is found
55 CALL PACKAGES_UNUSED_MSG( 'useMY82', ' ', ' ' )
56 _END_MASTER(myThid)
57 RETURN
58 ENDIF
59
60 C This routine has been called by the main model so we set our
61 C internal flag to indicate we are in business
62 MYisON = .TRUE.
63
64 C Set defaults values for parameters in MY82.h
65 MYviscMax = 1. _d 0
66 MYdiffMax = 1. _d 0
67 MYhblScale = 0.1 _d 0
68 RiMax = 0.1950 _d 0
69 MYdumpFreq = dumpFreq
70 MYtaveFreq = taveFreq
71 MYMixingMaps = .FALSE.
72 MYwriteState = .FALSE.
73
74 C Open and read the data.pp file
75 _BEGIN_MASTER(myThid)
76 WRITE(msgBuf,'(A)') ' MY82_READPARMS: opening data.my82'
77 CALL PRINT_MESSAGE(msgBuf, standardMessageUnit,
78 & SQUEEZE_RIGHT , 1)
79 CALL OPEN_COPY_DATA_FILE(
80 I 'data.my82', 'MY82_READPARMS',
81 O iUnit,
82 I myThid )
83 READ(UNIT=iUnit,NML=MY_PARM01)
84 WRITE(msgBuf,'(A)')
85 & ' MY82_READPARMS: finished reading data.my82'
86 CALL PRINT_MESSAGE(msgBuf, standardMessageUnit,
87 & SQUEEZE_RIGHT , 1)
88
89 C Close the open data file
90 #ifdef SINGLE_DISK_IO
91 CLOSE(iUnit)
92 #else
93 CLOSE(iUnit,STATUS='DELETE')
94 #endif /* SINGLE_DISK_IO */
95 _END_MASTER(myThid)
96
97 C Everyone else must wait for the parameters to be loaded
98 _BARRIER
99
100 C Now set-up any remaining parameters that result from the input parameters
101 IF ( MYviscMax .LE. 0. ) THEN
102 WRITE(msgBuf,'(A)') 'MYviscMax must be greater than zero'
103 CALL PRINT_ERROR( msgBuf , 1)
104 STOP 'ABNORMAL END: S/R MY82_READPARMS'
105 ENDIF
106 IF ( MYdiffMax .LE. 0. ) THEN
107 WRITE(msgBuf,'(A)') 'MYdiffMax must be greater than zero'
108 CALL PRINT_ERROR( msgBuf , 1)
109 STOP 'ABNORMAL END: S/R MY82_READPARMS'
110 ENDIF
111 #endif /* ALLOW_MY82 */
112
113 RETURN
114 END

  ViewVC Help
Powered by ViewVC 1.1.22