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

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

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


Revision 1.1 - (hide 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 jmc 1.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