File indexing completed on 2018-03-02 18:41:41 UTC
view on githubraw file Latest commit add29e06 on 2018-01-31 20:35:05 UTC
e0a2f8aec4 Jean*0001 #include "LAND_OPTIONS.h"
0002
0003
0004
0005
0006 SUBROUTINE LAND_READPARMS( myThid )
0007
0008
0009
0010
d2895c0628 Jean*0011
0012
e0a2f8aec4 Jean*0013
0014
3a10a8cfd8 Jean*0015
e0a2f8aec4 Jean*0016
0017 IMPLICIT NONE
0018
0019
0020
0021 #include "LAND_SIZE.h"
0022
0023 #include "EEPARAMS.h"
0024 #include "PARAMS.h"
0025 #include "LAND_PARAMS.h"
cf701ea57b Ed H*0026 #ifdef ALLOW_MNC
d2895c0628 Jean*0027 # include "MNC_PARAMS.h"
cf701ea57b Ed H*0028 #endif
e0a2f8aec4 Jean*0029
0030
d2895c0628 Jean*0031
e0a2f8aec4 Jean*0032 INTEGER myThid
0033
0034 #ifdef ALLOW_LAND
d2895c0628 Jean*0035
0036
e0a2f8aec4 Jean*0037
0038
0039 CHARACTER*(MAX_LEN_MBUF) msgBuf
d2895c0628 Jean*0040 INTEGER iUnit, k
e0a2f8aec4 Jean*0041 _RL tmpvar
d2895c0628 Jean*0042
e0a2f8aec4 Jean*0043
0044
0045
0046
89992793c5 Jean*0047
0048
0049
0050
0051
0052
0053
0054
0055
0056
0057
0058
0059
0060
e0a2f8aec4 Jean*0061 NAMELIST /LAND_MODEL_PAR/
3a10a8cfd8 Jean*0062 & land_calc_grT, land_calc_grW,
89992793c5 Jean*0063 & land_impl_grT, land_calc_snow,
3a10a8cfd8 Jean*0064 & land_calc_alb, land_oldPickup,
89992793c5 Jean*0065 & land_grT_iniFile, land_grW_iniFile, land_snow_iniFile,
0066 & land_deltaT, land_taveFreq, land_diagFreq, land_monFreq,
cf701ea57b Ed H*0067 & land_dzF,
3a10a8cfd8 Jean*0068 & land_timeave_mnc, land_snapshot_mnc, land_mon_mnc,
0069 & land_pickup_write_mnc, land_pickup_read_mnc
cf701ea57b Ed H*0070
e0a2f8aec4 Jean*0071
0072
89992793c5 Jean*0073
0074
e0a2f8aec4 Jean*0075
0076
0077
89992793c5 Jean*0078
0079
0080
b30f09edfc Jean*0081
0082
89992793c5 Jean*0083
0084
0085
0086
0087
0088
e0a2f8aec4 Jean*0089
0090 NAMELIST /LAND_PHYS_PAR/
89992793c5 Jean*0091 & land_grdLambda, land_heatCs, land_CpWater,
0092 & land_wTauDiff, land_waterCap, land_fractRunOff,
0093 & land_rhoLiqW,
3a10a8cfd8 Jean*0094 & land_rhoSnow, land_Lfreez,
b30f09edfc Jean*0095 & land_hMaxSnow, diffKsnow, timeSnowAge, hNewSnowAge,
1f792166dd Davi*0096 & albColdSnow, albWarmSnow, tempSnowAlbL, albOldSnow, hAlbSnow
e0a2f8aec4 Jean*0097
0098
0099
d2895c0628 Jean*0100 IF ( .NOT.useLand ) THEN
0101
0102 _BEGIN_MASTER(myThid)
0103
0104
0105 CALL PACKAGES_UNUSED_MSG( 'useLand', ' ', ' ' )
0106 _END_MASTER(myThid)
0107 RETURN
0108 ENDIF
0109
a9446a7f45 Jean*0110 _BEGIN_MASTER(myThid)
0111
e0a2f8aec4 Jean*0112
3a10a8cfd8 Jean*0113 land_calc_grT = .TRUE.
e0a2f8aec4 Jean*0114 land_calc_grW = .TRUE.
3a10a8cfd8 Jean*0115 land_impl_grT = .TRUE.
0116 land_calc_snow= .TRUE.
0117 land_calc_alb = .TRUE.
0118 land_oldPickup= .FALSE.
a8844d79c5 Jean*0119 land_grT_iniFile = ' '
0120 land_grW_iniFile = ' '
89992793c5 Jean*0121 land_snow_iniFile= ' '
e0a2f8aec4 Jean*0122 land_deltaT = deltaTclock
0123 land_taveFreq = taveFreq
0124 land_diagFreq = dumpFreq
89992793c5 Jean*0125 land_monFreq = monitorFreq
cf701ea57b Ed H*0126 #ifdef ALLOW_MNC
0127 land_timeave_mnc = timeave_mnc .AND. useMNC
0128 land_snapshot_mnc = snapshot_mnc .AND. useMNC
3a10a8cfd8 Jean*0129 land_mon_mnc = monitor_mnc .AND. useMNC
cf701ea57b Ed H*0130 land_pickup_write_mnc = pickup_write_mnc .AND. useMNC
0131 land_pickup_read_mnc = pickup_read_mnc .AND. useMNC
0132 #else
0133 land_timeave_mnc = .FALSE.
0134 land_snapshot_mnc = .FALSE.
3a10a8cfd8 Jean*0135 land_mon_mnc = .FALSE.
cf701ea57b Ed H*0136 land_pickup_write_mnc = .FALSE.
0137 land_pickup_read_mnc = .FALSE.
0138 #endif
e0a2f8aec4 Jean*0139 land_grdLambda= 0.42 _d 0
0140 land_heatCs = 1.13 _d 6
89992793c5 Jean*0141 land_CpWater = 4.2 _d 3
0142
e0a2f8aec4 Jean*0143 land_wTauDiff = 48. _d 0*3600. _d 0
0144 land_waterCap = 0.24 _d 0
0145 land_fractRunOff = 0.5 _d 0
89992793c5 Jean*0146 land_rhoLiqW = rhoConstFresh
0147
0148 land_rhoSnow = 330. _d 0
0149 land_Lfreez = 334. _d 3
b30f09edfc Jean*0150 land_hMaxSnow = 1. _d 3
89992793c5 Jean*0151 diffKsnow = 0.30 _d 0
0152 timeSnowAge = 50. _d 0 * 86400. _d 0
0153 hNewSnowAge = 2. _d -3
0154 albColdSnow = 0.85 _d 0
0155 albWarmSnow = 0.70 _d 0
1f792166dd Davi*0156 tempSnowAlbL = -10. _d 0
89992793c5 Jean*0157 albOldSnow = 0.55 _d 0
0158 hAlbSnow = 0.30 _d 0
0159
e0a2f8aec4 Jean*0160 DO k=1,land_nLev
0161 land_dzF(k) = -1.
0162 land_rec_dzC(k) = -1.
0163 ENDDO
3a10a8cfd8 Jean*0164
e0a2f8aec4 Jean*0165 WRITE(msgBuf,'(A)') ' LAND_READPARMS: opening data.land'
a9446a7f45 Jean*0166 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
0167 I SQUEEZE_RIGHT, myThid )
e0a2f8aec4 Jean*0168
0169 CALL OPEN_COPY_DATA_FILE( 'data.land', 'LAND_READPARMS',
0170 O iUnit, myThid )
0171
0172
0173
0174
0175 READ(UNIT=iUnit,NML=LAND_MODEL_PAR)
0176
0177
0178 READ(UNIT=iUnit,NML=LAND_PHYS_PAR)
0179
3a10a8cfd8 Jean*0180 WRITE(msgBuf,'(A)')
e0a2f8aec4 Jean*0181 & ' LAND_READPARMS: finished reading data.land'
a9446a7f45 Jean*0182 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
0183 I SQUEEZE_RIGHT, myThid )
3a10a8cfd8 Jean*0184
e0a2f8aec4 Jean*0185
7a77863887 Mart*0186 #ifdef SINGLE_DISK_IO
e0a2f8aec4 Jean*0187 CLOSE(iUnit)
7a77863887 Mart*0188 #else
0189 CLOSE(iUnit,STATUS='DELETE')
0190 #endif /* SINGLE_DISK_IO */
e0a2f8aec4 Jean*0191
0192
d2895c0628 Jean*0193
89992793c5 Jean*0194
0195 land_impl_grT = land_calc_grT .AND. land_impl_grT
0196
0197 tmpvar = 0. _d 0
0198 DO k=1,land_nLev
0199 tmpvar = tmpvar+land_dzF(k)
0200 IF (tmpvar.GT.0. _d 0) land_rec_dzC(k) = 2. _d 0 / tmpvar
0201 tmpvar = land_dzF(k)
0202 ENDDO
3a10a8cfd8 Jean*0203 IF ( land_Lfreez.NE. 0. _d 0 ) THEN
89992793c5 Jean*0204 recip_Lfreez = 1. _d 0 / land_Lfreez
0205 ELSE
0206 recip_Lfreez = 0. _d 0
0207 ENDIF
0208
cf701ea57b Ed H*0209 #ifdef ALLOW_MNC
3a10a8cfd8 Jean*0210 land_timeave_mnc = useMNC .AND. land_timeave_mnc
0211 land_snapshot_mnc = useMNC .AND. land_snapshot_mnc
0212 land_mon_mnc = useMNC .AND. land_mon_mnc
0213 land_pickup_write_mnc = useMNC .AND. land_pickup_write_mnc
0214 land_pickup_read_mnc = useMNC .AND. land_pickup_read_mnc
0215
0216 land_timeave_mdsio = (.NOT.land_timeave_mnc)
0217 & .OR. outputTypesInclusive
0218 land_snapshot_mdsio = (.NOT.land_snapshot_mnc)
0219 & .OR. outputTypesInclusive
0220 land_mon_stdio = (.NOT.land_mon_mnc)
0221 & .OR. outputTypesInclusive
0222 land_pickup_write_mdsio = (.NOT.land_pickup_write_mnc)
0223 & .OR. outputTypesInclusive
cf701ea57b Ed H*0224 #else
0225 land_timeave_mnc = .FALSE.
0226 land_snapshot_mnc = .FALSE.
3a10a8cfd8 Jean*0227 land_mon_mnc = .FALSE.
cf701ea57b Ed H*0228 land_pickup_write_mnc = .FALSE.
0229 land_pickup_read_mnc = .FALSE.
0230 land_timeave_mdsio = .TRUE.
0231 land_snapshot_mdsio = .TRUE.
3a10a8cfd8 Jean*0232 land_mon_stdio = .TRUE.
cf701ea57b Ed H*0233 land_pickup_write_mdsio = .TRUE.
0234 #endif
0235
e0a2f8aec4 Jean*0236
0237
0238 _END_MASTER(myThid)
3a10a8cfd8 Jean*0239
e0a2f8aec4 Jean*0240
0241 _BARRIER
0242
0243 #endif /* ALLOW_LAND */
0244
0245 RETURN
0246 END