71 |
C aim_snowFile :: file name for Snow depth (F.M. surfBC) |
C aim_snowFile :: file name for Snow depth (F.M. surfBC) |
72 |
C aim_swcFile :: file name for Soil Water content (F.M. surfBC) |
C aim_swcFile :: file name for Soil Water content (F.M. surfBC) |
73 |
C aim_dragStrato :: stratospheric-drag damping time scale (s) |
C aim_dragStrato :: stratospheric-drag damping time scale (s) |
74 |
|
C aim_clrSkyDiag :: compute clear-sky radiation for diagnostics |
75 |
C aim_taveFreq :: Frequency^-1 for time-average output (s) |
C aim_taveFreq :: Frequency^-1 for time-average output (s) |
76 |
C aim_diagFreq :: Frequency^-1 for diagnostic output (s) |
C aim_diagFreq :: Frequency^-1 for diagnostic output (s) |
77 |
C aim_tendFreq :: Frequency^-1 for tendencies output (s) |
C aim_tendFreq :: Frequency^-1 for tendencies output (s) |
83 |
& aim_sstFile, aim_lstFile, aim_oiceFile, aim_snowFile, |
& aim_sstFile, aim_lstFile, aim_oiceFile, aim_snowFile, |
84 |
& aim_swcFile, |
& aim_swcFile, |
85 |
& aim_dragStrato, |
& aim_dragStrato, |
86 |
& aim_taveFreq, aim_diagFreq, aim_tendFreq |
& aim_clrSkyDiag, aim_taveFreq, aim_diagFreq, aim_tendFreq |
87 |
|
|
88 |
C-- Physical constants (common PHYCON) : |
C-- Physical constants (common PHYCON) : |
89 |
C P0 = reference pressure [Pa=N/m2] |
C P0 = reference pressure [Pa=N/m2] |
124 |
C VGUST = wind speed for sub-grid-scale gusts |
C VGUST = wind speed for sub-grid-scale gusts |
125 |
C CTDAY = daily-cycle correction (dTskin/dSSRad) |
C CTDAY = daily-cycle correction (dTskin/dSSRad) |
126 |
C DTHETA = Potential temp. gradient for stability correction |
C DTHETA = Potential temp. gradient for stability correction |
127 |
|
C dTstab = potential temp. increment for stability function derivative |
128 |
C FSTAB = Amplitude of stability correction (fraction) |
C FSTAB = Amplitude of stability correction (fraction) |
129 |
C HDRAG = Height scale for orographic correction |
C HDRAG = Height scale for orographic correction |
130 |
C FHDRAG = Amplitude of orographic correction (fraction) |
C FHDRAG = Amplitude of orographic correction (fraction) |
131 |
NAMELIST /AIM_PAR_SFL/ |
NAMELIST /AIM_PAR_SFL/ |
132 |
& FWIND0, FTEMP0, FHUM0, |
& FWIND0, FTEMP0, FHUM0, |
133 |
& CDL, CDS, CHL, CHS, VGUST, CTDAY, |
& CDL, CDS, CHL, CHS, VGUST, CTDAY, |
134 |
& DTHETA, FSTAB, HDRAG, FHDRAG |
& DTHETA, dTstab, FSTAB, HDRAG, FHDRAG |
135 |
|
|
136 |
C-- Convection constants (common CNVCON) : |
C-- Convection constants (common CNVCON) : |
137 |
C PSMIN = minimum (norm.) sfc. pressure for the occurrence of convection |
C PSMIN = minimum (norm.) sfc. pressure for the occurrence of convection |
234 |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
235 |
C-- Check parameters and model configuration |
C-- Check parameters and model configuration |
236 |
|
|
237 |
|
#ifndef ALLOW_CLR_SKY_DIAG |
238 |
|
C- If aim_clrSkyDiag is set, then must compile the Clear-Sky Diagnostic code |
239 |
|
IF ( aim_clrSkyDiag ) THEN |
240 |
|
WRITE(msgBuf,'(A)') |
241 |
|
& 'AIM_READPARMS: aim_clrSkyDiag=T but ALLOW_CLR_SKY_DIAG undef' |
242 |
|
CALL PRINT_ERROR( msgBuf, myThid) |
243 |
|
WRITE(msgBuf,'(2A)') |
244 |
|
& 'Re-compile with: #define ALLOW_CLR_SKY_DIAG (AIM_OPTIONS.h)' |
245 |
|
CALL PRINT_ERROR( msgBuf, myThid) |
246 |
|
STOP 'ABNORMAL END: S/R AIM_READPARMS' |
247 |
|
ENDIF |
248 |
|
#endif |
249 |
|
|
250 |
C- If aim_taveFreq is positive, then must compile the aim-diagnostics code |
C- If aim_taveFreq is positive, then must compile the aim-diagnostics code |
251 |
#ifndef ALLOW_AIM_TAVE |
#ifndef ALLOW_AIM_TAVE |
252 |
IF (aim_taveFreq.GT.0.) THEN |
IF (aim_taveFreq.GT.0.) THEN |
254 |
& 'AIM_READPARMS: aim_taveFreq > 0 but ALLOW_AIM_TAVE undefined' |
& 'AIM_READPARMS: aim_taveFreq > 0 but ALLOW_AIM_TAVE undefined' |
255 |
CALL PRINT_ERROR( msgBuf, myThid) |
CALL PRINT_ERROR( msgBuf, myThid) |
256 |
WRITE(msgBuf,'(2A)') |
WRITE(msgBuf,'(2A)') |
257 |
& 'Re-compile with: #define ALLOW_AIM_TAVE', |
& 'Re-compile with: #define ALLOW_AIM_TAVE (AIM_OPTIONS.h)' |
|
& ' or -DALLOW_AIM_TAVE' |
|
258 |
CALL PRINT_ERROR( msgBuf, myThid) |
CALL PRINT_ERROR( msgBuf, myThid) |
259 |
STOP 'ABNORMAL END: S/R AIM_READPARMS' |
STOP 'ABNORMAL END: S/R AIM_READPARMS' |
260 |
ENDIF |
ENDIF |
294 |
& ' /* separate Sea-Ice & Ocean Flux on/off flag */') |
& ' /* separate Sea-Ice & Ocean Flux on/off flag */') |
295 |
CALL WRITE_0D_R8(aim_dragStrato,INDEX_NONE,'aim_dragStrato=', |
CALL WRITE_0D_R8(aim_dragStrato,INDEX_NONE,'aim_dragStrato=', |
296 |
& ' /* stratospheric-drag damping time scale (s) */') |
& ' /* stratospheric-drag damping time scale (s) */') |
297 |
|
CALL WRITE_0D_L( aim_clrSkyDiag, INDEX_NONE, |
298 |
|
& 'aim_clrSkyDiag =', |
299 |
|
& ' /* do clear-sky radiation diagnostics */') |
300 |
CALL WRITE_0D_R8( aim_taveFreq, INDEX_NONE,'aim_taveFreq =', |
CALL WRITE_0D_R8( aim_taveFreq, INDEX_NONE,'aim_taveFreq =', |
301 |
& ' /* Frequency^-1 for time-Aver. output (s) */') |
& ' /* Frequency^-1 for time-Aver. output (s) */') |
302 |
CALL WRITE_0D_R8( aim_diagFreq, INDEX_NONE,'aim_diagFreq =', |
CALL WRITE_0D_R8( aim_diagFreq, INDEX_NONE,'aim_diagFreq =', |
344 |
& ' /* daily-cycle correction (dTskin/dSSRad) */') |
& ' /* daily-cycle correction (dTskin/dSSRad) */') |
345 |
CALL WRITE_0D_R8( DTHETA,INDEX_NONE,'AIM_SFL: DTHETA =', |
CALL WRITE_0D_R8( DTHETA,INDEX_NONE,'AIM_SFL: DTHETA =', |
346 |
& ' /* Pot.Temp. gradient for stability correction */') |
& ' /* Pot.Temp. gradient for stability correction */') |
347 |
|
CALL WRITE_0D_R8( dTstab,INDEX_NONE,'AIM_SFL: dTstab =', |
348 |
|
& ' /* Pot.Temp. increment for stab.funct. derivative */') |
349 |
CALL WRITE_0D_R8( FSTAB, INDEX_NONE,'AIM_SFL: FSTAB =', |
CALL WRITE_0D_R8( FSTAB, INDEX_NONE,'AIM_SFL: FSTAB =', |
350 |
& ' /* Amplitude of stability correction (fract.) */') |
& ' /* Amplitude of stability correction (fract.) */') |
351 |
CALL WRITE_0D_R8( HDRAG, INDEX_NONE,'AIM_SFL: HDRAG =', |
CALL WRITE_0D_R8( HDRAG, INDEX_NONE,'AIM_SFL: HDRAG =', |
406 |
& ' /* abs. of aerosols (visible band) */') |
& ' /* abs. of aerosols (visible band) */') |
407 |
CALL WRITE_0D_R8( ABSWV1,INDEX_NONE,'AIM_RAD: ABSWV1 =', |
CALL WRITE_0D_R8( ABSWV1,INDEX_NONE,'AIM_RAD: ABSWV1 =', |
408 |
& ' /* abs. of water vap. (vis. band)(/dq, 1g/kg) */') |
& ' /* abs. of water vap. (vis. band)(/dq, 1g/kg) */') |
|
CALL WRITE_0D_R8( ABSWV1,INDEX_NONE,'AIM_RAD: ABSWV1 =', |
|
|
& ' /* abs. of water vap. (vis. band)(/dq, 1g/kg) */') |
|
409 |
CALL WRITE_0D_R8( ABSWV2,INDEX_NONE,'AIM_RAD: ABSWV2 =', |
CALL WRITE_0D_R8( ABSWV2,INDEX_NONE,'AIM_RAD: ABSWV2 =', |
410 |
& ' /* abs. of water vap.(near IR bd)(/dq, 1g/kg) */') |
& ' /* abs. of water vap.(near IR bd)(/dq, 1g/kg) */') |
411 |
CALL WRITE_0D_R8( ABSCL1,INDEX_NONE,'AIM_RAD: ABSCL1 =', |
CALL WRITE_0D_R8( ABSCL1,INDEX_NONE,'AIM_RAD: ABSCL1 =', |