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 1119 – NEMO

Changeset 1119


Ignore:
Timestamp:
2008-06-20T17:17:41+02:00 (16 years ago)
Author:
cetlod
Message:

style of all top namelist has been modified ; update modules to take it into account, see ticket:196

Location:
trunk/NEMO
Files:
65 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMO/OFF_SRC/DOM/domain.F90

    r974 r1119  
    108108      INTEGER ::   ioptio = 0      ! temporary integer 
    109109 
    110       NAMELIST/nam_run/ no    , cexper   , ln_rstart , nrstdt , nit000,          & 
    111          &             nitend, ndate0   , nleapy   , ninist , nstock,           & 
    112          &             nprint, nwrite   , ln_ctl , nictls, nictle,   & 
     110      NAMELIST/namrun/ no    , cexper   , ln_rstart , nrstdt , nit000,         & 
     111         &             nitend, ndate0   , nleapy    , ninist , nstock,         & 
     112         &             nwrite  
     113 
     114      NAMELIST/namctl/ ln_ctl , nprint, nictls, nictle,   & 
    113115         &             njctls, njctle   , nbench   , isplt  , jsplt 
    114116 
    115       NAMELIST/nam_zgr/ ln_zco, ln_zps, ln_sco 
    116  
    117       NAMELIST/nam_dom/ e3zps_min, e3zps_rat, nmsh  ,   & 
     117      NAMELIST/namzgr/ ln_zco, ln_zps, ln_sco 
     118 
     119      NAMELIST/namdom/ e3zps_min, e3zps_rat, nmsh  ,   & 
    118120         &             nacc  , atfp     , rdt      , rdtmin , rdtmax,   & 
    119121         &             rdth  
    120122 
    121       NAMELIST/nam_cla/ n_cla 
     123      NAMELIST/namcla/ n_cla 
    122124      !!---------------------------------------------------------------------- 
    123125 
     
    130132      ! Namelist namrun : parameters of the run 
    131133      REWIND( numnam ) 
    132       READ  ( numnam, nam_run ) 
     134      READ  ( numnam, namrun ) 
    133135 
    134136      IF(lwp) THEN 
     
    143145         WRITE(numout,*) '           leap year calendar (0/1)        nleapy    = ', nleapy 
    144146         WRITE(numout,*) '           initial state output            ninist    = ', ninist 
    145          WRITE(numout,*) '           level of print                  nprint    = ', nprint 
    146147         WRITE(numout,*) '           frequency of restart file       nstock    = ', nstock 
    147148         WRITE(numout,*) '           frequency of output file        nwrite    = ', nwrite 
     149      ENDIF 
     150 
     151      ndastp = ndate0                ! Assign initial date to current date 
     152 
     153     ! Namelist namctl : print control 
     154      REWIND( numnam ) 
     155      READ  ( numnam, namctl ) 
     156 
     157      IF(lwp) THEN 
     158         WRITE(numout,*) '        Namelist namctl' 
    148159         WRITE(numout,*) '           run control (for debugging)     ln_ctl    = ', ln_ctl 
     160         WRITE(numout,*) '           level of print                  nprint    = ', nprint 
    149161         WRITE(numout,*) '           Start i indice for SUM control  nictls    = ', nictls 
    150162         WRITE(numout,*) '           End i indice for SUM control    nictle    = ', nictle 
     
    157169 
    158170      ndastp = ndate0                ! Assign initial date to current date 
    159  
    160171! ... Control the sub-domain area indices for the print control 
    161172      IF(ln_ctl)   THEN 
     
    267278      ENDIF 
    268279 
    269       ! Read Namelist nam_zgr : vertical coordinate' 
     280      ! Read Namelist namzgr : vertical coordinate' 
    270281      ! --------------------- 
    271282      REWIND ( numnam ) 
    272       READ   ( numnam, nam_zgr ) 
     283      READ   ( numnam, namzgr ) 
    273284 
    274285      ! Parameter control and print 
     
    279290         WRITE(numout,*) 'Namelist namzgr : vertical coordinate' 
    280291         WRITE(numout,*) '~~~~~~~' 
    281          WRITE(numout,*) '          Namelist nam_zgr : set vertical coordinate' 
     292         WRITE(numout,*) '          Namelist namzgr : set vertical coordinate' 
    282293         WRITE(numout,*) '             z-coordinate - full steps      ln_zco = ', ln_zco 
    283294         WRITE(numout,*) '             z-coordinate - partial steps   ln_zps = ', ln_zps 
     
    300311      ! Namelist namdom : space/time domain (bathymetry, mesh, timestep) 
    301312      REWIND( numnam ) 
    302       READ  ( numnam, nam_dom ) 
     313      READ  ( numnam, namdom ) 
    303314 
    304315      IF(lwp) THEN 
     
    327338      ! Namelist cross land advection 
    328339      REWIND( numnam ) 
    329       READ  ( numnam, nam_cla ) 
     340      READ  ( numnam, namcla ) 
    330341      IF(lwp) THEN 
    331342         WRITE(numout,*) 
  • trunk/NEMO/OFF_SRC/TRA/trabbl.F90

    r719 r1119  
    102102      !!---------------------------------------------------------------------- 
    103103      !! * Local declarations 
    104       NAMELIST/nam_bbl/ atrbbl 
     104      NAMELIST/nambbl/ atrbbl 
    105105      !!---------------------------------------------------------------------- 
    106106 
     
    108108      ! -------------------- 
    109109      REWIND ( numnam ) 
    110       READ   ( numnam, nam_bbl ) 
     110      READ   ( numnam, nambbl ) 
    111111 
    112112      ! Parameter control and print 
     
    117117         WRITE(numout,*) 'tra_bbl_init : * Diffusive Bottom Boundary Layer' 
    118118         WRITE(numout,*) '~~~~~~~~~~~~' 
    119          WRITE(numout,*) '          Namelist nam_bbl : set bbl parameters' 
     119         WRITE(numout,*) '          Namelist nambbl : set bbl parameters' 
    120120         WRITE(numout,*) 
    121121         WRITE(numout,*) '          bottom boundary layer coef.    atrbbl = ', atrbbl 
  • trunk/NEMO/OFF_SRC/TRA/traqsr.F90

    r976 r1119  
    5656      !! * Local declarations 
    5757 
    58       NAMELIST/nam_qsr/ ln_traqsr, xsi1 
     58      NAMELIST/namqsr/ ln_traqsr, xsi1 
    5959      !!---------------------------------------------------------------------- 
    6060 
     
    6262      ! -------------------- 
    6363      REWIND ( numnam ) 
    64       READ   ( numnam, nam_qsr ) 
     64      READ   ( numnam, namqsr ) 
    6565 
    6666      ! Parameter control and print 
  • trunk/NEMO/OFF_SRC/dtadyn.F90

    r1032 r1119  
    147147 
    148148 
    149       NAMELIST/nam_offdyn/ ndtadyn, ndtatot, nsptint,            &  
     149      NAMELIST/namdyn/ ndtadyn, ndtatot, nsptint,            &  
    150150          &                nficdyn, lperdyn 
    151151      !!---------------------------------------------------------------------- 
     
    154154      ! ====================================== 
    155155 
    156       ! Read Namelist nam_offdyn : Lateral physics on tracers 
     156      ! Read Namelist namdyn : Lateral physics on tracers 
    157157      REWIND( numnam ) 
    158       READ  ( numnam, nam_offdyn ) 
     158      READ  ( numnam, namdyn ) 
    159159 
    160160      IF(lwp) THEN 
    161161         WRITE(numout,*) 
    162          WRITE(numout,*) 'nam_offdyn : offline dynamical selection' 
     162         WRITE(numout,*) 'namdyn : offline dynamical selection' 
    163163         WRITE(numout,*) '~~~~~~~' 
    164          WRITE(numout,*) '  Namelist nam_offdyn : set parameters for the lecture of the dynamical fields' 
     164         WRITE(numout,*) '  Namelist namdyn : set parameters for the lecture of the dynamical fields' 
    165165         WRITE(numout,*)  
    166166         WRITE(numout,*) ' number of elements in the FILE for a year  ndtadyn = ' , ndtadyn 
  • trunk/NEMO/OFF_SRC/eosbn2.F90

    r719 r1119  
    3838 
    3939   !! * Share module variables 
    40    INTEGER , PUBLIC ::   &  !: nam_eos : ocean physical parameters 
     40   INTEGER , PUBLIC ::   &  !: nameos : ocean physical parameters 
    4141      neos      = 0,     &  !: = 0/1/2 type of eq. of state and Brunt-Vaisala frequ. 
    4242      neos_init = 0         !: control flag for initialization 
    4343 
    44    REAL(wp), PUBLIC ::   &  !: nam_eos : ocean physical parameters 
     44   REAL(wp), PUBLIC ::   &  !: nameos : ocean physical parameters 
    4545      ralpha = 2.0e-4,   &  !: thermal expension coeff. (linear equation of state) 
    4646      rbeta  = 7.7e-4       !: saline  expension coeff. (linear equation of state) 
     
    779779      !! ** Purpose :   initializations for the equation of state 
    780780      !! 
    781       !! ** Method  :   Read the namelist nam_eos 
     781      !! ** Method  :   Read the namelist nameos 
    782782      !! 
    783783      !! ** Action  :   blahblah.... 
     
    786786      !!   8.5  !  02-10  (G. Madec)  Original code 
    787787      !!---------------------------------------------------------------------- 
    788       NAMELIST/nam_eos/ neos, ralpha, rbeta 
     788      NAMELIST/nameos/ neos, ralpha, rbeta 
    789789      !!---------------------------------------------------------------------- 
    790790      !!  OPA 8.5, LODYC-IPSL (2002) 
     
    794794      neos_init = 1           ! indicate that the initialization has been done 
    795795 
    796       ! namelist nam_eos : ocean physical parameters 
    797  
    798       ! Read Namelist nam_eos : equation of state 
     796      ! namelist nameos : ocean physical parameters 
     797 
     798      ! Read Namelist nameos : equation of state 
    799799      REWIND( numnam ) 
    800       READ  ( numnam, nam_eos ) 
     800      READ  ( numnam, nameos ) 
    801801 
    802802      ! Control print 
     
    805805         WRITE(numout,*) 'eos_init : equation of state' 
    806806         WRITE(numout,*) '~~~~~~~~' 
    807          WRITE(numout,*) '          Namelist nam_eos : set eos parameters' 
     807         WRITE(numout,*) '          Namelist nameos : set eos parameters' 
    808808         WRITE(numout,*) 
    809809         WRITE(numout,*) '             flag for eq. of state and N^2  neos   = ', neos 
  • trunk/NEMO/OFF_SRC/lib_mpp.F90

    r719 r1119  
    282282      !! * Local variables   (MPI version) 
    283283      INTEGER ::   mynode, ierr 
    284       NAMELIST/nam_mpp/ c_mpi_send 
     284      NAMELIST/nammpp/ c_mpi_send 
    285285      !!---------------------------------------------------------------------- 
    286286 
     
    292292      ! Namelist namrun : parameters of the run 
    293293      REWIND( numnam ) 
    294       READ  ( numnam, nam_mpp ) 
    295  
    296       WRITE(numout,*) '        Namelist nam_mpp' 
     294      READ  ( numnam, nammpp ) 
     295 
     296      WRITE(numout,*) '        Namelist nammpp' 
    297297      WRITE(numout,*) '           mpi send type            c_mpi_send = ', c_mpi_send 
    298298 
  • trunk/NEMO/OFF_SRC/opa.F90

    r1101 r1119  
    2424   ! ocean physics 
    2525   USE ldftra          ! lateral diffusivity setting    (ldftra_init routine) 
    26    USE zdfini 
    2726   USE traqsr          ! solar radiation penetration   (tra_qsr_init routine) 
    2827 
     
    180179#endif  
    181180 
    182       CALL zdf_init                             ! Vertical ocean physics 
    183  
    184181      !                                     ! Ocean trends 
    185182 
  • trunk/NEMO/TOP_SRC/CFC/par_cfc.F90

    r1004 r1119  
    1010   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 
    1111   !!---------------------------------------------------------------------- 
    12    USE par_lobster, ONLY : jp_lobster   !: number of tracers in LOBSTER 
    13    USE par_pisces , ONLY : jp_pisces    !: number of tracers in PISCES 
     12   USE par_lobster, ONLY : jp_lobster      !: number of tracers in LOBSTER 
     13   USE par_lobster, ONLY : jp_lobster_2d   !: number of 2D diag in LOBSTER 
     14   USE par_lobster, ONLY : jp_lobster_3d   !: number of 3D diag in LOBSTER 
     15   USE par_lobster, ONLY : jp_lobster_trd  !: number of biological diag in LOBSTER 
     16 
     17   USE par_pisces , ONLY : jp_pisces       !: number of tracers in PISCES 
     18   USE par_pisces , ONLY : jp_pisces_2d    !: number of 2D diag in PISCES 
     19   USE par_pisces , ONLY : jp_pisces_3d    !: number of 3D diag in PISCES 
     20   USE par_pisces , ONLY : jp_pisces_trd   !: number of biological diag in PISCES 
    1421 
    1522   IMPLICIT NONE 
    1623   PUBLIC 
    1724 
    18    INTEGER, PUBLIC, PARAMETER ::   jp_lp      = jp_lobster + jp_pisces   !: cumulative number of passive tracers 
     25   INTEGER, PUBLIC, PARAMETER ::   jp_lp      = jp_lobster     + jp_pisces     !: cumulative number of passive tracers 
     26   INTEGER, PUBLIC, PARAMETER ::   jp_lp_2d   = jp_lobster_2d  + jp_pisces_2d  !: 
     27   INTEGER, PUBLIC, PARAMETER ::   jp_lp_3d   = jp_lobster_3d  + jp_pisces_3d  !: 
     28   INTEGER, PUBLIC, PARAMETER ::   jp_lp_trd  = jp_lobster_trd + jp_pisces_trd !: 
    1929    
    2030#if defined key_cfc 
     
    4353 
    4454   ! Starting/ending CFC do-loop indices (N.B. no CFC : jp_cfc0 > jp_cfc1 the do-loop are never done) 
    45    INTEGER, PUBLIC, PARAMETER ::   jp_cfc0    = jp_lp + 1       !: First index of CFC tracers 
    46    INTEGER, PUBLIC, PARAMETER ::   jp_cfc1    = jp_lp + jp_cfc  !: Last  index of CFC tracers 
     55   INTEGER, PUBLIC, PARAMETER ::   jp_cfc0     = jp_lp + 1       !: First index of CFC tracers 
     56   INTEGER, PUBLIC, PARAMETER ::   jp_cfc1     = jp_lp + jp_cfc  !: Last  index of CFC tracers 
     57   INTEGER, PUBLIC, PARAMETER ::   jp_cfc0_2d  = jp_lp_2d  + 1       !: First index of CFC tracers 
     58   INTEGER, PUBLIC, PARAMETER ::   jp_cfc1_2d  = jp_lp_2d  + jp_cfc_2d  !: Last  index of CFC tracers 
     59   INTEGER, PUBLIC, PARAMETER ::   jp_cfc0_3d  = jp_lp_3d  + 1       !: First index of CFC tracers 
     60   INTEGER, PUBLIC, PARAMETER ::   jp_cfc1_3d  = jp_lp_3d  + jp_cfc_3d  !: Last  index of CFC tracers 
     61   INTEGER, PUBLIC, PARAMETER ::   jp_cfc0_trd = jp_lp_trd + 1       !: First index of CFC tracers 
     62   INTEGER, PUBLIC, PARAMETER ::   jp_cfc1_trd = jp_lp_trd + jp_cfc_trd  !: Last  index of CFC tracers 
    4763 
    4864   !!====================================================================== 
  • trunk/NEMO/TOP_SRC/CFC/trclsm_cfc.F90

    r1089 r1119  
    4444      INTEGER ::   numnat 
    4545      !! 
    46       NAMELIST/namdates/ ndate_beg, nyear_res 
     46      NAMELIST/namcfcdate/ ndate_beg, nyear_res 
    4747      !!------------------------------------------------------------------- 
    4848 
     
    5454         &           1, numout, .FALSE., 1 ) 
    5555          
    56       READ( numnat , namdates )     ! read namelist 
     56      READ( numnat , namcfcdate )     ! read namelist 
    5757 
    5858      IF(lwp) THEN                  ! control print 
  • trunk/NEMO/TOP_SRC/LOBSTER/par_lobster.F90

    r934 r1119  
    4848 
    4949   ! Starting/ending LOBSTER do-loop indices (N.B. no LOBSTER : jpl_lob < jpf_lob the do-loop are never done) 
    50    INTEGER, PUBLIC, PARAMETER ::   jp_lob0 =          1       !: First index of LOBSTER tracers 
    51    INTEGER, PUBLIC, PARAMETER ::   jp_lob1 = jp_lobster       !: Last  index of LOBSTER tracers 
     50   INTEGER, PUBLIC, PARAMETER ::   jp_lob0     =          1       !: First index of LOBSTER tracers 
     51   INTEGER, PUBLIC, PARAMETER ::   jp_lob1     = jp_lobster       !: Last  index of LOBSTER tracers 
     52   INTEGER, PUBLIC, PARAMETER ::   jp_lob0_2d  =          1       !: First index of LOBSTER 2D diag 
     53   INTEGER, PUBLIC, PARAMETER ::   jp_lob1_2d  = jp_lobster_2d    !: Last  index of LOBSTER 2D diag 
     54   INTEGER, PUBLIC, PARAMETER ::   jp_lob0_3d  =          1       !: First index of LOBSTER 3D diag 
     55   INTEGER, PUBLIC, PARAMETER ::   jp_lob1_3d  = jp_lobster_3d    !: Last  index of LOBSTER 3D diag 
     56   INTEGER, PUBLIC, PARAMETER ::   jp_lob0_trd =          1       !: First index of LOBSTER bio. diag 
     57   INTEGER, PUBLIC, PARAMETER ::   jp_lob1_trd = jp_lobster_trd   !: Last  index of LOBSTER bio. diag 
    5258 
    5359   !!====================================================================== 
  • trunk/NEMO/TOP_SRC/LOBSTER/trcbio.F90

    r1071 r1119  
    1616   !!---------------------------------------------------------------------- 
    1717   USE oce_trc         ! 
    18    USE trp_trc         !  
     18   USE trc             !  
    1919   USE sms_lobster     !  
    2020   USE lbclnk          !  
     
    9090      fbod(:,:) = 0.e0 
    9191#if defined key_trc_diaadd 
    92       DO ji = 1, jpdia2d 
     92      DO ji = 1, jp_lobster_2d 
    9393         trc2d(:,:,ji) = 0.e0 
    9494      END DO  
     
    182182               zdeta =   zphydet + zzoodet - zdetzoo - zdetnh4 - zdetdom + zboddet 
    183183               zdoma =   zphydom + zzoodom + zdetdom - zdomnh4 - zdomaju 
    184     
     184 
    185185#if defined key_trc_diabio 
    186186               trbio(ji,jj,jk, 1) = zno3phy 
     
    239239      END DO 
    240240 
     241      ! 
     242 
    241243!!gm do loop until jpkm1 only! 
    242244      !                                      ! -------------------------- ! 
     
    364366#if defined key_trc_diaadd 
    365367      ! Lateral boundary conditions on trc2d and trc3d 
    366       DO ji = 1, jpdia2d 
     368      DO ji = 1, jp_lobster_2d 
    367369          CALL lbc_lnk( trc2d(:,:,ji),'T', 1. ) 
    368370      END DO  
    369       DO ji = 1, jpdia3d 
     371      DO ji = 1, jp_lobster_3d 
    370372          CALL lbc_lnk( trc3d(:,:,1,ji),'T', 1. ) 
    371373      END DO  
     
    374376#if defined key_trc_diabio 
    375377      ! Lateral boundary conditions on trcbio 
    376       DO ji = 1, jpdiabio 
     378      DO ji = 1, jp_lobster_trd 
    377379          CALL lbc_lnk( trbio(:,:,1,ji),'T', 1. ) 
    378380      END DO  
  • trunk/NEMO/TOP_SRC/LOBSTER/trcexp.F90

    r1071 r1119  
    1616   !!---------------------------------------------------------------------- 
    1717   USE oce_trc         ! 
    18    USE trp_trc 
    1918   USE sms_lobster 
    2019   USE lbclnk 
  • trunk/NEMO/TOP_SRC/LOBSTER/trclsm_lobster.F90

    r1089 r1119  
    4040      !!---------------------------------------------------------------------- 
    4141      CHARACTER (len=32) :: clname 
     42      INTEGER            :: jn 
    4243      !! 
    43       NAMELIST/natbio/ apmin, azmin, anmin, admin,                       & 
    44          &   redf, reddom, slopet, toptp, psinut, akno3, aknh4, rcchl,   & 
    45          &   rgamma, toptgz, tmaxgz, rgz,                                & 
    46          &   rppz, taus, aks, filmax, rpnaz, rdnaz, eggzoo, tauzn,       & 
    47          &   tmmaxp, tmminp, tmmaxz, tmminz, anumin, afdmin, taudn,      & 
    48          &   vsed, tmumax, aki, tmaxr, tminr, taunn, taudomn, xhr,       & 
    49          &   sedlam, sedlostpoc,                                         & 
    50          &   fphylab, fzoolab, fdetlab, fdbod 
    51       NAMELIST/natopt/ xkg0, xkr0, xkgp, xkrp, xlg, xlr, rpig 
     44#if defined key_trc_diaadd 
     45      ! definition of additional diagnostic as a structure 
     46      TYPE DIAG 
     47         CHARACTER(len = 20)  :: snamedia   !: short name 
     48         CHARACTER(len = 80 ) :: lnamedia   !: long name 
     49         CHARACTER(len = 20 ) :: unitdia    !: unit 
     50      END TYPE DIAG 
     51 
     52      TYPE(DIAG) , DIMENSION(jp_lobster_2d) :: lobdia2d 
     53      TYPE(DIAG) , DIMENSION(jp_lobster_3d) :: lobdia3d 
     54#endif 
    5255#if defined key_trc_diabio 
    53       INTEGER :: ji 
    54       NAMELIST/natdbi/ctrbio,ctrbil,ctrbiu,nwritebio 
     56      ! definition of additional diagnostic as a structure 
     57      TYPE DIABIO 
     58         CHARACTER(len = 20)  :: snamebio   !: short name 
     59         CHARACTER(len = 80 ) :: lnamebio   !: long name 
     60         CHARACTER(len = 20 ) :: unitbio    !: unit 
     61      END TYPE DIABIO 
     62 
     63      TYPE(DIABIO) , DIMENSION(jp_lobster_trd) :: lobdiabio 
     64#endif 
     65 
     66      NAMELIST/namlobphy/ apmin, tmumax, rgamma, fphylab, tmmaxp, tmminp, & 
     67         &                rcchl, aki, toptp  
     68      NAMELIST/namlobnut/ anmin, akno3, aknh4, taunn, psinut 
     69      NAMELIST/namlobzoo/ azmin, eggzoo, rgz, rppz, taus, aks, rpnaz,     & 
     70         &                rdnaz, tauzn, fzoolab, fdbod, tmmaxz, tmminz 
     71      NAMELIST/namlobdet/ admin, taudn, fdetlab, vsed 
     72      NAMELIST/namlobdom/ taudomn 
     73      NAMELIST/namlobsed/ sedlam, sedlostpoc 
     74      NAMELIST/namlobrat/ redf, reddom, slopet, tmaxr, tminr, xhr,        & 
     75         &                filmax, toptgz, tmaxgz, anumin, afdmin 
     76 
     77      NAMELIST/namlobopt/ xkg0, xkr0, xkgp, xkrp, xlg, xlr, rpig 
     78#if defined key_trc_diaadd 
     79      NAMELIST/namlobdia/nwritedia, lobdia3d, lobdia2d     ! additional diagnostics 
     80#endif 
     81#if defined key_trc_diabio 
     82      NAMELIST/namlobdbi/nwritebio, lobdiabio 
    5583#endif 
    5684      !!---------------------------------------------------------------------- 
     
    6391      !                               ! ---------------------- 
    6492      clname ='namelist_lobster' 
    65       CALL ctlopn( numnat, clname, 'OLD', 'FORMATTED', 'SEQUENTIAL',   & 
    66          &           1, numout, .FALSE., 1 ) 
    67  
    68       !                               ! natbio : biological parameters 
    69       !                               ! ------------------------------ 
    70       apmin = 0.                           ! default values 
    71       azmin = 0. 
    72       anmin = 0. 
    73       admin = 0. 
    74       redf  = 0. 
    75       reddom = 0. 
    76       slopet = 0. 
    77       toptp = 0. 
     93      CALL ctlopn( numnat, clname, 'OLD', 'FORMATTED', 'SEQUENTIAL', 1, numout, .FALSE., 1 ) 
     94 
     95      ! namlobphy : parameters for phytoplankton 
     96      apmin   = 0.  
     97      tmumax  = 0.  
     98      rgamma  = 0.  
     99      fphylab = 0.   
     100      tmmaxp  = 0. 
     101      tmminp  = 0. 
     102      rcchl   = 0.  
     103      aki     = 0.  
     104      toptp   = 0.  
     105 
     106      REWIND( numnat ) 
     107      READ  ( numnat, namlobphy ) 
     108 
     109      IF(lwp) THEN 
     110          WRITE(numout,*) ' Namelist namlobphy' 
     111          WRITE(numout,*) '    minimum phytoplancton concentration                  apmin     =', apmin 
     112          WRITE(numout,*) '    phyto max growth rate                                tmumax    =', 86400 * tmumax, ' d' 
     113          WRITE(numout,*) '    phytoplankton exudation fraction                     rgamma    =', rgamma 
     114          WRITE(numout,*) '    NH4 fraction of phytoplankton exsudation             fphylab   =', fphylab 
     115          WRITE(numout,*) '    maximal phyto mortality rate                         tmmaxp    =', 86400 * tmmaxp 
     116          WRITE(numout,*) '    minimal phyto mortality rate                         tmminp    =', 86400 * tmminp 
     117          WRITE(numout,*) '    carbone/chlorophyl ratio                             rcchl     =', rcchl 
     118          WRITE(numout,*) '    light hlaf saturation constant                       aki       =', aki 
     119          WRITE(numout,*) '    optimal photosynthesis temperature                   toptp     =', toptp 
     120          WRITE(numout,*) ' ' 
     121      ENDIF 
     122 
     123      ! namlobnut : parameters for nutrients 
     124      anmin  = 0. 
    78125      psinut = 0. 
    79126      akno3  = 0. 
    80       aknh4 = 0. 
    81       rcchl = 0. 
    82       rgamma= 0. 
    83       toptgz= 0. 
    84       tmaxgz= 0. 
    85       rgz   = 0. 
    86       rppz  = 0. 
    87       taus  = 0. 
    88       aks   = 0. 
    89       filmax= 0. 
    90       rpnaz = 0. 
    91       rdnaz = 0. 
    92       eggzoo= 0. 
    93       tauzn = 0. 
    94       tmmaxp= 0. 
    95       tmminp= 0. 
    96       tmmaxz= 0. 
    97       tmminz= 0. 
    98       anumin= 0. 
    99       afdmin= 0. 
    100       taudn = 0. 
    101       vsed  = 0. 
    102       tmumax= 0. 
    103       aki   = 0. 
    104       tmaxr   = 1./(     4.*rday)*0. 
    105       tminr   = 1./(24.*30.*rday)*0. 
    106       xhr=0. 
    107       sedlam=0. 
    108       sedlostpoc=0. 
    109       taudomn = 0. 
    110       taunn = 0. 
    111       fphylab = 0. 
    112       fzoolab = 0. 
    113       fdetlab = 0. 
    114       fdbod = 0. 
    115  
    116       REWIND( numnat )                     ! read natbio 
    117       READ  ( numnat, natbio ) 
    118  
    119       IF(lwp) THEN 
    120           WRITE(numout,*) ' Namelist natbio' 
    121           WRITE(numout,*) '    minimum phytoplancton concentration                  apmin     =', apmin 
    122           WRITE(numout,*) '    minimum zooplancton   concentration                  azmin     =', azmin 
     127      aknh4  = 0. 
     128      taunn  = 0. 
     129 
     130      REWIND( numnat ) 
     131      READ  ( numnat, namlobnut ) 
     132      IF(lwp) THEN 
     133          WRITE(numout,*) ' Namelist namlobnut' 
    123134          WRITE(numout,*) '    minimum nutrients     concentration                  anmin     =', anmin 
    124           WRITE(numout,*) '    minimum detritus      concentration                  admin     =', admin 
    125           WRITE(numout,*) '    redfield ratio  c:n                                  redf      =', redf 
    126           WRITE(numout,*) '    van t hoff coefficient                               slopet    =', slopet 
    127           WRITE(numout,*) '    optimal photosynthesis temperature                   toptp     =', toptp 
    128           WRITE(numout,*) '    inhibition of no3 uptake by nh4                      psinut    =', psinut 
    129135          WRITE(numout,*) '    half-saturation nutrient for no3 uptake              akno3     =', akno3 
    130136          WRITE(numout,*) '    half-saturation nutrient for nh4 uptake              aknh4     =', aknh4 
    131           WRITE(numout,*) '    carbone/chlorophyl ratio                             rcchl     =', rcchl 
    132           WRITE(numout,*) '    phytoplankton exudation fraction                     rgamma    =', rgamma 
    133           WRITE(numout,*) '    optimal temperature for zoo growth                   toptgz    =', toptgz 
    134           WRITE(numout,*) '    maximal temperature for zoo growth                   tmaxgz    =', tmaxgz 
     137          WRITE(numout,*) '    nitrification rate                                   taunn     =', taunn 
     138          WRITE(numout,*) '    inhibition of no3 uptake by nh4                      psinut    =', psinut 
     139          WRITE(numout,*) ' ' 
     140      ENDIF 
     141 
     142      ! namlobzoo : parameters for zooplankton 
     143      azmin   = 0. 
     144      rgz     = 0. 
     145      rppz    = 0. 
     146      taus    = 0. 
     147      aks     = 0. 
     148      rpnaz   = 0. 
     149      rdnaz   = 0. 
     150      eggzoo  = 0. 
     151      tauzn   = 0. 
     152      tmmaxz  = 0. 
     153      tmminz  = 0. 
     154      fzoolab = 0. 
     155      fdbod   = 0. 
     156 
     157      REWIND( numnat ) 
     158      READ  ( numnat, namlobzoo ) 
     159 
     160      IF(lwp) THEN 
     161          WRITE(numout,*) ' Namelist namlobzoo' 
     162          WRITE(numout,*) '    minimum zooplancton   concentration                  azmin     =', azmin 
     163          WRITE(numout,*) '    minimum  for zoo concentration                       eggzoo    =', eggzoo 
    135164          WRITE(numout,*) '    widtht of zoo temperature FUNCTION                   rgz       =', rgz 
    136165          WRITE(numout,*) '    zoo preference for phyto                             rppz      =', rppz 
    137166          WRITE(numout,*) '    maximal zoo grazing rate                             taus      =', 86400 * taus, ' d' 
    138167          WRITE(numout,*) '    half saturation constant for zoo food                aks       =', aks 
    139           WRITE(numout,*) '    maximal mass clearance rate for zoo                  filmax    =', filmax 
    140168          WRITE(numout,*) '    non-assimilated phyto by zoo                         rpnaz     =', rpnaz 
    141169          WRITE(numout,*) '    non-assimilated detritus by zoo                      rdnaz     =', rdnaz 
    142           WRITE(numout,*) '    minimum  for zoo concentration                       eggzoo    =', eggzoo 
    143170          WRITE(numout,*) '    zoo specific excretion rate                          tauzn     =', 86400 * tauzn 
    144           WRITE(numout,*) '    maximal phyto mortality rate                         tmmaxp    =', 86400 * tmmaxp 
    145           WRITE(numout,*) '    minimal phyto mortality rate                         tmminp    =', 86400 * tmminp 
    146171          WRITE(numout,*) '    maximal zoo mortality rate                           tmmaxz    =', 86400 * tmmaxz 
    147172          WRITE(numout,*) '    minimal zoo mortality rate                           tmminz    =', 86400 * tmminz 
     173          WRITE(numout,*) '    NH4 fraction of zooplankton excretion                fzoolab   =', fzoolab 
     174          WRITE(numout,*) '    Zooplankton mortality fraction that goes to detritus fdbod     =', fdbod 
     175          WRITE(numout,*) ' ' 
     176      ENDIF 
     177 
     178      ! namlobdet : parameters for detritus 
     179      admin   = 0. 
     180      taudn   = 0. 
     181      vsed    = 0. 
     182      fdetlab = 0. 
     183 
     184      REWIND( numnat ) 
     185      READ  ( numnat, namlobdet ) 
     186 
     187      IF(lwp) THEN 
     188          WRITE(numout,*) ' Namelist namlobdet' 
     189          WRITE(numout,*) '    minimum detritus      concentration                  admin     =', admin 
     190          WRITE(numout,*) '    detrital breakdown rate                              taudn     =', 86400 * taudn , ' d' 
     191          WRITE(numout,*) '    detritus sedimentation speed                         vsed      =', 86400 * vsed  , ' d' 
     192          WRITE(numout,*) '    NH4 fraction of detritus dissolution                 fdetlab   =', fdetlab 
     193          WRITE(numout,*) ' ' 
     194      ENDIF 
     195 
     196      ! namlobdom : parameters for DOM 
     197      taudomn = 0. 
     198 
     199      REWIND( numnat )  
     200      READ  ( numnat, namlobdom ) 
     201 
     202      IF(lwp) THEN 
     203          WRITE(numout,*) ' Namelist namlobdom' 
     204          WRITE(numout,*) '    dom remineralisation rate                            taudomn   =', taudomn 
     205          WRITE(numout,*) ' ' 
     206      ENDIF 
     207 
     208      ! namlobsed : parameters from aphotic layers to sediment 
     209      sedlam     = 0. 
     210      sedlostpoc = 0. 
     211 
     212      REWIND( numnat ) 
     213      READ  ( numnat, namlobsed ) 
     214 
     215      IF(lwp) THEN 
     216          WRITE(numout,*) ' Namelist namlobsed' 
     217          WRITE(numout,*) '    time coeff of POC in sediments                       sedlam    =', sedlam 
     218          WRITE(numout,*) '    Sediment geol loss for POC                           sedlostpoc=', sedlostpoc 
     219          WRITE(numout,*) ' ' 
     220      ENDIF 
     221 
     222      ! namlobrat : general coefficient 
     223      redf   = 0. 
     224      reddom = 0. 
     225      slopet = 0. 
     226      tmaxr  = 1./(     4.*rday)*0. 
     227      tminr  = 1./(24.*30.*rday)*0. 
     228      xhr    = 0. 
     229      filmax = 0. 
     230      toptgz = 0. 
     231      tmaxgz = 0. 
     232      anumin = 0. 
     233      afdmin = 0. 
     234 
     235      REWIND( numnat ) 
     236      READ  ( numnat, namlobrat ) 
     237 
     238      IF(lwp) THEN 
     239          WRITE(numout,*) ' Namelist namlobrat' 
     240          WRITE(numout,*) '    redfield ratio  c:n for phyto                        redf      =', redf  
     241          WRITE(numout,*) '    redfield ratio  c:n for DOM                          reddom    =', reddom  
     242          WRITE(numout,*) '    van t hoff coefficient                               slopet    =', slopet 
     243          WRITE(numout,*) '    maximum damping for d z or p                         tmaxr     =', tmaxr 
     244          WRITE(numout,*) '    damping-remineralisation rate                        tminr     =', tminr 
     245          WRITE(numout,*) '    coeff for martin''s remineralistion                  xhr       =', xhr 
     246          WRITE(numout,*) '    maximal mass clearance rate for zoo                  filmax    =', filmax 
     247          WRITE(numout,*) '    optimal temperature for zoo growth                   toptgz    =', toptgz 
     248          WRITE(numout,*) '    maximal temperature for zoo growth                   tmaxgz    =', tmaxgz 
    148249          WRITE(numout,*) '    nutrient threshold for phyto mort                    anumin    =', anumin 
    149250          WRITE(numout,*) '    food threshold for zoo mort                          afdmin    =', afdmin 
    150           WRITE(numout,*) '    detrital breakdown rate                              taudn     =', 86400 * taudn , ' d' 
    151           WRITE(numout,*) '    detritus sedimentation speed                         vsed      =', 86400 * vsed  , ' d' 
    152           WRITE(numout,*) '    phyto max growth rate                                tmumax    =', 86400 * tmumax, ' d' 
    153           WRITE(numout,*) '    light hlaf saturation constant                       aki       =', aki 
    154           WRITE(numout,*) '    maximum damping for d z or p                         tmaxr     =', tmaxr 
    155           WRITE(numout,*) '    damping-remineralisation rate                        tminr     =', tminr 
    156           WRITE(numout,*) '    nitrification rate                                   taunn     =', taunn 
    157           WRITE(numout,*) '    dom remineralisation rate                            taudomn   =', taudomn 
    158           WRITE(numout,*) '    coeff for martin''s remineralistion                  xhr       =', xhr 
    159           WRITE(numout,*) '    time coeff of POC in sediments                       sedlam    =', sedlam 
    160           WRITE(numout,*) '    Sediment geol loss for POC                           sedlostpoc=', sedlostpoc 
    161           WRITE(numout,*) '    NH4 fraction of phytoplankton exsudation             fphylab   =', fphylab 
    162           WRITE(numout,*) '    NH4 fraction of zooplankton excretion                fzoolab   =', fzoolab 
    163           WRITE(numout,*) '    NH4 fraction of detritus dissolution                 fdetlab   =', fdetlab 
    164           WRITE(numout,*) '    Zooplankton mortality fraction that goes to detritus fdbod     =', fdbod 
    165       ENDIF 
    166  
    167       !                               ! natopt : optical parameters 
    168       !                               ! --------------------------- 
    169       xkg0  = 0.                           ! default values 
     251          WRITE(numout,*) ' ' 
     252      ENDIF 
     253 
     254 
     255      ! namlobopt : optical parameters 
     256      xkg0  = 0.  
    170257      xkr0  = 0. 
    171258      xkgp  = 0. 
     
    175262      rpig  = 0. 
    176263 
    177       REWIND( numnat )                     ! read natopt 
    178       READ  ( numnat, natopt )        
    179  
    180       IF(lwp) THEN                         ! control print 
     264      REWIND( numnat ) 
     265      READ  ( numnat, namlobopt ) 
     266 
     267      IF(lwp) THEN                          
    181268         WRITE(numout,*) 
    182          WRITE(numout,*) ' Namelist natopt' 
     269         WRITE(numout,*) ' Namelist namlobopt' 
    183270         WRITE(numout,*) '    green   water absorption coeff                       xkg0  = ', xkg0 
    184271         WRITE(numout,*) '    red water absorption coeff                           xkr0  = ', xkr0 
     
    188275         WRITE(numout,*) '    red   chl exposant                                   xlr   = ', xlr 
    189276         WRITE(numout,*) '    chla/chla+phea ratio                                 rpig  = ', rpig 
    190       ENDIF 
     277         WRITE(numout,*) ' ' 
     278      ENDIF 
     279 
     280#if defined key_trc_diaadd 
     281 
     282      ! Namelist namlobdia 
     283      ! ------------------- 
     284      nwritedia = 10                   ! default values 
     285 
     286      DO jn = jp_lob0_2d, jp_lob1_2d 
     287         WRITE(ctrc2d(jn),'("2D_",I1)') jn                      ! short name 
     288         WRITE(ctrc2l(jn),'("2D DIAGNOSTIC NUMBER ",I2)') jn    ! long name 
     289         ctrc2u(jn) = ' '                                       ! units 
     290      END DO 
     291      !                                 ! 3D output arrays 
     292      DO jn = jp_lob0_3d, jp_lob1_3d 
     293         WRITE(ctrc3d(jn),'("3D_",I1)') jn                      ! short name 
     294         WRITE(ctrc3l(jn),'("3D DIAGNOSTIC NUMBER ",I2)') jn    ! long name 
     295         ctrc3u(jn) = ' '                                       ! units 
     296      END DO 
     297 
     298      REWIND( numnat )               ! read natrtd 
     299      READ  ( numnat, namlobdia ) 
     300 
     301      DO jn = jp_lob0_2d, jp_lob1_2d 
     302         ctrc2d(jn) = lobdia2d(jn)%snamedia 
     303         ctrc2l(jn) = lobdia2d(jn)%lnamedia 
     304         ctrc2u(jn) = lobdia2d(jn)%unitdia 
     305      END DO 
     306 
     307      DO jn = jp_lob0_3d, jp_lob1_3d 
     308         ctrc3d(jn) = lobdia3d(jn)%snamedia 
     309         ctrc3l(jn) = lobdia3d(jn)%lnamedia 
     310         ctrc3u(jn) = lobdia3d(jn)%unitdia 
     311      END DO 
     312 
     313      IF(lwp) THEN                   ! control print 
     314         WRITE(numout,*) 
     315         WRITE(numout,*) ' Namelist : natadd' 
     316         WRITE(numout,*) '    frequency of outputs for additional arrays nwritedia = ', nwritedia 
     317         DO jn = jp_lob0_3d, jp_lob1_3d 
     318            WRITE(numout,*) '   3d output field No : ',jn 
     319            WRITE(numout,*) '   short name         : ', TRIM(ctrc3d(jn)) 
     320            WRITE(numout,*) '   long name          : ', TRIM(ctrc3l(jn)) 
     321            WRITE(numout,*) '   unit               : ', TRIM(ctrc3u(jn)) 
     322            WRITE(numout,*) ' ' 
     323         END DO 
     324 
     325         DO jn = jp_lob0_2d, jp_lob1_2d 
     326            WRITE(numout,*) '   2d output field No : ',jn 
     327            WRITE(numout,*) '   short name         : ', TRIM(ctrc2d(jn)) 
     328            WRITE(numout,*) '   long name          : ', TRIM(ctrc2l(jn)) 
     329            WRITE(numout,*) '   unit               : ', TRIM(ctrc2u(jn)) 
     330            WRITE(numout,*) ' ' 
     331         END DO 
     332      ENDIF 
     333#endif 
    191334 
    192335#if defined key_trc_diabio 
    193336 
    194       !                               ! natdbi : bio diagnostics 
    195       !                               ! ------------------------ 
     337      ! namlobdbi : bio diagnostics 
    196338      nwritebio = 10                     ! default values 
    197       DO ji = 1, jpdiabio 
    198          IF(     ji <  10 ) THEN   ;   WRITE (ctrbio(ji),'("BIO_",I1)') ji      ! short name 
    199          ELSEIF (ji < 100 ) THEN   ;   WRITE (ctrbio(ji),'("BIO_",I2)') ji    
    200          ELSE                      ;   WRITE (ctrbio(ji),'("BIO_",I3)') ji 
     339 
     340      DO jn = jp_lob0_trd, jp_lob1_trd 
     341         IF(     jn <  10 ) THEN   ;   WRITE (ctrbio(jn),'("BIO_",I1)') jn      ! short name 
     342         ELSEIF (jn < 100 ) THEN   ;   WRITE (ctrbio(jn),'("BIO_",I2)') jn    
     343         ELSE                      ;   WRITE (ctrbio(jn),'("BIO_",I3)') jn 
    201344         ENDIF 
    202          WRITE(ctrbil(ji),'("BIOLOGICAL TREND NUMBER ",I2)') ji                 ! long name 
    203          ctrbiu(ji) = 'mmoleN/m3/s '                                            ! units 
    204       END DO 
    205  
    206       REWIND( numnat )                     ! read natdbi 
    207       READ  ( numnat, natdbi )   
    208  
    209       IF(lwp) THEN 
     345         WRITE(ctrbil(jn),'("BIOLOGICAL TREND NUMBER ",I2)') jn                 ! long name 
     346         ctrbiu(jn) = 'mmoleN/m3/s '                                            ! units 
     347      END DO 
     348 
     349      REWIND( numnat ) 
     350      READ  ( numnat, namlobdbi )  
     351  
     352      DO jn = jp_lob0_trd, jp_lob1_trd 
     353         ctrbio(jn) = lobdiabio(jn)%snamebio 
     354         ctrbil(jn) = lobdiabio(jn)%lnamebio 
     355         ctrbiu(jn) = lobdiabio(jn)%unitbio 
     356      END DO 
     357 
     358      IF(lwp) THEN                   ! control print 
    210359         WRITE(numout,*) 
    211          WRITE(numout,*) ' Namelist natdbi' 
    212          WRITE(numout,*) '    frequency of outputs for biological outputs  nwritebio = ', nwritebio 
    213          DO ji = 1, jpdiabio 
    214             WRITE(numout,*) '     name of biological trend No :',ji,' : ',ctrbio(ji), ctrbil(ji), ' in ', ctrbiu(ji) 
     360         WRITE(numout,*) ' Namelist : namlobdbi' 
     361         WRITE(numout,*) '    frequency of outputs for biological trends nwritebio = ', nwritebio 
     362         DO jn = jp_lob0_trd, jp_lob1_trd 
     363            WRITE(numout,*) '   biological trend No : ',jn 
     364            WRITE(numout,*) '   short name         : ', TRIM(ctrbio(jn)) 
     365            WRITE(numout,*) '   long name          : ', TRIM(ctrbil(jn)) 
     366            WRITE(numout,*) '   unit               : ', TRIM(ctrbiu(jn)) 
     367            WRITE(numout,*) ' ' 
    215368         END DO 
    216369      END IF 
  • trunk/NEMO/TOP_SRC/LOBSTER/trcopt.F90

    r1071 r1119  
    1717   !!---------------------------------------------------------------------- 
    1818   USE oce_trc         ! 
    19    USE trp_trc 
     19   USE trc 
    2020   USE sms_lobster 
    2121   USE prtctl_trc      ! Print control for debbuging 
     
    136136         WRITE(charout, FMT="('opt')") 
    137137         CALL prt_ctl_trc_info(charout) 
    138          CALL prt_ctl_trc( tab4d=tra, mask=tmask, clinfo=ctrcnm ) 
     138         CALL prt_ctl_trc( tab4d=trn, mask=tmask, clinfo=ctrcnm ) 
    139139      ENDIF 
    140140 
  • trunk/NEMO/TOP_SRC/LOBSTER/trcsed.F90

    r1071 r1119  
    1515   !!---------------------------------------------------------------------- 
    1616   USE oce_trc         ! 
    17    USE trp_trc 
     17   USE trc 
    1818   USE sms_lobster 
    1919   USE lbclnk 
  • trunk/NEMO/TOP_SRC/PISCES/p4zbio.F90

    r1073 r1119  
    1515   !!---------------------------------------------------------------------- 
    1616   USE oce_trc         ! 
    17    USE trp_trc         !  
     17   USE trc         !  
    1818   USE sms_pisces      !  
    1919   USE p4zsink         !  
     
    131131 
    132132# if defined key_trc_dia3d && defined key_kriest 
    133 !!gm potential bug  hard coded index on trc3d 
    134       trc3d(:,:,:,11) = tra(:,:,:,jpcal) * xnegtr(:,:,:) * 1.e3 * rfact2r 
     133      trc3d(:,:,:,jp_pcs0_3d + 10) = tra(:,:,:,jpcal) * xnegtr(:,:,:) * 1.e3 * rfact2r 
    135134# endif 
    136135      ! 
  • trunk/NEMO/TOP_SRC/PISCES/p4zche.F90

    r1073 r1119  
    1818   !!---------------------------------------------------------------------- 
    1919   USE oce_trc         ! 
    20    USE trp_trc         ! 
     20   USE trc         ! 
    2121   USE sms_pisces      !  
    2222 
  • trunk/NEMO/TOP_SRC/PISCES/p4zflx.F90

    r1073 r1119  
    1919   USE trc 
    2020   USE oce_trc         ! 
    21    USE trp_trc 
     21   USE trc 
    2222   USE sms_pisces 
    2323   USE prtctl_trc 
     
    167167# if defined key_trc_diaadd 
    168168            ! Save diagnostics 
    169             trc2d(ji,jj,1) = ( zfld - zflu ) * 1000. 
    170             trc2d(ji,jj,2) = ( zfld16 - zflu16 ) * 1000. 
    171             trc2d(ji,jj,3) = zkgco2(ji,jj) 
    172             trc2d(ji,jj,4) = atcco2 - zh2co3(ji,jj) / ( chemc(ji,jj,1) + rtrn ) 
     169            trc2d(ji,jj,jp_pcs0_2d    ) = ( zfld - zflu ) * 1000. 
     170            trc2d(ji,jj,jp_pcs0_2d + 1) = ( zfld16 - zflu16 ) * 1000. 
     171            trc2d(ji,jj,jp_pcs0_2d + 2) = zkgco2(ji,jj) 
     172            trc2d(ji,jj,jp_pcs0_2d + 3) = atcco2 - zh2co3(ji,jj) / ( chemc(ji,jj,1) + rtrn ) 
    173173# endif 
    174174         END DO 
     
    209209      !! ** Purpose :   Initialization of atmospheric conditions 
    210210      !! 
    211       !! ** Method  :   Read the natext namelist and check the parameters 
     211      !! ** Method  :   Read the nampisext namelist and check the parameters 
    212212      !!      called at the first timestep (nittrc000) 
    213       !! ** input   :   Namelist natext 
     213      !! ** input   :   Namelist nampisext 
    214214      !! 
    215215      !!---------------------------------------------------------------------- 
    216216 
    217       NAMELIST/natext/ atcco2 
     217      NAMELIST/nampisext/ atcco2 
    218218 
    219219      REWIND( numnat )                     ! read numnat 
    220       READ  ( numnat, natext ) 
     220      READ  ( numnat, nampisext ) 
    221221 
    222222      IF(lwp) THEN                         ! control print 
    223223         WRITE(numout,*) ' ' 
    224          WRITE(numout,*) ' Namelist parameters for air-sea exchange, natext' 
     224         WRITE(numout,*) ' Namelist parameters for air-sea exchange, nampisext' 
    225225         WRITE(numout,*) ' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~' 
    226226         WRITE(numout,*) '    Atmospheric pCO2      atcco2      =', atcco2 
  • trunk/NEMO/TOP_SRC/PISCES/p4zint.F90

    r1073 r1119  
    1414   !!---------------------------------------------------------------------- 
    1515   USE oce_trc         ! 
    16    USE trp_trc 
     16   USE trc 
    1717   USE sms_pisces 
    1818 
  • trunk/NEMO/TOP_SRC/PISCES/p4zlim.F90

    r1073 r1119  
    1616   USE trc 
    1717   USE oce_trc         ! 
    18    USE trp_trc         !  
     18   USE trc         !  
    1919   USE sms_pisces      !  
    2020 
     
    180180      !! ** Purpose :   Initialization of nutrient limitation parameters 
    181181      !! 
    182       !! ** Method  :   Read the natlim namelist and check the parameters 
     182      !! ** Method  :   Read the nampislim namelist and check the parameters 
    183183      !!      called at the first timestep (nittrc000) 
    184184      !! 
    185       !! ** input   :   Namelist natlim 
     185      !! ** input   :   Namelist nampislim 
    186186      !! 
    187187      !!---------------------------------------------------------------------- 
    188188 
    189       NAMELIST/natlim/ conc0, conc1, conc2, conc2m, conc3, conc3m,   & 
     189      NAMELIST/nampislim/ conc0, conc1, conc2, conc2m, conc3, conc3m,   & 
    190190         &             concnnh4, concdnh4, xksi1, xksi2, xkdoc, caco3r 
    191191 
    192192      REWIND( numnat )                     ! read numnat 
    193       READ  ( numnat, natlim ) 
     193      READ  ( numnat, nampislim ) 
    194194 
    195195      IF(lwp) THEN                         ! control print 
    196196         WRITE(numout,*) ' ' 
    197          WRITE(numout,*) ' Namelist parameters for nutrient limitations, natlim' 
     197         WRITE(numout,*) ' Namelist parameters for nutrient limitations, nampislim' 
    198198         WRITE(numout,*) ' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~' 
    199199         WRITE(numout,*) '    mean rainratio                            caco3r    =', caco3r 
  • trunk/NEMO/TOP_SRC/PISCES/p4zlys.F90

    r1073 r1119  
    1919   USE trc 
    2020   USE oce_trc         ! 
    21    USE trp_trc 
     21   USE trc 
    2222   USE sms_pisces 
    2323   USE prtctl_trc 
     
    151151 
    152152# if defined key_trc_dia3d 
    153          trc3d(:,:,:,1) = hi(:,:,:) 
    154          trc3d(:,:,:,2) = zco3(:,:,:) 
    155          trc3d(:,:,:,3) = aksp(:,:,:) / calcon 
     153         trc3d(:,:,:,jp_pcs0_3d    ) = hi(:,:,:) 
     154         trc3d(:,:,:,jp_pcs0_3d + 1) = zco3(:,:,:) 
     155         trc3d(:,:,:,jp_pcs0_3d + 2) = aksp(:,:,:) / calcon 
    156156# endif 
    157157      ! 
     
    171171      !! ** Purpose :   Initialization of CaCO3 dissolution parameters 
    172172      !! 
    173       !! ** Method  :   Read the natcal namelist and check the parameters 
     173      !! ** Method  :   Read the nampiscal namelist and check the parameters 
    174174      !!      called at the first timestep (nittrc000) 
    175175      !! 
    176       !! ** input   :   Namelist natcal 
     176      !! ** input   :   Namelist nampiscal 
    177177      !! 
    178178      !!---------------------------------------------------------------------- 
    179179 
    180       NAMELIST/natcal/ kdca, nca 
     180      NAMELIST/nampiscal/ kdca, nca 
    181181 
    182182      REWIND( numnat )                     ! read numnat 
    183       READ  ( numnat, natcal ) 
     183      READ  ( numnat, nampiscal ) 
    184184 
    185185      IF(lwp) THEN                         ! control print 
    186186         WRITE(numout,*) ' ' 
    187          WRITE(numout,*) ' Namelist parameters for CaCO3 dissolution, natcal' 
     187         WRITE(numout,*) ' Namelist parameters for CaCO3 dissolution, nampiscal' 
    188188         WRITE(numout,*) ' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~' 
    189189         WRITE(numout,*) '    diss. rate constant calcite (per month)   kdca      =', kdca 
  • trunk/NEMO/TOP_SRC/PISCES/p4zmeso.F90

    r1073 r1119  
    1616   USE trc 
    1717   USE oce_trc         ! 
    18    USE trp_trc         !  
     18   USE trc         !  
    1919   USE sms_pisces      !  
    2020   USE prtctl_trc 
     
    299299      !! ** Purpose :   Initialization of mesozooplankton parameters 
    300300      !! 
    301       !! ** Method  :   Read the natmes namelist and check the parameters 
     301      !! ** Method  :   Read the nampismes namelist and check the parameters 
    302302      !!      called at the first timestep (nittrc000) 
    303303      !! 
    304       !! ** input   :   Namelist natmes 
     304      !! ** input   :   Namelist nampismes 
    305305      !! 
    306306      !!---------------------------------------------------------------------- 
    307307 
    308       NAMELIST/natmes/ grazrat2,resrat2,mzrat2,xprefc, xprefp, & 
     308      NAMELIST/nampismes/ grazrat2,resrat2,mzrat2,xprefc, xprefp, & 
    309309         &             xprefz, xprefpoc, xkgraz2, epsher2, sigma2, unass2, grazflux 
    310310 
    311311      REWIND( numnat )                     ! read numnat 
    312       READ  ( numnat, natmes ) 
     312      READ  ( numnat, nampismes ) 
    313313 
    314314 
    315315      IF(lwp) THEN                         ! control print 
    316316         WRITE(numout,*) ' '  
    317          WRITE(numout,*) ' Namelist parameters for mesozooplankton, natmes' 
     317         WRITE(numout,*) ' Namelist parameters for mesozooplankton, nampismes' 
    318318         WRITE(numout,*) ' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~' 
    319319         WRITE(numout,*) '    zoo preference for phyto                  xprefc    =', xprefc 
  • trunk/NEMO/TOP_SRC/PISCES/p4zmicro.F90

    r1073 r1119  
    1616   USE trc 
    1717   USE oce_trc         ! 
    18    USE trp_trc         !  
     18   USE trc         !  
    1919   USE sms_pisces      !  
    2020   USE prtctl_trc 
     
    229229      !! ** Purpose :   Initialization of microzooplankton parameters 
    230230      !! 
    231       !! ** Method  :   Read the natzoo namelist and check the parameters 
     231      !! ** Method  :   Read the nampiszoo namelist and check the parameters 
    232232      !!      called at the first timestep (nittrc000) 
    233233      !! 
    234       !! ** input   :   Namelist natzoo 
     234      !! ** input   :   Namelist nampiszoo 
    235235      !! 
    236236      !!---------------------------------------------------------------------- 
    237237 
    238       NAMELIST/natzoo/ grazrat,resrat,mzrat,xpref2c, xpref2p, & 
     238      NAMELIST/nampiszoo/ grazrat,resrat,mzrat,xpref2c, xpref2p, & 
    239239         &             xpref2d, xkgraz, epsher, sigma1, unass 
    240240 
    241241      REWIND( numnat )                     ! read numnat 
    242       READ  ( numnat, natzoo ) 
     242      READ  ( numnat, nampiszoo ) 
    243243 
    244244      IF(lwp) THEN                         ! control print 
    245245         WRITE(numout,*) ' ' 
    246          WRITE(numout,*) ' Namelist parameters for microzooplankton, natzoo' 
     246         WRITE(numout,*) ' Namelist parameters for microzooplankton, nampiszoo' 
    247247         WRITE(numout,*) ' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~' 
    248248         WRITE(numout,*) '    zoo preference for POC                    xpref2c    =', xpref2c 
  • trunk/NEMO/TOP_SRC/PISCES/p4zmort.F90

    r1073 r1119  
    1616   USE trc 
    1717   USE oce_trc         ! 
    18    USE trp_trc         !  
     18   USE trc         !  
    1919   USE sms_pisces      !  
    2020   USE p4zsink 
     
    241241      !! ** Purpose :   Initialization of phytoplankton parameters 
    242242      !! 
    243       !! ** Method  :   Read the natmort namelist and check the parameters 
     243      !! ** Method  :   Read the nampismort namelist and check the parameters 
    244244      !!      called at the first timestep (nittrc000) 
    245245      !! 
    246       !! ** input   :   Namelist natmort 
     246      !! ** input   :   Namelist nampismort 
    247247      !! 
    248248      !!---------------------------------------------------------------------- 
    249249 
    250       NAMELIST/natmort/ wchl, wchld, mprat, mprat2, mpratm 
     250      NAMELIST/nampismort/ wchl, wchld, mprat, mprat2, mpratm 
    251251 
    252252      REWIND( numnat )                     ! read numnat 
    253       READ  ( numnat, natmort ) 
     253      READ  ( numnat, nampismort ) 
    254254 
    255255      IF(lwp) THEN                         ! control print 
    256256         WRITE(numout,*) ' ' 
    257          WRITE(numout,*) ' Namelist parameters for phytoplankton mortality, natmort' 
     257         WRITE(numout,*) ' Namelist parameters for phytoplankton mortality, nampismort' 
    258258         WRITE(numout,*) ' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~' 
    259259         WRITE(numout,*) '    quadratic mortality of phytoplankton      wchl      =', wchl 
  • trunk/NEMO/TOP_SRC/PISCES/p4zopt.F90

    r1073 r1119  
    1515   USE trc 
    1616   USE oce_trc         ! 
    17    USE trp_trc 
     17   USE trc 
    1818   USE sms_pisces 
    1919 
     
    255255 
    256256# if defined key_trc_diaadd 
    257       trc2d(:,:,11) = heup(:,:) 
     257      trc2d(:,:,jp_pcs0_2d + 10) = heup(:,:) 
    258258# endif 
    259259      ! 
  • trunk/NEMO/TOP_SRC/PISCES/p4zprod.F90

    r1073 r1119  
    1515   USE trc 
    1616   USE oce_trc         ! 
    17    USE trp_trc         !  
    1817   USE sms_pisces      !  
    1918   USE prtctl_trc 
     
    376375!   Supplementary diagnostics 
    377376!   ------------------------- 
    378       trc3d(:,:,:,4)  = etot(:,:,:) 
    379       trc3d(:,:,:,5)  = zprorca(:,:,:)  * zrfact2 
    380       trc3d(:,:,:,6)  = zprorcad(:,:,:) * zrfact2 
    381       trc3d(:,:,:,7)  = zpronew(:,:,:)  * zrfact2 
    382       trc3d(:,:,:,8)  = zpronewd(:,:,:) * zrfact2 
    383       trc3d(:,:,:,9)  = zprorcad(:,:,:) * zysopt(:,:,:) * zrfact2 
    384       trc3d(:,:,:,10) = zprofed(:,:,:) * zrfact2 
     377      trc3d(:,:,:,jp_pcs0_3d + 3)  = etot(:,:,:) 
     378      trc3d(:,:,:,jp_pcs0_3d + 4)  = zprorca(:,:,:)  * zrfact2 
     379      trc3d(:,:,:,jp_pcs0_3d + 5)  = zprorcad(:,:,:) * zrfact2 
     380      trc3d(:,:,:,jp_pcs0_3d + 6)  = zpronew(:,:,:)  * zrfact2 
     381      trc3d(:,:,:,jp_pcs0_3d + 7)  = zpronewd(:,:,:) * zrfact2 
     382      trc3d(:,:,:,jp_pcs0_3d + 8)  = zprorcad(:,:,:) * zysopt(:,:,:) * zrfact2 
     383      trc3d(:,:,:,jp_pcs0_3d + 9) = zprofed(:,:,:) * zrfact2 
    385384#if ! defined key_kriest 
    386       trc3d(:,:,:,11) = zprofen(:,:,:) * zrfact2 
     385      trc3d(:,:,:,jp_pcs0_3d + 10) = zprofen(:,:,:) * zrfact2 
    387386#endif 
    388387#endif 
     
    403402      !! ** Purpose :   Initialization of phytoplankton production parameters 
    404403      !! 
    405       !! ** Method  :   Read the natprod namelist and check the parameters 
     404      !! ** Method  :   Read the nampisprod namelist and check the parameters 
    406405      !!      called at the first timestep (nittrc000) 
    407406      !! 
    408       !! ** input   :   Namelist natprod 
     407      !! ** input   :   Namelist nampisprod 
    409408      !! 
    410409      !!---------------------------------------------------------------------- 
    411410 
    412       NAMELIST/natprod/ pislope, pislope2, excret, excret2, chlcnm, chlcdm,   & 
     411      NAMELIST/nampisprod/ pislope, pislope2, excret, excret2, chlcnm, chlcdm,   & 
    413412         &              fecnm, fecdm, grosip 
    414413 
    415414      REWIND( numnat )                     ! read numnat 
    416       READ  ( numnat, natprod ) 
     415      READ  ( numnat, nampisprod ) 
    417416 
    418417      IF(lwp) THEN                         ! control print 
    419418         WRITE(numout,*) ' ' 
    420          WRITE(numout,*) ' Namelist parameters for phytoplankton growth, natprod' 
     419         WRITE(numout,*) ' Namelist parameters for phytoplankton growth, nampisprod' 
    421420         WRITE(numout,*) ' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~' 
    422421         WRITE(numout,*) '    mean Si/C ratio                           grosip    =', grosip 
  • trunk/NEMO/TOP_SRC/PISCES/p4zrem.F90

    r1073 r1119  
    1616   USE trc 
    1717   USE oce_trc         ! 
    18    USE trp_trc         !  
    1918   USE sms_pisces      !  
    2019   USE prtctl_trc 
     
    409408      !! ** Purpose :   Initialization of remineralization parameters 
    410409      !! 
    411       !! ** Method  :   Read the natrem namelist and check the parameters 
     410      !! ** Method  :   Read the nampisrem namelist and check the parameters 
    412411      !!      called at the first timestep (nittrc000) 
    413412      !! 
    414       !! ** input   :   Namelist natrem 
     413      !! ** input   :   Namelist nampisrem 
    415414      !! 
    416415      !!---------------------------------------------------------------------- 
    417416 
    418       NAMELIST/natrem/ xremik, xremip, nitrif, xsirem, xlam1, oxymin 
     417      NAMELIST/nampisrem/ xremik, xremip, nitrif, xsirem, xlam1, oxymin 
    419418 
    420419      REWIND( numnat )                     ! read numnat 
    421       READ  ( numnat, natrem ) 
     420      READ  ( numnat, nampisrem ) 
    422421 
    423422      IF(lwp) THEN                         ! control print 
    424423         WRITE(numout,*) ' ' 
    425          WRITE(numout,*) ' Namelist parameters for remineralization, natrem' 
     424         WRITE(numout,*) ' Namelist parameters for remineralization, nampisrem' 
    426425         WRITE(numout,*) ' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~' 
    427426         WRITE(numout,*) '    remineralisation rate of POC              xremip    =', xremip 
  • trunk/NEMO/TOP_SRC/PISCES/p4zsed.F90

    r1073 r1119  
    1717   USE trc 
    1818   USE oce_trc         ! 
    19    USE trp_trc 
    2019   USE sms_pisces 
    2120   USE lib_mpp 
     
    316315      DO jj = 1,jpj 
    317316         DO ji = 1,jpi 
    318             trc2d(ji,jj,13) = znitrpot(ji,jj,1) * 1.e-7 * fse3t(ji,jj,1) * 1.e+3 / rfact2 
    319             trc2d(ji,jj,12) = zirondep(ji,jj,1) * 1.e+3 * rfact2r * fse3t(ji,jj,1) 
     317            trc2d(ji,jj,jp_pcs0_2d + 11) = zirondep(ji,jj,1) * 1.e+3 * rfact2r * fse3t(ji,jj,1) 
     318            trc2d(ji,jj,jp_pcs0_2d + 12) = znitrpot(ji,jj,1) * 1.e-7 * fse3t(ji,jj,1) * 1.e+3 / rfact2 
    320319         END DO 
    321320      END DO 
     
    454453      REAL(wp), DIMENSION(jpi,jpj,12)    ::   zdustmo 
    455454 
    456       NAMELIST/natsms/ bdustfer, briver, bndepo, bsedinput, sedfeinput, dustsolub 
     455      NAMELIST/nampissed/ bdustfer, briver, bndepo, bsedinput, sedfeinput, dustsolub 
    457456 
    458457 
    459458      REWIND( numnat )                     ! read numnat 
    460       READ  ( numnat, natsms ) 
     459      READ  ( numnat, nampissed ) 
    461460 
    462461      IF(lwp) THEN 
    463462         WRITE(numout,*) ' ' 
    464          WRITE(numout,*) ' Namelist : natsms ' 
     463         WRITE(numout,*) ' Namelist : nampissed ' 
    465464         WRITE(numout,*) ' ~~~~~~~~~~~~~~~~~ ' 
    466465         WRITE(numout,*) '    Dust input from the atmosphere           bdustfer  = ', bdustfer 
  • trunk/NEMO/TOP_SRC/PISCES/p4zsink.F90

    r1073 r1119  
    1212   USE trc 
    1313   USE oce_trc         ! 
    14    USE trp_trc 
    1514   USE sms_pisces 
    1615   USE prtctl_trc 
     
    279278#    if defined key_trc_dia3d 
    280279      zrfact2 = 1.e3 * rfact2r 
    281       trc2d(:,:, 5)   = sinking (:,:,iksed+1) * zrfact2 
    282       trc2d(:,:, 6)   = sinking2(:,:,iksed+1) * zrfact2 
    283       trc2d(:,:, 7)   = sinkfer (:,:,iksed+1) * zrfact2 
    284       trc2d(:,:, 9)   = sinksil (:,:,iksed+1) * zrfact2 
    285       trc2d(:,:,10)   = sinkcal (:,:,iksed+1) * zrfact2 
    286       trc3d(:,:,:,12) = sinking (:,:,:)       * zrfact2 
    287       trc3d(:,:,:,13) = sinking2(:,:,:)       * zrfact2 
    288       trc3d(:,:,:,14) = sinksil (:,:,:)       * zrfact2 
    289       trc3d(:,:,:,15) = sinkcal (:,:,:)       * zrfact2 
    290       trc3d(:,:,:,16) = znum3d  (:,:,:) 
    291       trc3d(:,:,:,17) = wsbio3  (:,:,:) 
    292       trc3d(:,:,:,18) = wsbio4  (:,:,:) 
     280      trc2d(:,:,  jp_pcs0_2d + 4)   = sinking (:,:,iksed+1) * zrfact2 
     281      trc2d(:,:,  jp_pcs0_2d + 5)   = sinking2(:,:,iksed+1) * zrfact2 
     282      trc2d(:,:,  jp_pcs0_2d + 6)   = sinkfer (:,:,iksed+1) * zrfact2 
     283      trc2d(:,:,  jp_pcs0_2d + 8)   = sinksil (:,:,iksed+1) * zrfact2 
     284      trc2d(:,:,  jp_pcs0_2d + 9)   = sinkcal (:,:,iksed+1) * zrfact2 
     285      trc3d(:,:,:,jp_pcs0_3d + 11) = sinking (:,:,:)       * zrfact2 
     286      trc3d(:,:,:,jp_pcs0_3d + 12) = sinking2(:,:,:)       * zrfact2 
     287      trc3d(:,:,:,jp_pcs0_3d + 13) = sinksil (:,:,:)       * zrfact2 
     288      trc3d(:,:,:,jp_pcs0_3d + 14) = sinkcal (:,:,:)       * zrfact2 
     289      trc3d(:,:,:,jp_pcs0_3d + 15) = znum3d  (:,:,:) 
     290      trc3d(:,:,:,jp_pcs0_3d + 16) = wsbio3  (:,:,:) 
     291      trc3d(:,:,:,jp_pcs0_3d + 17) = wsbio4  (:,:,:) 
    293292#    endif 
    294293      ! 
     
    308307      !!                Kriest parameterization only 
    309308      !! 
    310       !! ** Method  :   Read the natkriest namelist and check the parameters 
     309      !! ** Method  :   Read the nampiskrs namelist and check the parameters 
    311310      !!      called at the first timestep (nittrc000) 
    312311      !! 
    313       !! ** input   :   Namelist natkriest 
     312      !! ** input   :   Namelist nampiskrs 
    314313      !! 
    315314      !!---------------------------------------------------------------------- 
     
    319318      REAL(wp) ::   zmin, zmax, zl, zr, xacc 
    320319 
    321       NAMELIST/natkrsize/ xkr_sfact, xkr_stick ,  & 
     320      NAMELIST/nampiskrs/ xkr_sfact, xkr_stick ,  & 
    322321         &                xkr_nnano, xkr_ndiat, xkr_nmeso, xkr_naggr 
    323322 
    324323      !!---------------------------------------------------------------------- 
    325       !                               ! natkriest : kriest parameters 
    326       !                               ! ----------------------------- 
    327       REWIND( numnat )                     ! read natkriest 
    328       READ  ( numnat, natkrsize ) 
     324      REWIND( numnat )                     ! read nampiskrs 
     325      READ  ( numnat, nampiskrs ) 
    329326 
    330327      IF(lwp) THEN 
    331328         WRITE(numout,*) 
    332          WRITE(numout,*) ' Namelist : natkrsize' 
     329         WRITE(numout,*) ' Namelist : nampiskrs' 
    333330         WRITE(numout,*) '    Sinking factor                           xkr_sfact    = ', xkr_sfact 
    334331         WRITE(numout,*) '    Stickiness                               xkr_stick    = ', xkr_stick 
     
    594591      END DO 
    595592 
    596 # if defined key_trc_dia3d 
     593# if defined key_trc_diaadd 
    597594      zrfact2 = 1.e3 * rfact2r 
    598       trc2d(:,:, 5) = sinking (:,:,iksed+1) * zrfact2 
    599       trc2d(:,:, 6) = sinking2(:,:,iksed+1) * zrfact2 
    600       trc2d(:,:, 7) = sinkfer (:,:,iksed+1) * zrfact2 
    601       trc2d(:,:, 8) = sinkfer2(:,:,iksed+1) * zrfact2 
    602       trc2d(:,:, 9) = sinksil (:,:,iksed+1) * zrfact2 
    603       trc2d(:,:,10) = sinkcal (:,:,iksed+1) * zrfact2 
     595      trc2d(:,:, jp_pcs0_2d + 4) = sinking (:,:,iksed+1) * zrfact2 
     596      trc2d(:,:, jp_pcs0_2d + 5) = sinking2(:,:,iksed+1) * zrfact2 
     597      trc2d(:,:, jp_pcs0_2d + 6) = sinkfer (:,:,iksed+1) * zrfact2 
     598      trc2d(:,:, jp_pcs0_2d + 7) = sinkfer2(:,:,iksed+1) * zrfact2 
     599      trc2d(:,:, jp_pcs0_2d + 8) = sinksil (:,:,iksed+1) * zrfact2 
     600      trc2d(:,:, jp_pcs0_2d + 9) = sinkcal (:,:,iksed+1) * zrfact2 
    604601# endif 
    605602      ! 
  • trunk/NEMO/TOP_SRC/PISCES/par_pisces.F90

    r935 r1119  
    1010   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 
    1111   !!---------------------------------------------------------------------- 
    12    USE par_lobster, ONLY : jp_lobster   !: number of tracers in LOBSTER 
     12   USE par_lobster, ONLY : jp_lobster      !: number of tracers in LOBSTER 
     13   USE par_lobster, ONLY : jp_lobster_2d   !: number of 2D diag in LOBSTER 
     14   USE par_lobster, ONLY : jp_lobster_3d   !: number of 3D diag in LOBSTER 
     15   USE par_lobster, ONLY : jp_lobster_trd  !: number of biological diag in LOBSTER 
    1316 
    1417   IMPLICIT NONE 
    1518   PUBLIC 
    1619 
    17    INTEGER, PUBLIC, PARAMETER ::   jp_l  = jp_lobster      !: cumulative number of already defined TRC 
     20   INTEGER, PUBLIC, PARAMETER ::   jp_l      = jp_lobster      !: cumulative number of already defined TRC 
     21   INTEGER, PUBLIC, PARAMETER ::   jp_l_2d   = jp_lobster_2d   !: 
     22   INTEGER, PUBLIC, PARAMETER ::   jp_l_3d   = jp_lobster_3d   !: 
     23   INTEGER, PUBLIC, PARAMETER ::   jp_l_trd  = jp_lobster_trd  !: 
    1824 
    1925#if defined key_pisces  &&  defined key_kriest 
     
    107113 
    108114   ! Starting/ending PISCES do-loop indices (N.B. no PISCES : jpl_pcs < jpf_pcs the do-loop are never done) 
    109    INTEGER, PUBLIC, PARAMETER ::   jp_pcs0 = jp_l + 1           !: First index of CFC passive tracers 
    110    INTEGER, PUBLIC, PARAMETER ::   jp_pcs1 = jp_l + jp_pisces   !: Last  index of CFC passive tracers 
     115   INTEGER, PUBLIC, PARAMETER ::   jp_pcs0     = jp_l + 1                  !: First index of PISCES tracers 
     116   INTEGER, PUBLIC, PARAMETER ::   jp_pcs1     = jp_l + jp_pisces          !: Last  index of PISCES tracers 
     117   INTEGER, PUBLIC, PARAMETER ::   jp_pcs0_2d  = jp_l_2d + 1               !: First index of 2D diag 
     118   INTEGER, PUBLIC, PARAMETER ::   jp_pcs1_2d  = jp_l_2d + jp_pisces_2d    !: Last  index of 2D diag 
     119   INTEGER, PUBLIC, PARAMETER ::   jp_pcs0_3d  = jp_l_3d + 1               !: First index of 3D diag 
     120   INTEGER, PUBLIC, PARAMETER ::   jp_pcs1_3d  = jp_l_3d + jp_pisces_3d    !: Last  index of 3d diag 
     121   INTEGER, PUBLIC, PARAMETER ::   jp_pcs0_trd = jp_l_trd + 1              !: First index of bio diag 
     122   INTEGER, PUBLIC, PARAMETER ::   jp_pcs1_trd = jp_l_trd + jp_pisces_trd  !: Last  index of bio diag 
     123 
    111124 
    112125   !!====================================================================== 
  • trunk/NEMO/TOP_SRC/PISCES/trcini_pisces.F90

    r1073 r1119  
    2020   USE trc 
    2121   USE oce_trc         ! ocean variables 
    22    USE trp_trc         ! 
    2322   USE p4zche  
    2423   USE lib_mpp 
  • trunk/NEMO/TOP_SRC/PISCES/trclsm_pisces.F90

    r1089 r1119  
    4545      !!                       natkriest ("key_kriest") 
    4646      !!---------------------------------------------------------------------- 
    47       CHARACTER (len=32) ::   clname 
     47      CHARACTER (len=32) ::  clname 
     48      INTEGER            ::  jn 
    4849      !! 
    49       NAMELIST/natbio/ part, nrdttrc, wsbio, xkmort, ferat3, wsbio2 
     50#if defined key_trc_diaadd 
     51      ! definition of additional diagnostic as a structure 
     52      TYPE DIAG 
     53         CHARACTER(len = 20)  :: snamedia   !: short name 
     54         CHARACTER(len = 80 ) :: lnamedia   !: long name 
     55         CHARACTER(len = 20 ) :: unitdia    !: unit 
     56      END TYPE DIAG 
    5057 
     58      TYPE(DIAG) , DIMENSION(jp_pisces_2d) :: pisdia2d 
     59      TYPE(DIAG) , DIMENSION(jp_pisces_3d) :: pisdia3d 
     60#endif 
     61 
     62      NAMELIST/nampisbio/ part, nrdttrc, wsbio, xkmort, ferat3, wsbio2 
    5163#if defined key_kriest 
    52       NAMELIST/natkrpar/xkr_eta, xkr_zeta, xkr_mass_min, xkr_mass_max 
     64      NAMELIST/nampiskrp/xkr_eta, xkr_zeta, xkr_mass_min, xkr_mass_max 
    5365#endif 
     66#if defined key_trc_diaadd 
     67      NAMELIST/nampisdia/nwritedia, pisdia3d, pisdia2d     ! additional diagnostics 
     68#endif 
     69 
    5470      !!---------------------------------------------------------------------- 
    5571 
     
    6278      !                               ! ---------------------- 
    6379      clname ='namelist_pisces' 
    64       CALL ctlopn( numnat, clname, 'OLD', 'FORMATTED', 'SEQUENTIAL',   & 
    65          &           1, numout, .FALSE., 1 ) 
     80      CALL ctlopn( numnat, clname, 'OLD', 'FORMATTED', 'SEQUENTIAL', 1, numout, .FALSE., 1 ) 
    6681 
    67       !                               ! natbio : biological parameters 
    68       !                               ! ------------------------------ 
    69       REWIND( numnat )                     ! read natbio 
    70       READ  ( numnat, natbio ) 
     82      REWIND( numnat )                     
     83      READ  ( numnat, nampisbio ) 
    7184 
    7285      IF(lwp) THEN                         ! control print 
    73          WRITE(numout,*) ' Namelist : natbio' 
     86         WRITE(numout,*) ' Namelist : nampisbio' 
    7487         WRITE(numout,*) '    part of calcite not dissolved in guts     part      =', part 
    7588         WRITE(numout,*) '    frequence pour la biologie                nrdttrc   =', nrdttrc 
     
    8295#if defined key_kriest 
    8396 
    84       !                               ! natkrpar : kriest parameters 
     97      !                               ! nampiskrp : kriest parameters 
    8598      !                               ! ----------------------------- 
    8699      xkr_eta      = 0.62         
     
    90103 
    91104      REWIND( numnat )                     ! read natkriest 
    92       READ  ( numnat, natkrpar ) 
     105      READ  ( numnat, nampiskrp ) 
    93106 
    94107      IF(lwp) THEN 
    95108         WRITE(numout,*) 
    96          WRITE(numout,*) ' Namelist : natkrpar' 
     109         WRITE(numout,*) ' Namelist : nampiskrp' 
    97110         WRITE(numout,*) '    Sinking  exponent                        xkr_eta      = ', xkr_eta 
    98111         WRITE(numout,*) '    N content exponent                       xkr_zeta     = ', xkr_zeta 
     
    108121#endif 
    109122      ! 
     123#if defined key_trc_diaadd 
     124 
     125      ! Namelist namlobdia 
     126      ! ------------------- 
     127      nwritedia = 10                   ! default values 
     128 
     129      DO jn = jp_pcs0_2d, jp_pcs1_2d 
     130         WRITE(ctrc2d(jn),'("2D_",I1)') jn                      ! short name 
     131         WRITE(ctrc2l(jn),'("2D DIAGNOSTIC NUMBER ",I2)') jn    ! long name 
     132         ctrc2u(jn) = ' '                                       ! units 
     133      END DO 
     134      !                                 ! 3D output arrays 
     135      DO jn = jp_pcs0_3d, jp_pcs1_3d 
     136         WRITE(ctrc3d(jn),'("3D_",I1)') jn                      ! short name 
     137         WRITE(ctrc3l(jn),'("3D DIAGNOSTIC NUMBER ",I2)') jn    ! long name 
     138         ctrc3u(jn) = ' '                                       ! units 
     139      END DO 
     140 
     141      REWIND( numnat )               ! read natrtd 
     142      READ  ( numnat, nampisdia ) 
     143 
     144      DO jn = jp_pcs0_2d, jp_pcs1_2d 
     145         ctrc2d(jn) = pisdia2d(jn)%snamedia 
     146         ctrc2l(jn) = pisdia2d(jn)%lnamedia 
     147         ctrc2u(jn) = pisdia2d(jn)%unitdia 
     148      END DO 
     149 
     150      DO jn = jp_pcs0_3d, jp_pcs1_3d 
     151         ctrc3d(jn) = pisdia3d(jn)%snamedia 
     152         ctrc3l(jn) = pisdia3d(jn)%lnamedia 
     153         ctrc3u(jn) = pisdia3d(jn)%unitdia 
     154      END DO 
     155 
     156      IF(lwp) THEN                   ! control print 
     157         WRITE(numout,*) 
     158         WRITE(numout,*) ' Namelist : natadd' 
     159         WRITE(numout,*) '    frequency of outputs for additional arrays nwritedia = ', nwritedia 
     160         DO jn = jp_pcs0_3d, jp_pcs1_3d 
     161            WRITE(numout,*) '   3d output field No : ',jn 
     162            WRITE(numout,*) '   short name         : ', TRIM(ctrc3d(jn)) 
     163            WRITE(numout,*) '   long name          : ', TRIM(ctrc3l(jn)) 
     164            WRITE(numout,*) '   unit               : ', TRIM(ctrc3u(jn)) 
     165            WRITE(numout,*) ' ' 
     166         END DO 
     167 
     168         DO jn = jp_pcs0_2d, jp_pcs1_2d 
     169            WRITE(numout,*) '   2d output field No : ',jn 
     170            WRITE(numout,*) '   short name         : ', TRIM(ctrc2d(jn)) 
     171            WRITE(numout,*) '   long name          : ', TRIM(ctrc2l(jn)) 
     172            WRITE(numout,*) '   unit               : ', TRIM(ctrc2u(jn)) 
     173            WRITE(numout,*) ' ' 
     174         END DO 
     175      ENDIF 
     176#endif 
     177 
    110178   END SUBROUTINE trc_lsm_pisces 
    111179 
  • trunk/NEMO/TOP_SRC/PISCES/trcsms_pisces.F90

    r1073 r1119  
    1414   !!---------------------------------------------------------------------- 
    1515   USE oce_trc         ! 
    16    USE trp_trc 
     16   USE trc 
    1717   USE sms_pisces 
    1818   USE lbclnk 
  • trunk/NEMO/TOP_SRC/TRP/trcadv_cen2.F90

    r1046 r1119  
    1313   !!---------------------------------------------------------------------- 
    1414   USE oce_trc             ! ocean dynamics and active tracers variables 
    15    USE trc                 ! ocean passive tracers variables 
     15   USE trp_trc             ! ocean passive tracers variables 
    1616   USE trcbbl              ! advective passive tracers in the BBL 
    1717   USE prtctl_trc 
  • trunk/NEMO/TOP_SRC/TRP/trcadv_muscl.F90

    r941 r1119  
    1313   !! * Modules used 
    1414   USE oce_trc         ! ocean dynamics and active tracers variables 
    15    USE trc             ! ocean passive tracers variables 
     15   USE trp_trc             ! ocean passive tracers variables 
    1616   USE lbclnk          ! ocean lateral boundary conditions (or mpp link) 
    1717   USE trcbbl          ! advective passive tracers in the BBL 
  • trunk/NEMO/TOP_SRC/TRP/trcadv_muscl2.F90

    r941 r1119  
    1313   !! * Modules used 
    1414   USE oce_trc         ! ocean dynamics and active tracers variables 
    15    USE trc             ! ocean passive tracers variables 
     15   USE trp_trc             ! ocean passive tracers variables 
    1616   USE lbclnk          ! ocean lateral boundary conditions (or mpp link) 
    1717   USE trcbbl          ! advective passive tracers in the BBL 
  • trunk/NEMO/TOP_SRC/TRP/trcadv_smolar.F90

    r941 r1119  
    1313   !!---------------------------------------------------------------------- 
    1414   USE oce_trc             ! ocean dynamics and active tracers variables 
    15    USE trc                 ! ocean passive tracers variables 
     15   USE trp_trc                 ! ocean passive tracers variables 
    1616   USE lbclnk              ! ocean lateral boundary conditions (or mpp link) 
    1717   USE trcbbl              ! advective passive tracers in the BBL 
    18    USE prtctl_trc      ! Print control for debbuging 
     18   USE trctrp_lec          ! passive tracers transport 
     19   USE prtctl_trc          ! Print control for debbuging 
    1920 
    2021   IMPLICIT NONE 
  • trunk/NEMO/TOP_SRC/TRP/trcadv_tvd.F90

    r941 r1119  
    1414   !!---------------------------------------------------------------------- 
    1515   USE oce_trc             ! ocean dynamics and active tracers variables 
    16    USE trc                 ! ocean passive tracers variables 
     16   USE trp_trc                 ! ocean passive tracers variables 
    1717   USE lbclnk              ! ocean lateral boundary conditions (or mpp link) 
    1818   USE trcbbl              ! advective passive tracers in the BBL 
     
    342342      INTEGER ::   ikm1 
    343343      REAL(wp), DIMENSION (jpi,jpj,jpk) ::   zbetup, zbetdo 
    344       REAL(wp) ::   zpos, zneg, zbt, za, zb, zc, zbig, zrtrn, z2dtt 
     344      REAL(wp) ::   zpos, zneg, zbt, za, zb, zc, zbig, z2dtt 
    345345      !!---------------------------------------------------------------------- 
    346346 
    347347      zbig = 1.e+40 
    348       zrtrn = 1.e-15 
    349348      zbetup(:,:,:) = 0.e0   ;   zbetdo(:,:,:) = 0.e0 
    350349 
     
    410409               ! up & down beta terms 
    411410               zbt = e1t(ji,jj) * e2t(ji,jj) * fse3t(ji,jj,jk) / z2dtt 
    412                zbetup(ji,jj,jk) = ( zbetup(ji,jj,jk) - paft(ji,jj,jk) ) / (zpos+zrtrn) * zbt 
    413                zbetdo(ji,jj,jk) = ( paft(ji,jj,jk) - zbetdo(ji,jj,jk) ) / (zneg+zrtrn) * zbt 
     411               zbetup(ji,jj,jk) = ( zbetup(ji,jj,jk) - paft(ji,jj,jk) ) / (zpos+rtrn) * zbt 
     412               zbetdo(ji,jj,jk) = ( paft(ji,jj,jk) - zbetdo(ji,jj,jk) ) / (zneg+rtrn) * zbt 
    414413            END DO 
    415414         END DO 
  • trunk/NEMO/TOP_SRC/TRP/trcbbc.F90

    r941 r1119  
    1313   !! * Modules used 
    1414   USE oce_trc             ! ocean dynamics and active tracers variables 
    15    USE trc                 ! ocean passive tracers variables 
     15   USE trp_trc                 ! ocean passive tracers variables 
    1616   USE prtctl_trc          ! Print control for debbuging 
    1717  
  • trunk/NEMO/TOP_SRC/TRP/trcbbl.F90

    r941 r1119  
    1919   !! * Modules used 
    2020   USE oce_trc             ! ocean dynamics and active tracers variables 
    21    USE trc                 ! ocean passive tracers variables 
     21   USE trp_trc                 ! ocean passive tracers variables 
    2222   USE trctrp_lec      ! passive tracers transport 
    2323   USE prtctl_trc          ! Print control for debbuging 
  • trunk/NEMO/TOP_SRC/TRP/trcdmp.F90

    r1076 r1119  
    1616   !!---------------------------------------------------------------------- 
    1717   USE oce_trc         ! ocean dynamics and tracers variables 
    18    USE trc             ! ocean passive tracers variables 
     18   USE trp_trc             ! ocean passive tracers variables 
    1919   USE trctrp_lec      ! passive tracers transport 
    2020   USE trcdta 
  • trunk/NEMO/TOP_SRC/TRP/trcldf_bilap.F90

    r941 r1119  
    1313   !! * Modules used 
    1414   USE oce_trc         ! ocean dynamics and active tracers variables 
    15    USE trc             ! ocean passive tracers variables 
     15   USE trp_trc             ! ocean passive tracers variables 
    1616   USE lbclnk          ! ocean lateral boundary conditions (or mpp link) 
    1717   USE prtctl_trc      ! Print control for debbuging 
  • trunk/NEMO/TOP_SRC/TRP/trcldf_bilapg.F90

    r941 r1119  
    1515   !! * Modules used 
    1616   USE oce_trc             ! ocean dynamics and tracers variables 
    17    USE trc                 ! ocean passive tracers variables 
     17   USE trp_trc                 ! ocean passive tracers variables 
    1818   USE lbclnk              ! ocean lateral boundary condition (or mpp link) 
    1919   USE prtctl_trc          ! Print control for debbuging 
  • trunk/NEMO/TOP_SRC/TRP/trcldf_iso.F90

    r941 r1119  
    1515   !! * Modules used 
    1616   USE oce_trc      ! ocean dynamics and tracers variables 
    17    USE trc          ! ocean passive tracers variables 
     17   USE trp_trc          ! ocean passive tracers variables 
    1818   USE prtctl_trc   ! Print control for debbuging 
    1919 
  • trunk/NEMO/TOP_SRC/TRP/trcldf_iso_zps.F90

    r941 r1119  
    1414   !! * Modules used 
    1515   USE oce_trc             ! ocean dynamics and active tracers variables 
    16    USE trc                 ! ocean passive tracers variables 
     16   USE trp_trc                 ! ocean passive tracers variables 
    1717   USE prtctl_trc          ! Print control for debbuging 
    1818 
  • trunk/NEMO/TOP_SRC/TRP/trcldf_lap.F90

    r941 r1119  
    1212   !!---------------------------------------------------------------------- 
    1313   USE oce_trc             ! ocean dynamics and active tracers variables 
    14    USE trc                 ! ocean passive tracers variables 
     14   USE trp_trc                 ! ocean passive tracers variables 
    1515   USE prtctl_trc          ! Print control for debbuging 
    1616 
  • trunk/NEMO/TOP_SRC/TRP/trcnxt.F90

    r941 r1119  
    1212   !! * Modules used 
    1313   USE oce_trc         ! ocean dynamics and tracers variables 
    14    USE trc             ! ocean passive tracers variables 
     14   USE trp_trc             ! ocean passive tracers variables 
    1515   USE lbclnk          ! ocean lateral boundary conditions (or mpp link) 
    1616   USE trctrp_lec      ! pasive tracers transport 
  • trunk/NEMO/TOP_SRC/TRP/trcrad.F90

    r1003 r1119  
    1414   !!---------------------------------------------------------------------- 
    1515   USE oce_trc             ! ocean dynamics and tracers variables 
    16    USE trc                 ! ocean passive tracers variables 
     16   USE trp_trc                 ! ocean passive tracers variables 
    1717   USE lib_mpp 
    1818   USE prtctl_trc          ! Print control for debbuging 
  • trunk/NEMO/TOP_SRC/TRP/trcsbc.F90

    r941 r1119  
    1212   !! * Modules used 
    1313   USE oce_trc             ! ocean dynamics and active tracers variables 
    14    USE trc                 ! ocean  passive tracers variables 
     14   USE trp_trc                 ! ocean  passive tracers variables 
    1515   USE prtctl_trc          ! Print control for debbuging 
    1616 
  • trunk/NEMO/TOP_SRC/TRP/trcstp.F90

    r1047 r1119  
    1010   !! * Modules used 
    1111   USE oce_trc          ! ocean dynamics and active tracers variables 
    12    USE trc              ! ocean passive tracers variables  
     12   USE trp_trc 
    1313   USE trctrp           ! passive tracers transport 
    1414   USE trcsms           ! passive tracers sources and sinks 
  • trunk/NEMO/TOP_SRC/TRP/trctrp.F90

    r941 r1119  
    1313   !!---------------------------------------------------------------------- 
    1414   USE oce_trc         ! ocean dynamics and active tracers variables 
    15    USE trc             ! ocean passive tracers variables  
     15   USE trp_trc             ! ocean passive tracers variables  
    1616   USE trctrp_lec      ! passive tracers transport parameters 
    1717   USE prtctl_trc     ! Print control for debbuging 
  • trunk/NEMO/TOP_SRC/TRP/trctrp_ctl.F90

    r941 r1119  
    1717   !!---------------------------------------------------------------------- 
    1818   USE oce_trc       ! ocean dynamics and active tracers variables 
    19    USE trc           ! ocean passive tracers variables 
     19   USE trp_trc           ! ocean passive tracers variables 
    2020   USE trctrp_lec    ! passive tracers transport 
    2121 
  • trunk/NEMO/TOP_SRC/TRP/trctrp_lec.F90

    r941 r1119  
    1414   !!---------------------------------------------------------------------- 
    1515   USE oce_trc             ! ocean dynamics and active tracers variables 
    16    USE trc                 ! ocean passive tracers variables 
     16   USE trp_trc                 ! ocean passive tracers variables 
    1717 
    1818   IMPLICIT NONE 
     
    6868   REAL(wp) , PUBLIC ::   hdmptr   =  800.            !: depth of transition between sdmp and bdmp (meters) 
    6969#endif 
     70   !                                                 !!: ** SMOLAR advection scheme 
     71   REAL(wp) , PUBLIC ::  rsc       = 1.               !: tuning coefficient for anti-diffusion 
     72   INTEGER  , PUBLIC ::  ncortrc   = 1                !: number of corrective phases 
     73   LOGICAL  , PUBLIC ::  crosster  = .FALSE.          !: computes crossterms (T) or not (F) 
    7074   !!---------------------------------------------------------------------- 
    7175   !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007)  
     
    8286      !! ** Purpose :   Read Namelist for tracer transport option 
    8387      !!---------------------------------------------------------------------- 
    84       NAMELIST/namtrcadv/ ln_trcadv_cen2 , ln_trcadv_tvd,   & 
    85          &                 ln_trcadv_muscl, ln_trcadv_muscl2, ln_trcadv_smolar 
     88      NAMELIST/namtopadv/ ln_trcadv_cen2 , ln_trcadv_tvd,   & 
     89         &                ln_trcadv_muscl, ln_trcadv_muscl2, ln_trcadv_smolar, & 
     90         &                rsc, ncortrc, crosster 
    8691#if  defined key_trcbbl_dif   ||   defined key_trcbbl_adv  
    87       NAMELIST/namtrcbbl/ atrcbbl 
    88 #endif 
    89       NAMELIST/namtrcldf/  ln_trcldf_diff  , ln_trcldf_lap  , ln_trcldf_bilap, & 
     92      NAMELIST/namtopbbl/ atrcbbl 
     93#endif 
     94      NAMELIST/namtopldf/  ln_trcldf_diff  , ln_trcldf_lap  , ln_trcldf_bilap, & 
    9095         &                 ln_trcldf_level, ln_trcldf_hor, ln_trcldf_iso,   & 
    9196         &                 ahtrc0, ahtrb0, aeivtr0, trcrat 
    92       NAMELIST/namtrczdf/ ln_trczdf_exp, n_trczdf_exp 
     97      NAMELIST/namtopzdf/ ln_trczdf_exp, n_trczdf_exp 
    9398#if defined key_trcdmp 
    94       NAMELIST/namtrcdmp/ ndmptr, ndmpftr, nmldmptr, sdmptr, bdmptr, hdmptr 
     99      NAMELIST/namtopdmp/ ndmptr, ndmpftr, nmldmptr, sdmptr, bdmptr, hdmptr 
    95100#endif 
    96101      !!---------------------------------------------------------------------- 
     
    101106 
    102107      !                                ! tracer advection scheme 
    103       REWIND( numnat )                 !   ! Read Namelist namtrcadv 
    104       READ  ( numnat, namtrcadv ) 
    105  
    106       IF(lwp) THEN                     !   ! Control print 
    107          WRITE(numout,*) 
    108          WRITE(numout,*) '   Namelist namtrcadv : chose a advection scheme for tracers' 
    109          WRITE(numout,*) '      2nd order advection scheme     ln_trcadv_cen2   = ', ln_trcadv_cen2 
    110          WRITE(numout,*) '      TVD advection scheme           ln_trcadv_tvd    = ', ln_trcadv_tvd 
    111          WRITE(numout,*) '      MUSCL  advection scheme        ln_trcadv_muscl  = ', ln_trcadv_muscl 
    112          WRITE(numout,*) '      MUSCL2 advection scheme        ln_trcadv_muscl2 = ', ln_trcadv_muscl2 
    113          WRITE(numout,*) '      SMOLARKIEWICZ advection scheme ln_trcadv_smolar = ', ln_trcadv_smolar 
     108      REWIND( numnat )                 !   ! Read Namelist namtopadv 
     109      READ  ( numnat, namtopadv ) 
     110 
     111      IF(lwp) THEN                     !   ! Control print 
     112         WRITE(numout,*) 
     113         WRITE(numout,*) '   Namelist namtopadv : chose a advection scheme for tracers' 
     114         WRITE(numout,*) '      2nd order advection scheme               ln_trcadv_cen2   = ', ln_trcadv_cen2 
     115         WRITE(numout,*) '      TVD advection scheme                     ln_trcadv_tvd    = ', ln_trcadv_tvd 
     116         WRITE(numout,*) '      MUSCL  advection scheme                  ln_trcadv_muscl  = ', ln_trcadv_muscl 
     117         WRITE(numout,*) '      MUSCL2 advection scheme                  ln_trcadv_muscl2 = ', ln_trcadv_muscl2 
     118         WRITE(numout,*) '      SMOLARKIEWICZ advection scheme           ln_trcadv_smolar = ', ln_trcadv_smolar 
     119         IF( ln_trcadv_smolar ) THEN 
     120            WRITE(numout,*) '      SMOLARKIEWICZ : tuning coefficient                rsc      = ', rsc 
     121            WRITE(numout,*) '      SMOLARKIEWICZ : number of corrective phase        ncortrc  = ', ncortrc 
     122            WRITE(numout,*) '      SMOLARKIEWICZ : computes or not crossterms        crosster = ', crosster 
     123         ENDIF 
    114124      ENDIF 
    115125 
    116126#if  defined key_trcbbl_dif 
    117127      !                                ! Bottom boundary layer  
    118       REWIND( numnat )                 !   ! Read Namelist namtrcbbl 
    119       READ  ( numnat, namtrcbbl ) 
    120  
    121       IF(lwp) THEN                     !   ! Control print 
    122          WRITE(numout,*) 
    123          WRITE(numout,*) '   Namelist namtrcbbl : set Diffusive Bottom Boundary Layer parameters' 
     128      REWIND( numnat )                 !   ! Read Namelist namtopbbl 
     129      READ  ( numnat, namtopbbl ) 
     130 
     131      IF(lwp) THEN                     !   ! Control print 
     132         WRITE(numout,*) 
     133         WRITE(numout,*) '   Namelist namtopbbl : set Diffusive Bottom Boundary Layer parameters' 
    124134         WRITE(numout,*) '      bottom boundary layer coef.    atrcbbl = ', atrcbbl 
    125135# if defined key_trcbbl_adv 
     
    130140 
    131141      !                                ! Lateral physics on tracers    
    132       REWIND( numnat )                 !   ! Read Namelist namtrcldf 
    133       READ  ( numnat, namtrcldf ) 
    134  
    135       IF(lwp) THEN                     !   ! Control print 
    136          WRITE(numout,*) 
    137          WRITE(numout,*) '   Namelist namtrcldf : set lateral mixing parameters (type, direction, coefficients)' 
     142      REWIND( numnat )                 !   ! Read Namelist namtopldf 
     143      READ  ( numnat, namtopldf ) 
     144 
     145      IF(lwp) THEN                     !   ! Control print 
     146         WRITE(numout,*) 
     147         WRITE(numout,*) '   Namelist namtopldf : set lateral mixing parameters (type, direction, coefficients)' 
    138148         WRITE(numout,*) '      perform lateral diffusion or not               ln_trcldf_diff  = ', ln_trcldf_diff 
    139149         WRITE(numout,*) '      laplacian operator                             ln_trcldf_lap   = ', ln_trcldf_lap 
     
    149159 
    150160      !                                ! Vertical mixing 
    151       REWIND( numnat )                 !   ! Read namtrczdf namelist 
    152       READ  ( numnat, namtrczdf ) 
    153  
    154       IF(lwp) THEN                     !   ! Control print 
    155          WRITE(numout,*) 
    156          WRITE(numout,*) '   Namelist namtrczdf : set vertical diffusion parameters' 
     161      REWIND( numnat )                 !   ! Read namtopzdf namelist 
     162      READ  ( numnat, namtopzdf ) 
     163 
     164      IF(lwp) THEN                     !   ! Control print 
     165         WRITE(numout,*) 
     166         WRITE(numout,*) '   Namelist namtopzdf : set vertical diffusion parameters' 
    157167         WRITE(numout,*) '      time splitting / backward scheme ln_trczdf_exp = ', ln_trczdf_exp 
    158168         WRITE(numout,*) '      number of time step               n_trczdf_exp = ', n_trczdf_exp 
     
    162172      !                                ! passive tracres damping term 
    163173      REWIND( numnat )                 !   ! Read Namelist namtdp 
    164       READ  ( numnat, namtrcdmp ) 
     174      READ  ( numnat, namtopdmp ) 
    165175      IF( lzoom )   nmldmptr = 0           ! restoring to climatology at closed north or south boundaries 
    166176 
    167177      IF(lwp) THEN                     !   ! Control print 
    168178         WRITE(numout,*) 
    169          WRITE(numout,*) '   Namelist namtrcdmp : set damping parameter' 
     179         WRITE(numout,*) '   Namelist namtopdmp : set damping parameter' 
    170180         WRITE(numout,*) '      tracers damping option         ndmptr   = ', ndmptr 
    171181         WRITE(numout,*) '      create a damping.coeff file    ndmpftr  = ', ndmpftr 
  • trunk/NEMO/TOP_SRC/TRP/trczdf_exp.F90

    r941 r1119  
    1414   !! * Modules used 
    1515   USE oce_trc          ! ocean dynamics and active tracers variables 
    16    USE trc              ! ocean passive tracers variables 
     16   USE trp_trc              ! ocean passive tracers variables 
    1717   USE trctrp_lec       ! passive tracers transport 
    1818   USE prtctl_trc          ! Print control for debbuging 
  • trunk/NEMO/TOP_SRC/TRP/trczdf_imp.F90

    r941 r1119  
    1313   !! * Modules used 
    1414   USE oce_trc             ! ocean dynamics and active tracers variables 
    15    USE trc                 ! ocean passive tracers variables 
     15   USE trp_trc                 ! ocean passive tracers variables 
    1616   USE trctrp_lec          ! passive tracers transport 
    1717   USE prtctl_trc 
  • trunk/NEMO/TOP_SRC/TRP/trczdf_iso.F90

    r941 r1119  
    1515   !! * Modules used 
    1616   USE oce_trc          ! ocean dynamics and tracers variables 
    17    USE trc              ! ocean passive tracers variables  
     17   USE trp_trc              ! ocean passive tracers variables  
    1818   USE lbclnk           ! ocean lateral boundary conditions (or mpp link) 
    1919   USE trctrp_lec       ! passive tracers transport 
  • trunk/NEMO/TOP_SRC/TRP/trczdf_iso_vopt.F90

    r941 r1119  
    1818   !! * Modules used 
    1919   USE oce_trc         ! ocean dynamics and tracers variables 
    20    USE trc             ! ocean passive tracers variables  
     20   USE trp_trc             ! ocean passive tracers variables  
    2121   USE lbclnk          ! ocean lateral boundary conditions (or mpp link) 
    2222   USE trctrp_lec      ! passive tracers transport 
  • trunk/NEMO/TOP_SRC/TRP/zpshde_trc.F90

    r941 r1119  
    1515   !! * Modules used 
    1616   USE oce_trc         ! ocean dynamics and tracers variables 
    17    USE trc             ! ocean passive tracers variables 
     17   USE trp_trc             ! ocean passive tracers variables 
    1818   USE lbclnk          ! lateral boundary conditions (or mpp link) 
    1919 
  • trunk/NEMO/TOP_SRC/oce_trc.F90

    r1034 r1119  
    202202   !* vertical diffusion * 
    203203   USE zdf_oce , ONLY :   avt        =>   avt         !: vert. diffusivity coef. at w-point for temp   
    204    USE zdf_oce , ONLY :   avt0       =>   avt0        !: vertical eddy diffusivity for tracers (m2/s) 
    205    USE zdf_oce , ONLY :   ln_zdfnpc  =>   ln_zdfnpc   !: convection: non-penetrative convection flag 
    206204# if defined key_zdfddm 
    207205   USE zdfddm  , ONLY :   avs        =>    avs        !: salinity vertical diffusivity coeff. at w-point 
  • trunk/NEMO/TOP_SRC/par_trc.F90

    r1077 r1119  
    3030   INTEGER, PUBLIC, PARAMETER ::   jpdia3d  =  jp_lobster_3d + jp_pisces_3d  + jp_cfc_3d  + jp_my_trc_3d 
    3131   !                     ! total number of sms diagnostic arrays 
    32    INTEGER, PUBLIC, PARAMETER ::   jpdiatrd = jp_lobster_trd + jp_pisces_trd + jp_cfc_trd + jp_my_trc_trd 
     32   INTEGER, PUBLIC, PARAMETER ::   jpdiabio = jp_lobster_trd + jp_pisces_trd + jp_cfc_trd + jp_my_trc_trd 
    3333    
    3434   !  1D configuration ("key_c1d") 
     
    5555#endif 
    5656 
     57   REAL(wp), PUBLIC  :: rtrn  = 1.e-15      !: truncation value      
    5758   !!====================================================================== 
    5859END MODULE par_trc 
  • trunk/NEMO/TOP_SRC/trc.F90

    r1077 r1119  
    4646   REAL(wp), PUBLIC, DIMENSION (jpi,jpj,jpk,jptra) ::   trb   !: traceur concentration for before time step 
    4747 
    48  
    49    !! numerical parameter (NAMELIST) 
    50    !! -------------------------------------------------- 
    51    REAL(wp), PUBLIC ::   rsc    !: tuning coefficient for anti-diffusion 
    52    REAL(wp), PUBLIC ::   rtrn   !: value for truncation 
    53  
    54    !! namelist parameters 
    55    !! -------------------------------------------------- 
    56    INTEGER , PUBLIC ::   ncortrc     !: number of corrective phases 
    57    INTEGER , PUBLIC ::   ndttrc      !: frequency of step on passive tracers 
    58    INTEGER , PUBLIC ::   nittrc000   !: first time step of passive tracers model   
    59    LOGICAL , PUBLIC ::   crosster    !: logical if true computes crossterms 
    60  
    61  
    62    !! isopycnal scheme for passive tracers 
    63    !! ------------------------------------   
    64    REAL(wp), PUBLIC ::   ahtrb0     !: background diffusivity coefficient for passive tracer (m2/s) 
    65    REAL(wp), PUBLIC ::   trcrat     !: ratio between passive and active tracer coeff for diffusion 
    66    REAL(wp), PUBLIC ::   ahtrc0     !: horizontal eddy diffusivity for passive tracers (m2/s) 
    67    REAL(wp), PUBLIC ::   aeivtr0    !: eddy induced velocity coefficient (m2/s) 
    68     
    6948    
    7049   !! passive tracers restart (input and output) 
    7150   !! ------------------------------------------   
     51   INTEGER , PUBLIC ::   ndttrc     !: frequency of step on passive tracers 
     52   INTEGER , PUBLIC ::   nittrc000  !: first time step of passive tracers model 
    7253   LOGICAL , PUBLIC ::   lrsttr     !: boolean term for restart i/o for passive tracers (namelist) 
    7354   INTEGER , PUBLIC ::   nutwrs     !: output FILE for passive tracers restart 
    7455   INTEGER , PUBLIC ::   nutrst     !: logical unit for restart FILE for passive tracers 
    7556   INTEGER , PUBLIC ::   nrsttr     !: control of the time step ( 0 or 1 ) for pass. tr. 
    76     
    77     
    78    !! interpolated gradient 
    79    !!--------------------------------------------------   
    80    REAL(wp), PUBLIC, DIMENSION (jpi,jpj,jptra) ::   gtru   !: horizontal gradient at u-points at bottom ocean level 
    81    REAL(wp), PUBLIC, DIMENSION (jpi,jpj,jptra) ::   gtrv   !: horizontal gradient at v-points at bottom ocean level 
    82  
    83     
    84 # if defined key_trcldf_eiv && defined key_diaeiv 
    85    !! The three component of the eddy induced velocity 
    86    !! -------------------------------------------------- 
    87    REAL(wp), PUBLIC, DIMENSION (jpi,jpj,jpk) ::   u_trc_eiv   !: u-eiv (m/s) 
    88    REAL(wp), PUBLIC, DIMENSION (jpi,jpj,jpk) ::   v_trc_eiv   !: v-eiv (m/s) 
    89    REAL(wp), PUBLIC, DIMENSION (jpi,jpj,jpk) ::   w_trc_eiv   !: w-eiv (m/s) 
    90 # endif 
    9157    
    9258    
     
    11480   INTEGER , PUBLIC ::   nwritedia     !: frequency of additional arrays outputs(namelist) 
    11581# endif 
    116     
    117 # if defined key_trc_diatrd 
    118     
    119    !!  non conservative trends (biological, ...) 
    120    !! -------------------------------------------------- 
    121    LOGICAL, PUBLIC, DIMENSION (jptra) ::   luttrd   !: large trends diagnostic to write or not (namelist) 
    122     
    123    !!  Advection-diffusion trends 
    124    !! -------------------------------------------------- 
    125    REAL(wp), PUBLIC, DIMENSION(:,:,:,:,:), ALLOCATABLE ::   trtrd   !: trends of the tracer equations 
    126     
    127    INTEGER, PUBLIC, DIMENSION(jptra) :: ikeep ! indice of tracer for which dyn trends are stored 
    128    INTEGER, PUBLIC                   :: nkeep ! number of tracers for which dyn trends are stored  
    129    !                                          ! (used to allocate trtrd buffer) 
    130  
    131    !! netcdf files and index common 
    132    !! -------------------------------------------------- 
    133    INTEGER , PUBLIC ::   nwritetrd   !: frequency of additional arrays outputs(namelist) 
    134     
    135 # endif  
    13682 
    13783# if defined key_trc_diabio 
  • trunk/NEMO/TOP_SRC/trcctl.F90

    r1077 r1119  
    6565      ENDIF 
    6666 
    67       ! Don't USE non penetrative convective mixing option 
    68       ! it's not implemented for passive tracer 
    69       IF( ln_zdfnpc ) THEN 
    70          IF(lwp) WRITE (numout,*) ' ===>>>> : w a r n i n g ' 
    71          IF(lwp) WRITE (numout,*) ' =======   ============= ' 
    72          IF(lwp) WRITE (numout,*) ' STOP, this sheme is not implemented' 
    73          IF(lwp) WRITE (numout,*) ' in passive tracer model:' 
    74          IF(lwp) WRITE (numout,*) ' non penetrative convect. mixing scheme' 
    75          istop = istop + 1 
    76       ENDIF 
    77  
    7867      ! transport scheme option 
    7968      CALL trc_trp_ctl 
  • trunk/NEMO/TOP_SRC/trcdia.F90

    r1077 r1119  
    2323   USE oce_trc 
    2424   USE trc 
     25   USE trp_trc 
    2526   USE dianam    ! build name of file (routine) 
    2627   USE in_out_manager  ! I/O manager 
     
    7778       
    7879      CALL trcdit_wr( kt, kindic )      ! outputs for tracer concentration 
    79        
    80  
    8180      CALL trcdid_wr( kt, kindic )      ! outputs for dynamical trends 
    82  
    83        
    8481      CALL trcdii_wr( kt, kindic )      ! outputs for additional arrays 
    85  
    86        
    8782      CALL trcdib_wr( kt, kindic )      ! outputs for biological trends 
    8883 
     
    437432               IF( jl == jpdiatrc )   WRITE (cltra,'("SBC_",a)') ctrcnm(jn)      ! surface boundary conditions 
    438433               ! 
    439                CALL histwrite(nit6(jn), cltra, it, trtrd(:,:,:,ikeep(jn),jl)   & 
    440                   &          ,ndimt50, ndext50) 
     434               CALL histwrite(nit6(jn), cltra, it, trtrd(:,:,:,ikeep(jn),jl),ndimt50, ndext50) 
    441435            END DO 
    442436         END IF 
     
    562556         ! more 2D horizontal arrays 
    563557         DO jn = 1, jpdia2d 
    564             cltra=ctrc2d(jn)    ! short title for 2D diagnostic 
    565             cltral=ctrc2l(jn)   ! long title for 2D diagnostic 
    566             cltrau=ctrc2u(jn)   ! UNIT for 2D diagnostic 
     558            cltra  = ctrc2d(jn)    ! short title for 2D diagnostic 
     559            cltral = ctrc2l(jn)   ! long title for 2D diagnostic 
     560            cltrau = ctrc2u(jn)   ! UNIT for 2D diagnostic 
    567561            CALL histdef( nitd, cltra, cltral, cltrau, jpi, jpj, nhoritd,  & 
    568562               &          1, 1, 1,  -99, 32, clop, zsto, zout ) 
     
    591585      DO jn = 1, jpdia3d 
    592586         cltra = ctrc3d(jn)   ! short title for 3D diagnostic 
    593          CALL histwrite( nitd, cltra, it, trc3d(:,:,:,jn), ndimt50  & 
    594             &           ,ndext50) 
     587         CALL histwrite( nitd, cltra, it, trc3d(:,:,:,jn), ndimt50 ,ndext50) 
    595588      END DO 
    596589 
     
    598591      DO jn = 1, jpdia2d 
    599592         cltra = ctrc2d(jn)   ! short title for 2D diagnostic 
    600          CALL histwrite(nitd, cltra, it, trc2d(:,:,jn), ndimt51    & 
    601             &   ,ndext51) 
     593         CALL histwrite(nitd, cltra, it, trc2d(:,:,jn), ndimt51  ,ndext51) 
    602594      END DO 
    603595 
  • trunk/NEMO/TOP_SRC/trclec.F90

    r1089 r1119  
    2020   USE oce_trc 
    2121   USE trc 
     22   USE trp_trc 
    2223   USE trctrp_lec 
    2324   USE trclsm_lobster    ! LOBSTER namelist 
     
    6667      TYPE(PTRACER) , DIMENSION(jptra) :: tracer 
    6768 
    68 #if defined key_trc_diaadd 
    69       ! definition of additional diagnostic as a structure 
    70       TYPE DIAG 
    71          CHARACTER(len = 20)  :: snamedia   !: short name 
    72          CHARACTER(len = 80 ) :: lnamedia   !: long name 
    73          CHARACTER(len = 20 ) :: unitdia    !: unit 
    74       END TYPE DIAG 
    75  
    76       TYPE(DIAG) , DIMENSION(jpdia2d) :: diag2d 
    77       TYPE(DIAG) , DIMENSION(jpdia3d) :: diag3d 
     69      !! 
     70      NAMELIST/namtoptrc/ ndttrc, nwritetrc, lrsttr, nrsttr, tracer 
     71#if defined key_trc_diatrd 
     72      NAMELIST/namtoptrd/ luttrd, nwritetrd                                             ! dynamical trends 
    7873#endif 
    7974 
    80       !! 
    81       NAMELIST/nattrc/ nwritetrc, lrsttr, nrsttr, tracer 
    82       NAMELIST/natnum/ rsc, rtrn, ncortrc, ndttrc, crosster 
    83 #if defined key_trc_diatrd 
    84       NAMELIST/natrtd/ luttrd, nwritetrd                                             ! dynamical trends 
    85 #endif 
    86 #if defined key_trc_diaadd 
    87       NAMELIST/natdia/nwritedia, diag3d, diag2d     ! additional diagnostics 
    88 #endif 
    8975      !!--------------------------------------------------------------------- 
    9076 
     
    9985      ! Namelist nattrc (files) 
    10086      ! ---------------------------------------------- 
    101       nwritetrc = 10                 ! default values 
     87      ndttrc    = 1                 ! default values 
     88      nwritetrc = 10       
    10289      lrsttr    = .FALSE. 
    10390      nrsttr    =  0 
     
    11198 
    11299      REWIND( numnat )               ! read nattrc 
    113       READ  ( numnat, nattrc ) 
     100      READ  ( numnat, namtoptrc ) 
     101 
     102      !!Chris  computes the first time step of tracer model 
     103      nittrc000 = nit000 + ndttrc - 1 
    114104 
    115105      DO jn = 1, jptra 
     
    122112 
    123113 
    124  
    125114      IF(lwp) THEN                   ! control print 
    126115         WRITE(numout,*) 
    127          WRITE(numout,*) ' Namelist : nattrc' 
     116         WRITE(numout,*) ' Namelist : namtoptrc' 
     117         WRITE(numout,*) '    time step freq. for pass. trac. ndttrc             = ', ndttrc 
     118         WRITE(numout,*) '    1st time step for pass. trac. nittrc000            = ', nittrc000 
    128119         WRITE(numout,*) '    frequency of outputs for passive tracers nwritetrc = ', nwritetrc   
    129          WRITE(numout,*) '    restart LOGICAL for passive tr. lrsttr = ', lrsttr 
    130          WRITE(numout,*) '    control of time step for p. tr. nrsttr = ', nrsttr 
     120         WRITE(numout,*) '    restart LOGICAL for passive tr. lrsttr             = ', lrsttr 
     121         WRITE(numout,*) '    control of time step for p. tr. nrsttr             = ', nrsttr 
    131122         DO jn = 1, jptra 
    132123            WRITE(numout,*) '   tracer nb             : ', jn  
     
    150141 
    151142      REWIND( numnat )               ! read natrtd 
    152       READ  ( numnat, natrtd ) 
     143      READ  ( numnat, namtoptrd ) 
    153144 
    154145      nkeep=0 
     
    167158      IF(lwp) THEN                   ! control print 
    168159         WRITE(numout,*) 
    169          WRITE(numout,*) ' Namelist : natrtd' 
     160         WRITE(numout,*) ' Namelist : namtoptrd' 
    170161         WRITE(numout,*) '    frequency of outputs for dynamical trends nwritetrd = ', nwritetrd 
    171162         DO jn = 1, jptra 
     
    177168#endif 
    178169 
    179 #if defined key_trc_diaadd 
    180  
    181       ! Namelist natrtd (transport trends) 
    182       ! ---------------------------------------------- 
    183       nwritedia = 10                 ! default values  
    184       !                                 ! 2D output arrays 
    185       DO jn = 1, jpdia2d 
    186          WRITE(ctrc2d(jn),'("2D_",I1)') jn                      ! short name 
    187          WRITE(ctrc2l(jn),'("2D DIAGNOSTIC NUMBER ",I2)') jn    ! long name 
    188          ctrc2u(jn) = ' '                                       ! units  
    189       END DO 
    190       !                                 ! 3D output arrays 
    191       DO jn = 1, jpdia3d 
    192          WRITE(ctrc3d(jn),'("3D_",I1)') jn                     ! short name 
    193          WRITE(ctrc3l(jn),'("3D DIAGNOSTIC NUMBER ",I2)') jn    ! long name 
    194          ctrc3u(jn) = ' '                                       ! units 
    195       END DO 
    196  
    197       REWIND( numnat )               ! read natrtd 
    198       READ  ( numnat, natdia ) 
    199  
    200       DO jn = 1, jpdia2d 
    201          ctrc2d(jn) = diag2d(jn)%snamedia 
    202          ctrc2l(jn) = diag2d(jn)%lnamedia 
    203          ctrc2u(jn) = diag2d(jn)%unitdia 
    204       END DO 
    205  
    206       DO jn = 1, jpdia3d 
    207          ctrc3d(jn) = diag3d(jn)%snamedia 
    208          ctrc3l(jn) = diag3d(jn)%lnamedia 
    209          ctrc3u(jn) = diag3d(jn)%unitdia 
    210       END DO 
    211  
    212       IF(lwp) THEN                   ! control print 
    213          WRITE(numout,*) 
    214          WRITE(numout,*) ' Namelist : natadd' 
    215          WRITE(numout,*) '    frequency of outputs for additional arrays nwritedia = ', nwritedia 
    216          DO jn = 1, jpdia3d 
    217             WRITE(numout,*) '   3d output field No : ',jn 
    218             WRITE(numout,*) '   short name         : ', TRIM(ctrc3d(jn)) 
    219             WRITE(numout,*) '   long name          : ', TRIM(ctrc3l(jn)) 
    220             WRITE(numout,*) '   unit               : ', TRIM(ctrc3u(jn)) 
    221             WRITE(numout,*) ' ' 
    222          END DO 
    223  
    224          DO jn = 1, jpdia2d 
    225             WRITE(numout,*) '   2d output field No : ',jn 
    226             WRITE(numout,*) '   short name         : ', TRIM(ctrc2d(jn)) 
    227             WRITE(numout,*) '   long name          : ', TRIM(ctrc2l(jn)) 
    228             WRITE(numout,*) '   unit               : ', TRIM(ctrc2u(jn)) 
    229             WRITE(numout,*) ' ' 
    230          END DO 
    231       ENDIF 
    232 #endif 
    233  
    234       !! Namelist natnum : 
    235       !! ----------------- 
    236       rsc      = 1.                 ! default values 
    237       rtrn     = 1.e-15 
    238       ncortrc  = 1 
    239       ndttrc   = 4 
    240       crosster = .FALSE. 
    241  
    242       REWIND( numnat )              ! read natnum 
    243       READ  ( numnat, natnum ) 
    244  
    245       !!Chris  computes the first time step of tracer model 
    246       nittrc000 = nit000 + ndttrc - 1 
    247  
    248       IF(lwp) THEN                  ! control print 
    249          WRITE(numout,*) 
    250          WRITE(numout,*) ' Namelist : natnum' 
    251          WRITE(numout,*) 
    252          WRITE(numout,*) ' tuning coefficient              rsc     = ', rsc 
    253          WRITE(numout,*) ' truncation value                rtrn    = ', rtrn 
    254          WRITE(numout,*) ' number of corrective phase      ncortrc = ', ncortrc 
    255          WRITE(numout,*) ' time step freq. for pass. trac. ndttrc  = ', ndttrc 
    256          WRITE(numout,*) ' 1st time step for pass. trac. nittrc000 = ', nittrc000 
    257          WRITE(numout,*) ' computes or not crossterms    crosster  = ', crosster 
    258       ENDIF 
    259170 
    260171      ! namelist of transport 
  • trunk/NEMO/TOP_SRC/trcrst.F90

    r1100 r1119  
    3333   INTEGER, PUBLIC ::   numrtr, numrtw   !: logical unit for trc restart (read and write) 
    3434 
    35 #if defined key_pisces 
    36    REAL(wp) ::  & 
    37      alkmean = 2426. ,  & ! mean value of alkalinity ( Glodap ; for Goyet 2391. ) 
    38      po4mean = 2.165 ,  & ! mean value of phosphates 
    39      no3mean = 30.90 ,  & ! mean value of nitrate 
    40      siomean = 91.51      ! mean value of silicate 
    41 #endif 
    4235 
    4336   !! * Substitutions 
     
    9891      INTEGER  ::   iarak0 
    9992      REAL(wp) ::   zkt, zarak0 
    100 # if defined key_pisces  
    101       REAL(wp) ::   ztrasum 
    102       INTEGER  ::   ji, jj, jk 
    103       REAL(wp) ::   caralk, bicarb, co3 
    104 # endif 
    10593      !!---------------------------------------------------------------------- 
    10694 
     
    172160      CALL iom_get( numrtr, jpdom_autoglo, 'Silicalim', xksi(:,:) )  
    173161      CALL iom_get( numrtr, jpdom_autoglo, 'Silicamax', xksimax(:,:) ) 
     162      CALL trc_rst_ini  ! Initialisation of some variables 
    174163#endif 
    175164 
     
    181170#endif 
    182171 
    183 #if defined key_pisces  
    184          !                                                         ! --------------------------- ! 
    185          IF( cp_cfg == "orca" .AND. .NOT. lk_trc_c1d ) THEN      ! ORCA condiguration (not 1D) ! 
    186             !                                                      ! --------------------------- ! 
    187             ! set total alkalinity, phosphate, NO3 & silicate 
    188             ! total alkalinity 
    189             ! ----------------------------------------------- 
    190             ztrasum = 0.e0              
    191             DO jk = 1, jpk 
    192                DO jj = 1, jpj 
    193                   DO ji = 1, jpi 
    194                      ztrasum = ztrasum + trn(ji,jj,jk,jptal) * tmask(ji,jj,jk) * tmask_i(ji,jj)  & 
    195 #  if defined key_off_degrad 
    196                         &              * facvol(ji,jj,jk)   & 
    197 #  endif 
    198                         &              * e1t(ji,jj) * e2t(ji,jj) * fse3t(ji,jj,jk) 
    199                   END DO 
    200                END DO 
    201             END DO 
    202             IF( lk_mpp )   CALL mpp_sum( ztrasum )     ! sum over the global domain   
    203  
    204  
    205             ztrasum = ztrasum / areatot * 1.e6 
    206             IF(lwp) WRITE(numout,*) 'TALK moyen ', ztrasum 
    207             trn(:,:,:,jptal) = trn(:,:,:,jptal) * alkmean / ztrasum 
    208              
    209             ! phosphate 
    210             ! --------- 
    211             ztrasum = 0.e0 
    212             DO jk = 1, jpk 
    213                DO jj = 1, jpj 
    214                   DO ji = 1, jpi 
    215                      ztrasum = ztrasum + trn(ji,jj,jk,jppo4) * tmask(ji,jj,jk) * tmask_i(ji,jj)  & 
    216 #  if defined key_off_degrad 
    217                      &              * facvol(ji,jj,jk)   & 
    218 #  endif 
    219                      &              * e1t(ji,jj) * e2t(ji,jj) * fse3t(ji,jj,jk) 
    220                   END DO 
    221                END DO 
    222             END DO 
    223             IF( lk_mpp )   CALL mpp_sum( ztrasum )     ! sum over the global domain   
    224              
    225             ztrasum = ztrasum / areatot * 1.e6 / 122. 
    226             IF(lwp) WRITE(numout,*) 'PO4 moyen ', ztrasum  
    227             trn(:,:,:,jppo4) = trn(:,:,:,jppo4) * po4mean / ztrasum 
    228              
    229             ! NO3 
    230             ! --- 
    231             ztrasum = 0.e0 
    232             DO jk = 1, jpk 
    233                DO jj = 1, jpj 
    234                   DO ji = 1, jpi 
    235                      ztrasum = ztrasum + trn(ji,jj,jk,jpno3) * tmask(ji,jj,jk) * tmask_i(ji,jj)  & 
    236 #  if defined key_off_degrad 
    237                      &              * facvol(ji,jj,jk)   & 
    238 #  endif 
    239                      &              * e1t(ji,jj) * e2t(ji,jj) * fse3t(ji,jj,jk) 
    240                   END DO 
    241                END DO 
    242             END DO 
    243             IF( lk_mpp )   CALL mpp_sum( ztrasum )     ! sum over the global domain   
    244              
    245             ztrasum = ztrasum / areatot * 1.e6 / 7.6 
    246             IF(lwp) WRITE(numout,*) 'NO3 moyen ', ztrasum  
    247             trn(:,:,:,jpno3) = trn(:,:,:,jpno3) * no3mean / ztrasum 
    248  
    249             ! Silicate 
    250             ! -------- 
    251             ztrasum = 0.e0 
    252             DO jk = 1, jpk 
    253                DO jj = 1, jpj 
    254                   DO ji = 1, jpi 
    255                      ztrasum = ztrasum + trn(ji,jj,jk,jpsil) * tmask(ji,jj,jk) * tmask_i(ji,jj)   & 
    256 #  if defined key_off_degrad 
    257                      &              * facvol(ji,jj,jk)   & 
    258 #  endif 
    259                      &              * e1t(ji,jj) * e2t(ji,jj) * fse3t(ji,jj,jk) 
    260                   END DO 
    261                END DO 
    262             END DO 
    263             IF( lk_mpp )   CALL mpp_sum( ztrasum )     ! sum over the global domain   
    264              
    265             IF(lwp) WRITE(numout,*) 'SiO3 moyen ', ztrasum / areatot * 1.e6 
    266             ztrasum = ztrasum / areatot * 1.e6 
    267             trn(:,:,:,jpsil) = MIN( 400.e-6,trn(:,:,:,jpsil) * siomean / ztrasum )  
    268             ! 
    269          ENDIF 
    270  
    271 !#if defined key_kriest 
    272 !      !! Initialize number of particles from a standart restart file 
    273 !      !! The name of big organic particles jpgoc has been only change 
    274 !      !! and replace by jpnum but the values here are concentration 
    275 !      trn(:,:,:,jppoc) = trn(:,:,:,jppoc) + trn(:,:,:,jpnum) 
    276 !      trn(:,:,:,jpnum) = trn(:,:,:,jppoc) / ( 6. * xkr_massp ) 
    277 !#endif 
    278          !!  Set hi (???) from  total alcalinity, borat (???), akb3 (???) and ak23 (???) 
    279          !!  --------------------------------------------------------------------- 
    280          DO jk = 1, jpk 
    281             DO jj = 1, jpj 
    282                DO ji = 1,jpi 
    283                   caralk = trn(ji,jj,jk,jptal) - borat(ji,jj,jk) / ( 1. + 1.e-8 / ( rtrn + akb3(ji,jj,jk) ) ) 
    284                   co3    = ( caralk - trn(ji,jj,jk,jpdic) ) *       tmask(ji,jj,jk)   & 
    285                      &   +             0.5e-3               * ( 1.- tmask(ji,jj,jk) ) 
    286                   bicarb = 2.* trn(ji,jj,jk,jpdic) - caralk 
    287                   hi(ji,jj,jk) = ( ak23(ji,jj,jk) * bicarb / co3 )   *       tmask(ji,jj,jk)   & 
    288                      &         +             1.0e-9                  * ( 1.- tmask(ji,jj,jk) ) 
    289                END DO 
    290             END DO 
    291          END DO 
    292 #endif 
    293  
    294172      CALL iom_close( numrtr ) 
    295173      ! 
     
    306184      !! 
    307185      INTEGER  :: ji, jj, jk, jn 
    308       REAL(wp) :: zdiag_var, zdiag_varmin, zdiag_varmax, zdiag_tot 
    309       REAL(wp) :: zder 
    310186      !!---------------------------------------------------------------------- 
    311187 
     
    352228 
    353229       IF( kt == nitrst ) THEN 
    354           IF(lwp) WRITE(numout,*) '----TRACER STAT----' 
    355  
    356           zdiag_tot = 0.e0 
    357           DO jn = 1, jptra 
    358              zdiag_var    = 0.e0 
    359              zdiag_varmin = 0.e0 
    360              zdiag_varmax = 0.e0 
    361              DO ji = 1, jpi 
    362                 DO jj = 1, jpj 
    363                    DO jk = 1,jpk 
    364                       zdiag_var = zdiag_var + trn(ji,jj,jk,jn) * tmask(ji,jj,jk) * tmask_i(ji,jj)   & 
    365 #if defined key_off_degrad 
    366                          &   * facvol(ji,jj,jk)   & 
    367 #endif 
    368                          &   * e1t(ji,jj) * e2t(ji,jj) * fse3t(ji,jj,jk) 
    369                    END DO 
    370                 END DO 
    371              END DO 
    372               
    373              zdiag_varmin = MINVAL( trn(:,:,:,jn), mask= ((tmask*SPREAD(tmask_i,DIM=3,NCOPIES=jpk).NE.0.)) ) 
    374              zdiag_varmax = MAXVAL( trn(:,:,:,jn), mask= ((tmask*SPREAD(tmask_i,DIM=3,NCOPIES=jpk).NE.0.)) ) 
    375              IF( lk_mpp ) THEN 
    376                 CALL mpp_min( zdiag_varmin )      ! min over the global domain 
    377                 CALL mpp_max( zdiag_varmax )      ! max over the global domain 
    378                 CALL mpp_sum( zdiag_var    )      ! sum over the global domain 
    379              END IF 
    380              zdiag_tot = zdiag_tot + zdiag_var 
    381              zdiag_var = zdiag_var / areatot 
    382              IF(lwp) WRITE(numout,*) '   MEAN NO ', jn, ctrcnm(jn), ' = ', zdiag_var,   & 
    383                 &                    ' MIN = ', zdiag_varmin, ' MAX = ', zdiag_varmax 
    384           END DO 
    385            
    386           zder = ( ( zdiag_tot - trai ) / ( trai + 1.e-12 )  ) * 100._wp 
    387           IF(lwp) WRITE(numout,*) '   Integral of all tracers over the full domain  = ', zdiag_tot 
    388           IF(lwp) WRITE(numout,*) '   Drift of the sum of all tracers =', zder, ' %' 
    389            
     230          CALL trc_rst_stat            ! statistics 
    390231          CALL iom_close( numrtw )     ! close the restart file (only at last time step) 
    391232          lrst_trc = .FALSE. 
     
    393234      ! 
    394235   END SUBROUTINE trc_rst_wri 
     236 
     237# if defined key_pisces  
     238 
     239   SUBROUTINE trc_rst_ini  
     240      !!---------------------------------------------------------------------- 
     241      !!                    ***  trc_rst_ini  *** 
     242      !! 
     243      !! ** purpose  : Initialisation of some variables ( hi 
     244      !!---------------------------------------------------------------------- 
     245      INTEGER  :: ji, jj, jk, jn   
     246      REAL(wp) ::  & 
     247         alkmean = 2426. ,  & ! mean value of alkalinity ( Glodap ; for Goyet 2391. ) 
     248         po4mean = 2.165 ,  & ! mean value of phosphates 
     249         no3mean = 30.90 ,  & ! mean value of nitrate 
     250         siomean = 91.51      ! mean value of silicate 
     251       
     252      REAL(wp) ::   ztrasum 
     253      REAL(wp) ::   caralk, bicarb, co3 
     254 
     255      IF(lwp)  WRITE(numout,*) 
     256 
     257      IF( cp_cfg == "orca" .AND. .NOT. lk_trc_c1d ) THEN      ! ORCA condiguration (not 1D) ! 
     258         !                                                    ! --------------------------- ! 
     259         ! set total alkalinity, phosphate, NO3 & silicate 
     260 
     261         ! total alkalinity 
     262         ztrasum = 0.e0              
     263         DO jk = 1, jpk 
     264            DO jj = 1, jpj 
     265               DO ji = 1, jpi 
     266                  ztrasum = ztrasum + trn(ji,jj,jk,jptal) * tmask(ji,jj,jk) * tmask_i(ji,jj)  & 
     267#  if defined key_off_degrad 
     268                     &              * facvol(ji,jj,jk)   & 
     269#  endif 
     270                     &              * e1t(ji,jj) * e2t(ji,jj) * fse3t(ji,jj,jk) 
     271               END DO 
     272            END DO 
     273         END DO 
     274         IF( lk_mpp )   CALL mpp_sum( ztrasum )     ! sum over the global domain   
     275          
     276         ztrasum = ztrasum / areatot * 1.e6 
     277         IF(lwp) WRITE(numout,*) '       TALK mean : ', ztrasum 
     278         trn(:,:,:,jptal) = trn(:,:,:,jptal) * alkmean / ztrasum 
     279             
     280         ! phosphate 
     281         ztrasum = 0.e0 
     282         DO jk = 1, jpk 
     283            DO jj = 1, jpj 
     284               DO ji = 1, jpi 
     285                  ztrasum = ztrasum + trn(ji,jj,jk,jppo4) * tmask(ji,jj,jk) * tmask_i(ji,jj)  & 
     286#  if defined key_off_degrad 
     287                     &              * facvol(ji,jj,jk)   & 
     288#  endif 
     289                     &              * e1t(ji,jj) * e2t(ji,jj) * fse3t(ji,jj,jk) 
     290               END DO 
     291            END DO 
     292         END DO 
     293         IF( lk_mpp )   CALL mpp_sum( ztrasum )     ! sum over the global domain   
     294          
     295         ztrasum = ztrasum / areatot * 1.e6 / 122. 
     296         IF(lwp) WRITE(numout,*) '       PO4  mean : ', ztrasum 
     297         trn(:,:,:,jppo4) = trn(:,:,:,jppo4) * po4mean / ztrasum 
     298         
     299         ! Nitrates           
     300         ztrasum = 0.e0 
     301         DO jk = 1, jpk 
     302            DO jj = 1, jpj 
     303               DO ji = 1, jpi 
     304                  ztrasum = ztrasum + trn(ji,jj,jk,jpno3) * tmask(ji,jj,jk) * tmask_i(ji,jj)  & 
     305#  if defined key_off_degrad 
     306                     &              * facvol(ji,jj,jk)   & 
     307#  endif 
     308                     &              * e1t(ji,jj) * e2t(ji,jj) * fse3t(ji,jj,jk) 
     309               END DO 
     310            END DO 
     311         END DO 
     312         IF( lk_mpp )   CALL mpp_sum( ztrasum )     ! sum over the global domain   
     313          
     314         ztrasum = ztrasum / areatot * 1.e6 / 7.6 
     315         IF(lwp) WRITE(numout,*) '       NO3  mean : ', ztrasum 
     316         trn(:,:,:,jpno3) = trn(:,:,:,jpno3) * no3mean / ztrasum 
     317          
     318         ! Silicate 
     319         ztrasum = 0.e0 
     320         DO jk = 1, jpk 
     321            DO jj = 1, jpj 
     322               DO ji = 1, jpi 
     323                  ztrasum = ztrasum + trn(ji,jj,jk,jpsil) * tmask(ji,jj,jk) * tmask_i(ji,jj)   & 
     324#  if defined key_off_degrad 
     325                     &              * facvol(ji,jj,jk)   & 
     326#  endif 
     327                     &              * e1t(ji,jj) * e2t(ji,jj) * fse3t(ji,jj,jk) 
     328               END DO 
     329            END DO 
     330         END DO 
     331         IF( lk_mpp )   CALL mpp_sum( ztrasum )     ! sum over the global domain   
     332         ztrasum = ztrasum / areatot * 1.e6 
     333         IF(lwp) WRITE(numout,*) '       SiO3 mean : ', ztrasum 
     334         trn(:,:,:,jpsil) = MIN( 400.e-6,trn(:,:,:,jpsil) * siomean / ztrasum )  
     335         ! 
     336      ENDIF 
     337 
     338!#if defined key_kriest 
     339!     !! Initialize number of particles from a standart restart file 
     340!     !! The name of big organic particles jpgoc has been only change 
     341!     !! and replace by jpnum but the values here are concentration 
     342!     trn(:,:,:,jppoc) = trn(:,:,:,jppoc) + trn(:,:,:,jpnum) 
     343!     trn(:,:,:,jpnum) = trn(:,:,:,jppoc) / ( 6. * xkr_massp ) 
     344!#endif 
     345      !!  Set hi (???) from  total alcalinity, borat (???), akb3 (???) and ak23 (???) 
     346      !!  --------------------------------------------------------------------- 
     347      DO jk = 1, jpk 
     348         DO jj = 1, jpj 
     349            DO ji = 1,jpi 
     350               caralk = trn(ji,jj,jk,jptal) - borat(ji,jj,jk) / ( 1. + 1.e-8 / ( rtrn + akb3(ji,jj,jk) ) ) 
     351               co3    = ( caralk - trn(ji,jj,jk,jpdic) ) *       tmask(ji,jj,jk)   & 
     352                  &   +             0.5e-3               * ( 1.- tmask(ji,jj,jk) ) 
     353               bicarb = 2.* trn(ji,jj,jk,jpdic) - caralk 
     354               hi(ji,jj,jk) = ( ak23(ji,jj,jk) * bicarb / co3 )   *       tmask(ji,jj,jk)   & 
     355                  &         +             1.0e-9                  * ( 1.- tmask(ji,jj,jk) ) 
     356            END DO 
     357         END DO 
     358      END DO 
     359 
     360   END SUBROUTINE trc_rst_ini 
     361 
     362#endif 
     363      !!---------------------------------------------------------------------- 
     364 
     365   SUBROUTINE trc_rst_stat 
     366      !!---------------------------------------------------------------------- 
     367      !!                    ***  trc_rst_stat  *** 
     368      !! 
     369      !! ** purpose  :   Compute tracers statistics 
     370      !!---------------------------------------------------------------------- 
     371 
     372      INTEGER  :: ji, jj, jk, jn 
     373      REAL(wp) :: zdiag_var, zdiag_varmin, zdiag_varmax, zdiag_tot 
     374      REAL(wp) :: zder 
     375      !!---------------------------------------------------------------------- 
     376 
     377 
     378      IF( lwp ) THEN 
     379         WRITE(numout,*)  
     380         WRITE(numout,*) '           ----TRACER STAT----             ' 
     381         WRITE(numout,*)  
     382      ENDIF 
     383       
     384      zdiag_tot = 0.e0 
     385      DO jn = 1, jptra 
     386         zdiag_var    = 0.e0 
     387         zdiag_varmin = 0.e0 
     388         zdiag_varmax = 0.e0 
     389         DO ji = 1, jpi 
     390            DO jj = 1, jpj 
     391               DO jk = 1,jpk 
     392                  zdiag_var = zdiag_var + trn(ji,jj,jk,jn) * tmask(ji,jj,jk) * tmask_i(ji,jj)   & 
     393#if defined key_off_degrad 
     394                     &   * facvol(ji,jj,jk)   & 
     395#endif 
     396                     &   * e1t(ji,jj) * e2t(ji,jj) * fse3t(ji,jj,jk) 
     397               END DO 
     398            END DO 
     399         END DO 
     400          
     401         zdiag_varmin = MINVAL( trn(:,:,:,jn), mask= ((tmask*SPREAD(tmask_i,DIM=3,NCOPIES=jpk).NE.0.)) ) 
     402         zdiag_varmax = MAXVAL( trn(:,:,:,jn), mask= ((tmask*SPREAD(tmask_i,DIM=3,NCOPIES=jpk).NE.0.)) ) 
     403         IF( lk_mpp ) THEN 
     404            CALL mpp_min( zdiag_varmin )      ! min over the global domain 
     405            CALL mpp_max( zdiag_varmax )      ! max over the global domain 
     406            CALL mpp_sum( zdiag_var    )      ! sum over the global domain 
     407         END IF 
     408         zdiag_tot = zdiag_tot + zdiag_var 
     409         zdiag_var = zdiag_var / areatot 
     410         IF(lwp) WRITE(numout,*) '   MEAN NO ', jn, ctrcnm(jn), ' = ', zdiag_var,   & 
     411            &                    ' MIN = ', zdiag_varmin, ' MAX = ', zdiag_varmax 
     412      END DO 
     413       
     414      zder = ( ( zdiag_tot - trai ) / ( trai + 1.e-12 )  ) * 100._wp 
     415      IF(lwp) WRITE(numout,*) '   Integral of all tracers over the full domain  = ', zdiag_tot 
     416      IF(lwp) WRITE(numout,*) '   Drift of the sum of all tracers =', zder, ' %' 
     417       
     418   END SUBROUTINE trc_rst_stat 
    395419 
    396420#else 
Note: See TracChangeset for help on using the changeset viewer.