Changeset 3294 for trunk/NEMOGCM/NEMO/TOP_SRC/PISCES/trcini_pisces.F90
- Timestamp:
- 2012-01-28T17:44:18+01:00 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMOGCM/NEMO/TOP_SRC/PISCES/trcini_pisces.F90
r2715 r3294 17 17 !!---------------------------------------------------------------------- 18 18 USE par_trc ! TOP parameters 19 USE sms_pisces ! Source Minus Sink variables 20 USE trc 21 USE oce_trc ! ocean variables 22 USE p4zche 23 USE p4zche ! 24 USE p4zsink ! 25 USE p4zopt ! 26 USE p4zprod ! 27 USE p4zrem ! 28 USE p4zsed ! 29 USE p4zflx ! 19 USE oce_trc ! shared variables between ocean and passive tracers 20 USE trc ! passive tracers common variables 21 USE sms_pisces ! PISCES Source Minus Sink variables 22 USE p4zche ! Chemical model 23 USE p4zsink ! vertical flux of particulate matter due to sinking 24 USE p4zopt ! optical model 25 USE p4zrem ! Remineralisation of organic matter 26 USE p4zflx ! Gas exchange 27 USE p4zsed ! Sedimentation 28 USE p4zlim ! Co-limitations of differents nutrients 29 USE p4zprod ! Growth rate of the 2 phyto groups 30 USE p4zmicro ! Sources and sinks of microzooplankton 31 USE p4zmeso ! Sources and sinks of mesozooplankton 32 USE p4zmort ! Mortality terms for phytoplankton 33 USE p4zlys ! Calcite saturation 34 USE p4zsed ! Sedimentation 30 35 31 36 IMPLICIT NONE … … 40 45 REAL(wp) :: bioma0 = 1.000e-8_wp 41 46 REAL(wp) :: silic1 = 91.65e-6_wp 42 REAL(wp) :: no3 = 31.04e-6_wp * 7.6 _wp47 REAL(wp) :: no3 = 31.04e-6_wp * 7.625_wp 43 48 44 49 # include "top_substitute.h90" … … 57 62 !!---------------------------------------------------------------------- 58 63 ! 64 INTEGER :: ji, jj, jk 65 REAL(wp) :: zcaralk, zbicarb, zco3 66 REAL(wp) :: ztmas, ztmas1 67 !!---------------------------------------------------------------------- 59 68 IF(lwp) WRITE(numout,*) 60 69 IF(lwp) WRITE(numout,*) ' trc_ini_pisces : PISCES biochemical model initialisation' … … 76 85 ! Set biological ratios 77 86 ! --------------------- 78 rno3 = (16.+2.) / 122. 79 po4r = 1.e0 / 122. 80 o2nit = 32. / 122. 81 rdenit = 97.6 / 16. 82 o2ut = 140. / 122. 87 rno3 = 16._wp / 122._wp 88 po4r = 1._wp / 122._wp 89 o2nit = 32._wp / 122._wp 90 rdenit = 105._wp / 16._wp 91 rdenita = 3._wp / 5._wp 92 o2ut = 131._wp / 122._wp 83 93 84 94 CALL p4z_che ! initialize the chemical constants … … 124 134 ENDIF 125 135 136 IF( .NOT. ln_rsttr ) THEN 137 ! Initialization of chemical variables of the carbon cycle 138 ! -------------------------------------------------------- 139 DO jk = 1, jpk 140 DO jj = 1, jpj 141 DO ji = 1, jpi 142 ztmas = tmask(ji,jj,jk) 143 ztmas1 = 1. - tmask(ji,jj,jk) 144 zcaralk = trn(ji,jj,jk,jptal) - borat(ji,jj,jk) / ( 1. + 1.E-8 / ( rtrn + akb3(ji,jj,jk) ) ) 145 zco3 = ( zcaralk - trn(ji,jj,jk,jpdic) ) * ztmas + 0.5e-3 * ztmas1 146 zbicarb = ( 2. * trn(ji,jj,jk,jpdic) - zcaralk ) 147 hi(ji,jj,jk) = ( ak23(ji,jj,jk) * zbicarb / zco3 ) * ztmas + 1.e-9 * ztmas1 148 END DO 149 END DO 150 END DO 151 ! 152 END IF 153 154 ! Time step duration for biology 155 xstep = rfact2 / rday 156 157 CALL p4z_sink_init ! vertical flux of particulate organic matter 158 CALL p4z_opt_init ! Optic: PAR in the water column 159 CALL p4z_lim_init ! co-limitations by the various nutrients 160 CALL p4z_prod_init ! phytoplankton growth rate over the global ocean. 161 CALL p4z_rem_init ! remineralisation 162 CALL p4z_mort_init ! phytoplankton mortality 163 CALL p4z_micro_init ! microzooplankton 164 CALL p4z_meso_init ! mesozooplankton 165 CALL p4z_sed_init ! sedimentation 166 CALL p4z_lys_init ! calcite saturation 167 CALL p4z_flx_init ! gas exchange 168 169 ndayflxtr = 0 170 171 IF(lwp) WRITE(numout,*) 126 172 IF(lwp) WRITE(numout,*) 'Initialization of PISCES tracers done' 127 IF(lwp) WRITE(numout,*) ' '173 IF(lwp) WRITE(numout,*) 128 174 ! 129 175 END SUBROUTINE trc_ini_pisces … … 136 182 !! ** Purpose : Allocate all the dynamic arrays of PISCES 137 183 !!---------------------------------------------------------------------- 138 USE p4zint , ONLY : p4z_int_alloc139 USE p4zsink, ONLY : p4z_sink_alloc140 USE p4zopt , ONLY : p4z_opt_alloc141 USE p4zprod, ONLY : p4z_prod_alloc142 USE p4zrem , ONLY : p4z_rem_alloc143 USE p4zsed , ONLY : p4z_sed_alloc144 USE p4zflx , ONLY : p4z_flx_alloc145 184 ! 146 185 INTEGER :: ierr … … 148 187 ! 149 188 ierr = sms_pisces_alloc() ! Start of PISCES-related alloc routines... 150 ierr = ierr + p4z_che_alloc() 151 ierr = ierr + p4z_int_alloc() 152 ierr = ierr + p4z_sink_alloc() 153 ierr = ierr + p4z_opt_alloc() 154 ierr = ierr + p4z_prod_alloc() 155 ierr = ierr + p4z_rem_alloc() 156 ierr = ierr + p4z_sed_alloc() 157 ierr = ierr + p4z_flx_alloc() 189 ierr = ierr + p4z_che_alloc() 190 ierr = ierr + p4z_sink_alloc() 191 ierr = ierr + p4z_opt_alloc() 192 ierr = ierr + p4z_prod_alloc() 193 ierr = ierr + p4z_rem_alloc() 194 ierr = ierr + p4z_sed_alloc() 195 ierr = ierr + p4z_flx_alloc() 158 196 ! 159 197 IF( lk_mpp ) CALL mpp_sum( ierr )
Note: See TracChangeset
for help on using the changeset viewer.