- Timestamp:
- 2017-01-04T17:47:47+01:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2016/dev_r6519_HPC_4/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zprod.F90
r7513 r7525 129 129 130 130 IF( lk_degrad ) THEN 131 !$OMP DO schedule(static) private(jk,jj,ji)132 DO jk = 1, jpk133 DO jj = 1, jpj134 DO ji = 1, jpi135 prmax(ji,jj,jk) = prmax(ji,jj,jk) * facvol(ji,jj,jk)136 END DO137 END DO138 END DO131 !$OMP PARALLEL DO schedule(static) private(jk,jj,ji) 132 DO jk = 1, jpk 133 DO jj = 1, jpj 134 DO ji = 1, jpi 135 prmax(ji,jj,jk) = prmax(ji,jj,jk) * facvol(ji,jj,jk) 136 END DO 137 END DO 138 END DO 139 139 END IF 140 140 … … 453 453 IF( iom_use( "PPPHY" ) .OR. iom_use( "PPPHY2" ) ) THEN 454 454 !$OMP PARALLEL DO schedule(static) private(jk,jj,ji) 455 DO jk = 1, jpk 456 DO jj = 1, jpj 457 DO ji = 1, jpi 458 zw3d(ji,jj,jk) = zprorca (ji,jj,jk) * zfact * tmask(ji,jj,jk) ! primary production by nanophyto 459 END DO 460 END DO 461 END DO 462 CALL iom_put( "PPPHY" , zw3d ) 463 !$OMP PARALLEL DO schedule(static) private(jk,jj,ji) 464 DO jk = 1, jpk 465 DO jj = 1, jpj 466 DO ji = 1, jpi 467 zw3d(ji,jj,jk) = zprorcad (ji,jj,jk) * zfact * tmask(ji,jj,jk) ! primary production by nanophyto 468 END DO 469 END DO 470 END DO 455 DO jk = 1, jpk 456 DO jj = 1, jpj 457 DO ji = 1, jpi 458 zw3d(ji,jj,jk) = zprorca (ji,jj,jk) * zfact * tmask(ji,jj,jk) ! primary production by nanophyto 459 END DO 460 END DO 461 END DO 462 CALL iom_put( "PPPHY" , zw3d ) 463 !$OMP PARALLEL DO schedule(static) private(jk,jj,ji) 464 DO jk = 1, jpk 465 DO jj = 1, jpj 466 DO ji = 1, jpi 467 zw3d(ji,jj,jk) = zprorcad (ji,jj,jk) * zfact * tmask(ji,jj,jk) ! primary production by nanophyto 468 END DO 469 END DO 470 END DO 471 ! 472 CALL iom_put( "PPPHY2" , zw3d ) 473 ENDIF 474 IF( iom_use( "PPNEWN" ) .OR. iom_use( "PPNEWD" ) ) THEN 475 !$OMP PARALLEL DO schedule(static) private(jk,jj,ji) 476 DO jk = 1, jpk 477 DO jj = 1, jpj 478 DO ji = 1, jpi 479 zw3d(ji,jj,jk) = zpronew (ji,jj,jk) * zfact * tmask(ji,jj,jk) ! new primary production by nanophyto 480 END DO 481 END DO 482 END DO 483 CALL iom_put( "PPNEWN" , zw3d ) 484 ! 485 !$OMP PARALLEL DO schedule(static) private(jk,jj,ji) 486 DO jk = 1, jpk 487 DO jj = 1, jpj 488 DO ji = 1, jpi 489 zw3d(ji,jj,jk) = zpronewd (ji,jj,jk) * zfact * tmask(ji,jj,jk) ! new primary production by nanophyto 490 END DO 491 END DO 492 END DO 493 CALL iom_put( "PPNEWD" , zw3d ) 494 ENDIF 495 IF( iom_use( "PBSi" ) ) THEN 496 !$OMP PARALLEL DO schedule(static) private(jk,jj,ji) 497 DO jk = 1, jpk 498 DO jj = 1, jpj 499 DO ji = 1, jpi 500 zw3d(ji,jj,jk) = zprorcad(ji,jj,jk) * zfact * tmask(ji,jj,jk) * zysopt(ji,jj,jk) ! biogenic silica production 501 END DO 502 END DO 503 END DO 504 CALL iom_put( "PBSi" , zw3d ) 505 ENDIF 506 IF( iom_use( "PFeN" ) .OR. iom_use( "PFeD" ) ) THEN 507 !$OMP PARALLEL DO schedule(static) private(jk,jj,ji) 508 DO jk = 1, jpk 509 DO jj = 1, jpj 510 DO ji = 1, jpi 511 zw3d(ji,jj,jk) = zprofen(ji,jj,jk) * zfact * tmask(ji,jj,jk) ! biogenic iron production by nanophyto 512 END DO 513 END DO 514 END DO 515 CALL iom_put( "PFeN" , zw3d ) 516 ! 517 !$OMP PARALLEL DO schedule(static) private(jk,jj,ji) 518 DO jk = 1, jpk 519 DO jj = 1, jpj 520 DO ji = 1, jpi 521 zw3d(ji,jj,jk) = zprofed(ji,jj,jk) * zfact * tmask(ji,jj,jk) ! biogenic iron production by nanophyto 522 END DO 523 END DO 524 END DO 525 CALL iom_put( "PFeD" , zw3d ) 526 ENDIF 527 IF( iom_use( "Mumax" ) ) THEN 528 !$OMP PARALLEL DO schedule(static) private(jk,jj,ji) 529 DO jk = 1, jpk 530 DO jj = 1, jpj 531 DO ji = 1, jpi 532 zw3d(ji,jj,jk) = prmax(ji,jj,jk) * tmask(ji,jj,jk) ! Maximum growth rate 533 END DO 534 END DO 535 END DO 536 CALL iom_put( "Mumax" , zw3d ) 537 ENDIF 538 IF( iom_use( "MuN" ) .OR. iom_use( "MuD" ) ) THEN 539 !$OMP PARALLEL DO schedule(static) private(jk,jj,ji) 540 DO jk = 1, jpk 541 DO jj = 1, jpj 542 DO ji = 1, jpi 543 zw3d(ji,jj,jk) = zprbio(ji,jj,jk) * xlimphy(ji,jj,jk) * tmask(ji,jj,jk) ! Realized growth rate for nanophyto 544 END DO 545 END DO 546 END DO 547 CALL iom_put( "MuN" , zw3d ) 471 548 ! 472 CALL iom_put( "PPPHY2" , zw3d ) 473 ENDIF 474 IF( iom_use( "PPNEWN" ) .OR. iom_use( "PPNEWD" ) ) THEN 475 !$OMP PARALLEL DO schedule(static) private(jk,jj,ji) 476 DO jk = 1, jpk 477 DO jj = 1, jpj 478 DO ji = 1, jpi 479 zw3d(ji,jj,jk) = zpronew (ji,jj,jk) * zfact * tmask(ji,jj,jk) ! new primary production by nanophyto 480 END DO 481 END DO 482 END DO 483 CALL iom_put( "PPNEWN" , zw3d ) 484 ! 485 !$OMP PARALLEL DO schedule(static) private(jk,jj,ji) 486 DO jk = 1, jpk 487 DO jj = 1, jpj 488 DO ji = 1, jpi 489 zw3d(ji,jj,jk) = zpronewd (ji,jj,jk) * zfact * tmask(ji,jj,jk) ! new primary production by nanophyto 490 END DO 491 END DO 492 END DO 493 CALL iom_put( "PPNEWD" , zw3d ) 494 ENDIF 495 IF( iom_use( "PBSi" ) ) THEN 496 !$OMP PARALLEL DO schedule(static) private(jk,jj,ji) 497 DO jk = 1, jpk 498 DO jj = 1, jpj 499 DO ji = 1, jpi 500 zw3d(ji,jj,jk) = zprorcad(ji,jj,jk) * zfact * tmask(ji,jj,jk) * zysopt(ji,jj,jk) ! biogenic silica production 501 END DO 502 END DO 503 END DO 504 CALL iom_put( "PBSi" , zw3d ) 505 ENDIF 506 IF( iom_use( "PFeN" ) .OR. iom_use( "PFeD" ) ) THEN 507 !$OMP PARALLEL DO schedule(static) private(jk,jj,ji) 508 DO jk = 1, jpk 509 DO jj = 1, jpj 510 DO ji = 1, jpi 511 zw3d(ji,jj,jk) = zprofen(ji,jj,jk) * zfact * tmask(ji,jj,jk) ! biogenic iron production by nanophyto 512 END DO 513 END DO 514 END DO 515 CALL iom_put( "PFeN" , zw3d ) 516 ! 517 !$OMP PARALLEL DO schedule(static) private(jk,jj,ji) 518 DO jk = 1, jpk 519 DO jj = 1, jpj 520 DO ji = 1, jpi 521 zw3d(ji,jj,jk) = zprofed(ji,jj,jk) * zfact * tmask(ji,jj,jk) ! biogenic iron production by nanophyto 522 END DO 523 END DO 524 END DO 525 CALL iom_put( "PFeD" , zw3d ) 526 ENDIF 527 IF( iom_use( "Mumax" ) ) THEN 528 !$OMP PARALLEL DO schedule(static) private(jk,jj,ji) 529 DO jk = 1, jpk 530 DO jj = 1, jpj 531 DO ji = 1, jpi 532 zw3d(ji,jj,jk) = prmax(ji,jj,jk) * tmask(ji,jj,jk) ! Maximum growth rate 533 END DO 534 END DO 535 END DO 536 CALL iom_put( "Mumax" , zw3d ) 537 ENDIF 538 IF( iom_use( "MuN" ) .OR. iom_use( "MuD" ) ) THEN 539 !$OMP PARALLEL DO schedule(static) private(jk,jj,ji) 540 DO jk = 1, jpk 541 DO jj = 1, jpj 542 DO ji = 1, jpi 543 zw3d(ji,jj,jk) = zprbio(ji,jj,jk) * xlimphy(ji,jj,jk) * tmask(ji,jj,jk) ! Realized growth rate for nanophyto 544 END DO 545 END DO 546 END DO 547 CALL iom_put( "MuN" , zw3d ) 548 ! 549 !$OMP PARALLEL DO schedule(static) private(jk,jj,ji) 550 DO jk = 1, jpk 551 DO jj = 1, jpj 552 DO ji = 1, jpi 553 zw3d(ji,jj,jk) = zprdia(ji,jj,jk) * xlimdia(ji,jj,jk) * tmask(ji,jj,jk) ! Realized growth rate for diatoms 554 END DO 555 END DO 556 END DO 557 CALL iom_put( "MuD" , zw3d ) 549 !$OMP PARALLEL DO schedule(static) private(jk,jj,ji) 550 DO jk = 1, jpk 551 DO jj = 1, jpj 552 DO ji = 1, jpi 553 zw3d(ji,jj,jk) = zprdia(ji,jj,jk) * xlimdia(ji,jj,jk) * tmask(ji,jj,jk) ! Realized growth rate for diatoms 554 END DO 555 END DO 556 END DO 557 CALL iom_put( "MuD" , zw3d ) 558 558 ENDIF 559 559 IF( iom_use( "LNlight" ) .OR. iom_use( "LDlight" ) ) THEN 560 560 !$OMP PARALLEL DO schedule(static) private(jk,jj,ji) 561 DO jk = 1, jpk562 DO jj = 1, jpj563 DO ji = 1, jpi564 zw3d(ji,jj,jk) = zprbio (ji,jj,jk) / (prmax(ji,jj,jk) + rtrn) * tmask(ji,jj,jk) ! light limitation term565 END DO566 END DO567 END DO568 569 570 !$OMP PARALLEL DO schedule(static) private(jk,jj,ji) 571 DO jk = 1, jpk572 DO jj = 1, jpj573 DO ji = 1, jpi574 zw3d(ji,jj,jk) = zprdia (ji,jj,jk) / (prmax(ji,jj,jk) + rtrn) * tmask(ji,jj,jk) ! light limitation term575 END DO576 END DO577 END DO578 561 DO jk = 1, jpk 562 DO jj = 1, jpj 563 DO ji = 1, jpi 564 zw3d(ji,jj,jk) = zprbio (ji,jj,jk) / (prmax(ji,jj,jk) + rtrn) * tmask(ji,jj,jk) ! light limitation term 565 END DO 566 END DO 567 END DO 568 CALL iom_put( "LNlight" , zw3d ) 569 ! 570 !$OMP PARALLEL DO schedule(static) private(jk,jj,ji) 571 DO jk = 1, jpk 572 DO jj = 1, jpj 573 DO ji = 1, jpi 574 zw3d(ji,jj,jk) = zprdia (ji,jj,jk) / (prmax(ji,jj,jk) + rtrn) * tmask(ji,jj,jk) ! light limitation term 575 END DO 576 END DO 577 END DO 578 CALL iom_put( "LDlight" , zw3d ) 579 579 ENDIF 580 580 IF( iom_use( "TPP" ) ) THEN 581 581 !$OMP PARALLEL DO schedule(static) private(jk,jj,ji) 582 DO jk = 1, jpk583 DO jj = 1, jpj584 DO ji = 1, jpi585 zw3d(ji,jj,jk) = ( zprorca(ji,jj,jk) + zprorcad(ji,jj,jk) ) * zfact * tmask(ji,jj,jk) ! total primary production586 END DO587 END DO588 END DO589 582 DO jk = 1, jpk 583 DO jj = 1, jpj 584 DO ji = 1, jpi 585 zw3d(ji,jj,jk) = ( zprorca(ji,jj,jk) + zprorcad(ji,jj,jk) ) * zfact * tmask(ji,jj,jk) ! total primary production 586 END DO 587 END DO 588 END DO 589 CALL iom_put( "TPP" , zw3d ) 590 590 ENDIF 591 591 IF( iom_use( "TPNEW" ) ) THEN 592 592 !$OMP PARALLEL DO schedule(static) private(jk,jj,ji) 593 DO jk = 1, jpk594 DO jj = 1, jpj595 DO ji = 1, jpi596 zw3d(ji,jj,jk) = ( zpronew(ji,jj,jk) + zpronewd(ji,jj,jk) ) * zfact * tmask(ji,jj,jk) ! total new production597 END DO598 END DO599 END DO600 593 DO jk = 1, jpk 594 DO jj = 1, jpj 595 DO ji = 1, jpi 596 zw3d(ji,jj,jk) = ( zpronew(ji,jj,jk) + zpronewd(ji,jj,jk) ) * zfact * tmask(ji,jj,jk) ! total new production 597 END DO 598 END DO 599 END DO 600 CALL iom_put( "TPNEW" , zw3d ) 601 601 ENDIF 602 602 IF( iom_use( "TPBFE" ) ) THEN 603 603 !$OMP PARALLEL DO schedule(static) private(jk,jj,ji) 604 DO jk = 1, jpk605 DO jj = 1, jpj606 DO ji = 1, jpi607 zw3d(ji,jj,jk) = ( zprofen(ji,jj,jk) + zprofed(ji,jj,jk) ) * zfact * tmask(ji,jj,jk) ! total biogenic iron production608 END DO609 END DO610 END DO611 604 DO jk = 1, jpk 605 DO jj = 1, jpj 606 DO ji = 1, jpi 607 zw3d(ji,jj,jk) = ( zprofen(ji,jj,jk) + zprofed(ji,jj,jk) ) * zfact * tmask(ji,jj,jk) ! total biogenic iron production 608 END DO 609 END DO 610 END DO 611 CALL iom_put( "TPBFE" , zw3d ) 612 612 ENDIF 613 613 IF( iom_use( "INTPPPHY" ) .OR. iom_use( "INTPPPHY2" ) ) THEN … … 708 708 ENDDO 709 709 !$OMP END PARALLEL 710 CALL iom_put( "INTPBFE" , zw2d )710 CALL iom_put( "INTPBFE" , zw2d ) 711 711 ENDIF 712 712 IF( iom_use( "INTPBSI" ) ) THEN ! total biogenic silica production ( vertically integrated ) … … 739 739 zfact = 1.e+3 * rfact2r 740 740 !$OMP PARALLEL DO schedule(static) private(jk,jj,ji) 741 742 743 744 745 746 747 748 749 741 DO jk = 1, jpk 742 DO jj = 1, jpj 743 DO ji = 1, jpi 744 trc3d(ji,jj,jk,jp_pcs0_3d + 4) = zprorca (ji,jj,jk) * zfact * tmask(ji,jj,jk) 745 trc3d(ji,jj,jk,jp_pcs0_3d + 5) = zprorcad(ji,jj,jk) * zfact * tmask(ji,jj,jk) 746 trc3d(ji,jj,jk,jp_pcs0_3d + 6) = zpronew (ji,jj,jk) * zfact * tmask(ji,jj,jk) 747 trc3d(ji,jj,jk,jp_pcs0_3d + 7) = zpronewd(ji,jj,jk) * zfact * tmask(ji,jj,jk) 748 trc3d(ji,jj,jk,jp_pcs0_3d + 8) = zprorcad(ji,jj,jk) * zfact * tmask(ji,jj,jk) * zysopt(ji,jj,jk) 749 trc3d(ji,jj,jk,jp_pcs0_3d + 9) = zprofed (ji,jj,jk) * zfact * tmask(ji,jj,jk) 750 750 # if ! defined key_kriest 751 751 trc3d(ji,jj,jk,jp_pcs0_3d + 10) = zprofen (ji,jj,jk) * zfact * tmask(ji,jj,jk) 752 752 # endif 753 754 755 753 END DO 754 END DO 755 END DO 756 756 ENDIF 757 757 ENDIF
Note: See TracChangeset
for help on using the changeset viewer.