Back to home page

MITgcm

 
 

    


File indexing completed on 2018-03-06 06:08:58 UTC

view on githubraw file Latest commit 455d18a2 on 2018-03-01 19:51:51 UTC
d676f916b2 Jean*0001 #include "AIM_OPTIONS.h"
                0002 
                0003 CBOP
                0004 C     !ROUTINE: AIM_READPARMS
                0005 C     !INTERFACE:
                0006       SUBROUTINE AIM_READPARMS( myThid )
                0007 
                0008 C     !DESCRIPTION: \bv
                0009 C     *==========================================================*
                0010 C     | S/R AIM_READPARMS
                0011 C     | o Read AIM physics package parameters
                0012 C     *==========================================================*
d24aab1d8d Jean*0013 C     | Initialized parameter in common blocks:
d676f916b2 Jean*0014 C     |  FORCON, SFLCON, CNVCON, LSCCON, RADCON, VDICON
                0015 C     *==========================================================*
                0016 C     \ev
d24aab1d8d Jean*0017 
d676f916b2 Jean*0018 C     !USES:
                0019       IMPLICIT NONE
                0020 
                0021 C     == Global variables ===
                0022 #include "AIM_SIZE.h"
                0023 #include "EEPARAMS.h"
a27dd2281d Jean*0024 #include "PARAMS.h"
65007c221b Jean*0025 #include "AIM_PARAMS.h"
2a4f7f3ad0 Jean*0026 #include "AIM_CO2.h"
d0a9461855 Jean*0027 #ifdef ALLOW_MNC
                0028 #include "MNC_PARAMS.h"
                0029 #endif
d676f916b2 Jean*0030 
                0031 C-   Physical constants + functions of sigma and latitude
                0032 c #include "com_physcon.h"
                0033 C-   Constants for sub-grid-scale physics
                0034 #include "com_forcon.h"
                0035 #include "com_sflcon.h"
                0036 #include "com_cnvcon.h"
                0037 #include "com_lsccon.h"
d24aab1d8d Jean*0038 #include "com_radcon.h"
                0039 #include "com_vdicon.h"
d676f916b2 Jean*0040 
                0041 C     !INPUT/OUTPUT PARAMETERS:
d24aab1d8d Jean*0042 C     == Routine Arguments ==
                0043 C     myThid :: my Thread Id number
d676f916b2 Jean*0044       INTEGER myThid
                0045 CEOP
                0046 
                0047 #ifdef ALLOW_AIM
                0048 
d24aab1d8d Jean*0049 C     == Local Variables ==
2a4f7f3ad0 Jean*0050 C     msgBuf         :: Informational/error message buffer
                0051 C     iUnit          :: Work variable for IO unit number
                0052 C     aim_fixed_pCO2 :: fixed and uniform pCO2 value for AIM radiation
                0053 C     atmpCO2init    :: Atmospheric pCO2 initial value of well-mixed atm. box
                0054 
d676f916b2 Jean*0055       CHARACTER*(MAX_LEN_MBUF) msgBuf
2a4f7f3ad0 Jean*0056       CHARACTER*10 endList
                0057       INTEGER buffI(1)
d676f916b2 Jean*0058       INTEGER iUnit
2a4f7f3ad0 Jean*0059       INTEGER errCount
                0060       _RL aim_fixed_pCO2
                0061       _RL atmpCO2init
d676f916b2 Jean*0062 
                0063 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
                0064 
65007c221b Jean*0065 C--   AIM interface parameter (common AIM_PARM_?):
                0066 C     aim_useFMsurfBC :: select surface B.C. from Franco Molteni
                0067 C     aim_useMMsurfFc :: select Monthly Mean surface forcing (e.g., NCEP)
d0a9461855 Jean*0068 C     aim_surfForc_TimePeriod :: Length of forcing time period (e.g. 1 month)
                0069 C     aim_surfForc_NppCycle   :: Number of time period per Cycle (e.g. 12)
                0070 C     aim_surfForc_TransRatio :: transition ratio from one month to the next
65007c221b Jean*0071 C     aim_surfPotTemp :: surf.Temp input file is in Pot.Temp (aim_useMMsurfFc)
b3097ed02d Jean*0072 C     aim_energPrecip :: account for energy of precipitation (snow & rain temp)
                0073 C     aim_splitSIOsFx :: compute separately Sea-Ice & Ocean surf. Flux
                0074 C                 (also land SW & LW) ; default=F as in original version
65007c221b Jean*0075 C     aim_MMsufx   :: sufix for all Monthly Mean surface forcing files
                0076 C     aim_MMsufxLength :: Length of sufix (Monthly Mean surf. forc. files)
                0077 C     aim_LandFile :: file name for Land fraction       (F.M. surfBC)
                0078 C     aim_albFile  :: file name for Albedo input file   (F.M. surfBC)
                0079 C     aim_vegFile  :: file name for vegetation fraction (F.M. surfBC)
                0080 C     aim_sstFile  :: file name for  Sea.Surf.Temp      (F.M. surfBC)
                0081 C     aim_lstFile  :: file name for Land.Surf.Temp      (F.M. surfBC)
                0082 C     aim_oiceFile :: file name for Sea Ice fraction    (F.M. surfBC)
                0083 C     aim_snowFile :: file name for Snow depth          (F.M. surfBC)
                0084 C     aim_swcFile  :: file name for Soil Water content  (F.M. surfBC)
2a4f7f3ad0 Jean*0085 C     aim_dragStrato  :: stratospheric-drag damping time scale (s)
                0086 C     aim_select_pCO2 :: select AIM CO2 formulation (= 0,1,2 or 3)
                0087 C     aim_selectOceAlbedo :: Ocean albedo(latitude) scheme (integer)
                0088 C                     :: 0 = constant (default); 1 = Briegleb et al. 1986
e749d70ece Jean*0089 C     aim_clrSkyDiag :: compute clear-sky radiation for diagnostics
3a474aa258 Jean*0090 C     aim_taveFreq :: Frequency^-1 for time-average output (s)
65007c221b Jean*0091 C     aim_diagFreq :: Frequency^-1 for diagnostic output (s)
                0092 C     aim_tendFreq :: Frequency^-1 for tendencies output (s)
                0093       NAMELIST /AIM_PARAMS/
d24aab1d8d Jean*0094      &    aim_useFMsurfBC, aim_useMMsurfFc,
d0a9461855 Jean*0095      &    aim_surfForc_TimePeriod, aim_surfForc_NppCycle,
                0096      &    aim_surfForc_TransRatio, aim_surfPotTemp,
                0097      &    aim_energPrecip, aim_splitSIOsFx,
