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 336 for trunk/NEMO/TOP_SRC – NEMO

Changeset 336 for trunk/NEMO/TOP_SRC


Ignore:
Timestamp:
2005-11-14T13:13:26+01:00 (18 years ago)
Author:
opalod
Message:

nemo_v1_update_024 : CE + RB + CT : new evolution of modules

Location:
trunk/NEMO/TOP_SRC/SMS
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMO/TOP_SRC/SMS/par_sms.F90

    r274 r336  
    11MODULE par_sms 
    2 !!====================================================================== 
    3 !! 
    4 !!                         PARAMETER SMS 
    5 !!                       ******************************* 
    6 !! 
    7 !!  purpose : 
    8 !!  --------- 
    9 !!     INCLUDE PARAMETER FILE for SMS  models 
    10 !! 
    11 !!====================================================================== 
    12 !!  TOP 1.0,  LOCEAN-IPSL (2005) 
    13 !! $Header$ 
    14 !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt 
    15 !!---------------------------------------------------------------------- 
    16  
     2   !!--------------------------------------------------------------------- 
     3   !! 
     4   !!                         PARAMETER SMS 
     5   !!                       ******************************* 
     6   !! 
     7   !!  purpose : 
     8   !!  --------- 
     9   !!     INCLUDE PARAMETER FILE for SMS  models 
     10   !! 
     11   !! 
    1712   USE par_trc_trp 
    1813   IMPLICIT NONE 
    19 #if defined key_trc_npzd 
    20 #    include "par_sms_npzd.h90" 
    21 #elif defined key_trc_lobster1 
    22 #    include "par_sms_lobster1.h90" 
    23 #elif defined key_trc_hamocc3 
    24 #  if defined key_trc_p3zd 
    25 #    include "par_sms_p3zd.h90" 
    26 #  else 
    27 #    include "par_sms_hamocc3.h90" 
    28 #  endif 
     14 
     15#if defined key_trc_lobster1 
     16   !!---------------------------------------------------------------------- 
     17   !!   'key_trc_lobster1'                        LOBSTER1 biological model   
     18   !!---------------------------------------------------------------------- 
     19#  include "par_sms_lobster1.h90" 
     20 
     21#elif defined key_trc_pisces 
     22   !!---------------------------------------------------------------------- 
     23   !!   'key_trc_pisces'                            PISCES biological model                   
     24   !!---------------------------------------------------------------------- 
     25#  include "par_sms_pisces.h90" 
     26 
    2927#elif defined key_cfc 
    30 #    include "par_sms_cfc.h90" 
    31 #elif defined key_gosac 
    32 #    include "par_sms_gosac.h90" 
    33 #elif defined key_trc_pisces 
    34 #    include "par_sms_pisces.h90" 
     28   !!---------------------------------------------------------------------- 
     29   !!   'key_cfc  '                                          CFC model                   
     30   !!---------------------------------------------------------------------- 
     31#  include "par_sms_cfc.h90" 
     32 
    3533#else 
    36 !!  purpose : 
    37 !!  --------- 
    38 !!     No SMS  models 
     34   !!  purpose : 
     35   !!  --------- 
     36   !!     No SMS  models 
    3937#endif 
    4038 
  • trunk/NEMO/TOP_SRC/SMS/par_sms_cfc.h90

    r274 r336  
    1 !! 
    2 !!                         PARAMETER passivetrc.cfc 
    3 !!                       ******************************* 
    4 !! 
    5 !!  purpose : 
    6 !!  --------- 
    7 !!     INCLUDE PARAMETER FILE for passive tracer CFC 
    8 !! 
    9 !!       jptra  : number of tracers 
    10 !! 
    11 !!---------------------------------------------------------------------- 
    12 !!  TOP 1.0,  LOCEAN-IPSL (2005) 
    13 !! $Header$ 
    14 !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt 
    15 !!---------------------------------------------------------------------- 
     1   !!--------------------------------------------------------------------- 
     2   !!                     ***  par_sms_cfc.h90  ***   
     3   !!                    CFC Source Minus Sink model 
     4   !!--------------------------------------------------------------------- 
    165 
    17       INTEGER nsort,nsatm 
    18       PARAMETER(nsort=8,nsatm=4)      
    19 !! 
    20 !!    temporal and hemispheric parameter  
    21 !!  -------------------------------------- 
    22       integer jpyear,jphem 
    23       parameter (jpyear=100,jphem=2) 
     6   !!---------------------------------------------------------------------- 
     7   !!  TOP 1.0,  LOCEAN-IPSL (2005) 
     8   !!---------------------------------------------------------------------- 
    249 
     10   INTEGER , PARAMETER :: & 
     11      jpyear = 100,       & ! temporal parameter  
     12      jphem  = 2            ! hemispheric parameter 
     13 
     14   INTEGER, PARAMETER ::  &  
     15      jp11 = 1,           & ! CFC-11 
     16      jp12 = 2              ! CFC-12 
  • trunk/NEMO/TOP_SRC/SMS/sms.F90

    r274 r336  
    11MODULE sms 
    2  
    3 !!--------------------------------------------------------------------- 
    4 !!  TOP 1.0,  LOCEAN-IPSL (2005) 
    5 !! $Header$ 
    6 !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt 
    7 !!---------------------------------------------------------------------- 
    8  
     2   !!====================================================================== 
     3   !!                        ***  sms  *** 
     4   !! passive tracers :   set the passive tracers variables 
     5   !!====================================================================== 
     6   !! History : 
     7   !!   9.0  !  04-03  (C. Ethe)  Free form and module 
     8   !!---------------------------------------------------------------------- 
     9   !!  TOP 1.0,  LOCEAN-IPSL (2005) 
     10   !!---------------------------------------------------------------------- 
     11   !! * Modules used 
    912#if defined key_passivetrc 
    1013 
     
    1316   USE par_sms 
    1417   IMPLICIT NONE 
    15 # if defined key_trc_npzd 
    16 #    include "sms_npzd.h90" 
    17 # endif 
    18 !! 
    19 # if defined key_trc_lobster1 
    20 #    include "sms_lobster1.h90" 
    21 # endif 
    22 !! 
    23 # if defined key_trc_hamocc3 
    24 #  if defined key_trc_p3zd 
    25 #    include "sms_p3zd.h90" 
    26 #  else 
    27 #    include "sms_hamocc3.h90" 
    28 #  endif 
    29 # endif 
    30 # if defined key_cfc 
    31 #    include "sms_cfc.h90" 
    32 # endif 
    33 # if defined key_gosac 
    34 #    include "sms_gosac.h90" 
    35 # endif 
    36 # if defined key_trc_age 
    37 #    include "sms_age.h90" 
    38 # endif 
    39 # if defined key_trc_pisces 
    40 #    include "sms_pisces.h90" 
    41 # endif 
     18 
     19#if defined key_trc_lobster1 
     20   !!---------------------------------------------------------------------- 
     21   !!   'key_trc_lobster1'                        LOBSTER1 biological model   
     22   !!---------------------------------------------------------------------- 
     23#  include "sms_lobster1.h90" 
     24 
     25#elif defined key_trc_pisces 
     26   !!---------------------------------------------------------------------- 
     27   !!   'key_trc_pisces'                            PISCES biological model                   
     28   !!---------------------------------------------------------------------- 
     29#  include "sms_pisces.h90" 
     30 
     31#elif defined key_cfc 
     32   !!---------------------------------------------------------------------- 
     33   !!   'key_cfc  '                                          CFC model                   
     34   !!---------------------------------------------------------------------- 
     35#  include "sms_cfc.h90" 
     36 
     37#endif 
     38 
    4239#else 
    43 !! 
    44 !! no passive tracer COMMON specification 
    45 !! 
     40   !!====================================================================== 
     41   !!  Empty module : No passive tracer  
     42   !!====================================================================== 
    4643#endif 
    4744 
  • trunk/NEMO/TOP_SRC/SMS/sms_cfc.h90

    r274 r336  
    1 !!---------------------------------------------------------------------- 
    2 !!  TOP 1.0,  LOCEAN-IPSL (2005) 
    3 !! $Header$ 
    4 !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt 
    5 !!---------------------------------------------------------------------- 
    6 #if defined key_cfc 
    7       integer it 
    8 !! 
    9 !!     tracer background: xinitri 
    10 !!     -------------------------- 
    11         real xinitri 
    12        common/cxinitri/xinitri 
    13 !! 
    14 !! boundary condition function for cfc 11 and 12  
    15 !!---------------------------------------------------------------- 
    16 #if defined key_ocmip 
    17 !! 
    18 !!    common pour le coefficient d''echange de gaz 
    19 !!    ------------------------------------------- 
    20 !!      INTEGER      nvak, npdtanak, npdtmoak, nmanak, ndemiak 
    21 !!      INTEGER      ntrak1, ntrak2, iak 
    22 !!      REAL         ak0 (jpi,jpj,12) 
    23 !!      REAL         ak   (jpi,jpj) 
     1   !!--------------------------------------------------------------------- 
     2   !!                     ***  sms_cfc.h90  ***   
     3   !!                    CFC Source Minus Sink model 
     4   !!--------------------------------------------------------------------- 
     5 
     6   !!---------------------------------------------------------------------- 
     7   !!  TOP 1.0,  LOCEAN-IPSL (2005) 
     8   !!---------------------------------------------------------------------- 
     9 
     10    INTEGER, PUBLIC :: & 
     11       ndate_beg,     & ! initial calendar date (aammjj) for CFC 
     12       nyear_res,     & ! restoring time constant (year) 
     13       nyear_beg        ! initial year (aa)  
     14    
     15    REAL(wp), PUBLIC, DIMENSION(jpi,jpj)  ::  & 
     16       xphem            ! spatial interpolation factor for patm 
    2417 
    2518 
    26 !!      COMMON/cak/ nvak, npdtanak, npdtmoak, nmanak, ndemiak & 
    27 !!                , ak0, ak  & 
    28 !!                , iak, ntrak1, ntrak2 
    29 #else 
    30 !!       real wspd(jpi,jpj) !wind speed - change to vatm (sea ice model) 
    31 !!      common/cak/wspd 
    32 #endif 
    33 #if defined key_patm 
    34 !! 
    35 !!    common pour la pression partielle atmospherique 
    36 !!    ------------------------------------------------- 
    37       INTEGER      nvpatm, npdtanpatm, npdtmopatm, nmanpatm, ndemipatm 
    38       INTEGER      ntrpatm1, ntrpatm2, ipatm 
    39       REAL         patm0 (jpi,jpj,12) 
    40       REAL         patm   (jpi,jpj) 
     19    REAL(wp), PUBLIC, DIMENSION(jpyear,jphem, jptra)  ::  &    
     20       p_cfc            ! partial hemispheric pressure for CFC           
    4121 
    42       COMMON/cpatm/ nvpatm, npdtanpatm, npdtmopatm, nmanpatm, ndemipatm & 
    43                 , patm0, patm & 
    44                 , ipatm, ntrpatm1, ntrpatm2 
    45 #endif 
    46  
    47 !!#if defined key_seaice 
    48 !! 
    49 !!   common pour glace de mer 
    50 !!   ------------------------ 
    51 !!#include "common.seaice.h" 
    52 !!#endif 
    53 !! 
    54 !!     concentration atmospherique de cfc 
    55 !!     ----------------------------------                    
    56 !!      p11: pression partielle hemispherique de CFC11 
    57 !!      p12: pression partielle hemispherique de CFC12 
    58 !!      xphem: facteur d'interpolation spatial 
    59 !!             de la pression partielle atmospherique 
    60 !! 
    61         real p11(jpyear,jphem),p12(jpyear,jphem),xphem(jpi,jpj) 
    62 !! 
    63 !!       interpolation temporelle des concentrations atmospheriques 
    64 !!       ----------------------------------------------------------- 
    65         integer iandebf,ianfinf,imoisf,i1,i2 
    66         real patm11(jphem),patm12(jphem),pp11(jpi,jpj),pp12(jpi,jpj) 
    67 !! 
    68 !!       solubilite 
    69 !!       ----------- 
    70         real sol(jpi,jpj,jptra) 
    71  
    72 !!       nombre de schmidt 
    73 !!       ------------------ 
    74         real sc_cfc(jpi,jpj,jptra) 
    75  
    76 !!       concentration a l'equilibre 
    77 !!       ---------------------------- 
    78         real ca11(jpi,jpj),ca12(jpi,jpj) 
    79  
    80 !!       coefficients de transfert * nb de schmidt 
    81 !!      ------------------------------------------ 
    82         real ak11(jpi,jpj),ak12(jpi,jpj) 
    83 !! 
    84         common/cocfc_cl/i1,i2,iandebf,ianfinf,p11,p12,xphem, & 
    85              patm11,patm12,pp11,pp12,sc_cfc,sol,ca11, & 
    86              ca12,ak11,ak12 
    87 !! 
    88 !!   common pour flux et bilan 
    89 !!   ------------------------- 
    90         real erreur 
    91         real qint0(jptra),qcumul(jptra),tdepart(jptra),tcumul(jptra) 
    92         real qtr(jpi,jpj,jptra),qint(jpi,jpj,jptra) 
    93         real bt(jpi,jpj,jpk) 
    94         common/cocfc_bil/erreur,qint0,qcumul,tdepart,tcumul,qtr,qint,bt 
    95 !! 
    96 !!    common pour les sorties 
    97 !!    ------------------------ 
    98       real XIMT(8),xsort(7),SORSEL(jpi,jpj,nsort),XATM(nsatm) 
    99       real trfi(jpi,jpj,jpk,jptra) 
    100       common/cfcfc_sor/XIMT,xsort,SORSEL,XATM,trfi 
    101 #if defined key_cfcmean 
    102       integer nmoytra 
    103       real qtram(jpi,jpj,jptra),tsurfm(jpi,jpj),ssurfm(jpi,jpj) 
    104       common/cfc_sorm/nmoytra,qtram,tsurfm,ssurfm 
    105 #endif 
    106 #endif 
     22  
     23    REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jptra) ::  &   
     24       pp_cfc           ! temporal interpolation of atmospheric concentrations  
    10725 
    10826 
     27    REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jptra) ::  &   
     28       qtr,          & ! input function 
     29       qint            ! flux function 
     30 
  • trunk/NEMO/TOP_SRC/SMS/sms_lobster1.h90

    r274 r336  
    1515!! 
    1616!!--------------------------------------------------------------------- 
    17 !!  TOP 1.0,  LOCEAN-IPSL (2005) 
    18 !! $Header$ 
    19 !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt 
     17!!  opa8, ipsl (11/96) 
    2018!!--------------------------------------------------------------------- 
    2119!! 
     
    3129!!      admin     : minimum detritus concentration (NAMELIST) 
    3230!!      redf      : redfield ratio c:n (NAMELIST) 
     31!!      reddom    : redfield ratio c:n for DOM 
    3332!!      slopet    : van t hoff coefficient (NAMELIST) 
    3433!!      toptp     : optimal photosynthesis temperature (NAMELIST) 
    3534!!      aknut     : half-saturation nutrient (NAMELIST) 
    36 !!      r!!hl     : standard carbone/chlorophyl ratio (NAMELIST) 
     35!!      akno3     : half-saturation for nitrate (NAMELIST) 
     36!!      aknh4     : half-saturation for ammonium (NAMELIST) 
     37!!      psinut    : inhibition of nitrate uptake by ammonium (NAMELIST) 
    3738!!      rgamma    : phytoplankton exudation fraction (NAMELIST) 
    3839!!      toptgz    : optimal temperature for zooplankton growth (NAMELIST) 
     
    6869!!      xhr       : coeff for Martin's remineralistion profile 
    6970!! 
     71!!      added by asklod AS Kremeur 2005-03: 
     72!!      fphylab   : NH4 fraction of phytoplankton excretion 
     73!!      fzoolab   : NH4 fraction of zooplankton excretion 
     74!!      fdetlab   : NH4 fraction of detritus dissolution 
     75!!      fdbod     : zooplankton mortality fraction that goes to detritus 
    7076 
    7177      REAL apmin,azmin,anmin,admin,  & 
    72                     redf,slopet,toptp,aknut,rcchl,  & 
     78                    redf,reddom,slopet,toptp,aknut,psinut,akno3,aknh4,rcchl,  & 
    7379                     rgamma,toptgz,tmaxgz,rgz,  & 
    7480                     rppz,taus,aks,filmax,rpnaz,rdnaz,eggzoo,tauzn,  & 
    7581                     tmmaxp,tmminp,tmmaxz,tmminz,anumin,afdmin,taudn,  & 
    7682                     vsed,tmumax,aki,  & 
    77                      tmaxr,tminr,fdoml,taunn,taudomn,xhr 
     83                     tmaxr,tminr,fdoml,taunn,taudomn,xhr,  & 
     84                     fphylab,fzoolab,fdetlab,fdbod 
    7885      REAL remdmp(jpk,jptra) 
    7986 
    8087      COMMON/cotbio/  apmin,azmin,anmin,admin,  & 
    81                      redf,slopet,toptp,aknut,rcchl,  & 
     88                     redf,reddom,slopet,toptp,aknut,psinut,akno3,aknh4,rcchl,  & 
    8289                     rgamma,toptgz,tmaxgz,rgz,  & 
    8390                     rppz,taus,aks,filmax,rpnaz,rdnaz,eggzoo,tauzn,  & 
    8491                     tmmaxp,tmminp,tmmaxz,tmminz,anumin,afdmin,taudn,  & 
    8592                     vsed,tmumax,aki,  & 
    86                      tmaxr,tminr,remdmp,fdoml,taunn,taudomn,xhr 
     93                     tmaxr,tminr,remdmp,fdoml,taunn,taudomn,xhr,  & 
     94                     fphylab,fzoolab,fdetlab,fdbod 
    8795!! 
    8896!! 
     
    111119!! 
    112120!!      nwritebio: time step frequency for biological outputs (NAMELIST) 
     121! asklod 10-2005: oubli de cette partie dans l update: 
     122!!      nitb     : id for additional array output FILE 
     123!!      ndepitb  : id for depth mesh 
     124!!      nhoritb  : id for horizontal mesh 
    113125!! 
    114       INTEGER nwritebio 
    115       COMMON/cibcdf/nwritebio 
     126      INTEGER nwritebio,nitb,ndepitb,nhoritb 
     127      COMMON/cibcdf/nwritebio,nitb,ndepitb,nhoritb 
    116128 
    117129#    endif  
     
    145157!!      dmin3  : fraction of sinking POC released at each level 
    146158!!      dminl  : fraction of sinking POC released in sediments 
    147 !!      sedpoc : mass of POC in sediments 
     159!! asklod add sedpocb, sedpocn, sedpoca 17 06 2005 
     160!!      sedpocb : mass of POC in sediments 
     161!!      sedpocn : mass of POC in sediments 
     162!!      sedpoca : mass of POC in sediments 
    148163!!      fbod   : rapid sinking particles 
    149164!! 
    150165!! 
    151166      REAL sedlam,sedlostpoc 
    152       REAL dmin3(jpi,jpj,jpk), dminl(jpi,jpj),sedpoc(jpi,jpj) 
     167      REAL dmin3(jpi,jpj,jpk), dminl(jpi,jpj) 
     168      REAL sedpoca(jpi,jpj),sedpocb(jpi,jpj),sedpocn(jpi,jpj) 
    153169      REAL fbod(jpi,jpj),cmask(jpi,jpj),areacot 
    154170 
    155       COMMON/cotsedim/sedlam,dmin3,dminl,sedpoc,fbod,sedlostpoc, & 
    156      &                cmask, areacot 
     171      COMMON/cotsedim/sedlam,dmin3,dminl,fbod,sedlostpoc, & 
     172         &               sedpoca, sedpocb, sedpocn, & 
     173         &                cmask, areacot 
  • trunk/NEMO/TOP_SRC/SMS/sms_pisces.h90

    r274 r336  
    1313!! 
    1414!!--------------------------------------------------------------------- 
    15 !!  TOP 1.0,  LOCEAN-IPSL (2005) 
    16 !! $Header$ 
    17 !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt 
     15!!  opa8, ipsl (11/96) 
    1816!!--------------------------------------------------------------------- 
    1917!! 
     
    4038!! --------------------------------------------------------------------- 
    4139!! 
    42       REAL akcc1, akcc2, akcc3, akcc4, devk1, devk2, devkb 
    43       REAL devk1t, devk2t, devkbt, devkst, devks 
     40      REAL akcc1, akcc2, akcc3, akcc4, devk1(4), devk2(4) 
     41      REAL devk3(4), devk4(4), devk5(4), devkst, devks 
    4442      REAL bor1, bor2, c00, c01, c02, c03, c04, c05, c10, c11 
    4543      REAL c12, c13, c20, c21, c22, c23, cb0, cb1, cb2, cb3 
    46       REAL c14, c15, c16, c17, c24, c25, c26, c27 
    47       REAL cb4, cb5, cb6, cb7, cb8, cb9, cb10, cb11 
     44      REAL cb4, cb5, cb6, cb7, cb8, cb9, cb10, cb11, c14 
    4845      REAL cw3, cw4, cw5, cw6, cw0, cw1, cw2, ox0, ox1 
    4946      REAL ox2, ox3, ox4, salchl, rgas, oxyco, ox5 
    50       REAL chemc(jpi,jpj,3) 
    51  
    52       COMMON/cchem2/ akcc1, akcc2, akcc3, akcc4, devk1, devk2,  & 
    53       devkb, devk1t, devk2t, devkbt, devkst, devks,  & 
    54       bor1, bor2, c00, c01, c02, c03, c04, c05, c10, c11,  & 
    55       c12, c13, c20, c21, c22, c23, cb0, cb1, cb2, cb3,  & 
    56       c14, c15, c16, c17, c24, c25, c26, c27, cb4, cb5,  & 
    57       cb6, cb7, cb8, cb9, cb10, cb11,  cw3, cw4, cw5, cw6,  & 
    58       cw0, cw1, cw2, ox0, ox1, ox2, ox3, ox4, ox5, salchl,  & 
    59       rgas, oxyco, chemc 
     47      REAL ca0, ca1, ca2, ca3, ca4, ca5, ca6, chemc(jpi,jpj,3) 
     48      REAL cp10, cp11, cp12, cp13, cp14, cp15, cp16, cp20, cp21 
     49      REAL cp22, cp23, cp24, cp25, cp26, cp30, cp31, cp32, cp33 
     50      REAL cp34, cp35, cs10, cs11, cs12, cs13, cs14, cs15, cs16 
     51      REAL cs17, cs18, cs19 
     52 
     53      COMMON/cchem2/ akcc1, akcc2, akcc3, akcc4, devk1, devk2,   & 
     54       devk3, devk4, devk5, devkst, devks,   & 
     55       bor1, bor2, c00, c01, c02, c03, c04, c05, c10, c11, & 
     56       c12, c13, c20, c21, c22, c23, cb0, cb1, cb2, cb3,  & 
     57       c14, cb4, cb5, ca0, ca1, ca2, ca3, ca4, ca5, ca6,  & 
     58       cb6, cb7, cb8, cb9, cb10, cb11,  cw3, cw4, cw5, cw6,  & 
     59       cw0, cw1, cw2, ox0, ox1, ox2, ox3, ox4, ox5, salchl,  & 
     60       cp10, cp11, cp12, cp13, cp14, cp15, cp16, cp20, cp21,  & 
     61       cp22, cp23, cp24, cp25, cp26, cp30, cp31, cp32, cp33,  & 
     62       cp34, cp35, cs10, cs11, cs12, cs13, cs14, cs15, cs16,  & 
     63       cs17, cs18, cs19, rgas, oxyco, chemc 
    6064!! 
    6165!! COMMON/cchem3/ : Variable for chemistry of Fe and SIO3 
     
    8690!! 
    8791 
    88       INTEGER iabsyr, nrdttrc 
     92      INTEGER iabsyr, nrdttrc, ndayflxtr 
    8993      REAL tspyr, absyr, xtvit 
    9094      REAL rfact, rfactr, rfact2, rfact2r 
    9195 
    92       COMMON/cottim/iabsyr,nrdttrc,tspyr, absyr,xtvit, & 
     96      COMMON/cottim/iabsyr,nrdttrc,tspyr, absyr,xtvit, ndayflxtr, & 
    9397                    rfact, rfactr, rfact2, rfact2r 
    9498 
     
    120124      REAL caco3r, rno3, o2ut, po4r 
    121125      REAL sco2, dispo0, conc0,sumdepsi,rivalkinput,sedfeinput 
    122       REAL calcon, rivpo4input,rivnitinput,oxymin,spocri 
     126      REAL calcon, rivpo4input,nitdepinput,oxymin,spocri 
    123127      REAL nitrif,rdenit,o2nit,concnnh4,concdnh4 
    124       REAL pislope,excret,wsbio,wchl,resrat,mprat 
     128      REAL pislope,excret,wsbio,wchl,resrat,mprat,wchld 
    125129      REAL mzrat,grazrat,xprefc,xprefp,unass,xkgraz,xkmort 
    126130      REAL xksi1,xksi2,sicmax,xremik,xremip,xkdoc1 
     
    129133      REAL unass2,xprefpoc,epsher,epsher2,pislope2,mpratm 
    130134      REAL sigma1, sigma2, zprefc, zprefp, zprefd, wchl2, ferat3 
    131       REAL xsirem 
     135      REAL xsirem, fecnm, fecdm, chlcnm, chlcdm 
    132136 
    133137 
    134138      COMMON/cotham/jkopt,caco3r, rno3, o2ut, po4r,   & 
    135139                    sco2, dispo0, conc0,sumdepsi,rivalkinput,sedfeinput,   & 
    136                     calcon, rivpo4input,rivnitinput,oxymin,spocri,   & 
     140                    calcon, rivpo4input,nitdepinput,oxymin,spocri,   & 
    137141                    nitrif,rdenit,o2nit,concnnh4,concdnh4, & 
    138                     pislope,excret,wsbio,wchl,resrat,mprat,   & 
     142                    pislope,excret,wsbio,wchl,resrat,mprat,wchld,   & 
    139143                    mzrat,grazrat,xprefc,xprefp,unass,xkgraz,xkmort,   & 
    140144                    xksi1,xksi2,sicmax,xremik,xremip,xkdoc1,   & 
     
    143147                    unass2,xprefpoc,epsher,epsher2,pislope2,mpratm, & 
    144148                    sigma1,sigma2, zprefc, zprefp, zprefd, wchl2, ferat3, & 
    145                     xsirem 
     149                    xsirem, fecnm, fecdm, chlcnm, chlcdm 
    146150 
    147151!! 
     
    163167!!---------------------------------------------------------- 
    164168!! 
    165       REAL prmax(jpi,jpj,jpk),tgfunc(jpi,jpj,jpk) 
     169      REAL prmax(jpi,jpj,jpk),tgfunc(jpi,jpj,jpk), tgfunc2(jpi,jpj,jpk) 
    166170      REAL prcaca(jpi,jpj,jpk), silpro(jpi,jpj,jpk), prorca(jpi,jpj,jpk) 
    167171      REAL prorca2(jpi,jpj,jpk),prorca3(jpi,jpj,jpk) 
     
    174178      REAL xlimphy(jpi,jpj,jpk),xlimdia(jpi,jpj,jpk) 
    175179      REAL xksimax(jpi,jpj), xksi(jpi,jpj) 
     180      REAL concdfe(jpi,jpj,jpk),xlimdia2(jpi,jpj,jpk) 
     181      REAL concnfe(jpi,jpj,jpk),znegtr(jpi,jpj,jpk) 
     182 
    176183 
    177184 
    178185      COMMON/cotppp/prmax,tgfunc,prcaca,silpro,prorca,prorca2,  & 
    179186          prorca3,prorca4,prorca5,prorca6,prorca7,pronew,  & 
    180           pronew2,proreg,proreg2,xnanono3,xdiatno3,  & 
    181           xnanonh4,xdiatnh4,xlimphy,xlimdia,xksimax,xksi 
     187          pronew2,proreg,proreg2,xnanono3,xdiatno3,tgfunc2,  & 
     188          xnanonh4,xdiatnh4,xlimphy,xlimdia,xksimax,xksi,  & 
     189          concdfe, xlimdia2, concnfe, znegtr 
    182190!! 
    183191!!------------------------------------------ 
     
    247255      REAL sinksil(jpi,jpj,jpk),sinkcal(jpi,jpj,jpk) 
    248256      REAL nitrfac(jpi,jpj,jpk),xlimbac(jpi,jpj,jpk) 
     257      REAL wscal(jpi,jpj,jpk) 
    249258 
    250259      COMMON/cotpdom/sinking2,phymoy,sinking,sinkfer,sinkfer2,  & 
    251260          xagg,xaggfe,xbact,xaggdoc,xaggdfe,xbactfer,xscave,  & 
    252261          olimi,orem,orem2,ofer,ofer2,osil,xaggdoc2,wsbio4,  & 
    253           wsbio3,wsbio2,sinksil,sinkcal,nitrfac,xlimbac,zdiss 
     262          wsbio3,wsbio2,sinksil,sinkcal,nitrfac,xlimbac,zdiss, & 
     263          wscal 
    254264!! 
    255265!!--------------------------------------------------------- 
     
    261271      REAL onitr(jpi,jpj,jpk),denitr(jpi,jpj,jpk) 
    262272      REAL dust(jpi,jpj),dustmo(jpi,jpj,12) 
    263       REAL cmask(jpi,jpj,jpk),areacot,cotdep(jpi,jpj,jpk) 
    264       REAL nitdep(jpi,jpj,jpk) 
    265       REAL ironsed(jpi,jpj,jpk),po4dep(jpi,jpj,jpk) 
     273      REAL cmask(jpi,jpj,jpk),areacot,cotdep(jpi,jpj) 
     274      REAL nitdep(jpi,jpj)  
     275      REAL ironsed(jpi,jpj,jpk),rivinp(jpi,jpj) 
    266276      LOGICAL bdustfer, briver, bndepo, bsedinput 
    267277 
    268278      COMMON/cotesms/onitr,denitr,dust,dustmo,cmask,areacot, & 
    269                      cotdep,nitdep,ironsed,po4dep,bdustfer,briver, & 
     279                     cotdep,nitdep,ironsed,rivinp,bdustfer,briver, & 
    270280                     bndepo,bsedinput 
    271281 
    272  
    273282#endif 
    274283 
  • trunk/NEMO/TOP_SRC/SMS/trcctl.pisces.h90

    r274 r336  
    1 !!---------------------------------------------------------------------- 
    2 !!  TOP 1.0,  LOCEAN-IPSL (2005) 
    3 !! $Header$ 
    4 !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt 
    5 !!---------------------------------------------------------------------- 
    61#if defined key_trc_pisces 
    72      IF(lwp) WRITE(numout,*) ' use PISCES biological model ' 
     
    2116          STOP 'TRC_CTL' 
    2217      END IF  
    23  
    24 ! check consistency of key_trc_hamocc3 and key_trc_p3zd 
    25 ! ------------------------------------------------------ 
    26  
    27 #    if defined key_trc_diaadd 
    28       IF ( jpdia2d /= 16 .AND. jpdia3d /= 9 ) THEN  
    29           IF (lwp) THEN  
    30               WRITE (numout,*) ' ===>>>> : w a r n i n g ' 
    31               WRITE (numout,*) ' =======   ============= ' 
    32               WRITE (numout,*)                                      & 
    33               &   ' STOP, change jpdia2d to 13 and jpdia3d to 2'    & 
    34               &   ,' in parameter.passivetrc.h '                    &  
    35               &   ,' (key_trc_pisces and key_trc_diaadd)' 
    36           END IF  
    37           STOP 'TRC_CTL' 
    38       END IF 
    39  
    40 #    endif 
    4118#endif 
  • trunk/NEMO/TOP_SRC/SMS/trcini.lobster1.h90

    r274 r336  
    1 !!--------------------------------------------------------------------- 
    2 !! 
    3 !!                        trcini.lobster1.h 
    4 !!  purpose : 
    5 !!  --------- 
    6 !!     specific initialisation for lobster1 model 
    7 !! 
    8 !!   History : 
    9 !!   -------- 
    10 !!      original    : 99-09 (M. Levy)  
    11 !!      additions   : 00-12 (0. Aumont, E. Kestenare) 
    12 !!                           add sediment computations 
    13 !!    03-05 : O. Aumont and A. El Moussaoui F90   
    14 !!--------------------------------------------------------------------- 
    15 !!  TOP 1.0,  LOCEAN-IPSL (2005) 
    16 !! $Header$ 
    17 !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt 
    18 !!--------------------------------------------------------------------- 
    19 !! local declarations 
    20 !! ================== 
    21       INTEGER ji,jj,jk 
     1   !!---------------------------------------------------------------------- 
     2   !!                    ***  trcini.lobster1.h90 *** 
     3   !!---------------------------------------------------------------------- 
     4#  include "domzgr_substitute.h90" 
     5#  include "passivetrc_substitute.h90" 
     6CONTAINS 
     7 
     8   SUBROUTINE trc_ini 
     9      !!--------------------------------------------------------------------- 
     10      !!                    ***  ROUTINE trc_ini  *** 
     11      !!  purpose : 
     12      !!  --------- 
     13      !!     specific initialisation for lobster1 model 
     14      !! 
     15      !!   History : 
     16      !!   -------- 
     17      !!      original    : 99-09 (M. Levy)  
     18      !!      additions   : 00-12 (0. Aumont, E. Kestenare) 
     19      !!                           add sediment computations 
     20      !!    03-05 : O. Aumont and A. El Moussaoui F90   
     21      !!--------------------------------------------------------------------- 
     22      !! local declarations 
     23      !! ================== 
     24      INTEGER ji,jj,jk,jn 
    2225      REAL zdm0(jpi,jpj,jpk),zrro(jpi,jpj),zfluo,zfluu 
    2326      REAL ztest 
    2427 
    25 !! 1. initialization of fields for optical model 
    26 !! -------------------------------------------- 
     28      !! 1. initialization of fields for optical model 
     29      !! -------------------------------------------- 
    2730 
    28           xze(:,:)=5. 
    29           xpar(:,:,:)=0. 
     31      xze(:,:)=5. 
     32      xpar(:,:,:)=0. 
    3033 
    31 !! 2. initialization for passive tracer remineralisation-damping  array 
    32 !! ------------------------------------------------------------------------- 
    33   
     34      !! 2. initialization for passive tracer remineralisation-damping  array 
     35      !! ------------------------------------------------------------------------- 
     36 
    3437      DO jn=1,jptra 
    35           remdmp(:,jn)=tminr 
     38         remdmp(:,jn)=tminr 
    3639      END DO 
    3740 
    3841      IF(lwp) THEN 
    39           WRITE(numout,*) ' ' 
    40           WRITE(numout,*) ' trcini: compute remineralisation-damping  ' 
    41           WRITE(numout,*) '         arrays for tracers' 
     42         WRITE(numout,*) ' ' 
     43         WRITE(numout,*) ' trcini: compute remineralisation-damping  ' 
     44         WRITE(numout,*) '         arrays for tracers' 
    4245      ENDIF 
    4346 
    44 !! 3. initialization of biological variables 
    45 !! ------------------------------------------ 
     47      !! 3. initialization of biological variables 
     48      !! ------------------------------------------ 
    4649 
    47 !! Calculate vertical distribution of newly formed biogenic poc 
    48 !! in the water column in the case of max. possible bottom depth 
    49 !! ------------------------------------------------------------ 
     50      !! Calculate vertical distribution of newly formed biogenic poc 
     51      !! in the water column in the case of max. possible bottom depth 
     52      !! ------------------------------------------------------------ 
    5053 
    5154      zdm0   = 0. 
    5255      zrro = 1. 
    5356      DO jk = jpkb,jpkm1 
    54             zfluo = (fsdepw(:,:,jk)/fsdepw(:,:,jpkb))**xhr  
    55             zfluu = (fsdepw(:,:,jk+1)/fsdepw(:,:,jpkb))**xhr 
    56             IF (zfluo.gt.1.) zfluo = 1. 
    57             zdm0(:,:,jk) = zfluo-zfluu 
    58             IF (jk.le.jpkb-1) zdm0(:,:,jk)=0. 
    59             zrro(:,:) = zrro(:,:)-zdm0(:,:,jk) 
     57         DO jj =1, jpj 
     58            DO ji =1, jpi 
     59               zfluo = (fsdepw(ji,jj,jk)/fsdepw(ji,jj,jpkb))**xhr  
     60               zfluu = (fsdepw(ji,jj,jk+1)/fsdepw(ji,jj,jpkb))**xhr 
     61               IF (zfluo.GT.1.) zfluo = 1. 
     62               zdm0(ji,jj,jk) = zfluo-zfluu 
     63               IF (jk.LE.jpkb-1) zdm0(ji,jj,jk)=0. 
     64               zrro(ji,jj) = zrro(ji,jj)-zdm0(ji,jj,jk) 
     65            ENDDO 
     66         ENDDO 
    6067      ENDDO 
    6168!!! 
    6269 
    63           zdm0(:,:,jpk) = zrro(:,:) 
     70      zdm0(:,:,jpk) = zrro(:,:) 
    6471 
    65 !! Calculate vertical distribution of newly formed biogenic poc 
    66 !! in the water column with realistic topography (first "dry" layer 
    67 !! contains total fraction, which has passed to the upper layers) 
    68 !! ---------------------------------------------------------------------- 
     72      !! Calculate vertical distribution of newly formed biogenic poc 
     73      !! in the water column with realistic topography (first "dry" layer 
     74      !! contains total fraction, which has passed to the upper layers) 
     75      !! ---------------------------------------------------------------------- 
    6976 
    7077      dminl = 0. 
     
    7380      DO jk = 1,jpk 
    7481         DO jj = 1,jpj 
    75            DO ji = 1,jpi 
     82            DO ji = 1,jpi 
    7683 
    77             IF(tmask(ji,jj,jk) == 0) THEN 
    78                 dminl(ji,jj) = dminl(ji,jj)+dmin3(ji,jj,jk) 
    79                 dmin3(ji,jj,jk) = 0.0 
    80             ENDIF 
     84               IF(tmask(ji,jj,jk) == 0) THEN 
     85                  dminl(ji,jj) = dminl(ji,jj)+dmin3(ji,jj,jk) 
     86                  dmin3(ji,jj,jk) = 0.0 
     87               ENDIF 
    8188 
    82           ENDDO 
    83         ENDDO 
     89            ENDDO 
     90         ENDDO 
    8491      ENDDO 
    8592 
    8693      DO jj = 1,jpj 
    87         DO ji = 1,jpi 
    88           IF (tmask(ji,jj,1) == 0) dmin3(ji,jj,1) = 0. 
    89         ENDDO 
     94         DO ji = 1,jpi 
     95            IF (tmask(ji,jj,1) == 0) dmin3(ji,jj,1) = 0. 
     96         ENDDO 
    9097      ENDDO 
    9198 
    92 !! CALCUL DU MASK DE COTE 
    93 !! ----------------------    
    94         cmask=0. 
    95         do ji=2,jpi-1 
    96           do jj=2,jpj-1 
     99      !! CALCUL DU MASK DE COTE 
     100      !! ----------------------    
     101      cmask=0. 
     102      do ji=2,jpi-1 
     103         do jj=2,jpj-1 
    97104            if (tmask(ji,jj,1) == 1) then 
    98              ztest=tmask(ji+1,jj,1)*tmask(ji-1,jj,1)*tmask(ji,jj+1,1) 
    99      .             *tmask(ji,jj-1,1) 
    100              if (ztest == 0) cmask(ji,jj)=1. 
    101              endif 
    102           end do 
    103         end do 
     105               ztest=tmask(ji+1,jj,1)*tmask(ji-1,jj,1)*tmask(ji,jj+1,1)*tmask(ji,jj-1,1) 
     106               IF (ztest == 0) cmask(ji,jj) = 1. 
     107            endif 
     108         end do 
     109      end do 
    104110 
    105         cmask(1,:)=cmask(jpi-1,:) 
    106         cmask(jpi,:)=cmask(2,:) 
     111      cmask(1,:)=cmask(jpi-1,:) 
     112      cmask(jpi,:)=cmask(2,:) 
    107113 
    108114 
    109 !! CALCUL DE LA SURFACE COTIERE 
    110 !! ---------------------------- 
    111          areacot=0. 
    112          do ji=2,jpi-1 
    113             do jj=2,jpj-1 
    114                areacot=areacot+e1t(ji,jj)*e2t(ji,jj)*cmask(ji,jj) 
    115             end do 
     115      !! CALCUL DE LA SURFACE COTIERE 
     116      !! ---------------------------- 
     117      areacot=0. 
     118      do ji=2,jpi-1 
     119         do jj=2,jpj-1 
     120            areacot=areacot+e1t(ji,jj)*e2t(ji,jj)*cmask(ji,jj) 
    116121         end do 
     122      end do 
    117123 
     124   END SUBROUTINE trc_ini 
  • trunk/NEMO/TOP_SRC/SMS/trcini.pisces.h90

    r274 r336  
    1 !!----------------------------------------------------------------- 
    2 !! 
    3 !!                     ROUTINE trcini.pisces.h90 
    4 !!                     ************************ 
    5 !! 
    6 !!  PURPOSE : 
    7 !!  --------- 
    8 !!     Initialisation of PISCES biological and chemical variables 
    9 !! 
    10 !!   INPUT : 
    11 !!   ----- 
    12 !!      common 
    13 !!              all the common defined in opa  
    14 !! 
    15 !! 
    16 !!   OUTPUT :                   : no 
    17 !!   ------ 
    18 !! 
    19 !!   EXTERNAL : 
    20 !!   ---------- 
    21 !!         p4zche 
    22 !! 
    23 !!   MODIFICATIONS: 
    24 !!   -------------- 
    25 !!      original  : 1988-07  E. MAIER-REIMER      MPI HAMBURG 
    26 !!      additions : 1999-10  O. Aumont and C. Le Quere 
    27 !!      additions : 2002     O. Aumont (PISCES) 
    28 !!     03-2005 O. Aumont and A. El Moussaoui F90 
    29 !!--------------------------------------------------------------------- 
    30 !!  TOP 1.0,  LOCEAN-IPSL (2005) 
    31 !! $Header$ 
    32 !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt 
    33 !!---------------------------------------------------------------------- 
    34 !! local declarations 
    35 !! ================== 
     1   !!---------------------------------------------------------------------- 
     2   !!                    ***  trcini.pisces.h90 *** 
     3   !!---------------------------------------------------------------------- 
     4#  include "domzgr_substitute.h90" 
     5#  include "passivetrc_substitute.h90" 
     6CONTAINS 
     7 
     8   SUBROUTINE trc_ini 
     9      !!----------------------------------------------------------------- 
     10      !! 
     11      !!                   ***  ROUTINE trc_ini *** 
     12      !!                      
     13      !! 
     14      !!  Purpose : 
     15      !!  --------- 
     16      !!     Initialisation of PISCES biological and chemical variables 
     17      !! 
     18      !!   INPUT : 
     19      !!   ----- 
     20      !!      common 
     21      !!              all the common defined in opa  
     22      !! 
     23      !! 
     24      !!   OUTPUT :                   : no 
     25      !!   ------ 
     26      !! 
     27      !!   EXTERNAL : 
     28      !!   ---------- 
     29      !!         p4zche 
     30      !! 
     31      !!   MODIFICATIONS: 
     32      !!   -------------- 
     33      !!      original  : 1988-07  E. MAIER-REIMER      MPI HAMBURG 
     34      !!      additions : 1999-10  O. Aumont and C. Le Quere 
     35      !!      additions : 2002     O. Aumont (PISCES) 
     36      !!     03-2005 O. Aumont and A. El Moussaoui F90 
     37      !!--------------------------------------------------------------------- 
     38      !! local declarations 
     39      !! ================== 
     40      INTEGER :: ji,jj,jk 
    3641      INTEGER :: ichl,iband,mo 
    3742      INTEGER , PARAMETER :: jpmois = 12,      & 
    38                              jpan   = 1  
    39  
    40       REAL(wp) :: xtoto,expide,denitide,ztra 
     43         jpan   = 1  
     44 
     45      REAL(wp) :: xtoto,expide,denitide,ztra,zmaskt 
    4146      REAL(wp) , DIMENSION (jpi,jpj) :: riverdoc,river,ndepo 
    4247      CHARACTER (len=34) :: clname 
     
    5055      INTEGER :: numriv,numdust,numbath,numdep 
    5156 
    52 !! 1. initialization 
    53 !! ----------------- 
    54  
    55 !! computation of the record length for direct access FILE 
    56 !! this length depend of 512 for the t3d machine 
    57 !! 
     57      !! 1. initialization 
     58      !! ----------------- 
     59 
     60      !! computation of the record length for direct access FILE 
     61      !! this length depend of 512 for the t3d machine 
     62      !! 
    5863      rfact = rdttra(1) * float(ndttrc) 
    5964      rfactr = 1./rfact 
     
    6368      IF(lwp) write(numout,*) ' Biology time step=',rfact2 
    6469 
    65 !!    INITIALISE DUST INPUT FROM ATMOSPHERE 
    66 !!    ------------------------------------- 
    67  
    68        IF (bdustfer) THEN 
     70      !!    INITIALISE DUST INPUT FROM ATMOSPHERE 
     71      !!    ------------------------------------- 
     72 
     73      IF (bdustfer) THEN 
    6974         clname='dust.orca.nc' 
    70        CALL flinopen(clname,mig(1),nlci,mjg(1),nlcj,.false.,ipi,ipj,0        & 
    71      &      ,zlon,zlat,zlev,itime,istep,zdate0,zsecond,numdust) 
    72        CALL flinget(numdust,'dust',jpidta,jpjdta,0,jpmois,1,                 & 
    73      &        12,mig(1),nlci,mjg(1),nlcj,dustmo(1:nlci,1:nlcj,:) ) 
    74        CALL flinclo(numdust) 
    75  
    76         ! Extra-halo initialization in MPP 
     75         CALL flinopen(clname,mig(1),nlci,mjg(1),nlcj,.false.,ipi,ipj,0        & 
     76            &      ,zlon,zlat,zlev,itime,istep,zdate0,zsecond,numdust) 
     77         CALL flinget(numdust,'dust',jpidta,jpjdta,0,jpmois,1,                 & 
     78            &        12,mig(1),nlci,mjg(1),nlcj,dustmo(1:nlci,1:nlcj,:) ) 
     79         CALL flinclo(numdust) 
     80 
     81         ! Extra-halo initialization in MPP 
    7782         IF( lk_mpp ) THEN 
    7883            DO ji = nlci+1, jpi 
     
    8388            ENDDO 
    8489         ENDIF 
    85        ELSE 
    86        dustmo(:,:,:)=0. 
    87        ENDIF 
    88  
    89 !!    INITIALISE THE NUTRIENT INPUT BY RIVERS 
    90 !!    --------------------------------------- 
    91  
    92        IF (briver) THEN 
    93         clname='river.orca.nc' 
    94        CALL flinopen(clname,mig(1),nlci,mjg(1),nlcj,.false.,ipi,ipj,0        & 
    95       &      ,zlon,zlat,zlev,itime,istep0,zdate0,zsecond,numriv) 
    96        CALL flinget(numriv,'riverdic',jpidta,jpjdta,0,jpan,1,                & 
    97       &        1,mig(1),nlci,mjg(1),nlcj,river(1:nlci,1:nlcj) ) 
    98        CALL flinget(numriv,'riverdoc',jpidta,jpjdta,0,jpan,1,                & 
    99       &        1,mig(1),nlci,mjg(1),nlcj,riverdoc(1:nlci,1:nlcj) ) 
    100        CALL flinclo(numriv) 
    101  
    102         ! Extra-halo initialization in MPP 
     90      ELSE 
     91         dustmo(:,:,:)=0. 
     92      ENDIF 
     93 
     94      !!    INITIALISE THE NUTRIENT INPUT BY RIVERS 
     95      !!    --------------------------------------- 
     96 
     97      IF (briver) THEN 
     98         clname='river.orca.nc' 
     99         CALL flinopen(clname,mig(1),nlci,mjg(1),nlcj,.false.,ipi,ipj,0        & 
     100            &      ,zlon,zlat,zlev,itime,istep0,zdate0,zsecond,numriv) 
     101         CALL flinget(numriv,'riverdic',jpidta,jpjdta,0,jpan,1,                & 
     102            &        1,mig(1),nlci,mjg(1),nlcj,river(1:nlci,1:nlcj) ) 
     103         CALL flinget(numriv,'riverdoc',jpidta,jpjdta,0,jpan,1,                & 
     104            &        1,mig(1),nlci,mjg(1),nlcj,riverdoc(1:nlci,1:nlcj) ) 
     105         CALL flinclo(numriv) 
     106 
     107         ! Extra-halo initialization in MPP 
    103108         IF( lk_mpp ) THEN 
    104109            DO ji = nlci+1, jpi 
     
    112117         ENDIF 
    113118 
    114        ELSE 
    115        river(:,:)=0. 
    116        riverdoc(:,:)=0. 
    117        endif 
    118  
    119 !!    INITIALISE THE N INPUT BY DUST 
    120 !!  --------------------------------------- 
    121  
    122        IF (bndepo) THEN 
    123         clname='ndeposition.orca.nc' 
    124        CALL flinopen(clname,mig(1),nlci,mjg(1),nlcj,.false.,ipi,ipj,0        & 
    125      &      ,zlon,zlat,zlev,itime,istep0,zdate0,zsecond,numdep) 
    126        CALL flinget(numdep,'ndep',jpidta,jpjdta,0,jpan,1,                   & 
    127      &        1,mig(1),nlci,mjg(1),nlcj,ndepo(1:nlci,1:nlcj) ) 
    128        CALL flinclo(numdep) 
    129  
    130         ! Extra-halo initialization in MPP 
     119      ELSE 
     120         river(:,:)=0. 
     121         riverdoc(:,:)=0. 
     122      endif 
     123 
     124      !!    INITIALISE THE N INPUT BY DUST 
     125      !!  --------------------------------------- 
     126 
     127      IF (bndepo) THEN 
     128         clname='ndeposition.orca.nc' 
     129         CALL flinopen(clname,mig(1),nlci,mjg(1),nlcj,.false.,ipi,ipj,0        & 
     130            &      ,zlon,zlat,zlev,itime,istep0,zdate0,zsecond,numdep) 
     131         CALL flinget(numdep,'ndep',jpidta,jpjdta,0,jpan,1,                   & 
     132            &        1,mig(1),nlci,mjg(1),nlcj,ndepo(1:nlci,1:nlcj) ) 
     133         CALL flinclo(numdep) 
     134 
     135         ! Extra-halo initialization in MPP 
    131136         IF( lk_mpp ) THEN 
    132137            DO ji = nlci+1, jpi 
     
    138143         ENDIF 
    139144 
    140        ELSE 
    141        ndepo(:,:)=0. 
    142        ENDIF 
    143  
    144 !!    Computation of the coastal mask. 
    145 !!    Computation of an island mask to enhance coastal supply 
    146 !!    of iron 
    147 !!    ------------------------------------------------------- 
    148  
    149        IF (bsedinput) THEN 
    150         clname='bathy.orca.nc' 
    151        CALL flinopen(clname,mig(1),nlci,mjg(1),nlcj,.false.,ipi,ipj,ipk      & 
    152     &      ,zlon,zlat,zlev,itime,istep0,zdate0,zsecond,numbath) 
    153        CALL flinget(numbath,'bathy',jpidta,jpjdta,jpk,jpan,1,                & 
    154     &        1,mig(1),nlci,mjg(1),nlcj,cmask(1:nlci,1:nlcj,1:jpk) ) 
    155        CALL flinclo(numbath) 
    156  
    157         ! Extra-halo initialization in MPP 
     145      ELSE 
     146         ndepo(:,:)=0. 
     147      ENDIF 
     148 
     149      !!    Computation of the coastal mask. 
     150      !!    Computation of an island mask to enhance coastal supply 
     151      !!    of iron 
     152      !!    ------------------------------------------------------- 
     153 
     154      IF (bsedinput) THEN 
     155         clname='bathy.orca.nc' 
     156         CALL flinopen(clname,mig(1),nlci,mjg(1),nlcj,.false.,ipi,ipj,ipk      & 
     157            &      ,zlon,zlat,zlev,itime,istep0,zdate0,zsecond,numbath) 
     158         CALL flinget(numbath,'bathy',jpidta,jpjdta,jpk,jpan,1,                & 
     159            &        1,mig(1),nlci,mjg(1),nlcj,cmask(1:nlci,1:nlcj,1:jpk) ) 
     160         CALL flinclo(numbath) 
     161 
     162         do jk=1,5 
     163            do jj=2,jpj-1 
     164               do ji=2,jpi-1 
     165                  if (tmask(ji,jj,jk).ne.0) then 
     166                     zmaskt=tmask(ji+1,jj,jk)*tmask(ji-1,jj,jk)*tmask(ji,jj+1,jk)    & 
     167                        &          *tmask(ji,jj-1,jk)*tmask(ji,jj,jk+1) 
     168                     if (zmaskt.eq.0) then 
     169                        cmask(ji,jj,jk)=0.1 
     170                     endif 
     171                  endif 
     172               end do 
     173            end do 
     174         end do 
     175 
     176 
     177         ! Extra-halo initialization in MPP 
    158178         IF( lk_mpp ) THEN 
    159179            DO ji = nlci+1, jpi 
     
    166186 
    167187         DO jk = 1, jpk 
    168            DO jj = 1, jpj 
    169              DO ji = 1, jpi 
    170                expide=min(8.,(fsdept(ji,jj,jk)/500.)**(-1.5)) 
    171                denitide=-0.9543+0.7662*log(expide)-0.235*log(expide)**2 
    172                cmask(ji,jj,jk)=cmask(ji,jj,jk)*exp(denitide)/0.6858 
    173              END DO 
    174            END DO 
     188            DO jj = 1, jpj 
     189               DO ji = 1, jpi 
     190                  expide=min(8.,(fsdept(ji,jj,jk)/500.)**(-1.5)) 
     191                  denitide=-0.9543+0.7662*log(expide)-0.235*log(expide)**2 
     192                  cmask(ji,jj,jk)=cmask(ji,jj,jk)*min(1.,exp(denitide)/0.5) 
     193               END DO 
     194            END DO 
    175195         END DO 
    176196 
    177        ELSE 
    178        cmask(:,:,:)=0. 
    179        ENDIF 
    180  
    181 !!     Computation of the total atmospheric supply of Si 
    182 !!     ------------------------------------------------- 
    183  
    184        sumdepsi=0. 
    185        DO mo=1,12 
     197      ELSE 
     198         cmask(:,:,:)=0. 
     199      ENDIF 
     200 
     201      ! Lateral boundary conditions on ( avt, en )   (sign unchanged) 
     202      CALL lbc_lnk( cmask , 'T', 1. ) 
     203 
     204      !!     Computation of the total atmospheric supply of Si 
     205      !!     ------------------------------------------------- 
     206 
     207      sumdepsi=0. 
     208      DO mo=1,12 
    186209         DO jj=2,jpjm1 
    187            DO ji=2,jpim1 
    188            sumdepsi=sumdepsi+dustmo(ji,jj,mo)/(12.*rmoss)*8.8        & 
    189               *0.075/28.1*e1t(ji,jj)*e2t(ji,jj)*tmask(ji,jj,1) 
    190            END DO 
     210            DO ji=2,jpim1 
     211               sumdepsi=sumdepsi+dustmo(ji,jj,mo)/(12.*rmoss)*8.8        & 
     212                  *0.075/28.1*e1t(ji,jj)*e2t(ji,jj)*tmask(ji,jj,1) 
     213            END DO 
    191214         END DO 
    192        END DO 
    193  
    194        IF( lk_mpp )   CALL mpp_sum( sumdepsi )  ! sum over the global domain 
    195  
    196 !!    COMPUTATION OF THE N/P RELEASE DUE TO COASTAL RIVERS 
    197 !!    COMPUTATION OF THE Si RELEASE DUE TO COASTAL RIVERS  
    198 !!    --------------------------------------------------- 
    199  
    200        DO jj=1,jpj 
     215      END DO 
     216 
     217      IF( lk_mpp )   CALL mpp_sum( sumdepsi )  ! sum over the global domain 
     218 
     219      !!    COMPUTATION OF THE N/P RELEASE DUE TO COASTAL RIVERS 
     220      !!    COMPUTATION OF THE Si RELEASE DUE TO COASTAL RIVERS  
     221      !!    --------------------------------------------------- 
     222 
     223      DO jj=1,jpj 
    201224         DO ji=1,jpi 
    202        cotdep(ji,jj,1)=river(ji,jj)*1E9/(12.*raass                          & 
    203                        *e1t(ji,jj)*e2t(ji,jj)*fse3t(ji,jj,1)+rtrn)*tmask(ji,jj,1) 
    204        po4dep(ji,jj,1)=(river(ji,jj)+riverdoc(ji,jj))*1E9                   & 
    205                        /(31.6*raass*e1t(ji,jj)*e2t(ji,jj)*fse3t(ji,jj,1)+rtrn)   & 
    206                        *tmask(ji,jj,1) 
    207        nitdep(ji,jj,1)=7.6*ndepo(ji,jj)*tmask(ji,jj,1)/(14E6*raass          & 
    208                        *fse3t(ji,jj,1)+rtrn) 
     225            cotdep(ji,jj)=river(ji,jj)*1E9/(12.*raass                          & 
     226               *e1t(ji,jj)*e2t(ji,jj)*fse3t(ji,jj,1)+rtrn)*tmask(ji,jj,1) 
     227            rivinp(ji,jj)=(river(ji,jj)+riverdoc(ji,jj))*1E9                   & 
     228               /(31.6*raass*e1t(ji,jj)*e2t(ji,jj)*fse3t(ji,jj,1)+rtrn)   & 
     229               *tmask(ji,jj,1) 
     230            nitdep(ji,jj)=7.6*ndepo(ji,jj)*tmask(ji,jj,1)/(14E6*raass          & 
     231               *fse3t(ji,jj,1)+rtrn) 
    209232         END DO 
    210        END DO 
     233      END DO 
     234      ! Lateral boundary conditions on ( cotdep, rivinp, nitdep )   (sign unchanged) 
     235      CALL lbc_lnk( cotdep , 'T', 1. )  ;  CALL lbc_lnk( rivinp , 'T', 1. )  ;  CALL lbc_lnk( nitdep , 'T', 1. ) 
    211236 
    212237      rivpo4input=0. 
    213238      rivalkinput=0. 
    214       rivnitinput=0. 
    215        DO jj=2,jpjm1 
     239      nitdepinput=0. 
     240      DO jj=2,jpjm1 
    216241         DO ji=2,jpim1 
    217          rivpo4input=rivpo4input+po4dep(ji,jj,1)*(e1t(ji,jj)*e2t(ji,jj)    & 
    218                      *fse3t(ji,jj,1))*tmask(ji,jj,1)*raass 
    219          rivalkinput=rivalkinput+cotdep(ji,jj,1)*(e1t(ji,jj)*e2t(ji,jj)    & 
    220                      *fse3t(ji,jj,1))*tmask(ji,jj,1)*raass 
    221          rivnitinput=rivnitinput+nitdep(ji,jj,1)*(e1t(ji,jj)*e2t(ji,jj)    & 
    222                      *fse3t(ji,jj,1))*tmask(ji,jj,1)*raass 
     242            rivpo4input=rivpo4input+rivinp(ji,jj)*(e1t(ji,jj)*e2t(ji,jj)    & 
     243               *fse3t(ji,jj,1))*tmask(ji,jj,1)*raass 
     244            rivalkinput=rivalkinput+cotdep(ji,jj)*(e1t(ji,jj)*e2t(ji,jj)    & 
     245               *fse3t(ji,jj,1))*tmask(ji,jj,1)*raass 
     246            nitdepinput=nitdepinput+nitdep(ji,jj)*(e1t(ji,jj)*e2t(ji,jj)    & 
     247               *fse3t(ji,jj,1))*tmask(ji,jj,1)*raass 
    223248         END DO 
    224        END DO 
    225  
    226         IF( lk_mpp ) THEN 
    227           CALL mpp_sum( rivpo4input )  ! sum over the global domain 
    228           CALL mpp_sum( rivalkinput )  ! sum over the global domain 
    229           CALL mpp_sum( rivnitinput )  ! sum over the global domain 
    230         ENDIF 
    231  
    232  
    233 !!    Coastal supply of iron 
    234 !!    ---------------------- 
     249      END DO 
     250 
     251      IF( lk_mpp ) THEN 
     252         CALL mpp_sum( rivpo4input )  ! sum over the global domain 
     253         CALL mpp_sum( rivalkinput )  ! sum over the global domain 
     254         CALL mpp_sum( nitdepinput )  ! sum over the global domain 
     255      ENDIF 
     256 
     257 
     258      !!    Coastal supply of iron 
     259      !!    ---------------------- 
    235260 
    236261      DO jk=1,jpkm1 
    237           ironsed(:,:,jk)=sedfeinput*cmask(:,:,jk)         & 
    238                             /(fse3t(:,:,jk)*rjjss) 
     262         ironsed(:,:,jk)=sedfeinput*cmask(:,:,jk)         & 
     263            /(fse3t(:,:,jk)*rjjss) 
    239264      END DO 
    240 !!---------------------------------------------------------------------- 
    241 !! 
    242 !! Initialize biological variables  
    243 !! 
    244 !!---------------------------------------------------------------------- 
    245  
    246       spocri = 0.003 
    247       jkopt = 14 
    248  
    249 !! Set biological ratios 
    250 !! --------------------- 
     265 
     266      ! Lateral boundary conditions on ( ironsed )   (sign unchanged) 
     267      CALL lbc_lnk( ironsed , 'T', 1. ) 
     268      !!---------------------------------------------------------------------- 
     269      !! 
     270      !! Initialize biological variables  
     271      !! 
     272      !!---------------------------------------------------------------------- 
     273      !! Set biological ratios 
     274      !! --------------------- 
    251275 
    252276      rno3   = (16.+2.)/122. 
    253277      po4r   = 1./122. 
    254       o2ut   = 172./122. 
    255278      o2nit  = 32./122. 
    256279      rdenit = 97.6/16. 
    257280      o2ut   = 140./122. 
    258281 
    259 !!---------------------------------------------------------------------- 
    260 !! 
    261 !! Initialize chemical variables  
    262 !! 
    263 !!---------------------------------------------------------------------- 
    264  
    265 !! set pre-industrial atmospheric [co2] (ppm) and o2/n2 ratio 
    266 !! ---------------------------------------------------------- 
     282      !!---------------------------------------------------------------------- 
     283      !! 
     284      !! Initialize chemical variables  
     285      !! 
     286      !!---------------------------------------------------------------------- 
     287 
     288      !! set pre-industrial atmospheric [co2] (ppm) and o2/n2 ratio 
     289      !! ---------------------------------------------------------- 
    267290 
    268291      atcox = 0.20946 
    269292 
    270 !! Set lower/upper limits for temperature and salinity 
    271 !! --------------------------------------------------- 
     293      !! Set lower/upper limits for temperature and salinity 
     294      !! --------------------------------------------------- 
    272295 
    273296      salchl = 1./1.80655 
    274297      calcon = 1.03E-2 
    275298 
    276 !! Set coefficients for apparent solubility equilibrium 
    277 !!   of calcite (Ingle, 1800, eq. 6) 
    278 !! ---------------------------------------------------- 
     299      !! Set coefficients for apparent solubility equilibrium 
     300      !!   of calcite (Ingle, 1800, eq. 6) 
     301      !! ---------------------------------------------------- 
    279302 
    280303      akcc1 = -34.452 
     
    284307 
    285308 
    286 !! Set coefficients for seawater pressure correction 
    287 !! ------------------------------------------------- 
    288  
    289       devk1  = 24.2 
    290       devk2  = 16.4 
    291       devkb  = 27.5 
    292       devk1t = 0.085 
    293       devk2t = 0.04 
    294       devkbt = 0.095 
     309      !! Set coefficients for seawater pressure correction 
     310      !! ------------------------------------------------- 
     311 
     312      devk1(1) = -25.5 
     313      devk2(1) = 0.1271 
     314      devk3(1) = 0. 
     315      devk4(1) = -3.08E-3 
     316      devk5(1) = 0.0877E-3 
     317 
     318      devk1(2) = -15.82 
     319      devk2(2) = -0.0219 
     320      devk3(2) = 0. 
     321      devk4(2) = 1.13E-3 
     322      devk5(2) = -0.1475E-3 
     323 
     324      devk1(3) = -29.48 
     325      devk2(3) = 0.1622 
     326      devk3(3) = 2.608E-3 
     327      devk4(3) = -2.84E-3 
     328      devk5(3) = 0. 
     329 
     330      devk1(4) = -25.60 
     331      devk2(4) = 0.2324 
     332      devk3(4) = -3.6246E-3 
     333      devk4(4) = -5.13E-3 
     334      devk5(4) = 0.0794E-3 
    295335 
    296336      devkst = 0.23 
    297337      devks  = 35.4 
    298338 
    299 !! Set universal gas constants 
    300 !! --------------------------- 
     339      !! Set universal gas constants 
     340      !! --------------------------- 
    301341 
    302342      rgas = 83.143 
    303343      oxyco = 1./22.4144 
    304344 
    305 !! Set boron constants 
    306 !! ------------------- 
     345      !! Set boron constants 
     346      !! ------------------- 
    307347 
    308348      bor1 = 0.00023 
    309349      bor2 = 1./10.82 
    310350 
    311 !! Set volumetric solubility constants for co2 in ml/l (Weiss, 1974) 
    312 !! ----------------------------------------------------------------- 
    313  
    314       c00 = -58.0931 
    315       c01 = 90.5069 
    316       c02 = 22.2940 
    317       c03 = 0.027766 
    318       c04 = -0.025888 
    319       c05 = 0.0050578 
    320  
    321 !! Set coeff. for 1. dissoc. of carbonic acid (Edmond and Gieskes, 1970) 
    322 !! --------------------------------------------------------------------- 
    323  
    324       c10 = -2307.1266 
    325       c11 = 2.83655 
    326       c12 = -1.5529413 
    327       c13 = -4.0484 
    328       c14 = -0.20760841 
    329       c15 = 0.08468345 
    330       c16 = -0.00654208 
    331       c17 = -0.001005 
    332  
    333 !! Set coeff. for 2. dissoc. of carbonic acid (Edmond and Gieskes, 1970) 
    334 !! --------------------------------------------------------------------- 
    335    
    336       c20 = -3351.6106 
    337       c21 = -9.226508 
    338       c22 = -0.2005743 
    339       c23 = -23.9722 
    340       c24 = -0.106901773 
    341       c25 = 0.1130822 
    342       c26 = -0.00846934 
    343       c27 = -0.001005 
    344  
    345 !! Set coeff. for 1. dissoc. of boric acid (Edmond and Gieskes, 1970) 
    346 !! ------------------------------------------------------------------ 
     351      !! Set volumetric solubility constants for co2 in ml/l (Weiss, 1974) 
     352      !! ----------------------------------------------------------------- 
     353 
     354      c00 = -60.2409 
     355      c01 = 93.4517 
     356      c02 = 23.3585 
     357      c03 = 0.023517 
     358      c04 = -0.023656 
     359      c05 = 0.0047036 
     360 
     361      ca0 = -162.8301 
     362      ca1 = 218.2968 
     363      ca2 = 90.9241 
     364      ca3 = -1.47696 
     365      ca4 = 0.025695 
     366      ca5 = -0.025225 
     367      ca6 = 0.0049867 
     368 
     369      !! Set coeff. for 1. dissoc. of carbonic acid (Edmond and Gieskes, 1970) 
     370      !! --------------------------------------------------------------------- 
     371 
     372      c10 = -3670.7 
     373      c11 =  62.008 
     374      c12 = -9.7944 
     375      c13 = 0.0118 
     376      c14 = -0.000116 
     377 
     378      !! Set coeff. for 2. dissoc. of carbonic acid (Edmond and Gieskes, 1970) 
     379      !! --------------------------------------------------------------------- 
     380 
     381      c20 = -1394.7 
     382      c21 = -4.777 
     383      c22 = 0.0184 
     384      c23 = -0.000118 
     385 
     386      !! Set coeff. for 1. dissoc. of boric acid (Edmond and Gieskes, 1970) 
     387      !! ------------------------------------------------------------------ 
    347388 
    348389      cb0  = -8966.90 
     
    359400      cb11 = 0.053105 
    360401 
    361 !! Set coeff. for dissoc. of water (Dickson and Riley, 1979,  
    362 !!   eq. 7, coefficient cw2 corrected from 0.9415 to 0.09415  
    363 !!   after pers. commun. to B. Bacastow, 1988) 
    364 !! --------------------------------------------------------- 
     402      !! Set coeff. for dissoc. of water (Dickson and Riley, 1979,  
     403      !!   eq. 7, coefficient cw2 corrected from 0.9415 to 0.09415  
     404      !!   after pers. commun. to B. Bacastow, 1988) 
     405      !! --------------------------------------------------------- 
    365406 
    366407      cw0 = -13847.26 
     
    372413      cw6 = -0.01615 
    373414 
    374 !! Set volumetric solubility constants for o2 in ml/l (Weiss, 1970) 
    375 !! ---------------------------------------------------------------- 
     415      ! 
     416      ! Set coeff. for dissoc. of phosphate (Millero (1974) 
     417      ! --------------------------------------------------- 
     418      ! 
     419      cp10 = 115.525 
     420      cp11 = -4576.752 
     421      cp12 = -18.453 
     422      cp13 = -106.736 
     423      cp14 = 0.69171 
     424      cp15 = -0.65643 
     425      cp16 = -0.01844 
     426 
     427      cp20 = 172.0883 
     428      cp21 = -8814.715 
     429      cp22 = -27.927 
     430      cp23 = -160.340 
     431      cp24 = 1.3566 
     432      cp25 = 0.37335 
     433      cp26 = -0.05778 
     434 
     435 
     436      cp30 = -18.141 
     437      cp31 = -3070.75 
     438      cp32 = 17.27039 
     439      cp33 = 2.81197 
     440      cp34 = -44.99486 
     441      cp35 = -0.09984 
     442      ! 
     443      ! Set coeff. for dissoc. of phosphate (Millero (1974) 
     444      ! --------------------------------------------------- 
     445      ! 
     446      cs10 = 117.385 
     447      cs11 = -8904.2 
     448      cs12 = -19.334 
     449      cs13 = -458.79 
     450      cs14 =  3.5913 
     451      cs15 = 188.74 
     452      cs16 = -1.5998 
     453      cs17 = -12.1652 
     454      cs18 = 0.07871 
     455      cs19 = -0.001005 
     456 
     457      !! Set volumetric solubility constants for o2 in ml/l (Weiss, 1970) 
     458      !! ---------------------------------------------------------------- 
    376459 
    377460      ox0 = -58.3877 
     
    382465      ox5 = -0.0019387 
    383466 
    384 !!  FROM THE NEW BIOOPTIC MODEL PROPOSED JM ANDRE, WE READ HERE 
    385 !!  A PRECOMPUTED ARRAY CORRESPONDING TO THE ATTENUATION COEFFICIENT 
    386  
    387          open(49,file='kRGB61.txt',form='formatted') 
    388          do ichl=1,61 
    389            READ(49,*) xtoto,(xkrgb(iband,ichl),iband = 1,3) 
    390          end do 
    391          close(49) 
    392        
     467      !!  FROM THE NEW BIOOPTIC MODEL PROPOSED JM ANDRE, WE READ HERE 
     468      !!  A PRECOMPUTED ARRAY CORRESPONDING TO THE ATTENUATION COEFFICIENT 
     469 
     470      open(49,file='kRGB61.txt',form='formatted') 
     471      do ichl=1,61 
     472         READ(49,*) xtoto,(xkrgb(iband,ichl),iband = 1,3) 
     473      end do 
     474      close(49) 
     475 
    393476#if defined key_off_degrad 
    394477 
    395 !! Read volume for degraded regions (DEGINIT) 
    396 !! ------------------------------------------ 
     478      !! Read volume for degraded regions (DEGINIT) 
     479      !! ------------------------------------------ 
    397480 
    398481#    if defined key_vpp 
     
    404487 
    405488 
    406 !!  Call p4zche to initialize the chemical constants 
    407 !!  ------------------------------------------------ 
     489      !!  Call p4zche to initialize the chemical constants 
     490      !!  ------------------------------------------------ 
    408491 
    409492      CALL p4zche 
     493      !! 
     494      !!  Initialize a counter for the computation of chemistry 
     495      !! 
     496      ndayflxtr=0 
    410497 
    411498      IF(lwp) WRITE(numout,*) ' Initialisation of PISCES done' 
     499 
     500   END SUBROUTINE trc_ini 
  • trunk/NEMO/TOP_SRC/SMS/trclsm.cfc.h90

    r274 r336  
    1 !!! 
    2 !!!                       trclsm.cfc.h 
    3 !!!                       **************** 
    4 !!! 
    5 !!!  PURPOSE : 
    6 !!!  --------- 
    7 !!!     READs and PRINT options for cfc  namelist 
     1   !!---------------------------------------------------------------------- 
     2   !!                    ***  trclsm.cfc.h90 *** 
     3   !!---------------------------------------------------------------------- 
     4CONTAINS 
    85 
    9 #if defined key_passivetrc && defined key_cfc 
     6   SUBROUTINE trc_lsm 
     7      !!------------------------------------------------------------------- 
     8      !!                  ***  ROUTINE trc_lsm *** 
     9      !!                  
     10      !! ** Purpose :   Definition some run parameter for CFC model 
     11      !! 
     12      !! ** Method  :   Read the namcfc namelist and check the parameter  
     13      !!       values called at the first timestep (nit000) 
     14      !! 
     15      !! ** input   :   Namelist namcfc 
     16      !! 
     17      !! history : 
     18      !!   2.0  !  03-08 (C. Ethe)  Original code 
     19      !!------------------------------------------------------------------- 
    1020 
    11       CHARACTER (len=32) :: clname 
     21      CHARACTER (len=32) ::  & 
     22         clname = 'namelist.sms.cfc' 
     23      INTEGER ::  & 
     24         numnat = 80 
    1225 
     26      NAMELIST/namdates/ndate_beg, nyear_res 
     27      !!------------------------------------------------------------------- 
    1328 
    14 !!--------------------------------------------------------------------- 
    15 !!  TOP 1.0,  LOCEAN-IPSL (2005) 
    16 !! $Header$ 
    17 !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt 
    18 !!--------------------------------------------------------------------- 
    19  
    20 ! 0. initializations 
    21 ! ------------------ 
    22  
    23       NAMELIST/coffset/xinitri 
    24  
    25       numnat=80 
    26       clname ='namelist.sms.cfc' 
    27       OPEN( numnat, FILE= clname, FORM='formatted', STATUS = 'old') 
    28  
    29  
    30 !  Namelist traback : 
    31 !  ------------------ 
    32       READ(numnat,coffset) 
     29      ndate_beg = 300101 
     30      nyear_res = 1950 
    3331 
    3432      IF(lwp) THEN 
    35           WRITE(numout,*) ' ' 
    36           WRITE(numout,*) 'coffset' 
    37           write(numout,coffset) 
    38           WRITE(numout,*) ' ' 
     33         WRITE(numout,*) ' ' 
     34         WRITE(numout,*) ' Namelist for CFC model' 
     35         WRITE(numout,*) ' ***********************' 
     36         WRITE(numout,*) ' ' 
    3937      ENDIF 
    4038 
    41 #endif 
     39      OPEN( UNIT=numnat, FILE=clname, FORM='FORMATTED', STATUS='OLD' ) 
     40      READ( numnat , namdates ) 
    4241 
     42      IF(lwp) THEN 
     43         WRITE(numout,*) 
     44         WRITE(numout,*) ' trc_lsm: Namelist parameter' 
     45         WRITE(numout,*) ' ~~~~~~~~~~~~~~' 
     46         WRITE(numout,*) '  initial calendar date (aammjj) for CFC  ndate_beg = ', ndate_beg 
     47         WRITE(numout,*) '  restoring time constant (year)          nyear_res = ', nyear_res 
     48      ENDIF 
     49      nyear_beg = ndate_beg / 10000 
     50      IF(lwp) THEN 
     51         WRITE(numout,*) '  initial year (aa)                       nyear_beg = ', nyear_beg 
     52         WRITE(numout,*) ' ' 
     53      ENDIF 
    4354 
     55   END SUBROUTINE trc_lsm 
    4456 
    45  
    46  
    47  
    48  
    49  
  • trunk/NEMO/TOP_SRC/SMS/trclsm.lobster1.h90

    r274 r336  
    1 !!! 
    2 !!!                        trclsm.lobster1.h 
    3 !!!                     ********************** 
    4 !!! 
    5 !!!  PURPOSE : 
    6 !!!  --------- 
    7 !!!     READS the specific NAMELIST for LOBSTER1 model 
    8 !!! 
    9 !!   WORKSPACE :                : no 
    10 !!   --------- 
    11 !! 
    12 !!   MODIFICATIONS: 
    13 !!   -------------- 
    14 !!      original  : 99-10 (M.A. Foujols, M. Levy) passive tracer 
    15 !!      additions : 00-12 (O. Aumont, E. Kestenare) add sediments 
    16 !! ---------------------------------------------------------------------- 
    17 !! local declarations 
    18 !! ================== 
    19  
    20 #if defined key_passivetrc && defined key_trc_lobster1 
     1!!---------------------------------------------------------------------- 
     2!!                    ***  trclsm.lobster1.h90 *** 
     3!!---------------------------------------------------------------------- 
     4CONTAINS 
     5 
     6   SUBROUTINE trc_lsm 
     7      !!---------------------------------------------------------------------- 
     8      !!                        trclsm.lobster1.h 
     9      !!                     ********************** 
     10      !! 
     11      !!  PURPOSE : 
     12      !!  --------- 
     13      !!     READS the specific NAMELIST for LOBSTER1 model 
     14      !! 
     15      !!   WORKSPACE :                : no 
     16      !!   --------- 
     17      !! 
     18      !!   MODIFICATIONS: 
     19      !!   -------------- 
     20      !!      original  : 99-10 (M.A. Foujols, M. Levy) passive tracer 
     21      !!      additions : 00-12 (O. Aumont, E. Kestenare) add sediments 
     22      !! ---------------------------------------------------------------------- 
     23      !! local declarations 
     24      !! ================== 
    2125      INTEGER :: ji 
    2226      CHARACTER (len=32) :: clname 
    2327 
    24 !!--------------------------------------------------------------------- 
    25 !!  TOP 1.0,  LOCEAN-IPSL (2005) 
    26 !! $Header$ 
    27 !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt 
    28 !!--------------------------------------------------------------------- 
    29  
    30 ! 0. initializations 
    31 ! ------------------ 
    32  
    33       NAMELIST/natbio/apmin,azmin,anmin,admin,   & 
    34       &   redf,slopet,toptp,aknut,rcchl,        & 
     28      !!--------------------------------------------------------------------- 
     29      !!  OPA8, LODYC (15/11/96) 
     30      !!--------------------------------------------------------------------- 
     31 
     32      ! 0. initializations 
     33      ! ------------------ 
     34     NAMELIST/natbio/apmin,azmin,anmin,admin,   & 
     35      &   redf,reddom,slopet,toptp,psinut,akno3,aknh4,rcchl,        & 
    3536      &   rgamma,toptgz,tmaxgz,rgz,             & 
    3637      &   rppz,taus,aks,filmax,rpnaz,rdnaz,eggzoo,tauzn,   & 
    3738      &   tmmaxp,tmminp,tmmaxz,tmminz,anumin,afdmin,taudn,   & 
    38       &   vsed,tmumax,aki,tmaxr,tminr, fdoml, taunn, taudomn,xhr,   & 
    39       &   sedlam, sedlostpoc 
     39      &   vsed,tmumax,aki,tmaxr,tminr, taunn, taudomn,xhr,   & 
     40      &   sedlam, sedlostpoc,  & 
     41      &    fphylab,fzoolab,fdetlab,fdbod 
    4042      NAMELIST/natopt/xkg0,xkr0,xkgp,xkrp,xlg,xlr,rpig 
    4143#if defined key_trc_diabio 
     
    4345#endif 
    4446 
    45  
    46       IF(lwp) THEN 
    47           WRITE(numout,*) ' ' 
    48           WRITE(numout,*) ' ROUTINE trclsm' 
    49           WRITE(numout,*) ' **************' 
    50           WRITE(numout,*) ' ' 
    51           WRITE(numout,*) ' namelist for lobster1 model' 
    52           WRITE(numout,*) ' ***************************' 
    53           WRITE(numout,*) ' ' 
     47      IF(lwp) THEN 
     48         WRITE(numout,*) ' ' 
     49         WRITE(numout,*) ' ROUTINE trclsm' 
     50         WRITE(numout,*) ' **************' 
     51         WRITE(numout,*) ' ' 
     52         WRITE(numout,*) ' namelist for lobster1 model' 
     53         WRITE(numout,*) ' ***************************' 
     54         WRITE(numout,*) ' ' 
    5455      ENDIF 
    5556 
     
    5960      OPEN( numnat, FILE= clname, FORM='formatted', STATUS = 'old') 
    6061 
    61 ! 1.4 namelist natbio : biological parameters 
    62 ! ------------------------------------------- 
    63  
    64       apmin = 0 
    65       azmin = 0 
    66       anmin = 0 
    67       admin = 0 
    68       redf  = 0 
    69       slopet= 0 
    70       toptp = 0 
    71       aknut = 0 
    72       rcchl = 0 
    73       rgamma= 0 
    74       toptgz= 0 
    75       tmaxgz= 0 
    76       rgz   = 0 
    77       rppz  = 0 
    78       taus  = 0 
    79       aks   = 0 
    80       filmax= 0 
    81       rpnaz = 0 
    82       rdnaz = 0 
    83       eggzoo= 0 
    84       tauzn = 0 
    85       tmmaxp= 0 
    86       tmminp= 0 
    87       tmmaxz= 0 
    88       tmminz= 0 
    89       anumin= 0 
    90       afdmin= 0 
    91       taudn = 0 
    92       vsed  = 0 
    93       tmumax= 0 
    94       aki   = 0 
     62      ! 1.4 namelist natbio : biological parameters 
     63      ! ------------------------------------------- 
     64 
     65      apmin = 0. 
     66      azmin = 0. 
     67      anmin = 0. 
     68      admin = 0. 
     69      redf  = 0. 
     70      reddom = 0. 
     71      slopet = 0. 
     72      toptp = 0. 
     73      psinut = 0. 
     74      akno3  = 0. 
     75      aknh4 = 0. 
     76      rcchl = 0. 
     77      rgamma= 0. 
     78      toptgz= 0. 
     79      tmaxgz= 0. 
     80      rgz   = 0. 
     81      rppz  = 0. 
     82      taus  = 0. 
     83      aks   = 0. 
     84      filmax= 0. 
     85      rpnaz = 0. 
     86      rdnaz = 0. 
     87      eggzoo= 0. 
     88      tauzn = 0. 
     89      tmmaxp= 0. 
     90      tmminp= 0. 
     91      tmmaxz= 0. 
     92      tmminz= 0. 
     93      anumin= 0. 
     94      afdmin= 0. 
     95      taudn = 0. 
     96      vsed  = 0. 
     97      tmumax= 0. 
     98      aki   = 0. 
    9599      tmaxr   = 1./(     4.*rday)*0. 
    96100      tminr   = 1./(24.*30.*rday)*0. 
    97       fdoml = 0 
    98       xhr=0 
    99       sedlam=0 
    100       sedlostpoc=0 
    101       taudomn = 0 
    102       taunn = 0 
     101      xhr=0. 
     102      sedlam=0. 
     103      sedlostpoc=0. 
     104      taudomn = 0. 
     105      taunn = 0. 
     106      fphylab = 0. 
     107      fzoolab = 0. 
     108      fdetlab = 0. 
     109      fdbod = 0. 
    103110 
    104111      READ(numnat,natbio) 
     
    122129          &   ' optimal photosynthesis temperature   toptp =', toptp 
    123130          WRITE(numout,*)     & 
    124           &   ' half-saturation nutrient             aknut =', aknut 
     131          &   ' inhibition of no3 uptake by nh4      psinut =', psinut 
     132          WRITE(numout,*)     & 
     133          &   ' half-saturation nutrient for no3 uptake   akno3 =', akno3 
     134          WRITE(numout,*)     & 
     135          &   ' half-saturation nutrient for nh4 uptake   aknh4 =', aknh4 
    125136          WRITE(numout,*)     & 
    126137          &   ' carbone/chlorophyl ratio             rcchl =', rcchl 
     
    181192          &   ' damping-remineralisation rate        tminr =', tminr 
    182193          WRITE(numout,*)     &  
    183           &   ' damping-remineralisation rate        fdoml =', fdoml 
    184           WRITE(numout,*)     &  
    185194          &   ' nitrification rate                   taunn =', taunn 
    186195          WRITE(numout,*)     &  
     
    192201          WRITE(numout,*)     & 
    193202          &   ' Sediment geol loss for POC  sedlostpoc =', sedlostpoc 
     203          WRITE(numout,*)     & 
     204          & ' NH4 fraction of phytoplankton exsudation fphylab =', fphylab 
     205          WRITE(numout,*)     & 
     206          & ' NH4 fraction of zooplankton excretion fzoolab =', fzoolab 
     207          WRITE(numout,*)     & 
     208          & ' NH4 fraction of detritus dissolution  fdetlab =', fdetlab 
     209          WRITE(numout,*)     & 
     210          & ' Zooplankton mortality fraction that goes to detritus fdbod =', fdbod 
    194211      ENDIF 
    195212 
    196 ! 1.5 namelist natopt : parameters for optic 
    197 ! ------------------------------------------ 
     213      ! 1.5 namelist natopt : parameters for optic 
     214      ! ------------------------------------------ 
    198215 
    199216      xkg0  = 0. 
     
    208225 
    209226      IF(lwp) THEN 
    210           WRITE(numout,*) 'natopt' 
    211           WRITE(numout,*) ' ' 
    212           WRITE(numout,*) ' green   water absorption coeff  xkg0  = ',xkg0 
    213           WRITE(numout,*) ' red water absorption coeff      xkr0  = ',xkr0 
    214           WRITE(numout,*) ' pigment red absorption coeff    xkrp  = ',xkrp 
    215           WRITE(numout,*) ' pigment green absorption coeff  xkgp  = ',xkgp 
    216           WRITE(numout,*) ' green chl exposant              xlg   = ',xlg 
    217           WRITE(numout,*) ' red   chl exposant              xlr   = ',xlr 
    218           WRITE(numout,*) ' chla/chla+phea ratio            rpig  = ',rpig 
    219           WRITE(numout,*) ' ' 
     227         WRITE(numout,*) 'natopt' 
     228         WRITE(numout,*) ' ' 
     229         WRITE(numout,*) ' green   water absorption coeff  xkg0  = ',xkg0 
     230         WRITE(numout,*) ' red water absorption coeff      xkr0  = ',xkr0 
     231         WRITE(numout,*) ' pigment red absorption coeff    xkrp  = ',xkrp 
     232         WRITE(numout,*) ' pigment green absorption coeff  xkgp  = ',xkgp 
     233         WRITE(numout,*) ' green chl exposant              xlg   = ',xlg 
     234         WRITE(numout,*) ' red   chl exposant              xlr   = ',xlr 
     235         WRITE(numout,*) ' chla/chla+phea ratio            rpig  = ',rpig 
     236         WRITE(numout,*) ' ' 
    220237 
    221238      ENDIF 
     
    223240#if defined key_trc_diabio 
    224241 
    225 ! NAMELIST : natdbi  
    226  
    227 ! default name for biological trends : short and long name, units 
     242      ! NAMELIST : natdbi  
     243 
     244      ! default name for biological trends : short and long name, units 
    228245 
    229246      DO ji=1,jpdiabio 
    230         IF (ji < 10) THEN  
     247         IF (ji < 10) THEN  
    231248            WRITE (ctrbio(ji),'("BIO_",I1)') ji 
    232         ELSE IF (ji < 100) THEN 
     249         ELSE IF (ji < 100) THEN 
    233250            WRITE (ctrbio(ji),'("BIO_",I2)') ji 
    234         ELSE 
     251         ELSE 
    235252            WRITE (ctrbio(ji),'("BIO_",I3)') ji 
    236         ENDIF  
    237         WRITE (ctrbil(ji),'("BIOLOGICAL TREND NUMBER ",I2)') ji 
    238         ctrbiu(ji)='mmoleN/m3/s ' 
    239       END DO  
     253         ENDIF 
     254         WRITE (ctrbil(ji),'("BIOLOGICAL TREND NUMBER ",I2)') ji 
     255         ctrbiu(ji)='mmoleN/m3/s ' 
     256      END DO 
    240257 
    241258      nwritebio = 10 
     
    244261 
    245262      IF(lwp) THEN 
    246           WRITE(numout,*) 'natdbi' 
    247           WRITE(numout,*) ' ' 
    248           WRITE(numout,*)      & 
    249           &   ' frequency of outputs for biological outputs = '    & 
    250           &   ,nwritebio 
    251           WRITE(numout,*) ' ' 
    252           DO ji=1,jpdiabio 
     263         WRITE(numout,*) 'natdbi' 
     264         WRITE(numout,*) ' ' 
     265         WRITE(numout,*)      & 
     266            &   ' frequency of outputs for biological outputs = '    & 
     267            &   ,nwritebio 
     268         WRITE(numout,*) ' ' 
     269         DO ji=1,jpdiabio 
    253270            WRITE(numout,*)     & 
    254             &   'name of biological trend number :',ji,' : ',ctrbio(ji)   
     271               &   'name of biological trend number :',ji,' : ',ctrbio(ji)   
    255272            WRITE(numout,*) ctrbil(ji)   
    256273            WRITE(numout,*) ' in unit = ',ctrbiu(ji) 
    257           END DO  
    258       END IF  
     274         END DO 
     275      END IF 
    259276#endif 
    260277 
    261 #else 
    262  
    263 ! no passive tracers 
    264  
    265 #endif 
     278   END SUBROUTINE trc_lsm 
  • trunk/NEMO/TOP_SRC/SMS/trclsm.pisces.h90

    r274 r336  
    1 !! 
    2 !!                       trclsm.pisces.h 
    3 !!                       **************** 
    4 !! 
    5 !!  PURPOSE : 
    6 !!  --------- 
    7 !!     READs and PRINT options for PISCES namelist 
    8 !! 
    9 !!   MODIFICATIONS: 
    10 !!   -------------- 
    11 !!      original  : 99-10 (M.A. Foujols, M. Levy) passive tracer 
    12 !!      addition  : 00-01 (L. Bopp) hamocc3,p3zd 
    13 !!      
    141!!---------------------------------------------------------------------- 
     2!!                    ***  trclsm.pisces.h90 *** 
    153!!---------------------------------------------------------------------- 
    16 !! local declarations 
    17 !! ================== 
    18  
    19 #if defined key_passivetrc && defined key_trc_pisces 
     4CONTAINS 
     5 
     6   SUBROUTINE trc_lsm 
     7      !!---------------------------------------------------------------------- 
     8      !! 
     9      !!                       trclsm.pisces.h 
     10      !!                       **************** 
     11      !! 
     12      !!  PURPOSE : 
     13      !!  --------- 
     14      !!     READs and PRINT options for PISCES namelist 
     15      !! 
     16      !!   MODIFICATIONS: 
     17      !!   -------------- 
     18      !!      original  : 99-10 (M.A. Foujols, M. Levy) passive tracer 
     19      !!      addition  : 00-01 (L. Bopp) hamocc3,p3zd 
     20      !!      
     21      !!---------------------------------------------------------------------- 
     22      !!---------------------------------------------------------------------- 
     23      !! local declarations 
     24      !! ================== 
    2025      CHARACTER (len=32) clname 
    2126 
    22 !!--------------------------------------------------------------------- 
    23 !!  TOP 1.0,  LOCEAN-IPSL (2005) 
    24 !! $Header$ 
    25 !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt 
    26 !!--------------------------------------------------------------------- 
    27  
    28 ! 0. initializations 
    29 ! ------------------ 
    30 ! 
    31        NAMELIST/natgas/ gasfac, igaswind, icice 
    32        NAMELIST/natext/ atcco2 
    33        NAMELIST/natbio/caco3r,                                          & 
    34        &               dispo0,conc0,oxymin,grosip, sedlam,              & 
    35        &               sedlostpoc,sedlostcal,sedlostsil,nrdttrc,        & 
    36        &               pislope, excret,wsbio,wchl,resrat,mprat,mzrat,   & 
    37        &               grazrat,xprefc,xprefp,unass,xkgraz,xkmort,xksi1, & 
    38        &               xksi2,sicmax,xremip,xremik,xsirem,xkdoc1,xkdoc2, & 
    39        &               excret2,resrat2,mprat2,mpratm,mzrat2,grazrat2,   & 
    40        &               xprefz,xprefpoc,unass2,wchl2,xkgraz2,xlam1,      & 
    41        &               ferat3,conc1,conc2,conc3,concnnh4,concdnh4,      & 
    42        &               nitrif,epsher,epsher2,pislope2,wsbio2,sigma1,    & 
    43        &               sigma2, zprefc, zprefp, zprefd,sedfeinput 
    44        NAMELIST/natsms/bdustfer, briver, bndepo, bsedinput 
    45  
    46 ! initialize the number of LOGICAL UNIT used 
    47 ! ------------------------------------------ 
    48      
    49       IF(lwp) THEN 
    50           WRITE(numout,*) ' ' 
    51           WRITE(numout,*) ' ROUTINE trclec' 
    52           WRITE(numout,*) ' **************' 
    53           WRITE(numout,*) ' ' 
    54           WRITE(numout,*) ' namelist for PISCES model' 
    55           WRITE(numout,*) ' ***********************' 
    56           WRITE(numout,*) ' ' 
     27      !!--------------------------------------------------------------------- 
     28      !!  OPA8, LODYC (15/11/96) 
     29      !!--------------------------------------------------------------------- 
     30 
     31      ! 0. initializations 
     32      ! ------------------ 
     33      ! 
     34      NAMELIST/natgas/ gasfac, igaswind, icice 
     35      NAMELIST/natext/ atcco2 
     36      NAMELIST/natbio/caco3r,                                          & 
     37         &          dispo0,conc0,oxymin,grosip, sedlam,              & 
     38         &          sedlostpoc,sedlostcal,sedlostsil,nrdttrc,        & 
     39         &          pislope, excret,wsbio,wchl,wchld,resrat,mprat,mzrat,   & 
     40         &          grazrat,xprefc,xprefp,unass,xkgraz,xkmort,xksi1, & 
     41         &          xksi2,xremip,xremik,xsirem,xkdoc1,xkdoc2, & 
     42         &          excret2,resrat2,mprat2,mpratm,mzrat2,grazrat2,   & 
     43         &          xprefz,xprefpoc,unass2,xkgraz2,xlam1,      & 
     44         &          ferat3,conc1,conc2,conc3,concnnh4,concdnh4,      & 
     45         &          nitrif,epsher,epsher2,pislope2,wsbio2,sigma1,    & 
     46         &          sigma2, zprefc, zprefp, zprefd,fecnm,fecdm,      & 
     47         &          chlcnm,chlcdm, sedfeinput 
     48      NAMELIST/natsms/bdustfer, briver, bndepo, bsedinput 
     49 
     50      ! initialize the number of LOGICAL UNIT used 
     51      ! ------------------------------------------ 
     52 
     53      IF(lwp) THEN 
     54         WRITE(numout,*) ' ' 
     55         WRITE(numout,*) ' ROUTINE trclec' 
     56         WRITE(numout,*) ' **************' 
     57         WRITE(numout,*) ' ' 
     58         WRITE(numout,*) ' namelist for PISCES model' 
     59         WRITE(numout,*) ' ***********************' 
     60         WRITE(numout,*) ' ' 
    5761      ENDIF 
    5862 
     
    6266 
    6367 
    64 ! 1 Namelist natgas : 
    65 ! ------------------- 
     68      ! 1 Namelist natgas : 
     69      ! ------------------- 
    6670 
    6771      READ(numnat,natgas) 
    6872 
    6973      IF(lwp) THEN 
    70           WRITE(numout,*) ' ' 
    71           WRITE(numout,*) 'natgas' 
    72           write(numout,*) 'gasfac = ',gasfac 
    73           WRITE(numout,*) ' ' 
    74           write(numout,*) 'igaswind = ',igaswind 
    75           WRITE(numout,*) ' ' 
    76           write(numout,*) 'icice = ',icice 
    77           WRITE(numout,*) ' ' 
    78       ENDIF 
    79  
    80 ! 2 Namelist natext : 
    81 ! ------------------- 
     74         WRITE(numout,*) ' ' 
     75         WRITE(numout,*) 'natgas' 
     76         write(numout,*) 'gasfac = ',gasfac 
     77         WRITE(numout,*) ' ' 
     78         write(numout,*) 'igaswind = ',igaswind 
     79         WRITE(numout,*) ' ' 
     80         write(numout,*) 'icice = ',icice 
     81         WRITE(numout,*) ' ' 
     82      ENDIF 
     83 
     84      ! 2 Namelist natext : 
     85      ! ------------------- 
    8286      READ(numnat,natext) 
    8387 
    8488      IF(lwp) THEN 
    85           WRITE(numout,*) ' ' 
    86           WRITE(numout,*) 'natext' 
    87           WRITE(numout,*) ' ' 
    88           WRITE(numout,*) 'atmospheric pCO2= ',atcco2 
    89           WRITE(numout,*) ' ' 
     89         WRITE(numout,*) ' ' 
     90         WRITE(numout,*) 'natext' 
     91         WRITE(numout,*) ' ' 
     92         WRITE(numout,*) 'atmospheric pCO2= ',atcco2 
     93         WRITE(numout,*) ' ' 
    9094      ENDIF 
    9195 
     
    9397      READ(numnat,natbio) 
    9498      IF(lwp) THEN 
    95           WRITE(numout,*) 'natbio' 
    96           WRITE(numout,*) ' ' 
    97           WRITE(numout,*)      & 
    98           &   ' mean rainratio                             =', caco3r 
    99           WRITE(numout,*)      & 
    100           &   ' mean Si/C ratio                            =', grosip 
    101           WRITE(numout,*)      & 
    102           &   ' Calcite dissolution half saturation        =', dispo0 
    103           WRITE(numout,*)      & 
    104           &   ' Phosphate half saturation                  =', conc0 
    105           WRITE(numout,*)      & 
    106           &   ' Sediment bioturbation factor               =', sedlam 
    107           WRITE(numout,*)      & 
    108           &   ' Sediment burying ratio for POC         =', sedlostpoc 
    109           WRITE(numout,*)      & 
    110           &   ' Sediment burying ratio for CACO3       =', sedlostcal 
    111           WRITE(numout,*)      & 
    112           &   ' Sediment burying ratio for SI          =', sedlostsil 
    113           WRITE(numout,*)      & 
    114           &   ' frequence pour la biologie                 =', nrdttrc 
    115           WRITE(numout,*)      & 
    116           &   ' P-I slope                                  =', pislope 
    117           WRITE(numout,*)      & 
    118           &   ' excretion ratio of phytoplankton           =', excret 
    119           WRITE(numout,*)      & 
    120           &   ' POC sinking speed                          =', wsbio 
    121           WRITE(numout,*)      & 
    122           &   ' exsudation rate of zooplankton             =', resrat 
    123           WRITE(numout,*)      & 
    124           &   ' phytoplankton mortality rate               =', mprat 
    125           WRITE(numout,*)      & 
    126           &   ' zooplankton mortality rate                 =', mzrat 
    127           WRITE(numout,*)      & 
    128           &   ' zoo preference for phyto                   =', xprefc 
    129           WRITE(numout,*)      & 
    130           &   ' zoo preference for POC                     =', xprefp 
    131           WRITE(numout,*)      & 
    132           &   ' maximal zoo grazing rate                   =', grazrat 
    133           WRITE(numout,*)      & 
    134           &   ' non assimilated fraction of phyto by zoo   =', unass 
    135           WRITE(numout,*)      & 
    136           &   ' half sturation constant for grazing        =', xkgraz 
    137           WRITE(numout,*)      & 
    138           &   ' half saturation constant for mortality     =', xkmort 
    139           WRITE(numout,*)      & 
    140           &   ' half saturation constant for Si uptake     =', xksi1 
    141           WRITE(numout,*)      & 
    142           &   ' half saturation constant for Si/C          =', xksi2 
    143           WRITE(numout,*)      & 
    144           &   ' maximum Si/C                               =', sicmax 
    145           WRITE(numout,*)      & 
    146           &   ' remineralisation rate of POC               =', xremip 
    147           WRITE(numout,*)      & 
    148           &   ' remineralization rate of DOC               =', xremik 
    149           WRITE(numout,*)      &  
    150           &   ' remineralization rate of Si                =', xsirem  
    151           WRITE(numout,*)      & 
    152           &   ' 1st half-sat. of DOC remineralization      =', xkdoc1 
    153           WRITE(numout,*)      & 
    154           &   ' 2nd half-sat. of DOC remineralization      =', xkdoc2 
    155           WRITE(numout,*)      & 
    156           &   ' excretion ratio of diatoms                 =', excret2 
    157           WRITE(numout,*)      & 
    158           &   ' exsudation rate of mesozooplankton         =', resrat2 
    159           WRITE(numout,*)      & 
    160           &   ' Diatoms mortality rate                     =', mprat2 
    161           WRITE(numout,*)      & 
    162           &   ' Phytoplankton minimum mortality rate       =', mpratm 
    163           WRITE(numout,*)      & 
    164           &   ' mesozooplankton mortality rate             =', mzrat2 
    165           WRITE(numout,*)      & 
    166           &   ' zoo preference for zoo                     =', xprefz 
    167           WRITE(numout,*)      & 
    168           &   ' zoo preference for poc                   =', xprefpoc 
    169           WRITE(numout,*)      & 
    170           &   ' maximal mesozoo grazing rate               =', grazrat2 
    171           WRITE(numout,*)      & 
    172           &   ' non assimilated fraction of P by mesozoo   =', unass2 
    173           WRITE(numout,*)      & 
    174           &   ' Efficicency of Mesozoo growth              =', epsher2  
    175           WRITE(numout,*)      & 
    176           &   ' Efficiency of microzoo growth              =', epsher 
    177           WRITE(numout,*)      & 
    178           &   ' half sturation constant for grazing 2      =', xkgraz2 
    179           WRITE(numout,*)      & 
    180           &   ' Aggregation rate for diatoms               =', wchl2 
    181           WRITE(numout,*)      & 
    182           &   ' scavenging rate of Iron                    =', xlam1 
    183           WRITE(numout,*)      & 
    184           &   ' Fe/C in zooplankton                        =', ferat3 
    185           WRITE(numout,*)      & 
    186           &   ' Phosphate half saturation for diatoms      =', conc1 
    187           WRITE(numout,*)      & 
    188           &   ' Iron half saturation for phyto             =', conc2 
    189           WRITE(numout,*)      & 
    190           &   ' Iron half saturation for diatoms           =', conc3 
    191           WRITE(numout,*)      & 
    192           &   ' NH4 half saturation for phyto              =', concnnh4 
    193           WRITE(numout,*)      & 
    194           &   ' NH4 half saturation for diatoms            =', concdnh4 
    195           WRITE(numout,*)      & 
    196           &   ' NH4 nitrification rate                     =', nitrif 
    197           WRITE(numout,*)      & 
    198           &   ' P-I slope  for diatoms                     =', pislope2 
    199           WRITE(numout,*)      & 
    200           &   ' Big particles sinking speed                =', wsbio2 
    201           WRITE(numout,*)      & 
    202           &   ' Fraction of microzoo excretion as DOM      =', sigma1 
    203           WRITE(numout,*)      & 
    204           &   ' Fraction of mesozoo excretion as DOM       =', sigma2 
    205           WRITE(numout,*)      & 
    206           &   ' Microzoo preference for POM                =', zprefc 
    207           WRITE(numout,*)      & 
    208           &   ' Microzoo preference for Nanophyto          =', zprefp 
    209           WRITE(numout,*)      & 
    210           &   ' Microzoo preference for Diatoms          =', zprefd 
    211           WRITE(numout,*)      & 
    212           &   ' Coastal release of Iron                 =', sedfeinput 
     99         WRITE(numout,*) 'natbio' 
     100         WRITE(numout,*) ' ' 
     101         WRITE(numout,*)      & 
     102            &   ' mean rainratio                             =', caco3r 
     103         WRITE(numout,*)      & 
     104            &   ' mean Si/C ratio                            =', grosip 
     105         WRITE(numout,*)      & 
     106            &   ' Calcite dissolution half saturation        =', dispo0 
     107         WRITE(numout,*)      & 
     108            &   ' Phosphate half saturation                  =', conc0 
     109         WRITE(numout,*)      & 
     110            &   ' Sediment bioturbation factor               =', sedlam 
     111         WRITE(numout,*)      & 
     112            &   ' Sediment burying ratio for POC         =', sedlostpoc 
     113         WRITE(numout,*)      & 
     114            &   ' Sediment burying ratio for CACO3       =', sedlostcal 
     115         WRITE(numout,*)      & 
     116            &   ' Sediment burying ratio for SI          =', sedlostsil 
     117         WRITE(numout,*)      & 
     118            &   ' frequence pour la biologie                 =', nrdttrc 
     119         WRITE(numout,*)      & 
     120            &   ' P-I slope                                  =', pislope 
     121         WRITE(numout,*)      & 
     122            &   ' excretion ratio of phytoplankton           =', excret 
     123         WRITE(numout,*)      & 
     124            &   ' POC sinking speed                          =', wsbio 
     125         WRITE(numout,*)      & 
     126            &   ' exsudation rate of zooplankton             =', resrat 
     127         WRITE(numout,*)      & 
     128            &   ' phytoplankton mortality rate               =', mprat 
     129         WRITE(numout,*)      & 
     130            &   ' zooplankton mortality rate                 =', mzrat 
     131         WRITE(numout,*)      & 
     132            &   ' zoo preference for phyto                   =', xprefc 
     133         WRITE(numout,*)      & 
     134            &   ' zoo preference for POC                     =', xprefp 
     135         WRITE(numout,*)      & 
     136            &   ' maximal zoo grazing rate                   =', grazrat 
     137         WRITE(numout,*)      & 
     138            &   ' non assimilated fraction of phyto by zoo   =', unass 
     139         WRITE(numout,*)      & 
     140            &   ' half sturation constant for grazing        =', xkgraz 
     141         WRITE(numout,*)      & 
     142            &   ' half saturation constant for mortality     =', xkmort 
     143         WRITE(numout,*)      & 
     144            &   ' half saturation constant for Si uptake     =', xksi1 
     145         WRITE(numout,*)      & 
     146            &   ' half saturation constant for Si/C          =', xksi2 
     147         WRITE(numout,*)      & 
     148            &   ' remineralisation rate of POC               =', xremip 
     149         WRITE(numout,*)      & 
     150            &   ' remineralization rate of DOC               =', xremik 
     151         WRITE(numout,*)      &  
     152            &   ' remineralization rate of Si                =', xsirem  
     153         WRITE(numout,*)      & 
     154            &   ' 1st half-sat. of DOC remineralization      =', xkdoc1 
     155         WRITE(numout,*)      & 
     156            &   ' 2nd half-sat. of DOC remineralization      =', xkdoc2 
     157         WRITE(numout,*)      & 
     158            &   ' excretion ratio of diatoms                 =', excret2 
     159         WRITE(numout,*)      & 
     160            &   ' exsudation rate of mesozooplankton         =', resrat2 
     161         WRITE(numout,*)      & 
     162            &   ' Diatoms mortality rate                     =', mprat2 
     163         WRITE(numout,*)      & 
     164            &   ' Phytoplankton minimum mortality rate       =', mpratm 
     165         WRITE(numout,*)      & 
     166            &   ' mesozooplankton mortality rate             =', mzrat2 
     167         WRITE(numout,*)      & 
     168            &   ' zoo preference for zoo                     =', xprefz 
     169         WRITE(numout,*)      & 
     170            &   ' zoo preference for poc                   =', xprefpoc 
     171         WRITE(numout,*)      & 
     172            &   ' maximal mesozoo grazing rate               =', grazrat2 
     173         WRITE(numout,*)      & 
     174            &   ' non assimilated fraction of P by mesozoo   =', unass2 
     175         WRITE(numout,*)      & 
     176            &   ' Efficicency of Mesozoo growth              =', epsher2  
     177         WRITE(numout,*)      & 
     178            &   ' Efficiency of microzoo growth              =', epsher 
     179         WRITE(numout,*)      & 
     180            &   ' half sturation constant for grazing 2      =', xkgraz2 
     181         WRITE(numout,*)      & 
     182            &   ' Maximum aggregation rate for diatoms       =', wchld 
     183         WRITE(numout,*)      & 
     184            &   ' scavenging rate of Iron                    =', xlam1 
     185         WRITE(numout,*)      & 
     186            &   ' Fe/C in zooplankton                        =', ferat3 
     187         WRITE(numout,*)      & 
     188            &   ' Phosphate half saturation for diatoms      =', conc1 
     189         WRITE(numout,*)      & 
     190            &   ' Iron half saturation for phyto             =', conc2 
     191         WRITE(numout,*)      & 
     192            &   ' Iron half saturation for diatoms           =', conc3 
     193         WRITE(numout,*)      & 
     194            &   ' NH4 half saturation for phyto              =', concnnh4 
     195         WRITE(numout,*)      & 
     196            &   ' NH4 half saturation for diatoms            =', concdnh4 
     197         WRITE(numout,*)      & 
     198            &   ' NH4 nitrification rate                     =', nitrif 
     199         WRITE(numout,*)      & 
     200            &   ' P-I slope  for diatoms                     =', pislope2 
     201         WRITE(numout,*)      & 
     202            &   ' Big particles sinking speed                =', wsbio2 
     203         WRITE(numout,*)      & 
     204            &   ' Fraction of microzoo excretion as DOM      =', sigma1 
     205         WRITE(numout,*)      & 
     206            &   ' Fraction of mesozoo excretion as DOM       =', sigma2 
     207         WRITE(numout,*)      & 
     208            &   ' Microzoo preference for POM                =', zprefc 
     209         WRITE(numout,*)      & 
     210            &   ' Microzoo preference for Nanophyto          =', zprefp 
     211         WRITE(numout,*)      & 
     212            &   ' Microzoo preference for Diatoms          =', zprefd 
     213         WRITE(numout,*)      & 
     214            &   ' Minimum Chl/C in nanophytoplankton         =', chlcnm 
     215         WRITE(numout,*)      & 
     216            &   ' Minimum Chl/C in diatoms                   =', chlcdm 
     217         WRITE(numout,*)      & 
     218            &   ' Maximum Fe/C in nanophytoplankton          =', fecnm 
     219         WRITE(numout,*)      & 
     220            &   ' Minimum Fe/C in diatoms                    =', fecdm 
     221         WRITE(numout,*)      & 
     222            &   ' Coastal release of Iron                 =', sedfeinput 
    213223      ENDIF 
    214224 
    215225      READ(numnat,natsms) 
    216226      IF(lwp) THEN 
    217           WRITE(numout,*) ' ' 
    218           WRITE(numout,*) 'natsms' 
    219           WRITE(numout,*) ' ' 
    220           WRITE(numout,*) 'Dust input from the atmosphere : ', bdustfer 
    221           WRITE(numout,*) ' ' 
    222           WRITE(numout,*) 'River input of nutrients : ', briver 
    223           WRITE(numout,*) ' ' 
    224           WRITE(numout,*) 'Atmospheric deposition of N : ', bndepo 
    225           WRITE(numout,*) ' ' 
    226           WRITE(numout,*) 'Fe input from sediments : ', bsedinput 
    227           WRITE(numout,*) ' ' 
    228       ENDIF 
    229  
    230  
    231 #else 
    232  
    233 ! no passive tracers 
    234  
    235 #endif 
     227         WRITE(numout,*) ' ' 
     228         WRITE(numout,*) 'natsms' 
     229         WRITE(numout,*) ' ' 
     230         WRITE(numout,*) 'Dust input from the atmosphere : ', bdustfer 
     231         WRITE(numout,*) ' ' 
     232         WRITE(numout,*) 'River input of nutrients : ', briver 
     233         WRITE(numout,*) ' ' 
     234         WRITE(numout,*) 'Atmospheric deposition of N : ', bndepo 
     235         WRITE(numout,*) ' ' 
     236         WRITE(numout,*) 'Fe input from sediments : ', bsedinput 
     237         WRITE(numout,*) ' ' 
     238      ENDIF 
     239 
     240   END SUBROUTINE trc_lsm 
Note: See TracChangeset for help on using the changeset viewer.