/[MITgcm]/MITgcm/pkg/aim/aim_read_physparms.F
ViewVC logotype

Contents of /MITgcm/pkg/aim/aim_read_physparms.F

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


Revision 1.1 - (show annotations) (download)
Wed Oct 9 01:01:24 2002 UTC (21 years, 7 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint46n_post, checkpoint48f_post, checkpoint51k_post, checkpoint53f_post, checkpoint47j_post, checkpoint54a_pre, checkpoint55c_post, checkpoint53b_pre, checkpoint48d_pre, checkpoint51l_post, checkpoint51j_post, branch-exfmods-tag, checkpoint47e_post, checkpoint57m_post, checkpoint47i_post, checkpoint52l_pre, checkpoint48i_post, checkpoint52e_pre, hrcube4, hrcube5, checkpoint46l_post, checkpoint57g_pre, checkpoint52j_post, checkpoint47f_post, checkpoint48d_post, checkpoint51o_pre, checkpoint57f_post, checkpoint47c_post, checkpoint50e_post, checkpoint52e_post, checkpoint50c_post, checkpoint51n_pre, checkpoint47d_post, checkpoint57j_post, checkpoint47a_post, checkpoint57b_post, checkpoint52d_pre, checkpoint53c_post, checkpoint53d_post, checkpoint57f_pre, checkpoint48a_post, checkpoint55d_pre, checkpoint51f_pre, checkpoint57g_post, checkpoint48e_post, checkpoint57c_pre, checkpoint48h_post, checkpoint55j_post, checkpoint56b_post, checkpoint50c_pre, checkpoint57h_pre, branchpoint-genmake2, checkpoint46k_post, checkpoint52j_pre, checkpoint54a_post, branch-netcdf, checkpoint50d_pre, checkpoint55h_post, checkpoint51r_post, checkpoint52b_pre, checkpoint52n_post, checkpoint54b_post, checkpoint51i_post, checkpoint57e_post, checkpoint54d_post, checkpoint47h_post, checkpoint48c_post, checkpoint56c_post, checkpoint54e_post, checkpoint55b_post, checkpoint51e_post, checkpoint51b_post, checkpoint51l_pre, checkpoint52m_post, checkpoint51c_post, checkpoint55, checkpoint53a_post, checkpoint55a_post, checkpoint57a_post, checkpoint48, checkpoint49, checkpoint47b_post, checkpoint56, checkpoint57o_post, checkpoint55g_post, checkpoint57h_done, checkpoint51o_post, checkpoint48g_post, checkpoint46l_pre, checkpoint57k_post, checkpoint57d_post, checkpoint55f_post, checkpoint57i_post, checkpoint51q_post, checkpoint52l_post, checkpoint52k_post, checkpoint57h_post, checkpoint57a_pre, checkpoint54, checkpoint57, checkpoint53b_post, checkpoint51, checkpoint50, checkpoint53, checkpoint52, checkpoint50d_post, checkpoint52d_post, checkpoint51b_pre, checkpoint52a_post, checkpoint47g_post, checkpoint52b_post, checkpoint53g_post, checkpoint52f_post, checkpoint57n_post, checkpoint52c_post, checkpoint46m_post, checkpoint57p_post, checkpoint51h_pre, checkpoint50g_post, checkpoint50b_pre, checkpoint51g_post, ecco_c52_e35, checkpoint54f_post, checkpoint51f_post, checkpoint48b_post, checkpoint50b_post, eckpoint57e_pre, checkpoint57c_post, checkpoint50f_post, checkpoint50a_post, checkpoint50f_pre, checkpoint52a_pre, checkpoint47d_pre, checkpoint51d_post, checkpoint48c_pre, checkpoint51m_post, checkpoint51t_post, checkpoint53d_pre, checkpoint47, checkpoint55e_post, checkpoint54c_post, checkpoint50h_post, checkpoint52i_post, checkpoint51a_post, checkpoint50e_pre, checkpoint50i_post, checkpoint51p_post, checkpoint51n_post, checkpoint55i_post, checkpoint51i_pre, checkpoint57l_post, checkpoint52i_pre, checkpoint51u_post, checkpoint52h_pre, checkpoint52f_pre, hrcube_1, hrcube_2, hrcube_3, checkpoint56a_post, checkpoint51s_post, checkpoint55d_post
Branch point for: netcdf-sm0, branch-genmake2, branch-nonh, tg2-branch, ecco-branch, checkpoint51n_branch, branch-exfmods-curt
* S/R aim_initialise.F replace S/R aim_init from file aim_do_inphys.F:
 - read AIM physics parameters from a file (data.aimphys)
 - set defaults values = F.Molteni paper (Clim.Dyn., 2002)
 - phiHyd removed from arg. list of S/R aim_do_atmos_physics

1 C $Header: $
2 C $Name: $
3
4 #include "AIM_OPTIONS.h"
5
6 CBOP
7 C !ROUTINE: AIM_READ_PHYSPARMS
8 C !INTERFACE:
9 SUBROUTINE AIM_READ_PHYSPARMS( myThid )
10
11 C !DESCRIPTION: \bv
12 C *==========================================================*
13 C | S/R AIM_READ_PHYSPARMS
14 C | o Read AIM physics package parameters
15 C *==========================================================*
16 C | Initialized parameter in common blocks:
17 C | FORCON, SFLCON, CNVCON, LSCCON, RADCON, VDICON
18 C *==========================================================*
19 C \ev
20
21 C !USES:
22 IMPLICIT NONE
23
24 C == Global variables ===
25 #include "AIM_SIZE.h"
26 #include "EEPARAMS.h"
27 c #include "PARAMS.h"
28
29 C- Physical constants + functions of sigma and latitude
30 c #include "com_physcon.h"
31 C- Constants for sub-grid-scale physics
32 #include "com_forcon.h"
33 #include "com_sflcon.h"
34 #include "com_cnvcon.h"
35 #include "com_lsccon.h"
36 #include "com_radcon.h"
37 #include "com_vdicon.h"
38
39 C !INPUT/OUTPUT PARAMETERS:
40 C == Routine Arguments ==
41 C myThid - Number of this instance
42 INTEGER myThid
43 CEOP
44
45 #ifdef ALLOW_AIM
46
47 C == Local Variables ==
48 C msgBuf - Informational/error meesage buffer
49 C iUnit - Work variable for IO unit number
50 CHARACTER*(MAX_LEN_MBUF) msgBuf
51 INTEGER iUnit
52
53 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
54
55 C-- Physical constants (common PHYCON) :
56 C P0 = reference pressure
57 C GG = gravity accel.
58 C RD = gas constant for dry air
59 C CP = specific heat at constant pressure
60 C ALHC = latent heat of condensation
61 C SBC = Stefan-Boltzmann constant
62
63 C-- Constants for forcing fields (common FORCON) :
64 C SOLC = Solar constant (area averaged) in W/m^2
65 C ALBSEA = Albedo over sea
66 C ALBICE = Albedo over sea ice (for ice fraction = 1)
67 C ALBSN = Albedo over snow (for snow depth > SDALB)
68 C SDALB = Snow depth corresponding to maximum albedo
69 C SWCAP = Soil wetness capacity
70 C SWWIL = Soil wetness at wilting point
71 NAMELIST /AIM_PAR_FOR/
72 & SOLC, ALBSEA, ALBICE, ALBSN,
73 & SDALB, SWCAP, SWWIL
74
75 C-- Constants for surface fluxes (common SFLCON) :
76 C FWIND0 = ratio of near-sfc wind to lowest-level wind
77 C FTEMP0 = weight for near-sfc temperature extrapolation (0-1) :
78 C 1 : linear extrapolation from two lowest levels
79 C 0 : constant potential temperature ( = lowest level)
80 C FHUM0 = weight for near-sfc specific humidity extrapolation (0-1) :
81 C 1 : extrap. with constant relative hum. ( = lowest level)
82 C 0 : constant specific hum. ( = lowest level)
83 C CDL = drag coefficient for momentum over land
84 C CDS = drag coefficient for momentum over sea
85 C CHL = heat exchange coefficient over land
86 C CHS = heat exchange coefficient over sea
87 C VGUST = wind speed for sub-grid-scale gusts
88 C SWMAX = Soil wetness (in mm) corresp. to potential evapotranspiration
89 NAMELIST /AIM_PAR_SFL/
90 & FWIND0, FTEMP0, FHUM0,
91 & CDL, CDS, CHL, CHS, VGUST,
92 & SWMAX
93
94 C-- Convection constants (common CNVCON) :
95 C RHBL = relative hum. threshold in the boundary (lowest) layer
96 C TRCNV = time of relaxation (in hours) towards neutral equilibrium
97 C ENTMAX = max. entrainment as a fraction of cloud-base mass flux
98 NAMELIST /AIM_PAR_CNV/
99 & RHBL, TRCNV, ENTMAX
100
101 C-- Constants for large-scale condendation (common LSCCON) :
102 C RHLSC = Relative humidity threshold
103 C TRLSC = Relaxation time (in hours) for supersat. specific humidity
104 NAMELIST /AIM_PAR_LSC/
105 & RHLSC, TRLSC
106
107 C-- Radiation constants (common RADCON) :
108 C ABSSW = shortwave absorptivity for dry air (per dp = 10^5 Pa)
109 C ABSLW = longwave absorptivity for dry air (per dp = 10^5 Pa)
110 C ABWSW = shortwave absorptivity for water vapour (per dq = 1 g/kg)
111 C ABWLW = longwave absorptivity for water vapour (per dq = 1 g/kg)
112 C ABCSW = shortwave absorptivity for cloud fraction
113 C ABCLW = longwave absorptivity for cloud fraction
114 C EPSSW = fraction of incoming solar radiation absorbed by ozone
115 C EPSLW = fraction of surface LW radiation emitted directly to space
116 C ALBCL = cloud albedo (for cloud cover = 1)
117 C RHCL1 = relative hum. corresponding to cloud cover = 0
118 C RHCL2 = relative hum. corresponding to cloud cover = 1
119 C QACL = specific hum. threshold for cloud cover
120 NAMELIST /AIM_PAR_RAD/
121 & ABSSW, ABSLW, ABWSW, ABWLW, ABCSW, ABCLW,
122 & EPSSW, EPSLW,
123 & ALBCL, RHCL1, RHCL2, QACL
124
125 C-- Constants for vertical dif. and sh. conv. (common VDICON) :
126 C TRVDI = relaxation time (in hours) for moisture diffusion
127 C TRSHC = relaxation time (in hours) for shallow convection
128 NAMELIST /AIM_PAR_VDI/
129 & TRVDI, TRSHC
130
131 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
132
133 _BEGIN_MASTER(myThid)
134
135 WRITE(msgBuf,'(A)') ' AIM_READ_PHYSPARMS: opening data.aimphys'
136 CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,SQUEEZE_RIGHT,1)
137
138 CALL OPEN_COPY_DATA_FILE( 'data.aimphys', 'AIM_READ_PHYSPARMS',
139 O iUnit, myThid )
140
141 C-- Read parameters from open data file:
142
143 C- Constants for boundary forcing
144 READ(UNIT=iUnit,NML=AIM_PAR_FOR)
145
146 C- Constants for surface fluxes
147 READ(UNIT=iUnit,NML=AIM_PAR_SFL)
148
149 C- Constants for convection
150 READ(UNIT=iUnit,NML=AIM_PAR_CNV)
151
152 C- Constants for large-scale condensation
153 READ(UNIT=iUnit,NML=AIM_PAR_LSC)
154
155 C- Constants for radiation
156 READ(UNIT=iUnit,NML=AIM_PAR_RAD)
157
158 C- Constants for vertical diffusion and sh. conv.
159 READ(UNIT=iUnit,NML=AIM_PAR_VDI)
160
161 WRITE(msgBuf,'(A)')
162 & ' AIM_READ_PHYSPARMS: finished reading data.aimphys'
163 CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,SQUEEZE_RIGHT,1)
164
165 C-- Close the open data file
166 CLOSE(iUnit)
167
168 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
169 C-- Print out parameter values :
170
171 WRITE(msgBuf,'(A)') ' '
172 CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,SQUEEZE_RIGHT,1)
173 WRITE(msgBuf,'(A)') '// ==================================='
174 CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,SQUEEZE_RIGHT,1)
175 WRITE(msgBuf,'(A)') '// AIM physics parameters :'
176 CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,SQUEEZE_RIGHT,1)
177 WRITE(msgBuf,'(A)') '// ==================================='
178 CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,SQUEEZE_RIGHT,1)
179
180 C- namelist AIM_PAR_FOR:
181 CALL WRITE_0D_R8( SOLC, INDEX_NONE,'AIM_FOR: SOLC =',
182 & ' /* Solar constant (area averaged) in W/m2 */')
183
184 C- namelist AIM_PAR_SFL:
185 CALL WRITE_0D_R8( FWIND0,INDEX_NONE,'AIM_SFL: FWIND0 =',
186 & ' /* ratio of near-sfc wind to lowest-level wind */')
187 CALL WRITE_0D_R8( FTEMP0,INDEX_NONE,'AIM_SFL: FTEMP0 =',
188 & ' /* weight for near-sfc temp. extrapolation (0-1)*/')
189 CALL WRITE_0D_R8( FHUM0, INDEX_NONE,'AIM_SFL: FHUM0 =',
190 & ' /* weight for near-sfc spec.humid. extrap. (0-1)*/')
191 CALL WRITE_0D_R8( CDL, INDEX_NONE,'AIM_SFL: CDL =',
192 & ' /* drag coefficient for momentum over land */')
193 CALL WRITE_0D_R8( CDS, INDEX_NONE,'AIM_SFL: CDS =',
194 & ' /* drag coefficient for momentum over sea */')
195 CALL WRITE_0D_R8( CHL, INDEX_NONE,'AIM_SFL: CHL =',
196 & ' /* heat exchange coefficient over land */')
197 CALL WRITE_0D_R8( CHS, INDEX_NONE,'AIM_SFL: CHS =',
198 & ' /* heat exchange coefficient over sea */')
199 CALL WRITE_0D_R8( VGUST, INDEX_NONE,'AIM_SFL: VGUST =',
200 & ' /* wind speed [m/s] for sub-grid-scale gusts */')
201
202 C- namelist AIM_PAR_CNV:
203 CALL WRITE_0D_R8( RHBL, INDEX_NONE,'AIM_CNV: RHBL =',
204 & ' /* rel. hum. threshold in the B.(lowest) layer */')
205 CALL WRITE_0D_R8( TRCNV, INDEX_NONE,'AIM_CNV: TRCNV =',
206 & ' /* time of relaxation [h] towards neutral eq. */')
207 CALL WRITE_0D_R8( ENTMAX,INDEX_NONE,'AIM_CNV: ENTMAX =',
208 & ' /* time of relaxation [h] towards neutral eq. */')
209
210 C- namelist AIM_PAR_LSC:
211 CALL WRITE_0D_R8( RHLSC, INDEX_NONE,'AIM_LSC: RHLSC =',
212 & ' /* Relative humidity threshold */')
213 CALL WRITE_0D_R8( TRLSC, INDEX_NONE,'AIM_LSC: TRLSC =',
214 & ' /* relaxation time [h] for supersat. spec.hum. */')
215
216 C- namelist AIM_PAR_RAD:
217 CALL WRITE_0D_R8( ABSSW, INDEX_NONE,'AIM_RAD: ABSSW =',
218 & ' /* ShortW. absorptivity for dry air (/dp, 1e5 Pa)*/')
219 CALL WRITE_0D_R8( ABSLW, INDEX_NONE,'AIM_RAD: ABSLW =',
220 & ' /* LongW. absorptivity for dry air (/dp, 1e5 Pa)*/')
221 CALL WRITE_0D_R8( ABWSW, INDEX_NONE,'AIM_RAD: ABWSW =',
222 & ' /* ShortW. absorptivity for WaterVap.(/dq, 1g/kg)*/')
223 CALL WRITE_0D_R8( ABWLW, INDEX_NONE,'AIM_RAD: ABWLW =',
224 & ' /* LongW. absorptivity for WaterVap.(/dq, 1g/kg)*/')
225 CALL WRITE_0D_R8( ABCSW, INDEX_NONE,'AIM_RAD: ABCSW =',
226 & ' /* ShortW. absorptivity for cloud fraction */')
227 CALL WRITE_0D_R8( ABCLW, INDEX_NONE,'AIM_RAD: ABCLW =',
228 & ' /* LongW. absorptivity for cloud fraction */')
229 CALL WRITE_0D_R8( EPSSW, INDEX_NONE,'AIM_RAD: EPSSW =',
230 & ' /* fraction of inc.solar rad. absorbed by ozone */')
231 CALL WRITE_0D_R8( EPSLW, INDEX_NONE,'AIM_RAD: EPSLW =',
232 & ' /* fraction of sfc LW emitted directly to space */')
233 CALL WRITE_0D_R8( ALBCL, INDEX_NONE,'AIM_RAD: ALBCL =',
234 & ' /* cloud albedo (for cloud cover = 1) */')
235 CALL WRITE_0D_R8( RHCL1, INDEX_NONE,'AIM_RAD: RHCL1 =',
236 & ' /* rel.hum. corresponding to cloud cover = 0 */')
237 CALL WRITE_0D_R8( RHCL2, INDEX_NONE,'AIM_RAD: RHCL2 =',
238 & ' /* rel.hum. corresponding to cloud cover = 1 */')
239 CALL WRITE_0D_R8( QACL, INDEX_NONE,'AIM_RAD: QACL =',
240 & ' /* specific hum. threshold for cloud cover */')
241
242 C- namelist AIM_PAR_VDI:
243 CALL WRITE_0D_R8( TRVDI, INDEX_NONE,'AIM_VDI: TRVDI =',
244 & ' /* relaxation time [h] for moisture diffusion */')
245 CALL WRITE_0D_R8( TRSHC, INDEX_NONE,'AIM_VDI: TRSHC =',
246 & ' /* relaxation time [h] for shallow convection */')
247
248 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
249
250 _END_MASTER(myThid)
251
252 C-- Everyone else must wait for the parameters to be loaded
253 _BARRIER
254
255 #endif /* ALLOW_AIM */
256
257 RETURN
258 END

  ViewVC Help
Powered by ViewVC 1.1.22