65007c221b Jean*0098      &    aim_MMsufx, aim_MMsufxLength,
                0099      &    aim_LandFile, aim_albFile, aim_vegFile,
                0100      &    aim_sstFile, aim_lstFile, aim_oiceFile, aim_snowFile,
5e328a6c4a Davi*0101      &    aim_swcFile, aim_qfxFile,
2a4f7f3ad0 Jean*0102      &    aim_dragStrato, aim_selectOceAlbedo,
                0103      &    aim_select_pCO2, aim_abs_pCO2, aim_fixed_pCO2, atmpCO2init,
ad0ca66649 Ed H*0104      &    aim_clrSkyDiag, aim_taveFreq, aim_diagFreq, aim_tendFreq,
d0a9461855 Jean*0105      &    aim_timeave_mnc, aim_snapshot_mnc,
2a4f7f3ad0 Jean*0106      &    aim_pickup_write_mnc, aim_pickup_read_mnc
65007c221b Jean*0107 
d676f916b2 Jean*0108 C--   Physical constants (common PHYCON) :
b3097ed02d Jean*0109 C       P0    = reference pressure                 [Pa=N/m2]
                0110 C       GG    = gravity accel.                     [m/s2]
                0111 C       RD    = gas constant for dry air           [J/kg/K]
                0112 C       CP    = specific heat at constant pressure [J/kg/K]
                0113 C       ALHC  = latent heat of condensation        [J/g]
                0114 C       ALHF  = latent heat of freezing            [J/g]
                0115 C       SBC   = Stefan-Boltzmann constant
                0116 C     rainCP  = heat capacity of liquid water      [J/g/K]
                0117 C     tFreeze = freezing temperature of pure water [K]
d676f916b2 Jean*0118 
                0119 C--   Constants for forcing fields (common FORCON) :
                0120 C      SOLC   = Solar constant (area averaged) in W/m^2
7f98c35e47 Davi*0121 C      OBLIQ  = Obliquity (in degree) only used if #define ALLOW_INSOLATION
d676f916b2 Jean*0122 C      ALBSEA = Albedo over sea
                0123 C      ALBICE = Albedo over sea ice (for ice fraction = 1)
                0124 C      ALBSN  = Albedo over snow (for snow depth > SDALB)
                0125 C      SDALB  = Snow depth (mm water) corresponding to maximum albedo
                0126 C      SWCAP  = Soil wetness at field capacity (volume fraction)
                0127 C      SWWIL  = Soil wetness at wilting point  (volume fraction)
bea6259b65 Jean*0128 C      hSnowWetness :: snow depth (m) corresponding to maximum wetness
d676f916b2 Jean*0129       NAMELIST /AIM_PAR_FOR/
                0130      &    SOLC, ALBSEA, ALBICE, ALBSN,
7f98c35e47 Davi*0131      &    SDALB, SWCAP, SWWIL, hSnowWetness, OBLIQ
d676f916b2 Jean*0132 
d24aab1d8d Jean*0133 C--   Constants for surface fluxes (common SFLCON) :
d676f916b2 Jean*0134 C      FWIND0 = ratio of near-sfc wind to lowest-level wind
                0135 C      FTEMP0 = weight for near-sfc temperature extrapolation (0-1) :
                0136 C               1 : linear extrapolation from two lowest levels
                0137 C               0 : constant potential temperature ( = lowest level)
                0138 C      FHUM0  = weight for near-sfc specific humidity extrapolation (0-1) :
                0139 C               1 : extrap. with constant relative hum. ( = lowest level)
                0140 C               0 : constant specific hum. ( = lowest level)
                0141 C      CDL    = drag coefficient for momentum over land
                0142 C      CDS    = drag coefficient for momentum over sea
                0143 C      CHL    = heat exchange coefficient over land
                0144 C      CHS    = heat exchange coefficient over sea
                0145 C      VGUST  = wind speed for sub-grid-scale gusts
                0146 C      CTDAY  = daily-cycle correction (dTskin/dSSRad)
                0147 C      DTHETA = Potential temp. gradient for stability correction
e749d70ece Jean*0148 C      dTstab = potential temp. increment for stability function derivative
d676f916b2 Jean*0149 C      FSTAB  = Amplitude of stability correction (fraction)
                0150 C      HDRAG  = Height scale for orographic correction
                0151 C      FHDRAG = Amplitude of orographic correction (fraction)
                0152       NAMELIST /AIM_PAR_SFL/
                0153      &    FWIND0, FTEMP0, FHUM0,
                0154      &    CDL, CDS, CHL, CHS, VGUST, CTDAY,
e749d70ece Jean*0155      &    DTHETA, dTstab, FSTAB, HDRAG, FHDRAG
d676f916b2 Jean*0156 
                0157 C--   Convection constants (common CNVCON) :
                0158 C      PSMIN  = minimum (norm.) sfc. pressure for the occurrence of convection
                0159 C      TRCNV  = time of relaxation (in hours) towards reference state
                0160 C      QBL    = specific hum. threshold in the boundary layer
                0161 C      RHBL   = relative hum. threshold in the boundary layer
                0162 C      RHIL   = rel. hum. threshold in intermed. layers for secondary mass flux
                0163 C      ENTMAX = max. entrainment as a fraction of cloud-base mass flux
                0164 C      SMF    = ratio between secondary and primary mass flux at cloud-base
                0165       NAMELIST /AIM_PAR_CNV/
                0166      &    PSMIN, TRCNV, QBL, RHBL, RHIL, ENTMAX, SMF
                0167 
