Ignore:
Timestamp:
2017-09-14T17:42:14+02:00 (3 years ago)
Author:
marc
Message:

gmed:#346 Merging branches/NERC/dev_r5518_GO6_MEDUSA_conserv

File:
1 edited

Legend:

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

    r8442 r8521  
    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,      & 
     
    181186      ENDDO 
    182187 
    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                !! 
     188      !!---------------------------------------------------------- 
     189      !! detritus 
     190      DO jj = 2,jpjm1 
     191         DO ji = 2,jpim1 
     192            if (tmask(ji,jj,jk) == 1) then 
     193               !! 
     194               btra(ji,jj,jpdet_lc) = b0 * (                           & 
     195                   fdpn(ji,jj)                                         & ! mort. losses  
     196                 + ((1.0 - xfdfrac1) * fdpd(ji,jj))                    & ! mort. losses  
     197                 + fdzmi(ji,jj)                                        & ! mort. losses 
     198                 + ((1.0 - xfdfrac2) * fdzme(ji,jj))                   & ! mort. losses 
     199                 + ((1.0 - xbetan) * (finmi(ji,jj) + finme(ji,jj)))    & ! assim. inefficiency 
     200                 - fgmid(ji,jj) - fgmed(ji,jj)                         & ! grazing 
     201                 - fdd(ji,jj)                                          & ! remin. 
     202                 + fslowgain(ji,jj) - fslowloss(ji,jj)                 & ! slow-sinking 
     203                 - (f_sbenin_n(ji,jj) / fse3t(ji,jj,jk))               & ! slow-sinking loss to seafloor 
     204                 + ffast2slown(ji,jj) )                                  ! seafloor fast->slow  
    204205            ENDIF 
    205206         ENDDO 
     
    305306                                          ffetop(ji,jj) + ffebot(ji,jj) -    & 
    306307                                          ffescav(ji,jj) ) 
     308            ENDIF 
     309         ENDDO 
     310      ENDDO 
     311 
    307312# 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) ) 
     313      !!---------------------------------------------------------- 
     314      !! AXY (26/11/08): implicit detrital carbon change 
     315      DO jj = 2,jpjm1 
     316         DO ji = 2,jpim1 
     317            if (tmask(ji,jj,jk) == 1) then  
     318               !! 
     319               btra(ji,jj,jpdtc_lc) = b0 * (                           & 
     320                   (xthetapn * fdpn(ji,jj))                            & ! mort. losses  
     321                 + ((1.0 - xfdfrac1) * (xthetapd * fdpd(ji,jj)))       & ! mort. losses  
     322                 + (xthetazmi * fdzmi(ji,jj))                          & ! mort. losses  
     323                 + ((1.0 - xfdfrac2) * (xthetazme * fdzme(ji,jj)))     & ! mort. losses  
     324                 + ((1.0 - xbetac) * (ficmi(ji,jj) + ficme(ji,jj)))    & ! assim. inefficiency 
     325                 - fgmidc(ji,jj) - fgmedc(ji,jj)                       & ! grazing 
     326                 - fddc(ji,jj)                                         & ! remin. 
     327                 + fslowgainc(ji,jj) - fslowlossc(ji,jj)               & ! slow-sinking 
     328                 - (f_sbenin_c(ji,jj) / fse3t(ji,jj,jk))               & ! slow-sinking loss to seafloor 
     329                 + ffast2slowc(ji,jj) )                                  ! seafloor fast->slow 
    327330            ENDIF 
    328331         ENDDO 
     
    575578                                                           f_o2flux(ji,jj)) 
    576579               endif 
     580            ENDIF 
     581         ENDDO 
     582      ENDDO 
    577583# endif 
    578             ENDIF 
    579          ENDDO 
    580       ENDDO 
    581584 
    582585# if defined key_debug_medusa 
Note: See TracChangeset for help on using the changeset viewer.