CDIR$ LIST SUBROUTINE p4zdiat #if defined key_passivetrc && defined key_trc_pisces CCC--------------------------------------------------------------------- CCC CCC ROUTINE p4zdiat : PISCES MODEL CCC ****************************** CCC CCC PURPOSE : CCC --------- CCC Compute the mortality terms for diatoms CCC CC INPUT : CC ----- CC argument CC None CC common CC all the common defined in opa CC CC CC OUTPUT : : no CC ------ CC CC EXTERNAL : CC -------- CC None CC CC MODIFICATIONS: CC -------------- CC original : O. Aumont (2002) CC---------------------------------------------------------------------- CC parameters and commons CC ====================== CDIR$ NOLIST USE oce_trc USE trp_trc USE sms IMPLICIT NONE CDIR$ LIST CC---------------------------------------------------------------------- CC local declarations CC ================== INTEGER ji, jj, jk REAL compadi REAL wchl2n(jpi,jpj,jpk) C Aggregation term for diatoms is increased in case of nutrient C stress as observed in reality. The stressed cells become more C sticky and coagulate to sink quickly out of the euphotic zone C ------------------------------------------------------------ C DO jk = 1,jpkm1 DO jj = 1,jpj DO ji = 1,jpi wchl2n(ji,jj,jk)=wchl+0.02*(1.-min(trn(ji,jj,jk,jppo4)/conc1, & trn(ji,jj,jk,jpfer)/conc3,trn(ji,jj,jk,jpsil) & /(xksi(ji,jj)+rtrn),trn(ji,jj,jk,jpno3)/conc1,1.)) END DO END DO END DO DO jk = 1,jpkm1 DO jj = 1,jpj DO ji = 1,jpi C compadi = max((trn(ji,jj,jk,jpdia)-1E-8),0.) C C Aggregation term for diatoms is increased in case of nutrient C stress as observed in reality. The stressed cells become more C sticky and coagulate to sink quickly out of the euphotic zone C ------------------------------------------------------------ C respp2(ji,jj,jk) = rfact2*1E6/rjjss*wchl2n(ji,jj,jk) & *zdiss(ji,jj,jk)*compadi*trn(ji,jj,jk,jpdia)*tmask(ji,jj,jk) # if defined key_off_degrad & *facvol(ji,jj,jk) # endif respds(ji,jj,jk) = respp2(ji,jj,jk) & *trn(ji,jj,jk,jpbsi)/(trn(ji,jj,jk,jpdia)+rtrn) respdf(ji,jj,jk) = respp2(ji,jj,jk) & *trn(ji,jj,jk,jpdfe)/(trn(ji,jj,jk,jpdia)+rtrn) respdch(ji,jj,jk)=respp2(ji,jj,jk) & *trn(ji,jj,jk,jpdch)/(trn(ji,jj,jk,jpdia)+rtrn) C C Phytoplankton mortality. C ------------------------ C tortp2(ji,jj,jk) = mprat2*rfact2/rjjss*trn(ji,jj,jk,jpdia) & /(xkmort+trn(ji,jj,jk,jpdia))*compadi*tmask(ji,jj,jk) # if defined key_off_degrad & *facvol(ji,jj,jk) # endif tortds(ji,jj,jk) = tortp2(ji,jj,jk) & *trn(ji,jj,jk,jpbsi)/(trn(ji,jj,jk,jpdia)+rtrn) tortdf(ji,jj,jk)=tortp2(ji,jj,jk) & *trn(ji,jj,jk,jpdfe)/(trn(ji,jj,jk,jpdia)+rtrn) tortdch(ji,jj,jk)=tortp2(ji,jj,jk) & *trn(ji,jj,jk,jpdch)/(trn(ji,jj,jk,jpdia)+rtrn) C END DO END DO END DO C #endif RETURN END