Changeset 3446 for branches/2012/dev_r3438_LOCEAN15_PISLOB/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zmicro.F90
- Timestamp:
- 2012-08-10T13:13:55+02:00 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2012/dev_r3438_LOCEAN15_PISLOB/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zmicro.F90
r3443 r3446 22 22 USE p4zint ! interpolation and computation of various fields 23 23 USE p4zprod ! production 24 USE iom ! I/O manager 24 25 USE prtctl_trc ! print control for debugging 25 26 … … 29 30 PUBLIC p4z_micro ! called in p4zbio.F90 30 31 PUBLIC p4z_micro_init ! called in trcsms_pisces.F90 31 PUBLIC p4z_micro_alloc ! called in trcsms_pisces.F9032 32 33 33 !! * Shared module variables … … 59 59 CONTAINS 60 60 61 SUBROUTINE p4z_micro( kt )61 SUBROUTINE p4z_micro( kt, jnt ) 62 62 !!--------------------------------------------------------------------- 63 63 !! *** ROUTINE p4z_micro *** … … 67 67 !! ** Method : - ??? 68 68 !!--------------------------------------------------------------------- 69 INTEGER, INTENT(in) :: kt ! ocean time step 69 INTEGER, INTENT(in) :: kt ! ocean time step 70 INTEGER, INTENT(in) :: jnt 71 ! 70 72 INTEGER :: ji, jj, jk 71 73 REAL(wp) :: zcompadi, zcompaz , zcompaph, zcompapoc … … 77 79 REAL(wp) :: zgrazp, zgrazm, zgrazsd 78 80 REAL(wp) :: zgrazmf, zgrazsf, zgrazpf 81 REAL(wp) :: zrfact2 82 REAL(wp), POINTER, DIMENSION(:,:,:) :: zgrazing 79 83 CHARACTER (len=25) :: charout 80 84 !!--------------------------------------------------------------------- … … 82 86 IF( nn_timing == 1 ) CALL timing_start('p4z_micro') 83 87 ! 84 grazing(:,:,:) = 0. !: grazing set to zero 88 IF( ln_diatrc .AND. lk_iomput ) CALL wrk_alloc( jpi, jpj, jpk, zgrazing ) 89 ! 85 90 DO jk = 1, jpkm1 86 91 DO jj = 1, jpj … … 127 132 128 133 ! Grazing by microzooplankton 129 grazing(ji,jj,jk) = grazing(ji,jj,jk) +zgraztot134 IF( ln_diatrc .AND. lk_iomput ) zgrazing(ji,jj,jk) = zgraztot 130 135 131 136 ! Various remineralization and excretion terms … … 185 190 END DO 186 191 ! 192 IF( ln_diatrc .AND. lk_iomput .AND. jnt == nrdttrc ) THEN 193 zrfact2 = 1.e3 * rfact2r 194 CALL iom_put( "GRAZ1" , zgrazing(:,:,:) * zrfact2 * tmask(:,:,:) ) ! Total grazing of phyto by zooplankton 195 ENDIF 196 ! 187 197 IF(ln_ctl) THEN ! print mean trends (used for debugging) 188 198 WRITE(charout, FMT="('micro')") … … 190 200 CALL prt_ctl_trc(tab4d=tra, mask=tmask, clinfo=ctrcnm) 191 201 ENDIF 202 ! 203 IF( ln_diatrc .AND. lk_iomput ) CALL wrk_dealloc( jpi, jpj, jpk, zgrazing ) 192 204 ! 193 205 IF( nn_timing == 1 ) CALL timing_stop('p4z_micro') … … 240 252 END SUBROUTINE p4z_micro_init 241 253 242 INTEGER FUNCTION p4z_micro_alloc()243 !!----------------------------------------------------------------------244 !! *** ROUTINE p4z_micro_alloc ***245 !!----------------------------------------------------------------------246 ALLOCATE( grazing(jpi,jpj,jpk), STAT=p4z_micro_alloc )247 IF( p4z_micro_alloc /= 0 ) CALL ctl_warn('p4z_micro_alloc : failed to allocate arrays.')248 249 END FUNCTION p4z_micro_alloc250 251 254 #else 252 255 !!======================================================================
Note: See TracChangeset
for help on using the changeset viewer.