24 |
C == Global variables === |
C == Global variables === |
25 |
#include "AIM_SIZE.h" |
#include "AIM_SIZE.h" |
26 |
#include "EEPARAMS.h" |
#include "EEPARAMS.h" |
27 |
c #include "PARAMS.h" |
#include "PARAMS.h" |
28 |
#include "AIM_PARAMS.h" |
#include "AIM_PARAMS.h" |
29 |
|
|
30 |
C- Physical constants + functions of sigma and latitude |
C- Physical constants + functions of sigma and latitude |
67 |
C aim_oiceFile :: file name for Sea Ice fraction (F.M. surfBC) |
C aim_oiceFile :: file name for Sea Ice fraction (F.M. surfBC) |
68 |
C aim_snowFile :: file name for Snow depth (F.M. surfBC) |
C aim_snowFile :: file name for Snow depth (F.M. surfBC) |
69 |
C aim_swcFile :: file name for Soil Water content (F.M. surfBC) |
C aim_swcFile :: file name for Soil Water content (F.M. surfBC) |
70 |
|
C aim_dragStrato :: stratospheric-drag damping time scale (s) |
71 |
|
C aim_taveFreq :: Frequency^-1 for time-average output (s) |
72 |
C aim_diagFreq :: Frequency^-1 for diagnostic output (s) |
C aim_diagFreq :: Frequency^-1 for diagnostic output (s) |
73 |
C aim_tendFreq :: Frequency^-1 for tendencies output (s) |
C aim_tendFreq :: Frequency^-1 for tendencies output (s) |
74 |
NAMELIST /AIM_PARAMS/ |
NAMELIST /AIM_PARAMS/ |
77 |
& aim_LandFile, aim_albFile, aim_vegFile, |
& aim_LandFile, aim_albFile, aim_vegFile, |
78 |
& aim_sstFile, aim_lstFile, aim_oiceFile, aim_snowFile, |
& aim_sstFile, aim_lstFile, aim_oiceFile, aim_snowFile, |
79 |
& aim_swcFile, |
& aim_swcFile, |
80 |
& aim_diagFreq, aim_tendFreq |
& aim_dragStrato, |
81 |
|
& aim_taveFreq, aim_diagFreq, aim_tendFreq |
82 |
|
|
83 |
C-- Physical constants (common PHYCON) : |
C-- Physical constants (common PHYCON) : |
84 |
C P0 = reference pressure |
C P0 = reference pressure |
222 |
CLOSE(iUnit) |
CLOSE(iUnit) |
223 |
|
|
224 |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
225 |
|
C-- Check parameters and model configuration |
226 |
|
|
227 |
|
C- If aim_taveFreq is positive, then must compile the aim-diagnostics code |
228 |
|
#ifndef ALLOW_AIM_TAVE |
229 |
|
IF (aim_taveFreq.GT.0.) THEN |
230 |
|
WRITE(msgBuf,'(A)') |
231 |
|
& 'AIM_READPARMS: aim_taveFreq > 0 but ALLOW_AIM_TAVE undefined' |
232 |
|
CALL PRINT_ERROR( msgBuf, myThid) |
233 |
|
WRITE(msgBuf,'(2A)') |
234 |
|
& 'Re-compile with: #define ALLOW_AIM_TAVE', |
235 |
|
& ' or -DALLOW_AIM_TAVE' |
236 |
|
CALL PRINT_ERROR( msgBuf, myThid) |
237 |
|
STOP 'ABNORMAL END: S/R AIM_READPARMS' |
238 |
|
ENDIF |
239 |
|
#endif /* ALLOW_AIM_TAVE */ |
240 |
|
|
241 |
|
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
242 |
C-- Print out parameter values : |
C-- Print out parameter values : |
243 |
|
|
244 |
WRITE(msgBuf,'(A)') ' ' |
WRITE(msgBuf,'(A)') ' ' |
250 |
WRITE(msgBuf,'(A)') '// ===================================' |
WRITE(msgBuf,'(A)') '// ===================================' |
251 |
CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,SQUEEZE_RIGHT,1) |
CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,SQUEEZE_RIGHT,1) |
252 |
|
|
253 |
|
CALL WRITE_0D_L( useLand, INDEX_NONE, |
254 |
|
& 'useLand =', |
255 |
|
&' /* use Land package for surf.BC over land */') |
256 |
|
|
257 |
C- namelist AIM_PARAMS: |
C- namelist AIM_PARAMS: |
258 |
CALL WRITE_0D_L( aim_useFMsurfBC, INDEX_NONE, |
CALL WRITE_0D_L( aim_useFMsurfBC, INDEX_NONE, |
259 |
& 'aim_useFMsurfBC =', |
& 'aim_useFMsurfBC =', |
264 |
CALL WRITE_0D_L( aim_surfPotTemp, INDEX_NONE, |
CALL WRITE_0D_L( aim_surfPotTemp, INDEX_NONE, |
265 |
& 'aim_surfPotTemp =', |
& 'aim_surfPotTemp =', |
266 |
&' /* Surf Temp file in Pot.Temp on/off flag */') |
&' /* Surf Temp file in Pot.Temp on/off flag */') |
267 |
|
CALL WRITE_0D_R8(aim_dragStrato,INDEX_NONE,'aim_dragStrato=', |
268 |
|
& ' /* stratospheric-drag damping time scale (s) */') |
269 |
|
CALL WRITE_0D_R8( aim_taveFreq, INDEX_NONE,'aim_taveFreq =', |
270 |
|
& ' /* Frequency^-1 for time-Aver. output (s) */') |
271 |
CALL WRITE_0D_R8( aim_diagFreq, INDEX_NONE,'aim_diagFreq =', |
CALL WRITE_0D_R8( aim_diagFreq, INDEX_NONE,'aim_diagFreq =', |
272 |
& ' /* Frequency^-1 for diagnostic output (s) */') |
& ' /* Frequency^-1 for diagnostic output (s) */') |
273 |
CALL WRITE_0D_R8( aim_tendFreq, INDEX_NONE,'aim_tendFreq =', |
CALL WRITE_0D_R8( aim_tendFreq, INDEX_NONE,'aim_tendFreq =', |