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 10302 for branches/UKMO/dev_r5518_GO6_package_FOAMv14/NEMOGCM/NEMO/TOP_SRC/MEDUSA/bio_medusa_update.F90 – NEMO

Ignore:
Timestamp:
2018-11-13T18:21:16+01:00 (5 years ago)
Author:
dford
Message:

Merge in revisions 8447:10159 of dev_r5518_GO6_package.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14/NEMOGCM/NEMO/TOP_SRC/MEDUSA/bio_medusa_update.F90

    r8442 r10302  
    66   !! History : 
    77   !!   -   ! 2017-04 (M. Stringer)        Code taken from trcbio_medusa.F90 
     8   !!   -   ! 2017-08 (A. Yool)            Amend slow-detritus bug 
     9   !!   -   ! 2017-08 (A. Yool)            Reformatting for clarity 
    810   !!---------------------------------------------------------------------- 
    911#if defined key_medusa 
     
    6062                                   fsil_cons, fsil_prod, fsdiss,             & 
    6163                                   ftempca, fthetad, fthetan,                & 
     64                                   fslowsink, fslowgain, fslowloss,          & ! AXY (22/08/17) 
     65                                   f_sbenin_n, f_sbenin_c,                   & 
    6266# if defined key_roam 
     67                                   fslowsinkc, fslowgainc, fslowlossc,       & ! AXY (22/08/17) 
    6368                                   fcar_cons, fcar_prod, fcomm_resp,         & 
    6469                                   fddc, fflx_a, fflx_c, fflx_o2, zoxy,      & 
     
    6671# endif 
    6772                                   zpds, zphd, zphn 
    68       USE dom_oce,           ONLY: e3t_0, e3t_n, gphit, mbathy, tmask 
     73      USE dom_oce,           ONLY: e3t_0, gphit, mbathy, tmask 
     74# if defined key_vvl 
     75      USE dom_oce,           ONLY: e3t_n 
     76# endif 
    6977      USE in_out_manager,    ONLY: lwp, numout 
    7078      USE lib_mpp,           ONLY: ctl_stop 
    7179      USE par_kind,          ONLY: wp 
    72       USE par_medusa,        ONLY: jp_medusa,                                & 
     80      USE par_medusa,        ONLY: jp_medusa, jp_msa0, jp_msa1,              & 
    7381                                   jpalk, jpchd, jpchn, jpdet, jpdic,        & 
    7482                                   jpdin, jpdtc, jpfer, jpoxy, jppds,        & 
     
    7886                                   jpoxy_lc, jppds_lc, jpphd_lc, jpphn_lc,   & 
    7987                                   jpsil_lc, jpzme_lc, jpzmi_lc 
    80       USE par_oce,           ONLY: jpi, jpim1, jpj, jpjm1 
     88      USE par_oce,           ONLY: jpi, jpim1, jpj, jpjm1, jpk 
    8189      USE par_trc,           ONLY: jptra 
    8290      USE sms_medusa,        ONLY: friver_dep,                               & 
     
    181189      ENDDO 
    182190 
    183       DO jj = 2,jpjm1 
    184          DO ji = 2,jpim1 
    185             if (tmask(ji,jj,jk) == 1) then 
    186                !! 
    187                !!---------------------------------------------------------- 
    188                !! detritus 
    189                btra(ji,jj,jpdet_lc) = b0 *                                      & 
    190                                           ! mort. losses  
    191                                    (fdpn(ji,jj) + ((1.0 - xfdfrac1) *        & 
    192                                                    fdpd(ji,jj)) +            & 
    193                                     fdzmi(ji,jj) +                           & 
    194                                     ((1.0 - xfdfrac2) * fdzme(ji,jj)) +      & 
    195                                           ! assim. inefficiency 
    196                                     ((1.0 - xbetan) * (finmi(ji,jj) +        & 
    197                                                        finme(ji,jj))) -      & 
    198                                           ! grazing and remin. 
    199                                     fgmid(ji,jj) - fgmed(ji,jj) -            & 
    200                                     fdd(ji,jj) +                             & 
    201                                           ! seafloor fast->slow 
    202                                     ffast2slown(ji,jj)) 
    203                !! 
     191      !!---------------------------------------------------------- 
     192      !! detritus 
     193      DO jj = 2,jpjm1 
     194         DO ji = 2,jpim1 
     195            if (tmask(ji,jj,jk) == 1) then 
     196               !! 
     197               btra(ji,jj,jpdet_lc) = b0 * (                           & 
     198                   fdpn(ji,jj)                                         & ! mort. losses  
     199                 + ((1.0 - xfdfrac1) * fdpd(ji,jj))                    & ! mort. losses  
     200                 + fdzmi(ji,jj)                                        & ! mort. losses 
     201                 + ((1.0 - xfdfrac2) * fdzme(ji,jj))                   & ! mort. losses 
     202                 + ((1.0 - xbetan) * (finmi(ji,jj) + finme(ji,jj)))    & ! assim. inefficiency 
     203                 - fgmid(ji,jj) - fgmed(ji,jj)                         & ! grazing 
     204                 - fdd(ji,jj)                                          & ! remin. 
     205                 + fslowgain(ji,jj) - fslowloss(ji,jj)                 & ! slow-sinking 
     206                 - (f_sbenin_n(ji,jj) / fse3t(ji,jj,jk))               & ! slow-sinking loss to seafloor 
     207                 + ffast2slown(ji,jj) )                                  ! seafloor fast->slow  
    204208            ENDIF 
    205209         ENDDO 
     
    266270                             ! mort. loss 
    267271                         ((1.0 - xfdfrac1) * fdpds(ji,jj)) +                 & 
    268                              ! egestion of grazed Si 
     272                             ! egestion of grazed Si 
    269273                         ((1.0 - xfdfrac3) * fgmepds(ji,jj)) +               & 
    270274                             ! fast diss. and metab. losses 
     
    305309                                          ffetop(ji,jj) + ffebot(ji,jj) -    & 
    306310                                          ffescav(ji,jj) ) 
     311            ENDIF 
     312         ENDDO 
     313      ENDDO 
     314 
    307315# if defined key_roam 
    308                !! 
    309                !!---------------------------------------------------------- 
    310                !! AXY (26/11/08): implicit detrital carbon change 
    311                btra(ji,jj,jpdtc_lc) = b0 * (                                    & 
    312                                             ! mort. losses 
    313                                          (xthetapn * fdpn(ji,jj)) +          & 
    314                                          ((1.0 - xfdfrac1) *                 & 
    315                                           (xthetapd * fdpd(ji,jj))) +        & 
    316                                          (xthetazmi * fdzmi(ji,jj)) +        & 
    317                                          ((1.0 - xfdfrac2) *                 & 
    318                                           (xthetazme * fdzme(ji,jj))) +      & 
    319                                              ! assim. inefficiency 
    320                                          ((1.0 - xbetac) *                   & 
    321                                           (ficmi(ji,jj) + ficme(ji,jj))) -   & 
    322                                              ! grazing and remin. 
    323                                          fgmidc(ji,jj) - fgmedc(ji,jj) -     & 
    324                                          fddc(ji,jj) +                       & 
    325                                              ! seafloor fast->slow 
    326                                          ffast2slowc(ji,jj) ) 
     316      !!---------------------------------------------------------- 
     317      !! AXY (26/11/08): implicit detrital carbon change 
     318      DO jj = 2,jpjm1 
     319         DO ji = 2,jpim1 
     320            if (tmask(ji,jj,jk) == 1) then  
     321               !! 
     322               btra(ji,jj,jpdtc_lc) = b0 * (                           & 
     323                   (xthetapn * fdpn(ji,jj))                            & ! mort. losses  
     324                 + ((1.0 - xfdfrac1) * (xthetapd * fdpd(ji,jj)))       & ! mort. losses  
     325                 + (xthetazmi * fdzmi(ji,jj))                          & ! mort. losses  
     326                 + ((1.0 - xfdfrac2) * (xthetazme * fdzme(ji,jj)))     & ! mort. losses  
     327                 + ((1.0 - xbetac) * (ficmi(ji,jj) + ficme(ji,jj)))    & ! assim. inefficiency 
     328                 - fgmidc(ji,jj) - fgmedc(ji,jj)                       & ! grazing 
     329                 - fddc(ji,jj)                                         & ! remin. 
     330                 + fslowgainc(ji,jj) - fslowlossc(ji,jj)               & ! slow-sinking 
     331                 - (f_sbenin_c(ji,jj) / fse3t(ji,jj,jk))               & ! slow-sinking loss to seafloor 
     332                 + ffast2slowc(ji,jj) )                                  ! seafloor fast->slow 
    327333            ENDIF 
    328334         ENDDO 
     
    575581                                                           f_o2flux(ji,jj)) 
    576582               endif 
     583            ENDIF 
     584         ENDDO 
     585      ENDDO 
    577586# endif 
    578             ENDIF 
    579          ENDDO 
    580       ENDDO 
    581587 
    582588# if defined key_debug_medusa 
Note: See TracChangeset for help on using the changeset viewer.