d24aab1d8d Jean*0168 C--   Constants for large-scale condendation (common LSCCON) :
d676f916b2 Jean*0169 C      TRLSC  = Relaxation time (in hours) for specific humidity
                0170 C      RHLSC  = Maximum relative humidity threshold (at sigma=1)
                0171 C      DRHLSC = Vertical range of relative humidity threshold
                0172 C      QSMAX  = used to define the maximum latent heat release
                0173       NAMELIST /AIM_PAR_LSC/
                0174      &    TRLSC, RHLSC, DRHLSC, QSMAX
                0175 
                0176 C--    Radiation constants (common RADCON) :
                0177 C      RHCL1  = relative hum. corresponding to cloud cover = 0
                0178 C      RHCL2  = relative hum. corresponding to cloud cover = 1
                0179 C      QACL1  = specific hum. threshold for cloud cover in the upper troposphere
                0180 C      QACL2  = specific hum. threshold for cloud cover in the upper troposphere
                0181 C      ALBCL  = cloud albedo (for cloud cover = 1)
                0182 C      EPSSW  = fraction of incoming solar radiation absorbed by ozone
                0183 C      EPSLW  = fraction of surface LW radiation emitted directly to space
                0184 C      EMISFC = longwave surface emissivity
                0185 C--:            shortwave absorptivities (for dp = 10^5 Pa) :
                0186 C      ABSDRY = abs. of dry air      (visible band)
                0187 C      ABSAER = abs. of aerosols     (visible band)
                0188 C      ABSWV1 = abs. of water vapour (visible band, for dq = 1 g/kg)
                0189 C      ABSWV2 = abs. of water vapour (near IR band, for dq = 1 g/kg)
                0190 C      ABSCL1 = abs. of clouds       (visible band, constant term)
                0191 C      ABSCL2 = abs. of clouds       (visible band, for dw = 1 g/kg)
                0192 C--:            longwave absorptivities (per dp = 10^5 Pa) :
                0193 C      ABLWIN = abs. of air in "window" band
                0194 C      ABLCO2 = abs. of air in CO2 band
                0195 C      ABLWV1 = abs. of water vapour in H2O band 1 (weak),   for dq = 1 g/kg
                0196 C      ABLWV2 = abs. of water vapour in H2O band 2 (strong), for dq = 1 g/kg
                0197 C      ABLCL1 = abs. of clouds       in "window" band,       constant term
                0198 C      ABLCL2 = abs. of clouds       in "window" band,       for dw = 1 g/kg
                0199       NAMELIST /AIM_PAR_RAD/
                0200      &    RHCL1,  RHCL2,  QACL1,  QACL2,  ALBCL,
                0201      &    EPSSW,  EPSLW,  EMISFC,
                0202      &    ABSDRY, ABSAER, ABSWV1, ABSWV2, ABSCL1, ABSCL2,
d24aab1d8d Jean*0203      &    ABLWIN, ABLCO2, ABLWV1, ABLWV2, ABLCL1, ABLCL2
d676f916b2 Jean*0204 
d24aab1d8d Jean*0205 C--   Constants for vertical dif. and sh. conv. (common VDICON) :
d676f916b2 Jean*0206 C      TRSHC  = relaxation time (in hours) for shallow convection
                0207 C      TRVDI  = relaxation time (in hours) for moisture diffusion
                0208 C      TRVDS  = relaxation time (in hours) for super-adiab. conditions
                0209 C      RHGRAD = maximum gradient of relative humidity (d_RH/d_sigma)
                0210 C      SEGRAD = minimum gradient of dry static energy (d_DSE/d_phi)
                0211       NAMELIST /AIM_PAR_VDI/
                0212      &    TRSHC, TRVDI, TRVDS, RHGRAD, SEGRAD
                0213 
                0214 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
                0215 
                0216       _BEGIN_MASTER(myThid)
d24aab1d8d Jean*0217 
d0a9461855 Jean*0218 C--  Set default value for AIM interface code (AIM_PARAMS.h):
                0219       aim_useFMsurfBC = .TRUE.
                0220       aim_useMMsurfFc = .FALSE.
                0221       aim_surfPotTemp = .FALSE.
                0222       aim_energPrecip = .FALSE.
                0223       aim_splitSIOsFx = .FALSE.
                0224       aim_clrSkyDiag  = .FALSE.
                0225 #ifdef ALLOW_MNC
                0226       aim_timeave_mnc       = timeave_mnc .AND. useMNC
                0227       aim_snapshot_mnc      = snapshot_mnc .AND. useMNC
                0228       aim_pickup_write_mnc  = pickup_write_mnc .AND. useMNC
                0229       aim_pickup_read_mnc   = pickup_read_mnc .AND. useMNC
                0230 #else
                0231       aim_timeave_mnc       = .FALSE.
                0232       aim_snapshot_mnc      = .FALSE.
                0233       aim_pickup_write_mnc  = .FALSE.
                0234       aim_pickup_read_mnc   = .FALSE.
                0235 #endif
                0236       aim_MMsufx = '.bin'
                0237       aim_MMsufxLength = 4
                0238 C-    Length (s) of one time period:
                0239       aim_surfForc_TimePeriod = 30.*86400.
                0240 C-    Number of time period per Cycle:
                0241       aim_surfForc_NppCycle   = 12
                0242 C-    define how fast the (linear) transition is from one month to the next
                0243 C      = 1                 -> linear between 2 midle month
                0244 C      > TimePeriod/deltaT -> jump from one month to the next one
                0245       aim_surfForc_TransRatio = 1.
                0246       aim_LandFile = ' '
                0247       aim_albFile  = ' '
                0248       aim_vegFile  = ' '
                0249       aim_sstFile  = ' '
                0250       aim_lstFile  = ' '
                0251       aim_oiceFile = ' '
                0252       aim_snowFile = ' '
                0253       aim_swcFile  = ' '
5e328a6c4a Davi*0254       aim_qfxFile  = ' '
d0a9461855 Jean*0255       aim_dragStrato = 0.
2a4f7f3ad0 Jean*0256       aim_selectOceAlbedo = 0
                0257       aim_select_pCO2 = 0
                0258       aim_ref_pCO2   = 320. _d -6
455d18a2e4 Jean*0259 C- Note: aim_abs_pCO2 default value has been calibrated (David Ferreira)
                0260 C        for pCO2 values within [ 100.ppm, 1000.ppm ]
                0261       aim_abs_pCO2   = 1.2616 _d 0
2a4f7f3ad0 Jean*0262       aim_fixed_pCO2 = UNSET_RL
                0263       atmpCO2init    = UNSET_RL
                0264 C-
d0a9461855 Jean*0265       aim_taveFreq = taveFreq
                0266       aim_diagFreq = dumpFreq
                0267       aim_tendFreq = 0.
7f98c35e47 Davi*0268       OBLIQ = 23.45 _d 0
d0a9461855 Jean*0269 
                0270 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
                0271 
2a4f7f3ad0 Jean*0272       WRITE(msgBuf,'(A)') ' AIM_READPARMS: opening data.aimphys'
                0273       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0274      &                    SQUEEZE_RIGHT, myThid )
d676f916b2 Jean*0275 
2a4f7f3ad0 Jean*0276       CALL OPEN_COPY_DATA_FILE( 'data.aimphys', 'AIM_READPARMS',
d676f916b2 Jean*0277      O                          iUnit, myThid )
                0278 
                0279 C--   Read parameters from open data file:
                0280 
65007c221b Jean*0281 C-    Parameters for AIM interface code:
                0282       READ(UNIT=iUnit,NML=AIM_PARAMS)
                0283 
