Changeset 775 for branches/dev_001_GM/NEMO/TOP_SRC/PISCES_SMS/p4znano.F90
- Timestamp:
- 2007-12-19T14:45:15+01:00 (16 years ago)
- File:
-
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
branches/dev_001_GM/NEMO/TOP_SRC/PISCES_SMS/p4znano.F90
r774 r775 1 MODULE p4znano 2 !!====================================================================== 3 !! *** MODULE p4znano *** 4 !! TOP : PISCES Compute the mortality terms for nanophytoplankton 5 !!====================================================================== 6 !! History : 1.0 ! 2002 (O. Aumont) Original code 7 !! 2.0 ! 2007-12 (C. Ethe, G. Madec) F90 8 !!---------------------------------------------------------------------- 9 #if defined key_pisces 10 !!---------------------------------------------------------------------- 11 !! 'key_pisces' PISCES bio-model 12 !!---------------------------------------------------------------------- 13 !! p4z_nano : Compute the mortality terms for nanophytoplankton 14 !!---------------------------------------------------------------------- 15 USE oce_trc ! 16 USE trp_trc ! 17 USE sms ! 1 18 2 CCC $Header$ 3 CCC TOP 1.0 , LOCEAN-IPSL (2005) 4 C This software is governed by CeCILL licence see modipsl/doc/NEMO_CeCILL.txt 5 C --------------------------------------------------------------------------- 6 CDIR$ LIST 7 SUBROUTINE p4znano 8 #if defined key_top && defined key_pisces 9 CCC--------------------------------------------------------------------- 10 CCC 11 CCC ROUTINE p4znano : PISCES MODEL 12 CCC ****************************** 13 CCC 14 CCC PURPOSE : 15 CCC --------- 16 CCC Compute the mortality terms for nanophytoplankton 17 CCC 18 CC INPUT : 19 CC ----- 20 CC argument 21 CC None 22 CC common 23 CC all the common defined in opa 24 CC 25 CC 26 CC OUTPUT : : no 27 CC ------ 28 CC 29 CC EXTERNAL : 30 CC -------- 31 CC None 32 CC 33 CC MODIFICATIONS: 34 CC -------------- 35 CC original : O. Aumont (2002) 36 CC---------------------------------------------------------------------- 37 CC parameters and commons 38 CC ====================== 39 CDIR$ NOLIST 40 USE oce_trc 41 USE trp_trc 42 USE sms 43 IMPLICIT NONE 44 CDIR$ LIST 45 CC---------------------------------------------------------------------- 46 CC local declarations 47 CC ================== 48 INTEGER ji, jj, jk 49 REAL zfact,zstep,compaph 50 C 51 C Time step duration for biology 52 C ------------------------------ 53 C 54 zstep=rfact2/rjjss 55 C 56 DO jk = 1,jpkm1 57 DO jj = 1,jpj 58 DO ji = 1,jpi 59 C 60 compaph = max((trn(ji,jj,jk,jpphy)-1E-8),0.) 61 zfact=1./(trn(ji,jj,jk,jpphy)+rtrn) 62 C 63 C Squared mortality of Phyto similar to a sedimentation term during 64 C blooms (Doney et al. 1996) 65 C ----------------------------------------------------------------- 66 C 67 respp(ji,jj,jk) = wchl*1e6*zstep*zdiss(ji,jj,jk) 68 & *compaph*trn(ji,jj,jk,jpphy) 69 # if defined key_off_degrad 70 & *facvol(ji,jj,jk) 71 # endif 19 IMPLICIT NONE 20 PRIVATE 21 22 PUBLIC p4z_nano ! called in p4zbio.F90 23 24 !!* Substitution 25 # include "domzgr_substitute.h90" 26 !!---------------------------------------------------------------------- 27 !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007) 28 !! $Header:$ 29 !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 30 !!---------------------------------------------------------------------- 31 32 CONTAINS 33 34 SUBROUTINE p4z_nano 35 !!--------------------------------------------------------------------- 36 !! *** ROUTINE p4z_nano *** 37 !! 38 !! ** Purpose : Compute the mortality terms for nanophytoplankton 39 !! 40 !! ** Method : - ??? 41 !!--------------------------------------------------------------------- 42 INTEGER :: ji, jj, jk 43 REAL(wp) :: zfact, zstep, zcompaph 44 !!--------------------------------------------------------------------- 45 46 47 zstep = rfact2 / rjjss ! Time step duration for biology 48 49 50 DO jk = 1, jpkm1 51 DO jj = 1, jpj 52 DO ji = 1, jpi 53 54 zcompaph = MAX( ( trn(ji,jj,jk,jpphy) - 1e-8 ), 0.e0 ) 55 zfact = 1./ ( trn(ji,jj,jk,jpphy) + rtrn ) 56 57 ! Squared mortality of Phyto similar to a sedimentation term during 58 ! blooms (Doney et al. 1996) 59 ! ----------------------------------------------------------------- 60 respp(ji,jj,jk) = wchl * 1.e6 * zstep * zdiss(ji,jj,jk) & 61 # if defined key_off_degrad 62 & * facvol(ji,jj,jk) & 63 # endif 64 & * zcompaph * trn(ji,jj,jk,jpphy) 72 65 73 respnf(ji,jj,jk) = respp(ji,jj,jk) 74 & *trn(ji,jj,jk,jpnfe)*zfact 66 respnf (ji,jj,jk) = respp(ji,jj,jk) * trn(ji,jj,jk,jpnfe) * zfact 75 67 76 respnch(ji,jj,jk) = respp(ji,jj,jk) 77 & *trn(ji,jj,jk,jpnch)*zfact 78 C 79 C Phytoplankton mortality. This mortality loss is slightly 80 C increased when nutrients are limiting phytoplankton growth 81 C as observed for instance in case of iron limitation. 82 C ---------------------------------------------------------- 83 C 84 tortp(ji,jj,jk) = mprat*zstep*trn(ji,jj,jk,jpphy) 85 $ /(xkmort+trn(ji,jj,jk,jpphy))*compaph 86 # if defined key_off_degrad 87 & *facvol(ji,jj,jk) 88 # endif 68 respnch(ji,jj,jk) = respp(ji,jj,jk) * trn(ji,jj,jk,jpnch) * zfact 69 70 ! Phytoplankton mortality. This mortality loss is slightly 71 ! increased when nutrients are limiting phytoplankton growth 72 ! as observed for instance in case of iron limitation. 73 ! ---------------------------------------------------------- 74 tortp (ji,jj,jk) = mprat * zstep * trn(ji,jj,jk,jpphy) & 75 # if defined key_off_degrad 76 & * facvol(ji,jj,jk) & 77 # endif 78 & / ( xkmort + trn(ji,jj,jk,jpphy) ) * zcompaph 89 79 90 tortnf(ji,jj,jk)=tortp(ji,jj,jk) 91 & *trn(ji,jj,jk,jpnfe)*zfact 80 tortnf (ji,jj,jk) = tortp(ji,jj,jk) * trn(ji,jj,jk,jpnfe) * zfact 92 81 93 tortnch(ji,jj,jk)=tortp(ji,jj,jk) 94 & *trn(ji,jj,jk,jpnch)*zfact 95 C 82 tortnch(ji,jj,jk) = tortp(ji,jj,jk) * trn(ji,jj,jk,jpnch) * zfact 83 96 84 END DO 97 END DO 98 END DO 99 C 100 #endif 101 RETURN 102 END 85 END DO 86 END DO 87 ! 88 END SUBROUTINE p4z_nano 89 90 #else 91 !!====================================================================== 92 !! Dummy module : No PISCES bio-model 93 !!====================================================================== 94 CONTAINS 95 SUBROUTINE p4z_nano ! Empty routine 96 END SUBROUTINE p4z_nano 97 #endif 98 99 !!====================================================================== 100 END MODULE p4znano
Note: See TracChangeset
for help on using the changeset viewer.