New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 653 for trunk/NEMO/TOP_SRC – NEMO

Changeset 653 for trunk/NEMO/TOP_SRC


Ignore:
Timestamp:
2007-04-18T11:29:30+02:00 (17 years ago)
Author:
opalod
Message:

nemo_v2_update_014:CE:computation of terms for vertical attenuation of solar radiation in dynamics

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMO/TOP_SRC/SMS/p4zopt.F

    r341 r653  
    4545CC ================== 
    4646      INTEGER ji, jj, jk, mrgb 
    47       REAL xchl,ekg(jpi,jpj,jpk),ekr(jpi,jpj,jpk) 
    48       REAL ekb(jpi,jpj,jpk) 
     47      REAL xchl,ekg(jpi,jpj,jpk),ekr(jpi,jpj,jpk),ekb(jpi,jpj,jpk) 
    4948      REAL parlux,e1(jpi,jpj,jpk),e2(jpi,jpj,jpk),e3(jpi,jpj,jpk) 
    50       REAL zdepmoy(jpi,jpj) 
    51       REAL etmp(jpi,jpj) 
     49      REAL zdepmoy(jpi,jpj),etmp(jpi,jpj) 
    5250      REAL zrlight,zblight,zglight 
     51      REAL zrlight1,zblight1,zglight1 
     52      REAL e3lum(jpi,jpj,jpk),e4lum(jpi,jpj,jpk) 
     53      REAL e5lum(jpi,jpj,jpk),e6lum(jpi,jpj,jpk) 
    5354C 
    5455C     Initialisation of variables used to compute PAR 
     
    6061        etot   = 0. 
    6162        parlux = 0.43/3. 
     63 
     64        IF (ln_qsr_sms) THEN 
     65C 
     66C    IF activated, computation of the qsr for the dynamics 
     67C    ----------------------------------------------------- 
     68C 
     69          e3lum=0. 
     70          e4lum=0. 
     71          e5lum=0. 
     72          e6lum=0. 
     73        ENDIF 
    6274 
    6375        DO jk=1,jpkm1 
     
    98110            END DO 
    99111          END DO 
    100                                                                                  
    101                                                                                  
     112 
    102113        DO jk = 2,jpkm1 
    103114          DO jj = 1,jpj 
     
    123134C 
    124135        etot(:,:,:) = e1(:,:,:)+e2(:,:,:)+e3(:,:,:) 
     136 
     137        IF (ln_qsr_sms) THEN 
     138C 
     139C   In the following, the vertical attenuation of qsr for the  
     140C   dynamics is computed 
     141C   --------------------------------------------------------- 
     142C 
     143          DO jj = 1,jpj 
     144            DO ji = 1,jpi 
     145C 
     146C     Separation in three light bands: red, green, blue 
     147C     ------------------------------------------------- 
     148C 
     149        zblight=0.5*ekb(ji,jj,1)*fse3t(ji,jj,1) 
     150        zglight=0.5*ekg(ji,jj,1)*fse3t(ji,jj,1) 
     151        zrlight=0.5*ekr(ji,jj,1)*fse3t(ji,jj,1) 
     152C 
     153        e3lum(ji,jj,1) = parlux*qsr(ji,jj) 
     154        e4lum(ji,jj,1) = parlux*qsr(ji,jj) 
     155        e5lum(ji,jj,1) = parlux*qsr(ji,jj) 
     156        e6lum(ji,jj,1) = (1.-3.*parlux)*qsr(ji,jj) 
     157C 
     158            END DO 
     159          END DO 
     160 
     161        DO jk = 2,jpkm1 
     162          DO jj = 1,jpj 
     163            DO ji = 1,jpi 
     164C 
     165C     Separation in three light bands: red, green, blue 
     166C     ------------------------------------------------- 
     167C 
     168        zblight1=ekb(ji,jj,jk-1)*fse3t(ji,jj,jk-1) 
     169        zglight1=ekg(ji,jj,jk-1)*fse3t(ji,jj,jk-1) 
     170        zrlight1=ekr(ji,jj,jk-1)*fse3t(ji,jj,jk-1) 
     171 
     172        e3lum(ji,jj,jk) = e3lum(ji,jj,jk-1)*exp(-zblight) 
     173        e4lum(ji,jj,jk) = e4lum(ji,jj,jk-1)*exp(-zglight) 
     174        e5lum(ji,jj,jk) = e5lum(ji,jj,jk-1)*exp(-zrlight) 
     175        e6lum(ji,jj,jk) = e6lum(ji,jj,jk-1) 
     176     &    *exp(-fse3t(ji,jj,jk-1)/xsi1) 
     177C 
     178            END DO 
     179          END DO 
     180        END DO 
     181 
     182        etot3(:,:,:)=e3lum(:,:,:)+e4lum(:,:,:)+e5lum(:,:,:) 
     183     &    +e6lum(:,:,:) 
     184 
     185        ENDIF 
    125186C     
    126187C     Computation of the euphotic depth 
Note: See TracChangeset for help on using the changeset viewer.