Changeset 7180 for branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zfechem.F90
- Timestamp:
- 2016-11-03T16:41:10+01:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zfechem.F90
r6966 r7180 69 69 INTEGER :: ji, jj, jk, jic, jn 70 70 REAL(wp) :: zdep, zlam1a, zlam1b, zlamfac 71 REAL(wp) :: zkeq, zfeequi, zfesatur, zfecoll, fe3sol 71 REAL(wp) :: zkeq, zfeequi, zfesatur, zfecoll, fe3sol, fe3sol1 72 72 REAL(wp) :: zdenom1, zscave, zaggdfea, zaggdfeb, zcoag 73 73 REAL(wp) :: ztrc, zdust … … 279 279 zfecoll = ( 0.3 * zFeL1(ji,jj,jk) + 0.5 * zFeL2(ji,jj,jk) ) * 1E-9 280 280 ELSE 281 zfeequi = zFe3(ji,jj,jk) * 1E-9 281 282 IF (ln_fecolloid) THEN 282 zfeequi = zFe3(ji,jj,jk) * 1E-9283 283 zhplus = max( rtrn, hi(ji,jj,jk) ) 284 fe3sol = fesol(ji,jj,jk,1) * ( fesol(ji,jj,jk,2) * zhplus**2 &284 fe3sol = fesol(ji,jj,jk,1) * ( zhplus**3 + fesol(ji,jj,jk,2) * zhplus**2 & 285 285 & + fesol(ji,jj,jk,3) * zhplus + fesol(ji,jj,jk,4) & 286 286 & + fesol(ji,jj,jk,5) / zhplus ) 287 287 zfecoll = max( ( 0.1 * zFeL1(ji,jj,jk) * 1E-9 ), ( zFeL1(ji,jj,jk) * 1E-9 -fe3sol ) ) 288 #if defined key_ligand 289 zligco = max( ( 0.1 * trn(ji,jj,jk,jplgw) ), ( trn(ji,jj,jk,jplgw) - fe3sol ) ) 290 #endif 288 291 ELSE 289 zfeequi = zFe3(ji,jj,jk) * 1E-9290 292 zfecoll = 0.5 * zFeL1(ji,jj,jk) * 1E-9 293 #if defined key_ligand 294 zligco = 0.5 * trn(ji,jj,jk,jplgw) 295 #endif 291 296 fe3sol = 0. 292 kfep = 0.293 297 ENDIF 294 298 ENDIF … … 324 328 ! ---------------------------------------------------------------- 325 329 zlam1a = ( 0.369 * 0.3 * trb(ji,jj,jk,jpdoc) + 102.4 * trb(ji,jj,jk,jppoc) ) * xdiss(ji,jj,jk) & 326 & + ( 114. * 0.3 * trb(ji,jj,jk,jpdoc) + 0. * trb(ji,jj,jk,jppoc))330 & + ( 114. * 0.3 * trb(ji,jj,jk,jpdoc) ) 327 331 zaggdfea = zlam1a * zstep * zfecoll 328 #if defined key_ligand329 zligco = max( ( 0.1 * trn(ji,jj,jk,jplgw) ), ( trn(ji,jj,jk,jplgw) - fe3sol ) )330 zaggliga = zlam1a * zstep * zligco331 #endif332 332 ! 333 333 #if defined key_kriest 334 334 zaggdfeb = 0. 335 !336 # if defined key_ligand337 zaggligb = 0.338 # endif339 !340 tra(ji,jj,jk,jpfer) = tra(ji,jj,jk,jpfer) - zscave - zaggdfea - zaggdfeb - zcoag341 tra(ji,jj,jk,jpsfe) = tra(ji,jj,jk,jpsfe) + zscave * zdenom1 + zaggdfea + zaggdfeb342 !343 335 #else 344 !345 336 zlam1b = 3.53E3 * trb(ji,jj,jk,jpgoc) * xdiss(ji,jj,jk) 346 337 zaggdfeb = zlam1b * zstep * zfecoll 347 ! 348 # if defined key_ligand 349 zaggligb = zlam1b * zstep * zligco 350 # endif 338 #endif 351 339 ! precipitation of Fe3+, creation of nanoparticles 352 340 precip(ji,jj,jk) = max( 0., (zfeequi - fe3sol) ) * kfep * zstep … … 355 343 & - zcoag - precip(ji,jj,jk) 356 344 tra(ji,jj,jk,jpsfe) = tra(ji,jj,jk,jpsfe) + zscave * zdenom1 + zaggdfea 345 #if ! defined key_kriest 357 346 tra(ji,jj,jk,jpbfe) = tra(ji,jj,jk,jpbfe) + zscave * zdenom2 + zaggdfeb 358 347 #endif 359 348 #if defined key_ligand 349 zaggliga = zlam1a * zstep * zligco 350 # if defined key_kriest 351 zaggligb = 0. 352 # else 353 zaggligb = zlam1b * zstep * zligco 354 # endif 360 355 tra(ji,jj,jk,jpfep) = tra(ji,jj,jk,jpfep) + precip(ji,jj,jk) 361 356 tra(ji,jj,jk,jplgw) = tra(ji,jj,jk,jplgw) - zaggliga - zaggligb … … 404 399 ENDIF 405 400 ! 406 CALL wrk_dealloc( jpi, jpj, jpk, zFe3, zFeL1, zTL1, ztotlig, precip ) 407 IF( ln_fechem ) CALL wrk_dealloc( jpi, jpj, jpk, zFe2, zFeL2, zTL2, zFeP ) 401 CALL wrk_dealloc( jpi, jpj, jpk, zFe3, zFeL1, zTL1, ztotlig, precip ) 402 IF( ln_fechem ) THEN 403 CALL wrk_dealloc( jpi, jpj, zstrn, zstrn2 ) 404 CALL wrk_dealloc( jpi, jpj, jpk, zFe2, zFeL2, zTL2, zFeP ) 405 ENDIF 408 406 ! 409 407 IF( nn_timing == 1 ) CALL timing_stop('p4z_fechem')
Note: See TracChangeset
for help on using the changeset viewer.