/[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.2 - (hide annotations) (download)
Wed Dec 31 17:44:32 2003 UTC (20 years, 4 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint52l_pre, checkpoint52e_pre, hrcube4, checkpoint52j_post, checkpoint52e_post, hrcube_1, checkpoint52l_post, checkpoint52k_post, checkpoint52f_post, hrcube5, checkpoint52i_post, checkpoint52j_pre, checkpoint52i_pre, checkpoint52h_pre, checkpoint52f_pre, hrcube_2, hrcube_3
Changes since 1.1: +19 -12 lines
change how Albedo is computed over sea-ice:
 - separate albedo S/R (thsice_albedo.F) from thsice_therm.F file.
 - use GISS formulation for snow-covered area ; turn on snow-aging ;
 - bare-ice albedo as in LANL code ;
 - addd diagnostic of surface albedo.

1 jmc 1.2 C $Header: /u/gcmpack/MITgcm/pkg/thsice/thsice_readparms.F,v 1.1 2003/11/23 01:20:13 jmc Exp $
2 jmc 1.1 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 jmc 1.2 & albColdSnow, albWarmSnow, albOldSnow, hNewSnowAge,
41     & albIceMax, albIceMin, hAlbIce, hAlbSnow,
42 jmc 1.1 & i0, ksolar,
43     & saltice, S_winton, mu_Tf,
44     & Tf0kel,
45     & himin, Terrmax, nitMaxTsf, hiMax, hsMax,
46     & iceMaskmax, iceMaskmin, himin0,
47     & frac_energy, hihig
48    
49     NAMELIST /THSICE_PARM01/
50     & startIceModel,
51     & thSIce_deltaT,
52     & stressReduction,
53     & thSIce_taveFreq, thSIce_diagFreq, thSIce_monFreq
54    
55     _BEGIN_MASTER(myThid)
56    
57     WRITE(msgBuf,'(A)') ' THSICE_READPARMS: opening data.ice'
58     CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
59     & SQUEEZE_RIGHT , 1)
60    
61     CALL OPEN_COPY_DATA_FILE(
62     I 'data.ice', 'THSICE_READPARMS',
63     O iUnit,
64     I myThid )
65    
66     C-- Default values (constants)
67     rhos = 330. _d 0
68     rhoi = 900. _d 0
69     rhosw = rhoConst
70     rhofw = rhoConstFresh
71     cpice = 2106. _d 0
72     cpwater = HeatCapacity_Cp
73     kice = 2.03 _d 0
74     ksnow = 0.30 _d 0
75     transcoef=0.006 _d 0
76     Lfresh = 3.34 _d 5
77     qsnow = Lfresh
78 jmc 1.2 albColdSnow= 0.85 _d 0
79     albWarmSnow= 0.70 _d 0
80     albOldSnow = 0.55 _d 0
81     albIceMax = 0.65 _d 0
82     albIceMin = 0.20 _d 0
83     hAlbIce = 0.50 _d 0
84     hAlbSnow = 0.30 _d 0
85     hNewSnowAge= 2. _d -3
86 jmc 1.1 i0 = 0.3 _d 0
87     ksolar = 1.5 _d 0
88     saltice = 4. _d 0
89     S_winton = 1. _d 0
90     mu_Tf = 0.054 _d 0
91     Tf0kel = celsius2K
92     himin = 0.01 _d 0
93     Terrmax = 5.0 _d -1
94     nitMaxTsf= 20
95     hiMax = 10. _d 0
96     hsMax = 10. _d 0
97     iceMaskmax = 1. _d 0
98     iceMaskmin = .1 _d 0
99     himin0 = 0.2 _d 0
100     frac_energy= .4 _d 0
101     hihig = 2.5 _d 0
102    
103     C-- Default values (parameters)
104     startIceModel = 0
105     thSIce_deltaT = deltaTtracer
106     stressReduction = 1. _d 0
107     thSIce_taveFreq = taveFreq
108     thSIce_diagFreq = dumpFreq
109     thSIce_monFreq = monitorFreq
110    
111     C-- Read parameters from open data file
112     READ(UNIT=iUnit,NML=THSICE_CONST)
113     WRITE(msgBuf,'(A)') ' THSICE_READPARMS: read THSICE_CONST'
114     CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
115     & SQUEEZE_RIGHT , 1)
116    
117     READ(UNIT=iUnit,NML=THSICE_PARM01)
118     WRITE(msgBuf,'(A)') ' THSICE_READPARMS: read THSICE_PARM01'
119     CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
120     & SQUEEZE_RIGHT , 1)
121    
122     C-- Close the open data file
123     CLOSE(iUnit)
124    
125     C- Define other constants (from previous ones):
126     Tmlt1=-mu_Tf*S_winton
127     rhoiw = rhosw - rhoi
128    
129     C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
130     iUnit = standardMessageUnit
131     c iUnit = 88
132     c OPEN(iUnit,file='thsice_check_params',status='unknown')
133     WRITE(iUnit,*) 'ThSI: rhos =',rhos
134     WRITE(iUnit,*) 'ThSI: rhoi =',rhoi
135     WRITE(iUnit,*) 'ThSI: rhosw =',rhosw
136     WRITE(iUnit,*) 'ThSI: rhofw =',rhofw
137     WRITE(iUnit,*) 'ThSI: rhoiw =',rhoiw
138     WRITE(iUnit,*) 'ThSI: cpice =',cpice
139     WRITE(iUnit,*) 'ThSI: cpwater =',cpwater
140     WRITE(iUnit,*) 'ThSI: kice =',kice
141     WRITE(iUnit,*) 'ThSI: ksnow =',ksnow
142     WRITE(iUnit,*) 'ThSI: transcoef=',transcoef
143     WRITE(iUnit,*) 'ThSI: Lfresh =',Lfresh
144     WRITE(iUnit,*) 'ThSI: qsnow =',qsnow
145 jmc 1.2 WRITE(iUnit,*) 'ThSI: albColdSnow=',albColdSnow
146     WRITE(iUnit,*) 'ThSI: albWarmSnow=',albWarmSnow
147     WRITE(iUnit,*) 'ThSI: albOldSnow =',albOldSnow
148     WRITE(iUnit,*) 'ThSI: hNewSnowAge=',hNewSnowAge
149     WRITE(iUnit,*) 'ThSI: albIceMax =',albIceMax
150     WRITE(iUnit,*) 'ThSI: albIceMin =',albIceMin
151     WRITE(iUnit,*) 'ThSI: hAlbIce =',hAlbIce
152     WRITE(iUnit,*) 'ThSI: hAlbSnow =',hAlbSnow
153 jmc 1.1 WRITE(iUnit,*) 'ThSI: i0 =',i0
154     WRITE(iUnit,*) 'ThSI: ksolar =',ksolar
155     WRITE(iUnit,*) 'ThSI: saltice =',saltice
156     WRITE(iUnit,*) 'ThSI: S_winton=',S_winton
157     WRITE(iUnit,*) 'ThSI: mu_Tf =',mu_Tf
158     WRITE(iUnit,*) 'ThSI: Tf0kel =',Tf0kel
159     WRITE(iUnit,*) 'ThSI: Tmlt1 =',Tmlt1
160     WRITE(iUnit,*) 'ThSI: himin =',himin
161     WRITE(iUnit,*) 'ThSI: Terrmax =',Terrmax
162     WRITE(iUnit,*) 'ThSI: nitMaxTsf=',nitMaxTsf
163     WRITE(iUnit,*) 'ThSI: hiMax =',hiMax
164     WRITE(iUnit,*) 'ThSI: hsMax =',hsMax
165     WRITE(iUnit,*) 'ThSI: iceMaskmax=',iceMaskmax
166     WRITE(iUnit,*) 'ThSI: iceMaskmin=',iceMaskmin
167     WRITE(iUnit,*) 'ThSI: himin0 =',himin0
168     WRITE(iUnit,*) 'ThSI: frac_energy',frac_energy
169     WRITE(iUnit,*) 'ThSI: hihig =',hihig
170     WRITE(iUnit,*) 'ThSI: stressReduction =',stressReduction
171     WRITE(iUnit,*) 'ThSI: thSIce_deltaT =',thSIce_deltaT
172     WRITE(iUnit,*) 'ThSI: thSIce_taveFreq=',thSIce_taveFreq
173     WRITE(iUnit,*) 'ThSI: thSIce_diagFreq=',thSIce_diagFreq
174     WRITE(iUnit,*) 'ThSI: thSIce_monFreq =',thSIce_monFreq
175     WRITE(iUnit,*) 'ThSI: startIceModel =',startIceModel
176     IF (iUnit.EQ.88) CLOSE(iUnit)
177     C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
178    
179     _END_MASTER(myThid)
180    
181     C-- Everyone else must wait for the parameters to be loaded
182     _BARRIER
183    
184     #endif /* ALLOW_THSICE */
185    
186     RETURN
187     END

  ViewVC Help
Powered by ViewVC 1.1.22