Changeset 13233 for NEMO/branches/2019/dev_r11708_aumont_PISCES_QUOTA/src/TOP/PISCES/P4Z/p4zmort.F90
- Timestamp:
- 2020-07-02T20:34:16+02:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/dev_r11708_aumont_PISCES_QUOTA/src/TOP/PISCES/P4Z/p4zmort.F90
r12537 r13233 48 48 !!--------------------------------------------------------------------- 49 49 ! 50 CALL p4z_ nano ! nanophytoplankton51 CALL p4z_ diat ! diatoms50 CALL p4z_mort_nano ! nanophytoplankton 51 CALL p4z_mort_diat ! diatoms 52 52 ! 53 53 END SUBROUTINE p4z_mort 54 54 55 55 56 SUBROUTINE p4z_ nano57 !!--------------------------------------------------------------------- 58 !! *** ROUTINE p4z_ nano ***56 SUBROUTINE p4z_mort_nano 57 !!--------------------------------------------------------------------- 58 !! *** ROUTINE p4z_mort_nano *** 59 59 !! 60 60 !! ** Purpose : Compute the mortality terms for nanophytoplankton 61 61 !! 62 !! ** Method : - ???62 !! ** Method : Both quadratic and simili linear mortality terms 63 63 !!--------------------------------------------------------------------- 64 64 INTEGER :: ji, jj, jk … … 69 69 !!--------------------------------------------------------------------- 70 70 ! 71 IF( ln_timing ) CALL timing_start('p4z_ nano')71 IF( ln_timing ) CALL timing_start('p4z_mort_nano') 72 72 ! 73 73 prodcal(:,:,:) = 0._wp ! calcite production variable set to zero … … 101 101 tra(ji,jj,jk,jpnch) = tra(ji,jj,jk,jpnch) - zmortp * zfactch 102 102 tra(ji,jj,jk,jpnfe) = tra(ji,jj,jk,jpnfe) - zmortp * zfactfe 103 103 104 ! Production PIC particles due to mortality 104 105 zprcaca = xfracal(ji,jj,jk) * zmortp 105 106 prodcal(ji,jj,jk) = prodcal(ji,jj,jk) + zprcaca ! prodcal=prodcal(nanophy)+prodcal(microzoo)+prodcal(mesozoo) 107 108 ! POC associated with the shell is supposed to be routed to 109 ! big particles because of the ballasting effect 106 110 zfracal = 0.5 * xfracal(ji,jj,jk) 107 111 tra(ji,jj,jk,jpdic) = tra(ji,jj,jk,jpdic) - zprcaca … … 112 116 prodpoc(ji,jj,jk) = prodpoc(ji,jj,jk) + ( 1. - zfracal ) * zmortp 113 117 prodgoc(ji,jj,jk) = prodgoc(ji,jj,jk) + zfracal * zmortp 118 119 ! Update the arrays TRA which contains the biological sources and sinks 114 120 tra(ji,jj,jk,jpsfe) = tra(ji,jj,jk,jpsfe) + ( 1. - zfracal ) * zmortp * zfactfe 115 121 tra(ji,jj,jk,jpbfe) = tra(ji,jj,jk,jpbfe) + zfracal * zmortp * zfactfe … … 124 130 ENDIF 125 131 ! 126 IF( ln_timing ) CALL timing_stop('p4z_ nano')127 ! 128 END SUBROUTINE p4z_ nano129 130 131 SUBROUTINE p4z_ diat132 !!--------------------------------------------------------------------- 133 !! *** ROUTINE p4z_ diat ***132 IF( ln_timing ) CALL timing_stop('p4z_mort_nano') 133 ! 134 END SUBROUTINE p4z_mort_nano 135 136 137 SUBROUTINE p4z_mort_diat 138 !!--------------------------------------------------------------------- 139 !! *** ROUTINE p4z_mort_diat *** 134 140 !! 135 141 !! ** Purpose : Compute the mortality terms for diatoms 136 142 !! 137 !! ** Method : - ???143 !! ** Method : - Both quadratic and simili linear mortality terms 138 144 !!--------------------------------------------------------------------- 139 145 INTEGER :: ji, jj, jk … … 144 150 !!--------------------------------------------------------------------- 145 151 ! 146 IF( ln_timing ) CALL timing_start('p4z_ diat')152 IF( ln_timing ) CALL timing_start('p4z_mort_diat') 147 153 ! 148 154 ! Aggregation term for diatoms is increased in case of nutrient 149 155 ! stress as observed in reality. The stressed cells become more 150 156 ! sticky and coagulate to sink quickly out of the euphotic zone 157 ! This is due to the production of EPS by stressed cells 151 158 ! ------------------------------------------------------------- 152 159 … … 183 190 tra(ji,jj,jk,jpdsi) = tra(ji,jj,jk,jpdsi) - zmortp2 * zfactsi 184 191 tra(ji,jj,jk,jpgsi) = tra(ji,jj,jk,jpgsi) + zmortp2 * zfactsi 192 193 ! Half of the linear mortality term is routed to big particles 194 ! becaue of the ballasting effect 185 195 tra(ji,jj,jk,jpgoc) = tra(ji,jj,jk,jpgoc) + zrespp2 + 0.5 * ztortp2 186 196 tra(ji,jj,jk,jppoc) = tra(ji,jj,jk,jppoc) + 0.5 * ztortp2 … … 199 209 ENDIF 200 210 ! 201 IF( ln_timing ) CALL timing_stop('p4z_ diat')202 ! 203 END SUBROUTINE p4z_ diat211 IF( ln_timing ) CALL timing_stop('p4z_mort_diat') 212 ! 213 END SUBROUTINE p4z_mort_diat 204 214 205 215
Note: See TracChangeset
for help on using the changeset viewer.