- Timestamp:
- 2017-12-26T17:32:56+01:00 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2017/dev_merge_2017/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zprod.F90
r9125 r9169 8 8 !! 3.4 ! 2011-05 (O. Aumont, C. Ethe) New parameterization of light limitation 9 9 !!---------------------------------------------------------------------- 10 !! p4z_prod : 11 !! p4z_prod_init : 12 !! p4z_prod_alloc : 10 !! p4z_prod : Compute the growth Rate of the two phytoplanktons groups 11 !! p4z_prod_init : Initialization of the parameters for growth 12 !! p4z_prod_alloc : Allocate variables for growth 13 13 !!---------------------------------------------------------------------- 14 USE oce_trc ! 15 USE trc ! 16 USE sms_pisces ! 17 USE p4zlim ! 18 USE prtctl_trc ! 19 USE iom ! 14 USE oce_trc ! shared variables between ocean and passive tracers 15 USE trc ! passive tracers common variables 16 USE sms_pisces ! PISCES Source Minus Sink variables 17 USE p4zlim ! Co-limitations of differents nutrients 18 USE prtctl_trc ! print control for debugging 19 USE iom ! I/O manager 20 20 21 21 IMPLICIT NONE … … 26 26 PUBLIC p4z_prod_alloc 27 27 28 !! * Shared module variables 29 LOGICAL , PUBLIC :: ln_newprod !: 30 REAL(wp), PUBLIC :: pislopen !: 31 REAL(wp), PUBLIC :: pisloped !: 32 REAL(wp), PUBLIC :: xadap !: 33 REAL(wp), PUBLIC :: excretn !: 34 REAL(wp), PUBLIC :: excretd !: 35 REAL(wp), PUBLIC :: bresp !: 36 REAL(wp), PUBLIC :: chlcnm !: 37 REAL(wp), PUBLIC :: chlcdm !: 38 REAL(wp), PUBLIC :: chlcmin !: 39 REAL(wp), PUBLIC :: fecnm !: 40 REAL(wp), PUBLIC :: fecdm !: 41 REAL(wp), PUBLIC :: grosip !: 28 LOGICAL , PUBLIC :: ln_newprod !: 29 REAL(wp), PUBLIC :: pislopen !: 30 REAL(wp), PUBLIC :: pisloped !: 31 REAL(wp), PUBLIC :: xadap !: 32 REAL(wp), PUBLIC :: excretn !: 33 REAL(wp), PUBLIC :: excretd !: 34 REAL(wp), PUBLIC :: bresp !: 35 REAL(wp), PUBLIC :: chlcnm !: 36 REAL(wp), PUBLIC :: chlcdm !: 37 REAL(wp), PUBLIC :: chlcmin !: 38 REAL(wp), PUBLIC :: fecnm !: 39 REAL(wp), PUBLIC :: fecdm !: 40 REAL(wp), PUBLIC :: grosip !: 42 41 43 42 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: prmax !: optimal production = f(temperature) … … 45 44 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: quotad !: proxy of N quota in diatomee 46 45 47 REAL(wp) :: r1_rday !:1 / rday48 REAL(wp) :: texcretn !:1 - excretn49 REAL(wp) :: texcretd !:1 - excretd46 REAL(wp) :: r1_rday ! 1 / rday 47 REAL(wp) :: texcretn ! 1 - excretn 48 REAL(wp) :: texcretd ! 1 - excretd 50 49 51 50 !!---------------------------------------------------------------------- … … 65 64 !! ** Method : - ??? 66 65 !!--------------------------------------------------------------------- 67 INTEGER, INTENT(in) :: kt, knt66 INTEGER, INTENT(in) :: kt, knt ! 68 67 ! 69 68 INTEGER :: ji, jj, jk … … 475 474 CALL prt_ctl_trc(tab4d=tra, mask=tmask, clinfo=ctrcnm) 476 475 ENDIF 477 !478 IF( ln_timing ) CALL timing_stop('p4z_prod')479 !476 ! 477 IF( ln_timing ) CALL timing_stop('p4z_prod') 478 ! 480 479 END SUBROUTINE p4z_prod 481 480 … … 492 491 !! ** input : Namelist nampisprod 493 492 !!---------------------------------------------------------------------- 494 INTEGER :: ios ! Local integer output status for namelist read493 INTEGER :: ios ! Local integer 495 494 ! 496 495 NAMELIST/namp4zprod/ pislopen, pisloped, xadap, ln_newprod, bresp, excretn, excretd, & 497 496 & chlcnm, chlcdm, chlcmin, fecnm, fecdm, grosip 498 497 !!---------------------------------------------------------------------- 499 498 ! 499 IF(lwp) THEN ! control print 500 WRITE(numout,*) 501 WRITE(numout,*) 'p4z_prod_init : phytoplankton growth' 502 WRITE(numout,*) '~~~~~~~~~~~~~' 503 ENDIF 504 ! 500 505 REWIND( numnatp_ref ) ! Namelist nampisprod in reference namelist : Pisces phytoplankton production 501 506 READ ( numnatp_ref, namp4zprod, IOSTAT = ios, ERR = 901) 502 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namp4zprod in reference namelist', lwp ) 503 507 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namp4zprod in reference namelist', lwp ) 504 508 REWIND( numnatp_cfg ) ! Namelist nampisprod in configuration namelist : Pisces phytoplankton production 505 509 READ ( numnatp_cfg, namp4zprod, IOSTAT = ios, ERR = 902 ) 506 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namp4zprod in configuration namelist', lwp )507 IF(lwm) WRITE 510 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namp4zprod in configuration namelist', lwp ) 511 IF(lwm) WRITE( numonp, namp4zprod ) 508 512 509 513 IF(lwp) THEN ! control print 510 WRITE(numout,*) ' ' 511 WRITE(numout,*) ' Namelist parameters for phytoplankton growth, namp4zprod' 512 WRITE(numout,*) ' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~' 513 WRITE(numout,*) ' Enable new parame. of production (T/F) ln_newprod =', ln_newprod 514 WRITE(numout,*) ' mean Si/C ratio grosip =', grosip 515 WRITE(numout,*) ' P-I slope pislopen =', pislopen 516 WRITE(numout,*) ' Acclimation factor to low light xadap =', xadap 517 WRITE(numout,*) ' excretion ratio of nanophytoplankton excretn =', excretn 518 WRITE(numout,*) ' excretion ratio of diatoms excretd =', excretd 514 WRITE(numout,*) ' Namelist : namp4zprod' 515 WRITE(numout,*) ' Enable new parame. of production (T/F) ln_newprod =', ln_newprod 516 WRITE(numout,*) ' mean Si/C ratio grosip =', grosip 517 WRITE(numout,*) ' P-I slope pislopen =', pislopen 518 WRITE(numout,*) ' Acclimation factor to low light xadap =', xadap 519 WRITE(numout,*) ' excretion ratio of nanophytoplankton excretn =', excretn 520 WRITE(numout,*) ' excretion ratio of diatoms excretd =', excretd 519 521 IF( ln_newprod ) THEN 520 WRITE(numout,*) ' basal respiration in phytoplankton bresp =', bresp521 WRITE(numout,*) ' Maximum Chl/C in phytoplankton chlcmin =', chlcmin522 WRITE(numout,*) ' basal respiration in phytoplankton bresp =', bresp 523 WRITE(numout,*) ' Maximum Chl/C in phytoplankton chlcmin =', chlcmin 522 524 ENDIF 523 WRITE(numout,*) ' P-I slope for diatoms pisloped =', pisloped524 WRITE(numout,*) ' Minimum Chl/C in nanophytoplankton chlcnm =', chlcnm525 WRITE(numout,*) ' Minimum Chl/C in diatoms chlcdm =', chlcdm526 WRITE(numout,*) ' Maximum Fe/C in nanophytoplankton fecnm =', fecnm527 WRITE(numout,*) ' Minimum Fe/C in diatoms fecdm =', fecdm525 WRITE(numout,*) ' P-I slope for diatoms pisloped =', pisloped 526 WRITE(numout,*) ' Minimum Chl/C in nanophytoplankton chlcnm =', chlcnm 527 WRITE(numout,*) ' Minimum Chl/C in diatoms chlcdm =', chlcdm 528 WRITE(numout,*) ' Maximum Fe/C in nanophytoplankton fecnm =', fecnm 529 WRITE(numout,*) ' Minimum Fe/C in diatoms fecdm =', fecdm 528 530 ENDIF 529 531 !
Note: See TracChangeset
for help on using the changeset viewer.