d676f916b2 Jean*0284 C-    Constants for boundary forcing
                0285       READ(UNIT=iUnit,NML=AIM_PAR_FOR)
                0286 
                0287 C-    Constants for surface fluxes
                0288       READ(UNIT=iUnit,NML=AIM_PAR_SFL)
d24aab1d8d Jean*0289 
d676f916b2 Jean*0290 C-    Constants for convection
                0291       READ(UNIT=iUnit,NML=AIM_PAR_CNV)
                0292 
                0293 C-    Constants for large-scale condensation
                0294       READ(UNIT=iUnit,NML=AIM_PAR_LSC)
                0295 
                0296 C-    Constants for radiation
                0297       READ(UNIT=iUnit,NML=AIM_PAR_RAD)
                0298 
                0299 C-    Constants for vertical diffusion and sh. conv.
                0300       READ(UNIT=iUnit,NML=AIM_PAR_VDI)
                0301 
d24aab1d8d Jean*0302       WRITE(msgBuf,'(A)')
2a4f7f3ad0 Jean*0303      &   ' AIM_READPARMS: finished reading data.aimphys'
                0304       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0305      &                    SQUEEZE_RIGHT, myThid )
d24aab1d8d Jean*0306 
d676f916b2 Jean*0307 C--   Close the open data file
7a77863887 Mart*0308 #ifdef SINGLE_DISK_IO
d676f916b2 Jean*0309       CLOSE(iUnit)
7a77863887 Mart*0310 #else
                0311       CLOSE(iUnit,STATUS='DELETE')
                0312 #endif /* SINGLE_DISK_IO */
d676f916b2 Jean*0313 
                0314 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
3a474aa258 Jean*0315 C--   Check parameters and model configuration
2a4f7f3ad0 Jean*0316       errCount = 0
                0317 
                0318       IF ( aim_select_pCO2.LT.0 .OR. aim_select_pCO2.GT.3 ) THEN
                0319         WRITE(msgBuf,'(2A)') 'AIM_READPARMS: ',
                0320      &       'Invalid value for "aim_select_pCO2"'
                0321         CALL PRINT_ERROR( msgBuf, myThid )
                0322         errCount = errCount + 1
                0323       ENDIF
                0324 #ifndef ALLOW_AIM_CO2
                0325       IF ( aim_select_pCO2.GE.2 .AND. aim_select_pCO2.LE.3 ) THEN
                0326         WRITE(msgBuf,'(2A)') 'AIM_READPARMS: ',
                0327      &       'aim_select_pCO2 > 1 but ALLOW_AIM_CO2 undef'
                0328         CALL PRINT_ERROR( msgBuf, myThid )
                0329         WRITE(msgBuf,'(2A)')
                0330      &       'Re-compile with: #define ALLOW_AIM_CO2 (AIM_OPTIONS.h)'
                0331         CALL PRINT_ERROR( msgBuf, myThid )
                0332         errCount = errCount + 1
                0333       ENDIF
                0334 #endif /* ndef ALLOW_AIM_CO2 */
                0335 
                0336       IF ( aim_fixed_pCO2.EQ.UNSET_RL ) THEN
                0337         aim_fixed_pCO2 = aim_ref_pCO2
                0338       ELSEIF ( aim_select_pCO2.NE.1 .AND.
                0339      &         aim_select_pCO2.GE.0 .AND. aim_select_pCO2.LE.3 ) THEN
                0340         WRITE(msgBuf,'(2A)') 'AIM_READPARMS: ',
                0341      &       'aim_fixed_pCO2 only used if aim_select_pCO2=1'
                0342         CALL PRINT_ERROR( msgBuf, myThid )
                0343         errCount = errCount + 1
                0344       ENDIF
                0345       IF ( atmpCO2init.EQ.UNSET_RL ) THEN
                0346         atmpCO2init = aim_ref_pCO2
                0347       ELSEIF ( aim_select_pCO2.GE.0 .AND. aim_select_pCO2.LT.2 ) THEN
                0348         WRITE(msgBuf,'(2A)') '** WARNING ** AIM_READPARMS: ',
                0349      &       'atmpCO2init only used if aim_select_pCO2 > 1'
                0350         CALL PRINT_MESSAGE( msgBuf, errorMessageUnit,
                0351      &                      SQUEEZE_RIGHT, myThid )
                0352       ENDIF
3a474aa258 Jean*0353 
e749d70ece Jean*0354 #ifndef ALLOW_CLR_SKY_DIAG
                0355 C-    If aim_clrSkyDiag is set, then must compile the Clear-Sky Diagnostic code
                0356       IF ( aim_clrSkyDiag ) THEN
2a4f7f3ad0 Jean*0357         WRITE(msgBuf,'(2A)') 'AIM_READPARMS: ',
                0358      &       'aim_clrSkyDiag=T but ALLOW_CLR_SKY_DIAG undef'
                0359         CALL PRINT_ERROR( msgBuf, myThid )
e749d70ece Jean*0360         WRITE(msgBuf,'(2A)')
                0361      &  'Re-compile with: #define ALLOW_CLR_SKY_DIAG (AIM_OPTIONS.h)'
2a4f7f3ad0 Jean*0362         CALL PRINT_ERROR( msgBuf, myThid )
                0363         errCount = errCount + 1
e749d70ece Jean*0364       ENDIF
                0365 #endif
                0366 
3a474aa258 Jean*0367 C-    If aim_taveFreq is positive, then must compile the aim-diagnostics code
                0368 #ifndef ALLOW_AIM_TAVE
                0369       IF (aim_taveFreq.GT.0.) THEN
                0370         WRITE(msgBuf,'(A)')
                0371      &  'AIM_READPARMS: aim_taveFreq > 0 but ALLOW_AIM_TAVE undefined'
2a4f7f3ad0 Jean*0372         CALL PRINT_ERROR( msgBuf, myThid )
3a474aa258 Jean*0373         WRITE(msgBuf,'(2A)')
e749d70ece Jean*0374      &  'Re-compile with: #define ALLOW_AIM_TAVE (AIM_OPTIONS.h)'
2a4f7f3ad0 Jean*0375         CALL PRINT_ERROR( msgBuf, myThid )
                0376         errCount = errCount + 1
3a474aa258 Jean*0377       ENDIF
                0378 #endif /* ALLOW_AIM_TAVE */
                0379 
ad0ca66649 Ed H*0380 #ifdef ALLOW_MNC
d24aab1d8d Jean*0381       aim_timeave_mnc        = useMNC .AND. aim_timeave_mnc
                0382       aim_snapshot_mnc       = useMNC .AND. aim_snapshot_mnc
                0383       aim_pickup_write_mnc   = useMNC .AND. aim_pickup_write_mnc
                0384       aim_pickup_read_mnc    = useMNC .AND. aim_pickup_read_mnc
                0385 #else /* ALLOW_MNC */
