Changeset 10667 for branches/UKMO/AMM15_v3_6_STABLE_package_collate_BGC_DA/NEMOGCM/NEMO/OPA_SRC/ASM/asmphyto2dbal_ersem.F90
- Timestamp:
- 2019-02-13T11:46:09+01:00 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/AMM15_v3_6_STABLE_package_collate_BGC_DA/NEMOGCM/NEMO/OPA_SRC/ASM/asmphyto2dbal_ersem.F90
r10664 r10667 339 339 340 340 ! Set background state 341 bstate(:,:,:,i_tracer(1)) = tracer_bkg(:,:,:,jp_fabm_ n3n) + &342 & tracer_bkg(:,:,:,jp_fabm_ n4n)343 bstate(:,:,:,i_tracer(2)) = tracer_bkg(:,:,:,jp_fabm_ p1n) + &344 & tracer_bkg(:,:,:,jp_fabm_ p2n) + &345 & tracer_bkg(:,:,:,jp_fabm_ p3n) + &346 & tracer_bkg(:,:,:,jp_fabm_ p4n)347 bstate(:,:,:,i_tracer(3)) = (tracer_bkg(:,:,:,jp_fabm_ z4c) * z4qnc) + &348 & tracer_bkg(:,:,:,jp_fabm_ z5n) + &349 & tracer_bkg(:,:,:,jp_fabm_ z6n)350 bstate(:,:,:,i_tracer(4)) = tracer_bkg(:,:,:,jp_fabm_ r4n) + &351 & tracer_bkg(:,:,:,jp_fabm_ r6n) + &352 & tracer_bkg(:,:,:,jp_fabm_ r8n)353 bstate(:,:,:,i_tracer(5)) = tracer_bkg(:,:,:,jp_fabm_ o3c)341 bstate(:,:,:,i_tracer(1)) = tracer_bkg(:,:,:,jp_fabm_m1+jp_fabm_n3n) + & 342 & tracer_bkg(:,:,:,jp_fabm_m1+jp_fabm_n4n) 343 bstate(:,:,:,i_tracer(2)) = tracer_bkg(:,:,:,jp_fabm_m1+jp_fabm_p1n) + & 344 & tracer_bkg(:,:,:,jp_fabm_m1+jp_fabm_p2n) + & 345 & tracer_bkg(:,:,:,jp_fabm_m1+jp_fabm_p3n) + & 346 & tracer_bkg(:,:,:,jp_fabm_m1+jp_fabm_p4n) 347 bstate(:,:,:,i_tracer(3)) = (tracer_bkg(:,:,:,jp_fabm_m1+jp_fabm_z4c) * z4qnc) + & 348 & tracer_bkg(:,:,:,jp_fabm_m1+jp_fabm_z5n) + & 349 & tracer_bkg(:,:,:,jp_fabm_m1+jp_fabm_z6n) 350 bstate(:,:,:,i_tracer(4)) = tracer_bkg(:,:,:,jp_fabm_m1+jp_fabm_r4n) + & 351 & tracer_bkg(:,:,:,jp_fabm_m1+jp_fabm_r6n) + & 352 & tracer_bkg(:,:,:,jp_fabm_m1+jp_fabm_r8n) 353 bstate(:,:,:,i_tracer(5)) = tracer_bkg(:,:,:,jp_fabm_m1+jp_fabm_o3c) 354 354 bstate(:,:,:,i_tracer(6)) = totalk_bkg(:,:,:) 355 355 … … 359 359 DO jj = 1, jpj 360 360 DO ji = 1, jpi 361 IF ( ( tracer_bkg(ji,jj,1,jp_fabm_ chl1) + tracer_bkg(ji,jj,1,jp_fabm_chl2) + &362 & tracer_bkg(ji,jj,1,jp_fabm_ chl3) + tracer_bkg(ji,jj,1,jp_fabm_chl4) ) .GT. 0.0 ) THEN363 cchl_p(ji,jj) = zmassc * ( tracer_bkg(ji,jj,1,jp_fabm_ p1c) + &364 & tracer_bkg(ji,jj,1,jp_fabm_ p2c) + &365 & tracer_bkg(ji,jj,1,jp_fabm_ p3c) + &366 & tracer_bkg(ji,jj,1,jp_fabm_ p4c) ) / &367 & ( tracer_bkg(ji,jj,1,jp_fabm_ chl1) + &368 & tracer_bkg(ji,jj,1,jp_fabm_ chl2) + &369 & tracer_bkg(ji,jj,1,jp_fabm_ chl3) + &370 & tracer_bkg(ji,jj,1,jp_fabm_ chl4) )361 IF ( ( tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl1) + tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl2) + & 362 & tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl3) + tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl4) ) .GT. 0.0 ) THEN 363 cchl_p(ji,jj) = zmassc * ( tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_p1c) + & 364 & tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_p2c) + & 365 & tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_p3c) + & 366 & tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_p4c) ) / & 367 & ( tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl1) + & 368 & tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl2) + & 369 & tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl3) + & 370 & tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl4) ) 371 371 ENDIF 372 372 END DO … … 395 395 396 396 ! Phytoplankton 397 IF ( ( tracer_bkg(ji,jj,jk,jp_fabm_ p1n) > 0.0 ) .AND. &398 & ( tracer_bkg(ji,jj,jk,jp_fabm_ p2n) > 0.0 ) .AND. &399 & ( tracer_bkg(ji,jj,jk,jp_fabm_ p3n) > 0.0 ) .AND. &400 & ( tracer_bkg(ji,jj,jk,jp_fabm_ p4n) > 0.0 ) .AND. &397 IF ( ( tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p1n) > 0.0 ) .AND. & 398 & ( tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p2n) > 0.0 ) .AND. & 399 & ( tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p3n) > 0.0 ) .AND. & 400 & ( tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p4n) > 0.0 ) .AND. & 401 401 & ( pinc_chltot(ji,jj) /= 0.0 ) ) THEN 402 402 IF ( ld_chltot ) THEN 403 403 ! Phytoplankton nitrogen split up based on existing ratios 404 zfrac_p1n = tracer_bkg(ji,jj,jk,jp_fabm_ p1n) / &405 & ( tracer_bkg(ji,jj,jk,jp_fabm_ p1n) + &406 & tracer_bkg(ji,jj,jk,jp_fabm_ p2n) + &407 & tracer_bkg(ji,jj,jk,jp_fabm_ p3n) + &408 & tracer_bkg(ji,jj,jk,jp_fabm_ p4n) )409 zfrac_p2n = tracer_bkg(ji,jj,jk,jp_fabm_ p2n) / &410 & ( tracer_bkg(ji,jj,jk,jp_fabm_ p1n) + &411 & tracer_bkg(ji,jj,jk,jp_fabm_ p2n) + &412 & tracer_bkg(ji,jj,jk,jp_fabm_ p3n) + &413 & tracer_bkg(ji,jj,jk,jp_fabm_ p4n) )414 zfrac_p3n = tracer_bkg(ji,jj,jk,jp_fabm_ p3n) / &415 & ( tracer_bkg(ji,jj,jk,jp_fabm_ p1n) + &416 & tracer_bkg(ji,jj,jk,jp_fabm_ p2n) + &417 & tracer_bkg(ji,jj,jk,jp_fabm_ p3n) + &418 & tracer_bkg(ji,jj,jk,jp_fabm_ p4n) )419 zfrac_p4n = tracer_bkg(ji,jj,jk,jp_fabm_ p4n) / &420 & ( tracer_bkg(ji,jj,jk,jp_fabm_ p1n) + &421 & tracer_bkg(ji,jj,jk,jp_fabm_ p2n) + &422 & tracer_bkg(ji,jj,jk,jp_fabm_ p3n) + &423 & tracer_bkg(ji,jj,jk,jp_fabm_ p4n) )404 zfrac_p1n = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p1n) / & 405 & ( tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p1n) + & 406 & tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p2n) + & 407 & tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p3n) + & 408 & tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p4n) ) 409 zfrac_p2n = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p2n) / & 410 & ( tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p1n) + & 411 & tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p2n) + & 412 & tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p3n) + & 413 & tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p4n) ) 414 zfrac_p3n = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p3n) / & 415 & ( tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p1n) + & 416 & tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p2n) + & 417 & tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p3n) + & 418 & tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p4n) ) 419 zfrac_p4n = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p4n) / & 420 & ( tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p1n) + & 421 & tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p2n) + & 422 & tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p3n) + & 423 & tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p4n) ) 424 424 ELSE 425 425 ! Phytoplankton nitrogen split up based on assimilation increments … … 431 431 432 432 ! Other phytoplankton variables split up based on existing ratios with nitrogen 433 zrat_chl1_p1n = tracer_bkg(ji,jj,jk,jp_fabm_ chl1) / tracer_bkg(ji,jj,jk,jp_fabm_p1n)434 zrat_p1c_p1n = tracer_bkg(ji,jj,jk,jp_fabm_ p1c) / tracer_bkg(ji,jj,jk,jp_fabm_p1n)435 zrat_p1p_p1n = tracer_bkg(ji,jj,jk,jp_fabm_ p1p) / tracer_bkg(ji,jj,jk,jp_fabm_p1n)436 zrat_p1s_p1n = tracer_bkg(ji,jj,jk,jp_fabm_ p1s) / tracer_bkg(ji,jj,jk,jp_fabm_p1n)437 zrat_chl2_p2n = tracer_bkg(ji,jj,jk,jp_fabm_ chl2) / tracer_bkg(ji,jj,jk,jp_fabm_p2n)438 zrat_p2c_p2n = tracer_bkg(ji,jj,jk,jp_fabm_ p2c) / tracer_bkg(ji,jj,jk,jp_fabm_p2n)439 zrat_p2p_p2n = tracer_bkg(ji,jj,jk,jp_fabm_ p2p) / tracer_bkg(ji,jj,jk,jp_fabm_p2n)440 zrat_chl3_p3n = tracer_bkg(ji,jj,jk,jp_fabm_ chl3) / tracer_bkg(ji,jj,jk,jp_fabm_p3n)441 zrat_p3c_p3n = tracer_bkg(ji,jj,jk,jp_fabm_ p3c) / tracer_bkg(ji,jj,jk,jp_fabm_p3n)442 zrat_p3p_p3n = tracer_bkg(ji,jj,jk,jp_fabm_ p3p) / tracer_bkg(ji,jj,jk,jp_fabm_p3n)443 zrat_chl4_p4n = tracer_bkg(ji,jj,jk,jp_fabm_ chl4) / tracer_bkg(ji,jj,jk,jp_fabm_p4n)444 zrat_p4c_p4n = tracer_bkg(ji,jj,jk,jp_fabm_ p4c) / tracer_bkg(ji,jj,jk,jp_fabm_p4n)445 zrat_p4p_p4n = tracer_bkg(ji,jj,jk,jp_fabm_ p4p) / tracer_bkg(ji,jj,jk,jp_fabm_p4n)433 zrat_chl1_p1n = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_chl1) / tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p1n) 434 zrat_p1c_p1n = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p1c) / tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p1n) 435 zrat_p1p_p1n = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p1p) / tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p1n) 436 zrat_p1s_p1n = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p1s) / tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p1n) 437 zrat_chl2_p2n = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_chl2) / tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p2n) 438 zrat_p2c_p2n = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p2c) / tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p2n) 439 zrat_p2p_p2n = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p2p) / tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p2n) 440 zrat_chl3_p3n = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_chl3) / tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p3n) 441 zrat_p3c_p3n = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p3c) / tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p3n) 442 zrat_p3p_p3n = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p3p) / tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p3n) 443 zrat_chl4_p4n = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_chl4) / tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p4n) 444 zrat_p4c_p4n = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p4c) / tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p4n) 445 zrat_p4p_p4n = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p4p) / tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p4n) 446 446 447 phyto2d_balinc(ji,jj,jk,jp_fabm_ p1n) = outincs(ji,jj,jk,i_tracer(2)) * zfrac_p1n448 phyto2d_balinc(ji,jj,jk,jp_fabm_ p2n) = outincs(ji,jj,jk,i_tracer(2)) * zfrac_p2n449 phyto2d_balinc(ji,jj,jk,jp_fabm_ p3n) = outincs(ji,jj,jk,i_tracer(2)) * zfrac_p3n450 phyto2d_balinc(ji,jj,jk,jp_fabm_ p4n) = outincs(ji,jj,jk,i_tracer(2)) * zfrac_p4n451 phyto2d_balinc(ji,jj,jk,jp_fabm_ chl1) = phyto2d_balinc(ji,jj,jk,jp_fabm_p1n) * zrat_chl1_p1n452 phyto2d_balinc(ji,jj,jk,jp_fabm_ p1c) = phyto2d_balinc(ji,jj,jk,jp_fabm_p1n) * zrat_p1c_p1n453 phyto2d_balinc(ji,jj,jk,jp_fabm_ p1p) = phyto2d_balinc(ji,jj,jk,jp_fabm_p1n) * zrat_p1p_p1n454 phyto2d_balinc(ji,jj,jk,jp_fabm_ p1s) = phyto2d_balinc(ji,jj,jk,jp_fabm_p1n) * zrat_p1s_p1n455 phyto2d_balinc(ji,jj,jk,jp_fabm_ chl2) = phyto2d_balinc(ji,jj,jk,jp_fabm_p2n) * zrat_chl2_p2n456 phyto2d_balinc(ji,jj,jk,jp_fabm_ p2c) = phyto2d_balinc(ji,jj,jk,jp_fabm_p2n) * zrat_p2c_p2n457 phyto2d_balinc(ji,jj,jk,jp_fabm_ p2p) = phyto2d_balinc(ji,jj,jk,jp_fabm_p2n) * zrat_p2p_p2n458 phyto2d_balinc(ji,jj,jk,jp_fabm_ chl3) = phyto2d_balinc(ji,jj,jk,jp_fabm_p3n) * zrat_chl3_p3n459 phyto2d_balinc(ji,jj,jk,jp_fabm_ p3c) = phyto2d_balinc(ji,jj,jk,jp_fabm_p3n) * zrat_p3c_p3n460 phyto2d_balinc(ji,jj,jk,jp_fabm_ p3p) = phyto2d_balinc(ji,jj,jk,jp_fabm_p3n) * zrat_p3p_p3n461 phyto2d_balinc(ji,jj,jk,jp_fabm_ chl4) = phyto2d_balinc(ji,jj,jk,jp_fabm_p4n) * zrat_chl4_p4n462 phyto2d_balinc(ji,jj,jk,jp_fabm_ p4c) = phyto2d_balinc(ji,jj,jk,jp_fabm_p4n) * zrat_p4c_p4n463 phyto2d_balinc(ji,jj,jk,jp_fabm_ p4p) = phyto2d_balinc(ji,jj,jk,jp_fabm_p4n) * zrat_p4p_p4n447 phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p1n) = outincs(ji,jj,jk,i_tracer(2)) * zfrac_p1n 448 phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p2n) = outincs(ji,jj,jk,i_tracer(2)) * zfrac_p2n 449 phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p3n) = outincs(ji,jj,jk,i_tracer(2)) * zfrac_p3n 450 phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p4n) = outincs(ji,jj,jk,i_tracer(2)) * zfrac_p4n 451 phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_chl1) = phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p1n) * zrat_chl1_p1n 452 phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p1c) = phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p1n) * zrat_p1c_p1n 453 phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p1p) = phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p1n) * zrat_p1p_p1n 454 phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p1s) = phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p1n) * zrat_p1s_p1n 455 phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_chl2) = phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p2n) * zrat_chl2_p2n 456 phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p2c) = phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p2n) * zrat_p2c_p2n 457 phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p2p) = phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p2n) * zrat_p2p_p2n 458 phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_chl3) = phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p3n) * zrat_chl3_p3n 459 phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p3c) = phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p3n) * zrat_p3c_p3n 460 phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p3p) = phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p3n) * zrat_p3p_p3n 461 phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_chl4) = phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p4n) * zrat_chl4_p4n 462 phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p4c) = phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p4n) * zrat_p4c_p4n 463 phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p4p) = phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p4n) * zrat_p4p_p4n 464 464 ENDIF 465 465 466 466 ! Zooplankton nitrogen split up based on existing ratios 467 467 ! Update carbon and phosphorus according to existing ratios 468 IF ( ( tracer_bkg(ji,jj,jk,jp_fabm_ z4c) > 0.0 ) .AND. &469 & ( tracer_bkg(ji,jj,jk,jp_fabm_ z5n) > 0.0 ) .AND. &470 & ( tracer_bkg(ji,jj,jk,jp_fabm_ z6n) > 0.0 ) ) THEN471 zfrac_z4n = ( tracer_bkg(ji,jj,jk,jp_fabm_ z4c) * z4qnc ) / &472 & ( ( tracer_bkg(ji,jj,jk,jp_fabm_ z4c) * z4qnc ) + &473 & tracer_bkg(ji,jj,jk,jp_fabm_ z5n) + &474 & tracer_bkg(ji,jj,jk,jp_fabm_ z6n) )475 zfrac_z5n = tracer_bkg(ji,jj,jk,jp_fabm_ z5n) / &476 & ( ( tracer_bkg(ji,jj,jk,jp_fabm_ z4c) * z4qnc ) + &477 & tracer_bkg(ji,jj,jk,jp_fabm_ z5n) + &478 & tracer_bkg(ji,jj,jk,jp_fabm_ z6n) )479 zfrac_z6n = tracer_bkg(ji,jj,jk,jp_fabm_ z6n) / &480 & ( ( tracer_bkg(ji,jj,jk,jp_fabm_ z4c) * z4qnc ) + &481 & tracer_bkg(ji,jj,jk,jp_fabm_ z5n) + &482 & tracer_bkg(ji,jj,jk,jp_fabm_ z6n) )468 IF ( ( tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_z4c) > 0.0 ) .AND. & 469 & ( tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_z5n) > 0.0 ) .AND. & 470 & ( tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_z6n) > 0.0 ) ) THEN 471 zfrac_z4n = ( tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_z4c) * z4qnc ) / & 472 & ( ( tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_z4c) * z4qnc ) + & 473 & tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_z5n) + & 474 & tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_z6n) ) 475 zfrac_z5n = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_z5n) / & 476 & ( ( tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_z4c) * z4qnc ) + & 477 & tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_z5n) + & 478 & tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_z6n) ) 479 zfrac_z6n = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_z6n) / & 480 & ( ( tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_z4c) * z4qnc ) + & 481 & tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_z5n) + & 482 & tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_z6n) ) 483 483 zrat_z4c_z4n = 1.0 / z4qnc 484 zrat_z5c_z5n = tracer_bkg(ji,jj,jk,jp_fabm_ z5c) / tracer_bkg(ji,jj,jk,jp_fabm_z5n)485 zrat_z5p_z5n = tracer_bkg(ji,jj,jk,jp_fabm_ z5p) / tracer_bkg(ji,jj,jk,jp_fabm_z5n)486 zrat_z6c_z6n = tracer_bkg(ji,jj,jk,jp_fabm_ z6c) / tracer_bkg(ji,jj,jk,jp_fabm_z6n)487 zrat_z6p_z6n = tracer_bkg(ji,jj,jk,jp_fabm_ z6p) / tracer_bkg(ji,jj,jk,jp_fabm_z6n)488 phyto2d_balinc(ji,jj,jk,jp_fabm_ z5n) = outincs(ji,jj,jk,i_tracer(3)) * zfrac_z5n489 phyto2d_balinc(ji,jj,jk,jp_fabm_ z6n) = outincs(ji,jj,jk,i_tracer(3)) * zfrac_z6n490 phyto2d_balinc(ji,jj,jk,jp_fabm_ z4c) = outincs(ji,jj,jk,i_tracer(3)) * zfrac_z4n * zrat_z4c_z4n491 phyto2d_balinc(ji,jj,jk,jp_fabm_ z5c) = phyto2d_balinc(ji,jj,jk,jp_fabm_z5n) * zrat_z5c_z5n492 phyto2d_balinc(ji,jj,jk,jp_fabm_ z6c) = phyto2d_balinc(ji,jj,jk,jp_fabm_z6n) * zrat_z6c_z6n493 phyto2d_balinc(ji,jj,jk,jp_fabm_ z5p) = phyto2d_balinc(ji,jj,jk,jp_fabm_z5n) * zrat_z5p_z5n494 phyto2d_balinc(ji,jj,jk,jp_fabm_ z6p) = phyto2d_balinc(ji,jj,jk,jp_fabm_z6n) * zrat_z6p_z6n484 zrat_z5c_z5n = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_z5c) / tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_z5n) 485 zrat_z5p_z5n = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_z5p) / tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_z5n) 486 zrat_z6c_z6n = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_z6c) / tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_z6n) 487 zrat_z6p_z6n = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_z6p) / tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_z6n) 488 phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_z5n) = outincs(ji,jj,jk,i_tracer(3)) * zfrac_z5n 489 phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_z6n) = outincs(ji,jj,jk,i_tracer(3)) * zfrac_z6n 490 phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_z4c) = outincs(ji,jj,jk,i_tracer(3)) * zfrac_z4n * zrat_z4c_z4n 491 phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_z5c) = phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_z5n) * zrat_z5c_z5n 492 phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_z6c) = phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_z6n) * zrat_z6c_z6n 493 phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_z5p) = phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_z5n) * zrat_z5p_z5n 494 phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_z6p) = phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_z6n) * zrat_z6p_z6n 495 495 ENDIF 496 496 497 497 ! Nitrogen nutrient split between nitrate and ammonium based on existing ratios 498 IF ( ( tracer_bkg(ji,jj,jk,jp_fabm_ n3n) > 0.0 ) .AND. &499 & ( tracer_bkg(ji,jj,jk,jp_fabm_ n4n) > 0.0 ) ) THEN500 zfrac_n3n = tracer_bkg(ji,jj,jk,jp_fabm_ n3n) / &501 & (tracer_bkg(ji,jj,jk,jp_fabm_ n3n) + tracer_bkg(ji,jj,jk,jp_fabm_n4n))502 zfrac_n4n = tracer_bkg(ji,jj,jk,jp_fabm_ n4n) / &503 & (tracer_bkg(ji,jj,jk,jp_fabm_ n3n) + tracer_bkg(ji,jj,jk,jp_fabm_n4n))504 phyto2d_balinc(ji,jj,jk,jp_fabm_ n3n) = outincs(ji,jj,jk,i_tracer(1)) * zfrac_n3n505 phyto2d_balinc(ji,jj,jk,jp_fabm_ n4n) = outincs(ji,jj,jk,i_tracer(1)) * zfrac_n4n498 IF ( ( tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_n3n) > 0.0 ) .AND. & 499 & ( tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_n4n) > 0.0 ) ) THEN 500 zfrac_n3n = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_n3n) / & 501 & (tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_n3n) + tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_n4n)) 502 zfrac_n4n = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_n4n) / & 503 & (tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_n3n) + tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_n4n)) 504 phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_n3n) = outincs(ji,jj,jk,i_tracer(1)) * zfrac_n3n 505 phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_n4n) = outincs(ji,jj,jk,i_tracer(1)) * zfrac_n4n 506 506 ENDIF 507 507 508 508 ! Detritus nitrogen split up based on existing ratios 509 509 ! Update carbon and phosphorus according to existing ratios 510 IF ( ( tracer_bkg(ji,jj,jk,jp_fabm_ r4n) > 0.0 ) .AND. &511 & ( tracer_bkg(ji,jj,jk,jp_fabm_ r6n) > 0.0 ) .AND. &512 & ( tracer_bkg(ji,jj,jk,jp_fabm_ r8n) > 0.0 ) ) THEN513 zfrac_r4n = tracer_bkg(ji,jj,jk,jp_fabm_ r4n) / &514 & (tracer_bkg(ji,jj,jk,jp_fabm_ r4n) + &515 & tracer_bkg(ji,jj,jk,jp_fabm_ r6n) + &516 & tracer_bkg(ji,jj,jk,jp_fabm_ r8n))517 zfrac_r6n = tracer_bkg(ji,jj,jk,jp_fabm_ r6n) / &518 & (tracer_bkg(ji,jj,jk,jp_fabm_ r4n) + &519 & tracer_bkg(ji,jj,jk,jp_fabm_ r6n) + &520 & tracer_bkg(ji,jj,jk,jp_fabm_ r8n))521 zfrac_r8n = tracer_bkg(ji,jj,jk,jp_fabm_ r8n) / &522 & (tracer_bkg(ji,jj,jk,jp_fabm_ r4n) + &523 & tracer_bkg(ji,jj,jk,jp_fabm_ r6n) + &524 & tracer_bkg(ji,jj,jk,jp_fabm_ r8n))525 zrat_r4c_r4n = tracer_bkg(ji,jj,jk,jp_fabm_ r4c) / tracer_bkg(ji,jj,jk,jp_fabm_r4n)526 zrat_r4p_r4n = tracer_bkg(ji,jj,jk,jp_fabm_ r4p) / tracer_bkg(ji,jj,jk,jp_fabm_r4n)527 zrat_r6c_r6n = tracer_bkg(ji,jj,jk,jp_fabm_ r6c) / tracer_bkg(ji,jj,jk,jp_fabm_r6n)528 zrat_r6p_r6n = tracer_bkg(ji,jj,jk,jp_fabm_ r6p) / tracer_bkg(ji,jj,jk,jp_fabm_r6n)529 zrat_r6s_r6n = tracer_bkg(ji,jj,jk,jp_fabm_ r6s) / tracer_bkg(ji,jj,jk,jp_fabm_r6n)530 zrat_r8c_r8n = tracer_bkg(ji,jj,jk,jp_fabm_ r8c) / tracer_bkg(ji,jj,jk,jp_fabm_r8n)531 zrat_r8p_r8n = tracer_bkg(ji,jj,jk,jp_fabm_ r8p) / tracer_bkg(ji,jj,jk,jp_fabm_r8n)532 zrat_r8s_r8n = tracer_bkg(ji,jj,jk,jp_fabm_ r8s) / tracer_bkg(ji,jj,jk,jp_fabm_r8n)533 phyto2d_balinc(ji,jj,jk,jp_fabm_ r4n) = outincs(ji,jj,jk,i_tracer(1)) * zfrac_r4n534 phyto2d_balinc(ji,jj,jk,jp_fabm_ r6n) = outincs(ji,jj,jk,i_tracer(1)) * zfrac_r6n535 phyto2d_balinc(ji,jj,jk,jp_fabm_ r8n) = outincs(ji,jj,jk,i_tracer(1)) * zfrac_r8n536 phyto2d_balinc(ji,jj,jk,jp_fabm_ r4c) = phyto2d_balinc(ji,jj,jk,jp_fabm_r4n) * zrat_r4c_r4n537 phyto2d_balinc(ji,jj,jk,jp_fabm_ r4p) = phyto2d_balinc(ji,jj,jk,jp_fabm_r4n) * zrat_r4p_r4n538 phyto2d_balinc(ji,jj,jk,jp_fabm_ r6c) = phyto2d_balinc(ji,jj,jk,jp_fabm_r6n) * zrat_r6c_r6n539 phyto2d_balinc(ji,jj,jk,jp_fabm_ r6p) = phyto2d_balinc(ji,jj,jk,jp_fabm_r6n) * zrat_r6p_r6n540 phyto2d_balinc(ji,jj,jk,jp_fabm_ r6s) = phyto2d_balinc(ji,jj,jk,jp_fabm_r6n) * zrat_r6s_r6n541 phyto2d_balinc(ji,jj,jk,jp_fabm_ r8c) = phyto2d_balinc(ji,jj,jk,jp_fabm_r8n) * zrat_r8c_r8n542 phyto2d_balinc(ji,jj,jk,jp_fabm_ r8p) = phyto2d_balinc(ji,jj,jk,jp_fabm_r8n) * zrat_r8p_r8n543 phyto2d_balinc(ji,jj,jk,jp_fabm_ r8s) = phyto2d_balinc(ji,jj,jk,jp_fabm_r8n) * zrat_r8s_r8n510 IF ( ( tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_r4n) > 0.0 ) .AND. & 511 & ( tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_r6n) > 0.0 ) .AND. & 512 & ( tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_r8n) > 0.0 ) ) THEN 513 zfrac_r4n = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_r4n) / & 514 & (tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_r4n) + & 515 & tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_r6n) + & 516 & tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_r8n)) 517 zfrac_r6n = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_r6n) / & 518 & (tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_r4n) + & 519 & tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_r6n) + & 520 & tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_r8n)) 521 zfrac_r8n = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_r8n) / & 522 & (tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_r4n) + & 523 & tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_r6n) + & 524 & tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_r8n)) 525 zrat_r4c_r4n = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_r4c) / tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_r4n) 526 zrat_r4p_r4n = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_r4p) / tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_r4n) 527 zrat_r6c_r6n = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_r6c) / tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_r6n) 528 zrat_r6p_r6n = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_r6p) / tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_r6n) 529 zrat_r6s_r6n = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_r6s) / tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_r6n) 530 zrat_r8c_r8n = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_r8c) / tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_r8n) 531 zrat_r8p_r8n = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_r8p) / tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_r8n) 532 zrat_r8s_r8n = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_r8s) / tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_r8n) 533 phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_r4n) = outincs(ji,jj,jk,i_tracer(1)) * zfrac_r4n 534 phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_r6n) = outincs(ji,jj,jk,i_tracer(1)) * zfrac_r6n 535 phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_r8n) = outincs(ji,jj,jk,i_tracer(1)) * zfrac_r8n 536 phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_r4c) = phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_r4n) * zrat_r4c_r4n 537 phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_r4p) = phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_r4n) * zrat_r4p_r4n 538 phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_r6c) = phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_r6n) * zrat_r6c_r6n 539 phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_r6p) = phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_r6n) * zrat_r6p_r6n 540 phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_r6s) = phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_r6n) * zrat_r6s_r6n 541 phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_r8c) = phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_r8n) * zrat_r8c_r8n 542 phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_r8p) = phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_r8n) * zrat_r8p_r8n 543 phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_r8s) = phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_r8n) * zrat_r8s_r8n 544 544 ENDIF 545 545 546 546 ! DIC straight from balancing scheme 547 phyto2d_balinc(ji,jj,jk,jp_fabm_ o3c) = outincs(ji,jj,jk,i_tracer(5))547 phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_o3c) = outincs(ji,jj,jk,i_tracer(5)) 548 548 549 549 ! Alkalinity straight from balancing scheme 550 phyto2d_balinc(ji,jj,jk,jp_fabm_ o3ba) = outincs(ji,jj,jk,i_tracer(6))550 phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_o3ba) = outincs(ji,jj,jk,i_tracer(6)) 551 551 552 552 ! Remove P/R silicon increments from silicate to conserve mass 553 zfrac = phyto2d_balinc(ji,jj,jk,jp_fabm_ p1s) + &554 & phyto2d_balinc(ji,jj,jk,jp_fabm_ r6s) + &555 & phyto2d_balinc(ji,jj,jk,jp_fabm_ r8s)556 IF ( ( tracer_bkg(ji,jj,jk,jp_fabm_ n5s) - zfrac ) > 0.0 ) THEN557 phyto2d_balinc(ji,jj,jk,jp_fabm_ n5s) = zfrac * (-1.0)553 zfrac = phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p1s) + & 554 & phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_r6s) + & 555 & phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_r8s) 556 IF ( ( tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_n5s) - zfrac ) > 0.0 ) THEN 557 phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_n5s) = zfrac * (-1.0) 558 558 ENDIF 559 559 560 560 ! Remove P/Z/R phosphorus increments from phosphate to conserve mass 561 zfrac = phyto2d_balinc(ji,jj,jk,jp_fabm_ p1p) + &562 & phyto2d_balinc(ji,jj,jk,jp_fabm_ p2p) + &563 & phyto2d_balinc(ji,jj,jk,jp_fabm_ p3p) + &564 & phyto2d_balinc(ji,jj,jk,jp_fabm_ p4p) + &565 & phyto2d_balinc(ji,jj,jk,jp_fabm_ z5p) + &566 & phyto2d_balinc(ji,jj,jk,jp_fabm_ z6p) + &567 & phyto2d_balinc(ji,jj,jk,jp_fabm_ r4p) + &568 & phyto2d_balinc(ji,jj,jk,jp_fabm_ r6p) + &569 & phyto2d_balinc(ji,jj,jk,jp_fabm_ r8p)570 IF ( ( tracer_bkg(ji,jj,jk,jp_fabm_ n1p) - zfrac ) > 0.0 ) THEN571 phyto2d_balinc(ji,jj,jk,jp_fabm_ n1p) = zfrac * (-1.0)561 zfrac = phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p1p) + & 562 & phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p2p) + & 563 & phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p3p) + & 564 & phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p4p) + & 565 & phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_z5p) + & 566 & phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_z6p) + & 567 & phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_r4p) + & 568 & phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_r6p) + & 569 & phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_r8p) 570 IF ( ( tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_n1p) - zfrac ) > 0.0 ) THEN 571 phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_n1p) = zfrac * (-1.0) 572 572 ENDIF 573 573 … … 581 581 DO jj = 1, jpj 582 582 DO ji = 1, jpi 583 IF ( ( tracer_bkg(ji,jj,1,jp_fabm_ chl1) > 0.0 ) .AND. &584 & ( tracer_bkg(ji,jj,1,jp_fabm_ chl2) > 0.0 ) .AND. &585 & ( tracer_bkg(ji,jj,1,jp_fabm_ chl3) > 0.0 ) .AND. &586 & ( tracer_bkg(ji,jj,1,jp_fabm_ chl4) > 0.0 ) ) THEN583 IF ( ( tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl1) > 0.0 ) .AND. & 584 & ( tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl2) > 0.0 ) .AND. & 585 & ( tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl3) > 0.0 ) .AND. & 586 & ( tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl4) > 0.0 ) ) THEN 587 587 IF ( ld_chltot ) THEN 588 588 ! Chlorophyll split up based on existing ratios 589 zfrac_chl1 = tracer_bkg(ji,jj,1,jp_fabm_ chl1) / &590 & ( tracer_bkg(ji,jj,1,jp_fabm_ chl1) + &591 & tracer_bkg(ji,jj,1,jp_fabm_ chl2) + &592 & tracer_bkg(ji,jj,1,jp_fabm_ chl3) + &593 & tracer_bkg(ji,jj,1,jp_fabm_ chl4) )594 zfrac_chl2 = tracer_bkg(ji,jj,1,jp_fabm_ chl2) / &595 & ( tracer_bkg(ji,jj,1,jp_fabm_ chl1) + &596 & tracer_bkg(ji,jj,1,jp_fabm_ chl2) + &597 & tracer_bkg(ji,jj,1,jp_fabm_ chl3) + &598 & tracer_bkg(ji,jj,1,jp_fabm_ chl4) )599 zfrac_chl3 = tracer_bkg(ji,jj,1,jp_fabm_ chl3) / &600 & ( tracer_bkg(ji,jj,1,jp_fabm_ chl1) + &601 & tracer_bkg(ji,jj,1,jp_fabm_ chl2) + &602 & tracer_bkg(ji,jj,1,jp_fabm_ chl3) + &603 & tracer_bkg(ji,jj,1,jp_fabm_ chl4) )604 zfrac_chl4 = tracer_bkg(ji,jj,1,jp_fabm_ chl4) / &605 & ( tracer_bkg(ji,jj,1,jp_fabm_ chl1) + &606 & tracer_bkg(ji,jj,1,jp_fabm_ chl2) + &607 & tracer_bkg(ji,jj,1,jp_fabm_ chl3) + &608 & tracer_bkg(ji,jj,1,jp_fabm_ chl4) )609 phyto2d_balinc(ji,jj,1,jp_fabm_ chl1) = pinc_chltot(ji,jj) * zfrac_chl1610 phyto2d_balinc(ji,jj,1,jp_fabm_ chl2) = pinc_chltot(ji,jj) * zfrac_chl2611 phyto2d_balinc(ji,jj,1,jp_fabm_ chl3) = pinc_chltot(ji,jj) * zfrac_chl3612 phyto2d_balinc(ji,jj,1,jp_fabm_ chl4) = pinc_chltot(ji,jj) * zfrac_chl4589 zfrac_chl1 = tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl1) / & 590 & ( tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl1) + & 591 & tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl2) + & 592 & tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl3) + & 593 & tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl4) ) 594 zfrac_chl2 = tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl2) / & 595 & ( tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl1) + & 596 & tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl2) + & 597 & tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl3) + & 598 & tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl4) ) 599 zfrac_chl3 = tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl3) / & 600 & ( tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl1) + & 601 & tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl2) + & 602 & tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl3) + & 603 & tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl4) ) 604 zfrac_chl4 = tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl4) / & 605 & ( tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl1) + & 606 & tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl2) + & 607 & tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl3) + & 608 & tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl4) ) 609 phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_chl1) = pinc_chltot(ji,jj) * zfrac_chl1 610 phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_chl2) = pinc_chltot(ji,jj) * zfrac_chl2 611 phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_chl3) = pinc_chltot(ji,jj) * zfrac_chl3 612 phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_chl4) = pinc_chltot(ji,jj) * zfrac_chl4 613 613 ENDIF 614 614 IF( ld_chldia ) THEN 615 phyto2d_balinc(ji,jj,1,jp_fabm_ chl1) = pinc_chldia(ji,jj)615 phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_chl1) = pinc_chldia(ji,jj) 616 616 ENDIF 617 617 IF( ld_chlnan ) THEN 618 phyto2d_balinc(ji,jj,1,jp_fabm_ chl2) = pinc_chlnan(ji,jj)618 phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_chl2) = pinc_chlnan(ji,jj) 619 619 ENDIF 620 620 IF( ld_chlpic ) THEN 621 phyto2d_balinc(ji,jj,1,jp_fabm_ chl3) = pinc_chlpic(ji,jj)621 phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_chl3) = pinc_chlpic(ji,jj) 622 622 ENDIF 623 623 IF( ld_chldin ) THEN 624 phyto2d_balinc(ji,jj,1,jp_fabm_ chl4) = pinc_chldin(ji,jj)624 phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_chl4) = pinc_chldin(ji,jj) 625 625 ENDIF 626 626 627 627 ! Maintain stoichiometric ratios of carbon, nitrogen, phosphorus and silicon 628 628 IF ( ld_chltot .OR. ld_chldia ) THEN 629 zrat_p1c_chl1 = tracer_bkg(ji,jj,1,jp_fabm_ p1c) / tracer_bkg(ji,jj,1,jp_fabm_chl1)630 zrat_p1n_chl1 = tracer_bkg(ji,jj,1,jp_fabm_ p1n) / tracer_bkg(ji,jj,1,jp_fabm_chl1)631 zrat_p1p_chl1 = tracer_bkg(ji,jj,1,jp_fabm_ p1p) / tracer_bkg(ji,jj,1,jp_fabm_chl1)632 zrat_p1s_chl1 = tracer_bkg(ji,jj,1,jp_fabm_ p1s) / tracer_bkg(ji,jj,1,jp_fabm_chl1)633 phyto2d_balinc(ji,jj,1,jp_fabm_ p1c) = phyto2d_balinc(ji,jj,1,jp_fabm_chl1) * zrat_p1c_chl1634 phyto2d_balinc(ji,jj,1,jp_fabm_ p1n) = phyto2d_balinc(ji,jj,1,jp_fabm_chl1) * zrat_p1n_chl1635 phyto2d_balinc(ji,jj,1,jp_fabm_ p1p) = phyto2d_balinc(ji,jj,1,jp_fabm_chl1) * zrat_p1p_chl1636 phyto2d_balinc(ji,jj,1,jp_fabm_ p1s) = phyto2d_balinc(ji,jj,1,jp_fabm_chl1) * zrat_p1s_chl1629 zrat_p1c_chl1 = tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_p1c) / tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl1) 630 zrat_p1n_chl1 = tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_p1n) / tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl1) 631 zrat_p1p_chl1 = tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_p1p) / tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl1) 632 zrat_p1s_chl1 = tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_p1s) / tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl1) 633 phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_p1c) = phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_chl1) * zrat_p1c_chl1 634 phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_p1n) = phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_chl1) * zrat_p1n_chl1 635 phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_p1p) = phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_chl1) * zrat_p1p_chl1 636 phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_p1s) = phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_chl1) * zrat_p1s_chl1 637 637 ENDIF 638 638 IF ( ld_chltot .OR. ld_chlnan ) THEN 639 zrat_p2c_chl2 = tracer_bkg(ji,jj,1,jp_fabm_ p2c) / tracer_bkg(ji,jj,1,jp_fabm_chl2)640 zrat_p2n_chl2 = tracer_bkg(ji,jj,1,jp_fabm_ p2n) / tracer_bkg(ji,jj,1,jp_fabm_chl2)641 zrat_p2p_chl2 = tracer_bkg(ji,jj,1,jp_fabm_ p2p) / tracer_bkg(ji,jj,1,jp_fabm_chl2)642 phyto2d_balinc(ji,jj,1,jp_fabm_ p2c) = phyto2d_balinc(ji,jj,1,jp_fabm_chl2) * zrat_p2c_chl2643 phyto2d_balinc(ji,jj,1,jp_fabm_ p2n) = phyto2d_balinc(ji,jj,1,jp_fabm_chl2) * zrat_p2n_chl2644 phyto2d_balinc(ji,jj,1,jp_fabm_ p2p) = phyto2d_balinc(ji,jj,1,jp_fabm_chl2) * zrat_p2p_chl2639 zrat_p2c_chl2 = tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_p2c) / tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl2) 640 zrat_p2n_chl2 = tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_p2n) / tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl2) 641 zrat_p2p_chl2 = tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_p2p) / tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl2) 642 phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_p2c) = phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_chl2) * zrat_p2c_chl2 643 phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_p2n) = phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_chl2) * zrat_p2n_chl2 644 phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_p2p) = phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_chl2) * zrat_p2p_chl2 645 645 ENDIF 646 646 IF ( ld_chltot .OR. ld_chlpic ) THEN 647 zrat_p3c_chl3 = tracer_bkg(ji,jj,1,jp_fabm_ p3c) / tracer_bkg(ji,jj,1,jp_fabm_chl3)648 zrat_p3n_chl3 = tracer_bkg(ji,jj,1,jp_fabm_ p3n) / tracer_bkg(ji,jj,1,jp_fabm_chl3)649 zrat_p3p_chl3 = tracer_bkg(ji,jj,1,jp_fabm_ p3p) / tracer_bkg(ji,jj,1,jp_fabm_chl3)650 phyto2d_balinc(ji,jj,1,jp_fabm_ p3c) = phyto2d_balinc(ji,jj,1,jp_fabm_chl3) * zrat_p3c_chl3651 phyto2d_balinc(ji,jj,1,jp_fabm_ p3n) = phyto2d_balinc(ji,jj,1,jp_fabm_chl3) * zrat_p3n_chl3652 phyto2d_balinc(ji,jj,1,jp_fabm_ p3p) = phyto2d_balinc(ji,jj,1,jp_fabm_chl3) * zrat_p3p_chl3647 zrat_p3c_chl3 = tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_p3c) / tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl3) 648 zrat_p3n_chl3 = tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_p3n) / tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl3) 649 zrat_p3p_chl3 = tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_p3p) / tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl3) 650 phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_p3c) = phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_chl3) * zrat_p3c_chl3 651 phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_p3n) = phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_chl3) * zrat_p3n_chl3 652 phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_p3p) = phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_chl3) * zrat_p3p_chl3 653 653 ENDIF 654 654 IF ( ld_chltot .OR. ld_chldin ) THEN 655 zrat_p4c_chl4 = tracer_bkg(ji,jj,1,jp_fabm_ p4c) / tracer_bkg(ji,jj,1,jp_fabm_chl4)656 zrat_p4n_chl4 = tracer_bkg(ji,jj,1,jp_fabm_ p4n) / tracer_bkg(ji,jj,1,jp_fabm_chl4)657 zrat_p4p_chl4 = tracer_bkg(ji,jj,1,jp_fabm_ p4p) / tracer_bkg(ji,jj,1,jp_fabm_chl4)658 phyto2d_balinc(ji,jj,1,jp_fabm_ p4c) = phyto2d_balinc(ji,jj,1,jp_fabm_chl4) * zrat_p4c_chl4659 phyto2d_balinc(ji,jj,1,jp_fabm_ p4n) = phyto2d_balinc(ji,jj,1,jp_fabm_chl4) * zrat_p4n_chl4660 phyto2d_balinc(ji,jj,1,jp_fabm_ p4p) = phyto2d_balinc(ji,jj,1,jp_fabm_chl4) * zrat_p4p_chl4655 zrat_p4c_chl4 = tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_p4c) / tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl4) 656 zrat_p4n_chl4 = tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_p4n) / tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl4) 657 zrat_p4p_chl4 = tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_p4p) / tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl4) 658 phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_p4c) = phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_chl4) * zrat_p4c_chl4 659 phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_p4n) = phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_chl4) * zrat_p4n_chl4 660 phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_p4p) = phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_chl4) * zrat_p4p_chl4 661 661 ENDIF 662 662 ENDIF … … 678 678 ! 679 679 DO jk = 2, jkmax 680 phyto2d_balinc(ji,jj,jk,jp_fabm_ chl1) = phyto2d_balinc(ji,jj,1,jp_fabm_chl1)681 phyto2d_balinc(ji,jj,jk,jp_fabm_ p1c) = phyto2d_balinc(ji,jj,1,jp_fabm_p1c)682 phyto2d_balinc(ji,jj,jk,jp_fabm_ p1n) = phyto2d_balinc(ji,jj,1,jp_fabm_p1n)683 phyto2d_balinc(ji,jj,jk,jp_fabm_ p1p) = phyto2d_balinc(ji,jj,1,jp_fabm_p1p)684 phyto2d_balinc(ji,jj,jk,jp_fabm_ p1s) = phyto2d_balinc(ji,jj,1,jp_fabm_p1s)685 phyto2d_balinc(ji,jj,jk,jp_fabm_ chl2) = phyto2d_balinc(ji,jj,1,jp_fabm_chl2)686 phyto2d_balinc(ji,jj,jk,jp_fabm_ p2c) = phyto2d_balinc(ji,jj,1,jp_fabm_p2c)687 phyto2d_balinc(ji,jj,jk,jp_fabm_ p2n) = phyto2d_balinc(ji,jj,1,jp_fabm_p2n)688 phyto2d_balinc(ji,jj,jk,jp_fabm_ p2p) = phyto2d_balinc(ji,jj,1,jp_fabm_p2p)689 phyto2d_balinc(ji,jj,jk,jp_fabm_ chl3) = phyto2d_balinc(ji,jj,1,jp_fabm_chl3)690 phyto2d_balinc(ji,jj,jk,jp_fabm_ p3c) = phyto2d_balinc(ji,jj,1,jp_fabm_p3c)691 phyto2d_balinc(ji,jj,jk,jp_fabm_ p3n) = phyto2d_balinc(ji,jj,1,jp_fabm_p3n)692 phyto2d_balinc(ji,jj,jk,jp_fabm_ p3p) = phyto2d_balinc(ji,jj,1,jp_fabm_p3p)693 phyto2d_balinc(ji,jj,jk,jp_fabm_ chl4) = phyto2d_balinc(ji,jj,1,jp_fabm_chl4)694 phyto2d_balinc(ji,jj,jk,jp_fabm_ p4c) = phyto2d_balinc(ji,jj,1,jp_fabm_p4c)695 phyto2d_balinc(ji,jj,jk,jp_fabm_ p4n) = phyto2d_balinc(ji,jj,1,jp_fabm_p4n)696 phyto2d_balinc(ji,jj,jk,jp_fabm_ p4p) = phyto2d_balinc(ji,jj,1,jp_fabm_p4p)680 phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_chl1) = phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_chl1) 681 phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p1c) = phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_p1c) 682 phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p1n) = phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_p1n) 683 phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p1p) = phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_p1p) 684 phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p1s) = phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_p1s) 685 phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_chl2) = phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_chl2) 686 phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p2c) = phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_p2c) 687 phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p2n) = phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_p2n) 688 phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p2p) = phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_p2p) 689 phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_chl3) = phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_chl3) 690 phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p3c) = phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_p3c) 691 phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p3n) = phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_p3n) 692 phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p3p) = phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_p3p) 693 phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_chl4) = phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_chl4) 694 phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p4c) = phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_p4c) 695 phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p4n) = phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_p4n) 696 phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p4p) = phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_p4p) 697 697 END DO 698 698 !
Note: See TracChangeset
for help on using the changeset viewer.