9 |
c ANNA pass extra variables if WAVEBANDS |
c ANNA pass extra variables if WAVEBANDS |
10 |
C !INTERFACE: ========================================================== |
C !INTERFACE: ========================================================== |
11 |
SUBROUTINE MONOD_ACDOM( |
SUBROUTINE MONOD_ACDOM( |
12 |
|
#ifdef ALLOW_CDOM |
13 |
|
I cdomlocal, |
14 |
|
#else |
15 |
I P_chl, aclocal, awlocal, |
I P_chl, aclocal, awlocal, |
16 |
|
#endif |
17 |
O acdomlocal, |
O acdomlocal, |
18 |
I myThid ) |
I myThid ) |
19 |
|
|
51 |
#include "EEPARAMS.h" |
#include "EEPARAMS.h" |
52 |
#include "PARAMS.h" |
#include "PARAMS.h" |
53 |
#include "MONOD_SIZE.h" |
#include "MONOD_SIZE.h" |
54 |
|
#include "MONOD.h" |
55 |
#include "SPECTRAL_SIZE.h" |
#include "SPECTRAL_SIZE.h" |
56 |
#ifdef WAVEBANDS |
#ifdef WAVEBANDS |
57 |
#include "WAVEBANDS_PARAMS.h" |
#include "WAVEBANDS_PARAMS.h" |
68 |
C !OUTPUT PARAMETERS: ================================================== |
C !OUTPUT PARAMETERS: ================================================== |
69 |
C acdom :: absortpion spectra for CDOM per level |
C acdom :: absortpion spectra for CDOM per level |
70 |
|
|
71 |
|
#ifdef ALLOW_CDOM |
72 |
|
_RL cdomlocal(NR) |
73 |
|
#else |
74 |
_RL P_chl(npmax,Nr) |
_RL P_chl(npmax,Nr) |
75 |
_RL aclocal(npmax,tlam) |
_RL aclocal(npmax,tlam) |
76 |
_RL awlocal(tlam) |
_RL awlocal(tlam) |
77 |
|
#endif |
78 |
_RL acdomlocal(Nr,tlam) |
_RL acdomlocal(Nr,tlam) |
79 |
C _RL myTime |
C _RL myTime |
80 |
C INTEGER myIter |
C INTEGER myIter |
91 |
c params in common block |
c params in common block |
92 |
c nl450, excdom, |
c nl450, excdom, |
93 |
|
|
94 |
|
#ifdef ALLOW_CDOM |
95 |
|
c use cdom-like tracer |
96 |
|
do k = 1,Nr |
97 |
|
do ilam = 1,tlam |
98 |
|
acdomlocal(k,ilam) = cdomcoeff*cdomlocal(k)*excdom(ilam) |
99 |
|
enddo |
100 |
|
enddo |
101 |
|
#else |
102 |
c ANNA moved cdom calculation from WG's light.f |
c ANNA moved cdom calculation from WG's light.f |
103 |
c it's done for RADTRANS and WAVEBANDS_3D |
c it's done for RADTRANS and WAVEBANDS_3D |
104 |
do k = 1,Nr |
do k = 1,Nr |
105 |
actot450 = 0.0 _d 0 |
actot450 = 0.0 _d 0 |
106 |
atot450 = 0.0 _d 0 |
atot450 = 0.0 _d 0 |
107 |
do np = 1,npmax |
do np = 1,npmax |
108 |
actot450 = actot450 + P_chl(np,k)*aclocal(np,nl450) !nb. n,k swapped from WG |
actot450 = actot450 + P_chl(np,k)*aclocal(np,nlaCDOM) !nb. n,k swapped from WG |
109 |
enddo |
enddo |
110 |
atot450 = awlocal(nl450) + actot450 |
atot450 = awlocal(nlaCDOM) + actot450 |
111 |
do ilam = 1,tlam |
do ilam = 1,tlam |
112 |
acdomlocal(k,ilam) = 0.2 _d 0 * atot450*excdom(ilam) |
acdomlocal(k,ilam) = darwin_aCDOM_fac * atot450*excdom(ilam) |
113 |
enddo |
enddo |
114 |
enddo |
enddo |
115 |
c do nl = 1,tlam |
c do nl = 1,tlam |
117 |
c *aw(nl),ac(1,nl),acdom(1,nl) |
c *aw(nl),ac(1,nl),acdom(1,nl) |
118 |
c enddo |
c enddo |
119 |
c ANNA cdom end |
c ANNA cdom end |
120 |
|
#endif |
121 |
|
|
122 |
#endif /* DAR_CALC_ACDOM */ |
#endif /* DAR_CALC_ACDOM */ |
123 |
#endif /* WAVEBANDS */ |
#endif /* WAVEBANDS */ |