78ad6fc820 Ed H*0386       aim_timeave_mnc        = .FALSE.
                0387       aim_snapshot_mnc       = .FALSE.
                0388       aim_pickup_write_mnc   = .FALSE.
                0389       aim_pickup_read_mnc    = .FALSE.
ad0ca66649 Ed H*0390 #endif /* ALLOW_MNC */
d24aab1d8d Jean*0391       aim_timeave_mdsio      = (.NOT. aim_timeave_mnc)
                0392      &                     .OR. outputTypesInclusive
                0393       aim_snapshot_mdsio     = (.NOT. aim_snapshot_mnc)
                0394      &                     .OR. outputTypesInclusive
                0395       aim_pickup_write_mdsio = (.NOT. aim_pickup_write_mnc)
                0396      &                     .OR. outputTypesInclusive
                0397       aim_pickup_read_mdsio  = (.NOT. aim_pickup_read_mnc)
                0398      &                     .OR. outputTypesInclusive
ad0ca66649 Ed H*0399 
3a474aa258 Jean*0400 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
d676f916b2 Jean*0401 C--   Print out parameter values :
2a4f7f3ad0 Jean*0402       iUnit = standardMessageUnit
                0403       endList = '    ;     '
d676f916b2 Jean*0404 
                0405       WRITE(msgBuf,'(A)') ' '
2a4f7f3ad0 Jean*0406       CALL PRINT_MESSAGE( msgBuf, iUnit, SQUEEZE_RIGHT, myThid )
d676f916b2 Jean*0407       WRITE(msgBuf,'(A)') '// ==================================='
2a4f7f3ad0 Jean*0408       CALL PRINT_MESSAGE( msgBuf, iUnit, SQUEEZE_RIGHT, myThid )
d676f916b2 Jean*0409       WRITE(msgBuf,'(A)') '// AIM physics parameters :'
2a4f7f3ad0 Jean*0410       CALL PRINT_MESSAGE( msgBuf, iUnit, SQUEEZE_RIGHT, myThid )
d676f916b2 Jean*0411       WRITE(msgBuf,'(A)') '// ==================================='
2a4f7f3ad0 Jean*0412       CALL PRINT_MESSAGE( msgBuf, iUnit, SQUEEZE_RIGHT, myThid )
d676f916b2 Jean*0413 
a27dd2281d Jean*0414        CALL WRITE_0D_L( useLand, INDEX_NONE,
                0415      &                 'useLand =',
d24aab1d8d Jean*0416      &'   /* use Land package for surf.BC over land  */')
a27dd2281d Jean*0417 
65007c221b Jean*0418 C- namelist AIM_PARAMS:
                0419        CALL WRITE_0D_L( aim_useFMsurfBC, INDEX_NONE,
                0420      &                 'aim_useFMsurfBC =',
d24aab1d8d Jean*0421      &'   /* F.Molteni surf. BC scheme on/off flag */')
65007c221b Jean*0422        CALL WRITE_0D_L( aim_useMMsurfFc, INDEX_NONE,
                0423      &                 'aim_useMMsurfFc =',
d24aab1d8d Jean*0424      &'   /* Monthly Mean surf. Forcing on/off flag */')
4da4b49499 Jean*0425        CALL WRITE_0D_RL(aim_surfForc_TimePeriod, INDEX_NONE,
d0a9461855 Jean*0426      &                 'aim_surfForc_TimePeriod =',
                0427      &  ' /* Length of forcing time period (s) */')
                0428        CALL WRITE_0D_I( aim_surfForc_NppCycle, INDEX_NONE,
                0429      &                 'aim_surfForc_NppCycle   =',
                0430      &  ' /* Number of time period per Cycle */')
4da4b49499 Jean*0431        CALL WRITE_0D_RL(aim_surfForc_TransRatio, INDEX_NONE,
d0a9461855 Jean*0432      &                 'aim_surfForc_TransRatio =',
                0433      &  ' /* transition ratio from one month to the next */')
65007c221b Jean*0434        CALL WRITE_0D_L( aim_surfPotTemp, INDEX_NONE,
                0435      &                 'aim_surfPotTemp =',
d24aab1d8d Jean*0436      &'   /* Surf Temp file in Pot.Temp on/off flag */')
b3097ed02d Jean*0437        CALL WRITE_0D_L( aim_energPrecip, INDEX_NONE,
                0438      &                 'aim_energPrecip =',
d24aab1d8d Jean*0439      &  ' /* account for energy of precip. on/off flag */')
b3097ed02d Jean*0440        CALL WRITE_0D_L( aim_splitSIOsFx, INDEX_NONE,
                0441      &                 'aim_splitSIOsFx =',
d24aab1d8d Jean*0442      &  ' /* separate Sea-Ice & Ocean Flux on/off flag */')
4da4b49499 Jean*0443        CALL WRITE_0D_RL(aim_dragStrato,INDEX_NONE,'aim_dragStrato=',
299f32bec2 Jean*0444      &    ' /* stratospheric-drag damping time scale (s) */')
2a4f7f3ad0 Jean*0445        CALL WRITE_0D_I( aim_selectOceAlbedo, INDEX_NONE,
                0446      &  'aim_selectOceAlbedo =', ' /* Ocean albedo(latitude) flag */')
                0447 C-
                0448        WRITE(msgBuf,'(2A)') 'aim_select_pCO2=',
                0449      &              ' /* select AIM CO2 option */'
                0450        CALL PRINT_MESSAGE( msgBuf, iUnit, SQUEEZE_RIGHT, myThid )
                0451        buffI(1) = aim_select_pCO2
                0452        CALL PRINT_LIST_I( buffI, 1, 1, INDEX_NONE,
                0453      &                    .FALSE., .TRUE., iUnit )
                0454        WRITE(msgBuf,'(2A)')
                0455      &      '   =0: prescribed LW absorption in CO2 band (=ABLCO2)'
                0456        CALL PRINT_MESSAGE( msgBuf, iUnit, SQUEEZE_RIGHT, myThid )
                0457        WRITE(msgBuf,'(2A)')
                0458      &      '   =1: absorption fct of prescribed pCO2 (=aim_fixed_pCO2)'
                0459        CALL PRINT_MESSAGE( msgBuf, iUnit, SQUEEZE_RIGHT, myThid )
                0460        WRITE(msgBuf,'(2A)')
                0461      &      '   =2: same as 0 with passive,  well-mixed pCO2 atm box'
                0462        CALL PRINT_MESSAGE( msgBuf, iUnit, SQUEEZE_RIGHT, myThid )
                0463        WRITE(msgBuf,'(2A)')
                0464      &      '   =3: same as 1 with evolving, well-mixed pCO2 atm-box'
                0465        CALL PRINT_MESSAGE( msgBuf, iUnit, SQUEEZE_RIGHT, myThid )
                0466        CALL PRINT_MESSAGE(endList, iUnit, SQUEEZE_RIGHT, myThid )
                0467        IF ( aim_select_pCO2.EQ.1 .OR. aim_select_pCO2.EQ.3 )
                0468      & CALL WRITE_0D_RL( aim_abs_pCO2, INDEX_NONE,
                0469      &  'aim_abs_pCO2 =', ' /* pCO2 dep. coeff. of CO2 absortion */')
                0470        IF ( aim_select_pCO2.EQ.1 )
                0471      & CALL WRITE_0D_RL( aim_fixed_pCO2, INDEX_NONE,
                0472      &  'aim_fixed_pCO2 =', ' /* fixed pCO2 for AIM radiation */')
                0473 #ifdef ALLOW_AIM_CO2
                0474        CALL WRITE_0D_RL( atmpCO2init, INDEX_NONE,
                0475      &  'atmpCO2init =', ' /* Initial atm-box pCO2 */')
                0476 #endif
