105 |
_RL actot,bctot,bbctot |
_RL actot,bctot,bbctot |
106 |
_RL apart_k(Nr,tlam),bpart_k(Nr,tlam),bbpart_k(Nr,tlam) |
_RL apart_k(Nr,tlam),bpart_k(Nr,tlam),bbpart_k(Nr,tlam) |
107 |
_RL bt_k(Nr,tlam), bb_k(Nr,tlam) |
_RL bt_k(Nr,tlam), bb_k(Nr,tlam) |
108 |
|
_RL discEs, discEu |
109 |
|
INTEGER idiscEs,jdiscEs,kdiscEs,ldiscEs |
110 |
|
INTEGER idiscEu,jdiscEu,kdiscEu,ldiscEu |
111 |
#else |
#else |
112 |
_RL PARwdn(tlam) |
_RL PARwdn(tlam) |
113 |
#endif |
#endif |
334 |
enddo |
enddo |
335 |
ENDDO |
ENDDO |
336 |
ENDDO |
ENDDO |
337 |
|
|
338 |
|
#ifdef DAR_RADTRANS |
339 |
|
idiscEs = 0 |
340 |
|
jdiscEs = 0 |
341 |
|
kdiscEs = 0 |
342 |
|
ldiscEs = 0 |
343 |
|
idiscEu = 0 |
344 |
|
jdiscEu = 0 |
345 |
|
kdiscEu = 0 |
346 |
|
ldiscEu = 0 |
347 |
|
discEs = 0. |
348 |
|
discEu = 0. |
349 |
|
#endif |
350 |
c |
c |
351 |
c bio-chemical time loop |
c bio-chemical time loop |
352 |
c-------------------------------------------------- |
c-------------------------------------------------- |
653 |
ENDDO |
ENDDO |
654 |
ENDDO |
ENDDO |
655 |
|
|
656 |
#ifdef DAR_RADTRANS_ITERATIVE |
IF (darwin_radtrans_niter.GE.0) THEN |
657 |
call MONOD_RADTRANS_ITER( |
call MONOD_RADTRANS_ITER( |
658 |
I dz_k,rmud,Edwsf,Eswsf,a_k,bt_k,bb_k, |
I dz_k,rmud,Edwsf,Eswsf,a_k,bt_k,bb_k, |
659 |
I darwin_radtrans_kmax,darwin_radtrans_niter, |
I darwin_radtrans_kmax,darwin_radtrans_niter, |
660 |
O Edz,Esz,Euz,Eutop, |
O Edz,Esz,Euz,Eutop, |
661 |
O tirrq,tirrwq, |
O tirrq,tirrwq, |
662 |
O amp1,amp2, |
O amp1,amp2, |
663 |
I myThid) |
I myThid) |
664 |
#else |
ELSEIF (darwin_radtrans_niter.EQ.-1) THEN |
665 |
c dzlocal ????? |
c dzlocal ????? |
666 |
call MONOD_RADTRANS( |
call MONOD_RADTRANS( |
667 |
I drF,rmud,Edwsf,Eswsf,a_k,bt_k,bb_k, |
I drF,rmud,Edwsf,Eswsf,a_k,bt_k,bb_k, |
668 |
O Edz,Esz,Euz,Eutop, |
O Edz,Esz,Euz,Eutop, |
669 |
O tirrq,tirrwq, |
O tirrq,tirrwq, |
670 |
I myThid) |
I myThid) |
671 |
|
ELSE |
672 |
|
call MONOD_RADTRANS_DIRECT( |
673 |
|
I dz_k,rmud,Edwsf,Eswsf,a_k,bt_k,bb_k, |
674 |
|
I darwin_radtrans_kmax, |
675 |
|
O Edz,Esz,Euz,Estop,Eutop, |
676 |
|
O tirrq,tirrwq, |
677 |
|
O amp1,amp2, |
678 |
|
I myThid) |
679 |
|
#ifdef DAR_CHECK_IRR_CONT |
680 |
|
IF( dz_k(1) .GT. 0.0 )THEN |
681 |
|
DO ilam = 1,tlam |
682 |
|
IF(Eswsf(ilam).GE.darwin_radmodThresh .OR. |
683 |
|
& Edwsf(ilam).GE.darwin_radmodThresh ) THEN |
684 |
|
IF(ABS(Estop(ilam,1)-Eswsf(ilam)) .GT. discEs )THEN |
685 |
|
discEs = ABS(Estop(ilam,1)-Eswsf(ilam)) |
686 |
|
idiscEs = i |
687 |
|
jdiscEs = j |
688 |
|
kdiscEs = 1 |
689 |
|
ldiscEs = ilam |
690 |
|
ENDIF |
691 |
|
DO k=1,darwin_radtrans_kmax-1 |
692 |
|
IF(ABS(Estop(ilam,k+1)-Esz(ilam,k)) .GT. discEs)THEN |
693 |
|
discEs = ABS(Estop(ilam,k+1)-Esz(ilam,k)) |
694 |
|
idiscEs = i |
695 |
|
jdiscEs = j |
696 |
|
kdiscEs = k+1 |
697 |
|
ldiscEs = ilam |
698 |
|
ENDIF |
699 |
|
IF(ABS(Eutop(ilam,k+1)-Euz(ilam,k)) .GT. discEu)THEN |
700 |
|
discEu = ABS(Eutop(ilam,k+1)-Euz(ilam,k)) |
701 |
|
idiscEu = i |
702 |
|
jdiscEu = j |
703 |
|
kdiscEu = k+1 |
704 |
|
ldiscEu = ilam |
705 |
|
ENDIF |
706 |
|
ENDDO |
707 |
|
ENDIF |
708 |
|
ENDDO |
709 |
|
ENDIF |
710 |
#endif |
#endif |
711 |
|
ENDIF |
712 |
c |
c |
713 |
c uses chl from prev timestep (as wavebands does) |
c uses chl from prev timestep (as wavebands does) |
714 |
c keep like this in case need to consider upwelling irradiance as affecting the grid box above |
c keep like this in case need to consider upwelling irradiance as affecting the grid box above |
1551 |
C itistime |
C itistime |
1552 |
#endif |
#endif |
1553 |
|
|
1554 |
|
#ifdef DAR_CHECK_IRR_CONT |
1555 |
|
i = myXGlobalLo-1+(bi-1)*sNx+idiscEs |
1556 |
|
j = myYGlobalLo-1+(bj-1)*sNy+jdiscEs |
1557 |
|
write(6,'(I4.4,X,A,4(X,I4),1PE24.16)')myProcId,'max Es disc', |
1558 |
|
& i,j,kdiscEs,ldiscEs,discEs |
1559 |
|
i = myXGlobalLo-1+(bi-1)*sNx+idiscEu |
1560 |
|
j = myYGlobalLo-1+(bj-1)*sNy+jdiscEu |
1561 |
|
write(6,'(I4.4,X,A,4(X,I4),1PE24.16)')myProcId,'max Eu disc', |
1562 |
|
& i,j,kdiscEu,ldiscEu,discEu |
1563 |
|
#endif |
1564 |
|
|
1565 |
COJ fill diagnostics |
COJ fill diagnostics |
1566 |
#ifdef ALLOW_DIAGNOSTICS |
#ifdef ALLOW_DIAGNOSTICS |
1567 |
IF ( useDiagnostics ) THEN |
IF ( useDiagnostics ) THEN |