/[MITgcm]/MITgcm/pkg/thsice/thsice_readparms.F
ViewVC logotype

Contents of /MITgcm/pkg/thsice/thsice_readparms.F

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


Revision 1.1 - (show annotations) (download)
Sun Nov 23 01:20:13 2003 UTC (20 years, 6 months ago) by jmc
Branch: MAIN
CVS Tags: branch-netcdf, checkpoint52d_pre, checkpoint52d_post, checkpoint52b_post, checkpoint52c_post
Branch point for: netcdf-sm0
new pkg "thSIce" (replace therm_seaice).

1 C $Header: $
2 C $Name: $
3
4 #include "THSICE_OPTIONS.h"
5
6 SUBROUTINE THSICE_READPARMS( myThid )
7 C /==========================================================*
8 C | SUBROUTINE THSICE_READPARMS
9 C | o Routine to initialize THSICE parameters and constants
10 C |==========================================================*
11 C | Initialize Th-Sea-ICE parameters, read in data.ice
12 C \==========================================================*
13 IMPLICIT NONE
14
15 C === Global variables ===
16 #include "SIZE.h"
17 #include "EEPARAMS.h"
18 #include "PARAMS.h"
19 #include "GRID.h"
20 #include "THSICE_PARAMS.h"
21 c #include "THSICE.h"
22
23 C === Routine arguments ===
24 INTEGER myThid
25
26 #ifdef ALLOW_THSICE
27
28 C === Local variables ===
29 C msgBuf - Informational/error meesage buffer
30 C iUnit - Work variable for IO unit number
31 CHARACTER*(MAX_LEN_MBUF) msgBuf
32 INTEGER iUnit
33
34 C-- Th-Sea-ICE parameter
35 NAMELIST /THSICE_CONST/
36 & rhos, rhoi, rhosw, rhofw,
37 & cpice, cpwater,
38 & kice, ksnow,
39 & transcoef, Lfresh, qsnow,
40 & albsnodry, albsnowet, albicemax, albicemin, halb,
41 & i0, ksolar,
42 & saltice, S_winton, mu_Tf,
43 & Tf0kel,
44 & himin, Terrmax, nitMaxTsf, hiMax, hsMax,
45 & iceMaskmax, iceMaskmin, himin0,
46 & frac_energy, hihig
47
48 NAMELIST /THSICE_PARM01/
49 & startIceModel,
50 & thSIce_deltaT,
51 & stressReduction,
52 & thSIce_taveFreq, thSIce_diagFreq, thSIce_monFreq
53
54 _BEGIN_MASTER(myThid)
55
56 WRITE(msgBuf,'(A)') ' THSICE_READPARMS: opening data.ice'
57 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
58 & SQUEEZE_RIGHT , 1)
59
60 CALL OPEN_COPY_DATA_FILE(
61 I 'data.ice', 'THSICE_READPARMS',
62 O iUnit,
63 I myThid )
64
65 C-- Default values (constants)
66 rhos = 330. _d 0
67 rhoi = 900. _d 0
68 rhosw = rhoConst
69 rhofw = rhoConstFresh
70 cpice = 2106. _d 0
71 cpwater = HeatCapacity_Cp
72 kice = 2.03 _d 0
73 ksnow = 0.30 _d 0
74 transcoef=0.006 _d 0
75 Lfresh = 3.34 _d 5
76 qsnow = Lfresh
77 albsnodry= 0.85 _d 0
78 albsnowet= 0.75 _d 0
79 albicemax= 0.65 _d 0
80 albicemin= 0.20 _d 0
81 halb = 0.5 _d 0
82 i0 = 0.3 _d 0
83 ksolar = 1.5 _d 0
84 saltice = 4. _d 0
85 S_winton = 1. _d 0
86 mu_Tf = 0.054 _d 0
87 Tf0kel = celsius2K
88 himin = 0.01 _d 0
89 Terrmax = 5.0 _d -1
90 nitMaxTsf= 20
91 hiMax = 10. _d 0
92 hsMax = 10. _d 0
93 iceMaskmax = 1. _d 0
94 iceMaskmin = .1 _d 0
95 himin0 = 0.2 _d 0
96 frac_energy= .4 _d 0
97 hihig = 2.5 _d 0
98
99 C-- Default values (parameters)
100 startIceModel = 0
101 thSIce_deltaT = deltaTtracer
102 stressReduction = 1. _d 0
103 thSIce_taveFreq = taveFreq
104 thSIce_diagFreq = dumpFreq
105 thSIce_monFreq = monitorFreq
106
107 C-- Read parameters from open data file
108 READ(UNIT=iUnit,NML=THSICE_CONST)
109 WRITE(msgBuf,'(A)') ' THSICE_READPARMS: read THSICE_CONST'
110 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
111 & SQUEEZE_RIGHT , 1)
112
113 READ(UNIT=iUnit,NML=THSICE_PARM01)
114 WRITE(msgBuf,'(A)') ' THSICE_READPARMS: read THSICE_PARM01'
115 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
116 & SQUEEZE_RIGHT , 1)
117
118 C-- Close the open data file
119 CLOSE(iUnit)
120
121 C- Define other constants (from previous ones):
122 Tmlt1=-mu_Tf*S_winton
123 rhoiw = rhosw - rhoi
124
125 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
126 iUnit = standardMessageUnit
127 c iUnit = 88
128 c OPEN(iUnit,file='thsice_check_params',status='unknown')
129 WRITE(iUnit,*) 'ThSI: rhos =',rhos
130 WRITE(iUnit,*) 'ThSI: rhoi =',rhoi
131 WRITE(iUnit,*) 'ThSI: rhosw =',rhosw
132 WRITE(iUnit,*) 'ThSI: rhofw =',rhofw
133 WRITE(iUnit,*) 'ThSI: rhoiw =',rhoiw
134 WRITE(iUnit,*) 'ThSI: cpice =',cpice
135 WRITE(iUnit,*) 'ThSI: cpwater =',cpwater
136 WRITE(iUnit,*) 'ThSI: kice =',kice
137 WRITE(iUnit,*) 'ThSI: ksnow =',ksnow
138 WRITE(iUnit,*) 'ThSI: transcoef=',transcoef
139 WRITE(iUnit,*) 'ThSI: Lfresh =',Lfresh
140 WRITE(iUnit,*) 'ThSI: qsnow =',qsnow
141 WRITE(iUnit,*) 'ThSI: albsnodry=',albsnodry
142 WRITE(iUnit,*) 'ThSI: albsnowet=',albsnowet
143 WRITE(iUnit,*) 'ThSI: albicemax=',albicemax
144 WRITE(iUnit,*) 'ThSI: albicemin=',albicemin
145 WRITE(iUnit,*) 'ThSI: halb =',halb
146 WRITE(iUnit,*) 'ThSI: i0 =',i0
147 WRITE(iUnit,*) 'ThSI: ksolar =',ksolar
148 WRITE(iUnit,*) 'ThSI: saltice =',saltice
149 WRITE(iUnit,*) 'ThSI: S_winton=',S_winton
150 WRITE(iUnit,*) 'ThSI: mu_Tf =',mu_Tf
151 WRITE(iUnit,*) 'ThSI: Tf0kel =',Tf0kel
152 WRITE(iUnit,*) 'ThSI: Tmlt1 =',Tmlt1
153 WRITE(iUnit,*) 'ThSI: himin =',himin
154 WRITE(iUnit,*) 'ThSI: Terrmax =',Terrmax
155 WRITE(iUnit,*) 'ThSI: nitMaxTsf=',nitMaxTsf
156 WRITE(iUnit,*) 'ThSI: hiMax =',hiMax
157 WRITE(iUnit,*) 'ThSI: hsMax =',hsMax
158 WRITE(iUnit,*) 'ThSI: iceMaskmax=',iceMaskmax
159 WRITE(iUnit,*) 'ThSI: iceMaskmin=',iceMaskmin
160 WRITE(iUnit,*) 'ThSI: himin0 =',himin0
161 WRITE(iUnit,*) 'ThSI: frac_energy',frac_energy
162 WRITE(iUnit,*) 'ThSI: hihig =',hihig
163 WRITE(iUnit,*) 'ThSI: stressReduction =',stressReduction
164 WRITE(iUnit,*) 'ThSI: thSIce_deltaT =',thSIce_deltaT
165 WRITE(iUnit,*) 'ThSI: thSIce_taveFreq=',thSIce_taveFreq
166 WRITE(iUnit,*) 'ThSI: thSIce_diagFreq=',thSIce_diagFreq
167 WRITE(iUnit,*) 'ThSI: thSIce_monFreq =',thSIce_monFreq
168 WRITE(iUnit,*) 'ThSI: startIceModel =',startIceModel
169 IF (iUnit.EQ.88) CLOSE(iUnit)
170 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
171
172 _END_MASTER(myThid)
173
174 C-- Everyone else must wait for the parameters to be loaded
175 _BARRIER
176
177 #endif /* ALLOW_THSICE */
178
179 RETURN
180 END

  ViewVC Help
Powered by ViewVC 1.1.22