e749d70ece Jean*0477        CALL WRITE_0D_L( aim_clrSkyDiag, INDEX_NONE,
                0478      &                 'aim_clrSkyDiag =',
d24aab1d8d Jean*0479      &  ' /* do clear-sky radiation diagnostics */')
4da4b49499 Jean*0480        CALL WRITE_0D_RL( aim_taveFreq, INDEX_NONE,'aim_taveFreq =',
3a474aa258 Jean*0481      &  '   /* Frequency^-1 for time-Aver. output (s) */')
4da4b49499 Jean*0482        CALL WRITE_0D_RL( aim_diagFreq, INDEX_NONE,'aim_diagFreq =',
65007c221b Jean*0483      &  '   /* Frequency^-1 for diagnostic output (s) */')
4da4b49499 Jean*0484        CALL WRITE_0D_RL( aim_tendFreq, INDEX_NONE,'aim_tendFreq =',
65007c221b Jean*0485      &  '   /* Frequency^-1 for tendencies output (s) */')
                0486 
d676f916b2 Jean*0487 C- namelist AIM_PAR_FOR:
4da4b49499 Jean*0488        CALL WRITE_0D_RL( SOLC,  INDEX_NONE,'AIM_FOR:   SOLC =',
d676f916b2 Jean*0489      &  '   /* Solar constant (area averaged) in W/m2 */')
7f98c35e47 Davi*0490        CALL WRITE_0D_RL( OBLIQ, INDEX_NONE,'AIM_FOR:  OBLIQ =',
                0491      &  '   /* Obliquity (degree) used with ALLOW_INSOLATION */')
4da4b49499 Jean*0492        CALL WRITE_0D_RL( ALBSEA,INDEX_NONE,'AIM_FOR: ALBSEA =',
d676f916b2 Jean*0493      &  '   /* Albedo over sea [0-1]      */')
4da4b49499 Jean*0494        CALL WRITE_0D_RL( ALBICE,INDEX_NONE,'AIM_FOR: ALBICE =',
d676f916b2 Jean*0495      &  '   /* Albedo over sea ice (for ice fraction =1) */')
4da4b49499 Jean*0496        CALL WRITE_0D_RL( ALBSN, INDEX_NONE,'AIM_FOR:  ALBSN =',
d676f916b2 Jean*0497      &  '   /* Albedo over snow (for snow depth > SDALB) */')
4da4b49499 Jean*0498        CALL WRITE_0D_RL( SDALB, INDEX_NONE,'AIM_FOR:  SDALB =',
d676f916b2 Jean*0499      &  '   /* Snow depth (mm H2O) corresp. maximum albedo */')
4da4b49499 Jean*0500        CALL WRITE_0D_RL( SWCAP, INDEX_NONE,'AIM_FOR:  SWCAP =',
d676f916b2 Jean*0501      &  '   /* Soil wetness at field capacity (Vol.fract.) */')
4da4b49499 Jean*0502        CALL WRITE_0D_RL( SWWIL, INDEX_NONE,'AIM_FOR:  SWWIL =',
d676f916b2 Jean*0503      &  '   /* Soil wetness at wilting point  (Vol.fract.) */')
4da4b49499 Jean*0504        CALL WRITE_0D_RL( hSnowWetness, INDEX_NONE,
bea6259b65 Jean*0505      &  'AIM_FOR: hSnowWetness=',
                0506      &  '   /* snow depth corresp. maximum wetness (m) */')
d676f916b2 Jean*0507 
                0508 C- namelist AIM_PAR_SFL:
