13 |
C | S/R AIM_READPARMS |
C | S/R AIM_READPARMS |
14 |
C | o Read AIM physics package parameters |
C | o Read AIM physics package parameters |
15 |
C *==========================================================* |
C *==========================================================* |
16 |
C | Initialized parameter in common blocks: |
C | Initialized parameter in common blocks: |
17 |
C | FORCON, SFLCON, CNVCON, LSCCON, RADCON, VDICON |
C | FORCON, SFLCON, CNVCON, LSCCON, RADCON, VDICON |
18 |
C *==========================================================* |
C *==========================================================* |
19 |
C \ev |
C \ev |
20 |
|
|
21 |
C !USES: |
C !USES: |
22 |
IMPLICIT NONE |
IMPLICIT NONE |
23 |
|
|
26 |
#include "EEPARAMS.h" |
#include "EEPARAMS.h" |
27 |
#include "PARAMS.h" |
#include "PARAMS.h" |
28 |
#include "AIM_PARAMS.h" |
#include "AIM_PARAMS.h" |
29 |
|
#ifdef ALLOW_MNC |
30 |
|
#include "MNC_PARAMS.h" |
31 |
|
#endif |
32 |
|
#ifdef ALLOW_AIM_CO2 |
33 |
|
#include "AIM_CO2.h" |
34 |
|
#endif |
35 |
|
|
36 |
|
|
37 |
C- Physical constants + functions of sigma and latitude |
C- Physical constants + functions of sigma and latitude |
38 |
c #include "com_physcon.h" |
c #include "com_physcon.h" |
41 |
#include "com_sflcon.h" |
#include "com_sflcon.h" |
42 |
#include "com_cnvcon.h" |
#include "com_cnvcon.h" |
43 |
#include "com_lsccon.h" |
#include "com_lsccon.h" |
44 |
#include "com_radcon.h" |
#include "com_radcon.h" |
45 |
#include "com_vdicon.h" |
#include "com_vdicon.h" |
46 |
|
|
47 |
C !INPUT/OUTPUT PARAMETERS: |
C !INPUT/OUTPUT PARAMETERS: |
48 |
C == Routine Arguments == |
C == Routine Arguments == |
49 |
C myThid - Number of this instance |
C myThid :: my Thread Id number |
50 |
INTEGER myThid |
INTEGER myThid |
51 |
CEOP |
CEOP |
52 |
|
|
53 |
#ifdef ALLOW_AIM |
#ifdef ALLOW_AIM |
54 |
|
|
55 |
C == Local Variables == |
C == Local Variables == |
56 |
C msgBuf - Informational/error meesage buffer |
C msgBuf :: Informational/error meesage buffer |
57 |
C iUnit - Work variable for IO unit number |
C iUnit :: Work variable for IO unit number |
58 |
CHARACTER*(MAX_LEN_MBUF) msgBuf |
CHARACTER*(MAX_LEN_MBUF) msgBuf |
59 |
INTEGER iUnit |
INTEGER iUnit |
60 |
|
|
63 |
C-- AIM interface parameter (common AIM_PARM_?): |
C-- AIM interface parameter (common AIM_PARM_?): |
64 |
C aim_useFMsurfBC :: select surface B.C. from Franco Molteni |
C aim_useFMsurfBC :: select surface B.C. from Franco Molteni |
65 |
C aim_useMMsurfFc :: select Monthly Mean surface forcing (e.g., NCEP) |
C aim_useMMsurfFc :: select Monthly Mean surface forcing (e.g., NCEP) |
66 |
|
C aim_surfForc_TimePeriod :: Length of forcing time period (e.g. 1 month) |
67 |
|
C aim_surfForc_NppCycle :: Number of time period per Cycle (e.g. 12) |
68 |
|
C aim_surfForc_TransRatio :: transition ratio from one month to the next |
69 |
C aim_surfPotTemp :: surf.Temp input file is in Pot.Temp (aim_useMMsurfFc) |
C aim_surfPotTemp :: surf.Temp input file is in Pot.Temp (aim_useMMsurfFc) |
70 |
C aim_energPrecip :: account for energy of precipitation (snow & rain temp) |
C aim_energPrecip :: account for energy of precipitation (snow & rain temp) |
71 |
C aim_splitSIOsFx :: compute separately Sea-Ice & Ocean surf. Flux |
C aim_splitSIOsFx :: compute separately Sea-Ice & Ocean surf. Flux |
85 |
C aim_taveFreq :: Frequency^-1 for time-average output (s) |
C aim_taveFreq :: Frequency^-1 for time-average output (s) |
86 |
C aim_diagFreq :: Frequency^-1 for diagnostic output (s) |
C aim_diagFreq :: Frequency^-1 for diagnostic output (s) |
87 |
C aim_tendFreq :: Frequency^-1 for tendencies output (s) |
C aim_tendFreq :: Frequency^-1 for tendencies output (s) |
88 |
|
C aim_selectOceAlbedo :: Ocean albedo(latitude) scheme (integer) |
89 |
|
C 0 = constant (default) |
90 |
|
C 1 = Briegleb et al. 1986 |
91 |
NAMELIST /AIM_PARAMS/ |
NAMELIST /AIM_PARAMS/ |
92 |
& aim_useFMsurfBC, aim_useMMsurfFc, |
& aim_useFMsurfBC, aim_useMMsurfFc, |
93 |
& aim_surfPotTemp, aim_energPrecip, aim_splitSIOsFx, |
& aim_surfForc_TimePeriod, aim_surfForc_NppCycle, |
94 |
|
& aim_surfForc_TransRatio, aim_surfPotTemp, |
95 |
|
& aim_energPrecip, aim_splitSIOsFx, |
96 |
& aim_MMsufx, aim_MMsufxLength, |
& aim_MMsufx, aim_MMsufxLength, |
97 |
& aim_LandFile, aim_albFile, aim_vegFile, |
& aim_LandFile, aim_albFile, aim_vegFile, |
98 |
& aim_sstFile, aim_lstFile, aim_oiceFile, aim_snowFile, |
& aim_sstFile, aim_lstFile, aim_oiceFile, aim_snowFile, |
99 |
& aim_swcFile, |
& aim_swcFile, aim_qfxFile, |
100 |
& aim_dragStrato, |
& aim_dragStrato, |
101 |
& aim_clrSkyDiag, aim_taveFreq, aim_diagFreq, aim_tendFreq, |
& aim_clrSkyDiag, aim_taveFreq, aim_diagFreq, aim_tendFreq, |
102 |
& aim_timeave_mnc, aim_snapshot_mnc, |
& aim_timeave_mnc, aim_snapshot_mnc, |
103 |
& aim_pickup_write_mnc, aim_pickup_read_mnc |
& aim_pickup_write_mnc, aim_pickup_read_mnc, |
104 |
|
& aim_selectOceAlbedo |
105 |
|
|
106 |
C-- Physical constants (common PHYCON) : |
C-- Physical constants (common PHYCON) : |
107 |
C P0 = reference pressure [Pa=N/m2] |
C P0 = reference pressure [Pa=N/m2] |
127 |
& SOLC, ALBSEA, ALBICE, ALBSN, |
& SOLC, ALBSEA, ALBICE, ALBSN, |
128 |
& SDALB, SWCAP, SWWIL, hSnowWetness |
& SDALB, SWCAP, SWWIL, hSnowWetness |
129 |
|
|
130 |
C-- Constants for surface fluxes (common SFLCON) : |
C-- Constants for surface fluxes (common SFLCON) : |
131 |
C FWIND0 = ratio of near-sfc wind to lowest-level wind |
C FWIND0 = ratio of near-sfc wind to lowest-level wind |
132 |
C FTEMP0 = weight for near-sfc temperature extrapolation (0-1) : |
C FTEMP0 = weight for near-sfc temperature extrapolation (0-1) : |
133 |
C 1 : linear extrapolation from two lowest levels |
C 1 : linear extrapolation from two lowest levels |
163 |
& PSMIN, TRCNV, QBL, RHBL, RHIL, ENTMAX, SMF |
& PSMIN, TRCNV, QBL, RHBL, RHIL, ENTMAX, SMF |
164 |
|
|
165 |
|
|
166 |
C-- Constants for large-scale condendation (common LSCCON) : |
C-- Constants for large-scale condendation (common LSCCON) : |
167 |
C TRLSC = Relaxation time (in hours) for specific humidity |
C TRLSC = Relaxation time (in hours) for specific humidity |
168 |
C RHLSC = Maximum relative humidity threshold (at sigma=1) |
C RHLSC = Maximum relative humidity threshold (at sigma=1) |
169 |
C DRHLSC = Vertical range of relative humidity threshold |
C DRHLSC = Vertical range of relative humidity threshold |
198 |
& RHCL1, RHCL2, QACL1, QACL2, ALBCL, |
& RHCL1, RHCL2, QACL1, QACL2, ALBCL, |
199 |
& EPSSW, EPSLW, EMISFC, |
& EPSSW, EPSLW, EMISFC, |
200 |
& ABSDRY, ABSAER, ABSWV1, ABSWV2, ABSCL1, ABSCL2, |
& ABSDRY, ABSAER, ABSWV1, ABSWV2, ABSCL1, ABSCL2, |
201 |
& ABLWIN, ABLCO2, ABLWV1, ABLWV2, ABLCL1, ABLCL2 |
& ABLWIN, ABLCO2, ABLWV1, ABLWV2, ABLCL1, ABLCL2 |
202 |
|
|
203 |
C-- Constants for vertical dif. and sh. conv. (common VDICON) : |
C-- Constants for vertical dif. and sh. conv. (common VDICON) : |
204 |
C TRSHC = relaxation time (in hours) for shallow convection |
C TRSHC = relaxation time (in hours) for shallow convection |
205 |
C TRVDI = relaxation time (in hours) for moisture diffusion |
C TRVDI = relaxation time (in hours) for moisture diffusion |
206 |
C TRVDS = relaxation time (in hours) for super-adiab. conditions |
C TRVDS = relaxation time (in hours) for super-adiab. conditions |
209 |
NAMELIST /AIM_PAR_VDI/ |
NAMELIST /AIM_PAR_VDI/ |
210 |
& TRSHC, TRVDI, TRVDS, RHGRAD, SEGRAD |
& TRSHC, TRVDI, TRVDS, RHGRAD, SEGRAD |
211 |
|
|
212 |
|
#ifdef ALLOW_AIM_CO2 |
213 |
|
NAMELIST /AIM_PAR_CO2/ atmpCO2init, Aim_CO2_Flag |
214 |
|
#endif |
215 |
|
|
216 |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
217 |
|
|
218 |
_BEGIN_MASTER(myThid) |
_BEGIN_MASTER(myThid) |
219 |
|
|
220 |
|
C-- Set default value for AIM interface code (AIM_PARAMS.h): |
221 |
|
aim_useFMsurfBC = .TRUE. |
222 |
|
aim_useMMsurfFc = .FALSE. |
223 |
|
aim_surfPotTemp = .FALSE. |
224 |
|
aim_energPrecip = .FALSE. |
225 |
|
aim_splitSIOsFx = .FALSE. |
226 |
|
aim_clrSkyDiag = .FALSE. |
227 |
|
#ifdef ALLOW_MNC |
228 |
|
aim_timeave_mnc = timeave_mnc .AND. useMNC |
229 |
|
aim_snapshot_mnc = snapshot_mnc .AND. useMNC |
230 |
|
aim_pickup_write_mnc = pickup_write_mnc .AND. useMNC |
231 |
|
aim_pickup_read_mnc = pickup_read_mnc .AND. useMNC |
232 |
|
#else |
233 |
|
aim_timeave_mnc = .FALSE. |
234 |
|
aim_snapshot_mnc = .FALSE. |
235 |
|
aim_pickup_write_mnc = .FALSE. |
236 |
|
aim_pickup_read_mnc = .FALSE. |
237 |
|
#endif |
238 |
|
aim_MMsufx = '.bin' |
239 |
|
aim_MMsufxLength = 4 |
240 |
|
C- Length (s) of one time period: |
241 |
|
aim_surfForc_TimePeriod = 30.*86400. |
242 |
|
C- Number of time period per Cycle: |
243 |
|
aim_surfForc_NppCycle = 12 |
244 |
|
aim_selectOceAlbedo = 0 |
245 |
|
C- define how fast the (linear) transition is from one month to the next |
246 |
|
C = 1 -> linear between 2 midle month |
247 |
|
C > TimePeriod/deltaT -> jump from one month to the next one |
248 |
|
aim_surfForc_TransRatio = 1. |
249 |
|
aim_LandFile = ' ' |
250 |
|
aim_albFile = ' ' |
251 |
|
aim_vegFile = ' ' |
252 |
|
aim_sstFile = ' ' |
253 |
|
aim_lstFile = ' ' |
254 |
|
aim_oiceFile = ' ' |
255 |
|
aim_snowFile = ' ' |
256 |
|
aim_swcFile = ' ' |
257 |
|
aim_qfxFile = ' ' |
258 |
|
aim_dragStrato = 0. |
259 |
|
aim_taveFreq = taveFreq |
260 |
|
aim_diagFreq = dumpFreq |
261 |
|
aim_tendFreq = 0. |
262 |
|
#ifdef ALLOW_AIM_CO2 |
263 |
|
atmpCO2init = 326. _d -6 |
264 |
|
Aim_CO2_Flag = 1 |
265 |
|
#endif |
266 |
|
|
267 |
|
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
268 |
|
|
269 |
WRITE(msgBuf,'(A)') ' AIM_READ_PHYSPARMS: opening data.aimphys' |
WRITE(msgBuf,'(A)') ' AIM_READ_PHYSPARMS: opening data.aimphys' |
270 |
CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,SQUEEZE_RIGHT,1) |
CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,SQUEEZE_RIGHT,1) |
271 |
|
|
282 |
|
|
283 |
C- Constants for surface fluxes |
C- Constants for surface fluxes |
284 |
READ(UNIT=iUnit,NML=AIM_PAR_SFL) |
READ(UNIT=iUnit,NML=AIM_PAR_SFL) |
285 |
|
|
286 |
C- Constants for convection |
C- Constants for convection |
287 |
READ(UNIT=iUnit,NML=AIM_PAR_CNV) |
READ(UNIT=iUnit,NML=AIM_PAR_CNV) |
288 |
|
|
295 |
C- Constants for vertical diffusion and sh. conv. |
C- Constants for vertical diffusion and sh. conv. |
296 |
READ(UNIT=iUnit,NML=AIM_PAR_VDI) |
READ(UNIT=iUnit,NML=AIM_PAR_VDI) |
297 |
|
|
298 |
WRITE(msgBuf,'(A)') |
#ifdef ALLOW_AIM_CO2 |
299 |
|
C- Constants for CO2 |
300 |
|
READ(UNIT=iUnit,NML=AIM_PAR_CO2) |
301 |
|
#endif |
302 |
|
|
303 |
|
WRITE(msgBuf,'(A)') |
304 |
& ' AIM_READ_PHYSPARMS: finished reading data.aimphys' |
& ' AIM_READ_PHYSPARMS: finished reading data.aimphys' |
305 |
CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,SQUEEZE_RIGHT,1) |
CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,SQUEEZE_RIGHT,1) |
306 |
|
|
307 |
C-- Close the open data file |
C-- Close the open data file |
308 |
CLOSE(iUnit) |
CLOSE(iUnit) |
309 |
|
|
337 |
#endif /* ALLOW_AIM_TAVE */ |
#endif /* ALLOW_AIM_TAVE */ |
338 |
|
|
339 |
#ifdef ALLOW_MNC |
#ifdef ALLOW_MNC |
340 |
aim_timeave_mnc = |
aim_timeave_mnc = useMNC .AND. aim_timeave_mnc |
341 |
& aim_timeave_mnc .AND. useMNC |
aim_snapshot_mnc = useMNC .AND. aim_snapshot_mnc |
342 |
aim_snapshot_mnc = |
aim_pickup_write_mnc = useMNC .AND. aim_pickup_write_mnc |
343 |
& aim_snapshot_mnc .AND. useMNC |
aim_pickup_read_mnc = useMNC .AND. aim_pickup_read_mnc |
344 |
aim_pickup_write_mnc = |
#else /* ALLOW_MNC */ |
|
& aim_pickup_write_mnc .AND. useMNC |
|
|
aim_pickup_read_mnc = |
|
|
& aim_pickup_read_mnc .AND. useMNC |
|
|
|
|
|
aim_timeave_mdsio = (.NOT. aim_timeave_mnc) |
|
|
& .OR. outputTypesInclusive |
|
|
aim_snapshot_mdsio = (.NOT. aim_snapshot_mnc) |
|
|
& .OR. outputTypesInclusive |
|
|
aim_pickup_write_mdsio = (.NOT. aim_pickup_write_mnc) |
|
|
& .OR. outputTypesInclusive |
|
|
aim_pickup_read_mdsio = (.NOT. aim_pickup_read_mnc) |
|
|
& .OR. outputTypesInclusive |
|
|
#else |
|
|
C Stop if MNC is not compiled-in and aim_*_mnc=.TRUE. |
|
|
IF ( aim_timeave_mnc .OR. aim_snapshot_mnc |
|
|
& .OR. aim_pickup_write_mnc .OR. aim_pickup_read_mnc ) THEN |
|
|
WRITE(msgBuf,'(2A)') |
|
|
& 'AIM_READPARMS: one or more aim_*_mnc vars is .TRUE. ', |
|
|
& 'but ALLOW_MNC is undefined' |
|
|
CALL PRINT_ERROR( msgBuf, myThid) |
|
|
WRITE(msgBuf,'(2A)') 'Please re-compile with the MNC ', |
|
|
& 'package enabled' |
|
|
CALL PRINT_ERROR( msgBuf, myThid) |
|
|
STOP 'ABNORMAL END: S/R AIM_READPARMS' |
|
|
ENDIF |
|
345 |
aim_timeave_mnc = .FALSE. |
aim_timeave_mnc = .FALSE. |
346 |
aim_snapshot_mnc = .FALSE. |
aim_snapshot_mnc = .FALSE. |
347 |
aim_pickup_write_mnc = .FALSE. |
aim_pickup_write_mnc = .FALSE. |
348 |
aim_pickup_read_mnc = .FALSE. |
aim_pickup_read_mnc = .FALSE. |
|
aim_timeave_mdsio = .TRUE. |
|
|
aim_snapshot_mdsio = .TRUE. |
|
|
aim_pickup_write_mdsio = .TRUE. |
|
|
aim_pickup_read_mdsio = .TRUE. |
|
349 |
#endif /* ALLOW_MNC */ |
#endif /* ALLOW_MNC */ |
350 |
|
aim_timeave_mdsio = (.NOT. aim_timeave_mnc) |
351 |
|
& .OR. outputTypesInclusive |
352 |
|
aim_snapshot_mdsio = (.NOT. aim_snapshot_mnc) |
353 |
|
& .OR. outputTypesInclusive |
354 |
|
aim_pickup_write_mdsio = (.NOT. aim_pickup_write_mnc) |
355 |
|
& .OR. outputTypesInclusive |
356 |
|
aim_pickup_read_mdsio = (.NOT. aim_pickup_read_mnc) |
357 |
|
& .OR. outputTypesInclusive |
358 |
|
|
359 |
|
|
360 |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
371 |
|
|
372 |
CALL WRITE_0D_L( useLand, INDEX_NONE, |
CALL WRITE_0D_L( useLand, INDEX_NONE, |
373 |
& 'useLand =', |
& 'useLand =', |
374 |
&' /* use Land package for surf.BC over land */') |
&' /* use Land package for surf.BC over land */') |
375 |
|
|
376 |
C- namelist AIM_PARAMS: |
C- namelist AIM_PARAMS: |
377 |
CALL WRITE_0D_L( aim_useFMsurfBC, INDEX_NONE, |
CALL WRITE_0D_L( aim_useFMsurfBC, INDEX_NONE, |
378 |
& 'aim_useFMsurfBC =', |
& 'aim_useFMsurfBC =', |
379 |
&' /* F.Molteni surf. BC scheme on/off flag */') |
&' /* F.Molteni surf. BC scheme on/off flag */') |
380 |
CALL WRITE_0D_L( aim_useMMsurfFc, INDEX_NONE, |
CALL WRITE_0D_L( aim_useMMsurfFc, INDEX_NONE, |
381 |
& 'aim_useMMsurfFc =', |
& 'aim_useMMsurfFc =', |
382 |
&' /* Monthly Mean surf. Forcing on/off flag */') |
&' /* Monthly Mean surf. Forcing on/off flag */') |
383 |
|
CALL WRITE_0D_RL(aim_surfForc_TimePeriod, INDEX_NONE, |
384 |
|
& 'aim_surfForc_TimePeriod =', |
385 |
|
& ' /* Length of forcing time period (s) */') |
386 |
|
CALL WRITE_0D_I( aim_surfForc_NppCycle, INDEX_NONE, |
387 |
|
& 'aim_surfForc_NppCycle =', |
388 |
|
& ' /* Number of time period per Cycle */') |
389 |
|
CALL WRITE_0D_RL(aim_surfForc_TransRatio, INDEX_NONE, |
390 |
|
& 'aim_surfForc_TransRatio =', |
391 |
|
& ' /* transition ratio from one month to the next */') |
392 |
CALL WRITE_0D_L( aim_surfPotTemp, INDEX_NONE, |
CALL WRITE_0D_L( aim_surfPotTemp, INDEX_NONE, |
393 |
& 'aim_surfPotTemp =', |
& 'aim_surfPotTemp =', |
394 |
&' /* Surf Temp file in Pot.Temp on/off flag */') |
&' /* Surf Temp file in Pot.Temp on/off flag */') |
395 |
CALL WRITE_0D_L( aim_energPrecip, INDEX_NONE, |
CALL WRITE_0D_L( aim_energPrecip, INDEX_NONE, |
396 |
& 'aim_energPrecip =', |
& 'aim_energPrecip =', |
397 |
& ' /* account for energy of precip. on/off flag */') |
& ' /* account for energy of precip. on/off flag */') |
398 |
CALL WRITE_0D_L( aim_splitSIOsFx, INDEX_NONE, |
CALL WRITE_0D_L( aim_splitSIOsFx, INDEX_NONE, |
399 |
& 'aim_splitSIOsFx =', |
& 'aim_splitSIOsFx =', |
400 |
& ' /* separate Sea-Ice & Ocean Flux on/off flag */') |
& ' /* separate Sea-Ice & Ocean Flux on/off flag */') |
401 |
CALL WRITE_0D_R8(aim_dragStrato,INDEX_NONE,'aim_dragStrato=', |
CALL WRITE_0D_RL(aim_dragStrato,INDEX_NONE,'aim_dragStrato=', |
402 |
& ' /* stratospheric-drag damping time scale (s) */') |
& ' /* stratospheric-drag damping time scale (s) */') |
403 |
CALL WRITE_0D_L( aim_clrSkyDiag, INDEX_NONE, |
CALL WRITE_0D_L( aim_clrSkyDiag, INDEX_NONE, |
404 |
& 'aim_clrSkyDiag =', |
& 'aim_clrSkyDiag =', |
405 |
& ' /* do clear-sky radiation diagnostics */') |
& ' /* do clear-sky radiation diagnostics */') |
406 |
CALL WRITE_0D_R8( aim_taveFreq, INDEX_NONE,'aim_taveFreq =', |
CALL WRITE_0D_RL( aim_taveFreq, INDEX_NONE,'aim_taveFreq =', |
407 |
& ' /* Frequency^-1 for time-Aver. output (s) */') |
& ' /* Frequency^-1 for time-Aver. output (s) */') |
408 |
CALL WRITE_0D_R8( aim_diagFreq, INDEX_NONE,'aim_diagFreq =', |
CALL WRITE_0D_RL( aim_diagFreq, INDEX_NONE,'aim_diagFreq =', |
409 |
& ' /* Frequency^-1 for diagnostic output (s) */') |
& ' /* Frequency^-1 for diagnostic output (s) */') |
410 |
CALL WRITE_0D_R8( aim_tendFreq, INDEX_NONE,'aim_tendFreq =', |
CALL WRITE_0D_RL( aim_tendFreq, INDEX_NONE,'aim_tendFreq =', |
411 |
& ' /* Frequency^-1 for tendencies output (s) */') |
& ' /* Frequency^-1 for tendencies output (s) */') |
412 |
|
CALL WRITE_0D_I( aim_selectOceAlbedo, INDEX_NONE, |
413 |
|
& 'aim_selectOceAlbedo =', |
414 |
|
& ' /* Ocean albedo(latitude) flag */') |
415 |
|
|
416 |
C- namelist AIM_PAR_FOR: |
C- namelist AIM_PAR_FOR: |
417 |
CALL WRITE_0D_R8( SOLC, INDEX_NONE,'AIM_FOR: SOLC =', |
CALL WRITE_0D_RL( SOLC, INDEX_NONE,'AIM_FOR: SOLC =', |
418 |
& ' /* Solar constant (area averaged) in W/m2 */') |
& ' /* Solar constant (area averaged) in W/m2 */') |
419 |
CALL WRITE_0D_R8( ALBSEA,INDEX_NONE,'AIM_FOR: ALBSEA =', |
CALL WRITE_0D_RL( ALBSEA,INDEX_NONE,'AIM_FOR: ALBSEA =', |
420 |
& ' /* Albedo over sea [0-1] */') |
& ' /* Albedo over sea [0-1] */') |
421 |
CALL WRITE_0D_R8( ALBICE,INDEX_NONE,'AIM_FOR: ALBICE =', |
CALL WRITE_0D_RL( ALBICE,INDEX_NONE,'AIM_FOR: ALBICE =', |
422 |
& ' /* Albedo over sea ice (for ice fraction =1) */') |
& ' /* Albedo over sea ice (for ice fraction =1) */') |
423 |
CALL WRITE_0D_R8( ALBSN, INDEX_NONE,'AIM_FOR: ALBSN =', |
CALL WRITE_0D_RL( ALBSN, INDEX_NONE,'AIM_FOR: ALBSN =', |
424 |
& ' /* Albedo over snow (for snow depth > SDALB) */') |
& ' /* Albedo over snow (for snow depth > SDALB) */') |
425 |
CALL WRITE_0D_R8( SDALB, INDEX_NONE,'AIM_FOR: SDALB =', |
CALL WRITE_0D_RL( SDALB, INDEX_NONE,'AIM_FOR: SDALB =', |
426 |
& ' /* Snow depth (mm H2O) corresp. maximum albedo */') |
& ' /* Snow depth (mm H2O) corresp. maximum albedo */') |
427 |
CALL WRITE_0D_R8( SWCAP, INDEX_NONE,'AIM_FOR: SWCAP =', |
CALL WRITE_0D_RL( SWCAP, INDEX_NONE,'AIM_FOR: SWCAP =', |
428 |
& ' /* Soil wetness at field capacity (Vol.fract.) */') |
& ' /* Soil wetness at field capacity (Vol.fract.) */') |
429 |
CALL WRITE_0D_R8( SWWIL, INDEX_NONE,'AIM_FOR: SWWIL =', |
CALL WRITE_0D_RL( SWWIL, INDEX_NONE,'AIM_FOR: SWWIL =', |
430 |
& ' /* Soil wetness at wilting point (Vol.fract.) */') |
& ' /* Soil wetness at wilting point (Vol.fract.) */') |
431 |
CALL WRITE_0D_R8( hSnowWetness, INDEX_NONE, |
CALL WRITE_0D_RL( hSnowWetness, INDEX_NONE, |
432 |
& 'AIM_FOR: hSnowWetness=', |
& 'AIM_FOR: hSnowWetness=', |
433 |
& ' /* snow depth corresp. maximum wetness (m) */') |
& ' /* snow depth corresp. maximum wetness (m) */') |
434 |
|
|
435 |
C- namelist AIM_PAR_SFL: |
C- namelist AIM_PAR_SFL: |
436 |
CALL WRITE_0D_R8( FWIND0,INDEX_NONE,'AIM_SFL: FWIND0 =', |
CALL WRITE_0D_RL( FWIND0,INDEX_NONE,'AIM_SFL: FWIND0 =', |
437 |
& ' /* ratio of near-sfc wind to lowest-level wind */') |
& ' /* ratio of near-sfc wind to lowest-level wind */') |
438 |
CALL WRITE_0D_R8( FTEMP0,INDEX_NONE,'AIM_SFL: FTEMP0 =', |
CALL WRITE_0D_RL( FTEMP0,INDEX_NONE,'AIM_SFL: FTEMP0 =', |
439 |
& ' /* weight for near-sfc temp. extrapolation (0-1)*/') |
& ' /* weight for near-sfc temp. extrapolation (0-1)*/') |
440 |
CALL WRITE_0D_R8( FHUM0, INDEX_NONE,'AIM_SFL: FHUM0 =', |
CALL WRITE_0D_RL( FHUM0, INDEX_NONE,'AIM_SFL: FHUM0 =', |
441 |
& ' /* weight for near-sfc spec.humid. extrap. (0-1)*/') |
& ' /* weight for near-sfc spec.humid. extrap. (0-1)*/') |
442 |
CALL WRITE_0D_R8( CDL, INDEX_NONE,'AIM_SFL: CDL =', |
CALL WRITE_0D_RL( CDL, INDEX_NONE,'AIM_SFL: CDL =', |
443 |
& ' /* drag coefficient for momentum over land */') |
& ' /* drag coefficient for momentum over land */') |
444 |
CALL WRITE_0D_R8( CDS, INDEX_NONE,'AIM_SFL: CDS =', |
CALL WRITE_0D_RL( CDS, INDEX_NONE,'AIM_SFL: CDS =', |
445 |
& ' /* drag coefficient for momentum over sea */') |
& ' /* drag coefficient for momentum over sea */') |
446 |
CALL WRITE_0D_R8( CHL, INDEX_NONE,'AIM_SFL: CHL =', |
CALL WRITE_0D_RL( CHL, INDEX_NONE,'AIM_SFL: CHL =', |
447 |
& ' /* heat exchange coefficient over land */') |
& ' /* heat exchange coefficient over land */') |
448 |
CALL WRITE_0D_R8( CHS, INDEX_NONE,'AIM_SFL: CHS =', |
CALL WRITE_0D_RL( CHS, INDEX_NONE,'AIM_SFL: CHS =', |
449 |
& ' /* heat exchange coefficient over sea */') |
& ' /* heat exchange coefficient over sea */') |
450 |
CALL WRITE_0D_R8( VGUST, INDEX_NONE,'AIM_SFL: VGUST =', |
CALL WRITE_0D_RL( VGUST, INDEX_NONE,'AIM_SFL: VGUST =', |
451 |
& ' /* wind speed [m/s] for sub-grid-scale gusts */') |
& ' /* wind speed [m/s] for sub-grid-scale gusts */') |
452 |
CALL WRITE_0D_R8( CTDAY, INDEX_NONE,'AIM_SFL: CTDAY =', |
CALL WRITE_0D_RL( CTDAY, INDEX_NONE,'AIM_SFL: CTDAY =', |
453 |
& ' /* daily-cycle correction (dTskin/dSSRad) */') |
& ' /* daily-cycle correction (dTskin/dSSRad) */') |
454 |
CALL WRITE_0D_R8( DTHETA,INDEX_NONE,'AIM_SFL: DTHETA =', |
CALL WRITE_0D_RL( DTHETA,INDEX_NONE,'AIM_SFL: DTHETA =', |
455 |
& ' /* Pot.Temp. gradient for stability correction */') |
& ' /* Pot.Temp. gradient for stability correction */') |
456 |
CALL WRITE_0D_R8( dTstab,INDEX_NONE,'AIM_SFL: dTstab =', |
CALL WRITE_0D_RL( dTstab,INDEX_NONE,'AIM_SFL: dTstab =', |
457 |
& ' /* Pot.Temp. increment for stab.funct. derivative */') |
& ' /* Pot.Temp. increment for stab.funct. derivative */') |
458 |
CALL WRITE_0D_R8( FSTAB, INDEX_NONE,'AIM_SFL: FSTAB =', |
CALL WRITE_0D_RL( FSTAB, INDEX_NONE,'AIM_SFL: FSTAB =', |
459 |
& ' /* Amplitude of stability correction (fract.) */') |
& ' /* Amplitude of stability correction (fract.) */') |
460 |
CALL WRITE_0D_R8( HDRAG, INDEX_NONE,'AIM_SFL: HDRAG =', |
CALL WRITE_0D_RL( HDRAG, INDEX_NONE,'AIM_SFL: HDRAG =', |
461 |
& ' /* Height scale for orographic correction */') |
& ' /* Height scale for orographic correction */') |
462 |
CALL WRITE_0D_R8( FHDRAG,INDEX_NONE,'AIM_SFL: FHDRAG =', |
CALL WRITE_0D_RL( FHDRAG,INDEX_NONE,'AIM_SFL: FHDRAG =', |
463 |
& ' /* Amplitude of orographic correction (fract.)*/') |
& ' /* Amplitude of orographic correction (fract.)*/') |
464 |
|
|
465 |
C- namelist AIM_PAR_CNV: |
C- namelist AIM_PAR_CNV: |
466 |
CALL WRITE_0D_R8( PSMIN, INDEX_NONE,'AIM_CNV: PSMIN =', |
CALL WRITE_0D_RL( PSMIN, INDEX_NONE,'AIM_CNV: PSMIN =', |
467 |
& ' /* min norm.sfc.P. for occurrence of convect. */') |
& ' /* min norm.sfc.P. for occurrence of convect. */') |
468 |
CALL WRITE_0D_R8( TRCNV, INDEX_NONE,'AIM_CNV: TRCNV =', |
CALL WRITE_0D_RL( TRCNV, INDEX_NONE,'AIM_CNV: TRCNV =', |
469 |
& ' /* time of relaxation [h] towards ref state */') |
& ' /* time of relaxation [h] towards ref state */') |
470 |
CALL WRITE_0D_R8( QBL, INDEX_NONE,'AIM_CNV: QBL =', |
CALL WRITE_0D_RL( QBL, INDEX_NONE,'AIM_CNV: QBL =', |
471 |
& ' /* specific hum. threshold in the Bound.layer */') |
& ' /* specific hum. threshold in the Bound.layer */') |
472 |
CALL WRITE_0D_R8( RHBL, INDEX_NONE,'AIM_CNV: RHBL =', |
CALL WRITE_0D_RL( RHBL, INDEX_NONE,'AIM_CNV: RHBL =', |
473 |
& ' /* relative hum. threshold in the Bound.layer */') |
& ' /* relative hum. threshold in the Bound.layer */') |
474 |
CALL WRITE_0D_R8( RHIL, INDEX_NONE,'AIM_CNV: RHIL =', |
CALL WRITE_0D_RL( RHIL, INDEX_NONE,'AIM_CNV: RHIL =', |
475 |
& ' /* rel.hum. threshold (intern) for 2nd mass.Flx*/') |
& ' /* rel.hum. threshold (intern) for 2nd mass.Flx*/') |
476 |
CALL WRITE_0D_R8( ENTMAX,INDEX_NONE,'AIM_CNV: ENTMAX =', |
CALL WRITE_0D_RL( ENTMAX,INDEX_NONE,'AIM_CNV: ENTMAX =', |
477 |
& ' /* time of relaxation [h] towards neutral eq. */') |
& ' /* time of relaxation [h] towards neutral eq. */') |
478 |
CALL WRITE_0D_R8( SMF, INDEX_NONE,'AIM_CNV: SMF =', |
CALL WRITE_0D_RL( SMF, INDEX_NONE,'AIM_CNV: SMF =', |
479 |
& ' /* ratio 2ndary/primary mass.Flx at cloud-base*/') |
& ' /* ratio 2ndary/primary mass.Flx at cloud-base*/') |
480 |
|
|
481 |
C- namelist AIM_PAR_LSC: |
C- namelist AIM_PAR_LSC: |
482 |
CALL WRITE_0D_R8( TRLSC, INDEX_NONE,'AIM_LSC: TRLSC =', |
CALL WRITE_0D_RL( TRLSC, INDEX_NONE,'AIM_LSC: TRLSC =', |
483 |
& ' /* relaxation time [h] for supersat. spec.hum. */') |
& ' /* relaxation time [h] for supersat. spec.hum. */') |
484 |
CALL WRITE_0D_R8( RHLSC, INDEX_NONE,'AIM_LSC: RHLSC =', |
CALL WRITE_0D_RL( RHLSC, INDEX_NONE,'AIM_LSC: RHLSC =', |
485 |
& ' /* Max rel.humidity threshold (at sigma=1) */') |
& ' /* Max rel.humidity threshold (at sigma=1) */') |
486 |
CALL WRITE_0D_R8( DRHLSC,INDEX_NONE,'AIM_LSC: DRHLSC =', |
CALL WRITE_0D_RL( DRHLSC,INDEX_NONE,'AIM_LSC: DRHLSC =', |
487 |
& ' /* Vertical range of rel.humidity threshold */') |
& ' /* Vertical range of rel.humidity threshold */') |
488 |
CALL WRITE_0D_R8( QSMAX, INDEX_NONE,'AIM_LSC: QSMAX =', |
CALL WRITE_0D_RL( QSMAX, INDEX_NONE,'AIM_LSC: QSMAX =', |
489 |
& ' /* Define the maximum latent heat release */') |
& ' /* Define the maximum latent heat release */') |
490 |
|
|
491 |
C- namelist AIM_PAR_RAD: |
C- namelist AIM_PAR_RAD: |
492 |
CALL WRITE_0D_R8( RHCL1, INDEX_NONE,'AIM_RAD: RHCL1 =', |
CALL WRITE_0D_RL( RHCL1, INDEX_NONE,'AIM_RAD: RHCL1 =', |
493 |
& ' /* rel.hum. corresponding to cloud cover = 0 */') |
& ' /* rel.hum. corresponding to cloud cover = 0 */') |
494 |
CALL WRITE_0D_R8( RHCL2, INDEX_NONE,'AIM_RAD: RHCL2 =', |
CALL WRITE_0D_RL( RHCL2, INDEX_NONE,'AIM_RAD: RHCL2 =', |
495 |
& ' /* rel.hum. corresponding to cloud cover = 1 */') |
& ' /* rel.hum. corresponding to cloud cover = 1 */') |
496 |
CALL WRITE_0D_R8( QACL1, INDEX_NONE,'AIM_RAD: QACL1 =', |
CALL WRITE_0D_RL( QACL1, INDEX_NONE,'AIM_RAD: QACL1 =', |
497 |
& ' /* spec.hum. threshold for cloud, upper trop. */') |
& ' /* spec.hum. threshold for cloud, upper trop. */') |
498 |
CALL WRITE_0D_R8( QACL2, INDEX_NONE,'AIM_RAD: QACL2 =', |
CALL WRITE_0D_RL( QACL2, INDEX_NONE,'AIM_RAD: QACL2 =', |
499 |
& ' /* spec.hum. threshold for cloud, upper trop. */') |
& ' /* spec.hum. threshold for cloud, upper trop. */') |
500 |
CALL WRITE_0D_R8( ALBCL, INDEX_NONE,'AIM_RAD: ALBCL =', |
CALL WRITE_0D_RL( ALBCL, INDEX_NONE,'AIM_RAD: ALBCL =', |
501 |
& ' /* cloud albedo (for cloud cover = 1) */') |
& ' /* cloud albedo (for cloud cover = 1) */') |
502 |
CALL WRITE_0D_R8( EPSSW, INDEX_NONE,'AIM_RAD: EPSSW =', |
CALL WRITE_0D_RL( EPSSW, INDEX_NONE,'AIM_RAD: EPSSW =', |
503 |
& ' /* fract. of inc.solar rad. absorbed by ozone */') |
& ' /* fract. of inc.solar rad. absorbed by ozone */') |
504 |
CALL WRITE_0D_R8( EPSLW, INDEX_NONE,'AIM_RAD: EPSLW =', |
CALL WRITE_0D_RL( EPSLW, INDEX_NONE,'AIM_RAD: EPSLW =', |
505 |
& ' /* fract. of sfc LW emitted directly to space */') |
& ' /* fract. of sfc LW emitted directly to space */') |
506 |
CALL WRITE_0D_R8( EMISFC,INDEX_NONE,'AIM_RAD: EMISFC =', |
CALL WRITE_0D_RL( EMISFC,INDEX_NONE,'AIM_RAD: EMISFC =', |
507 |
& ' /* longwave surface emissivity */') |
& ' /* longwave surface emissivity */') |
508 |
|
|
509 |
WRITE(msgBuf,'(A)') |
WRITE(msgBuf,'(A)') |
510 |
& ' AIM_RAD : ShortWave absorptivities (for dp = 10^5 Pa) :' |
& ' AIM_RAD : ShortWave absorptivities (for dp = 10^5 Pa) :' |
511 |
CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,SQUEEZE_RIGHT,1) |
CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,SQUEEZE_RIGHT,1) |
512 |
CALL WRITE_0D_R8( ABSDRY,INDEX_NONE,'AIM_RAD: ABSDRY =', |
CALL WRITE_0D_RL( ABSDRY,INDEX_NONE,'AIM_RAD: ABSDRY =', |
513 |
& ' /* abs. of dry air (visible band) */') |
& ' /* abs. of dry air (visible band) */') |
514 |
CALL WRITE_0D_R8( ABSAER,INDEX_NONE,'AIM_RAD: ABSAER =', |
CALL WRITE_0D_RL( ABSAER,INDEX_NONE,'AIM_RAD: ABSAER =', |
515 |
& ' /* abs. of aerosols (visible band) */') |
& ' /* abs. of aerosols (visible band) */') |
516 |
CALL WRITE_0D_R8( ABSWV1,INDEX_NONE,'AIM_RAD: ABSWV1 =', |
CALL WRITE_0D_RL( ABSWV1,INDEX_NONE,'AIM_RAD: ABSWV1 =', |
517 |
& ' /* abs. of water vap. (vis. band)(/dq, 1g/kg) */') |
& ' /* abs. of water vap. (vis. band)(/dq, 1g/kg) */') |
518 |
CALL WRITE_0D_R8( ABSWV2,INDEX_NONE,'AIM_RAD: ABSWV2 =', |
CALL WRITE_0D_RL( ABSWV2,INDEX_NONE,'AIM_RAD: ABSWV2 =', |
519 |
& ' /* abs. of water vap.(near IR bd)(/dq, 1g/kg) */') |
& ' /* abs. of water vap.(near IR bd)(/dq, 1g/kg) */') |
520 |
CALL WRITE_0D_R8( ABSCL1,INDEX_NONE,'AIM_RAD: ABSCL1 =', |
CALL WRITE_0D_RL( ABSCL1,INDEX_NONE,'AIM_RAD: ABSCL1 =', |
521 |
& ' /* abs. of clouds (vis.band)(constant term) */') |
& ' /* abs. of clouds (vis.band)(constant term) */') |
522 |
CALL WRITE_0D_R8( ABSCL2,INDEX_NONE,'AIM_RAD: ABSCL2 =', |
CALL WRITE_0D_RL( ABSCL2,INDEX_NONE,'AIM_RAD: ABSCL2 =', |
523 |
& ' /* abs. of clouds (vis.band) (/dw, 1g/kg) */') |
& ' /* abs. of clouds (vis.band) (/dw, 1g/kg) */') |
524 |
|
|
525 |
WRITE(msgBuf,'(A)') |
WRITE(msgBuf,'(A)') |
526 |
& ' AIM_RAD : LongWave absorptivities (per dp = 10^5 Pa) :' |
& ' AIM_RAD : LongWave absorptivities (per dp = 10^5 Pa) :' |
527 |
CALL WRITE_0D_R8( ABLWIN,INDEX_NONE,'AIM_RAD: ABLWIN =', |
CALL WRITE_0D_RL( ABLWIN,INDEX_NONE,'AIM_RAD: ABLWIN =', |
528 |
& ' /* abs. of air in "window" band */') |
& ' /* abs. of air in "window" band */') |
529 |
CALL WRITE_0D_R8( ABLCO2,INDEX_NONE,'AIM_RAD: ABLCO2 =', |
CALL WRITE_0D_RL( ABLCO2,INDEX_NONE,'AIM_RAD: ABLCO2 =', |
530 |
& ' /* abs. of air in CO2 band */') |
& ' /* abs. of air in CO2 band */') |
531 |
CALL WRITE_0D_R8( ABLWV1,INDEX_NONE,'AIM_RAD: ABLWV1 =', |
CALL WRITE_0D_RL( ABLWV1,INDEX_NONE,'AIM_RAD: ABLWV1 =', |
532 |
& ' /* abs. of Water vap. H2O bd-1(weak)(/dq,1g/kg)*/') |
& ' /* abs. of Water vap. H2O bd-1(weak)(/dq,1g/kg)*/') |
533 |
CALL WRITE_0D_R8( ABLWV2,INDEX_NONE,'AIM_RAD: ABLWV2 =', |
CALL WRITE_0D_RL( ABLWV2,INDEX_NONE,'AIM_RAD: ABLWV2 =', |
534 |
& ' /* abs. of W. vap., H2O bd-2(strong)(/dq,1g/kg)*/') |
& ' /* abs. of W. vap., H2O bd-2(strong)(/dq,1g/kg)*/') |
535 |
CALL WRITE_0D_R8( ABLCL1,INDEX_NONE,'AIM_RAD: ABLCL1 =', |
CALL WRITE_0D_RL( ABLCL1,INDEX_NONE,'AIM_RAD: ABLCL1 =', |
536 |
& ' /* abs. of clouds in window band (const term) */') |
& ' /* abs. of clouds in window band (const term) */') |
537 |
CALL WRITE_0D_R8( ABLCL2,INDEX_NONE,'AIM_RAD: ABLCL2 =', |
CALL WRITE_0D_RL( ABLCL2,INDEX_NONE,'AIM_RAD: ABLCL2 =', |
538 |
& ' /* abs. of clouds in window band (/dw, 1g/kg) */') |
& ' /* abs. of clouds in window band (/dw, 1g/kg) */') |
539 |
|
|
540 |
C- namelist AIM_PAR_VDI: |
C- namelist AIM_PAR_VDI: |
541 |
CALL WRITE_0D_R8( TRSHC, INDEX_NONE,'AIM_VDI: TRSHC =', |
CALL WRITE_0D_RL( TRSHC, INDEX_NONE,'AIM_VDI: TRSHC =', |
542 |
& ' /* relaxation time [h] for shallow convection */') |
& ' /* relaxation time [h] for shallow convection */') |
543 |
CALL WRITE_0D_R8( TRVDI, INDEX_NONE,'AIM_VDI: TRVDI =', |
CALL WRITE_0D_RL( TRVDI, INDEX_NONE,'AIM_VDI: TRVDI =', |
544 |
& ' /* relaxation time [h] for moisture diffusion */') |
& ' /* relaxation time [h] for moisture diffusion */') |
545 |
CALL WRITE_0D_R8( TRVDS, INDEX_NONE,'AIM_VDI: TRVDS =', |
CALL WRITE_0D_RL( TRVDS, INDEX_NONE,'AIM_VDI: TRVDS =', |
546 |
& ' /* relaxation time [h] for super-adiab. cond. */') |
& ' /* relaxation time [h] for super-adiab. cond. */') |
547 |
CALL WRITE_0D_R8( RHGRAD,INDEX_NONE,'AIM_VDI: RHGRAD =', |
CALL WRITE_0D_RL( RHGRAD,INDEX_NONE,'AIM_VDI: RHGRAD =', |
548 |
& ' /* max gradient of rel.humidity (d_RH/d_sigma)*/') |
& ' /* max gradient of rel.humidity (d_RH/d_sigma)*/') |
549 |
CALL WRITE_0D_R8( RHGRAD,INDEX_NONE,'AIM_VDI: RHGRAD =', |
CALL WRITE_0D_RL( SEGRAD,INDEX_NONE,'AIM_VDI: SEGRAD =', |
550 |
& ' /* max grad. of dry static Energy(d_DSE/d_phi)*/') |
& ' /* max grad. of dry static Energy(d_DSE/d_phi)*/') |
551 |
|
|
552 |
|
#ifdef ALLOW_AIM_CO2 |
553 |
|
C- namelist AIM_PAR_CO2: |
554 |
|
CALL WRITE_0D_I( Aim_CO2_Flag, INDEX_NONE, |
555 |
|
& 'AIM_PAR_CO2: Aim_CO2_Flag =', |
556 |
|
& ' /* CO2 flag, 1: prescribed, 2: interactive */') |
557 |
|
CALL WRITE_0D_RL( atmpCO2init, INDEX_NONE, |
558 |
|
& 'AIM_PAR_CO2: atmpCO2init =', |
559 |
|
& ' /* pCO2 when prescribed or IC when interactive */') |
560 |
|
#endif |
561 |
|
|
562 |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
563 |
|
|
564 |
_END_MASTER(myThid) |
_END_MASTER(myThid) |
565 |
|
|
566 |
C-- Everyone else must wait for the parameters to be loaded |
C-- Everyone else must wait for the parameters to be loaded |
567 |
_BARRIER |
_BARRIER |
568 |
|
|