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 8012 for branches/UKMO/dev_r5518_medusa_chg_trc_bio_medusa/NEMOGCM/NEMO/TOP_SRC/MEDUSA/detritus_fast_sink.F90 – NEMO

Ignore:
Timestamp:
2017-05-10T09:47:35+02:00 (7 years ago)
Author:
marc
Message:

Pulled further code from trcbio_medusa.F90 into other files

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/UKMO/dev_r5518_medusa_chg_trc_bio_medusa/NEMOGCM/NEMO/TOP_SRC/MEDUSA/detritus_fast_sink.F90

    r7986 r8012  
    3737                                   f_fbenin_n, f_fbenin_si,                & 
    3838                                   f_omcal, fcaco3,                        & 
    39                                    fccd, fccd_dep, fdep1,                  & 
    40                                    fdpd, fdpds, fdzme, fgmepds,            & 
     39                                   fccd, fccd_dep, fdep1, fdd,             & 
     40                                   fdpd, fdpd2, fdpds, fdpds2,             & 
     41                                   fdpn, fdpn2,                            & 
     42                                   fdzme, fdzme2, fdzmi, fdzmi2,           & 
    4143                                   ffast2slowc, ffast2slown,               & 
    4244                                   ffastc, ffastca, ffastfe, ffastn,       & 
    4345                                   ffastsi,                                & 
     46                                   fgmed, fgmepd, fgmepds, fgmepn,         & 
     47                                   fgmezmi,                                & 
     48                                   fgmid, fgmipn,                          & 
     49                                   ficme, ficmi,                           & 
    4450                                   fifd_c, fifd_fe, fifd_n, fifd_si,       & 
     51                                   finme, finmi,                           & 
     52                                   fmeexcr, fmiexcr,                       & 
    4553                                   fofd_fe, fofd_n, fofd_si,               & 
    4654                                   fprotf,                                 & 
    47                                    fregenfast, fregenfastsi,               & 
     55                                   fregen, fregenfast, fregenfastsi,       & 
     56                                   fregensi,                               & 
    4857                                   freminc, freminca, freminfe,            & 
    4958                                   freminn, freminsi,                      & 
     59                                   fsdiss,                                 & 
    5060                                   fsedc, fsedca, fsedn, fsedfe, fsedsi,   & 
    51                                    fslowc, fslown,                         & 
     61                                   fslowc, fslowcflux,                     & 
     62                                   fslown, fslownflux,                     & 
    5263                                   ftempc, ftempca, ftempfe, ftempn,       & 
    5364                                   ftempsi,                                & 
     
    5566                                   fofd_c, fregenfastc,                    & 
    5667# endif 
    57                                    idf, idfval 
     68                                   idf, idfval,                            & 
     69                                   zdet, zdtc 
    5870      USE dom_oce,           ONLY: e3t_0, e3t_n, gdepw_0, gdepw_n,         & 
    5971                                   gphit, mbathy, tmask 
     
    6577                                   jexport, jfdfate, jinorgben, jocalccd,  & 
    6678                                   jorgben, jp_tem, jrratio,               & 
    67                                    ocal_ccd, xcaco3a, xcaco3b,             & 
     79                                   ocal_ccd, vsed,                         & 
     80                                   xbetac, xbetan,                         & 
     81                                   xcaco3a, xcaco3b,                       & 
    6882                                   xfastc, xfastca, xfastsi,               & 
    6983                                   xfdfrac1, xfdfrac2, xfdfrac3,           & 
    7084                                   xmassc, xmassca, xmasssi,               & 
    71                                    xprotca, xprotsi, xrfn, xridg_r0,       & 
     85                                   xphi, xprotca, xprotsi,                 & 
     86                                   xrfn, xridg_r0,                         & 
    7287                                   xsedc, xsedca, xsedfe,xsedn, xsedsi,    & 
    73                                    xthetapd, xthetazme,                    & 
     88                                   xthetapd, xthetapn,                     & 
     89                                   xthetazme, xthetazmi,                   & 
    7490                                   zn_sed_c, zn_sed_ca, zn_sed_fe,         & 
    7591                                   zn_sed_n, zn_sed_si 
     
    89105      !! temporary variables 
    90106      REAL(wp) :: fq0,fq1,fq2,fq3,fq4,fq5,fq6,fq7,fq8 
     107 
     108      !! The two sections below, slow detritus creation and Nutrient  
     109      !! regeneration are moved from just above the CALL to DETRITUS 
     110      !! in trcbio_medusa.F90. 
     111      !!--------------------------------------------------------- 
     112      !! Slow detritus creation 
     113      !!--------------------------------------------------------- 
     114      DO jj = 2,jpjm1 
     115         DO ji = 2,jpim1 
     116            IF (tmask(ji,jj,1) == 1) THEN 
     117               !! 
     118               !! this variable integrates the creation of slow sinking  
     119               !! detritus to allow the split between fast and slow  
     120               !! detritus to be diagnosed 
     121               fslown(ji,jj)  = fdpn(ji,jj) + fdzmi(ji,jj) +                 & 
     122                                ((1.0 - xfdfrac1) * fdpd(ji,jj)) +           & 
     123                                ((1.0 - xfdfrac2) * fdzme(ji,jj)) +          & 
     124                                ((1.0 - xbetan) *                            & 
     125                                 (finmi(ji,jj) + finme(ji,jj))) 
     126               !! 
     127               !! this variable records the slow detrital sinking flux at  
     128               !! this particular depth; it is used in the output of this  
     129               !! flux at standard depths in the diagnostic outputs;  
     130               !! needs to be adjusted from per second to per day because  
     131               !! of parameter vsed 
     132               fslownflux(ji,jj) = zdet(ji,jj) * vsed * 86400. 
     133# if defined key_roam 
     134               !! 
     135               !! and the same for detrital carbon 
     136               fslowc(ji,jj)  = (xthetapn * fdpn(ji,jj)) +                   & 
     137                                (xthetazmi * fdzmi(ji,jj)) +                 & 
     138                                (xthetapd * (1.0 - xfdfrac1) *               & 
     139                                 fdpd(ji,jj)) +                              & 
     140                                (xthetazme * (1.0 - xfdfrac2) *              & 
     141                                 fdzme(ji,jj)) +                             & 
     142                                ((1.0 - xbetac) * (ficmi(ji,jj) +            & 
     143                                                   ficme(ji,jj))) 
     144               !! 
     145               !! this variable records the slow detrital sinking flux  
     146               !! at this particular depth; it is used in the output of  
     147               !! this flux at standard depths in the diagnostic  
     148               !! outputs; needs to be adjusted from per second to per  
     149               !! day because of parameter vsed 
     150               fslowcflux(ji,jj) = zdtc(ji,jj) * vsed * 86400. 
     151# endif 
     152            ENDIF 
     153         ENDDO 
     154      ENDDO 
     155 
     156      !!--------------------------------------------------------- 
     157      !! Nutrient regeneration 
     158      !! this variable integrates total nitrogen regeneration down the 
     159      !! watercolumn; its value is stored and output as a 2D diagnostic; 
     160      !! the corresponding dissolution flux of silicon (from sources 
     161      !! other than fast detritus) is also integrated; note that, 
     162      !! confusingly, the linear loss terms from plankton compartments 
     163      !! are labelled as fdX2 when one might have expected fdX or fdX1 
     164      !!--------------------------------------------------------- 
     165      DO jj = 2,jpjm1 
     166         DO ji = 2,jpim1 
     167            IF (tmask(ji,jj,1) == 1) THEN 
     168               !! 
     169               !! nitrogen 
     170               fregen(ji,jj) =                                             & 
     171                                     ! messy feeding 
     172                               (((xphi * (fgmipn(ji,jj) + fgmid(ji,jj))) + & 
     173                                 (xphi *                                   & 
     174                                  (fgmepn(ji,jj) + fgmepd(ji,jj) +         & 
     175                                   fgmezmi(ji,jj) + fgmed(ji,jj))) +       & 
     176                                     ! excretion + D remin. 
     177                                 fmiexcr(ji,jj) + fmeexcr(ji,jj) +         & 
     178                                 fdd(ji,jj) +                              & 
     179                                     ! linear mortality 
     180                                 fdpn2(ji,jj) + fdpd2(ji,jj) +             & 
     181                                 fdzmi2(ji,jj) + fdzme2(ji,jj)) *          & 
     182                                fse3t(ji,jj,jk)) 
     183               !! 
     184               !! silicon 
     185               fregensi(ji,jj) =                                           & 
     186                                     ! dissolution + non-lin. mortality 
     187                                 ((fsdiss(ji,jj) +                         & 
     188                                   ((1.0 - xfdfrac1) * fdpds(ji,jj)) +     & 
     189                                     ! egestion by zooplankton 
     190                                   ((1.0 - xfdfrac3) * fgmepds(ji,jj)) +   & 
     191                                     ! linear mortality 
     192                                   fdpds2(ji,jj)) * fse3t(ji,jj,jk)) 
     193            ENDIF 
     194         ENDDO 
     195      ENDDO 
    91196 
    92197      !!------------------------------------------------------------------- 
Note: See TracChangeset for help on using the changeset viewer.