4da4b49499 Jean*0509        CALL WRITE_0D_RL( FWIND0,INDEX_NONE,'AIM_SFL: FWIND0 =',
d676f916b2 Jean*0510      &  '   /* ratio of near-sfc wind to lowest-level wind */')
4da4b49499 Jean*0511        CALL WRITE_0D_RL( FTEMP0,INDEX_NONE,'AIM_SFL: FTEMP0 =',
d676f916b2 Jean*0512      &  '  /* weight for near-sfc temp. extrapolation (0-1)*/')
4da4b49499 Jean*0513        CALL WRITE_0D_RL( FHUM0, INDEX_NONE,'AIM_SFL:  FHUM0 =',
d676f916b2 Jean*0514      &  '  /* weight for near-sfc spec.humid. extrap. (0-1)*/')
4da4b49499 Jean*0515        CALL WRITE_0D_RL( CDL,   INDEX_NONE,'AIM_SFL:    CDL =',
d676f916b2 Jean*0516      &  '   /* drag coefficient for momentum over land */')
4da4b49499 Jean*0517        CALL WRITE_0D_RL( CDS,   INDEX_NONE,'AIM_SFL:    CDS =',
d676f916b2 Jean*0518      &  '   /* drag coefficient for momentum over sea  */')
4da4b49499 Jean*0519        CALL WRITE_0D_RL( CHL,   INDEX_NONE,'AIM_SFL:    CHL =',
d676f916b2 Jean*0520      &  '   /* heat exchange coefficient over land */')
4da4b49499 Jean*0521        CALL WRITE_0D_RL( CHS,   INDEX_NONE,'AIM_SFL:    CHS =',
d676f916b2 Jean*0522      &  '   /* heat exchange coefficient over sea  */')
4da4b49499 Jean*0523        CALL WRITE_0D_RL( VGUST, INDEX_NONE,'AIM_SFL:  VGUST =',
d676f916b2 Jean*0524      &  '   /* wind speed [m/s] for sub-grid-scale gusts */')
4da4b49499 Jean*0525        CALL WRITE_0D_RL( CTDAY, INDEX_NONE,'AIM_SFL:  CTDAY =',
d676f916b2 Jean*0526      &  '   /* daily-cycle correction (dTskin/dSSRad) */')
4da4b49499 Jean*0527        CALL WRITE_0D_RL( DTHETA,INDEX_NONE,'AIM_SFL: DTHETA =',
d676f916b2 Jean*0528      &  '   /* Pot.Temp. gradient for stability correction */')
4da4b49499 Jean*0529        CALL WRITE_0D_RL( dTstab,INDEX_NONE,'AIM_SFL: dTstab =',
e749d70ece Jean*0530      &  '   /* Pot.Temp. increment for stab.funct. derivative */')
4da4b49499 Jean*0531        CALL WRITE_0D_RL( FSTAB, INDEX_NONE,'AIM_SFL:  FSTAB =',
d676f916b2 Jean*0532      &  '   /* Amplitude of stability correction (fract.) */')
4da4b49499 Jean*0533        CALL WRITE_0D_RL( HDRAG, INDEX_NONE,'AIM_SFL:  HDRAG =',
d676f916b2 Jean*0534      &  '   /* Height scale for orographic correction */')
4da4b49499 Jean*0535        CALL WRITE_0D_RL( FHDRAG,INDEX_NONE,'AIM_SFL: FHDRAG =',
d676f916b2 Jean*0536      &  '   /* Amplitude of orographic correction (fract.)*/')
                0537 
                0538 C- namelist AIM_PAR_CNV:
4da4b49499 Jean*0539        CALL WRITE_0D_RL( PSMIN, INDEX_NONE,'AIM_CNV:  PSMIN =',
d676f916b2 Jean*0540      &  '   /* min norm.sfc.P. for occurrence of convect. */')
4da4b49499 Jean*0541        CALL WRITE_0D_RL( TRCNV, INDEX_NONE,'AIM_CNV:  TRCNV =',
d676f916b2 Jean*0542      &  '   /* time of relaxation [h] towards ref state */')
4da4b49499 Jean*0543        CALL WRITE_0D_RL( QBL,   INDEX_NONE,'AIM_CNV:    QBL =',
d676f916b2 Jean*0544      &  '   /* specific hum. threshold in the Bound.layer */')
4da4b49499 Jean*0545        CALL WRITE_0D_RL( RHBL,  INDEX_NONE,'AIM_CNV:   RHBL =',
d676f916b2 Jean*0546      &  '   /* relative hum. threshold in the Bound.layer */')
4da4b49499 Jean*0547        CALL WRITE_0D_RL( RHIL,  INDEX_NONE,'AIM_CNV:   RHIL =',
d676f916b2 Jean*0548      &  '   /* rel.hum. threshold (intern) for 2nd mass.Flx*/')
4da4b49499 Jean*0549        CALL WRITE_0D_RL( ENTMAX,INDEX_NONE,'AIM_CNV: ENTMAX =',
d676f916b2 Jean*0550      &  '   /* time of relaxation [h] towards neutral eq. */')
4da4b49499 Jean*0551        CALL WRITE_0D_RL( SMF,   INDEX_NONE,'AIM_CNV:    SMF =',
d676f916b2 Jean*0552      &  '   /* ratio 2ndary/primary mass.Flx at cloud-base*/')
                0553 
                0554 C- namelist AIM_PAR_LSC:
4da4b49499 Jean*0555        CALL WRITE_0D_RL( TRLSC, INDEX_NONE,'AIM_LSC:  TRLSC =',
d676f916b2 Jean*0556      &  '   /* relaxation time [h] for supersat. spec.hum. */')
4da4b49499 Jean*0557        CALL WRITE_0D_RL( RHLSC, INDEX_NONE,'AIM_LSC:  RHLSC =',
d676f916b2 Jean*0558      &  '   /* Max rel.humidity threshold (at sigma=1) */')
4da4b49499 Jean*0559        CALL WRITE_0D_RL( DRHLSC,INDEX_NONE,'AIM_LSC: DRHLSC =',
d676f916b2 Jean*0560      &  '   /* Vertical range of rel.humidity threshold */')
4da4b49499 Jean*0561        CALL WRITE_0D_RL( QSMAX, INDEX_NONE,'AIM_LSC:  QSMAX =',
d676f916b2 Jean*0562      &  '   /* Define the maximum latent heat release */')
                0563 
                0564 C- namelist AIM_PAR_RAD:
4da4b49499 Jean*0565        CALL WRITE_0D_RL( RHCL1, INDEX_NONE,'AIM_RAD:  RHCL1 =',
d676f916b2 Jean*0566      &  '   /*  rel.hum. corresponding to cloud cover = 0 */')
4da4b49499 Jean*0567        CALL WRITE_0D_RL( RHCL2, INDEX_NONE,'AIM_RAD:  RHCL2 =',
d676f916b2 Jean*0568      &  '   /*  rel.hum. corresponding to cloud cover = 1 */')
4da4b49499 Jean*0569        CALL WRITE_0D_RL( QACL1, INDEX_NONE,'AIM_RAD:  QACL1 =',
d676f916b2 Jean*0570      &  '   /* spec.hum. threshold for cloud, upper trop. */')
4da4b49499 Jean*0571        CALL WRITE_0D_RL( QACL2, INDEX_NONE,'AIM_RAD:  QACL2 =',
d676f916b2 Jean*0572      &  '   /* spec.hum. threshold for cloud, upper trop. */')
4da4b49499 Jean*0573        CALL WRITE_0D_RL( ALBCL, INDEX_NONE,'AIM_RAD:  ALBCL =',
d676f916b2 Jean*0574      &  '   /*  cloud albedo (for cloud cover = 1) */')
4da4b49499 Jean*0575        CALL WRITE_0D_RL( EPSSW, INDEX_NONE,'AIM_RAD:  EPSSW =',
d24aab1d8d Jean*0576      &  '   /*  fract. of inc.solar rad. absorbed by ozone */')
4da4b49499 Jean*0577        CALL WRITE_0D_RL( EPSLW, INDEX_NONE,'AIM_RAD:  EPSLW =',
d24aab1d8d Jean*0578      &  '   /*  fract. of sfc LW emitted directly to space */')
4da4b49499 Jean*0579        CALL WRITE_0D_RL( EMISFC,INDEX_NONE,'AIM_RAD: EMISFC =',
d24aab1d8d Jean*0580      &  '   /*  longwave surface emissivity */')
d676f916b2 Jean*0581 
                0582        WRITE(msgBuf,'(A)')
                0583      &  ' AIM_RAD : ShortWave absorptivities (for dp = 10^5 Pa) :'
