/[MITgcm]/MITgcm_contrib/darwin2/pkg/darwin/darwin_readparams.F
ViewVC logotype

Diff of /MITgcm_contrib/darwin2/pkg/darwin/darwin_readparams.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.2 by jahn, Thu Sep 22 19:18:37 2011 UTC revision 1.8 by jahn, Tue Apr 16 20:21:57 2013 UTC
# Line 65  CEOP Line 65  CEOP
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
# Line 74  CEOP Line 76  CEOP
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
# Line 134  C Set defaults values for parameters in Line 137  C Set defaults values for parameters in
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
# Line 158  c default periodic forcing to same as fo Line 163  c default periodic forcing to same as fo
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      
# Line 196  c value >= 100 will be converted to inde Line 191  c value >= 100 will be converted to inde
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 */
# Line 228  C factor for conversion to uEin/m2/s Line 223  C factor for conversion to uEin/m2/s
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)))
# Line 303  C Close the open data file Line 310  C Close the open data file
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
# Line 312  c   Quanta conversion Line 345  c   Quanta conversion
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    
# Line 331  C--   Print a summary of parameter value Line 370  C--   Print a summary of parameter value
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
# Line 379  C--   Print a summary of parameter value Line 418  C--   Print a summary of parameter value
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    

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.8

  ViewVC Help
Powered by ViewVC 1.1.22