/[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.1 by jahn, Wed Apr 13 18:56:24 2011 UTC revision 1.9 by jahn, Wed Dec 4 21:21:32 2013 UTC
# Line 64  CEOP Line 64  CEOP
64  #endif  #endif
65       &           darwin_relaxscale,       &           darwin_relaxscale,
66       &           darwin_ForcingPeriod, darwin_ForcingCycle,       &           darwin_ForcingPeriod, darwin_ForcingCycle,
67         &           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 73  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 111  CEOP Line 115  CEOP
115       &        dic_pCO2, dic_int1, dic_int2, dic_int3, dic_int4       &        dic_pCO2, dic_int1, dic_int2, dic_int3, dic_int4
116  #endif  #endif
117    
118          _BEGIN_MASTER(myThid)
119    
120  C Set defaults values for parameters in DARWIN_IO.h  C Set defaults values for parameters in DARWIN_IO.h
121        darwin_iceFile=' '        darwin_iceFile=' '
122        darwin_ironFile=' '        darwin_ironFile=' '
# Line 131  C Set defaults values for parameters in Line 137  C Set defaults values for parameters in
137        darwin_acdomFile=' '        darwin_acdomFile=' '
138        darwin_oasim_edFile=' '        darwin_oasim_edFile=' '
139        darwin_oasim_esFile=' '        darwin_oasim_esFile=' '
140          darwin_PARunits='Ein/m2/d        '
141          darwin_W_to_uEins=1. _d 0/0.2174 _d 0
142          darwin_ironUnits='mol Fe/m2/s     '
143          darwin_dustFrac=0.035 _d 0
144        darwin_relaxscale=0. _d 0        darwin_relaxscale=0. _d 0
145        darwin_seed=0        darwin_seed=0
146  c default periodic forcing to same as for GCHEM  c default periodic forcing to same as for GCHEM
# Line 155  c default periodic forcing to same as fo Line 165  c default periodic forcing to same as fo
165        DO ilam=1,tlam        DO ilam=1,tlam
166          darwin_waves(ilam) = 0          darwin_waves(ilam) = 0
167        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  
168  #endif  #endif
169    
170  #ifdef WAVEBANDS  #ifdef WAVEBANDS
171          DO ilam=1,tlam+1
172            darwin_wavebands(ilam) = -1
173          ENDDO
174  #ifdef DAR_CALC_ACDOM  #ifdef DAR_CALC_ACDOM
175        darwin_Sdom = 0.014 _d 0        darwin_Sdom = 0.014 _d 0
176          darwin_lambda_aCDOM = 450 _d 0
177          darwin_aCDOM_fac = 0.2 _d 0
178  #endif  #endif
179  #ifdef DAR_DIAG_ACDOM  #ifdef DAR_DIAG_ACDOM
180  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 193  c value >= 100 will be converted to inde Line 193  c value >= 100 will be converted to inde
193          darwin_bbphy(i) = 0 _d 0          darwin_bbphy(i) = 0 _d 0
194        enddo        enddo
195        darwin_radtrans_kmax = Nr        darwin_radtrans_kmax = Nr
196        darwin_radtrans_niter = 1        darwin_radtrans_niter = -2
197        darwin_part_size_P = 1 _d -15   ! mmol P per particle        darwin_part_size_P = 1 _d -15   ! mmol P per particle
198  #endif  #endif
199  #endif /* WAVEBANDS */  #endif /* WAVEBANDS */
200    
201  C Open and read the data.darwin file  C Open and read the data.darwin file
       _BEGIN_MASTER(myThid)  
202        WRITE(msgBuf,'(A)') ' DARWIN_READPARMS: opening data.darwin'        WRITE(msgBuf,'(A)') ' DARWIN_READPARMS: opening data.darwin'
203        CALL PRINT_MESSAGE(msgBuf, standardMessageUnit,        CALL PRINT_MESSAGE(msgBuf, standardMessageUnit,
204       &                   SQUEEZE_RIGHT , 1)       &                   SQUEEZE_RIGHT , 1)
# Line 211  C Open and read the data.darwin file Line 210  C Open and read the data.darwin file
210  #ifdef ALLOW_PAR_DAY  #ifdef ALLOW_PAR_DAY
211        darwin_PARnav = NINT(darwin_PARavPeriod*nsubtime/dTtracerLev(1))        darwin_PARnav = NINT(darwin_PARavPeriod*nsubtime/dTtracerLev(1))
212  #endif  #endif
213    C factor for conversion to uEin/m2/s
214          IF ( darwin_PARunits(1:16) .EQ. 'uEin/m2/s       ' ) THEN
215            darwin_PARFileConv = 1. _d 0
216          ELSEIF ( darwin_PARunits(1:16) .EQ. 'Ein/m2/d        ' ) THEN
217            darwin_PARFileConv = 1. _d 6/86400. _d 0
218          ELSEIF ( darwin_PARunits(1:16) .EQ. 'W/m2            ' ) THEN
219            darwin_PARFileConv = darwin_W_to_uEins
220          ELSE
221            WRITE(msgBuf,'(2A)') 'S/R DARWIN_READPARMS:',
222         &    'darwin_PARunits must be one of Ein/m2/d, uEin/m2/s, W/m2'
223            CALL PRINT_ERROR( msgBuf , 1)
224            STOP 'unknown darwin_PARunits'
225          ENDIF
226    
227    C factor for conversion to mmol Fe/m2/s (bioavailable fraction is done later)
228          IF ( darwin_ironUnits(1:16) .EQ. 'mol Fe/m2/s     ' ) THEN
229            darwin_ironFileConv = 1000. _d 0
230          ELSEIF ( darwin_ironUnits(1:16) .EQ. 'kg dust/m2/s    ' ) THEN
231            darwin_ironFileConv = 1000.*darwin_dustFrac*1000./55.845 _d 0
232          ELSE
233            WRITE(msgBuf,'(2A)') 'S/R DARWIN_READPARMS:',
234         &    'darwin_ironUnits must be one of mol Fe/m2/s, kg dust/m2/s'
235            CALL PRINT_ERROR( msgBuf , 1)
236            STOP 'unknown darwin_Feunits'
237          ENDIF
238    
239  #ifdef DAR_DIAG_CHL  #ifdef DAR_DIAG_CHL
240  C default values  C default values
# Line 287  C Close the open data file Line 311  C Close the open data file
311        CLOSE(iUnit)        CLOSE(iUnit)
312    
313  #if defined(WAVEBANDS) || defined(OASIM)  #if defined(WAVEBANDS) || defined(OASIM)
314          IF ( darwin_waves(1).EQ.0.0 .AND. tlam.EQ.13 ) THEN
315            darwin_waves(1) = 400
316            darwin_waves(2) = 425
317            darwin_waves(3) = 450
318            darwin_waves(4) = 475
319            darwin_waves(5) = 500
320            darwin_waves(6) = 525
321            darwin_waves(7) = 550
322            darwin_waves(8) = 575
323            darwin_waves(9) = 600
324            darwin_waves(10) = 625
325            darwin_waves(11) = 650
326            darwin_waves(12) = 675
327            darwin_waves(13) = 700
328            IF ( darwin_wavebands(1).NE.0.0 ) THEN
329             WRITE(msgBuf,'(2A)') 'DARWIN_READPARMS: ',
330         &   'darwin_wavebands given without darwin_waves.'
331             CALL PRINT_ERROR( msgBuf, myThid )
332             WRITE(msgBuf,'(2A)') 'DARWIN_READPARMS: ',
333         &   'using standard waveband centers 400, 425, ...'
334             CALL PRINT_ERROR( msgBuf, myThid )
335             WRITE(msgBuf,'(2A)') 'DARWIN_READPARMS: ',
336         &   'provide darwin_waves if this is not desired.'
337             CALL PRINT_ERROR( msgBuf, myThid )
338            ENDIF
339          ENDIF
340  c   Quanta conversion  c   Quanta conversion
341        planck = 6.6256 _d -34   !Plancks constant J sec        planck = 6.6256 _d -34   !Plancks constant J sec
342        c = 2.998 _d 8                 !speed of light m/sec        c = 2.998 _d 8                 !speed of light m/sec
# Line 296  c   Quanta conversion Line 346  c   Quanta conversion
346        do ilam = 1,tlam        do ilam = 1,tlam
347         rlamm = darwin_waves(ilam)*1 _d -9  !lambda in m         rlamm = darwin_waves(ilam)*1 _d -9  !lambda in m
348         WtouEins(ilam) = 1 _d 6*rlamm*hcoavo      !Watts to uEin/s conversion         WtouEins(ilam) = 1 _d 6*rlamm*hcoavo      !Watts to uEin/s conversion
349           IF ( rlamm .EQ. 0.0 ) THEN
350            WRITE(msgBuf,'(2A)') 'DARWIN_READPARMS: ',
351         &  'please provide wavelengths in darwin_waves.'
352            CALL PRINT_ERROR( msgBuf, myThid )
353            STOP 'ABNORMAL END: S/R DARWIN_READPARMS'
354           ENDIF
355        enddo        enddo
356  #endif  #endif
357    
# Line 315  C--   Print a summary of parameter value Line 371  C--   Print a summary of parameter value
371        CALL PRINT_MESSAGE( msgBuf, iUnit, SQUEEZE_RIGHT, myThid )        CALL PRINT_MESSAGE( msgBuf, iUnit, SQUEEZE_RIGHT, myThid )
372    
373  #if defined(WAVEBANDS) || defined(OASIM)  #if defined(WAVEBANDS) || defined(OASIM)
374        CALL WRITE_1D_I( darwin_waves, tlam, 0,        CALL WRITE_1D_RL( darwin_waves, tlam, 0,
375       &   'darwin_waves =',       &   'darwin_waves =',
376       &'   /* "central" wavelengths of wavebands */')       &'   /* "central" wavelengths of wavebands */')
377  #endif  #endif
# Line 363  C--   Print a summary of parameter value Line 419  C--   Print a summary of parameter value
419       &'   /* deepest level in which to compute irradiances */')       &'   /* deepest level in which to compute irradiances */')
420        CALL WRITE_0D_I( darwin_radtrans_niter, INDEX_NONE,        CALL WRITE_0D_I( darwin_radtrans_niter, INDEX_NONE,
421       &   'darwin_radtrans_niter =',       &   'darwin_radtrans_niter =',
422       &'   /* number of "radtrans improvement" iterations */')       &'   /* iterations/method for solveing 3-stream equations */')
423  #endif /* DAR_RADTRANS */  #endif /* DAR_RADTRANS */
424  #endif /* WAVEBANDS */  #endif /* WAVEBANDS */
425    

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.9

  ViewVC Help
Powered by ViewVC 1.1.22