2a4f7f3ad0 Jean*0584       CALL PRINT_MESSAGE( msgBuf, iUnit, SQUEEZE_RIGHT, myThid )
4da4b49499 Jean*0585        CALL WRITE_0D_RL( ABSDRY,INDEX_NONE,'AIM_RAD: ABSDRY =',
d676f916b2 Jean*0586      &  '   /* abs. of dry air (visible band) */')
4da4b49499 Jean*0587        CALL WRITE_0D_RL( ABSAER,INDEX_NONE,'AIM_RAD: ABSAER =',
d676f916b2 Jean*0588      &  '   /* abs. of aerosols (visible band) */')
4da4b49499 Jean*0589        CALL WRITE_0D_RL( ABSWV1,INDEX_NONE,'AIM_RAD: ABSWV1 =',
d676f916b2 Jean*0590      &  '   /* abs. of water vap. (vis. band)(/dq, 1g/kg) */')
4da4b49499 Jean*0591        CALL WRITE_0D_RL( ABSWV2,INDEX_NONE,'AIM_RAD: ABSWV2 =',
d676f916b2 Jean*0592      &  '   /* abs. of water vap.(near IR bd)(/dq, 1g/kg) */')
4da4b49499 Jean*0593        CALL WRITE_0D_RL( ABSCL1,INDEX_NONE,'AIM_RAD: ABSCL1 =',
d676f916b2 Jean*0594      &  '   /* abs. of clouds (vis.band)(constant term) */')
4da4b49499 Jean*0595        CALL WRITE_0D_RL( ABSCL2,INDEX_NONE,'AIM_RAD: ABSCL2 =',
d676f916b2 Jean*0596      &  '   /* abs. of clouds (vis.band) (/dw, 1g/kg) */')
                0597 
                0598        WRITE(msgBuf,'(A)')
                0599      &  ' AIM_RAD : LongWave absorptivities (per dp = 10^5 Pa) :'
4da4b49499 Jean*0600        CALL WRITE_0D_RL( ABLWIN,INDEX_NONE,'AIM_RAD: ABLWIN =',
d676f916b2 Jean*0601      &  '   /* abs. of air in "window" band */')
4da4b49499 Jean*0602        CALL WRITE_0D_RL( ABLCO2,INDEX_NONE,'AIM_RAD: ABLCO2 =',
d676f916b2 Jean*0603      &  '   /* abs. of air in CO2 band */')
4da4b49499 Jean*0604        CALL WRITE_0D_RL( ABLWV1,INDEX_NONE,'AIM_RAD: ABLWV1 =',
d676f916b2 Jean*0605      &  '   /* abs. of Water vap. H2O bd-1(weak)(/dq,1g/kg)*/')
4da4b49499 Jean*0606        CALL WRITE_0D_RL( ABLWV2,INDEX_NONE,'AIM_RAD: ABLWV2 =',
d676f916b2 Jean*0607      &  '   /* abs. of W. vap., H2O bd-2(strong)(/dq,1g/kg)*/')
4da4b49499 Jean*0608        CALL WRITE_0D_RL( ABLCL1,INDEX_NONE,'AIM_RAD: ABLCL1 =',
d676f916b2 Jean*0609      &  '   /* abs. of clouds in window band (const term) */')
4da4b49499 Jean*0610        CALL WRITE_0D_RL( ABLCL2,INDEX_NONE,'AIM_RAD: ABLCL2 =',
d676f916b2 Jean*0611      &  '   /* abs. of clouds in window band (/dw, 1g/kg) */')
                0612 
                0613 C- namelist AIM_PAR_VDI:
4da4b49499 Jean*0614        CALL WRITE_0D_RL( TRSHC, INDEX_NONE,'AIM_VDI:  TRSHC =',
d676f916b2 Jean*0615      &  '   /* relaxation time [h] for shallow convection */')
4da4b49499 Jean*0616        CALL WRITE_0D_RL( TRVDI, INDEX_NONE,'AIM_VDI:  TRVDI =',
d676f916b2 Jean*0617      &  '   /* relaxation time [h] for moisture diffusion */')
4da4b49499 Jean*0618        CALL WRITE_0D_RL( TRVDS, INDEX_NONE,'AIM_VDI:  TRVDS =',
d676f916b2 Jean*0619      &  '   /* relaxation time [h] for super-adiab. cond. */')
4da4b49499 Jean*0620        CALL WRITE_0D_RL( RHGRAD,INDEX_NONE,'AIM_VDI: RHGRAD =',
d676f916b2 Jean*0621      &  '   /* max gradient of rel.humidity (d_RH/d_sigma)*/')
4da4b49499 Jean*0622        CALL WRITE_0D_RL( SEGRAD,INDEX_NONE,'AIM_VDI: SEGRAD =',
d676f916b2 Jean*0623      &  '   /* max grad. of dry static Energy(d_DSE/d_phi)*/')
                0624 
2a4f7f3ad0 Jean*0625       IF ( errCount.GE.1 ) THEN
                0626         WRITE(msgBuf,'(A,I3,A)')
                0627      &       'AIM_READPARMS: detected', errCount,' fatal error(s)'
                0628         CALL PRINT_ERROR( msgBuf, myThid )
                0629         CALL ALL_PROC_DIE( 0 )
                0630         STOP 'ABNORMAL END: S/R AIM_READPARMS'
                0631       ENDIF
4c105e462e Davi*0632 
d676f916b2 Jean*0633 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
                0634 
2a4f7f3ad0 Jean*0635 C- Initialise CO2 concentration (a better place would be from AIM_INIT_VARIA):
                0636       aim_pCO2 = aim_fixed_pCO2
                0637 #ifdef ALLOW_AIM_CO2
                0638       atm_pCO2 = atmpCO2init
                0639 #endif /* ALLOW_AIM_CO2 */
                0640 
d676f916b2 Jean*0641       _END_MASTER(myThid)
d24aab1d8d Jean*0642 
d676f916b2 Jean*0643 C--   Everyone else must wait for the parameters to be loaded
                0644       _BARRIER
                0645 
                0646 #endif /* ALLOW_AIM */
                0647 
                0648       RETURN
                0649       END