| 65 |
& darwin_relaxscale, |
& darwin_relaxscale, |
| 66 |
& darwin_ForcingPeriod, darwin_ForcingCycle, |
& darwin_ForcingPeriod, darwin_ForcingCycle, |
| 67 |
& darwin_PARunits, darwin_W_to_uEins, |
& darwin_PARunits, darwin_W_to_uEins, |
| 68 |
|
& darwin_ironUnits, |
| 69 |
|
& darwin_dustFrac, |
| 70 |
#ifdef ALLOW_PAR_DAY |
#ifdef ALLOW_PAR_DAY |
| 71 |
& darwin_PARavPeriod, |
& darwin_PARavPeriod, |
| 72 |
#endif |
#endif |
| 76 |
NAMELIST /DARWIN_SPECTRAL_PARM/ |
NAMELIST /DARWIN_SPECTRAL_PARM/ |
| 77 |
& darwin_waves |
& darwin_waves |
| 78 |
#ifdef WAVEBANDS |
#ifdef WAVEBANDS |
| 79 |
|
& ,darwin_wavebands |
| 80 |
#ifdef DAR_CALC_ACDOM |
#ifdef DAR_CALC_ACDOM |
| 81 |
& ,darwin_Sdom |
& ,darwin_Sdom, darwin_lambda_aCDOM, darwin_aCDOM_fac |
| 82 |
#endif |
#endif |
| 83 |
#ifdef DAR_DIAG_ACDOM |
#ifdef DAR_DIAG_ACDOM |
| 84 |
& ,darwin_diag_acdom_ilam |
& ,darwin_diag_acdom_ilam |
| 137 |
darwin_oasim_esFile=' ' |
darwin_oasim_esFile=' ' |
| 138 |
darwin_PARunits='Ein/m2/d ' |
darwin_PARunits='Ein/m2/d ' |
| 139 |
darwin_W_to_uEins=1. _d 0/0.2174 _d 0 |
darwin_W_to_uEins=1. _d 0/0.2174 _d 0 |
| 140 |
|
darwin_ironUnits='mol Fe/m2/s ' |
| 141 |
|
darwin_dustFrac=0.035 _d 0 |
| 142 |
darwin_relaxscale=0. _d 0 |
darwin_relaxscale=0. _d 0 |
| 143 |
darwin_seed=0 |
darwin_seed=0 |
| 144 |
c default periodic forcing to same as for GCHEM |
c default periodic forcing to same as for GCHEM |
| 163 |
DO ilam=1,tlam |
DO ilam=1,tlam |
| 164 |
darwin_waves(ilam) = 0 |
darwin_waves(ilam) = 0 |
| 165 |
ENDDO |
ENDDO |
|
IF (tlam.EQ.13) THEN |
|
|
darwin_waves(1) = 400 |
|
|
darwin_waves(2) = 425 |
|
|
darwin_waves(3) = 450 |
|
|
darwin_waves(4) = 475 |
|
|
darwin_waves(5) = 500 |
|
|
darwin_waves(6) = 525 |
|
|
darwin_waves(7) = 550 |
|
|
darwin_waves(8) = 575 |
|
|
darwin_waves(9) = 600 |
|
|
darwin_waves(10) = 625 |
|
|
darwin_waves(11) = 650 |
|
|
darwin_waves(12) = 675 |
|
|
darwin_waves(13) = 700 |
|
|
ENDIF |
|
| 166 |
#endif |
#endif |
| 167 |
|
|
| 168 |
#ifdef WAVEBANDS |
#ifdef WAVEBANDS |
| 169 |
|
DO ilam=1,tlam+1 |
| 170 |
|
darwin_wavebands(ilam) = -1 |
| 171 |
|
ENDDO |
| 172 |
#ifdef DAR_CALC_ACDOM |
#ifdef DAR_CALC_ACDOM |
| 173 |
darwin_Sdom = 0.014 _d 0 |
darwin_Sdom = 0.014 _d 0 |
| 174 |
|
darwin_lambda_aCDOM = 450 _d 0 |
| 175 |
|
darwin_aCDOM_fac = 0.2 _d 0 |
| 176 |
#endif |
#endif |
| 177 |
#ifdef DAR_DIAG_ACDOM |
#ifdef DAR_DIAG_ACDOM |
| 178 |
c value >= 100 will be converted to index in wavebands_init_fixed |
c value >= 100 will be converted to index in wavebands_init_fixed |
| 191 |
darwin_bbphy(i) = 0 _d 0 |
darwin_bbphy(i) = 0 _d 0 |
| 192 |
enddo |
enddo |
| 193 |
darwin_radtrans_kmax = Nr |
darwin_radtrans_kmax = Nr |
| 194 |
darwin_radtrans_niter = 1 |
darwin_radtrans_niter = -2 |
| 195 |
darwin_part_size_P = 1 _d -15 ! mmol P per particle |
darwin_part_size_P = 1 _d -15 ! mmol P per particle |
| 196 |
#endif |
#endif |
| 197 |
#endif /* WAVEBANDS */ |
#endif /* WAVEBANDS */ |
| 223 |
STOP 'unknown darwin_PARunits' |
STOP 'unknown darwin_PARunits' |
| 224 |
ENDIF |
ENDIF |
| 225 |
|
|
| 226 |
|
C factor for conversion to mmol Fe/m2/s (bioavailable fraction is done later) |
| 227 |
|
IF ( darwin_ironUnits(1:16) .EQ. 'mol Fe/m2/s ' ) THEN |
| 228 |
|
darwin_ironFileConv = 1000. _d 0 |
| 229 |
|
ELSEIF ( darwin_ironUnits(1:16) .EQ. 'kg dust/m2/s ' ) THEN |
| 230 |
|
darwin_ironFileConv = 1000.*darwin_dustFrac*1000./55.845 _d 0 |
| 231 |
|
ELSE |
| 232 |
|
WRITE(msgBuf,'(2A)') 'S/R DARWIN_READPARMS:', |
| 233 |
|
& 'darwin_ironUnits must be one of mol Fe/m2/s, kg dust/m2/s' |
| 234 |
|
CALL PRINT_ERROR( msgBuf , 1) |
| 235 |
|
STOP 'unknown darwin_Feunits' |
| 236 |
|
ENDIF |
| 237 |
|
|
| 238 |
#ifdef DAR_DIAG_CHL |
#ifdef DAR_DIAG_CHL |
| 239 |
C default values |
C default values |
| 240 |
C Geider: chl:c = max(chl2cmin, chl2cmax/(1+(chl2cmax*alphachl*PARday)/(2*Pcm))) |
C Geider: chl:c = max(chl2cmin, chl2cmax/(1+(chl2cmax*alphachl*PARday)/(2*Pcm))) |
| 310 |
CLOSE(iUnit) |
CLOSE(iUnit) |
| 311 |
|
|
| 312 |
#if defined(WAVEBANDS) || defined(OASIM) |
#if defined(WAVEBANDS) || defined(OASIM) |
| 313 |
|
IF ( darwin_waves(1).EQ.0.0 .AND. tlam.EQ.13 ) THEN |
| 314 |
|
darwin_waves(1) = 400 |
| 315 |
|
darwin_waves(2) = 425 |
| 316 |
|
darwin_waves(3) = 450 |
| 317 |
|
darwin_waves(4) = 475 |
| 318 |
|
darwin_waves(5) = 500 |
| 319 |
|
darwin_waves(6) = 525 |
| 320 |
|
darwin_waves(7) = 550 |
| 321 |
|
darwin_waves(8) = 575 |
| 322 |
|
darwin_waves(9) = 600 |
| 323 |
|
darwin_waves(10) = 625 |
| 324 |
|
darwin_waves(11) = 650 |
| 325 |
|
darwin_waves(12) = 675 |
| 326 |
|
darwin_waves(13) = 700 |
| 327 |
|
IF ( darwin_wavebands(1).NE.0.0 ) THEN |
| 328 |
|
WRITE(msgBuf,'(2A)') 'DARWIN_READPARMS: ', |
| 329 |
|
& 'darwin_wavebands given without darwin_waves.' |
| 330 |
|
CALL PRINT_ERROR( msgBuf, myThid ) |
| 331 |
|
WRITE(msgBuf,'(2A)') 'DARWIN_READPARMS: ', |
| 332 |
|
& 'using standard waveband centers 400, 425, ...' |
| 333 |
|
CALL PRINT_ERROR( msgBuf, myThid ) |
| 334 |
|
WRITE(msgBuf,'(2A)') 'DARWIN_READPARMS: ', |
| 335 |
|
& 'provide darwin_waves if this is not desired.' |
| 336 |
|
CALL PRINT_ERROR( msgBuf, myThid ) |
| 337 |
|
ENDIF |
| 338 |
|
ENDIF |
| 339 |
c Quanta conversion |
c Quanta conversion |
| 340 |
planck = 6.6256 _d -34 !Plancks constant J sec |
planck = 6.6256 _d -34 !Plancks constant J sec |
| 341 |
c = 2.998 _d 8 !speed of light m/sec |
c = 2.998 _d 8 !speed of light m/sec |
| 345 |
do ilam = 1,tlam |
do ilam = 1,tlam |
| 346 |
rlamm = darwin_waves(ilam)*1 _d -9 !lambda in m |
rlamm = darwin_waves(ilam)*1 _d -9 !lambda in m |
| 347 |
WtouEins(ilam) = 1 _d 6*rlamm*hcoavo !Watts to uEin/s conversion |
WtouEins(ilam) = 1 _d 6*rlamm*hcoavo !Watts to uEin/s conversion |
| 348 |
|
IF ( rlamm .EQ. 0.0 ) THEN |
| 349 |
|
WRITE(msgBuf,'(2A)') 'DARWIN_READPARMS: ', |
| 350 |
|
& 'please provide wavelengths in darwin_waves.' |
| 351 |
|
CALL PRINT_ERROR( msgBuf, myThid ) |
| 352 |
|
STOP 'ABNORMAL END: S/R DARWIN_READPARMS' |
| 353 |
|
ENDIF |
| 354 |
enddo |
enddo |
| 355 |
#endif |
#endif |
| 356 |
|
|
| 370 |
CALL PRINT_MESSAGE( msgBuf, iUnit, SQUEEZE_RIGHT, myThid ) |
CALL PRINT_MESSAGE( msgBuf, iUnit, SQUEEZE_RIGHT, myThid ) |
| 371 |
|
|
| 372 |
#if defined(WAVEBANDS) || defined(OASIM) |
#if defined(WAVEBANDS) || defined(OASIM) |
| 373 |
CALL WRITE_1D_I( darwin_waves, tlam, 0, |
CALL WRITE_1D_RL( darwin_waves, tlam, 0, |
| 374 |
& 'darwin_waves =', |
& 'darwin_waves =', |
| 375 |
&' /* "central" wavelengths of wavebands */') |
&' /* "central" wavelengths of wavebands */') |
| 376 |
#endif |
#endif |
| 418 |
&' /* deepest level in which to compute irradiances */') |
&' /* deepest level in which to compute irradiances */') |
| 419 |
CALL WRITE_0D_I( darwin_radtrans_niter, INDEX_NONE, |
CALL WRITE_0D_I( darwin_radtrans_niter, INDEX_NONE, |
| 420 |
& 'darwin_radtrans_niter =', |
& 'darwin_radtrans_niter =', |
| 421 |
&' /* number of "radtrans improvement" iterations */') |
&' /* iterations/method for solveing 3-stream equations */') |
| 422 |
#endif /* DAR_RADTRANS */ |
#endif /* DAR_RADTRANS */ |
| 423 |
#endif /* WAVEBANDS */ |
#endif /* WAVEBANDS */ |
| 424 |
|
|