- 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/p4zmort.F90
r9124 r9169 7 7 !! 2.0 ! 2007-12 (C. Ethe, G. Madec) F90 8 8 !!---------------------------------------------------------------------- 9 !! p4z_mort : 10 !! p4z_mort_init : 11 !!---------------------------------------------------------------------- 12 USE oce_trc ! 13 USE trc ! 14 USE sms_pisces ! 15 USE p4zprod ! 16 USE p4zlim ! 17 USE prtctl_trc ! 9 !! p4z_mort : Compute the mortality terms for phytoplankton 10 !! p4z_mort_init : Initialize the mortality params for phytoplankton 11 !!---------------------------------------------------------------------- 12 USE oce_trc ! shared variables between ocean and passive tracers 13 USE trc ! passive tracers common variables 14 USE sms_pisces ! PISCES Source Minus Sink variables 15 USE p4zprod ! Primary productivity 16 USE p4zlim ! Phytoplankton limitation terms 17 USE prtctl_trc ! print control for debugging 18 18 19 19 IMPLICIT NONE … … 23 23 PUBLIC p4z_mort_init 24 24 25 !! * Shared module variables 26 REAL(wp), PUBLIC :: wchl !: 27 REAL(wp), PUBLIC :: wchld !: 28 REAL(wp), PUBLIC :: wchldm !: 29 REAL(wp), PUBLIC :: mprat !: 30 REAL(wp), PUBLIC :: mprat2 !: 25 REAL(wp), PUBLIC :: wchl !: 26 REAL(wp), PUBLIC :: wchld !: 27 REAL(wp), PUBLIC :: wchldm !: 28 REAL(wp), PUBLIC :: mprat !: 29 REAL(wp), PUBLIC :: mprat2 !: 31 30 32 31 !!---------------------------------------------------------------------- … … 35 34 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 36 35 !!---------------------------------------------------------------------- 37 38 36 CONTAINS 39 37 … … 49 47 INTEGER, INTENT(in) :: kt ! ocean time step 50 48 !!--------------------------------------------------------------------- 51 49 ! 52 50 CALL p4z_nano ! nanophytoplankton 53 51 ! 54 52 CALL p4z_diat ! diatoms 55 53 ! 56 54 END SUBROUTINE p4z_mort 57 55 … … 65 63 !! ** Method : - ??? 66 64 !!--------------------------------------------------------------------- 67 INTEGER :: ji, jj, jk68 REAL(wp) :: zsizerat, zcompaph69 REAL(wp) :: zfactfe, zfactch, zprcaca, zfracal70 REAL(wp) :: ztortp , zrespp , zmortp71 CHARACTER (len=25) :: charout65 INTEGER :: ji, jj, jk 66 REAL(wp) :: zsizerat, zcompaph 67 REAL(wp) :: zfactfe, zfactch, zprcaca, zfracal 68 REAL(wp) :: ztortp , zrespp , zmortp 69 CHARACTER (len=25) :: charout 72 70 !!--------------------------------------------------------------------- 73 71 ! 74 72 IF( ln_timing ) CALL timing_start('p4z_nano') 75 73 ! 76 prodcal(:,:,:) = 0. !:calcite production variable set to zero74 prodcal(:,:,:) = 0._wp ! calcite production variable set to zero 77 75 DO jk = 1, jpkm1 78 76 DO jj = 1, jpj … … 139 137 !! ** Method : - ??? 140 138 !!--------------------------------------------------------------------- 141 INTEGER :: ji, jj, jk142 REAL(wp) :: zfactfe,zfactsi,zfactch, zcompadi143 REAL(wp) :: zrespp2, ztortp2, zmortp2144 REAL(wp) :: zlim2, zlim1145 CHARACTER (len=25) :: charout139 INTEGER :: ji, jj, jk 140 REAL(wp) :: zfactfe,zfactsi,zfactch, zcompadi 141 REAL(wp) :: zrespp2, ztortp2, zmortp2 142 REAL(wp) :: zlim2, zlim1 143 CHARACTER (len=25) :: charout 146 144 !!--------------------------------------------------------------------- 147 145 ! 148 146 IF( ln_timing ) CALL timing_start('p4z_diat') 149 147 ! 150 151 148 ! Aggregation term for diatoms is increased in case of nutrient 152 149 ! stress as observed in reality. The stressed cells become more … … 196 193 END DO 197 194 ! 198 IF(ln_ctl) THEN! print mean trends (used for debugging)195 IF(ln_ctl) THEN ! print mean trends (used for debugging) 199 196 WRITE(charout, FMT="('diat')") 200 197 CALL prt_ctl_trc_info(charout) … … 214 211 !! 215 212 !! ** Method : Read the nampismort namelist and check the parameters 216 !! called at the first timestep213 !! called at the first timestep 217 214 !! 218 215 !! ** input : Namelist nampismort … … 224 221 !!---------------------------------------------------------------------- 225 222 ! 223 IF(lwp) THEN 224 WRITE(numout,*) 225 WRITE(numout,*) 'p4z_mort_init : Initialization of phytoplankton mortality parameters' 226 WRITE(numout,*) '~~~~~~~~~~~~~' 227 ENDIF 228 ! 226 229 REWIND( numnatp_ref ) ! Namelist nampismort in reference namelist : Pisces phytoplankton 227 230 READ ( numnatp_ref, namp4zmort, IOSTAT = ios, ERR = 901) 228 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namp4zmort in reference namelist', lwp ) 229 ! 231 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namp4zmort in reference namelist', lwp ) 230 232 REWIND( numnatp_cfg ) ! Namelist nampismort in configuration namelist : Pisces phytoplankton 231 233 READ ( numnatp_cfg, namp4zmort, IOSTAT = ios, ERR = 902 ) 232 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namp4zmort in configuration namelist', lwp )233 IF(lwm) WRITE 234 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namp4zmort in configuration namelist', lwp ) 235 IF(lwm) WRITE( numonp, namp4zmort ) 234 236 ! 235 237 IF(lwp) THEN ! control print 236 WRITE(numout,*) ' ' 237 WRITE(numout,*) ' Namelist parameters for phytoplankton mortality, namp4zmort' 238 WRITE(numout,*) ' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~' 239 WRITE(numout,*) ' quadratic mortality of phytoplankton wchl =', wchl 240 WRITE(numout,*) ' maximum quadratic mortality of diatoms wchld =', wchld 241 WRITE(numout,*) ' maximum quadratic mortality of diatoms wchldm =', wchldm 242 WRITE(numout,*) ' phytoplankton mortality rate mprat =', mprat 243 WRITE(numout,*) ' Diatoms mortality rate mprat2 =', mprat2 238 WRITE(numout,*) ' Namelist : namp4zmort' 239 WRITE(numout,*) ' quadratic mortality of phytoplankton wchl =', wchl 240 WRITE(numout,*) ' maximum quadratic mortality of diatoms wchld =', wchld 241 WRITE(numout,*) ' maximum quadratic mortality of diatoms wchldm =', wchldm 242 WRITE(numout,*) ' phytoplankton mortality rate mprat =', mprat 243 WRITE(numout,*) ' Diatoms mortality rate mprat2 =', mprat2 244 244 ENDIF 245 245 !
Note: See TracChangeset
for help on using the changeset viewer.