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 8495 for branches/UKMO/dev_r5518_GO6_package_asm_surf_bgc_v2/NEMOGCM/NEMO/TOP_SRC/MEDUSA/plankton.F90 – NEMO

Ignore:
Timestamp:
2017-09-04T18:50:10+02:00 (7 years ago)
Author:
dford
Message:

Merge in changes from dev_r5518_GO6_package_asm_surf_bgc, and adapt to the updated MEDUSA structure.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/UKMO/dev_r5518_GO6_package_asm_surf_bgc_v2/NEMOGCM/NEMO/TOP_SRC/MEDUSA/plankton.F90

    r8441 r8495  
    3636                                   fdpn, fdpn2, fdzme, fdzme2,             & 
    3737                                   fdzmi, fdzmi2, fsdiss, fsin,            & 
     38# if defined key_foam_medusa 
     39                                   fdep1, fprn, fprd,                      & 
     40                                   fgmepd, fgmepn, fgmipn,                 & 
     41# endif 
    3842                                   zphd, zphn, zpds, zzme, zzmi 
     43# if defined key_foam_medusa 
     44      USE dom_oce,           ONLY: e3t_0, e3t_n, gdepw_0, gdepw_n, tmask 
     45      USE par_kind,          ONLY: wp 
     46# else 
    3947      USE dom_oce,           ONLY: tmask 
     48# endif 
    4049      USE par_oce,           ONLY: jpim1, jpjm1 
    4150      USE phytoplankton_mod, ONLY: phytoplankton 
    4251      USE sms_medusa,        ONLY: jmpd, jmpn, jmzme, jmzmi,               & 
     52# if defined key_foam_medusa 
     53                                   pgrow_avg, ploss_avg, phyt_avg,         & 
     54# endif 
    4355                                   xkphd, xkphn, xkzme, xkzmi,             & 
    4456                                   xmetapd, xmetapn, xmetazme, xmetazmi,   & 
    4557                                   xmpd, xmpn, xmzme, xmzmi, xsdiss 
     58# if defined key_foam_medusa 
     59      USE zdfmxl,            ONLY: hmld 
     60# endif 
    4661      USE zooplankton_mod,   ONLY: zooplankton 
     62 
     63# if defined key_foam_medusa 
     64   !!* Substitution 
     65#  include "domzgr_substitute.h90" 
     66# endif 
    4767 
    4868      !! Level 
     
    5070 
    5171      INTEGER :: ji, jj 
     72 
     73# if defined key_foam_medusa 
     74      REAL(wp) :: fq0 
     75# endif 
    5276 
    5377      !!------------------------------------------------------------------- 
     
    188212      ENDDO 
    189213 
     214# if defined key_foam_medusa 
     215      !! Mixed layer averages for ocean colour assimilation 
     216      !! 
     217      if (fdep1(ji,jj).le.hmld(ji,jj)) then 
     218         !! this level is entirely in the mixed layer 
     219         fq0 = 1.0 
     220      elseif (fsdepw(ji,jj,jk).ge.hmld(ji,jj)) then 
     221         !! this level is entirely below the mixed layer 
     222         fq0 = 0.0 
     223      else 
     224         !! this level straddles the mixed layer 
     225         fq0 = (hmld(ji,jj) - fsdepw(ji,jj,jk)) / fse3t(ji,jj,jk) 
     226      endif 
     227      !! 
     228      pgrow_avg(ji,jj) = pgrow_avg(ji,jj) +                                  & 
     229                         (((fprn(ji,jj) * zphn(ji,jj)) +                     & 
     230                           (fprd(ji,jj) * zphd(ji,jj))  ) *                  & 
     231                          fse3t(ji,jj,jk) * fq0) 
     232      ploss_avg(ji,jj) = ploss_avg(ji,jj) +  & 
     233                         ((fgmepd(ji,jj) + fdpd(ji,jj) + fdpd2(ji,jj) +      & 
     234                           fgmepn(ji,jj) + fdpn(ji,jj) + fdpn2(ji,jj) +      & 
     235                           fgmipn(ji,jj)                               ) *   & 
     236                          fse3t(ji,jj,jk) * fq0) 
     237      phyt_avg(ji,jj)  = phyt_avg(ji,jj)  +                                  & 
     238                         ((zphn(ji,jj) + zphd(ji,jj)) *                      & 
     239                          fse3t(ji,jj,jk) * fq0) 
     240# endif 
     241 
    190242   END SUBROUTINE plankton 
    191243 
Note: See TracChangeset for help on using the changeset viewer.