Changeset 5385 for trunk/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zmicro.F90
- Timestamp:
- 2015-06-09T15:50:42+02:00 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zmicro.F90
r4996 r5385 59 59 CONTAINS 60 60 61 SUBROUTINE p4z_micro( kt, jnt )61 SUBROUTINE p4z_micro( kt, knt ) 62 62 !!--------------------------------------------------------------------- 63 63 !! *** ROUTINE p4z_micro *** … … 68 68 !!--------------------------------------------------------------------- 69 69 INTEGER, INTENT(in) :: kt ! ocean time step 70 INTEGER, INTENT(in) :: jnt70 INTEGER, INTENT(in) :: knt 71 71 ! 72 72 INTEGER :: ji, jj, jk … … 90 90 DO jj = 1, jpj 91 91 DO ji = 1, jpi 92 zcompaz = MAX( ( tr n(ji,jj,jk,jpzoo) - 1.e-9 ), 0.e0 )92 zcompaz = MAX( ( trb(ji,jj,jk,jpzoo) - 1.e-9 ), 0.e0 ) 93 93 zstep = xstep 94 94 # if defined key_degrad … … 99 99 ! Respiration rates of both zooplankton 100 100 ! ------------------------------------- 101 zrespz = resrat * zfact * tr n(ji,jj,jk,jpzoo) / ( xkmort + trn(ji,jj,jk,jpzoo) ) &101 zrespz = resrat * zfact * trb(ji,jj,jk,jpzoo) / ( xkmort + trb(ji,jj,jk,jpzoo) ) & 102 102 & + resrat * zfact * 3. * nitrfac(ji,jj,jk) 103 103 … … 105 105 ! no real reason except that it seems to be more stable and may mimic predation. 106 106 ! --------------------------------------------------------------- 107 ztortz = mzrat * 1.e6 * zfact * tr n(ji,jj,jk,jpzoo)108 109 zcompadi = MIN( MAX( ( tr n(ji,jj,jk,jpdia) - xthreshdia ), 0.e0 ), xsizedia )110 zcompaph = MAX( ( tr n(ji,jj,jk,jpphy) - xthreshphy ), 0.e0 )111 zcompapoc = MAX( ( tr n(ji,jj,jk,jppoc) - xthreshpoc ), 0.e0 )107 ztortz = mzrat * 1.e6 * zfact * trb(ji,jj,jk,jpzoo) 108 109 zcompadi = MIN( MAX( ( trb(ji,jj,jk,jpdia) - xthreshdia ), 0.e0 ), xsizedia ) 110 zcompaph = MAX( ( trb(ji,jj,jk,jpphy) - xthreshphy ), 0.e0 ) 111 zcompapoc = MAX( ( trb(ji,jj,jk,jppoc) - xthreshpoc ), 0.e0 ) 112 112 113 113 ! Microzooplankton grazing … … 117 117 zdenom = zfoodlim / ( xkgraz + zfoodlim ) 118 118 zdenom2 = zdenom / ( zfood + rtrn ) 119 zgraze = grazrat * zstep * tgfunc2(ji,jj,jk) * tr n(ji,jj,jk,jpzoo)119 zgraze = grazrat * zstep * tgfunc2(ji,jj,jk) * trb(ji,jj,jk,jpzoo) 120 120 121 121 zgrazp = zgraze * xpref2p * zcompaph * zdenom2 … … 123 123 zgrazsd = zgraze * xpref2d * zcompadi * zdenom2 124 124 125 zgrazpf = zgrazp * tr n(ji,jj,jk,jpnfe) / (trn(ji,jj,jk,jpphy) + rtrn)126 zgrazmf = zgrazm * tr n(ji,jj,jk,jpsfe) / (trn(ji,jj,jk,jppoc) + rtrn)127 zgrazsf = zgrazsd * tr n(ji,jj,jk,jpdfe) / (trn(ji,jj,jk,jpdia) + rtrn)125 zgrazpf = zgrazp * trb(ji,jj,jk,jpnfe) / (trb(ji,jj,jk,jpphy) + rtrn) 126 zgrazmf = zgrazm * trb(ji,jj,jk,jpsfe) / (trb(ji,jj,jk,jppoc) + rtrn) 127 zgrazsf = zgrazsd * trb(ji,jj,jk,jpdfe) / (trb(ji,jj,jk,jpdia) + rtrn) 128 128 ! 129 129 zgraztot = zgrazp + zgrazm + zgrazsd … … 165 165 tra(ji,jj,jk,jpphy) = tra(ji,jj,jk,jpphy) - zgrazp 166 166 tra(ji,jj,jk,jpdia) = tra(ji,jj,jk,jpdia) - zgrazsd 167 tra(ji,jj,jk,jpnch) = tra(ji,jj,jk,jpnch) - zgrazp * tr n(ji,jj,jk,jpnch)/(trn(ji,jj,jk,jpphy)+rtrn)168 tra(ji,jj,jk,jpdch) = tra(ji,jj,jk,jpdch) - zgrazsd * tr n(ji,jj,jk,jpdch)/(trn(ji,jj,jk,jpdia)+rtrn)169 tra(ji,jj,jk,jpdsi) = tra(ji,jj,jk,jpdsi) - zgrazsd * tr n(ji,jj,jk,jpdsi)/(trn(ji,jj,jk,jpdia)+rtrn)170 tra(ji,jj,jk,jpgsi) = tra(ji,jj,jk,jpgsi) + zgrazsd * tr n(ji,jj,jk,jpdsi)/(trn(ji,jj,jk,jpdia)+rtrn)167 tra(ji,jj,jk,jpnch) = tra(ji,jj,jk,jpnch) - zgrazp * trb(ji,jj,jk,jpnch)/(trb(ji,jj,jk,jpphy)+rtrn) 168 tra(ji,jj,jk,jpdch) = tra(ji,jj,jk,jpdch) - zgrazsd * trb(ji,jj,jk,jpdch)/(trb(ji,jj,jk,jpdia)+rtrn) 169 tra(ji,jj,jk,jpdsi) = tra(ji,jj,jk,jpdsi) - zgrazsd * trb(ji,jj,jk,jpdsi)/(trb(ji,jj,jk,jpdia)+rtrn) 170 tra(ji,jj,jk,jpgsi) = tra(ji,jj,jk,jpgsi) + zgrazsd * trb(ji,jj,jk,jpdsi)/(trb(ji,jj,jk,jpdia)+rtrn) 171 171 tra(ji,jj,jk,jpnfe) = tra(ji,jj,jk,jpnfe) - zgrazpf 172 172 tra(ji,jj,jk,jpdfe) = tra(ji,jj,jk,jpdfe) - zgrazsf … … 184 184 #if defined key_kriest 185 185 tra(ji,jj,jk,jpnum) = tra(ji,jj,jk,jpnum) + zmortz * xkr_dmicro & 186 - zgrazm * tr n(ji,jj,jk,jpnum) / ( trn(ji,jj,jk,jppoc) + rtrn )186 - zgrazm * trb(ji,jj,jk,jpnum) / ( trb(ji,jj,jk,jppoc) + rtrn ) 187 187 #endif 188 188 END DO … … 190 190 END DO 191 191 ! 192 IF( lk_iomput .AND. jnt == nrdttrc ) THEN192 IF( lk_iomput .AND. knt == nrdttrc ) THEN 193 193 CALL wrk_alloc( jpi, jpj, jpk, zw3d ) 194 194 IF( iom_use( "GRAZ1" ) ) THEN
Note: See TracChangeset
for help on using the changeset viewer.